@tscircuit/runframe 0.0.3059 → 0.0.3060
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5397,7 +5397,7 @@ ${Q.join(`
|
|
|
5397
5397
|
`+Q+" | "+oeg("",t.column-1," ")+oeg("",n,"^")}else A+=`
|
|
5398
5398
|
at `+B}return A},ouA.buildMessage=function(g,A){var I={literal:function(i){return'"'+t(i.text)+'"'},class:function(i){var E=i.parts.map(function(n){return Array.isArray(n)?o(n[0])+"-"+o(n[1]):o(n)});return"["+(i.inverted?"^":"")+E.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(i){return i.description}};function e(i){return i.charCodeAt(0).toString(16).toUpperCase()}function t(i){return i.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+e(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+e(E)})}function o(i){return i.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+e(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+e(E)})}function B(i){return I[i.type](i)}function C(i){var E=i.map(B),n,s;if(E.sort(),E.length>0){for(n=1,s=1;n<E.length;n++)E[n-1]!==E[n]&&(E[s]=E[n],s++);E.length=s}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function Q(i){return i?'"'+t(i)+'"':"end of input"}return"Expected "+C(g)+" but "+Q(A)+" found."};function mSI(g,A=!1,I=!1){A?I?g=Vw(g,bJ(-1,-1)):g=Vw(g,bJ(1,-1)):I&&(g=Vw(g,bJ(-1,1)));const e=g.a,t=g.b,o=g.c,B=g.d;let C,Q,i;if(e!==0||o!==0){const E=Math.hypot(e,o);C=E,Q=(e*B-t*o)/E;const n=Math.acos(e/E);i=o>0?-n:n}else if(t!==0||B!==0){const E=Math.hypot(t,B);C=(e*B-t*o)/E,Q=E;const n=Math.acos(t/E);i=Math.PI/2+(B>0?-n:n)}else C=0,Q=0,i=0;return I&&(C=-C),A&&(Q=-Q),{translate:{tx:g.e,ty:g.f},scale:{sx:C,sy:Q},rotation:{angle:i}}}const WIo={},pSI=g=>{let A;const I=new Set,e=(E,n)=>{const s=typeof E=="function"?E(A):E;if(!Object.is(s,A)){const r=A;A=n??(typeof s!="object"||s===null)?s:Object.assign({},A,s),I.forEach(a=>a(A,r))}},t=()=>A,Q={setState:e,getState:t,getInitialState:()=>i,subscribe:E=>(I.add(E),()=>I.delete(E)),destroy:()=>{(WIo?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),I.clear()}},i=A=g(e,t,Q);return Q},kSI=g=>g?pSI(g):pSI;var BuA={exports:{}},Beg={},CuA={exports:{}},Ceg={};var MSI;function VIo(){if(MSI)return Ceg;MSI=1;var g=hM();function A(n,s){return n===s&&(n!==0||1/n===1/s)||n!==n&&s!==s}var I=typeof Object.is=="function"?Object.is:A,e=g.useState,t=g.useEffect,o=g.useLayoutEffect,B=g.useDebugValue;function C(n,s){var r=s(),a=e({inst:{value:r,getSnapshot:s}}),c=a[0].inst,h=a[1];return o(function(){c.value=r,c.getSnapshot=s,Q(c)&&h({inst:c})},[n,r,s]),t(function(){return Q(c)&&h({inst:c}),n(function(){Q(c)&&h({inst:c})})},[n]),B(r),r}function Q(n){var s=n.getSnapshot;n=n.value;try{var r=s();return!I(n,r)}catch{return!0}}function i(n,s){return s()}var E=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?i:C;return Ceg.useSyncExternalStore=g.useSyncExternalStore!==void 0?g.useSyncExternalStore:E,Ceg}var Qeg={},SSI;function jIo(){if(SSI)return Qeg;SSI=1;var g={env:{}};return g.env.NODE_ENV!=="production"&&(function(){function A(a,c){return a===c&&(a!==0||1/a===1/c)||a!==a&&c!==c}function I(a,c){n||o.startTransition===void 0||(n=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var h=c();if(!s){var l=c();B(h,l)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),s=!0)}l=C({inst:{value:h,getSnapshot:c}});var D=l[0].inst,d=l[1];return i(function(){D.value=h,D.getSnapshot=c,e(D)&&d({inst:D})},[a,h,c]),Q(function(){return e(D)&&d({inst:D}),a(function(){e(D)&&d({inst:D})})},[a]),E(h),h}function e(a){var c=a.getSnapshot;a=a.value;try{var h=c();return!B(a,h)}catch{return!0}}function t(a,c){return c()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var o=hM(),B=typeof Object.is=="function"?Object.is:A,C=o.useState,Q=o.useEffect,i=o.useLayoutEffect,E=o.useDebugValue,n=!1,s=!1,r=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?t:I;Qeg.useSyncExternalStore=o.useSyncExternalStore!==void 0?o.useSyncExternalStore:r,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})(),Qeg}var fSI;function RSI(){if(fSI)return CuA.exports;fSI=1;var g={env:{}};return g.env.NODE_ENV==="production"?CuA.exports=VIo():CuA.exports=jIo(),CuA.exports}var NSI;function zIo(){if(NSI)return Beg;NSI=1;var g=hM(),A=RSI();function I(i,E){return i===E&&(i!==0||1/i===1/E)||i!==i&&E!==E}var e=typeof Object.is=="function"?Object.is:I,t=A.useSyncExternalStore,o=g.useRef,B=g.useEffect,C=g.useMemo,Q=g.useDebugValue;return Beg.useSyncExternalStoreWithSelector=function(i,E,n,s,r){var a=o(null);if(a.current===null){var c={hasValue:!1,value:null};a.current=c}else c=a.current;a=C(function(){function l(u){if(!D){if(D=!0,d=u,u=s(u),r!==void 0&&c.hasValue){var G=c.value;if(r(G,u))return y=G}return y=u}if(G=y,e(d,u))return G;var m=s(u);return r!==void 0&&r(G,m)?(d=u,G):(d=u,y=m)}var D=!1,d,y,w=n===void 0?null:n;return[function(){return l(E())},w===null?void 0:function(){return l(w())}]},[E,n,s,r]);var h=t(i,a[0],a[1]);return B(function(){c.hasValue=!0,c.value=h},[h]),Q(h),h},Beg}var ieg={},xSI;function XIo(){if(xSI)return ieg;xSI=1;var g={env:{}};return g.env.NODE_ENV!=="production"&&(function(){function A(E,n){return E===n&&(E!==0||1/E===1/n)||E!==E&&n!==n}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var I=hM(),e=RSI(),t=typeof Object.is=="function"?Object.is:A,o=e.useSyncExternalStore,B=I.useRef,C=I.useEffect,Q=I.useMemo,i=I.useDebugValue;ieg.useSyncExternalStoreWithSelector=function(E,n,s,r,a){var c=B(null);if(c.current===null){var h={hasValue:!1,value:null};c.current=h}else h=c.current;c=Q(function(){function D(G){if(!d){if(d=!0,y=G,G=r(G),a!==void 0&&h.hasValue){var m=h.value;if(a(m,G))return w=m}return w=G}if(m=w,t(y,G))return m;var p=r(G);return a!==void 0&&a(m,p)?(y=G,m):(y=G,w=p)}var d=!1,y,w,u=s===void 0?null:s;return[function(){return D(n())},u===null?void 0:function(){return D(u())}]},[n,s,r,a]);var l=o(E,c[0],c[1]);return C(function(){h.hasValue=!0,h.value=l},[l]),i(l),l},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})(),ieg}var FSI;function $Io(){if(FSI)return BuA.exports;FSI=1;var g={env:{}};return g.env.NODE_ENV==="production"?BuA.exports=zIo():BuA.exports=XIo(),BuA.exports}var Aeo=$Io();const geo=Fp(Aeo),USI={},{useDebugValue:Ieo}=aC,{useSyncExternalStoreWithSelector:eeo}=geo;let JSI=!1;const teo=g=>g;function PSI(g,A=teo,I){(USI?"production":void 0)!=="production"&&I&&!JSI&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),JSI=!0);const e=eeo(g.subscribe,g.getState,g.getServerState||g.getInitialState,A,I);return Ieo(e),e}const oeo=g=>{(USI?"production":void 0)!=="production"&&typeof g!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const A=typeof g=="function"?kSI(g):g,I=(e,t)=>PSI(A,e,t);return Object.assign(I,A),I},KSI=g=>oeo,SeA=g=>typeof g=="number"&&!isNaN(g),Ib=g=>typeof g=="string",aS=g=>typeof g=="function",QuA=g=>Ib(g)||aS(g)?g:null,Eeg=g=>gA.isValidElement(g)||Ib(g)||aS(g)||SeA(g);function Beo(g,A,I){I===void 0&&(I=300);const{scrollHeight:e,style:t}=g;requestAnimationFrame(()=>{t.minHeight="initial",t.height=e+"px",t.transition=`all ${I}ms`,requestAnimationFrame(()=>{t.height="0",t.padding="0",t.margin="0",setTimeout(A,I)})})}function iuA(g){let{enter:A,exit:I,appendPosition:e=!1,collapse:t=!0,collapseDuration:o=300}=g;return function(B){let{children:C,position:Q,preventExitTransition:i,done:E,nodeRef:n,isIn:s,playToast:r}=B;const a=e?`${A}--${Q}`:A,c=e?`${I}--${Q}`:I,h=gA.useRef(0);return gA.useLayoutEffect(()=>{const l=n.current,D=a.split(" "),d=y=>{y.target===n.current&&(r(),l.removeEventListener("animationend",d),l.removeEventListener("animationcancel",d),h.current===0&&y.type!=="animationcancel"&&l.classList.remove(...D))};l.classList.add(...D),l.addEventListener("animationend",d),l.addEventListener("animationcancel",d)},[]),gA.useEffect(()=>{const l=n.current,D=()=>{l.removeEventListener("animationend",D),t?Beo(l,E,o):E()};s||(i?D():(h.current=1,l.className+=` ${c}`,l.addEventListener("animationend",D)))},[s]),aC.createElement(aC.Fragment,null,C)}}function LSI(g,A){return g!=null?{content:g.content,containerId:g.props.containerId,id:g.props.toastId,theme:g.props.theme,type:g.props.type,data:g.props.data||{},isLoading:g.props.isLoading,icon:g.props.icon,status:A}:{}}const _m=new Map;let feA=[];const neg=new Set,Ceo=g=>neg.forEach(A=>A(g)),YSI=()=>_m.size>0;function _SI(g,A){var I;if(A)return!((I=_m.get(A))==null||!I.isToastActive(g));let e=!1;return _m.forEach(t=>{t.isToastActive(g)&&(e=!0)}),e}function bSI(g,A){Eeg(g)&&(YSI()||feA.push({content:g,options:A}),_m.forEach(I=>{I.buildToast(g,A)}))}function HSI(g,A){_m.forEach(I=>{A!=null&&A!=null&&A.containerId?A?.containerId===I.id&&I.toggle(g,A?.id):I.toggle(g,A?.id)})}function Qeo(g){const{subscribe:A,getSnapshot:I,setProps:e}=gA.useRef((function(o){const B=o.containerId||1;return{subscribe(C){const Q=(function(E,n,s){let r=1,a=0,c=[],h=[],l=[],D=n;const d=new Map,y=new Set,w=()=>{l=Array.from(d.values()),y.forEach(m=>m())},u=m=>{h=m==null?[]:h.filter(p=>p!==m),w()},G=m=>{const{toastId:p,onOpen:k,updateId:S,children:R}=m.props,x=S==null;m.staleId&&d.delete(m.staleId),d.set(p,m),h=[...h,m.props.toastId].filter(N=>N!==m.staleId),w(),s(LSI(m,x?"added":"updated")),x&&aS(k)&&k(gA.isValidElement(R)&&R.props)};return{id:E,props:D,observe:m=>(y.add(m),()=>y.delete(m)),toggle:(m,p)=>{d.forEach(k=>{p!=null&&p!==k.props.toastId||aS(k.toggle)&&k.toggle(m)})},removeToast:u,toasts:d,clearQueue:()=>{a-=c.length,c=[]},buildToast:(m,p)=>{if((O=>{let{containerId:AA,toastId:tA,updateId:eA}=O;const QA=AA?AA!==E:E!==1,sA=d.has(tA)&&eA==null;return QA||sA})(p))return;const{toastId:k,updateId:S,data:R,staleId:x,delay:N}=p,U=()=>{u(k)},L=S==null;L&&a++;const _={...D,style:D.toastStyle,key:r++,...Object.fromEntries(Object.entries(p).filter(O=>{let[AA,tA]=O;return tA!=null})),toastId:k,updateId:S,data:R,closeToast:U,isIn:!1,className:QuA(p.className||D.toastClassName),bodyClassName:QuA(p.bodyClassName||D.bodyClassName),progressClassName:QuA(p.progressClassName||D.progressClassName),autoClose:!p.isLoading&&(b=p.autoClose,q=D.autoClose,b===!1||SeA(b)&&b>0?b:q),deleteToast(){const O=d.get(k),{onClose:AA,children:tA}=O.props;aS(AA)&&AA(gA.isValidElement(tA)&&tA.props),s(LSI(O,"removed")),d.delete(k),a--,a<0&&(a=0),c.length>0?G(c.shift()):w()}};var b,q;_.closeButton=D.closeButton,p.closeButton===!1||Eeg(p.closeButton)?_.closeButton=p.closeButton:p.closeButton===!0&&(_.closeButton=!Eeg(D.closeButton)||D.closeButton);let j=m;gA.isValidElement(m)&&!Ib(m.type)?j=gA.cloneElement(m,{closeToast:U,toastProps:_,data:R}):aS(m)&&(j=m({closeToast:U,toastProps:_,data:R}));const Z={content:j,props:_,staleId:x};D.limit&&D.limit>0&&a>D.limit&&L?c.push(Z):SeA(N)?setTimeout(()=>{G(Z)},N):G(Z)},setProps(m){D=m},setToggle:(m,p)=>{d.get(m).toggle=p},isToastActive:m=>h.some(p=>p===m),getSnapshot:()=>l}})(B,o,Ceo);_m.set(B,Q);const i=Q.observe(C);return feA.forEach(E=>bSI(E.content,E.options)),feA=[],()=>{i(),_m.delete(B)}},setProps(C){var Q;(Q=_m.get(B))==null||Q.setProps(C)},getSnapshot(){var C;return(C=_m.get(B))==null?void 0:C.getSnapshot()}}})(g)).current;e(g);const t=gA.useSyncExternalStore(A,I,I);return{getToastToRender:function(o){if(!t)return[];const B=new Map;return g.newestOnTop&&t.reverse(),t.forEach(C=>{const{position:Q}=C.props;B.has(Q)||B.set(Q,[]),B.get(Q).push(C)}),Array.from(B,C=>o(C[0],C[1]))},isToastActive:_SI,count:t?.length}}function ieo(g){const[A,I]=gA.useState(!1),[e,t]=gA.useState(!1),o=gA.useRef(null),B=gA.useRef({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:C,pauseOnHover:Q,closeToast:i,onClick:E,closeOnClick:n}=g;var s,r;function a(){I(!0)}function c(){I(!1)}function h(d){const y=o.current;B.canDrag&&y&&(B.didMove=!0,A&&c(),B.delta=g.draggableDirection==="x"?d.clientX-B.start:d.clientY-B.start,B.start!==d.clientX&&(B.canCloseOnClick=!1),y.style.transform=`translate3d(${g.draggableDirection==="x"?`${B.delta}px, var(--y)`:`0, calc(${B.delta}px + var(--y))`},0)`,y.style.opacity=""+(1-Math.abs(B.delta/B.removalDistance)))}function l(){document.removeEventListener("pointermove",h),document.removeEventListener("pointerup",l);const d=o.current;if(B.canDrag&&B.didMove&&d){if(B.canDrag=!1,Math.abs(B.delta)>B.removalDistance)return t(!0),g.closeToast(),void g.collapseAll();d.style.transition="transform 0.2s, opacity 0.2s",d.style.removeProperty("transform"),d.style.removeProperty("opacity")}}(r=_m.get((s={id:g.toastId,containerId:g.containerId,fn:I}).containerId||1))==null||r.setToggle(s.id,s.fn),gA.useEffect(()=>{if(g.pauseOnFocusLoss)return document.hasFocus()||c(),window.addEventListener("focus",a),window.addEventListener("blur",c),()=>{window.removeEventListener("focus",a),window.removeEventListener("blur",c)}},[g.pauseOnFocusLoss]);const D={onPointerDown:function(d){if(g.draggable===!0||g.draggable===d.pointerType){B.didMove=!1,document.addEventListener("pointermove",h),document.addEventListener("pointerup",l);const y=o.current;B.canCloseOnClick=!0,B.canDrag=!0,y.style.transition="none",g.draggableDirection==="x"?(B.start=d.clientX,B.removalDistance=y.offsetWidth*(g.draggablePercent/100)):(B.start=d.clientY,B.removalDistance=y.offsetHeight*(g.draggablePercent===80?1.5*g.draggablePercent:g.draggablePercent)/100)}},onPointerUp:function(d){const{top:y,bottom:w,left:u,right:G}=o.current.getBoundingClientRect();d.nativeEvent.type!=="touchend"&&g.pauseOnHover&&d.clientX>=u&&d.clientX<=G&&d.clientY>=y&&d.clientY<=w?c():a()}};return C&&Q&&(D.onMouseEnter=c,g.stacked||(D.onMouseLeave=a)),n&&(D.onClick=d=>{E&&E(d),B.canCloseOnClick&&i()}),{playToast:a,pauseToast:c,isRunning:A,preventExitTransition:e,toastRef:o,eventHandlers:D}}function Eeo(g){let{delay:A,isRunning:I,closeToast:e,type:t="default",hide:o,className:B,style:C,controlledProgress:Q,progress:i,rtl:E,isIn:n,theme:s}=g;const r=o||Q&&i===0,a={...C,animationDuration:`${A}ms`,animationPlayState:I?"running":"paused"};Q&&(a.transform=`scaleX(${i})`);const c=xf("Toastify__progress-bar",Q?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${s}`,`Toastify__progress-bar--${t}`,{"Toastify__progress-bar--rtl":E}),h=aS(B)?B({rtl:E,type:t,defaultClassName:c}):xf(c,B),l={[Q&&i>=1?"onTransitionEnd":"onAnimationEnd"]:Q&&i<1?null:()=>{n&&e()}};return aC.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":r},aC.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${s} Toastify__progress-bar--${t}`}),aC.createElement("div",{role:"progressbar","aria-hidden":r?"true":"false","aria-label":"notification timer",className:h,style:a,...l}))}let neo=1;const vSI=()=>""+neo++;function seo(g){return g&&(Ib(g.toastId)||SeA(g.toastId))?g.toastId:vSI()}function ReA(g,A){return bSI(g,A),A.toastId}function EuA(g,A){return{...A,type:A&&A.type||g,toastId:seo(A)}}function nuA(g){return(A,I)=>ReA(A,EuA(g,I))}function vc(g,A){return ReA(g,EuA("default",A))}vc.loading=(g,A)=>ReA(g,EuA("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...A})),vc.promise=function(g,A,I){let e,{pending:t,error:o,success:B}=A;t&&(e=Ib(t)?vc.loading(t,I):vc.loading(t.render,{...I,...t}));const C={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},Q=(E,n,s)=>{if(n==null)return void vc.dismiss(e);const r={type:E,...C,...I,data:s},a=Ib(n)?{render:n}:n;return e?vc.update(e,{...r,...a}):vc(a.render,{...r,...a}),s},i=aS(g)?g():g;return i.then(E=>Q("success",B,E)).catch(E=>Q("error",o,E)),i},vc.success=nuA("success"),vc.info=nuA("info"),vc.error=nuA("error"),vc.warning=nuA("warning"),vc.warn=vc.warning,vc.dark=(g,A)=>ReA(g,EuA("default",{theme:"dark",...A})),vc.dismiss=function(g){(function(A){var I;if(YSI()){if(A==null||Ib(I=A)||SeA(I))_m.forEach(e=>{e.removeToast(A)});else if(A&&("containerId"in A||"id"in A)){const e=_m.get(A.containerId);e?e.removeToast(A.id):_m.forEach(t=>{t.removeToast(A.id)})}}else feA=feA.filter(e=>A!=null&&e.options.toastId!==A)})(g)},vc.clearWaitingQueue=function(g){g===void 0&&(g={}),_m.forEach(A=>{!A.props.limit||g.containerId&&A.id!==g.containerId||A.clearQueue()})},vc.isActive=_SI,vc.update=function(g,A){A===void 0&&(A={});const I=((e,t)=>{var o;let{containerId:B}=t;return(o=_m.get(B||1))==null?void 0:o.toasts.get(e)})(g,A);if(I){const{props:e,content:t}=I,o={delay:100,...e,...A,toastId:A.toastId||g,updateId:vSI()};o.toastId!==g&&(o.staleId=g);const B=o.render||t;delete o.render,ReA(B,o)}},vc.done=g=>{vc.update(g,{progress:1})},vc.onChange=function(g){return neg.add(g),()=>{neg.delete(g)}},vc.play=g=>HSI(!0,g),vc.pause=g=>HSI(!1,g);const aeo=typeof window<"u"?gA.useLayoutEffect:gA.useEffect,suA=g=>{let{theme:A,type:I,isLoading:e,...t}=g;return aC.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:A==="colored"?"currentColor":`var(--toastify-icon-color-${I})`,...t})},seg={info:function(g){return aC.createElement(suA,{...g},aC.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(g){return aC.createElement(suA,{...g},aC.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(g){return aC.createElement(suA,{...g},aC.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(g){return aC.createElement(suA,{...g},aC.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return aC.createElement("div",{className:"Toastify__spinner"})}},reo=g=>{const{isRunning:A,preventExitTransition:I,toastRef:e,eventHandlers:t,playToast:o}=ieo(g),{closeButton:B,children:C,autoClose:Q,onClick:i,type:E,hideProgressBar:n,closeToast:s,transition:r,position:a,className:c,style:h,bodyClassName:l,bodyStyle:D,progressClassName:d,progressStyle:y,updateId:w,role:u,progress:G,rtl:m,toastId:p,deleteToast:k,isIn:S,isLoading:R,closeOnClick:x,theme:N}=g,U=xf("Toastify__toast",`Toastify__toast-theme--${N}`,`Toastify__toast--${E}`,{"Toastify__toast--rtl":m},{"Toastify__toast--close-on-click":x}),L=aS(c)?c({rtl:m,position:a,type:E,defaultClassName:U}):xf(U,c),_=(function(Z){let{theme:O,type:AA,isLoading:tA,icon:eA}=Z,QA=null;const sA={theme:O,type:AA};return eA===!1||(aS(eA)?QA=eA({...sA,isLoading:tA}):gA.isValidElement(eA)?QA=gA.cloneElement(eA,sA):tA?QA=seg.spinner():(DA=>DA in seg)(AA)&&(QA=seg[AA](sA))),QA})(g),b=!!G||!Q,q={closeToast:s,type:E,theme:N};let j=null;return B===!1||(j=aS(B)?B(q):gA.isValidElement(B)?gA.cloneElement(B,q):(function(Z){let{closeToast:O,theme:AA,ariaLabel:tA="close"}=Z;return aC.createElement("button",{className:`Toastify__close-button Toastify__close-button--${AA}`,type:"button",onClick:eA=>{eA.stopPropagation(),O(eA)},"aria-label":tA},aC.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},aC.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))})(q)),aC.createElement(r,{isIn:S,done:k,position:a,preventExitTransition:I,nodeRef:e,playToast:o},aC.createElement("div",{id:p,onClick:i,"data-in":S,className:L,...t,style:h,ref:e},aC.createElement("div",{...S&&{role:u},className:aS(l)?l({type:E}):xf("Toastify__toast-body",l),style:D},_!=null&&aC.createElement("div",{className:xf("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!R})},_),aC.createElement("div",null,C)),j,aC.createElement(Eeo,{...w&&!b?{key:`pb-${w}`}:{},rtl:m,theme:N,delay:Q,isRunning:A,isIn:S,closeToast:s,hide:n,type:E,style:y,className:d,controlledProgress:b,progress:G||0})))},auA=function(g,A){return A===void 0&&(A=!1),{enter:`Toastify--animate Toastify__${g}-enter`,exit:`Toastify--animate Toastify__${g}-exit`,appendPosition:A}},ceo=iuA(auA("bounce",!0));iuA(auA("slide",!0)),iuA(auA("zoom")),iuA(auA("flip"));const heo={position:"top-right",transition:ceo,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};function leo(g){let A={...heo,...g};const I=g.stacked,[e,t]=gA.useState(!0),o=gA.useRef(null),{getToastToRender:B,isToastActive:C,count:Q}=Qeo(A),{className:i,style:E,rtl:n,containerId:s}=A;function r(c){const h=xf("Toastify__toast-container",`Toastify__toast-container--${c}`,{"Toastify__toast-container--rtl":n});return aS(i)?i({position:c,rtl:n,defaultClassName:h}):xf(h,QuA(i))}function a(){I&&(t(!0),vc.play())}return aeo(()=>{if(I){var c;const h=o.current.querySelectorAll('[data-in="true"]'),l=12,D=(c=A.position)==null?void 0:c.includes("top");let d=0,y=0;Array.from(h).reverse().forEach((w,u)=>{const G=w;G.classList.add("Toastify__toast--stacked"),u>0&&(G.dataset.collapsed=`${e}`),G.dataset.pos||(G.dataset.pos=D?"top":"bot");const m=d*(e?.2:1)+(e?0:l*u);G.style.setProperty("--y",`${D?m:-1*m}px`),G.style.setProperty("--g",`${l}`),G.style.setProperty("--s",""+(1-(e?y:0))),d+=G.offsetHeight,y+=.025})}},[e,Q,I]),aC.createElement("div",{ref:o,className:"Toastify",id:s,onMouseEnter:()=>{I&&(t(!1),vc.pause())},onMouseLeave:a},B((c,h)=>{const l=h.length?{...E}:{...E,pointerEvents:"none"};return aC.createElement("div",{className:r(c),style:l,key:`container-${c}`},h.map(D=>{let{content:d,props:y}=D;return aC.createElement(reo,{...y,stacked:I,collapseAll:a,isIn:C(y.toastId,y.containerId),style:y.style,key:`toast-${y.key}`},d)}))}))}function Deo(){var g=':root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}',A=document.createElement("style");A.innerText=g,document.head.appendChild(A)}function lt(g,A){return Array.isArray(A)?[g.a*A[0]+g.c*A[1]+g.e,g.b*A[0]+g.d*A[1]+g.f]:{x:g.a*A.x+g.c*A.y+g.e,y:g.b*A.x+g.d*A.y+g.f}}function deo(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function NeA(g){return typeof g>"u"}function Ox(g,A=0){return{a:1,c:0,e:g,b:0,d:1,f:A}}function ruA(...g){g=Array.isArray(g[0])?g[0]:g;const A=(I,e)=>({a:I.a*e.a+I.c*e.b,c:I.a*e.c+I.c*e.d,e:I.a*e.e+I.c*e.f+I.e,b:I.b*e.a+I.d*e.b,d:I.b*e.c+I.d*e.d,f:I.b*e.e+I.d*e.f+I.f});switch(g.length){case 0:throw new Error("no matrices provided");case 1:return g[0];case 2:return A(g[0],g[1]);default:{const[I,e,...t]=g,o=A(I,e);return ruA(o,...t)}}}function cuA(...g){return ruA(...g)}const{cos:yeo,sin:weo}=Math;function xeA(g,A,I){const e=yeo(g),t=weo(g),o={a:e,c:-t,e:0,b:t,d:e,f:0};return NeA(A)||NeA(I)?o:ruA([Ox(A,I),o,Ox(-A,-I)])}function ueo(g,A=void 0,I=void 0,e=void 0){NeA(A)&&(A=g);const t={a:g,c:0,e:0,b:0,d:A,f:0};return NeA(I)||NeA(e)?t:ruA([Ox(I,e),t,Ox(-I,-e)])}function huA(g){const{ctx:A,points:I,fill:e,stroke:t,strokeWidth:o=1,minStrokePx:B,realToCanvasMat:C,closePath:Q=!1}=g;if(I.length<2)return;A.beginPath();const i=I.map(r=>lt(C,[r.x,r.y])),E=i[0];if(!E)return;const[n,s]=E;A.moveTo(n,s);for(let r=1;r<i.length;r++){const a=i[r];if(!a)continue;const[c,h]=a;A.lineTo(c,h)}if(Q&&A.closePath(),e&&(A.fillStyle=e,A.fill()),t){const r=o*Math.abs(C.a),a=B===void 0?r:Math.max(r,B);A.strokeStyle=t,A.lineWidth=a,A.stroke()}}function H0(g){const{ctx:A,center:I,width:e,height:t,fill:o,realToCanvasMat:B,borderRadius:C=0,ccwRotationDegrees:Q=0,stroke:i,strokeWidth:E,isStrokeDashed:n=!1,lineJoin:s}=g,[r,a]=lt(B,[I.x,I.y]),c=e*Math.abs(B.a),h=t*Math.abs(B.a),l=C*Math.abs(B.a),D=E?E*Math.abs(B.a):void 0;if(A.save(),A.translate(r,a),Q!==0&&A.rotate(-Q*(Math.PI/180)),A.beginPath(),l>0){const d=-c/2,y=-h/2,w=Math.min(l,c/2,h/2);A.moveTo(d+w,y),A.lineTo(d+c-w,y),A.arcTo(d+c,y,d+c,y+w,w),A.lineTo(d+c,y+h-w),A.arcTo(d+c,y+h,d+c-w,y+h,w),A.lineTo(d+w,y+h),A.arcTo(d,y+h,d,y+h-w,w),A.lineTo(d,y+w),A.arcTo(d,y,d+w,y,w)}else A.rect(-c/2,-h/2,c,h);o&&(A.fillStyle=o,A.fill()),i&&D&&(n?A.setLineDash([D*3,D*2]):A.setLineDash([]),s&&(A.lineJoin=s),A.strokeStyle=i,A.lineWidth=D,A.stroke()),A.restore()}function Geo(g){const{ctx:A,board:I,realToCanvasMat:e,colorMap:t,drawBoardMaterial:o,minBoardOutlineStrokePx:B}=g,{width:C,height:Q,center:i,outline:E}=I;if(E&&Array.isArray(E)&&E.length>=3){o&&huA({ctx:A,points:E.map(n=>({x:n.x,y:n.y})),fill:t.substrate,realToCanvasMat:e,closePath:!0}),huA({ctx:A,points:E.map(n=>({x:n.x,y:n.y})),stroke:t.boardOutline,strokeWidth:.1,realToCanvasMat:e,closePath:!0,minStrokePx:B});return}if(C!==void 0&&Q!==void 0&&i){o&&H0({ctx:A,center:i,width:C,height:Q,fill:t.substrate,realToCanvasMat:e});const n=C/2,s=Q/2,r=[{x:i.x-n,y:i.y-s},{x:i.x+n,y:i.y-s},{x:i.x+n,y:i.y+s},{x:i.x-n,y:i.y+s}];huA({ctx:A,points:r,stroke:t.boardOutline,strokeWidth:.1,realToCanvasMat:e,closePath:!0,minStrokePx:B})}}function meo({startX:g,startY:A,endX:I,endY:e,bulge:t}){if(Math.abs(t)<1e-10)return null;const o=I-g,B=e-A,C=Math.hypot(o,B);if(C<1e-10)return null;const Q=Math.abs(t)*(C/2),i=C/2,E=(Q*Q+i*i)/(2*Q),n=E-Q,s=(g+I)/2,r=(A+e)/2,a=-B/C,c=o/C,h=t>0?-1:1;return{centerX:s+h*a*n,centerY:r+h*c*n,radius:E}}function aeg({ctx:g,realStartX:A,realStartY:I,realEndX:e,realEndY:t,bulge:o,realToCanvasMat:B}){if(Math.abs(o)<1e-10){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const C=meo({startX:A,startY:I,endX:e,endY:t,bulge:o});if(!C){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const[Q,i]=lt(B,[A,I]),[E,n]=lt(B,[e,t]),[s,r]=lt(B,[C.centerX,C.centerY]),a=Math.hypot(Q-s,i-r),c=Math.atan2(i-r,Q-s),h=Math.atan2(n-r,E-s),D=B.a*B.d-B.b*B.c<0,d=o>0?!D:D;g.arc(s,r,a,c,h,d)}function qSI({ctx:g,ring:A,realToCanvasMat:I}){if(A.vertices.length<2)return;if(A.vertices.length===2){const[B,C]=A.vertices;if(B&&C&&Math.abs((B.bulge??0)-1)<1e-10&&Math.abs((C.bulge??0)-1)<1e-10){const[Q,i]=lt(I,[B.x,B.y]);g.moveTo(Q,i),aeg({ctx:g,realStartX:B.x,realStartY:B.y,realEndX:C.x,realEndY:C.y,bulge:1,realToCanvasMat:I}),aeg({ctx:g,realStartX:C.x,realStartY:C.y,realEndX:B.x,realEndY:B.y,bulge:1,realToCanvasMat:I});return}}const e=A.vertices[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=0;B<A.vertices.length;B++){const C=A.vertices[B],Q=A.vertices[(B+1)%A.vertices.length];!C||!Q||aeg({ctx:g,realStartX:C.x,realStartY:C.y,realEndX:Q.x,realEndY:Q.y,bulge:C.bulge??0,realToCanvasMat:I})}}function TSI({ctx:g,shape:A,realToCanvasMat:I}){qSI({ctx:g,ring:A.outer_ring,realToCanvasMat:I});for(const e of A.inner_rings??[])qSI({ctx:g,ring:e,realToCanvasMat:I})}function peo(g,A){return A.copper[g]??A.copper.top}function reg(g){const{ctx:A,pour:I,realToCanvasMat:e}=g;if(I.shape==="rect"){const t=I.width/2,o=I.height/2,B=(I.rotation??0)*Math.PI/180,C=Math.cos(B),Q=Math.sin(B),i=[{x:-t,y:-o},{x:t,y:-o},{x:t,y:o},{x:-t,y:o}].map(n=>lt(e,[I.center.x+n.x*C-n.y*Q,I.center.y+n.x*Q+n.y*C])),E=i[0];if(!E)return;A.moveTo(E[0],E[1]);for(let n=1;n<i.length;n++){const s=i[n];s&&A.lineTo(s[0],s[1])}A.closePath();return}if(I.shape==="polygon"){const t=I.points[0];if(!t)return;const[o,B]=lt(e,[t.x,t.y]);A.moveTo(o,B);for(let C=1;C<I.points.length;C++){const Q=I.points[C];if(!Q)continue;const[i,E]=lt(e,[Q.x,Q.y]);A.lineTo(i,E)}A.closePath();return}I.shape==="brep"&&TSI({ctx:A,shape:I.brep_shape,realToCanvasMat:e})}function ZSI(g){const{ctx:A,pour:I,realToCanvasMat:e,colorMap:t}=g,o=peo(I.layer,t),B=.5;A.save(),A.globalAlpha=B,A.beginPath(),reg({ctx:A,pour:I,realToCanvasMat:e}),A.fillStyle=o,A.fill(I.shape==="brep"?"evenodd":"nonzero"),A.restore()}function keo(g,A){if(A.length<3)return;const I=A[0];if(I){g.moveTo(I.x,I.y);for(let e=1;e<A.length;e++){const t=A[e];t&&g.lineTo(t.x,t.y)}g.closePath()}}var Meo=g=>sxA[g]??(g===" "?Nw.spaceWidthRatio:Nw.glyphWidthRatio);function ceg(g,A,I){const e=Meo(g),t=A?Nw.letterSpacingRatio:0,o=A?Xkg[g]?.[A]??0:0;return I*(e+t+o)}function Seo(g,A){const I=A*Nw.glyphWidthRatio,e=A*Nw.letterSpacingRatio,t=A*Nw.spaceWidthRatio,o=A*Nw.strokeWidthRatio,B=A*Nw.lineHeightRatio,C=g.replace(/\\n/g,`
|
|
5399
5399
|
`).split(`
|
|
5400
|
-
`),Q=C.map(n=>{const s=Array.from(n);return s.reduce((r,a,c)=>r+ceg(a,s[c+1],A),0)}),i=Q.reduce((n,s)=>Math.max(n,s),0),E=C.length>1?A+(C.length-1)*B:A;return{width:i,height:E,glyphWidth:I,letterSpacing:e,spaceWidth:t,strokeWidth:o,lineHeight:B,lines:C,lineWidths:Q}}function feo(g){const{line:A,fontSize:I,startX:e,startY:t}=g,o=I,B=I,C=Array.from(A),Q=[];let i=e+g.layout.strokeWidth/2;return C.forEach((E,n)=>{const s=AyI[E];if(s?.length){const r=[];for(const a of s){const c=a.map(h=>({x:i+h.x*B,y:t+(1-h.y)*o}));c.length>=3&&r.push(c)}r.length>0&&Q.push(r)}i+=ceg(E,C[n+1],I)}),Q}function Reo(g){let A=Number.POSITIVE_INFINITY,I=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const o of g)for(const B of o)A=Math.min(A,B.x),I=Math.min(I,B.y),e=Math.max(e,B.x),t=Math.max(t,B.y);return A===Number.POSITIVE_INFINITY||I===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY||t===Number.NEGATIVE_INFINITY?null:{minX:A,minY:I,maxX:e,maxY:t}}function Neo(g,A,I){const e=Feo(g,A),t=Ueo(e,A,I),o=Reo(t.flat()),B=Jeo(g,A,o);return{bounds:o?Yeo(o,B):null,glyphGroups:Leo(t,B),linePlacements:e.map(({line:C,startX:Q,startY:i})=>({line:C,startX:Q+B.x,startY:i+B.y})),startOffset:B}}function xeo(g,A){const I=A.width+A.strokeWidth,e=A.height+A.strokeWidth;let t=0,o=0;return g==="center"||g==="top_center"||g==="bottom_center"?t=-I/2:g==="top_left"||g==="bottom_left"||g==="center_left"?t=0:g==="top_right"||g==="bottom_right"||g==="center_right"?t=-I:(g==="top_center"||g==="bottom_center")&&(t=-I/2),g==="center"||g==="center_left"||g==="center_right"?o=-e/2:g==="top_left"||g==="top_right"||g==="top_center"?o=0:(g==="bottom_left"||g==="bottom_right"||g==="bottom_center")&&(o=-e),{x:t,y:o}}function Feo(g,A){return A.lines.map((I,e)=>({line:I,startX:_eo({alignment:g,lineWidth:A.lineWidths[e],maxWidth:A.width,strokeWidth:A.strokeWidth}),startY:e*A.lineHeight}))}function Ueo(g,A,I){return g.flatMap(({line:e,startX:t,startY:o})=>feo({line:e,fontSize:I,startX:t,startY:o,layout:A}))}function Jeo(g,A,I){return I?{x:-Peo(g,I),y:-Keo(g,I)}:xeo(g,A)}function Peo(g,A){return g==="top_left"||g==="bottom_left"||g==="center_left"?A.minX:g==="top_right"||g==="bottom_right"||g==="center_right"?A.maxX:(A.minX+A.maxX)/2}function Keo(g,A){return g==="top_left"||g==="top_right"||g==="top_center"?A.minY:g==="bottom_left"||g==="bottom_right"||g==="bottom_center"?A.maxY:(A.minY+A.maxY)/2}function Leo(g,A){return A.x===0&&A.y===0?g:g.map(I=>I.map(e=>e.map(t=>({x:t.x+A.x,y:t.y+A.y}))))}function Yeo(g,A){return{minX:g.minX+A.x,minY:g.minY+A.y,maxX:g.maxX+A.x,maxY:g.maxY+A.y}}function _eo(g){const{alignment:A,lineWidth:I,maxWidth:e,strokeWidth:t}=g,o=I+t,B=e+t;return A==="top_left"||A==="bottom_left"||A==="center_left"?0:A==="top_right"||A==="bottom_right"||A==="center_right"?B-o:(B-o)/2}var beo=g=>zkg[g];function Heo(g){const{ctx:A,line:I,fontSize:e,startX:t,startY:o,layout:B}=g,{strokeWidth:C}=B,Q=e,i=e,E=o,n=Array.from(I);let s=t+C/2;n.forEach((r,a)=>{const c=beo(r);if(c?.length){A.beginPath();for(const h of c){const l=s+h.x1*i,D=E+(1-h.y1)*Q,d=s+h.x2*i,y=E+(1-h.y2)*Q;A.moveTo(l,D),A.lineTo(d,y)}A.stroke()}s+=ceg(r,n[a+1],e)})}var veo={left:.2,right:.2,top:.2,bottom:.2};function mZ(g){const{ctx:A,text:I,x:e,y:t,fontSize:o,color:B,realToCanvasMat:C,anchorAlignment:Q,rotation:i=0,mirrorX:E=!1,knockout:n=!1,knockoutPadding:s={}}=g;if(!I)return;const[r,a]=lt(C,[e,t]),c=Math.abs(C.a),h=o*c,l=Seo(I,h),D=Neo(Q,l,h);if(A.save(),A.translate(r,a),i!==0&&A.rotate(-i*(Math.PI/180)),E&&A.scale(-1,1),n){const d={...veo,...s},y=d.left*c,w=d.right*c,u=d.top*c,G=d.bottom*c,m=D.bounds;if(!m){A.restore();return}const p=m.minX-y,k=m.minY-u,S=m.maxX-m.minX+y+w,R=m.maxY-m.minY+u+G;A.fillStyle=B,A.beginPath(),A.rect(p,k,S,R);for(const x of D.glyphGroups)for(const N of x)keo(A,N);A.fill("evenodd")}else A.strokeStyle=B;A.lineWidth=l.strokeWidth,A.lineCap="round",A.lineJoin="round",n||D.linePlacements.forEach(({line:d,startX:y,startY:w})=>{Heo({ctx:A,line:d,fontSize:h,startX:y,startY:w,layout:l})}),A.restore()}function qeo(g){return g||"center"}function Teo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";o&&mZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:I.font_size??1,color:t.copper[I.layer]??t.copper.top,realToCanvasMat:e,anchorAlignment:qeo(I.anchor_alignment),rotation:I.ccw_rotation??0,mirrorX:I.is_mirrored??I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function Kl(g){const{ctx:A,center:I,radius:e,fill:t,realToCanvasMat:o,stroke:B,strokeWidth:C,isStrokeDashed:Q=!1}=g,[i,E]=lt(o,[I.x,I.y]),n=e*Math.abs(o.a),s=C?C*Math.abs(o.a):void 0;A.beginPath(),A.arc(i,E,n,0,Math.PI*2),t&&(A.fillStyle=t,A.fill()),B&&s&&(Q?A.setLineDash([s*3,s*2]):A.setLineDash([]),A.strokeStyle=B,A.lineWidth=s,A.stroke())}function Zeo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function Oeo(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g;Kl({ctx:A,center:I.center,radius:I.radius,stroke:Zeo(I.layer,t),strokeWidth:.05,realToCanvasMat:e})}function Weo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function Veo(g){const{ctx:A,outline:I,realToCanvasMat:e,colorMap:t}=g;if(!I.outline||I.outline.length<2)return;A.beginPath();const o=lt(e,I.outline[0]);A.moveTo(o.x,o.y);for(let B=1;B<I.outline.length;B++){const C=lt(e,I.outline[B]);A.lineTo(C.x,C.y)}A.closePath(),A.lineWidth=.05*Math.abs(e.a),A.strokeStyle=Weo(I.layer,t),A.lineJoin="round",A.stroke()}function jeo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function zeo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g;H0({ctx:A,center:I.center,width:I.width,height:I.height,stroke:jeo(I.layer,t),strokeWidth:.05,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation??0,lineJoin:"round"})}function pZ(g){const{ctx:A,points:I,cx:e=0,cy:t=0,ccwRotationDegrees:o=0}=g,B=I[0];if(I.length<3||!B)return;const C=cuA(Ox(e,t),xeA(-o*Math.PI/180),Ox(-e,-t)),Q=lt(C,B);A.moveTo(Q.x,Q.y);for(let i=1;i<I.length;i++){const E=I[i];if(!E)continue;const n=lt(C,E);A.lineTo(n.x,n.y)}A.closePath()}function Wx(g){const{ctx:A,points:I,fill:e,realToCanvasMat:t,center:o={x:0,y:0},rotation:B=0}=g;if(I.length<3)return;const[C,Q]=lt(t,[o.x,o.y]),i=I.map(E=>{const[n,s]=lt(t,[E.x,E.y]);return{x:n-C,y:s-Q}});i[0]&&(A.save(),A.translate(C,Q),B!==0&&A.rotate(-B*(Math.PI/180)),A.beginPath(),pZ({ctx:A,points:i}),A.fillStyle=e,A.fill(),A.restore())}function Xeo(g){const{ctx:A,cutout:I,realToCanvasMat:e,colorMap:t}=g;if(I.shape==="rect"){H0({ctx:A,center:I.center,width:I.width,height:I.height,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:I.rotation??0,borderRadius:I.corner_radius??0});return}if(I.shape==="circle"){Kl({ctx:A,center:I.center,radius:I.radius,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&Wx({ctx:A,points:I.points,fill:t.drill,realToCanvasMat:e});return}}var OSI="#ff4d4d",$eo={a:1,b:0,c:0,d:1,e:0,f:0};function Ato(g){const A=Math.min(g.canvas.width,g.canvas.height),I=Math.max(1,Math.min(2,A*.002)),e=Math.max(10,Math.min(18,A*.02));return{fontSize:e,strokeWidth:I,dashLength:I*4,labelGap:e*.35,pointRadius:I*3}}function heg({ctx:g,label:A,x:I,y:e,style:t,align:o="left"}){A&&(g.setLineDash([]),mZ({ctx:g,text:A,x:I,y:e,fontSize:t.fontSize,color:OSI,realToCanvasMat:$eo,anchorAlignment:o==="center"?"bottom_center":"bottom_left"}))}function gto({ctx:g,debugObject:A,realToCanvasMat:I,labelStackIndex:e=0}){const t=Ato(g);if(g.save(),g.strokeStyle=OSI,g.lineWidth=t.strokeWidth,g.setLineDash([t.dashLength,t.dashLength]),A.shape==="rect"){const C=lt(I,[A.center.x-A.size.width/2,A.center.y-A.size.height/2]),Q=lt(I,[A.center.x+A.size.width/2,A.center.y+A.size.height/2]),i=Math.min(C[0],Q[0]),E=Math.min(C[1],Q[1]),n=Math.abs(Q[0]-C[0]),s=Math.abs(Q[1]-C[1]);g.beginPath(),g.rect(i,E,n,s),g.stroke(),heg({ctx:g,label:A.label,x:i,y:E-t.labelGap-e*(t.fontSize+t.labelGap),style:t}),g.restore();return}if(A.shape==="line"){const[C,Q]=lt(I,[A.start.x,A.start.y]),[i,E]=lt(I,[A.end.x,A.end.y]);g.beginPath(),g.moveTo(C,Q),g.lineTo(i,E),g.stroke(),heg({ctx:g,label:A.label,x:(C+i)/2,y:(Q+E)/2-t.labelGap,style:t,align:"center"}),g.restore();return}const[o,B]=lt(I,[A.center.x,A.center.y]);g.beginPath(),g.arc(o,B,t.pointRadius,0,Math.PI*2),g.stroke(),heg({ctx:g,label:A.label,x:o+t.pointRadius+t.labelGap,y:B-t.pointRadius,style:t}),g.restore()}var Ito=1.5,eto=.6,tto=.3;function leg(g){const A=Math.hypot(g.x,g.y)||1;return{x:g.x/A,y:g.y/A}}function WSI(g){const{ctx:A,from:I,to:e,realToCanvasMat:t,color:o,fontSize:B,arrowSize:C=1,strokeWidth:Q,text:i,textRotation:E,offset:n}=g,s=leg({x:e.x-I.x,y:e.y-I.y}),r={x:-s.y,y:s.x},a=n?.direction&&typeof n.direction.x=="number"&&typeof n.direction.y=="number",c=a?leg(n.direction):{x:0,y:0},h=n?.distance??0,l={x:c.x*h,y:c.y*h},D={x:I.x+l.x,y:I.y+l.y},d={x:e.x+l.x,y:e.y+l.y},y={x:D.x+s.x*C,y:D.y+s.y*C},w={x:d.x-s.x*C,y:d.y-s.y*C};Math.abs(t.a);const u=Q??C/5,G=o||"rgba(255,255,255,0.5)",m=a&&(Math.abs(c.x)>Number.EPSILON||Math.abs(c.y)>Number.EPSILON)?c:r,p=h+.5,k=[],S=N=>{const U={x:N.x+m.x*p,y:N.y+m.y*p},L=u/2,_={x:-m.y,y:m.x};return[{x:N.x+_.x*L,y:N.y+_.y*L},{x:N.x-_.x*L,y:N.y-_.y*L},{x:U.x-_.x*L,y:U.y-_.y*L},{x:U.x+_.x*L,y:U.y+_.y*L}]};k.push(D),k.push({x:y.x+r.x*(C/2),y:y.y+r.y*(C/2)}),k.push({x:y.x+r.x*(u/2),y:y.y+r.y*(u/2)}),k.push({x:w.x+r.x*(u/2),y:w.y+r.y*(u/2)}),k.push({x:w.x+r.x*(C/2),y:w.y+r.y*(C/2)}),k.push(d),k.push({x:w.x-r.x*(C/2),y:w.y-r.y*(C/2)}),k.push({x:w.x-r.x*(u/2),y:w.y-r.y*(u/2)}),k.push({x:y.x-r.x*(u/2),y:y.y-r.y*(u/2)}),k.push({x:y.x-r.x*(C/2),y:y.y-r.y*(C/2)}),k.push(D);const R=k[0],x=N=>{const U=S(N);k.push(R),k.push(U[0]),k.push(...U),k.push(U[0]),k.push(R)};if(x(I),x(e),Wx({ctx:A,points:k,fill:G,realToCanvasMat:t}),i){const N={x:(I.x+e.x)/2+l.x,y:(I.y+e.y)/2+l.y},[U,L]=lt(t,[D.x,D.y]),[_,b]=lt(t,[d.x,d.y]),q=leg({x:_-U,y:b-L});let j=Math.atan2(q.y,q.x)*180/Math.PI;(j>90||j<-90)&&(j+=180);const Z=typeof E=="number"&&Number.isFinite(E)?j-E:j;let O=0;if(i&&typeof E=="number"&&Number.isFinite(E)){const eA=i.length*B*eto,QA=B,sA=E*Math.PI/180,DA=Math.abs(Math.sin(sA)),CA=Math.abs(Math.cos(sA)),hA=eA/2,nA=QA/2;O=hA*DA+nA*CA+B*tto}const AA=C*Ito+O,tA={x:N.x+r.x*AA,y:N.y+r.y*AA};mZ({ctx:A,text:i,x:tA.x,y:tA.y,fontSize:B,color:G,realToCanvasMat:t,anchorAlignment:"center",rotation:-Z})}}function oto(g){const{ctx:A,pcbFabricationNoteDimension:I,realToCanvasMat:e,colorMap:t}=g,o=I.color??t.fabricationNote;WSI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:o,fontSize:I.font_size??1,arrowSize:I.arrow_size??1,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function Bto(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g;if(!I.route||I.route.length<2)return;const o=I.route.map(C=>lt(e,C)),B=I.stroke_width*Math.abs(e.a)/2;if(A.beginPath(),I.is_filled){const Q=o.reduce((i,E,n)=>{const s=o[(n+1)%o.length];return i+E.x*s.y-s.x*E.y},0)<0?[...o].reverse():o;A.moveTo(Q[0].x,Q[0].y);for(const i of Q.slice(1))A.lineTo(i.x,i.y);A.closePath()}if(I.has_stroke!==!1&&B>0){const C=I.is_filled?[...o,o[0]]:o;for(let Q=1;Q<C.length;Q++){const i=C[Q-1],E=C[Q],n=Math.atan2(E.y-i.y,E.x-i.x);A.moveTo(i.x+B*Math.cos(n+Math.PI/2),i.y+B*Math.sin(n+Math.PI/2)),A.arc(i.x,i.y,B,n+Math.PI/2,n+3*Math.PI/2),A.lineTo(E.x+B*Math.cos(n-Math.PI/2),E.y+B*Math.sin(n-Math.PI/2)),A.arc(E.x,E.y,B,n-Math.PI/2,n+Math.PI/2),A.closePath()}}A.fillStyle=I.color??t.fabricationNote,A.fill()}function Cto(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=t.fabricationNote,B=I.color??o,C=I.is_filled??!1,Q=I.has_stroke??!0,i=I.is_stroke_dashed??!1;H0({ctx:A,center:I.center,width:I.width,height:I.height,fill:C?B:void 0,stroke:Q?B:void 0,strokeWidth:Q?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:i})}function Qto(g,A){return A.fabricationNote}function ito(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=Qto(I.layer,t),B=I.color??o,C=I.font_size;mZ({ctx:A,text:I.text,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:C,color:B,realToCanvasMat:e,anchorAlignment:I.anchor_alignment})}function OR(g){const{ctx:A,center:I,radius_x:e,radius_y:t,fill:o,stroke:B,strokeWidth:C=.1,realToCanvasMat:Q,rotation:i=0}=g,[E,n]=lt(Q,[I.x,I.y]),s=e*Math.abs(Q.a),r=t*Math.abs(Q.a),a=C*Math.abs(Q.a);A.save(),A.translate(E,n),i!==0&&A.rotate(-i*(Math.PI/180)),A.beginPath(),A.ellipse(0,0,s,r,0,0,Math.PI*2),o&&(A.fillStyle=o,A.fill()),B&&(A.strokeStyle=B,A.lineWidth=a,A.stroke()),A.restore()}function Yy(g){const{ctx:A,center:I,width:e,height:t,fill:o,realToCanvasMat:B,rotation:C=0,stroke:Q,strokeWidth:i}=g,[E,n]=lt(B,[I.x,I.y]),s=e*Math.abs(B.a),r=t*Math.abs(B.a),a=i?i*Math.abs(B.a):void 0;if(A.save(),A.translate(E,n),C!==0&&A.rotate(-C*(Math.PI/180)),A.beginPath(),s>r){const c=r/2,h=s-r;A.moveTo(-h/2,-c),A.lineTo(h/2,-c),A.arc(h/2,0,c,-Math.PI/2,Math.PI/2),A.lineTo(-h/2,c),A.arc(-h/2,0,c,Math.PI/2,-Math.PI/2)}else if(r>s){const c=s/2,h=r-s;A.moveTo(c,-h/2),A.lineTo(c,h/2),A.arc(0,h/2,c,0,Math.PI),A.lineTo(-c,-h/2),A.arc(0,-h/2,c,Math.PI,0)}else A.arc(0,0,s/2,0,Math.PI*2);A.closePath(),o&&(A.fillStyle=o,A.fill()),Q&&a&&(A.strokeStyle=Q,A.lineWidth=a,A.stroke()),A.restore()}function luA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function VSI(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B=!1}=g,C=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0;if(!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))<=C*2)){if(I.hole_shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2-C,fill:t.drill,realToCanvasMat:e});return}if(I.hole_shape==="square"){const i=luA(I);H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter-C*2,height:I.hole_diameter-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="oval"){const i=luA(I);OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2-C,radius_y:I.hole_height/2-C,fill:t.drill,realToCanvasMat:e,rotation:i});return}if(I.hole_shape==="rect"){const i=luA(I);H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const i=luA(I);Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,rotation:i});return}}}function Eto(g){const{ctx:A,cx:I,cy:e,radius:t}=g;A.beginPath(),A.arc(I,e,t,0,Math.PI*2)}function nto(g){const{ctx:A,cx:I,cy:e,width:t,height:o}=g;A.beginPath(),A.rect(I-t/2,e-o/2,t,o)}function z3(g){const{ctx:A,cx:I,cy:e,width:t,height:o,ccwRotationDegrees:B=0}=g,C=B*Math.PI/180,Q=cuA(Ox(I,e),xeA(-C));if(t>o){const i=o/2,E=(t-o)/2,n=lt(Q,{x:-E,y:0}),s=lt(Q,{x:E,y:0}),r=lt(Q,{x:E,y:-i});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C-Math.PI/2,-C+Math.PI/2),A.arc(n.x,n.y,i,-C+Math.PI/2,-C-Math.PI/2)}else if(o>t){const i=t/2,E=(o-t)/2,n=lt(Q,{x:0,y:-E}),s=lt(Q,{x:0,y:E}),r=lt(Q,{x:i,y:E});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C,-C+Math.PI),A.arc(n.x,n.y,i,-C+Math.PI,-C)}else{const i=t/2;A.moveTo(I+i,e),A.arc(I,e,i,0,Math.PI*2)}A.closePath()}function WR(g){const{ctx:A,cx:I,cy:e,width:t,height:o,radius:B,ccwRotationDegrees:C=0}=g,Q=C*Math.PI/180,i=cuA(Ox(I,e),xeA(-Q)),E=t/2,n=o/2,s=Math.min(B,E,n);if(s>0){const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n}),l=lt(i,{x:-E,y:0});A.moveTo(l.x,l.y),A.arcTo(r.x,r.y,a.x,a.y,s),A.arcTo(a.x,a.y,c.x,c.y,s),A.arcTo(c.x,c.y,h.x,h.y,s),A.arcTo(h.x,h.y,r.x,r.y,s)}else{const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n});A.moveTo(r.x,r.y),A.lineTo(a.x,a.y),A.lineTo(c.x,c.y),A.lineTo(h.x,h.y)}A.closePath()}function sto(g){const{ctx:A,pad:I,realToCanvasMat:e,color:t,drillCutouts:o}=g;if(A.save(),A.beginPath(),!jSI(A,I,e)){A.restore();return}A.clip(),A.beginPath(),jSI(A,I,e);for(const B of o)rto(A,B,e);A.fillStyle=t,A.fill("evenodd"),A.restore()}function ato(g){const{pad:A,holes:I=[],platedHoles:e=[],vias:t=[],cutouts:o=[]}=g,B=hto(A);if(!B)return[];const C=[],Q=i=>{i&&dto(B,lto(i))&&C.push(i)};for(const i of o)Q(Dto(i));for(const i of I)Q(yto(i));for(const i of e)e2I(i.layers,A.layer)&&Q(I2I(i));for(const i of t){if(!e2I(i.layers,A.layer))continue;const E=i.hole_diameter/2;if(E<=0)continue;const n={shape:"circle",x:i.x,y:i.y,radius:E};Q(n)}return C}function jSI(g,A,I){return A.shape==="rect"||A.shape==="rotated_rect"?(XSI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:wto(A),rotation:A.shape==="rotated_rect"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="circle"?(zSI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I}),!0):A.shape==="pill"||A.shape==="rotated_pill"?($SI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.shape==="rotated_pill"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="polygon"&&A.points&&A.points.length>=3?(A2I(g,A.points,I),!0):!1}function rto(g,A,I){if(A.shape==="circle"){zSI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I});return}if(A.shape==="oval"){cto(g,{x:A.x,y:A.y,radiusX:A.radiusX,radiusY:A.radiusY,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="pill"){$SI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="polygon"){A2I(g,A.points,I);return}XSI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:A.radius,rotation:A.rotation,realToCanvasMat:I})}function zSI(g,A){const{x:I,y:e,radius:t,realToCanvasMat:o}=A,[B,C]=lt(o,[I,e]),Q=t*Math.abs(o.a);g.moveTo(B+Q,C),g.arc(B,C,Q,0,Math.PI*2),g.closePath()}function cto(g,A){const{x:I,y:e,radiusX:t,radiusY:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a),s=-B*Math.PI/180;g.moveTo(Q+E*Math.cos(s),i+E*Math.sin(s)),g.ellipse(Q,i,E,n,s,0,Math.PI*2),g.closePath()}function XSI(g,A){const{x:I,y:e,width:t,height:o,radius:B=0,rotation:C=0,realToCanvasMat:Q}=A,[i,E]=lt(Q,[I,e]),n=t*Math.abs(Q.a),s=o*Math.abs(Q.a),r=B*Math.abs(Q.a);if(g.save(),g.translate(i,E),C!==0&&g.rotate(-C*(Math.PI/180)),r>0){const a=-n/2,c=-s/2,h=Math.min(r,n/2,s/2);g.moveTo(a+h,c),g.lineTo(a+n-h,c),g.arcTo(a+n,c,a+n,c+h,h),g.lineTo(a+n,c+s-h),g.arcTo(a+n,c+s,a+n-h,c+s,h),g.lineTo(a+h,c+s),g.arcTo(a,c+s,a,c+s-h,h),g.lineTo(a,c+h),g.arcTo(a,c,a+h,c,h),g.closePath()}else g.rect(-n/2,-s/2,n,s);g.restore()}function $SI(g,A){const{x:I,y:e,width:t,height:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a);z3({ctx:g,cx:Q,cy:i,width:E,height:n,ccwRotationDegrees:B})}function A2I(g,A,I){const e=A[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=1;B<A.length;B++){const C=A[B];if(!C)continue;const[Q,i]=lt(I,[C.x,C.y]);g.lineTo(Q,i)}g.closePath()}function hto(g){if(g.shape==="circle")return X3(g.x,g.y,g.radius,g.radius);if(g.shape==="rect"||g.shape==="rotated_rect"||g.shape==="pill"||g.shape==="rotated_pill"){const A=Math.hypot(g.width/2,g.height/2);return(g.shape==="rotated_rect"||g.shape==="rotated_pill")&&(g.ccw_rotation??0)!==0?X3(g.x,g.y,A,A):X3(g.x,g.y,g.width/2,g.height/2)}if(g.shape==="polygon"&&g.points&&g.points.length>=3)return g2I(g.points)}function lto(g){if(g.shape==="polygon")return g2I(g.points);if(g.shape==="circle")return X3(g.x,g.y,g.radius,g.radius);if(g.shape==="oval"){if((g.rotation??0)!==0){const e=Math.hypot(g.radiusX,g.radiusY);return X3(g.x,g.y,e,e)}return X3(g.x,g.y,g.radiusX,g.radiusY)}const A=g.width/2,I=g.height/2;if((g.rotation??0)!==0){const e=Math.hypot(A,I);return X3(g.x,g.y,e,e)}return X3(g.x,g.y,A,I)}function Dto(g){if(g.shape==="circle")return g.radius<=0?void 0:{shape:"circle",x:g.center.x,y:g.center.y,radius:g.radius};if(g.shape==="rect")return g.width<=0||g.height<=0?void 0:{shape:"rect",x:g.center.x,y:g.center.y,width:g.width,height:g.height,radius:g.corner_radius,rotation:g.rotation};if(g.shape==="polygon"&&g.points.length>=3)return{shape:"polygon",points:g.points}}function g2I(g){let A=1/0,I=-1/0,e=1/0,t=-1/0;for(const o of g)A=Math.min(A,o.x),I=Math.max(I,o.x),e=Math.min(e,o.y),t=Math.max(t,o.y);return{minX:A,maxX:I,minY:e,maxY:t}}function X3(g,A,I,e){return{minX:g-I,maxX:g+I,minY:A-e,maxY:A+e}}function dto(g,A){return g.minX<=A.maxX&&g.maxX>=A.minX&&g.minY<=A.maxY&&g.maxY>=A.minY}function yto(g){if(g.hole_shape==="circle"){const A=g.hole_diameter/2;return A<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:A}}if(g.hole_shape==="square")return g.hole_diameter<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_diameter,height:g.hole_diameter,rotation:DuA(g)};if(g.hole_shape==="oval")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:g.hole_width/2,radiusY:g.hole_height/2,rotation:DuA(g)};if(g.hole_shape==="rect")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:DuA(g)};if(g.hole_shape==="pill"||g.hole_shape==="rotated_pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:DuA(g)}}function I2I(g){if(g.shape==="circle"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:o}}if(g.shape==="oval"){const o=g.hole_width/2,B=g.hole_height/2;return o<=0||B<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(g.shape==="pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:g.ccw_rotation};if(g.shape==="circular_hole_with_rect_pad"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),radius:o}}if(g.shape==="pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height};if(g.shape==="rotated_pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height,rotation:g.hole_ccw_rotation};if(g.shape!=="hole_with_polygon_pad")return;const A=lt(xeA((g.ccw_rotation??0)*Math.PI/180),{x:g.hole_offset_x??0,y:g.hole_offset_y??0}),I=g.x+A.x,e=g.y+A.y,t=g.hole_shape;if(t==="circle"){const o=(g.hole_diameter??0)/2;return o<=0?void 0:{shape:"circle",x:I,y:e,radius:o}}if(t==="oval"){const o=(g.hole_width??0)/2,B=(g.hole_height??0)/2;return o<=0||B<=0?void 0:{shape:"oval",x:I,y:e,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(t==="pill"||t==="rotated_pill"){const o=g.hole_width??0,B=g.hole_height??0;return o<=0||B<=0?void 0:{shape:"pill",x:I,y:e,width:o,height:B,rotation:g.ccw_rotation}}}function DuA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function wto(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function e2I(g,A){if(!g||g.length===0)return!0;const I=t2I(A);return g.some(e=>t2I(e)===I)}function t2I(g){if(typeof g=="string")return g;if(g&&typeof g=="object"&&"name"in g&&typeof g.name=="string")return g.name}function uto(g,A){const I=parseInt(g.slice(1,3),16),e=parseInt(g.slice(3,5),16),t=parseInt(g.slice(5,7),16);return`rgba(${I}, ${e}, ${t}, ${A})`}function Gto(g,A){return g.layers.includes("bottom")&&!g.layers.includes("top")?A.keepout.bottom:A.keepout.top}function o2I(g){const{ctx:A,strokeColor:I,hatchWidth:e,hatchSpacing:t,diagonal:o,getLineEndpoints:B}=g;A.strokeStyle=I,A.lineWidth=e,A.setLineDash([]);for(let C=-o;C<o*2;C+=t){const{startX:Q,startY:i,endX:E,endY:n}=B(C);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.stroke()}}function B2I(g){const{ctx:A,fillColor:I,drawPath:e,drawHatch:t}=g;e(),A.fillStyle=I,A.fill(),e(),A.clip(),t()}function mto(g){const{ctx:A,keepout:I,realToCanvasMat:e,colorMap:t}=g,o=Math.abs(e.a),B=Gto(I,t),C=uto(B,.2),Q=1*o,i=.15*o;if(I.shape==="rect"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.width*o,r=I.height*o,a=I.rotation??0,c=Math.sqrt(s*s+r*r),h=s/2,l=r/2;A.save(),A.translate(E,n),a!==0&&A.rotate(-a*(Math.PI/180)),B2I({ctx:A,fillColor:C,drawPath:()=>nto({ctx:A,cx:0,cy:0,width:s,height:r}),drawHatch:()=>o2I({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:c,getLineEndpoints:D=>({startX:-h+D,startY:-l,endX:-h+D+c,endY:-l+c})})}),A.restore();return}if(I.shape==="circle"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.radius*o,r=s*2;A.save(),A.translate(E,n),B2I({ctx:A,fillColor:C,drawPath:()=>Eto({ctx:A,cx:0,cy:0,radius:s}),drawHatch:()=>o2I({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:r,getLineEndpoints:a=>({startX:a-r,startY:-r,endX:a+r,endY:r})})}),A.restore()}}var pto="rgba(255,255,255,0.5)";function kto(g){const{ctx:A,pcbNoteDimension:I,realToCanvasMat:e}=g,t=I.color??pto;WSI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:t,fontSize:I.font_size,arrowSize:I.arrow_size,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function Mto(g){const{ctx:A,line:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.stroke_width??.1,C=I.is_dashed??!1,[Q,i]=lt(e,[I.x1,I.y1]),[E,n]=lt(e,[I.x2,I.y2]),s=B*Math.abs(e.a);A.save(),C?A.setLineDash([s*2,s*2]):A.setLineDash([]),A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap="round",A.stroke(),A.restore()}function FeA(g){const{ctx:A,start:I,end:e,strokeWidth:t,stroke:o,realToCanvasMat:B,lineCap:C="round"}=g,[Q,i]=lt(B,[I.x,I.y]),[E,n]=lt(B,[e.x,e.y]),s=t*Math.abs(B.a);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap=C,A.stroke()}function Sto(g){const{ctx:A,path:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)";if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||FeA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function fto(g){const{ctx:A,rect:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.is_filled??!1,C=I.has_stroke??!0,Q=I.is_stroke_dashed??!1;H0({ctx:A,center:I.center,width:I.width,height:I.height,fill:B?o:void 0,stroke:C?o:void 0,strokeWidth:C?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:Q})}var Rto="rgb(89, 148, 220)";function Nto(g){const{ctx:A,text:I,realToCanvasMat:e}=g,t=Rto,o=I.color??t,B=I.font_size??1;mZ({ctx:A,text:I.text??"",x:I.anchor_position.x,y:I.anchor_position.y,fontSize:B,color:o,realToCanvasMat:e,anchorAlignment:I.anchor_alignment??"center",mirrorX:I.is_mirrored_from_top_view??I.layer==="bottom"})}function xto(g){const{ctx:A,panel:I,realToCanvasMat:e,colorMap:t}=g,{width:o,height:B,center:C}=I;if(o!==void 0&&B!==void 0&&C){const Q=o/2,i=B/2,E=[{x:C.x-Q,y:C.y-i},{x:C.x+Q,y:C.y-i},{x:C.x+Q,y:C.y+i},{x:C.x-Q,y:C.y+i}];huA({ctx:A,points:E,stroke:t.boardOutline,strokeWidth:.5,realToCanvasMat:e,closePath:!0})}}function duA(g,A){if(g.length<3||A===0)return g;let I=0,e=0;for(const o of g)I+=o.x,e+=o.y;I/=g.length,e/=g.length;const t=[];for(const o of g){const B=o.x-I,C=o.y-e,Q=Math.sqrt(B*B+C*C);if(Q>0){const i=B/Q,E=C/Q;t.push({x:o.x+i*A,y:o.y+E*A})}else t.push({x:o.x+A,y:o.y})}return t}function C2I(g,A){return g.shape==="circle"?g.outer_diameter+A*2<=0:g.shape==="oval"||g.shape==="pill"?Math.min(g.outer_width,g.outer_height)+A*2<=0:"rect_pad_width"in g?Math.min(g.rect_pad_width,g.rect_pad_height)+A*2<=0:!1}function Q2I(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B}=g,C=t.copper[g.layer??"top"],Q=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0,i=!C2I(I,-Q);if(I.shape==="circle"){i&&Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2-Q,fill:C,realToCanvasMat:e}),HJ(A,()=>{Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="oval"){i&&OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2-Q,radius_y:I.outer_height/2-Q,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),HJ(A,()=>{OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="pill"){i&&Yy({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width-Q*2,height:I.outer_height-Q*2,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),HJ(A,()=>{Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="circular_hole_with_rect_pad"){i&&H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);HJ(A,()=>{Kl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Kl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){i&&H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);HJ(A,()=>{Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e})}),Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){i&&H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);HJ(A,()=>{Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.hole_ccw_rotation})}),Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.hole_ccw_rotation});return}if(I.shape==="hole_with_polygon_pad"){const E=I.pad_outline;if(E&&E.length>=3){const a=E.map(h=>({x:I.x+h.x,y:I.y+h.y})),c=Q>0?duA(a,-Q):a;c.length>=3&&Wx({ctx:A,points:c,fill:C,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}const n=lt(xeA((I.ccw_rotation??0)*Math.PI/180),{x:I.hole_offset_x??0,y:I.hole_offset_y??0}),s={x:I.x+n.x,y:I.y+n.y},r=I.hole_shape;r==="circle"?(HJ(A,()=>{Kl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:"#000",realToCanvasMat:e})}),Kl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:t.drill,realToCanvasMat:e})):r==="oval"?(HJ(A,()=>{OR({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),OR({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e})):(r==="pill"||r==="rotated_pill")&&(HJ(A,()=>{Yy({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),Yy({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e}));return}}function HJ(g,A){g.save(),g.globalCompositeOperation="destination-out",A(),g.restore()}function Fto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Uto(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g,o=Fto(I.layer,t);Kl({ctx:A,center:I.center,radius:I.radius,stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function Jto(g){const{ctx:A,graphic:I,realToCanvasMat:e,colorMap:t}=g,o=I.layer==="bottom"?t.silkscreen.bottom:t.silkscreen.top;A.beginPath(),TSI({ctx:A,shape:I.brep_shape,realToCanvasMat:e}),A.fillStyle=o,A.fill("evenodd")}function Pto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Kto(g){const{ctx:A,line:I,realToCanvasMat:e,colorMap:t}=g,o=Pto(I.layer,t);FeA({ctx:A,start:{x:I.x1,y:I.y1},end:{x:I.x2,y:I.y2},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}function Lto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Yto(g){const{ctx:A,oval:I,realToCanvasMat:e,colorMap:t}=g,o=Lto(I.layer,t);OR({ctx:A,center:I.center,radius_x:I.radius_x,radius_y:I.radius_y,stroke:o,strokeWidth:.1,realToCanvasMat:e,rotation:I.ccw_rotation??0})}function _to(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function bto(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g,o=_to(I.layer,t);if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||FeA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function Hto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function vto(g){const{ctx:A,pill:I,realToCanvasMat:e,colorMap:t}=g,o=Hto(I.layer,t);Yy({ctx:A,center:I.center,width:I.width,height:I.height,stroke:o,strokeWidth:.2,realToCanvasMat:e})}function qto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Tto(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=qto(I.layer,t);H0({ctx:A,center:I.center,width:I.width,height:I.height,borderRadius:I.corner_radius,fill:I.is_filled?o:"transparent",stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function Zto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Oto(g){return g||"center"}function Wto(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";if(!o)return;const B=Zto(I.layer,t),C=Oto(I.anchor_alignment),Q=I.font_size??1;mZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:Q,color:B,realToCanvasMat:e,anchorAlignment:C,rotation:I.ccw_rotation??0,mirrorX:I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function Vto(g,A){return A.copper[g]??A.copper.top}function i2I(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function jto(g){const{ctx:A,pad:I,realToCanvasMat:e,colorMap:t}=g,o=Vto(I.layer,t),B=ato(g);if(B.length>0){sto({ctx:A,pad:I,realToCanvasMat:e,color:o,drillCutouts:B});return}if(I.shape==="rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:i2I(I)});return}if(I.shape==="rotated_rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:i2I(I),ccwRotationDegrees:I.ccw_rotation??0});return}if(I.shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:o,realToCanvasMat:e});return}if(I.shape==="pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e});return}if(I.shape==="rotated_pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,rotation:I.ccw_rotation??0});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&Wx({ctx:A,points:I.points,fill:o,realToCanvasMat:e});return}}var UeA="rgb(105, 105, 105)";function E2I(g){const{ctx:A,solderPaste:I,realToCanvasMat:e}=g;if(I.shape==="polygon")return;const t={x:I.x,y:I.y};if(I.shape==="rect"){H0({ctx:A,center:t,width:I.width,height:I.height,fill:UeA,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){H0({ctx:A,center:t,width:I.width,height:I.height,fill:UeA,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation});return}if(I.shape==="pill"){Yy({ctx:A,center:t,width:I.width,height:I.height,fill:UeA,realToCanvasMat:e});return}if(I.shape==="oval"){OR({ctx:A,center:t,radius_x:I.width/2,radius_y:I.height/2,fill:UeA,realToCanvasMat:e});return}I.shape==="circle"&&Kl({ctx:A,center:t,radius:I.radius,fill:UeA,realToCanvasMat:e})}function zto(g){return typeof g=="function"}function n2I(g,A,I){if(A<=0||I<=0)return null;const e=globalThis;let t=null;if("OffscreenCanvas"in e&&typeof e.OffscreenCanvas=="function")t=new e.OffscreenCanvas(A,I);else if("document"in e&&e.document&&typeof e.document.createElement=="function"){const B=e.document.createElement("canvas");B.width=A,B.height=I,t=B}else{const B=g.canvas.constructor;if(zto(B))try{t=new B(A,I)}catch{return null}}if(!t)return null;const o=t.getContext("2d");return o&&(o.boardOwnerMap=g.boardOwnerMap),o}function Xto(g){return"createPattern"in g&&typeof Reflect.get(g,"createPattern")=="function"}function s2I(g,A){if(g===A||A.canvas.width<=0||A.canvas.height<=0||!Xto(g))return!1;let I=null;try{I=g.createPattern(A.canvas,"no-repeat")}catch{return!1}return I?(g.save(),g.globalCompositeOperation="source-over",g.fillStyle=I,g.fillRect(0,0,A.canvas.width,A.canvas.height),g.restore(),!0):!1}function a2I(g){const{ctx:A,board:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C,outline:Q}=I;if(Q&&Array.isArray(Q)&&Q.length>=3){const i=Q.map(E=>{const[n,s]=lt(e,[E.x,E.y]);return{x:n,y:s}});A.beginPath(),pZ({ctx:A,points:i}),A.fillStyle=t,A.fill()}else if(o!==void 0&&B!==void 0&&C){const[i,E]=lt(e,[C.x,C.y]),n=o*Math.abs(e.a),s=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(i-n/2,E-s/2,n,s)}}function $to(g){const{ctx:A,panel:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C}=I;if(o===void 0||B===void 0||!C)return;const[Q,i]=lt(e,[C.x,C.y]),E=o*Math.abs(e.a),n=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(Q-E/2,i-n/2,E,n)}function vJ(g){g.save(),g.globalCompositeOperation="destination-out",g.fill(),g.restore()}function Aoo(g){const{ctx:A,cutout:I,realToCanvasMat:e}=g;if(I.shape==="rect"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.width*Math.abs(e.a),C=I.height*Math.abs(e.a),Q=(I.corner_radius??0)*Math.abs(e.a);A.save(),A.translate(t,o),I.rotation&&A.rotate(-I.rotation*Math.PI/180),A.beginPath(),WR({ctx:A,cx:0,cy:0,width:B,height:C,radius:Q}),A.restore(),vJ(A)}else if(I.shape==="circle"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.radius*Math.abs(e.a);A.beginPath(),A.arc(t,o,B,0,Math.PI*2),A.closePath(),vJ(A)}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const t=I.points.map(o=>{const[B,C]=lt(e,[o.x,o.y]);return{x:B,y:C}});A.beginPath(),pZ({ctx:A,points:t}),vJ(A)}}var _y="rgba(255, 255, 255, 1)";function Deg(g){const{ctx:A,elements:I,layer:e,realToCanvasMat:t}=g;A.save(),A.globalCompositeOperation="destination-out";for(const o of I){if(o.type==="pcb_smtpad"){if(o.layer!==e||o.is_covered_with_solder_mask===!0)continue;goo({ctx:A,pad:o,realToCanvasMat:t});continue}if(o.type==="pcb_plated_hole"){if(o.layers&&!o.layers.includes(e)||o.is_covered_with_solder_mask===!0)continue;Ioo({ctx:A,hole:o,realToCanvasMat:t});continue}if(o.type==="pcb_via"){if(o.layers&&!o.layers.includes(e))continue;Kl({ctx:A,center:{x:o.x,y:o.y},radius:o.outer_diameter/2,fill:_y,realToCanvasMat:t});continue}if(o.type==="pcb_hole"){if(o.is_covered_with_solder_mask===!0)continue;eoo({ctx:A,hole:o,realToCanvasMat:t})}}A.restore()}function goo(g){const{ctx:A,pad:I,realToCanvasMat:e}=g;if(I.shape==="rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,fill:_y,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,ccwRotationDegrees:I.ccw_rotation??0,fill:_y,realToCanvasMat:e});return}if(I.shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:_y,realToCanvasMat:e});return}if(I.shape==="pill"||I.shape==="rotated_pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,rotation:I.shape==="rotated_pill"?I.ccw_rotation??0:0,fill:_y,realToCanvasMat:e});return}I.shape==="polygon"&&I.points&&I.points.length>=3&&Wx({ctx:A,points:I.points,fill:_y,realToCanvasMat:e})}function Ioo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g;if(I.shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:_y,realToCanvasMat:e});return}if(I.shape==="oval"){OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2,radius_y:I.outer_height/2,rotation:I.ccw_rotation,fill:_y,realToCanvasMat:e});return}if(I.shape==="pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width,height:I.outer_height,rotation:I.ccw_rotation,fill:_y,realToCanvasMat:e});return}if(I.shape==="circular_hole_with_rect_pad"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:_y,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,fill:_y,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:_y,realToCanvasMat:e});return}I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3&&Wx({ctx:A,points:I.pad_outline.map(t=>({x:I.x+t.x,y:I.y+t.y})),fill:_y,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}function eoo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g,t="ccw_rotation"in I&&typeof I.ccw_rotation=="number"?I.ccw_rotation:0;if(I.hole_shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:_y,realToCanvasMat:e});return}if(I.hole_shape==="square"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter,height:I.hole_diameter,ccwRotationDegrees:t,fill:_y,realToCanvasMat:e});return}if(I.hole_shape==="oval"){OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,rotation:t,fill:_y,realToCanvasMat:e});return}if(I.hole_shape==="rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,ccwRotationDegrees:t,fill:_y,realToCanvasMat:e});return}(I.hole_shape==="pill"||I.hole_shape==="rotated_pill")&&Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,rotation:t,fill:_y,realToCanvasMat:e})}function too(g,A,I,e,t){if(Math.abs(t)<1e-10)return null;const o=I-g,B=e-A,C=Math.hypot(o,B);if(C<1e-10)return null;const Q=Math.abs(t)*(C/2),i=C/2,E=(Q*Q+i*i)/(2*Q),n=E-Q,s=(g+I)/2,r=(A+e)/2,a=-B/C,c=o/C,h=t>0?-1:1;return{centerX:s+h*a*n,centerY:r+h*c*n,radius:E}}function deg(g,A,I,e,t,o,B){if(Math.abs(o)<1e-10){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const C=too(A,I,e,t,o);if(!C){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const[Q,i]=lt(B,[A,I]),[E,n]=lt(B,[e,t]),[s,r]=lt(B,[C.centerX,C.centerY]),a=Math.hypot(Q-s,i-r),c=Math.atan2(i-r,Q-s),h=Math.atan2(n-r,E-s),D=B.a*B.d-B.b*B.c<0,d=o>0?!D:D;g.arc(s,r,a,c,h,d)}function r2I(g,A,I){if(A.vertices.length<2)return;if(A.vertices.length===2){const B=A.vertices[0],C=A.vertices[1];if(B&&C&&Math.abs((B.bulge??0)-1)<1e-10&&Math.abs((C.bulge??0)-1)<1e-10){const[Q,i]=lt(I,[B.x,B.y]);g.moveTo(Q,i),deg(g,B.x,B.y,C.x,C.y,1,I),deg(g,C.x,C.y,B.x,B.y,1,I);return}}const e=A.vertices[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=0;B<A.vertices.length;B++){const C=A.vertices[B],Q=A.vertices[(B+1)%A.vertices.length];if(!C||!Q)continue;const i=C.bulge??0;if(Math.abs(i)<1e-10){const[E,n]=lt(I,[Q.x,Q.y]);g.lineTo(E,n)}else deg(g,C.x,C.y,Q.x,Q.y,i,I)}}function ooo(g){const{ctx:A,pour:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o,elements:B}=g;if(I.layer===o&&I.covered_with_solder_mask===!0){if(A.save(),A.fillStyle=t,I.shape==="rect"){const[C,Q]=lt(e,[I.center.x,I.center.y]),i=I.width*Math.abs(e.a),E=I.height*Math.abs(e.a);A.translate(C,Q),I.rotation&&A.rotate(-I.rotation*(Math.PI/180)),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.fill(),A.restore(),Deg({ctx:A,elements:B,layer:o,realToCanvasMat:e});return}if(I.shape==="polygon"){if(I.points&&I.points.length>=3){const C=I.points.map(i=>lt(e,[i.x,i.y])),Q=C[0];if(Q){A.beginPath();const[i,E]=Q;A.moveTo(i,E);for(let n=1;n<C.length;n++){const s=C[n];if(!s)continue;const[r,a]=s;A.lineTo(r,a)}A.closePath(),A.fill(),Deg({ctx:A,elements:B,layer:o,realToCanvasMat:e})}}A.restore();return}if(I.shape==="brep"){if(A.beginPath(),r2I(A,I.brep_shape.outer_ring,e),I.brep_shape.inner_rings)for(const C of I.brep_shape.inner_rings)r2I(A,C,e);A.fill("evenodd"),Deg({ctx:A,elements:B,layer:o,realToCanvasMat:e}),A.restore();return}A.restore()}}function Boo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,phase:B}=g,Q=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(B==="substrate"){Q>0&&(A.fillStyle=o,yeg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),A.fill());return}Q<0?(yeg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),vJ(A),Coo({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:Q})):(yeg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),vJ(A))}function c2I(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function yeg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g,o=c2I(I);if(A.beginPath(),!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))+t*2<=0)){if(I.hole_shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),A.closePath()}else if(I.hole_shape==="square"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-i/2,i,i),A.closePath(),A.restore()}else if(I.hole_shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width/2+t)*Math.abs(e.a),E=(I.hole_height/2+t)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.ellipse(0,0,i,E,0,0,Math.PI*2),A.closePath(),A.restore()}else if(I.hole_shape==="rect"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.closePath(),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),z3({ctx:A,cx:0,cy:0,width:i,height:E}),A.restore()}}}function Coo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o),C=c2I(I);if(A.fillStyle=t,I.hole_shape==="circle"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n);A.save(),A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),s>0&&A.arc(Q,i,s,0,Math.PI*2,!0),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="square"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-E/2,E,E),s>0&&A.rect(-s/2,-s/2,s,s),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="oval"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width/2*Math.abs(e.a),n=I.hole_height/2*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s),a=Math.max(0,n-s);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.ellipse(0,0,E,n,0,0,Math.PI*2),r>0&&a>0&&(A.moveTo(r,0),A.ellipse(0,0,r,a,0,0,Math.PI*2)),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="rect"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s*2),a=Math.max(0,n-s*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-n/2,E,n),r>0&&a>0&&A.rect(-r/2,-a/2,r,a),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),z3({ctx:A,cx:0,cy:0,width:E,height:n});const r=E-s*2,a=n-s*2;r>0&&a>0&&z3({ctx:A,cx:0,cy:0,width:r,height:a}),A.fill("evenodd"),A.restore()}}function Qoo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,layer:B,phase:C}=g;if(I.layers&&!I.layers.includes(B))return;const i=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(C==="substrate"){i>0&&(A.fillStyle=o,weg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),A.fill());return}i<0?(weg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),vJ(A),ioo({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:i})):(weg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),vJ(A))}function weg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g;if(A.beginPath(),!C2I(I,t)){if(I.shape==="circle"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(o,B,C,0,Math.PI*2),A.closePath()}else if(I.shape==="oval"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width/2+t)*Math.abs(e.a),Q=(I.outer_height/2+t)*Math.abs(e.a);A.beginPath(),A.ellipse(o,B,C,Q,-((I.ccw_rotation??0)*Math.PI)/180,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width+t*2)*Math.abs(e.a),Q=(I.outer_height+t*2)*Math.abs(e.a);A.beginPath(),z3({ctx:A,cx:o,cy:B,width:C,height:Q,ccwRotationDegrees:I.ccw_rotation})}else if(I.shape==="circular_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),WR({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),WR({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i})}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),WR({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[o,B]=lt(e,[I.x,I.y]),C=I.pad_outline.map(E=>({x:I.x+E.x,y:I.y+E.y})),i=(t!==0?duA(C,t):C).map(E=>lt(e,E));A.beginPath(),pZ({ctx:A,points:i,cx:o,cy:B,ccwRotationDegrees:I.ccw_rotation})}}}function ioo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o);if(A.fillStyle=t,I.shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_diameter/2*Math.abs(e.a),E=B*Math.abs(e.a),n=Math.max(0,i-E);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),n>0&&A.arc(C,Q,n,0,Math.PI*2,!0),A.fill("evenodd")}else if(I.shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width/2*Math.abs(e.a),E=I.outer_height/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,i-n),r=Math.max(0,E-n),a=-((I.ccw_rotation??0)*Math.PI)/180;if(A.beginPath(),A.ellipse(C,Q,i,E,a,0,Math.PI*2),s>0&&r>0){const c=C+s*Math.cos(a),h=Q+s*Math.sin(a);A.moveTo(c,h),A.ellipse(C,Q,s,r,a,0,Math.PI*2)}A.fill("evenodd")}else if(I.shape==="pill"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width*Math.abs(e.a),E=I.outer_height*Math.abs(e.a),n=B*Math.abs(e.a);A.beginPath(),z3({ctx:A,cx:C,cy:Q,width:i,height:E,ccwRotationDegrees:I.ccw_rotation});const s=i-n*2,r=E-n*2;s>0&&r>0&&z3({ctx:A,cx:C,cy:Q,width:s,height:r,ccwRotationDegrees:I.ccw_rotation}),A.fill("evenodd")}else if(I.shape==="circular_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),WR({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);WR({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),WR({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);WR({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c})}A.fill("evenodd")}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),WR({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);WR({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[C,Q]=lt(e,[I.x,I.y]),i=I.pad_outline.map(n=>({x:I.x+n.x,y:I.y+n.y})),E=duA(i,-B);A.beginPath();for(const n of[i,E])n.length<3||pZ({ctx:A,points:n.map(s=>lt(e,s)),cx:C,cy:Q,ccwRotationDegrees:I.ccw_rotation});A.fill("evenodd")}}function h2I(g){const{ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:o,substrateColor:B,layer:C,phase:Q}=g;if(I.layer!==C)return;const i=I.is_covered_with_solder_mask===!0,E=i?I.soldermask_margin??0:0;let n=E,s=E,r=E,a=E;if(i&&(I.shape==="rect"||I.shape==="rotated_rect")&&(n=I.soldermask_margin_left??E,s=I.soldermask_margin_right??E,r=I.soldermask_margin_top??E,a=I.soldermask_margin_bottom??E),Q==="substrate"){n>=0&&s>=0&&r>=0&&a>=0&&(n>0||s>0||r>0||a>0)&&(A.fillStyle=B,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill());return}i&&n===0&&s===0&&r===0&&a===0?(A.fillStyle=t,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill()):n<0||s<0||r<0||a<0?(A.fillStyle=t,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill(),A.fillStyle=o,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill()):(JeA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),vJ(A))}function JeA(g){const{ctx:A,pad:I,realToCanvasMat:e,ml:t,mr:o,mt:B,mb:C}=g;A.beginPath();const Q=I.shape==="rotated_rect"||I.shape==="rotated_pill"?I.ccw_rotation??0:0;if(I.shape==="rect"||I.shape==="rotated_rect"){const i=I.corner_radius??I.rect_border_radius??0,E=Q*Math.PI/180,n=(o-t)/2,s=(B-C)/2,r=n*Math.cos(E)-s*Math.sin(E),a=n*Math.sin(E)+s*Math.cos(E),[c,h]=lt(e,[I.x+r,I.y+a]),l=(I.width+t+o)*Math.abs(e.a),D=(I.height+B+C)*Math.abs(e.a),d=t||o||B||C?I.soldermask_margin??0:0,y=Math.max(0,i?i+d:0)*Math.abs(e.a);if(l<=0||D<=0)return;A.save(),A.translate(c,h),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),WR({ctx:A,cx:0,cy:0,width:l,height:D,radius:y}),A.restore()}else if(I.shape==="circle"){const i=(t+o+B+C)/4,[E,n]=lt(e,[I.x,I.y]),s=Math.max(0,I.radius+i)*Math.abs(e.a);A.beginPath(),A.arc(E,n,s,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"||I.shape==="rotated_pill"){const i=(t+o)/2,[E,n]=lt(e,[I.x,I.y]),s=(I.width+i*2)*Math.abs(e.a),r=(I.height+i*2)*Math.abs(e.a);if(s<=0||r<=0)return;A.save(),A.translate(E,n),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),z3({ctx:A,cx:0,cy:0,width:s,height:r}),A.restore()}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const i=(t+o+B+C)/4,n=(i!==0?duA(I.points,i):I.points).map(s=>{const[r,a]=lt(e,[s.x,s.y]);return{x:r,y:a}});A.beginPath(),pZ({ctx:A,points:n})}}function l2I(g){return!g||typeof g!="object"?!1:"route_type"in g&&g.route_type==="wire"&&("start_width"in g||"end_width"in g||"width_interpolation_mode"in g)}function ueg(g){const A=[];for(let I=0;I<g.length-1;I++){const e=g[I];if(!l2I(e))continue;const t=g[I+1];if(!t)continue;const o=t.route_type==="through_pad"?t.start:{x:t.x,y:t.y},B=t.route_type==="via"?t.from_layer:t.route_type==="through_pad"?t.start_layer:t.layer;if(!o||B!==e.layer||e.width!==e.start_width)continue;const C={start:{x:e.x,y:e.y},end:o,start_width:e.start_width,end_width:e.end_width,width_interpolation_mode:e.width_interpolation_mode,layer:e.layer,is_inside_copper_pour:!!(e.is_inside_copper_pour&&t.is_inside_copper_pour)};d2I(C)&&A.push(C)}return A}function D2I(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=I.x-A.x,B=I.y-A.y,C=Math.hypot(o,B);if(!d2I(g))return[];const Q=Math.abs(t-e),i=g.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(Q/(.001+Q*1e-6)*(3/8)))),E=-B/C,n=o/C,s=[],r=[];for(let a=0;a<=i;a++){const c=a/i,h=e<=t?c:1-c,D=(g.width_interpolation_mode==="quadratic"?Math.min(e,t)+Q*h*h:e+(t-e)*c)/2,d=A.x+o*c,y=A.y+B*c;s.push({x:d+E*D,y:y+n*D}),r.push({x:d-E*D,y:y-n*D})}return[...s,...r.reverse()]}function d2I(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=Math.hypot(I.x-A.x,I.y-A.y);return!(![A.x,A.y,I.x,I.y,o,e,t].every(Number.isFinite)||o<=0||e<=0||t<=0||g.width_interpolation_mode!=="linear"&&g.width_interpolation_mode!=="quadratic")}function kZ(g,A){const I=Math.hypot(g,A);return I<=Number.EPSILON?{x:0,y:0}:{x:g/I,y:A/I}}function Eoo(g,A){const I=g.length;if(I<2)return{x:1,y:0};if(A<=0){const i=g[1],E=g[0];if(!i||!E)return{x:1,y:0};const n=kZ(i.x-E.x,i.y-E.y);return n.x===0&&n.y===0?{x:1,y:0}:n}if(A>=I-1){const i=g[I-2],E=g[I-1];if(!i||!E)return{x:1,y:0};const n=kZ(E.x-i.x,E.y-i.y);return n.x===0&&n.y===0?{x:1,y:0}:n}const e=g[A-1],t=g[A],o=g[A+1];if(!e||!t||!o)return{x:1,y:0};const B=kZ(t.x-e.x,t.y-e.y),C=kZ(o.x-t.x,o.y-t.y),Q=kZ(B.x+C.x,B.y+C.y);return Q.x===0&&Q.y===0?B.x!==0||B.y!==0?B:C.x!==0||C.y!==0?C:{x:1,y:0}:Q}function y2I(g){const A=[],I=[];for(let e=0;e<g.length;e++){const t=g[e];if(!t)continue;const o=Eoo(g,e),B=kZ(-o.y,o.x),C=t.width/2;A.push({x:t.x+B.x*C,y:t.y+B.y*C}),I.push({x:t.x-B.x*C,y:t.y-B.y*C})}return A.concat(I.reverse())}function Geg(g){const A=[];let I=[],e=null;for(const t of g??[]){if(!t||t.route_type!=="wire"){I.length>=2&&A.push(I),I=[],e=null;continue}const o=t.layer??e;if(!o)continue;const B=t.x,C=t.y;typeof B!="number"||typeof C!="number"||typeof t.width=="number"&&(t.width,e&&o!==e&&(I.length>=2&&A.push(I),I=[]),e=o,I.push(t),l2I(t)&&(I.length>=2&&A.push(I),I=[],e=null))}return I.length>=2&&A.push(I),A}var w2I=1e-6;function u2I(g){const{ctx:A,trace:I,realToCanvasMat:e,vias:t,platedHoles:o,layer:B}=g;if(!I.route||I.route.length===0)return;const C=Geg(I.route);for(const i of ueg(I.route))for(const E of[i.start,i.end])C.push([{route_type:"wire",...E,layer:i.layer,width:i.end_width}]);if(C.length===0)return;const Q=new Map;for(const i of C){const E=i[0]?.layer,n=i[i.length-1];if(!(!E||!n)&&!(B&&E!==B)){for(const s of t){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E)||!G2I(n.x,n.y,s.x,s.y))continue;const r=s.hole_diameter/2;if(r<=0)continue;const a={shape:"circle",x:s.x,y:s.y,radius:r};Q.set(m2I(a),a)}for(const s of o){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E))continue;const r=I2I(s);r&&G2I(n.x,n.y,r.x,r.y)&&Q.set(m2I(r),r)}}}if(Q.size!==0){A.save(),A.globalCompositeOperation="destination-out";for(const i of Q.values()){if(i.shape==="circle"){Kl({ctx:A,center:{x:i.x,y:i.y},radius:i.radius,fill:"#000",realToCanvasMat:e});continue}if(i.shape==="oval"){OR({ctx:A,center:{x:i.x,y:i.y},radius_x:i.radiusX,radius_y:i.radiusY,fill:"#000",realToCanvasMat:e,rotation:i.rotation});continue}Yy({ctx:A,center:{x:i.x,y:i.y},width:i.width,height:i.height,fill:"#000",realToCanvasMat:e,rotation:i.rotation})}A.restore()}}function G2I(g,A,I,e){return Math.abs(g-I)<=w2I&&Math.abs(A-e)<=w2I}function m2I(g){return g.shape==="circle"?`circle:${g.x}:${g.y}:${g.radius}`:g.shape==="oval"?`oval:${g.x}:${g.y}:${g.radiusX}:${g.radiusY}:${g.rotation??0}`:`pill:${g.x}:${g.y}:${g.width}:${g.height}:${g.rotation??0}`}function noo(g){const{ctx:A,trace:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ueg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||Wx({ctx:A,points:D2I(C),fill:t,realToCanvasMat:e});const B=Geg(I.route);for(const C of B)if(C[0]?.layer===o){if(I.route_thickness_mode==="interpolated"){Wx({ctx:A,points:y2I(C),fill:t,realToCanvasMat:e});continue}for(let i=0;i<C.length-1;i++){const E=C[i],n=C[i+1];!E||!n||FeA({ctx:A,start:{x:E.x,y:E.y},end:{x:n.x,y:n.y},strokeWidth:E.width,stroke:t,realToCanvasMat:e,lineCap:"round"})}}u2I({ctx:A,trace:I,realToCanvasMat:e,layer:o,vias:g.vias,platedHoles:g.platedHoles})}function p2I(g){const{ctx:A,via:I,realToCanvasMat:e,layer:t,soldermaskOverCopperColor:o,soldermaskOverHoleColor:B}=g;if(!I.layers.includes(t))return;const C=meg(I,t,A),[Q,i]=lt(e,[I.x,I.y]),E=I.outer_diameter/2*Math.abs(e.a);if(A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),A.closePath(),C){const n=I.hole_diameter/2*Math.abs(e.a);A.moveTo(Q+n,i),A.arc(Q,i,n,0,Math.PI*2),A.closePath(),A.fillStyle=o,A.fill("evenodd"),A.fillStyle=B,A.beginPath(),A.arc(Q,i,n,0,Math.PI*2),A.fill()}else vJ(A)}function meg(g,A,I){let e=I.boardOwnerMap?.get(g.pcb_via_id);!I.boardOwnerMap?.has(g.pcb_via_id)&&g.pcb_trace_id&&(e=I.boardOwnerMap?.get(g.pcb_trace_id));const t=g,o=A==="top"?t.tented_on_top:t.tented_on_bottom,B=A==="top"?e?.default_via_tented_on_top:e?.default_via_tented_on_bottom;return o??t.is_tented??B??!1}function k2I(g){const{ctx:A,realToCanvasMat:I,colorMap:e,layer:t,drawSoldermask:o}=g;let{elements:B}=g;if(!o||A.canvas.width<=0||A.canvas.height<=0)return;const C=B.filter(c=>c.type==="pcb_board"),Q=B.find(c=>c.type==="pcb_panel");C.length===0&&!Q&&(B=B.filter(c=>c.type==="pcb_via"));const i=e.soldermask[t]??e.soldermask.top,E=e.soldermaskOverCopper[t]??e.soldermaskOverCopper.top,n=e.soldermaskOverHole[t]??e.soldermaskOverHole.top,s=B.filter(c=>c.type==="pcb_via"),r=B.filter(c=>c.type==="pcb_plated_hole"),a=n2I(A,A.canvas.width,A.canvas.height)??A;if(Q&&$to({ctx:a,panel:Q,realToCanvasMat:I,soldermaskColor:i}),Q&&C.length>0){a.save(),a.globalCompositeOperation="destination-out";for(const c of C)a2I({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:"#000"});a.restore()}for(const c of C)a2I({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:i});for(const c of B)c.type==="pcb_trace"?noo({ctx:a,trace:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,vias:s,platedHoles:r}):c.type==="pcb_copper_pour"&&ooo({ctx:a,pour:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,elements:B});for(const c of s)meg(c,t,a)&&p2I({ctx:a,via:c,realToCanvasMat:I,layer:t,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n});for(const c of B)M2I({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"substrate"});for(const c of B)c.type==="pcb_smtpad"&&h2I({ctx:a,pad:c,realToCanvasMat:I,soldermaskOverCopperColor:E,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});for(const c of B)c.type!=="pcb_smtpad"&&M2I({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});s2I(A,a)}function M2I(g){const{ctx:A,element:I,realToCanvasMat:e,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o,copperColor:B,substrateColor:C,layer:Q,phase:i}=g;if(I.type==="pcb_smtpad")h2I({ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:B,substrateColor:C,layer:Q,phase:i});else if(I.type==="pcb_plated_hole")Qoo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:Q,phase:i});else if(I.type==="pcb_hole")Boo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,phase:i});else{if(i==="substrate")return;if(I.type==="pcb_via"){if(meg(I,Q,A))return;p2I({ctx:A,via:I,realToCanvasMat:e,layer:Q,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o})}else if(I.type==="pcb_cutout")Aoo({ctx:A,cutout:I,realToCanvasMat:e});else{if(I.type==="pcb_copper_pour")return;if(I.type==="pcb_trace")return}}}function S2I(g,A){return A.copper[g]??A.copper.top}function soo(g){const{ctx:A,trace:I,realToCanvasMat:e,colorMap:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ueg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||Wx({ctx:A,points:D2I(C),fill:S2I(C.layer,t),realToCanvasMat:e});const B=Geg(I.route);for(const C of B){const Q=C[0]?.layer;if(!Q||o&&Q!==o)continue;const i=S2I(Q,t);if(I.route_thickness_mode==="interpolated"){Wx({ctx:A,points:y2I(C),fill:i,realToCanvasMat:e});continue}for(let E=0;E<C.length-1;E++){const n=C[E],s=C[E+1];!n||!s||n.is_inside_copper_pour&&s.is_inside_copper_pour||FeA({ctx:A,start:{x:n.x,y:n.y},end:{x:s.x,y:s.y},strokeWidth:n.width,stroke:i,realToCanvasMat:e,lineCap:"round"})}}u2I({ctx:A,trace:I,realToCanvasMat:e,vias:g.vias??[],platedHoles:g.platedHoles??[],layer:o})}function f2I(g){const{ctx:A,traces:I,copperPours:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,renderLayers:Q}=g;for(const i of roo(I,Q)){const E=e.filter(s=>s.layer===i);if(E.length===0){peg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C});continue}const n=n2I(A,A.canvas.width,A.canvas.height);n&&(peg({ctx:n,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),aoo({ctx:n,copperPours:E,realToCanvasMat:t}),s2I(A,n))||(A.save(),coo({ctx:A,copperPours:E,realToCanvasMat:t}),peg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),A.restore())}}function peg(g){const{ctx:A,traces:I,layer:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}=g;for(const Q of I)soo({ctx:A,trace:Q,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,layer:e})}function aoo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.save(),A.globalCompositeOperation="destination-out",A.fillStyle="#000";for(const t of I)A.beginPath(),reg({ctx:A,pour:t,realToCanvasMat:e}),A.fill(t.shape==="brep"?"evenodd":"nonzero");A.restore()}}function roo(g,A){const I=new Set;for(const e of g)for(const t of e.route??[])t.route_type!=="wire"||!t.layer||A?.length&&!A.includes(`${t.layer}_copper`)||I.add(t.layer);return[...I]}function coo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.beginPath(),A.rect(0,0,A.canvas.width,A.canvas.height);for(const t of I)reg({ctx:A,pour:t,realToCanvasMat:e});A.clip("evenodd")}}function hoo(g,A,I=[]){const e=[...g,...I].filter(C=>C.type==="pcb_via"),t=new Map;for(const C of e){const i=`${A.boardOwnerMap?.get(C.pcb_via_id)?.pcb_board_id??""}:${C.x}:${C.y}`,E=t.get(i)??[];E.push(C),t.set(i,E)}const o=g.filter(C=>C.type==="pcb_trace"),B=[];for(const C of o){const Q=A.boardOwnerMap?.get(C.pcb_trace_id);for(const[i,E]of C.route.entries()){if(E.route_type!=="via")continue;const n=`${Q?.pcb_board_id??""}:${E.x}:${E.y}`,s=t.get(n)??[];if(s.some(c=>c.layers.includes(E.from_layer)&&c.layers.includes(E.to_layer)))continue;const a={type:"pcb_via",pcb_via_id:`${C.pcb_trace_id}_route_via_${i}`,pcb_trace_id:C.pcb_trace_id,subcircuit_id:C.subcircuit_id,pcb_group_id:C.pcb_group_id,x:E.x,y:E.y,layers:[E.from_layer,E.to_layer],hole_diameter:E.hole_diameter??Q?.min_via_hole_diameter??.25,outer_diameter:E.outer_diameter??Q?.min_via_pad_diameter??.6,tented_on_top:E.tented_on_top,tented_on_bottom:E.tented_on_bottom};B.push(a),s.push(a),t.set(n,s)}}return B}function R2I(g){const{ctx:A,via:I,realToCanvasMat:e,colorMap:t,layer:o}=g;o&&!I.layers.includes(o)||(Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:t.copper[o??"top"],realToCanvasMat:e}),A.save(),A.globalCompositeOperation="destination-out",Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e}),A.restore(),Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e}))}function pk(g,A){if(!A.layers||A.layers.length===0)return!0;if(g.type==="pcb_silkscreen_graphic")return A.layers.some(e=>e===`${g.layer}_silkscreen`);const I=OxA(g);return I.length===0?!0:I.some(e=>A.layers.includes(e))}var jw={copper:{top:"rgb(200, 52, 52)",inner1:"rgb(127, 200, 127)",inner2:"rgb(206, 125, 44)",inner3:"rgb(79, 203, 203)",inner4:"rgb(219, 98, 139)",inner5:"rgb(167, 165, 198)",inner6:"rgb(40, 204, 217)",inner7:"rgb(232, 178, 167)",inner8:"rgb(242, 237, 161)",bottom:"rgb(77, 127, 196)"},copperPour:{top:"rgb(230, 95, 95)",bottom:"rgb(122, 162, 222)"},soldermaskWithCopperUnderneath:{top:"rgb(18, 82, 50)",bottom:"rgb(77, 127, 196)"},soldermask:{top:"rgb(12, 55, 33)",bottom:"rgb(12, 55, 33)"},soldermaskOverCopper:{top:"rgb(52, 135, 73)",bottom:"rgb(52, 135, 73)"},soldermaskOverHole:{top:"rgb(26, 68, 37)",bottom:"rgb(26, 68, 37)"},substrate:"rgb(201, 162, 110)",drill:"#FF26E2",silkscreen:{top:"#f2eda1",bottom:"#5da9e9"},boardOutline:"rgba(255, 255, 255, 0.5)",courtyard:{top:"#FF00FF",bottom:"rgb(38, 233, 255)"},keepout:{top:"#FF6B6B",bottom:"#5da9e9"},fabricationNote:"rgba(255, 255, 255, 0.5)"};function loo(g){return!g||g.length===0?"top":(g.find(I=>I.endsWith("_copper"))??g[0]??"top_copper").split("_")[0]}var yuA=(g,A)=>g.layers?.includes(A)??!0,v0=class YTI{ctx;colorMap;realToCanvasMat;constructor(A){if("getContext"in A&&typeof A.getContext=="function"){const I=A.getContext("2d");if(!I)throw new Error("Failed to get 2D rendering context from canvas");this.ctx=I}else this.ctx=A;this.colorMap={...jw},this.realToCanvasMat=deo()}configure(A){A.colorOverrides&&(this.colorMap={...this.colorMap,...A.colorOverrides,copper:{...this.colorMap.copper,...A.colorOverrides.copper},copperPour:{...this.colorMap.copperPour,...A.colorOverrides.copperPour},silkscreen:{...this.colorMap.silkscreen,...A.colorOverrides.silkscreen},soldermask:{...this.colorMap.soldermask,...A.colorOverrides.soldermask},soldermaskWithCopperUnderneath:{...this.colorMap.soldermaskWithCopperUnderneath,...A.colorOverrides.soldermaskWithCopperUnderneath},soldermaskOverCopper:{...this.colorMap.soldermaskOverCopper,...A.colorOverrides.soldermaskOverCopper},soldermaskOverHole:{...this.colorMap.soldermaskOverHole,...A.colorOverrides.soldermaskOverHole}})}setCameraBounds(A){const I=this.ctx.canvas,e=I.width,t=I.height,o=A.maxX-A.minX,B=A.maxY-A.minY,C=e/o,Q=t/B,i=Math.min(C,Q),E=(e-o*i)/2,n=(t-B*i)/2;this.realToCanvasMat=cuA(Ox(E,n),ueo(i,-i),Ox(-A.minX,-A.maxY))}drawElements(A,I={}){this.ctx.boardOwnerMap=ZxA([...I.clipContextElements??[],...A]),A=[...A,...hoo(A,this.ctx,I.clipContextElements)];const e=loo(I.layers),t=A.find(m=>m.type==="pcb_board"),o=A.find(m=>m.type==="pcb_panel");o&&xto({ctx:this.ctx,panel:o,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const B=I.drawBoardMaterial??!1,C=I.drawSoldermask??!1,Q=I.drawSolderPaste??!1,i=I.drawSoldermaskTop!==void 0||I.drawSoldermaskBottom!==void 0,E=I.drawSolderPasteTop!==void 0||I.drawSolderPasteBottom!==void 0,n=C&&(I.drawSoldermaskTop??!i),s=C&&(I.drawSoldermaskBottom??!1),r=Q&&(I.drawSolderPasteTop??!E)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="top"),a=Q&&(I.drawSolderPasteBottom??!1)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="bottom"),c=n||r,h=I.layers?.length?e:void 0,l=m=>!h||yuA(m,h),D=A.filter(m=>pk(m,I)&&m.type==="pcb_via"&&l(m)),d=A.filter(m=>pk(m,I)&&m.type==="pcb_hole"),y=A.filter(m=>pk(m,I)&&m.type==="pcb_plated_hole"&&yuA(m,e)),w=A.filter(m=>pk(m,I)&&m.type==="pcb_cutout"),u=(I.clipContextElements??A).filter(m=>pk(m,I)&&m.type==="pcb_copper_pour"),G=A.filter(m=>pk(m,I)&&m.type==="pcb_trace");t&&Geo({ctx:this.ctx,board:t,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,drawBoardMaterial:B,minBoardOutlineStrokePx:I.minBoardOutlineStrokePx});for(const m of A)pk(m,I)&&m.type==="pcb_copper_pour"&&ZSI({ctx:this.ctx,pour:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A)pk(m,I)&&(m.type==="pcb_smtpad"&&jto({ctx:this.ctx,pad:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,holes:d,platedHoles:y,vias:D,cutouts:w}),m.type==="pcb_copper_text"&&Teo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));if(c){f2I({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)pk(m,I)&&(m.type==="pcb_hole"&&VSI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n}),m.type==="pcb_plated_hole"&&yuA(m,e)&&Q2I({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&l(m)&&R2I({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}))}if(n&&k2I({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"top",drawSoldermask:!0}),r)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="top"||E2I({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)pk(m,I)&&(m.type==="pcb_silkscreen_text"&&Wto({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_rect"&&Tto({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_circle"&&Uto({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_line"&&Kto({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_path"&&bto({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_pill"&&vto({ctx:this.ctx,pill:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_oval"&&Yto({ctx:this.ctx,oval:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_graphic"&&Jto({ctx:this.ctx,graphic:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));c||f2I({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)pk(m,I)&&m.type==="pcb_hole"&&!c&&VSI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n});for(const m of A)pk(m,I)&&(m.type==="pcb_plated_hole"&&!c&&yuA(m,e)&&Q2I({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&!c&&l(m)&&R2I({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}));if(s&&k2I({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"bottom",drawSoldermask:!0}),a)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="bottom"||E2I({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)pk(m,I)&&m.type==="pcb_cutout"&&Xeo({ctx:this.ctx,cutout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A){if(!pk(m,I))continue;m.type==="pcb_keepout"&&mto({ctx:this.ctx,keepout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_text"&&ito({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_rect"&&Cto({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const p=I.showPcbNotes??!0;p&&m.type==="pcb_note_rect"&&fto({realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,ctx:this.ctx,rect:m}),m.type==="pcb_fabrication_note_path"&&Bto({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_path"&&Sto({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_text"&&Nto({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_line"&&Mto({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_dimension"&&kto({ctx:this.ctx,pcbNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_dimension"&&oto({ctx:this.ctx,pcbFabricationNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_circle"&&Oeo({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_rect"&&zeo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_outline"&&Veo({ctx:this.ctx,outline:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap})}if(I.clearDrillHoles&&this.clearDrillHoles(A,e),I.showDebugObjects){const m=new Map;for(const p of A){if(p.type!=="pcb_debug_object")continue;const k=p.shape==="rect"?`${p.center.x}:${p.center.y}:${p.size.width}:${p.size.height}`:void 0,S=k?m.get(k)??0:0;gto({ctx:this.ctx,debugObject:p,realToCanvasMat:this.realToCanvasMat,labelStackIndex:S}),k&&m.set(k,S+1)}}}clearDrillHoles(A,I){const e=A.filter(C=>C.type==="pcb_hole"||C.type==="pcb_plated_hole"||C.type==="pcb_via"||C.type==="pcb_cutout");if(e.length===0)return;const t="rgba(0,0,0,0)",o=new YTI(this.ctx);o.realToCanvasMat=this.realToCanvasMat,o.configure({colorOverrides:{copper:{top:t,bottom:t,inner1:t,inner2:t,inner3:t,inner4:t,inner5:t,inner6:t,inner7:t,inner8:t},drill:"#000"}}),this.ctx.save(),this.ctx.globalCompositeOperation="destination-out";const B=this.ctx.boardOwnerMap;o.drawElements(e,{layers:[`${I}_copper`],showPcbNotes:!1}),this.ctx.boardOwnerMap=B,this.ctx.restore()}},keg={exports:{}},Meg,N2I;function Doo(){return N2I||(N2I=1,Meg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Meg}var Seg={exports:{}},feg,x2I;function doo(){return x2I||(x2I=1,feg=function(A){return!A||typeof A=="string"?!1:A instanceof Array||Array.isArray(A)||A.length>=0&&(A.splice instanceof Function||Object.getOwnPropertyDescriptor(A,A.length-1)&&A.constructor.name!=="String")}),feg}var F2I;function yoo(){if(F2I)return Seg.exports;F2I=1;var g=doo(),A=Array.prototype.concat,I=Array.prototype.slice,e=Seg.exports=function(o){for(var B=[],C=0,Q=o.length;C<Q;C++){var i=o[C];g(i)?B=A.call(B,I.call(i)):B.push(i)}return B};return e.wrap=function(t){return function(){return t(e(arguments))}},Seg.exports}var U2I;function woo(){if(U2I)return keg.exports;U2I=1;var g=Doo(),A=yoo(),I=Object.hasOwnProperty,e=Object.create(null);for(var t in g)I.call(g,t)&&(e[g[t]]=t);var o=keg.exports={to:{},get:{}};o.get=function(Q){var i=Q.substring(0,3).toLowerCase(),E,n;switch(i){case"hsl":E=o.get.hsl(Q),n="hsl";break;case"hwb":E=o.get.hwb(Q),n="hwb";break;default:E=o.get.rgb(Q),n="rgb";break}return E?{model:n,value:E}:null},o.get.rgb=function(Q){if(!Q)return null;var i=/^#([a-f0-9]{3,4})$/i,E=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,n=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,s=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,r=/^(\w+)$/,a=[0,0,0,1],c,h,l;if(c=Q.match(E)){for(l=c[2],c=c[1],h=0;h<3;h++){var D=h*2;a[h]=parseInt(c.slice(D,D+2),16)}l&&(a[3]=parseInt(l,16)/255)}else if(c=Q.match(i)){for(c=c[1],l=c[3],h=0;h<3;h++)a[h]=parseInt(c[h]+c[h],16);l&&(a[3]=parseInt(l+l,16)/255)}else if(c=Q.match(n)){for(h=0;h<3;h++)a[h]=parseInt(c[h+1],0);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else if(c=Q.match(s)){for(h=0;h<3;h++)a[h]=Math.round(parseFloat(c[h+1])*2.55);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else return(c=Q.match(r))?c[1]==="transparent"?[0,0,0,0]:I.call(g,c[1])?(a=g[c[1]],a[3]=1,a):null:null;for(h=0;h<3;h++)a[h]=B(a[h],0,255);return a[3]=B(a[3],0,1),a},o.get.hsl=function(Q){if(!Q)return null;var i=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.get.hwb=function(Q){if(!Q)return null;var i=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.to.hex=function(){var Q=A(arguments);return"#"+C(Q[0])+C(Q[1])+C(Q[2])+(Q[3]<1?C(Math.round(Q[3]*255)):"")},o.to.rgb=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"},o.to.rgb.percent=function(){var Q=A(arguments),i=Math.round(Q[0]/255*100),E=Math.round(Q[1]/255*100),n=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+i+"%, "+E+"%, "+n+"%)":"rgba("+i+"%, "+E+"%, "+n+"%, "+Q[3]+")"},o.to.hsl=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"},o.to.hwb=function(){var Q=A(arguments),i="";return Q.length>=4&&Q[3]!==1&&(i=", "+Q[3]),"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+i+")"},o.to.keyword=function(Q){return e[Q.slice(0,3)]};function B(Q,i,E){return Math.min(Math.max(i,Q),E)}function C(Q){var i=Math.round(Q).toString(16).toUpperCase();return i.length<2?"0"+i:i}return keg.exports}var Reg,J2I;function uoo(){return J2I||(J2I=1,Reg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Reg}var Neg,P2I;function K2I(){if(P2I)return Neg;P2I=1;const g=uoo(),A={};for(const t of Object.keys(g))A[g[t]]=t;const I={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Neg=I;for(const t of Object.keys(I)){if(!("channels"in I[t]))throw new Error("missing channels property: "+t);if(!("labels"in I[t]))throw new Error("missing channel labels property: "+t);if(I[t].labels.length!==I[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:o,labels:B}=I[t];delete I[t].channels,delete I[t].labels,Object.defineProperty(I[t],"channels",{value:o}),Object.defineProperty(I[t],"labels",{value:B})}I.rgb.hsl=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(o,B,C),i=Math.max(o,B,C),E=i-Q;let n,s;i===Q?n=0:o===i?n=(B-C)/E:B===i?n=2+(C-o)/E:C===i&&(n=4+(o-B)/E),n=Math.min(n*60,360),n<0&&(n+=360);const r=(Q+i)/2;return i===Q?s=0:r<=.5?s=E/(i+Q):s=E/(2-i-Q),[n,s*100,r*100]},I.rgb.hsv=function(t){let o,B,C,Q,i;const E=t[0]/255,n=t[1]/255,s=t[2]/255,r=Math.max(E,n,s),a=r-Math.min(E,n,s),c=function(h){return(r-h)/6/a+1/2};return a===0?(Q=0,i=0):(i=a/r,o=c(E),B=c(n),C=c(s),E===r?Q=C-B:n===r?Q=1/3+o-C:s===r&&(Q=2/3+B-o),Q<0?Q+=1:Q>1&&(Q-=1)),[Q*360,i*100,r*100]},I.rgb.hwb=function(t){const o=t[0],B=t[1];let C=t[2];const Q=I.rgb.hsl(t)[0],i=1/255*Math.min(o,Math.min(B,C));return C=1-1/255*Math.max(o,Math.max(B,C)),[Q,i*100,C*100]},I.rgb.cmyk=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(1-o,1-B,1-C),i=(1-o-Q)/(1-Q)||0,E=(1-B-Q)/(1-Q)||0,n=(1-C-Q)/(1-Q)||0;return[i*100,E*100,n*100,Q*100]};function e(t,o){return(t[0]-o[0])**2+(t[1]-o[1])**2+(t[2]-o[2])**2}return I.rgb.keyword=function(t){const o=A[t];if(o)return o;let B=1/0,C;for(const Q of Object.keys(g)){const i=g[Q],E=e(t,i);E<B&&(B=E,C=Q)}return C},I.keyword.rgb=function(t){return g[t]},I.rgb.xyz=function(t){let o=t[0]/255,B=t[1]/255,C=t[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,B=B>.04045?((B+.055)/1.055)**2.4:B/12.92,C=C>.04045?((C+.055)/1.055)**2.4:C/12.92;const Q=o*.4124+B*.3576+C*.1805,i=o*.2126+B*.7152+C*.0722,E=o*.0193+B*.1192+C*.9505;return[Q*100,i*100,E*100]},I.rgb.lab=function(t){const o=I.rgb.xyz(t);let B=o[0],C=o[1],Q=o[2];B/=95.047,C/=100,Q/=108.883,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116,Q=Q>.008856?Q**(1/3):7.787*Q+16/116;const i=116*C-16,E=500*(B-C),n=200*(C-Q);return[i,E,n]},I.hsl.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;let Q,i,E;if(B===0)return E=C*255,[E,E,E];C<.5?Q=C*(1+B):Q=C+B-C*B;const n=2*C-Q,s=[0,0,0];for(let r=0;r<3;r++)i=o+1/3*-(r-1),i<0&&i++,i>1&&i--,6*i<1?E=n+(Q-n)*6*i:2*i<1?E=Q:3*i<2?E=n+(Q-n)*(2/3-i)*6:E=n,s[r]=E*255;return s},I.hsl.hsv=function(t){const o=t[0];let B=t[1]/100,C=t[2]/100,Q=B;const i=Math.max(C,.01);C*=2,B*=C<=1?C:2-C,Q*=i<=1?i:2-i;const E=(C+B)/2,n=C===0?2*Q/(i+Q):2*B/(C+B);return[o,n*100,E*100]},I.hsv.rgb=function(t){const o=t[0]/60,B=t[1]/100;let C=t[2]/100;const Q=Math.floor(o)%6,i=o-Math.floor(o),E=255*C*(1-B),n=255*C*(1-B*i),s=255*C*(1-B*(1-i));switch(C*=255,Q){case 0:return[C,s,E];case 1:return[n,C,E];case 2:return[E,C,s];case 3:return[E,n,C];case 4:return[s,E,C];case 5:return[C,E,n]}},I.hsv.hsl=function(t){const o=t[0],B=t[1]/100,C=t[2]/100,Q=Math.max(C,.01);let i,E;E=(2-B)*C;const n=(2-B)*Q;return i=B*Q,i/=n<=1?n:2-n,i=i||0,E/=2,[o,i*100,E*100]},I.hwb.rgb=function(t){const o=t[0]/360;let B=t[1]/100,C=t[2]/100;const Q=B+C;let i;Q>1&&(B/=Q,C/=Q);const E=Math.floor(6*o),n=1-C;i=6*o-E,(E&1)!==0&&(i=1-i);const s=B+i*(n-B);let r,a,c;switch(E){default:case 6:case 0:r=n,a=s,c=B;break;case 1:r=s,a=n,c=B;break;case 2:r=B,a=n,c=s;break;case 3:r=B,a=s,c=n;break;case 4:r=s,a=B,c=n;break;case 5:r=n,a=B,c=s;break}return[r*255,a*255,c*255]},I.cmyk.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100,Q=t[3]/100,i=1-Math.min(1,o*(1-Q)+Q),E=1-Math.min(1,B*(1-Q)+Q),n=1-Math.min(1,C*(1-Q)+Q);return[i*255,E*255,n*255]},I.xyz.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100;let Q,i,E;return Q=o*3.2406+B*-1.5372+C*-.4986,i=o*-.9689+B*1.8758+C*.0415,E=o*.0557+B*-.204+C*1.057,Q=Q>.0031308?1.055*Q**(1/2.4)-.055:Q*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,Q=Math.min(Math.max(0,Q),1),i=Math.min(Math.max(0,i),1),E=Math.min(Math.max(0,E),1),[Q*255,i*255,E*255]},I.xyz.lab=function(t){let o=t[0],B=t[1],C=t[2];o/=95.047,B/=100,C/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116;const Q=116*B-16,i=500*(o-B),E=200*(B-C);return[Q,i,E]},I.lab.xyz=function(t){const o=t[0],B=t[1],C=t[2];let Q,i,E;i=(o+16)/116,Q=B/500+i,E=i-C/200;const n=i**3,s=Q**3,r=E**3;return i=n>.008856?n:(i-16/116)/7.787,Q=s>.008856?s:(Q-16/116)/7.787,E=r>.008856?r:(E-16/116)/7.787,Q*=95.047,i*=100,E*=108.883,[Q,i,E]},I.lab.lch=function(t){const o=t[0],B=t[1],C=t[2];let Q;Q=Math.atan2(C,B)*360/2/Math.PI,Q<0&&(Q+=360);const E=Math.sqrt(B*B+C*C);return[o,E,Q]},I.lch.lab=function(t){const o=t[0],B=t[1],Q=t[2]/360*2*Math.PI,i=B*Math.cos(Q),E=B*Math.sin(Q);return[o,i,E]},I.rgb.ansi16=function(t,o=null){const[B,C,Q]=t;let i=o===null?I.rgb.hsv(t)[2]:o;if(i=Math.round(i/50),i===0)return 30;let E=30+(Math.round(Q/255)<<2|Math.round(C/255)<<1|Math.round(B/255));return i===2&&(E+=60),E},I.hsv.ansi16=function(t){return I.rgb.ansi16(I.hsv.rgb(t),t[2])},I.rgb.ansi256=function(t){const o=t[0],B=t[1],C=t[2];return o===B&&B===C?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(B/255*5)+Math.round(C/255*5)},I.ansi16.rgb=function(t){let o=t%10;if(o===0||o===7)return t>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const B=(~~(t>50)+1)*.5,C=(o&1)*B*255,Q=(o>>1&1)*B*255,i=(o>>2&1)*B*255;return[C,Q,i]},I.ansi256.rgb=function(t){if(t>=232){const i=(t-232)*10+8;return[i,i,i]}t-=16;let o;const B=Math.floor(t/36)/5*255,C=Math.floor((o=t%36)/6)/5*255,Q=o%6/5*255;return[B,C,Q]},I.rgb.hex=function(t){const B=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(B.length)+B},I.hex.rgb=function(t){const o=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let B=o[0];o[0].length===3&&(B=B.split("").map(n=>n+n).join(""));const C=parseInt(B,16),Q=C>>16&255,i=C>>8&255,E=C&255;return[Q,i,E]},I.rgb.hcg=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.max(Math.max(o,B),C),i=Math.min(Math.min(o,B),C),E=Q-i;let n,s;return E<1?n=i/(1-E):n=0,E<=0?s=0:Q===o?s=(B-C)/E%6:Q===B?s=2+(C-o)/E:s=4+(o-B)/E,s/=6,s%=1,[s*360,E*100,n*100]},I.hsl.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=B<.5?2*o*B:2*o*(1-B);let Q=0;return C<1&&(Q=(B-.5*C)/(1-C)),[t[0],C*100,Q*100]},I.hsv.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=o*B;let Q=0;return C<1&&(Q=(B-C)/(1-C)),[t[0],C*100,Q*100]},I.hcg.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;if(B===0)return[C*255,C*255,C*255];const Q=[0,0,0],i=o%1*6,E=i%1,n=1-E;let s=0;switch(Math.floor(i)){case 0:Q[0]=1,Q[1]=E,Q[2]=0;break;case 1:Q[0]=n,Q[1]=1,Q[2]=0;break;case 2:Q[0]=0,Q[1]=1,Q[2]=E;break;case 3:Q[0]=0,Q[1]=n,Q[2]=1;break;case 4:Q[0]=E,Q[1]=0,Q[2]=1;break;default:Q[0]=1,Q[1]=0,Q[2]=n}return s=(1-B)*C,[(B*Q[0]+s)*255,(B*Q[1]+s)*255,(B*Q[2]+s)*255]},I.hcg.hsv=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);let Q=0;return C>0&&(Q=o/C),[t[0],Q*100,C*100]},I.hcg.hsl=function(t){const o=t[1]/100,C=t[2]/100*(1-o)+.5*o;let Q=0;return C>0&&C<.5?Q=o/(2*C):C>=.5&&C<1&&(Q=o/(2*(1-C))),[t[0],Q*100,C*100]},I.hcg.hwb=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);return[t[0],(C-o)*100,(1-C)*100]},I.hwb.hcg=function(t){const o=t[1]/100,C=1-t[2]/100,Q=C-o;let i=0;return Q<1&&(i=(C-Q)/(1-Q)),[t[0],Q*100,i*100]},I.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},I.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},I.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},I.gray.hsl=function(t){return[0,0,t[0]]},I.gray.hsv=I.gray.hsl,I.gray.hwb=function(t){return[0,100,t[0]]},I.gray.cmyk=function(t){return[0,0,0,t[0]]},I.gray.lab=function(t){return[t[0],0,0]},I.gray.hex=function(t){const o=Math.round(t[0]/100*255)&255,C=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(C.length)+C},I.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},Neg}var xeg,L2I;function Goo(){if(L2I)return xeg;L2I=1;const g=K2I();function A(){const o={},B=Object.keys(g);for(let C=B.length,Q=0;Q<C;Q++)o[B[Q]]={distance:-1,parent:null};return o}function I(o){const B=A(),C=[o];for(B[o].distance=0;C.length;){const Q=C.pop(),i=Object.keys(g[Q]);for(let E=i.length,n=0;n<E;n++){const s=i[n],r=B[s];r.distance===-1&&(r.distance=B[Q].distance+1,r.parent=Q,C.unshift(s))}}return B}function e(o,B){return function(C){return B(o(C))}}function t(o,B){const C=[B[o].parent,o];let Q=g[B[o].parent][o],i=B[o].parent;for(;B[i].parent;)C.unshift(B[i].parent),Q=e(g[B[i].parent][i],Q),i=B[i].parent;return Q.conversion=C,Q}return xeg=function(o){const B=I(o),C={},Q=Object.keys(B);for(let i=Q.length,E=0;E<i;E++){const n=Q[E];B[n].parent!==null&&(C[n]=t(n,B))}return C},xeg}var Feg,Y2I;function moo(){if(Y2I)return Feg;Y2I=1;const g=K2I(),A=Goo(),I={},e=Object.keys(g);function t(B){const C=function(...Q){const i=Q[0];return i==null?i:(i.length>1&&(Q=i),B(Q))};return"conversion"in B&&(C.conversion=B.conversion),C}function o(B){const C=function(...Q){const i=Q[0];if(i==null)return i;i.length>1&&(Q=i);const E=B(Q);if(typeof E=="object")for(let n=E.length,s=0;s<n;s++)E[s]=Math.round(E[s]);return E};return"conversion"in B&&(C.conversion=B.conversion),C}return e.forEach(B=>{I[B]={},Object.defineProperty(I[B],"channels",{value:g[B].channels}),Object.defineProperty(I[B],"labels",{value:g[B].labels});const C=A(B);Object.keys(C).forEach(i=>{const E=C[i];I[B][i]=o(E),I[B][i].raw=t(E)})}),Feg=I,Feg}var Ueg,_2I;function poo(){if(_2I)return Ueg;_2I=1;const g=woo(),A=moo(),I=["keyword","gray","hex"],e={};for(const s of Object.keys(A))e[[...A[s].labels].sort().join("")]=s;const t={};function o(s,r){if(!(this instanceof o))return new o(s,r);if(r&&r in I&&(r=null),r&&!(r in A))throw new Error("Unknown model: "+r);let a,c;if(s==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(s instanceof o)this.model=s.model,this.color=[...s.color],this.valpha=s.valpha;else if(typeof s=="string"){const h=g.get(s);if(h===null)throw new Error("Unable to parse color from string: "+s);this.model=h.model,c=A[this.model].channels,this.color=h.value.slice(0,c),this.valpha=typeof h.value[c]=="number"?h.value[c]:1}else if(s.length>0){this.model=r||"rgb",c=A[this.model].channels;const h=Array.prototype.slice.call(s,0,c);this.color=n(h,c),this.valpha=typeof s[c]=="number"?s[c]:1}else if(typeof s=="number")this.model="rgb",this.color=[s>>16&255,s>>8&255,s&255],this.valpha=1;else{this.valpha=1;const h=Object.keys(s);"alpha"in s&&(h.splice(h.indexOf("alpha"),1),this.valpha=typeof s.alpha=="number"?s.alpha:0);const l=h.sort().join("");if(!(l in e))throw new Error("Unable to parse color from object: "+JSON.stringify(s));this.model=e[l];const{labels:D}=A[this.model],d=[];for(a=0;a<D.length;a++)d.push(s[D[a]]);this.color=n(d)}if(t[this.model])for(c=A[this.model].channels,a=0;a<c;a++){const h=t[this.model][a];h&&(this.color[a]=h(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}o.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(s){let r=this.model in g.to?this:this.rgb();r=r.round(typeof s=="number"?s:1);const a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to[r.model](a)},percentString(s){const r=this.rgb().round(typeof s=="number"?s:1),a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to.rgb.percent(a)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const s={},{channels:r}=A[this.model],{labels:a}=A[this.model];for(let c=0;c<r;c++)s[a[c]]=this.color[c];return this.valpha!==1&&(s.alpha=this.valpha),s},unitArray(){const s=this.rgb().color;return s[0]/=255,s[1]/=255,s[2]/=255,this.valpha!==1&&s.push(this.valpha),s},unitObject(){const s=this.rgb().object();return s.r/=255,s.g/=255,s.b/=255,this.valpha!==1&&(s.alpha=this.valpha),s},round(s){return s=Math.max(s||0,0),new o([...this.color.map(C(s)),this.valpha],this.model)},alpha(s){return s!==void 0?new o([...this.color,Math.max(0,Math.min(1,s))],this.model):this.valpha},red:Q("rgb",0,i(255)),green:Q("rgb",1,i(255)),blue:Q("rgb",2,i(255)),hue:Q(["hsl","hsv","hsl","hwb","hcg"],0,s=>(s%360+360)%360),saturationl:Q("hsl",1,i(100)),lightness:Q("hsl",2,i(100)),saturationv:Q("hsv",1,i(100)),value:Q("hsv",2,i(100)),chroma:Q("hcg",1,i(100)),gray:Q("hcg",2,i(100)),white:Q("hwb",1,i(100)),wblack:Q("hwb",2,i(100)),cyan:Q("cmyk",0,i(100)),magenta:Q("cmyk",1,i(100)),yellow:Q("cmyk",2,i(100)),black:Q("cmyk",3,i(100)),x:Q("xyz",0,i(95.047)),y:Q("xyz",1,i(100)),z:Q("xyz",2,i(108.833)),l:Q("lab",0,i(100)),a:Q("lab",1),b:Q("lab",2),keyword(s){return s!==void 0?new o(s):A[this.model].keyword(this.color)},hex(s){return s!==void 0?new o(s):g.to.hex(this.rgb().round().color)},hexa(s){if(s!==void 0)return new o(s);const r=this.rgb().round().color;let a=Math.round(this.valpha*255).toString(16).toUpperCase();return a.length===1&&(a="0"+a),g.to.hex(r)+a},rgbNumber(){const s=this.rgb().color;return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255},luminosity(){const s=this.rgb().color,r=[];for(const[a,c]of s.entries()){const h=c/255;r[a]=h<=.04045?h/12.92:((h+.055)/1.055)**2.4}return .2126*r[0]+.7152*r[1]+.0722*r[2]},contrast(s){const r=this.luminosity(),a=s.luminosity();return r>a?(r+.05)/(a+.05):(a+.05)/(r+.05)},level(s){const r=this.contrast(s);return r>=7?"AAA":r>=4.5?"AA":""},isDark(){const s=this.rgb().color;return(s[0]*2126+s[1]*7152+s[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const s=this.rgb();for(let r=0;r<3;r++)s.color[r]=255-s.color[r];return s},lighten(s){const r=this.hsl();return r.color[2]+=r.color[2]*s,r},darken(s){const r=this.hsl();return r.color[2]-=r.color[2]*s,r},saturate(s){const r=this.hsl();return r.color[1]+=r.color[1]*s,r},desaturate(s){const r=this.hsl();return r.color[1]-=r.color[1]*s,r},whiten(s){const r=this.hwb();return r.color[1]+=r.color[1]*s,r},blacken(s){const r=this.hwb();return r.color[2]+=r.color[2]*s,r},grayscale(){const s=this.rgb().color,r=s[0]*.3+s[1]*.59+s[2]*.11;return o.rgb(r,r,r)},fade(s){return this.alpha(this.valpha-this.valpha*s)},opaquer(s){return this.alpha(this.valpha+this.valpha*s)},rotate(s){const r=this.hsl();let a=r.color[0];return a=(a+s)%360,a=a<0?360+a:a,r.color[0]=a,r},mix(s,r){if(!s||!s.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof s);const a=s.rgb(),c=this.rgb(),h=r===void 0?.5:r,l=2*h-1,D=a.alpha()-c.alpha(),d=((l*D===-1?l:(l+D)/(1+l*D))+1)/2,y=1-d;return o.rgb(d*a.red()+y*c.red(),d*a.green()+y*c.green(),d*a.blue()+y*c.blue(),a.alpha()*h+c.alpha()*(1-h))}};for(const s of Object.keys(A)){if(I.includes(s))continue;const{channels:r}=A[s];o.prototype[s]=function(...a){return this.model===s?new o(this):a.length>0?new o(a,s):new o([...E(A[this.model][s].raw(this.color)),this.valpha],s)},o[s]=function(...a){let c=a[0];return typeof c=="number"&&(c=n(a,r)),new o(c,s)}}function B(s,r){return Number(s.toFixed(r))}function C(s){return function(r){return B(r,s)}}function Q(s,r,a){s=Array.isArray(s)?s:[s];for(const c of s)(t[c]||(t[c]=[]))[r]=a;return s=s[0],function(c){let h;return c!==void 0?(a&&(c=a(c)),h=this[s](),h.color[r]=c,h):(h=this[s]().color[r],a&&(h=a(h)),h)}}function i(s){return function(r){return Math.max(0,Math.min(s,r))}}function E(s){return Array.isArray(s)?s:[s]}function n(s,r){for(let a=0;a<r;a++)typeof s[a]!="number"&&(s[a]=0);return s}return Ueg=o,Ueg}var koo=poo();const uQ=Fp(koo),Moo=I0g(Xge);var Jeg,b2I;function Soo(){if(b2I)return Jeg;b2I=1;var g=Object.defineProperty,A=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,t=(h,l)=>{for(var D in l)g(h,D,{get:l[D],enumerable:!0})},o=(h,l,D,d)=>{if(l&&typeof l=="object"||typeof l=="function")for(let y of I(l))!e.call(h,y)&&y!==D&&g(h,y,{get:()=>l[y],enumerable:!(d=A(l,y))||d.enumerable});return h},B=h=>o(g({},"__esModule",{value:!0}),h),C={};t(C,{SuperGrid:()=>c,toMMSI:()=>a,toMeterSI:()=>r}),Jeg=B(C);var Q=hM(),i=Moo,E=i0g(),n=(h,l,D)=>{const d=[];if(l<h)for(let y=h;y>=l;y-=Math.abs(D))d.push(y);else for(let y=h;y<=l;y+=Math.abs(D))d.push(y);return d};function s(h,l){return{x:Math.round(l.x/h)*h,y:Math.round(l.y/h)*h}}function r(h,l=1){return h<0?"-"+r(-h):h<1e-6?"0m":h>1e3?Math.floor(h/1e3)+"km":h>1&&l>1?Math.round(h)+"m":h>1&&l<=1?h.toFixed(Math.ceil(-Math.log10(l)))+"m":h<1&&l>=1/1e3?Math.round(h*1e3)+"mm":h<1&&l<1/1e3?(h*1e3).toFixed(Math.ceil(-Math.log10(l*1e3)))+"mm":""}function a(h,l=1){return r(h/1e3,l/1e3)}var c=h=>{var l;const D=(0,Q.useRef)(null),[d,y]=(0,Q.useState)({x:0,y:0}),{majorColor:w="rgba(0,0,0,0.2)",minorColor:u="rgba(0,0,0,0.1)",textColor:G=(l=h.majorColor)!=null?l:"rgba(0,0,0,0.5)",width:m,height:p,screenSpaceCellSize:k=200,stringifyCoord:S=(U,L,_)=>`${r(U,_)}, ${r(L,_)}`}=h,R=Math.ceil(m/k)+2,x=Math.ceil(p/k)+2;(0,Q.useEffect)(()=>{if(!D.current)return;const U=D.current.getContext("2d");if(!U)return;const L=k/10**Math.floor(Math.log10(h.transform.a)),_=h.transform.d<0?-1:1,q=k/10**Math.log10(h.transform.a)/L;function j(hA,nA,cA){const fA=hA;let xA,rA,NA;for(xA=nA.x;xA<=cA.x;xA+=fA)rA=(0,i.applyToPoint)(h.transform,{x:xA,y:nA.y}),NA=(0,i.applyToPoint)(h.transform,{x:xA,y:cA.y}),U.beginPath(),U.moveTo(rA.x,rA.y),U.lineTo(NA.x,NA.y),U.stroke();const RA=n(nA.y,cA.y,fA*_);for(const UA of RA)rA=(0,i.applyToPoint)(h.transform,{x:nA.x,y:UA}),NA=(0,i.applyToPoint)(h.transform,{x:cA.x,y:UA}),U.beginPath(),U.moveTo(rA.x,rA.y),U.lineTo(NA.x,NA.y),U.stroke()}function Z(hA,nA,cA){const fA=hA;let xA;for(xA=nA.x;xA<=cA.x;xA+=fA)for(const rA of n(nA.y,cA.y,fA*_)){const NA=(0,i.applyToPoint)(h.transform,{x:xA,y:rA});U.fillStyle=G,U.font="12px sans-serif",U.fillText(S(xA,rA,hA),NA.x+2,NA.y-2)}}U.clearRect(0,0,m,p);const O=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:0,y:0}),AA={x:Math.floor((O.x-L)/L)*L,y:Math.floor((O.y-L)/L+(_==-1?2:0))*L},tA={x:AA.x+L*R,y:AA.y+L*x*_},QA=L*5,sA={x:Math.floor((O.x-QA)/QA)*QA,y:Math.floor((O.y-QA)/QA+(_==-1?2:0))*QA},DA={x:sA.x+QA*R,y:sA.y+QA*x*_};U.globalAlpha=1,U.strokeStyle=w,j(L,AA,tA),Z(QA,sA,DA),U.globalAlpha=1-q,j(QA/10,sA,DA),U.globalAlpha=1-q,U.strokeStyle=u,j(L/10,AA,tA),U.globalAlpha=Math.max(((1-q)*10-5)/5,0),Z(QA/10,sA,DA),U.globalAlpha=1;const CA=(0,i.applyToPoint)(h.transform,d);U.font="12px sans-serif",U.fillStyle=G,U.fillText(S(d.x,d.y,L),CA.x+2,CA.y-2),U.strokeStyle=w,U.strokeRect(CA.x-5,CA.y-5,10,10)},[D,h.transform,d,m,p]);const N=U=>{if(!D.current)return;const L=k/10/10**Math.floor(Math.log10(h.transform.a)),_=D.current.getBoundingClientRect(),b=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:U.clientX-_.left,y:U.clientY-_.top}),q=s(L,b);y(q)};return(0,E.jsx)("canvas",{onMouseUp:U=>{U.button===1&&N(U)},onDoubleClick:N,ref:D,width:h.width,height:h.height})};return Jeg}var eb=Soo();function foo(g){if(g.sheet)return g.sheet;for(var A=0;A<document.styleSheets.length;A++)if(document.styleSheets[A].ownerNode===g)return document.styleSheets[A]}function Roo(g){var A=document.createElement("style");return A.setAttribute("data-emotion",g.key),g.nonce!==void 0&&A.setAttribute("nonce",g.nonce),A.appendChild(document.createTextNode("")),A.setAttribute("data-s",""),A}var Noo=(function(){function g(I){var e=this;this._insertTag=function(t){var o;e.tags.length===0?e.insertionPoint?o=e.insertionPoint.nextSibling:e.prepend?o=e.container.firstChild:o=e.before:o=e.tags[e.tags.length-1].nextSibling,e.container.insertBefore(t,o),e.tags.push(t)},this.isSpeedy=I.speedy===void 0?!0:I.speedy,this.tags=[],this.ctr=0,this.nonce=I.nonce,this.key=I.key,this.container=I.container,this.prepend=I.prepend,this.insertionPoint=I.insertionPoint,this.before=null}var A=g.prototype;return A.hydrate=function(e){e.forEach(this._insertTag)},A.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(Roo(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var o=foo(t);try{o.insertRule(e,o.cssRules.length)}catch{}}else t.appendChild(document.createTextNode(e));this.ctr++},A.flush=function(){this.tags.forEach(function(e){var t;return(t=e.parentNode)==null?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},g})(),cG="-ms-",wuA="-moz-",ps="-webkit-",H2I="comm",Peg="rule",Keg="decl",xoo="@import",v2I="@keyframes",Foo="@layer",Uoo=Math.abs,uuA=String.fromCharCode,Joo=Object.assign;function Poo(g,A){return zw(g,0)^45?(((A<<2^zw(g,0))<<2^zw(g,1))<<2^zw(g,2))<<2^zw(g,3):0}function q2I(g){return g.trim()}function Koo(g,A){return(g=A.exec(g))?g[0]:g}function ks(g,A,I){return g.replace(A,I)}function Leg(g,A){return g.indexOf(A)}function zw(g,A){return g.charCodeAt(A)|0}function PeA(g,A,I){return g.slice(A,I)}function Vx(g){return g.length}function Yeg(g){return g.length}function GuA(g,A){return A.push(g),g}function Loo(g,A){return g.map(A).join("")}var muA=1,MZ=1,T2I=0,kk=0,KD=0,SZ="";function puA(g,A,I,e,t,o,B){return{value:g,root:A,parent:I,type:e,props:t,children:o,line:muA,column:MZ,length:B,return:""}}function KeA(g,A){return Joo(puA("",null,null,"",null,null,0),g,{length:-g.length},A)}function Yoo(){return KD}function _oo(){return KD=kk>0?zw(SZ,--kk):0,MZ--,KD===10&&(MZ=1,muA--),KD}function rS(){return KD=kk<T2I?zw(SZ,kk++):0,MZ++,KD===10&&(MZ=1,muA++),KD}function jx(){return zw(SZ,kk)}function kuA(){return kk}function LeA(g,A){return PeA(SZ,g,A)}function YeA(g){switch(g){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Z2I(g){return muA=MZ=1,T2I=Vx(SZ=g),kk=0,[]}function O2I(g){return SZ="",g}function MuA(g){return q2I(LeA(kk-1,_eg(g===91?g+2:g===40?g+1:g)))}function boo(g){for(;(KD=jx())&&KD<33;)rS();return YeA(g)>2||YeA(KD)>3?"":" "}function Hoo(g,A){for(;--A&&rS()&&!(KD<48||KD>102||KD>57&&KD<65||KD>70&&KD<97););return LeA(g,kuA()+(A<6&&jx()==32&&rS()==32))}function _eg(g){for(;rS();)switch(KD){case g:return kk;case 34:case 39:g!==34&&g!==39&&_eg(KD);break;case 40:g===41&&_eg(g);break;case 92:rS();break}return kk}function voo(g,A){for(;rS()&&g+KD!==57;)if(g+KD===84&&jx()===47)break;return"/*"+LeA(A,kk-1)+"*"+uuA(g===47?g:rS())}function qoo(g){for(;!YeA(jx());)rS();return LeA(g,kk)}function Too(g){return O2I(SuA("",null,null,null,[""],g=Z2I(g),0,[0],g))}function SuA(g,A,I,e,t,o,B,C,Q){for(var i=0,E=0,n=B,s=0,r=0,a=0,c=1,h=1,l=1,D=0,d="",y=t,w=o,u=e,G=d;h;)switch(a=D,D=rS()){case 40:if(a!=108&&zw(G,n-1)==58){Leg(G+=ks(MuA(D),"&","&\f"),"&\f")!=-1&&(l=-1);break}case 34:case 39:case 91:G+=MuA(D);break;case 9:case 10:case 13:case 32:G+=boo(a);break;case 92:G+=Hoo(kuA()-1,7);continue;case 47:switch(jx()){case 42:case 47:GuA(Zoo(voo(rS(),kuA()),A,I),Q);break;default:G+="/"}break;case 123*c:C[i++]=Vx(G)*l;case 125*c:case 59:case 0:switch(D){case 0:case 125:h=0;case 59+E:l==-1&&(G=ks(G,/\f/g,"")),r>0&&Vx(G)-n&&GuA(r>32?V2I(G+";",e,I,n-1):V2I(ks(G," ","")+";",e,I,n-2),Q);break;case 59:G+=";";default:if(GuA(u=W2I(G,A,I,i,E,t,C,d,y=[],w=[],n),o),D===123)if(E===0)SuA(G,A,u,u,y,o,n,C,w);else switch(s===99&&zw(G,3)===110?100:s){case 100:case 108:case 109:case 115:SuA(g,u,u,e&&GuA(W2I(g,u,u,0,0,t,C,d,t,y=[],n),w),t,w,n,C,e?y:w);break;default:SuA(G,u,u,u,[""],w,0,C,w)}}i=E=r=0,c=l=1,d=G="",n=B;break;case 58:n=1+Vx(G),r=a;default:if(c<1){if(D==123)--c;else if(D==125&&c++==0&&_oo()==125)continue}switch(G+=uuA(D),D*c){case 38:l=E>0?1:(G+="\f",-1);break;case 44:C[i++]=(Vx(G)-1)*l,l=1;break;case 64:jx()===45&&(G+=MuA(rS())),s=jx(),E=n=Vx(d=G+=qoo(kuA())),D++;break;case 45:a===45&&Vx(G)==2&&(c=0)}}return o}function W2I(g,A,I,e,t,o,B,C,Q,i,E){for(var n=t-1,s=t===0?o:[""],r=Yeg(s),a=0,c=0,h=0;a<e;++a)for(var l=0,D=PeA(g,n+1,n=Uoo(c=B[a])),d=g;l<r;++l)(d=q2I(c>0?s[l]+" "+D:ks(D,/&\f/g,s[l])))&&(Q[h++]=d);return puA(g,A,I,t===0?Peg:C,Q,i,E)}function Zoo(g,A,I){return puA(g,A,I,H2I,uuA(Yoo()),PeA(g,2,-2),0)}function V2I(g,A,I,e){return puA(g,A,I,Keg,PeA(g,0,e),PeA(g,e+1,-1),e)}function fZ(g,A){for(var I="",e=Yeg(g),t=0;t<e;t++)I+=A(g[t],t,g,A)||"";return I}function Ooo(g,A,I,e){switch(g.type){case Foo:if(g.children.length)break;case xoo:case Keg:return g.return=g.return||g.value;case H2I:return"";case v2I:return g.return=g.value+"{"+fZ(g.children,e)+"}";case Peg:g.value=g.props.join(",")}return Vx(I=fZ(g.children,e))?g.return=g.value+"{"+I+"}":""}function Woo(g){var A=Yeg(g);return function(I,e,t,o){for(var B="",C=0;C<A;C++)B+=g[C](I,e,t,o)||"";return B}}function Voo(g){return function(A){A.root||(A=A.return)&&g(A)}}function joo(g){var A=Object.create(null);return function(I){return A[I]===void 0&&(A[I]=g(I)),A[I]}}var zoo=function(A,I,e){for(var t=0,o=0;t=o,o=jx(),t===38&&o===12&&(I[e]=1),!YeA(o);)rS();return LeA(A,kk)},Xoo=function(A,I){var e=-1,t=44;do switch(YeA(t)){case 0:t===38&&jx()===12&&(I[e]=1),A[e]+=zoo(kk-1,I,e);break;case 2:A[e]+=MuA(t);break;case 4:if(t===44){A[++e]=jx()===58?"&\f":"",I[e]=A[e].length;break}default:A[e]+=uuA(t)}while(t=rS());return A},$oo=function(A,I){return O2I(Xoo(Z2I(A),I))},j2I=new WeakMap,ABo=function(A){if(!(A.type!=="rule"||!A.parent||A.length<1)){for(var I=A.value,e=A.parent,t=A.column===e.column&&A.line===e.line;e.type!=="rule";)if(e=e.parent,!e)return;if(!(A.props.length===1&&I.charCodeAt(0)!==58&&!j2I.get(e))&&!t){j2I.set(A,!0);for(var o=[],B=$oo(I,o),C=e.props,Q=0,i=0;Q<B.length;Q++)for(var E=0;E<C.length;E++,i++)A.props[i]=o[Q]?B[Q].replace(/&\f/g,C[E]):C[E]+" "+B[Q]}}},gBo=function(A){if(A.type==="decl"){var I=A.value;I.charCodeAt(0)===108&&I.charCodeAt(2)===98&&(A.return="",A.value="")}};function z2I(g,A){switch(Poo(g,A)){case 5103:return ps+"print-"+g+g;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ps+g+g;case 5349:case 4246:case 4810:case 6968:case 2756:return ps+g+wuA+g+cG+g+g;case 6828:case 4268:return ps+g+cG+g+g;case 6165:return ps+g+cG+"flex-"+g+g;case 5187:return ps+g+ks(g,/(\w+).+(:[^]+)/,ps+"box-$1$2"+cG+"flex-$1$2")+g;case 5443:return ps+g+cG+"flex-item-"+ks(g,/flex-|-self/,"")+g;case 4675:return ps+g+cG+"flex-line-pack"+ks(g,/align-content|flex-|-self/,"")+g;case 5548:return ps+g+cG+ks(g,"shrink","negative")+g;case 5292:return ps+g+cG+ks(g,"basis","preferred-size")+g;case 6060:return ps+"box-"+ks(g,"-grow","")+ps+g+cG+ks(g,"grow","positive")+g;case 4554:return ps+ks(g,/([^-])(transform)/g,"$1"+ps+"$2")+g;case 6187:return ks(ks(ks(g,/(zoom-|grab)/,ps+"$1"),/(image-set)/,ps+"$1"),g,"")+g;case 5495:case 3959:return ks(g,/(image-set\([^]*)/,ps+"$1$`$1");case 4968:return ks(ks(g,/(.+:)(flex-)?(.*)/,ps+"box-pack:$3"+cG+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ps+g+g;case 4095:case 3583:case 4068:case 2532:return ks(g,/(.+)-inline(.+)/,ps+"$1$2")+g;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Vx(g)-1-A>6)switch(zw(g,A+1)){case 109:if(zw(g,A+4)!==45)break;case 102:return ks(g,/(.+:)(.+)-([^]+)/,"$1"+ps+"$2-$3$1"+wuA+(zw(g,A+3)==108?"$3":"$2-$3"))+g;case 115:return~Leg(g,"stretch")?z2I(ks(g,"stretch","fill-available"),A)+g:g}break;case 4949:if(zw(g,A+1)!==115)break;case 6444:switch(zw(g,Vx(g)-3-(~Leg(g,"!important")&&10))){case 107:return ks(g,":",":"+ps)+g;case 101:return ks(g,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ps+(zw(g,14)===45?"inline-":"")+"box$3$1"+ps+"$2$3$1"+cG+"$2box$3")+g}break;case 5936:switch(zw(g,A+11)){case 114:return ps+g+cG+ks(g,/[svh]\w+-[tblr]{2}/,"tb")+g;case 108:return ps+g+cG+ks(g,/[svh]\w+-[tblr]{2}/,"tb-rl")+g;case 45:return ps+g+cG+ks(g,/[svh]\w+-[tblr]{2}/,"lr")+g}return ps+g+cG+g+g}return g}var IBo=function(A,I,e,t){if(A.length>-1&&!A.return)switch(A.type){case Keg:A.return=z2I(A.value,A.length);break;case v2I:return fZ([KeA(A,{value:ks(A.value,"@","@"+ps)})],t);case Peg:if(A.length)return Loo(A.props,function(o){switch(Koo(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return fZ([KeA(A,{props:[ks(o,/:(read-\w+)/,":"+wuA+"$1")]})],t);case"::placeholder":return fZ([KeA(A,{props:[ks(o,/:(plac\w+)/,":"+ps+"input-$1")]}),KeA(A,{props:[ks(o,/:(plac\w+)/,":"+wuA+"$1")]}),KeA(A,{props:[ks(o,/:(plac\w+)/,cG+"input-$1")]})],t)}return""})}},eBo=[IBo],tBo=function(A){var I=A.key;if(I==="css"){var e=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(e,function(c){var h=c.getAttribute("data-emotion");h.indexOf(" ")!==-1&&(document.head.appendChild(c),c.setAttribute("data-s",""))})}var t=A.stylisPlugins||eBo,o={},B,C=[];B=A.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+I+' "]'),function(c){for(var h=c.getAttribute("data-emotion").split(" "),l=1;l<h.length;l++)o[h[l]]=!0;C.push(c)});var Q,i=[ABo,gBo];{var E,n=[Ooo,Voo(function(c){E.insert(c)})],s=Woo(i.concat(t,n)),r=function(h){return fZ(Too(h),s)};Q=function(h,l,D,d){E=D,r(h?h+"{"+l.styles+"}":l.styles),d&&(a.inserted[l.name]=!0)}}var a={key:I,sheet:new Noo({key:I,container:B,nonce:A.nonce,speedy:A.speedy,prepend:A.prepend,insertionPoint:A.insertionPoint}),nonce:A.nonce,inserted:o,registered:{},insert:Q};return a.sheet.hydrate(C),a};function oBo(g){for(var A=0,I,e=0,t=g.length;t>=4;++e,t-=4)I=g.charCodeAt(e)&255|(g.charCodeAt(++e)&255)<<8|(g.charCodeAt(++e)&255)<<16|(g.charCodeAt(++e)&255)<<24,I=(I&65535)*1540483477+((I>>>16)*59797<<16),I^=I>>>24,A=(I&65535)*1540483477+((I>>>16)*59797<<16)^(A&65535)*1540483477+((A>>>16)*59797<<16);switch(t){case 3:A^=(g.charCodeAt(e+2)&255)<<16;case 2:A^=(g.charCodeAt(e+1)&255)<<8;case 1:A^=g.charCodeAt(e)&255,A=(A&65535)*1540483477+((A>>>16)*59797<<16)}return A^=A>>>13,A=(A&65535)*1540483477+((A>>>16)*59797<<16),((A^A>>>15)>>>0).toString(36)}var BBo={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},CBo=/[A-Z]|^ms/g,QBo=/_EMO_([^_]+?)_([^]*?)_EMO_/g,X2I=function(A){return A.charCodeAt(1)===45},$2I=function(A){return A!=null&&typeof A!="boolean"},beg=joo(function(g){return X2I(g)?g:g.replace(CBo,"-$&").toLowerCase()}),AfI=function(A,I){switch(A){case"animation":case"animationName":if(typeof I=="string")return I.replace(QBo,function(e,t,o){return $3={name:t,styles:o,next:$3},t})}return BBo[A]!==1&&!X2I(A)&&typeof I=="number"&&I!==0?I+"px":I};function fuA(g,A,I){if(I==null)return"";var e=I;if(e.__emotion_styles!==void 0)return e;switch(typeof I){case"boolean":return"";case"object":{var t=I;if(t.anim===1)return $3={name:t.name,styles:t.styles,next:$3},t.name;var o=I;if(o.styles!==void 0){var B=o.next;if(B!==void 0)for(;B!==void 0;)$3={name:B.name,styles:B.styles,next:$3},B=B.next;var C=o.styles+";";return C}return iBo(g,A,I)}}var Q=I;if(A==null)return Q;var i=A[Q];return i!==void 0?i:Q}function iBo(g,A,I){var e="";if(Array.isArray(I))for(var t=0;t<I.length;t++)e+=fuA(g,A,I[t])+";";else for(var o in I){var B=I[o];if(typeof B!="object"){var C=B;A!=null&&A[C]!==void 0?e+=o+"{"+A[C]+"}":$2I(C)&&(e+=beg(o)+":"+AfI(o,C)+";")}else if(Array.isArray(B)&&typeof B[0]=="string"&&(A==null||A[B[0]]===void 0))for(var Q=0;Q<B.length;Q++)$2I(B[Q])&&(e+=beg(o)+":"+AfI(o,B[Q])+";");else{var i=fuA(g,A,B);switch(o){case"animation":case"animationName":{e+=beg(o)+":"+i+";";break}default:e+=o+"{"+i+"}"}}}return e}var gfI=/label:\s*([^\s;{]+)\s*(;|$)/g,$3;function Heg(g,A,I){if(g.length===1&&typeof g[0]=="object"&&g[0]!==null&&g[0].styles!==void 0)return g[0];var e=!0,t="";$3=void 0;var o=g[0];if(o==null||o.raw===void 0)e=!1,t+=fuA(I,A,o);else{var B=o;t+=B[0]}for(var C=1;C<g.length;C++)if(t+=fuA(I,A,g[C]),e){var Q=o;t+=Q[C]}gfI.lastIndex=0;for(var i="",E;(E=gfI.exec(t))!==null;)i+="-"+E[1];var n=oBo(t)+i;return{name:n,styles:t,next:$3}}function IfI(g,A,I){var e="";return I.split(" ").forEach(function(t){g[t]!==void 0?A.push(g[t]+";"):t&&(e+=t+" ")}),e}var EBo=function(A,I,e){var t=A.key+"-"+I.name;A.registered[t]===void 0&&(A.registered[t]=I.styles)},nBo=function(A,I,e){EBo(A,I);var t=A.key+"-"+I.name;if(A.inserted[I.name]===void 0){var o=I;do A.insert(I===o?"."+t:"",o,A.sheet,!0),o=o.next;while(o!==void 0)}};function efI(g,A){if(g.inserted[A.name]===void 0)return g.insert("",A,g.sheet,!0)}function tfI(g,A,I){var e=[],t=IfI(g,e,I);return e.length<2?I:t+A(e)}var sBo=function(A){var I=tBo(A);I.sheet.speedy=function(C){this.isSpeedy=C},I.compat=!0;var e=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=Heg(i,I.registered,void 0);return nBo(I,n),I.key+"-"+n.name},t=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=Heg(i,I.registered),s="animation-"+n.name;return efI(I,{name:n.name,styles:"@keyframes "+s+"{"+n.styles+"}"}),s},o=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=Heg(i,I.registered);efI(I,n)},B=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];return tfI(I.registered,e,aBo(i))};return{css:e,cx:B,injectGlobal:o,keyframes:t,hydrate:function(Q){Q.forEach(function(i){I.inserted[i]=!0})},flush:function(){I.registered={},I.inserted={},I.sheet.flush()},sheet:I.sheet,cache:I,getRegisteredStyles:IfI.bind(null,I.registered),merge:tfI.bind(null,I.registered,e)}},aBo=function g(A){for(var I="",e=0;e<A.length;e++){var t=A[e];if(t!=null){var o=void 0;switch(typeof t){case"boolean":break;case"object":{if(Array.isArray(t))o=g(t);else{o="";for(var B in t)t[B]&&B&&(o&&(o+=" "),o+=B)}break}default:o=t}o&&(I&&(I+=" "),I+=o)}}return I},rBo=sBo({key:"css"}),RZ=rBo.css,cBo=Object.create,veg=Object.defineProperty,hBo=Object.getOwnPropertyDescriptor,qeg=Object.getOwnPropertyNames,lBo=Object.getPrototypeOf,DBo=Object.prototype.hasOwnProperty,dBo=(g,A)=>function(){return g&&(A=(0,g[qeg(g)[0]])(g=0)),A},Teg=(g,A)=>function(){return A||(0,g[qeg(g)[0]])((A={exports:{}}).exports,A),A.exports},yBo=(g,A)=>{for(var I in A)veg(g,I,{get:A[I],enumerable:!0})},wBo=(g,A,I,e)=>{if(A&&typeof A=="object"||typeof A=="function")for(let t of qeg(A))!DBo.call(g,t)&&t!==I&&veg(g,t,{get:()=>A[t],enumerable:!(e=hBo(A,t))||e.enumerable});return g},ofI=(g,A,I)=>(I=g!=null?cBo(lBo(g)):{},wBo(A||!g||!g.__esModule?veg(I,"default",{value:g,enumerable:!0}):I,g)),uBo=Teg({"node_modules/toggle-selection/index.js"(g,A){A.exports=function(){var I=document.getSelection();if(!I.rangeCount)return function(){};for(var e=document.activeElement,t=[],o=0;o<I.rangeCount;o++)t.push(I.getRangeAt(o));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return I.removeAllRanges(),function(){I.type==="Caret"&&I.removeAllRanges(),I.rangeCount||t.forEach(function(B){I.addRange(B)}),e&&e.focus()}}}}),GBo=Teg({"node_modules/copy-to-clipboard/index.js"(g,A){var I=uBo(),e={"text/plain":"Text","text/html":"Url",default:"Text"},t="Copy to clipboard: #{key}, Enter";function o(C){var Q=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return C.replace(/#{\s*key\s*}/g,Q)}function B(C,Q){var i,E,n,s,r,a,c=!1;Q||(Q={}),i=Q.debug||!1;try{n=I(),s=document.createRange(),r=document.getSelection(),a=document.createElement("span"),a.textContent=C,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(l){if(l.stopPropagation(),Q.format)if(l.preventDefault(),typeof l.clipboardData>"u"){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var D=e[Q.format]||e.default;window.clipboardData.setData(D,C)}else l.clipboardData.clearData(),l.clipboardData.setData(Q.format,C);Q.onCopy&&(l.preventDefault(),Q.onCopy(l.clipboardData))}),document.body.appendChild(a),s.selectNodeContents(a),r.addRange(s);var h=document.execCommand("copy");if(!h)throw new Error("copy command was unsuccessful");c=!0}catch(l){i&&console.error("unable to copy using execCommand: ",l),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(Q.format||"text",C),Q.onCopy&&Q.onCopy(window.clipboardData),c=!0}catch(D){i&&console.error("unable to copy using clipboardData: ",D),i&&console.error("falling back to prompt"),E=o("message"in Q?Q.message:t),window.prompt(E,C)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(s):r.removeAllRanges()),a&&document.body.removeChild(a),n()}return c}A.exports=B}}),mBo=Teg({"node_modules/svgson/dist/svgson.umd.js"(g,A){(function(I,e){typeof g=="object"&&typeof A<"u"?A.exports=e():typeof define=="function"&&define.amd?define(e):(I=typeof globalThis<"u"?globalThis:I||self,I.svgson=e())})(g,function(){var I=function(Z){return Z!=null&&(e(Z)||t(Z)||!!Z._isBuffer)};function e(Z){return!!Z.constructor&&typeof Z.constructor.isBuffer=="function"&&Z.constructor.isBuffer(Z)}function t(Z){return typeof Z.readFloatLE=="function"&&typeof Z.slice=="function"&&e(Z.slice(0,0))}var o=Object.prototype.toString,B=function(O){if(typeof O>"u")return"undefined";if(O===null)return"null";if(O===!0||O===!1||O instanceof Boolean)return"boolean";if(typeof O=="string"||O instanceof String)return"string";if(typeof O=="number"||O instanceof Number)return"number";if(typeof O=="function"||O instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(O))return"array";if(O instanceof RegExp)return"regexp";if(O instanceof Date)return"date";var AA=o.call(O);return AA==="[object RegExp]"?"regexp":AA==="[object Date]"?"date":AA==="[object Arguments]"?"arguments":AA==="[object Error]"?"error":I(O)?"buffer":AA==="[object Set]"?"set":AA==="[object WeakSet]"?"weakset":AA==="[object Map]"?"map":AA==="[object WeakMap]"?"weakmap":AA==="[object Symbol]"?"symbol":AA==="[object Int8Array]"?"int8array":AA==="[object Uint8Array]"?"uint8array":AA==="[object Uint8ClampedArray]"?"uint8clampedarray":AA==="[object Int16Array]"?"int16array":AA==="[object Uint16Array]"?"uint16array":AA==="[object Int32Array]"?"int32array":AA==="[object Uint32Array]"?"uint32array":AA==="[object Float32Array]"?"float32array":AA==="[object Float64Array]"?"float64array":"object"};function C(Z,O){return O={exports:{}},Z(O,O.exports),O.exports}var Q=C(function(Z){(function(){function O(AA,tA){if(typeof tA!="function")return AA;var eA={};for(var QA in AA)Object.prototype.hasOwnProperty.call(AA,QA)&&(eA[tA(QA,AA[QA])||QA]=AA[QA]);return eA}Z.exports?Z.exports=O:window.rename=O})()}),i=function Z(O,AA){var tA=B(O);if(tA!=="object"&&tA!=="array")throw new Error("expected an object");var eA=[];tA==="object"&&(O=Q(O,AA),eA={});for(var QA in O)if(O.hasOwnProperty(QA)){var sA=O[QA];B(sA)==="object"||B(sA)==="array"?eA[QA]=Z(sA,AA):eA[QA]=sA}return eA},E=C(function(Z){var O=Object.prototype.hasOwnProperty,AA="~";function tA(){}Object.create&&(tA.prototype=Object.create(null),new tA().__proto__||(AA=!1));function eA(sA,DA,CA){this.fn=sA,this.context=DA,this.once=CA||!1}function QA(){this._events=new tA,this._eventsCount=0}QA.prototype.eventNames=function(){var DA=[],CA,hA;if(this._eventsCount===0)return DA;for(hA in CA=this._events)O.call(CA,hA)&&DA.push(AA?hA.slice(1):hA);return Object.getOwnPropertySymbols?DA.concat(Object.getOwnPropertySymbols(CA)):DA},QA.prototype.listeners=function(DA,CA){var hA=AA?AA+DA:DA,nA=this._events[hA];if(CA)return!!nA;if(!nA)return[];if(nA.fn)return[nA.fn];for(var cA=0,fA=nA.length,xA=new Array(fA);cA<fA;cA++)xA[cA]=nA[cA].fn;return xA},QA.prototype.emit=function(DA,CA,hA,nA,cA,fA){var xA=AA?AA+DA:DA;if(!this._events[xA])return!1;var rA=this._events[xA],NA=arguments.length,RA,UA;if(rA.fn){switch(rA.once&&this.removeListener(DA,rA.fn,void 0,!0),NA){case 1:return rA.fn.call(rA.context),!0;case 2:return rA.fn.call(rA.context,CA),!0;case 3:return rA.fn.call(rA.context,CA,hA),!0;case 4:return rA.fn.call(rA.context,CA,hA,nA),!0;case 5:return rA.fn.call(rA.context,CA,hA,nA,cA),!0;case 6:return rA.fn.call(rA.context,CA,hA,nA,cA,fA),!0}for(UA=1,RA=new Array(NA-1);UA<NA;UA++)RA[UA-1]=arguments[UA];rA.fn.apply(rA.context,RA)}else{var qA=rA.length,KA;for(UA=0;UA<qA;UA++)switch(rA[UA].once&&this.removeListener(DA,rA[UA].fn,void 0,!0),NA){case 1:rA[UA].fn.call(rA[UA].context);break;case 2:rA[UA].fn.call(rA[UA].context,CA);break;case 3:rA[UA].fn.call(rA[UA].context,CA,hA);break;case 4:rA[UA].fn.call(rA[UA].context,CA,hA,nA);break;default:if(!RA)for(KA=1,RA=new Array(NA-1);KA<NA;KA++)RA[KA-1]=arguments[KA];rA[UA].fn.apply(rA[UA].context,RA)}}return!0},QA.prototype.on=function(DA,CA,hA){var nA=new eA(CA,hA||this),cA=AA?AA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],nA]:this._events[cA].push(nA):(this._events[cA]=nA,this._eventsCount++),this},QA.prototype.once=function(DA,CA,hA){var nA=new eA(CA,hA||this,!0),cA=AA?AA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],nA]:this._events[cA].push(nA):(this._events[cA]=nA,this._eventsCount++),this},QA.prototype.removeListener=function(DA,CA,hA,nA){var cA=AA?AA+DA:DA;if(!this._events[cA])return this;if(!CA)return--this._eventsCount===0?this._events=new tA:delete this._events[cA],this;var fA=this._events[cA];if(fA.fn)fA.fn===CA&&(!nA||fA.once)&&(!hA||fA.context===hA)&&(--this._eventsCount===0?this._events=new tA:delete this._events[cA]);else{for(var xA=0,rA=[],NA=fA.length;xA<NA;xA++)(fA[xA].fn!==CA||nA&&!fA[xA].once||hA&&fA[xA].context!==hA)&&rA.push(fA[xA]);rA.length?this._events[cA]=rA.length===1?rA[0]:rA:--this._eventsCount===0?this._events=new tA:delete this._events[cA]}return this},QA.prototype.removeAllListeners=function(DA){var CA;return DA?(CA=AA?AA+DA:DA,this._events[CA]&&(--this._eventsCount===0?this._events=new tA:delete this._events[CA])):(this._events=new tA,this._eventsCount=0),this},QA.prototype.off=QA.prototype.removeListener,QA.prototype.addListener=QA.prototype.on,QA.prototype.setMaxListeners=function(){return this},QA.prefixed=AA,QA.EventEmitter=QA,Z.exports=QA});function n(Z,O,AA){return O in Z?Object.defineProperty(Z,O,{value:AA,enumerable:!0,configurable:!0,writable:!0}):Z[O]=AA,Z}var s=function(){},r={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},a={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},c={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},h={" ":a.space," ":a.space,"\n":a.space,"\r":a.space,"<":a.lt,">":a.gt,'"':a.quote,"'":a.quote,"=":a.equal,"/":a.slash},l=function(O){return h[O]||a.char},D=function(O){var AA,tA,eA,QA,sA,DA,CA,hA,nA,cA;O=Object.assign({debug:!1},O);var fA=new E,xA=r.data,rA="",NA="",RA="",UA="",qA="",KA="",mA=function(bA,WA){if(!(NA[0]==="?"||NA[0]==="!")){var Eg={type:bA,value:WA};O.debug&&console.log("emit:",Eg),fA.emit("data",Eg)}};fA.stateMachine=(cA={},n(cA,r.data,(AA={},n(AA,a.lt,function(){rA.trim()&&mA(c.text,rA),NA="",qA=!1,xA=r.tagBegin}),n(AA,a.char,function(dA){rA+=dA}),AA)),n(cA,r.cdata,n({},a.char,function(dA){rA+=dA,rA.substr(-3)==="]]>"&&(mA(c.text,rA.slice(0,-3)),rA="",xA=r.data)})),n(cA,r.tagBegin,(tA={},n(tA,a.space,s),n(tA,a.char,function(dA){NA=dA,xA=r.tagName}),n(tA,a.slash,function(){NA="",qA=!0}),tA)),n(cA,r.tagName,(eA={},n(eA,a.space,function(){qA?xA=r.tagEnd:(xA=r.attributeNameStart,mA(c.openTag,NA))}),n(eA,a.gt,function(){mA(qA?c.closeTag:c.openTag,NA),rA="",xA=r.data}),n(eA,a.slash,function(){xA=r.tagEnd,mA(c.openTag,NA)}),n(eA,a.char,function(dA){NA+=dA,NA==="![CDATA["&&(xA=r.cdata,rA="",NA="")}),eA)),n(cA,r.tagEnd,(QA={},n(QA,a.gt,function(){mA(c.closeTag,NA),rA="",xA=r.data}),n(QA,a.char,s),QA)),n(cA,r.attributeNameStart,(sA={},n(sA,a.char,function(dA){RA=dA,xA=r.attributeName}),n(sA,a.gt,function(){rA="",xA=r.data}),n(sA,a.space,s),n(sA,a.slash,function(){qA=!0,xA=r.tagEnd}),sA)),n(cA,r.attributeName,(DA={},n(DA,a.space,function(){xA=r.attributeNameEnd}),n(DA,a.equal,function(){mA(c.attributeName,RA),xA=r.attributeValueBegin}),n(DA,a.gt,function(){UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),rA="",xA=r.data}),n(DA,a.slash,function(){qA=!0,UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),xA=r.tagEnd}),n(DA,a.char,function(dA){RA+=dA}),DA)),n(cA,r.attributeNameEnd,(CA={},n(CA,a.space,s),n(CA,a.equal,function(){mA(c.attributeName,RA),xA=r.attributeValueBegin}),n(CA,a.gt,function(){UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),rA="",xA=r.data}),n(CA,a.char,function(dA){UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),RA=dA,xA=r.attributeName}),CA)),n(cA,r.attributeValueBegin,(hA={},n(hA,a.space,s),n(hA,a.quote,function(dA){KA=dA,UA="",xA=r.attributeValue}),n(hA,a.gt,function(){UA="",mA(c.attributeValue,UA),rA="",xA=r.data}),n(hA,a.char,function(dA){KA="",UA=dA,xA=r.attributeValue}),hA)),n(cA,r.attributeValue,(nA={},n(nA,a.space,function(dA){KA?UA+=dA:(mA(c.attributeValue,UA),xA=r.attributeNameStart)}),n(nA,a.quote,function(dA){KA===dA?(mA(c.attributeValue,UA),xA=r.attributeNameStart):UA+=dA}),n(nA,a.gt,function(dA){KA?UA+=dA:(mA(c.attributeValue,UA),rA="",xA=r.data)}),n(nA,a.slash,function(dA){KA?UA+=dA:(mA(c.attributeValue,UA),qA=!0,xA=r.tagEnd)}),n(nA,a.char,function(dA){UA+=dA}),nA)),cA);var YA=function(bA){O.debug&&console.log(xA,bA);var WA=fA.stateMachine[xA],Eg=WA[l(bA)]||WA[a.error]||WA[a.char];Eg(bA)};return fA.write=function(dA){for(var bA=dA.length,WA=0;WA<bA;WA++)YA(dA[WA])},fA},d={State:r,Action:a,Type:c,create:D},y=d.Type,w={element:"element",text:"text"},u=function(O){return Object.assign({name:"",type:w.element,value:"",parent:null,attributes:{},children:[]},O)},G=function(O){O=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},O);var AA=void 0,tA=void 0,eA=void 0,QA=void 0,sA=new E,DA=function(hA){switch(hA.type){case y.openTag:if(eA===null)eA=tA,eA.name=hA.value;else{var nA=u({name:hA.value,parent:eA});eA.children.push(nA),eA=nA}break;case y.closeTag:var cA=eA.parent;if(O.parentNodes||(eA.parent=null),eA.name!==hA.value)break;O.stream&&cA===tA&&(tA.children=[],eA.parent=null),(!O.emitTopLevelOnly||cA===tA)&&(sA.emit(O.tagPrefix+eA.name,eA),sA.emit("tag",eA.name,eA)),eA===tA&&(AA.removeAllListeners("data"),sA.emit(O.doneEvent,eA),tA=null),eA=cA;break;case y.text:eA&&eA.children.push(u({type:w.text,value:hA.value,parent:O.parentNodes?eA:null}));break;case y.attributeName:QA=hA.value,eA.attributes[QA]="";break;case y.attributeValue:eA.attributes[QA]=hA.value;break}};return sA.reset=function(){AA=d.create({debug:O.debug}),AA.on("data",DA),tA=u(),eA=null,QA="",sA.parse=AA.write},sA.reset(),sA},m=function(O,AA){AA=Object.assign({},AA,{stream:!1,tagPrefix:":"});var tA=G(AA),eA=void 0;return tA.on("done",function(QA){eA=QA}),tA.parse(O),eA},p={parseSync:m},k=p.parseSync,S=function(O){var AA=k("<root>".concat(O,"</root>"),{parentNodes:!1}),tA=AA.children&&AA.children.length>0&&AA.children.every(function(eA){return eA.name==="svg"});if(tA)return AA.children.length===1?AA.children[0]:AA.children;throw Error("nothing to parse")},R=function(O){return i(O,function(AA){return N(AA)?AA:x(AA)})},x=function(O){return O.replace(/[-|:]([a-z])/gi,function(AA,tA){return tA.toUpperCase()})},N=function(O){return/^(data|aria)(-\w+)/.test(O)},U=function(O){if(O){var AA=String(O);return/[&<>]/.test(AA)?"<![CDATA[".concat(AA.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):AA}return""},L=function(O){return String(O).replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},_=function(O){var AA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=AA.transformNode,eA=tA===void 0?function(CA){return CA}:tA,QA=AA.camelcase,sA=QA===void 0?!1:QA,DA=function(hA){var nA;return nA=eA(hA),sA&&(nA=R(nA)),nA};return DA(S(O))};function b(){for(var Z=arguments.length,O=new Array(Z),AA=0;AA<Z;AA++)O[AA]=arguments[AA];return new Promise(function(tA,eA){try{var QA=_.apply(void 0,O);tA(QA)}catch(sA){eA(sA)}})}var q=function Z(O){var AA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=AA.transformAttr,eA=tA===void 0?function(xA,rA,NA){return"".concat(xA,'="').concat(NA(rA),'"')}:tA,QA=AA.transformNode,sA=QA===void 0?function(xA){return xA}:QA,DA=AA.selfClose,CA=DA===void 0?!0:DA;if(Array.isArray(O))return O.map(function(xA){return Z(xA,{transformAttr:eA,selfClose:CA,transformNode:sA})}).join("");var hA=sA(O);if(hA.type==="text")return U(hA.value);var nA="";for(var cA in hA.attributes){var fA=eA(cA,hA.attributes[cA],L,hA.name);nA+=fA?" ".concat(fA):""}return hA.children&&hA.children.length>0||!CA?"<".concat(hA.name).concat(nA,">").concat(Z(hA.children,{transformAttr:eA,transformNode:sA,selfClose:CA}),"</").concat(hA.name,">"):"<".concat(hA.name).concat(nA,"/>")},j=Object.assign({},{parse:b,parseSync:_,stringify:q});return j})}}),BfI={};yBo(BfI,{default:()=>pBo});function pBo(){const g=URL.createObjectURL(new Blob(['"use strict";(()=>{var n4=Object.create;var W0=Object.defineProperty;var r4=Object.getOwnPropertyDescriptor;var i4=Object.getOwnPropertyNames;var o4=Object.getPrototypeOf,s4=Object.prototype.hasOwnProperty;var l4=(y,x,e)=>x in y?W0(y,x,{enumerable:!0,configurable:!0,writable:!0,value:e}):y[x]=e;var a4=(y,x)=>()=>(x||y((x={exports:{}}).exports,x),x.exports);var c4=(y,x,e,r)=>{if(x&&typeof x=="object"||typeof x=="function")for(let o of i4(x))!s4.call(y,o)&&o!==e&&W0(y,o,{get:()=>x[o],enumerable:!(r=r4(x,o))||r.enumerable});return y};var u4=(y,x,e)=>(e=y!=null?n4(o4(y)):{},c4(x||!y||!y.__esModule?W0(e,"default",{value:y,enumerable:!0}):e,y));var U=(y,x,e)=>l4(y,typeof x!="symbol"?x+"":x,e);var L5=a4((V0,X0)=>{"use strict";(function(y,x){typeof V0=="object"&&typeof X0<"u"?X0.exports=x():typeof define=="function"&&define.amd?define(x):(y=typeof globalThis<"u"?globalThis:y||self,y.polygonClipping=x())})(V0,function(){"use strict";function y(u,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,l,s,g;return g={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function h(d){return function(A){return m([d,A])}}function m(d){if(i)throw new TypeError("Generator is already executing.");for(;n;)try{if(i=1,l&&(s=d[0]&2?l.return:d[0]?l.throw||((s=l.return)&&s.call(l),0):l.next)&&!(s=s.call(l,d[1])).done)return s;switch(l=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,l=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=t.call(u,n)}catch(A){d=[6,A],l=0}finally{i=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var x=function(){function u(t,n){this.next=null,this.key=t,this.data=n,this.left=null,this.right=null}return u}();function e(u,t){return u>t?1:u<t?-1:0}function r(u,t,n){for(var i=new x(null,null),l=i,s=i;;){var g=n(u,t.key);if(g<0){if(t.left===null)break;if(n(u,t.left.key)<0){var h=t.left;if(t.left=h.right,h.right=t,t=h,t.left===null)break}s.left=t,s=t,t=t.left}else if(g>0){if(t.right===null)break;if(n(u,t.right.key)>0){var h=t.right;if(t.right=h.left,h.left=t,t=h,t.right===null)break}l.right=t,l=t,t=t.right}else break}return l.right=t.left,s.left=t.right,t.left=i.right,t.right=i.left,t}function o(u,t,n,i){var l=new x(u,t);if(n===null)return l.left=l.right=null,l;n=r(u,n,i);var s=i(u,n.key);return s<0?(l.left=n.left,l.right=n,n.left=null):s>=0&&(l.right=n.right,l.left=n,n.right=null),l}function a(u,t,n){var i=null,l=null;if(t){t=r(u,t,n);var s=n(t.key,u);s===0?(i=t.left,l=t.right):s<0?(l=t.right,t.right=null,i=t):(i=t.left,t.left=null,l=t)}return{left:i,right:l}}function c(u,t,n){return t===null?u:(u===null||(t=r(u.key,t,n),t.left=u),t)}function p(u,t,n,i,l){if(u){i(""+t+(n?"\\u2514\\u2500\\u2500 ":"\\u251C\\u2500\\u2500 ")+l(u)+`\n`);var s=t+(n?" ":"\\u2502 ");u.left&&p(u.left,s,!1,i,l),u.right&&p(u.right,s,!0,i,l)}}var L=function(){function u(t){t===void 0&&(t=e),this._root=null,this._size=0,this._comparator=t}return u.prototype.insert=function(t,n){return this._size++,this._root=o(t,n,this._root,this._comparator)},u.prototype.add=function(t,n){var i=new x(t,n);this._root===null&&(i.left=i.right=null,this._size++,this._root=i);var l=this._comparator,s=r(t,this._root,l),g=l(t,s.key);return g===0?this._root=s:(g<0?(i.left=s.left,i.right=s,s.left=null):g>0&&(i.right=s.right,i.left=s,s.right=null),this._size++,this._root=i),this._root},u.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},u.prototype._remove=function(t,n,i){var l;if(n===null)return null;n=r(t,n,i);var s=i(t,n.key);return s===0?(n.left===null?l=n.right:(l=r(t,n.left,i),l.right=n.right),this._size--,l):n},u.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=r(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},u.prototype.findStatic=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return n;l<0?n=n.left:n=n.right}return null},u.prototype.find=function(t){return this._root&&(this._root=r(t,this._root,this._comparator),this._comparator(t,this._root.key)!==0)?null:this._root},u.prototype.contains=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return!0;l<0?n=n.left:n=n.right}return!1},u.prototype.forEach=function(t,n){for(var i=this._root,l=[],s=!1;!s;)i!==null?(l.push(i),i=i.left):l.length!==0?(i=l.pop(),t.call(n,i),i=i.right):s=!0;return this},u.prototype.range=function(t,n,i,l){for(var s=[],g=this._comparator,h=this._root,m;s.length!==0||h;)if(h)s.push(h),h=h.left;else{if(h=s.pop(),m=g(h.key,n),m>0)break;if(g(h.key,t)>=0&&i.call(l,h))return this;h=h.right}return this},u.prototype.keys=function(){var t=[];return this.forEach(function(n){var i=n.key;return t.push(i)}),t},u.prototype.values=function(){var t=[];return this.forEach(function(n){var i=n.data;return t.push(i)}),t},u.prototype.min=function(){return this._root?this.minNode(this._root).key:null},u.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},u.prototype.minNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.left;)t=t.left;return t},u.prototype.maxNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.right;)t=t.right;return t},u.prototype.at=function(t){for(var n=this._root,i=!1,l=0,s=[];!i;)if(n)s.push(n),n=n.left;else if(s.length>0){if(n=s.pop(),l===t)return n;l++,n=n.right}else i=!0;return null},u.prototype.next=function(t){var n=this._root,i=null;if(t.right){for(i=t.right;i.left;)i=i.left;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?(i=n,n=n.left):n=n.right}return i},u.prototype.prev=function(t){var n=this._root,i=null;if(t.left!==null){for(i=t.left;i.right;)i=i.right;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?n=n.left:(i=n,n=n.right)}return i},u.prototype.clear=function(){return this._root=null,this._size=0,this},u.prototype.toList=function(){return I(this._root)},u.prototype.load=function(t,n,i){n===void 0&&(n=[]),i===void 0&&(i=!1);var l=t.length,s=this._comparator;if(i&&w(t,n,0,l-1,s),this._root===null)this._root=b(t,n,0,l),this._size=l;else{var g=M(this.toList(),T(t,n),s);l=this._size+l,this._root=C({head:g},0,l)}return this},u.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(u.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),u.prototype.toString=function(t){t===void 0&&(t=function(i){return String(i.key)});var n=[];return p(this._root,"",!0,function(i){return n.push(i)},t),n.join("")},u.prototype.update=function(t,n,i){var l=this._comparator,s=a(t,this._root,l),g=s.left,h=s.right;l(t,n)<0?h=o(n,i,h,l):g=o(n,i,g,l),this._root=c(g,h,l)},u.prototype.split=function(t){return a(t,this._root,this._comparator)},u.prototype[Symbol.iterator]=function(){var t,n,i;return y(this,function(l){switch(l.label){case 0:t=this._root,n=[],i=!1,l.label=1;case 1:return i?[3,6]:t===null?[3,2]:(n.push(t),t=t.left,[3,5]);case 2:return n.length===0?[3,4]:(t=n.pop(),[4,t]);case 3:return l.sent(),t=t.right,[3,5];case 4:i=!0,l.label=5;case 5:return[3,1];case 6:return[2]}})},u}();function b(u,t,n,i){var l=i-n;if(l>0){var s=n+Math.floor(l/2),g=u[s],h=t[s],m=new x(g,h);return m.left=b(u,t,n,s),m.right=b(u,t,s+1,i),m}return null}function T(u,t){for(var n=new x(null,null),i=n,l=0;l<u.length;l++)i=i.next=new x(u[l],t[l]);return i.next=null,n.next}function I(u){for(var t=u,n=[],i=!1,l=new x(null,null),s=l;!i;)t?(n.push(t),t=t.left):n.length>0?(t=s=s.next=n.pop(),t=t.right):i=!0;return s.next=null,l.next}function C(u,t,n){var i=n-t;if(i>0){var l=t+Math.floor(i/2),s=C(u,t,l),g=u.head;return g.left=s,u.head=u.head.next,g.right=C(u,l+1,n),g}return null}function M(u,t,n){for(var i=new x(null,null),l=i,s=u,g=t;s!==null&&g!==null;)n(s.key,g.key)<0?(l.next=s,s=s.next):(l.next=g,g=g.next),l=l.next;return s!==null?l.next=s:g!==null&&(l.next=g),i.next}function w(u,t,n,i,l){if(!(n>=i)){for(var s=u[n+i>>1],g=n-1,h=i+1;;){do g++;while(l(u[g],s)<0);do h--;while(l(u[h],s)>0);if(g>=h)break;var m=u[g];u[g]=u[h],u[h]=m,m=t[g],t[g]=t[h],t[h]=m}w(u,t,n,h,l),w(u,t,h+1,i,l)}}let _=(u,t)=>u.ll.x<=t.x&&t.x<=u.ur.x&&u.ll.y<=t.y&&t.y<=u.ur.y,k=(u,t)=>{if(t.ur.x<u.ll.x||u.ur.x<t.ll.x||t.ur.y<u.ll.y||u.ur.y<t.ll.y)return null;let n=u.ll.x<t.ll.x?t.ll.x:u.ll.x,i=u.ur.x<t.ur.x?u.ur.x:t.ur.x,l=u.ll.y<t.ll.y?t.ll.y:u.ll.y,s=u.ur.y<t.ur.y?u.ur.y:t.ur.y;return{ll:{x:n,y:l},ur:{x:i,y:s}}},N=Number.EPSILON;N===void 0&&(N=Math.pow(2,-52));let R=N*N,P=(u,t)=>{if(-N<u&&u<N&&-N<t&&t<N)return 0;let n=u-t;return n*n<R*u*t?0:u<t?-1:1};class E{constructor(){this.reset()}reset(){this.xRounder=new X,this.yRounder=new X}round(t,n){return{x:this.xRounder.round(t),y:this.yRounder.round(n)}}}class X{constructor(){this.tree=new L,this.round(0)}round(t){let n=this.tree.add(t),i=this.tree.prev(n);if(i!==null&&P(n.key,i.key)===0)return this.tree.remove(t),i.key;let l=this.tree.next(n);return l!==null&&P(n.key,l.key)===0?(this.tree.remove(t),l.key):t}}let q=new E,J=11102230246251565e-32,V=134217729,U5=(3+8*J)*J;function F0(u,t,n,i,l){let s,g,h,m,d=t[0],A=i[0],f=0,v=0;A>d==A>-d?(s=d,d=t[++f]):(s=A,A=i[++v]);let S=0;if(f<u&&v<n)for(A>d==A>-d?(g=d+s,h=s-(g-d),d=t[++f]):(g=A+s,h=s-(g-A),A=i[++v]),s=g,h!==0&&(l[S++]=h);f<u&&v<n;)A>d==A>-d?(g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f]):(g=s+A,m=g-s,h=s-(g-m)+(A-m),A=i[++v]),s=g,h!==0&&(l[S++]=h);for(;f<u;)g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f],s=g,h!==0&&(l[S++]=h);for(;v<n;)g=s+A,m=g-s,h=s-(g-m)+(A-m),A=i[++v],s=g,h!==0&&(l[S++]=h);return(s!==0||S===0)&&(l[S++]=s),S}function F5(u,t){let n=t[0];for(let i=1;i<u;i++)n+=t[i];return n}function w0(u){return new Float64Array(u)}let W5=(3+16*J)*J,z5=(2+12*J)*J,$5=(9+64*J)*J*J,p0=w0(4),x5=w0(8),t5=w0(12),e5=w0(16),Q=w0(4);function Y5(u,t,n,i,l,s,g){let h,m,d,A,f,v,S,G,O,F,B,W,D,Y,Z,j,t0,H,r0=u-l,i0=n-l,o0=t-s,s0=i-s;Y=r0*s0,v=V*r0,S=v-(v-r0),G=r0-S,v=V*s0,O=v-(v-s0),F=s0-O,Z=G*F-(Y-S*O-G*O-S*F),j=o0*i0,v=V*o0,S=v-(v-o0),G=o0-S,v=V*i0,O=v-(v-i0),F=i0-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,p0[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,p0[1]=D-(B+f)+(f-j),H=W+B,f=H-W,p0[2]=W-(H-f)+(B-f),p0[3]=H;let l0=F5(4,p0),b0=z5*g;if(l0>=b0||-l0>=b0||(f=u-r0,h=u-(r0+f)+(f-l),f=n-i0,d=n-(i0+f)+(f-l),f=t-o0,m=t-(o0+f)+(f-s),f=i-s0,A=i-(s0+f)+(f-s),h===0&&m===0&&d===0&&A===0)||(b0=$5*g+U5*Math.abs(l0),l0+=r0*A+s0*h-(o0*d+i0*m),l0>=b0||-l0>=b0))return l0;Y=h*s0,v=V*h,S=v-(v-h),G=h-S,v=V*s0,O=v-(v-s0),F=s0-O,Z=G*F-(Y-S*O-G*O-S*F),j=m*i0,v=V*m,S=v-(v-m),G=m-S,v=V*i0,O=v-(v-i0),F=i0-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,Q[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,Q[1]=D-(B+f)+(f-j),H=W+B,f=H-W,Q[2]=W-(H-f)+(B-f),Q[3]=H;let x4=F0(4,p0,4,Q,x5);Y=r0*A,v=V*r0,S=v-(v-r0),G=r0-S,v=V*A,O=v-(v-A),F=A-O,Z=G*F-(Y-S*O-G*O-S*F),j=o0*d,v=V*o0,S=v-(v-o0),G=o0-S,v=V*d,O=v-(v-d),F=d-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,Q[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,Q[1]=D-(B+f)+(f-j),H=W+B,f=H-W,Q[2]=W-(H-f)+(B-f),Q[3]=H;let t4=F0(x4,x5,4,Q,t5);Y=h*A,v=V*h,S=v-(v-h),G=h-S,v=V*A,O=v-(v-A),F=A-O,Z=G*F-(Y-S*O-G*O-S*F),j=m*d,v=V*m,S=v-(v-m),G=m-S,v=V*d,O=v-(v-d),F=d-O,t0=G*F-(j-S*O-G*O-S*F),B=Z-t0,f=Z-B,Q[0]=Z-(B+f)+(f-t0),W=Y+B,f=W-Y,D=Y-(W-f)+(B-f),B=D-j,f=D-B,Q[1]=D-(B+f)+(f-j),H=W+B,f=H-W,Q[2]=W-(H-f)+(B-f),Q[3]=H;let e4=F0(t4,t5,4,Q,e5);return e5[e4-1]}function V5(u,t,n,i,l,s){let g=(t-s)*(n-l),h=(u-l)*(i-s),m=g-h,d=Math.abs(g+h);return Math.abs(m)>=W5*d?m:-Y5(u,t,n,i,l,s,d)}let A0=(u,t)=>u.x*t.y-u.y*t.x,n5=(u,t)=>u.x*t.x+u.y*t.y,r5=(u,t,n)=>{let i=V5(u.x,u.y,t.x,t.y,n.x,n.y);return i>0?-1:i<0?1:0},k0=u=>Math.sqrt(n5(u,u)),X5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return A0(l,i)/k0(l)/k0(i)},D5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return n5(l,i)/k0(l)/k0(i)},i5=(u,t,n)=>t.y===0?null:{x:u.x+t.x/t.y*(n-u.y),y:n},o5=(u,t,n)=>t.x===0?null:{x:n,y:u.y+t.y/t.x*(n-u.x)},Z5=(u,t,n,i)=>{if(t.x===0)return o5(n,i,u.x);if(i.x===0)return o5(u,t,n.x);if(t.y===0)return i5(n,i,u.y);if(i.y===0)return i5(u,t,n.y);let l=A0(t,i);if(l==0)return null;let s={x:n.x-u.x,y:n.y-u.y},g=A0(s,t)/l,h=A0(s,i)/l,m=u.x+h*t.x,d=n.x+g*i.x,A=u.y+h*t.y,f=n.y+g*i.y,v=(m+d)/2,S=(A+f)/2;return{x:v,y:S}};class x0{static compare(t,n){let i=x0.comparePoints(t.point,n.point);return i!==0?i:(t.point!==n.point&&t.link(n),t.isLeft!==n.isLeft?t.isLeft?1:-1:c0.compare(t.segment,n.segment))}static comparePoints(t,n){return t.x<n.x?-1:t.x>n.x?1:t.y<n.y?-1:t.y>n.y?1:0}constructor(t,n){t.events===void 0?t.events=[this]:t.events.push(this),this.point=t,this.isLeft=n}link(t){if(t.point===this.point)throw new Error("Tried to link already linked events");let n=t.point.events;for(let i=0,l=n.length;i<l;i++){let s=n[i];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){let t=this.point.events.length;for(let n=0;n<t;n++){let i=this.point.events[n];if(i.segment.consumedBy===void 0)for(let l=n+1;l<t;l++){let s=this.point.events[l];s.consumedBy===void 0&&i.otherSE.point.events===s.otherSE.point.events&&i.segment.consume(s.segment)}}}getAvailableLinkedEvents(){let t=[];for(let n=0,i=this.point.events.length;n<i;n++){let l=this.point.events[n];l!==this&&!l.segment.ringOut&&l.segment.isInResult()&&t.push(l)}return t}getLeftmostComparator(t){let n=new Map,i=l=>{let s=l.otherSE;n.set(l,{sine:X5(this.point,t.point,s.point),cosine:D5(this.point,t.point,s.point)})};return(l,s)=>{n.has(l)||i(l),n.has(s)||i(s);let{sine:g,cosine:h}=n.get(l),{sine:m,cosine:d}=n.get(s);return g>=0&&m>=0?h<d?1:h>d?-1:0:g<0&&m<0?h<d?-1:h>d?1:0:m<g?-1:m>g?1:0}}}let j5=0;class c0{static compare(t,n){let i=t.leftSE.point.x,l=n.leftSE.point.x,s=t.rightSE.point.x,g=n.rightSE.point.x;if(g<i)return 1;if(s<l)return-1;let h=t.leftSE.point.y,m=n.leftSE.point.y,d=t.rightSE.point.y,A=n.rightSE.point.y;if(i<l){if(m<h&&m<d)return 1;if(m>h&&m>d)return-1;let f=t.comparePoint(n.leftSE.point);if(f<0)return 1;if(f>0)return-1;let v=n.comparePoint(t.rightSE.point);return v!==0?v:-1}if(i>l){if(h<m&&h<A)return-1;if(h>m&&h>A)return 1;let f=n.comparePoint(t.leftSE.point);if(f!==0)return f;let v=t.comparePoint(n.rightSE.point);return v<0?1:v>0?-1:1}if(h<m)return-1;if(h>m)return 1;if(s<g){let f=n.comparePoint(t.rightSE.point);if(f!==0)return f}if(s>g){let f=t.comparePoint(n.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==g){let f=d-h,v=s-i,S=A-m,G=g-l;if(f>v&&S<G)return 1;if(f<v&&S>G)return-1}return s>g?1:s<g||d<A?-1:d>A?1:t.id<n.id?-1:t.id>n.id?1:0}constructor(t,n,i,l){this.id=++j5,this.leftSE=t,t.segment=this,t.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=t,this.rings=i,this.windings=l}static fromRing(t,n,i){let l,s,g,h=x0.comparePoints(t,n);if(h<0)l=t,s=n,g=1;else if(h>0)l=n,s=t,g=-1;else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);let m=new x0(l,!0),d=new x0(s,!1);return new c0(m,d,[i],[g])}replaceRightSE(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){let t=this.leftSE.point.y,n=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<n?t:n},ur:{x:this.rightSE.point.x,y:t>n?t:n}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}comparePoint(t){if(this.isAnEndpoint(t))return 0;let n=this.leftSE.point,i=this.rightSE.point,l=this.vector();if(n.x===i.x)return t.x===n.x?0:t.x<n.x?1:-1;let s=(t.y-n.y)/l.y,g=n.x+s*l.x;if(t.x===g)return 0;let h=(t.x-n.x)/l.x,m=n.y+h*l.y;return t.y===m?0:t.y<m?-1:1}getIntersection(t){let n=this.bbox(),i=t.bbox(),l=k(n,i);if(l===null)return null;let s=this.leftSE.point,g=this.rightSE.point,h=t.leftSE.point,m=t.rightSE.point,d=_(n,h)&&this.comparePoint(h)===0,A=_(i,s)&&t.comparePoint(s)===0,f=_(n,m)&&this.comparePoint(m)===0,v=_(i,g)&&t.comparePoint(g)===0;if(A&&d)return v&&!f?g:!v&&f?m:null;if(A)return f&&s.x===m.x&&s.y===m.y?null:s;if(d)return v&&g.x===h.x&&g.y===h.y?null:h;if(v&&f)return null;if(v)return g;if(f)return m;let S=Z5(s,this.vector(),h,t.vector());return S===null||!_(l,S)?null:q.round(S.x,S.y)}split(t){let n=[],i=t.events!==void 0,l=new x0(t,!0),s=new x0(t,!1),g=this.rightSE;this.replaceRightSE(s),n.push(s),n.push(l);let h=new c0(l,g,this.rings.slice(),this.windings.slice());return x0.comparePoints(h.leftSE.point,h.rightSE.point)>0&&h.swapEvents(),x0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),i&&(l.checkForConsuming(),s.checkForConsuming()),n}swapEvents(){let t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let n=0,i=this.windings.length;n<i;n++)this.windings[n]*=-1}consume(t){let n=this,i=t;for(;n.consumedBy;)n=n.consumedBy;for(;i.consumedBy;)i=i.consumedBy;let l=c0.compare(n,i);if(l!==0){if(l>0){let s=n;n=i,i=s}if(n.prev===i){let s=n;n=i,i=s}for(let s=0,g=i.rings.length;s<g;s++){let h=i.rings[s],m=i.windings[s],d=n.rings.indexOf(h);d===-1?(n.rings.push(h),n.windings.push(m)):n.windings[d]+=m}i.rings=null,i.windings=null,i.consumedBy=n,i.leftSE.consumedBy=n.leftSE,i.rightSE.consumedBy=n.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{let t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;let t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};let n=this._afterState.rings,i=this._afterState.windings,l=this._afterState.multiPolys;for(let h=0,m=this.rings.length;h<m;h++){let d=this.rings[h],A=this.windings[h],f=n.indexOf(d);f===-1?(n.push(d),i.push(A)):i[f]+=A}let s=[],g=[];for(let h=0,m=n.length;h<m;h++){if(i[h]===0)continue;let d=n[h],A=d.poly;if(g.indexOf(A)===-1)if(d.isExterior)s.push(A);else{g.indexOf(A)===-1&&g.push(A);let f=s.indexOf(d.poly);f!==-1&&s.splice(f,1)}}for(let h=0,m=s.length;h<m;h++){let d=s[h].multiPoly;l.indexOf(d)===-1&&l.push(d)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;let t=this.beforeState().multiPolys,n=this.afterState().multiPolys;switch(n0.type){case"union":{let i=t.length===0,l=n.length===0;this._isInResult=i!==l;break}case"intersection":{let i,l;t.length<n.length?(i=t.length,l=n.length):(i=n.length,l=t.length),this._isInResult=l===n0.numMultiPolys&&i<l;break}case"xor":{let i=Math.abs(t.length-n.length);this._isInResult=i%2===1;break}case"difference":{let i=l=>l.length===1&&l[0].isSubject;this._isInResult=i(t)!==i(n);break}default:throw new Error(`Unrecognized operation type found ${n0.type}`)}return this._isInResult}}class s5{constructor(t,n,i){if(!Array.isArray(t)||t.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=i,this.segments=[],typeof t[0][0]!="number"||typeof t[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let l=q.round(t[0][0],t[0][1]);this.bbox={ll:{x:l.x,y:l.y},ur:{x:l.x,y:l.y}};let s=l;for(let g=1,h=t.length;g<h;g++){if(typeof t[g][0]!="number"||typeof t[g][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let m=q.round(t[g][0],t[g][1]);m.x===s.x&&m.y===s.y||(this.segments.push(c0.fromRing(s,m,this)),m.x<this.bbox.ll.x&&(this.bbox.ll.x=m.x),m.y<this.bbox.ll.y&&(this.bbox.ll.y=m.y),m.x>this.bbox.ur.x&&(this.bbox.ur.x=m.x),m.y>this.bbox.ur.y&&(this.bbox.ur.y=m.y),s=m)}(l.x!==s.x||l.y!==s.y)&&this.segments.push(c0.fromRing(s,l,this))}getSweepEvents(){let t=[];for(let n=0,i=this.segments.length;n<i;n++){let l=this.segments[n];t.push(l.leftSE),t.push(l.rightSE)}return t}}class H5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new s5(t[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let i=1,l=t.length;i<l;i++){let s=new s5(t[i],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=n}getSweepEvents(){let t=this.exteriorRing.getSweepEvents();for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class l5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof t[0][0][0]=="number"&&(t=[t])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let i=0,l=t.length;i<l;i++){let s=new H5(t[i],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=n}getSweepEvents(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class T0{static factory(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.isInResult()||s.ringOut)continue;let g=null,h=s.leftSE,m=s.rightSE,d=[h],A=h.point,f=[];for(;g=h,h=m,d.push(h),h.point!==A;)for(;;){let v=h.getAvailableLinkedEvents();if(v.length===0){let O=d[0].point,F=d[d.length-1].point;throw new Error(`Unable to complete output ring starting at [${O.x}, ${O.y}]. Last matching segment found ends at [${F.x}, ${F.y}].`)}if(v.length===1){m=v[0].otherSE;break}let S=null;for(let O=0,F=f.length;O<F;O++)if(f[O].point===h.point){S=O;break}if(S!==null){let O=f.splice(S)[0],F=d.splice(O.index);F.unshift(F[0].otherSE),n.push(new T0(F.reverse()));continue}f.push({index:d.length,point:h.point});let G=h.getLeftmostComparator(g);m=v.sort(G)[0].otherSE;break}n.push(new T0(d))}return n}constructor(t){this.events=t;for(let n=0,i=t.length;n<i;n++)t[n].segment.ringOut=this;this.poly=null}getGeom(){let t=this.events[0].point,n=[t];for(let d=1,A=this.events.length-1;d<A;d++){let f=this.events[d].point,v=this.events[d+1].point;r5(f,t,v)!==0&&(n.push(f),t=f)}if(n.length===1)return null;let i=n[0],l=n[1];r5(i,t,l)===0&&n.shift(),n.push(n[0]);let s=this.isExteriorRing()?1:-1,g=this.isExteriorRing()?0:n.length-1,h=this.isExteriorRing()?n.length:-1,m=[];for(let d=g;d!=h;d+=s)m.push([n[d].x,n[d].y]);return m}isExteriorRing(){if(this._isExteriorRing===void 0){let t=this.enclosingRing();this._isExteriorRing=t?!t.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let t=this.events[0];for(let l=1,s=this.events.length;l<s;l++){let g=this.events[l];x0.compare(t,g)>0&&(t=g)}let n=t.segment.prevInResult(),i=n?n.prevInResult():null;for(;;){if(!n)return null;if(!i)return n.ringOut;if(i.ringOut!==n.ringOut)return i.ringOut.enclosingRing()!==n.ringOut?n.ringOut:n.ringOut.enclosingRing();n=i.prevInResult(),i=n?n.prevInResult():null}}}class a5{constructor(t){this.exteriorRing=t,t.poly=this,this.interiorRings=[]}addInterior(t){this.interiorRings.push(t),t.poly=this}getGeom(){let t=[this.exteriorRing.getGeom()];if(t[0]===null)return null;for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getGeom();l!==null&&t.push(l)}return t}}class q5{constructor(t){this.rings=t,this.polys=this._composePolys(t)}getGeom(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getGeom();l!==null&&t.push(l)}return t}_composePolys(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.poly)if(s.isExteriorRing())n.push(new a5(s));else{let g=s.enclosingRing();g.poly||n.push(new a5(g)),g.poly.addInterior(s)}}return n}}class Q5{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c0.compare;this.queue=t,this.tree=new L(n),this.segments=[]}process(t){let n=t.segment,i=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(n),i;let l=t.isLeft?this.tree.add(n):this.tree.find(n);if(!l)throw new Error(`Unable to find segment #${n.id} [${n.leftSE.point.x}, ${n.leftSE.point.y}] -> [${n.rightSE.point.x}, ${n.rightSE.point.y}] in SweepLine tree.`);let s=l,g=l,h,m;for(;h===void 0;)s=this.tree.prev(s),s===null?h=null:s.key.consumedBy===void 0&&(h=s.key);for(;m===void 0;)g=this.tree.next(g),g===null?m=null:g.key.consumedBy===void 0&&(m=g.key);if(t.isLeft){let d=null;if(h){let f=h.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(d=f),!h.isAnEndpoint(f))){let v=this._splitSafely(h,f);for(let S=0,G=v.length;S<G;S++)i.push(v[S])}}let A=null;if(m){let f=m.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(A=f),!m.isAnEndpoint(f))){let v=this._splitSafely(m,f);for(let S=0,G=v.length;S<G;S++)i.push(v[S])}}if(d!==null||A!==null){let f=null;d===null?f=A:A===null?f=d:f=x0.comparePoints(d,A)<=0?d:A,this.queue.remove(n.rightSE),i.push(n.rightSE);let v=n.split(f);for(let S=0,G=v.length;S<G;S++)i.push(v[S])}i.length>0?(this.tree.remove(n),i.push(t)):(this.segments.push(n),n.prev=h)}else{if(h&&m){let d=h.getIntersection(m);if(d!==null){if(!h.isAnEndpoint(d)){let A=this._splitSafely(h,d);for(let f=0,v=A.length;f<v;f++)i.push(A[f])}if(!m.isAnEndpoint(d)){let A=this._splitSafely(m,d);for(let f=0,v=A.length;f<v;f++)i.push(A[f])}}}this.tree.remove(n)}return i}_splitSafely(t,n){this.tree.remove(t);let i=t.rightSE;this.queue.remove(i);let l=t.split(n);return l.push(i),t.consumedBy===void 0&&this.tree.add(t),l}}let c5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,J5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class K5{run(t,n,i){n0.type=t,q.reset();let l=[new l5(n,!0)];for(let f=0,v=i.length;f<v;f++)l.push(new l5(i[f],!1));if(n0.numMultiPolys=l.length,n0.type==="difference"){let f=l[0],v=1;for(;v<l.length;)k(l[v].bbox,f.bbox)!==null?v++:l.splice(v,1)}if(n0.type==="intersection")for(let f=0,v=l.length;f<v;f++){let S=l[f];for(let G=f+1,O=l.length;G<O;G++)if(k(S.bbox,l[G].bbox)===null)return[]}let s=new L(x0.compare);for(let f=0,v=l.length;f<v;f++){let S=l[f].getSweepEvents();for(let G=0,O=S.length;G<O;G++)if(s.insert(S[G]),s.size>c5)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}let g=new Q5(s),h=s.size,m=s.pop();for(;m;){let f=m.key;if(s.size===h){let S=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${S.id} [${S.leftSE.point.x}, ${S.leftSE.point.y}] -> [${S.rightSE.point.x}, ${S.rightSE.point.y}] from queue.`)}if(s.size>c5)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(g.segments.length>J5)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");let v=g.process(f);for(let S=0,G=v.length;S<G;S++){let O=v[S];O.consumedBy===void 0&&s.insert(O)}h=s.size,m=s.pop()}q.reset();let d=T0.factory(g.segments);return new q5(d).getGeom()}}let n0=new K5;var y4={union:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("union",u,n)},intersection:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("intersection",u,n)},xor:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("xor",u,n)},difference:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("difference",u,n)}};return y4})});function Y0(y,x,e=2){let r=x&&x.length,o=r?x[0]*e:y.length,a=f5(y,0,o,e,!0),c=[];if(!a||a.next===a.prev)return c;let p,L,b;if(r&&(a=L4(y,x,a,e)),y.length>80*e){p=y[0],L=y[1];let T=p,I=L;for(let C=e;C<o;C+=e){let M=y[C],w=y[C+1];M<p&&(p=M),w<L&&(L=w),M>T&&(T=M),w>I&&(I=w)}b=Math.max(T-p,I-L),b=b!==0?32767/b:0}return E0(a,c,e,p,L,b,0),c}function f5(y,x,e,r,o){let a;if(o===R4(y,x,e,r)>0)for(let c=x;c<e;c+=r)a=u5(c/r|0,y[c],y[c+1],a);else for(let c=e-r;c>=x;c-=r)a=u5(c/r|0,y[c],y[c+1],a);return a&&g0(a,a.next)&&(P0(a),a=a.next),a}function u0(y,x){if(!y)return y;x||(x=y);let e=y,r;do if(r=!1,!e.steiner&&(g0(e,e.next)||z(e.prev,e,e.next)===0)){if(P0(e),e=x=e.prev,e===e.next)break;r=!0}else e=e.next;while(r||e!==x);return x}function E0(y,x,e,r,o,a,c){if(!y)return;!c&&a&&w4(y,r,o,a);let p=y;for(;y.prev!==y.next;){let L=y.prev,b=y.next;if(a?h4(y,r,o,a):f4(y)){x.push(L.i,y.i,b.i),P0(y),y=b.next,p=b.next;continue}if(y=b,y===p){c?c===1?(y=p4(u0(y),x),E0(y,x,e,r,o,a,2)):c===2&&g4(y,x,e,r,o,a):E0(u0(y),x,e,r,o,a,1);break}}}function f4(y){let x=y.prev,e=y,r=y.next;if(z(x,e,r)>=0)return!1;let o=x.x,a=e.x,c=r.x,p=x.y,L=e.y,b=r.y,T=Math.min(o,a,c),I=Math.min(p,L,b),C=Math.max(o,a,c),M=Math.max(p,L,b),w=r.next;for(;w!==x;){if(w.x>=T&&w.x<=C&&w.y>=I&&w.y<=M&&M0(o,p,a,L,c,b,w.x,w.y)&&z(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function h4(y,x,e,r){let o=y.prev,a=y,c=y.next;if(z(o,a,c)>=0)return!1;let p=o.x,L=a.x,b=c.x,T=o.y,I=a.y,C=c.y,M=Math.min(p,L,b),w=Math.min(T,I,C),_=Math.max(p,L,b),k=Math.max(T,I,C),N=z0(M,w,x,e,r),R=z0(_,k,x,e,r),P=y.prevZ,E=y.nextZ;for(;P&&P.z>=N&&E&&E.z<=R;){if(P.x>=M&&P.x<=_&&P.y>=w&&P.y<=k&&P!==o&&P!==c&&M0(p,T,L,I,b,C,P.x,P.y)&&z(P.prev,P,P.next)>=0||(P=P.prevZ,E.x>=M&&E.x<=_&&E.y>=w&&E.y<=k&&E!==o&&E!==c&&M0(p,T,L,I,b,C,E.x,E.y)&&z(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;P&&P.z>=N;){if(P.x>=M&&P.x<=_&&P.y>=w&&P.y<=k&&P!==o&&P!==c&&M0(p,T,L,I,b,C,P.x,P.y)&&z(P.prev,P,P.next)>=0)return!1;P=P.prevZ}for(;E&&E.z<=R;){if(E.x>=M&&E.x<=_&&E.y>=w&&E.y<=k&&E!==o&&E!==c&&M0(p,T,L,I,b,C,E.x,E.y)&&z(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function p4(y,x){let e=y;do{let r=e.prev,o=e.next.next;!g0(r,o)&&p5(r,e,e.next,o)&&S0(r,o)&&S0(o,r)&&(x.push(r.i,e.i,o.i),P0(e),P0(e.next),e=y=o),e=e.next}while(e!==y);return u0(e)}function g4(y,x,e,r,o,a){let c=y;do{let p=c.next.next;for(;p!==c.prev;){if(c.i!==p.i&&E4(c,p)){let L=g5(c,p);c=u0(c,c.next),L=u0(L,L.next),E0(c,x,e,r,o,a,0),E0(L,x,e,r,o,a,0);return}p=p.next}c=c.next}while(c!==y)}function L4(y,x,e,r){let o=[];for(let a=0,c=x.length;a<c;a++){let p=x[a]*r,L=a<c-1?x[a+1]*r:y.length,b=f5(y,p,L,r,!1);b===b.next&&(b.steiner=!0),o.push(M4(b))}o.sort(d4);for(let a=0;a<o.length;a++)e=m4(o[a],e);return e}function d4(y,x){let e=y.x-x.x;if(e===0&&(e=y.y-x.y,e===0)){let r=(y.next.y-y.y)/(y.next.x-y.x),o=(x.next.y-x.y)/(x.next.x-x.x);e=r-o}return e}function m4(y,x){let e=_4(y,x);if(!e)return x;let r=g5(e,y);return u0(r,r.next),u0(e,e.next)}function _4(y,x){let e=x,r=y.x,o=y.y,a=-1/0,c;if(g0(y,e))return e;do{if(g0(y,e.next))return e.next;if(o<=e.y&&o>=e.next.y&&e.next.y!==e.y){let I=e.x+(o-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(I<=r&&I>a&&(a=I,c=e.x<e.next.x?e:e.next,I===r))return c}e=e.next}while(e!==x);if(!c)return null;let p=c,L=c.x,b=c.y,T=1/0;e=c;do{if(r>=e.x&&e.x>=L&&r!==e.x&&h5(o<b?r:a,o,L,b,o<b?a:r,o,e.x,e.y)){let I=Math.abs(o-e.y)/(r-e.x);S0(e,y)&&(I<T||I===T&&(e.x>c.x||e.x===c.x&&v4(c,e)))&&(c=e,T=I)}e=e.next}while(e!==p);return c}function v4(y,x){return z(y.prev,y,x.prev)<0&&z(x.next,y,y.next)<0}function w4(y,x,e,r){let o=y;do o.z===0&&(o.z=z0(o.x,o.y,x,e,r)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==y);o.prevZ.nextZ=null,o.prevZ=null,b4(o)}function b4(y){let x,e=1;do{let r=y,o;y=null;let a=null;for(x=0;r;){x++;let c=r,p=0;for(let b=0;b<e&&(p++,c=c.nextZ,!!c);b++);let L=e;for(;p>0||L>0&&c;)p!==0&&(L===0||!c||r.z<=c.z)?(o=r,r=r.nextZ,p--):(o=c,c=c.nextZ,L--),a?a.nextZ=o:y=o,o.prevZ=a,a=o;r=c}a.nextZ=null,e*=2}while(x>1);return y}function z0(y,x,e,r,o){return y=(y-e)*o|0,x=(x-r)*o|0,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,x=(x|x<<8)&16711935,x=(x|x<<4)&252645135,x=(x|x<<2)&858993459,x=(x|x<<1)&1431655765,y|x<<1}function M4(y){let x=y,e=y;do(x.x<e.x||x.x===e.x&&x.y<e.y)&&(e=x),x=x.next;while(x!==y);return e}function h5(y,x,e,r,o,a,c,p){return(o-c)*(x-p)>=(y-c)*(a-p)&&(y-c)*(r-p)>=(e-c)*(x-p)&&(e-c)*(a-p)>=(o-c)*(r-p)}function M0(y,x,e,r,o,a,c,p){return!(y===c&&x===p)&&h5(y,x,e,r,o,a,c,p)}function E4(y,x){return y.next.i!==x.i&&y.prev.i!==x.i&&!S4(y,x)&&(S0(y,x)&&S0(x,y)&&P4(y,x)&&(z(y.prev,y,x.prev)||z(y,x.prev,x))||g0(y,x)&&z(y.prev,y,y.next)>0&&z(x.prev,x,x.next)>0)}function z(y,x,e){return(x.y-y.y)*(e.x-x.x)-(x.x-y.x)*(e.y-x.y)}function g0(y,x){return y.x===x.x&&y.y===x.y}function p5(y,x,e,r){let o=O0(z(y,x,e)),a=O0(z(y,x,r)),c=O0(z(e,r,y)),p=O0(z(e,r,x));return!!(o!==a&&c!==p||o===0&&N0(y,e,x)||a===0&&N0(y,r,x)||c===0&&N0(e,y,r)||p===0&&N0(e,x,r))}function N0(y,x,e){return x.x<=Math.max(y.x,e.x)&&x.x>=Math.min(y.x,e.x)&&x.y<=Math.max(y.y,e.y)&&x.y>=Math.min(y.y,e.y)}function O0(y){return y>0?1:y<0?-1:0}function S4(y,x){let e=y;do{if(e.i!==y.i&&e.next.i!==y.i&&e.i!==x.i&&e.next.i!==x.i&&p5(e,e.next,y,x))return!0;e=e.next}while(e!==y);return!1}function S0(y,x){return z(y.prev,y,y.next)<0?z(y,x,y.next)>=0&&z(y,y.prev,x)>=0:z(y,x,y.prev)<0||z(y,y.next,x)<0}function P4(y,x){let e=y,r=!1,o=(y.x+x.x)/2,a=(y.y+x.y)/2;do e.y>a!=e.next.y>a&&e.next.y!==e.y&&o<(e.next.x-e.x)*(a-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==y);return r}function g5(y,x){let e=$0(y.i,y.x,y.y),r=$0(x.i,x.x,x.y),o=y.next,a=x.prev;return y.next=x,x.prev=y,e.next=o,o.prev=e,r.next=e,e.prev=r,a.next=r,r.prev=a,r}function u5(y,x,e,r){let o=$0(y,x,e);return r?(o.next=r.next,o.prev=r,r.next.prev=o,r.next=o):(o.prev=o,o.next=o),o}function P0(y){y.next.prev=y.prev,y.prev.next=y.next,y.prevZ&&(y.prevZ.nextZ=y.nextZ),y.nextZ&&(y.nextZ.prevZ=y.prevZ)}function $0(y,x,e){return{i:y,x,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function R4(y,x,e,r){let o=0;for(let a=x,c=e-r;a<e;a+=r)o+=(y[c]-y[a])*(y[a+1]+y[c+1]),c=a;return o}var k5=u4(L5(),1);var d5={0:"M0.301025 0.257813 L0.206593 0.283385 L0.122042 0.361307 L0.075923 0.474441 L0.064942 0.642221 L0.091296 0.78289 L0.159376 0.899463 L0.257104 0.961214 L0.344948 0.961214 L0.442678 0.899463 L0.510757 0.78289 L0.537111 0.642221 L0.526131 0.474441 L0.480012 0.361307 L0.39546 0.283385 L0.301025 0.257813",1:"M0.220426 0.40845 L0.381626 0.270996 L0.381626 0.948966",2:"M0.110409 0.39212 L0.125621 0.342293 L0.170571 0.295823 L0.244237 0.26431 L0.291518 0.257813 L0.373319 0.263799 L0.434683 0.290705 L0.468239 0.331966 L0.480292 0.379913 L0.479492 0.411806 L0.465088 0.465192 L0.402571 0.568988 L0.245134 0.766438 L0.07959 0.948045 L0.522462 0.948045",3:"M0.081606 0.345073 L0.119154 0.315633 L0.178996 0.284091 L0.255265 0.257813 L0.349133 0.263062 L0.43127 0.289348 L0.48994 0.336662 L0.525141 0.394491 L0.513407 0.457577 L0.466472 0.504892 L0.384334 0.541692 L0.290464 0.56272 L0.20833 0.573235 L0.290464 0.583749 L0.384334 0.610035 L0.466472 0.652092 L0.519274 0.709922 L0.531007 0.773007 L0.50754 0.841351 L0.454738 0.899179 L0.3726 0.946494 L0.310412 0.961214 L0.209503 0.959111 L0.127367 0.946494 L0.071046 0.929671",4:"M0.418494 0.270996 L0.048828 0.724199 L0.553224 0.724199 M0.414181 0.578167 L0.414181 0.94897",5:"M0.074951 0.270996 L0.074951 0.614701 L0.267655 0.5695 L0.405247 0.586502 L0.460002 0.617189 L0.498028 0.660731 L0.527101 0.779401 L0.513352 0.841049 L0.477274 0.889568 L0.406378 0.93463 L0.324445 0.958337 L0.247399 0.962139 L0.182516 0.949767 L0.130068 0.925508 L0.074951 0.875607 M0.074951 0.270996 L0.527101 0.270996",6:"M0.428549 0.257813 L0.341433 0.285053 L0.26073 0.312099 L0.192188 0.360182 L0.138902 0.410969 L0.098219 0.500422 L0.070249 0.584267 L0.067264 0.670716 L0.065164 0.756863 L0.087163 0.820973 L0.108168 0.861042 L0.157916 0.913131 L0.210981 0.948192 L0.29279 0.961214 L0.384548 0.956206 L0.456409 0.924151 L0.507262 0.881077 L0.5349 0.821975 L0.537111 0.771889 L0.521634 0.718798 L0.498418 0.67372 L0.463042 0.636657 L0.414398 0.613617 L0.34696 0.598591 L0.28284 0.595587 L0.215403 0.605604 L0.145756 0.641665 L0.109274 0.678729 L0.064942 0.724006",7:"M0.071534 0.270996 L0.530519 0.270996 L0.495935 0.291702 L0.477752 0.305407 L0.435186 0.346112 L0.412067 0.374136 L0.388565 0.40796 L0.365315 0.448098 L0.342943 0.495062 L0.322081 0.549366 L0.303364 0.611524 L0.287416 0.68205 L0.270077 0.80465 L0.26253 0.94897",8:"M0.286761 0.257813 L0.210684 0.27162 L0.1414 0.305622 L0.092494 0.382125 L0.111513 0.450128 L0.16857 0.502193 L0.228345 0.539382 L0.377781 0.594635 L0.470161 0.645637 L0.52586 0.706203 L0.538087 0.792269 L0.506841 0.87621 L0.438915 0.927212 L0.339743 0.961214 L0.263666 0.959089 L0.174004 0.929337 L0.102003 0.881523 L0.063965 0.811395 L0.066682 0.741266 L0.102003 0.671139 L0.180797 0.608448 L0.259591 0.580822 L0.358762 0.548945 L0.456576 0.49688 L0.486463 0.446941 L0.487822 0.362999 L0.453859 0.302434 L0.384574 0.265245 L0.286761 0.257813",9:"M0.511026 0.437812 L0.491026 0.347812 L0.451026 0.297812 L0.391026 0.267812 L0.311026 0.257813 L0.231026 0.267812 L0.161026 0.297812 L0.111026 0.347812 L0.091026 0.417812 L0.111026 0.487812 L0.161026 0.537812 L0.231026 0.567812 L0.311026 0.577812 L0.391026 0.557812 L0.451026 0.517812 L0.491026 0.477812 L0.511026 0.437812 M0.510026 0.438812 L0.434026 0.636812 L0.381026 0.777812 L0.337026 0.879812 L0.301026 0.957812","!":"M0.301026 0.270996 L0.301026 0.749566 M0.251466 0.94897 L0.350587 0.94897",\'"\':"M0.16504 0.270996 L0.16504 0.523022 M0.437013 0.270996 L0.437013 0.523022","#":"M0.20958 0.282227 L0.146515 0.949754 M0.461844 0.282227 L0.398779 0.949754 M0.032999 0.526969 L0.600587 0.452796 M0.001465 0.82366 L0.569055 0.749486",$:"M0.307121 0.240234 L0.307121 1.083502 M0.490031 0.415915 L0.404676 0.328075 L0.23396 0.310507 L0.136407 0.398347 L0.099828 0.521324 L0.124213 0.591596 L0.197379 0.644299 L0.429061 0.697003 L0.502224 0.749708 L0.526613 0.837547 L0.477836 0.960526 L0.355897 1.013228 L0.197379 0.99566 L0.112021 0.942957 L0.07544 0.837547","\'":"M0.301026 0.270996 L0.301026 0.523022","(":"M0.413087 0.241211 L0.372337 0.28347 L0.331589 0.334184 L0.290838 0.393349 L0.25009 0.460965 L0.219528 0.528584 L0.199153 0.5962 L0.188966 0.655364 L0.199153 0.714529 L0.219528 0.782146 L0.25009 0.849764 L0.290838 0.91738 L0.331589 0.976544 L0.372337 1.027258 L0.413087 1.069491",")":"M0.188966 0.241211 L0.229716 0.28347 L0.270466 0.334184 L0.311213 0.393349 L0.351964 0.460965 L0.382526 0.528584 L0.4029 0.5962 L0.413087 0.655364 L0.4029 0.714529 L0.382526 0.782146 L0.351964 0.849764 L0.311213 0.91738 L0.270466 0.976544 L0.229716 1.027258 L0.188966 1.069491","*":"M0.301026 0.458702 L0.301026 0.681942 M0.301026 0.458702 L0.520997 0.536834 M0.301026 0.458702 L0.439954 0.257813 M0.301026 0.458702 L0.162098 0.257813 M0.301026 0.458702 L0.081055 0.536834","+":"M0.042969 0.66845 L0.559083 0.66845 M0.301023 0.428223 L0.301023 0.908661",",":"M0.38672 0.852051 L0.215333 1.030661 L0.301025 1.119971","-":"M0.173829 0.686035 L0.428224 0.686035",".":"M0.362549 0.851074 L0.239503 0.851074","/":"M0.062501 1.035249 L0.539551 0.270996","<":"M0.559083 0.441895 L0.042969 0.66939 L0.042969 0.66939 L0.559083 0.896902","=":"M0.042969 0.545898 L0.559083 0.545898 M0.042969 0.80837 L0.559083 0.80837",">":"M0.042969 0.441895 L0.559083 0.66939 L0.559083 0.66939 L0.042969 0.896902",A:"M0.018067 0.94897 L0.290179 0.270996 L0.583986 0.94897 M0.155303 0.684521 L0.433548 0.684521",B:"M0.063965 0.94897 L0.063965 0.278953 L0.209356 0.270996 L0.342486 0.294394 L0.432179 0.37292 L0.418224 0.48773 L0.312686 0.549166 L0.084728 0.575531 L0.306377 0.589434 L0.468877 0.647456 L0.538087 0.736658 L0.5324 0.85202 L0.501247 0.902983 L0.42355 0.944398 L0.063965 0.94897",C:"M0.529054 0.419847 L0.498425 0.345196 L0.442238 0.292341 L0.33583 0.257813 L0.257199 0.268357 L0.187906 0.303748 L0.120243 0.385432 L0.072998 0.599844 L0.110073 0.815385 L0.165381 0.902183 L0.222883 0.942801 L0.334904 0.961214 L0.43253 0.937679 L0.504816 0.868999 L0.529054 0.772065",D:"M0.064454 0.94897 L0.071838 0.285078 L0.171217 0.270996 L0.247348 0.272633 L0.37101 0.306078 L0.462461 0.378304 L0.514748 0.475555 L0.535591 0.576392 L0.537599 0.652313 L0.528065 0.717381 L0.508562 0.772419 L0.445948 0.855695 L0.362356 0.90871 L0.225203 0.945862 L0.064454 0.94897",E:"M0.080078 0.270996 L0.080078 0.94897 M0.080078 0.270996 L0.521974 0.270996 M0.080078 0.609981 L0.389405 0.609981 M0.080078 0.94897 L0.521974 0.94897",F:"M0.086426 0.270996 L0.086426 0.94897 M0.091304 0.275607 L0.515626 0.275607 M0.091304 0.607677 L0.447344 0.607677",G:"M0.498034 0.284943 L0.374621 0.257813 L0.244219 0.268648 L0.160577 0.311997 L0.094556 0.398116 L0.056397 0.58404 L0.076752 0.785532 L0.120865 0.858197 L0.188947 0.916734 L0.271008 0.953591 L0.357069 0.961214 L0.43715 0.932047 L0.501262 0.858539 L0.545656 0.648611 L0.329595 0.648131",H:"M0.066895 0.270996 L0.066895 0.94897 M0.066895 0.595658 L0.530009 0.595658 M0.535157 0.270996 L0.535157 0.94897",I:"M0.301026 0.270996 L0.301026 0.94897",J:"M0.506839 0.270996 L0.507814 0.782193 L0.498468 0.846168 L0.480733 0.880789 L0.455864 0.90832 L0.426095 0.929408 L0.360746 0.954812 L0.302508 0.962139 L0.223573 0.953638 L0.16538 0.930312 L0.137072 0.907715 L0.116428 0.880312 L0.102822 0.848819 L0.095633 0.813947 L0.094239 0.776413",K:"M0.035401 0.270996 L0.035401 0.94897 M0.502258 0.316194 L0.035401 0.687823 M0.212484 0.582361 L0.566652 0.933903",L:"M0.07544 0.270996 L0.07544 0.94897 L0.526613 0.94897",M:"M0.042481 0.94897 L0.042481 0.270996 L0.301027 0.712492 L0.559571 0.270996 L0.559571 0.94897",N:"M0.067871 0.94897 L0.067871 0.270996 L0.534181 0.94897 L0.525031 0.270996",O:"M0.287293 0.961214 L0.19843 0.933567 L0.1172 0.849451 L0.057129 0.563945 L0.114348 0.350255 L0.18455 0.289392 L0.306101 0.257813 L0.42054 0.29572 L0.487543 0.365003 L0.544923 0.625294 L0.516366 0.789624 L0.465476 0.884596 L0.375084 0.949287 L0.287293 0.961214",P:"M0.070557 0.94897 L0.070557 0.28379 L0.20704 0.270996 L0.329134 0.278993 L0.408525 0.300514 L0.444022 0.317908 L0.500637 0.368929 L0.525796 0.423728 L0.531496 0.50384 L0.508934 0.554205 L0.473724 0.582043 L0.417577 0.604365 L0.336375 0.620372 L0.226014 0.629268 L0.082368 0.630258",Q:"M0.282435 1.050813 L0.195447 1.019646 L0.115933 0.924817 L0.057129 0.602943 L0.113139 0.362034 L0.18186 0.293418 L0.300844 0.257813 L0.412868 0.300553 L0.478457 0.37866 L0.534625 0.672103 L0.506671 0.857367 L0.456855 0.964437 L0.368371 1.037368 L0.282435 1.050813 M0.341225 0.815559 L0.544923 1.070653",R:"M0.034912 0.944112 L0.034912 0.288556 L0.227127 0.270996 L0.362038 0.276867 L0.443423 0.294907 L0.477644 0.309614 L0.505809 0.328757 L0.526616 0.352817 L0.544963 0.418061 L0.543241 0.475921 L0.524463 0.517817 L0.49076 0.546518 L0.444265 0.564799 L0.355195 0.578739 L0.047653 0.589627 M0.303054 0.617306 L0.56714 0.94897",S:"M0.483037 0.364333 L0.407613 0.267477 L0.22883 0.257813 L0.128623 0.327565 L0.087712 0.455539 L0.104656 0.518727 L0.168054 0.573307 L0.41928 0.617318 L0.503796 0.669342 L0.535157 0.759324 L0.493846 0.900055 L0.367668 0.961214 L0.205436 0.956661 L0.116711 0.907038 L0.066895 0.790334",T:"M0.022949 0.270996 L0.579103 0.270996 M0.309284 0.270996 L0.309284 0.94897",U:"M0.072022 0.270996 L0.07308 0.648875 L0.080372 0.75167 L0.099024 0.827813 L0.134786 0.885729 L0.181571 0.924023 L0.251464 0.95168 L0.339655 0.962139 L0.401553 0.951668 L0.45232 0.924086 L0.482701 0.891771 L0.495745 0.870529 L0.515699 0.81637 L0.525014 0.744626 L0.530031 0.272017",V:"M0.027832 0.270996 L0.320083 0.94897 L0.57422 0.270996",W:"M0 0.270996 L0.079799 0.940377 L0.285198 0.472884 L0.505255 0.94897 L0.602052 0.270996",X:"M0.009034 0.270996 L0.586805 0.94897 M0.593019 0.270996 L0.015246 0.94897",Y:"M0.018067 0.270996 L0.293132 0.574135 M0.583986 0.271959 L0.294954 0.57606 L0.305277 0.94897",Z:"M0.053711 0.270996 L0.548341 0.270996 L0.053711 0.94897 L0.548341 0.94897","[":"M0.404542 0.240234 L0.197511 0.240234 L0.197511 1.069424 L0.404542 1.069424","\\\\":"M0.062501 0.270996 L0.539551 1.035249","]":"M0.19751 0.240234 L0.404542 0.240234 L0.404542 1.069424 L0.19751 1.069424","^":"M0.035156 0.523931 L0.301024 0.270996 L0.566896 0.523931",_:"M0 1.160601 L0.602052 1.160601",a:"M0.527101 0.439941 L0.527101 0.973965 M0.527101 0.553824 L0.451366 0.477535 L0.376759 0.439941 L0.263722 0.439941 L0.187989 0.477535 L0.112255 0.553824 L0.074951 0.66881 L0.074951 0.745099 L0.112255 0.85898 L0.187989 0.93527 L0.263722 0.973965 L0.376759 0.973965 L0.451366 0.93527 L0.527101 0.85898",b:"M0.07666 0.240234 L0.07666 0.959985 M0.07666 0.582737 L0.151822 0.514237 L0.225865 0.480483 L0.338045 0.480483 L0.413211 0.514237 L0.488374 0.582737 L0.525392 0.685983 L0.525392 0.754485 L0.488374 0.856739 L0.413211 0.92524 L0.338045 0.959985 L0.225865 0.959985 L0.151822 0.92524 L0.07666 0.856739",c:"M0.512452 0.553823 L0.441624 0.477535 L0.371854 0.439941 L0.26614 0.439941 L0.195312 0.477535 L0.124486 0.553823 L0.0896 0.668808 L0.0896 0.745099 L0.124486 0.858979 L0.195312 0.93527 L0.26614 0.973965 L0.371854 0.973965 L0.441624 0.93527 L0.512452 0.858979",d:"M0.525392 0.240234 L0.525392 0.959985 M0.525392 0.582737 L0.450232 0.514237 L0.376189 0.480483 L0.264006 0.480483 L0.188844 0.514237 L0.11368 0.582737 L0.076661 0.685983 L0.076661 0.754485 L0.11368 0.856739 L0.188844 0.92524 L0.264006 0.959985 L0.376189 0.959985 L0.450232 0.92524 L0.525392 0.856739",e:"M0.059571 0.668808 L0.542482 0.668808 M0.542482 0.592521 L0.502641 0.516231 L0.461594 0.477535 L0.381914 0.439941 L0.261186 0.439941 L0.180299 0.477535 L0.099412 0.553823 L0.059571 0.668808 L0.059571 0.745099 L0.099412 0.858979 L0.180299 0.93527 L0.261186 0.973965 L0.381914 0.973965 L0.461594 0.93527 L0.542482 0.858979",f:"M0.512941 0.240234 L0.406984 0.240234 L0.301026 0.274346 L0.248047 0.374731 L0.248047 0.946817 M0.089112 0.476088 L0.459965 0.476088",g:"M0.525392 0.439941 L0.525392 0.989395 L0.488373 1.091918 L0.45023 1.126757 L0.376189 1.160601 L0.264004 1.160601 L0.188844 1.126757 L0.113681 1.058075 L0.076661 0.954555 M0.525392 0.542467 L0.45023 0.473786 L0.376189 0.439941 L0.264004 0.439941 L0.188844 0.473786 L0.113681 0.542467 L0.076661 0.645988 L0.076661 0.714669 L0.113681 0.817193 L0.188844 0.885875 L0.264004 0.920713 L0.376189 0.920713 L0.45023 0.885875 L0.525392 0.817193",h:"M0.092041 0.240234 L0.092041 0.946817 M0.092041 0.61058 L0.205937 0.509225 L0.282214 0.476086 L0.396109 0.476086 L0.47187 0.509225 L0.510011 0.61058 L0.510011 0.946817",i:"M0.261026 0.240234 L0.341026 0.240234 M0.300978 0.476089 L0.300978 0.946817",j:"M0.3853 0.240234 L0.447023 0.240234 M0.416159 0.465708 L0.416159 1.011689 L0.383887 1.108586 L0.252832 1.140264 L0.15503 1.108586",k:"M0.065186 0.240234 L0.065186 0.946817 M0.493824 0.476086 L0.065186 0.812323 M0.236758 0.677829 L0.536867 0.946817",l:"M0.301026 0.234863 L0.301026 0.946441",m:"M0.050538 0.439941 L0.050538 0.960796 M0.050538 0.588758 L0.114405 0.476607 L0.157178 0.439941 L0.236864 0.439941 L0.279637 0.476607 L0.32241 0.588758 L0.32241 0.960796 M0.32241 0.588758 L0.386281 0.476607 L0.428467 0.439941 L0.50874 0.439941 L0.551515 0.476607 L0.551515 0.960796",n:"M0.092041 0.439941 L0.092041 0.960796 M0.092041 0.588758 L0.205936 0.476607 L0.282216 0.439941 L0.396113 0.439941 L0.471871 0.476607 L0.510011 0.588758 L0.510011 0.960796",o:"M0.247175 0.439941 L0.175178 0.477535 L0.103186 0.553823 L0.066895 0.668808 L0.066895 0.745099 L0.103186 0.858979 L0.175178 0.93527 L0.247175 0.973965 L0.354874 0.973965 L0.426872 0.93527 L0.498866 0.858979 L0.535157 0.745099 L0.535157 0.668808 L0.498866 0.553823 L0.426872 0.477535 L0.354874 0.439941 L0.247175 0.439941",p:"M0.076904 0.439941 L0.076904 1.154244 M0.076904 0.541563 L0.151986 0.473487 L0.225944 0.439941 L0.338005 0.439941 L0.413087 0.473487 L0.488166 0.541563 L0.525148 0.644169 L0.525148 0.712246 L0.488166 0.813866 L0.413087 0.881942 L0.338005 0.916471 L0.225944 0.916471 L0.151986 0.881942 L0.076904 0.813866",q:"M0.525148 0.441895 L0.525148 1.156195 M0.525148 0.5435 L0.450067 0.47544 L0.376106 0.441895 L0.264042 0.441895 L0.188966 0.47544 L0.113885 0.5435 L0.076905 0.646108 L0.076905 0.714187 L0.113885 0.815809 L0.188966 0.883886 L0.264042 0.918418 L0.376106 0.918418 L0.450067 0.883886 L0.525148 0.815809",r:"M0.107422 0.439941 L0.107422 0.960796 M0.107422 0.663164 L0.155824 0.551014 L0.252626 0.476607 L0.349428 0.439941 L0.49463 0.439941",s:"M0.475556 0.477535 L0.400757 0.439941 L0.276092 0.439941 L0.176361 0.477535 L0.101563 0.553823 L0.101563 0.630112 L0.176361 0.668808 L0.301024 0.668808 L0.425688 0.745099 L0.50049 0.821387 L0.50049 0.897677 L0.425688 0.93527 L0.325956 0.973965 L0.201295 0.973965 L0.126496 0.93527 L0.101563 0.858979",t:"M0.246032 0.297852 L0.246032 0.826549 L0.301023 0.919323 L0.411011 0.950848 L0.520997 0.950848 M0.081055 0.515799 L0.466004 0.515799",u:"M0.092041 0.454102 L0.092041 0.826134 L0.13018 0.937211 L0.205936 0.974954 L0.319832 0.974954 L0.396113 0.937211 L0.510011 0.826134 M0.510011 0.454102 L0.510011 0.974954",v:"M0.048828 0.453125 L0.301026 0.961719 M0.553224 0.453125 L0.301026 0.961719",w:"M0 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.451539 0.961719 M0.602052 0.453125 L0.451539 0.961719",x:"M0.03711 0.453125 L0.564943 0.961719 M0.564943 0.453125 L0.03711 0.961719",y:"M0.084618 0.453125 L0.320232 0.921476 M0.55713 0.453125 L0.320232 0.921476 L0.242119 1.055289 L0.163369 1.122196 L0.084618 1.155166 L0.044922 1.155166",z:"M0.505373 0.452148 L0.09668 0.961651 M0.09668 0.452148 L0.505373 0.452148 M0.09668 0.961651 L0.505373 0.961651"},m5={};for(let y in d5){m5[y]=[];let x=d5[y].split("M").slice(1).map(e=>e.split("L").map(r=>r.trim().split(" ").map(parseFloat)));for(let e of x)for(let r=0;r<e.length-1;r++)m5[y].push({x1:e[r][0],y1:1-e[r][1],x2:e[r+1][0],y2:1-e[r+1][1]})}var I4=.09,A4=.692052,k4=.692052,T4=1.152,N4=0;var _5={0:.692052,1:.692052,2:.692052,3:.692052,4:.692052,5:.692052,6:.692052,7:.692052,8:.692052,9:.692052,"!":.692052,\'"\':.692052,"#":.692052,$:.692052,"\'":.692052,"(":.692052,")":.692052,"*":.692052,"+":.692052,",":.692052,"-":.692052,".":.692052,"/":.692052,"<":.692052,"=":.692052,">":.692052,A:.692052,B:.692052,C:.692052,D:.692052,E:.692052,F:.692052,G:.692052,H:.692052,I:.692052,J:.692052,K:.692052,L:.692052,M:.692052,N:.692052,O:.692052,P:.692052,Q:.692052,R:.692052,S:.692052,T:.692052,U:.692052,V:.692052,W:.692052,X:.692052,Y:.692052,Z:.692052,"[":.692052,"\\\\":.692052,"]":.692052,"^":.692052,_:.692052,a:.692052,b:.692052,c:.692052,d:.692052,e:.692052,f:.692052,g:.692052,h:.692052,i:.692052,j:.692052,k:.692052,l:.692052,m:.692052,n:.692052,o:.692052,p:.692052,q:.692052,r:.692052,s:.692052,t:.692052,u:.692052,v:.692052,w:.692052,x:.692052,y:.692052,z:.692052," ":.692052},v5={},a0={glyphWidthRatio:A4,spaceWidthRatio:k4,lineHeightRatio:T4,strokeWidthRatio:I4,letterSpacingRatio:N4};var O4={0:[[{x:.019944796633211075,y:.35828068632415006},{x:.020222641007547733,y:.3550960892473839},{x:.020327535068617307,y:.3519011161217302},{x:.02060526835904108,y:.3507104904820116},{x:.02071153113201321,y:.34949252766745387},{x:.047065531132013214,y:.20882352766745393},{x:.047989939967683706,y:.20564918300405605},{x:.04875673163473768,y:.20243312543665407},{x:.04922094308839032,y:.20142201853303832},{x:.04953201774467938,y:.20035381349539033},{x:.05105794824635218,y:.1974208061920286},{x:.05243742793298141,y:.1944161379022362},{x:.1205174279329814,y:.07784313790223615},{x:.1216536619223176,y:.07627409360623287},{x:.12261018498510404,y:.07458945972562232},{x:.1242345189777056,y:.07271014544101197},{x:.12569143736362237,y:.07069826276137084},{x:.12711194429242206,y:.06938103546641537},{x:.12837874379901673,y:.06791537974577894},{x:.130338502698373,y:.06638906779986004},{x:.132159925645859,y:.06470007355882942},{x:.13381011622947792,y:.06368528357115737},{x:.13533850978527173,y:.062494930337889824},{x:.2330665097852717,y:.000743930337889824},{x:.2364974226485404,y:-.000978818921256936},{x:.23988324554357096,y:-.0027885789630079164},{x:.24043487144166406,y:-.0029559128497863825},{x:.24095002304009888,y:-.0032145836671228292},{x:.2446511035824589,y:-.0042348928870151745},{x:.24832493550927423,y:-.005349337618145378},{x:.24889860729226898,y:-.005405839357118937},{x:.2494543245702404,y:-.005559038796006631},{x:.2532833423420387,y:-.0058376980655201055},{x:.257104,y:-.006214000000000011},{x:.344948,y:-.006214000000000011},{x:.34876845169289644,y:-.005837718351308385},{x:.352597265623821,y:-.005559109487024962},{x:.35315318526669126,y:-.00540585978827806},{x:.3537270644907258,y:-.005349337618145378},{x:.3574006983675983,y:-.004234952964808514},{x:.36110158881940224,y:-.0032147329490055873},{x:.36161692908913895,y:-.0029559733581057666},{x:.36216875445642904,y:-.0027885789630079164},{x:.36555439482758706,y:-.000978916482299381},{x:.3689851386556908,y:.0007437082019616584},{x:.4667151386556908,y:.06249470820196166},{x:.46824382031514195,y:.0636852631221029},{x:.4698943035897058,y:.06470024765114774},{x:.4717154585013725,y:.06638901501054441},{x:.47367495473362387,y:.0679150932923645},{x:.4749419974608878,y:.0693810030307532},{x:.47636275350351887,y:.0706984782301942},{x:.4778194532662604,y:.07271008609647399},{x:.47944357522443626,y:.07458911996296573},{x:.4804002872780698,y:.07627405043044727},{x:.48153671723081914,y:.07784338646721853},{x:.5496157172308191,y:.19441638646721857},{x:.5509951179002539,y:.19742093333312605},{x:.5525209822553206,y:.20035381349539033},{x:.5528320971760705,y:.20142215679791795},{x:.5532963622471587,y:.2024333975455826},{x:.5540631001039363,y:.20564932060673602},{x:.5549874688679868,y:.20882352766745393},{x:.5813414688679868,y:.34949252766745387},{x:.5814477200321959,y:.3507103574246747},{x:.581725430046729,y:.351900851345405},{x:.5818303474337426,y:.35509595676374855},{x:.5821082033667889,y:.35828068632415006},{x:.5819748261451739,y:.3594958443979094},{x:.5820149461972951,y:.36071764184793353},{x:.5710349461972951,y:.5284976418479336},{x:.5705756858728281,y:.5312810757499365},{x:.5703149436633981,y:.5340900680661724},{x:.5698592272920282,y:.5356233082419208},{x:.5695988288779222,y:.5372015019922555},{x:.5686053720955593,y:.5398418557477263},{x:.5678016327590553,y:.5425460057826548},{x:.5216826327590552,y:.6556800057826547},{x:.5211943471023096,y:.656605995281004},{x:.5208498728309648,y:.6575945381025444},{x:.5191405880551111,y:.6605007631972294},{x:.5175679428069421,y:.6634831423933323},{x:.5169083878327574,y:.664296079457111},{x:.5163776774005638,y:.665198424109003},{x:.5141342596628157,y:.6677153419860701},{x:.5120099990343735,y:.6703336077343061},{x:.511204521070525,y:.6710022516480534},{x:.510507969381766,y:.6717837215313657},{x:.425955969381766,y:.7497057215313657},{x:.4243831978740034,y:.750892537075826},{x:.42294870744900304,y:.7522432326643229},{x:.4208707687817478,y:.7535430209032156},{x:.4189143183619635,y:.7550193610827685},{x:.4171402309909699,y:.7558765397994217},{x:.4154697962599445,y:.7569214269519826},{x:.41317820849544135,y:.7577908544006052},{x:.41097133104084405,y:.7588571425751742},{x:.40906410498936707,y:.7593517435666508},{x:.4072219198222394,y:.7600506678559823},{x:.3127869198222394,y:.7856226678559822},{x:.3097655669518694,y:.7861297177594856},{x:.3067801557646532,y:.7868174624905968},{x:.3054245519856559,y:.7868582361795984},{x:.30408703940192616,y:.7870827004032797},{x:.3010248204508113,y:.7869905707806608},{x:.2979626007613803,y:.7870826758597451},{x:.29662508997676323,y:.7868582009159747},{x:.29526948652460844,y:.786817416361878},{x:.2922840808497275,y:.7861296477028675},{x:.28926273204343433,y:.7856225735833884},{x:.19483073204343437,y:.7600505735833885},{x:.19298859701529922,y:.7593516514268194},{x:.1910814199885863,y:.7588570511522524},{x:.1888745059729717,y:.757790729268721},{x:.18658288068670334,y:.7569212665731724},{x:.18491249471518256,y:.7558763912940257},{x:.18313845528709377,y:.7550192228447639},{x:.18118197558509466,y:.7535428424712565},{x:.17910400699337814,y:.7522430123425641},{x:.17766956207459372,y:.7508923379118444},{x:.17609683558545802,y:.7497055417906873},{x:.09154583558545802,y:.6717835417906872},{x:.09084937681091164,y:.6710021668773223},{x:.09004400096562647,y:.6703336077343061},{x:.087919657143162,y:.6677152394449524},{x:.08567616637982708,y:.6651982097729843},{x:.0851455285488078,y:.6642959763928821},{x:.08448605719305789,y:.6634831423933323},{x:.08291335035419628,y:.6605006463960624},{x:.08120401576602496,y:.6575942974079984},{x:.08085959099279398,y:.6566058778839782},{x:.08037136724094471,y:.6556800057826547},{x:.03425236724094472,y:.5425460057826548},{x:.03344866581310472,y:.5398419832899659},{x:.03245524021837327,y:.537201759963462},{x:.0321948107181119,y:.5356234361255728},{x:.03173905633660196,y:.5340900680661724},{x:.03147832642517492,y:.5312812082371015},{x:.031019071243648687,y:.5284979083423142},{x:.020038071243648682,y:.36071790834231426},{x:.020078188427320915,y:.3594959771633442},{x:.019944796633211075,y:.35828068632415006}],[{x:.11021604810185967,y:.3604951889884744},{x:.12035004420691338,y:.5153337161267963},{x:.1599220965290545,y:.612407472440097},{x:.22898846858521874,y:.6760588762479813},{x:.301025186831377,y:.6955662779655215},{x:.373064807645506,y:.6760587099720985},{x:.44213195602343713,y:.6124073435241713},{x:.48170390405887986,y:.5153338430353971},{x:.49183697687726113,y:.3604953223188204},{x:.4679633532090146,y:.23306575687188358},{x:.4093572783633461,y:.13271343144136735},{x:.3319224534250481,y:.08378599999999999},{x:.27012977192577264,y:.08378599999999999},{x:.19269670382412518,y:.13271332265415062},{x:.13408961949133952,y:.23306590258843124},{x:.11021604810185967,y:.3604951889884744}]],1:[[{x:.17556757075794932,y:.5951166967821685},{x:.17573368487361973,y:.586296718297643},{x:.17761729959585784,y:.5776786204828649},{x:.18114602866723137,y:.5695935920037709},{x:.1861842650084615,y:.5623523359706766},{x:.19253839202243023,y:.5562331297919906},{x:.19996422417142623,y:.5514711311294693},{x:.20817639089041826,y:.548249340921154},{x:.21685930321783156,y:.5466915707579493},{x:.225679281702357,y:.5468576848736197},{x:.2342973795171352,y:.5487412995958578},{x:.24238240799622912,y:.5522700286672314},{x:.24962366402932343,y:.5573082650084615},{x:.33662600000000004,y:.6314944876419193},{x:.33662600000000004,y:.051034000000000024},{x:.33749066238185466,y:.042254935509274234},{x:.3400514210369921,y:.033813245543570986},{x:.3442098674463855,y:.026033339514117928},{x:.34980619484660536,y:.019214194846605387},{x:.35662533951411796,y:.013617867446385483},{x:.364405245543571,y:.00945942103699212},{x:.3728469355092743,y:.006898662381854659},{x:.381626,y:.0060340000000000255},{x:.3904050644907258,y:.006898662381854659},{x:.3988467544564291,y:.00945942103699212},{x:.40662666048588214,y:.01361786744638549},{x:.4134458051533947,y:.019214194846605387},{x:.41904213255361455,y:.026033339514117928},{x:.42320057896300795,y:.033813245543570986},{x:.4257613376181454,y:.042254935509274255},{x:.426626,y:.051034000000000024},{x:.426626,y:.729004},{x:.42636789988195944,y:.7316245344755278},{x:.4263183151263803,y:.7342572817023569},{x:.42593657376816557,y:.7360038620015019},{x:.4257613376181454,y:.7377830644907257},{x:.42499695590681574,y:.7403028932959718},{x:.4244347004041422,y:.7428753795171351},{x:.42371955318609683,y:.744513925721078},{x:.42320057896300795,y:.746224754456429},{x:.4219592904188853,y:.7485470419835442},{x:.42090597133276864,y:.7509604079962291},{x:.419884900961423,y:.7524279516932593},{x:.41904213255361455,y:.7540046604858821},{x:.41737163919932724,y:.7560401625275525},{x:.41586773499153856,y:.7582016640293234},{x:.4145799806286405,y:.7594418083381722},{x:.4134458051533947,y:.7608238051533946},{x:.41141030311172405,y:.7624942985076821},{x:.4095136079775698,y:.7643208702080094},{x:.40800865730110464,y:.7652859570783687},{x:.40662666048588214,y:.7664201325536145},{x:.40430437295876726,y:.767661421097737},{x:.4020877758285738,y:.7690828688705307},{x:.4004234632490515,y:.7697358105551997},{x:.3988467544564291,y:.7705785789630079},{x:.39632692565118355,y:.7713429606743374},{x:.3938756091095818,y:.772304659078846},{x:.39211589322607654,y:.7726203633950566},{x:.3904050644907258,y:.7731393376181454},{x:.3877845300151986,y:.7733974377361859},{x:.3851926967821685,y:.7738624292420507},{x:.38340520248922366,y:.7738287638499798},{x:.381626,y:.774004},{x:.37900546552447173,y:.7737458998819594},{x:.376372718297643,y:.7736963151263803},{x:.37462613799849803,y:.7733145737681656},{x:.3728469355092743,y:.7731393376181454},{x:.3703271067040287,y:.7723749559068158},{x:.36775462048286484,y:.7718127004041422},{x:.3661160742789217,y:.7710975531860966},{x:.364405245543571,y:.7705785789630079},{x:.3620829580164563,y:.7693372904188854},{x:.3596695920037709,y:.7682839713327686},{x:.35820204830674063,y:.7672629009614229},{x:.35662533951411796,y:.7664201325536145},{x:.3545898374724472,y:.7647496391993269},{x:.35242833597067663,y:.7632457349915385},{x:.1912283359706766,y:.6257917349915385},{x:.18510912979199054,y:.6194376079775697},{x:.18034713112946932,y:.6120117758285738},{x:.17712534092115398,y:.6037996091095817},{x:.17556757075794932,y:.5951166967821685}]],2:[[{x:.034589999999999996,y:.05195499999999997},{x:.034692251306008066,y:.05091682506774448},{x:.03463809526377374,y:.04987503351343359},{x:.03512383076438082,y:.04653492529109402},{x:.03545466238185463,y:.043175935509274184},{x:.03575748683953214,y:.042177657057450094},{x:.03590761484026801,y:.04114531791601493},{x:.0370356398580977,y:.03796415123181852},{x:.03801542103699209,y:.034734245543570935},{x:.03850718127225641,y:.0338142268532408},{x:.03885582398108696,y:.03283101233894428},{x:.040582789147307716,y:.02993103764454602},{x:.04217386744638545,y:.02695433951411788},{x:.04283566538917773,y:.026147936387598623},{x:.04336942466232366,y:.025251630882832152},{x:.04562896367409083,y:.022744292579413156},{x:.04777019484660536,y:.020135194846605337},{x:.04857659797312457,y:.019473396903813094},{x:.04927496174105457,y:.01869844492647086},{x:.0519802417813102,y:.01668009861889986},{x:.05458933951411791,y:.014538867446385433},{x:.055509358204447995,y:.01404710721112114},{x:.05634548873920743,y:.013423289731094336},{x:.05939254741314285,y:.011971499336069797},{x:.062369245543570956,y:.01038042103699207},{x:.0633675239953951,y:.010077596579314544},{x:.06430928926944049,y:.00962888655251979},{x:.06758102982102647,y:.008799443560749052},{x:.07081093550927423,y:.007819662381854608},{x:.0718491104415297,y:.007717411075846537},{x:.07286031894352762,y:.007461052176974015},{x:.07623101021818018,y:.0072858316174737835},{x:.07959,y:.006954999999999975},{x:.522462,y:.006954999999999975},{x:.5312410644907257,y:.007819662381854608},{x:.539682754456429,y:.01038042103699207},{x:.5474626604858821,y:.014538867446385433},{x:.5542818051533946,y:.020135194846605337},{x:.5598781325536145,y:.02695433951411788},{x:.5640365789630079,y:.034734245543570935},{x:.5665973376181453,y:.043175935509274205},{x:.567462,y:.05195499999999997},{x:.5665973376181453,y:.06073406449072574},{x:.5640365789630079,y:.06917575445642901},{x:.5598781325536145,y:.07695566048588207},{x:.5542818051533946,y:.08377480515339461},{x:.5474626604858821,y:.08937113255361451},{x:.539682754456429,y:.09352957896300787},{x:.5312410644907257,y:.09609033761814534},{x:.522462,y:.09695499999999997},{x:.1815000359059797,y:.09695499999999997},{x:.2783905550735291,y:.2032469617410546},{x:.2792807818102756,y:.20444017254595384},{x:.28031851181367967,y:.20550758629318672},{x:.43775551181367967,y:.4029575862931866},{x:.4393581707982963,y:.4054309283363016},{x:.4411189018513206,y:.4077943501865292},{x:.5036359018513206,y:.5115903501865292},{x:.5044316302389797,y:.5132634494776924},{x:.5054127007337849,y:.5148350555317778},{x:.5063216043693862,y:.5172373109446714},{x:.5074247535047713,y:.5195567934026113},{x:.5078787867151084,y:.5213529834674229},{x:.5085344010842773,y:.5230857889106145},{x:.5229384010842772,y:.5764717889106146},{x:.5230947969602031,y:.5774089507908463},{x:.5233933154704733,y:.5783109589719573},{x:.5238196553887738,y:.5817524776504878},{x:.5243904806061233,y:.5851730002877248},{x:.5243610401661515,y:.586122666187007},{x:.5244778496604383,y:.5870655806061408},{x:.5252778496604383,y:.6189585806061408},{x:.525154398698275,y:.6206444560860672},{x:.5252359209411441,y:.6223328785443973},{x:.5248330095087286,y:.6250334227224941},{x:.5246336028763079,y:.6277565667648055},{x:.5241836259995084,y:.6293859645321488},{x:.5239341869342451,y:.6310578486269935},{x:.5118811869342451,y:.6790048486269935},{x:.5115474759395316,y:.6799350391147754},{x:.5113589931552627,y:.6809051378786065},{x:.5100605296725933,y:.6840797730170447},{x:.5089023081582834,y:.6873082151493771},{x:.5083935381649621,y:.6881554285023456},{x:.5080194201443183,y:.6890701159233712},{x:.5061265656819337,y:.6919304336788418},{x:.5043607612540449,y:.6948708843926746},{x:.5036964840076373,y:.6956025626767983},{x:.5031511078963445,y:.6964266878303904},{x:.4695951078963445,y:.7376876878303904},{x:.46829294792790443,y:.7390014838193654},{x:.46714904955699066,y:.7404551608815331},{x:.46519525859727806,y:.7421268539092958},{x:.4633851429208498,y:.7439531446668906},{x:.4618516947085211,y:.7449876576267703},{x:.4604461776978856,y:.7461902391902692},{x:.4582037971525157,y:.7474486453977692},{x:.45607217068925404,y:.7488867084403534},{x:.4543663637878686,y:.7496021826182516},{x:.45275324136800726,y:.7505074541480116},{x:.3913892413680073,y:.7774134541480116},{x:.3883140702117422,y:.7784156528007931},{x:.3852957573995619,y:.7795779210778271},{x:.3841283231887951,y:.779779788263216},{x:.3830018757962646,y:.7801468976050565},{x:.3797902739335826,y:.7805299031606142},{x:.3766032098633093,y:.781080995160135},{x:.2948022098633093,y:.7870669951601349},{x:.29450281220893076,y:.7870594704966325},{x:.2942070489499988,y:.7871065838776864},{x:.29009611613079095,y:.7869487184427649},{x:.2859834519838158,y:.7868453561974301},{x:.28569127516043946,y:.7867795665334233},{x:.28539200354491423,y:.7867680740946454},{x:.2381110035449142,y:.7802710740946455},{x:.2365476307297285,y:.7798972084805876},{x:.2349498387179436,y:.7797212234138579},{x:.23226739693423346,y:.7788736316211718},{x:.2295313767481002,y:.7782193386355017},{x:.22807098126622102,y:.7775476578384392},{x:.22653822336325463,y:.7770633405173258},{x:.15287222336325462,y:.7455503405173259},{x:.15277120515837472,y:.7454948388638573},{x:.15266147866932564,y:.7454595513468599},{x:.14890641990559073,y:.7433714396994592},{x:.14514076206912752,y:.7413025033471496},{x:.1450525127361761,y:.7412283604682699},{x:.14495177886390068,y:.7411723444149347},{x:.14167624287507044,y:.7383917796239132},{x:.1383865705572421,y:.7356279539035645},{x:.138314481468594,y:.7355380190685297},{x:.13822661135931125,y:.7354634271443719},{x:.09327661135931127,y:.6889934271443718},{x:.09215967204365061,y:.6875853345117547},{x:.09088652507606766,y:.6863167230283468},{x:.0894249598835053,y:.6841377631074377},{x:.0877944205712414,y:.6820821900242812},{x:.08697364817646357,y:.6804832494460014},{x:.08597245819367963,y:.6789906353246448},{x:.0849640705590952,y:.6765684062835642},{x:.08376588401722862,y:.6742342280213215},{x:.08327282036617045,y:.6725058858871059},{x:.08258206253775009,y:.6708466294514168},{x:.06737006253775008,y:.6210196294514168},{x:.06563362911198059,y:.61237067498716},{x:.06561788807912042,y:.6035491464015462},{x:.0673234443582347,y:.5948940500909503},{x:.07068475437800403,y:.5867379965527546},{x:.07557264487941309,y:.5793944183504645},{x:.08179927697165325,y:.5731455250760676},{x:.08912536467535526,y:.5682314581936796},{x:.09726937054858317,y:.56484106253775},{x:.10591832501283995,y:.5631046291119806},{x:.11473985359845373,y:.5630888880791204},{x:.12339494990904962,y:.5647944443582347},{x:.13155100344724535,y:.568155754378004},{x:.13889458164953555,y:.5730436448794131},{x:.14514347492393234,y:.5792702769716532},{x:.15005754180632036,y:.5865963646753553},{x:.1534479374622499,y:.5947403705485832},{x:.16549687462406137,y:.6342067386764809},{x:.19660916323298405,y:.666371100226128},{x:.2563653288901179,y:.6919337213587163},{x:.29295461470925055,y:.696961546277117},{x:.3623268316838737,y:.6918850546595318},{x:.40664087103378327,y:.672454875030618},{x:.4270299373286165,y:.6473841495451277},{x:.4351521014718352,y:.6150740687208592},{x:.4346413299816387,y:.5947115247998124},{x:.4232850296720603,y:.5526213103922067},{x:.3655461500158852,y:.45675834907300783},{x:.21087613207581168,y:.2627785664153893},{x:.04633344492647088,y:.0822700382589454},{x:.04431509861889995,y:.07956475821868986},{x:.04217386744638545,y:.07695566048588207},{x:.04168210721112112,y:.0760356417955519},{x:.04105828973109435,y:.07519951126079251},{x:.03960649933606985,y:.07215245258685718},{x:.03801542103699209,y:.06917575445642901},{x:.037712596579314576,y:.0681774760046049},{x:.037263886552519804,y:.06723571073055948},{x:.036434443560749034,y:.06396397017897336},{x:.03545466238185463,y:.06073406449072574},{x:.03535241107584656,y:.059695889558470286},{x:.035096052176974035,y:.05868468105647236},{x:.03492083161747381,y:.05531398978181981},{x:.034589999999999996,y:.05195499999999997}]],3:[[{x:.02624429558875499,y:.07454886751538828},{x:.02628189246403191,y:.06572740500388341},{x:.028039748887915363,y:.057082779207475086},{x:.03145031142385274,y:.04894719824755728},{x:.036382514066253493,y:.04163330793793327},{x:.042646815033581253,y:.035422176981524986},{x:.05000248075272204,y:.030552495657744837},{x:.05816683711519421,y:.027211403088916904},{x:.11448783711519421,y:.010388403088916982},{x:.11753114712885143,y:.009796523380387901},{x:.12053464064709668,y:.009027703431080128},{x:.20267064064709667,y:-.0035892965689199724},{x:.20562630159751,y:-.003749783589053152},{x:.20856537842676282,y:-.004101230781641964},{x:.30947437842676284,y:-.00620423078164193},{x:.31075400531193675,y:-.006105070212514369},{x:.31203499449415534,y:-.0061847225744922005},{x:.3151428517207607,y:-.005764970678224511},{x:.3182695531731509,y:-.005522677007230838},{x:.31950524711917533,y:-.005175778959545043},{x:.3207771618583987,y:-.005003992231664048},{x:.3829651618583987,y:.009716007768336019},{x:.3849642059743718,y:.010402067561162992},{x:.38702295869345676,y:.010879972006216251},{x:.389126076828856,y:.011830396347599064},{x:.3913090018652735,y:.012579562954916447},{x:.3931357912831918,y:.013642434461507345},{x:.39506175111398195,y:.014512798837572657},{x:.47719975111398194,y:.06182779883757265},{x:.47924722409526294,y:.06329195880211928},{x:.48141099047099317,y:.06457804786673271},{x:.4828265323572166,y:.06585154318044145},{x:.484375351035892,y:.06695911252196202},{x:.4860978389589892,y:.06879458122658251},{x:.48796912564078,y:.07047808832945178},{x:.54077112564078,y:.12830608832945176},{x:.5409949120745448,y:.12860551518367325},{x:.5412686389329152,y:.1288600940829806},{x:.5436334835107667,y:.13213593090859313},{x:.5460522072884215,y:.13537218987116906},{x:.5462132784472015,y:.1357095218897727},{x:.546432079841298,y:.13601261058785885},{x:.5481124005325159,y:.13968686141763526},{x:.5498532864078638,y:.14333280617235186},{x:.5499454524173568,y:.14369507987504085},{x:.5501009199323095,y:.14403503084321223},{x:.5735679199323094,y:.2123790308432122},{x:.5742003382158373,y:.21504899342087444},{x:.5750294951185407,y:.21766455299430504},{x:.5752146521018063,y:.21933125436759},{x:.575601167738761,y:.22096305773765262},{x:.575700550423256,y:.22370509641963415},{x:.5760035049491392,y:.22643215923642232},{x:.5758599468852712,y:.22810295774565637},{x:.5759206866877095,y:.2297788119316045},{x:.5754832145523405,y:.2324875517091097},{x:.575248324328873,y:.23522131827456078},{x:.563515324328873,y:.2983063182745607},{x:.5624930457986839,y:.30183400865706583},{x:.561587550163308,y:.3053934651440046},{x:.5612670272694029,y:.3060647673464004},{x:.5610599744254687,y:.30677926765590185},{x:.5593691204378909,y:.31003973780923805},{x:.5577866081350055,y:.3133541469027738},{x:.5573412794357957,y:.31395001930700017},{x:.5569988129587381,y:.31461039668740554},{x:.5547043620842722,y:.317478348572073},{x:.5525056481741942,y:.32042033938948294},{x:.4997036481741942,y:.378250339389483},{x:.4970091109540712,y:.38067456957783247},{x:.49440132723244246,y:.38319188697894757},{x:.4937347452782226,y:.3836204617554604},{x:.49314561461057166,y:.3841504927896343},{x:.49002990831948917,y:.38600246394071897},{x:.48698112816844114,y:.387962658427834},{x:.4171684643874312,y:.4237087345514058},{x:.48487098803351525,y:.4540412587201935},{x:.4882241875669253,y:.4559584413246188},{x:.4916233115558361,y:.4577929691542233},{x:.4920492459188098,y:.45814540790983926},{x:.4925291804180174,y:.45841980913886743},{x:.49544392539098053,y:.4609543303938907},{x:.49841983754054403,y:.46341674447922576},{x:.545354837540544,y:.5107317444792258},{x:.5454749496657809,y:.5108793107625336},{x:.5456205162109946,y:.5110018387655073},{x:.548258239278959,y:.5142987798858712},{x:.5509236260451226,y:.5175733969812307},{x:.5510126414958236,y:.5177415605329735},{x:.5511315069931322,y:.5178901328189077},{x:.5530753456471339,y:.5216383183828395},{x:.5550506716503533,y:.525370005791429},{x:.5551051696126684,y:.5255523041806199},{x:.555192766127671,y:.525721211199887},{x:.5563680197383496,y:.5297766005381628},{x:.5575773743081012,y:.5338219516056334},{x:.5575952604559016,y:.5340113792074108},{x:.557648221703651,y:.5341941299579837},{x:.569382221703651,y:.5972801299579837},{x:.5696549699390315,y:.6004540423597167},{x:.5701008412017201,y:.6036082951002054},{x:.5700318821169291,y:.6048400880993865},{x:.5701375119403227,y:.6060692795769916},{x:.5697858198023349,y:.6092354166829699},{x:.5696077595908724,y:.6124160465097288},{x:.5692998146426919,y:.6136107177017713},{x:.5691636114574624,y:.614836897966064},{x:.5682009942777376,y:.6178735869028962},{x:.5674058453461934,y:.6209583639953996},{x:.5668707486862845,y:.622070002836373},{x:.5664979467044567,y:.623246050467446},{x:.5649613973213707,y:.6260365929822823},{x:.5635797167972587,y:.6289069710868302},{x:.5283787167972587,y:.6867359710868302},{x:.526364685994031,y:.6894131274243959},{x:.524479650893362,y:.6921826271628648},{x:.5237177195860089,y:.6929316152663909},{x:.5230754099184859,y:.6937854072711274},{x:.5205777908604191,y:.6960182048823972},{x:.5181886735848373,y:.6983667373551676},{x:.4595186735848373,y:.7456807373551677},{x:.45627545779875317,y:.7478078267647688},{x:.4530837115337172,y:.7500113951823929},{x:.4525909707504246,y:.7502243275150239},{x:.4521421155924859,y:.7505187128152536},{x:.44854624273044896,y:.7519722107862162},{x:.4449859301027389,y:.7535107594479447},{x:.362848930102739,y:.7797967594479446},{x:.36158078031831586,y:.7800691142952486},{x:.3603625229719573,y:.7805143446587972},{x:.35727696699365546,y:.7809934249999153},{x:.35422405316989464,y:.781649085623381},{x:.352927136733123,y:.7816688034988555},{x:.3516454277250751,y:.7818678086678129},{x:.2577774277250751,y:.7871168086678129},{x:.2534831925795917,y:.7869349938938289},{x:.24918809681378723,y:.7867747925856998},{x:.2490774333618657,y:.786748457272228},{x:.24896378128970398,y:.7867436453266514},{x:.24478752897123962,y:.7857275603552258},{x:.2406062159909945,y:.7847325056542677},{x:.16433721599099446,y:.7584545056542678},{x:.1612047546311144,y:.7570179671101032},{x:.15801334200327716,y:.7557176430739929},{x:.09817134200327716,y:.7241756430739928},{x:.09479788711775466,y:.721949723610623},{x:.09138819905405325,y:.7197797137879894},{x:.05384019905405325,y:.6903397137879895},{x:.04746503339724546,y:.6842424293748122},{x:.0424018859405069,y:.677018569451043},{x:.0388453306011542,y:.6689457429023652},{x:.036932043806339465,y:.6603341839257509},{x:.036735552094603836,y:.6515148299032538},{x:.03826340653223549,y:.6428266036640077},{x:.041456892530026886,y:.6346033888699733},{x:.046193286212010486,y:.6271611990540533},{x:.05229057062518783,y:.6207860333972455},{x:.05951443054895701,y:.615722885940507},{x:.06758725709763488,y:.6121663306011542},{x:.07619881607424907,y:.6102530438063395},{x:.08501817009674617,y:.6100565520946039},{x:.09370639633599236,y:.6115844065322356},{x:.1019296111300268,y:.6147778925300269},{x:.10937180094594674,y:.6195142862120105},{x:.14372643260130716,y:.6464504840370294},{x:.1969218011618275,y:.6744891243755197},{x:.2615721948597163,y:.6967640072977177},{x:.3408866683163358,y:.6923288252210377},{x:.40955721054777616,y:.6703524458415177},{x:.4555820596629536,y:.6332360369266462},{x:.477752059875079,y:.596814658492312},{x:.4716998550115053,y:.5642759337587675},{x:.44042564505409965,y:.532748518309004},{x:.3700728058889163,y:.5012285825754976},{x:.28267158635688694,y:.4816496665818946},{x:.2026156257994338,y:.47140070238604853},{x:.19958923290487823,y:.4707064281346213},{x:.19652752938874105,y:.4701896668089735},{x:.19529880233776667,y:.46972217540403877},{x:.1940174323454584,y:.4694282207777866},{x:.19118463692903986,y:.4681568668470777},{x:.18828257832087977,y:.4670527262205195},{x:.18716866396437967,y:.46635450477580015},{x:.18596926283986664,y:.4658162155208443},{x:.1834389276407875,y:.4640166393294268},{x:.18080803842542348,y:.46236755090702814},{x:.17985174386742717,y:.4614654316810775},{x:.17878040392329292,y:.4607034939516098},{x:.17664976830422657,y:.45844485220330683},{x:.1743911520787843,y:.45631418952832026},{x:.17362922718285934,y:.45524284045707714},{x:.17272711941234267,y:.45428653509274164},{x:.17107806250525512,y:.45165562612327925},{x:.16927851662463225,y:.44912526936741537},{x:.1687402417372368,y:.44792586179486843},{x:.1680420336360506,y:.4468119390745141},{x:.1669379277730794,y:.44390986724015796},{x:.1656666077762714,y:.4410770565945043},{x:.16537266849946,y:.43979568308103084},{x:.16490519181337332,y:.438566950430106},{x:.16438846716364272,y:.4355052407239498},{x:.16369422916516244,y:.43247883951296023},{x:.16365592142049992,y:.43116474252408066},{x:.16343714101639506,y:.42986841944927895},{x:.1635276550184117,y:.4267647316583033},{x:.16343717819520762,y:.42366104278329114},{x:.1636559741278381,y:.4223647223293339},{x:.1636942976139514,y:.42105062579943375},{x:.1643885718653787,y:.41802423290487795},{x:.16490533319102646,y:.414962529388741},{x:.1653728245959611,y:.41373380233776696},{x:.1656667792222133,y:.41245243234545836},{x:.1669381331529224,y:.40961963692903947},{x:.16804227377948042,y:.40671757832087974},{x:.16874049522419982,y:.4056036639643795},{x:.16927878447915568,y:.4044042628398666},{x:.17107836067057278,y:.40187392764078794},{x:.1727274490929718,y:.3992430384254234},{x:.17362956831892262,y:.3982867438674269},{x:.17439150604839013,y:.3972154039232929},{x:.1766501477966929,y:.39508476830422673},{x:.1787808104716797,y:.39282615207878424},{x:.17985215954292283,y:.39206422718285927},{x:.18080846490725827,y:.39116211941234263},{x:.18343937387672077,y:.38951306250525497},{x:.18596973063258454,y:.3877135166246322},{x:.18716913820513145,y:.3871752417372368},{x:.1882830609254858,y:.38647703363605057},{x:.19118513275984234,y:.3853729277730792},{x:.19401794340549564,y:.3841016077762714},{x:.19529931691896882,y:.38380766849946},{x:.19652804956989395,y:.38334019181337325},{x:.19958975927605035,y:.38282346716364263},{x:.20261616048703973,y:.3821292291651624},{x:.28149235433605535,y:.37203226198800626},{x:.3678476199052635,y:.34785057975990136},{x:.4387239808422848,y:.31155986033736477},{x:.4773813812672204,y:.26922136053481893},{x:.48460036747312013,y:.2304069273293995},{x:.4680118822440525,y:.1820955353962423},{x:.4262197745588727,y:.1363254129914362},{x:.35583608100487274,y:.09578139608686695},{x:.3056218275014876,y:.083895601213743},{x:.2134048551529998,y:.08581745449589688},{x:.13726972612583144,y:.09751265420048184},{x:.0839251628848058,y:.11344659691108305},{x:.0752658675153883,y:.11513070441124498},{x:.06644440500388343,y:.11509310753596806},{x:.05779977920747511,y:.11333525111208462},{x:.0496641982475573,y:.10992468857614723},{x:.04235030793793329,y:.10499248593374648},{x:.036139176981525016,y:.09872818496641873},{x:.03126949565774486,y:.09137251924727793},{x:.027928403088916927,y:.08320816288480577},{x:.02624429558875499,y:.07454886751538828}]],4:[[{x:.003828000000000005,y:.27580099999999996},{x:.0040512821902059844,y:.2735339778783202},{x:.004058111165048277,y:.2712559968420181},{x:.004482570943879651,y:.26915502967601196},{x:.004692662381854638,y:.26702193550927417},{x:.005353928343121064,y:.26484203377636983},{x:.005805038155045426,y:.26260915577382815},{x:.0066312204192078995,y:.26063136609773396},{x:.0072534210369921,y:.25858024554357095},{x:.008327258689269697,y:.2565712366005347},{x:.009205313441189196,y:.2544692698811785},{x:.010401468469599332,y:.25269066304309135},{x:.011411867446385462,y:.25080033951411784},{x:.01285700981091242,y:.2490394284479652},{x:.014128266351129452,y:.24714915041402313},{x:.01564842657685691,y:.24563807727727646},{x:.017008194846605366,y:.24398119484660533},{x:.018769105912757822,y:.24253605248207852},{x:.020384710565360974,y:.24093010545831445},{x:.022170457083446928,y:.23974463571613375},{x:.023827339514117918,y:.23838486744638543},{x:.025836348457154004,y:.2373110297941079},{x:.027734214441385185,y:.2360511294240198},{x:.029716922014597604,y:.23523682001377813},{x:.031607245543570965,y:.23422642103699207},{x:.03378714727647517,y:.23356515507572567},{x:.03589434066689576,y:.23269971862397582},{x:.03799781495511128,y:.23228786299963877},{x:.040048935509274235,y:.2316656623818546},{x:.04231595763095386,y:.23144238019164864},{x:.0445515001672978,y:.23100466589573537},{x:.046694905833262405,y:.23101109143797494},{x:.048828,y:.23080099999999998},{x:.36918100000000004,y:.23080099999999998},{x:.36918100000000004,y:.05103000000000002},{x:.37004566238185466,y:.04225093550927423},{x:.3726064210369921,y:.03380924554357098},{x:.3767648674463855,y:.026029339514117924},{x:.38236119484660536,y:.019210194846605383},{x:.38918033951411796,y:.013613867446385479},{x:.396960245543571,y:.009455421036992116},{x:.4054019355092743,y:.006894662381854655},{x:.414181,y:.0060300000000000215},{x:.4229600644907258,y:.006894662381854655},{x:.4314017544564291,y:.009455421036992116},{x:.43918166048588214,y:.013613867446385486},{x:.4460008051533947,y:.019210194846605383},{x:.45159713255361456,y:.026029339514117924},{x:.45575557896300795,y:.03380924554357098},{x:.4583163376181454,y:.04225093550927425},{x:.459181,y:.05103000000000002},{x:.459181,y:.23080099999999998},{x:.553224,y:.23080099999999998},{x:.5620030644907258,y:.2316656623818546},{x:.5704447544564291,y:.23422642103699207},{x:.5782246604858822,y:.23838486744638543},{x:.5850438051533947,y:.24398119484660533},{x:.5906401325536146,y:.25080033951411784},{x:.5947985789630079,y:.25858024554357095},{x:.5973593376181454,y:.26702193550927417},{x:.5982240000000001,y:.27580099999999996},{x:.5973593376181454,y:.28458006449072576},{x:.5947985789630079,y:.293021754456429},{x:.5906401325536146,y:.3008016604858821},{x:.5850438051533947,y:.3076208051533946},{x:.5782246604858822,y:.3132171325536145},{x:.5704447544564291,y:.3173755789630079},{x:.5620030644907258,y:.31993633761814533},{x:.553224,y:.32080099999999995},{x:.459181,y:.32080099999999995},{x:.459181,y:.421833},{x:.4583163376181454,y:.4306120644907258},{x:.45575557896300795,y:.439053754456429},{x:.45159713255361456,y:.4468336604858821},{x:.4460008051533947,y:.4536528051533947},{x:.43918166048588214,y:.45924913255361455},{x:.4314017544564291,y:.4634075789630079},{x:.4229600644907258,y:.4659683376181454},{x:.414181,y:.466833},{x:.4054019355092743,y:.4659683376181454},{x:.396960245543571,y:.4634075789630079},{x:.38918033951411796,y:.45924913255361455},{x:.38236119484660536,y:.4536528051533947},{x:.3767648674463855,y:.4468336604858821},{x:.3726064210369921,y:.439053754456429},{x:.37004566238185466,y:.4306120644907258},{x:.36918100000000004,y:.421833},{x:.36918100000000004,y:.32080099999999995},{x:.1436046917940101,y:.32080099999999995},{x:.4533648945416855,y:.700560710565361},{x:.45824387057598015,y:.7079102144413851},{x:.4615952813760241,y:.7160703406668958},{x:.46329033410426457,y:.7247275001672978},{x:.46326388883495173,y:.7335490031579818},{x:.46151696184495455,y:.7421958442261718},{x:.45811668655881077,y:.7503357301188214},{x:.4531937336488705,y:.7576558495859769},{x:.446937289434639,y:.7638748945416856},{x:.4395877855586148,y:.7687538705759801},{x:.43142765933310423,y:.7721052813760241},{x:.42277049983270215,y:.7738003341042645},{x:.41394899684201814,y:.7737738888349517},{x:.40530215577382817,y:.7720269618449546},{x:.39716226988117853,y:.7686266865588108},{x:.38984215041402315,y:.7637037336488706},{x:.38362310545831446,y:.757447289434639},{x:.013957105458314502,y:.304244289434639},{x:.012771635716133971,y:.30245854291655333},{x:.011411867446385462,y:.3008016604858821},{x:.010338029794107799,y:.29879265154284573},{x:.009078129424019837,y:.29689478555861476},{x:.008263820013778204,y:.2949120779854024},{x:.0072534210369921,y:.293021754456429},{x:.006592155075725704,y:.29084185272352475},{x:.005726718623975863,y:.2887346593331042},{x:.0053148629996388475,y:.28663118504488877},{x:.004692662381854638,y:.28458006449072576},{x:.00446938019164866,y:.282313042369046},{x:.00403166589573542,y:.2800774998327022},{x:.00403809143797499,y:.27793409416673776},{x:.003828000000000005,y:.27580099999999996}]],5:[[{x:.029951000000000005,y:.38529899999999995},{x:.030026331329377584,y:.3845341481773043},{x:.029977079633894697,y:.38376717530271315},{x:.030458063889865227,y:.38015069392879464},{x:.03081566238185464,y:.37651993550927415},{x:.03103876142924568,y:.3757844765131909},{x:.03114008507636279,y:.3750226322781917},{x:.0323173678705276,y:.3715694759531816},{x:.0333764210369921,y:.36807824554357094},{x:.033738714231120716,y:.3674004426508694},{x:.033986719409902104,y:.366673004302166},{x:.03581505842470893,y:.3635158758870829},{x:.03753486744638546,y:.3602983395141178},{x:.03802243206297786,y:.35970424030984804},{x:.03840758807348568,y:.3590391628952293},{x:.04081672126593952,y:.35629938906452685},{x:.04313119484660537,y:.3534791948466053},{x:.04372529405087513,y:.3529916302300129},{x:.04423279956362368,y:.3524144723015426},{x:.04713014529619686,y:.3501973410270508},{x:.04995033951411792,y:.3478828674463854},{x:.05062814240681941,y:.3475205742522568},{x:.05123849426956635,y:.347053515665452},{x:.054512709170605814,y:.34544423005866864},{x:.057730245543570965,y:.343724421036992},{x:.05846570453965444,y:.3435013219896009},{x:.05915544727260316,y:.34316231154402344},{x:.06268070509966306,y:.34222271554831923},{x:.06617193550927424,y:.3411636623818546},{x:.0669367873319697,y:.34108833105247705},{x:.06767941450870582,y:.34089039672943083},{x:.07132024158048059,y:.34065659849198926},{x:.074951,y:.34029899999999996},{x:.0757158518226955,y:.3403743313293775},{x:.07648282469728679,y:.34032507963389463},{x:.08009930607120508,y:.3408060638898651},{x:.08373006449072577,y:.3411636623818546},{x:.0844655234868091,y:.3413867614292456},{x:.08522736772180821,y:.34148808507636275},{x:.2701097088502776,y:.3848544225750548},{x:.39095673206080095,y:.3699215697302287},{x:.4312208460684155,y:.34735587040502247},{x:.4569274445394237,y:.3179203076157562},{x:.4808881134259603,y:.2201177906149206},{x:.47151862074291284,y:.1781066999956386},{x:.4461217481742335,y:.14395206669668215},{x:.3876788357927069,y:.10680533743499816},{x:.3169820044514503,y:.08634947983662909},{x:.2505487358362677,y:.08307118781270932},{x:.19638270317906092,y:.09339965838335124},{x:.15518503458472022,y:.11245499400015477},{x:.1051531598037562,y:.15775209985578706},{x:.09806479623887651,y:.16300326318775482},{x:.09008818244690309,y:.16677065575830224},{x:.0815298552225249,y:.16890949878372125},{x:.07271870628140957,y:.16933759772602197},{x:.06399334313601493,y:.16803850098293246},{x:.05568907659877849,y:.16506213211374782},{x:.04812503497563989,y:.16052287130494386},{x:.041591900144212934,y:.15459515980375618},{x:.03634073681224515,y:.1475067962388765},{x:.03257334424169774,y:.13953018244690307},{x:.03043450121627874,y:.13097185522252489},{x:.03000640227397801,y:.12216070628140954},{x:.031305499017067515,y:.1134353431360149},{x:.034281867886252176,y:.10513107659877846},{x:.03882112869505611,y:.09756703497563987},{x:.044748840196243804,y:.09103390014421289},{x:.09986584019624378,y:.041132900144212926},{x:.10178680031290575,y:.03970982481314967},{x:.10357183338498165,y:.03811957700249835},{x:.10532248536915285,y:.037090537646117014},{x:.10695420376112348,y:.035881736812245144},{x:.10911588139237749,y:.0348607662023731},{x:.11117685751196796,y:.03364931723433351},{x:.16362485751196798,y:.009390317234333478},{x:.1646572774363771,y:.009030847933342759},{x:.16562545909873666,y:.008523173483185618},{x:.16881529925253239,y:.0075831025339957205},{x:.1719558576504946,y:.006489618860012841},{x:.17303856889723523,y:.006338471796353147},{x:.17408718959239433,y:.0060294350406820685},{x:.23897018959239436,y:-.00634256495931787},{x:.2399001168767359,y:-.006426714843400178},{x:.24080591100583193,y:-.006653392925378379},{x:.24428588214420577,y:-.0068235863462415185},{x:.247755834543085,y:-.007137585190079683},{x:.24868431036339586,y:-.007038698344381461},{x:.24961692261229596,y:-.007084309202250054},{x:.32666292261229596,y:-.003282309202250082},{x:.32746661284147915,y:-.0031629125067284265},{x:.32827905619988357,y:-.00317336931171093},{x:.3318231917274382,y:-.002515696572186591},{x:.33538870069659477,y:-.001986002452099067},{x:.33615365510360457,y:-.0017121077449900682},{x:.3369525276121403,y:-.0015638637889859724},{x:.4188855276121403,y:.02214313621101406},{x:.4207304127428032,y:.02287964098341223},{x:.42264402370761556,y:.023412682727046455},{x:.4248170355152836,y:.024511079778651145},{x:.4270783417525648,y:.02541382586724525},{x:.42874409297954025,y:.02649609814118395},{x:.43051694316083267,y:.027392224616519634},{x:.5014129431608326,y:.07245422461651957},{x:.5044011686844615,y:.0747943741105689},{x:.5074525565132345,y:.07705154573740032},{x:.5078697672823866,y:.07751071502587484},{x:.5083582165656543,y:.07789323111579813},{x:.5108324836553944,y:.0807713891731658},{x:.5133848875831327,y:.08358048611421783},{x:.5494628875831328,y:.1320994861142178},{x:.5497798823390716,y:.1326268676033582},{x:.5501811109693575,y:.13309337858567127},{x:.5520495631508493,y:.13640291633591076},{x:.5540074974944301,y:.13966031511116345},{x:.5542155142604781,y:.14023940572188273},{x:.5545180216173755,y:.1407752286491667},{x:.5557049132287019,y:.14438569149730107},{x:.5569897394368822,y:.14796247431004633},{x:.5570807842453774,y:.1485710199149322},{x:.5572729451408087,y:.14915556341258465},{x:.5710219451408087,y:.2108035634125847},{x:.5712046210163666,y:.21230267395853206},{x:.5715791512667351,y:.2137656948046034},{x:.571736996194895,y:.21667155541097086},{x:.5720890113736304,y:.2195603313107129},{x:.5719757152243157,y:.2210662751632623},{x:.5720576277729665,y:.2225742517011615},{x:.5716455344736617,y:.2254550710286549},{x:.5714272135589309,y:.2283570146640783},{x:.5710222992922247,y:.22981191924551903},{x:.5708084462858501,y:.23130690078257787},{x:.5417354462858501,y:.3499769007825779},{x:.5411002871662289,y:.3517814599872898},{x:.540669734049328,y:.3536454570484658},{x:.5396393400617131,y:.355932176655931},{x:.5388066121493867,y:.3582980512419798},{x:.5378316053978042,y:.3599440229503987},{x:.537045677451414,y:.361688207084494},{x:.5355889653307644,y:.36372996812105773},{x:.5343106788169316,y:.36588792593376723},{x:.5330332933960605,y:.36731205637621067},{x:.5319221933904076,y:.36886939956510134},{x:.49389619339040763,y:.4124113995651013},{x:.49150876583293945,y:.41465677330496736},{x:.4892379705562563,y:.41702003426923534},{x:.48830169237996507,y:.41767302336482964},{x:.48747017448549057,y:.4184550652905171},{x:.4846905699931398,y:.420191530792605},{x:.4820023580684325,y:.4220663721783498},{x:.4272473580684325,y:.4527533721783498},{x:.42330567688981036,y:.45447898255061825},{x:.4193723578126433,y:.45622356923745777},{x:.4192660752068488,y:.4562474610875831},{x:.4191662841579818,y:.4562911481493166},{x:.41496369139475175,y:.45721461755172516},{x:.4107655979622113,y:.4581583300092093},{x:.27317359796221125,y:.47516033000920926},{x:.26964530070808584,y:.4752477446385603},{x:.2661231753027132,y:.4754739203661053},{x:.26524270860794985,y:.4753568201865933},{x:.26435476148695686,y:.47537881934450843},{x:.2608772057270339,y:.4747762176787918},{x:.2573786322781918,y:.4743109149236372},{x:.119951,y:.44207564006371447},{x:.119951,y:.684004},{x:.527101,y:.684004},{x:.5358800644907258,y:.6848686623818546},{x:.544321754456429,y:.6874294210369921},{x:.5521016604858822,y:.6915878674463855},{x:.5589208051533947,y:.6971841948466053},{x:.5645171325536146,y:.7040033395141179},{x:.5686755789630079,y:.711783245543571},{x:.5712363376181454,y:.7202249355092742},{x:.5721010000000001,y:.729004},{x:.5712363376181454,y:.7377830644907257},{x:.5686755789630079,y:.746224754456429},{x:.5645171325536146,y:.7540046604858821},{x:.5589208051533947,y:.7608238051533946},{x:.5521016604858822,y:.7664201325536145},{x:.544321754456429,y:.7705785789630079},{x:.5358800644907258,y:.7731393376181454},{x:.527101,y:.774004},{x:.074951,y:.774004},{x:.06617193550927424,y:.7731393376181454},{x:.05773024554357094,y:.7705785789630079},{x:.04995033951411792,y:.7664201325536145},{x:.04313119484660537,y:.7608238051533946},{x:.03753486744638546,y:.7540046604858821},{x:.0333764210369921,y:.746224754456429},{x:.03081566238185464,y:.7377830644907257},{x:.029951000000000005,y:.729004},{x:.029951000000000005,y:.38529899999999995}]],6:[[{x:.01994450211145162,y:.2755194646798348},{x:.020758274672659796,y:.26806396163938684},{x:.0201773643330274,y:.24423363638780976},{x:.020440223451033163,y:.2406784570189078},{x:.020568639264984916,y:.237115887070161},{x:.02076496657089406,y:.23628629421823594},{x:.02082782677693791,y:.23543610758842642},{x:.021779216218601925,y:.23200052126419074},{x:.022600187477202785,y:.22853145778054884},{x:.04459918747720279,y:.16442145778054884},{x:.04602253566469808,y:.16130748249724527},{x:.047307319174730654,y:.15813382633120915},{x:.06831231917473066,y:.11806482633120913},{x:.06934150993632018,y:.11649740482650416},{x:.07018719324152095,y:.11482382676006757},{x:.07175673818837072,y:.11281909673987861},{x:.07315419088510985,y:.11069082519836773},{x:.0744693948008918,y:.10935430641546007},{x:.07562532742241568,y:.1078778703106287},{x:.1253733274224157,y:.055788870310628645},{x:.12585541612958862,y:.055374327647901005},{x:.12626130847256478,y:.0548849335871293},{x:.1291958120945167,y:.0525019586891126},{x:.1320620582603259,y:.05003730581521479},{x:.13261575702973094,y:.04972477931463493},{x:.1331093263100589,y:.049323974491408525},{x:.1861743263100589,y:.014262974491408516},{x:.18683955107784095,y:.013911818906951787},{x:.187438960697758,y:.013457349607970202},{x:.1907349034619545,y:.011855559414887177},{x:.19397565070571454,y:.010144849670490022},{x:.19469660042216425,y:.009930220356283175},{x:.19537315511619574,y:.009601422573216056},{x:.19891826102894206,y:.008673416864759805},{x:.2024304811380398,y:.007627816351770726},{x:.20317945010986724,y:.007557961391993223},{x:.20390715026053782,y:.0073674706392518954},{x:.2857161502605378,y:-.005654529360748083},{x:.2860775594607644,y:-.005676122674759226},{x:.28642923596273784,y:-.0057621838110407525},{x:.2904772893795591,y:-.005938995755027237},{x:.2945219894833068,y:-.006180656673914681},{x:.2948806669536751,y:-.006131327641200151},{x:.2952423757850646,y:-.006147126454864343},{x:.38700037578506463,y:-.001139126454864331},{x:.39074801870473747,y:-.000562375362895672},{x:.3945101708776463,y:-8942684208443352e-20},{x:.395102371884912,y:.00010774663253235539},{x:.3957192721812796,y:.00020268575218489876},{x:.39928238663684656,y:.0014994835976446027},{x:.4028799824314506,y:.002697304024131271},{x:.47474098243145063,y:.03475230402413133},{x:.4764407459001163,y:.03572046389197228},{x:.4782361407270164,y:.03649705052245801},{x:.48026428101539703,y:.03789829234877595},{x:.4824063061811086,y:.03911835786940705},{x:.4838845305509628,y:.04039952221931584},{x:.48549392283388365,y:.041511451110380196},{x:.5363469228338836,y:.08458545111038014},{x:.5369424578291695,y:.08519979361043255},{x:.5376274627831791,y:.08571247952886965},{x:.5400078699953618,y:.08836201411598918},{x:.5424869876672573,y:.09091942444541115},{x:.5429512273484354,y:.09163814564059086},{x:.5435230500634102,y:.09227461827992436},{x:.5453408198626901,y:.09533763721244376},{x:.5472733759789791,y:.0983295594844189},{x:.5475884798754501,y:.09912503932225875},{x:.5480251455251356,y:.09986083939589693},{x:.5756631455251356,y:.15896283939589692},{x:.5756676990332947,y:.1589757429605767},{x:.575674675284325,y:.15898751446598428},{x:.5771354507402345,y:.1631350040011944},{x:.5785987361645655,y:.16728160865370237},{x:.5786006848177536,y:.16729515262537814},{x:.5786052305152959,y:.16730805894366996},{x:.5792288025114348,y:.17166083878445604},{x:.5798550088797246,y:.1760132404159827},{x:.5798542777922926,y:.17602690430741857},{x:.5798562182477396,y:.17604044945602063},{x:.5820672182477395,y:.2261264494560206},{x:.5819074721227447,y:.22907858468741052},{x:.5819395990078049,y:.232034864293962},{x:.5816696541741431,y:.23347350033714379},{x:.5815905637246603,y:.23493510513282764},{x:.580857954063737,y:.2377993509905685},{x:.5803127220992973,y:.2407050941577823},{x:.5648357220992973,y:.2937960941577823},{x:.5632290277642941,y:.2977974374258546},{x:.5616400226499054,y:.30180583827676916},{x:.5384240226499054,y:.3468838382767692},{x:.5373215489467563,y:.3485896803397862},{x:.5364060617863755,y:.35040275195151915},{x:.5349331318310961,y:.3522852445680167},{x:.5336357086983223,y:.35429272914301846},{x:.5322216254408594,y:.35575071197935654},{x:.5309700163849885,y:.3573503432435408},{x:.49559401638498846,y:.39441334324354077},{x:.4926979475395651,y:.39690515537305066},{x:.48986855873600776,y:.3994724304741097},{x:.48935820160472765,y:.3997787125549045},{x:.48890701524930746,y:.4001669186691625},{x:.48558046512393155,y:.4020458563236817},{x:.4823045917066957,y:.404011815580751},{x:.4336605917066957,y:.42705181558075106},{x:.43309173356321873,y:.4272557130907893},{x:.4325654489917744,y:.42755269513041455},{x:.42894434743018467,y:.4287422729922158},{x:.4253563740806812,y:.43002832091195864},{x:.42475866795602985,y:.4301173218701226},{x:.42418455747331046,y:.430305924456616},{x:.35674655747331047,y:.44533192445661596},{x:.3529000911149492,y:.4457998510145922},{x:.3490659246900917,y:.4463596961147396},{x:.28494592469009167,y:.4493636961147396},{x:.2805873413475358,y:.449139645094856},{x:.27622830276644406,y:.44892463285807194},{x:.20879130276644411,y:.4389076328580719},{x:.2058686377582091,y:.4381749274884603},{x:.2029059705898912,y:.4376259000221244},{x:.2015992206546876,y:.4371045944779896},{x:.20023455588710068,y:.4367624761715421},{x:.19751099279397463,y:.4354736658725529},{x:.19471236238975773,y:.4343572001231398},{x:.1250653623897577,y:.39829620012313977},{x:.12281565387932818,y:.3968352958512946},{x:.12046004217050754,y:.3955521266688945},{x:.11912493361112,y:.39443863469229795},{x:.1176668837895426,y:.39349181371392206},{x:.11574541108214431,y:.3916200839502759},{x:.11440461043594556,y:.3905018447245139},{x:.11499744675527566,y:.4076710597897629},{x:.14015918883207887,y:.48309781218266834},{x:.17625691985197756,y:.5624688107059582},{x:.22079283681825793,y:.6049160879451294},{x:.2812243215554422,y:.6473094683632384},{x:.35529887985725983,y:.6721340784004237},{x:.44197867319461825,y:.699237682451455},{x:.450099621980826,y:.7026829408131323},{x:.45739239245003865,y:.7076463180152294},{x:.4635767275229571,y:.7139370742553635},{x:.4684149666709443,y:.7213134592991232},{x:.47172117907685873,y:.729492002806001},{x:.4733683088520865,y:.7381584079356077},{x:.4732930577230865,y:.7469796295989887},{x:.471498317548545,y:.7556166731946181},{x:.4680530591868676,y:.7637376219808258},{x:.4630896819847706,y:.7710303924500386},{x:.4567989257446365,y:.7772147275229571},{x:.4494225407008768,y:.7820529666709441},{x:.4412439971939989,y:.7853591790768587},{x:.43257759206439217,y:.7870063088520864},{x:.4237563704010112,y:.7869310577230865},{x:.41511932680538177,y:.7851363175485448},{x:.32800332680538175,y:.7578963175485449},{x:.32758097645219697,y:.7577171382279785},{x:.32713377373466446,y:.7576146941984534},{x:.2464307737346645,y:.7305686941984535},{x:.24453959681011464,y:.7297206474805041},{x:.2425703892464572,y:.7290741531131611},{x:.24052462272791658,y:.727920241844807},{x:.2383814751569417,y:.7269592057619036},{x:.2366920823739949,y:.725758503708645},{x:.23488683737580707,y:.7247402582115807},{x:.16634483737580705,y:.6766572582115807},{x:.16379281785599412,y:.6744641039532857},{x:.16114120086592887,y:.6723924725748345},{x:.10785520086592887,y:.6216054725748346},{x:.10512406158167997,y:.61843588774195},{x:.10236095541706475,y:.6152941312068447},{x:.10224621895073822,y:.6150960484276141},{x:.1020967920615373,y:.6149226331776604},{x:.10003648617852028,y:.6112811321861437},{x:.09793939861820375,y:.6076606883504815},{x:.057256398618203745,y:.5182076883504814},{x:.05649445644348035,y:.515973451082899},{x:.055531562043165734,y:.5138181769891187},{x:.02756156204316574,y:.4299731769891187},{x:.02710606704062858,y:.4279720709807987},{x:.026442901166776424,y:.42602987841114226},{x:.0261294707087366,y:.42368163359604843},{x:.025603668479436986,y:.4213716499642221},{x:.02554732210120287,y:.4193201319800137},{x:.025275801747494525,y:.4172858808521062},{x:.022290801747494524,y:.3308368808521062},{x:.022305383523873214,y:.330608131273329},{x:.022277364333027405,y:.33038063638780973},{x:.021194122115214913,y:.2859434614650037},{x:.02071653916751727,y:.2843071590959475},{x:.01994450211145162,y:.2755194646798348}],[{x:.11034731747482908,y:.25010871966048204},{x:.11054573733688708,y:.2582483748303443},{x:.14138614929871246,y:.28974619429248377},{x:.17280436841728808,y:.32166563054627706},{x:.2294333737827033,y:.3509863272379111},{x:.2851142784460479,y:.35925709287120927},{x:.3409693478959939,y:.3566403020317264},{x:.39969116147327427,y:.34355637352239615},{x:.43624565447916347,y:.3262425111990739},{x:.46138408324665353,y:.29990528863548604},{x:.47964461062187336,y:.2644492215688011},{x:.49182659739178797,y:.22266115801633354},{x:.4903391577658353,y:.18896604218391924},{x:.47066764412974615,y:.14689983627465894},{x:.4322187986209955,y:.11433252320671945},{x:.3738017517723872,y:.08827446060346957},{x:.29512698962943984,y:.08398052210424463},{x:.22766698305582697,y:.09471851188045},{x:.18695506157646963,y:.1216176107024183},{x:.1450838647757246,y:.1654591474507099},{x:.12861258258928074,y:.1968796571354811},{x:.11034731747482908,y:.25010871966048204}]],7:[[{x:.026534000000000002,y:.729004},{x:.027398662381854635,y:.7202249355092742},{x:.029959421036992097,y:.711783245543571},{x:.03411786744638546,y:.7040033395141179},{x:.039714194846605363,y:.6971841948466053},{x:.046533339514117915,y:.6915878674463855},{x:.05431324554357096,y:.6874294210369921},{x:.06275493550927423,y:.6848686623818546},{x:.071534,y:.684004},{x:.4019606654607806,y:.684004},{x:.4004737160341744,y:.6825246433416329},{x:.3773547160341744,y:.6545006433416328},{x:.37631768094411194,y:.6529571778549935},{x:.37511206403824765,y:.6515414747212956},{x:.3516100640382476,y:.6177174747212957},{x:.35070717908442606,y:.6160998190359583},{x:.34962595461558005,y:.6145955036421288},{x:.32637595461558006,y:.5744575036421288},{x:.32562538351875275,y:.5728072168885044},{x:.3246890272988689,y:.5712547864166106},{x:.3023170272988689,y:.5242907864166106},{x:.3017220252289498,y:.5226423026482856},{x:.3009361907094137,y:.5210757809262708},{x:.2800741907094137,y:.4667717809262708},{x:.2796297795277362,y:.4651572895546526},{x:.27899211910181604,y:.46360891205912846},{x:.26027511910181605,y:.40145091205912853},{x:.2599700482242006,y:.399900691568321},{x:.2594722021762355,y:.3984012246220316},{x:.2435242021762355,y:.3278752246220315},{x:.24329560198997774,y:.32604433113097486},{x:.24285939794168837,y:.32425152465814894},{x:.22552039794168838,y:.201651524658149},{x:.22543629437721757,y:.19966542745190077},{x:.2251384028560513,y:.1976999971774209},{x:.21759140285605127,y:.0533799971774209},{x:.2179964236931644,y:.04456775725283754},{x:.22011284489303193,y:.03600385769296016},{x:.22385933357584556,y:.028017404355184638},{x:.22909191428257988,y:.020915312162427036},{x:.23560950187114016,y:.014970510534755857},{x:.24316162910560324,y:.010411454864839347},{x:.25145807197163045,y:.007413347105324521},{x:.2601800028225791,y:.006091402856051323},{x:.26899224274716244,y:.0064964236931644576},{x:.27755614230703984,y:.008612844893031955},{x:.2855425956448154,y:.0123593335758456},{x:.29264468783757297,y:.017591914282579925},{x:.29858948946524416,y:.02410950187114019},{x:.30314854513516065,y:.03166162910560326},{x:.30614665289467546,y:.03995807197163046},{x:.3074685971439487,y:.04868000282257914},{x:.3149118365119932,y:.19101580586964154},{x:.33171443080019297,y:.3098230069615897},{x:.3469078029209317,y:.3770118558572018},{x:.3646876244488305,y:.43605754408347375},{x:.3843219343355222,y:.48716585412502805},{x:.40516196826036527,y:.5309139031705462},{x:.42657620329737017,y:.5678827017045378},{x:.4479617026009278,y:.5986606409626235},{x:.4682073320853445,y:.6232016470905397},{x:.5069453480603512,y:.6602460238293135},{x:.5211069187127709,y:.670919967941474},{x:.553634852004927,y:.6903949675582732},{x:.5545334052571363,y:.6910607030437311},{x:.5555196604858821,y:.6915878674463855},{x:.5580709875097788,y:.6936816874233654},{x:.5607229359621996,y:.6956465083018619},{x:.5614743452153894,y:.6964747509099635},{x:.5623388051533946,y:.6971841948466053},{x:.5644326251303754,y:.699735521870503},{x:.5666502995990071,y:.7021799587443133},{x:.5672256886169725,y:.7031388795761127},{x:.5679351325536145,y:.7040033395141179},{x:.5694909811561905,y:.7069141275182039},{x:.5711891576548912,y:.709744242049125},{x:.5715664145603537,y:.7107969903148255},{x:.5720935789630078,y:.711783245543571},{x:.5730516658019124,y:.7149416345772374},{x:.5741650843601849,y:.7180486670509921},{x:.5743297113818354,y:.7191547862251302},{x:.5746543376181453,y:.7202249355092742},{x:.574977843953461,y:.7235095504532041},{x:.5754637165205229,y:.7267740993542682},{x:.5754093871342436,y:.7278910818973009},{x:.575519,y:.729004},{x:.5751954936646845,y:.7322886149439295},{x:.5750351484302645,y:.735585225488817},{x:.5747639504839017,y:.7366701463880269},{x:.5746543376181453,y:.7377830644907257},{x:.5736962507792408,y:.7409414535243923},{x:.5728958497207748,y:.7441434388186243},{x:.5724182051993175,y:.7451546051722857},{x:.5720935789630078,y:.746224754456429},{x:.570537730360432,y:.749135542460515},{x:.5691280324417267,y:.752119852004927},{x:.5684622969562688,y:.7530184052571364},{x:.5679351325536145,y:.7540046604858821},{x:.5658413125766343,y:.756555987509779},{x:.563876491698138,y:.7592079359621996},{x:.5630482490900365,y:.7599593452153895},{x:.5623388051533946,y:.7608238051533946},{x:.5597874781294971,y:.7629176251303754},{x:.5573430412556867,y:.7651352995990072},{x:.5563841204238874,y:.7657106886169726},{x:.5555196604858821,y:.7664201325536145},{x:.5526088724817957,y:.7679759811561907},{x:.5497787579508749,y:.7696741576548912},{x:.5487260096851745,y:.7700514145603538},{x:.547739754456429,y:.7705785789630079},{x:.5445813654227618,y:.7715366658019126},{x:.5414743329490078,y:.7726500843601849},{x:.5403682137748697,y:.7728147113818356},{x:.5392980644907257,y:.7731393376181454},{x:.5360134495467959,y:.773462843953461},{x:.5327489006457318,y:.7739487165205229},{x:.531631918102699,y:.7738943871342436},{x:.530519,y:.774004},{x:.071534,y:.774004},{x:.06275493550927423,y:.7731393376181454},{x:.054313245543570934,y:.7705785789630079},{x:.046533339514117915,y:.7664201325536145},{x:.039714194846605363,y:.7608238051533946},{x:.03411786744638546,y:.7540046604858821},{x:.029959421036992097,y:.746224754456429},{x:.027398662381854635,y:.7377830644907257},{x:.026534000000000002,y:.729004}]],8:[[{x:.018998734783549534,y:.19034712298183487},{x:.01918983868826437,y:.187136446932327},{x:.01920952916989005,y:.18392014879903562},{x:.019451409422642358,y:.18274188004279768},{x:.019522877627479743,y:.18154116541629586},{x:.0203366813486396,y:.1784294641291047},{x:.020983462121705806,y:.17527880768498513},{x:.021450563544301488,y:.17417036752890672},{x:.021754906310756543,y:.17300666705236456},{x:.02316013582774355,y:.17011352146289485},{x:.024409151469860245,y:.16714958466818597},{x:.06244715146986025,y:.097021584668186},{x:.06364531823888224,y:.0952519506947441},{x:.06465809579443724,y:.09337006609963419},{x:.0661122558858275,y:.09160840391706095},{x:.06739294989385258,y:.08971688123025286},{x:.06891333268610705,y:.08821500101819715},{x:.07027378747657535,y:.08656685940733966},{x:.07204368953204261,y:.0851227396301211},{x:.07366879313388441,y:.08351741302778071},{x:.0754529644913056,y:.08234100299139627},{x:.07710881500204132,y:.08098994152260804},{x:.14910981500204132,y:.03317594152260801},{x:.1504928100364302,y:.03244176283843531},{x:.15177178054792087,y:.031538475488709236},{x:.15438005907773164,y:.030378172358910993},{x:.15690151209615905,y:.029039630272177964},{x:.1584011644246711,y:.028589367572161194},{x:.15983178249634203,y:.027952951404511282},{x:.24949378249634205,y:-.0017990485954887184},{x:.251605077566582,y:-.002276091838878668},{x:.25365804064979064,y:-.002962007073194259},{x:.2558970148670134,y:-.0032458471890824472},{x:.2580984148155577,y:-.003743249464233246},{x:.2602622084630055,y:-.003799233220341744},{x:.26240953986016613,y:-.0040714555567724145},{x:.33848653986016614,y:-.006196455556772458},{x:.34211630259529946,y:-.0059410451417675775},{x:.3457527120689106,y:-.005810898556388326},{x:.34651004211407876,y:-.005631877045722989},{x:.3472863241290845,y:-.005577253499755554},{x:.35079651389094996,y:-.004618619143417753},{x:.3543376604369356,y:-.0037815449929937683},{x:.4535096604369356,y:.03022045500700621},{x:.45591274590665615,y:.03131812424947078},{x:.4583949217344816,y:.03222283453480715},{x:.45991547545056405,y:.03314647083206772},{x:.461533744189149,y:.033885655452327273},{x:.46367651039942226,y:.035431052006208004},{x:.4659344916938285,y:.03680262701864639},{x:.5338604916938285,y:.08780462701864639},{x:.5368034713408607,y:.09050382186837246},{x:.5397962541268131,y:.09314768896709699},{x:.5400513850489728,y:.09348269124727963},{x:.5403617177400871,y:.09376731720532937},{x:.5427215620660051,y:.09698879462990716},{x:.5451410464862535,y:.10016572352111452},{x:.5453259194365666,y:.1005440624001799},{x:.5455747614022292,y:.10088376225489704},{x:.547260782913003,y:.10450372268352329},{x:.5490139895381407,y:.10809162577156875},{x:.5802599895381407,y:.1920326257715688},{x:.5808621946470703,y:.19431314395649216},{x:.5816704362178704,y:.19652903198349428},{x:.5819856183913868,y:.19856748893015458},{x:.5825122482529622,y:.20056180773987195},{x:.5826579751325236,y:.20291599079595712},{x:.5830183882594349,y:.20524698126417715},{x:.5829298310737253,y:.20730775882392333},{x:.5830572695913885,y:.20936649774620245},{x:.5827409180393249,y:.21170387573884492},{x:.582639652248002,y:.21406038999182395},{x:.570412652248002,y:.30012638999182395},{x:.5703409363500996,y:.30042034316527866},{x:.5703238989157716,y:.30072243812390526},{x:.5692961437829783,y:.3047027979582916},{x:.5683217827960937,y:.30869656381164773},{x:.5681940974797931,y:.30897087767968473},{x:.5681184516122305,y:.3092638441298401},{x:.5663339148242972,y:.3129672173863048},{x:.5645991308441736,y:.31669415574996157},{x:.5644203829845738,y:.31693828858446854},{x:.5642890357120441,y:.31721086798977133},{x:.5618162960169492,y:.32049493611094637},{x:.5593877558190667,y:.3238118228336772},{x:.5591648145961691,y:.32401639274673566},{x:.5589828135206953,y:.3242581100335041},{x:.5032838135206953,y:.3848241100335041},{x:.5011622073766187,y:.38671918495638496},{x:.4991781602202921,y:.38875783119234486},{x:.4978799327840818,y:.3896509997457094},{x:.496704700181234,y:.39070074870143656},{x:.4942541493273608,y:.39214550546522026},{x:.4919105049301597,y:.39375791128677606},{x:.42072451102124153,y:.4330589294870645},{x:.4777200661568854,y:.4633968522602595},{x:.4805213378044988,y:.46526159042857346},{x:.48340658539474834,y:.46699355971902134},{x:.4841865730327025,y:.4677014480666941},{x:.48506339053858555,y:.46828512408085676},{x:.487447044167244,y:.4706605328159332},{x:.4899389620874836,y:.4729221066835925},{x:.4905658603159866,y:.4737685611946159},{x:.49131196047780046,y:.47451208064740324},{x:.493186393615322,y:.4773068743236967},{x:.4951892188573616,y:.48001114175313947},{x:.5250762188573616,y:.5299501417531395},{x:.5263287500632193,y:.5326029758232522},{x:.5277533683388757,y:.5351675080991},{x:.5282078804872482,y:.5365829335183069},{x:.5288425912810938,y:.5379272372855163},{x:.5295535131980511,y:.5407734546091212},{x:.5304504424054924,y:.5435666393545394},{x:.5306200854295579,y:.5450435386925929},{x:.5309803397786421,y:.5464858379730204},{x:.5311223320761199,y:.5494160600145488},{x:.5314571037289079,y:.5523305567062068},{x:.5328161037289079,y:.6362725567062067},{x:.5325682225912138,y:.6392892202473488},{x:.5325070847315841,y:.6423154334158161},{x:.5322077563487247,y:.6436760218476847},{x:.5320936668790056,y:.6450644677251389},{x:.5312620268462096,y:.647974807711247},{x:.530611678831884,y:.6509309456375182},{x:.530052664324664,y:.6522069946735811},{x:.5296698946987799,y:.6535465042014387},{x:.5282864552309536,y:.656238677898982},{x:.5270718895714029,y:.659011137860374},{x:.493108889571403,y:.7195761378603741},{x:.49086599866607616,y:.7227903647520136},{x:.4886941713149356,y:.7260530293196586},{x:.4883443495413535,y:.7264040725827037},{x:.48806074906628455,y:.7268104928286833},{x:.4852338901214668,y:.7295253929429124},{x:.4824672795427586,y:.7323016638284542},{x:.4820556943532359,y:.7325777150511769},{x:.48169825452511067,y:.7329209983380867},{x:.4783960621447291,y:.7350322395860499},{x:.4751409876314614,y:.737215426256307},{x:.4058559876314614,y:.774404426256307},{x:.40535390944732597,y:.7746134197603937},{x:.4048950878292554,y:.7749053846735706},{x:.40128606998249994,y:.7763066859700772},{x:.39771184087056327,y:.7777944834687843},{x:.3971786373679402,y:.7779015106266721},{x:.3966716723496766,y:.778098353858693},{x:.39285862044769176,y:.7787686450898307},{x:.3890628142527955,y:.7795305574683767},{x:.38851897614326597,y:.7795315052864096},{x:.3879833501061526,y:.7796256622622586},{x:.29017035010615255,y:.7870576622622585},{x:.28883979914978264,y:.7870279344512828},{x:.28751770557027906,y:.7871806372910648},{x:.2844390802539456,y:.7869296114679608},{x:.28135100845003463,y:.7868606162788429},{x:.2800518232654171,y:.7865718820648824},{x:.2787253424971381,y:.7864637231002555},{x:.20264834249713812,y:.7726567231002556},{x:.20090732012312768,y:.7721604024311715},{x:.19912055356042774,y:.7718689262507037},{x:.1966754417776232,y:.7709540028332816},{x:.19416478523538352,y:.7702382792713757},{x:.19255404347725652,y:.7694118386491953},{x:.19085847331495095,y:.7687773822377194},{x:.12157447331495094,y:.7347753822377193},{x:.11864840230662128,y:.7329636093328938},{x:.1156466869822177,y:.7312801255296781},{x:.11490452792065226,y:.7306454666247165},{x:.11407427694169714,y:.7301313894804525},{x:.11155788892673538,y:.7277835811487093},{x:.10894228211787771,y:.7255468394054793},{x:.1083381992447159,y:.7247795872431081},{x:.10762419278113186,y:.7241134140161837},{x:.10561419113974596,y:.7213197952150451},{x:.1034852091492498,y:.7186157522626143},{x:.05457920914924981,y:.6421127522626143},{x:.05400544809690788,y:.6409849569633866},{x:.05327967340990527,y:.639948436299892},{x:.05200937551205521,y:.6370614399018406},{x:.05057918033015655,y:.6342502218929852},{x:.050236465883645505,y:.633032161635733},{x:.04972685190376166,y:.6318739658087451},{x:.04904418748077848,y:.6287946194110116},{x:.04818991452487371,y:.6257584009293389},{x:.04809141700817653,y:.6244968850866522},{x:.047817547914863534,y:.6232615229122788},{x:.04774875137767971,y:.6201081640700103},{x:.04750322987838258,y:.6169636252890404},{x:.04765273449582791,y:.6157071332072875},{x:.04762513492475421,y:.6144420789610904},{x:.04817285008571219,y:.6113358894861711},{x:.048545515296550656,y:.608203873267779},{x:.04893727666953319,y:.607000691233013},{x:.04915700725673716,y:.6057545602402229},{x:.06817600725673716,y:.537751560240223},{x:.0695259178796919,y:.5342803033966695},{x:.07076883034011841,y:.5307693133112962},{x:.07112252784165454,y:.530174666206544},{x:.07137329591617819,y:.5295298232221028},{x:.07337447700044117,y:.5263886201035727},{x:.07527846743280868,y:.5231875729003385},{x:.0757413786311829,y:.522673354732434},{x:.07611313089295507,y:.5220898246495332},{x:.07868867817173447,y:.5193993899302627},{x:.08118057729149615,y:.5166313000580217},{x:.13823757729149616,y:.46456630005802163},{x:.1415344063491032,y:.46210392848613274},{x:.14479841194755694,y:.45959821041612353},{x:.17870395742216458,y:.4385038845164132},{x:.16590813892329467,y:.43401753680148847},{x:.1630836262780146,y:.43270367241359486},{x:.16018787852971583,y:.4315553012665589},{x:.15909238677042803,y:.43084708753997614},{x:.15790960896480868,y:.43029690071741367},{x:.15539569076452509,y:.4284572467838155},{x:.15277962009410193,y:.4267660089056696},{x:.07398562009410191,y:.3640750089056696},{x:.07334669706368892,y:.36345515994886657},{x:.07261876409580822,y:.3629427646304707},{x:.07018582297292754,y:.3603886489381779},{x:.067654053855944,y:.3579324619307791},{x:.06714833408498834,y:.3571998754981266},{x:.06653435151263618,y:.35655531303498644},{x:.06464644192410274,y:.3535756306924294},{x:.06264249835499126,y:.3506727149773525},{x:.06228941637067996,y:.3498555439546183},{x:.061812979199786275,y:.3491035845207174},{x:.026491979199786284,y:.27897658452071744},{x:.026206182636496978,y:.2782362375154344},{x:.02580526951533789,y:.27755135647970497},{x:.024619992088609113,y:.2741272608068926},{x:.023315086847465263,y:.27074694483548933},{x:.02317921632066564,y:.26996506724675395},{x:.022919620294515476,y:.2692151317381758},{x:.022425125568608657,y:.2656255929487299},{x:.02180476064715109,y:.2620556544171705},{x:.02182403758498896,y:.26126229336223583},{x:.021715734783549545,y:.26047612298183487},{x:.018998734783549534,y:.19034712298183487}],[{x:.10940940002433477,y:.19920410482166873},{x:.1112697837122767,y:.2472228194523932},{x:.137749803196691,y:.2997967648781603},{x:.20286290613296581,y:.3516028102138205},{x:.27392321813344717,y:.3765172983642545},{x:.30180455045059645,y:.38547932587505673},{x:.3589974388819276,y:.364332623176267},{x:.44199758150171664,y:.31850914110336725},{x:.48327372240847105,y:.27362627516037924},{x:.4919267227459848,y:.21271770175329152},{x:.46927072007314496,y:.15185335046477932},{x:.41758736799183827,y:.11304708595854013},{x:.33285528741119674,y:.08399594043457195},{x:.2715476841223936,y:.0857083982994813},{x:.19388634557978268,y:.1114782912788902},{x:.13622191473335832,y:.14977174687660325},{x:.10940940002433477,y:.19920410482166873}],[{x:.1412545940070051,y:.610603192179028},{x:.17253143522148345,y:.6595291354872365},{x:.22488466829434647,y:.6852221473073319},{x:.28911227954018853,y:.6968786351876549},{x:.37167628924266627,y:.6906052797020977},{x:.4210229734590171,y:.664118250196117},{x:.4426312796779887,y:.6255849325813003},{x:.4416638895166663,y:.5658316839266069},{x:.4243877259953326,y:.5369644730960824},{x:.3411654121752423,y:.49266641996418925},{x:.3038587353431559,y:.48067475972705925},{x:.2482367446999157,y:.5012406330709052},{x:.1958501022844071,y:.5338329684082593},{x:.1513751879049268,y:.5744167077770947},{x:.1412545940070051,y:.610603192179028}]],9:[[{x:.04617702144416433,y:.5785043710151274},{x:.046308257010348054,y:.5777836867379841},{x:.04632014162646953,y:.5770512474182771},{x:.047097404355444614,y:.5734500590446777},{x:.04775742235616295,y:.5698255492446179},{x:.06775742235616294,y:.499825549244618},{x:.06870401207934061,y:.497431122678351},{x:.06945142103699212,y:.4949672455435709},{x:.07032179921115676,y:.4933388825112154},{x:.07100061044171635,y:.4916218095236955},{x:.07239614115864691,y:.4894580616864063},{x:.07360986744638548,y:.48718733951411786},{x:.07478119941633177,y:.4857600673791044},{x:.07578195180149752,y:.48420841696912487},{x:.07757279404935197,y:.4823584994767568},{x:.07920619484660538,y:.4803681948466053},{x:.1292061948466054,y:.43036819484660543},{x:.1324047212320044,y:.4277432320802026},{x:.1355710052680468,y:.42507946670648067},{x:.13581237417673697,y:.4249466435819557},{x:.13602533951411794,y:.4247718674463855},{x:.13967451194327588,y:.422821344145996},{x:.14329963156393744,y:.42082647364918746},{x:.21329963156393744,y:.39082647364918743},{x:.21510775104315333,y:.39025382151681987},{x:.2168404136401385,y:.3894823898342746},{x:.21930272871556003,y:.3889252240779052},{x:.22170947225776405,y:.3881629808537447},{x:.22359456811709633,y:.38795407868297094},{x:.22544443694348562,y:.38753549554788497},{x:.30544443694348566,y:.37753549554788496},{x:.30933066171136914,y:.37743373006124875},{x:.3132134481214367,y:.3772411973248817},{x:.31373545479679327,y:.3773183852372503},{x:.314262956584918,y:.37730457196617717},{x:.3180943620951528,y:.37796292671622445},{x:.321940103126635,y:.37853158749346005},{x:.39912055139763536,y:.39782669956121014},{x:.3920145202755848,y:.3793136184800785},{x:.3919728818872528,y:.3791621799808353},{x:.39190347676812315,y:.3790212888743934},{x:.33928123709710245,y:.23902627390054626},{x:.29593066247424293,y:.13853176000209894},{x:.2601678276974797,y:.06104561798577861},{x:.25727396725620644,y:.05271224015242973},{x:.25606147289685455,y:.04397442167208486},{x:.2565769400976792,y:.035167952008718584},{x:.2588005597432301,y:.02663125885276897},{x:.2626468793775489,y:.018692402534786497},{x:.2679680870941297,y:.011656468850909336},{x:.274559691864592,y:.005793844786811796},{x:.2821683820142214,y:.0013298276974796769},{x:.29050175984757026,y:-.0015640327437935753},{x:.29923957832791515,y:-.002776527103145486},{x:.30804604799128144,y:-.002261059902320825},{x:.31658274114723106,y:-3744025676995222e-20},{x:.32452159746521353,y:.003808879377548882},{x:.3315575311490907,y:.009130087094129706},{x:.33742015521318824,y:.015721691864591977},{x:.34188417230252033,y:.023330382014221395},{x:.3778841723025203,y:.10133038201422136},{x:.3780704961344211,y:.10186693411204945},{x:.37834550457920557,y:.10236389998544072},{x:.42234550457920556,y:.2043638999854408},{x:.4226728981736059,y:.20538920106595157},{x:.42314852323187685,y:.20635471112560658},{x:.47609350933819694,y:.3472083534084579},{x:.5496013805841499,y:.5387157021808093},{x:.5512752235949963,y:.542063388202502},{x:.5520259437659378,y:.5440252139743784},{x:.5529745491659372,y:.5458993775022888},{x:.553598518494472,y:.5481347580495968},{x:.5544279630456541,y:.5503023109672317},{x:.5547815251174404,y:.5523728990468965},{x:.5553462721645,y:.554396114781092},{x:.555522150986547,y:.5567102734952235},{x:.5559127893965689,y:.5589979940959194},{x:.5558556061770612,y:.5610977729446709},{x:.5560147919588762,y:.5631922898391183},{x:.5557358213499382,y:.5654962948984841},{x:.5556726416037749,y:.5678162673625252},{x:.5552069106120301,y:.5698645436567753},{x:.5549544177082778,y:.5719498706018395},{x:.5349544177082779,y:.6619498706018395},{x:.5345092452033302,y:.663307558548854},{x:.5342480120020212,y:.6647122835522489},{x:.5331378863550271,y:.6674899313564284},{x:.5322058990004909,y:.6703323081518522},{x:.5315044085816177,y:.6715770596583215},{x:.5309741466497647,y:.6729038291953012},{x:.5293434595512297,y:.6754115305058349},{x:.5278748598680685,y:.6780174701150343},{x:.5269440094186665,y:.6791014500786302},{x:.5261650964249364,y:.6802992771399491},{x:.4861650964249363,y:.7302992771399491},{x:.4855393928217795,y:.7309407996522789},{x:.48502142797480674,y:.7316720783612058},{x:.48246447922773295,y:.7340934525762789},{x:.48000567043073006,y:.7366144244690945},{x:.4792668347133476,y:.7371215515888083},{x:.4786161570168623,y:.7377377290536072},{x:.47563595264764597,y:.7396137412876539},{x:.4727325719538572,y:.7416065836124539},{x:.4719089971645242,y:.7419598267287414},{x:.4711506117974981,y:.7424372235949962},{x:.4111506117974981,y:.7724372235949962},{x:.40814803697660645,y:.7735862009991664},{x:.4052110607504687,y:.7748937847545917},{x:.4040364518244048,y:.77515955677446},{x:.40291168903276836,y:.7755899630456542},{x:.39974265347336024,y:.7761310898824948},{x:.39660701348596056,y:.7768405731449995},{x:.3166070134859606,y:.7868395731449994},{x:.31542693671630134,y:.7868704603456931},{x:.31426350899694466,y:.7870703881908964},{x:.3110259999999998,y:.7869856499834279},{x:.3077884910030554,y:.7870703881908964},{x:.3066250632836987,y:.7868704603456931},{x:.30544498651403945,y:.7868395731449994},{x:.22544498651403946,y:.7768405731449995},{x:.22359484289355938,y:.7764219517671516},{x:.22170947225776405,y:.7762130191462554},{x:.21930299190993624,y:.775450859278766},{x:.2168409392495313,y:.7748937847545917},{x:.21510801459933976,y:.7741222619544408},{x:.21329963156393744,y:.7735495263508126},{x:.14329963156393744,y:.7435495263508126},{x:.1396745119432796,y:.741554655854006},{x:.13602533951411788,y:.7396041325536146},{x:.13581237417673678,y:.7394293564180442},{x:.1355710052680468,y:.7392965332935194},{x:.13240472123200803,y:.7366327679198006},{x:.12920619484660534,y:.7340078051533947},{x:.07920619484660535,y:.6840078051533947},{x:.07757279404935197,y:.6820175005232432},{x:.0757819518014975,y:.6801675830308751},{x:.07478119941633177,y:.6786159326208956},{x:.07360986744638545,y:.6771886604858821},{x:.07239614115864686,y:.6749179383135936},{x:.07100061044171635,y:.6727541904763045},{x:.07032179921115676,y:.6710371174887846},{x:.06945142103699209,y:.669408754456429},{x:.06870401207934061,y:.666944877321649},{x:.06775742235616294,y:.664550450755382},{x:.04775742235616295,y:.5945504507553819},{x:.0470974043554446,y:.590925940955322},{x:.04632014162646953,y:.5873247525817227},{x:.046308257010348054,y:.5865923132620157},{x:.04617702144416433,y:.5858716289848723},{x:.0462367922883029,y:.5821879999999999},{x:.04617702144416433,y:.5785043710151274}],[{x:.13782670643108905,y:.5821879999999999},{x:.15109114488080894,y:.6286135345740196},{x:.18671787059591238,y:.6642402602891231},{x:.24291204200407931,y:.688323476606909},{x:.311026,y:.696836869931924},{x:.377796042530131,y:.6884914492411893},{x:.4220611757635009,y:.6663588826245044},{x:.4493630453483168,y:.6322315456434845},{x:.46363172164975686,y:.5680225022870041},{x:.4540425513192988,y:.5488441616260881},{x:.42235697647551157,y:.5171585867823008},{x:.37255000597497323,y:.48395393978194207},{x:.30826669745594837,y:.4678831126521858},{x:.24291230161158606,y:.4760524121327311},{x:.1867178705959123,y:.500135739710877},{x:.15109114488080894,y:.5357624654259804},{x:.13782670643108905,y:.5821879999999999}]],"!":[[{x:.20646600000000004,y:.05103000000000002},{x:.20733066238185466,y:.04225093550927423},{x:.20989142103699213,y:.03380924554357098},{x:.2140498674463855,y:.026029339514117927},{x:.21964619484660539,y:.019210194846605383},{x:.22646533951411793,y:.013613867446385479},{x:.23424524554357098,y:.009455421036992116},{x:.24268693550927425,y:.006894662381854655},{x:.251466,y:.0060300000000000215},{x:.350587,y:.0060300000000000215},{x:.3593660644907258,y:.006894662381854655},{x:.36780775445642905,y:.009455421036992116},{x:.3755876604858821,y:.013613867446385479},{x:.38240680515339465,y:.019210194846605383},{x:.3880031325536145,y:.026029339514117927},{x:.3921615789630079,y:.03380924554357098},{x:.39472233761814535,y:.04225093550927425},{x:.39558699999999997,y:.05103000000000002},{x:.39472233761814535,y:.05980906449072579},{x:.3921615789630079,y:.06825075445642906},{x:.3880031325536145,y:.07603066048588211},{x:.38240680515339465,y:.08284980515339466},{x:.3755876604858821,y:.08844613255361455},{x:.36780775445642905,y:.09260457896300792},{x:.3593660644907258,y:.09516533761814538},{x:.350587,y:.09603000000000002},{x:.251466,y:.09603000000000002},{x:.24268693550927425,y:.09516533761814538},{x:.23424524554357098,y:.09260457896300792},{x:.22646533951411793,y:.08844613255361455},{x:.21964619484660539,y:.08284980515339466},{x:.2140498674463855,y:.07603066048588211},{x:.20989142103699213,y:.06825075445642906},{x:.20733066238185466,y:.05980906449072579},{x:.20646600000000004,y:.05103000000000002}],[{x:.25602600000000003,y:.25043400000000005},{x:.25689066238185465,y:.24165493550927428},{x:.2594514210369921,y:.233213245543571},{x:.2636098674463855,y:.22543333951411795},{x:.26920619484660535,y:.2186141948466054},{x:.27602533951411795,y:.2130178674463855},{x:.283805245543571,y:.20885942103699215},{x:.2922469355092743,y:.20629866238185468},{x:.301026,y:.20543400000000006},{x:.3098050644907258,y:.20629866238185468},{x:.3182467544564291,y:.20885942103699215},{x:.32602666048588214,y:.2130178674463855},{x:.3328458051533947,y:.2186141948466054},{x:.33844213255361455,y:.22543333951411795},{x:.34260057896300794,y:.233213245543571},{x:.3451613376181454,y:.24165493550927428},{x:.346026,y:.25043400000000005},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.25043400000000005}]],\'"\':[[{x:.12004,y:.476978},{x:.12090466238185463,y:.4681989355092742},{x:.1234654210369921,y:.459757245543571},{x:.12762386744638546,y:.4519773395141179},{x:.13322019484660536,y:.44515819484660535},{x:.1400393395141179,y:.4395618674463855},{x:.14781924554357095,y:.4354034210369921},{x:.15626093550927422,y:.43284266238185465},{x:.16504,y:.43197800000000003},{x:.17381906449072576,y:.43284266238185465},{x:.18226075445642903,y:.4354034210369921},{x:.19004066048588208,y:.4395618674463855},{x:.19685980515339463,y:.44515819484660535},{x:.20245613255361453,y:.4519773395141179},{x:.2066145789630079,y:.459757245543571},{x:.20917533761814536,y:.4681989355092742},{x:.21004,y:.476978},{x:.21004,y:.729004},{x:.20917533761814536,y:.7377830644907257},{x:.2066145789630079,y:.746224754456429},{x:.20245613255361453,y:.7540046604858821},{x:.19685980515339463,y:.7608238051533946},{x:.19004066048588208,y:.7664201325536145},{x:.18226075445642903,y:.7705785789630079},{x:.17381906449072576,y:.7731393376181454},{x:.16504,y:.774004},{x:.15626093550927422,y:.7731393376181454},{x:.14781924554357095,y:.7705785789630079},{x:.1400393395141179,y:.7664201325536145},{x:.13322019484660536,y:.7608238051533946},{x:.12762386744638546,y:.7540046604858821},{x:.1234654210369921,y:.746224754456429},{x:.12090466238185463,y:.7377830644907257},{x:.12004,y:.729004},{x:.12004,y:.476978}],[{x:.392013,y:.476978},{x:.3928776623818546,y:.4681989355092742},{x:.39543842103699206,y:.459757245543571},{x:.39959686744638545,y:.4519773395141179},{x:.4051931948466053,y:.44515819484660535},{x:.4120123395141179,y:.4395618674463855},{x:.419792245543571,y:.4354034210369921},{x:.42823393550927424,y:.43284266238185465},{x:.437013,y:.43197800000000003},{x:.4457920644907258,y:.43284266238185465},{x:.45423375445642905,y:.4354034210369921},{x:.4620136604858821,y:.4395618674463855},{x:.46883280515339465,y:.44515819484660535},{x:.4744291325536145,y:.4519773395141179},{x:.4785875789630079,y:.459757245543571},{x:.48114833761814535,y:.4681989355092742},{x:.48201299999999997,y:.476978},{x:.48201299999999997,y:.729004},{x:.48114833761814535,y:.7377830644907257},{x:.4785875789630079,y:.746224754456429},{x:.4744291325536145,y:.7540046604858821},{x:.46883280515339465,y:.7608238051533946},{x:.4620136604858821,y:.7664201325536145},{x:.45423375445642905,y:.7705785789630079},{x:.4457920644907258,y:.7731393376181454},{x:.437013,y:.774004},{x:.42823393550927424,y:.7731393376181454},{x:.419792245543571,y:.7705785789630079},{x:.4120123395141179,y:.7664201325536145},{x:.4051931948466053,y:.7608238051533946},{x:.39959686744638545,y:.7540046604858821},{x:.39543842103699206,y:.746224754456429},{x:.3928776623818546,y:.7377830644907257},{x:.392013,y:.729004},{x:.392013,y:.476978}]],"#":[[{x:-.04343582416242281,y:.17932596542766122},{x:-.043155600373289436,y:.1705088746946064},{x:-.04116063193533153,y:.16191587083690517},{x:-.037527584366828626,y:.15387717817379684},{x:-.03239607364840174,y:.1467017191561739},{x:-.025963300859175642,y:.14066524265003977},{x:-.01847647384989975,y:.13599972706223024},{x:-.010223307183879607,y:.1328844655403335},{x:-.0015209654276611437,y:.13143917583757725},{x:.007296125305393629,y:.13171939962671061},{x:.11028337660265361,y:.14517801654688708},{x:.10171449233133083,y:.05447855391336175},{x:.10174959121806887,y:.04565708110917159},{x:.10350499965956604,y:.03701195788446062},{x:.10691325829386003,y:.02887541147651351},{x:.11184338965300836,y:.02156012480075985},{x:.11810593155372849,y:.015347220221688843},{x:.1254602180228497,y:.01047545617803717},{x:.13362362795569505,y:.007132051829885598},{x:.14228244608663826,y:.005445492331330834},{x:.15110391889082841,y:.0054805912180688685},{x:.1597490421155394,y:.0072359996595660475},{x:.1678855885234865,y:.010644258293860037},{x:.17520087519924016,y:.015574389653008364},{x:.18141377977831116,y:.02183693155372849},{x:.18628554382196283,y:.029191218022849703},{x:.18962894817011441,y:.03735462795569504},{x:.19131550766866917,y:.04601344608663827},{x:.2018142041879224,y:.1571394809935999},{x:.36570083500909,y:.17855657247605955},{x:.35397849233133083,y:.05447855391336175},{x:.35401359121806886,y:.04565708110917159},{x:.35576899965956604,y:.03701195788446062},{x:.35917725829386,y:.02887541147651351},{x:.3641073896530084,y:.02156012480075985},{x:.3703699315537285,y:.015347220221688843},{x:.37772421802284967,y:.01047545617803717},{x:.38588762795569503,y:.007132051829885598},{x:.39454644608663825,y:.005445492331330834},{x:.4033679188908284,y:.0054805912180688685},{x:.4120130421155394,y:.0072359996595660475},{x:.4201495885234865,y:.010644258293860037},{x:.42746487519924015,y:.015574389653008364},{x:.4336777797783111,y:.02183693155372849},{x:.4385495438219628,y:.029191218022849703},{x:.44189294817011443,y:.03735462795569504},{x:.44357950766866916,y:.04601344608663827},{x:.45723166259435877,y:.19051803692277236},{x:.5748861253053936,y:.20589339962671058},{x:.5834791291630949,y:.20788836806466848},{x:.5915178218262032,y:.2115214156331714},{x:.5986932808438261,y:.21665292635159827},{x:.6047297573499603,y:.22308569914082438},{x:.6093952729377698,y:.23057252615010027},{x:.6125105344596665,y:.2388256928161204},{x:.6139558241624228,y:.24752803457233888},{x:.6136756003732894,y:.25634512530539366},{x:.6116806319353315,y:.2649381291630949},{x:.6080475843668286,y:.2729768218262032},{x:.6029160736484017,y:.2801522808438262},{x:.5964833008591757,y:.2861887573499603},{x:.5889964738498997,y:.29085427293776983},{x:.5807433071838796,y:.29396953445966656},{x:.5720409654276611,y:.2954148241624228},{x:.5632238746946063,y:.2951346003732895},{x:.4659139564059225,y:.28241791072205386},{x:.48521785958998953,y:.48674482074743597},{x:.6064180682130128,y:.5025833921657807},{x:.6150110746232834,y:.5045783496089273},{x:.6230497719348954,y:.5082113868918628},{x:.6302252375183169,y:.5133428884292346},{x:.6362617222552247,y:.5197756534947408},{x:.640927247422479,y:.5272624745344501},{x:.6440425195043586,y:.5355156372144642},{x:.645487820341822,y:.544217977121417},{x:.6452076078342193,y:.5530350682130128},{x:.6432126503910727,y:.5616280746232835},{x:.6395796131081373,y:.5696667719348955},{x:.6344481115707654,y:.576842237518317},{x:.6280153465052593,y:.5828787222552247},{x:.6205285254655499,y:.587544247422479},{x:.6122753627855358,y:.5906595195043587},{x:.603573022878583,y:.592104820341822},{x:.5947559317869872,y:.5918246078342193},{x:.493900150869001,y:.5786446677402959},{x:.5066445076686692,y:.7135404460866382},{x:.5066094087819312,y:.7223619188908285},{x:.5048540003404339,y:.7310070421155394},{x:.50144574170614,y:.7391435885234865},{x:.4965156103469916,y:.7464588751992401},{x:.4902530684462715,y:.7526717797783111},{x:.4828987819771503,y:.7575435438219629},{x:.47473537204430494,y:.7608869481701144},{x:.4660765539133617,y:.7625735076686692},{x:.45725508110917157,y:.7625384087819311},{x:.44860995788446056,y:.760783000340434},{x:.4404734114765135,y:.7573747417061399},{x:.43315812480075977,y:.7524446103469916},{x:.4269452202216888,y:.7461820684462716},{x:.42207345617803715,y:.7388277819771503},{x:.41873005182988554,y:.730664372044305},{x:.4170434923313308,y:.7220055539133617},{x:.40236933467780645,y:.5666833238969633},{x:.23848272425781383,y:.5452664483557571},{x:.25438050766866915,y:.7135404460866382},{x:.2543454087819311,y:.7223619188908285},{x:.25259000034043394,y:.7310070421155394},{x:.24918174170614,y:.7391435885234865},{x:.2442516103469916,y:.7464588751992401},{x:.23798906844627152,y:.7526717797783111},{x:.2306347819771503,y:.7575435438219629},{x:.22247137204430495,y:.7608869481701144},{x:.21381255391336174,y:.7625735076686692},{x:.20499108110917158,y:.7625384087819311},{x:.1963459578844606,y:.760783000340434},{x:.18820941147651346,y:.7573747417061399},{x:.1808941248007598,y:.7524446103469916},{x:.17468122022168883,y:.7461820684462716},{x:.16980945617803714,y:.7388277819771503},{x:.16646605182988555,y:.730664372044305},{x:.16477949233133082,y:.7220055539133617},{x:.14695190806661926,y:.5333051045124245},{x:.02716793178698713,y:.5176516078342193},{x:.01857492537671658,y:.5156566503910727},{x:.01053622806510461,y:.5120236131081373},{x:.0033607624816830023,y:.5068921115707654},{x:-.0026757222552247634,y:.5004593465052593},{x:-.0073412474224789775,y:.4929725254655499},{x:-.010456519504358698,y:.48471936278553585},{x:-.011901820341822023,y:.476017022878583},{x:-.011621607834219276,y:.4671999317869871},{x:-.00962665039107264,y:.45860692537671655},{x:-.005993613108137223,y:.45056822806510455},{x:-.0008621115707654614,y:.44339276248168297},{x:.005570653494740684,y:.4373562777447752},{x:.013057474534450029,y:.432690752577521},{x:.02131063721446411,y:.42957548049564126},{x:.03001297712141698,y:.42813017965817796},{x:.03883006821301287,y:.4284103921657807},{x:.13826961678760774,y:.4414052575195645},{x:.1189656704142173,y:.23707789034616855},{x:-.004366125305393629,y:.2209606003732895},{x:-.012959129163094893,y:.21896563193533158},{x:-.0209978218262032,y:.2153325843668287},{x:-.028173280843826164,y:.2102010736484018},{x:-.034209757349960276,y:.2037683008591757},{x:-.03887527293776982,y:.1962814738498998},{x:-.041990534459666565,y:.18802830718387967},{x:-.04343582416242281,y:.17932596542766122}],[{x:.2104964979994861,y:.24903935479288136},{x:.22980043297880234,y:.4533666013628972},{x:.39368704339879496,y:.4747834769041034},{x:.3743831288206537,y:.27045644627534104},{x:.2104964979994861,y:.24903935479288136}]],$:[[{x:.030517420733400163,y:.165091535964518},{x:.03086584266660257,y:.1562768767808978},{x:.032927224468652025,y:.14769956254897784},{x:.06950822446865203,y:.04228956254897785},{x:.0704003940010533,y:.04035550336969822},{x:.07109145007989037,y:.03834080913001754},{x:.07224350295250744,y:.03635998272422403},{x:.073203348392932,y:.034279214644477654},{x:.0744556913660193,y:.03255637151138059},{x:.07552651634405921,y:.03071520740954014},{x:.07704287290513265,y:.02899719639360223},{x:.07839021289928177,y:.02714366624511229},{x:.07995460247492134,y:.0256982470536212},{x:.08136404514878363,y:.02410136799351792},{x:.08318643266605391,y:.022712194567306505},{x:.08486948969354943,y:.02115713247420773},{x:.0866858072576693,y:.0200446838732511},{x:.08837970353582197,y:.01875345702162473},{x:.17373770353582196,y:-.03394954297837521},{x:.17475219432147746,y:-.03444582628601368},{x:.17568351020275566,y:-.03508468417701866},{x:.17870701554383397,y:-.03638050305696308},{x:.18166188368778688,y:-.037826008286632525},{x:.18275370138776084,y:-.03811483831561822},{x:.18379175728720304,y:-.038559730016208084},{x:.18700996854351615,y:-.03924079346911771},{x:.19019006380536974,y:-.04008205754340442},{x:.19131725047775072,y:-.0401523347177012},{x:.19242215448928965,y:-.04038616328932037},{x:.262121,y:-.048110644533924524},{x:.262121,y:-.08350199999999997},{x:.2629856623818546,y:-.09228106449072573},{x:.26554642103699205,y:-.100722754456429},{x:.26970486744638544,y:-.10850266048588206},{x:.2753011948466053,y:-.1153218051533946},{x:.2821203395141179,y:-.1209181325536145},{x:.28990024554357097,y:-.12507657896300786},{x:.29834193550927424,y:-.12763733761814533},{x:.307121,y:-.12850199999999995},{x:.3159000644907258,y:-.12763733761814533},{x:.32434175445642904,y:-.12507657896300786},{x:.3321216604858821,y:-.1209181325536145},{x:.33894080515339464,y:-.1153218051533946},{x:.3445371325536145,y:-.10850266048588206},{x:.3486955789630079,y:-.100722754456429},{x:.35125633761814534,y:-.09228106449072573},{x:.35212099999999996,y:-.08350199999999997},{x:.35212099999999996,y:-.05796857189257534},{x:.3537665284657676,y:-.05798865052825875},{x:.3565834008023822,y:-.05822276473922817},{x:.35816715833059226,y:-.05804234673933715},{x:.35976104048452195,y:-.05806179518994546},{x:.3625398346041163,y:-.05754422155704884},{x:.36534825494544937,y:-.05722429279787242},{x:.3668663832111493,y:-.05673836571308556},{x:.3684334335709129,y:-.056446489484502926},{x:.37105786033397337,y:-.05539674504422484},{x:.37374990266128777,y:-.05453506799769968},{x:.49568890266128773,y:-.0018330679976996528},{x:.4995437197067623,y:.0003036028478311586},{x:.5033988605511543,y:.0024396894158641644},{x:.5034014762743246,y:.0024419030290919073},{x:.503404473339876,y:.00244356426035406},{x:.5067683773534712,y:.005291217073469004},{x:.510132712931077,y:.008138360005776092},{x:.5101348465393426,y:.008141041387321917},{x:.510137461926978,y:.00814325539697476},{x:.5128811799638975,y:.011592456477016289},{x:.5156254207452635,y:.015041241667436683},{x:.5156269902452553,y:.015044287773311453},{x:.5156291234470946,y:.015046969478205698},{x:.5176472159618929,y:.018965167962033513},{x:.519665902312761,y:.02288306052976895},{x:.5684429023127611,y:.1458620605297689},{x:.5688122064775901,y:.14714915498994666},{x:.5693537919217377,y:.14837377040805427},{x:.5700262192706007,y:.15138021786244946},{x:.5708758841928585,y:.15434145989163614},{x:.5709869926090132,y:.15567587086110493},{x:.5712792610244494,y:.1569826137160382},{x:.5713522390683521,y:.16006247719363653},{x:.5716078682563359,y:.16313258119086366},{x:.5714565110896938,y:.16446302800441426},{x:.5714882307651191,y:.1658016809010868},{x:.5709589549987614,y:.16883660297565092},{x:.5706107247661352,y:.1718975865660398},{x:.570202718587728,y:.17317294089875004},{x:.5699726705538047,y:.1744920601570685},{x:.5455836705538047,y:.26233106015706853},{x:.5448796820390573,y:.26415145628779163},{x:.5443792359109676,y:.2660379863232085},{x:.5432925447356423,y:.2682555269445408},{x:.5424018225194911,y:.2705587850827968},{x:.5413562192793141,y:.27220686146627543},{x:.5404973453311464,y:.27395951015977},{x:.5389989139081434,y:.2759224384285429},{x:.5376759632977357,y:.2780076688235372},{x:.5363289272782685,y:.2794200908086057},{x:.5351446315541886,y:.28097150485378414},{x:.5332920437627642,y:.28260438653745124},{x:.5315877050081386,y:.28439145495451523},{x:.529991002048182,y:.2855139439563835},{x:.528526796368706,y:.2868045033815319},{x:.4553637963687061,y:.3395095033815319},{x:.4552094954443409,y:.33959910378534747},{x:.4550747122553104,y:.3397160246969866},{x:.45139660000367776,y:.341813199213456},{x:.44773515946955245,y:.3439393468807752},{x:.44756634322254935,y:.3439971230209339},{x:.4474113397164003,y:.34408550243429054},{x:.4433947629085852,y:.34542481622689836},{x:.43938888509457313,y:.34679579895012297},{x:.43921204103863115,y:.34681953052195974},{x:.439042773913178,y:.34687597206574233},{x:.35212099999999996,y:.3666493043587998},{x:.35212099999999996,y:.6320956693586206},{x:.3838005126074005,y:.6288356018928482},{x:.4577579663937751,y:.5527249728659002},{x:.46449612147708186,y:.5470313904751531},{x:.47221556762189953,y:.5427617575185425},{x:.48061965084199804,y:.5400801535961528},{x:.48938540693229315,y:.5390896312428609},{x:.49817597280212744,y:.5398282556772123},{x:.5066535319349293,y:.5422676419764202},{x:.5144922964874953,y:.5463140458930298},{x:.5213910271340998,y:.551811966393775},{x:.5270846095248467,y:.5585501214770818},{x:.5313542424814575,y:.5662695676218995},{x:.534035846403847,y:.5746736508419981},{x:.535026368757139,y:.5834394069322931},{x:.5342877443227877,y:.5922299728021274},{x:.5318483580235798,y:.6007075319349293},{x:.5278019541069703,y:.6085462964874953},{x:.5223040336062249,y:.6154450271340998},{x:.4369490336062249,y:.7032850271340998},{x:.435089451582588,y:.7048563301588934},{x:.43337550685970433,y:.706585327551969},{x:.43172842132509603,y:.7076963215886295},{x:.4302108785229181,y:.7089786095248467},{x:.4280804818333404,y:.7101569339468108},{x:.4260621594195314,y:.7115183351118896},{x:.4242299779872524,y:.7122866512623272},{x:.42249143237810044,y:.7132482424814575},{x:.4201720909726226,y:.7139883059538676},{x:.4179269538663623,y:.7149297930076584},{x:.4159800862413552,y:.7153259053130885},{x:.41408734915800194,y:.715929846403847},{x:.4116681940261354,y:.716203208702491},{x:.4092825215873294,y:.7166886008255086},{x:.35212099999999996,y:.7225709645831306},{x:.35212099999999996,y:.7597659999999999},{x:.35125633761814534,y:.7685450644907257},{x:.3486955789630079,y:.776986754456429},{x:.3445371325536145,y:.7847666604858821},{x:.33894080515339464,y:.7915858051533946},{x:.3321216604858821,y:.7971821325536145},{x:.32434175445642904,y:.8013405789630078},{x:.3159000644907258,y:.8039013376181453},{x:.307121,y:.804766},{x:.29834193550927424,y:.8039013376181453},{x:.28990024554357097,y:.8013405789630078},{x:.2821203395141179,y:.7971821325536145},{x:.2753011948466053,y:.7915858051533946},{x:.26970486744638544,y:.7847666604858821},{x:.26554642103699205,y:.776986754456429},{x:.2629856623818546,y:.7685450644907257},{x:.262121,y:.7597659999999999},{x:.262121,y:.7318326623736131},{x:.23856652158732947,y:.7342566008255086},{x:.23743405616423266,y:.7342615520061975},{x:.23631438427367413,y:.7344313675125375},{x:.2330314335362298,y:.7342808004350606},{x:.22974506326706257,y:.734295168567351},{x:.22863339192208898,y:.7340790915684273},{x:.22750210485113245,y:.7340272069677483},{x:.2243116092711877,y:.7332390610779145},{x:.22108558260167874,y:.7326120140964958},{x:.22003742624118275,y:.7321832126358507},{x:.21893799871753236,y:.7319116218242595},{x:.21596256725097532,y:.7305161851266182},{x:.21292085857685591,y:.729271820095334},{x:.21197649726195836,y:.7286467727726252},{x:.21095117966878213,y:.7281659128327016},{x:.2083051564782311,y:.7262168111769735},{x:.20556465695803808,y:.7244029483461277},{x:.204760381964467,y:.7236056753794367},{x:.20384857668186554,y:.7229340254890024},{x:.10629557668186554,y:.6350940254890024},{x:.10393291169686979,y:.6325042238563513},{x:.10146752815288923,y:.6300120075116347},{x:.10096488682836192,y:.6292508655939548},{x:.10035013880638408,y:.6285770182897039},{x:.09853811700104832,y:.6255760458964971},{x:.09660631239978806,y:.6226507443205297},{x:.09626182060918942,y:.6218061670735107},{x:.09579034588565258,y:.6210253361666956},{x:.09459860224176168,y:.6177285186990383},{x:.0932746147506803,y:.6144825495908574},{x:.056695614750680294,y:.49150554959085735},{x:.05654965816703397,y:.490750439567249},{x:.05628361804350595,y:.49002883224693095},{x:.05571374572525952,y:.48642582571377374},{x:.055021470477783566,y:.4828443224653027},{x:.055025633066628665,y:.4820752469521588},{x:.05490548343396577,y:.4813156032607913},{x:.055049472757300266,y:.47767065091379934},{x:.05506921600663437,y:.4740229090450286},{x:.05522333780201598,y:.4732694231830167},{x:.05525369594322076,y:.472500935801646},{x:.05610601347919053,y:.46895411111540136},{x:.056837016503334954,y:.46538031130067065},{x:.05713517469108906,y:.46467137112890816},{x:.05731487395982006,y:.46392357259662753},{x:.08169987395982006,y:.39365157259662753},{x:.08192222202041206,y:.3931695328553223},{x:.08205835369770847,y:.3926564352635495},{x:.08376780756696771,y:.3891683934837906},{x:.08539480756850773,y:.3856411369034641},{x:.08570692456181836,y:.38521173737536313},{x:.08594054088151196,y:.3847350567827023},{x:.08829763126802886,y:.38164753465350854},{x:.09058150254284453,y:.37850546527353984},{x:.0909713939878581,y:.378145207541698},{x:.09129351720579659,y:.37772326251599964},{x:.09420766244788897,y:.3751549117812935},{x:.09706063710369874,y:.372518777565862},{x:.09751331969083687,y:.37224150613287915},{x:.09791157079240381,y:.3718905117848512},{x:.17107757079240382,y:.3191875117848513},{x:.17123114354048857,y:.3190983419119289},{x:.17136528774468962,y:.3189819753030134},{x:.17504412834709762,y:.3168843854977816},{x:.17870637355344754,y:.314757953928811},{x:.1788743916234626,y:.3147004579868701},{x:.17902866028359976,y:.31461249756570947},{x:.183046032465951,y:.31327291855818423},{x:.1870527548771027,y:.3119018143721617},{x:.18722876142884332,y:.31187820189800686},{x:.18739722608682208,y:.3118220279342577},{x:.262121,y:.2948235482063542},{x:.262121,y:.04244038202745839},{x:.212402420161311,y:.04795051974434915},{x:.14928483997433578,y:.08692151049617265},{x:.11795277553134796,y:.17720643745102208},{x:.114257651607068,y:.18521678535552225},{x:.10907078710071823,y:.1923523337548876},{x:.10259151030645056,y:.1983388675257922},{x:.09506881619784838,y:.20294632753270694},{x:.08679179769072982,y:.20599765167145945},{x:.07807853596451803,y:.20737557926659977},{x:.06926387678089782,y:.20702715733339738},{x:.0606865625489779,y:.20496577553134793},{x:.052676214644477706,y:.20127065160706795},{x:.04554066624511235,y:.1960837871007182},{x:.039554132474207776,y:.18960451030645054},{x:.034946672467293015,y:.18208181619784836},{x:.03189534832854049,y:.1738047976907298},{x:.030517420733400163,y:.165091535964518}],[{x:.14709211773983194,y:.4797371545422716},{x:.17592903295677773,y:.5766856037244347},{x:.24922570721126042,y:.6426843927572041},{x:.262121,y:.6413573671491031},{x:.262121,y:.3871228845247169},{x:.21626819752335621,y:.3975536737173561},{x:.16206100150816494,y:.4366002507010456},{x:.14709211773983194,y:.4797371545422716}],[{x:.35212099999999996,y:.034163101195078524},{x:.35212099999999996,y:.2743499680404371},{x:.4101709471377665,y:.26114452085874473},{x:.4630938273127818,y:.2230200535785049},{x:.47920731446793274,y:.1649859973145621},{x:.44287681685863156,y:.07338773859643172},{x:.35212099999999996,y:.034163101195078524}]],"\'":[[{x:.25602600000000003,y:.476978},{x:.25689066238185465,y:.4681989355092742},{x:.2594514210369921,y:.459757245543571},{x:.2636098674463855,y:.4519773395141179},{x:.26920619484660535,y:.44515819484660535},{x:.27602533951411795,y:.4395618674463855},{x:.283805245543571,y:.4354034210369921},{x:.2922469355092743,y:.43284266238185465},{x:.301026,y:.43197800000000003},{x:.3098050644907258,y:.43284266238185465},{x:.3182467544564291,y:.4354034210369921},{x:.32602666048588214,y:.4395618674463855},{x:.3328458051533947,y:.44515819484660535},{x:.33844213255361455,y:.4519773395141179},{x:.34260057896300794,y:.459757245543571},{x:.3451613376181454,y:.4681989355092742},{x:.346026,y:.476978},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.476978}]],"(":[[{x:.14398102142772873,y:.343473372436119},{x:.14438344127795402,y:.34024506484177663},{x:.14461855620935057,y:.33700027938992067},{x:.15480555620935058,y:.27783527938992064},{x:.15553530200183258,y:.27518493680242373},{x:.1560666158259812,y:.2724877993619115},{x:.1764416158259812,y:.20487079936191147},{x:.17757136816824137,y:.2021290142392397},{x:.17852197521392682,y:.19932008699588913},{x:.2090839752139268,y:.13170208699588917},{x:.21040800505224358,y:.12940389577393302},{x:.21154775445201235,y:.12700896170152925},{x:.25229575445201236,y:.05939296170152925},{x:.2531150427152032,y:.05829379345186112},{x:.2537782786760274,y:.05709399256856861},{x:.29452927867602746,y:-.0020700074314313824},{x:.29560111146026063,y:-.0033391000809501682},{x:.29650963843516415,y:-.004729783512322571},{x:.3372576384351641,y:-.05544378351232261},{x:.3386866074193021,y:-.05690267270426387},{x:.3399537097957662,y:-.05850416001284604},{x:.38070370979576623,y:-.10073716001284601},{x:.38742176905533504,y:-.10645444032360908},{x:.3951261287468799,y:-.11075123635207199},{x:.40352071464810957,y:-.11346242463653189},{x:.41228292753057777,y:-.11448381573166892},{x:.42107604046711683,y:-.11377615815049966},{x:.4295621390588101,y:-.11136664677700951},{x:.4374151072958377,y:-.10734787778201216},{x:.444333160012846,y:-.10187429020423372},{x:.4500504403236091,y:-.09515623094466494},{x:.45434723635207197,y:-.08745187125312004},{x:.4570584246365319,y:-.07905728535189037},{x:.45807981573166895,y:-.07029507246942218},{x:.4573721581504997,y:-.06150195953288313},{x:.45496264677700954,y:-.053015860941189874},{x:.45094387778201217,y:-.04516289270416226},{x:.44547029020423373,y:-.03824483998715393},{x:.4061377413616867,y:.0025191240684850026},{x:.3677075745656829,y:.050348403515145926},{x:.3286739379437331,y:.10701906379590062},{x:.2900025757951927,y:.1711891536907596},{x:.2617573982317254,y:.23368121626802973},{x:.24303344075060918,y:.2958190240226623},{x:.23462816944303005,y:.34463593546989096},{x:.24303340667749923,y:.39345182392970596},{x:.26175739639474455,y:.45558881969516635},{x:.2900026404789191,y:.5180819536434618},{x:.328674029726828,y:.5822520885061939},{x:.36770768599197223,y:.6389237351633864},{x:.4061420841180472,y:.6867582808236831},{x:.4454798975405431,y:.7275528000242046},{x:.45095135740921277,y:.7344725356602282},{x:.45496771125722263,y:.7423267393839987},{x:.45737461285859093,y:.7508135785511003},{x:.458079566334583,y:.759606908691815},{x:.4570554807184589,y:.768368807060192},{x:.4543417110461325,y:.7767625588156633},{x:.4500425459642118,y:.7844655967855365},{x:.4443231999757953,y:.791181897540543},{x:.4374034643397718,y:.7966533574092127},{x:.4295492606160011,y:.8006697112572226},{x:.42106242144889966,y:.8030766128585909},{x:.41226909130818484,y:.803781566334583},{x:.403507192939808,y:.8027574807184589},{x:.39511344118433667,y:.8000437110461325},{x:.3874104032144634,y:.7957445459642117},{x:.38069410245945684,y:.7900251999757952},{x:.33994410245945683,y:.7477661999757953},{x:.338681775527778,y:.7461697396410558},{x:.3372576384351641,y:.7447157835123226},{x:.29650963843516415,y:.6940017835123226},{x:.2956010143988682,y:.6926109515089496},{x:.29452907712829884,y:.6913417148135671},{x:.2537780771282988,y:.6321767148135672},{x:.25311493656839296,y:.6309770641401381},{x:.25229575445201236,y:.6298780382984708},{x:.21154775445201235,y:.5622620382984707},{x:.21040795156345282,y:.5598669918310725},{x:.2090838723444427,y:.5575686854051248},{x:.17852187234444272,y:.48994968540512485},{x:.17757135012625538,y:.48714095747585867},{x:.17644166886939822,y:.4843993766680373},{x:.1560666688693982,y:.4167833766680374},{x:.15553533856931018,y:.4140862136984408},{x:.15480557779123924,y:.4114358459543075},{x:.14461857779123924,y:.3522718459543075},{x:.14438345368873493,y:.3490270611669966},{x:.14398102471397584,y:.3457987547100726},{x:.14406527252602844,y:.3446360634540339},{x:.14398102142772873,y:.343473372436119}]],")":[[{x:.14397318426833106,y:-.07029507246942218},{x:.14499457536346808,y:-.07905728535189037},{x:.14770576364792798,y:-.08745187125312004},{x:.1520025596763909,y:-.09515623094466495},{x:.15771983998715397,y:-.10187429020423372},{x:.16463789270416226,y:-.10734787778201214},{x:.1724908609411899,y:-.11136664677700951},{x:.18097695953288315,y:-.11377615815049966},{x:.1897700724694222,y:-.11448381573166892},{x:.19853228535189038,y:-.11346242463653189},{x:.20692687125312006,y:-.11075123635207199},{x:.21463123094466496,y:-.10645444032360907},{x:.22134929020423375,y:-.10073716001284601},{x:.2620992902042337,y:-.05850416001284604},{x:.2633660586938147,y:-.05690309470300352},{x:.26479468609075496,y:-.05544462417080616},{x:.30554468609075497,y:-.004730624170806122},{x:.3064541047100432,y:-.003338648753719708},{x:.307526891803669,y:-.002068307996824087},{x:.348273891803669,y:.05709569200317591},{x:.3489362195699084,y:.058293979727073175},{x:.3497544895549002,y:.059391707275619196},{x:.39050548955490016,y:.12700770727561922},{x:.39164563057902163,y:.12940326331913213},{x:.3929700247860732,y:.13170208699588917},{x:.42353202478607316,y:.19932008699588913},{x:.4244827292530259,y:.20212930210713742},{x:.4256125601984483,y:.2048713835354543},{x:.4459865601984483,y:.27248838353545435},{x:.4465177787005257,y:.27518522990297933},{x:.4472474437906494,y:.27783527938992064},{x:.4574344437906494,y:.33700027938992067},{x:.45766955872204595,y:.3402450648417768},{x:.4580719785722712,y:.34347337243611903},{x:.45798772747397154,y:.3446360634540339},{x:.4580719752860241,y:.3457987547100726},{x:.45766954631126505,y:.34902706116699656},{x:.45743442220876074,y:.3522718459543075},{x:.44724742220876074,y:.4114358459543075},{x:.4465177421348676,y:.414085920594514},{x:.44598650715958776,y:.4167827924880124},{x:.42561250715958776,y:.4843987924880123},{x:.42448274729464536,y:.48714066960378194},{x:.42353212765555726,y:.48994968540512485},{x:.3929701276555573,y:.5575686854051248},{x:.39164568407140216,y:.5598676242877579},{x:.39050548955490016,y:.5622632927243807},{x:.3497544895549002,y:.6298792927243808},{x:.3489363257182038,y:.6309768778726063},{x:.34827409333092635,y:.6321750153799588},{x:.3075270933309263,y:.6913400153799587},{x:.3064542017711834,y:.692610500189881},{x:.30554468609075497,y:.6940026241708062},{x:.26479468609075496,y:.7447166241708062},{x:.26337089070969094,y:.7461701617493295},{x:.2621088975405431,y:.7477661999757953},{x:.2213588975405431,y:.7900251999757952},{x:.21464259678553657,y:.7957445459642117},{x:.20693955881566328,y:.8000437110461325},{x:.19854580706019195,y:.8027574807184589},{x:.1897839086918151,y:.803781566334583},{x:.1809905785511003,y:.8030766128585909},{x:.17250373938399882,y:.8006697112572226},{x:.16464953566022822,y:.7966533574092127},{x:.15772980002420467,y:.791181897540543},{x:.15201045403578817,y:.7844655967855365},{x:.14771128895386743,y:.7767625588156633},{x:.14499751928154103,y:.7683688070601918},{x:.14397343366541698,y:.759606908691815},{x:.14467838714140904,y:.7508135785511002},{x:.14708528874277732,y:.7423267393839987},{x:.1511016425907872,y:.7344725356602282},{x:.15657310245945688,y:.7275528000242046},{x:.19591129092993145,y:.6867578918874246},{x:.23434697314436972,y:.6389240958672278},{x:.27337685298529213,y:.5822523693404118},{x:.3120516621801016,y:.518081284004684},{x:.34029647741491703,y:.4555890988936643},{x:.35901954136421654,y:.39345212569273014},{x:.36742483055696995,y:.344635935469891},{x:.359019507292604,y:.29581872226323463},{x:.3402964755778617,y:.23368093707349602},{x:.3120517268674457,y:.17118982332763816},{x:.27337694476991303,y:.10701878295300266},{x:.23434708457036935,y:.05034804280413771},{x:.1959156338111051,y:.0025195128948044543},{x:.15658270979576625,y:-.03824483998715393},{x:.1511091222179878,y:-.045162892704162266},{x:.14709035322299047,y:-.053015860941189874},{x:.1446808418495003,y:-.06150195953288312},{x:.14397318426833106,y:-.07029507246942218}]],"*":[[{x:.03611444520266741,y:.4654782574484574},{x:.03652686631141767,y:.45666636076295464},{x:.038650478626155074,y:.4481042415682919},{x:.04240367291655979,y:.4401209373034283},{x:.04764221603086716,y:.4330232418741738},{x:.05416479369500318,y:.42708391573544136},{x:.06172074690723879,y:.42253120385992987},{x:.07001970462305517,y:.4195400644118251},{x:.0787427425515426,y:.41822544520266736},{x:.08755463923704532,y:.41863786631141764},{x:.09611675843170807,y:.42076147862615504},{x:.25602600000000003,y:.47756000598755177},{x:.25602600000000003,y:.31805799999999995},{x:.25689066238185465,y:.30927893550927416},{x:.2594514210369921,y:.30083724554357094},{x:.2636098674463855,y:.29305733951411783},{x:.26920619484660535,y:.2862381948466053},{x:.27602533951411795,y:.2806418674463854},{x:.283805245543571,y:.276483421036992},{x:.2922469355092743,y:.2739226623818546},{x:.301026,y:.27305799999999997},{x:.3098050644907258,y:.2739226623818546},{x:.3182467544564291,y:.276483421036992},{x:.32602666048588214,y:.2806418674463854},{x:.3328458051533947,y:.2862381948466053},{x:.33844213255361455,y:.29305733951411783},{x:.34260057896300794,y:.30083724554357094},{x:.3451613376181454,y:.30927893550927416},{x:.346026,y:.31805799999999995},{x:.346026,y:.47756000598755177},{x:.505935241568292,y:.42076147862615504},{x:.5144973607629547,y:.41863786631141764},{x:.5233092574484575,y:.41822544520266736},{x:.5320322953769449,y:.4195400644118251},{x:.5403312530927612,y:.42253120385992987},{x:.5478872063049969,y:.42708391573544136},{x:.5544097839691329,y:.4330232418741738},{x:.5596483270834403,y:.4401209373034283},{x:.5634015213738449,y:.4481042415682919},{x:.5655251336885824,y:.45666636076295464},{x:.5659375547973327,y:.4654782574484574},{x:.5646229355881749,y:.4742012953769448},{x:.5616317961400701,y:.4825002530927612},{x:.5570790842645587,y:.4900562063049968},{x:.5511397581258262,y:.4965787839691328},{x:.5440420626965717,y:.5018173270834402},{x:.5360587584317081,y:.5055705213738448},{x:.37146215609131306,y:.5640339630732496},{x:.47696549129035026,y:.7165911114148321},{x:.48124783600971727,y:.7243035129909579},{x:.48394328176908086,y:.732703166943666},{x:.4849482440995321,y:.7414672792821342},{x:.48422410286230105,y:.7502590500841659},{x:.48179868639903156,y:.758740616528321},{x:.47776520210421775,y:.7665860367726678},{x:.4722786545173053,y:.7734938157169785},{x:.4655498885851679,y:.7791984912903502},{x:.45783748700904214,y:.7834808360097172},{x:.449437833056334,y:.7861762817690807},{x:.4406737207178658,y:.7871812440995319},{x:.431881949915834,y:.786457102862301},{x:.4234003834716789,y:.7840316863990314},{x:.4155549632273321,y:.7799982021042177},{x:.40864718428302144,y:.7745116545173052},{x:.40294250870964976,y:.7677828885851677},{x:.301026,y:.6204122684209616},{x:.19910949129035027,y:.7677828885851677},{x:.19340481571697854,y:.7745116545173052},{x:.18649703677266788,y:.7799982021042177},{x:.17865161652832107,y:.7840316863990314},{x:.17017005008416597,y:.786457102862301},{x:.1613782792821342,y:.7871812440995319},{x:.15261416694366597,y:.7861762817690807},{x:.14421451299095783,y:.7834808360097172},{x:.13650211141483212,y:.7791984912903502},{x:.12977334548269473,y:.7734938157169785},{x:.12428679789578226,y:.7665860367726678},{x:.12025331360096844,y:.758740616528321},{x:.11782789713769894,y:.7502590500841659},{x:.11710375590046794,y:.7414672792821342},{x:.11810871823091917,y:.732703166943666},{x:.12080416399028275,y:.7243035129909579},{x:.1250865087096497,y:.7165911114148321},{x:.23058984390868703,y:.5640339630732496},{x:.06599324156829194,y:.5055705213738448},{x:.058009937303428294,y:.5018173270834402},{x:.05091224187417384,y:.4965787839691328},{x:.04497291573544139,y:.4900562063049968},{x:.04042020385992993,y:.4825002530927612},{x:.03742906441182516,y:.4742012953769448},{x:.03611444520266741,y:.4654782574484574}]],"+":[[{x:-.002030999999999998,y:.33155},{x:-.0011663376181453647,y:.3227709355092742},{x:.0013944210369920967,y:.314329245543571},{x:.005552867446385459,y:.3065493395141179},{x:.011149194846605363,y:.29973019484660535},{x:.017968339514117915,y:.2941338674463855},{x:.025748245543570962,y:.2899754210369921},{x:.03418993550927423,y:.28741466238185465},{x:.042969,y:.28655},{x:.256023,y:.28655},{x:.256023,y:.09133899999999995},{x:.2568876623818546,y:.08255993550927418},{x:.25944842103699206,y:.07411824554357091},{x:.26360686744638545,y:.06633833951411786},{x:.2692031948466054,y:.05951919484660531},{x:.2760223395141179,y:.053922867446385414},{x:.2838022455435709,y:.049764421036992045},{x:.2922439355092742,y:.04720366238185458},{x:.301023,y:.04633899999999995},{x:.3098020644907258,y:.04720366238185458},{x:.31824375445642905,y:.049764421036992045},{x:.3260236604858821,y:.053922867446385414},{x:.3328428051533946,y:.05951919484660531},{x:.3384391325536145,y:.06633833951411786},{x:.3425975789630079,y:.07411824554357091},{x:.34515833761814535,y:.08255993550927418},{x:.34602299999999997,y:.09133899999999995},{x:.34602299999999997,y:.28655},{x:.559083,y:.28655},{x:.5678620644907257,y:.28741466238185465},{x:.576303754456429,y:.2899754210369921},{x:.5840836604858821,y:.2941338674463855},{x:.5909028051533947,y:.29973019484660535},{x:.5964991325536145,y:.3065493395141179},{x:.6006575789630079,y:.314329245543571},{x:.6032183376181454,y:.3227709355092742},{x:.604083,y:.33155},{x:.6032183376181454,y:.3403290644907258},{x:.6006575789630079,y:.348770754456429},{x:.5964991325536145,y:.35655066048588213},{x:.5909028051533947,y:.3633698051533947},{x:.5840836604858821,y:.36896613255361455},{x:.576303754456429,y:.37312457896300794},{x:.5678620644907257,y:.3756853376181454},{x:.559083,y:.37655},{x:.34602299999999997,y:.37655},{x:.34602299999999997,y:.571777},{x:.34515833761814535,y:.5805560644907257},{x:.3425975789630079,y:.588997754456429},{x:.3384391325536145,y:.5967776604858821},{x:.3328428051533946,y:.6035968051533946},{x:.3260236604858821,y:.6091931325536145},{x:.31824375445642905,y:.6133515789630078},{x:.3098020644907258,y:.6159123376181453},{x:.301023,y:.616777},{x:.2922439355092742,y:.6159123376181453},{x:.2838022455435709,y:.6133515789630078},{x:.2760223395141179,y:.6091931325536145},{x:.2692031948466054,y:.6035968051533946},{x:.26360686744638545,y:.5967776604858821},{x:.25944842103699206,y:.588997754456429},{x:.2568876623818546,y:.5805560644907257},{x:.256023,y:.571777},{x:.256023,y:.37655},{x:.042969,y:.37655},{x:.03418993550927421,y:.3756853376181454},{x:.025748245543570934,y:.37312457896300794},{x:.017968339514117904,y:.36896613255361455},{x:.011149194846605356,y:.3633698051533947},{x:.005552867446385459,y:.35655066048588213},{x:.0013944210369920967,y:.348770754456429},{x:-.0011663376181453647,y:.3403290644907258},{x:-.002030999999999998,y:.33155}]],",":[[{x:.1703425796668749,y:-.03158948169003215},{x:.1707557440557006,y:-.035050650253961146},{x:.17102563140319493,y:-.03852592771911176},{x:.17127771326913271,y:-.039423300660751795},{x:.17138819577001116,y:-.0403488367651378},{x:.1724686618106471,y:-.0436628955719719},{x:.1734113563482083,y:-.04701874414557815},{x:.1738336633079298,y:-.04784969558537063},{x:.17412258605517572,y:-.048735893706360625},{x:.1758288320436127,y:-.05177548533469908},{x:.17740810654883146,y:-.054882941638058576},{x:.177984409582707,y:-.05561553857817519},{x:.17844066943717352,y:-.05642834261896521},{x:.18070712529694977,y:-.05907665726715373},{x:.18286228913625774,y:-.06181630349720979},{x:.26855428913625773,y:-.1511263034972098},{x:.27525630293239317,y:-.15686238451505874},{x:.2829485933055849,y:-.16118075031492074},{x:.2913355498506774,y:-.16391544852087458},{x:.3000948665311021,y:-.16496138621450188},{x:.3088899277191117,y:-.1642783685968051},{x:.3173827441455781,y:-.16189264365179173},{x:.3252469416380585,y:-.15789589345116858},{x:.33218030349720973,y:-.1524417108637423},{x:.3379163845150587,y:-.14573969706760687},{x:.3422347503149207,y:-.13804740669441512},{x:.3449694485208745,y:-.12966045014932262},{x:.3460153862145018,y:-.12090113346889794},{x:.34533236859680505,y:-.11210607228088836},{x:.34294664365179167,y:-.10361325585442197},{x:.33894989345116855,y:-.09574905836194152},{x:.33349571086374225,y:-.08881569650279031},{x:.277697993368333,y:-.03066214483501502},{x:.41918956700521515,y:.11679250439324337},{x:.42464400414059766,y:.12372566600271688},{x:.42864104306488354,y:.1315897167531037},{x:.43102707981377775,y:.14008244558427704},{x:.4317104203331251,y:.14887748169003212},{x:.4306648042299889,y:.15763683676513773},{x:.4279304139448243,y:.1660238937063606},{x:.4236123305628265,y:.17371634261896518},{x:.41787649560675666,y:.1804185670052151},{x:.41094333399728317,y:.18587300414059763},{x:.4030792832468963,y:.18987004306488353},{x:.39458655441572293,y:.19225607981377774},{x:.3857915183099679,y:.19293942033312508},{x:.37703216323486227,y:.19189380422998883},{x:.36864510629363945,y:.18915941394482427},{x:.3609526573810348,y:.18484133056282648},{x:.35425043299478487,y:.17910549560675662},{x:.18286343299478489,y:.000495495606756581},{x:.18070816857348473,y:-.0022440714967103576},{x:.1784416154849413,y:-.004892302932393237},{x:.17798532578947307,y:-.005705090221499034},{x:.17740899585940237,y:-.006437666002716908},{x:.1758296072680145,y:-.009545064322455634},{x:.1741232496850793,y:-.012584593305585},{x:.17383429440212667,y:-.013470780818460306},{x:.1734119569351165,y:-.014301716753103766},{x:.1724691391914766,y:-.01765753071433596},{x:.17138855147912546,y:-.02097154985067746},{x:.17127803499816427,y:-.02189708189818214},{x:.17102592018622226,y:-.022794445584277102},{x:.17075590524748027,y:-.02626971313843455},{x:.17034261378549817,y:-.029730866531102167},{x:.17041478319291342,y:-.03066017543569507},{x:.1703425796668749,y:-.03158948169003215}]],"-":[[{x:.12882900000000003,y:.31396500000000005},{x:.12969366238185465,y:.30518593550927425},{x:.13225442103699211,y:.29674424554357104},{x:.13641286744638548,y:.28896433951411793},{x:.14200919484660537,y:.2821451948466054},{x:.14882833951411792,y:.2765488674463855},{x:.15660824554357097,y:.2723904210369921},{x:.16504993550927424,y:.2698296623818547},{x:.173829,y:.26896500000000007},{x:.428224,y:.26896500000000007},{x:.4370030644907258,y:.2698296623818547},{x:.44544475445642906,y:.2723904210369921},{x:.4532246604858821,y:.2765488674463855},{x:.4600438051533946,y:.2821451948466054},{x:.4656401325536145,y:.28896433951411793},{x:.4697985789630079,y:.29674424554357104},{x:.47235933761814536,y:.30518593550927425},{x:.473224,y:.31396500000000005},{x:.47235933761814536,y:.32274406449072585},{x:.4697985789630079,y:.33118575445642906},{x:.4656401325536145,y:.33896566048588217},{x:.4600438051533946,y:.3457848051533947},{x:.4532246604858821,y:.3513811325536146},{x:.44544475445642906,y:.355539578963008},{x:.4370030644907258,y:.3581003376181454},{x:.428224,y:.35896500000000003},{x:.173829,y:.35896500000000003},{x:.16504993550927424,y:.3581003376181454},{x:.15660824554357097,y:.355539578963008},{x:.14882833951411792,y:.3513811325536146},{x:.14200919484660537,y:.3457848051533947},{x:.13641286744638548,y:.33896566048588217},{x:.13225442103699211,y:.33118575445642906},{x:.12969366238185465,y:.32274406449072585},{x:.12882900000000003,y:.31396500000000005}]],".":[[{x:.19450299999999998,y:.148926},{x:.19536766238185463,y:.14014693550927423},{x:.1979284210369921,y:.13170524554357096},{x:.20208686744638546,y:.12392533951411791},{x:.20768319484660536,y:.11710619484660537},{x:.2145023395141179,y:.11150986744638547},{x:.22228224554357093,y:.1073514210369921},{x:.2307239355092742,y:.10479066238185464},{x:.239503,y:.103926},{x:.362549,y:.103926},{x:.3713280644907258,y:.10479066238185464},{x:.3797697544564291,y:.1073514210369921},{x:.38754966048588213,y:.11150986744638547},{x:.3943688051533947,y:.11710619484660537},{x:.39996513255361454,y:.12392533951411791},{x:.40412357896300793,y:.13170524554357096},{x:.4066843376181454,y:.14014693550927423},{x:.407549,y:.148926},{x:.4066843376181454,y:.1577050644907258},{x:.40412357896300793,y:.16614675445642904},{x:.39996513255361454,y:.1739266604858821},{x:.3943688051533947,y:.18074580515339464},{x:.38754966048588213,y:.18634213255361454},{x:.3797697544564291,y:.1905005789630079},{x:.3713280644907258,y:.19306133761814537},{x:.362549,y:.193926},{x:.239503,y:.193926},{x:.2307239355092742,y:.19306133761814537},{x:.22228224554357093,y:.1905005789630079},{x:.2145023395141179,y:.18634213255361454},{x:.20768319484660536,y:.18074580515339464},{x:.20208686744638546,y:.1739266604858821},{x:.1979284210369921,y:.16614675445642904},{x:.19536766238185463,y:.1577050644907258},{x:.19450299999999998,y:.148926}]],"/":[[{x:.017522651058219416,y:-.036644753012328966},{x:.01865919532569161,y:-.04539277458837648},{x:.02148055556003016,y:-.053750976595687026},{x:.02587830846966649,y:-.06139815801845333},{x:.031683450876571484,y:-.06804044196318723},{x:.038672894413609195,y:-.07342256918292836},{x:.04657803868537635,y:-.0773377075469538},{x:.0550950934307649,y:-.07963540048356893},{x:.0638967530123289,y:-.08022734894178067},{x:.07264477458837641,y:-.07909080467430848},{x:.08100297659568695,y:-.07626944443996993},{x:.08865015801845323,y:-.0718716915303336},{x:.09529244196318715,y:-.0660665491234286},{x:.10067456918292828,y:-.059077105586390885},{x:.5777245691829282,y:.7051758944136092},{x:.5816397075469537,y:.7130810386853763},{x:.5839374004835688,y:.7215980934307649},{x:.5845293489417805,y:.7303997530123288},{x:.5833928046743084,y:.7391477745883763},{x:.5805714444399699,y:.747505976595687},{x:.5761736915303335,y:.7551531580184532},{x:.5703685491234285,y:.7617954419631872},{x:.5633791055863908,y:.7671775691829282},{x:.5554739613146237,y:.7710927075469537},{x:.5469569065692351,y:.7733904004835688},{x:.5381552469876711,y:.7739823489417805},{x:.5294072254116237,y:.7728458046743084},{x:.521049023404313,y:.7700244444399699},{x:.5134018419815468,y:.7656266915303335},{x:.5067595580368128,y:.7598215491234285},{x:.5013774308170718,y:.7528321055863908},{x:.024327430817071727,y:-.011420894413609283},{x:.020412292453046287,y:-.019326038685376436},{x:.018114599516431164,y:-.027843093430764996},{x:.017522651058219416,y:-.036644753012328966}]],"<":[[{x:-.002019645490236678,y:.32959917016575135},{x:-.0016099914284145765,y:.3262199732716625},{x:-.0013526191024594778,y:.3228257800560043},{x:-.001080072865731869,y:.3218487260950263},{x:-.0009579981642362373,y:.3208417436418168},{x:.00010303311987996846,y:.3176073966113462},{x:.0010176343561875828,y:.3143286327165328},{x:.0014755574652736251,y:.31342352370653337},{x:.001791739066671412,y:.3124597057316259},{x:.003463372735866293,y:.309494502707312},{x:.00500005526992945,y:.3064571691910689},{x:.005625757523098081,y:.30565878796371126},{x:.0061238953427729045,y:.3047751734513664},{x:.008341891452602095,y:.3021930655225286},{x:.010441601436418424,y:.2995138854085287},{x:.011211037446978121,y:.298852913306643},{x:.011871988327878901,y:.29808345906703315},{x:.014551110531708777,y:.29598367519331337},{x:.017133157288130564,y:.2937656078708368},{x:.01801675806170013,y:.2932674456816211},{x:.018815122032139454,y:.29264172140965955},{x:.021852413166145952,y:.29110495510775264},{x:.024817570086352318,y:.28943323966009543},{x:.5409315700863523,y:.06192123966009548},{x:.5493135321567164,y:.059171271257023414},{x:.5580709293975171,y:.05810938240515066},{x:.5668672199439956,y:.058776380897540545},{x:.5753643672834672,y:.061146634356187606},{x:.583235830808931,y:.06512905526992949},{x:.5901791145914712,y:.07057060143641844},{x:.5959273921291632,y:.07726215728813057},{x:.6002597603399046,y:.08494657008635234},{x:.6030097287429766,y:.09332853215671641},{x:.6040716175948494,y:.10208592939751719},{x:.6034046191024595,y:.11088221994399564},{x:.6010343656438124,y:.11937936728346718},{x:.5970519447300705,y:.12725083080893104},{x:.5916103985635816,y:.13419411459147126},{x:.5849188427118694,y:.1399423921291632},{x:.5772344299136477,y:.14427476033990455},{x:.15453394878652635,y:.33060846154195217},{x:.577233294268374,y:.5169277390666714},{x:.5849178265486336,y:.521259895342773},{x:.5916095409329668,y:.527007988327879},{x:.5970512785903404,y:.5339511220321395},{x:.6010339165943431,y:.5418224757210541},{x:.6034044043999703,y:.5503195576866639},{x:.6040716454902366,y:.5591158298342486},{x:.6030099981642363,y:.5678732563581832},{x:.6002602609333286,y:.5762552942683741},{x:.5959281046572271,y:.5839398265486336},{x:.5901800116721211,y:.5906315409329669},{x:.5832368779678606,y:.5960732785903404},{x:.5753655242789459,y:.6000559165943432},{x:.5668684423133362,y:.6024264043999704},{x:.5580721701657515,y:.6030936454902367},{x:.5493147436418169,y:.6020319981642364},{x:.540932705731626,y:.5992822609333287},{x:.024818705731625975,y:.37178726093332853},{x:.02185350270731245,y:.3701156272641339},{x:.018816169191068974,y:.3685789447300705},{x:.01801778796371134,y:.36795324247690187},{x:.01713417345136639,y:.367455104657227},{x:.01455206552252819,y:.3652371085473975},{x:.011872885408528756,y:.3631373985635815},{x:.011211913306643135,y:.3623679625530219},{x:.010442459067033207,y:.36170701167212105},{x:.008342675193313383,y:.3590278894682912},{x:.006124607870836803,y:.3564458427118694},{x:.005626445681621026,y:.3555622419382997},{x:.005000721409659611,y:.3547638779678605},{x:.0034639551077528313,y:.3517265868338544},{x:.0017922396600954515,y:.3487614299136476},{x:.0014760314771086122,y:.3477976206592673},{x:.0010180834056568513,y:.3468925242789459},{x:.00010339174271701993,y:.34361378560971106},{x:-.0009577287429766018,y:.3403794678432836},{x:-.0010798312165939596,y:.33937248875722786},{x:-.0013524043999703778,y:.33839544231333624},{x:-.001609870336301571,y:.33500125619719334},{x:-.0020196175948493655,y:.3316220706024828},{x:-.001942922029511974,y:.3306106193263084},{x:-.002019645490236678,y:.32959917016575135}]],"=":[[{x:-.002030999999999998,y:.19162999999999997},{x:-.0011663376181453647,y:.1828509355092742},{x:.0013944210369920967,y:.17440924554357093},{x:.005552867446385459,y:.16662933951411787},{x:.011149194846605363,y:.15981019484660533},{x:.017968339514117915,y:.15421386744638543},{x:.025748245543570962,y:.15005542103699207},{x:.03418993550927423,y:.1474946623818546},{x:.042969,y:.14662999999999998},{x:.559083,y:.14662999999999998},{x:.5678620644907257,y:.1474946623818546},{x:.576303754456429,y:.15005542103699207},{x:.5840836604858821,y:.15421386744638543},{x:.5909028051533947,y:.15981019484660533},{x:.5964991325536145,y:.16662933951411787},{x:.6006575789630079,y:.17440924554357093},{x:.6032183376181454,y:.1828509355092742},{x:.604083,y:.19162999999999997},{x:.6032183376181454,y:.20040906449072574},{x:.6006575789630079,y:.208850754456429},{x:.5964991325536145,y:.21663066048588206},{x:.5909028051533947,y:.2234498051533946},{x:.5840836604858821,y:.2290461325536145},{x:.576303754456429,y:.23320457896300786},{x:.5678620644907257,y:.23576533761814533},{x:.559083,y:.23662999999999995},{x:.042969,y:.23662999999999995},{x:.03418993550927421,y:.23576533761814533},{x:.025748245543570934,y:.23320457896300786},{x:.017968339514117904,y:.2290461325536145},{x:.011149194846605356,y:.2234498051533946},{x:.005552867446385459,y:.21663066048588206},{x:.0013944210369920967,y:.208850754456429},{x:-.0011663376181453647,y:.20040906449072574},{x:-.002030999999999998,y:.19162999999999997}],[{x:-.002030999999999998,y:.454102},{x:-.0011663376181453647,y:.4453229355092742},{x:.0013944210369920967,y:.436881245543571},{x:.005552867446385459,y:.4291013395141179},{x:.011149194846605363,y:.42228219484660534},{x:.017968339514117915,y:.41668586744638547},{x:.025748245543570962,y:.4125274210369921},{x:.03418993550927423,y:.40996666238185464},{x:.042969,y:.409102},{x:.559083,y:.409102},{x:.5678620644907257,y:.40996666238185464},{x:.576303754456429,y:.4125274210369921},{x:.5840836604858821,y:.41668586744638547},{x:.5909028051533947,y:.42228219484660534},{x:.5964991325536145,y:.4291013395141179},{x:.6006575789630079,y:.436881245543571},{x:.6032183376181454,y:.4453229355092742},{x:.604083,y:.454102},{x:.6032183376181454,y:.4628810644907258},{x:.6006575789630079,y:.471322754456429},{x:.5964991325536145,y:.4791026604858821},{x:.5909028051533947,y:.48592180515339467},{x:.5840836604858821,y:.49151813255361454},{x:.576303754456429,y:.49567657896300793},{x:.5678620644907257,y:.49823733761814537},{x:.559083,y:.499102},{x:.042969,y:.499102},{x:.03418993550927421,y:.49823733761814537},{x:.025748245543570934,y:.49567657896300793},{x:.017968339514117904,y:.49151813255361454},{x:.011149194846605356,y:.48592180515339467},{x:.005552867446385459,y:.4791026604858821},{x:.0013944210369920967,y:.471322754456429},{x:-.0011663376181453647,y:.4628810644907258},{x:-.002030999999999998,y:.454102}]],">":[[{x:-.002019645490236678,y:.5591158298342487},{x:-.0013524043999703708,y:.5503195576866637},{x:.0010180834056568513,y:.5418224757210541},{x:.005000721409659611,y:.5339511220321396},{x:.01044245906703322,y:.527007988327879},{x:.01713417345136643,y:.521259895342773},{x:.024818705731625975,y:.5169277390666714},{x:.44751805121347366,y:.33060846154195217},{x:.024817570086352318,y:.14427476033990455},{x:.017133157288130554,y:.1399423921291632},{x:.01044160143641841,y:.13419411459147126},{x:.00500005526992945,y:.12725083080893107},{x:.0010176343561875828,y:.11937936728346718},{x:-.0013526191024594778,y:.11088221994399562},{x:-.0020196175948493655,y:.10208592939751718},{x:-.0009577287429766018,y:.0933285321567164},{x:.0017922396600954585,y:.08494657008635234},{x:.00612460787083681,y:.07726215728813059},{x:.011872885408528759,y:.07057060143641844},{x:.018816169191068984,y:.06512905526992947},{x:.02668763271653284,y:.061146634356187606},{x:.03518478005600438,y:.058776380897540545},{x:.04398107060248284,y:.05810938240515066},{x:.052738467843283614,y:.05917127125702342},{x:.06112042991364768,y:.06192123966009548},{x:.5772344299136477,y:.28943323966009543},{x:.5801995868338548,y:.29110495510775297},{x:.5832368779678606,y:.2926417214096596},{x:.5840352419382998,y:.29326744568162105},{x:.5849188427118694,y:.2937656078708368},{x:.5875008894682915,y:.29598367519331353},{x:.5901800116721211,y:.29808345906703315},{x:.5908409625530218,y:.2988529133066429},{x:.5916103985635817,y:.29951388540852875},{x:.5937101085473976,y:.3021930655225282},{x:.5959281046572271,y:.3047751734513664},{x:.5964262424769022,y:.30565878796371176},{x:.5970519447300705,y:.30645716919106897},{x:.5985886272641329,y:.3094945027073105},{x:.6002602609333286,y:.31245970573162596},{x:.6005764425347265,y:.31342352370653376},{x:.6010343656438124,y:.31432863271653283},{x:.6019489668801197,y:.31760739661134507},{x:.6030099981642363,y:.32084174364181683},{x:.6031320728657319,y:.3218487260950267},{x:.6034046191024595,y:.3228257800560044},{x:.6036619914284146,y:.3262199732716634},{x:.6040716454902366,y:.32959917016575135},{x:.603994922029512,y:.330610619326308},{x:.6040716175948494,y:.33162207060248283},{x:.6036618703363014,y:.3350012561971954},{x:.6034044043999703,y:.33839544231333624},{x:.6031318312165941,y:.33937248875722736},{x:.6030097287429766,y:.3403794678432836},{x:.6019486082572825,y:.3436137856097129},{x:.6010339165943431,y:.3468925242789459},{x:.6005759685228916,y:.3477976206592668},{x:.6002597603399046,y:.34876142991364767},{x:.5985880448922466,y:.3517265868338553},{x:.5970512785903404,y:.3547638779678605},{x:.596425554318379,y:.35556224193829966},{x:.5959273921291631,y:.35644584271186947},{x:.5937093248066866,y:.3590278894682911},{x:.5916095409329668,y:.36170701167212105},{x:.5908400866933569,y:.3623679625530219},{x:.5901791145914712,y:.36313739856358157},{x:.5874999344774714,y:.3652371085473978},{x:.5849178265486336,y:.367455104657227},{x:.5840342120362888,y:.36795324247690175},{x:.583235830808931,y:.3685789447300705},{x:.5801984972926872,y:.37011562726413405},{x:.577233294268374,y:.37178726093332853},{x:.06111929426837402,y:.5992822609333287},{x:.05273725635818315,y:.6020319981642364},{x:.04397982983424857,y:.6030936454902367},{x:.035183557686663716,y:.6024264043999704},{x:.02668647572105406,y:.6000559165943432},{x:.018815122032139416,y:.5960732785903404},{x:.011871988327878898,y:.5906315409329669},{x:.006123895342772898,y:.5839398265486336},{x:.001791739066671405,y:.5762552942683741},{x:-.0009579981642362442,y:.5678732563581832},{x:-.002019645490236678,y:.5591158298342487}]],A:[[{x:-.026930267425517032,y:.05053409251215203},{x:-.025968910797820398,y:.041765089843587025},{x:-.02331527881378681,y:.03335213247651147},{x:-.019071349062388714,y:.025618525644501258},{x:-.013400213383949137,y:.018861467521053887},{x:-.006519810342180955,y:.013340628060451547},{x:.0013054500325951415,y:.009268170027042777},{x:.009774847372633092,y:.006800595699190677},{x:.018562907487847988,y:.006032732574482988},{x:.02733191015641301,y:.006994089202179622},{x:.035744867523488544,y:.00964772118621321},{x:.043478474355498745,y:.013891650937611293},{x:.05023553247894613,y:.019562786616050876},{x:.055756371939548466,y:.02644318965781906},{x:.05982882997295724,y:.03426845003259516},{x:.15465984441872488,y:.2705423452957767},{x:.155303,y:.27047899999999997},{x:.433548,y:.27047899999999997},{x:.439584057854266,y:.2710734998088117},{x:.5426964027293978,y:.03313672871631684},{x:.5469805748198717,y:.025425342079263714},{x:.5526868446471364,y:.018697928086846893},{x:.559595923461843,y:.013213017486017727},{x:.5674422992397985,y:.009181392315192764},{x:.5759244401601543,y:.006757985668725375},{x:.5847163823041805,y:.006035927704977205},{x:.5934802562658602,y:.007042966706560308},{x:.6018792712836831,y:.009740402729397836},{x:.6095906579207363,y:.01402457481987169},{x:.6163180719131531,y:.019730844647136342},{x:.6218029825139822,y:.026639923461843008},{x:.6258346076848073,y:.03448629923979854},{x:.6282580143312746,y:.042968440160154345},{x:.6289800722950228,y:.05176038230418057},{x:.6279730332934397,y:.060524256265860256},{x:.6252755972706022,y:.0689232712836832},{x:.3314685972706022,y:.7468972712836831},{x:.3293831787279993,y:.7506509647260751},{x:.32731734906238874,y:.7544154743554987},{x:.32724162770964893,y:.7545056950115825},{x:.32718442518012836,y:.7546086579207363},{x:.324406768107635,y:.7578833802211685},{x:.32164621338394916,y:.7611725324789461},{x:.3215543458189217,y:.761246247067332},{x:.32147815535286367,y:.7613360719131531},{x:.3181150035540548,y:.764005977330098},{x:.314765810342181,y:.7666933719395485},{x:.31466132698386995,y:.7667477476499444},{x:.314569076538157,y:.7668209825139822},{x:.31074967405057474,y:.7687834680795742},{x:.3069405499674049,y:.7707658299729572},{x:.30682746605267575,y:.7707987771773066},{x:.30672270076020147,y:.7708526076848072},{x:.3025938250794972,y:.7720322561793334},{x:.29847115262736695,y:.7732334043008093},{x:.2983538139076442,y:.7732436568565263},{x:.29824055983984565,y:.7732760143312747},{x:.29396088134293,y:.7736274925246428},{x:.289683092512152,y:.774001267425517},{x:.28956600824863027,y:.7739884313326351},{x:.2894486176958195,y:.7739980722950228},{x:.2851826020272766,y:.773507873077374},{x:.280914089843587,y:.7730399107978204},{x:.2808017595188513,y:.7730044793401902},{x:.28068474373413976,y:.7729910332934397},{x:.2765963314836881,y:.7716779947458032},{x:.2725011324765115,y:.7703862788137869},{x:.27239787288194656,y:.7703296136024552},{x:.27228572871631684,y:.7702935972706022},{x:.26853203527393116,y:.7682081787280027},{x:.2647675256445013,y:.7661423490623888},{x:.26467730498841713,y:.7660666277096486},{x:.2645743420792637,y:.7660094251801283},{x:.2612996197788366,y:.7632317681076393},{x:.2580104675210539,y:.7604712133839491},{x:.2579367529326681,y:.7603793458189217},{x:.2578469280868469,y:.7603031553528636},{x:.25517702266989234,y:.7569400035540427},{x:.25248962806045155,y:.7535908103421809},{x:.2524352523500559,y:.7534863269838704},{x:.2523620174860177,y:.753394076538157},{x:.2503995319204231,y:.7495746740505695},{x:.24841717002704278,y:.7457655499674049},{x:-.023694829972957243,y:.06779154996740488},{x:-.026162404300809343,y:.05932215262736691},{x:-.026930267425517032,y:.05053409251215203}],[{x:.19075686729109992,y:.36047899999999994},{x:.2917712201653896,y:.6121588409316518},{x:.4008392655839541,y:.36047899999999994},{x:.19075686729109992,y:.36047899999999994}]],B:[[{x:.018964999999999996,y:.05103000000000002},{x:.018993157630992935,y:.05074411077481729},{x:.01896863696544404,y:.050457886669927884},{x:.019425235762019696,y:.046357147889743},{x:.01982966238185463,y:.04225093550927423},{x:.019913053192865363,y:.04197603284668677},{x:.019944843237820968,y:.04169052471317667},{x:.02119268306568244,y:.037757658485048945},{x:.02239042103699209,y:.03380924554357098},{x:.0225258403659196,y:.03355589379873479},{x:.022612719447780122,y:.03328207355405998},{x:.02460384652213923,y:.029668217721559587},{x:.026548867446385453,y:.026029339514117924},{x:.02673111120436309,y:.02580727485250577},{x:.026869740608734982,y:.025555665255108946},{x:.029527637032761178,y:.022399698271204867},{x:.03214519484660536,y:.019210194846605383},{x:.03236725950821749,y:.019027951088627763},{x:.03255231178483501,y:.01880822135423258},{x:.03577483608951879,y:.016231425260229353},{x:.03896433951411791,y:.013613867446385479},{x:.03921769125895406,y:.013478448117457993},{x:.03944205495260531,y:.013299042336531411},{x:.04310536733612953,y:.011400441961238211},{x:.046744245543570956,y:.009455421036992116},{x:.04701914820615845,y:.009372030225981372},{x:.047274201145921,y:.009239842862072495},{x:.051237522567796415,y:.008092400353164256},{x:.055185935509274225,y:.006894662381854655},{x:.05547182473445692,y:.006866504750861718},{x:.05574776537889109,y:.006786615690234012},{x:.05985878761953148,y:.006434426619834929},{x:.063965,y:.0060300000000000215},{x:.06425088922518268,y:.006058157630992957},{x:.06453711333007213,y:.00603363696544406},{x:.4241221133300721,y:.01060563696544408},{x:.4260098351414485,y:.010815826288282449},{x:.4279092214657345,y:.010813640036582327},{x:.43038314701987823,y:.011302774871886453},{x:.43288947528682337,y:.011581843237821021},{x:.43469991915024053,y:.012156270087817089},{x:.43656323581544765,y:.012524677733968342},{x:.4388942001112364,y:.013487052913568918},{x:.44129792644594007,y:.014249719447780182},{x:.4429615180190356,y:.01516630892323094},{x:.4447171588106798,y:.015891152767997317},{x:.5224141588106799,y:.0573061527679973},{x:.525028554951968,y:.05904868699814221},{x:.5277374225537912,y:.06064039332865708},{x:.5286915199232336,y:.06149010807639827},{x:.529754639763497,y:.06219869339105244},{x:.5319788494519322,y:.06441778869965879},{x:.5343251404217865,y:.06650738469209135},{x:.5350951339540482,y:.06752690757225652},{x:.5359995881074716,y:.06842928201075814},{x:.5377481362120787,y:.07103965980959966},{x:.5396416839038074,y:.07354684346181917},{x:.5707946839038074,y:.12450984346181915},{x:.5718407730360667,y:.12667263757185424},{x:.573076251912317,y:.12873311634664666},{x:.5737567016649755,y:.13063382885667474},{x:.5746357412153917,y:.13245124718509382},{x:.57523978983892,y:.1347765656784282},{x:.576049549867314,y:.13703848290314058},{x:.576346114353134,y:.13903542291661675},{x:.5768537026781452,y:.1409894121704204},{x:.5769924975430949,y:.14338789436140983},{x:.5773454200998597,y:.14576432582559334},{x:.5830324200998597,y:.2611263258255933},{x:.5829003037879823,y:.26382496142481277},{x:.5829742287592172,y:.2665258175697889},{x:.5826851199428378,y:.2682203519457296},{x:.5826010630436497,y:.26993731586400416},{x:.5819450076216034,y:.2725583233230625},{x:.5814906012502021,y:.27522170532098544},{x:.5808764603215925,y:.2768272773619606},{x:.5804590555084463,y:.278494851612457},{x:.5793042728181804,y:.28093750708458076},{x:.5783389976861617,y:.283461062658912},{x:.5774234257367941,y:.284915971131802},{x:.5766887136425759,y:.2864700717712602},{x:.575079581335268,y:.2886405053765124},{x:.5736405324246225,y:.2909272557017569},{x:.5044305324246225,y:.38012925570175693},{x:.5017223718437749,y:.38298983800955333},{x:.499075053174031,y:.3859068173944946},{x:.49869279401231464,y:.38618992769627897},{x:.4983657648506557,y:.38653536283797296},{x:.49515156889241035,y:.38881264393905274},{x:.49198604326106643,y:.39115710813128307},{x:.4915558970220145,y:.39136020348505085},{x:.4911677605809681,y:.39163520096290155},{x:.48757104899345777,y:.3932416662216644},{x:.4840089657752798,y:.3949235187770668},{x:.3737297002329455,y:.43429966367120415},{x:.4408630401939032,y:.4733794631163462},{x:.44336631106573315,y:.475186847643908},{x:.4459719275146733,y:.476843279595192},{x:.4469351296354233,y:.4777635673817196},{x:.4480152047486495,y:.4785433915190981},{x:.45011777274311354,y:.48080441158023823},{x:.45235016915983667,y:.4829373462081214},{x:.4531153243813002,y:.4840278623347861},{x:.4540225100120052,y:.48500341457167107},{x:.4556435746202097,y:.4876311804334344},{x:.4574169612623637,y:.4901586502563309},{x:.45795466509848404,y:.4913774867999537},{x:.45865409861163536,y:.4925112772109775},{x:.4597313632297904,y:.4954048053049642},{x:.460977589843244,y:.49822968107500176},{x:.46126717863714684,y:.4995299988307428},{x:.46173198119508085,y:.5007784564862466},{x:.46222404714804793,y:.5038265501505143},{x:.4628952219429378,y:.5068402734760588},{x:.4768502219429378,y:.6216502734760588},{x:.47694604753136066,y:.6258560133977795},{x:.4770801736029929,y:.6300607061367898},{x:.47704647561686464,y:.6302637547476413},{x:.47705116403527437,y:.6304695272224051},{x:.47632464920624185,y:.6346131496757303},{x:.47563590322258376,y:.6387632171212809},{x:.475563239914934,y:.6389557900590453},{x:.4755276940283349,y:.6391585233384632},{x:.47400675833929046,y:.6430807912362932},{x:.4725216084222428,y:.647016748623825},{x:.4724127722032346,y:.6471914454185},{x:.4723383580201142,y:.6473833485763381},{x:.4700814501766401,y:.6509335313629835},{x:.46785696980463054,y:.6545041220574128},{x:.46771614318912413,y:.6546542292091504},{x:.46760572040480797,y:.6548279275146733},{x:.4646995721096373,y:.6578695936566139},{x:.4618212468158623,y:.6609376018599591},{x:.3721282468158623,y:.739463601859959},{x:.3693406873548985,y:.7414576112446344},{x:.36664335021940475,y:.7435720694617842},{x:.36575927454484214,y:.7440194833243711},{x:.36495338890552403,y:.7445959530105889},{x:.3618303796850022,y:.746007822191186},{x:.35877236079175173,y:.7475554273162446},{x:.35781798626885214,y:.7478217696388809},{x:.3569151218394033,y:.7482299421328396},{x:.35357667835226414,y:.7490054137685334},{x:.3502754956523681,y:.7499266922044516},{x:.21714549565236804,y:.7733246922044517},{x:.2164184100494338,y:.7733799121498203},{x:.21571010443589486,y:.773553134187072},{x:.21202614434596675,y:.7737134914026773},{x:.20834928456346336,y:.7739927377465721},{x:.20762539682958886,y:.7739050492917646},{x:.20689690716677497,y:.7739367593459113},{x:.061505907166774995,y:.7659797593459113},{x:.05835682356136361,y:.7654946428322841},{x:.055185935509274225,y:.7651823376181454},{x:.05400593378019863,y:.7648243880069794},{x:.05278721145616079,y:.7646366437616691},{x:.0497932781460736,y:.7635464928911877},{x:.046744245543570956,y:.7626215789630079},{x:.045656749721751114,y:.7620403003359452},{x:.0444980718907103,y:.7616184026130197},{x:.04177434405403643,y:.7599651112722733},{x:.03896433951411791,y:.7584631325536145},{x:.03801114145411163,y:.7576808631223083},{x:.03695703545532078,y:.7570410252146568},{x:.03460818442533898,y:.7548881284626934},{x:.03214519484660536,y:.7528668051533947},{x:.03136292541529926,y:.7519136070933885},{x:.03045389995114224,y:.7510804176129765},{x:.02857019075568381,y:.7485106500646154},{x:.026548867446385453,y:.7460476604858821},{x:.025967588819322866,y:.7449601646640625},{x:.025238577228599887,y:.7439656426153641},{x:.023892399755650346,y:.7410777589963466},{x:.02239042103699209,y:.738267754456429},{x:.022032471425826126,y:.7370877527273536},{x:.021511489215134356,y:.7359701170349662},{x:.02075457631003429,y:.7328750970932278},{x:.01982966238185463,y:.7298260644907257},{x:.019708797589401895,y:.7285989036590902},{x:.01941586581292807,y:.7274011044358949},{x:.019277305214138767,y:.7242178880520896},{x:.018964999999999996,y:.721047},{x:.018964999999999996,y:.05103000000000002}],[{x:.10896499999999999,y:.09660579683225357},{x:.10896499999999999,y:.37786028838708235},{x:.29722384626437015,y:.36605169579422814},{x:.44137514989764515,y:.3145812530901673},{x:.49232133133007555,y:.24891875813083103},{x:.48801965008125897,y:.1616582425292873},{x:.46925190911582665,y:.130956211173677},{x:.41203782454012283,y:.1004592638951106},{x:.10896499999999999,y:.09660579683225357}],[{x:.10896499999999999,y:.47257215902605326},{x:.10896499999999999,y:.6784424315209651},{x:.20665565807681563,y:.6837888736412973},{x:.32230778354311135,y:.6634626629325134},{x:.3846372425734713,y:.608893375476212},{x:.3762519660226853,y:.5399063743443061},{x:.2981741908903496,y:.4944555775409729},{x:.10896499999999999,y:.47257215902605326}]],C:[[{x:.028007484408327545,y:.4010798543150725},{x:.028340096336253087,y:.39680461654123217},{x:.028649292669517497,y:.39252762152779447},{x:.06572429266951751,y:.1769866215277945},{x:.0657499934516808,y:.17689321918606288},{x:.06575739253020782,y:.1767966283931179},{x:.06691993730130205,y:.17264138379230456},{x:.0680646634579554,y:.1684811950870131},{x:.0681080922997215,y:.16839460141895576},{x:.06813419313592875,y:.16830131007962543},{x:.07008504794245551,y:.16445270857242494},{x:.07201939106115751,y:.16059578172109576},{x:.07207887901649253,y:.16051932447281397},{x:.0721226785698821,y:.1604329177209502},{x:.1274306785698821,y:.07363491772095027},{x:.13009575906138268,y:.07023973030268985},{x:.13274648275581225,y:.06683332229320074},{x:.13281865262016482,y:.06677089175108791},{x:.13287757357360944,y:.06669582922279092},{x:.1361538134974972,y:.06388581079003605},{x:.13941816151489866,y:.0610619864944041},{x:.19692016151489866,y:.020443986494404057},{x:.19808425112310213,y:.019782383965415776},{x:.19914710087537263,y:.01896802966513257},{x:.20191114759162085,y:.01760739299916557},{x:.20458957759683996,y:.01608512525217841},{x:.2058603718000633,y:.015663337846789194},{x:.20706167183504787,y:.015071982836463577},{x:.21003805521400143,y:.014276729186446702},{x:.2129619996426652,y:.013306247159584957},{x:.21429066253234816,y:.013140483931242813},{x:.21558424756339917,y:.01279485365228588},{x:.32760524756339915,y:-.005618146347714133},{x:.32775803960473765,y:-.005628051859015257},{x:.32790622767465843,y:-.005666572281957827},{x:.3321581535063009,y:-.005913311337168391},{x:.3364083102547015,y:-.006188849089881349},{x:.3365600989091985,y:-.006168756021014132},{x:.33671295454862427,y:-.006177626226551311},{x:.34093131721939995,y:-.005590114680318674},{x:.3451535631465426,y:-.005031193603710363},{x:.34529851526132993,y:-.004981874120043047},{x:.3454501643137599,y:-.004960753231150514},{x:.44307616431375996,y:.01857424676884946},{x:.4458503498549469,y:.019539172468847843},{x:.4486819664572553,y:.020319643122350156},{x:.45000735163266253,y:.02098507354168687},{x:.45140809089867484,y:.021472282957461515},{x:.45394072357704407,y:.022959884631265325},{x:.4565656691892177,y:.024277779754777677},{x:.4577357684253341,y:.0251889939358613},{x:.459014543037309,y:.025940112433793877},{x:.4612082951993476,y:.027893222383335445},{x:.4635256946335971,y:.029697896006345384},{x:.5358116946335971,y:.09837789600634546},{x:.5383578959705028,y:.10132350300922108},{x:.5409714489909738,y:.10420951799057969},{x:.5412394420583803,y:.10465705806338507},{x:.5415805729157932,y:.10505169984914184},{x:.5435031902892489,y:.10843744707814906},{x:.545503491029224,y:.11177788699125937},{x:.5456790239480676,y:.11226911056087577},{x:.5459366092786453,y:.11272272074420048},{x:.5471617575812067,y:.11641849583208026},{x:.548471935605029,y:.12008498944441898},{x:.572709935605029,y:.21701898944441894},{x:.5740007070580636,y:.2257455880614603},{x:.5735642017652605,y:.23455632455146336},{x:.571417194380227,y:.24311260725223527},{x:.5676421931927146,y:.25108562301800397},{x:.5623842693813143,y:.2581689733242098},{x:.5558454820094204,y:.2640904489909738},{x:.5482771130087407,y:.26862249102922403},{x:.539970010555581,y:.27159093560502906},{x:.5312434119385397,y:.2728817070580635},{x:.5224326754485367,y:.2724452017652604},{x:.5138763927477648,y:.270298194380227},{x:.5059033769819961,y:.26652319319271456},{x:.49882002667579023,y:.2612652693813142},{x:.49289855100902624,y:.25472648200942033},{x:.488366508970776,y:.24715811300874066},{x:.48539806439497096,y:.23885101055558106},{x:.46433420621000654,y:.15461122058523102},{x:.4102697826671089,y:.10324381045150927},{x:.3332137540403124,y:.08466767669890593},{x:.24039332695070226,y:.09992465997883551},{x:.1985742470214596,y:.12946463056361485},{x:.15288732813236672,y:.2011637190451272},{x:.11884238546013813,y:.39908903228895243},{x:.16184523767713488,y:.5942488915238071},{x:.2166399992296726,y:.6603981208316636},{x:.2708106585112101,y:.6880654725502051},{x:.33167151101531583,y:.6962265900331734},{x:.41875307675349,y:.6679697644015699},{x:.4604926982936834,y:.628705384802963},{x:.487421989657252,y:.5630715564186946},{x:.49155436139101494,y:.5552777692634718},{x:.49712782320648147,y:.5484399232752638},{x:.5039281900917167,y:.5428207930406891},{x:.5116941277610109,y:.5386363185834178},{x:.5201271955849208,y:.5360473069101626},{x:.5289033154962927,y:.5351532522875923},{x:.5376852261286371,y:.5359885127334604},{x:.5461354435813054,y:.5385209896572519},{x:.5539292307365281,y:.5426533613910148},{x:.5607670767247361,y:.5482268232064814},{x:.5663862069593109,y:.5550271900917166},{x:.5705706814165822,y:.5627931277610108},{x:.5731596930898373,y:.5712261955849207},{x:.5740537477124077,y:.5800023154962926},{x:.5732184872665396,y:.588784226128637},{x:.570686010342748,y:.5972344435813053},{x:.540057010342748,y:.6718854435813053},{x:.5396985836895672,y:.6725614478775368},{x:.539454213118803,y:.6732865233897278},{x:.5376352487491008,y:.6764529645154376},{x:.5359246386089851,y:.679679230736528},{x:.5354412171276051,y:.6802723202285732},{x:.5350600868536766,y:.680935789284769},{x:.5326583313554347,y:.6836865257875079},{x:.5303511767935185,y:.686517076724736},{x:.5297613381003629,y:.6870044593160238},{x:.5292580947459566,y:.687580825172473},{x:.47307109474595666,y:.7404358251724731},{x:.4722065860115991,y:.7411021817697292},{x:.4714497622811152,y:.7418887085063782},{x:.4687194058651613,y:.7437900730587934},{x:.46608420409854834,y:.7458212660502541},{x:.46510630693397415,y:.746306161504971},{x:.46421058160492856,y:.7469299263656303},{x:.4611617503991064,y:.748262090618912},{x:.45818091720073817,y:.7497401524453693},{x:.45712721164557074,y:.7500249524971546},{x:.4561270069400303,y:.7504619845480405},{x:.3497190069400303,y:.7849899845480404},{x:.34852117258500637,y:.7852523061157466},{x:.34737251112679673,y:.7856814874310271},{x:.34422084285321763,y:.7861940634064482},{x:.3411016855274714,y:.7868771480384597},{x:.33987569082458696,y:.7869007432807547},{x:.3386653714532072,y:.7870975852636362},{x:.3354742629896646,y:.786985452257037},{x:.33228177619648713,y:.7870468942022847},{x:.3310747354346284,y:.7868308563672394},{x:.32984927004476555,y:.7867877944907101},{x:.25121827004476555,y:.7762437944907102},{x:.24809780050166644,y:.7755083028870222},{x:.24494229970605153,y:.7749416523797719},{x:.24381291428322105,y:.7744983594176508},{x:.24263200473447152,y:.7742200201979198},{x:.2397149814324578,y:.772889887451158},{x:.2367306607297473,y:.771718517308175},{x:.16743766072974728,y:.7363275173081749},{x:.16716950847174827,y:.7361554960544541},{x:.16687461978467572,y:.7360349240533984},{x:.16345937419922074,y:.733775423054901},{x:.16001260855282193,y:.7315643025810339},{x:.15978316844705134,y:.7313432727571054},{x:.15951746839392553,y:.7311674875843215},{x:.15660865257214304,y:.7282851209029094},{x:.15365948376641753,y:.7254440558690711},{x:.15347757306746915,y:.725182511527114},{x:.15325127235232486,y:.7249582685082102},{x:.08558827235232488,y:.6432742685082102},{x:.0845522070982367,y:.6417389136031936},{x:.0833480194008015,y:.6403315480201149},{x:.08209078724421986,y:.6380913122274521},{x:.0806538380596292,y:.6359618836319892},{x:.07993721339171088,y:.6342539038369039},{x:.07903072722802115,y:.632638655023214},{x:.07823470075697891,y:.6301961909068614},{x:.07724079305844417,y:.627827343805619},{x:.07687114846079628,y:.6260123758261444},{x:.07629719958575912,y:.6242513168879111},{x:.02905219958575911,y:.40983931688791114},{x:.028544362954760993,y:.4055813372409792},{x:.028013217832748447,y:.4013262022752188},{x:.028022142274708197,y:.401202753871557},{x:.028007484408327545,y:.4010798543150725}]],D:[[{x:.019456783112310236,y:.0515304721392918},{x:.019516560837245702,y:.0508455251733057},{x:.019462408649259272,y:.05016011050819538},{x:.01989956114396584,y:.04645701928180655},{x:.020223754746627687,y:.042742334175020345},{x:.02041601038349858,y:.04208221032853139},{x:.020496616482350807,y:.04139940114622653},{x:.021647806474261868,y:.03785274800035644},{x:.022690469901424933,y:.03427268656062632},{x:.023007815173924504,y:.033662754022853354},{x:.023220081912440925,y:.03300879029730612},{x:.025041069815762075,y:.029754871123364675},{x:.026762134096652887,y:.026447013104097812},{x:.027192373603928278,y:.025910711240413317},{x:.027528143690388265,y:.025310724430849408},{x:.029948949961216734,y:.02247458551787214},{x:.03228227556070457,y:.019566050047680916},{x:.03280887543977226,y:.01912398863794477},{x:.03325524541805519,y:.01860103590097925},{x:.03618283982900684,y:.01629166847686688},{x:.03903875835284746,y:.013894228942745224},{x:.03964148166567549,y:.013563396159022682},{x:.0401812977878431,y:.013137574275061882},{x:.04350317452751879,y:.011443726034814963},{x:.04677193462845869,y:.0096495146935595},{x:.04742761905614622,y:.009442624254195854},{x:.048040136491355995,y:.009130297319436702},{x:.05162863769958001,y:.008117061901006828},{x:.05518462276008175,y:.0069950292882567724},{x:.05586807071778482,y:.006920031876811272},{x:.05652975076450537,y:.006733202440201605},{x:.060246972352300414,y:.0064395179124900545},{x:.06395352786070822,y:.006032783112310258},{x:.06463847482669428,y:.006092560837245719},{x:.06532388949180462,y:.006038408649259287},{x:.22607288949180462,y:.009146408649259287},{x:.22716730592225892,y:.009275605270020776},{x:.2282688262216939,y:.009242558031150067},{x:.23153975417198444,y:.00979177582685766},{x:.23483359885377353,y:.010180616482350843},{x:.23588178136904675,y:.010520840680108605},{x:.23696858346127098,y:.010703324384590318},{x:.374121583461271,y:.04785532438459028},{x:.3763172878682137,y:.048688585594252994},{x:.37858028056243914,y:.049316523610364836},{x:.3804311803743379,y:.05024979166335608},{x:.3823691959266467,y:.050985260963484026},{x:.38436014929137596,y:.0522308719724549},{x:.38645715458576285,y:.05328823230909956},{x:.47004915458576285,y:.1063032323090996},{x:.47296331256678825,y:.10858070495130694},{x:.47594842000778254,y:.11076435600861785},{x:.476434095048061,y:.11129319075325024},{x:.4769998347544389,y:.11173532762855881},{x:.47941368513584726,y:.11453756329148114},{x:.48191542538645477,y:.11726162167794474},{x:.5445294253864548,y:.20053762167794476},{x:.5457907389554543,y:.20261097926106453},{x:.5472304508598836,y:.2045646816997861},{x:.5480776582474705,y:.2063702359380903},{x:.54911422277829,y:.20807414921008693},{x:.5499468085621922,y:.21035373787896267},{x:.5509777083681839,y:.21255077433219424},{x:.570480708368184,y:.26758877433219413},{x:.5715324066676154,y:.27184261440989077},{x:.5725895850614416,y:.2760950958693092},{x:.5821235850614417,y:.3411630958693092},{x:.5823063349967632,y:.3450227385412275},{x:.5825832689280143,y:.34887676846995497},{x:.5805752689280143,y:.424797768469955},{x:.5800798101377765,y:.42875301375722},{x:.5796594372976747,y:.43271694253692033},{x:.5588164372976746,y:.5335539425369203},{x:.5581925601051908,y:.535556542700639},{x:.5577783377379867,y:.5376127649642906},{x:.5568838034059929,y:.5397575559956548},{x:.5561926080991778,y:.5419762423834013},{x:.555190030621201,y:.5438186507441294},{x:.5543826183570809,y:.5457545524985521},{x:.5020956183570809,y:.6430055524985521},{x:.5018901867095668,y:.6433113858234256},{x:.5017428412228655,y:.6436490624319612},{x:.4994325691935421,y:.6469701275279692},{x:.4971767628200625,y:.6503284258808291},{x:.4969156133622187,y:.650588304977856},{x:.4967052216394318,y:.6508907475465959},{x:.49379143318032753,y:.6536972875938759},{x:.49092379998669317,y:.6565509711937552},{x:.49061696854573045,y:.6567549090549786},{x:.49035161582277553,y:.657010494885618},{x:.39890061582277553,y:.7292364948856179},{x:.3986791836579038,y:.7293785203585265},{x:.39848760231040037,y:.7295587979940886},{x:.39496847203231433,y:.7317585520660096},{x:.39147518928128755,y:.7339991259907827},{x:.39123030407812903,y:.7340952232117042},{x:.391007233490524,y:.7342346611962726},{x:.3871265715837099,y:.7357055993513507},{x:.38326329699273004,y:.7372216156196327},{x:.3830043695523095,y:.737268091626259},{x:.38275838220218455,y:.7373613314362847},{x:.25909638220218456,y:.7708063314362847},{x:.2580664240588666,y:.7709788511982676},{x:.2570738325025125,y:.7713034106651087},{x:.2537238261308602,y:.7717062438265866},{x:.2503960471743838,y:.7722636525302581},{x:.2493522224520667,y:.7722319225075465},{x:.24831538485324267,y:.7723566006488801},{x:.17218438485324267,y:.7739936006488801},{x:.16854768223369815,y:.7737142062783378},{x:.16490357022768087,y:.7735589167265521},{x:.06552457022768086,y:.7594769167265522},{x:.06454980411013514,y:.759239472501363},{x:.06355033417502035,y:.7591522452533723},{x:.06027159361314519,y:.7581973390517399},{x:.056953647958865025,y:.7573891174476861},{x:.056043934769293216,y:.7569660682109414},{x:.05508068656062633,y:.7566855300985751},{x:.05205123903764884,y:.7551093215998242},{x:.04895472299174925,y:.7536693306611393},{x:.04814502249785432,y:.7530769339577588},{x:.0472550131040978,y:.7526138659033472},{x:.04459127858939255,y:.7504769279161366},{x:.04183518952697092,y:.7484605056870383},{x:.041156618064647085,y:.7477215269901124},{x:.040374050047680896,y:.7470937244392954},{x:.03817839436480973,y:.744478178292066},{x:.035868647242901154,y:.7419628147479951},{x:.03534728193289863,y:.7411056525944231},{x:.03470222894274521,y:.7403372416471526},{x:.03305902990826266,y:.7373436013115269},{x:.03128438701344127,y:.73442596046285},{x:.030940263632238257,y:.7334835551134912},{x:.030457514693559486,y:.7326040653715413},{x:.029429919524844063,y:.7293473747667649},{x:.028258579388326675,y:.7261395799150647},{x:.028104922404476318,y:.7251481474789881},{x:.02780302928825676,y:.7241913772399183},{x:.02743052789135989,y:.7207967891595589},{x:.026907504457698045,y:.7174221140620348},{x:.02695021882291786,y:.7164197547317572},{x:.026840783112310238,y:.7154224721392919},{x:.019456783112310236,y:.0515304721392918}],[{x:.1099671672449683,y:.09691838411671685},{x:.1164055200593884,y:.675787686211921},{x:.17390769441284104,y:.6839357418297609},{x:.2408956143230629,y:.6824953400894312},{x:.35035782392371695,y:.652890743688808},{x:.42724604872976657,y:.5921661050862587},{x:.4720072878873445,y:.5089126143655517},{x:.4907125333997566,y:.41841792349882906},{x:.4925121994894803,y:.35037387509349616},{x:.4841787199640398,y:.2934992321564965},{x:.4684498534661817,y:.24911194023683725},{x:.41491413338319044,y:.1779099626338861},{x:.34401115658372555,y:.1329424859013802},{x:.21878934362335548,y:.0990224054430332},{x:.1099671672449683,y:.09691838411671685}]],E:[[{x:.035078,y:.05103000000000002},{x:.03594266238185463,y:.04225093550927423},{x:.03850342103699209,y:.03380924554357098},{x:.042661867446385456,y:.026029339514117924},{x:.04825819484660536,y:.019210194846605383},{x:.05507733951411791,y:.013613867446385479},{x:.06285724554357096,y:.009455421036992116},{x:.07129893550927423,y:.006894662381854655},{x:.080078,y:.0060300000000000215},{x:.521974,y:.0060300000000000215},{x:.5307530644907258,y:.006894662381854655},{x:.5391947544564291,y:.009455421036992116},{x:.5469746604858822,y:.013613867446385479},{x:.5537938051533947,y:.019210194846605383},{x:.5593901325536146,y:.026029339514117924},{x:.5635485789630079,y:.03380924554357098},{x:.5661093376181454,y:.04225093550927425},{x:.5669740000000001,y:.05103000000000002},{x:.5661093376181454,y:.05980906449072579},{x:.5635485789630079,y:.06825075445642906},{x:.5593901325536146,y:.07603066048588211},{x:.5537938051533947,y:.08284980515339466},{x:.5469746604858822,y:.08844613255361455},{x:.5391947544564291,y:.09260457896300792},{x:.5307530644907258,y:.09516533761814538},{x:.521974,y:.09603000000000002},{x:.125078,y:.09603000000000002},{x:.125078,y:.345019},{x:.389405,y:.345019},{x:.3981840644907258,y:.34588366238185464},{x:.40662575445642907,y:.3484444210369921},{x:.4144056604858821,y:.35260286744638547},{x:.42122480515339467,y:.35819919484660534},{x:.42682113255361454,y:.3650183395141179},{x:.4309795789630079,y:.372798245543571},{x:.43354033761814537,y:.3812399355092742},{x:.434405,y:.390019},{x:.43354033761814537,y:.3987980644907258},{x:.4309795789630079,y:.407239754456429},{x:.42682113255361454,y:.4150196604858821},{x:.42122480515339467,y:.42183880515339467},{x:.4144056604858821,y:.42743513255361454},{x:.40662575445642907,y:.43159357896300793},{x:.3981840644907258,y:.43415433761814537},{x:.389405,y:.435019},{x:.125078,y:.435019},{x:.125078,y:.684004},{x:.521974,y:.684004},{x:.5307530644907258,y:.6848686623818546},{x:.5391947544564291,y:.6874294210369921},{x:.5469746604858822,y:.6915878674463855},{x:.5537938051533947,y:.6971841948466053},{x:.5593901325536146,y:.7040033395141179},{x:.5635485789630079,y:.711783245543571},{x:.5661093376181454,y:.7202249355092742},{x:.5669740000000001,y:.729004},{x:.5661093376181454,y:.7377830644907257},{x:.5635485789630079,y:.746224754456429},{x:.5593901325536146,y:.7540046604858821},{x:.5537938051533947,y:.7608238051533946},{x:.5469746604858822,y:.7664201325536145},{x:.5391947544564291,y:.7705785789630079},{x:.5307530644907258,y:.7731393376181454},{x:.521974,y:.774004},{x:.080078,y:.774004},{x:.07129893550927423,y:.7731393376181454},{x:.06285724554357093,y:.7705785789630079},{x:.05507733951411791,y:.7664201325536145},{x:.04825819484660536,y:.7608238051533946},{x:.042661867446385456,y:.7540046604858821},{x:.03850342103699209,y:.746224754456429},{x:.03594266238185463,y:.7377830644907257},{x:.035078,y:.729004},{x:.035078,y:.05103000000000002}]],F:[[{x:.041426000000000004,y:.05103000000000002},{x:.04229066238185464,y:.04225093550927423},{x:.0448514210369921,y:.03380924554357098},{x:.04900986744638546,y:.026029339514117924},{x:.054606194846605366,y:.019210194846605383},{x:.06142533951411792,y:.013613867446385479},{x:.06920524554357096,y:.009455421036992116},{x:.07764693550927423,y:.006894662381854655},{x:.086426,y:.0060300000000000215},{x:.09520506449072577,y:.006894662381854655},{x:.10364675445642904,y:.009455421036992116},{x:.11142666048588211,y:.013613867446385486},{x:.11824580515339464,y:.019210194846605383},{x:.12384213255361454,y:.026029339514117924},{x:.1280005789630079,y:.03380924554357098},{x:.13056133761814537,y:.04225093550927425},{x:.131426,y:.05103000000000002},{x:.131426,y:.347323},{x:.447344,y:.347323},{x:.4561230644907258,y:.3481876623818546},{x:.4645647544564291,y:.35074842103699205},{x:.47234466048588214,y:.35490686744638544},{x:.47916380515339463,y:.3605031948466053},{x:.48476013255361455,y:.36732233951411786},{x:.48891857896300794,y:.37510224554357097},{x:.4914793376181454,y:.3835439355092742},{x:.492344,y:.392323},{x:.4914793376181454,y:.4011020644907258},{x:.48891857896300794,y:.409543754456429},{x:.48476013255361455,y:.4173236604858821},{x:.47916380515339463,y:.42414280515339464},{x:.47234466048588214,y:.4297391325536145},{x:.4645647544564291,y:.4338975789630079},{x:.4561230644907258,y:.43645833761814534},{x:.447344,y:.43732299999999996},{x:.131426,y:.43732299999999996},{x:.131426,y:.679393},{x:.515626,y:.679393},{x:.5244050644907258,y:.6802576623818547},{x:.532846754456429,y:.6828184210369922},{x:.5406266604858821,y:.6869768674463855},{x:.5474458051533947,y:.6925731948466054},{x:.5530421325536146,y:.6993923395141179},{x:.5572005789630079,y:.707172245543571},{x:.5597613376181454,y:.7156139355092743},{x:.5606260000000001,y:.7243930000000001},{x:.5597613376181454,y:.7331720644907258},{x:.5572005789630079,y:.7416137544564291},{x:.5530421325536146,y:.7493936604858822},{x:.5474458051533947,y:.7562128051533947},{x:.5406266604858821,y:.7618091325536146},{x:.532846754456429,y:.7659675789630079},{x:.5244050644907258,y:.7685283376181454},{x:.515626,y:.7693930000000001},{x:.10586481668800227,y:.7693930000000001},{x:.10364675445642904,y:.7705785789630079},{x:.09520506449072577,y:.7731393376181454},{x:.086426,y:.774004},{x:.0776469355092742,y:.7731393376181454},{x:.06920524554357094,y:.7705785789630079},{x:.06142533951411792,y:.7664201325536145},{x:.054606194846605366,y:.7608238051533946},{x:.04900986744638546,y:.7540046604858821},{x:.0448514210369921,y:.746224754456429},{x:.04229066238185464,y:.7377830644907257},{x:.041426000000000004,y:.729004},{x:.041426000000000004,y:.05103000000000002}]],G:[[{x:.011397831509003739,y:.41623356008285023},{x:.011618856500496228,y:.4138403978921803},{x:.011624876992355357,y:.4114370583257866},{x:.031979876992355355,y:.20994505832578658},{x:.0322125865037964,y:.20879027461506633},{x:.03227702681480045,y:.2076140405475535},{x:.033082276634523504,y:.2044745765152392},{x:.033722542929381774,y:.20129735748690203},{x:.034176068118796386,y:.2002101619949014},{x:.03446874211029117,y:.19906910061620064},{x:.03587099832954512,y:.19614705695158466},{x:.03711880677043453,y:.1931557970536144},{x:.03777571891913337,y:.19217797009338475},{x:.03828537929375919,y:.19111593175236494},{x:.08239837929375919,y:.11845093175236496},{x:.08400149586436068,y:.11631468084865614},{x:.08543403702225794,y:.1140604899753128},{x:.08664282877724949,y:.11279494315419919},{x:.08769326713863865,y:.11139516977529508},{x:.08968234215056696,y:.10961271886167734},{x:.09152712825517066,y:.10768131654967852},{x:.15960912825517065,y:.049144316549678456},{x:.16129904644183068,y:.0479582081853546},{x:.16285577619764602,y:.04660201166682107},{x:.1649006360722032,y:.045430348778213794},{x:.16682965744636918,y:.04407642028337947},{x:.16871850259167306,y:.043242789341903884},{x:.17050990103726027,y:.04221635466854622},{x:.25257090103726026,y:.005359354668546305},{x:.2555014876285109,y:.004375276469579791},{x:.2583690572759664,y:.003220377345201267},{x:.25967433471463813,y:.0029740526131209386},{x:.2609335532503684,y:.0025512125194529015},{x:.2639998135747395,y:.0021577721889240492},{x:.26703759331756605,y:.0015844992133087973},{x:.35309859331756605,y:-.006038500786691249},{x:.3541123404679588,y:-.006028536718703998},{x:.3551159915981175,y:-.006171599559831674},{x:.3585153812714738,y:-.005985259459774228},{x:.361919709861342,y:-.005951798491220829},{x:.36291203425126567,y:-.00574425362199294},{x:.3639243106821295,y:-.005688764928569123},{x:.3672220288859873,y:-.004842817275250554},{x:.37055441634545594,y:-.004145847688979236},{x:.3714871835051078,y:-.003748697851442632},{x:.37246918402112983,y:-.003496790022837183},{x:.4525501840211298,y:.02567020997716287},{x:.4548144879103283,y:.026756908839544704},{x:.45716266717941917,y:.02764799841997529},{x:.45878159595452606,y:.02866082810547922},{x:.4605032369247208,y:.02948708879101062},{x:.4625120284186098,y:.03099465081435172},{x:.46464124512829075,y:.032326725408117304},{x:.4660314733714444,y:.03363593119127184},{x:.46755883802994086,y:.034782191000688294},{x:.46923492039795345,y:.03665268142188218},{x:.47106334994415,y:.038374550149380404},{x:.53517534994415,y:.11188255014938031},{x:.5366918789074028,y:.11401106513419482},{x:.5383741006891446,y:.11601120663268963},{x:.5392453250303639,y:.11759493887966013},{x:.5402941837404813,y:.11906705813061697},{x:.5413663203511413,y:.12145053442062861},{x:.5426260104640281,y:.12374042895017842},{x:.5431715236397763,y:.1254636976633839},{x:.5439130326051668,y:.12711215273922669},{x:.5444995752545472,y:.12965899467727895},{x:.5452883245139833,y:.13215064287530112},{x:.5896823245139834,y:.3420786428753011},{x:.5897067631627176,y:.34229945557802055},{x:.5897717252277992,y:.3425119065778641},{x:.5901917436343531,y:.346681442891342},{x:.5906527316031134,y:.3508466486034176},{x:.590633622248786,y:.3510679861958218},{x:.5906558889520306,y:.35128902847947113},{x:.590254400640623,y:.3554603898480228},{x:.5898939395311937,y:.3596354965915505},{x:.5898320165355749,y:.3598488531940917},{x:.589810732180064,y:.3600699922305474},{x:.5886031661213459,y:.3640828755761044},{x:.5874351082520124,y:.3681074363403587},{x:.5873327512810971,y:.3683046127784522},{x:.5872687338126765,y:.3685173503185603},{x:.5853014960930706,y:.3722175427846122},{x:.5833707292727002,y:.37593689595641405},{x:.5832318718474782,y:.3761103148501221},{x:.583127581421558,y:.3763064755095204},{x:.5804762718833937,y:.37955178077467916},{x:.577856994398102,y:.38282299369748307},{x:.5776869727315521,y:.38296599065597503},{x:.5775464171707139,y:.38313803609053093},{x:.5743129241526703,y:.3858037388934479},{x:.5711057933673104,y:.38850110068914456},{x:.5709111412967293,y:.38860818041949885},{x:.5707397220723512,y:.3887494990196469},{x:.5670483068977423,y:.3907331578965531},{x:.5633765710498215,y:.39275301046402805},{x:.5631647689451196,y:.3928200579522583},{x:.5629690736018615,y:.39292521892344706},{x:.5589615952856832,y:.39415060297614785},{x:.5549663571246989,y:.39541532451398326},{x:.5547455444219794,y:.39543976316271745},{x:.5545330934221359,y:.39550472522779906},{x:.5503635571086607,y:.3959247436343527},{x:.5461983513965825,y:.39638573160311336},{x:.5459770138041778,y:.396366622248786},{x:.5457559715205288,y:.3963888889520305},{x:.32969497152052885,y:.39686888895203054},{x:.32091400776945256,y:.3960237321800639},{x:.31246664968143967,y:.39348173381267654},{x:.3046775244904796,y:.389340581421558},{x:.29784596390946905,y:.3837594171707138},{x:.2922345009803531,y:.3769527220723512},{x:.2880587810765529,y:.3691820736018615},{x:.2854792747722009,y:.3607460934221358},{x:.2845951110479695,y:.3519689715205288},{x:.2854402678199361,y:.3431880077694525},{x:.2879822661873235,y:.33474064968143963},{x:.29212341857844204,y:.32695152449047954},{x:.29770458282928614,y:.320119963909469},{x:.3045112779276488,y:.31450850098035305},{x:.31228192639813845,y:.3103327810765529},{x:.3207179065778642,y:.3077532747722009},{x:.3294950284794712,y:.30686911104796943},{x:.49017057214072013,y:.30651215509128404},{x:.45965681956734333,y:.16222033524572274},{x:.4108567628008364,y:.10626833604444391},{x:.35107150330533127,y:.0844934248457151},{x:.2825297162303303,y:.09056463065174497},{x:.21333680545064249,y:.12164203785622632},{x:.15562253329738823,y:.17126485077351794},{x:.1205010051965362,y:.2291186770707186},{x:.10185989085514695,y:.41364510354456796},{x:.13655871914038514,y:.5827099362211221},{x:.190187982415082,y:.6526649281775241},{x:.2569251189377254,y:.6872526727450867},{x:.3715857772516941,y:.6967797369989467},{x:.4883723057362636,y:.6711064406866752},{x:.49713228125159653,y:.6700660353148682},{x:.5059269093127409,y:.6707546074846872},{x:.5144182172953911,y:.6731456957538017},{x:.5222798889957544,y:.6771474119409674},{x:.529209804779262,y:.6826059723372997},{x:.5349416518686954,y:.6893116075279637},{x:.5392551585948644,y:.6970066237131456},{x:.5419845593133248,y:.7053953057362636},{x:.5430249646851317,y:.7141552812515966},{x:.5423363925153128,y:.722949909312741},{x:.5399453042461984,y:.7314412172953911},{x:.5359435880590326,y:.7393028889957545},{x:.5304850276627003,y:.7462328047792621},{x:.5237793924720363,y:.7519646518686954},{x:.5160843762868544,y:.7562781585948645},{x:.5076956942637364,y:.7590075593133249},{x:.38428269426373635,y:.7861375593133247},{x:.3819812519937546,y:.7864108971664274},{x:.3797153389243004,y:.7868977113667894},{x:.37761181025895013,y:.7869298473215656},{x:.37552271874840343,y:.7871779646851318},{x:.3732121724765259,y:.7869970613144796},{x:.370894825552222,y:.7870324638061055},{x:.24049282555222196,y:.7761974638061055},{x:.24043595887820252,y:.7761870527203061},{x:.24037815170992255,y:.776187787986971},{x:.2360978388350013,y:.7753928346522221},{x:.2318155069745089,y:.7746088302209789},{x:.231761764079766,y:.7745875250435272},{x:.2317049242166051,y:.7745769685631748},{x:.227661944055434,y:.7729622424167508},{x:.22361484767780643,y:.7713578609091699},{x:.22356629387164592,y:.7713264803860874},{x:.22351260563766895,y:.7713050378383375},{x:.13987060563766895,y:.7279560378383374},{x:.13900257424615298,y:.727391873258006},{x:.13805978359276902,y:.7269641982011581},{x:.13531067905832161,y:.7249923788161832},{x:.13247402218179744,y:.7231487342752945},{x:.13173273281971745,y:.7224260654354895},{x:.1308914928889356,y:.7218226787027751},{x:.128579894506033,y:.7193524235854973},{x:.12615742040314795,y:.7169907998540069},{x:.12557136040496888,y:.7161373985129647},{x:.12486399957555622,y:.7153814879181388},{x:.05884299957555622,y:.6292624879181389},{x:.05814177883495547,y:.6281337214080167},{x:.057292540659828396,y:.62711165542026},{x:.05581896837632758,y:.6243946553718145},{x:.05418793684040681,y:.6217691571968414},{x:.05372040128165289,y:.6205252782386133},{x:.05308687616260495,y:.6193571728131668},{x:.052171678571706244,y:.6164048994674943},{x:.051084196133809955,y:.613511651036194},{x:.05086831288622884,y:.6122004612006492},{x:.05047484683830003,y:.6109312059739318},{x:.012315846838300032,y:.4250072059739319},{x:.012065742114142504,y:.42261690788694145},{x:.011602778634016861,y:.4202585732767163},{x:.011607833784388823,y:.41824059149262255},{x:.011397831509003739,y:.41623356008285023}]],H:[[{x:.021894999999999998,y:.05103000000000002},{x:.02275966238185463,y:.04225093550927423},{x:.025320421036992093,y:.03380924554357098},{x:.029478867446385455,y:.026029339514117924},{x:.03507519484660536,y:.019210194846605383},{x:.04189433951411791,y:.013613867446385479},{x:.04967424554357096,y:.009455421036992116},{x:.05811593550927423,y:.006894662381854655},{x:.066895,y:.0060300000000000215},{x:.07567406449072576,y:.006894662381854655},{x:.08411575445642903,y:.009455421036992116},{x:.0918956604858821,y:.013613867446385486},{x:.09871480515339463,y:.019210194846605383},{x:.10431113255361453,y:.026029339514117924},{x:.1084695789630079,y:.03380924554357098},{x:.11103033761814536,y:.04225093550927425},{x:.111895,y:.05103000000000002},{x:.111895,y:.359342},{x:.490157,y:.359342},{x:.490157,y:.05103000000000002},{x:.49102166238185463,y:.04225093550927423},{x:.49358242103699207,y:.03380924554357098},{x:.49774086744638546,y:.026029339514117924},{x:.5033371948466053,y:.019210194846605383},{x:.5101563395141179,y:.013613867446385479},{x:.517936245543571,y:.009455421036992116},{x:.5263779355092743,y:.006894662381854655},{x:.535157,y:.0060300000000000215},{x:.5439360644907257,y:.006894662381854655},{x:.552377754456429,y:.009455421036992116},{x:.5601576604858821,y:.013613867446385486},{x:.5669768051533947,y:.019210194846605383},{x:.5725731325536145,y:.026029339514117924},{x:.5767315789630079,y:.03380924554357098},{x:.5792923376181454,y:.04225093550927425},{x:.580157,y:.05103000000000002},{x:.580157,y:.729004},{x:.5792923376181454,y:.7377830644907257},{x:.5767315789630079,y:.746224754456429},{x:.5725731325536145,y:.7540046604858821},{x:.5669768051533947,y:.7608238051533946},{x:.5601576604858821,y:.7664201325536145},{x:.552377754456429,y:.7705785789630079},{x:.5439360644907257,y:.7731393376181454},{x:.535157,y:.774004},{x:.5263779355092743,y:.7731393376181454},{x:.517936245543571,y:.7705785789630079},{x:.5101563395141179,y:.7664201325536145},{x:.5033371948466053,y:.7608238051533946},{x:.49774086744638546,y:.7540046604858821},{x:.49358242103699207,y:.746224754456429},{x:.49102166238185463,y:.7377830644907257},{x:.490157,y:.729004},{x:.490157,y:.44934199999999996},{x:.111895,y:.44934199999999996},{x:.111895,y:.729004},{x:.11103033761814536,y:.7377830644907257},{x:.10846957896300788,y:.746224754456429},{x:.10431113255361453,y:.7540046604858821},{x:.09871480515339463,y:.7608238051533946},{x:.09189566048588207,y:.7664201325536145},{x:.08411575445642903,y:.7705785789630079},{x:.07567406449072576,y:.7731393376181454},{x:.066895,y:.774004},{x:.05811593550927421,y:.7731393376181454},{x:.04967424554357093,y:.7705785789630079},{x:.04189433951411791,y:.7664201325536145},{x:.03507519484660536,y:.7608238051533946},{x:.029478867446385455,y:.7540046604858821},{x:.025320421036992093,y:.746224754456429},{x:.02275966238185463,y:.7377830644907257},{x:.021894999999999998,y:.729004},{x:.021894999999999998,y:.05103000000000002}]],I:[[{x:.25602600000000003,y:.05103000000000002},{x:.25689066238185465,y:.04225093550927423},{x:.2594514210369921,y:.03380924554357098},{x:.2636098674463855,y:.026029339514117924},{x:.26920619484660535,y:.019210194846605383},{x:.27602533951411795,y:.013613867446385479},{x:.283805245543571,y:.009455421036992116},{x:.2922469355092743,y:.006894662381854655},{x:.301026,y:.0060300000000000215},{x:.3098050644907258,y:.006894662381854655},{x:.3182467544564291,y:.009455421036992116},{x:.32602666048588214,y:.013613867446385486},{x:.3328458051533947,y:.019210194846605383},{x:.33844213255361455,y:.026029339514117924},{x:.34260057896300794,y:.03380924554357098},{x:.3451613376181454,y:.04225093550927425},{x:.346026,y:.05103000000000002},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.05103000000000002}]],J:[[{x:.0492700034030052,y:.22191686675397743},{x:.05066400340300519,y:.18438286675397747},{x:.05116783173382979,y:.18068175768771486},{x:.05155979864248331,y:.17696713613904605},{x:.05874879864248331,y:.14209513613904604},{x:.05880353678004782,y:.1419191061579158},{x:.05882437610196882,y:.14173594355086241},{x:.060112741823836933,y:.13770889095133898},{x:.06136821695472819,y:.13367146342030908},{x:.0614562450600313,y:.133509494686791},{x:.06151241721221637,y:.13333391704789688},{x:.07511841721221638,y:.10184091704789687},{x:.07557207470549994,y:.10102219111224012},{x:.07589401217340325,y:.10014328637013822},{x:.07770640675364808,y:.09717031380613761},{x:.07939396242231754,y:.09412474393402119},{x:.07999862852050488,y:.09341025377409445},{x:.08048584585939292,y:.09261104382444658},{x:.10112984585939291,y:.06520804382444652},{x:.10197173470408774,y:.06429305686105671},{x:.10267645797068833,y:.06326868237508665},{x:.10495244591663212,y:.06105354143298789},{x:.10710291637241387,y:.058716353519649434},{x:.10810713366035453,y:.05798319214000915},{x:.10899816141532707,y:.05711598541156246},{x:.1373061614153271,y:.03451898541156248},{x:.13912164740426522,y:.03334117545586675},{x:.1408101373903697,y:.03198757757075004},{x:.14281300361792376,y:.03094638082514127},{x:.14470672673278473,y:.029717813955661344},{x:.1467171079910441,y:.028916819034200267},{x:.14863722796281134,y:.027918638208003034},{x:.20683022796281134,y:.004592638208003076},{x:.20850921914024034,y:.004104279923540699},{x:.2101185278310492,y:.0034204446176558795},{x:.21273469892125257,y:.0028752394826936905},{x:.21530073387518742,y:.0021288719943945503},{x:.21704273768291169,y:.0019774523068977427},{x:.21875453360851305,y:.0016207172553791283},{x:.2976895336085131,y:-.0068802827446208525},{x:.29850402526559744,y:-.006887701289741747},{x:.2993068957135494,y:-.007024999279811796},{x:.30290822222422875,y:-.006927815554356645},{x:.3065107103471747,y:-.0069606277022222565},{x:.30731099906181086,y:-.006809004262418785},{x:.30812522808832776,y:-.0067870318558802545},{x:.3663632280883278,y:.0005399681441197179},{x:.367446910459264,y:.0007860908462292888},{x:.3685549625674647,y:.000870733572342984},{x:.37174033606180384,y:.0017612008405818037},{x:.37496569353784953,y:.0024937343933679954},{x:.37598053709868623,y:.002946543859479297},{x:.3770507853196353,y:.0032457304419443098},{x:.4423997853196353,y:.028649730441944292},{x:.44339023767510893,y:.0291515261148112},{x:.4444435524779453,y:.029502699422305954},{x:.4473177196266577,y:.03114131738307233},{x:.45026902431580135,y:.03263654520916596},{x:.4511425499275847,y:.03332192668785485},{x:.4521071150681948,y:.03387184382278591},{x:.4818761150681948,y:.0549598438227859},{x:.482276572000261,y:.05530719927286456},{x:.48273081061614365,y:.05558049186877649},{x:.48560514894853896,y:.05819439949693127},{x:.48854004666413575,y:.060740123232255375},{x:.48886504324193186,y:.061158929616590856},{x:.48925723704963914,y:.06151558852974905},{x:.5141262370496392,y:.08904658852974903},{x:.5149956342421861,y:.09022293690705172},{x:.5160117353213701,y:.09127516577002369},{x:.5176116053111659,y:.0937625081737249},{x:.5193693801104602,y:.0961408866071265},{x:.519992577896003,y:.09746424275846524},{x:.5207838752101566,y:.09869448482562238},{x:.5385188752101566,y:.1333154848256224},{x:.5396070973995049,y:.13607819549886616},{x:.5408707323766272,y:.1387652058155645},{x:.5412201620380835,y:.14017334347255597},{x:.5417518824254063,y:.14152324205357814},{x:.5422802166156467,y:.1444451696332536},{x:.5429953614930656,y:.1473270727547606},{x:.5523413614930656,y:.2113020727547606},{x:.5524962602601196,y:.21460328519222147},{x:.5528139181508881,y:.2178928278123641},{x:.5518389181508881,y:.7290898278123641},{x:.5509575131661891,y:.7378672271777721},{x:.5483806584624608,y:.7463040176932935},{x:.5442073811208505,y:.7540759782308231},{x:.5385980578491955,y:.7608844367054697},{x:.5317682517950807,y:.7664677478762799},{x:.5239804285749665,y:.7706113482261165},{x:.5155338698677402,y:.7731560015172932},{x:.5067531721876358,y:.7740039181508881},{x:.4979757728222279,y:.7731225131661891},{x:.4895389823067066,y:.7705456584624607},{x:.48176702176917696,y:.7663723811208505},{x:.4749585632945304,y:.7607630578491954},{x:.46937525212372017,y:.7539332517950806},{x:.4652316517738835,y:.7461454285749665},{x:.46268699848270683,y:.7376988698677401},{x:.461839081849112,y:.7289181721876359},{x:.462807763438783,y:.22103394388498027},{x:.45501827222953295,y:.16771351802238937},{x:.44337725180090903,y:.14498874958374325},{x:.42579959063650114,y:.12552955984883984},{x:.4046143325842134,y:.11052217895574154},{x:.34961801160788414,y:.08914271579513207},{x:.3021031758959219,y:.08316481131246532},{x:.2345584384824393,y:.09043912324952764},{x:.18827433696976265,y:.10899157718530504},{x:.16959144206995366,y:.1239052897771866},{x:.155605251275173,y:.14247066404328695},{x:.14596289111822178,y:.16478926233983734},{x:.14046290234137151,y:.19146830095804884},{x:.13920799659699482,y:.22525713324602253},{x:.1380181031040591,y:.23399805813086086},{x:.13514580323043823,y:.24233889189031887},{x:.13070147784947123,y:.24995910096061402},{x:.12485591989314217,y:.25656584498063745},{x:.11783377087548613,y:.26190523048280423},{x:.10990488804518514,y:.26577206787662816},{x:.10137397392283892,y:.2680177567696118},{x:.09256886675397746,y:.2685559965969948},{x:.08382794186913914,y:.26736610310405906},{x:.07548710810968112,y:.26449380323043825},{x:.06786689903938595,y:.2600494778494712},{x:.06126015501936256,y:.2542039198931421},{x:.055920769517195726,y:.24718177087548612},{x:.052053932123371845,y:.23925288804518513},{x:.04980824323038816,y:.2307219739228389},{x:.0492700034030052,y:.22191686675397743}]],K:[[{x:-.009598999999999996,y:.05103000000000002},{x:-.008734337618145363,y:.04225093550927423},{x:-.006173578963007902,y:.03380924554357098},{x:-.002015132553614539,y:.026029339514117924},{x:.003581194846605365,y:.019210194846605383},{x:.010400339514117916,y:.013613867446385479},{x:.018180245543570964,y:.009455421036992116},{x:.026621935509274233,y:.006894662381854655},{x:.035401,y:.0060300000000000215},{x:.04418006449072578,y:.006894662381854655},{x:.05262175445642904,y:.009455421036992116},{x:.06040166048588211,y:.013613867446385486},{x:.06722080515339464,y:.019210194846605383},{x:.07281713255361454,y:.026029339514117924},{x:.07697557896300791,y:.03380924554357098},{x:.07953633761814537,y:.04225093550927425},{x:.080401,y:.05103000000000002},{x:.080401,y:.29048154892126793},{x:.18934433769134518,y:.3772029724897202},{x:.5349508182082354,y:.03415901207017739},{x:.5417907398770268,y:.02858809778868676},{x:.5495860658299886,y:.024458629583942203},{x:.5580372260624178,y:.02192930060321959},{x:.5668194472260474,y:.021097311540784057},{x:.5755952334866855,y:.021994635269720175},{x:.5840273362998535,y:.024586788142349852},{x:.5917917146832189,y:.028774155177474024},{x:.5985899879298227,y:.03439581820823536},{x:.6041609022113132,y:.04123573987702663},{x:.6082903704160578,y:.04903106582998847},{x:.6108196993967804,y:.05748222606241771},{x:.6116516884592159,y:.06626444722604735},{x:.6107543647302798,y:.07504023348668547},{x:.6081622118576502,y:.08347233629985339},{x:.603974844822526,y:.0912367146832188},{x:.5983531817917647,y:.09803498792982254},{x:.26024203797571366,y:.43363918627462555},{x:.5302838206406747,y:.648598708462355},{x:.5366139141989896,y:.654742773070568},{x:.5416237292416561,y:.6620037211908337},{x:.545120741386121,y:.6701025186588768},{x:.5469705624168195,y:.6787279332298585},{x:.5471021047489336,y:.6875484950590041},{x:.5455103132844098,y:.6962252349018474},{x:.542256359676543,y:.7044247105121999},{x:.537465291537645,y:.7118318206406747},{x:.531321226929432,y:.7181619141989897},{x:.5240602788091663,y:.7231717292416562},{x:.5159614813411232,y:.726668741386121},{x:.5073360667701415,y:.7285185624168196},{x:.498515504940996,y:.7286501047489337},{x:.48983876509815266,y:.7270583132844098},{x:.48163928948780005,y:.723804359676543},{x:.47423217935932527,y:.719013291537645},{x:.080401,y:.4055145384845117},{x:.080401,y:.729004},{x:.07953633761814537,y:.7377830644907257},{x:.07697557896300788,y:.746224754456429},{x:.07281713255361454,y:.7540046604858821},{x:.06722080515339464,y:.7608238051533946},{x:.06040166048588208,y:.7664201325536145},{x:.052621754456429054,y:.7705785789630079},{x:.04418006449072578,y:.7731393376181454},{x:.035401,y:.774004},{x:.026621935509274212,y:.7731393376181454},{x:.018180245543570936,y:.7705785789630079},{x:.010400339514117906,y:.7664201325536145},{x:.003581194846605358,y:.7608238051533946},{x:-.002015132553614539,y:.7540046604858821},{x:-.006173578963007902,y:.746224754456429},{x:-.008734337618145363,y:.7377830644907257},{x:-.009598999999999996,y:.729004},{x:-.009598999999999996,y:.05103000000000002}]],L:[[{x:.030439999999999995,y:.05103000000000002},{x:.03130466238185463,y:.04225093550927423},{x:.03386542103699209,y:.03380924554357098},{x:.03802386744638545,y:.026029339514117924},{x:.043620194846605356,y:.019210194846605383},{x:.05043933951411791,y:.013613867446385479},{x:.058219245543570955,y:.009455421036992116},{x:.06666093550927422,y:.006894662381854655},{x:.07544,y:.0060300000000000215},{x:.526613,y:.0060300000000000215},{x:.5353920644907257,y:.006894662381854655},{x:.543833754456429,y:.009455421036992116},{x:.5516136604858821,y:.013613867446385479},{x:.5584328051533947,y:.019210194846605383},{x:.5640291325536145,y:.026029339514117924},{x:.5681875789630079,y:.03380924554357098},{x:.5707483376181454,y:.04225093550927425},{x:.571613,y:.05103000000000002},{x:.5707483376181454,y:.05980906449072579},{x:.5681875789630079,y:.06825075445642906},{x:.5640291325536145,y:.07603066048588211},{x:.5584328051533947,y:.08284980515339466},{x:.5516136604858821,y:.08844613255361455},{x:.543833754456429,y:.09260457896300792},{x:.5353920644907257,y:.09516533761814538},{x:.526613,y:.09603000000000002},{x:.12043999999999999,y:.09603000000000002},{x:.12043999999999999,y:.729004},{x:.11957533761814536,y:.7377830644907257},{x:.11701457896300788,y:.746224754456429},{x:.11285613255361453,y:.7540046604858821},{x:.10725980515339463,y:.7608238051533946},{x:.10044066048588207,y:.7664201325536145},{x:.09266075445642903,y:.7705785789630079},{x:.08421906449072576,y:.7731393376181454},{x:.07544,y:.774004},{x:.06666093550927422,y:.7731393376181454},{x:.05821924554357093,y:.7705785789630079},{x:.05043933951411791,y:.7664201325536145},{x:.043620194846605356,y:.7608238051533946},{x:.03802386744638545,y:.7540046604858821},{x:.03386542103699209,y:.746224754456429},{x:.03130466238185463,y:.7377830644907257},{x:.030439999999999995,y:.729004},{x:.030439999999999995,y:.05103000000000002}]],M:[[{x:-.0025190000000000004,y:.05103000000000002},{x:-.001654337618145367,y:.04225093550927423},{x:.0009064210369920944,y:.03380924554357098},{x:.005064867446385457,y:.026029339514117924},{x:.010661194846605361,y:.019210194846605383},{x:.017480339514117912,y:.013613867446385479},{x:.02526024554357096,y:.009455421036992116},{x:.03370193550927423,y:.006894662381854655},{x:.042481,y:.0060300000000000215},{x:.051260064490725774,y:.006894662381854655},{x:.05970175445642904,y:.009455421036992116},{x:.06748166048588208,y:.013613867446385486},{x:.07430080515339463,y:.019210194846605383},{x:.07989713255361454,y:.026029339514117924},{x:.0840555789630079,y:.03380924554357098},{x:.08661633761814536,y:.04225093550927425},{x:.087481,y:.05103000000000002},{x:.087481,y:.5631122522964573},{x:.26219554141599577,y:.26476777519375044},{x:.26376288989624813,y:.2626088267569117},{x:.2651577075441738,y:.2603345964826191},{x:.26634817172230724,y:.2590477232579252},{x:.26737807478439135,y:.2576290804774607},{x:.2693364970488442,y:.25581739014918375},{x:.271148193983327,y:.2538589739959976},{x:.27256684023788735,y:.25282907571933333},{x:.27385371747828813,y:.25163861588213104},{x:.27612795245761435,y:.25024380590572387},{x:.27828690618147356,y:.24867646470811877},{x:.2798792167324836,y:.24794311979268302},{x:.28137361418054185,y:.2470265916026687},{x:.2838762642998919,y:.24610226374330602},{x:.28629950743227456,y:.24498622954453103},{x:.28800429067823724,y:.24457762002415934},{x:.28964877947809164,y:.24397024514568044},{x:.29228366929688115,y:.24355192080462856},{x:.2948780779631802,y:.2429300821730634},{x:.29662982004000654,y:.24286191068247276},{x:.29836120340931876,y:.24258703019148947},{x:.3010270755894747,y:.24269078533857608},{x:.3036929481196057,y:.24258703918410057},{x:.30542433056167173,y:.24286192551544342},{x:.30717607240852984,y:.24293010291506947},{x:.3097704789772072,y:.24355195029817853},{x:.3124053673848756,y:.24397028352732772},{x:.31404985413590314,y:.24457766395304856},{x:.3157546360035206,y:.24498627922405064},{x:.3181778753712451,y:.24610232159698525},{x:.32068052237260675,y:.24702665789836697},{x:.32217491672899246,y:.24794319112932822},{x:.32376722480624953,y:.2486765414159958},{x:.3259261732430879,y:.2502438898962479},{x:.3282004035173809,y:.2516387075441738},{x:.329487276742075,y:.2528291717223074},{x:.3309059195225393,y:.2538590747843914},{x:.3327176098508159,y:.2558174970488439},{x:.33467602600400237,y:.257629193983327},{x:.3357059242806667,y:.2590478402378874},{x:.33689638411786893,y:.2603347174782881},{x:.3382911940942761,y:.2626089524576143},{x:.3398585352918812,y:.26476790618147356},{x:.514571,y:.5631111449291359},{x:.514571,y:.05103000000000002},{x:.5154356623818547,y:.04225093550927423},{x:.5179964210369922,y:.03380924554357098},{x:.5221548674463855,y:.026029339514117924},{x:.5277511948466054,y:.019210194846605383},{x:.5345703395141179,y:.013613867446385479},{x:.542350245543571,y:.009455421036992116},{x:.5507919355092743,y:.006894662381854655},{x:.559571,y:.0060300000000000215},{x:.5683500644907258,y:.006894662381854655},{x:.576791754456429,y:.009455421036992116},{x:.5845716604858822,y:.013613867446385486},{x:.5913908051533947,y:.019210194846605383},{x:.5969871325536146,y:.026029339514117924},{x:.6011455789630079,y:.03380924554357098},{x:.6037063376181454,y:.04225093550927425},{x:.6045710000000001,y:.05103000000000002},{x:.6045710000000001,y:.729004},{x:.6044399806971988,y:.7303342613054065},{x:.6044919608158994,y:.7316699481196056},{x:.6040085293496043,y:.7347148603514975},{x:.6037063376181454,y:.7377830644907257},{x:.6033183147080721,y:.7390622046001841},{x:.6031087164726723,y:.7403823673848756},{x:.6020405410986152,y:.7432744596816038},{x:.6011455789630079,y:.746224754456429},{x:.6005154639484909,y:.7474036167328832},{x:.600052342101633,y:.7486575223726067},{x:.5984404722003996,y:.7512856532491108},{x:.5969871325536146,y:.7540046604858821},{x:.596139140401289,y:.7550379419131618},{x:.5954402924558263,y:.7561774035173808},{x:.5933466712837743,y:.758440575377949},{x:.5913908051533947,y:.7608238051533946},{x:.5903575237261146,y:.7616717973057207},{x:.589449806016673,y:.7626530260040023},{x:.5869548902613284,y:.7644642664232344},{x:.5845716604858822,y:.7664201325536145},{x:.5833927982094276,y:.7670502475681318},{x:.5823110938185264,y:.7678355352918812},{x:.579510761693201,y:.7691252393162225},{x:.576791754456429,y:.7705785789630079},{x:.5755126143469705,y:.7709666018730812},{x:.5742984925677255,y:.7715257704554689},{x:.5713003592655512,y:.772244375482538},{x:.5683500644907258,y:.7731393376181454},{x:.5670198031853202,y:.7732703569209465},{x:.5657199220368199,y:.7735819178269366},{x:.5626392041392276,y:.7737018082685412},{x:.559571,y:.774004},{x:.5582407386945936,y:.7738729806971988},{x:.5569050518803944,y:.7739249608158993},{x:.5538601396485026,y:.7734415293496042},{x:.5507919355092743,y:.7731393376181454},{x:.5495127953998159,y:.772751314708072},{x:.5481926326151244,y:.7725417164726722},{x:.5453005403183963,y:.7714735410986151},{x:.542350245543571,y:.7705785789630079},{x:.5411713832671168,y:.7699484639484908},{x:.5399174776273933,y:.769485342101633},{x:.5372893467508892,y:.7678734722003996},{x:.5345703395141179,y:.7664201325536145},{x:.5335370580868383,y:.765572140401289},{x:.5323975964826192,y:.7648732924558262},{x:.5301344246220511,y:.7627796712837742},{x:.5277511948466054,y:.7608238051533946},{x:.5269032026942794,y:.7597905237261146},{x:.5259219739959977,y:.7588828060166729},{x:.5241107335767656,y:.7563878902613284},{x:.5221548674463855,y:.7540046604858821},{x:.5215247524318682,y:.7528257982094275},{x:.5207394647081188,y:.7517440938185264},{x:.30102684980758887,y:.3765575080608823},{x:.08131245858400418,y:.7517442248062496},{x:.0805272117946797,y:.752825865136849},{x:.07989713255361454,y:.7540046604858821},{x:.07794121846393844,y:.7563879486998997},{x:.0761299252156086,y:.7588829195225393},{x:.07514874916275306,y:.7597905823884902},{x:.07430080515339463,y:.7608238051533946},{x:.0719175169393771,y:.7627797192430708},{x:.06965428252171184,y:.764873384117869},{x:.06851488325078628,y:.7655721885442563},{x:.06748166048588208,y:.7664201325536145},{x:.06476258657702469,y:.7678735078373721},{x:.06213438581945812,y:.7694854083973313},{x:.06088054980546198,y:.7699484997219428},{x:.05970175445642904,y:.7705785789630079},{x:.056751387338174995,y:.7714735630437544},{x:.05385922052190834,y:.7725417548543195},{x:.05253913197970031,y:.7727513367372549},{x:.051260064490725774,y:.7731393376181454},{x:.04819178511684276,y:.773441536759571},{x:.0451467965906812,y:.7739249698085104},{x:.04381118578262464,y:.7738729881355436},{x:.042481,y:.774004},{x:.039412720626117295,y:.7737018008585744},{x:.03633192759147018,y:.7735818970849305},{x:.035032121291898165,y:.7732703494826018},{x:.03370193550927423,y:.7731393376181454},{x:.030751568391020223,y:.7722443535373988},{x:.02775336399647938,y:.7715257207759494},{x:.026539313032545114,y:.7709665798438982},{x:.02526024554357096,y:.7705785789630079},{x:.02254117163471342,y:.7691252036792503},{x:.01974077519375046,y:.7678354585840041},{x:.01865913486315115,y:.7670502117946798},{x:.017480339514117912,y:.7664201325536145},{x:.015097051300099952,y:.7644642184639381},{x:.012602080477460715,y:.7626529252156086},{x:.011694417611510011,y:.7616717491627533},{x:.010661194846605361,y:.7608238051533946},{x:.008705280756928618,y:.7584405169393763},{x:.006611615882131057,y:.7561772825217118},{x:.005912811455744052,y:.7550378832507868},{x:.005064867446385457,y:.7540046604858821},{x:.0036114921626275165,y:.7512855865770239},{x:.0019995916026687363,y:.7486573858194581},{x:.0015365002780573323,y:.7474035498054622},{x:.0009064210369920944,y:.746224754456429},{x:11436956245516774e-21,y:.7432743873381747},{x:-.0010567548543195318,y:.7403822205219084},{x:-.0012663367372549837,y:.7390621319797002},{x:-.001654337618145367,y:.7377830644907257},{x:-.0019565367595708303,y:.7347147851168438},{x:-.0024399698085105087,y:.7316697965906812},{x:-.0023879881355436095,y:.730334185782624},{x:-.0025190000000000004,y:.729004},{x:-.0025190000000000004,y:.05103000000000002}]],N:[[{x:.022871000000000002,y:.05103000000000002},{x:.023735662381854636,y:.04225093550927423},{x:.026296421036992097,y:.03380924554357098},{x:.03045486744638546,y:.026029339514117924},{x:.036051194846605364,y:.019210194846605383},{x:.042870339514117915,y:.013613867446385479},{x:.05065024554357096,y:.009455421036992116},{x:.05909193550927423,y:.006894662381854655},{x:.067871,y:.0060300000000000215},{x:.07665006449072577,y:.006894662381854655},{x:.08509175445642904,y:.009455421036992116},{x:.0928716604858821,y:.013613867446385486},{x:.09969080515339464,y:.019210194846605383},{x:.10528713255361455,y:.026029339514117924},{x:.10944557896300791,y:.03380924554357098},{x:.11200633761814537,y:.04225093550927425},{x:.112871,y:.05103000000000002},{x:.112871,y:.5841703094604355},{x:.49710429367778214,y:.025528669675955993},{x:.4971050718109503,y:.02552774709009411},{x:.49710565506134197,y:.025526690456344234},{x:.49994880496714983,y:.022156103119426583},{x:.5027917749380927,y:.01878536401177818},{x:.5027927181072235,y:.018784610959395015},{x:.5027934962896407,y:.018783688415073364},{x:.5062395848358414,y:.016032536999645196},{x:.5096855265142521,y:.01328120162562755},{x:.5096865984738844,y:.013280647046104224},{x:.5096875416832135,y:.013279894044071351},{x:.5136041376200112,y:.011253903755746949},{x:.5175206253992491,y:.009227704391234041},{x:.5175217849545753,y:.009227369596750634},{x:.5175228569438108,y:.00922681507445236},{x:.5217594476858983,y:.008003843583871996},{x:.5259959731369073,y:.006780645934087934},{x:.5259971757268666,y:.006780543790608634},{x:.5259983353000632,y:.006780209058025982},{x:.5303921110410749,y:.006407254473822295},{x:.5347858668666982,y:.00603406533837119},{x:.5347870662764328,y:.00603419977121261},{x:.5347882688718429,y:.006034097691931008},{x:.5391703792739257,y:.006525492449663053},{x:.5435525159020149,y:.007016653277689966},{x:.5435536660388816,y:.007017019120673398},{x:.543554865441438,y:.007017153617542397},{x:.547756908459233,y:.008354013692199154},{x:.5519590228368241,y:.009690649448577907},{x:.5519600795017079,y:.0096912326425627},{x:.551961229619043,y:.009691598546943021},{x:.555821723096155,y:.01182254915564361},{x:.559682330324044,y:.013953293677782128},{x:.5596832529099061,y:.01395407181095043},{x:.5596843095436558,y:.013954655061341997},{x:.5630548968806759,y:.016797804967236304},{x:.5664256359882218,y:.01964077493809272},{x:.5664263890406048,y:.019641718107223288},{x:.5664273115849267,y:.019642496289640633},{x:.5691784630004857,y:.02308858483600535},{x:.5719297983743725,y:.026534526514252196},{x:.5719303529538958,y:.0265355984738845},{x:.5719311059559287,y:.0265365416832135},{x:.5739570962443242,y:.03045313762014873},{x:.575983295608766,y:.03436962539924916},{x:.5759836304032494,y:.03437078495457533},{x:.5759841849255477,y:.0343718569438108},{x:.5772071564160691,y:.03860844768569421},{x:.5784303540659121,y:.04284497313690728},{x:.5784304562093915,y:.04284617572686688},{x:.578430790941974,y:.042847335300063204},{x:.5788037455260991,y:.04724111104014873},{x:.5791769346616289,y:.05163486686669809},{x:.5791768002287875,y:.05163606627643281},{x:.5791769023080691,y:.05163726887184294},{x:.5700269023080691,y:.7296112688718429},{x:.5690438463824576,y:.738377865441438},{x:.566369401453057,y:.746784229619043},{x:.5621063449386581,y:.7545073095436557},{x:.5564185037103594,y:.7612503115849266},{x:.5495244583167865,y:.7667541059559286},{x:.5416891430561892,y:.7708071849255477},{x:.5332136646999368,y:.773253790941974},{x:.5244237311281571,y:.773999902308069},{x:.515657134558562,y:.7730168463824576},{x:.507250770380957,y:.770342401453057},{x:.49952769045634426,y:.766079344938658},{x:.4927846884150734,y:.7603915037103594},{x:.4872808940440714,y:.7534974583167865},{x:.4832278150744524,y:.7456621430561892},{x:.480781209058026,y:.7371866646999369},{x:.48003509769193103,y:.7283967311281571},{x:.48718300813543913,y:.19876859615253395},{x:.10494770632221789,y:.754505330324044},{x:.1022980223560627,y:.75764690179997},{x:.09969080515339464,y:.7608238051533946},{x:.09945603456444842,y:.7610164763964532},{x:.09926022506190729,y:.7612486359882218},{x:.09604856383930557,y:.7638129153509474},{x:.0928716604858821,y:.7664201325536145},{x:.09260381265312083,y:.7665633002029657},{x:.09236647348574781,y:.7667527983743725},{x:.08871625734636118,y:.7686412418060533},{x:.08509175445642904,y:.7705785789630079},{x:.08480112262185491,y:.7706667411661766},{x:.08453137460075086,y:.770806295608766},{x:.08058287930375276,y:.7719463312873718},{x:.07665006449072577,y:.7731393376181454},{x:.07634781747275289,y:.773169106351106},{x:.07605602686309273,y:.7732533540659121},{x:.07196099086840901,y:.7736011710596524},{x:.067871,y:.774004},{x:.06756875298202693,y:.7739742312670393},{x:.06726613313330192,y:.7739999346616289},{x:.06318192637768459,y:.7735421665584931},{x:.05909193550927423,y:.7731393376181454},{x:.05880130367469977,y:.7730511754149765},{x:.05849948409798508,y:.77301734672231},{x:.054583060356599135,y:.7717715852937818},{x:.05065024554357096,y:.7705785789630079},{x:.0503823977108098,y:.7704354113136568},{x:.050092977163175983,y:.7703433505514221},{x:.04649484240404986,y:.768357469710569},{x:.042870339514117915,y:.7664201325536145},{x:.04263556892517204,y:.7662274613105563},{x:.04236966967595597,y:.7660807063222179},{x:.03922809820002561,y:.7634310223560591},{x:.036051194846605364,y:.7608238051533946},{x:.03585852360354703,y:.7605890345644487},{x:.035626364011778155,y:.7603932250619073},{x:.033062084649052234,y:.7571815638393052},{x:.03045486744638546,y:.7540046604858821},{x:.030311699797034096,y:.7537368126531205},{x:.03012220162562753,y:.7534994734857478},{x:.028233758193948882,y:.7498492573463653},{x:.026296421036992097,y:.746224754456429},{x:.026208258833823234,y:.7459341226218545},{x:.026068704391234022,y:.7456643746007509},{x:.02492866871262922,y:.741715879303756},{x:.023735662381854636,y:.7377830644907257},{x:.023705893648893955,y:.7374808174727527},{x:.023621645934087915,y:.7371890268630927},{x:.023273828940347806,y:.7330939908684111},{x:.022871000000000002,y:.729004},{x:.022871000000000002,y:.05103000000000002}]],O:[[{x:.012131736117046842,y:.4355587711738732},{x:.012426138979982786,y:.43287355609157196},{x:.012514983726773468,y:.43017371170811375},{x:.012905745911416293,y:.42849911573111366},{x:.01309315536666239,y:.42678977537085305},{x:.07316415536666239,y:.1412837753708531},{x:.07429915106219231,y:.13768552483470178},{x:.07533122192175289,y:.13405641311271962},{x:.07562440736087628,y:.1334840955199844},{x:.07581784742995093,y:.1328708369543332},{x:.07763301835724021,y:.12956315246900071},{x:.0793532628391043,y:.12620512014747703},{x:.07975246842568721,y:.12570099711853563},{x:.0800618324091279,y:.12513726042963025},{x:.08248742256740031,y:.1222472544549173},{x:.0848297326408542,y:.1192893488327618},{x:.1660597326408542,y:.03517334883276172},{x:.16792084009780786,y:.033590824390739155},{x:.16963596886504836,y:.031851158363102774},{x:.17127304088861567,y:.03074040344046043},{x:.172780173663761,y:.0294588683817891},{x:.1749142556657825,y:.0282698357562587},{x:.17693582072022015,y:.026898201947035502},{x:.17875813439943417,y:.026128166777013812},{x:.18048632312818114,y:.025165283073572443},{x:.1828113681007397,y:.02441543612151622},{x:.18506168183103927,y:.023464545648773483},{x:.2739246818310393,y:-.0041824543512264944},{x:.2748960678404206,y:-.004382857312604547},{x:.27582577451608603,y:-.004728396924478621},{x:.2792086173377598,y:-.005272563034129881},{x:.28256427991205235,y:-.0059648570457577},{x:.28355609768991147,y:-.005971901311054349},{x:.2845353517466465,y:-.006129424701440567},{x:.287959355733624,y:-.0060031749164705245},{x:.2913856000541485,y:-.006027509400590186},{x:.29235973459950004,y:-.005840924262640544},{x:.29335090385307644,y:-.005804377895986514},{x:.3811419038530764,y:.006122622104013507},{x:.38318930529213563,y:.00660893405691686},{x:.3852758334501729,y:.006882342567970358},{x:.387470347489584,y:.0076257947232155985},{x:.38972465411174423,y:.008161252125438313},{x:.3916378405507577,y:.009037647936572414},{x:.39363093730084414,y:.009712864429997858},{x:.3956382440479665,y:.010870159811164118},{x:.3977447722434711,y:.011835121954387393},{x:.39945022100051475,y:.01306792222421872},{x:.4012732927522862,y:.01411899850883961},{x:.4916652927522862,y:.07880999850883955},{x:.49276799959381884,y:.07977586317754862},{x:.49398769122063274,y:.08058901093294302},{x:.4960788615418114,y:.08267585840574071},{x:.4983012083703825,y:.08462241954283417},{x:.4991942961599152,y:.08578485282556958},{x:.5002319144966787,y:.08682032620708877},{x:.5018757798210403,y:.08927504258220473},{x:.5036756696393939,y:.09161775945128844},{x:.5043248175140242,y:.09293208968889465},{x:.5051404874699588,y:.09415009603518716},{x:.5560304874699588,y:.18912209603518723},{x:.5570965448702581,y:.19168827319789875},{x:.5583465570022521,y:.1941700494329812},{x:.5587848767756364,y:.19575236841213633},{x:.559414776433869,y:.19726864147332673},{x:.5599597135111237,y:.1999934877429328},{x:.5607015364856348,y:.20267144261291137},{x:.5892585364856349,y:.36700144261291134},{x:.5895780755292599,y:.371318367211785},{x:.589913428370686,y:.37563409214099147},{x:.5899036127276142,y:.3757163259822715},{x:.58990972616553,y:.3757989176124618},{x:.5893809351459178,y:.38009523269056544},{x:.5888678881103582,y:.38439345626922305},{x:.5314878881103581,y:.6446844562692231},{x:.5303800126922803,y:.6480826863142071},{x:.5293998170293023,y:.651519919480997},{x:.5290148883003433,y:.6522699863013032},{x:.5287535704445262,y:.6530715368858165},{x:.5270040207481954,y:.6561883351212919},{x:.5253720883446767,y:.6593682961290664},{x:.5248482251358019,y:.6600288547560561},{x:.5244355536676654,y:.6607640231862051},{x:.522111563906752,y:.6634796128039058},{x:.5198906090097624,y:.6662800975344761},{x:.4528876090097624,y:.7355630975344761},{x:.4513498405668143,y:.7368687638478525},{x:.44995999895015265,y:.7383308981052339},{x:.44799560298794544,y:.7397167316507253},{x:.4461630292013509,y:.741272707045399},{x:.44440008568631667,y:.7422532816059559},{x:.4427517012434998,y:.743416176715023},{x:.4405546878862334,y:.7443921472166956},{x:.43845377075029196,y:.7455607075703166},{x:.43653340109378364,y:.7461785074476045},{x:.43468982031452474,y:.7469974740014746},{x:.32025082031452473,y:.7849044740014746},{x:.3162756641960007,y:.785800462676764},{x:.3123143949565378,y:.7867559771378485},{x:.3119757732525013,y:.7867696456410259},{x:.3116451697261732,y:.786844162718285},{x:.30757159639863574,y:.7869474207351895},{x:.30350003021295163,y:.7871117699623142},{x:.30316524843732107,y:.7870591140117537},{x:.302826459804451,y:.7870677017158569},{x:.29881101440639224,y:.7863742609266953},{x:.29478561927964103,y:.7857411290712295},{x:.173234619279641,y:.7541621290712296},{x:.17180894449846637,y:.7536379076298808},{x:.17032768986057922,y:.753301394035824},{x:.16767817066393412,y:.7521190197025511},{x:.16495505208167519,y:.7511177274253745},{x:.16365904177145735,y:.7503254433998781},{x:.16227189957151614,y:.7497064173758784},{x:.15990395993272244,y:.7480298664806163},{x:.1574285077432372,y:.7465165596726792},{x:.15631196685338702,y:.745486660093817},{x:.15507224418821702,y:.7446089104628228},{x:.08487024418821705,y:.6837459104628228},{x:.08477922863788438,y:.6836498346778195},{x:.08467166808724909,y:.6835727301071804},{x:.08174665618590948,y:.6804486588585436},{x:.07880340242944883,y:.6773417676286113},{x:.07873287917322891,y:.6772297816598538},{x:.07864242772392874,y:.6771331746094597},{x:.07638309517198695,y:.6734984900001298},{x:.07410251962167697,y:.6698770964908778},{x:.07405519882875666,y:.6697535038963435},{x:.0739853324792622,y:.6696411069209627},{x:.07247850415964274,y:.6656354878421232},{x:.07094824805491862,y:.6616387601752097},{x:.07092594823683183,y:.6615083105489945},{x:.0708793519117729,y:.6613844430013583},{x:.013660351911772894,y:.4476944430013583},{x:.013380528959940628,y:.4459977798389246},{x:.012899536483696877,y:.44434683677239306},{x:.012664423003084308,y:.4416557821956227},{x:.012224847112815455,y:.43899048181468664},{x:.012281403443251489,y:.4372718288093888},{x:.012131736117046842,y:.4355587711738732}],[{x:.10337829031332789,y:.4348001396911351},{x:.15424861715004387,y:.6247803934833692},{x:.2060651876410252,y:.6697037849792326},{x:.3045603004668897,y:.6952928559694175},{x:.3958853477721772,y:.6650421672339206},{x:.4463402797077116,y:.6128703383711886},{x:.499069598507425,y:.373676069990286},{x:.47327322171072966,y:.22523195474705573},{x:.4307624349909165,y:.1458974207255564},{x:.35796896612556683,y:.09380119213930618},{x:.2911281310221294,y:.08472041346861442},{x:.22279798440939425,y:.10597924519162948},{x:.15856873728877424,y:.17249047688925445},{x:.10337829031332789,y:.4348001396911351}]],P:[[{x:.025556999999999996,y:.05103000000000002},{x:.02642166238185463,y:.04225093550927423},{x:.02898242103699209,y:.03380924554357098},{x:.033140867446385454,y:.026029339514117924},{x:.03873719484660536,y:.019210194846605383},{x:.04555633951411791,y:.013613867446385479},{x:.053336245543570956,y:.009455421036992116},{x:.061777935509274226,y:.006894662381854655},{x:.070557,y:.0060300000000000215},{x:.07933606449072576,y:.006894662381854655},{x:.08777775445642903,y:.009455421036992116},{x:.09555766048588209,y:.013613867446385486},{x:.10237680515339463,y:.019210194846605383},{x:.10797313255361454,y:.026029339514117924},{x:.1121315789630079,y:.03380924554357098},{x:.11469233761814536,y:.04225093550927425},{x:.11555699999999999,y:.05103000000000002},{x:.11555699999999999,y:.3249696679740436},{x:.22632413005583354,y:.32573306868659574},{x:.22797244585475993,y:.3259068917113995},{x:.2296296407459454,y:.32587748916779646},{x:.3399906407459454,y:.3347734891677965},{x:.3425199358315593,y:.3352301100895628},{x:.3450781711944775,y:.33547763407671893},{x:.4262801711944775,y:.3514846340767189},{x:.43023360415359113,y:.35267647626036297},{x:.4342017122431381,y:.35381850872164355},{x:.49034871224313803,y:.3761405087216436},{x:.49223471805815816,y:.37711419756221787},{x:.49421014578428074,y:.3778905822551455},{x:.4961445509948513,y:.379132728294546},{x:.49818726580808836,y:.3801873213410173},{x:.49984707528076383,y:.38151024250532195},{x:.5016330805772936,y:.3826570960152846},{x:.5368430805772937,y:.4104950960152846},{x:.538268982488492,y:.41186995272090265},{x:.539835277869678,y:.41308244849417974},{x:.5414366048100854,y:.41492417879038607},{x:.5431934850553138,y:.4166181652891421},{x:.5443237674236908,y:.41824478417169497},{x:.5456234206874699,y:.41973955124896434},{x:.546834674823181,y:.4218582966024136},{x:.5482273167355989,y:.4238624839583804},{x:.5490185434436073,y:.4256783549664296},{x:.5500016096439067,y:.4273979502871872},{x:.5725636096439066,y:.4777629502871872},{x:.5732747072201834,y:.47988746499756846},{x:.5741879174558705,y:.48193325814034926},{x:.5746713208988057,y:.4840600657825243},{x:.5753635933927087,y:.4861283376286891},{x:.5756465551694752,y:.4883507586397718},{x:.5761431038835471,y:.49053540091990977},{x:.5762022992770958,y:.49271564988294925},{x:.5764777701286589,y:.49487923612929946},{x:.5763217220435205,y:.4971141570479765},{x:.5763825271473633,y:.4993536938878067},{x:.5706825271473633,y:.5794656938878067},{x:.5700654182420953,y:.5830779192715516},{x:.5695689975224034,y:.5867086990904052},{x:.5693236589408173,y:.5874197813867033},{x:.5691969863455608,y:.5881612549906394},{x:.5678870248015591,y:.5915836805014664},{x:.5666918126627678,y:.5950478490261242},{x:.5415328126627678,y:.6498468490261241},{x:.5413708296623262,y:.6501242105110185},{x:.5412617638147841,y:.650426323944409},{x:.5391478795722351,y:.653930540410781},{x:.5370840246571379,y:.6574644536133865},{x:.536871043573226,y:.6577048843594048},{x:.5367051339883567,y:.6579799150765678},{x:.5339482287199508,y:.661004400648547},{x:.5312345979336611,y:.6640677725799057},{x:.5309788035098929,y:.664262032968313},{x:.5307624259999995,y:.6644994116930277},{x:.47414742599999943,y:.7155204116930277},{x:.47266946719886654,y:.7166100541651699},{x:.4713261182021025,y:.7178618913781634},{x:.46912758296129603,y:.7192213498885075},{x:.46704701478499566,y:.7207552731949938},{x:.4653848758470294,y:.7215356430341334},{x:.4638231175995642,y:.7225013521577397},{x:.4283261175995643,y:.7398953521577398},{x:.4243082080780145,y:.7413960258251278},{x:.4202985181688539,y:.7429185254841078},{x:.34090751816885384,y:.7644395254841077},{x:.3408415384597873,y:.7644506164558663},{x:.3407789202555512,y:.7644741810938074},{x:.33649241770984384,y:.7651816893280429},{x:.33220802793590354,y:.7659018811363755},{x:.33214115226719376,y:.7658998869955335},{x:.33207514002138977,y:.7659107826399355},{x:.2099811400213898,y:.7739077826399355},{x:.20641155146718015,y:.773790767187745},{x:.20284008504333162,y:.7738075792583221},{x:.0663570850433316,y:.7610135792583221},{x:.06408313636872824,y:.7605723800858132},{x:.061777935509274226,y:.7603453376181454},{x:.05976354040438703,y:.759734277543603},{x:.05769704052657306,y:.7593333282846051},{x:.05555285882676713,y:.7584569812513055},{x:.053336245543570956,y:.7577845789630079},{x:.05147976838249502,y:.7567922712467745},{x:.04953119704042999,y:.7559958719887517},{x:.04759918201567506,y:.7547180546196904},{x:.04555633951411791,y:.7536261325536145},{x:.043929123673028744,y:.7522907110247322},{x:.04217336337061703,y:.7511294669445447},{x:.04052776127482757,y:.7494992850446065},{x:.03873719484660536,y:.7480298051533947},{x:.037401773317722896,y:.7464025893123053},{x:.03590629693874444,y:.7449211263687215},{x:.034610347337597366,y:.7430012269141045},{x:.033140867446385454,y:.7412106604858821},{x:.032148559730151835,y:.7393541833248057},{x:.030970837593177758,y:.7376094333079335},{x:.030074343103068113,y:.7354735969579864},{x:.02898242103699209,y:.733430754456429},{x:.028371360962449563,y:.7314163593515414},{x:.027556652268729623,y:.729475372026062},{x:.027094064670152376,y:.7272056777739226},{x:.02642166238185463,y:.7249890644907258},{x:.02621533264498147,y:.722894163516222},{x:.025794946192721373,y:.7208315299365354},{x:.02578404246766777,y:.7185152008594541},{x:.025556999999999996,y:.71621},{x:.025556999999999996,y:.05103000000000002}],[{x:.11555699999999999,y:.414971805397996},{x:.11555699999999999,y:.6752310456989574},{x:.20767337575712835,y:.6838660911730216},{x:.3217031184787672,y:.6763972896549704},{x:.3925929523867085,y:.6571807523203506},{x:.4185706758911827,y:.6444513238436673},{x:.46361487793542,y:.6038578374443203},{x:.4814895996448674,y:.5649247767123354},{x:.48580725170954087,y:.5042413131675768},{x:.4723746184159119,y:.474255736718963},{x:.45098032059796866,y:.45734081304228297},{x:.40480552914494095,y:.4389833995595593},{x:.3301954695220376,y:.42427584033215343},{x:.22404845814303564,y:.41571952231013837},{x:.11555699999999999,y:.414971805397996}]],Q:[[{x:.012134510452571898,y:.39776120903599943},{x:.012467756958298536,y:.3937322544040442},{x:.012734737801221134,y:.38969836671479857},{x:.012831073490929856,y:.38933975275179394},{x:.012861682585025715,y:.38896968840207613},{x:.0716656825850257,y:.06709568840207614},{x:.07243605319674906,y:.06440524795975149},{x:.07301096718930201,y:.06166637692330789},{x:.07364750148994079,y:.06017438890024393},{x:.07409402290033937,y:.05861495861744442},{x:.07537446994903126,y:.05612650608452361},{x:.07647266436288541,y:.053552421842995857},{x:.07738804025928744,y:.05221328363312273},{x:.0781302116420243,y:.05077092937167972},{x:.07987152826568633,y:.04858009458346291},{x:.08145080010539194,y:.04626971775068952},{x:.16096480010539196,y:-.04855928224931053},{x:.16315500529851779,y:-.05070373085173594},{x:.16521251383898505,y:-.052975804178533654},{x:.1663001767861927,y:-.05378319510572523},{x:.1672680674520078,y:-.05473086511953138},{x:.1698345496348827,y:-.056406820906963286},{x:.172295783242646,y:-.058233836978172464},{x:.17352006120728586,y:-.058813521600477286},{x:.17465423537351554,y:-.059554156299027654},{x:.17749836607515132,y:-.06069721323044178},{x:.18026874092294012,y:-.06200896084304842},{x:.2672567409229401,y:-.09317596084304836},{x:.2695830047845554,y:-.09375972267138269},{x:.2718475349769373,y:-.09454977610873284},{x:.2738508793967248,y:-.09483071995927067},{x:.27581299058749986,y:-.09532309988014809},{x:.2782084422243766,y:-.09544181332278269},{x:.28058359188359605,y:-.09577489818042065},{x:.2826032520283714,y:-.0956596106656824},{x:.28462372036011635,y:-.09575974074040533},{x:.28699630390923414,y:-.09540884370631499},{x:.2893907973658866,y:-.09527215971995788},{x:.3753267973658866,y:-.08182715971995795},{x:.37840631600914065,y:-.08102976437129623},{x:.38152495221950905,y:-.08040256216817918},{x:.38266795913198753,y:-.07992627554804835},{x:.3838666954562622,y:-.07961588068444121},{x:.38673147789694834,y:-.07823302278004476},{x:.38966782930723504,y:-.07700945634885908},{x:.3906959547522998,y:-.07631933185595965},{x:.3918111026603398,y:-.07578103928710583},{x:.3943510569158511,y:-.07386586128072498},{x:.3969922811880835,y:-.07209295159323717},{x:.45217017177581864,y:-.026613783173476364},{x:.5097585536672307,y:-.09873256043298734},{x:.5159122791302333,y:-.10505326271144577},{x:.5231808703268614,y:-.11005198218579294},{x:.5312849993737013,y:-.11353662086994384},{x:.5399132291363312,y:-.11537326605347448},{x:.5487339815837399,y:-.1154913364919842},{x:.5574082801461085,y:-.11388629480473579},{x:.5656027763942881,y:-.11061982184365243},{x:.5730025604329874,y:-.10581744633276943},{x:.5793232627114457,y:-.0996637208697668},{x:.5843219821857929,y:-.09239512967313873},{x:.5878066208699438,y:-.08429100062629874},{x:.5896432660534744,y:-.07566277086366895},{x:.5897613364919841,y:-.06684201841626024},{x:.5881562948047357,y:-.058167719853891554},{x:.5848898218436525,y:-.04997322360571205},{x:.5800874463327694,y:-.042573439567012816},{x:.5106129498444961,y:.04443049374200151},{x:.5474711182959175,y:.12365010382899572},{x:.5481373073434039,y:.1255496832776173},{x:.5490025186311253,y:.12736726941208848},{x:.5495935209593992,y:.1297019482663393},{x:.5503905347901464,y:.13197456307270286},{x:.5506733336355601,y:.13396760967066554},{x:.5511673266667299,y:.13591906574595297},{x:.5791213266667299,y:.32118306574595296},{x:.5792865967797204,y:.3243841932678159},{x:.5796238248970751,y:.32757179562983435},{x:.579513579388425,y:.3287806341158348},{x:.5795761658223595,y:.3299928748079828},{x:.5791137513174164,y:.3331647361616822},{x:.5788226293197903,y:.33635687958013644},{x:.5226546293197903,y:.6297998795801365},{x:.5219105438778229,y:.6323181740447382},{x:.521369234544533,y:.6348876981954499},{x:.5206636104444891,y:.6365383151545928},{x:.5201549436340621,y:.6382598551025291},{x:.5189338607071872,y:.6405845973766512},{x:.5179016631869613,y:.6429991446291672},{x:.5168875780620563,y:.6444803850133782},{x:.5160528293589531,y:.6460696100820955},{x:.5144016744792594,y:.6481114616238732},{x:.5129182555439367,y:.6502782422813739},{x:.4473292555439367,y:.7283852422813738},{x:.4454767413796947,y:.7301964293264013},{x:.4437773055972873,y:.732151966404103},{x:.44233025961343425,y:.7332727172827731},{x:.4410215211764534,y:.7345522595114605},{x:.4388512574885805,y:.735967237520439},{x:.4368029695300015,y:.737553656027496},{x:.4351650804791521,y:.7383705673253327},{x:.43363186277883553,y:.7393702013057781},{x:.431227251583759,y:.7403345934673514},{x:.4289088260065632,y:.7414909282302113},{x:.3168848260065632,y:.7842309282302113},{x:.31544522398579106,y:.7846236280557255},{x:.31406876767085296,y:.7851998529634103},{x:.3111991137964475,y:.7857818972901452},{x:.30837424253549156,y:.7865524758495462},{x:.30688569012846406,y:.7866567776362199},{x:.305423266132861,y:.7869533972381565},{x:.30249520063786056,y:.7869644160479279},{x:.2995742760667897,y:.7871690831124285},{x:.29809397750772,y:.7869809786010931},{x:.2966017859654652,y:.7869865939723252},{x:.2937278327647654,y:.7864261638184524},{x:.2908231043767717,y:.786057054147543},{x:.2894079467091229,y:.7855837720890787},{x:.28794333170435554,y:.785298167434039},{x:.16895933170435556,y:.7496931674340391},{x:.16685145995859063,y:.7488293371508981},{x:.16467103610787698,y:.748169732810473},{x:.1627799564873854,y:.7471607878174731},{x:.16079664289106937,y:.7463480029082842},{x:.1588977982379503,y:.7450895455041626},{x:.15688795304330724,y:.7440172356850165},{x:.15523004539103946,y:.7426587459550258},{x:.15344340707901263,y:.7414746531917952},{x:.15182656105367498,y:.739869930478983},{x:.1500645317387979,y:.7384261234461069},{x:.08134353173879794,y:.6698101234461069},{x:.07898814712174665,y:.6669445493412297},{x:.07654417665723892,y:.6641541443502993},{x:.0761910053095167,y:.6635415309608049},{x:.07574199244846258,y:.6629952594015535},{x:.07399091166125166,y:.6597252337561722},{x:.07213828241215867,y:.6565116506297859},{x:.07191141209628055,y:.6558419081228384},{x:.07157759918584938,y:.6552185349547689},{x:.07049811528111428,y:.6516697230205841},{x:.06930802275051184,y:.6481564579560907},{x:.013298022750511833,y:.4072474579560906},{x:.013249789700227431,y:.40687927578320093},{x:.013136451320225305,y:.40652566731159423},{x:.012677284531251238,y:.4025091147450468},{x:.012152162963867598,y:.3985006516980174},{x:.01217668547678935,y:.39813013424102855},{x:.012134510452571898,y:.39776120903599943}],[{x:.1030741934540208,y:.3959601630333355},{x:.15405220468618464,y:.6152256818322884},{x:.20562817178182732,y:.6667228451191239},{x:.2990925609035841,y:.6946913078929434},{x:.38591644511804135,y:.6615657918309754},{x:.4364618489221904,y:.6013735361946543},{x:.4889800495366121,y:.3269984766785998},{x:.4631403994395801,y:.1557472448128009},{x:.4478929247459949,y:.12297570323093639},{x:.3763894463327694,y:.21252056043298723},{x:.3702357208697667,y:.2188412627114457},{x:.36296712967313866,y:.22383998218579282},{x:.35486300062629866,y:.22732462086994373},{x:.34623477086366883,y:.22916126605347437},{x:.3374140184162602,y:.2292793364919841},{x:.3287397198538915,y:.22767429480473567},{x:.32054522360571197,y:.22440782184365232},{x:.31314543956701274,y:.21960544633276935},{x:.3068247372885543,y:.2134517208697667},{x:.30182601781420715,y:.20618312967313862},{x:.2983413791300562,y:.19807900062629863},{x:.2965047339465256,y:.18945077086366885},{x:.29638666350801585,y:.18063001841626014},{x:.2979917051952643,y:.17195571985389144},{x:.30125817815634764,y:.16376122360571194},{x:.3060605536672306,y:.1563614395670127},{x:.3960043024488616,y:.04372356068896105},{x:.3492507773512258,y:.005187991106938553},{x:.28681342879982186,y:-.004580559340762309},{x:.22209853619564562,y:.018606191220169738},{x:.15806156000107346,y:.09497717514193305},{x:.1030741934540208,y:.3959601630333355}]],R:[[{x:-.010088,y:.05588800000000005},{x:-.009223337618145366,y:.04710893550927426},{x:-.006662578963007905,y:.03866724554357101},{x:-.0025041325536145423,y:.030887339514117953},{x:.0030921948466053617,y:.024068194846605412},{x:.009911339514117913,y:.018471867446385508},{x:.01769124554357096,y:.014313421036992145},{x:.02613293550927423,y:.011752662381854684},{x:.034912,y:.01088800000000005},{x:.043691064490725774,y:.011752662381854684},{x:.05213275445642904,y:.014313421036992145},{x:.059912660485882105,y:.018471867446385515},{x:.06673180515339464,y:.024068194846605412},{x:.07232813255361453,y:.030887339514117953},{x:.0764865789630079,y:.03866724554357101},{x:.07904733761814536,y:.04710893550927428},{x:.079912,y:.05588800000000005},{x:.079912,y:.36648688236049143},{x:.25933152798675563,y:.3728389247505383},{x:.2598033776805002,y:.3702688775066002},{x:.2630584474090824,y:.36206984491555727},{x:.26785052379396923,y:.35466338703825},{x:.5319365237939692,y:.022999387038250052},{x:.5380814500271169,y:.016670129897313986},{x:.5453430800394999,y:.011661303295187019},{x:.5534423534621115,y:.008165393629206541},{x:.5620680197594453,y:.00631674674730745},{x:.5708885994130244,y:.006186405112428031},{x:.5795651224933998,y:.00777937768050025},{x:.5877641550844427,y:.011034447409082423},{x:.59517061296175,y:.015826523793969254},{x:.601499870102686,y:.021971450027116944},{x:.606508696704813,y:.02923308003949996},{x:.6100046063707935,y:.03733235346211146},{x:.6118532532526926,y:.04595801975944533},{x:.6119835948875719,y:.05477859941302443},{x:.6103906223194997,y:.06345512249339977},{x:.6071355525909176,y:.07165415508444274},{x:.6023434762060308,y:.07906061296174999},{x:.36492288462028066,y:.3772356888373974},{x:.45122307475864126,y:.3907421966461853},{x:.4517263325772421,y:.3908725352482557},{x:.4522445282141884,y:.3909141268943158},{x:.4559919550269364,y:.3919772876167318},{x:.459762859565968,y:.3929539131315124},{x:.46023101962685037,y:.3931799280437793},{x:.4607311441523136,y:.39332181547170203},{x:.5072261441523136,y:.41160281547170213},{x:.5099186672764574,y:.4129799887569096},{x:.5126912264123276,y:.4141879634543456},{x:.5138373975854011,y:.41498434320238026},{x:.5150799754049854,y:.4156198976243936},{x:.5174520892726079,y:.41749589411441484},{x:.5199357102894067,y:.4192215573713852},{x:.5536387102894067,y:.4479225573713852},{x:.5544422891842978,y:.4487559165260936},{x:.5553578681885658,y:.44946439490120116},{x:.5574982196806069,y:.4519250983842071},{x:.5597619879819907,y:.4542727608851649},{x:.5603875460278954,y:.4552468777427617},{x:.5611473151639865,y:.4561203635073251},{x:.5627664809673836,y:.45895134712470415},{x:.5645287453623273,y:.46169553923588524},{x:.5649522427143585,y:.46277297903182424},{x:.5655270044804562,y:.4637779046177677},{x:.5843050044804562,y:.5056739046177676},{x:.5856980535944053,y:.5098331481877504},{x:.5870956418010017,y:.5139908687307394},{x:.5870987900445207,y:.5140153439302019},{x:.587106627133701,y:.514038743222053},{x:.5876614810321307,y:.5183898384933372},{x:.5882210839336397,y:.522740325535193},{x:.5899430839336397,y:.580600325535193},{x:.589777587866933,y:.5830153029012521},{x:.5898269599494498,y:.5854354407122341},{x:.5894767504310368,y:.5874052295805413},{x:.5893399666658296,y:.589401226848592},{x:.5887065118476329,y:.5917375144207835},{x:.5882827897945603,y:.5941207819778186},{x:.5699357897945603,y:.6593647819778187},{x:.5695566600666073,y:.6603356321127045},{x:.5693270257483343,y:.6613522723710545},{x:.5679549854437747,y:.6644370937206254},{x:.5667268644118839,y:.6675819841936177},{x:.5661656160899001,y:.668460215174679},{x:.5657420574552864,y:.6694125215424361},{x:.5637945617300048,y:.6721703971299327},{x:.5619765010042908,y:.6750152648867381},{x:.5612547025465381,y:.6757671267898905},{x:.5606534967163777,y:.6766185026674012},{x:.5398464967163776,y:.7006785026674012},{x:.5387925287989109,y:.70167944573824},{x:.5378793324857355,y:.7028102896247742},{x:.535601038014175,y:.7047103734673366},{x:.5334498940671065,y:.7067532939324781},{x:.5322209035416287,y:.707529385222465},{x:.5311046373415733,y:.7084603444980107},{x:.5029396373415734,y:.7276033444980106},{x:.49917038563569516,y:.7296565217962586},{x:.49541206095977475,y:.7317296332429761},{x:.4611910609597748,y:.7464366332429762},{x:.457170688924302,y:.7477143925092122},{x:.45316143447737084,y:.7490266191763204},{x:.37177643447737085,y:.7670666191763205},{x:.36787988134157384,y:.7675363076101905},{x:.36399443936523473,y:.7680904503837813},{x:.2290834393652347,y:.7739614503837813},{x:.2260604581328276,y:.7737959747883908},{x:.2230330269857825,y:.7738173839936113},{x:.030818026985782503,y:.7562573839936113},{x:.028490934977474184,y:.7558115802948838},{x:.02613293550927423,y:.7555793376181453},{x:.024169339379190496,y:.7549836872441402},{x:.022154034015341384,y:.7545976128723226},{x:.01995862841458906,y:.7537063820373993},{x:.01769124554357096,y:.7530185789630078},{x:.01588158498580211,y:.7520512952425895},{x:.013980322522940947,y:.7512794726091756},{x:.012000971535783972,y:.7499770641392344},{x:.009911339514117913,y:.7488601325536145},{x:.008325158769029223,y:.7475583876576994},{x:.006611003657363959,y:.7464304774736483},{x:.004923772632206568,y:.7447669421957904},{x:.0030921948466053617,y:.7432638051533946},{x:.0017904499506900475,y:.7416776244083056},{x:.0003292762098528329,y:.7402369716294513},{x:-.001000995511218774,y:.7382762382714833},{x:-.0025041325536145423,y:.7364446604858821},{x:-.0034714162740331275,y:.7346349999281129},{x:-.004623456556617868,y:.732936968032819},{x:-.005545647377387794,y:.7307543864780955},{x:-.006662578963007905,y:.728664754456429},{x:-.007258229337013042,y:.7267011583263452},{x:-.008056863899357211,y:.7248110017280808},{x:-.008535534543753812,y:.7224904473617442},{x:-.009223337618145366,y:.7202230644907257},{x:-.009424464135908606,y:.7181809926864091},{x:-.009839001899660749,y:.7161713490432334},{x:-.009855757323261527,y:.7138019994682},{x:-.010088,y:.711444},{x:-.010088,y:.05588800000000005}],[{x:.079912,y:.45654326739466394},{x:.079912,y:.6703676283824797},{x:.22820062174801237,y:.6839146886946046},{x:.3561457472749752,y:.6783468266821017},{x:.42954781695254723,y:.662076342723345},{x:.4559144639404158,y:.6507448714849071},{x:.47563211893454127,y:.6373433067928232},{x:.48601322722124407,y:.6253391992627579},{x:.4997779385388953,y:.5763903343143285},{x:.4985264355495565,y:.5343392524542002},{x:.48755361344964526,y:.5098575528750181},{x:.467303195590932,y:.4926125823096997},{x:.43241084881177044,y:.4788935374345549},{x:.3509044963348569,y:.4661372945522357},{x:.079912,y:.45654326739466394}]],S:[[{x:.021897597226735628,y:.20918252956592975},{x:.022856530106274857,y:.20041326151782815},{x:.025507836686771486,y:.19199957102060095},{x:.07532383668677148,y:.0752955710206009},{x:.07606476437254353,y:.07394451179196875},{x:.07662717764446286,y:.07250992955787258},{x:.07818101321859919,y:.07008559601860773},{x:.07956562874320691,y:.06756079148160443},{x:.08055589829123208,y:.06638024029801701},{x:.0813873780598424,y:.06508294454561242},{x:.08338432112997196,y:.06300833217803187},{x:.0852348965856767,y:.0608021661408081},{x:.08643645249257384,y:.05983749092219001},{x:.08750504545666679,y:.05872733599970995},{x:.08986835462050304,y:.05708217099364391},{x:.09211377343035676,y:.05527942517977789},{x:.09348044057646428,y:.05456769785378441},{x:.09474508130770348,y:.05368734639231786},{x:.18347008130770348,y:.00406434639231789},{x:.18531117162778632,y:.0032602675504258996},{x:.18705570252460849,y:.0022638899609980986},{x:.18934358471290644,y:.0014991491478438968},{x:.19155425509545604,y:.0005336596975895336},{x:.19351683738147718,y:.0001042099085839361},{x:.19542223123106015,y:-.0005326814704223887},{x:.1978153459361366,y:-.0008363843304376121},{x:.20017189655491793,y:-.0013520417748285815},{x:.2021805498702545,y:-.0013903589963945293},{x:.20417358345551592,y:-.0016432887864569548},{x:.36640558345551594,y:-.006196288786456984},{x:.3683537351453612,y:-.006059465175549666},{x:.37030515940756886,y:-.006136660097762148},{x:.3727431942064551,y:-.005751182385354602},{x:.3752054496398049,y:-.005578251970786187},{x:.37708947517888647,y:-.005063991846688501},{x:.37901846335331396,y:-.004758999502412188},{x:.3813344490261288,y:-.00390529164215812},{x:.3837156558614866,y:-.003255321831637216},{x:.38546315320491126,y:-.002383387922517842},{x:.38729557535780434,y:-.001707928996501587},{x:.5134735753578044,y:.059451071003498376},{x:.5144073364238021,y:.06002293670994077},{x:.5154151369003129,y:.060451046875811966},{x:.5181619939873726,y:.06232241135953579},{x:.5209964106485654,y:.06405830049148753},{x:.5218006642926897,y:.06480134570578519},{x:.5227055800155168,y:.06541784197435321},{x:.5250345719141375,y:.06778913394790613},{x:.5274758708842278,y:.07004463571609586},{x:.5281197100899656,y:.07093030562736781},{x:.5288869656553633,y:.07171149639276676},{x:.5307085905129939,y:.07449158843544039},{x:.5326629540416582,y:.07718002517181716},{x:.5331216364294024,y:.07817428398206286},{x:.5337217466362741,y:.07909014852127505},{x:.5349660004312154,y:.08217220325496363},{x:.5363583234240663,y:.08519025984344057},{x:.5366142220868877,y:.08625489874416871},{x:.5370241250365293,y:.08727024089657527},{x:.5783351250365293,y:.22800124089657534},{x:.5784689928995229,y:.22870739358153944},{x:.5787167010683089,y:.22938208824013706},{x:.5792894483007394,y:.23303529403132756},{x:.5799781923062021,y:.23666841715613338},{x:.579971724381043,y:.23738711763976203},{x:.5800830465086156,y:.23809717369609615},{x:.5799320834693805,y:.24179192160438975},{x:.5798988062915618,y:.2454896025769029},{x:.5797522511369868,y:.24619323160266243},{x:.5797229091764134,y:.2469113620006918},{x:.5788540372904492,y:.2505056649360105},{x:.5781000177526308,y:.2541258039501414},{x:.5778190074010411,y:.2547873214491718},{x:.5776501289474114,y:.2554859288404322},{x:.5462891289474114,y:.3454679288404322},{x:.5453940585085517,y:.34740151578805634},{x:.5446999978282894,y:.3494160105998292},{x:.5435456407901493,y:.3513945829466735},{x:.5425833616033817,y:.3534733584203385},{x:.5413282655917657,y:.35519517245680393},{x:.5402545326513293,y:.3570355547940282},{x:.5387363559437135,y:.3587509055417339},{x:.537387017705137,y:.36060200657115166},{x:.5358201287566253,y:.36204587934864135},{x:.5344079865107593,y:.36364142435019586},{x:.5325843328131388,y:.3650276335315076},{x:.5308997898345437,y:.36657992334222783},{x:.5290813226127058,y:.36769036763963614},{x:.5273850388959807,y:.368979759405903},{x:.44286903889598056,y:.42100375940590296},{x:.4391930936098881,y:.42279580082266366},{x:.4355432374645799,y:.42464039733796655},{x:.4352309585303121,y:.42472736117212373},{x:.4349395777453148,y:.4248694107387315},{x:.430984654780085,y:.42590987723258605},{x:.42704506666901776,y:.42700697873237736},{x:.18802361397643091,y:.46887992641475673},{x:.1445277950559712,y:.506325930968192},{x:.1345999941059918,y:.5433489412625321},{x:.1668438673565076,y:.6442112383308392},{x:.2418447705661005,y:.6964178007533797},{x:.3847076342900009,y:.6886954406015322},{x:.4475324208368403,y:.608018765726417},{x:.4536085342974724,y:.6016234190133417},{x:.4608155671913789,y:.5965363480257236},{x:.46887655728619765,y:.5929530460487544},{x:.47748172525324006,y:.5910112173678703},{x:.48630037931336645,y:.5907854853702875},{x:.49499362353660437,y:.5922845248100812},{x:.5032273814226823,y:.5954507284422511},{x:.5106852342735829,y:.6001624208368403},{x:.5170805809866582,y:.6062385342974724},{x:.5221676519742764,y:.6134455671913789},{x:.5257509539512455,y:.6215065572861976},{x:.5276927826321296,y:.63011172525324},{x:.5279185146297124,y:.6389303793133664},{x:.5264194751899187,y:.6476236235366044},{x:.5232532715577489,y:.6558573814226824},{x:.5185415791631597,y:.663315234273583},{x:.4431175791631597,y:.760171234273583},{x:.4420344490669973,y:.7613112710002186},{x:.44110391182703096,y:.7625789282836855},{x:.4390031114098716,y:.7645018722698176},{x:.4370414657025276,y:.7665665809866583},{x:.43575673751534005,y:.767473404028016},{x:.4345967726198766,y:.768535164822443},{x:.4321611907321885,y:.7700113141492059},{x:.4298344328086211,y:.7716536519742764},{x:.42839747791415833,y:.7722924126294288},{x:.42705266216361437,y:.7731074740629288},{x:.4243758968514515,y:.7740801011395291},{x:.42177344271380235,y:.7752369539512456},{x:.4202394824828045,y:.7755831050064366},{x:.4187614963922926,y:.7761201447252115},{x:.4159464142454535,y:.7765518720385514},{x:.41316827474676,y:.7771787826321297},{x:.4115962584106506,y:.7772190216964318},{x:.4100419001567639,y:.7774574015652649},{x:.23125890015676387,y:.7871214015652648},{x:.22961427991333744,y:.7870487065186679},{x:.22797320559841586,y:.7871788426312305},{x:.22521775007366066,y:.7868543723294609},{x:.22244596265035355,y:.7867318545526676},{x:.22084712542379714,y:.7863397068281228},{x:.21921219559556868,y:.7861471846952227},{x:.21657298639174055,y:.7852913862936938},{x:.21387836011908076,y:.7846304737606538},{x:.21238674832737245,y:.7839339433752962},{x:.2108207924222569,y:.7834261615145331},{x:.2083992528689725,y:.782071922865878},{x:.2058853407234555,y:.7808980140745921},{x:.20455827617124617,y:.7799238683005129},{x:.20312147299647784,y:.7791203404840283},{x:.10291447299647782,y:.7093683404840284},{x:.10181255131472464,y:.7084283417469311},{x:.10059641238964509,y:.7076416809983432},{x:.09846400643554813,y:.7055718520256913},{x:.09620311784593605,y:.7036431918911783},{x:.09530575393663021,y:.7025062807105057},{x:.09426645267874648,y:.7014974784931097},{x:.09257882390791694,y:.6990514089395268},{x:.09073764058529563,y:.6967187299857058},{x:.09007931964022471,y:.6954285972205445},{x:.08925679581402991,y:.6942364212378118},{x:.08807879885369768,y:.6915081121844703},{x:.08672807644060793,y:.6888610579553555},{x:.08633409736450004,y:.6874672826843552},{x:.08575996009935855,y:.6861375475907227},{x:.04484896009935855,y:.5581635475907226},{x:.04400698871411546,y:.5542371548008082},{x:.04309586967447821,y:.5503262293029391},{x:.04308290316808571,y:.5499278363503387},{x:.04299932697019912,y:.5495380927241992},{x:.04293953506277818,y:.5455228840020936},{x:.042808906634767226,y:.5415093553341928},{x:.04287391188557095,y:.5411160877505585},{x:.04286797679041901,y:.5407175280315513},{x:.04359266213029085,y:.5367678055966908},{x:.04424754429113727,y:.532805911414652},{x:.06119154429113727,y:.4696179114146519},{x:.06126294463056804,y:.4694283141856516},{x:.06129777501412092,y:.46922873472253734},{x:.06281676603792068,y:.46530228011432895},{x:.0643004966052513,y:.46136236601319713},{x:.0644075135916399,y:.46119034135699993},{x:.06448061074086608,y:.46100139182805006},{x:.06673642807197144,y:.45744672339211917},{x:.06896028828319853,y:.453871975109843},{x:.06909880931377366,y:.45372413383751425},{x:.06920736414622189,y:.4535530754671619},{x:.07211331798967527,y:.4505067971180214},{x:.07499184614403663,y:.4474345902263458},{x:.07515654793327702,y:.4473166137950705},{x:.07529638874761438,y:.44717002026055797},{x:.1386943887476144,y:.392590020260558},{x:.14135607757337018,y:.39071931904916735},{x:.1439175788350931,y:.3887136217356019},{x:.14495796828078528,y:.38818782053421796},{x:.14591168674437638,y:.38751752344016943},{x:.1488871876674173,y:.38620203695812855},{x:.15179076253542007,y:.38473460266203335},{x:.15291373991533655,y:.3844218744952798},{x:.15397990142199966,y:.3839505182141148},{x:.15715486761053352,y:.383240799869195},{x:.1602889333309822,y:.3823680212676226},{x:.4030282434963717,y:.3398437611206276},{x:.46657219784598525,y:.30072914754350266},{x:.487912612564808,y:.23949853636308405},{x:.45628203537627,y:.13174508671722343},{x:.35793695341674575,y:.08407681754539842},{x:.21775140382412592,y:.0880110894972649},{x:.15207256592030022,y:.12474460286217379},{x:.10828216331322851,y:.2273324289793991},{x:.10404037125679308,y:.23506720851839558},{x:.09837110341432329,y:.2418258338591919},{x:.09149222656964323,y:.24734857482022213},{x:.08366809210217534,y:.25142319556354265},{x:.07519937711167927,y:.2538931106990613},{x:.06641152956592972,y:.2546634027732644},{x:.05764226151782814,y:.2537044698937252},{x:.04922857102060091,y:.2510531633132285},{x:.04149379148160447,y:.24681137125679312},{x:.034735166140808106,y:.24114210341432332},{x:.029212425179777887,y:.23426322656964324},{x:.025137804436457384,y:.22643909210217536},{x:.022667889300938757,y:.21797037711167933},{x:.021897597226735628,y:.20918252956592975}]],T:[[{x:-.022050999999999998,y:.729004},{x:-.021186337618145364,y:.7202249355092742},{x:-.018625578963007903,y:.711783245543571},{x:-.01446713255361454,y:.7040033395141179},{x:-.008870805153394636,y:.6971841948466053},{x:-.002051660485882085,y:.6915878674463855},{x:.005728245543570962,y:.6874294210369921},{x:.014169935509274232,y:.6848686623818546},{x:.022949,y:.684004},{x:.264284,y:.684004},{x:.264284,y:.05103000000000002},{x:.26514866238185464,y:.04225093550927423},{x:.2677094210369921,y:.03380924554357098},{x:.27186786744638547,y:.026029339514117924},{x:.27746419484660534,y:.019210194846605383},{x:.28428333951411794,y:.013613867446385479},{x:.292063245543571,y:.009455421036992116},{x:.30050493550927426,y:.006894662381854655},{x:.309284,y:.0060300000000000215},{x:.3180630644907258,y:.006894662381854655},{x:.32650475445642907,y:.009455421036992116},{x:.3342846604858821,y:.013613867446385486},{x:.34110380515339467,y:.019210194846605383},{x:.34670013255361454,y:.026029339514117924},{x:.3508585789630079,y:.03380924554357098},{x:.35341933761814537,y:.04225093550927425},{x:.354284,y:.05103000000000002},{x:.354284,y:.684004},{x:.579103,y:.684004},{x:.5878820644907258,y:.6848686623818546},{x:.596323754456429,y:.6874294210369921},{x:.6041036604858822,y:.6915878674463855},{x:.6109228051533947,y:.6971841948466053},{x:.6165191325536146,y:.7040033395141179},{x:.6206775789630079,y:.711783245543571},{x:.6232383376181454,y:.7202249355092742},{x:.6241030000000001,y:.729004},{x:.6232383376181454,y:.7377830644907257},{x:.6206775789630079,y:.746224754456429},{x:.6165191325536146,y:.7540046604858821},{x:.6109228051533947,y:.7608238051533946},{x:.6041036604858822,y:.7664201325536145},{x:.596323754456429,y:.7705785789630079},{x:.5878820644907258,y:.7731393376181454},{x:.579103,y:.774004},{x:.022949,y:.774004},{x:.014169935509274211,y:.7731393376181454},{x:.005728245543570935,y:.7705785789630079},{x:-.0020516604858820953,y:.7664201325536145},{x:-.008870805153394643,y:.7608238051533946},{x:-.01446713255361454,y:.7540046604858821},{x:-.018625578963007903,y:.746224754456429},{x:-.021186337618145364,y:.7377830644907257},{x:-.022050999999999998,y:.729004}]],U:[[{x:.027022176378557076,y:.7288780077818786},{x:.02808017637855708,y:.35099900778187865},{x:.02823473618726791,y:.3494735334648019},{x:.028192796744230073,y:.34794082288884604},{x:.035484796744230065,y:.24514582288884607},{x:.03612518708694976,y:.24139252668431194},{x:.03666424897987138,y:.2376233431565944},{x:.055316248979871384,y:.16148034315659432},{x:.05618736340037885,y:.15900518320818077},{x:.05685851158014249,y:.15646848905542057},{x:.057648252259250334,y:.15485425480263812},{x:.058244846291224776,y:.15315910934454152},{x:.0595821022437829,y:.15090145489330362},{x:.06073523897858293,y:.14854443712190207},{x:.09649723897858292,y:.0906284371219021},{x:.09834293286415725,y:.08820732921922435},{x:.10003759110096133,y:.08567820232322114},{x:.10101147458130413,y:.08470684222595504},{x:.10184538199049184,y:.08361295562088691},{x:.10412794610596264,y:.08159844564215248},{x:.10628345014049506,y:.07944852663140606},{x:.15306845014049508,y:.041154526631406},{x:.15518086878702558,y:.03974701384514513},{x:.15716842451696925,y:.03816808161035298},{x:.15884280372557036,y:.03730705230772802},{x:.16040964618671547,y:.03626305906247794},{x:.1627560674239954,y:.03529470367371844},{x:.16501346722603244,y:.034133863066459845},{x:.23490646722603245,y:.006476863066459913},{x:.23625924682734178,y:.006089880823813601},{x:.23754823013535448,y:.005525708919597472},{x:.24049103862888763,y:.004879315347967098},{x:.24338780663402787,y:.004050652809021178},{x:.24479008944495417,y:.003935020529692536},{x:.24616436977860445,y:.0036331571990539033},{x:.3343553697786044,y:-.006825842800946093},{x:.3363658265006992,y:-.006865793301669296},{x:.3383604992721398,y:-.007120376900508131},{x:.34076517153289726,y:-.0069532142518240045},{x:.3431751712391958,y:-.00700110421331946},{x:.3451547915551648,y:-.0066480664270605625},{x:.3471608040448924,y:-.0065086169201366215},{x:.4090588040448924,y:.003962383079863387},{x:.4119620232343868,y:.004752615784895447},{x:.4149089852784979,y:.005359710588792872},{x:.4162090298953196,y:.005908616535408058},{x:.4175706649775032,y:.0062792425557079215},{x:.42026393287145114,y:.0076206811274584655},{x:.4230358315454356,y:.008791034549085273},{x:.4738028315454356,y:.03637303454908527},{x:.4760785863358737,y:.0379161826666043},{x:.4784624107710392,y:.03928649177082543},{x:.47972093897980134,y:.04038599604431689},{x:.48110410464379305,y:.04132389563682743},{x:.48303507818089647,y:.043281370330868374},{x:.4851057640535682,y:.045090410406577325},{x:.5154867640535682,y:.07740541040657731},{x:.5155903820373309,y:.07753992155387555},{x:.5157174079857786,y:.07765259073212467},{x:.5182811318880063,y:.08103290449336144},{x:.5208701788099869,y:.08439386230433626},{x:.5209455639802052,y:.08454600372347547},{x:.521048168494406,y:.08468128952824439},{x:.5340921684944061,y:.10592328952824437},{x:.5341054861393935,y:.10595068243490303},{x:.5341238592672674,y:.10597497562685786},{x:.5360339092314592,y:.10991723311331511},{x:.5379492688231333,y:.11385691363208547},{x:.5379569864823256,y:.11388637833537296},{x:.5379702672090579,y:.11391378915988949},{x:.557924267209058,y:.16807278915988946},{x:.5580810067186996,y:.16867450001810444},{x:.5583366124011981,y:.1692413235937006},{x:.5591915686944892,y:.17293786157308777},{x:.5601479818122073,y:.1766094575809222},{x:.5601843216510317,y:.17723018509512725},{x:.5603244341481242,y:.17783598350956487},{x:.5696394341481241,y:.2495799835095649},{x:.569721927352796,y:.25224539988339456},{x:.5700114646960025,y:.2548963275892337},{x:.5750284646960026,y:.7275053275892338},{x:.5742570402937379,y:.7362930758081182},{x:.5717860339652341,y:.7447614724740409},{x:.5677104050979391,y:.752585081852262},{x:.5621867778235843,y:.7594632470219072},{x:.5554274220406369,y:.7651316439528263},{x:.5476920960011455,y:.7693724393298378},{x:.5392780639467868,y:.7720226617648687},{x:.5305086724107663,y:.7729804646960026},{x:.5217209241918819,y:.7722090402937379},{x:.5132525275259592,y:.7697380339652341},{x:.505428918147738,y:.7656624050979391},{x:.4985507529780929,y:.7601387778235843},{x:.49288235604717384,y:.753379422040637},{x:.48864156067016223,y:.7456440960011456},{x:.48599133823513135,y:.7372300639467868},{x:.4850335353039975,y:.7284606724107663},{x:.48004487037154997,y:.258520878697574},{x:.4717248917269394,y:.19444051929027983},{x:.4550625667192203,y:.14921575933773623},{x:.4467624246683876,y:.135699076001046},{x:.42448554918380393,y:.11200409455592171},{x:.3866565267646711,y:.09145137140181527},{x:.33852910612300163,y:.08330987698295},{x:.2625775703514966,y:.09231733933890664},{x:.20464797458906397,y:.11524036210229632},{x:.16911733402594603,y:.14432255403825953},{x:.14104265103985364,y:.1897890642955865},{x:.12498883901236212,y:.25532548983758135},{x:.11807553704626646,y:.35278200048003916},{x:.11702182362144292,y:.7291299922181214},{x:.11613258476624799,y:.737906601393955},{x:.11354820087598706,y:.7463410885908555},{x:.10936798837422372,y:.7541093211959605},{x:.10375259048311052,y:.7609127703867312},{x:.09691780379445152,y:.7664899834261845},{x:.0891262853276994,y:.770626631144951},{x:.08067745876799748,y:.7731637444910576},{x:.07189600778187862,y:.7740038236214429},{x:.06311939860604492,y:.773114584766248},{x:.05468491140914452,y:.770530200875987},{x:.04691667880403945,y:.7663499883742237},{x:.04011322961326877,y:.7607345904831105},{x:.03453601657381558,y:.7538998037944515},{x:.030399368855048972,y:.7461082853276993},{x:.027862255508942363,y:.7376594587679974},{x:.027022176378557076,y:.7288780077818786}]],V:[[{x:-.017163400590915968,y:.72836062945125},{x:-.016173311217885875,y:.7195948244454146},{x:-.01349212241321528,y:.7111906087794154},{x:.27875887758678475,y:.033216608779415485},{x:.2789749302503264,y:.03282594254600198},{x:.27911899522766415,y:.032403397706182537},{x:.2811076886540147,y:.028969490703698003},{x:.2830281292409603,y:.025496951748158487},{x:.28331624571443165,y:.0251559418405784},{x:.28353997693249255,y:.024769621764193565},{x:.2861603801951793,y:.021789671162821947},{x:.2887213787977949,y:.018758515442121357},{x:.2890704869266977,y:.018480266679882864},{x:.2893652865202418,y:.018145017430816868},{x:.2925166989914198,y:.015733541060992128},{x:.2956198378696305,y:.013260254189586457},{x:.29601652162435305,y:.013055459516578674},{x:.296371060610326,y:.012784164535463174},{x:.29993237527606087,y:.011033834081706148},{x:.30345840254303674,y:.009213463087028258},{x:.303887417589348,y:.00908999264768462},{x:.3042880712333465,y:.00889307764850001},{x:.3081224287682413,y:.00787115732855266},{x:.3119358411735324,y:.006773658047051503},{x:.31238070070379703,y:.0067362567411129665},{x:.3128120721109714,y:.0066212890568466964},{x:.3167721203052928,y:.006367050695504971},{x:.32072637054875,y:.006034599409084053},{x:.3211699788607,y:.006084704547762943},{x:.3216154906697884,y:.006056102322046737},{x:.325549047092249,y:.006579316156958459},{x:.3294921755545854,y:.0070246887821141385},{x:.32991748502957097,y:.007160374853030322},{x:.330360016471596,y:.007219237253358143},{x:.3341159167548444,y:.008499796470269213},{x:.33789639122058457,y:.00970587758678474},{x:.33828705745399834,y:.009921930250326543},{x:.33870960229381747,y:.01006599522766418},{x:.3421435092963017,y:.012054688654014527},{x:.34561604825184156,y:.013975129240960359},{x:.3459570581594215,y:.014263245714431577},{x:.34634337823580646,y:.014486976932492547},{x:.34932332883717915,y:.01710738019518028},{x:.35235448455787866,y:.01966837879779494},{x:.3526327333201171,y:.020017486926697612},{x:.35296798256918316,y:.020312286520241793},{x:.3553794589390082,y:.023463698991420194},{x:.3578527458104136,y:.026566837869630475},{x:.3580575404834214,y:.026963521624353053},{x:.35832883546453687,y:.02731806061032596},{x:.3600791659182934,y:.03087937527605991},{x:.3618995369129718,y:.03440540254303673},{x:.3620230073523154,y:.034834417589348},{x:.3622199223515,y:.0352350712333465},{x:.6163569223515,y:.7132090712333464},{x:.6186287109431533,y:.7217330721109714},{x:.6191938976779532,y:.7305364906697883},{x:.6180307627466418,y:.7392810164715959},{x:.6151840047723358,y:.7476306022938175},{x:.6107630230675074,y:.7552643782358064},{x:.6049377134797582,y:.7618889825691831},{x:.597931939389674,y:.7672498354645368},{x:.5900149287666535,y:.7711409223515},{x:.5814909278890286,y:.7734127109431533},{x:.5726875093302116,y:.7739778976779532},{x:.5639429835284039,y:.7728147627466418},{x:.5555933977061824,y:.7699680047723358},{x:.5479596217641935,y:.7655470230675074},{x:.5413350174308168,y:.7597217134797583},{x:.5359741645354631,y:.7527159393896741},{x:.5320830776484999,y:.7447989287666535},{x:.3171703309688009,y:.17146543337864517},{x:.06915612241321528,y:.7468173912205845},{x:.06488687075903964,y:.7545370482518415},{x:.059193621202205074,y:.7612754845578786},{x:.05229516213036956,y:.7667737458104136},{x:.04445659745696326,y:.7708205369129717},{x:.0359791588264676,y:.7732603419529485},{x:.027188629451250054,y:.773999400590916},{x:.01842282444541461,y:.7730093112178859},{x:.010018608779415478,y:.7703281224132152},{x:.0022989517481584835,y:.7660588707590397},{x:-.004439484557878664,y:.7603656212022051},{x:-.009937745810413578,y:.7534671621303695},{x:-.013984536912971763,y:.7456285974569633},{x:-.016424341952948517,y:.7371511588264675},{x:-.017163400590915968,y:.72836062945125}]],W:[[{x:-.04486424190193638,y:.7324968210037928},{x:-.04468360364824366,y:.7236771280279449},{x:.03511539635175633,y:.05429612802794491},{x:.03538914303981033,y:.053053468981350556},{x:.035486899606724354,y:.05178477579191172},{x:.03633616861564037,y:.04875449496443272},{x:.037013200434797444,y:.04568114375463893},{x:.03752411791055629,y:.04451576738270255},{x:.03786750587531561,y:.043290523137271594},{x:.039291634880795206,y:.040484152470619886},{x:.040555238800576446,y:.03760193719815913},{x:.041283692791972554,y:.036558628261303676},{x:.041859515947665654,y:.035423918409107566},{x:.04380377647068911,y:.032949305154171604},{x:.045605392901094464,y:.030368987735599786},{x:.046523389329760155,y:.02948784001117424},{x:.047309519115439125,y:.028487270815480248},{x:.049699194314460494,y:.02643951297186818},{x:.05196958814642765,y:.024260253558522238},{x:.05304184892442764,y:.02357512905942291},{x:.054008074813295476,y:.022747151833295932},{x:.056751330810561565,y:.021204943586542027},{x:.059403252082379655,y:.019510489895534},{x:.060588570829346225,y:.019047717572039012},{x:.06169776130235942,y:.01842415101594414},{x:.06468917630833097,y:.01744675856409077},{x:.06762071317273859,y:.01630222750050557},{x:.06887353875396018,y:.016079591433481148},{x:.07008306824328207,y:.01568439886046892},{x:.07320768385688461,y:.015309382847312772},{x:.07630617899620724,y:.014758758098063603},{x:.07757836602719018,y:.014784814066709744},{x:.07884175299285809,y:.014633182505734484},{x:.08197949198836539,y:.014874954586349768},{x:.08512587197205507,y:.014939396351756326},{x:.08636853101864941,y:.015213143039810315},{x:.08763722420808827,y:.015310899606724347},{x:.09066750503556728,y:.016160168615640357},{x:.09374085624536103,y:.01683720043479743},{x:.09490623261729739,y:.017348117910556266},{x:.09613147686272838,y:.017691505875315594},{x:.09893784752938008,y:.01911563488079519},{x:.10182006280184085,y:.020379238800576432},{x:.10286337173869634,y:.02110769279197256},{x:.1039980815908924,y:.02168351594766564},{x:.10647269484582828,y:.023627776470689026},{x:.1090530122644002,y:.025429392901094458},{x:.10993415998882576,y:.026347389329760156},{x:.11093472918451973,y:.02713351911543911},{x:.11298248702813177,y:.02952319431446044},{x:.11516174644147774,y:.03179358814642764},{x:.11584687094057705,y:.032865848924427614},{x:.11667484816670405,y:.03383207481329547},{x:.118217056413458,y:.03657533081056164},{x:.11991151010446596,y:.039227252082379635},{x:.12037428242796094,y:.040412570829346184},{x:.12099784898405583,y:.041521761302359406},{x:.2862381791186236,y:.4176126753554925},{x:.4644074439049092,y:.03214939722735514},{x:.46457066699968924,y:.031871550040082325},{x:.46468087848244366,y:.03156873942729889},{x:.4668033610072479,y:.028070937443703255},{x:.4688757411162635,y:.024543219843286366},{x:.46909003322228215,y:.024302554657928657},{x:.4692572024422568,y:.02402706365982141},{x:.47202128937582516,y:.021010546759784428},{x:.47474207284479647,y:.017954914566682648},{x:.47499919883659564,y:.017760680011347015},{x:.4752169015744166,y:.01752309559247584},{x:.47851637060601154,y:.015103786828781735},{x:.4817809992520572,y:.012637666274559728},{x:.4820710779219699,y:.012497326674279732},{x:.48233094798351184,y:.012306779070622963},{x:.4860390023686124,y:.010577651122297159},{x:.4897220183436901,y:.008795813836836655},{x:.4900339021311097,y:.008714762363747632},{x:.4903259528556443,y:.008578574212853553},{x:.49430009414373083,y:.007606076497244536},{x:.4982599612093785,y:.006576997488159493},{x:.4985816645952609,y:.006558348904918078},{x:.4988946726372282,y:.006481753841050326},{x:.5029821768073245,y:.006303258899985619},{x:.5070667194929276,y:.00606648509648134},{x:.5073858795965667,y:.006110956057683261},{x:.5077078162324508,y:.006096897586191266},{x:.5117516027915979,y:.006719264880154805},{x:.5158038544123874,y:.0072838953667157535},{x:.5161082060899873,y:.007389776878261636},{x:.5164266994754154,y:.007438795258320738},{x:.5202713679739276,y:.008838107561233023},{x:.5241356027726449,y:.01018244390490916},{x:.524413449959918,y:.010345666999689355},{x:.5247162605727012,y:.010455878482443691},{x:.5282140625562944,y:.012578361007246536},{x:.5317417801567137,y:.014650741116263542},{x:.5319824453420714,y:.01486503322228222},{x:.5322579363401786,y:.01503220244225683},{x:.535274453240215,y:.01779628937582467},{x:.5383300854333174,y:.020517072844796484},{x:.5385243199886531,y:.020774198836595797},{x:.5387619044075241,y:.0209919015744166},{x:.5411812131712181,y:.024291370606011366},{x:.5436473337254403,y:.027555999252057217},{x:.5437876733257202,y:.027846077921969747},{x:.5439782209293771,y:.028105947983511865},{x:.5457073488777034,y:.03181400236861376},{x:.5474891861631633,y:.0354970183436901},{x:.5475702376362523,y:.03580890213110964},{x:.5477064257871465,y:.03610095285564429},{x:.548678923502756,y:.040075094143733274},{x:.5497080025118405,y:.04403496120937851},{x:.5497266510950819,y:.04435666459526063},{x:.5498032461589497,y:.04466967263722821},{x:.6466002461589497,y:.7226436726372282},{x:.6469851024138088,y:.7314568162324507},{x:.6456432047416794,y:.7401756994754154},{x:.6426261215175564,y:.7484652605727011},{x:.6380497975577433,y:.7560069363401786},{x:.6320900984255835,y:.7625109044075241},{x:.6249760520164882,y:.7677272209293771},{x:.6169810471443558,y:.7714554257871464},{x:.6084123273627718,y:.7735522461589497},{x:.5995991837675493,y:.7739371024138088},{x:.5908803005245846,y:.7725952047416793},{x:.5825907394272989,y:.7695781215175563},{x:.5750490636598214,y:.7650017975577432},{x:.5685450955924759,y:.7590420984255835},{x:.563328779070623,y:.7519280520164882},{x:.5596005742128536,y:.7439330471443557},{x:.5575037538410503,y:.7353643273627718},{x:.4822251865940539,y:.2081071670095049},{x:.3260455560950909,y:.5459966027726448},{x:.3245096626856286,y:.5486110836728201},{x:.32313748405233433,y:.5513150815908924},{x:.32228015650766817,y:.5524062697730983},{x:.32157725888373645,y:.5536027801567136},{x:.3195608173147473,y:.5558673865996665},{x:.3176874808845609,y:.5582517291845196},{x:.31663374639442166,y:.5591546941850146},{x:.31571092715520355,y:.5601910854333173},{x:.3132914281453504,y:.5620187898634509},{x:.3109889251867045,y:.563991848166704},{x:.30977927817660644,y:.5646718895469083},{x:.3086720007479428,y:.5655083337254402},{x:.3059424242873038,y:.566828898486493},{x:.3032992386976406,y:.5683148489840557},{x:.30198016522380455,y:.5687458331350992},{x:.3007309816563099,y:.5693501861631632},{x:.29779622383750376,y:.570112862691949},{x:.29491393175671793,y:.571054601139531},{x:.29353612307299787,y:.5712199655821879},{x:.29219303879062153,y:.5715690025118404},{x:.28916588071079274,y:.5717444815770724},{x:.2861552470071419,y:.5721058174942654},{x:.2847716515285703,y:.5719992073657418},{x:.2833862805070725,y:.5720795149035186},{x:.28038305415357795,y:.5716610529431293},{x:.27735977579191173,y:.5714281003932755},{x:.27602356431680025,y:.5710536126610233},{x:.27464914558761266,y:.5708621046332842},{x:.27178526326499086,y:.5698657829057354},{x:.26886552313727163,y:.5690474941246844},{x:.26762804552325165,y:.5684195201422382},{x:.26631739722735515,y:.5679635560950907},{x:.26370291632718046,y:.5664276626856288},{x:.2609989184091076,y:.5650554840523343},{x:.25990773022690183,y:.5641981565076682},{x:.2587112198432863,y:.5634952588837364},{x:.25644661340033337,y:.5614788173147471},{x:.2540622708154803,y:.5596054808845607},{x:.2531593058149851,y:.5585517463944213},{x:.2521229145666826,y:.5576289271552034},{x:.2502952101365493,y:.5552094281453507},{x:.24832215183329598,y:.5529069251867045},{x:.2476421104530918,y:.5516972781766065},{x:.24680566627455972,y:.5505900007479427},{x:.245485101513507,y:.5478604242873037},{x:.24399915101594416,y:.5452172386976405},{x:.10495542809967917,y:.22875042455884986},{x:.04468360364824366,y:.734330871972055},{x:.04278579956520255,y:.742945856245361},{x:.03924376119942353,y:.7510250628018409},{x:.034193607098905524,y:.7582580122644001},{x:.02782941185357234,y:.7643667464414777},{x:.020395747917620333,y:.7691165101044659},{x:.012178286827261426,y:.7723247724994944},{x:.003492821003792758,y:.7738682419019364},{x:-.00532687197205508,y:.7736876036482436},{x:-.013941856245361059,y:.7717897995652026},{x:-.022021062801840872,y:.7682477611994235},{x:-.029254012264400202,y:.7631976070989055},{x:-.035362746441477744,y:.7568334118535723},{x:-.04011251010446598,y:.7493997479176203},{x:-.04332077249949441,y:.7411822868272614},{x:-.04486424190193638,y:.7324968210037928}]],X:[[{x:-.03582341524240513,y:.7325834270170574},{x:-.035659804156077404,y:.7237634017461555},{x:-.03377863524060577,y:.7151447697271875},{x:-.030252200762440104,y:.7070587401552579},{x:-.02521601962092907,y:.6998160546121182},{x:.24190189785100796,y:.3863717955888736},{x:-.0190039697420246,y:.08021800391719859},{x:-.024040163260448045,y:.07297532698032597},{x:-.027566611556706647,y:.06488930343468059},{x:-.029447795200430175,y:.056270674630427356},{x:-.029611421359170286,y:.047450649639130975},{x:-.028051201971409197,y:.03876817707487998},{x:-.024827095393237467,y:.030556919489131844},{x:-.02006300223235442,y:.02313243090598055},{x:-.013942003917198569,y:.016780030257975413},{x:-.006699326980325947,y:.011743836739551976},{x:.0013866965653194212,y:.00821738844329338},{x:.010005325369572668,y:.006336204799569846},{x:.018825350360869044,y:.0061725786408297345},{x:.02750782292512003,y:.007732798028590823},{x:.03571908051086817,y:.010956904606762553},{x:.04314356909401947,y:.0157209977676456},{x:.049495969742024595,y:.021841996082801452},{x:.3010259353438819,y:.31699385831754345},{x:.5525549803790709,y:.021842054612118165},{x:.558907370566982,y:.01572104544144637},{x:.5663318510088331,y:.010956939592969957},{x:.5745431030849405,y:.007732818982704524},{x:.5832255729829426,y:.006172584757594898},{x:.5920455982538445,y:.006336195843922615},{x:.6006642302728125,y:.008217364759394247},{x:.6087502598447422,y:.011743799237559922},{x:.6159929453878819,y:.016779980379070948},{x:.6221139545585537,y:.023132370566981995},{x:.6268780604070301,y:.03055685100883309},{x:.6301021810172955,y:.0387681030849405},{x:.6316624152424052,y:.04745057298294264},{x:.6314988041560774,y:.05627059825384449},{x:.6296176352406058,y:.06488923027281246},{x:.6260912007624402,y:.07297525984474214},{x:.6210550196209291,y:.08021794538788188},{x:.36015009139561527,y:.3863716945525663},{x:.6272689697420246,y:.6998159960828014},{x:.632305163260448,y:.7070586730196741},{x:.6358316115567066,y:.7151446965653194},{x:.6377127952004301,y:.7237633253695727},{x:.6378764213591702,y:.7325833503608691},{x:.6363162019714091,y:.74126582292512},{x:.6330920953932374,y:.7494770805108681},{x:.6283280022323544,y:.7569015690940195},{x:.6222070039171985,y:.7632539697420246},{x:.6149643269803259,y:.7682901632604481},{x:.6068783034346805,y:.7718166115567067},{x:.5982596746304273,y:.7736977952004301},{x:.5894396496391309,y:.7738614213591702},{x:.58075717707488,y:.7723012019714092},{x:.5725459194891318,y:.7690770953932374},{x:.5651214309059804,y:.7643130022323544},{x:.5587690302579753,y:.7581920039171985},{x:.30102605390274134,y:.4557496318238965},{x:.04328401962092907,y:.7581919453878818},{x:.03693162943301802,y:.7643129545585536},{x:.029507148991166913,y:.76907706040703},{x:.021295896915059523,y:.7723011810172955},{x:.012613427017057378,y:.7738614152424051},{x:.003793401746155514,y:.7736978041560774},{x:-.004825230272812429,y:.7718166352406057},{x:-.012911259844742107,y:.7682902007624401},{x:-.02015394538788185,y:.7632540196209291},{x:-.02627495455855365,y:.756901629433018},{x:-.031039060407030063,y:.7494771489911669},{x:-.034263181017295495,y:.7412658969150595},{x:-.03582341524240513,y:.7325834270170574}]],Y:[[{x:-.02688005049839745,y:.731186349993587},{x:-.02644216088936969,y:.7223756821949907},{x:-.024293809188388457,y:.7138197369324374},{x:-.020517555346512936,y:.7058473143841377},{x:-.015258518681138845,y:.6987647902776368},{x:.25043465103960333,y:.4059541390643743},{x:.26029423204414154,y:.04978477430584237},{x:.26140149479875585,y:.04103299828270508},{x:.26419486861258723,y:.03266540142918031},{x:.26856700569651215,y:.025003545799746604},{x:.27434988727431814,y:.01834187220942495},{x:.28132128045004745,y:.012936385038381841},{x:.28921327849355916,y:.008994814127168342},{x:.2977225963459245,y:.006668631835443931},{x:.30652222569415766,y:.00604723204414153},{x:.3152740017172949,y:.007154494798755871},{x:.32364159857081976,y:.009947868612587236},{x:.3313034542002534,y:.014320005696512164},{x:.3379651277905751,y:.020102887274318144},{x:.3433706149616182,y:.027074280450047443},{x:.3473121858728317,y:.03496627849355913},{x:.3496383681645561,y:.04347559634592452},{x:.3502597679558585,y:.05227522569415767},{x:.34045421751128274,y:.4064927803087797},{x:.6166036868780955,y:.6970396048261934},{x:.6220250193382449,y:.7039986829780357},{x:.6259845336177533,y:.7118816938899454},{x:.6283300678033804,y:.7203856978734211},{x:.6289714843317633,y:.7291838908244783},{x:.6278841339254269,y:.7379381631220915},{x:.6251098028506934,y:.7463120929913156},{x:.620755107094902,y:.7539838750034306},{x:.6149873951738065,y:.7606586868780956},{x:.6080283170219642,y:.7660800193382449},{x:.6001453061100546,y:.7700395336177532},{x:.5916413021265788,y:.7723850678033803},{x:.5828431091755216,y:.7730264843317632},{x:.5740888368779085,y:.7719391339254268},{x:.5657149070086843,y:.7691648028506933},{x:.5580431249965694,y:.7648101070949019},{x:.5513683131219045,y:.7590423951738065},{x:.29567976193894085,y:.4900232412279098},{x:.051392518681138845,y:.7592432097223631},{x:.04485280102201476,y:.765163657957578},{x:.03728372005126494,y:.7696945108160528},{x:.028976151305805796,y:.7726616501633681},{x:.02024934999358704,y:.7739510504983974},{x:.011438682194990706,y:.7735131608893697},{x:.002882736932437466,y:.7713648091883885},{x:-.0050896856158622154,y:.7675885553465129},{x:-.012172209722363214,y:.7623295186811389},{x:-.01809265795757798,y:.7557898010220148},{x:-.022623510816052815,y:.7482207200512649},{x:-.025590650163368103,y:.7399131513058058},{x:-.02688005049839745,y:.731186349993587}]],Z:[[{x:.008711000000000003,y:.05103000000000002},{x:.00905278632815029,y:.04755978517413498},{x:.009251179439517476,y:.04407842782316871},{x:.009484424544736794,y:.043177288815328604},{x:.009575662381854637,y:.04225093550927423},{x:.01058788670939069,y:.038914079093048184},{x:.01146164687940622,y:.0355383196233794},{x:.011866213744552238,y:.0346999996115786},{x:.012136421036992098,y:.03380924554357098},{x:.013780184150668652,y:.030733981057728944},{x:.015295733266009179,y:.0275935480126292},{x:.015856074613338045,y:.026850263164785913},{x:.01629486744638546,y:.026029339514117927},{x:.01850700045157689,y:.023333847648222647},{x:.020606096809669634,y:.02054942610843994},{x:.02130067903544657,y:.01992974044441782},{x:.021891194846605365,y:.019210194846605383},{x:.024586686712500538,y:.016998061841414044},{x:.027188663217490867,y:.014676655565200585},{x:.02799079391630549,y:.014204383257544266},{x:.028710339514117916,y:.013613867446385479},{x:.03178560399995988,y:.01197010433270896},{x:.03479046815396611,y:.010200923661400137},{x:.035669321892902964,y:.00989421387003954},{x:.036490245543570964,y:.009455421036992116},{x:.03982710195979704,y:.008443196709456058},{x:.04311937851852794,y:.007294230264082269},{x:.04404118144126662,y:.007164869674294513},{x:.04493193550927423,y:.006894662381854655},{x:.048402150335139275,y:.006552876053704368},{x:.05185531895677298,y:.006068277970413476},{x:.052784646693945655,y:.006121237837117864},{x:.053711,y:.0060300000000000215},{x:.548341,y:.0060300000000000215},{x:.5571200644907257,y:.006894662381854655},{x:.565561754456429,y:.009455421036992116},{x:.5733416604858821,y:.013613867446385479},{x:.5801608051533946,y:.019210194846605383},{x:.5857571325536145,y:.026029339514117927},{x:.5899155789630078,y:.03380924554357098},{x:.5924763376181453,y:.04225093550927425},{x:.593341,y:.05103000000000002},{x:.5924763376181453,y:.05980906449072579},{x:.5899155789630078,y:.06825075445642906},{x:.5857571325536145,y:.07603066048588211},{x:.5801608051533946,y:.08284980515339466},{x:.5733416604858821,y:.08844613255361455},{x:.565561754456429,y:.09260457896300792},{x:.5571200644907257,y:.09516533761814538},{x:.548341,y:.09603000000000002},{x:.14224494935878249,y:.09603000000000002},{x:.5846943444347994,y:.7024816632174908},{x:.5851666167424556,y:.7032837939163054},{x:.5857571325536145,y:.7040033395141179},{x:.5874008956672913,y:.7070786039999603},{x:.5891700763385999,y:.7100834681539662},{x:.5894767861299605,y:.7109623218929031},{x:.5899155789630078,y:.711783245543571},{x:.5909278032905438,y:.7151201019597967},{x:.5920767697359177,y:.7184123785185279},{x:.5922061303257055,y:.7193341814412667},{x:.5924763376181453,y:.7202249355092742},{x:.5928181239462956,y:.7236951503351391},{x:.5933027220295866,y:.7271483189567729},{x:.5932497621628822,y:.7280776466939456},{x:.593341,y:.729004},{x:.5929992136718496,y:.7324742148258655},{x:.5928008205604824,y:.7359555721768313},{x:.5925675754552632,y:.7368567111846711},{x:.5924763376181453,y:.7377830644907257},{x:.5914641132906093,y:.7411199209069517},{x:.5905903531205937,y:.7444956803766206},{x:.5901857862554476,y:.7453340003884216},{x:.5899155789630078,y:.746224754456429},{x:.5882718158493319,y:.74930001894227},{x:.5867562667339908,y:.7524404519873709},{x:.5861959253866618,y:.7531837368352144},{x:.5857571325536145,y:.7540046604858821},{x:.5835449995484229,y:.7567001523517777},{x:.5814459031903303,y:.7594845738915601},{x:.5807513209645536,y:.760104259555582},{x:.5801608051533946,y:.7608238051533946},{x:.5774653132874991,y:.7630359381585863},{x:.5748633367825091,y:.7653573444347994},{x:.5740612060836946,y:.7658296167424556},{x:.5733416604858821,y:.7664201325536145},{x:.5702663960000408,y:.7680638956672906},{x:.5672615318460339,y:.7698330763385999},{x:.5663826781070966,y:.7701397861299606},{x:.565561754456429,y:.7705785789630079},{x:.5622248980402041,y:.7715908032905435},{x:.558932621481472,y:.7727397697359177},{x:.5580108185587332,y:.7728691303257055},{x:.5571200644907257,y:.7731393376181454},{x:.553649849664861,y:.7734811239462956},{x:.5501966810432269,y:.7739657220295866},{x:.5492673533060543,y:.7739127621628822},{x:.548341,y:.774004},{x:.053711,y:.774004},{x:.04493193550927421,y:.7731393376181454},{x:.036490245543570936,y:.7705785789630079},{x:.028710339514117906,y:.7664201325536145},{x:.021891194846605358,y:.7608238051533946},{x:.01629486744638546,y:.7540046604858821},{x:.012136421036992098,y:.746224754456429},{x:.009575662381854637,y:.7377830644907257},{x:.008711000000000003,y:.729004},{x:.009575662381854637,y:.7202249355092742},{x:.012136421036992098,y:.711783245543571},{x:.01629486744638546,y:.7040033395141179},{x:.021891194846605365,y:.6971841948466053},{x:.028710339514117916,y:.6915878674463855},{x:.036490245543570964,y:.6874294210369921},{x:.04493193550927423,y:.6848686623818546},{x:.053711,y:.684004},{x:.4598070506412174,y:.684004},{x:.017357655565200567,y:.07755233678250915},{x:.016885383257544267,y:.07675020608369457},{x:.01629486744638546,y:.07603066048588211},{x:.014651104332708876,y:.07295539600004002},{x:.012881923661400112,y:.06995053184603389},{x:.012575213870039523,y:.06907167810709706},{x:.012136421036992098,y:.06825075445642906},{x:.011124196709456038,y:.06491389804020298},{x:.00997523026408225,y:.06162162148147208},{x:.009845869674294495,y:.0606998185587334},{x:.009575662381854637,y:.05980906449072579},{x:.009233876053704348,y:.056338849664860746},{x:.008749277970413458,y:.05288568104322705},{x:.008802237837117845,y:.05195635330605437},{x:.008711000000000003,y:.05103000000000002}]],"[":[[{x:.152511,y:-.06942399999999993},{x:.15337566238185463,y:-.0782030644907257},{x:.1559364210369921,y:-.08664475445642897},{x:.16009486744638546,y:-.09442466048588202},{x:.16569119484660536,y:-.10124380515339457},{x:.1725103395141179,y:-.10684013255361446},{x:.18029024554357093,y:-.11099857896300783},{x:.1887319355092742,y:-.1135593376181453},{x:.197511,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.4486773376181454,y:-.06064493550927416},{x:.44611657896300794,y:-.05220324554357089},{x:.44195813255361455,y:-.04442333951411784},{x:.4363618051533946,y:-.03760419484660529},{x:.42954266048588213,y:-.032007867446385396},{x:.4217627544564291,y:-.027849421036992027},{x:.4133210644907258,y:-.025288662381854565},{x:.404542,y:-.024423999999999932},{x:.24251099999999998,y:-.024423999999999932},{x:.24251099999999998,y:.7147659999999999},{x:.404542,y:.7147659999999999},{x:.4133210644907258,y:.7156306623818546},{x:.4217627544564291,y:.7181914210369921},{x:.42954266048588213,y:.7223498674463854},{x:.4363618051533946,y:.7279461948466053},{x:.44195813255361455,y:.7347653395141178},{x:.44611657896300794,y:.7425452455435709},{x:.4486773376181454,y:.7509869355092742},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.197511,y:.804766},{x:.1887319355092742,y:.8039013376181453},{x:.18029024554357093,y:.8013405789630078},{x:.1725103395141179,y:.7971821325536145},{x:.16569119484660536,y:.7915858051533946},{x:.16009486744638546,y:.7847666604858821},{x:.1559364210369921,y:.776986754456429},{x:.15337566238185463,y:.7685450644907257},{x:.152511,y:.7597659999999999},{x:.152511,y:-.06942399999999993}]],"\\\\":[[{x:.017522651058219416,y:.7303997530123288},{x:.018114599516431164,y:.7215980934307649},{x:.020412292453046287,y:.7130810386853763},{x:.024327430817071727,y:.7051758944136092},{x:.5013774308170718,y:-.059077105586390885},{x:.5067595580368128,y:-.06606654912342862},{x:.5134018419815468,y:-.0718716915303336},{x:.521049023404313,y:-.07626944443996993},{x:.5294072254116235,y:-.07909080467430848},{x:.5381552469876711,y:-.08022734894178067},{x:.5469569065692351,y:-.07963540048356893},{x:.5554739613146237,y:-.0773377075469538},{x:.5633791055863908,y:-.07342256918292836},{x:.5703685491234285,y:-.06804044196318723},{x:.5761736915303335,y:-.06139815801845332},{x:.5805714444399699,y:-.05375097659568702},{x:.5833928046743084,y:-.04539277458837649},{x:.5845293489417805,y:-.03664475301232898},{x:.5839374004835688,y:-.02784309343076498},{x:.5816397075469537,y:-.01932603868537643},{x:.5777245691829282,y:-.011420894413609283},{x:.10067456918292828,y:.7528321055863908},{x:.09529244196318712,y:.7598215491234285},{x:.0886501580184532,y:.7656266915303336},{x:.08100297659568693,y:.7700244444399699},{x:.07264477458837638,y:.7728458046743084},{x:.06389675301232887,y:.7739823489417805},{x:.055095093430764894,y:.7733904004835688},{x:.04657803868537634,y:.7710927075469537},{x:.03867289441360919,y:.7671775691829282},{x:.03168345087657147,y:.7617954419631872},{x:.025878308469666468,y:.7551531580184532},{x:.021480555560030153,y:.747505976595687},{x:.01865919532569161,y:.7391477745883763},{x:.017522651058219416,y:.7303997530123288}]],"]":[[{x:.15250999999999998,y:-.06942399999999993},{x:.15337466238185463,y:-.0782030644907257},{x:.1559354210369921,y:-.08664475445642897},{x:.16009386744638546,y:-.09442466048588202},{x:.16569019484660535,y:-.10124380515339457},{x:.1725093395141179,y:-.10684013255361446},{x:.18028924554357095,y:-.11099857896300783},{x:.18873093550927422,y:-.1135593376181453},{x:.19751,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.19751,y:.804766},{x:.18873093550927422,y:.8039013376181453},{x:.18028924554357095,y:.8013405789630078},{x:.1725093395141179,y:.7971821325536145},{x:.16569019484660535,y:.7915858051533946},{x:.16009386744638546,y:.7847666604858821},{x:.1559354210369921,y:.776986754456429},{x:.15337466238185463,y:.7685450644907257},{x:.15250999999999998,y:.7597659999999999},{x:.15337466238185463,y:.7509869355092742},{x:.1559354210369921,y:.7425452455435709},{x:.16009386744638546,y:.7347653395141178},{x:.16569019484660535,y:.7279461948466053},{x:.1725093395141179,y:.7223498674463854},{x:.18028924554357095,y:.7181914210369921},{x:.18873093550927422,y:.7156306623818546},{x:.19751,y:.7147659999999999},{x:.35954200000000003,y:.7147659999999999},{x:.35954200000000003,y:-.024423999999999932},{x:.19751,y:-.024423999999999932},{x:.18873093550927422,y:-.025288662381854565},{x:.18028924554357095,y:-.027849421036992027},{x:.1725093395141179,y:-.03200786744638539},{x:.16569019484660535,y:-.03760419484660529},{x:.16009386744638546,y:-.04442333951411784},{x:.1559354210369921,y:-.052203245543570885},{x:.15337466238185463,y:-.06064493550927414},{x:.15250999999999998,y:-.06942399999999993}]],"^":[[{x:-.009830024293871129,y:.4771904357900641},{x:-.009184411720694952,y:.46839254975009553},{x:-.006834821991481832,y:.4598896653882279},{x:-.002871548521860348,y:.4520085437820153},{x:.002553102311361327,y:.44505205201500053},{x:.009230664218841726,y:.43928752416454453},{x:.016904522241296224,y:.4349364878031557},{x:.02527977431847106,y:.43216615081811305},{x:.034034564209935884,y:.43108297570612886},{x:.04283245024990444,y:.431728588279305},{x:.05133533461177206,y:.4340781780085181},{x:.05921645621798466,y:.4380414514781396},{x:.06617294798499941,y:.4434661023113613},{x:.30102423332324457,y:.6668931783680099},{x:.5358792969655858,y:.44346586927801307},{x:.5428358294884947,y:.4380412707099504},{x:.5507169808710617,y:.43407805645230807},{x:.5592198828854552,y:.4317285306064111},{x:.5680177737757447,y:.431082984132888},{x:.5767725555289304,y:.4321662250206897},{x:.5851477867919753,y:.43493662492998636},{x:.5928216121243246,y:.439287718945922},{x:.5994991307219868,y:.44505229696558585},{x:.6049237292900496,y:.45200882948849475},{x:.6088869435476919,y:.4598899808710617},{x:.6112364693935889,y:.4683928828854553},{x:.6118820158671119,y:.47719077377574476},{x:.6107987749793102,y:.4859455555289303},{x:.6080283750700135,y:.4943207867919753},{x:.6036772810540779,y:.5019946121243246},{x:.5979127030344141,y:.5086721307219868},{x:.33204070303441413,y:.7616071307219868},{x:.3294429315385385,y:.7636328335402047},{x:.3269493357811583,y:.7657854758354554},{x:.3259710287822201,y:.7663401706594313},{x:.32508417051150523,y:.7670317292900496},{x:.3221411194513825,y:.7685117087189752},{x:.3192754777587038,y:.7701365121968442},{x:.31820775306259985,y:.7704896904878621},{x:.3172030191289383,y:.7709949435476919},{x:.31402778830632944,y:.7718723248078522},{x:.310900225681529,y:.7729068491818869},{x:.30978411534954325,y:.7730449384962876},{x:.3087001171145447,y:.7733444693935889},{x:.30541472886927135,y:.7735855352151975},{x:.30214543579006414,y:.7739900242938711},{x:.3010238313163334,y:.7739077179367437},{x:.2999022262242552,y:.773990015867112},{x:.29663293618411596,y:.7735855022258356},{x:.2933475497500956,y:.7733444117206949},{x:.29226355376554153,y:.7730448726791859},{x:.29114744447106966,y:.7729067749793103},{x:.2880198896188706,y:.7718722271075298},{x:.28484466538822795,y:.7709948219914818},{x:.28383993525062523,y:.7704895613829726},{x:.2827722132080247,y:.7701363750700135},{x:.27990658372278143,y:.7685115500622604},{x:.2769635437820154,y:.7670315485218604},{x:.2760766907070934,y:.7663399832281829},{x:.2750983878756754,y:.765785281054078},{x:.27260480829144085,y:.7636326200241867},{x:.2700070520150006,y:.7616068976886387},{x:.004139052015000585,y:.5086718976886386},{x:-.001625475835455463,y:.5019943357811583},{x:-.0059765121968442594,y:.49432047775870375},{x:-.00874684918188691,y:.4859452256815289},{x:-.009830024293871129,y:.4771904357900641}]],_:[[{x:-.045,y:-.160601},{x:-.044135337618145365,y:-.16938006449072576},{x:-.041574578963007904,y:-.17782175445642903},{x:-.03741613255361454,y:-.1856016604858821},{x:-.03181980515339464,y:-.19242080515339463},{x:-.025000660485882086,y:-.19801713255361453},{x:-.017220754456429038,y:-.2021755789630079},{x:-.008779064490725769,y:-.20473633761814536},{x:0,y:-.20560099999999998},{x:.602052,y:-.20560099999999998},{x:.6108310644907258,y:-.20473633761814536},{x:.619272754456429,y:-.2021755789630079},{x:.6270526604858822,y:-.19801713255361453},{x:.6338718051533947,y:-.19242080515339463},{x:.6394681325536146,y:-.1856016604858821},{x:.6436265789630079,y:-.17782175445642903},{x:.6461873376181454,y:-.16938006449072576},{x:.6470520000000001,y:-.160601},{x:.6461873376181454,y:-.15182193550927423},{x:.6436265789630079,y:-.14338024554357096},{x:.6394681325536146,y:-.1356003395141179},{x:.6338718051533947,y:-.12878119484660536},{x:.6270526604858822,y:-.12318486744638546},{x:.619272754456429,y:-.1190264210369921},{x:.6108310644907258,y:-.11646566238185463},{x:.602052,y:-.115601},{x:0,y:-.115601},{x:-.00877906449072579,y:-.11646566238185463},{x:-.017220754456429066,y:-.1190264210369921},{x:-.025000660485882096,y:-.12318486744638546},{x:-.03181980515339464,y:-.12878119484660536},{x:-.03741613255361454,y:-.1356003395141179},{x:-.041574578963007904,y:-.14338024554357096},{x:-.044135337618145365,y:-.15182193550927423},{x:-.045,y:-.160601}]],a:[[{x:.029951000000000005,y:.25490100000000004},{x:.030216131121475042,y:.2522090785486062},{x:.03027571711850824,y:.2495047884160563},{x:.03064747136410999,y:.24782960757010103},{x:.03081566238185464,y:.24612193550927428},{x:.0316008669059687,y:.24353346308961055},{x:.0321868888075612,y:.2408927597850148},{x:.06949088880756119,y:.12701175978501478},{x:.07014919013856018,y:.12551652306247207},{x:.07061771774296957,y:.1239514111231075},{x:.07192248021942128,y:.12148874987750752},{x:.07304546130734973,y:.1189380599695235},{x:.0739828197765546,y:.11759998201998349},{x:.07474768294666384,y:.11615634846888903},{x:.07650781615341086,y:.11399555310027064},{x:.07810683439013419,y:.11171295672570881},{x:.07928722783725009,y:.11058345913436952},{x:.08031903331037206,y:.10931678199931477},{x:.15605303331037207,y:.033026781999314685},{x:.1581401110567553,y:.03130114899494214},{x:.16009013354595797,y:.02942202284781055},{x:.16153164054777758,y:.028496972085311937},{x:.16285166496406625,y:.027405552418137233},{x:.16523529439528092,y:.026120245637685162},{x:.16751444707429886,y:.024657656887915},{x:.24324744707429888,y:-.014037343112084925},{x:.24491821916217926,y:-.014693433733650136},{x:.24650124554357095,y:-.015539578963007873},{x:.24901423193062222,y:-.016301885049470277},{x:.2514585861893129,y:-.017261751399011975},{x:.25322525179064753,y:-.017579283958613606},{x:.2549429355092742,y:-.018100337618145335},{x:.2575563541074305,y:-.01835773688343746},{x:.2601410014196699,y:-.018822289810772906},{x:.26193566856615697,y:-.018789061710219754},{x:.263722,y:-.018964999999999968},{x:.376759,y:-.018964999999999968},{x:.3786816094876915,y:-.018775639493449434},{x:.3806133727303473,y:-.01879962736385296},{x:.3830607170270406,y:-.018344335046447002},{x:.3855380644907258,y:-.018100337618145335},{x:.3873867891740171,y:-.01753953311656589},{x:.3892861139289994,y:-.017186191753697247},{x:.3915976100664607,y:-.016262194563578608},{x:.3939797544564291,y:-.015539578963007873},{x:.3956835488825182,y:-.014628881868892333},{x:.3974774451646465,y:-.013911789983170525},{x:.4720844451646465,y:.0247832100168294},{x:.4742399118062311,y:.026185049737888398},{x:.4765030886255536,y:.02740538646642049},{x:.47792879308654873,y:.028584168427667152},{x:.47947957817165415,y:.02959274452399146},{x:.48132014276352414,y:.0313881589690925},{x:.48210100000000006,y:.032033776942416534},{x:.48210100000000006,y:.02603500000000003},{x:.4829656623818547,y:.01725593550927424},{x:.4855264210369921,y:.008814245543570985},{x:.4896848674463855,y:.0010343395141179344},{x:.4952811948466054,y:-.0057848051533946065},{x:.5021003395141179,y:-.01138113255361451},{x:.509880245543571,y:-.015539578963007873},{x:.5183219355092743,y:-.018100337618145335},{x:.527101,y:-.018964999999999968},{x:.5358800644907258,y:-.018100337618145335},{x:.544321754456429,y:-.015539578963007873},{x:.5521016604858822,y:-.011381132553614504},{x:.5589208051533947,y:-.0057848051533946065},{x:.5645171325536146,y:.0010343395141179344},{x:.5686755789630079,y:.008814245543570992},{x:.5712363376181454,y:.01725593550927426},{x:.5721010000000001,y:.02603500000000003},{x:.5721010000000001,y:.560059},{x:.5712363376181454,y:.5688380644907257},{x:.5686755789630079,y:.577279754456429},{x:.5645171325536146,y:.5850596604858821},{x:.5589208051533947,y:.5918788051533946},{x:.5521016604858822,y:.5974751325536145},{x:.544321754456429,y:.6016335789630078},{x:.5358800644907258,y:.6041943376181453},{x:.527101,y:.605059},{x:.5183219355092743,y:.6041943376181453},{x:.509880245543571,y:.6016335789630078},{x:.5021003395141179,y:.5974751325536145},{x:.4952811948466054,y:.5918788051533946},{x:.4896848674463855,y:.5850596604858821},{x:.4855264210369921,y:.577279754456429},{x:.4829656623818547,y:.5688380644907257},{x:.48210100000000006,y:.560059},{x:.48210100000000006,y:.5551612473179106},{x:.48111784979070266,y:.5559741116228759},{x:.47906658786156825,y:.5579287481398052},{x:.4777260461549398,y:.558778440075324},{x:.476502844006682,y:.5597897782764175},{x:.474008872962507,y:.5611345413953497},{x:.47161569478864906,y:.5626514387693977},{x:.3970086947886491,y:.6002454387693977},{x:.39545173243232984,y:.6008467903430146},{x:.3939797544564291,y:.6016335789630078},{x:.39134652561635536,y:.6024323601988234},{x:.3887796173011618,y:.6034237870938969},{x:.38713525366780027,y:.6037098355781862},{x:.3855380644907258,y:.6041943376181453},{x:.3827995979159321,y:.6044640530341434},{x:.3800885942320307,y:.6049356509696303},{x:.37842002129388747,y:.6048954036817589},{x:.376759,y:.605059},{x:.263722,y:.605059},{x:.26219504701733515,y:.604908608257877},{x:.26066140118579323,y:.6049547986330399},{x:.25781511370268967,y:.6044772224791067},{x:.2549429355092742,y:.6041943376181453},{x:.2534746624734083,y:.6037489418620853},{x:.2519614739213154,y:.6034950452430072},{x:.24926304753974865,y:.6024713624393285},{x:.24650124554357095,y:.6016335789630078},{x:.24514807736385555,y:.6009102955021357},{x:.24371349707866236,y:.6003660689935006},{x:.16798049707866233,y:.5627720689935006},{x:.1654642487594581,y:.5611982224645521},{x:.16285190958182658,y:.5597896123262998},{x:.16173267757498783,y:.5588642237445607},{x:.16050143578237863,y:.5580941146870384},{x:.15834057869520102,y:.5560596134829665},{x:.15605324108782545,y:.5541684273021619},{x:.08031924108782545,y:.47787942730216193},{x:.07924694249287094,y:.47656305714472025},{x:.07802357952480113,y:.4753857561141845},{x:.07646760484406812,y:.47315109973327435},{x:.07474784589903924,y:.4710398973462887},{x:.07395296229881854,y:.46953962579412084},{x:.07298278594430238,y:.4681462799973844},{x:.07189266871370663,y:.46565100631071576},{x:.07061782960809859,y:.46324486175923196},{x:.0701309079335922,y:.4616183434067253},{x:.06945120152585271,y:.46006249834135976},{x:.032147201525852716,y:.3450764983413597},{x:.031582343425880205,y:.34249647318004567},{x:.03081566238185464,y:.3399690644907258},{x:.030641204072877935,y:.33819775955415116},{x:.03026054307811779,y:.33645906634171463},{x:.03020987650767869,y:.3338184172918108},{x:.029951000000000005,y:.33119},{x:.029951000000000005,y:.25490100000000004}],[{x:.119951,y:.2620835578942187},{x:.119951,y:.3240730820964405},{x:.15174843963453788,y:.42208563822492473},{x:.21467365091165175,y:.4854719831046318},{x:.2742766075147511,y:.5150589999999999},{x:.3660620360389177,y:.5150589999999999},{x:.4245839309326211,y:.4855701837142105},{x:.48210100000000006,y:.4276323784447675},{x:.48210100000000006,y:.15956344905445352},{x:.4243936225653894,y:.10143318135145685},{x:.36578354074375496,y:.07103500000000003},{x:.2745522516182332,y:.07103500000000003},{x:.21486246778999646,y:.10153288315838035},{x:.15170083487400915,y:.1651582162341545},{x:.119951,y:.2620835578942187}]],b:[[{x:.03166000000000001,y:.04001500000000002},{x:.03252466238185464,y:.031235935509274233},{x:.0350854210369921,y:.022794245543570978},{x:.039243867446385465,y:.015014339514117927},{x:.04484019484660537,y:.008195194846605386},{x:.05165933951411792,y:.002598867446385482},{x:.05943924554357097,y:-.0015595789630078807},{x:.06788093550927424,y:-.004120337618145342},{x:.07666,y:-.0049849999999999756},{x:.08543906449072577,y:-.004120337618145342},{x:.09388075445642904,y:-.0015595789630078807},{x:.10166066048588211,y:.002598867446385489},{x:.10847980515339464,y:.008195194846605386},{x:.11407613255361454,y:.015014339514117927},{x:.1182345789630079,y:.022794245543570985},{x:.12079533761814537,y:.031235935509274254},{x:.12166,y:.04001500000000002},{x:.12166,y:.041388769861289504},{x:.12338630711141785,y:.04010106584896898},{x:.12512540667363178,y:.03853443023544684},{x:.12691331624345048,y:.03747016444054036},{x:.12858112311649333,y:.036226097502515},{x:.13069431360107225,y:.035219499067818724},{x:.13270563229917137,y:.034022247411931134},{x:.20674863229917137,y:-.0007227525880688923},{x:.20772794171481185,y:-.0010698043626217635},{x:.20864424554357097,y:-.0015595789630078669},{x:.21187816153300185,y:-.0025405766534664824},{x:.21506348921487128,y:-.003669406425619949},{x:.21609168791714548,y:-.0038187359083884913},{x:.21708593550927424,y:-.004120337618145342},{x:.22044909586509742,y:-.004451580001305548},{x:.22379344213248661,y:-.004937293022731791},{x:.22483101702188665,y:-.00488316156543817},{x:.225865,y:-.0049849999999999756},{x:.338045,y:-.0049849999999999756},{x:.33894984805462636,y:-.004895880245274822},{x:.33985755144997865,y:-.004948481373678995},{x:.343332465401001,y:-.004464230112452937},{x:.3468240644907258,y:-.004120337618145342},{x:.3476941397420575,y:-.003856403176165039},{x:.34859466384226984,y:-.0037309094409420443},{x:.351908335561611,y:-.0025780408502315546},{x:.35526575445642905,y:-.0015595789630078807},{x:.35606762040050133,y:-.0011309726863615623},{x:.35692635856942223,y:-.0008322067413783357},{x:.43209235856942224,y:.03391279325862169},{x:.4342218624454842,y:.03516383683568551},{x:.43645162164562873,y:.03622594356254809},{x:.4380158580934015,y:.037392738102356306},{x:.4396984532755396,y:.03838123120587913},{x:.4415429728374372,y:.04002368192832182},{x:.4435226810964235,y:.04150038501262054},{x:.5186856810964235,y:.11000138501262047},{x:.5200684051728882,y:.11153543836568303},{x:.5216038163727121,y:.1129166544997947},{x:.5230144082918019,y:.11480386048953693},{x:.5245918796416693,y:.11655397481445093},{x:.5256487561000858,y:.11832830784782436},{x:.5268852029038621,y:.11998252816661786},{x:.5279005150705119,y:.12210866485417524},{x:.5291062453835067,y:.12413290061668979},{x:.5297966590542814,y:.12607932670695898},{x:.530686625504748,y:.12794298045128052},{x:.567704625504748,y:.2301969804512806},{x:.5685418230641662,y:.23348712941632632},{x:.5695273376181453,y:.23673593550927427},{x:.5696276430094915,y:.2377543532384077},{x:.5698799976366801,y:.23874609563675617},{x:.5700592324586751,y:.24213635445346285},{x:.570392,y:.24551500000000004},{x:.570392,y:.314017},{x:.570065993218988,y:.3173270023951309},{x:.5699006262411136,y:.32064890697528625},{x:.569634437926433,y:.3217086568121163},{x:.5695273376181453,y:.3227960644907258},{x:.5685618455328773,y:.32597886535008125},{x:.5677515846008636,y:.32920467896823863},{x:.5307335846008636,y:.4324506789682387},{x:.5298196963817511,y:.43437967657309706},{x:.5291061063615623,y:.4363913954201699},{x:.5279358002551,y:.43835612690926706},{x:.5269566878799311,y:.4404227969757902},{x:.5256840310027916,y:.4421364386856148},{x:.5245916855370664,y:.44397028841230757},{x:.523060566435399,y:.4456689527415915},{x:.5216970801011935,y:.44750489697372575},{x:.5201145620561008,y:.4489373284986299},{x:.5186854393684929,y:.45052283528838016},{x:.44352243936849295,y:.5190228352883801},{x:.44134657552661755,y:.5206458300432604},{x:.43929971954126384,y:.5224287703137037},{x:.4378191137317927,y:.523276992839783},{x:.43645134158383936,y:.5242972253466508},{x:.43400065578620683,y:.5254645447348341},{x:.43164529517316985,y:.52681390451462},{x:.35647929517316984,y:.56056790451462},{x:.3558506134628383,y:.560778965311121},{x:.35526575445642905,y:.5610915789630079},{x:.351674330744245,y:.5621810254355277},{x:.34811645117964274,y:.5633754754766519},{x:.34745867349333664,y:.563459831081816},{x:.3468240644907258,y:.5636523376181454},{x:.3430891085149791,y:.5640201986736739},{x:.3393665669654169,y:.5644975898222324},{x:.3387049713307353,y:.5644519984974604},{x:.338045,y:.564517},{x:.225865,y:.564517},{x:.22507819619617456,y:.5644395065891945},{x:.22428916125732748,y:.5644893996719887},{x:.22069487882474298,y:.5640077875099223},{x:.21708593550927424,y:.5636523376181454},{x:.21632936813438544,y:.5634228354140474},{x:.21554576062305134,y:.5633178367349442},{x:.2121144991913443,y:.5621442688983362},{x:.20864424554357097,y:.5610915789630079},{x:.20794698905754733,y:.5607188876066144},{x:.20719892257093525,y:.5604630322059678},{x:.13315592257093525,y:.5267090322059678},{x:.13091775246116674,y:.5254099486077729},{x:.12858140317750869,y:.5242970714087468},{x:.1271119341080524,y:.5232009671819817},{x:.12552641140636125,y:.5222806946221156},{x:.12358468574515913,y:.5205699272235509},{x:.12166,y:.5191342684374534},{x:.12166,y:.7597659999999999},{x:.12079533761814537,y:.7685450644907257},{x:.1182345789630079,y:.776986754456429},{x:.11407613255361454,y:.7847666604858821},{x:.10847980515339464,y:.7915858051533946},{x:.10166066048588208,y:.7971821325536145},{x:.09388075445642904,y:.8013405789630078},{x:.08543906449072577,y:.8039013376181453},{x:.07666,y:.804766},{x:.06788093550927421,y:.8039013376181453},{x:.05943924554357094,y:.8013405789630078},{x:.05165933951411792,y:.7971821325536145},{x:.04484019484660537,y:.7915858051533946},{x:.039243867446385465,y:.7847666604858821},{x:.0350854210369921,y:.776986754456429},{x:.03252466238185464,y:.7685450644907257},{x:.03166000000000001,y:.7597659999999999},{x:.03166000000000001,y:.04001500000000002}],[{x:.12166,y:.16313400296117606},{x:.12166,y:.39738980161800674},{x:.17691400696537596,y:.447746357818324},{x:.23563826658076475,y:.474517},{x:.3284048540018634,y:.474517},{x:.3882155063572531,y:.44765846343288423},{x:.44979135555302596,y:.39154114946310603},{x:.480392,y:.30619363915535625},{x:.480392,y:.2534097446111891},{x:.44984564070758065,y:.16903221413717517},{x:.38802932067077023,y:.11269492399652684},{x:.3281476350434013,y:.08501500000000002},{x:.2358983461114888,y:.08501500000000002},{x:.1771018588393058,y:.11260550754658781},{x:.12166,y:.16313400296117606}]],c:[[{x:.0446,y:.25490100000000004},{x:.044822712444716174,y:.2526397626013558},{x:.04482893549381362,y:.2503675925637664},{x:.045254001037800355,y:.24826081602954003},{x:.045464662381854634,y:.24612193550927428},{x:.04612424100165128,y:.2439475961957434},{x:.04657362286091401,y:.24172029932495478},{x:.08145962286091402,y:.1278402993249547},{x:.08196610920465827,y:.1266269431042867},{x:.08230081253195312,y:.125355433994083},{x:.08366176737769918,y:.12256476567779218},{x:.08485778977199918,y:.11969953302126297},{x:.0855912581784792,y:.11860830168404396},{x:.08616758939694805,y:.11742652164475936},{x:.08804682625741464,y:.11495498435675963},{x:.08977884657839008,y:.1123781387363477},{x:.09071111026807865,y:.11145096769089737},{x:.09150692129220603,y:.11040433186669174},{x:.16233292129220603,y:.03411333186669174},{x:.16445877247754231,y:.03223237849112975},{x:.1664474797904295,y:.03020697184383589},{x:.16775479669311927,y:.029316055882572942},{x:.16893962068732413,y:.02826772347496185},{x:.17139158003796548,y:.02683764508339147},{x:.17373721213250964,y:.02523913360696181},{x:.24456521213250962,y:-.013455866393038113},{x:.2467886390083486,y:-.014400746043602006},{x:.24891924554357092,y:-.015539578963007873},{x:.25083834630720225,y:-.016121731815163746},{x:.25268405147305695,y:-.01690609278116076},{x:.2550490927002279,y:-.01739904776899966},{x:.2573609355092742,y:-.018100337618145335},{x:.259356733677244,y:-.018296906580526337},{x:.26131999536931183,y:-.018706117055345653},{x:.26373576373978486,y:-.0187282033967292},{x:.26614,y:-.018964999999999968},{x:.371854,y:-.018964999999999968},{x:.3744001776009888,y:-.018714223394882004},{x:.3769583677219744,y:-.018674567546095353},{x:.3787793796063011,y:-.01828290964379429},{x:.3806330644907258,y:-.018100337618145335},{x:.3830813939144215,y:-.01735764500708899},{x:.3855826926572475,y:-.01681967299983559},{x:.38729230564255435,y:-.01608027889939661},{x:.3890747544564291,y:-.015539578963007873},{x:.391331147776118,y:-.014333511606549179},{x:.393679431632842,y:-.013317897403369645},{x:.463449431632842,y:.02537710259663028},{x:.46566730315778443,y:.026909287408228903},{x:.46799586592077425,y:.028267352155161442},{x:.4692879686356918,y:.029410572352257962},{x:.47070743151062955,y:.03039118797094862},{x:.4725837728278355,y:.03232661755101331},{x:.4746026476214732,y:.03411286752390576},{x:.5454306476214732,y:.11040386752390575},{x:.5507700783887176,y:.11742598212342069},{x:.5546369668925095,y:.12535484002769406},{x:.5568827107762242,y:.13388573967401945},{x:.5574210073618384,y:.14269084337317217},{x:.5562311702134469,y:.15143177592795284},{x:.5533589241053942,y:.15977262820225266},{x:.5489146478448386,y:.16739286592077418},{x:.5430691324760942,y:.17399964762147313},{x:.5360470178765793,y:.17933907838871752},{x:.5281181599723059,y:.18320596689250943},{x:.5195872603259806,y:.1854517107762242},{x:.5107821566268278,y:.1859900073618383},{x:.5020412240720471,y:.18480017021344686},{x:.4937003717977473,y:.18192792410539416},{x:.4860801340792258,y:.17748364784483847},{x:.47947335237852684,y:.17163813247609414},{x:.41352572033101553,y:.10060392571412592},{x:.36021071976053953,y:.07103500000000003},{x:.27763077403847125,y:.07103500000000003},{x:.2233107097601157,y:.10071132697875086},{x:.16448866962379677,y:.16407213041308155},{x:.1346,y:.2616391113440561},{x:.1346,y:.3245158400933278},{x:.1645319520417492,y:.4231721923699009},{x:.2231207776861973,y:.4862793045993598},{x:.27734241586879393,y:.5150589999999999},{x:.3605019191882548,y:.5150589999999999},{x:.41371701660545657,y:.4863852380349392},{x:.47947395272027693,y:.4155592208902026},{x:.48608084903755494,y:.4097138350672089},{x:.4937011738972078,y:.40526970822380387},{x:.5020420824884065,y:.4023976256622846},{x:.5107830383716269,y:.4012079599048077},{x:.5195881315142611,y:.40174642913926084},{x:.5281189871247909,y:.40399234029494097},{x:.5360477692062626,y:.4078593842656568},{x:.5430697791097975,y:.41319895272027696},{x:.5489151649327911,y:.41980584903755497},{x:.5533592917761961,y:.42742617389720783},{x:.5562313743377155,y:.4357670824884066},{x:.5574210400951923,y:.4445080383716269},{x:.5568825708607392,y:.4533131315142611},{x:.5546366597050592,y:.4618439871247909},{x:.5507696157343432,y:.46977276920626265},{x:.5454300472797231,y:.4767947791097975},{x:.4746020472797231,y:.5530827791097974},{x:.47237947035514305,y:.5550491819442839},{x:.4702881116089302,y:.5571546051529963},{x:.469083054274185,y:.5579656532949738},{x:.4679951509624451,y:.5589281649327911},{x:.46543165406806053,y:.5604231806402761},{x:.46296973250196366,y:.5620801448811513},{x:.39319973250196366,y:.5996741448811513},{x:.39109075852725916,y:.6005560023370271},{x:.3890747544564291,y:.6016335789630078},{x:.38703122642603144,y:.6022534764138876},{x:.38506104886577136,y:.6030772968079529},{x:.3828205563795885,y:.6035307692082409},{x:.3806330644907258,y:.6041943376181453},{x:.3785078662851109,y:.6044036513718285},{x:.37641482574826585,y:.6048272797133635},{x:.3741289156203665,y:.604834940368031},{x:.371854,y:.605059},{x:.26614,y:.605059},{x:.26400488750824663,y:.6048487097743618},{x:.26185945318827825,y:.6048549475733314},{x:.2596259398913868,y:.6044174210783497},{x:.2573609355092742,y:.6041943376181453},{x:.2553078741931944,y:.60357154827667},{x:.25320244685788745,y:.6031591127457343},{x:.2510972070775077,y:.6022942563713519},{x:.24891924554357092,y:.6016335789630078},{x:.24702713339817148,y:.6006222239508241},{x:.24504262343928468,y:.5998069647561404},{x:.1742146234392847,y:.5622129647561404},{x:.17162525666515238,y:.5604936738034747},{x:.16894033563687538,y:.5589277936219744},{x:.16795812189104978,y:.5580587651214349},{x:.16686556037036515,y:.5573333247718834},{x:.16466136457832586,y:.5551419091149951},{x:.16233352162359432,y:.5530823147741101},{x:.09150752162359431,y:.47679431477411016},{x:.09067474586023959,y:.4756991081857825},{x:.08970182133886938,y:.4747262717047309},{x:.08801053269383365,y:.4721953272870651},{x:.08616805203977476,y:.4697722296898647},{x:.08556494203519081,y:.46853560069719197},{x:.08480050296804506,y:.467391648838166},{x:.08363547472152838,y:.4645793817614187},{x:.08230111970711389,y:.461843393160995},{x:.08195085264054901,y:.4605128647226562},{x:.08142427599227564,y:.4592417589140625},{x:.046538275992275634,y:.3442567589140625},{x:.04610669192420131,y:.34208755224892967},{x:.045464662381854634,y:.33997106449072584},{x:.04524807462900009,y:.3377720121321243},{x:.04481688692083,y:.3356047976316928},{x:.044816786846426454,y:.33339307378956023},{x:.0446,y:.33119200000000004},{x:.0446,y:.25490100000000004}]],d:[[{x:.03166100000000001,y:.24551500000000004},{x:.03199378652782141,y:.24213616168032864},{x:.032173060891358886,y:.2387457109778176},{x:.032425376075824915,y:.237754159461938},{x:.03252566238185464,y:.23673593550927427},{x:.03351123316568353,y:.23348694405135337},{x:.034348506941927405,y:.23019661460170962},{x:.0713675069419274,y:.12794261460170955},{x:.07225746993456125,y:.1260790095358921},{x:.0729478813145148,y:.12413263082247869},{x:.07415364826248581,y:.12210836405190925},{x:.07516899837159816,y:.11998219518580837},{x:.07640543228727825,y:.1183280219355851},{x:.07746229725612473,y:.11655373492181778},{x:.07903981058640837,y:.11480359733178996},{x:.08045044599662987,y:.11291636718401242},{x:.08198583537337678,y:.11153519469971836},{x:.08336853920306012,y:.1100011842405046},{x:.15853253920306012,y:.04150018424050468},{x:.16051177365736521,y:.04002385498013544},{x:.16235580937568672,y:.038381768082408986},{x:.16403890527939927,y:.03739293492543645},{x:.16560363358955885,y:.03622578962650935},{x:.16783285515961555,y:.03516395710594637},{x:.16996181351033893,y:.03391317596960988},{x:.24512381351033893,y:-.0008318240303901436},{x:.24598297689097734,y:-.0011307574341723537},{x:.24678524554357095,y:-.0015595789630078807},{x:.25014222995258023,y:-.0025779090504023904},{x:.2534554494825366,y:-.0037306956028641883},{x:.25435642329373365,y:-.003856270624521421},{x:.2552269355092742,y:-.004120337618145342},{x:.2587180827488419,y:-.0044641856090968535},{x:.2621925371943035,y:-.004948444626188875},{x:.2631006975177666,y:-.004895835488062085},{x:.264006,y:-.0049849999999999756},{x:.376189,y:-.0049849999999999756},{x:.37722298297811335,y:-.004883161565438171},{x:.3782605578675134,y:-.004937293022731791},{x:.3816049041349026,y:-.004451580001305548},{x:.3849680644907258,y:-.004120337618145342},{x:.3859623120828546,y:-.003818735908388489},{x:.38699051078512875,y:-.003669406425619949},{x:.39017583846699794,y:-.0025405766534665605},{x:.39340975445642906,y:-.0015595789630078807},{x:.39432605828518835,y:-.0010698043626217065},{x:.39530536770082864,y:-.0007227525880688923},{x:.46934836770082866,y:.034022247411931134},{x:.4713599418403825,y:.035219651121148166},{x:.4734733873673339,y:.03622640539423388},{x:.4751409393435705,y:.037470316580519136},{x:.4769285933263682,y:.03853443023544684},{x:.47866791375766776,y:.04010126481479184},{x:.480392,y:.041387347763641016},{x:.480392,y:.04001500000000002},{x:.4812566623818546,y:.031235935509274233},{x:.48381742103699205,y:.022794245543570978},{x:.48797586744638544,y:.015014339514117927},{x:.4935721948466053,y:.008195194846605386},{x:.5003913395141178,y:.002598867446385482},{x:.508171245543571,y:-.0015595789630078807},{x:.5166129355092742,y:-.004120337618145342},{x:.525392,y:-.0049849999999999756},{x:.5341710644907257,y:-.004120337618145342},{x:.542612754456429,y:-.0015595789630078807},{x:.5503926604858821,y:.002598867446385489},{x:.5572118051533946,y:.008195194846605386},{x:.5628081325536145,y:.015014339514117927},{x:.5669665789630078,y:.022794245543570985},{x:.5695273376181453,y:.031235935509274254},{x:.570392,y:.04001500000000002},{x:.570392,y:.7597659999999999},{x:.5695273376181453,y:.7685450644907257},{x:.5669665789630078,y:.776986754456429},{x:.5628081325536145,y:.7847666604858821},{x:.5572118051533946,y:.7915858051533946},{x:.5503926604858821,y:.7971821325536145},{x:.542612754456429,y:.8013405789630078},{x:.5341710644907257,y:.8039013376181453},{x:.525392,y:.804766},{x:.5166129355092742,y:.8039013376181453},{x:.508171245543571,y:.8013405789630078},{x:.5003913395141178,y:.7971821325536145},{x:.4935721948466053,y:.7915858051533946},{x:.48797586744638544,y:.7847666604858821},{x:.48381742103699205,y:.776986754456429},{x:.4812566623818546,y:.7685450644907257},{x:.480392,y:.7597659999999999},{x:.480392,y:.5191356905079497},{x:.47846953719699326,y:.5205697307992189},{x:.47652758859363875,y:.5222806946221157},{x:.47494232329576636,y:.5232008177790934},{x:.47347310730786674,y:.524296763521154},{x:.4711365045177018,y:.5254097994515352},{x:.46889807742906475,y:.5267090322059679},{x:.3948550774290648,y:.5604630322059679},{x:.3941070109424522,y:.5607188876066146},{x:.39340975445642906,y:.5610915789630079},{x:.389939500808656,y:.5621442688983361},{x:.38650823937694867,y:.5633178367349442},{x:.38572463186561456,y:.5634228354140474},{x:.3849680644907258,y:.5636523376181454},{x:.38135912117525683,y:.5640077875099224},{x:.3777648387426725,y:.5644893996719887},{x:.3769758038038255,y:.5644395065891945},{x:.376189,y:.564517},{x:.264006,y:.564517},{x:.26334558239453953,y:.5644519545432365},{x:.2626835384795895,y:.5644975635305632},{x:.2589614482177297,y:.5640201550156564},{x:.2552269355092742,y:.5636523376181454},{x:.25459189738202526,y:.5634597009082802},{x:.2539336765832372,y:.5633752751711479},{x:.2503762430229788,y:.5621808961392286},{x:.24678524554357095,y:.5610915789630079},{x:.24619999105363047,y:.5607787539207695},{x:.24557088842716707,y:.5605675378929096},{x:.17040888842716706,y:.5268135378929095},{x:.16805407047382528,y:.5254644267942322},{x:.16560391365212207,y:.5242973792806265},{x:.16423565717286473,y:.5232767996121171},{x:.1627545512703112,y:.5224282514648534},{x:.16070817900232118,y:.5206456609648356},{x:.15853278093215223,y:.5190230360586235},{x:.08336878093215222,y:.45052303605862365},{x:.08193967718325436,y:.44893757139643337},{x:.08035717944512263,y:.44750518296134467},{x:.07899365114577664,y:.44566921514174185},{x:.07746249136223225,y:.4439705283033309},{x:.07637015625263606,y:.44213672358948825},{x:.0750975108858587,y:.44042312810321155},{x:.07411836195358443,y:.43835642671545355},{x:.07294802033824888,y:.4363916652130956},{x:.07223443169362759,y:.4343799925343442},{x:.07132054574594202,y:.4324510425104215},{x:.034301545745942026,y:.32920504251042143},{x:.033491210284420626,y:.32597904935505284},{x:.03252566238185464,y:.3227960644907258},{x:.03241858101312289,y:.3217088491086539},{x:.03215243067755317,y:.32064928896150824},{x:.031987025628206905,y:.31732719375391183},{x:.03166100000000001,y:.314017},{x:.03166100000000001,y:.24551500000000004}],[{x:.121661,y:.25340994514221},{x:.121661,y:.3061934402169761},{x:.15226243948714763,y:.39154086238640384},{x:.21383969339611897,y:.4476587099299689},{x:.27364661400534074,y:.474517},{x:.3664157334192352,y:.474517},{x:.42513971513426946,y:.4477464845048247},{x:.480392,y:.3973901578243758},{x:.480392,y:.1631336467554691},{x:.4249518651426514,y:.1126053780239199},{x:.3661556538885112,y:.08501500000000002},{x:.2739038430667855,y:.08501500000000002},{x:.21402588591940364,y:.11269467351967463},{x:.15220815290195538,y:.1690325018607451},{x:.121661,y:.25340994514221}]],e:[[{x:.014571,y:.25490100000000004},{x:.014880046743786594,y:.2517631957525991},{x:.01501248842711947,y:.2486129918567585},{x:.015311525398480692,y:.24738231945287367},{x:.015435662381854634,y:.24612193550927428},{x:.016350926120166094,y:.24310471531940006},{x:.01709539726614681,y:.24004087979874045},{x:.05693639726614681,y:.12616087979874036},{x:.057746546207777846,y:.12441615547982068},{x:.05835851556287996,y:.12259245107255745},{x:.05959975008908581,y:.12042512406141898},{x:.06065161969764369,y:.11815983382640528},{x:.06178658068373706,y:.11660668611395116},{x:.06274257829935428,y:.11493741297405176},{x:.06438278737670251,y:.11305388338712186},{x:.06585638180708843,y:.11103732964943176},{x:.06727253892344205,y:.10973544513901749},{x:.06853582634733585,y:.1082847524971091},{x:.14942282634733584,y:.031993752497109104},{x:.15144602889400902,y:.03043003785468449},{x:.15333307828862142,y:.02870446646813117},{x:.1549277151407192,y:.027739074573098352},{x:.15640262843323158,y:.02659912765300345},{x:.15869202130341495,y:.025460166585296706},{x:.1608794538505091,y:.024135896643135493},{x:.2417664538505091,y:-.01455910335686443},{x:.24290092295632487,y:-.014970686687880902},{x:.2439652455435709,y:-.015539578963007873},{x:.24703931387581265,y:-.016472087396775758},{x:.2500591116803148,y:-.017567664555291233},{x:.2512520782049556,y:-.01775001548484057},{x:.2524069355092742,y:-.018100337618145335},{x:.25560385985111694,y:-.01841520718300011},{x:.2587793695882151,y:-.01890059980751419},{x:.2599849884971624,y:-.018846710691637396},{x:.261186,y:-.018964999999999968},{x:.381914,y:-.018964999999999968},{x:.3832466926412995,y:-.01883374123151461},{x:.3845848263549422,y:-.018885671038862982},{x:.3876272824249201,y:-.01840229079619376},{x:.39069306449072577,y:-.018100337618145335},{x:.3919745425012029,y:-.017711605513551366},{x:.39329709535359264,y:-.017501480567117658},{x:.39618678867610163,y:-.016433834605858122},{x:.39913475445642904,y:-.015539578963007873},{x:.4003157713548023,y:-.014908312279081314},{x:.40157191838151796,y:-.014444207562717595},{x:.48125191838151804,y:.02425079243728233},{x:.4833189661071789,y:.02551885102394819},{x:.4854901362659954,y:.026598980192539007},{x:.48706966813422276,y:.027819770278194},{x:.48877129863032925,y:.028863658687316496},{x:.4905512426555404,y:.030510612890229178},{x:.492469971641239,y:.03199356196515255},{x:.573357971641239,y:.10828456196515254},{x:.5791512607417543,y:.11493718669263933},{x:.5835353707163221,y:.12259219773755695},{x:.5863418226772573,y:.13095541731842886},{x:.5874627662495775,y:.13970545159690978},{x:.5868551242004307,y:.1485060416627534},{x:.584542247872996,y:.15701898577515713},{x:.5806130198074609,y:.16491713626599536},{x:.5752184380348474,y:.17189697164123896},{x:.5685658133073607,y:.17769026074175415},{x:.560910802262443,y:.1820743707163221},{x:.5525475826815711,y:.18488082267725728},{x:.5437975484030901,y:.18600176624957743},{x:.5349969583372466,y:.1853941242004306},{x:.5264840142248428,y:.183081247872996},{x:.5185858637340046,y:.17915201980746093},{x:.511606028358761,y:.17375743803484736},{x:.43573388395098006,y:.1021972341849065},{x:.3715652104827451,y:.07103500000000003},{x:.2713955768569904,y:.07103500000000003},{x:.2060606884620834,y:.10229012760321096},{x:.13826613078700495,y:.16623259795801962},{x:.104571,y:.2625454790108076},{x:.104571,y:.28619200000000006},{x:.542482,y:.28619200000000006},{x:.5512610644907258,y:.2870566623818547},{x:.559702754456429,y:.2896174210369921},{x:.5674826604858821,y:.2937758674463855},{x:.5743018051533947,y:.2993721948466054},{x:.5798981325536146,y:.3061913395141179},{x:.5840565789630079,y:.31397124554357103},{x:.5866173376181454,y:.32241293550927425},{x:.5874820000000001,y:.33119200000000004},{x:.5866173376181454,y:.33997106449072584},{x:.5840565789630079,y:.34841275445642905},{x:.5798981325536146,y:.35619266048588216},{x:.5743018051533947,y:.3630118051533947},{x:.5674826604858821,y:.3686081325536146},{x:.5660433240263831,y:.3693774739195968},{x:.5706944449992851,y:.3724210772554575},{x:.5769918122169339,y:.3785986803904119},{x:.5819629867044116,y:.38588613801169297},{x:.5854169290140312,y:.3940033972097681},{x:.5872209060798271,y:.40263851626586683},{x:.5873055920748429,y:.4114596523972937},{x:.5856677325637826,y:.4201278142894682},{x:.5823702695691338,y:.4283098893420352},{x:.5425292695691338,y:.5045998893420351},{x:.54083893518448,y:.5071829952333479},{x:.5393041274419548,y:.5098614335042745},{x:.5384286685906833,y:.5108662746451583},{x:.5376989227445426,y:.5119814449992851},{x:.5355371287009763,y:.5141851493557908},{x:.5335092744740836,y:.5165126960496618},{x:.49246227447408364,y:.5552086960496617},{x:.4903478252727746,y:.5568421196453192},{x:.48836639942178184,y:.5586345815458318},{x:.486865329057947,y:.5595323670561179},{x:.4854811710293013,y:.5606016367187369},{x:.48308868524123094,y:.5617911659624512},{x:.4807956399629947,y:.5631626292028359},{x:.40111563996299465,y:.6007566292028359},{x:.40009264564938235,y:.6011215754533451},{x:.39913475445642904,y:.6016335789630078},{x:.3959457374462889,y:.6026009566970012},{x:.3928069722488333,y:.6037206897930685},{x:.3917324370025758,y:.603879047413643},{x:.39069306449072577,y:.6041943376181453},{x:.38737659751458814,y:.6045209811048129},{x:.38407969371999856,y:.6050068561303112},{x:.38299491132800306,y:.6049525395264004},{x:.381914,y:.605059},{x:.261186,y:.605059},{x:.26023449599616577,y:.6049652850353624},{x:.2592798763752433,y:.6050186117946668},{x:.25585213857488087,y:.6045336605029273},{x:.2524069355092742,y:.6041943376181453},{x:.2514919972706982,y:.6039167941377678},{x:.2505453168634681,y:.6037828591890964},{x:.24727805138745723,y:.6026385076291858},{x:.2439652455435709,y:.6016335789630078},{x:.24312203363365809,y:.6011828728071931},{x:.24221967283726598,y:.6008668231955117},{x:.161332672837266,y:.5632728231955116},{x:.15891596978001063,y:.5618462817840929},{x:.15640337688314435,y:.5605963413854953},{x:.1551260781006526,y:.5596091689500753},{x:.15373589412748892,y:.5587885654418143},{x:.1516439317651508,y:.5569179592459522},{x:.1494234689111216,y:.555201853544281},{x:.06853646891112161,y:.47891385354428107},{x:.06722863655802509,y:.4774120673763562},{x:.06576662511800205,y:.47605991734502884},{x:.06433886916992998,y:.4740937424536807},{x:.06274309028364713,y:.4722613067803989},{x:.06175337150959475,y:.4705332315776763},{x:.06058324359446483,y:.4689218384474283},{x:.05956650326928079,y:.4667149016876259},{x:.05835887729241062,y:.4646063547351938},{x:.05772530643484857,y:.4627183994585984},{x:.05689202940417486,y:.4609096881637455},{x:.017051029404174856,y:.3459246881637455},{x:.016331419439147486,y:.342923979771159},{x:.015435662381854634,y:.33997106449072584},{x:.015304912520774374,y:.33864353887302173},{x:.014993833838408223,y:.33734636893611664},{x:.014873460143664087,y:.33426292937408214},{x:.014571,y:.33119200000000004},{x:.014571,y:.25490100000000004}],[{x:.12278767041868709,y:.376192},{x:.13831799224413532,y:.421014018902617},{x:.20587340146207272,y:.4847284236699839},{x:.27113246747276615,y:.5150589999999999},{x:.37183117966561724,y:.5150589999999999},{x:.4359272756482788,y:.48481767680255794},{x:.4662598881310508,y:.45622238914125884},{x:.5025937304308662,y:.3866481106579649},{x:.5074240772554575,y:.379266555000715},{x:.5104401600015575,y:.376192},{x:.12278767041868709,y:.376192}]],f:[[{x:.044112,y:.5239119999999999},{x:.04497666238185463,y:.5151329355092742},{x:.04753742103699209,y:.5066912455435709},{x:.051695867446385456,y:.4989113395141178},{x:.05729219484660536,y:.49209219484660527},{x:.0641113395141179,y:.4864958674463854},{x:.07189124554357096,y:.482337421036992},{x:.08033293550927423,y:.47977666238185457},{x:.089112,y:.47891199999999995},{x:.20304699999999998,y:.47891199999999995},{x:.20304699999999998,y:.05318299999999998},{x:.20391166238185462,y:.04440393550927419},{x:.2064724210369921,y:.03596224554357094},{x:.21063086744638546,y:.028182339514117884},{x:.21622719484660535,y:.021363194846605343},{x:.2230463395141179,y:.01576686744638544},{x:.23082624554357095,y:.011608421036992077},{x:.23926793550927422,y:.009047662381854615},{x:.248047,y:.008182999999999982},{x:.25682606449072576,y:.009047662381854615},{x:.26526775445642903,y:.011608421036992077},{x:.2730476604858821,y:.015766867446385446},{x:.2798668051533946,y:.021363194846605343},{x:.28546313255361455,y:.028182339514117884},{x:.2896215789630079,y:.03596224554357094},{x:.2921823376181454,y:.04440393550927421},{x:.293047,y:.05318299999999998},{x:.293047,y:.47891199999999995},{x:.459965,y:.47891199999999995},{x:.4687440644907258,y:.47977666238185457},{x:.4771857544564291,y:.482337421036992},{x:.48496566048588213,y:.4864958674463854},{x:.4917848051533946,y:.49209219484660527},{x:.49738113255361455,y:.4989113395141178},{x:.5015395789630079,y:.5066912455435709},{x:.5041003376181454,y:.5151329355092742},{x:.504965,y:.5239119999999999},{x:.5041003376181454,y:.5326910644907257},{x:.5015395789630079,y:.5411327544564289},{x:.49738113255361455,y:.548912660485882},{x:.4917848051533946,y:.5557318051533946},{x:.48496566048588213,y:.5613281325536145},{x:.4771857544564291,y:.5654865789630078},{x:.4687440644907258,y:.5680473376181453},{x:.459965,y:.568912},{x:.293047,y:.568912},{x:.293047,y:.6141229501499061},{x:.3322669208002554,y:.6884371453882767},{x:.4140490730325775,y:.7147659999999999},{x:.512941,y:.7147659999999999},{x:.5217200644907257,y:.7156306623818546},{x:.530161754456429,y:.7181914210369921},{x:.5379416604858821,y:.7223498674463854},{x:.5447608051533946,y:.7279461948466053},{x:.5503571325536145,y:.7347653395141178},{x:.5545155789630078,y:.7425452455435709},{x:.5570763376181453,y:.7509869355092742},{x:.557941,y:.7597659999999999},{x:.5570763376181453,y:.7685450644907257},{x:.5545155789630078,y:.776986754456429},{x:.5503571325536145,y:.7847666604858821},{x:.5447608051533946,y:.7915858051533946},{x:.5379416604858821,y:.7971821325536145},{x:.530161754456429,y:.8013405789630078},{x:.5217200644907257,y:.8039013376181453},{x:.512941,y:.804766},{x:.406984,y:.804766},{x:.40440576588043703,y:.8045120661033809},{x:.40181542834229744,y:.8044681908525655},{x:.400026512750784,y:.8040807473169851},{x:.3982049355092742,y:.8039013376181453},{x:.39572578148103565,y:.8031492944655273},{x:.39319377618916257,y:.8026009124809075},{x:.2872357761891626,y:.7684889124809076},{x:.28342960508890525,y:.7668362808879404},{x:.2796044085190959,y:.7652281761559891},{x:.27938594032962494,y:.7650805300410848},{x:.27914407460343155,y:.764975512444704},{x:.2757334504432472,y:.7626120885587936},{x:.27229547962292316,y:.7602886242777711},{x:.2721100135665551,y:.7601011941121303},{x:.27189328313916555,y:.7599510087370087},{x:.2690092742928275,y:.7569676176126634},{x:.26609064851257996,y:.7540180832118794},{x:.26594531194585036,y:.7537980718316557},{x:.26576204564604555,y:.7536084902175343},{x:.26351548295615396,y:.7501197819025626},{x:.26122836336792754,y:.7466575263349163},{x:.2082493633679275,y:.6462725263349164},{x:.20745880379789322,y:.6443351468057326},{x:.2064724210369921,y:.6424897544564291},{x:.20579637196662365,y:.6402611193438609},{x:.20491647908027386,y:.6381048157198157},{x:.20451907388691828,y:.636050431873947},{x:.20391166238185462,y:.6340480644907258},{x:.20368338854657433,y:.6317303613460921},{x:.20324107652369047,y:.6294438319050109},{x:.20325209776572678,y:.6273513925615422},{x:.20304699999999998,y:.6252690000000001},{x:.20304699999999998,y:.568912},{x:.089112,y:.568912},{x:.0803329355092742,y:.5680473376181453},{x:.07189124554357093,y:.5654865789630078},{x:.0641113395141179,y:.5613281325536145},{x:.05729219484660536,y:.5557318051533946},{x:.051695867446385456,y:.548912660485882},{x:.04753742103699209,y:.5411327544564289},{x:.04497666238185463,y:.5326910644907257},{x:.044112,y:.5239119999999999}]],g:[[{x:.03166100000000001,y:.285331},{x:.03199195389402992,y:.28197076872347165},{x:.03216742697517915,y:.27859884139484714},{x:.032423533978450624,y:.2775888625904497},{x:.03252566238185464,y:.2765519355092742},{x:.03350580569139788,y:.2733208360362635},{x:.034335737494852386,y:.2700479324456657},{x:.07135573749485238,y:.1675239324456658},{x:.07223945098422414,y:.16566943556296815},{x:.07292365731738822,y:.16373243532732273},{x:.07413231799188957,y:.16169720247238553},{x:.07515058411631778,y:.15956034321175439},{x:.07637911169281072,y:.15791388391586245},{x:.07742806119285411,y:.15614758463046624},{x:.07901055202445481,y:.15438725620434748},{x:.0804261330120869,y:.15249010996133996},{x:.08195226304990277,y:.15111496075964967},{x:.08332564517579637,y:.14958724031548856},{x:.1584886451757964,y:.08090524031548854},{x:.16047116284778873,y:.07942238349974136},{x:.16231838489394151,y:.07777404756068641},{x:.16399482319868336,y:.07678680357956279},{x:.16555276842115366,y:.07562151273533077},{x:.16778648358567103,y:.07455391860853194},{x:.1699197861673149,y:.07329763012616651},{x:.2450797861673149,y:.038459630126166475},{x:.2459605302529857,y:.0381521715215269},{x:.24678324554357095,y:.03771242103699209},{x:.2501181687545519,y:.03670078314085588},{x:.253408434365457,y:.03555218561964517},{x:.254332237398671,y:.03542245939316866},{x:.2552249355092742,y:.03515166238185463},{x:.2586931398688001,y:.03481007406735549},{x:.26214426420887293,y:.034325445502994434},{x:.2630756249571383,y:.03437843696081321},{x:.264004,y:.034287},{x:.376189,y:.034287},{x:.37724627227682206,y:.03439113223027483},{x:.37830727432005307,y:.03433688416138392},{x:.3816280756224084,y:.03482270219101675},{x:.3849680644907258,y:.03515166238185463},{x:.38598470638687477,y:.035460057329467706},{x:.38703590484658207,y:.03561384285228289},{x:.39019811948723343,y:.036738182220129235},{x:.39340975445642906,y:.03771242103699209},{x:.39434669699397534,y:.038213227257056566},{x:.39534769490287125,y:.03856913648017993},{x:.4693886949028713,y:.07340713648017996},{x:.47140406041677185,y:.07460963544760885},{x:.47352148667564636,y:.07562166704766733},{x:.4751827197672129,y:.0768642309221422},{x:.47696422705836306,y:.07792719476830276},{x:.47870627197824944,y:.0794997663623443},{x:.480392,y:.08076065187723735},{x:.480392,y:.018480463023952315},{x:.44982106300216956,y:-.06618482166306154},{x:.42509763890365326,y:-.0887666681923909},{x:.3663917896728536,y:-.115601},{x:.27366828971008494,y:-.115601},{x:.21388478385740822,y:-.08868092320279419},{x:.15228882603575622,y:-.032396134475538775},{x:.11903308523020223,y:.0605977685009861},{x:.11526275900748023,y:.06857299605517989},{x:.11000898883421664,y:.07565942769130271},{x:.1034736741518217,y:.08158473581569503},{x:.09590796343849313,y:.08612121416008753},{x:.08760260271404471,y:.08909452840579157},{x:.07887676233341709,y:.09039041575379858},{x:.07006577144893004,y:.08995907598006667},{x:.061508231499013855,y:.08781708523020218},{x:.05353300394482007,y:.08404675900748018},{x:.046446572308697254,y:.07879298883421659},{x:.04052126418430494,y:.07225767415182165},{x:.035984785839912437,y:.06469196343849308},{x:.03301147159420839,y:.05638660271404467},{x:.03171558424620138,y:.04766076233341703},{x:.0321469240199333,y:.038849771448930016},{x:.03428891476979778,y:.030292231499013812},{x:.07130891476979778,y:-.07322776850098624},{x:.07221644299685706,y:-.07514742841768875},{x:.07292365731738822,y:-.07714956467267746},{x:.07409706350042253,y:-.07912543338941479},{x:.07507924099251978,y:-.08120299605518004},{x:.07634383839048098,y:-.08290872027080634},{x:.07742806119285414,y:-.08473441536953392},{x:.07896439356931816,y:-.08644339813281518},{x:.08033301116578337,y:-.08828942769130284},{x:.0819060799658371,y:-.08971566618082738},{x:.08332564517579637,y:-.09129475968451163},{x:.1584886451757964,y:-.15997675968451153},{x:.16066766565506738,y:-.1616065940183929},{x:.16271768036753925,y:-.16339598773796155},{x:.16419165994754753,y:-.1642424237156923},{x:.16555276842115366,y:-.1652604872646693},{x:.16800788453794988,y:-.16643389898185532},{x:.17036760218951646,y:-.1677889719724602},{x:.24552760218951647,y:-.2016329719724602},{x:.24617798725770038,y:-.20185206166908357},{x:.24678324554357095,y:-.2021755789630079},{x:.2503526828238078,y:-.20325835592431216},{x:.25388756161766735,y:-.20444912053505218},{x:.25456819199860076,y:-.20453711665220192},{x:.2552249355092742,y:-.20473633761814536},{x:.25893702635910487,y:-.20510194665533446},{x:.2626362900994872,y:-.20558021041579141},{x:.263321009549333,y:-.20553373131203426},{x:.264004,y:-.20560099999999998},{x:.376189,y:-.20560099999999998},{x:.3769985938815523,y:-.20552126196245651},{x:.37781053527049396,y:-.2055717752142049},{x:.38138177137190815,y:-.20508955666026785},{x:.3849680644907258,y:-.20473633761814536},{x:.3857465461334356,y:-.20450018779358015},{x:.38655274094280934,y:-.2043913285403334},{x:.3899612805709507,y:-.2032216620796743},{x:.39340975445642906,y:-.2021755789630079},{x:.39412720724734457,y:-.20179209245674457},{x:.39489667386274535,y:-.20152804409855607},{x:.4689376738627454,y:-.16768404409855608},{x:.471176129388074,y:-.16638175223486265},{x:.4735129313995788,y:-.16526550692304898},{x:.47497970384913024,y:-.16416890323360386},{x:.4765626813675205,y:-.163247956304222},{x:.47850406105855325,y:-.16153398660426738},{x:.480578193417323,y:-.15998330217620907},{x:.5187211934173229,y:-.125144302176209},{x:.5200982241105119,y:-.12361318710120846},{x:.5216280341275545,y:-.12223470670068204},{x:.5230406381933351,y:-.12034152832018923},{x:.5246201913815024,y:-.1185852292702623},{x:.52567205708302,y:-.11681488878073784},{x:.5269035440443172,y:-.11516444436572898},{x:.5279196645391884,y:-.1130320574948894},{x:.5291262301085498,y:-.11100134969861394},{x:.5298125082093796,y:-.10905981698676002},{x:.5306983467616347,y:-.10720083421055714},{x:.5677173467616347,y:-.0046778342105572215},{x:.5685472301626403,y:-.001405045768812418},{x:.5695273376181453,y:.0018259355092742052},{x:.5696294781899907,y:.002862986138707272},{x:.5698856101392306,y:.003873086692614168},{x:.5700610582123972,y:.007244891642088324},{x:.570392,y:.010604999999999976},{x:.570392,y:.560059},{x:.5695273376181453,y:.5688380644907257},{x:.5669665789630078,y:.577279754456429},{x:.5628081325536145,y:.5850596604858821},{x:.5572118051533946,y:.5918788051533946},{x:.5503926604858821,y:.5974751325536145},{x:.542612754456429,y:.6016335789630078},{x:.5341710644907257,y:.6041943376181453},{x:.525392,y:.605059},{x:.5166129355092742,y:.6041943376181453},{x:.508171245543571,y:.6016335789630078},{x:.5003913395141178,y:.5974751325536145},{x:.4935721948466053,y:.5918788051533946},{x:.48797586744638544,y:.5850596604858821},{x:.48381742103699205,y:.577279754456429},{x:.4812566623818546,y:.5688380644907257},{x:.480392,y:.560059},{x:.480392,y:.5595783858718113},{x:.47850787544975776,y:.5609876460911735},{x:.47656308903374583,y:.5627046621197919},{x:.47498407852937236,y:.5636233247252487},{x:.47352120750708176,y:.5647175018259646},{x:.47118052218859596,y:.5658362200595997},{x:.46893813108831367,y:.5671408350985324},{x:.39489713108831365,y:.6009858350985324},{x:.39412742928685096,y:.6012499737741558},{x:.39340975445642906,y:.6016335789630078},{x:.38996152003118717,y:.6026795894402057},{x:.3865532301567984,y:.60384921275647},{x:.38574678706033977,y:.6039581147092028},{x:.3849680644907258,y:.6041943376181453},{x:.38138202040224084,y:.6045475321329209},{x:.37781103767268465,y:.6050297570960106},{x:.3769988444371686,y:.6049792372848822},{x:.376189,y:.605059},{x:.264004,y:.605059},{x:.2633207613423033,y:.6049917068657756},{x:.2626357925427961,y:.6050381952835313},{x:.25893677979996554,y:.6045599223713788},{x:.2552249355092742,y:.6041943376181453},{x:.25456795333002863,y:.6039950442528821},{x:.2538870765735461,y:.6039070086250592},{x:.2503524457397967,y:.6027162840056636},{x:.24678324554357095,y:.6016335789630078},{x:.24617776729948443,y:.6013099440989677},{x:.24552714829793862,y:.6010907675853725},{x:.17036714829793861,y:.5672457675853725},{x:.16800780172583518,y:.5658908729822889},{x:.16555304759050302,y:.5647176561362495},{x:.1641916021742222,y:.563699355958929},{x:.16271727507130354,y:.5628526987282604},{x:.16066758950642807,y:.5610635523625588},{x:.15848888603577402,y:.5594339797745099},{x:.08332588603577401,y:.49075297977450993},{x:.08190615458499984,y:.48917372437901785},{x:.08033291862515302,y:.48774732555289924},{x:.07896444452212992,y:.48590147772545017},{x:.07742825448734617,y:.4841926782200152},{x:.07634390022195357,y:.48236679190821125},{x:.07507917015624571,y:.48066087782555583},{x:.0740970979464375,y:.4785835213931001},{x:.07292379561819572,y:.47660786018244516},{x:.07221648966449083,y:.47460551074132296},{x:.0713088683600783,y:.4726856387236396},{x:.034288868360078294,y:.36916463872363964},{x:.03348577523186824,y:.3659561323879453},{x:.03252566238185464,y:.3627910644907258},{x:.0324167369020588,y:.3616851255348066},{x:.032146903820267865,y:.36060709221327164},{x:.03198519043554786,y:.35730356073015046},{x:.03166100000000001,y:.354012},{x:.03166100000000001,y:.285331}],[{x:.121661,y:.29320659086815803},{x:.121661,y:.34620780969623244},{x:.15228882172599023,y:.4318540207415116},{x:.21388481974037543,y:.48813802669691503},{x:.2736685500834057,y:.5150589999999999},{x:.3663915263934284,y:.5150589999999999},{x:.4250929420729598,y:.48822590193711934},{x:.480392,y:.4376951204586189},{x:.480392,y:.20264468470162808},{x:.4249051037436742,y:.15194152341431572},{x:.3661311050032371,y:.124287},{x:.2739261218560311,y:.124287},{x:.21407100266628776,y:.15203091487935444},{x:.15223458736534265,y:.208535427414771},{x:.121661,y:.29320659086815803}]],h:[[{x:.047041,y:.05318299999999998},{x:.04790566238185463,y:.04440393550927419},{x:.050466421036992094,y:.03596224554357094},{x:.05462486744638546,y:.028182339514117884},{x:.06022119484660536,y:.021363194846605343},{x:.06704033951411792,y:.01576686744638544},{x:.07482024554357096,y:.011608421036992077},{x:.08326193550927423,y:.009047662381854615},{x:.092041,y:.008182999999999982},{x:.10082006449072577,y:.009047662381854615},{x:.10926175445642904,y:.011608421036992077},{x:.1170416604858821,y:.015766867446385446},{x:.12386080515339463,y:.021363194846605343},{x:.12945713255361452,y:.028182339514117884},{x:.1336155789630079,y:.03596224554357094},{x:.13617633761814535,y:.04440393550927421},{x:.137041,y:.05318299999999998},{x:.137041,y:.3692271498339558},{x:.23047284680205596,y:.45237128863270537},{x:.2915669774325256,y:.478914},{x:.38669764440631527,y:.478914},{x:.43644054132690624,y:.4571557093088599},{x:.465011,y:.38123324165433015},{x:.465011,y:.05318299999999998},{x:.4658756623818546,y:.04440393550927419},{x:.46843642103699207,y:.03596224554357094},{x:.47259486744638546,y:.028182339514117884},{x:.4781911948466053,y:.021363194846605343},{x:.4850103395141179,y:.01576686744638544},{x:.492790245543571,y:.011608421036992077},{x:.5012319355092743,y:.009047662381854615},{x:.510011,y:.008182999999999982},{x:.5187900644907257,y:.009047662381854615},{x:.527231754456429,y:.011608421036992077},{x:.5350116604858821,y:.015766867446385446},{x:.5418308051533947,y:.021363194846605343},{x:.5474271325536145,y:.028182339514117884},{x:.5515855789630079,y:.03596224554357094},{x:.5541463376181454,y:.04440393550927421},{x:.555011,y:.05318299999999998},{x:.555011,y:.38942},{x:.5546506186962206,y:.39307901278178137},{x:.554410350301749,y:.3967478709583736},{x:.5542188683658584,y:.3974626474508545},{x:.5541463376181454,y:.3981990644907258},{x:.5530790429582076,y:.40171746346329923},{x:.5521276325304605,y:.40526895152034226},{x:.5139866325304605,y:.5066239515203422},{x:.5138553396770835,y:.5068902237569821},{x:.5137747554395128,y:.50717595947055},{x:.511905898744729,y:.5108438433478746},{x:.5100853961903059,y:.5145359657635786},{x:.5099046789559015,y:.5147715076888114},{x:.5097698988494882,y:.5150360318659072},{x:.5072213830653152,y:.5182688425286295},{x:.504715563605999,y:.5215348594178236},{x:.5044923668525381,y:.521730619287556},{x:.5043085704011859,y:.5219637664124008},{x:.5011783335599848,y:.5246372687597332},{x:.4980834944323178,y:.5273516689249697},{x:.497826395485866,y:.5275001237971909},{x:.49760064588412606,y:.5276929341565276},{x:.49400898123224624,y:.5297043869925788},{x:.49044405536829966,y:.5317628575577613},{x:.490162934397186,y:.5318583023949868},{x:.48990390707565157,y:.532003366394835},{x:.41414290707565155,y:.5651423663948351},{x:.41372099607879415,y:.5652794559590063},{x:.41332975445642905,y:.5654885789630079},{x:.40952975949805703,y:.5666412948313546},{x:.4057531353317914,y:.5678684156337233},{x:.40531258638921414,y:.5679205603081202},{x:.4048880644907258,y:.5680493376181454},{x:.4009362016599996,y:.5684385621342186},{x:.39699274487562397,y:.5689053213297277},{x:.39655048803612764,y:.5688705172237564},{x:.396109,y:.568914},{x:.282214,y:.568914},{x:.28182836168040026,y:.5688760179407144},{x:.2814421286004882,y:.5689073796745989},{x:.27744221175957573,y:.5684440198796774},{x:.2734349355092742,y:.5680493376181454},{x:.2730641170540284,y:.5679368510695262},{x:.2726791869636831,y:.5678922598605547},{x:.26884652441488044,y:.5666574583296339},{x:.26499324554357095,y:.5654885789630079},{x:.2646514972979566,y:.5653059107200353},{x:.264282662844679,y:.5651870801833616},{x:.18800566284467896,y:.5320480801833616},{x:.1856267698486466,y:.5307235797343987},{x:.1831549202301779,y:.529581917442145},{x:.18178185218619736,y:.5285828381463435},{x:.18029822995654404,y:.527756799180932},{x:.17822344394147954,y:.5259936496360635},{x:.17602181748454487,y:.5243916901265875},{x:.137041,y:.4897030201456747},{x:.137041,y:.7597659999999999},{x:.13617633761814535,y:.7685450644907257},{x:.1336155789630079,y:.776986754456429},{x:.12945713255361452,y:.7847666604858821},{x:.12386080515339463,y:.7915858051533946},{x:.11704166048588208,y:.7971821325536145},{x:.10926175445642904,y:.8013405789630078},{x:.10082006449072577,y:.8039013376181453},{x:.092041,y:.804766},{x:.08326193550927423,y:.8039013376181453},{x:.07482024554357093,y:.8013405789630078},{x:.06704033951411792,y:.7971821325536145},{x:.06022119484660536,y:.7915858051533946},{x:.05462486744638546,y:.7847666604858821},{x:.050466421036992094,y:.776986754456429},{x:.04790566238185463,y:.7685450644907257},{x:.047041,y:.7597659999999999},{x:.047041,y:.05318299999999998}]],i:[[{x:.216026,y:.7597659999999999},{x:.21689066238185462,y:.7509869355092742},{x:.21945142103699208,y:.7425452455435709},{x:.22360986744638545,y:.7347653395141178},{x:.22920619484660534,y:.7279461948466053},{x:.2360253395141179,y:.7223498674463854},{x:.24380524554357094,y:.7181914210369921},{x:.25224693550927424,y:.7156306623818546},{x:.261026,y:.7147659999999999},{x:.341026,y:.7147659999999999},{x:.3498050644907258,y:.7156306623818546},{x:.35824675445642906,y:.7181914210369921},{x:.3660266604858821,y:.7223498674463854},{x:.3728458051533946,y:.7279461948466053},{x:.37844213255361453,y:.7347653395141178},{x:.3826005789630079,y:.7425452455435709},{x:.38516133761814536,y:.7509869355092742},{x:.386026,y:.7597659999999999},{x:.38516133761814536,y:.7685450644907257},{x:.3826005789630079,y:.776986754456429},{x:.37844213255361453,y:.7847666604858821},{x:.3728458051533946,y:.7915858051533946},{x:.3660266604858821,y:.7971821325536145},{x:.35824675445642906,y:.8013405789630078},{x:.3498050644907258,y:.8039013376181453},{x:.341026,y:.804766},{x:.261026,y:.804766},{x:.25224693550927424,y:.8039013376181453},{x:.24380524554357094,y:.8013405789630078},{x:.2360253395141179,y:.7971821325536145},{x:.22920619484660534,y:.7915858051533946},{x:.22360986744638545,y:.7847666604858821},{x:.21945142103699208,y:.776986754456429},{x:.21689066238185462,y:.7685450644907257},{x:.216026,y:.7597659999999999}],[{x:.25597800000000004,y:.05318299999999998},{x:.25684266238185466,y:.04440393550927419},{x:.2594034210369921,y:.03596224554357094},{x:.2635618674463855,y:.028182339514117884},{x:.2691581948466054,y:.021363194846605343},{x:.27597733951411796,y:.01576686744638544},{x:.28375724554357096,y:.011608421036992077},{x:.2921989355092742,y:.009047662381854615},{x:.300978,y:.008182999999999982},{x:.3097570644907258,y:.009047662381854615},{x:.3181987544564291,y:.011608421036992077},{x:.32597866048588214,y:.015766867446385446},{x:.33279780515339463,y:.021363194846605343},{x:.33839413255361456,y:.028182339514117884},{x:.34255257896300795,y:.03596224554357094},{x:.3451133376181454,y:.04440393550927421},{x:.345978,y:.05318299999999998},{x:.345978,y:.523911},{x:.3451133376181454,y:.5326900644907258},{x:.34255257896300795,y:.541131754456429},{x:.33839413255361456,y:.5489116604858821},{x:.33279780515339463,y:.5557308051533947},{x:.32597866048588214,y:.5613271325536145},{x:.3181987544564291,y:.5654855789630079},{x:.3097570644907258,y:.5680463376181454},{x:.300978,y:.5689110000000001},{x:.2921989355092742,y:.5680463376181454},{x:.28375724554357096,y:.5654855789630079},{x:.27597733951411796,y:.5613271325536145},{x:.2691581948466054,y:.5557308051533947},{x:.2635618674463855,y:.5489116604858821},{x:.2594034210369921,y:.541131754456429},{x:.25684266238185466,y:.5326900644907258},{x:.25597800000000004,y:.523911},{x:.25597800000000004,y:.05318299999999998}]],j:[[{x:.11017199870220953,y:-.1121580749666587},{x:.11173080987432929,y:-.12084080046598154},{x:.114953584640513,y:-.12905258085596802},{x:.11971647357384912,y:-.1364778420214504},{x:.12583644152368842,y:-.14283123533997366},{x:.1330783015538362,y:-.147868603469331},{x:.14116375304461573,y:-.15139636317729976},{x:.23896575304461573,y:-.18307436317729964},{x:.2424293887998465,y:-.18383095770413346},{x:.24586120600074532,y:-.1847208108507566},{x:.24673197042105502,y:-.1847708110651418},{x:.2475840766296098,y:-.18495694463669302},{x:.2511287638648936,y:-.18502327959701073},{x:.25466824139749206,y:-.18522652014211538},{x:.25553202888155596,y:-.18510568190524296},{x:.2564040749666586,y:-.1851220012977904},{x:.25989359333942796,y:-.1844955274762681},{x:.2634047110671092,y:-.18400434499968443},{x:.3944597110671092,y:-.15232634499968456},{x:.39510744613291976,y:-.15210060706564532},{x:.39578357398914765,y:-.1519849807175323},{x:.3992672661785621,y:-.15065089524264363},{x:.4027898773796621,y:-.14942325292878383},{x:.40338112711156726,y:-.1490754856432793},{x:.40402170577913904,y:-.1488301750218278},{x:.4071781926350792,y:-.14684208899421944},{x:.4103936167153703,y:-.14495080812962524},{x:.41090565971774945,y:-.14449437599440731},{x:.41148607211771127,y:-.14412880824922783},{x:.41419405162048195,y:-.14156312270000898},{x:.41697872163578864,y:-.1390808841476645},{x:.4173918803832174,y:-.13853332759371953},{x:.41788982159253774,y:-.13806155128824654},{x:.42004522760849955,y:-.13501686407422092},{x:.422292130251795,y:-.13203905886963707},{x:.4225905272853119,y:-.13142142018825975},{x:.42298686170256505,y:-.13086156542133753},{x:.4245068631872901,y:-.12745488216466036},{x:.4261296512500701,y:-.1240959456918764},{x:.4263018193390199,y:-.1234319603912164},{x:.42658131605481786,y:-.12280554206756752},{x:.4588533160548179,y:-.025908542067567514},{x:.4594769463166796,y:-.023162642495487502},{x:.46029433761814537,y:-.02046806449072583},{x:.46045163429328767,y:-.01887100454660151},{x:.46080705178433234,y:-.017306069686551954},{x:.4608830007338393,y:-.01449126757618431},{x:.461159,y:-.01168900000000006},{x:.461159,y:.534292},{x:.46029433761814537,y:.5430710644907257},{x:.4577335789630079,y:.551512754456429},{x:.45357513255361454,y:.5592926604858821},{x:.4479788051533946,y:.5661118051533947},{x:.4411596604858821,y:.5717081325536145},{x:.43337975445642907,y:.5758665789630079},{x:.4249380644907258,y:.5784273376181454},{x:.416159,y:.579292},{x:.4073799355092742,y:.5784273376181454},{x:.39893824554357094,y:.5758665789630079},{x:.39115833951411794,y:.5717081325536145},{x:.3843391948466054,y:.5661118051533947},{x:.37874286744638547,y:.5592926604858821},{x:.3745844210369921,y:.551512754456429},{x:.37202366238185464,y:.5430710644907257},{x:.371159,y:.534292},{x:.371159,y:-.004392296840350002},{x:.3490732119536395,y:-.07070509444595838},{x:.254610065464387,y:-.09353828321774525},{x:.16889624695538427,y:-.06577563682270039},{x:.16027792337039018,y:-.063893055363307},{x:.15145792503334138,y:-.0637279987022096},{x:.14277519953401854,y:-.06528680987432936},{x:.13456341914403205,y:-.06850958464051307},{x:.12713815797854966,y:-.0732724735738492},{x:.12078476466002638,y:-.07939244152368852},{x:.11574739653066908,y:-.08663430155383627},{x:.11221963682270032,y:-.0947197530446158},{x:.11033705536330693,y:-.10333807662960988},{x:.11017199870220953,y:-.1121580749666587}],[{x:.3403,y:.7597659999999999},{x:.3411646623818546,y:.7509869355092742},{x:.34372542103699205,y:.7425452455435709},{x:.34788386744638544,y:.7347653395141178},{x:.3534801948466053,y:.7279461948466053},{x:.3602993395141179,y:.7223498674463854},{x:.36807924554357097,y:.7181914210369921},{x:.37652093550927423,y:.7156306623818546},{x:.3853,y:.7147659999999999},{x:.447023,y:.7147659999999999},{x:.4558020644907258,y:.7156306623818546},{x:.46424375445642907,y:.7181914210369921},{x:.4720236604858821,y:.7223498674463854},{x:.4788428051533946,y:.7279461948466053},{x:.48443913255361454,y:.7347653395141178},{x:.48859757896300793,y:.7425452455435709},{x:.49115833761814537,y:.7509869355092742},{x:.492023,y:.7597659999999999},{x:.49115833761814537,y:.7685450644907257},{x:.48859757896300793,y:.776986754456429},{x:.48443913255361454,y:.7847666604858821},{x:.4788428051533946,y:.7915858051533946},{x:.4720236604858821,y:.7971821325536145},{x:.46424375445642907,y:.8013405789630078},{x:.4558020644907258,y:.8039013376181453},{x:.447023,y:.804766},{x:.3853,y:.804766},{x:.37652093550927423,y:.8039013376181453},{x:.36807924554357097,y:.8013405789630078},{x:.3602993395141179,y:.7971821325536145},{x:.3534801948466053,y:.7915858051533946},{x:.34788386744638544,y:.7847666604858821},{x:.34372542103699205,y:.776986754456429},{x:.3411646623818546,y:.7685450644907257},{x:.3403,y:.7597659999999999}]],k:[[{x:.020185999999999996,y:.05318299999999998},{x:.02105066238185463,y:.04440393550927419},{x:.02361142103699209,y:.03596224554357094},{x:.027769867446385453,y:.028182339514117884},{x:.03336619484660536,y:.021363194846605343},{x:.04018533951411791,y:.01576686744638544},{x:.047965245543570956,y:.011608421036992077},{x:.056406935509274225,y:.009047662381854615},{x:.065186,y:.008182999999999982},{x:.07396506449072576,y:.009047662381854615},{x:.08240675445642903,y:.011608421036992077},{x:.0901866604858821,y:.015766867446385446},{x:.09700580515339463,y:.021363194846605343},{x:.10260213255361453,y:.028182339514117884},{x:.10676057896300789,y:.03596224554357094},{x:.10932133761814536,y:.04440393550927421},{x:.11018599999999999,y:.05318299999999998},{x:.11018599999999999,y:.16578332733911408},{x:.23477705990096162,y:.26351643594805596},{x:.5068321321577423,y:.019673199736523116},{x:.5139466814455551,y:.014457569113271652},{x:.5219420457215526,y:.010730135081525344},{x:.5305109676204599,y:.008634140840755075},{x:.539324148279209,y:.008250134274186548},{x:.5480429021075728,y:.009592872538819623},{x:.5563321722854605,y:.012610754956160736},{x:.5638734068086124,y:.017187805997359452},{x:.5703768002634768,y:.02314813215774228},{x:.5755924308867283,y:.030262681445555134},{x:.5793198649184746,y:.03825804572155257},{x:.5814158591592449,y:.04682696762045996},{x:.5817998657258134,y:.05564014827920904},{x:.5804571274611804,y:.06435890210757275},{x:.5774392450438393,y:.07264817228546054},{x:.5728621940026405,y:.08018940680861247},{x:.5669018678422577,y:.08669280026347684},{x:.3066862956724008,y:.3199242805817128},{x:.5215978711622948,y:.4885076152557163},{x:.5279716470169837,y:.49460635247919954},{x:.533033147947031,y:.5018313661609891},{x:.5365878633102175,y:.5099050030771282},{x:.5384991873886431,y:.5185169978886772},{x:.5386936690698568,y:.5273363964646907},{x:.5371638345319164,y:.5360242742638681},{x:.5339684744581735,y:.5442467610146052},{x:.5292303847442837,y:.5516878711622948},{x:.5231316475208004,y:.5580616470169838},{x:.5159066338390108,y:.5631231479470311},{x:.5078329969228718,y:.5666778633102175},{x:.4992210021113228,y:.5685891873886431},{x:.49040160353530926,y:.5687836690698569},{x:.4817137257361318,y:.5672538345319164},{x:.47349123898539475,y:.5640584744581736},{x:.46605012883770514,y:.5593203847442837},{x:.11018599999999999,y:.28016947631338524},{x:.11018599999999999,y:.7597659999999999},{x:.10932133761814536,y:.7685450644907257},{x:.10676057896300789,y:.776986754456429},{x:.10260213255361453,y:.7847666604858821},{x:.09700580515339463,y:.7915858051533946},{x:.09018666048588207,y:.7971821325536145},{x:.08240675445642903,y:.8013405789630078},{x:.07396506449072576,y:.8039013376181453},{x:.065186,y:.804766},{x:.056406935509274204,y:.8039013376181453},{x:.04796524554357093,y:.8013405789630078},{x:.04018533951411791,y:.7971821325536145},{x:.03336619484660536,y:.7915858051533946},{x:.027769867446385453,y:.7847666604858821},{x:.02361142103699209,y:.776986754456429},{x:.02105066238185463,y:.7685450644907257},{x:.020185999999999996,y:.7597659999999999},{x:.020185999999999996,y:.05318299999999998}]],l:[[{x:.25602600000000003,y:.05355900000000002},{x:.25689066238185465,y:.044779935509274234},{x:.2594514210369921,y:.036338245543570985},{x:.2636098674463855,y:.028558339514117927},{x:.26920619484660535,y:.021739194846605386},{x:.27602533951411795,y:.016142867446385482},{x:.283805245543571,y:.01198442103699212},{x:.2922469355092743,y:.009423662381854658},{x:.301026,y:.008559000000000025},{x:.3098050644907258,y:.009423662381854658},{x:.3182467544564291,y:.01198442103699212},{x:.32602666048588214,y:.01614286744638549},{x:.3328458051533947,y:.021739194846605386},{x:.33844213255361455,y:.028558339514117927},{x:.34260057896300794,y:.036338245543570985},{x:.3451613376181454,y:.044779935509274255},{x:.346026,y:.05355900000000002},{x:.346026,y:.765137},{x:.3451613376181454,y:.7739160644907257},{x:.34260057896300794,y:.782357754456429},{x:.33844213255361455,y:.7901376604858821},{x:.3328458051533947,y:.7969568051533946},{x:.32602666048588214,y:.8025531325536145},{x:.3182467544564291,y:.8067115789630078},{x:.3098050644907258,y:.8092723376181453},{x:.301026,y:.810137},{x:.2922469355092743,y:.8092723376181453},{x:.283805245543571,y:.8067115789630078},{x:.27602533951411795,y:.8025531325536145},{x:.26920619484660535,y:.7969568051533946},{x:.2636098674463855,y:.7901376604858821},{x:.2594514210369921,y:.782357754456429},{x:.25689066238185465,y:.7739160644907257},{x:.25602600000000003,y:.765137},{x:.25602600000000003,y:.05355900000000002}]],m:[[{x:.005538000000000001,y:.03920400000000002},{x:.006402662381854635,y:.030424935509274227},{x:.008963421036992096,y:.02198324554357097},{x:.013121867446385459,y:.01420333951411792},{x:.018718194846605363,y:.00738419484660538},{x:.025537339514117914,y:.0017878674463854757},{x:.03331724554357096,y:-.002370578963007887},{x:.04175893550927423,y:-.004931337618145348},{x:.050538,y:-.005795999999999982},{x:.059317064490725775,y:-.004931337618145348},{x:.06775875445642904,y:-.002370578963007887},{x:.0755386604858821,y:.0017878674463854827},{x:.08235780515339464,y:.00738419484660538},{x:.08795413255361453,y:.01420333951411792},{x:.0921125789630079,y:.02198324554357098},{x:.09467333761814536,y:.030424935509274248},{x:.095538,y:.03920400000000002},{x:.095538,y:.3993271266071161},{x:.14963521853994496,y:.4943223065353007},{x:.1738257653562211,y:.5150589999999999},{x:.22021623464377893,y:.5150589999999999},{x:.2416666625786254,y:.49667119950297894},{x:.27741,y:.4029520066676719},{x:.27741,y:.03920400000000002},{x:.2782746623818546,y:.030424935509274227},{x:.28083542103699205,y:.02198324554357097},{x:.28499386744638544,y:.01420333951411792},{x:.2905901948466053,y:.00738419484660538},{x:.2974093395141179,y:.0017878674463854757},{x:.30518924554357096,y:-.002370578963007887},{x:.31363093550927423,y:-.004931337618145348},{x:.32241,y:-.005795999999999982},{x:.33118906449072577,y:-.004931337618145348},{x:.33963075445642904,y:-.002370578963007887},{x:.3474106604858821,y:.0017878674463854827},{x:.35422980515339464,y:.00738419484660538},{x:.3598261325536145,y:.01420333951411792},{x:.3639845789630079,y:.02198324554357098},{x:.36654533761814534,y:.030424935509274248},{x:.36740999999999996,y:.03920400000000002},{x:.36740999999999996,y:.3993264781598986},{x:.4215891088917321,y:.494459500052724},{x:.445289826307752,y:.5150589999999999},{x:.4920928256254945,y:.5150589999999999},{x:.5065149999999999,y:.5026965582556255},{x:.5065149999999999,y:.03920400000000002},{x:.5073796623818546,y:.030424935509274227},{x:.5099404210369921,y:.02198324554357097},{x:.5140988674463854,y:.01420333951411792},{x:.5196951948466053,y:.00738419484660538},{x:.5265143395141179,y:.0017878674463854757},{x:.534294245543571,y:-.002370578963007887},{x:.5427359355092742,y:-.004931337618145348},{x:.551515,y:-.005795999999999982},{x:.5602940644907257,y:-.004931337618145348},{x:.568735754456429,y:-.002370578963007887},{x:.5765156604858821,y:.0017878674463854827},{x:.5833348051533946,y:.00738419484660538},{x:.5889311325536145,y:.01420333951411792},{x:.5930895789630078,y:.02198324554357098},{x:.5956503376181453,y:.030424935509274248},{x:.596515,y:.03920400000000002},{x:.596515,y:.523393},{x:.5963454778388272,y:.5251141873868636},{x:.5963825315707437,y:.5268433058919912},{x:.5959141404350922,y:.5294936295415332},{x:.5956503376181453,y:.5321720644907257},{x:.5951482857762117,y:.5338271076115645},{x:.59484729324509,y:.5355302304139588},{x:.5938708496195351,y:.5380382502602514},{x:.5930895789630078,y:.540613754456429},{x:.592274291011045,y:.5421390509322689},{x:.5916468191910574,y:.543750727977755},{x:.5901998472565338,y:.5460200622246176},{x:.5889311325536145,y:.5483936604858821},{x:.5878339395503975,y:.5497305940285525},{x:.5869041018316961,y:.5511888894721116},{x:.5850422079081763,y:.5531323288770946},{x:.5833348051533946,y:.5552128051533947},{x:.581997871610724,y:.5563099981566119},{x:.5808014011353795,y:.5575588705221693},{x:.5380264011353795,y:.5942248705221693},{x:.5358211367621821,y:.5957677297988329},{x:.5337406604858821,y:.5974751325536145},{x:.5322153640100423,y:.5982904205055773},{x:.5307982404674333,y:.599281876328501},{x:.5283343527176928,y:.600364864260089},{x:.525960754456429,y:.6016335789630078},{x:.5243057113355902,y:.6021356308049415},{x:.5227223939887274,y:.6028315689939708},{x:.5200945686869033,y:.6034130669616181},{x:.5175190644907257,y:.6041943376181453},{x:.5157978771038628,y:.6043638597793182},{x:.5141092119504517,y:.6047375358201355},{x:.5114184349491921,y:.6047951971830532},{x:.50874,y:.605059},{x:.428467,y:.605059},{x:.42563553135621585,y:.6047801246797119},{x:.42279150043448566,y:.6046996620098968},{x:.4212557149999115,y:.6043487504203328},{x:.4196879355092742,y:.6041943376181453},{x:.41696527861756566,y:.6033684286794448},{x:.4141915924406847,y:.6027346691689239},{x:.4127537761476033,y:.6020908833721776},{x:.4112462455435709,y:.6016335789630078},{x:.40873703058140176,y:.6002923756232341},{x:.4061402803536474,y:.5991296742945802},{x:.40485568767586616,y:.5982177546177817},{x:.4034663395141179,y:.5974751325536145},{x:.4012669942053008,y:.5956701765049598},{x:.3989469715816508,y:.5940232153181825},{x:.3567609715816508,y:.5573572153181825},{x:.3545792701559384,y:.5550484712393128},{x:.3522737143614353,y:.552863400803129},{x:.35155574109793963,y:.5518488790642903},{x:.35070210094674875,y:.5509455305944583},{x:.3490127339279754,y:.5482555195520005},{x:.34717776483660073,y:.5456626430091704},{x:.33048446785976626,y:.5163509060824124},{x:.3216828574856715,y:.5394287684036221},{x:.32062739498214626,y:.5415455848316745},{x:.31976928952310246,y:.5437498007710907},{x:.3186639603788477,y:.5454834136126945},{x:.31774653490223986,y:.5473233854865517},{x:.3162983824161672,y:.5491936173608123},{x:.31502674401548947,y:.5511880718386934},{x:.3136044423732838,y:.5526727347769701},{x:.3123456842645886,y:.5542983712755478},{x:.3105604934838748,y:.5558501466339272},{x:.30892419049215825,y:.5575581938831911},{x:.2661511904921582,y:.594224193883191},{x:.26394553725639397,y:.5957674011217274},{x:.2618646604858821,y:.5974751325536145},{x:.26033982189406285,y:.5982901757614695},{x:.258923146662659,y:.5992813666868191},{x:.25645880963824363,y:.6003646200309664},{x:.25408475445642903,y:.6016335789630078},{x:.25243020816870526,y:.6021354800922637},{x:.25084738219782576,y:.6028312459348294},{x:.24821906447459133,y:.6034129165660671},{x:.24564306449072576,y:.6041943376181453},{x:.24392239379305308,y:.6043638088898747},{x:.2422342441971012,y:.6047374117585159},{x:.2395429505511757,y:.6047951464006902},{x:.236864,y:.605059},{x:.157178,y:.605059},{x:.1544990494488241,y:.6047951464006902},{x:.1518077558028988,y:.6047374117585159},{x:.15011960620694695,y:.6043638088898747},{x:.14839893550927424,y:.6041943376181453},{x:.14582293552540848,y:.6034129165660671},{x:.1431946178021742,y:.6028312459348294},{x:.1416117918312948,y:.6021354800922637},{x:.13995724554357097,y:.6016335789630078},{x:.13758319036175665,y:.6003646200309664},{x:.135118853337341,y:.5992813666868191},{x:.13370217810593676,y:.5982901757614691},{x:.13217733951411792,y:.5974751325536145},{x:.13009646274360603,y:.5957674011217274},{x:.1278908095078418,y:.594224193883191},{x:.09495385911112918,y:.5659898819750746},{x:.09467333761814536,y:.5688380644907257},{x:.0921125789630079,y:.577279754456429},{x:.08795413255361453,y:.5850596604858821},{x:.08235780515339464,y:.5918788051533946},{x:.07553866048588208,y:.5974751325536145},{x:.06775875445642904,y:.6016335789630078},{x:.059317064490725775,y:.6041943376181453},{x:.050538,y:.605059},{x:.04175893550927421,y:.6041943376181453},{x:.033317245543570934,y:.6016335789630078},{x:.025537339514117904,y:.5974751325536145},{x:.018718194846605356,y:.5918788051533946},{x:.013121867446385459,y:.5850596604858821},{x:.008963421036992096,y:.577279754456429},{x:.006402662381854635,y:.5688380644907257},{x:.005538000000000001,y:.560059},{x:.005538000000000001,y:.03920400000000002}]],n:[[{x:.047041,y:.03920400000000002},{x:.04790566238185463,y:.030424935509274227},{x:.050466421036992094,y:.02198324554357097},{x:.05462486744638546,y:.01420333951411792},{x:.06022119484660536,y:.00738419484660538},{x:.06704033951411792,y:.0017878674463854757},{x:.07482024554357096,y:-.002370578963007887},{x:.08326193550927423,y:-.004931337618145348},{x:.092041,y:-.005795999999999982},{x:.10082006449072577,y:-.004931337618145348},{x:.10926175445642904,y:-.002370578963007887},{x:.1170416604858821,y:.0017878674463854827},{x:.12386080515339463,y:.00738419484660538},{x:.12945713255361452,y:.01420333951411792},{x:.1336155789630079,y:.02198324554357098},{x:.13617633761814535,y:.030424935509274248},{x:.137041,y:.03920400000000002},{x:.137041,y:.3923986904044417},{x:.23217657812189968,y:.4860775193429304},{x:.29246969284729285,y:.5150589999999999},{x:.3857956927587408,y:.5150589999999999},{x:.4353266752666751,y:.4910865745843881},{x:.465011,y:.4037995608673687},{x:.465011,y:.03920400000000002},{x:.4658756623818546,y:.030424935509274227},{x:.46843642103699207,y:.02198324554357097},{x:.47259486744638546,y:.01420333951411792},{x:.4781911948466053,y:.00738419484660538},{x:.4850103395141179,y:.0017878674463854757},{x:.492790245543571,y:-.002370578963007887},{x:.5012319355092743,y:-.004931337618145348},{x:.510011,y:-.005795999999999982},{x:.5187900644907257,y:-.004931337618145348},{x:.527231754456429,y:-.002370578963007887},{x:.5350116604858821,y:.0017878674463854827},{x:.5418308051533947,y:.00738419484660538},{x:.5474271325536145,y:.01420333951411792},{x:.5515855789630079,y:.02198324554357098},{x:.5541463376181454,y:.030424935509274248},{x:.555011,y:.03920400000000002},{x:.555011,y:.411242},{x:.5547211401667089,y:.41418499627592825},{x:.5546227314347089,y:.4171405946120584},{x:.5542897326303223,y:.4185651504993601},{x:.5541463376181454,y:.4200210644907258},{x:.5532878972691104,y:.42285096307022063},{x:.5526147708021555,y:.4257305718218671},{x:.5144747708021555,y:.537881571821867},{x:.5144109474804813,y:.5380222238814931},{x:.5143747633675698,y:.5381723808934484},{x:.5125889395552703,y:.5420375142269895},{x:.5108295711501452,y:.5459147613418461},{x:.5107395343200961,y:.546040259499208},{x:.5106747512949527,y:.5461804721160435},{x:.5081691914797779,y:.5496229410537735},{x:.5056872154570532,y:.5530824522038071},{x:.5055744251835149,y:.5531879736350976},{x:.505483532821465,y:.5533128535645805},{x:.5023545242619802,y:.5562003659557777},{x:.4992453215682988,y:.5591091940676126},{x:.49911411231822944,y:.5591906836434047},{x:.49900060356177384,y:.559295431819878},{x:.49536839230215873,y:.5615170221826804},{x:.49175144785337105,y:.5637633826232722},{x:.4916068619246677,y:.563817708744868},{x:.49147509885166074,y:.5638982997546532},{x:.41571709885166075,y:.6005642997546532},{x:.4144883994140345,y:.6010164083750983},{x:.41333375445642906,y:.6016335789630078},{x:.41035728417594536,y:.6025364813514484},{x:.4074382196167836,y:.6036105717354909},{x:.4061449272779714,y:.6038142858466193},{x:.4048920644907258,y:.6041943376181453},{x:.4017966387343604,y:.6044992104448776},{x:.3987241185432898,y:.6049831812385367},{x:.3974159338025849,y:.6049306722213019},{x:.396113,y:.605059},{x:.282216,y:.605059},{x:.28097323419788345,y:.6049365982521052},{x:.2797255990169867,y:.6049900349640848},{x:.2765922846246742,y:.6045051123806029},{x:.2734369355092743,y:.6041943376181453},{x:.2722419284999821,y:.603831836204989},{x:.27100784129389754,y:.6036408445963318},{x:.26802933636200627,y:.6025539603505436},{x:.264995245543571,y:.6016335789630078},{x:.2638939207763026,y:.6010449086106044},{x:.2627208068242762,y:.6006168283817219},{x:.18644080682427616,y:.563950828381722},{x:.18387931815291048,y:.5623935720684188},{x:.18122474955630472,y:.5610008994562176},{x:.18011833133270075,y:.5601070811947741},{x:.17890296169536754,y:.5593681975674947},{x:.17669449694619624,y:.5573411418478543},{x:.17436263208920222,y:.5554573484070612},{x:.137041,y:.5187071981771466},{x:.137041,y:.560059},{x:.13617633761814535,y:.5688380644907257},{x:.1336155789630079,y:.577279754456429},{x:.12945713255361452,y:.5850596604858821},{x:.12386080515339463,y:.5918788051533946},{x:.11704166048588208,y:.5974751325536145},{x:.10926175445642904,y:.6016335789630078},{x:.10082006449072577,y:.6041943376181453},{x:.092041,y:.605059},{x:.08326193550927423,y:.6041943376181453},{x:.07482024554357093,y:.6016335789630078},{x:.06704033951411792,y:.5974751325536145},{x:.06022119484660536,y:.5918788051533946},{x:.05462486744638546,y:.5850596604858821},{x:.050466421036992094,y:.577279754456429},{x:.04790566238185463,y:.5688380644907257},{x:.047041,y:.560059},{x:.047041,y:.03920400000000002}]],o:[[{x:.021894999999999998,y:.25490100000000004},{x:.022142430975592695,y:.2523887911456351},{x:.02217771682540861,y:.24986467341374632},{x:.02257373987793045,y:.24800963837050735},{x:.02275966238185463,y:.24612193550927428},{x:.023492446675001572,y:.24370626943231966},{x:.02401948545822835,y:.2412375358426815},{x:.060310485458228355,y:.12735753584268142},{x:.06080304558444478,y:.12621387418764726},{x:.061129830312657105,y:.12501229639135567},{x:.06254436541764224,y:.12217075210694647},{x:.06379993607002282,y:.11925547753662338},{x:.06450614911208748,y:.11822988473324028},{x:.0650610709625847,y:.11711514745523491},{x:.06700278396163635,y:.114604164756607},{x:.06880297103068717,y:.11198985605258731},{x:.06969569761744246,y:.11112174505713},{x:.07045743125471368,y:.1101366870258529},{x:.14244943125471368,y:.0338456870258529},{x:.144568728324263,y:.03200109409682955},{x:.1465508815997487,y:.0300098604251366},{x:.14788834203377002,y:.029111770054614114},{x:.1491035320893312,y:.02805409342394511},{x:.1515419696884587,y:.026658398178569347},{x:.15387450686277807,y:.025092124424329433},{x:.22587150686277807,y:-.01360287557567049},{x:.22795933917571506,y:-.014473279294209745},{x:.22995424554357097,y:-.015539578963007873},{x:.23202067225559728,y:-.016166422653018674},{x:.2340138134199343,y:-.01699735024728135},{x:.23623133596214702,y:-.01744371352418634},{x:.23839593550927424,y:-.018100337618145335},{x:.2405449475487996,y:-.01831199682974963},{x:.24266189699648397,y:-.01873811583170923},{x:.2449238916202761,y:-.018743285176571887},{x:.247175,y:-.018964999999999968},{x:.354874,y:-.018964999999999968},{x:.35712497901801044,y:-.018743297917588594},{x:.3593868436844028,y:-.018738141970160445},{x:.36150392306047363,y:-.018312009573623896},{x:.3636530644907258,y:-.018100337618145335},{x:.36581753964743763,y:-.017443751257606326},{x:.36803493734305537,y:-.016997426474138877},{x:.370028203326089,y:-.016166460394901543},{x:.3720947544564291,y:-.015539578963007873},{x:.3740895461854217,y:-.014473340569958804},{x:.376177263560353,y:-.01360299896157894},{x:.448175263560353,y:.025092001038420984},{x:.4505076595021602,y:.026658160356610353},{x:.4529459593263057,y:.028053731854915283},{x:.45416130097157975,y:.029111510806286087},{x:.45549891730603415,y:.030009694621828502},{x:.4574809543881169,y:.03200078850323144},{x:.4596001404718476,y:.03384523318438343},{x:.5315941404718476,y:.11013623318438343},{x:.5323560786638525,y:.11112152750713142},{x:.5332490289693128,y:.11198985605258731},{x:.5350490398057314,y:.11460390882403626},{x:.5369905975332091,y:.11711461878219896},{x:.5375456739097991,y:.11822962771804991},{x:.5382520639299772,y:.11925547753662338},{x:.5395075116659538,y:.12217046671076734},{x:.5409219476918898,y:.12501171320336152},{x:.5412488309792026,y:.126213587584214},{x:.5417415145417717,y:.12735753584268142},{x:.5780325145417716,y:.2412375358426815},{x:.5785595533249983,y:.2437062694323195},{x:.5792923376181454,y:.24612193550927428},{x:.5794782601220696,y:.2480096383705079},{x:.5798742831745913,y:.24986467341374632},{x:.5799095690244073,y:.25238879114563434},{x:.580157,y:.25490100000000004},{x:.580157,y:.33119200000000004},{x:.5799156873690254,y:.3336420882589673},{x:.5798881240960263,y:.3361038771468651},{x:.5794843860383102,y:.3380211641581212},{x:.5792923376181454,y:.33997106449072584},{x:.5785776732343003,y:.3423269972319261},{x:.5780703683949873,y:.3447361062088315},{x:.5417793683949873,y:.4597211062088315},{x:.5412650895934552,y:.4609244011905288},{x:.540921633437906,y:.46218711230867804},{x:.5395351283421765,y:.46497211555478546},{x:.5383124760126231,y:.46783284286481475},{x:.5375733277285976,y:.46891268605384906},{x:.5369901282681178,y:.47008412955994733},{x:.5350869372989228,y:.47254512602400234},{x:.5333296776789325,y:.47511235762423976},{x:.5323940649664491,y:.4760272512524403},{x:.5315935342292432,y:.47706240922950055},{x:.45959953422924316,y:.5533504092295005},{x:.4572787448447235,y:.5553702403350376},{x:.45508230823461715,y:.5575246421731296},{x:.45395838697349994,y:.5582600166131206},{x:.4529452394037514,y:.5591417799431011},{x:.45027499383570063,y:.5606700370119551},{x:.44770045819082444,y:.5623545390972755},{x:.3757024581908245,y:.5999485390972755},{x:.37385313535723513,y:.6006937047902838},{x:.3720947544564291,y:.6016335789630078},{x:.36977177563531344,y:.6023382468844833},{x:.3675201821794923,y:.6032455034042244},{x:.36556101895058973,y:.6036155659602718},{x:.3636530644907258,y:.6041943376181453},{x:.36123724716457173,y:.6044322748568528},{x:.35885192047906295,y:.6048828346046191},{x:.35685820639902277,y:.60486357272721},{x:.354874,y:.605059},{x:.247175,y:.605059},{x:.24519066624232813,y:.6048635601834779},{x:.24319682408363533,y:.6048828119349353},{x:.24081162559758007,y:.6044322623250186},{x:.23839593550927424,y:.6041943376181453},{x:.23648785858508298,y:.6036155288111242},{x:.234528571713998,y:.6032454313367869},{x:.23227710201651716,y:.602338209770572},{x:.22995424554357097,y:.6016335789630078},{x:.2281957517789948,y:.6006936444633418},{x:.22634631449119302,y:.5999484204015954},{x:.15434931449119302,y:.5623544204015953},{x:.15177463525955168,y:.5606698034147719},{x:.14910425200363037,y:.5591414183832311},{x:.14809125527340347,y:.55825976164439},{x:.1469674919716301,y:.5575244814106152},{x:.14477093694990967,y:.5553699388664325},{x:.14245003748743465,y:.5533499553954043},{x:.07045803748743465,y:.4770619553954044},{x:.06965771196430402,y:.47602703312304784},{x:.06872232232106745,y:.47511235762423976},{x:.06696488716695402,y:.4725448695811053},{x:.06506154021654398,y:.4700836008922148},{x:.0644784960433022,y:.46891242859710086},{x:.06373952398737684,y:.46783284286481475},{x:.06251674952606694,y:.46497182979435886},{x:.06113014455468816,y:.46218652912371366},{x:.06078678779193787,y:.46092411430034236},{x:.06027263160501272,y:.4597211062088315},{x:.023981631605012717,y:.3447361062088315},{x:.0234743267656997,y:.3423269972319261},{x:.02275966238185463,y:.33997106449072584},{x:.0225676139616898,y:.3380211641581212},{x:.022163875903973694,y:.3361038771468651},{x:.022136312630974576,y:.33364208825896713},{x:.021894999999999998,y:.33119200000000004},{x:.021894999999999998,y:.25490100000000004}],[{x:.111895,y:.2618978965790472},{x:.111895,y:.324259211613835},{x:.14299436878278687,y:.42279496206129447},{x:.20271328316555492,y:.48607750096051383},{x:.25821631520114247,y:.5150589999999999},{x:.3438328207386419,y:.5150589999999999},{x:.3993370917152178,y:.4860772565752743},{x:.4590577300605173,y:.42279464888454726},{x:.490157,y:.324259211613835},{x:.490157,y:.2618978965790472},{x:.4591028039244665,y:.16445082019422033},{x:.39914727445977055,y:.10091681321598435},{x:.3435475642149213,y:.07103500000000003},{x:.2585015743575747,y:.07103500000000003},{x:.20290309936793577,y:.10091656436690524},{x:.14294929572583875,y:.164450507494742},{x:.111895,y:.2618978965790472}]],p:[[{x:.031904,y:-.15424400000000005},{x:.032768662381854635,y:-.16302306449072582},{x:.0353294210369921,y:-.17146475445642909},{x:.03948786744638546,y:-.17924466048588214},{x:.04508419484660536,y:-.18606380515339468},{x:.051903339514117915,y:-.19166013255361458},{x:.05968324554357096,y:-.19581857896300794},{x:.06812493550927423,y:-.1983793376181454},{x:.076904,y:-.19924400000000003},{x:.08568306449072577,y:-.1983793376181454},{x:.09412475445642904,y:-.19581857896300794},{x:.1019046604858821,y:-.19166013255361458},{x:.10872380515339464,y:-.18606380515339468},{x:.11432013255361453,y:-.17924466048588214},{x:.1184785789630079,y:-.17146475445642909},{x:.12103933761814537,y:-.16302306449072582},{x:.121904,y:-.15424400000000005},{x:.121904,y:.08461372659928788},{x:.12362832174470662,y:.08333438131496537},{x:.12536021772829115,y:.08178035235824195},{x:.1271620685101291,y:.08071254912256186},{x:.12884414120453105,y:.07946455014784792},{x:.13094744853162613,y:.07846927732892851},{x:.13294924262910485,y:.07728298474798974},{x:.20690724262910487,y:.04275398474798971},{x:.20784573679964677,y:.04242345923251374},{x:.20872324554357097,y:.041954421036992075},{x:.21199903754957586,y:.040960720395783044},{x:.21522783943974558,y:.03982357810698025},{x:.21621278303720604,y:.03968249467654502},{x:.21716493550927424,y:.0393936623818546},{x:.22057164546850772,y:.03905813073713887},{x:.2239602522910248,y:.038572746319036566},{x:.22495379448531613,y:.03862652673075318},{x:.225944,y:.038528999999999966},{x:.338005,y:.038528999999999966},{x:.33886621477794643,y:.03861382225207184},{x:.3397300481447032,y:.038562076501738984},{x:.34324908380057223,y:.0390454971728409},{x:.3467840644907258,y:.0393936623818546},{x:.3476121832677305,y:.039644869466491955},{x:.3484695134136621,y:.03976264352593092},{x:.35182662109175783,y:.04092330520367998},{x:.35522575445642907,y:.04195442103699206},{x:.3559889530923063,y:.042362359206810904},{x:.35680683330070073,y:.04264512708496585},{x:.4318888333007007,y:.07717412708496588},{x:.43400924312431544,y:.07841428389434572},{x:.43622962614931016,y:.07946501028796468},{x:.4378075563324746,y:.08063579029221077},{x:.43950360927818305,y:.0816277549521855},{x:.44134133343031445,y:.08325775393151234},{x:.4433140658676044,y:.08472146615145025},{x:.5183930658676044,y:.1527974661514503},{x:.519792625068414,y:.15434228537837358},{x:.5213447099268285,y:.1557337827706549},{x:.522746916505161,y:.1576032022519019},{x:.5243158963961404,y:.15933502631539204},{x:.52538718417891,y:.1611232027292085},{x:.5266379784876352,y:.1627907596241023},{x:.5276485364111687,y:.16489781566710873},{x:.5288495066792682,y:.16690245600899573},{x:.5295513540552914,y:.16886527099294393},{x:.530452790490496,y:.17074480411415546},{x:.5674347904904959,y:.2723648041141554},{x:.5682868803844835,y:.2756900562357905},{x:.5692833376181453,y:.27897493550927416},{x:.5693799285821196,y:.2799556400244087},{x:.5696245448495124,y:.2809102467717411},{x:.5698115375679212,y:.2843378395980749},{x:.570148,y:.28775399999999995},{x:.570148,y:.355831},{x:.5698183264321395,y:.3591782319067787},{x:.5696454905753794,y:.362537215959393},{x:.5693867528695432,y:.3635600718226051},{x:.5692833376181453,y:.3646100644907258},{x:.5683069860848939,y:.3678286641524751},{x:.567482165940186,y:.37108938766543825},{x:.530500165940186,y:.47369538766543823},{x:.5295747233109523,y:.4756403735939819},{x:.5288495066792682,y:.4776685439910043},{x:.5276841925618525,y:.47961366765708685},{x:.5267099630491849,y:.4816611880905031},{x:.5254228546094585,y:.48338825675926556},{x:.5243158963961404,y:.48523597368460797},{x:.5227934986603558,y:.48691638083844907},{x:.5214385372739072,y:.48873449599152474},{x:.5198392258792078,y:.49017727712011666},{x:.5183930658676044,y:.4917735338485497},{x:.4433140658676044,y:.5598495338485497},{x:.44114571117720175,y:.5614583923016819},{x:.43910641435493325,y:.5632279843609703},{x:.43761161896162687,y:.5640805897495177},{x:.43622962614931016,y:.5651059897120353},{x:.43378906307257026,y:.5662609093863238},{x:.43144372048223223,y:.5675986521566495},{x:.35636172048223225,y:.6011446521566495},{x:.355773047491519,y:.6013410447411239},{x:.35522575445642907,y:.6016335789630078},{x:.3515938477815883,y:.6027353058079922},{x:.3479935881359665,y:.6039364213810477},{x:.34737791203915763,y:.6040141959337602},{x:.3467840644907258,y:.6041943376181453},{x:.34300700763927916,y:.6045663452480041},{x:.3392415999493003,y:.6050420059085138},{x:.33862258083352115,y:.60499817359702},{x:.338005,y:.605059},{x:.225944,y:.605059},{x:.2251997336627212,y:.6049856961639699},{x:.22445344765540867,y:.6050343071552383},{x:.22081614914993766,y:.6045539507735711},{x:.21716493550927424,y:.6041943376181453},{x:.21644927090994795,y:.6039772431353645},{x:.21570784104506457,y:.6038793269025836},{x:.2122341450916469,y:.6026985986973952},{x:.20872324554357097,y:.6016335789630078},{x:.20806368527139987,y:.6012810366527016},{x:.20735560428285457,y:.6010403560617851},{x:.13339760428285458,y:.5674943560617851},{x:.13116986982932302,y:.566206971138138},{x:.12884414120453105,y:.5651064498521521},{x:.1273598902040749,y:.5640052229355318},{x:.12575970914356202,y:.5630804946901414},{x:.12382593632220404,y:.5613832370749092},{x:.121904,y:.5599572734007121},{x:.121904,y:.560059},{x:.12103933761814537,y:.5688380644907257},{x:.1184785789630079,y:.577279754456429},{x:.11432013255361453,y:.5850596604858821},{x:.10872380515339464,y:.5918788051533946},{x:.10190466048588208,y:.5974751325536145},{x:.09412475445642904,y:.6016335789630078},{x:.08568306449072577,y:.6041943376181453},{x:.076904,y:.605059},{x:.0681249355092742,y:.6041943376181453},{x:.059683245543570934,y:.6016335789630078},{x:.051903339514117915,y:.5974751325536145},{x:.04508419484660536,y:.5918788051533946},{x:.03948786744638546,y:.5850596604858821},{x:.0353294210369921,y:.577279754456429},{x:.032768662381854635,y:.5688380644907257},{x:.031904,y:.560059},{x:.031904,y:-.15424400000000005}],[{x:.121904,y:.20607608160839302},{x:.121904,y:.438494918391607},{x:.17699192809119763,y:.48844251958412144},{x:.23567259519301437,y:.5150589999999999},{x:.3284092961747297,y:.5150589999999999},{x:.38817711429028284,y:.4883552464171925},{x:.4496333594179428,y:.43263133769024387},{x:.48014799999999996,y:.3479689286382035},{x:.48014799999999996,y:.29568777567179994},{x:.44968806913177495,y:.21198926897045803},{x:.3879916447872207,y:.1560475837631447},{x:.32815352882369925,y:.12852899999999995},{x:.2359312215606538,y:.12852899999999995},{x:.17717907548697515,y:.15595879598931894},{x:.121904,y:.20607608160839302}]],q:[[{x:.031905,y:.285813},{x:.03224141038262204,y:.2823973680650777},{x:.0324282929389951,y:.2789703010434802},{x:.03267301908894614,y:.2780151713289937},{x:.032769662381854636,y:.2770339355092742},{x:.03376596546737772,y:.2737495643941025},{x:.03461784473664685,y:.27042480648246636},{x:.07159784473664685,y:.1688028064824664},{x:.0724995244823713,y:.166922651750872},{x:.0732016076706368,y:.1649592141085361},{x:.07440224792307432,y:.1629551516523985},{x:.07541246819615938,y:.16084867156853302},{x:.07666362241043057,y:.15918055247485355},{x:.0777352629490018,y:.15739181137154173},{x:.07930380642556048,y:.15566048970702676},{x:.08070556947724908,y:.15379156924569237},{x:.08225811700526783,y:.15239959067120604},{x:.08365813234923056,y:.15085428642438087},{x:.15873913234923054,y:.08277728642438094},{x:.16071062555900373,y:.0813145118522212},{x:.16254708404197357,y:.07968542770293169},{x:.16424441690754124,y:.07869257021816739},{x:.16582360332185575,y:.07752087268448676},{x:.16804258800473576,y:.07647082416071167},{x:.17016157800418052,y:.07523131768336211},{x:.24523757800418056,y:.0406993176833621},{x:.24605678866737324,y:.04041603175027397},{x:.24682124554357093,y:.04000742103699214},{x:.2502190216384501,y:.03897671692697023},{x:.2535747153580455,y:.03781630621794852},{x:.25443345146196317,y:.037698283616711674},{x:.2552629355092742,y:.03744666238185468},{x:.25879650468596477,y:.037098636194782805},{x:.2623141045905799,y:.03661518582049534},{x:.2631793653883337,y:.03666696209348752},{x:.264042,y:.036582000000000045},{x:.376106,y:.036582000000000045},{x:.3770966034546813,y:.036679565924422064},{x:.37809054588497415,y:.03662578154659327},{x:.38147875036256007,y:.037111169723096304},{x:.3848850644907258,y:.03744666238185468},{x:.3858375996101805,y:.03773561075136079},{x:.38682293652697,y:.03787676837406198},{x:.39005134306992567,y:.03901383585544661},{x:.39332675445642906,y:.04000742103699214},{x:.39420461585020444,y:.04047664772778637},{x:.3951434813083616,y:.04080732274273922},{x:.4691044813083616,y:.07533932274273922},{x:.47110618065167786,y:.07652560719175487},{x:.47320939667814427,y:.07752087268448679},{x:.4748915208069018,y:.0787689461703934},{x:.4766934263594154,y:.07983682509171056},{x:.47842523099597173,y:.08139082758714347},{x:.48014799999999996,y:.08266905805748193},{x:.48014799999999996,y:-.15619500000000008},{x:.4810126623818546,y:-.16497406449072585},{x:.483573421036992,y:-.17341575445642912},{x:.4877318674463854,y:-.18119566048588218},{x:.4933281948466053,y:-.18801480515339472},{x:.5001473395141178,y:-.19361113255361462},{x:.5079272455435709,y:-.19776957896300798},{x:.5163689355092742,y:-.20033033761814545},{x:.525148,y:-.20119500000000007},{x:.5339270644907257,y:-.20033033761814545},{x:.542368754456429,y:-.19776957896300798},{x:.5501486604858821,y:-.19361113255361462},{x:.5569678051533946,y:-.18801480515339472},{x:.5625641325536145,y:-.18119566048588218},{x:.5667225789630078,y:-.17341575445642912},{x:.5692833376181453,y:-.16497406449072585},{x:.570148,y:-.15619500000000008},{x:.570148,y:.5581050000000001},{x:.5692833376181453,y:.5668840644907258},{x:.5667225789630078,y:.5753257544564291},{x:.5625641325536145,y:.5831056604858822},{x:.5569678051533946,y:.5899248051533947},{x:.5501486604858821,y:.5955211325536146},{x:.542368754456429,y:.5996795789630079},{x:.5339270644907257,y:.6022403376181454},{x:.525148,y:.6031050000000001},{x:.5163689355092742,y:.6022403376181454},{x:.5079272455435709,y:.5996795789630079},{x:.5001473395141178,y:.5955211325536146},{x:.4933281948466053,y:.5899248051533947},{x:.4877318674463854,y:.5831056604858822},{x:.483573421036992,y:.5753257544564291},{x:.4810126623818546,y:.5668840644907258},{x:.48014799999999996,y:.5581050000000001},{x:.48014799999999996,y:.558005596763998},{x:.4782247267606458,y:.559432223348863},{x:.47629232280480055,y:.5611281889595863},{x:.4746904859851039,y:.5620538174856352},{x:.4732046002880372,y:.5631560030691136},{x:.4708804506539088,y:.5642554633364756},{x:.4686543108210992,y:.5655418481335316},{x:.3946933108210992,y:.5990868481335316},{x:.3939857884552202,y:.5993273179516839},{x:.39332675445642906,y:.5996795789630079},{x:.3898152875083263,y:.6007447708163117},{x:.38634099890642704,y:.6019255978665906},{x:.3856001580501581,y:.6020234163584227},{x:.3848850644907258,y:.6022403376181454},{x:.38123326077373504,y:.6026000088910167},{x:.3775953617236344,y:.6030803465985108},{x:.3768496724756141,y:.6030317546542387},{x:.376106,y:.6031050000000001},{x:.264042,y:.6031050000000001},{x:.26342400033164626,y:.6030441323453897},{x:.26280456058717394,y:.6030879828235033},{x:.25903957642572706,y:.602612304281983},{x:.2552629355092742,y:.6022403376181454},{x:.254668685221597,y:.6020600737641458},{x:.25405259303422617,y:.6019822349683996},{x:.25045275226756825,y:.6007811844842303},{x:.24682124554357093,y:.5996795789630079},{x:.24627358134186672,y:.5993868463484354},{x:.24568451278884912,y:.5991903095800973},{x:.17060851278884911,y:.5656453095800973},{x:.16826609518471405,y:.5643091772352096},{x:.16582839971196278,y:.5631560030691136},{x:.1644435861855132,y:.5621287897998347},{x:.16294590048199914,y:.5612744987855388},{x:.1609091582647261,y:.559507056844315},{x:.15874327554635076,y:.5579004698017108},{x:.08366227554635075,y:.4898404698017108},{x:.0822135909199537,y:.48824184486316324},{x:.08061175169940471,y:.4867967151276658},{x:.07925889408089541,y:.48498133393711457},{x:.07773859373239328,y:.48330368097737925},{x:.0766296214289207,y:.4814531488185024},{x:.0753404919252871,y:.4797232835162987},{x:.07436779238761855,y:.4776788549378484},{x:.07320399804016177,y:.47573684172476444},{x:.07247735524331753,y:.47370551725863386},{x:.07155047598047157,y:.4717573941431678},{x:.034570475980471575,y:.3691493941431678},{x:.03374586128764337,y:.36588916100716024},{x:.032769662381854636,y:.3626710644907258},{x:.032666195333495754,y:.36162054591923504},{x:.032407352052251925,y:.36059717166956007},{x:.03223462203187315,y:.35723870865311785},{x:.031905,y:.353892},{x:.031905,y:.285813}],[{x:.121905,y:.2937462257558374},{x:.121905,y:.3460304727958324},{x:.1524170009298456,y:.4306917867874386},{x:.21387346155335435,y:.48640130996954867},{x:.2736381428091649,y:.513105},{x:.36637802828147564,y:.513105},{x:.4250638403772601,y:.4864880590885319},{x:.48014799999999996,y:.4365549481293854},{x:.48014799999999996,y:.20413270643748072},{x:.4248733312055972,y:.15401438585682045},{x:.36611835928516706,y:.12658200000000003},{x:.27389496414813935,y:.12658200000000003},{x:.2140623112166411,y:.15410266134357853},{x:.15236330162501277,y:.21004602219345103},{x:.121905,y:.2937462257558374}]],r:[[{x:.062422000000000005,y:.03920400000000002},{x:.06328666238185464,y:.030424935509274227},{x:.0658474210369921,y:.02198324554357097},{x:.07000586744638546,y:.01420333951411792},{x:.07560219484660537,y:.00738419484660538},{x:.08242133951411793,y:.0017878674463854757},{x:.09020124554357097,y:-.002370578963007887},{x:.09864293550927423,y:-.004931337618145348},{x:.107422,y:-.005795999999999982},{x:.11620106449072577,y:-.004931337618145348},{x:.12464275445642904,y:-.002370578963007887},{x:.1324226604858821,y:.0017878674463854827},{x:.13924180515339463,y:.00738419484660538},{x:.14483813255361455,y:.01420333951411792},{x:.14899657896300791,y:.02198324554357098},{x:.15155733761814538,y:.030424935509274248},{x:.152422,y:.03920400000000002},{x:.152422,y:.3275398012121413},{x:.1925108808296549,y:.4204278633799401},{x:.27478075869941443,y:.4836647262821032},{x:.3576648607132649,y:.5150589999999999},{x:.49463,y:.5150589999999999},{x:.5034090644907258,y:.5159236623818546},{x:.511850754456429,y:.5184844210369921},{x:.5196306604858821,y:.5226428674463854},{x:.5264498051533947,y:.5282391948466053},{x:.5320461325536145,y:.5350583395141179},{x:.5362045789630079,y:.542838245543571},{x:.5387653376181454,y:.5512799355092742},{x:.53963,y:.560059},{x:.5387653376181454,y:.5688380644907257},{x:.5362045789630079,y:.577279754456429},{x:.5320461325536145,y:.5850596604858821},{x:.5264498051533947,y:.5918788051533946},{x:.5196306604858821,y:.5974751325536145},{x:.511850754456429,y:.6016335789630078},{x:.5034090644907258,y:.6041943376181453},{x:.49463,y:.605059},{x:.349428,y:.605059},{x:.34572095329292224,y:.6046938877675093},{x:.3420044651532413,y:.6044424555930356},{x:.34133700376168824,y:.6042621064259311},{x:.3406489355092742,y:.6041943376181453},{x:.33708434852821606,y:.6031130319790114},{x:.33348832364990477,y:.6021413801353276},{x:.23668632364990477,y:.5654753801353276},{x:.2347311434313091,y:.5645060813254815},{x:.23268939209293205,y:.5637356779621759},{x:.23078888495220712,y:.562551669954317},{x:.22878273496962892,y:.5615571024090896},{x:.2270542238076375,y:.5602249916656349},{x:.22520200238894322,y:.5590710654608507},{x:.152422,y:.5031286093364514},{x:.152422,y:.560059},{x:.15155733761814538,y:.5688380644907257},{x:.14899657896300791,y:.577279754456429},{x:.14483813255361455,y:.5850596604858821},{x:.13924180515339463,y:.5918788051533946},{x:.1324226604858821,y:.5974751325536145},{x:.12464275445642904,y:.6016335789630078},{x:.11620106449072577,y:.6041943376181453},{x:.107422,y:.605059},{x:.09864293550927423,y:.6041943376181453},{x:.09020124554357094,y:.6016335789630078},{x:.08242133951411793,y:.5974751325536145},{x:.07560219484660537,y:.5918788051533946},{x:.07000586744638546,y:.5850596604858821},{x:.0658474210369921,y:.577279754456429},{x:.06328666238185464,y:.5688380644907257},{x:.062422000000000005,y:.560059},{x:.062422000000000005,y:.03920400000000002}]],s:[[{x:.056563,y:.369888},{x:.056809270227573656,y:.3673875764180495},{x:.05684306423764694,y:.36487528163458033},{x:.05724057756471223,y:.36300843953465567},{x:.057427662381854636,y:.3611089355092742},{x:.05815700903783985,y:.3587046018033244},{x:.05868027810379197,y:.35624717294397146},{x:.05943435615016931,y:.3544937526945111},{x:.0599884210369921,y:.352667245543571},{x:.06117281573842168,y:.3504513989095756},{x:.06216545092350078,y:.34814327358726177},{x:.06324711489275962,y:.3465706581451233},{x:.06414686744638545,y:.3448873395141179},{x:.06574079456909979,y:.3429451336955602},{x:.0671646494598194,y:.3408750118720105},{x:.06853233161222538,y:.3395436359667022},{x:.06974319484660536,y:.33806819484660533},{x:.07168540066516299,y:.33647426772389105},{x:.07348575731657993,y:.3347217030198468},{x:.07508689839402109,y:.33368273068076537},{x:.07656233951411792,y:.33247186744638546},{x:.07877818614811302,y:.331287472744956},{x:.08088585786376518,y:.3299198152391437},{x:.15568385786376518,y:.29122381523914376},{x:.1574569269125657,y:.29051717359061785},{x:.15914024554357095,y:.2896174210369921},{x:.16154457924952065,y:.28888807438100694},{x:.16387856938737105,y:.2879578823843842},{x:.16575542835833412,y:.2876107272686775},{x:.16758193550927422,y:.2870566623818547},{x:.17008235909122482,y:.286810392154281},{x:.17255297371919248,y:.2863534124236203},{x:.17446149597461844,y:.28637908481714247},{x:.176361,y:.28619200000000006},{x:.288347309340128,y:.28619200000000006},{x:.3974525128623667,y:.21942256309828728},{x:.45549,y:.1602321160680505},{x:.45549,y:.13007078589845048},{x:.407404042616179,y:.10590438131127383},{x:.31753214348357883,y:.07103500000000003},{x:.21224543978224936,y:.07103500000000003},{x:.16354378174687056,y:.09622932957230687},{x:.14433666195924297,y:.15500005013212306},{x:.1407876006468136,y:.16307617408904287},{x:.13573115992893667,y:.17030473007440486},{x:.12936165598671553,y:.1764079287355125},{x:.12192386528459082,y:.18115122757053267},{x:.11370361794808405,y:.18435234426530817},{x:.10501681347236942,y:.18588826170046568},{x:.09619728088183255,y:.18569995543032455},{x:.08758394986787689,y:.1837946619592429},{x:.07950782591095708,y:.18024560064681355},{x:.07227926992559508,y:.1751891599289366},{x:.06617607126448745,y:.1688196559867155},{x:.06143277242946728,y:.16138186528459075},{x:.05823165573469179,y:.153161617948084},{x:.05669573829953427,y:.14447481347236937},{x:.0568840445696754,y:.1356552808818325},{x:.05878933804075704,y:.12704194986787684},{x:.08372233804075704,y:.050750949867876836},{x:.08542587043333498,y:.04687444913825993},{x:.08709879890390285,y:.042984643121031924},{x:.08719974017890864,y:.04283789110571456},{x:.0872713993531864,y:.04267482591095703},{x:.0896984666241539,y:.03920515373890898},{x:.0920981137517354,y:.03571646140762123},{x:.09222574536637099,y:.03559222185697407},{x:.09232784007106334,y:.035446269925595034},{x:.09538517138631239,y:.032516763866873036},{x:.0984193200775319,y:.02956325371133576},{x:.09856873722042347,y:.029466301081615798},{x:.09869734401328446,y:.029343071264487396},{x:.10226744784494098,y:.027066310594042624},{x:.10581949746716537,y:.024761484353185106},{x:.18061849746716538,y:-.013933515646814817},{x:.1823912439162618,y:-.014639995851387814},{x:.18407424554357094,y:-.01553957896300786},{x:.18647892276401756,y:-.016269029822976466},{x:.18881326125361947,y:-.017199317363260178},{x:.19068977232738848,y:-.017546377073194466},{x:.1925159355092742,y:-.018100337618145335},{x:.19501671633437545,y:-.018346643031098245},{x:.19748769126025723,y:-.018803648509519946},{x:.19939585369049342,y:-.018777950414796084},{x:.201295,y:-.018964999999999968},{x:.325956,y:-.018964999999999968},{x:.3298421413721484,y:-.018582248482612737},{x:.33373593654739714,y:-.01828737118339306},{x:.334227355251249,y:-.018150342613638803},{x:.3347350644907258,y:-.018100337618145335},{x:.33847186362931597,y:-.016966791992147238},{x:.34223331291484477,y:-.015917938922943478},{x:.44196531291484475,y:.022777061077056446},{x:.44388622686678575,y:.02374867869889352},{x:.4458951331158935,y:.02452214291663178},{x:.5206971331158935,y:.06211514291663188},{x:.5230429253028388,y:.06359852573319036},{x:.5254906604858821,y:.06490686744638552},{x:.526762463529903,y:.06595060923072474},{x:.5281530225051898,y:.06682994172267823},{x:.5301643473216751,y:.06874246310749585},{x:.5323098051533947,y:.07050319484660542},{x:.5333535469377338,y:.07177499789062616},{x:.5345458374532134,y:.07290871885358566},{x:.536145400814505,y:.07517688168239829},{x:.5379061325536145,y:.07732233951411796},{x:.538681702666837,y:.0787733291400739},{x:.5396299056666436,y:.08011787031323085},{x:.5407562372498129,y:.08265451036052812},{x:.5420645789630079,y:.08510224554357101},{x:.5425421726806072,y:.08667666103386074},{x:.5432098492552168,y:.08818035245395842},{x:.5438196647691762,y:.09088798806528645},{x:.5446253376181454,y:.09354393550927428},{x:.5447866012813922,y:.09518127295954937},{x:.5451480929944793,y:.09678632860859225},{x:.545217957571016,y:.09956090686586556},{x:.54549,y:.10232300000000005},{x:.54549,y:.17861300000000002},{x:.5450792542455133,y:.1827833716312913},{x:.5447095428008049,y:.18695758114513777},{x:.5446471218945653,y:.18717088502046353},{x:.5446253376181454,y:.1873920644907258},{x:.5434088850836819,y:.19140217107899518},{x:.5422319296624953,y:.19542404720269643},{x:.5421290946347417,y:.1956210747891699},{x:.5420645789630079,y:.19583375445642906},{x:.5400891672372728,y:.199529489854385},{x:.5381501975764,y:.20324447414399938},{x:.5380109003195782,y:.20341765378196683},{x:.5379061325536145,y:.20361366048588211},{x:.5352476756014034,y:.20685299965477524},{x:.5326212052175259,y:.21011832734743824},{x:.45781920521752584,y:.28640632734743826},{x:.45695946559173245,y:.28712616331644525},{x:.45621413415776596,y:.2879638966272176},{x:.45358375241990234,y:.28995255364350675},{x:.45105542866152953,y:.29206944848930627},{x:.4500717756605794,y:.29260772613156716},{x:.4491773318997613,y:.2932839556822147},{x:.3245133318997613,y:.3695749556822147},{x:.3213472249094816,y:.3711082739568931},{x:.3182447544564291,y:.37276657896300797},{x:.31738368821196916,y:.37302778055263114},{x:.3165738477898179,y:.3734199792757539},{x:.31316944110160955,y:.3743061584374605},{x:.3098030644907258,y:.3753273376181454},{x:.3089075854904768,y:.3754155346015568},{x:.3080367917497669,y:.3756422053074494},{x:.30452491480344407,y:.37584718998797495},{x:.301024,y:.376192},{x:.18731182116617404,y:.376192},{x:.146563,y:.397272996602132},{x:.146563,y:.42779681790574337},{x:.20153437253410483,y:.48386323770148376},{x:.2842918489876165,y:.5150589999999999},{x:.39008456648169626,y:.5150589999999999},{x:.4553477907191711,y:.4822576837794137},{x:.4635801440629335,y:.47908783003036465},{x:.47227272283422006,y:.4775849365970516},{x:.4810914761057044,y:.47780675883128426},{x:.48969750413477736,y:.47974477222900047},{x:.4977600820905977,y:.48332450002217653},{x:.5049693696238691,y:.488408375279255},{x:.5110483178577028,y:.4948010275251766},{x:.5157633162205862,y:.5022567907191711},{x:.5189331699696352,y:.5104891440629334},{x:.5204360634029483,y:.51918172283422},{x:.5202142411687157,y:.5280004761057044},{x:.5182762277709995,y:.5366065041347774},{x:.5146964999778234,y:.5446690820905977},{x:.509612624720745,y:.551878369623869},{x:.5032199724748234,y:.5579573178577029},{x:.49576420928082887,y:.5626723162205862},{x:.42096520928082887,y:.6002663162205862},{x:.41942927464851043,y:.6008577252562829},{x:.41797775445642904,y:.6016335789630078},{x:.4153223812886681,y:.6024390776071881},{x:.41273285593706643,y:.6034361699696352},{x:.41111105567880996,y:.6037165692645292},{x:.40953606449072577,y:.6041943376181453},{x:.40677456858393113,y:.6044663212253706},{x:.4040402771657799,y:.6049390634029483},{x:.4023949361559939,y:.6048976773693867},{x:.400757,y:.605059},{x:.276092,y:.605059},{x:.2724204350331364,y:.6046973824138966},{x:.26873912724910987,y:.6044542166602351},{x:.2680367190736708,y:.6042656240771296},{x:.2673129355092742,y:.6041943376181453},{x:.2637824667250502,y:.6031233816208718},{x:.26021933352302795,y:.6021667007079561},{x:.1604883335230279,y:.5645727007079561},{x:.15963695838633216,y:.5641523105976027},{x:.15873109713512196,y:.563867735718488},{x:.15568848233041307,y:.5622026409240001},{x:.1525785174681621,y:.5606670094317409},{x:.15182551530799093,y:.5600886019499048},{x:.15099257773152036,y:.559632770334096},{x:.14833326979676884,y:.5574060851671644},{x:.1455826488796249,y:.5552932363569977},{x:.14495695714670492,y:.554579039378831},{x:.14422895256892138,y:.5539694683796904},{x:.06943095256892137,y:.47768146837969044},{x:.06680494464711424,y:.4744165369262552},{x:.06414686744638545,y:.4711776604858821},{x:.0640418150384659,y:.470981121254323},{x:.0639021439692389,y:.47080746737336276},{x:.06196355058191934,y:.4670929619312254},{x:.0599884210369921,y:.46339775445642906},{x:.05992373008360734,y:.46318449696300446},{x:.05982062094636722,y:.462986931318802},{x:.05864394115023422,y:.4589655982489849},{x:.057427662381854636,y:.45495606449072584},{x:.05740581892006417,y:.454734284101312},{x:.05734323414113077,y:.4545203990307778},{x:.05697368708086039,y:.4503467759079653},{x:.056563,y:.44617700000000005},{x:.056563,y:.369888}]],t:[[{x:.036055000000000004,y:.484201},{x:.03691966238185464,y:.4754219355092742},{x:.0394804210369921,y:.466980245543571},{x:.04363886744638546,y:.4592003395141179},{x:.049235194846605365,y:.45238119484660533},{x:.05605433951411792,y:.44678486744638546},{x:.06383424554357096,y:.44262642103699207},{x:.07227593550927423,y:.4400656623818546},{x:.081055,y:.439201},{x:.201032,y:.439201},{x:.201032,y:.17345100000000002},{x:.2013458215844704,y:.17026471598156256},{x:.20148726326025637,y:.1670661406603643},{x:.20177732050748418,y:.165883633894134},{x:.20189666238185464,y:.16467193550927425},{x:.20282606714776777,y:.16160809859877695},{x:.20358880215081968,y:.15849857690755997},{x:.20410398165518515,y:.15739537903902878},{x:.2044574210369921,y:.15623024554357098},{x:.20596669248041014,y:.15340659727526443},{x:.20732140933230742,y:.15050562638878262},{x:.2623124093323074,y:.05773162638878261},{x:.2645408071528226,y:.05469603003381387},{x:.2666808493837164,y:.051597510818645845},{x:.2671477670132535,y:.051144744093296994},{x:.26753264280400524,y:.05062045370997057},{x:.2703104380556505,y:.04807792433615628},{x:.27301385108661325,y:.04545644382682572},{x:.2735601274310704,y:.04510346799784869},{x:.2740398919211364,y:.04466433724917905},{x:.27726033549019774,y:.04271258283448707},{x:.28042322867453984,y:.040668883056825214},{x:.28102787064035484,y:.04042926278737637},{x:.28158408674943697,y:.04009216722176761},{x:.28512341879560005,y:.038806192593798694},{x:.288624243922019,y:.03741881178414046},{x:.39861224392201905,y:.005893811784140432},{x:.4004470188387682,y:.005558110934368086},{x:.4022319355092743,y:.0050166623818546086},{x:.4047755505163489,y:.004766138170207483},{x:.4072897364122725,y:.0043061284251197166},{x:.4091547486303562,y:.0043348248023798485},{x:.411011,y:.004151999999999975},{x:.520997,y:.004151999999999975},{x:.5297760644907258,y:.0050166623818546086},{x:.538217754456429,y:.00757742103699207},{x:.5459976604858822,y:.011735867446385433},{x:.5528168051533947,y:.017332194846605337},{x:.5584131325536146,y:.02415133951411788},{x:.5625715789630079,y:.031931245543570935},{x:.5651323376181454,y:.040372935509274205},{x:.5659970000000001,y:.049151999999999973},{x:.5651323376181454,y:.05793106449072574},{x:.5625715789630079,y:.06637275445642901},{x:.5584131325536146,y:.07415266048588207},{x:.5528168051533947,y:.08097180515339461},{x:.5459976604858822,y:.08656813255361451},{x:.538217754456429,y:.09072657896300787},{x:.5297760644907258,y:.09328733761814534},{x:.520997,y:.09415199999999997},{x:.41733272532416527,y:.09415199999999997},{x:.33061421916568134,y:.11900744701827656},{x:.291032,y:.1857856616511605},{x:.291032,y:.439201},{x:.466004,y:.439201},{x:.47478306449072577,y:.4400656623818546},{x:.48322475445642904,y:.44262642103699207},{x:.4910046604858821,y:.44678486744638546},{x:.49782380515339464,y:.45238119484660533},{x:.5034201325536145,y:.4592003395141179},{x:.5075785789630078,y:.466980245543571},{x:.5101393376181453,y:.4754219355092742},{x:.511004,y:.484201},{x:.5101393376181453,y:.4929800644907258},{x:.5075785789630078,y:.501421754456429},{x:.5034201325536145,y:.5092016604858821},{x:.49782380515339464,y:.5160208051533947},{x:.4910046604858821,y:.5216171325536145},{x:.48322475445642904,y:.5257755789630079},{x:.47478306449072577,y:.5283363376181454},{x:.466004,y:.529201},{x:.291032,y:.529201},{x:.291032,y:.702148},{x:.2901673376181454,y:.7109270644907257},{x:.2876065789630079,y:.719368754456429},{x:.28344813255361456,y:.7271486604858821},{x:.27785180515339464,y:.7339678051533947},{x:.2710326604858821,y:.7395641325536145},{x:.26325275445642904,y:.7437225789630079},{x:.25481106449072577,y:.7462833376181454},{x:.246032,y:.747148},{x:.23725293550927423,y:.7462833376181454},{x:.22881124554357096,y:.7437225789630079},{x:.2210313395141179,y:.7395641325536145},{x:.21421219484660536,y:.7339678051533947},{x:.20861586744638547,y:.7271486604858821},{x:.2044574210369921,y:.719368754456429},{x:.20189666238185464,y:.7109270644907257},{x:.201032,y:.702148},{x:.201032,y:.529201},{x:.081055,y:.529201},{x:.07227593550927423,y:.5283363376181454},{x:.06383424554357094,y:.5257755789630079},{x:.05605433951411792,y:.5216171325536145},{x:.049235194846605365,y:.5160208051533947},{x:.04363886744638546,y:.5092016604858821},{x:.0394804210369921,y:.501421754456429},{x:.03691966238185464,y:.4929800644907258},{x:.036055000000000004,y:.484201}]],u:[[{x:.047041,y:.17386599999999997},{x:.04733731084809023,y:.17085750547164297},{x:.04744678100255899,y:.1678364368310572},{x:.0477687404511641,y:.16647712720137547},{x:.04790566238185463,y:.1650869355092742},{x:.048783207866406234,y:.16219405573845885},{x:.04947995583647738,y:.15925239265237093},{x:.08761895583647737,y:.04817539265237096},{x:.08938287590080696,y:.04431825367483454},{x:.09111755940033861,y:.04044787795123246},{x:.0912166047918106,y:.04030846472648272},{x:.0912877277290914,y:.04015294120864865},{x:.09377024504918263,y:.03671403980837168},{x:.09622666993792225,y:.03325645223155292},{x:.09635101037087945,y:.03313904059014135},{x:.09645110783403886,y:.03300038080982997},{x:.09955682066149267,y:.030111872039067004},{x:.10264058790854466,y:.027199945760571206},{x:.10278544504987946,y:.027109047766032002},{x:.10291067034954356,y:.026992580340839414},{x:.10652022788210418,y:.024765467971757132},{x:.11011283004156149,y:.02251110668543916},{x:.1858688300415615,y:-.015231893314560811},{x:.1873332068933575,y:-.0157898639141544},{x:.18871524554357097,y:-.01652857896300789},{x:.19144581156206075,y:-.017356887109087667},{x:.19411224226228255,y:-.018372875537717062},{x:.1956573361874375,y:-.018634439137126358},{x:.19715693550927424,y:-.019089337618145352},{x:.1999966293703256,y:-.019369023051625026},{x:.20281003486202434,y:-.01984529472354478},{x:.2043764687674932,y:-.01980039958033106},{x:.205936,y:-.019953999999999986},{x:.319832,y:-.019953999999999986},{x:.32132997950952447,y:-.01980646189590665},{x:.3228344649392302,y:-.019853723877644197},{x:.3257100002545037,y:-.019375067506000147},{x:.3286110644907258,y:-.019089337618145352},{x:.3300514774877758,y:-.018652393112465325},{x:.33153627500704863,y:-.018405236421526333},{x:.3342631764918695,y:-.017374788187221168},{x:.33705275445642907,y:-.01652857896300789},{x:.3383802466773209,y:-.015819019588053155},{x:.3397882963501792,y:-.015286942317463331},{x:.4160692963501792,y:.02245605768253664},{x:.4183042276197719,y:.02384992521458428},{x:.42064256487504254,y:.025062345668598177},{x:.4220380841989542,y:.02617863282445781},{x:.4235544084161923,y:.027124324140885128},{x:.42547446604244665,y:.028927422360218155},{x:.42753134130624215,y:.03057273346328787},{x:.465011,y:.06712410441560081},{x:.465011,y:.025046000000000013},{x:.4658756623818546,y:.016266935509274223},{x:.46843642103699207,y:.007825245543570968},{x:.47259486744638546,y:45339514117916785e-21},{x:.4781911948466053,y:-.006773805153394624},{x:.4850103395141179,y:-.012370132553614528},{x:.492790245543571,y:-.01652857896300789},{x:.5012319355092743,y:-.019089337618145352},{x:.510011,y:-.019953999999999986},{x:.5187900644907257,y:-.019089337618145352},{x:.527231754456429,y:-.01652857896300789},{x:.5350116604858821,y:-.012370132553614521},{x:.5418308051533947,y:-.006773805153394624},{x:.5474271325536145,y:45339514117916785e-21},{x:.5515855789630079,y:.007825245543570974},{x:.5541463376181454,y:.016266935509274244},{x:.555011,y:.025046000000000013},{x:.555011,y:.545898},{x:.5541463376181454,y:.5546770644907257},{x:.5515855789630079,y:.563118754456429},{x:.5474271325536145,y:.5708986604858821},{x:.5418308051533947,y:.5777178051533947},{x:.5350116604858821,y:.5833141325536145},{x:.527231754456429,y:.5874725789630079},{x:.5187900644907257,y:.5900333376181454},{x:.510011,y:.590898},{x:.5012319355092743,y:.5900333376181454},{x:.492790245543571,y:.5874725789630079},{x:.4850103395141179,y:.5833141325536145},{x:.4781911948466053,y:.5777178051533947},{x:.47259486744638546,y:.5708986604858821},{x:.46843642103699207,y:.563118754456429},{x:.4658756623818546,y:.5546770644907257},{x:.465011,y:.545898},{x:.465011,y:.19283699530520199},{x:.36978450462305706,y:.099969048308901},{x:.30930812362389754,y:.07004600000000001},{x:.2165251763155874,y:.07004600000000001},{x:.16675256431883717,y:.09484360935890679},{x:.137041,y:.18137632992954258},{x:.137041,y:.545898},{x:.13617633761814535,y:.5546770644907257},{x:.1336155789630079,y:.563118754456429},{x:.12945713255361452,y:.5708986604858821},{x:.12386080515339463,y:.5777178051533947},{x:.11704166048588208,y:.5833141325536145},{x:.10926175445642904,y:.5874725789630079},{x:.10082006449072577,y:.5900333376181454},{x:.092041,y:.590898},{x:.08326193550927423,y:.5900333376181454},{x:.07482024554357093,y:.5874725789630079},{x:.06704033951411792,y:.5833141325536145},{x:.06022119484660536,y:.5777178051533947},{x:.05462486744638546,y:.5708986604858821},{x:.050466421036992094,y:.563118754456429},{x:.04790566238185463,y:.5546770644907257},{x:.047041,y:.545898},{x:.047041,y:.17386599999999997}]],v:[[{x:.003930906419490336,y:.5438334563092145},{x:.005386967221411215,y:.5351329102741644},{x:.00851244255100142,y:.5268836061622384},{x:.26071044255100145,y:.018289606162238365},{x:.26144011887972296,y:.017121905714788027},{x:.2620056398700735,y:.01586646241095203},{x:.26377267234206975,y:.013389122267562115},{x:.26538522214413157,y:.010808560104194675},{x:.26632868500311185,y:.009805649483352854},{x:.267128264504625,y:.008684656842684199},{x:.2693446490294707,y:.006599649029470163},{x:.2714296568426842,y:.00438326450462502},{x:.27255064948335267,y:.0035836850031119977},{x:.2735535601041947,y:.0026402221441315446},{x:.27613412226756273,y:.0010276723420693272},{x:.278611462410952,y:-.0007393601299264599},{x:.2798669057147878,y:-.0013048811202769175},{x:.28103460616223835,y:-.0020345574489985807},{x:.28388017640738666,y:-.0031126798553442526},{x:.2866546460885495,y:-.00436245420755494},{x:.28799629407344673,y:-.00467218403223142},{x:.2892839102741644,y:-.005160032778588779},{x:.2922851349323858,y:-.00566229614975999},{x:.29525011283741587,y:-.006346784254711718},{x:.2966264067237199,y:-.006388820170250395},{x:.2979844563092145,y:-.006616093580509658},{x:.301026,y:-.00652319621682493},{x:.30406754369078554,y:-.006616093580509658},{x:.3054255932762801,y:-.006388820170250395},{x:.30680188716258416,y:-.006346784254711718},{x:.30976686506761425,y:-.005662296149759988},{x:.31276808972583564,y:-.005160032778588779},{x:.3140557059265533,y:-.00467218403223142},{x:.3153973539114505,y:-.00436245420755494},{x:.3181718235926135,y:-.0031126798553442175},{x:.3210173938377617,y:-.0020345574489985807},{x:.32218509428521225,y:-.0013048811202769192},{x:.323440537589048,y:-.0007393601299264599},{x:.32591787773243747,y:.0010276723420694187},{x:.32849843989580535,y:.0026402221441315446},{x:.32950135051664736,y:.0035836850031119635},{x:.3306223431573158,y:.00438326450462502},{x:.3327073509705293,y:.006599649029470129},{x:.334923735495375,y:.008684656842684203},{x:.33572331499688823,y:.009805649483352899},{x:.33666677785586846,y:.01080856010419469},{x:.3382793276579303,y:.013389122267562135},{x:.3400463601299265,y:.01586646241095204},{x:.34061188112027707,y:.017121905714788034},{x:.3413415574489986,y:.018289606162238365},{x:.5935395574489987,y:.5268836061622384},{x:.5966650327785888,y:.5351329102741644},{x:.5981210935805097,y:.5438334563092145},{x:.5978517842547117,y:.5526508871625841},{x:.595867454207555,y:.5612463539114505},{x:.5922443601299265,y:.569289537589048},{x:.587121735495375,y:.5764713431573159},{x:.5806964398958053,y:.5825157778558685},{x:.5732153938377617,y:.5871905574489986},{x:.5649660897258356,y:.5903160327785888},{x:.5562655436907855,y:.5917720935805096},{x:.5474481128374159,y:.5915027842547117},{x:.5388526460885495,y:.589518454207555},{x:.5308094624109521,y:.5858953601299265},{x:.5236276568426842,y:.580772735495375},{x:.5175832221441315,y:.5743474398958054},{x:.5129084425510014,y:.5668663938377616},{x:.301026,y:.13957458745236595},{x:.08914355744899859,y:.5668663938377616},{x:.08446877785586845,y:.5743474398958054},{x:.07842434315731579,y:.580772735495375},{x:.07124253758904797,y:.5858953601299265},{x:.06319935391145051,y:.589518454207555},{x:.054603887162584124,y:.5915027842547117},{x:.04578645630921451,y:.5917720935805096},{x:.037085910274164385,y:.5903160327785888},{x:.028836606162238352,y:.5871905574489986},{x:.02135556010419467,y:.5825157778558685},{x:.014930264504625007,y:.5764713431573159},{x:.009807639870073534,y:.569289537589048},{x:.006184545792445054,y:.5612463539114505},{x:.004200215745288276,y:.5526508871625841},{x:.003930906419490336,y:.5438334563092145}]],w:[[{x:-.04481226541001698,y:.5427688011711321},{x:-.0431501306438814,y:.534105261341125},{x:.1073618693561186,y:.025511261341124997},{x:.10747750697825527,y:.02522662926113043},{x:.10753949092041715,y:.02492572151525217},{x:.1091366577408943,y:.021142772088450095},{x:.11068223944402648,y:.01733845540642648},{x:.11085118408582124,y:.017081852232977028},{x:.1109706812129555,y:.01679881881229654},{x:.11327517574267339,y:.0134001494872997},{x:.11553324489331337,y:.009970459715744673},{x:.11574900410692728,y:.009751746564891355},{x:.11592142221145292,y:.009497464285038355},{x:.11884468401801046,y:.006613684018010047},{x:.12172846428503836,y:.0036904222114529234},{x:.12198274656489135,y:.0035180041069272803},{x:.12220145971574467,y:.0033022448933133844},{x:.1256311494872997,y:.001044175742673395},{x:.12902981881229655,y:-.0012603187870445023},{x:.12931285223297703,y:-.0013798159141787526},{x:.12956945540642648,y:-.0015487605559735135},{x:.1333737720884501,y:-.0030943422591057004},{x:.13715672151525218,y:-.004691509079582858},{x:.13745762926113045,y:-.004753493021744735},{x:.137742261341125,y:-.004869130643881392},{x:.14177500717701197,y:-.005642829061426576},{x:.14579686008065018,y:-.006471289947453558},{x:.1461040784358031,y:-.006473378696506754},{x:.14640580117113214,y:-.006531265410016966},{x:.150512,y:-.006503347745684165},{x:.15461819882886788,y:-.006531265410016966},{x:.15491992156419693,y:-.006473378696506754},{x:.15522713991934983,y:-.006471289947453558},{x:.159248992822988,y:-.005642829061426585},{x:.16328173865887502,y:-.004869130643881392},{x:.16356637073886957,y:-.004753493021744732},{x:.16386727848474786,y:-.004691509079582851},{x:.1676502279115502,y:-.0030943422591055763},{x:.17145454459357354,y:-.0015487605559735135},{x:.17171114776702298,y:-.0013798159141787517},{x:.17199418118770346,y:-.0012603187870445023},{x:.17539285051270065,y:.001044175742673613},{x:.17882254028425534,y:.0033022448933133844},{x:.17904125343510863,y:.0035180041069272374},{x:.17929553571496165,y:.0036904222114529095},{x:.18217931598198978,y:.006613684018010279},{x:.1851025777885471,y:.009497464285038375},{x:.18527499589307275,y:.009751746564891386},{x:.18549075510668664,y:.009970459715744683},{x:.1877488242573266,y:.013400149487299715},{x:.1900533187870445,y:.016798818812296553},{x:.19017281591417878,y:.01708185223297707},{x:.19034176055597352,y:.01733845540642648},{x:.19188734225910553,y:.02114277208844964},{x:.19348450907958287,y:.02492572151525217},{x:.19354649302174473,y:.02522662926113043},{x:.1936621306438814,y:.025511261341124997},{x:.30102443002882817,y:.38829842311817664},{x:.4083889386148475,y:.025511027311792445},{x:.40850451632069196,y:.025226547135196155},{x:.40856646677585007,y:.0249257992040805},{x:.410163689741502,y:.021142697708463984},{x:.41170935302882616,y:.01733823938560964},{x:.41187820927072055,y:.017081773507688556},{x:.41199764237598097,y:.016798890297984457},{x:.41430222163921304,y:.013400082779514221},{x:.4165603984391837,y:.009970270005002412},{x:.41677604416644776,y:.009751674265617277},{x:.4169483701745541,y:.009497526820430955},{x:.41987174204670485,y:.006613627545966159},{x:.42275565189129766,y:.0036902661012626486},{x:.42300979995956794,y:.0035179410120882958},{x:.4232283964786704,y:.003302296075210584},{x:.4266582174181369,y:.0010441316765615349},{x:.4300570332693414,y:-.001260435297455717},{x:.43033991691088264,y:-.001379867379883588},{x:.4305963833993421,y:-.0015487226944633017},{x:.43440084731088763,y:-.0030943722258508074},{x:.43818395458161874,y:-.004691581512785238},{x:.43848470273672896,y:-.004753530880516994},{x:.4387691833312223,y:-.0048691075577547704},{x:.44280208680029426,y:-.005642843777199688},{x:.4468241027997286,y:-.0064713155198797695},{x:.44713115788546864,y:-.006473401493455157},{x:.44743272015628793,y:-.006531257986460835},{x:.45153908096424766,y:-.006503346644966049},{x:.45564544187310013,y:-.00653124313893301},{x:.4559470039347234,y:-.006473385555557348},{x:.4562540590129192,y:-.0064712984717510205},{x:.4602760720167908,y:-.005642812186517322},{x:.4643089726882076,y:-.004869061385152536},{x:.46459345286480397,y:-.004753483679308031},{x:.46489420079591953,y:-.0046915332241499325},{x:.46867730229153426,y:-.003094310258498727},{x:.4724817606143904,y:-.0015486469711738574},{x:.4727382264923116,y:-.0013797907292793573},{x:.47302110970201555,y:-.0012603576240190345},{x:.4764199172204845,y:.0010442216392121837},{x:.47984972999499764,y:.0033023984391836667},{x:.4800683257343829,y:.003518044166447842},{x:.48032247317956905,y:.003690370174554085},{x:.483206372454032,y:.0066137420467029156},{x:.48612973389873737,y:.009497651891297622},{x:.4863020589879118,y:.009751799959568049},{x:.48651770392478944,y:.009970396478670394},{x:.4887758683234383,y:.01340021741813658},{x:.49108043529745576,y:.016799033269341422},{x:.49119986737988364,y:.017081916910882677},{x:.4913687226944633,y:.017338383399342037},{x:.4929143722258502,y:.021142847310886045},{x:.4945115815127853,y:.024925954581618698},{x:.4945735308805171,y:.025226702736729056},{x:.4946891075577548,y:.025511183331222268},{x:.6452021075577549,y:.5341051833312223},{x:.6468642579864609,y:.542768720156288},{x:.646804298471751,y:.5515900590129192},{x:.64502453322415,y:.5602302007959196},{x:.641593357624019,y:.5683571097020156},{x:.636642629825446,y:.5756584731795691},{x:.6303626035213297,y:.5818537039247894},{x:.622994616600658,y:.5867047226944633},{x:.6148218166687778,y:.5900251075577548},{x:.6061582798437121,y:.5916872579864608},{x:.5973369409870808,y:.591627298471751},{x:.5886967992040805,y:.58984753322415},{x:.5805698902979844,y:.5864163576240191},{x:.573268526820431,y:.5814656298254459},{x:.5670732960752106,y:.5751856035213296},{x:.5622222773055368,y:.567817616600658},{x:.5589018924422452,y:.5596448166687777},{x:.4515387133151436,y:.1968570925189096},{x:.34417406138515255,y:.5596449726882076},{x:.3440584683142858,y:.559929490683899},{x:.34399650907958285,y:.5602302784847478},{x:.3423992950207163,y:.5640133397974443},{x:.3408536469711739,y:.5678177606143904},{x:.3406847682813525,y:.5680742605871558},{x:.34056531878704455,y:.5683571811877035},{x:.33826075609875456,y:.5717559510329858},{x:.33600260156081635,y:.5751857299949976},{x:.33578692716538155,y:.5754043547947312},{x:.3356145777885471,y:.5756585357149616},{x:.33269122952253233,y:.5785424012737268},{x:.32980734810870244,y:.5814657338987373},{x:.3295531662537196,y:.581638081896991},{x:.3293345402842553,y:.5818537551066867},{x:.3259047490749403,y:.5841118910428063},{x:.32250596673065857,y:.5864164352974557},{x:.322223045482268,y:.5865358832573104},{x:.32196654459357354,y:.5867047605559735},{x:.318162115393689,y:.5882503879717952},{x:.31437904541838135,y:.5898475815127853},{x:.31407825728149374,y:.5899095391161314},{x:.313793738658875,y:.5900251306438814},{x:.30976087354902626,y:.5907988519446131},{x:.3057388972002714,y:.5916273155198798},{x:.3054318012943039,y:.5916294017707667},{x:.3051301988288679,y:.5916872654100169},{x:.30102387855356455,y:.5916593469199811},{x:.29691755812689985,y:.5916872431389331},{x:.2966159559752979,y:.5916293778639092},{x:.2963088600806502,y:.5916272899474536},{x:.29228688822522214,y:.5907988045585649},{x:.28825402731179245,y:.5900250613851525},{x:.2879695093161011,y:.5899094683142858},{x:.2876687215152522,y:.5898475090795828},{x:.2838856602025565,y:.5882502950207166},{x:.28008123938560964,y:.5867046469711739},{x:.27982473941284386,y:.5865357682813523},{x:.27954181881229656,y:.5864163187870445},{x:.276143048967013,y:.5841117560987538},{x:.2727132700050024,y:.5818536015608163},{x:.2724946452052691,y:.5816379271653819},{x:.27224046428503834,y:.5814655777885471},{x:.2693565987262721,y:.5785422295225312},{x:.2664332661012626,y:.5756583481087024},{x:.2662609181030087,y:.5754041662537193},{x:.2660452448933134,y:.5751855402842553},{x:.26378710895719626,y:.5717557490749442},{x:.2614825647025443,y:.5683569667306586},{x:.2613631167426894,y:.5680740454822678},{x:.2611942394440265,y:.5678175445935736},{x:.2596486120282045,y:.5640131153936881},{x:.2580514184872148,y:.5602300454183813},{x:.25798946088386876,y:.5599292572814941},{x:.2578738693561186,y:.559644738658875},{x:.150512,y:.196859029989096},{x:.0431501306438814,y:.559644738658875},{x:.039829760555973516,y:.5678175445935736},{x:.034978755106686646,y:.5751855402842553},{x:.028783535714961644,y:.5814655777885471},{x:.021482181187703456,y:.5864163187870445},{x:.01335527848474783,y:.5898475090795828},{x:.0047151399193498065,y:.5916272899474536},{x:-.004106198828867862,y:.5916872654100169},{x:-.01276973865887501,y:.5900251306438814},{x:-.020942544593573535,y:.5867047605559735},{x:-.028310540284255312,y:.5818537551066867},{x:-.034590577788547086,y:.5756585357149616},{x:-.03954131878704451,y:.5683571811877035},{x:-.04297250907958286,y:.5602302784847478},{x:-.04475228994745356,y:.5515901399193498},{x:-.04481226541001698,y:.5427688011711321}]],x:[[{x:-.007882248997940308,y:.03911618267902263},{x:-.007180671607209664,y:.030322582532795114},{x:-.0047770285451087455,y:.021834819906700376},{x:-.0007636904665355299,y:.013979074758467071},{x:.004705112296856322,y:.007057238968589209},{x:.011419216721809594,y:.001335314804661543},{x:.019120603540586492,y:-.0029668073965882433},{x:.02751331277672888,y:-.0056837994916240225},{x:.036274817320977384,y:-.006711248997940296},{x:.04506841746720488,y:-.006009671607209652},{x:.05355618009329963,y:-.003606028545108733},{x:.061411925241532925,y:.0004073095334644686},{x:.0683337610314108,y:.005876112296856327},{x:.3010265,y:.23008742701759316},{x:.5337192389685892,y:.005876112296856327},{x:.540641074758467,y:.0004073095334644686},{x:.5484968199067003,y:-.003606028545108733},{x:.556984582532795,y:-.006009671607209652},{x:.5657781826790226,y:-.006711248997940296},{x:.5745396872232711,y:-.0056837994916240225},{x:.5829323964594135,y:-.0029668073965882433},{x:.5906337832781904,y:.001335314804661536},{x:.5973478877031436,y:.007057238968589213},{x:.6028166904665355,y:.013979074758467089},{x:.6068300285451087,y:.021834819906700383},{x:.6092336716072096,y:.030322582532795128},{x:.6099352489979403,y:.03911618267902263},{x:.608907799491624,y:.047877687223271126},{x:.6061908073965883,y:.05627039645941352},{x:.6018886851953384,y:.0639717832781904},{x:.5961667610314108,y:.07068588770314368},{x:.36588095484811606,y:.292578},{x:.5961667610314108,y:.5144701122968564},{x:.6018886851953384,y:.5211842167218096},{x:.6061908073965883,y:.5288856035405864},{x:.608907799491624,y:.5372783127767289},{x:.6099352489979403,y:.5460398173209774},{x:.6092336716072096,y:.5548334174672048},{x:.6068300285451087,y:.5633211800932996},{x:.6028166904665355,y:.571176925241533},{x:.5973478877031436,y:.5780987610314108},{x:.5906337832781904,y:.5838206851953385},{x:.5829323964594135,y:.5881228073965883},{x:.5745396872232711,y:.590839799491624},{x:.5657781826790226,y:.5918672489979403},{x:.556984582532795,y:.5911656716072097},{x:.5484968199067003,y:.5887620285451087},{x:.540641074758467,y:.5847486904665355},{x:.5337192389685892,y:.5792798877031436},{x:.3010265,y:.35506857298240685},{x:.0683337610314108,y:.5792798877031436},{x:.06141192524153289,y:.5847486904665355},{x:.05355618009329961,y:.5887620285451087},{x:.0450684174672049,y:.5911656716072097},{x:.03627481732097735,y:.5918672489979403},{x:.02751331277672888,y:.590839799491624},{x:.01912060354058648,y:.5881228073965883},{x:.011419216721809584,y:.5838206851953385},{x:.004705112296856315,y:.5780987610314108},{x:-.0007636904665355368,y:.571176925241533},{x:-.004777028545108752,y:.5633211800932996},{x:-.007180671607209664,y:.5548334174672048},{x:-.007882248997940308,y:.5460398173209774},{x:-.006854799491624035,y:.5372783127767289},{x:-.004137807396588256,y:.5288856035405864},{x:.0001643148046615306,y:.5211842167218096},{x:.005886238968589197,y:.5144701122968564},{x:.23617204515188386,y:.292578},{x:.005886238968589197,y:.07068588770314368},{x:.00016431480466150977,y:.0639717832781904},{x:-.004137807396588256,y:.05627039645941351},{x:-.006854799491624035,y:.047877687223271126},{x:-.007882248997940308,y:.03911618267902263}]],y:[[{x:-7800000000000168e-20,y:-.15516599999999992},{x:.0007866623818546317,y:-.16394506449072568},{x:.003347421036992093,y:-.17238675445642895},{x:.007505867446385456,y:-.180166660485882},{x:.013102194846605353,y:-.18698580515339455},{x:.0199213395141179,y:-.19258213255361445},{x:.02770124554357093,y:-.1967405789630078},{x:.03614293550927421,y:-.19930133761814528},{x:.044922,y:-.2001659999999999},{x:.084618,y:-.2001659999999999},{x:.08470326921416556,y:-.20015760171543356},{x:.08478856964894584,y:-.200165676732115},{x:.08909199801123496,y:-.19972534965725622},{x:.09339706449072577,y:-.19930133761814528},{x:.0934790568568106,y:-.19927646550581232},{x:.09356429362525961,y:-.1992677440740231},{x:.09769912926743524,y:-.1979963205354665},{x:.10183875445642904,y:-.1967405789630078},{x:.1019143190537861,y:-.19670018884423682},{x:.10199621655469396,y:-.19667500612370953},{x:.18074721655469395,y:-.16370500612370958},{x:.18295470197399702,y:-.16251430076809983},{x:.18525522528778574,y:-.16151511930158513},{x:.18682754729843723,y:-.16042530954354395},{x:.18851130436774752,y:-.15951710034658062},{x:.19044407848245243,y:-.15791861501920362},{x:.19250546725178602,y:-.1564898227103016},{x:.27125546725178606,y:-.08958282271030155},{x:.27347158712358693,y:-.0872898341236823},{x:.27580944257935097,y:-.08512109812948883},{x:.27653091968085064,y:-.08412438503144627},{x:.2773860111192193,y:-.08323963374445845},{x:.2791122089873479,y:-.0805583607511536},{x:.2809820438025964,y:-.07797520343727593},{x:.35909504380259644,y:.055837796562724036},{x:.35921507445013207,y:.05609937330868571},{x:.35938084670619436,y:.05633463764830328},{x:.359814044874128,y:.05731131476590327},{x:.3603874218559792,y:.0582128676935936},{x:.5972854218559792,y:.5265638676935935},{x:.6004763520268956,y:.5347880745861305},{x:.6020015061983327,y:.5434767752438966},{x:.6018022735507984,y:.5522960677732933},{x:.5998863104832066,y:.5609070317083322},{x:.5963272463817603,y:.568978752534074},{x:.591261854083932,y:.5762010385458585},{x:.5848847937750224,y:.5822963413425576},{x:.5774411323064065,y:.5870304218559792},{x:.5692169254138695,y:.5902213520268956},{x:.5605282247561034,y:.5917465061983327},{x:.5517089322267067,y:.5915472735507984},{x:.5430979682916678,y:.5896313104832066},{x:.5350262474659261,y:.5860722463817603},{x:.5278039614541415,y:.5810068540839319},{x:.5217086586574424,y:.5746297937750224},{x:.5169745781440208,y:.5671861323064065},{x:.3203411783046204,y:.17843886787959407},{x:.12481771439881506,y:.5670983271806026},{x:.12009991274687032,y:.5745523168465348},{x:.11401856108654926,y:.5809426827476728},{x:.10680736235169674,y:.5860238467061943},{x:.09874343886560628,y:.5896005424407229},{x:.09013668268554793,y:.5915353195400148},{x:.08131784662479694,y:.5917538256051798},{x:.0726258336075076,y:.5902476635706729},{x:.06439467281939737,y:.5870747143988151},{x:.05694068315346515,y:.5823569127468703},{x:.05055031725232718,y:.5762755610865493},{x:.04546915329380567,y:.5690643623516968},{x:.041892457559277035,y:.5610004388656062},{x:.039957680459985136,y:.5523936826855479},{x:.039739174394820276,y:.5435748466247969},{x:.0412453364293271,y:.5348828336075077},{x:.04441828560118493,y:.5266516728193974},{x:.26905653043412125,y:.0801181620528446},{x:.20712852539925722,y:-.025968816269973185},{x:.1395520619925953,y:-.08338263769409424},{x:.07557825049874085,y:-.11016599999999992},{x:.044922,y:-.11016599999999992},{x:.03614293550927422,y:-.11103066238185455},{x:.02770124554357096,y:-.11359142103699202},{x:.01992133951411791,y:-.11774986744638538},{x:.01310219484660536,y:-.12334619484660528},{x:.007505867446385456,y:-.13016533951411782},{x:.003347421036992093,y:-.13794524554357088},{x:.0007866623818546317,y:-.14638693550927412},{x:-7800000000000168e-20,y:-.15516599999999992}]],z:[[{x:.051680000000000004,y:.038348999999999966},{x:.05192127447228559,y:.035899299172703986},{x:.05194879067317478,y:.033437899088824954},{x:.05235257576103353,y:.03152022369965088},{x:.05254466238185464,y:.029569935509274177},{x:.053259213756049764,y:.02721437531096308},{x:.05376639657582897,y:.024805638484003446},{x:.054536542955643516,y:.023003585252525667},{x:.0551054210369921,y:.02112824554357092},{x:.05626578950451143,y:.018957348831652537},{x:.05723314819184797,y:.01669384166703705},{x:.05834005957014514,y:.015076662488338128},{x:.05926386744638546,y:.01334833951411787},{x:.060825460697764414,y:.011445532631778232},{x:.062215820200804926,y:.009414240440453706},{x:.0636169585940798,y:.00804408260344652},{x:.06486019484660537,y:.0065291948466053296},{x:.06676300172894496,y:.004967601595226417},{x:.06852293131171022,y:.0032465857969436324},{x:.07016445175727676,y:.0021761036989109733},{x:.07167933951411792,y:.0009328674463854256},{x:.07385023622603624,y:-.00022750102113387976},{x:.07591210278164046,y:-.0015721027544036703},{x:.07773092256935071,y:-.0023017710867676167},{x:.07945924554357096,y:-.003225578963007937},{x:.08181480574188199,y:-.003940130337203038},{x:.08409937289490133,y:-.004856645714911602},{x:.08602559580031956,y:-.00521745953679684},{x:.08790093550927423,y:-.0057863376181453985},{x:.09035063633657014,y:-.00602761209043098},{x:.09277010945251417,y:-.006480819940600742},{x:.09472971180962335,y:-.006458913379178931},{x:.09668,y:-.006651000000000032},{x:.505373,y:-.006651000000000032},{x:.5141520644907257,y:-.0057863376181453985},{x:.522593754456429,y:-.003225578963007937},{x:.5303736604858821,y:.0009328674463854256},{x:.5371928051533946,y:.0065291948466053296},{x:.5427891325536145,y:.013348339514117874},{x:.5469475789630078,y:.021128245543570928},{x:.5495083376181453,y:.029569935509274198},{x:.550373,y:.038348999999999966},{x:.5495083376181453,y:.047128064490725735},{x:.5469475789630078,y:.055569754456429005},{x:.5427891325536145,y:.06334966048588206},{x:.5371928051533946,y:.0701688051533946},{x:.5303736604858821,y:.0757651325536145},{x:.522593754456429,y:.07992357896300786},{x:.5141520644907257,y:.08248433761814533},{x:.505373,y:.08334899999999996},{x:.190464663126857,y:.08334899999999996},{x:.5404754142030563,y:.5196949313117102},{x:.5415458963010891,y:.5213364517572769},{x:.5427891325536145,y:.5228513395141179},{x:.5439495010211337,y:.525022236226036},{x:.5452941027544036,y:.5270841027816404},{x:.5460237710867677,y:.5289029225693511},{x:.5469475789630078,y:.530631245543571},{x:.5476621303372028,y:.5329868057418816},{x:.5485786457149116,y:.5352713728949013},{x:.5489394595367969,y:.53719759580032},{x:.5495083376181453,y:.5390729355092743},{x:.5497496120904308,y:.5415226363365697},{x:.5502028199406007,y:.5439421094525142},{x:.5501809133791788,y:.5459017118096235},{x:.550373,y:.547852},{x:.5501317255277144,y:.5503017008272966},{x:.5501042093268251,y:.552763100911175},{x:.5497004242389665,y:.5546807763003486},{x:.5495083376181453,y:.5566310644907257},{x:.5487937862439503,y:.5589866246890365},{x:.548286603424171,y:.5613953615159966},{x:.5475164570443563,y:.5631974147474748},{x:.5469475789630078,y:.565072754456429},{x:.5457872104954887,y:.567243651168347},{x:.544819851808152,y:.569507158332963},{x:.5437129404298549,y:.5711243375116617},{x:.5427891325536145,y:.5728526604858821},{x:.5412275393022352,y:.5747554673682221},{x:.539837179799195,y:.5767867595595463},{x:.5384360414059206,y:.578156917396553},{x:.5371928051533946,y:.5796718051533947},{x:.5352899982710546,y:.5812333984047738},{x:.5335300686882897,y:.5829544142030564},{x:.5318885482427235,y:.5840248963010888},{x:.5303736604858821,y:.5852681325536145},{x:.5282027637739638,y:.5864285010211338},{x:.5261408972183595,y:.5877731027544036},{x:.5243220774306487,y:.5885027710867679},{x:.522593754456429,y:.5894265789630079},{x:.5202381942581186,y:.5901411303372028},{x:.5179536271050986,y:.5910576457149116},{x:.5160274041996802,y:.5914184595367968},{x:.5141520644907257,y:.5919873376181454},{x:.5117023636634302,y:.5922286120904309},{x:.5092828905474858,y:.5926818199406008},{x:.5073232881903766,y:.5926599133791789},{x:.505373,y:.592852},{x:.09668,y:.592852},{x:.08790093550927423,y:.5919873376181454},{x:.07945924554357094,y:.5894265789630079},{x:.07167933951411792,y:.5852681325536145},{x:.06486019484660537,y:.5796718051533947},{x:.05926386744638546,y:.5728526604858821},{x:.0551054210369921,y:.565072754456429},{x:.05254466238185464,y:.5566310644907257},{x:.051680000000000004,y:.547852},{x:.05254466238185464,y:.5390729355092743},{x:.0551054210369921,y:.530631245543571},{x:.05926386744638546,y:.5228513395141179},{x:.06486019484660537,y:.5160321948466053},{x:.07167933951411792,y:.5104358674463855},{x:.07945924554357096,y:.5062774210369921},{x:.08790093550927423,y:.5037166623818546},{x:.09668,y:.502852},{x:.41158833687314295,y:.502852},{x:.06157758579694366,y:.06650606868828973},{x:.06050710369891106,y:.06486454824272328},{x:.05926386744638546,y:.06334966048588206},{x:.05810349897886612,y:.06117876377396365},{x:.05675889724559635,y:.059116897218359485},{x:.05602922891323242,y:.05729807743064926},{x:.0551054210369921,y:.055569754456429005},{x:.054390869662797,y:.05321419425811798},{x:.053474354285088434,y:.050929627105098636},{x:.0531135404632032,y:.04900340419968042},{x:.05254466238185464,y:.047128064490725735},{x:.05230338790956906,y:.04467836366342984},{x:.051850180059399294,y:.04225889054748581},{x:.05187208662082111,y:.04029928819037662},{x:.051680000000000004,y:.038348999999999966}]]},w5=O4;function D0(y){return!y||typeof y!="object"?!1:"route_type"in y&&y.route_type==="wire"&&("start_width"in y||"end_width"in y||"width_interpolation_mode"in y)}function C4(y){let x=[];for(let e=0;e<y.length-1;e++){let r=y[e];if(!D0(r))continue;let o=y[e+1];if(!o)continue;let a=o.route_type==="through_pad"?o.start:{x:o.x,y:o.y},c=o.route_type==="via"?o.from_layer:o.route_type==="through_pad"?o.start_layer:o.layer;if(!a||c!==r.layer||r.width!==r.start_width)continue;let p={start:{x:r.x,y:r.y},end:a,start_width:r.start_width,end_width:r.end_width,width_interpolation_mode:r.width_interpolation_mode,layer:r.layer,is_inside_copper_pour:!!(r.is_inside_copper_pour&&o.is_inside_copper_pour)};A5(p)&&x.push(p)}return x}function G4(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=e.x-x.x,c=e.y-x.y,p=Math.hypot(a,c);if(!A5(y))return[];let L=Math.abs(o-r),b=y.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(L/(.001+L*1e-6)*(3/8)))),T=-c/p,I=a/p,C=[],M=[];for(let w=0;w<=b;w++){let _=w/b,k=r<=o?_:1-_,R=(y.width_interpolation_mode==="quadratic"?Math.min(r,o)+L*k*k:r+(o-r)*_)/2,P=x.x+a*_,E=x.y+c*_;C.push({x:P+T*R,y:E+I*R}),M.push({x:P-T*R,y:E-I*R})}return[...C,...M.reverse()]}function A5(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=Math.hypot(e.x-x.x,e.y-x.y);return!(![x.x,x.y,e.x,e.y,a,r,o].every(Number.isFinite)||a<=0||r<=0||o<=0||y.width_interpolation_mode!=="linear"&&y.width_interpolation_mode!=="quadratic")}var B4=.0025,b5=12,U4=96;function F4(y){if(!(y>0))return b5;let x=Math.acos(Math.max(-1,1-B4/y)),e=Math.ceil(Math.PI/x);return Math.max(b5,Math.min(U4,e))}var Z0=class{constructor(y=[1,1,1,1],x=0,e=0){U(this,"color");U(this,"element");U(this,"category");U(this,"vertices",[]);U(this,"indices",[]);this.color=y,this.element=x,this.category=e}polygon(y){if(!y[0]||y[0].length<3)return;let x=[],e=[];for(let[a,c]of y.entries()){a&&e.push(x.length/2);for(let p of c){if(!Number.isFinite(p.x)||!Number.isFinite(p.y))throw new Error("Non-finite polygon vertex");x.push(p.x,p.y)}}let r=Y0(x,e,2),o=this.vertices.length/8;for(let a=0;a<x.length;a+=2)this.vertices.push(x[a],x[a+1],...this.color,this.element,this.category);for(let a of r)this.indices.push(o+a)}line(y,x,e){if(!(e>0))return;let r=M5(y,x,e);this.polygon([r])}path(y,x,e=!1){for(let r=1;r<y.length;r++)this.line(y[r-1],y[r],x);e&&y.length>2&&this.line(y.at(-1),y[0],x)}fabricationPath(y,x,e){if(y.length<2)return;let r=[];if(e&&y.length>=3&&r.push([y.map(a=>[a.x,a.y])]),x>0){let a=e?[...y,y[0]]:y;for(let c=1;c<a.length;c++)r.push([M5(a[c-1],a[c],x).map(p=>[p.x,p.y])])}if(!r.length)return;let o=r.map(a=>a.map(c=>c.map(([p,L])=>[Math.round(p*1e9)/1e9,Math.round(L*1e9)/1e9])));for(let a of k5.default.union(o[0],...o.slice(1)))this.polygon(a.map(c=>c.map(([p,L])=>({x:p,y:L}))))}build(){return{vertices:new Float32Array(this.vertices),indices:new Uint32Array(this.indices)}}};function M5(y,x,e){let r=Math.atan2(x.y-y.y,x.x-y.x),o=e/2,a=[];for(let c=0;c<=12;c++){let p=r+Math.PI/2+c*Math.PI/12;a.push({x:y.x+o*Math.cos(p),y:y.y+o*Math.sin(p)})}for(let c=0;c<=12;c++){let p=r-Math.PI/2+c*Math.PI/12;a.push({x:x.x+o*Math.cos(p),y:x.y+o*Math.sin(p)})}return a}function G0(y,x,e=0){let r=e*Math.PI/180,o=y.x-x.x,a=y.y-x.y;return{x:x.x+o*Math.cos(r)-a*Math.sin(r),y:x.y+o*Math.sin(r)+a*Math.cos(r)}}function j0(y,x,e=x,r=0){return x>0&&e>0?Array.from({length:96},(o,a)=>{let c=a*2*Math.PI/96;return G0({x:y.x+Math.cos(c)*x/2,y:y.y+Math.sin(c)*e/2},y,r)}):[]}function W4({center:y,diameterMm:x}){if(!(x>0))return[];let e=x/2,r=F4(e);return Array.from({length:r},(o,a)=>{let c=a*2*Math.PI/r;return{x:y.x+Math.cos(c)*e,y:y.y+Math.sin(c)*e}})}function H0(y,x,e,r=0,o=0){if(!(x>0&&e>0))return[];r=Math.max(0,Math.min(r,x/2,e/2));let a=[];for(let c=0;c<4;c++){let p=c===0||c===3?1:-1,L=c<2?1:-1,b=r?24:1;for(let T=0;T<b;T++){let I=(c+T/(b-1||1))*Math.PI/2;a.push(G0({x:y.x+p*(x/2-r)+r*Math.cos(I),y:y.y+L*(e/2-r)+r*Math.sin(I)},y,o))}}return a}function z4(y){let x=[];for(let e=0;e<y.length;e++){let r=y[e],o=y[(e+1)%y.length];x.push({x:r.x,y:r.y});let a=r.bulge??0,c=o.x-r.x,p=o.y-r.y;if(!a||!c&&!p)continue;let L=4*Math.atan(a),b={x:(r.x+o.x)/2-p*(1-a*a)/(4*a),y:(r.y+o.y)/2+c*(1-a*a)/(4*a)},T=Math.atan2(r.y-b.y,r.x-b.x),I=Math.hypot(r.x-b.x,r.y-b.y),C=Math.max(2,Math.ceil(Math.abs(L)/(Math.PI/48)));for(let M=1;M<C;M++)x.push({x:b.x+I*Math.cos(T+L*M/C),y:b.y+I*Math.sin(T+L*M/C)})}return x}function E5(y,x,e){let r=[];for(let o=0;o<y.length;o++){let a=y[o],c=y[(o+1)%y.length],p=a.x+a.y-x,L=c.x+c.y-x,b=e?p>=0:p<=0,T=e?L>=0:L<=0;if(b&&r.push(a),b!==T){let I=p/(p-L);r.push({x:a.x+I*(c.x-a.x),y:a.y+I*(c.y-a.y)})}}return r}function $4(y,x){let e=y.color,r=[e[0]+(1-e[0])*.4,e[1]+(1-e[1])*.4,e[2]+(1-e[2])*.4,e[3]];y.color=[r[0],r[1],r[2],r[3]*.2],y.polygon(x),y.color=r;let o=new Z0;o.polygon(x);let a=.15*Math.SQRT2/2;for(let c=0;c<o.indices.length;c+=3){let p=o.indices.slice(c,c+3).map(I=>({x:o.vertices[I*8],y:o.vertices[I*8+1]})),L=p.map(I=>I.x+I.y),b=Math.ceil(Math.min(...L)-a),T=Math.floor(Math.max(...L)+a);for(let I=b;I<=T;I++)y.polygon([E5(E5(p,I-a,!0),I+a,!1)])}y.color=e}var $=(y,x,e)=>[y/255,x/255,e/255,1],Y4={board:$(70,72,72),top:$(200,52,52),bottom:$(77,127,196),inner1:$(127,200,127),inner2:$(206,125,44),inner3:$(79,203,203),inner4:$(219,98,139),inner5:$(167,165,198),inner6:$(40,204,217),inner7:$(232,178,167),inner8:$(242,237,161),drill:$(255,38,226),top_silkscreen:$(242,237,161),bottom_silkscreen:$(242,237,161),soldermask_top:$(12,55,33),soldermask_bottom:$(12,55,33),top_fabrication:[1,1,1,.5],bottom_fabrication:[1,1,1,.5],top_notes:$(89,148,220),bottom_notes:$(89,148,220),top_courtyard:$(255,0,245),bottom_courtyard:$(38,233,255),edge_cuts:$(208,210,205)},q0=y=>y.replace(/_copper$/,"");function C0(y){let x=y.match(/^#([0-9a-f]{3,8})$/i)?.[1];if(x){let r=x.length<=4?[...x].map(o=>o+o).join(""):x;if(r.length!==6&&r.length!==8)throw new Error(`Unsupported color: ${y}`);return[parseInt(r.slice(0,2),16)/255,parseInt(r.slice(2,4),16)/255,parseInt(r.slice(4,6),16)/255,r.length===8?parseInt(r.slice(6),16)/255:1]}let e=y.match(/^rgba?\\(([^)]+)\\)$/);if(e){let r=e[1].split(",").map(o=>Number(o.trim()));if((r.length===3||r.length===4)&&r.every(Number.isFinite))return[r[0]/255,r[1]/255,r[2]/255,r[3]??1]}throw new Error(`Unsupported color: ${y}`)}function V4(y,x){let e=!1;for(let r=0,o=y.length-1;r<y.length;o=r++){let a=y[r],c=y[o];a.y>x.y!=c.y>x.y&&x.x<(c.x-a.x)*(x.y-a.y)/(c.y-a.y)+a.x&&(e=!e)}return e}function S5(y,x){let e=x.filter(r=>r.length>=3).map(r=>({ring:r,parents:[]}));for(let[r,o]of e.entries())o.parents=e.flatMap((a,c)=>r!==c&&V4(a.ring,o.ring[0])?[c]:[]);for(let[r,o]of e.entries())if(o.parents.length%2===0){let a=e.filter(c=>c.parents.length===o.parents.length+1&&c.parents.includes(r));y.polygon([o.ring,...a.map(c=>c.ring)])}}var X4=y=>_5[y]??(y===" "?a0.spaceWidthRatio:a0.glyphWidthRatio);function T5(y,x,e){let r=X4(y),o=x?a0.letterSpacingRatio:0,a=x?v5[y]?.[x]??0:0;return e*(r+o+a)}function D4(y,x){let e=x*a0.glyphWidthRatio,r=x*a0.letterSpacingRatio,o=x*a0.spaceWidthRatio,a=x*a0.strokeWidthRatio,c=x*a0.lineHeightRatio,p=y.replace(/\\\\n/g,`\n`).split(`\n`),L=p.map(I=>{let C=Array.from(I);return C.reduce((M,w,_)=>M+T5(w,C[_+1],x),0)}),b=L.reduce((I,C)=>Math.max(I,C),0),T=p.length>1?x+(p.length-1)*c:x;return{width:b,height:T,glyphWidth:e,letterSpacing:r,spaceWidth:o,strokeWidth:a,lineHeight:c,lines:p,lineWidths:L}}function Z4(y){let{line:x,fontSize:e,startX:r,startY:o}=y,a=e,c=e,p=Array.from(x),L=[],b=r+y.layout.strokeWidth/2;return p.forEach((T,I)=>{let C=w5[T];if(C?.length){let M=[];for(let w of C){let _=w.map(k=>({x:b+k.x*c,y:o+(1-k.y)*a}));_.length>=3&&M.push(_)}M.length>0&&L.push(M)}b+=T5(T,p[I+1],e)}),L}function j4(y){let x=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let a of y)for(let c of a)x=Math.min(x,c.x),e=Math.min(e,c.y),r=Math.max(r,c.x),o=Math.max(o,c.y);return x===Number.POSITIVE_INFINITY||e===Number.POSITIVE_INFINITY||r===Number.NEGATIVE_INFINITY||o===Number.NEGATIVE_INFINITY?null:{minX:x,minY:e,maxX:r,maxY:o}}function H4(y,x,e){let r=Q4(y,x),o=J4(r,x,e),a=j4(o.flat()),c=K4(y,x,a);return{bounds:a?e3(a,c):null,glyphGroups:t3(o,c),linePlacements:r.map(({line:p,startX:L,startY:b})=>({line:p,startX:L+c.x,startY:b+c.y})),startOffset:c}}function q4(y,x){let e=x.width+x.strokeWidth,r=x.height+x.strokeWidth,o=0,a=0;return y==="center"||y==="top_center"||y==="bottom_center"?o=-e/2:y==="top_left"||y==="bottom_left"||y==="center_left"?o=0:y==="top_right"||y==="bottom_right"||y==="center_right"?o=-e:(y==="top_center"||y==="bottom_center")&&(o=-e/2),y==="center"||y==="center_left"||y==="center_right"?a=-r/2:y==="top_left"||y==="top_right"||y==="top_center"?a=0:(y==="bottom_left"||y==="bottom_right"||y==="bottom_center")&&(a=-r),{x:o,y:a}}function Q4(y,x){return x.lines.map((e,r)=>({line:e,startX:n3({alignment:y,lineWidth:x.lineWidths[r],maxWidth:x.width,strokeWidth:x.strokeWidth}),startY:r*x.lineHeight}))}function J4(y,x,e){return y.flatMap(({line:r,startX:o,startY:a})=>Z4({line:r,fontSize:e,startX:o,startY:a,layout:x}))}function K4(y,x,e){return e?{x:-y3(y,e),y:-x3(y,e)}:q4(y,x)}function y3(y,x){return y==="top_left"||y==="bottom_left"||y==="center_left"?x.minX:y==="top_right"||y==="bottom_right"||y==="center_right"?x.maxX:(x.minX+x.maxX)/2}function x3(y,x){return y==="top_left"||y==="top_right"||y==="top_center"?x.minY:y==="bottom_left"||y==="bottom_right"||y==="bottom_center"?x.maxY:(x.minY+x.maxY)/2}function t3(y,x){return x.x===0&&x.y===0?y:y.map(e=>e.map(r=>r.map(o=>({x:o.x+x.x,y:o.y+x.y}))))}function e3(y,x){return{minX:y.minX+x.x,minY:y.minY+x.y,maxX:y.maxX+x.x,maxY:y.maxY+x.y}}function n3(y){let{alignment:x,lineWidth:e,maxWidth:r,strokeWidth:o}=y,a=e+o,c=r+o;return x==="top_left"||x==="bottom_left"||x==="center_left"?0:x==="top_right"||x==="bottom_right"||x==="center_right"?c-a:(c-a)/2}function Q0(y,x,e="up"){let r=String(x.text??"");if(!r)return;let o=x.anchor_position??x.center??{x:x.x??0,y:x.y??0},a=x.font_size??1,c=D4(r,a),p=H4(x.anchor_alignment??"center",c,a),L=x.type==="pcb_note_text",b=x.type==="pcb_fabrication_note_text",T=b?!1:L?x.is_mirrored_from_top_view??x.layer==="bottom":x.type==="pcb_silkscreen_text"?x.layer==="bottom":x.is_mirrored??x.layer==="bottom",I=L||b?0:x.ccw_rotation??0,C=e==="up"?-1:1,M=w=>G0({x:o.x+(T?-w.x:w.x),y:o.y+C*w.y},o,-C*I);if(x.is_knockout&&!L&&!b){let w=p.bounds;if(!w)return;let _={left:.2,right:.2,top:.2,bottom:.2,...x.knockout_padding},k=[{x:w.minX-_.left,y:w.minY-_.top},{x:w.maxX+_.right,y:w.minY-_.top},{x:w.maxX+_.right,y:w.maxY+_.bottom},{x:w.minX-_.left,y:w.maxY+_.bottom}];S5(y,[k.map(M),...p.glyphGroups.flatMap(N=>N.map(R=>R.map(M)))]);return}for(let w of p.glyphGroups)S5(y,w.map(_=>_.map(M)))}function r3(y,x){return{x:(y.x+x.x)/2,y:(y.y+x.y)/2}}function d0(y,x){return Array.isArray(x)?[y.a*x[0]+y.c*x[1]+y.e,y.b*x[0]+y.d*x[1]+y.f]:{x:y.a*x.x+y.c*x.y+y.e,y:y.b*x.x+y.d*x.y+y.f}}function R0(y){return typeof y>"u"}function I0(y,x=0){return{a:1,c:0,e:y,b:0,d:1,f:x}}function J0(...y){y=Array.isArray(y[0])?y[0]:y;let x=(e,r)=>({a:e.a*r.a+e.c*r.b,c:e.a*r.c+e.c*r.d,e:e.a*r.e+e.c*r.f+e.e,b:e.b*r.a+e.d*r.b,d:e.b*r.c+e.d*r.d,f:e.b*r.e+e.d*r.f+e.f});switch(y.length){case 0:throw new Error("no matrices provided");case 1:return y[0];case 2:return x(y[0],y[1]);default:{let[e,r,...o]=y,a=x(e,r);return J0(a,...o)}}}var{cos:i3,sin:o3,PI:s3}=Math;function l3(y,x,e){let r=i3(y),o=o3(y),a={a:r,c:-o,e:0,b:o,d:r,f:0};return R0(x)||R0(e)?a:J0([I0(x,e),a,I0(-x,-e)])}function N5(y,x=void 0,e=void 0){return l3(y*s3/180,x,e)}function O5(y,x=void 0,e=void 0,r=void 0){R0(x)&&(x=y);let o={a:y,c:0,e:0,b:0,d:x,f:0};return R0(e)||R0(r)?o:J0([I0(e,r),o,I0(-e,-r)])}var{tan:O3}=Math,a3=1.5,c3=.6,u3=.3;function f3({pcbDimension:y}){let x=P5({x:y.to.x-y.from.x,y:y.to.y-y.from.y}),e=d0(N5(90),x),r=P5(y.offset_direction??{x:0,y:0}),o=y.offset_distance??0,a=f0(r,o),c=e0(y.from,a),p=e0(y.to,a),L=y.arrow_size??1,b=e0(c,f0(x,L)),T=e0(p,f0(x,-L)),I=f0(e,L/2),C=f0(e,-L/2),M=g3(r)?r:e,w=f0(M,o+L),_=e0(r3(y.from,y.to),a),k=y.font_size??1,N=L*a3+p3({fontSize:k,text:y.text??"",textCcwRotationDegrees:y.text_ccw_rotation});return{arrowPolygons:[[c,e0(b,I),e0(b,C)],[p,e0(T,I),e0(T,C)]],dimensionLine:{start:b,end:T,width:L/5},extensionLines:[{start:y.from,end:e0(y.from,w)},{start:y.to,end:e0(y.to,w)}],label:y.text?{anchorPosition:e0(_,f0(e,N)),ccwRotationDegrees:h3({dimensionDirection:x,requestedCcwRotationDegrees:y.text_ccw_rotation}),fontSize:k,text:y.text}:void 0}}function h3({dimensionDirection:y,requestedCcwRotationDegrees:x}){let e=Math.atan2(y.y,y.x)*180/Math.PI;return(e>90||e<-90)&&(e+=180),e+(x??0)}function p3({fontSize:y,text:x,textCcwRotationDegrees:e}){if(e===void 0||!Number.isFinite(e))return 0;let r=x.length*y*c3/2,o=y/2,a=N5(e),c=d0(a,{x:r,y:0}),p=d0(a,{x:0,y:o});return Math.abs(c.y)+Math.abs(p.y)+y*u3}function P5(y){let x=Math.hypot(y.x,y.y)||1;return d0(O5(1/x),y)}function f0(y,x){return d0(O5(x),y)}function e0(y,x){return d0(I0(x.x,x.y),y)}function g3(y){return Math.abs(y.x)>Number.EPSILON||Math.abs(y.y)>Number.EPSILON}function L3({mesh:y,pcbDimension:x,textYAxis:e}){x.color&&(y.color=C0(x.color));let{arrowPolygons:r,dimensionLine:o,extensionLines:a,label:c}=f3({pcbDimension:x});for(let p of r)y.polygon([p]);y.line(o.start,o.end,o.width);for(let p of a)y.line(p.start,p.end,o.width);c&&Q0(y,{anchor_alignment:"center",anchor_position:c.anchorPosition,ccw_rotation:c.ccwRotationDegrees,font_size:c.fontSize,text:c.text,type:"pcb_dimension_text"},e)}function d3(y,x=0){return y[`${y.type}_id`]??`${y.type}:${x}`}function L0(y){return y.center??y.anchor_position??{x:y.x??0,y:y.y??0}}function K(y,x=!1){if(y.brep_shape)return[y.brep_shape.outer_ring,...y.brep_shape.inner_rings??[]].map(L=>z4(L.vertices));if(y.outline?.length)return[y.outline];if(y.shape==="hole_with_polygon_pad"&&!x){let L=L0(y);return[y.pad_outline.map(b=>({x:L.x+b.x,y:L.y+b.y}))]}if(y.shape==="rotated_pill_hole_with_rect_pad"){let L=L0(y),b=x?{x:L.x+(y.hole_offset_x??0),y:L.y+(y.hole_offset_y??0)}:L,T=x?y.hole_width:y.rect_pad_width,I=x?y.hole_height:y.rect_pad_height;return[H0(b,T,I,x?Math.min(T,I)/2:y.rect_border_radius??0,(x?y.hole_ccw_rotation:y.rect_ccw_rotation)??0)]}let e=x?y.hole_shape??y.shape:y.shape;if(e==="polygon")return[y.points??y.vertices??[]];let r=L0(y),o=y.rect_ccw_rotation??y.ccw_rotation??y.rotation??0,a=x?G0({x:r.x+(y.hole_offset_x??0),y:r.y+(y.hole_offset_y??0)},r,y.shape==="hole_with_polygon_pad"?0:o):r;if(e==="circle"||e==="circular_hole_with_rect_pad"&&x||y.type==="pcb_via"){let b=(x?y.hole_diameter:y.outer_diameter??(y.radius!=null?y.radius*2:y.diameter))||y.diameter||y.hole_diameter||y.radius*2;return[j0(a,b)]}let c=x?y.hole_width??y.hole_diameter:y.rect_pad_width??y.outer_width??y.width??y.hole_diameter,p=x?y.hole_height??y.hole_diameter:y.rect_pad_height??y.outer_height??y.height??y.hole_diameter;if(e==="oval")return[j0(a,c,p,o)];if(["rect","square","rotated_rect","roundrect","rounded_rect","pill","rotated_pill","circular_hole_with_rect_pad","pill_hole_with_rect_pad",void 0].includes(e)){let b=e?.includes("pill")&&!(e==="pill_hole_with_rect_pad"&&!x)?Math.min(c,p)/2:y.corner_radius??y.rect_border_radius??0;return[H0(a,c,p,b,o)]}throw new Error(`Unsupported shape: ${e}`)}function m3(y,x={}){let e=new Map,r=[],o=y.map(d3),a=x.renderViasInHighDetail===!1,c=y.find(M=>M.type==="pcb_board"),p=["top",...Array.from({length:Math.max(0,Math.min(8,(c?.num_layers??2)-2))},(M,w)=>`inner${w+1}`),"bottom"],L=(M,w,_=!1,k=0)=>{M=q0(M),e.has(M)||e.set(M,{paint:new Z0,erase:new Z0});let N=e.get(M)[_?"erase":"paint"];return N.color=x.layerColors?.[M]??Y4[M]??[.75,.75,.75,1],N.element=w,N.category=k,N},b=[],T=[],I=[];for(let[M,w]of y.entries()){let _=w,k=_.type;try{if(k==="pcb_board"||k==="pcb_panel"){let N=K(_);L("board",M).polygon(N);for(let R of N)L("edge_cuts",M).path(R,.1,!0);for(let R of["top","bottom"])L(`soldermask_${R}`,M).polygon(N)}else if(k==="pcb_cutout")I.push({rings:K(_),index:M}),L("edge_cuts",M).path(K(_)[0],.05,!0);else if(w.type==="pcb_soldermask_opening")L(`soldermask_${w.layer}`,M,!0).polygon(K(w));else if(k==="pcb_smtpad")L(_.layer,M).polygon(K(_)),_.is_covered_with_solder_mask||L(`soldermask_${_.layer}`,M,!0).polygon(K(_));else if(k==="pcb_via"||k==="pcb_plated_hole"){let N=_.layers??p;if(k==="pcb_via"&&!_.layers&&_.from_layer&&_.to_layer){let E=p.indexOf(_.from_layer),X=p.indexOf(_.to_layer);N=p.slice(Math.min(E,X),Math.max(E,X)+1)}let R=k==="pcb_via"&&a?R5({element:_}):K(_);for(let E of N)L(E,M).polygon(R);let P=k==="pcb_via"&&a?R5({element:_,hole:!0}):K(_,!0);b.push({rings:P,index:M,layers:N});for(let E of["top","bottom"])N.includes(E)&&!_.is_covered_with_solder_mask&&L(`soldermask_${E}`,M,!0).polygon(K(_))}else if(k==="pcb_hole")b.push({rings:K({..._,shape:_.hole_shape},!0),index:M,layers:p});else if(w.type==="pcb_trace"){let N=w.route;if(w.route_thickness_mode==="interpolated"&&N.some((R,P)=>R.route_type==="wire"&&!D0(R)&&N[P+1]?.route_type==="wire"))throw new Error("Interpolated/through-pad traces are not supported yet");for(let R of C4(N)){let P=G4(R);if(!P.length)throw new Error("Invalid teardrop geometry or interpolation mode");L(R.layer,M).polygon([P])}for(let R of N)if(R.route_type==="through_pad")for(let P of new Set([R.start_layer,R.end_layer]))L(P,M).line(R.start,R.end,R.width);for(let R=1;R<N.length;R++){let P=N[R-1],E=N[R];D0(P)||(P.route_type==="through_pad"&&(P={route_type:"wire",...P.end,layer:P.end_layer,width:P.width}),E.route_type==="through_pad"&&(E={route_type:"wire",...E.start,layer:E.start_layer,width:E.width}),P.route_type==="wire"&&E.route_type==="wire"&&P.layer===E.layer||P.route_type==="wire"&&E.route_type==="via"&&[E.from_layer,E.to_layer].includes(P.layer)?L(P.layer,M).line(P,E,P.width):P.route_type==="via"&&E.route_type==="wire"&&[P.from_layer,P.to_layer].includes(E.layer)&&L(E.layer,M).line(P,E,E.width))}}else if(k==="pcb_copper_pour")L(_.layer,M,!1,1).polygon(K(_));else if(k==="pcb_copper_text")Q0(L(_.layer,M),_,x.textYAxis);else if(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/.test(k)){let N=k.match(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/)[1],R={silkscreen:"silkscreen",fabrication_note:"fabrication",courtyard:"courtyard",note:"notes",user_note:"notes"}[N],P=`${_.layer??"top"}_${R}`,E=L(P,M);if(w.type==="pcb_note_dimension"||w.type==="pcb_fabrication_note_dimension")L3({mesh:E,pcbDimension:w,textYAxis:x.textYAxis});else if(k.endsWith("_text"))_.color&&(N==="note"||N==="fabrication_note")&&(E.color=C0(_.color)),Q0(E,_,x.textYAxis);else if(w.type==="pcb_note_line"||w.type==="pcb_silkscreen_line")w.type==="pcb_note_line"&&w.color&&(E.color=C0(w.color)),E.line({x:w.x1,y:w.y1},{x:w.x2,y:w.y2},w.stroke_width??.1);else if(k.endsWith("_path")||k.endsWith("_line")||k.endsWith("_outline")){let X=_.route??_.points??_.outline??[_.start,_.end].filter(Boolean),q=k==="pcb_fabrication_note_path";q&&_.color&&(E.color=C0(_.color)),q?E.fabricationPath(X,_.has_stroke===!1?0:_.stroke_width??.05,!!_.is_filled):E.path(X,_.stroke_width??_.width??.05,k.endsWith("_outline"))}else if(k==="pcb_silkscreen_graphic"&&_.shape==="brep")E.polygon(K(_));else if(k.endsWith("_rect")){let X=H0(L0(_),_.width,_.height,_.corner_radius??0,_.ccw_rotation??0);_.is_filled?E.polygon([X]):E.path(X,_.stroke_width??.05,!0)}else if(k.endsWith("_circle")){let X=j0(L0(_),(_.radius??0)*2);_.is_filled?E.polygon([X]):E.path(X,_.stroke_width??.05,!0)}else throw new Error("Unsupported annotation geometry")}else if(k==="pcb_keepout")T.push({rings:K(_),index:M,layers:_.layers??[_.layer??"top"]});else if(k.startsWith("pcb_")&&!["pcb_component","pcb_port","pcb_group","pcb_solder_paste","pcb_debug_object","pcb_trace_hint","pcb_anchor","pcb_breakout_point","pcb_bend","pcb_stiffener"].includes(k)&&!/_(error|warning)$/.test(k))throw new Error("Unsupported PCB element")}catch(N){r.push({elementId:o[M],type:k,message:String(N)})}}for(let{rings:M,index:w,layers:_}of T)try{for(let k of _)$4(L(k,w),M)}catch(k){r.push({elementId:o[w],type:"pcb_keepout",message:String(k)})}for(let{rings:M,index:w,layers:_}of b){for(let N of _)L(N,w,!0).polygon(M);_.includes("top")&&_.includes("bottom")&&(L("board",w,!0).polygon(M),L("drill",w).polygon(M));for(let N of["top","bottom"])_.includes(N)&&L(`soldermask_${N}`,w,!0).polygon(M)}for(let{rings:M,index:w}of I){L("drill",w).polygon(M);for(let _ of e.keys())_!=="edge_cuts"&&_!=="drill"&&L(_,w,!0).polygon(M)}let C=[...e].map(([M,w])=>({name:M,paint:w.paint.build(),erase:w.erase.build()}));return{layers:C,elementIds:o,diagnostics:r,triangleCount:C.reduce((M,w)=>M+(w.paint.indices.length+w.erase.indices.length)/3,0)}}function R5({element:y,hole:x=!1}){let e=x?y.hole_diameter:y.outer_diameter;return[W4({center:L0(y),diameterMm:e})]}var _3=`\nstruct Camera { rowX: vec4f, rowY: vec4f, viewport: vec4f }\n@group(0) @binding(0) var<uniform> camera: Camera;\n@group(0) @binding(1) var<storage, read> highlights: array<u32>;\nstruct VertexOut {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) @interpolate(flat) category: u32,\n @location(2) @interpolate(flat) selected: u32,\n}\n@vertex fn vertexMain(@location(0) p: vec2f, @location(1) color: vec4f,\n @location(2) element: f32, @location(3) category: f32) -> VertexOut {\n let pixel = vec2f(dot(camera.rowX.xyz, vec3f(p, 1)), dot(camera.rowY.xyz, vec3f(p, 1)));\n var out: VertexOut;\n out.position = vec4f(pixel.x / camera.viewport.x * 2 - 1, 1 - pixel.y / camera.viewport.y * 2, 0, 1);\n let highlight = select(0.0, 1.0, (highlights[u32(element)] & 1u) != 0u);\n out.color = vec4f(mix(color.rgb, min(vec3f(1), color.rgb * 1.5), highlight), color.a);\n out.category = u32(category);\n out.selected = highlights[u32(element)] & 2u;\n return out;\n}\n@fragment fn fragmentMain(in: VertexOut) -> @location(0) vec4f {\n if (in.category == 1u && camera.viewport.z == 0) { discard; }\n if (camera.viewport.w == 1) {\n if (in.selected == 0u) { discard; }\n return vec4f(in.color.rgb, 1);\n }\n let alpha = in.color.a * select(1.0, camera.viewport.z, in.category == 1u);\n return vec4f(in.color.rgb * alpha, alpha);\n}\n`,v3=`\n@group(0) @binding(0) var image: texture_2d<f32>;\n@group(0) @binding(1) var imageSampler: sampler;\n@group(0) @binding(2) var<uniform> fade: vec4f;\nstruct Out { @builtin(position) position: vec4f, @location(0) uv: vec2f }\n@vertex fn vertexMain(@builtin(vertex_index) index: u32) -> Out {\n let points = array<vec2f, 6>(vec2f(0,0),vec2f(1,0),vec2f(0,1),vec2f(0,1),vec2f(1,0),vec2f(1,1));\n var out: Out;\n out.uv = points[index];\n out.position = vec4f(out.uv.x * 2 - 1, 1 - out.uv.y * 2, 0, 1);\n return out;\n}\n@fragment fn fragmentMain(in: Out) -> @location(0) vec4f {\n return textureSample(image, imageSampler, in.uv) * fade.x;\n}\n`,w3=.5,I5={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}},h0,B0=(h0=class{constructor(x,e,r,o,a){U(this,"canvas");U(this,"device");U(this,"context");U(this,"config");U(this,"realToCanvasMat",{a:1,b:0,c:0,d:-1,e:0,f:0});U(this,"stats",{geometryUploads:0,frames:0,triangleCount:0,compileMs:0,vertexBytes:0});U(this,"circuit");U(this,"scene");U(this,"layers",[]);U(this,"xRayLayers",[]);U(this,"xRayUniform");U(this,"xRayCameraGroup");U(this,"uniform");U(this,"highlights");U(this,"cameraGroup");U(this,"highlightKey","");U(this,"highlightIndices",new Map);U(this,"sample");U(this,"size","");U(this,"disposed",!1);U(this,"adapterInfo");U(this,"lost",!1);U(this,"paintPipeline");U(this,"erasePipeline");U(this,"compositePipeline");U(this,"sampler");U(this,"options",{});this.canvas=x,this.device=e,this.context=r,this.config=a,this.uniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.xRayUniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.highlights=e.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});let c=e.createShaderModule({code:_3}),p=e.createPipelineLayout({bindGroupLayouts:[e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage"}}]})]}),L=T=>({layout:p,vertex:{module:c,entryPoint:"vertexMain",buffers:[{arrayStride:32,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x4"},{shaderLocation:2,offset:24,format:"float32"},{shaderLocation:3,offset:28,format:"float32"}]}]},fragment:{module:c,entryPoint:"fragmentMain",targets:[{format:"rgba8unorm",blend:T}]},primitive:{topology:"triangle-list"},multisample:{count:a.sampleCount??4}});this.paintPipeline=e.createRenderPipeline(L(I5)),this.erasePipeline=e.createRenderPipeline(L({color:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"}}));let b=e.createShaderModule({code:v3});this.compositePipeline=e.createRenderPipeline({layout:"auto",vertex:{module:b,entryPoint:"vertexMain"},fragment:{module:b,entryPoint:"fragmentMain",targets:[{format:o,blend:I5}]},primitive:{topology:"triangle-list"}}),this.sampler=e.createSampler({minFilter:"linear",magFilter:"linear"}),e.lost.then(T=>{this.lost=!0,this.disposed||a.onDeviceLost?.(T.message||T.reason)})}static async create(x,e={}){if(!globalThis.navigator?.gpu)throw new Error("WebGPU is unavailable");let r=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(!r)throw new Error("No WebGPU adapter available");let o=await r.requestDevice(),a=x.getContext("webgpu");if(!a)throw o.destroy(),new Error("WebGPU canvas context is unavailable");let c=navigator.gpu.getPreferredCanvasFormat();a.configure({device:o,format:c,alphaMode:"premultiplied"}),o.pushErrorScope("validation");try{let p=new h0(x,o,a,c,e),L=await o.popErrorScope();if(L)throw p.dispose(),new Error(L.message);return o.addEventListener("uncapturederror",b=>e.onDeviceLost?.(b.error.message)),p.adapterInfo=r.info,p}catch(p){throw a.unconfigure(),o.destroy(),p}}get diagnostics(){return this.scene?.diagnostics??[]}setCircuitJson(x){if(this.assertLive(),this.circuit===x)return;let e=performance.now(),r=m3(x,this.config);this.releaseLayers(),this.highlights.destroy(),this.highlights=this.device.createBuffer({size:Math.max(4,r.elementIds.length*4),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.highlightIndices=new Map(r.elementIds.map((a,c)=>[a,c])),this.highlightKey="!",this.cameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.uniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.xRayCameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.xRayUniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.stats.vertexBytes=0;let o=a=>{let c=(p,L)=>{let b=this.device.createBuffer({size:Math.max(4,p.byteLength),usage:L|GPUBufferUsage.COPY_DST});return p.byteLength&&this.device.queue.writeBuffer(b,0,p.buffer,p.byteOffset,p.byteLength),this.stats.vertexBytes+=p.byteLength,b};return{vertices:c(a.vertices,GPUBufferUsage.VERTEX),indices:c(a.indices,GPUBufferUsage.INDEX),count:a.indices.length}};this.layers=r.layers.map(a=>({name:a.name,paint:o(a.paint),erase:o(a.erase),opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.xRayLayers=this.layers.filter(a=>this.isCopper(a.name)||a.name==="drill").map(a=>({...a,opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.scene=r,this.circuit=x,this.size="",this.stats.geometryUploads++,this.stats.triangleCount=r.triangleCount,this.stats.compileMs=performance.now()-e}drawElements(x,e={}){this.setCircuitJson(x),this.options={},this.render(e)}render(x={}){this.assertLive(),this.options={...this.options,...x};let e=this.options;e.transform&&(this.realToCanvasMat=e.transform);let r=this.realToCanvasMat,o=this.canvas.width,a=this.canvas.height;if(!o||!a)return;if(![...Object.values(r),o,a].every(Number.isFinite))throw new Error("Invalid camera or canvas dimensions");if(o>this.device.limits.maxTextureDimension2D||a>this.device.limits.maxTextureDimension2D)throw new Error("Canvas exceeds GPU texture limits");let c=e.showCopperPours===!1?0:Number.isFinite(e.copperPourOpacity)?Math.max(0,Math.min(1,e.copperPourOpacity)):w3;this.resize(o,a),this.device.queue.writeBuffer(this.uniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,0]));let p=e.xRayElementIds??[],L=p.length>0;L&&this.device.queue.writeBuffer(this.xRayUniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,1]));let b=L?[]:e.highlightedElementIds??[],T=JSON.stringify([b,p]);if(T!==this.highlightKey){let R=new Uint32Array(Math.max(1,this.scene?.elementIds.length??0));for(let P of b){let E=this.highlightIndices.get(P);E!==void 0&&(R[E]=1)}for(let P of p){let E=this.highlightIndices.get(P);E!==void 0&&(R[E]|=2)}this.device.queue.writeBuffer(this.highlights,0,R),this.highlightKey=T}let I=q0(e.selectedLayer??"top"),C=e.layers?new Set(e.layers.map(q0)):void 0,M=this.layers.filter(R=>C&&!C.has(R.name)||L&&!this.isCopper(R.name)||R.name==="board"&&!e.showBoardMaterial||R.name.startsWith("soldermask_")&&(!e.showSolderMask||R.name!==`soldermask_${I}`)||R.name.includes("silkscreen")&&e.showSilkscreen===!1||R.name.includes("fabrication")&&!e.showFabricationNotes||R.name.includes("notes")&&e.showPcbNotes===!1||R.name.includes("courtyard")&&!e.showCourtyards?!1:L&&this.isCopper(R.name)||this.opacity(R.name,I,e.hiddenLayerOpacity??.4)>0).sort((R,P)=>this.order(R.name,I)-this.order(P.name,I)),w=L?this.xRayLayers.filter(R=>!C||C.has(R.name)).sort((R,P)=>this.xRayOrder(R.name,I)-this.xRayOrder(P.name,I)):[],_=[...M.map(R=>({layer:R,xRay:!1})),...w.map(R=>({layer:R,xRay:!0}))],k=this.device.createCommandEncoder();for(let{layer:R,xRay:P}of _){this.ensureTexture(R,o,a);let E=R.texture.createView(),X=(this.config.sampleCount??4)>1,q=k.beginRenderPass({colorAttachments:[{view:X?this.sample.createView():E,...X?{resolveTarget:E}:{},clearValue:[0,0,0,0],loadOp:"clear",storeOp:X?"discard":"store"}]});for(let[J,V]of[[R.paint,this.paintPipeline],[R.erase,this.erasePipeline]])J.count&&(q.setBindGroup(0,P&&V===this.paintPipeline?this.xRayCameraGroup:this.cameraGroup),q.setPipeline(V),q.setVertexBuffer(0,J.vertices),q.setIndexBuffer(J.indices,"uint32"),q.drawIndexed(J.count));q.end(),this.device.queue.writeBuffer(R.opacity,0,new Float32Array([P?1:L&&this.isCopper(R.name)?Math.max(0,Math.min(1,e.hiddenLayerOpacity??.4)):this.opacity(R.name,I,e.hiddenLayerOpacity??.4),0,0,0]))}let N=k.beginRenderPass({colorAttachments:[{view:this.context.getCurrentTexture().createView(),clearValue:e.background??[0,0,0,0],loadOp:"clear",storeOp:"store"}]});N.setPipeline(this.compositePipeline);for(let{layer:R}of _)N.setBindGroup(0,R.composite),N.draw(6);N.end(),this.device.queue.submit([k.finish()]),this.stats.frames++}async flush(){this.assertLive(),await this.device.queue.onSubmittedWorkDone()}isCopper(x){return/^(top|bottom|inner\\d+)$/.test(x)}opacity(x,e,r){return["board","drill","edge_cuts"].includes(x)||x===e||x.startsWith(`${e}_`)||x.endsWith(`_${e}`)?1:Math.max(0,Math.min(1,r))}xRayOrder(x,e){return x==="drill"?200:x===e?100:x==="bottom"?0:x.startsWith("inner")?20-Number(x.slice(5)):40}order(x,e){if(x==="board")return-100;if(x==="drill")return 200;if(x==="edge_cuts")return 150;let r=x===e?100:x.startsWith("inner")?20-Number(x.slice(5)):x==="bottom"?30:40;return x.includes("soldermask")?110:x.startsWith(`${e}_`)?120:r}resize(x,e){let r=`${x}:${e}`;if(r!==this.size){this.sample?.destroy(),this.sample=(this.config.sampleCount??4)>1?this.device.createTexture({size:[x,e],format:"rgba8unorm",sampleCount:this.config.sampleCount??4,usage:GPUTextureUsage.RENDER_ATTACHMENT}):void 0;for(let o of[...this.layers,...this.xRayLayers])o.texture?.destroy(),o.texture=void 0,o.composite=void 0;this.size=r}}ensureTexture(x,e,r){x.texture||(x.texture=this.device.createTexture({size:[e,r],format:"rgba8unorm",usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),x.composite=this.device.createBindGroup({layout:this.compositePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:x.texture.createView()},{binding:1,resource:this.sampler},{binding:2,resource:{buffer:x.opacity}}]}))}assertLive(){if(this.disposed||this.lost)throw new Error(this.lost?"WebGPU device lost":"Renderer disposed")}releaseLayers(){for(let x of this.xRayLayers)x.opacity.destroy(),x.texture?.destroy();this.xRayLayers=[];for(let x of this.layers){for(let e of[x.paint,x.erase])e.vertices.destroy(),e.indices.destroy();x.opacity.destroy(),x.texture?.destroy()}this.layers=[]}dispose(){if(this.disposed)return;this.disposed=!0,this.releaseLayers(),this.sample?.destroy(),this.uniform.destroy(),this.xRayUniform.destroy(),this.highlights.destroy(),this.context.unconfigure();let x=()=>this.device.destroy();this.device.queue.onSubmittedWorkDone().then(x,x),this.circuit=void 0,this.scene=void 0}},U(h0,"supportsXRayNet",!0),h0);var _0=self,G5="supportsXRayNet"in B0&&B0.supportsXRayNet===!0,y0,m0,U0,B5=0,K0=!1,v0=!1,y5=y=>{v0||(v0=!0,y0?.dispose(),_0.postMessage({type:"error",message:y instanceof Error?y.message:String(y)}))};function C5(){if(K0||v0||!y0||!U0)return;K0=!0;let y=()=>{if(K0=!1,!(v0||!y0||!U0))try{let x=U0,e=B5;m0.width!==x.width&&(m0.width=x.width),m0.height!==x.height&&(m0.height=x.height),y0.render({...x.options,transform:x.transform}),_0.postMessage({type:"rendered",xRayActive:G5&&!!x.options.xRayElementIds?.length,geometryUploads:y0.stats.geometryUploads,frames:y0.stats.frames,compileMs:y0.stats.compileMs,sceneGeneration:e})}catch(x){y5(x)}};_0.requestAnimationFrame?_0.requestAnimationFrame(y):setTimeout(y,16)}_0.onmessage=async y=>{let x=y.data;try{if(x.type==="init"){if(m0=x.canvas,y0=await B0.create(m0,{onDeviceLost:y5,renderViasInHighDetail:!1}),v0){y0.dispose();return}_0.postMessage({type:"ready",supportsXRayNet:G5})}else if(x.type==="scene"){if(y0.setCircuitJson(x.elements),y0.diagnostics.length)throw new Error(`Unsupported WebGPU geometry: ${y0.diagnostics.map(e=>`${e.type}: ${e.message}`).join("; ")}`);B5=x.sceneGeneration,C5()}else x.type==="view"?(U0=x,C5()):(v0=!0,y0?.dispose())}catch(e){y5(e)}};})();\n/*! Bundled license information:\n\npolygon-clipping/dist/polygon-clipping.umd.js:\n (**\n * splaytree v3.1.2\n * Fast Splay tree for Node and browser\n *\n * @author Alexander Milevski <info@w8r.name>\n * @license MIT\n * @preserve\n *)\n (*! *****************************************************************************\n Copyright (c) Microsoft Corporation. All rights reserved.\n Licensed under the Apache License, Version 2.0 (the "License"); you may not use\n this file except in compliance with the License. You may obtain a copy of the\n License at http://www.apache.org/licenses/LICENSE-2.0\n \n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n MERCHANTABLITY OR NON-INFRINGEMENT.\n \n See the Apache Version 2.0 License for specific language governing permissions\n and limitations under the License.\n ***************************************************************************** *)\n*/\n'],{type:"text/javascript"}));try{return new Worker(g)}finally{URL.revokeObjectURL(g)}}var kBo=dBo({"inline-worker:/home/runner/work/pcb-viewer/pcb-viewer/src/lib/webgpu/pcb-webgpu.worker.ts"(){}}),CfI=!0,MBo=!1,_eA={CCW:-1,CW:1,NOT_ORIENTABLE:0},SBo=2*Math.PI,RuA=1,QfI=0,zx=2,fBo=3,RBo=4,NBo=1,xBo=2,Zeg=0,beA=1,NZ=2,NuA=Object.freeze({__proto__:null,BOUNDARY:zx,CCW:CfI,CONTAINS:fBo,CW:MBo,END_VERTEX:NZ,INSIDE:RuA,INTERLACE:RBo,NOT_VERTEX:Zeg,ORIENTATION:_eA,OUTSIDE:QfI,OVERLAP_OPPOSITE:xBo,OVERLAP_SAME:NBo,PIx2:SBo,START_VERTEX:beA}),Xx=1e-6;function ifI(g){Xx=g}function EfI(){return Xx}var FBo=3;function Oeg(g){return g<Xx&&g>-Xx}function tb(g,A){return g-A<Xx&&g-A>-Xx}function nfI(g,A){return g-A>Xx}function UBo(g,A){return g-A>-Xx}function sfI(g,A){return g-A<-Xx}function JBo(g,A){return g-A<Xx}var PBo=Object.freeze({__proto__:null,DECIMALS:FBo,EQ:tb,EQ_0:Oeg,GE:UBo,GT:nfI,LE:JBo,LT:sfI,getTolerance:EfI,setTolerance:ifI}),jA={Utils:PBo,Errors:void 0,Matrix:void 0,Planar_set:void 0,Point:void 0,Vector:void 0,Line:void 0,Circle:void 0,Segment:void 0,Arc:void 0,Box:void 0,Edge:void 0,Face:void 0,Ray:void 0,Ray_shooting:void 0,Multiline:void 0,Polygon:void 0,Distance:void 0,Inversion:void 0};for(let g in NuA)jA[g]=NuA[g];Object.defineProperty(jA,"DP_TOL",{get:function(){return EfI()},set:function(g){ifI(g)}});var qc=class{static get ILLEGAL_PARAMETERS(){return new ReferenceError("Illegal Parameters")}static get ZERO_DIVISION(){return new Error("Zero division")}static get UNRESOLVED_BOUNDARY_CONFLICT(){return new Error("Unresolved boundary conflict in boolean operation")}static get INFINITE_LOOP(){return new Error("Infinite loop")}static get CANNOT_COMPLETE_BOOLEAN_OPERATION(){return new Error("Cannot complete boolean operation")}static get CANNOT_INVOKE_ABSTRACT_METHOD(){return new Error("Abstract method cannot be invoked")}static get OPERATION_IS_NOT_SUPPORTED(){return new Error("Operation is not supported")}static get UNSUPPORTED_SHAPE_TYPE(){return new Error("Unsupported shape type")}};jA.Errors=qc;var Weg=class{constructor(g,A){this.first=g,this.last=A||this.first}[Symbol.iterator](){let g;return{next:()=>(g=g?g.next:this.first,{value:g,done:g===void 0})}}get size(){let g=0;for(let A of this)g++;return g}toArray(g=void 0,A=void 0){let I=[],e=g||this.first,t=A||this.last,o=e;if(o===void 0)return I;do I.push(o),o=o.next;while(o!==t.next);return I}append(g){return this.isEmpty()?this.first=g:(g.prev=this.last,this.last.next=g),this.last=g,this.last.next=void 0,this.first.prev=void 0,this}insert(g,A){if(this.isEmpty())this.first=g,this.last=g;else if(A==null)g.next=this.first,this.first.prev=g,this.first=g;else{let I=A.next;A.next=g,I&&(I.prev=g),g.prev=A,g.next=I,this.last===A&&(this.last=g)}return this.last.next=void 0,this.first.prev=void 0,this}remove(g){return g===this.first&&g===this.last?(this.first=void 0,this.last=void 0):(g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),g===this.first&&(this.first=g.next),g===this.last&&(this.last=g.prev)),this}isEmpty(){return this.first===void 0}static testInfiniteLoop(g){let A=g,I=g;do{if(A!=g&&A===I)throw qc.INFINITE_LOOP;A=A.next,I=I.next.next}while(A!=g)}},afI={stroke:"black"},KBo=class{constructor(g=afI){for(const A in g)this[A]=g[A];this.stroke=g.stroke??afI.stroke}toAttributesString(){return Object.keys(this).reduce((g,A)=>g+(this[A]!==void 0?this.toAttrString(A,this[A]):""),"")}toAttrString(g,A){const I=g==="className"?"class":this.convertCamelToKebabCase(g);return A===null?`${I} `:`${I}="${A.toString()}" `}convertCamelToKebabCase(g){return g.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).join("-").toLowerCase()}};function ob(g){return new KBo(g).toAttributesString()}function xZ(g,A){let I=[],[e,t,o]=g.standard,[B,C,Q]=A.standard,i=e*C-t*B,E=o*C-t*Q,n=e*Q-o*B;if(!jA.Utils.EQ_0(i)){let s,r;t===0?(s=o/e,r=n/i):C===0?(s=Q/B,r=n/i):e===0?(s=E/i,r=o/t):B===0?(s=E/i,r=Q/C):(s=E/i,r=n/i),I.push(new jA.Point(s,r))}return I}function Bb(g,A){let I=[],e=A.pc.projectionOn(g),t=A.pc.distanceTo(e)[0];if(jA.Utils.EQ(t,A.r))I.push(e);else if(jA.Utils.LT(t,A.r)){let o=Math.sqrt(A.r*A.r-t*t),B,C;B=g.norm.rotate90CCW().multiply(o),C=e.translate(B),I.push(C),B=g.norm.rotate90CW().multiply(o),C=e.translate(B),I.push(C)}return I}function FZ(g,A){let I=[];for(let e of A.toSegments()){let t=HeA(e,g);for(let o of t)mfI(o,I)||I.push(o)}return I}function xuA(g,A){let I=[];if(FZ(g,A.box).length===0)return I;let e=new jA.Circle(A.pc,A.r),t=Bb(g,e);for(let o of t)o.on(A)&&I.push(o);return I}function HeA(g,A){let I=[];if(g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&!g.isZeroLength()&&I.push(g.pe),I.length>0||g.isZeroLength()||g.ps.leftTo(A)&&g.pe.leftTo(A)||!g.ps.leftTo(A)&&!g.pe.leftTo(A))return I;let e=new jA.Line(g.ps,g.pe);return xZ(e,A)}function FuA(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;if(A.isZeroLength())return A.ps.on(g)&&I.push(A.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Line(A.ps,A.pe);if(e.incidentTo(t))g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&I.push(g.pe),A.ps.on(g)&&!A.ps.equalTo(g.ps)&&!A.ps.equalTo(g.pe)&&I.push(A.ps),A.pe.on(g)&&!A.pe.equalTo(g.ps)&&!A.pe.equalTo(g.pe)&&I.push(A.pe);else if(e.parallelTo(t)){const o=new jA.Vector(g.ps,g.pe),B=new jA.Vector(A.ps,A.pe),C=new jA.Vector(g.ps,A.ps),Q=o.cross(B);if(!jA.Utils.EQ_0(Q)){const i=C.cross(B)/Q,E=C.cross(o)/Q;jA.Utils.GE(i,0)&&jA.Utils.LE(i,1)&&jA.Utils.GE(E,0)&&jA.Utils.LE(E,1)&&I.push(rfI(g.ps.translate(o.multiply(i)),g,A))}}else{let o=xZ(e,t);o.length>0&&cfI(o[0],g)&&cfI(o[0],A)&&I.push(rfI(o[0],g,A))}return I}function rfI(g,A,I){for(const e of[A.ps,A.pe,I.ps,I.pe])if(g.equalTo(e))return e;return g}function cfI(g,A){const I=A.box;return jA.Utils.LE(g.x,I.xmax)&&jA.Utils.GE(g.x,I.xmin)&&jA.Utils.LE(g.y,I.ymax)&&jA.Utils.GE(g.y,I.ymin)}function UuA(g,A){let I=[];if(g.isZeroLength()){let[o,B]=g.ps.distanceTo(A.pc);return jA.Utils.EQ(o,A.r)&&I.push(g.ps),I}let e=new jA.Line(g.ps,g.pe),t=Bb(e,A);for(let o of t)o.on(g)&&I.push(o);return I}function UZ(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Circle(A.pc,A.r),o=Bb(e,t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function LBo(g,A){let I=[];for(let e of A.toSegments()){let t=FuA(e,g);for(let o of t)I.push(o)}return I}function hfI(g,A){let I=[],e=new jA.Vector(g.pc,A.pc),t=g.r,o=A.r;if(jA.Utils.EQ_0(t)||jA.Utils.EQ_0(o))return I;if(jA.Utils.EQ_0(e.x)&&jA.Utils.EQ_0(e.y)&&jA.Utils.EQ(t,o))return I.push(g.pc.translate(-t,0)),I;let B=g.pc.distanceTo(A.pc)[0];if(jA.Utils.GT(B,t+o)||jA.Utils.LT(B,Math.abs(t-o)))return I;e.x/=B,e.y/=B;let C;if(jA.Utils.EQ(B,t+o)||jA.Utils.EQ(B,Math.abs(t-o)))return C=g.pc.translate(t*e.x,t*e.y),I.push(C),I;let Q=t*t/(2*B)-o*o/(2*B)+B/2,i=g.pc.translate(Q*e.x,Q*e.y),E=Math.sqrt(t*t-Q*Q);return C=i.translate(e.rotate90CCW().multiply(E)),I.push(C),C=i.translate(e.rotate90CW().multiply(E)),I.push(C),I}function YBo(g,A){let I=[];for(let e of A.toSegments()){let t=UuA(e,g);for(let o of t)I.push(o)}return I}function lfI(g,A){let I=[];if(g.pc.equalTo(A.pc)&&jA.Utils.EQ(g.r,A.r)){let B;return B=g.start,B.on(A)&&I.push(B),B=g.end,B.on(A)&&I.push(B),B=A.start,B.on(g)&&I.push(B),B=A.end,B.on(g)&&I.push(B),I}let e=new jA.Circle(g.pc,g.r),t=new jA.Circle(A.pc,A.r),o=e.intersect(t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function Veg(g,A){let I=[];if(A.pc.equalTo(g.pc)&&jA.Utils.EQ(A.r,g.r))return I.push(g.start),I.push(g.end),I;let e=A,t=new jA.Circle(g.pc,g.r),o=hfI(e,t);for(let B of o)B.on(g)&&I.push(B);return I}function _Bo(g,A){let I=[];for(let e of A.toSegments()){let t=UZ(e,g);for(let o of t)I.push(o)}return I}function DfI(g,A){return g.isSegment?FuA(g.shape,A):UZ(A,g.shape)}function dfI(g,A){return g.isSegment?UZ(g.shape,A):lfI(g.shape,A)}function yfI(g,A){return g.isSegment?HeA(g.shape,A):xuA(A,g.shape)}function bBo(g,A){return g.isSegment?Xeg(A,g.shape):$eg(A,g.shape)}function HBo(g,A){return g.isSegment?UuA(g.shape,A):Veg(g.shape,A)}function jeg(g,A){let I=[];for(let e of A.edges)for(let t of DfI(e,g))I.push(t);return I}function zeg(g,A){let I=[];for(let e of A.edges)for(let t of dfI(e,g))I.push(t);return I}function veA(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of yfI(e,g))mfI(t,I)||I.push(t);return g.sortPoints(I)}function wfI(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of HBo(e,g))I.push(t);return I}function ufI(g,A){return g.isSegment?DfI(A,g.shape):g.isArc?dfI(A,g.shape):g.isLine?yfI(A,g.shape):g.isRay?bBo(A,g.shape):[]}function GfI(g,A){let I=[];if(A.isEmpty()||g.shape.box.not_intersect(A.box))return I;let e=A.edges.search(g.shape.box);for(let t of e)I=[...I,...ufI(g,t)];return I}function vBo(g,A){let I=[];if(A.isEmpty()||g.size===0)return I;for(let e of g)I=[...I,...GfI(e,A)];return I}function qBo(g,A){let I=[];if(g.isEmpty()||A.isEmpty()||g.box.not_intersect(A.box))return I;for(let e of g.edges)I=[...I,...GfI(e,A)];return I}function TBo(g,A){return g instanceof jA.Line?veA(g,A):g instanceof jA.Segment?jeg(g,A):g instanceof jA.Arc?zeg(g,A):[]}function mfI(g,A){return A.some(I=>I.equalTo(g))}function AL(g){return new jA.Line(g.start,g.norm)}function Xeg(g,A){return HeA(A,AL(g)).filter(I=>g.contains(I))}function $eg(g,A){return xuA(AL(g),A).filter(I=>g.contains(I))}function pfI(g,A){return Bb(AL(g),A).filter(I=>g.contains(I))}function ZBo(g,A){return FZ(AL(g),A).filter(I=>g.contains(I))}function kfI(g,A){return xZ(AL(g),A).filter(I=>g.contains(I))}function OBo(g,A){return xZ(AL(g),AL(A)).filter(I=>g.contains(I)).filter(I=>A.contains(I))}function MfI(g,A){return veA(AL(g),A).filter(I=>g.contains(I))}function SfI(g,A){if(g.intersect&&g.intersect instanceof Function)return g.intersect(A);throw qc.UNSUPPORTED_SHAPE_TYPE}function JZ(g,A){let I=[];for(let e of A)I=[...I,...SfI(g,e.shape)];return I}function WBo(g,A){let I=[];for(let e of g)for(let t of A)I=[...I,...SfI(e.shape,t.shape)];return I}var Cb=class VBA extends Weg{constructor(...A){if(super(),this.isInfinite=!1,A.length===1&&A[0]instanceof Array&&A[0].length>0){const I=A[0],e=I.length,t=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray||Q instanceof jA.Line,o=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray,B=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc;if(e===1&&t(I[0])||e>1&&o(I[0])&&o(I[e-1])&&I.slice(1,e-1).every(B)){this.isInfinite=I.some(Q=>Q instanceof jA.Ray||Q instanceof jA.Line);for(let Q of I){let i=new jA.Edge(Q);this.append(i)}this.setArcLength()}else throw jA.Errors.ILLEGAL_PARAMETERS}}get edges(){return[...this]}get box(){return this.edges.reduce((A,I)=>A.merge(I.box),new jA.Box)}get vertices(){let A=this.edges.map(I=>I.start);return A.push(this.last.end),A}get length(){if(this.isEmpty())return 0;if(this.isInfinite)return Number.POSITIVE_INFINITY;let A=0;for(let I of this)A+=I.length;return A}clone(){return new VBA(this.toShapes())}setArcLength(){for(let A of this)this.setOneEdgeArcLength(A)}setOneEdgeArcLength(A){A===this.first?A.arc_length=0:A.arc_length=A.prev.arc_length+A.prev.length}pointAtLength(A){if(A>this.length||A<0||this.isInfinite)return null;let I=null;for(let e of this)if(A>=e.arc_length&&(e===this.last||A<e.next.arc_length)){I=e.pointAtLength(A-e.arc_length);break}return I}addVertex(A,I){let e=I.shape.split(A);if(e[0]===null)return I.prev;if(e[1]===null)return I;let t=new jA.Edge(e[0]),o=I.prev;return this.insert(t,o),I.shape=e[1],t}getChain(A,I){let e=[];for(let t=A;t!==I.next;t=t.next)e.push(t);return e}split(A){for(let I of A){let e=this.findEdgeByPoint(I);this.addVertex(I,e)}return this}findEdgeByPoint(A){let I;for(let e of this)if(e.shape.contains(A)){I=e;break}return I}distanceTo(A){if(A instanceof jA.Point){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Line){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Circle){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Segment){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Arc){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Box){const[I,e]=jA.Distance.shape2multiline(new jA.Polygon(A),this);return[I,e.reverse()]}if(A instanceof jA.Multiline)return jA.Distance.multiline2multiline(this,A);throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}intersect(A){return A instanceof jA.Multiline?WBo(this,A):JZ(A,this)}contains(A){if(A instanceof jA.Point)return this.edges.some(I=>I.shape.contains(A));throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}translate(A){return new VBA(this.edges.map(I=>I.shape.translate(A)))}rotate(A=0,I=new jA.Point){return new VBA(this.edges.map(e=>e.shape.rotate(A,I)))}transform(A=new jA.Matrix){return new VBA(this.edges.map(I=>I.shape.transform(A)))}toShapes(){return this.edges.map(A=>A.shape.clone())}toJSON(){return this.edges.map(A=>A.toJSON())}svgPoints(){return this.vertices.map(A=>`${A.x},${A.y}`).join(" ")}dpath(){let A=`M${this.first.start.x},${this.first.start.y}`;for(let I of this)A+=I.svg();return A}svg(A={}){let I=`
|
|
5400
|
+
`),Q=C.map(n=>{const s=Array.from(n);return s.reduce((r,a,c)=>r+ceg(a,s[c+1],A),0)}),i=Q.reduce((n,s)=>Math.max(n,s),0),E=C.length>1?A+(C.length-1)*B:A;return{width:i,height:E,glyphWidth:I,letterSpacing:e,spaceWidth:t,strokeWidth:o,lineHeight:B,lines:C,lineWidths:Q}}function feo(g){const{line:A,fontSize:I,startX:e,startY:t}=g,o=I,B=I,C=Array.from(A),Q=[];let i=e+g.layout.strokeWidth/2;return C.forEach((E,n)=>{const s=AyI[E];if(s?.length){const r=[];for(const a of s){const c=a.map(h=>({x:i+h.x*B,y:t+(1-h.y)*o}));c.length>=3&&r.push(c)}r.length>0&&Q.push(r)}i+=ceg(E,C[n+1],I)}),Q}function Reo(g){let A=Number.POSITIVE_INFINITY,I=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const o of g)for(const B of o)A=Math.min(A,B.x),I=Math.min(I,B.y),e=Math.max(e,B.x),t=Math.max(t,B.y);return A===Number.POSITIVE_INFINITY||I===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY||t===Number.NEGATIVE_INFINITY?null:{minX:A,minY:I,maxX:e,maxY:t}}function Neo(g,A,I){const e=Feo(g,A),t=Ueo(e,A,I),o=Reo(t.flat()),B=Jeo(g,A,o);return{bounds:o?Yeo(o,B):null,glyphGroups:Leo(t,B),linePlacements:e.map(({line:C,startX:Q,startY:i})=>({line:C,startX:Q+B.x,startY:i+B.y})),startOffset:B}}function xeo(g,A){const I=A.width+A.strokeWidth,e=A.height+A.strokeWidth;let t=0,o=0;return g==="center"||g==="top_center"||g==="bottom_center"?t=-I/2:g==="top_left"||g==="bottom_left"||g==="center_left"?t=0:g==="top_right"||g==="bottom_right"||g==="center_right"?t=-I:(g==="top_center"||g==="bottom_center")&&(t=-I/2),g==="center"||g==="center_left"||g==="center_right"?o=-e/2:g==="top_left"||g==="top_right"||g==="top_center"?o=0:(g==="bottom_left"||g==="bottom_right"||g==="bottom_center")&&(o=-e),{x:t,y:o}}function Feo(g,A){return A.lines.map((I,e)=>({line:I,startX:_eo({alignment:g,lineWidth:A.lineWidths[e],maxWidth:A.width,strokeWidth:A.strokeWidth}),startY:e*A.lineHeight}))}function Ueo(g,A,I){return g.flatMap(({line:e,startX:t,startY:o})=>feo({line:e,fontSize:I,startX:t,startY:o,layout:A}))}function Jeo(g,A,I){return I?{x:-Peo(g,I),y:-Keo(g,I)}:xeo(g,A)}function Peo(g,A){return g==="top_left"||g==="bottom_left"||g==="center_left"?A.minX:g==="top_right"||g==="bottom_right"||g==="center_right"?A.maxX:(A.minX+A.maxX)/2}function Keo(g,A){return g==="top_left"||g==="top_right"||g==="top_center"?A.minY:g==="bottom_left"||g==="bottom_right"||g==="bottom_center"?A.maxY:(A.minY+A.maxY)/2}function Leo(g,A){return A.x===0&&A.y===0?g:g.map(I=>I.map(e=>e.map(t=>({x:t.x+A.x,y:t.y+A.y}))))}function Yeo(g,A){return{minX:g.minX+A.x,minY:g.minY+A.y,maxX:g.maxX+A.x,maxY:g.maxY+A.y}}function _eo(g){const{alignment:A,lineWidth:I,maxWidth:e,strokeWidth:t}=g,o=I+t,B=e+t;return A==="top_left"||A==="bottom_left"||A==="center_left"?0:A==="top_right"||A==="bottom_right"||A==="center_right"?B-o:(B-o)/2}var beo=g=>zkg[g];function Heo(g){const{ctx:A,line:I,fontSize:e,startX:t,startY:o,layout:B}=g,{strokeWidth:C}=B,Q=e,i=e,E=o,n=Array.from(I);let s=t+C/2;n.forEach((r,a)=>{const c=beo(r);if(c?.length){A.beginPath();for(const h of c){const l=s+h.x1*i,D=E+(1-h.y1)*Q,d=s+h.x2*i,y=E+(1-h.y2)*Q;A.moveTo(l,D),A.lineTo(d,y)}A.stroke()}s+=ceg(r,n[a+1],e)})}var veo={left:.2,right:.2,top:.2,bottom:.2};function mZ(g){const{ctx:A,text:I,x:e,y:t,fontSize:o,color:B,realToCanvasMat:C,anchorAlignment:Q,rotation:i=0,mirrorX:E=!1,knockout:n=!1,knockoutPadding:s={}}=g;if(!I)return;const[r,a]=lt(C,[e,t]),c=Math.abs(C.a),h=o*c,l=Seo(I,h),D=Neo(Q,l,h);if(A.save(),A.translate(r,a),i!==0&&A.rotate(-i*(Math.PI/180)),E&&A.scale(-1,1),n){const d={...veo,...s},y=d.left*c,w=d.right*c,u=d.top*c,G=d.bottom*c,m=D.bounds;if(!m){A.restore();return}const p=m.minX-y,k=m.minY-u,S=m.maxX-m.minX+y+w,R=m.maxY-m.minY+u+G;A.fillStyle=B,A.beginPath(),A.rect(p,k,S,R);for(const x of D.glyphGroups)for(const N of x)keo(A,N);A.fill("evenodd")}else A.strokeStyle=B;A.lineWidth=l.strokeWidth,A.lineCap="round",A.lineJoin="round",n||D.linePlacements.forEach(({line:d,startX:y,startY:w})=>{Heo({ctx:A,line:d,fontSize:h,startX:y,startY:w,layout:l})}),A.restore()}function qeo(g){return g||"center"}function Teo(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";o&&mZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:I.font_size??1,color:t.copper[I.layer]??t.copper.top,realToCanvasMat:e,anchorAlignment:qeo(I.anchor_alignment),rotation:I.ccw_rotation??0,mirrorX:I.is_mirrored??I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function Kl(g){const{ctx:A,center:I,radius:e,fill:t,realToCanvasMat:o,stroke:B,strokeWidth:C,isStrokeDashed:Q=!1}=g,[i,E]=lt(o,[I.x,I.y]),n=e*Math.abs(o.a),s=C?C*Math.abs(o.a):void 0;A.beginPath(),A.arc(i,E,n,0,Math.PI*2),t&&(A.fillStyle=t,A.fill()),B&&s&&(Q?A.setLineDash([s*3,s*2]):A.setLineDash([]),A.strokeStyle=B,A.lineWidth=s,A.stroke())}function Zeo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function Oeo(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g;Kl({ctx:A,center:I.center,radius:I.radius,stroke:Zeo(I.layer,t),strokeWidth:.05,realToCanvasMat:e})}function Weo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function Veo(g){const{ctx:A,outline:I,realToCanvasMat:e,colorMap:t}=g;if(!I.outline||I.outline.length<2)return;A.beginPath();const o=lt(e,I.outline[0]);A.moveTo(o.x,o.y);for(let B=1;B<I.outline.length;B++){const C=lt(e,I.outline[B]);A.lineTo(C.x,C.y)}A.closePath(),A.lineWidth=.05*Math.abs(e.a),A.strokeStyle=Weo(I.layer,t),A.lineJoin="round",A.stroke()}function jeo(g,A){return g==="bottom"?A.courtyard.bottom:A.courtyard.top}function zeo(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g;H0({ctx:A,center:I.center,width:I.width,height:I.height,stroke:jeo(I.layer,t),strokeWidth:.05,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation??0,lineJoin:"round"})}function pZ(g){const{ctx:A,points:I,cx:e=0,cy:t=0,ccwRotationDegrees:o=0}=g,B=I[0];if(I.length<3||!B)return;const C=cuA(Ox(e,t),xeA(-o*Math.PI/180),Ox(-e,-t)),Q=lt(C,B);A.moveTo(Q.x,Q.y);for(let i=1;i<I.length;i++){const E=I[i];if(!E)continue;const n=lt(C,E);A.lineTo(n.x,n.y)}A.closePath()}function Wx(g){const{ctx:A,points:I,fill:e,realToCanvasMat:t,center:o={x:0,y:0},rotation:B=0}=g;if(I.length<3)return;const[C,Q]=lt(t,[o.x,o.y]),i=I.map(E=>{const[n,s]=lt(t,[E.x,E.y]);return{x:n-C,y:s-Q}});i[0]&&(A.save(),A.translate(C,Q),B!==0&&A.rotate(-B*(Math.PI/180)),A.beginPath(),pZ({ctx:A,points:i}),A.fillStyle=e,A.fill(),A.restore())}function Xeo(g){const{ctx:A,cutout:I,realToCanvasMat:e,colorMap:t}=g;if(I.shape==="rect"){H0({ctx:A,center:I.center,width:I.width,height:I.height,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:I.rotation??0,borderRadius:I.corner_radius??0});return}if(I.shape==="circle"){Kl({ctx:A,center:I.center,radius:I.radius,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&Wx({ctx:A,points:I.points,fill:t.drill,realToCanvasMat:e});return}}var OSI="#ff4d4d",$eo={a:1,b:0,c:0,d:1,e:0,f:0};function Ato(g){const A=Math.min(g.canvas.width,g.canvas.height),I=Math.max(1,Math.min(2,A*.002)),e=Math.max(10,Math.min(18,A*.02));return{fontSize:e,strokeWidth:I,dashLength:I*4,labelGap:e*.35,pointRadius:I*3}}function heg({ctx:g,label:A,x:I,y:e,style:t,align:o="left"}){A&&(g.setLineDash([]),mZ({ctx:g,text:A,x:I,y:e,fontSize:t.fontSize,color:OSI,realToCanvasMat:$eo,anchorAlignment:o==="center"?"bottom_center":"bottom_left"}))}function gto({ctx:g,debugObject:A,realToCanvasMat:I,labelStackIndex:e=0}){const t=Ato(g);if(g.save(),g.strokeStyle=OSI,g.lineWidth=t.strokeWidth,g.setLineDash([t.dashLength,t.dashLength]),A.shape==="rect"){const C=lt(I,[A.center.x-A.size.width/2,A.center.y-A.size.height/2]),Q=lt(I,[A.center.x+A.size.width/2,A.center.y+A.size.height/2]),i=Math.min(C[0],Q[0]),E=Math.min(C[1],Q[1]),n=Math.abs(Q[0]-C[0]),s=Math.abs(Q[1]-C[1]);g.beginPath(),g.rect(i,E,n,s),g.stroke(),heg({ctx:g,label:A.label,x:i,y:E-t.labelGap-e*(t.fontSize+t.labelGap),style:t}),g.restore();return}if(A.shape==="line"){const[C,Q]=lt(I,[A.start.x,A.start.y]),[i,E]=lt(I,[A.end.x,A.end.y]);g.beginPath(),g.moveTo(C,Q),g.lineTo(i,E),g.stroke(),heg({ctx:g,label:A.label,x:(C+i)/2,y:(Q+E)/2-t.labelGap,style:t,align:"center"}),g.restore();return}const[o,B]=lt(I,[A.center.x,A.center.y]);g.beginPath(),g.arc(o,B,t.pointRadius,0,Math.PI*2),g.stroke(),heg({ctx:g,label:A.label,x:o+t.pointRadius+t.labelGap,y:B-t.pointRadius,style:t}),g.restore()}var Ito=1.5,eto=.6,tto=.3;function leg(g){const A=Math.hypot(g.x,g.y)||1;return{x:g.x/A,y:g.y/A}}function WSI(g){const{ctx:A,from:I,to:e,realToCanvasMat:t,color:o,fontSize:B,arrowSize:C=1,strokeWidth:Q,text:i,textRotation:E,offset:n}=g,s=leg({x:e.x-I.x,y:e.y-I.y}),r={x:-s.y,y:s.x},a=n?.direction&&typeof n.direction.x=="number"&&typeof n.direction.y=="number",c=a?leg(n.direction):{x:0,y:0},h=n?.distance??0,l={x:c.x*h,y:c.y*h},D={x:I.x+l.x,y:I.y+l.y},d={x:e.x+l.x,y:e.y+l.y},y={x:D.x+s.x*C,y:D.y+s.y*C},w={x:d.x-s.x*C,y:d.y-s.y*C};Math.abs(t.a);const u=Q??C/5,G=o||"rgba(255,255,255,0.5)",m=a&&(Math.abs(c.x)>Number.EPSILON||Math.abs(c.y)>Number.EPSILON)?c:r,p=h+.5,k=[],S=N=>{const U={x:N.x+m.x*p,y:N.y+m.y*p},L=u/2,_={x:-m.y,y:m.x};return[{x:N.x+_.x*L,y:N.y+_.y*L},{x:N.x-_.x*L,y:N.y-_.y*L},{x:U.x-_.x*L,y:U.y-_.y*L},{x:U.x+_.x*L,y:U.y+_.y*L}]};k.push(D),k.push({x:y.x+r.x*(C/2),y:y.y+r.y*(C/2)}),k.push({x:y.x+r.x*(u/2),y:y.y+r.y*(u/2)}),k.push({x:w.x+r.x*(u/2),y:w.y+r.y*(u/2)}),k.push({x:w.x+r.x*(C/2),y:w.y+r.y*(C/2)}),k.push(d),k.push({x:w.x-r.x*(C/2),y:w.y-r.y*(C/2)}),k.push({x:w.x-r.x*(u/2),y:w.y-r.y*(u/2)}),k.push({x:y.x-r.x*(u/2),y:y.y-r.y*(u/2)}),k.push({x:y.x-r.x*(C/2),y:y.y-r.y*(C/2)}),k.push(D);const R=k[0],x=N=>{const U=S(N);k.push(R),k.push(U[0]),k.push(...U),k.push(U[0]),k.push(R)};if(x(I),x(e),Wx({ctx:A,points:k,fill:G,realToCanvasMat:t}),i){const N={x:(I.x+e.x)/2+l.x,y:(I.y+e.y)/2+l.y},[U,L]=lt(t,[D.x,D.y]),[_,b]=lt(t,[d.x,d.y]),q=leg({x:_-U,y:b-L});let j=Math.atan2(q.y,q.x)*180/Math.PI;(j>90||j<-90)&&(j+=180);const Z=typeof E=="number"&&Number.isFinite(E)?j-E:j;let O=0;if(i&&typeof E=="number"&&Number.isFinite(E)){const eA=i.length*B*eto,QA=B,sA=E*Math.PI/180,DA=Math.abs(Math.sin(sA)),CA=Math.abs(Math.cos(sA)),hA=eA/2,nA=QA/2;O=hA*DA+nA*CA+B*tto}const AA=C*Ito+O,tA={x:N.x+r.x*AA,y:N.y+r.y*AA};mZ({ctx:A,text:i,x:tA.x,y:tA.y,fontSize:B,color:G,realToCanvasMat:t,anchorAlignment:"center",rotation:-Z})}}function oto(g){const{ctx:A,pcbFabricationNoteDimension:I,realToCanvasMat:e,colorMap:t}=g,o=I.color??t.fabricationNote;WSI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:o,fontSize:I.font_size??1,arrowSize:I.arrow_size??1,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function Bto(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g;if(!I.route||I.route.length<2)return;const o=I.route.map(C=>lt(e,C)),B=I.stroke_width*Math.abs(e.a)/2;if(A.beginPath(),I.is_filled){const Q=o.reduce((i,E,n)=>{const s=o[(n+1)%o.length];return i+E.x*s.y-s.x*E.y},0)<0?[...o].reverse():o;A.moveTo(Q[0].x,Q[0].y);for(const i of Q.slice(1))A.lineTo(i.x,i.y);A.closePath()}if(I.has_stroke!==!1&&B>0){const C=I.is_filled?[...o,o[0]]:o;for(let Q=1;Q<C.length;Q++){const i=C[Q-1],E=C[Q],n=Math.atan2(E.y-i.y,E.x-i.x);A.moveTo(i.x+B*Math.cos(n+Math.PI/2),i.y+B*Math.sin(n+Math.PI/2)),A.arc(i.x,i.y,B,n+Math.PI/2,n+3*Math.PI/2),A.lineTo(E.x+B*Math.cos(n-Math.PI/2),E.y+B*Math.sin(n-Math.PI/2)),A.arc(E.x,E.y,B,n-Math.PI/2,n+Math.PI/2),A.closePath()}}A.fillStyle=I.color??t.fabricationNote,A.fill()}function Cto(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=t.fabricationNote,B=I.color??o,C=I.is_filled??!1,Q=I.has_stroke??!0,i=I.is_stroke_dashed??!1;H0({ctx:A,center:I.center,width:I.width,height:I.height,fill:C?B:void 0,stroke:Q?B:void 0,strokeWidth:Q?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:i})}function Qto(g,A){return A.fabricationNote}function ito(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=Qto(I.layer,t),B=I.color??o,C=I.font_size;mZ({ctx:A,text:I.text,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:C,color:B,realToCanvasMat:e,anchorAlignment:I.anchor_alignment})}function OR(g){const{ctx:A,center:I,radius_x:e,radius_y:t,fill:o,stroke:B,strokeWidth:C=.1,realToCanvasMat:Q,rotation:i=0}=g,[E,n]=lt(Q,[I.x,I.y]),s=e*Math.abs(Q.a),r=t*Math.abs(Q.a),a=C*Math.abs(Q.a);A.save(),A.translate(E,n),i!==0&&A.rotate(-i*(Math.PI/180)),A.beginPath(),A.ellipse(0,0,s,r,0,0,Math.PI*2),o&&(A.fillStyle=o,A.fill()),B&&(A.strokeStyle=B,A.lineWidth=a,A.stroke()),A.restore()}function Yy(g){const{ctx:A,center:I,width:e,height:t,fill:o,realToCanvasMat:B,rotation:C=0,stroke:Q,strokeWidth:i}=g,[E,n]=lt(B,[I.x,I.y]),s=e*Math.abs(B.a),r=t*Math.abs(B.a),a=i?i*Math.abs(B.a):void 0;if(A.save(),A.translate(E,n),C!==0&&A.rotate(-C*(Math.PI/180)),A.beginPath(),s>r){const c=r/2,h=s-r;A.moveTo(-h/2,-c),A.lineTo(h/2,-c),A.arc(h/2,0,c,-Math.PI/2,Math.PI/2),A.lineTo(-h/2,c),A.arc(-h/2,0,c,Math.PI/2,-Math.PI/2)}else if(r>s){const c=s/2,h=r-s;A.moveTo(c,-h/2),A.lineTo(c,h/2),A.arc(0,h/2,c,0,Math.PI),A.lineTo(-c,-h/2),A.arc(0,-h/2,c,Math.PI,0)}else A.arc(0,0,s/2,0,Math.PI*2);A.closePath(),o&&(A.fillStyle=o,A.fill()),Q&&a&&(A.strokeStyle=Q,A.lineWidth=a,A.stroke()),A.restore()}function luA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function VSI(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B=!1}=g,C=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0;if(!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))<=C*2)){if(I.hole_shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2-C,fill:t.drill,realToCanvasMat:e});return}if(I.hole_shape==="square"){const i=luA(I);H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter-C*2,height:I.hole_diameter-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="oval"){const i=luA(I);OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2-C,radius_y:I.hole_height/2-C,fill:t.drill,realToCanvasMat:e,rotation:i});return}if(I.hole_shape==="rect"){const i=luA(I);H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,ccwRotationDegrees:i});return}if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const i=luA(I);Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width-C*2,height:I.hole_height-C*2,fill:t.drill,realToCanvasMat:e,rotation:i});return}}}function Eto(g){const{ctx:A,cx:I,cy:e,radius:t}=g;A.beginPath(),A.arc(I,e,t,0,Math.PI*2)}function nto(g){const{ctx:A,cx:I,cy:e,width:t,height:o}=g;A.beginPath(),A.rect(I-t/2,e-o/2,t,o)}function z3(g){const{ctx:A,cx:I,cy:e,width:t,height:o,ccwRotationDegrees:B=0}=g,C=B*Math.PI/180,Q=cuA(Ox(I,e),xeA(-C));if(t>o){const i=o/2,E=(t-o)/2,n=lt(Q,{x:-E,y:0}),s=lt(Q,{x:E,y:0}),r=lt(Q,{x:E,y:-i});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C-Math.PI/2,-C+Math.PI/2),A.arc(n.x,n.y,i,-C+Math.PI/2,-C-Math.PI/2)}else if(o>t){const i=t/2,E=(o-t)/2,n=lt(Q,{x:0,y:-E}),s=lt(Q,{x:0,y:E}),r=lt(Q,{x:i,y:E});A.moveTo(r.x,r.y),A.arc(s.x,s.y,i,-C,-C+Math.PI),A.arc(n.x,n.y,i,-C+Math.PI,-C)}else{const i=t/2;A.moveTo(I+i,e),A.arc(I,e,i,0,Math.PI*2)}A.closePath()}function WR(g){const{ctx:A,cx:I,cy:e,width:t,height:o,radius:B,ccwRotationDegrees:C=0}=g,Q=C*Math.PI/180,i=cuA(Ox(I,e),xeA(-Q)),E=t/2,n=o/2,s=Math.min(B,E,n);if(s>0){const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n}),l=lt(i,{x:-E,y:0});A.moveTo(l.x,l.y),A.arcTo(r.x,r.y,a.x,a.y,s),A.arcTo(a.x,a.y,c.x,c.y,s),A.arcTo(c.x,c.y,h.x,h.y,s),A.arcTo(h.x,h.y,r.x,r.y,s)}else{const r=lt(i,{x:-E,y:-n}),a=lt(i,{x:E,y:-n}),c=lt(i,{x:E,y:n}),h=lt(i,{x:-E,y:n});A.moveTo(r.x,r.y),A.lineTo(a.x,a.y),A.lineTo(c.x,c.y),A.lineTo(h.x,h.y)}A.closePath()}function sto(g){const{ctx:A,pad:I,realToCanvasMat:e,color:t,drillCutouts:o}=g;if(A.save(),A.beginPath(),!jSI(A,I,e)){A.restore();return}A.clip(),A.beginPath(),jSI(A,I,e);for(const B of o)rto(A,B,e);A.fillStyle=t,A.fill("evenodd"),A.restore()}function ato(g){const{pad:A,holes:I=[],platedHoles:e=[],vias:t=[],cutouts:o=[]}=g,B=hto(A);if(!B)return[];const C=[],Q=i=>{i&&dto(B,lto(i))&&C.push(i)};for(const i of o)Q(Dto(i));for(const i of I)Q(yto(i));for(const i of e)e2I(i.layers,A.layer)&&Q(I2I(i));for(const i of t){if(!e2I(i.layers,A.layer))continue;const E=i.hole_diameter/2;if(E<=0)continue;const n={shape:"circle",x:i.x,y:i.y,radius:E};Q(n)}return C}function jSI(g,A,I){return A.shape==="rect"||A.shape==="rotated_rect"?(XSI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:wto(A),rotation:A.shape==="rotated_rect"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="circle"?(zSI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I}),!0):A.shape==="pill"||A.shape==="rotated_pill"?($SI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.shape==="rotated_pill"?A.ccw_rotation??0:0,realToCanvasMat:I}),!0):A.shape==="polygon"&&A.points&&A.points.length>=3?(A2I(g,A.points,I),!0):!1}function rto(g,A,I){if(A.shape==="circle"){zSI(g,{x:A.x,y:A.y,radius:A.radius,realToCanvasMat:I});return}if(A.shape==="oval"){cto(g,{x:A.x,y:A.y,radiusX:A.radiusX,radiusY:A.radiusY,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="pill"){$SI(g,{x:A.x,y:A.y,width:A.width,height:A.height,rotation:A.rotation,realToCanvasMat:I});return}if(A.shape==="polygon"){A2I(g,A.points,I);return}XSI(g,{x:A.x,y:A.y,width:A.width,height:A.height,radius:A.radius,rotation:A.rotation,realToCanvasMat:I})}function zSI(g,A){const{x:I,y:e,radius:t,realToCanvasMat:o}=A,[B,C]=lt(o,[I,e]),Q=t*Math.abs(o.a);g.moveTo(B+Q,C),g.arc(B,C,Q,0,Math.PI*2),g.closePath()}function cto(g,A){const{x:I,y:e,radiusX:t,radiusY:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a),s=-B*Math.PI/180;g.moveTo(Q+E*Math.cos(s),i+E*Math.sin(s)),g.ellipse(Q,i,E,n,s,0,Math.PI*2),g.closePath()}function XSI(g,A){const{x:I,y:e,width:t,height:o,radius:B=0,rotation:C=0,realToCanvasMat:Q}=A,[i,E]=lt(Q,[I,e]),n=t*Math.abs(Q.a),s=o*Math.abs(Q.a),r=B*Math.abs(Q.a);if(g.save(),g.translate(i,E),C!==0&&g.rotate(-C*(Math.PI/180)),r>0){const a=-n/2,c=-s/2,h=Math.min(r,n/2,s/2);g.moveTo(a+h,c),g.lineTo(a+n-h,c),g.arcTo(a+n,c,a+n,c+h,h),g.lineTo(a+n,c+s-h),g.arcTo(a+n,c+s,a+n-h,c+s,h),g.lineTo(a+h,c+s),g.arcTo(a,c+s,a,c+s-h,h),g.lineTo(a,c+h),g.arcTo(a,c,a+h,c,h),g.closePath()}else g.rect(-n/2,-s/2,n,s);g.restore()}function $SI(g,A){const{x:I,y:e,width:t,height:o,rotation:B=0,realToCanvasMat:C}=A,[Q,i]=lt(C,[I,e]),E=t*Math.abs(C.a),n=o*Math.abs(C.a);z3({ctx:g,cx:Q,cy:i,width:E,height:n,ccwRotationDegrees:B})}function A2I(g,A,I){const e=A[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=1;B<A.length;B++){const C=A[B];if(!C)continue;const[Q,i]=lt(I,[C.x,C.y]);g.lineTo(Q,i)}g.closePath()}function hto(g){if(g.shape==="circle")return X3(g.x,g.y,g.radius,g.radius);if(g.shape==="rect"||g.shape==="rotated_rect"||g.shape==="pill"||g.shape==="rotated_pill"){const A=Math.hypot(g.width/2,g.height/2);return(g.shape==="rotated_rect"||g.shape==="rotated_pill")&&(g.ccw_rotation??0)!==0?X3(g.x,g.y,A,A):X3(g.x,g.y,g.width/2,g.height/2)}if(g.shape==="polygon"&&g.points&&g.points.length>=3)return g2I(g.points)}function lto(g){if(g.shape==="polygon")return g2I(g.points);if(g.shape==="circle")return X3(g.x,g.y,g.radius,g.radius);if(g.shape==="oval"){if((g.rotation??0)!==0){const e=Math.hypot(g.radiusX,g.radiusY);return X3(g.x,g.y,e,e)}return X3(g.x,g.y,g.radiusX,g.radiusY)}const A=g.width/2,I=g.height/2;if((g.rotation??0)!==0){const e=Math.hypot(A,I);return X3(g.x,g.y,e,e)}return X3(g.x,g.y,A,I)}function Dto(g){if(g.shape==="circle")return g.radius<=0?void 0:{shape:"circle",x:g.center.x,y:g.center.y,radius:g.radius};if(g.shape==="rect")return g.width<=0||g.height<=0?void 0:{shape:"rect",x:g.center.x,y:g.center.y,width:g.width,height:g.height,radius:g.corner_radius,rotation:g.rotation};if(g.shape==="polygon"&&g.points.length>=3)return{shape:"polygon",points:g.points}}function g2I(g){let A=1/0,I=-1/0,e=1/0,t=-1/0;for(const o of g)A=Math.min(A,o.x),I=Math.max(I,o.x),e=Math.min(e,o.y),t=Math.max(t,o.y);return{minX:A,maxX:I,minY:e,maxY:t}}function X3(g,A,I,e){return{minX:g-I,maxX:g+I,minY:A-e,maxY:A+e}}function dto(g,A){return g.minX<=A.maxX&&g.maxX>=A.minX&&g.minY<=A.maxY&&g.maxY>=A.minY}function yto(g){if(g.hole_shape==="circle"){const A=g.hole_diameter/2;return A<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:A}}if(g.hole_shape==="square")return g.hole_diameter<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_diameter,height:g.hole_diameter,rotation:DuA(g)};if(g.hole_shape==="oval")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:g.hole_width/2,radiusY:g.hole_height/2,rotation:DuA(g)};if(g.hole_shape==="rect")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"rect",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:DuA(g)};if(g.hole_shape==="pill"||g.hole_shape==="rotated_pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:DuA(g)}}function I2I(g){if(g.shape==="circle"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x,y:g.y,radius:o}}if(g.shape==="oval"){const o=g.hole_width/2,B=g.hole_height/2;return o<=0||B<=0?void 0:{shape:"oval",x:g.x,y:g.y,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(g.shape==="pill")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x,y:g.y,width:g.hole_width,height:g.hole_height,rotation:g.ccw_rotation};if(g.shape==="circular_hole_with_rect_pad"){const o=g.hole_diameter/2;return o<=0?void 0:{shape:"circle",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),radius:o}}if(g.shape==="pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height};if(g.shape==="rotated_pill_hole_with_rect_pad")return g.hole_width<=0||g.hole_height<=0?void 0:{shape:"pill",x:g.x+(g.hole_offset_x??0),y:g.y+(g.hole_offset_y??0),width:g.hole_width,height:g.hole_height,rotation:g.hole_ccw_rotation};if(g.shape!=="hole_with_polygon_pad")return;const A=lt(xeA((g.ccw_rotation??0)*Math.PI/180),{x:g.hole_offset_x??0,y:g.hole_offset_y??0}),I=g.x+A.x,e=g.y+A.y,t=g.hole_shape;if(t==="circle"){const o=(g.hole_diameter??0)/2;return o<=0?void 0:{shape:"circle",x:I,y:e,radius:o}}if(t==="oval"){const o=(g.hole_width??0)/2,B=(g.hole_height??0)/2;return o<=0||B<=0?void 0:{shape:"oval",x:I,y:e,radiusX:o,radiusY:B,rotation:g.ccw_rotation}}if(t==="pill"||t==="rotated_pill"){const o=g.hole_width??0,B=g.hole_height??0;return o<=0||B<=0?void 0:{shape:"pill",x:I,y:e,width:o,height:B,rotation:g.ccw_rotation}}}function DuA(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function wto(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function e2I(g,A){if(!g||g.length===0)return!0;const I=t2I(A);return g.some(e=>t2I(e)===I)}function t2I(g){if(typeof g=="string")return g;if(g&&typeof g=="object"&&"name"in g&&typeof g.name=="string")return g.name}function uto(g,A){const I=parseInt(g.slice(1,3),16),e=parseInt(g.slice(3,5),16),t=parseInt(g.slice(5,7),16);return`rgba(${I}, ${e}, ${t}, ${A})`}function Gto(g,A){return g.layers.includes("bottom")&&!g.layers.includes("top")?A.keepout.bottom:A.keepout.top}function o2I(g){const{ctx:A,strokeColor:I,hatchWidth:e,hatchSpacing:t,diagonal:o,getLineEndpoints:B}=g;A.strokeStyle=I,A.lineWidth=e,A.setLineDash([]);for(let C=-o;C<o*2;C+=t){const{startX:Q,startY:i,endX:E,endY:n}=B(C);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.stroke()}}function B2I(g){const{ctx:A,fillColor:I,drawPath:e,drawHatch:t}=g;e(),A.fillStyle=I,A.fill(),e(),A.clip(),t()}function mto(g){const{ctx:A,keepout:I,realToCanvasMat:e,colorMap:t}=g,o=Math.abs(e.a),B=Gto(I,t),C=uto(B,.2),Q=1*o,i=.15*o;if(I.shape==="rect"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.width*o,r=I.height*o,a=I.rotation??0,c=Math.sqrt(s*s+r*r),h=s/2,l=r/2;A.save(),A.translate(E,n),a!==0&&A.rotate(-a*(Math.PI/180)),B2I({ctx:A,fillColor:C,drawPath:()=>nto({ctx:A,cx:0,cy:0,width:s,height:r}),drawHatch:()=>o2I({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:c,getLineEndpoints:D=>({startX:-h+D,startY:-l,endX:-h+D+c,endY:-l+c})})}),A.restore();return}if(I.shape==="circle"){const[E,n]=lt(e,[I.center.x,I.center.y]),s=I.radius*o,r=s*2;A.save(),A.translate(E,n),B2I({ctx:A,fillColor:C,drawPath:()=>Eto({ctx:A,cx:0,cy:0,radius:s}),drawHatch:()=>o2I({ctx:A,strokeColor:B,hatchWidth:i,hatchSpacing:Q,diagonal:r,getLineEndpoints:a=>({startX:a-r,startY:-r,endX:a+r,endY:r})})}),A.restore()}}var pto="rgba(255,255,255,0.5)";function kto(g){const{ctx:A,pcbNoteDimension:I,realToCanvasMat:e}=g,t=I.color??pto;WSI({ctx:A,from:I.from,to:I.to,realToCanvasMat:e,color:t,fontSize:I.font_size,arrowSize:I.arrow_size,text:I.text,textRotation:I.text_ccw_rotation,offset:I.offset_distance&&I.offset_direction?{distance:I.offset_distance,direction:I.offset_direction}:void 0})}function Mto(g){const{ctx:A,line:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.stroke_width??.1,C=I.is_dashed??!1,[Q,i]=lt(e,[I.x1,I.y1]),[E,n]=lt(e,[I.x2,I.y2]),s=B*Math.abs(e.a);A.save(),C?A.setLineDash([s*2,s*2]):A.setLineDash([]),A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap="round",A.stroke(),A.restore()}function FeA(g){const{ctx:A,start:I,end:e,strokeWidth:t,stroke:o,realToCanvasMat:B,lineCap:C="round"}=g,[Q,i]=lt(B,[I.x,I.y]),[E,n]=lt(B,[e.x,e.y]),s=t*Math.abs(B.a);A.beginPath(),A.moveTo(Q,i),A.lineTo(E,n),A.lineWidth=s,A.strokeStyle=o,A.lineCap=C,A.stroke()}function Sto(g){const{ctx:A,path:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)";if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||FeA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function fto(g){const{ctx:A,rect:I,realToCanvasMat:e}=g,o=I.color??"rgb(89, 148, 220)",B=I.is_filled??!1,C=I.has_stroke??!0,Q=I.is_stroke_dashed??!1;H0({ctx:A,center:I.center,width:I.width,height:I.height,fill:B?o:void 0,stroke:C?o:void 0,strokeWidth:C?I.stroke_width:void 0,borderRadius:I.corner_radius,realToCanvasMat:e,isStrokeDashed:Q})}var Rto="rgb(89, 148, 220)";function Nto(g){const{ctx:A,text:I,realToCanvasMat:e}=g,t=Rto,o=I.color??t,B=I.font_size??1;mZ({ctx:A,text:I.text??"",x:I.anchor_position.x,y:I.anchor_position.y,fontSize:B,color:o,realToCanvasMat:e,anchorAlignment:I.anchor_alignment??"center",mirrorX:I.is_mirrored_from_top_view??I.layer==="bottom"})}function xto(g){const{ctx:A,panel:I,realToCanvasMat:e,colorMap:t}=g,{width:o,height:B,center:C}=I;if(o!==void 0&&B!==void 0&&C){const Q=o/2,i=B/2,E=[{x:C.x-Q,y:C.y-i},{x:C.x+Q,y:C.y-i},{x:C.x+Q,y:C.y+i},{x:C.x-Q,y:C.y+i}];huA({ctx:A,points:E,stroke:t.boardOutline,strokeWidth:.5,realToCanvasMat:e,closePath:!0})}}function duA(g,A){if(g.length<3||A===0)return g;let I=0,e=0;for(const o of g)I+=o.x,e+=o.y;I/=g.length,e/=g.length;const t=[];for(const o of g){const B=o.x-I,C=o.y-e,Q=Math.sqrt(B*B+C*C);if(Q>0){const i=B/Q,E=C/Q;t.push({x:o.x+i*A,y:o.y+E*A})}else t.push({x:o.x+A,y:o.y})}return t}function C2I(g,A){return g.shape==="circle"?g.outer_diameter+A*2<=0:g.shape==="oval"||g.shape==="pill"?Math.min(g.outer_width,g.outer_height)+A*2<=0:"rect_pad_width"in g?Math.min(g.rect_pad_width,g.rect_pad_height)+A*2<=0:!1}function Q2I(g){const{ctx:A,hole:I,realToCanvasMat:e,colorMap:t,soldermaskMargin:o=0,drawSoldermask:B}=g,C=t.copper[g.layer??"top"],Q=B&&I.is_covered_with_solder_mask===!0&&o<0?Math.abs(o):0,i=!C2I(I,-Q);if(I.shape==="circle"){i&&Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2-Q,fill:C,realToCanvasMat:e}),HJ(A,()=>{Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="oval"){i&&OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2-Q,radius_y:I.outer_height/2-Q,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),HJ(A,()=>{OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="pill"){i&&Yy({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width-Q*2,height:I.outer_height-Q*2,fill:C,realToCanvasMat:e,rotation:I.ccw_rotation}),HJ(A,()=>{Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.ccw_rotation})}),Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.ccw_rotation});return}if(I.shape==="circular_hole_with_rect_pad"){i&&H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);HJ(A,()=>{Kl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e})}),Kl({ctx:A,center:{x:E,y:n},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){i&&H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);HJ(A,()=>{Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e})}),Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){i&&H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width-Q*2,height:I.rect_pad_height-Q*2,fill:C,realToCanvasMat:e,borderRadius:I.rect_border_radius?Math.max(0,I.rect_border_radius-Q):0,ccwRotationDegrees:I.rect_ccw_rotation});const E=I.x+(I.hole_offset_x??0),n=I.y+(I.hole_offset_y??0);HJ(A,()=>{Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:"#000",realToCanvasMat:e,rotation:I.hole_ccw_rotation})}),Yy({ctx:A,center:{x:E,y:n},width:I.hole_width,height:I.hole_height,fill:t.drill,realToCanvasMat:e,rotation:I.hole_ccw_rotation});return}if(I.shape==="hole_with_polygon_pad"){const E=I.pad_outline;if(E&&E.length>=3){const a=E.map(h=>({x:I.x+h.x,y:I.y+h.y})),c=Q>0?duA(a,-Q):a;c.length>=3&&Wx({ctx:A,points:c,fill:C,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}const n=lt(xeA((I.ccw_rotation??0)*Math.PI/180),{x:I.hole_offset_x??0,y:I.hole_offset_y??0}),s={x:I.x+n.x,y:I.y+n.y},r=I.hole_shape;r==="circle"?(HJ(A,()=>{Kl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:"#000",realToCanvasMat:e})}),Kl({ctx:A,center:s,radius:(I.hole_diameter??0)/2,fill:t.drill,realToCanvasMat:e})):r==="oval"?(HJ(A,()=>{OR({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),OR({ctx:A,center:s,radius_x:(I.hole_width??0)/2,radius_y:(I.hole_height??0)/2,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e})):(r==="pill"||r==="rotated_pill")&&(HJ(A,()=>{Yy({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:"#000",realToCanvasMat:e})}),Yy({ctx:A,center:s,width:I.hole_width??0,height:I.hole_height??0,rotation:I.ccw_rotation,fill:t.drill,realToCanvasMat:e}));return}}function HJ(g,A){g.save(),g.globalCompositeOperation="destination-out",A(),g.restore()}function Fto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Uto(g){const{ctx:A,circle:I,realToCanvasMat:e,colorMap:t}=g,o=Fto(I.layer,t);Kl({ctx:A,center:I.center,radius:I.radius,stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function Jto(g){const{ctx:A,graphic:I,realToCanvasMat:e,colorMap:t}=g,o=I.layer==="bottom"?t.silkscreen.bottom:t.silkscreen.top;A.beginPath(),TSI({ctx:A,shape:I.brep_shape,realToCanvasMat:e}),A.fillStyle=o,A.fill("evenodd")}function Pto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Kto(g){const{ctx:A,line:I,realToCanvasMat:e,colorMap:t}=g,o=Pto(I.layer,t);FeA({ctx:A,start:{x:I.x1,y:I.y1},end:{x:I.x2,y:I.y2},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}function Lto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Yto(g){const{ctx:A,oval:I,realToCanvasMat:e,colorMap:t}=g,o=Lto(I.layer,t);OR({ctx:A,center:I.center,radius_x:I.radius_x,radius_y:I.radius_y,stroke:o,strokeWidth:.1,realToCanvasMat:e,rotation:I.ccw_rotation??0})}function _to(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function bto(g){const{ctx:A,path:I,realToCanvasMat:e,colorMap:t}=g,o=_to(I.layer,t);if(!(!I.route||I.route.length<2))for(let B=0;B<I.route.length-1;B++){const C=I.route[B],Q=I.route[B+1];!C||!Q||FeA({ctx:A,start:{x:C.x,y:C.y},end:{x:Q.x,y:Q.y},strokeWidth:I.stroke_width??.1,stroke:o,realToCanvasMat:e})}}function Hto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function vto(g){const{ctx:A,pill:I,realToCanvasMat:e,colorMap:t}=g,o=Hto(I.layer,t);Yy({ctx:A,center:I.center,width:I.width,height:I.height,stroke:o,strokeWidth:.2,realToCanvasMat:e})}function qto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Tto(g){const{ctx:A,rect:I,realToCanvasMat:e,colorMap:t}=g,o=qto(I.layer,t);H0({ctx:A,center:I.center,width:I.width,height:I.height,borderRadius:I.corner_radius,fill:I.is_filled?o:"transparent",stroke:o,strokeWidth:I.stroke_width,realToCanvasMat:e})}function Zto(g,A){return g==="bottom"?A.silkscreen.bottom:A.silkscreen.top}function Oto(g){return g||"center"}function Wto(g){const{ctx:A,text:I,realToCanvasMat:e,colorMap:t}=g,o=I.text??"";if(!o)return;const B=Zto(I.layer,t),C=Oto(I.anchor_alignment),Q=I.font_size??1;mZ({ctx:A,text:o,x:I.anchor_position.x,y:I.anchor_position.y,fontSize:Q,color:B,realToCanvasMat:e,anchorAlignment:C,rotation:I.ccw_rotation??0,mirrorX:I.layer==="bottom",knockout:I.is_knockout,knockoutPadding:I.is_knockout?I.knockout_padding:void 0})}function Vto(g,A){return A.copper[g]??A.copper.top}function i2I(g){return g.shape==="rect"||g.shape==="rotated_rect"?g.corner_radius??g.rect_border_radius??0:0}function jto(g){const{ctx:A,pad:I,realToCanvasMat:e,colorMap:t}=g,o=Vto(I.layer,t),B=ato(g);if(B.length>0){sto({ctx:A,pad:I,realToCanvasMat:e,color:o,drillCutouts:B});return}if(I.shape==="rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:i2I(I)});return}if(I.shape==="rotated_rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,borderRadius:i2I(I),ccwRotationDegrees:I.ccw_rotation??0});return}if(I.shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:o,realToCanvasMat:e});return}if(I.shape==="pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e});return}if(I.shape==="rotated_pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,fill:o,realToCanvasMat:e,rotation:I.ccw_rotation??0});return}if(I.shape==="polygon"){I.points&&I.points.length>=3&&Wx({ctx:A,points:I.points,fill:o,realToCanvasMat:e});return}}var UeA="rgb(105, 105, 105)";function E2I(g){const{ctx:A,solderPaste:I,realToCanvasMat:e}=g;if(I.shape==="polygon")return;const t={x:I.x,y:I.y};if(I.shape==="rect"){H0({ctx:A,center:t,width:I.width,height:I.height,fill:UeA,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){H0({ctx:A,center:t,width:I.width,height:I.height,fill:UeA,realToCanvasMat:e,ccwRotationDegrees:I.ccw_rotation});return}if(I.shape==="pill"){Yy({ctx:A,center:t,width:I.width,height:I.height,fill:UeA,realToCanvasMat:e});return}if(I.shape==="oval"){OR({ctx:A,center:t,radius_x:I.width/2,radius_y:I.height/2,fill:UeA,realToCanvasMat:e});return}I.shape==="circle"&&Kl({ctx:A,center:t,radius:I.radius,fill:UeA,realToCanvasMat:e})}function zto(g){return typeof g=="function"}function n2I(g,A,I){if(A<=0||I<=0)return null;const e=globalThis;let t=null;if("OffscreenCanvas"in e&&typeof e.OffscreenCanvas=="function")t=new e.OffscreenCanvas(A,I);else if("document"in e&&e.document&&typeof e.document.createElement=="function"){const B=e.document.createElement("canvas");B.width=A,B.height=I,t=B}else{const B=g.canvas.constructor;if(zto(B))try{t=new B(A,I)}catch{return null}}if(!t)return null;const o=t.getContext("2d");return o&&(o.boardOwnerMap=g.boardOwnerMap),o}function Xto(g){return"createPattern"in g&&typeof Reflect.get(g,"createPattern")=="function"}function s2I(g,A){if(g===A||A.canvas.width<=0||A.canvas.height<=0||!Xto(g))return!1;let I=null;try{I=g.createPattern(A.canvas,"no-repeat")}catch{return!1}return I?(g.save(),g.globalCompositeOperation="source-over",g.fillStyle=I,g.fillRect(0,0,A.canvas.width,A.canvas.height),g.restore(),!0):!1}function a2I(g){const{ctx:A,board:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C,outline:Q}=I;if(Q&&Array.isArray(Q)&&Q.length>=3){const i=Q.map(E=>{const[n,s]=lt(e,[E.x,E.y]);return{x:n,y:s}});A.beginPath(),pZ({ctx:A,points:i}),A.fillStyle=t,A.fill()}else if(o!==void 0&&B!==void 0&&C){const[i,E]=lt(e,[C.x,C.y]),n=o*Math.abs(e.a),s=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(i-n/2,E-s/2,n,s)}}function $to(g){const{ctx:A,panel:I,realToCanvasMat:e,soldermaskColor:t}=g,{width:o,height:B,center:C}=I;if(o===void 0||B===void 0||!C)return;const[Q,i]=lt(e,[C.x,C.y]),E=o*Math.abs(e.a),n=B*Math.abs(e.a);A.fillStyle=t,A.fillRect(Q-E/2,i-n/2,E,n)}function vJ(g){g.save(),g.globalCompositeOperation="destination-out",g.fill(),g.restore()}function Aoo(g){const{ctx:A,cutout:I,realToCanvasMat:e}=g;if(I.shape==="rect"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.width*Math.abs(e.a),C=I.height*Math.abs(e.a),Q=(I.corner_radius??0)*Math.abs(e.a);A.save(),A.translate(t,o),I.rotation&&A.rotate(-I.rotation*Math.PI/180),A.beginPath(),WR({ctx:A,cx:0,cy:0,width:B,height:C,radius:Q}),A.restore(),vJ(A)}else if(I.shape==="circle"){const[t,o]=lt(e,[I.center?.x??0,I.center?.y??0]),B=I.radius*Math.abs(e.a);A.beginPath(),A.arc(t,o,B,0,Math.PI*2),A.closePath(),vJ(A)}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const t=I.points.map(o=>{const[B,C]=lt(e,[o.x,o.y]);return{x:B,y:C}});A.beginPath(),pZ({ctx:A,points:t}),vJ(A)}}var _y="rgba(255, 255, 255, 1)";function Deg(g){const{ctx:A,elements:I,layer:e,realToCanvasMat:t}=g;A.save(),A.globalCompositeOperation="destination-out";for(const o of I){if(o.type==="pcb_smtpad"){if(o.layer!==e||o.is_covered_with_solder_mask===!0)continue;goo({ctx:A,pad:o,realToCanvasMat:t});continue}if(o.type==="pcb_plated_hole"){if(o.layers&&!o.layers.includes(e)||o.is_covered_with_solder_mask===!0)continue;Ioo({ctx:A,hole:o,realToCanvasMat:t});continue}if(o.type==="pcb_via"){if(o.layers&&!o.layers.includes(e))continue;Kl({ctx:A,center:{x:o.x,y:o.y},radius:o.outer_diameter/2,fill:_y,realToCanvasMat:t});continue}if(o.type==="pcb_hole"){if(o.is_covered_with_solder_mask===!0)continue;eoo({ctx:A,hole:o,realToCanvasMat:t})}}A.restore()}function goo(g){const{ctx:A,pad:I,realToCanvasMat:e}=g;if(I.shape==="rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,fill:_y,realToCanvasMat:e});return}if(I.shape==="rotated_rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,borderRadius:I.corner_radius??I.rect_border_radius??0,ccwRotationDegrees:I.ccw_rotation??0,fill:_y,realToCanvasMat:e});return}if(I.shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.radius,fill:_y,realToCanvasMat:e});return}if(I.shape==="pill"||I.shape==="rotated_pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.width,height:I.height,rotation:I.shape==="rotated_pill"?I.ccw_rotation??0:0,fill:_y,realToCanvasMat:e});return}I.shape==="polygon"&&I.points&&I.points.length>=3&&Wx({ctx:A,points:I.points,fill:_y,realToCanvasMat:e})}function Ioo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g;if(I.shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:_y,realToCanvasMat:e});return}if(I.shape==="oval"){OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.outer_width/2,radius_y:I.outer_height/2,rotation:I.ccw_rotation,fill:_y,realToCanvasMat:e});return}if(I.shape==="pill"){Yy({ctx:A,center:{x:I.x,y:I.y},width:I.outer_width,height:I.outer_height,rotation:I.ccw_rotation,fill:_y,realToCanvasMat:e});return}if(I.shape==="circular_hole_with_rect_pad"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:_y,realToCanvasMat:e});return}if(I.shape==="pill_hole_with_rect_pad"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,fill:_y,realToCanvasMat:e});return}if(I.shape==="rotated_pill_hole_with_rect_pad"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.rect_pad_width,height:I.rect_pad_height,borderRadius:I.rect_border_radius??0,ccwRotationDegrees:I.rect_ccw_rotation,fill:_y,realToCanvasMat:e});return}I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3&&Wx({ctx:A,points:I.pad_outline.map(t=>({x:I.x+t.x,y:I.y+t.y})),fill:_y,realToCanvasMat:e,center:{x:I.x,y:I.y},rotation:I.ccw_rotation})}function eoo(g){const{ctx:A,hole:I,realToCanvasMat:e}=g,t="ccw_rotation"in I&&typeof I.ccw_rotation=="number"?I.ccw_rotation:0;if(I.hole_shape==="circle"){Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:_y,realToCanvasMat:e});return}if(I.hole_shape==="square"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_diameter,height:I.hole_diameter,ccwRotationDegrees:t,fill:_y,realToCanvasMat:e});return}if(I.hole_shape==="oval"){OR({ctx:A,center:{x:I.x,y:I.y},radius_x:I.hole_width/2,radius_y:I.hole_height/2,rotation:t,fill:_y,realToCanvasMat:e});return}if(I.hole_shape==="rect"){H0({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,ccwRotationDegrees:t,fill:_y,realToCanvasMat:e});return}(I.hole_shape==="pill"||I.hole_shape==="rotated_pill")&&Yy({ctx:A,center:{x:I.x,y:I.y},width:I.hole_width,height:I.hole_height,rotation:t,fill:_y,realToCanvasMat:e})}function too(g,A,I,e,t){if(Math.abs(t)<1e-10)return null;const o=I-g,B=e-A,C=Math.hypot(o,B);if(C<1e-10)return null;const Q=Math.abs(t)*(C/2),i=C/2,E=(Q*Q+i*i)/(2*Q),n=E-Q,s=(g+I)/2,r=(A+e)/2,a=-B/C,c=o/C,h=t>0?-1:1;return{centerX:s+h*a*n,centerY:r+h*c*n,radius:E}}function deg(g,A,I,e,t,o,B){if(Math.abs(o)<1e-10){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const C=too(A,I,e,t,o);if(!C){const[y,w]=lt(B,[e,t]);g.lineTo(y,w);return}const[Q,i]=lt(B,[A,I]),[E,n]=lt(B,[e,t]),[s,r]=lt(B,[C.centerX,C.centerY]),a=Math.hypot(Q-s,i-r),c=Math.atan2(i-r,Q-s),h=Math.atan2(n-r,E-s),D=B.a*B.d-B.b*B.c<0,d=o>0?!D:D;g.arc(s,r,a,c,h,d)}function r2I(g,A,I){if(A.vertices.length<2)return;if(A.vertices.length===2){const B=A.vertices[0],C=A.vertices[1];if(B&&C&&Math.abs((B.bulge??0)-1)<1e-10&&Math.abs((C.bulge??0)-1)<1e-10){const[Q,i]=lt(I,[B.x,B.y]);g.moveTo(Q,i),deg(g,B.x,B.y,C.x,C.y,1,I),deg(g,C.x,C.y,B.x,B.y,1,I);return}}const e=A.vertices[0];if(!e)return;const[t,o]=lt(I,[e.x,e.y]);g.moveTo(t,o);for(let B=0;B<A.vertices.length;B++){const C=A.vertices[B],Q=A.vertices[(B+1)%A.vertices.length];if(!C||!Q)continue;const i=C.bulge??0;if(Math.abs(i)<1e-10){const[E,n]=lt(I,[Q.x,Q.y]);g.lineTo(E,n)}else deg(g,C.x,C.y,Q.x,Q.y,i,I)}}function ooo(g){const{ctx:A,pour:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o,elements:B}=g;if(I.layer===o&&I.covered_with_solder_mask===!0){if(A.save(),A.fillStyle=t,I.shape==="rect"){const[C,Q]=lt(e,[I.center.x,I.center.y]),i=I.width*Math.abs(e.a),E=I.height*Math.abs(e.a);A.translate(C,Q),I.rotation&&A.rotate(-I.rotation*(Math.PI/180)),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.fill(),A.restore(),Deg({ctx:A,elements:B,layer:o,realToCanvasMat:e});return}if(I.shape==="polygon"){if(I.points&&I.points.length>=3){const C=I.points.map(i=>lt(e,[i.x,i.y])),Q=C[0];if(Q){A.beginPath();const[i,E]=Q;A.moveTo(i,E);for(let n=1;n<C.length;n++){const s=C[n];if(!s)continue;const[r,a]=s;A.lineTo(r,a)}A.closePath(),A.fill(),Deg({ctx:A,elements:B,layer:o,realToCanvasMat:e})}}A.restore();return}if(I.shape==="brep"){if(A.beginPath(),r2I(A,I.brep_shape.outer_ring,e),I.brep_shape.inner_rings)for(const C of I.brep_shape.inner_rings)r2I(A,C,e);A.fill("evenodd"),Deg({ctx:A,elements:B,layer:o,realToCanvasMat:e}),A.restore();return}A.restore()}}function Boo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,phase:B}=g,Q=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(B==="substrate"){Q>0&&(A.fillStyle=o,yeg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),A.fill());return}Q<0?(yeg({ctx:A,hole:I,realToCanvasMat:e,margin:Q}),vJ(A),Coo({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:Q})):(yeg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),vJ(A))}function c2I(g){return"ccw_rotation"in g&&typeof g.ccw_rotation=="number"?g.ccw_rotation:0}function yeg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g,o=c2I(I);if(A.beginPath(),!(("hole_diameter"in I?I.hole_diameter:Math.min(I.hole_width,I.hole_height))+t*2<=0)){if(I.hole_shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),A.closePath()}else if(I.hole_shape==="square"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_diameter+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-i/2,i,i),A.closePath(),A.restore()}else if(I.hole_shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width/2+t)*Math.abs(e.a),E=(I.hole_height/2+t)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.ellipse(0,0,i,E,0,0,Math.PI*2),A.closePath(),A.restore()}else if(I.hole_shape==="rect"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),A.rect(-i/2,-E/2,i,E),A.closePath(),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[C,Q]=lt(e,[I.x,I.y]),i=(I.hole_width+t*2)*Math.abs(e.a),E=(I.hole_height+t*2)*Math.abs(e.a);A.save(),A.translate(C,Q),o!==0&&A.rotate(-o*Math.PI/180),A.beginPath(),z3({ctx:A,cx:0,cy:0,width:i,height:E}),A.restore()}}}function Coo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o),C=c2I(I);if(A.fillStyle=t,I.hole_shape==="circle"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n);A.save(),A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),s>0&&A.arc(Q,i,s,0,Math.PI*2,!0),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="square"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_diameter*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,E-n*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-E/2,E,E),s>0&&A.rect(-s/2,-s/2,s,s),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="oval"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width/2*Math.abs(e.a),n=I.hole_height/2*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s),a=Math.max(0,n-s);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.ellipse(0,0,E,n,0,0,Math.PI*2),r>0&&a>0&&(A.moveTo(r,0),A.ellipse(0,0,r,a,0,0,Math.PI*2)),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="rect"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a),r=Math.max(0,E-s*2),a=Math.max(0,n-s*2);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),A.rect(-E/2,-n/2,E,n),r>0&&a>0&&A.rect(-r/2,-a/2,r,a),A.fill("evenodd"),A.restore()}else if(I.hole_shape==="pill"||I.hole_shape==="rotated_pill"){const[Q,i]=lt(e,[I.x,I.y]),E=I.hole_width*Math.abs(e.a),n=I.hole_height*Math.abs(e.a),s=B*Math.abs(e.a);A.save(),A.translate(Q,i),C!==0&&A.rotate(-C*Math.PI/180),A.beginPath(),z3({ctx:A,cx:0,cy:0,width:E,height:n});const r=E-s*2,a=n-s*2;r>0&&a>0&&z3({ctx:A,cx:0,cy:0,width:r,height:a}),A.fill("evenodd"),A.restore()}}function Qoo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,substrateColor:o,layer:B,phase:C}=g;if(I.layers&&!I.layers.includes(B))return;const i=I.is_covered_with_solder_mask===!0?I.soldermask_margin??0:0;if(C==="substrate"){i>0&&(A.fillStyle=o,weg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),A.fill());return}i<0?(weg({ctx:A,hole:I,realToCanvasMat:e,margin:i}),vJ(A),ioo({ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:i})):(weg({ctx:A,hole:I,realToCanvasMat:e,margin:0}),vJ(A))}function weg(g){const{ctx:A,hole:I,realToCanvasMat:e,margin:t}=g;if(A.beginPath(),!C2I(I,t)){if(I.shape==="circle"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_diameter/2+t)*Math.abs(e.a);A.beginPath(),A.arc(o,B,C,0,Math.PI*2),A.closePath()}else if(I.shape==="oval"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width/2+t)*Math.abs(e.a),Q=(I.outer_height/2+t)*Math.abs(e.a);A.beginPath(),A.ellipse(o,B,C,Q,-((I.ccw_rotation??0)*Math.PI)/180,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"){const[o,B]=lt(e,[I.x,I.y]),C=(I.outer_width+t*2)*Math.abs(e.a),Q=(I.outer_height+t*2)*Math.abs(e.a);A.beginPath(),z3({ctx:A,cx:o,cy:B,width:C,height:Q,ccwRotationDegrees:I.ccw_rotation})}else if(I.shape==="circular_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),WR({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),WR({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i})}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[o,B]=lt(e,[I.x,I.y]),C=(I.rect_pad_width+t*2)*Math.abs(e.a),Q=(I.rect_pad_height+t*2)*Math.abs(e.a),i=Math.max(0,(I.rect_border_radius??0)+t)*Math.abs(e.a);A.beginPath(),WR({ctx:A,cx:o,cy:B,width:C,height:Q,radius:i,ccwRotationDegrees:I.rect_ccw_rotation})}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[o,B]=lt(e,[I.x,I.y]),C=I.pad_outline.map(E=>({x:I.x+E.x,y:I.y+E.y})),i=(t!==0?duA(C,t):C).map(E=>lt(e,E));A.beginPath(),pZ({ctx:A,points:i,cx:o,cy:B,ccwRotationDegrees:I.ccw_rotation})}}}function ioo(g){const{ctx:A,hole:I,realToCanvasMat:e,soldermaskOverCopperColor:t,margin:o}=g,B=Math.abs(o);if(A.fillStyle=t,I.shape==="circle"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_diameter/2*Math.abs(e.a),E=B*Math.abs(e.a),n=Math.max(0,i-E);A.beginPath(),A.arc(C,Q,i,0,Math.PI*2),n>0&&A.arc(C,Q,n,0,Math.PI*2,!0),A.fill("evenodd")}else if(I.shape==="oval"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width/2*Math.abs(e.a),E=I.outer_height/2*Math.abs(e.a),n=B*Math.abs(e.a),s=Math.max(0,i-n),r=Math.max(0,E-n),a=-((I.ccw_rotation??0)*Math.PI)/180;if(A.beginPath(),A.ellipse(C,Q,i,E,a,0,Math.PI*2),s>0&&r>0){const c=C+s*Math.cos(a),h=Q+s*Math.sin(a);A.moveTo(c,h),A.ellipse(C,Q,s,r,a,0,Math.PI*2)}A.fill("evenodd")}else if(I.shape==="pill"){const[C,Q]=lt(e,[I.x,I.y]),i=I.outer_width*Math.abs(e.a),E=I.outer_height*Math.abs(e.a),n=B*Math.abs(e.a);A.beginPath(),z3({ctx:A,cx:C,cy:Q,width:i,height:E,ccwRotationDegrees:I.ccw_rotation});const s=i-n*2,r=E-n*2;s>0&&r>0&&z3({ctx:A,cx:C,cy:Q,width:s,height:r,ccwRotationDegrees:I.ccw_rotation}),A.fill("evenodd")}else if(I.shape==="circular_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),WR({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);WR({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),WR({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);WR({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c})}A.fill("evenodd")}else if(I.shape==="rotated_pill_hole_with_rect_pad"){const[C,Q]=lt(e,[I.x,I.y]),i=I.rect_pad_width*Math.abs(e.a),E=I.rect_pad_height*Math.abs(e.a),n=B*Math.abs(e.a),s=I.rect_border_radius?I.rect_border_radius*Math.abs(e.a):0;A.beginPath(),WR({ctx:A,cx:C,cy:Q,width:i,height:E,radius:s,ccwRotationDegrees:I.rect_ccw_rotation});const r=i-n*2,a=E-n*2;if(r>0&&a>0){const c=Math.max(0,s-n);WR({ctx:A,cx:C,cy:Q,width:r,height:a,radius:c,ccwRotationDegrees:I.rect_ccw_rotation})}A.fill("evenodd")}else if(I.shape==="hole_with_polygon_pad"&&I.pad_outline&&I.pad_outline.length>=3){const[C,Q]=lt(e,[I.x,I.y]),i=I.pad_outline.map(n=>({x:I.x+n.x,y:I.y+n.y})),E=duA(i,-B);A.beginPath();for(const n of[i,E])n.length<3||pZ({ctx:A,points:n.map(s=>lt(e,s)),cx:C,cy:Q,ccwRotationDegrees:I.ccw_rotation});A.fill("evenodd")}}function h2I(g){const{ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:o,substrateColor:B,layer:C,phase:Q}=g;if(I.layer!==C)return;const i=I.is_covered_with_solder_mask===!0,E=i?I.soldermask_margin??0:0;let n=E,s=E,r=E,a=E;if(i&&(I.shape==="rect"||I.shape==="rotated_rect")&&(n=I.soldermask_margin_left??E,s=I.soldermask_margin_right??E,r=I.soldermask_margin_top??E,a=I.soldermask_margin_bottom??E),Q==="substrate"){n>=0&&s>=0&&r>=0&&a>=0&&(n>0||s>0||r>0||a>0)&&(A.fillStyle=B,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill());return}i&&n===0&&s===0&&r===0&&a===0?(A.fillStyle=t,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill()):n<0||s<0||r<0||a<0?(A.fillStyle=t,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),A.fill(),A.fillStyle=o,JeA({ctx:A,pad:I,realToCanvasMat:e,ml:n,mr:s,mt:r,mb:a}),A.fill()):(JeA({ctx:A,pad:I,realToCanvasMat:e,ml:0,mr:0,mt:0,mb:0}),vJ(A))}function JeA(g){const{ctx:A,pad:I,realToCanvasMat:e,ml:t,mr:o,mt:B,mb:C}=g;A.beginPath();const Q=I.shape==="rotated_rect"||I.shape==="rotated_pill"?I.ccw_rotation??0:0;if(I.shape==="rect"||I.shape==="rotated_rect"){const i=I.corner_radius??I.rect_border_radius??0,E=Q*Math.PI/180,n=(o-t)/2,s=(B-C)/2,r=n*Math.cos(E)-s*Math.sin(E),a=n*Math.sin(E)+s*Math.cos(E),[c,h]=lt(e,[I.x+r,I.y+a]),l=(I.width+t+o)*Math.abs(e.a),D=(I.height+B+C)*Math.abs(e.a),d=t||o||B||C?I.soldermask_margin??0:0,y=Math.max(0,i?i+d:0)*Math.abs(e.a);if(l<=0||D<=0)return;A.save(),A.translate(c,h),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),WR({ctx:A,cx:0,cy:0,width:l,height:D,radius:y}),A.restore()}else if(I.shape==="circle"){const i=(t+o+B+C)/4,[E,n]=lt(e,[I.x,I.y]),s=Math.max(0,I.radius+i)*Math.abs(e.a);A.beginPath(),A.arc(E,n,s,0,Math.PI*2),A.closePath()}else if(I.shape==="pill"||I.shape==="rotated_pill"){const i=(t+o)/2,[E,n]=lt(e,[I.x,I.y]),s=(I.width+i*2)*Math.abs(e.a),r=(I.height+i*2)*Math.abs(e.a);if(s<=0||r<=0)return;A.save(),A.translate(E,n),Q!==0&&A.rotate(-Q*Math.PI/180),A.beginPath(),z3({ctx:A,cx:0,cy:0,width:s,height:r}),A.restore()}else if(I.shape==="polygon"&&I.points&&I.points.length>=3){const i=(t+o+B+C)/4,n=(i!==0?duA(I.points,i):I.points).map(s=>{const[r,a]=lt(e,[s.x,s.y]);return{x:r,y:a}});A.beginPath(),pZ({ctx:A,points:n})}}function l2I(g){return!g||typeof g!="object"?!1:"route_type"in g&&g.route_type==="wire"&&("start_width"in g||"end_width"in g||"width_interpolation_mode"in g)}function ueg(g){const A=[];for(let I=0;I<g.length-1;I++){const e=g[I];if(!l2I(e))continue;const t=g[I+1];if(!t)continue;const o=t.route_type==="through_pad"?t.start:{x:t.x,y:t.y},B=t.route_type==="via"?t.from_layer:t.route_type==="through_pad"?t.start_layer:t.layer;if(!o||B!==e.layer||e.width!==e.start_width)continue;const C={start:{x:e.x,y:e.y},end:o,start_width:e.start_width,end_width:e.end_width,width_interpolation_mode:e.width_interpolation_mode,layer:e.layer,is_inside_copper_pour:!!(e.is_inside_copper_pour&&t.is_inside_copper_pour)};d2I(C)&&A.push(C)}return A}function D2I(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=I.x-A.x,B=I.y-A.y,C=Math.hypot(o,B);if(!d2I(g))return[];const Q=Math.abs(t-e),i=g.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(Q/(.001+Q*1e-6)*(3/8)))),E=-B/C,n=o/C,s=[],r=[];for(let a=0;a<=i;a++){const c=a/i,h=e<=t?c:1-c,D=(g.width_interpolation_mode==="quadratic"?Math.min(e,t)+Q*h*h:e+(t-e)*c)/2,d=A.x+o*c,y=A.y+B*c;s.push({x:d+E*D,y:y+n*D}),r.push({x:d-E*D,y:y-n*D})}return[...s,...r.reverse()]}function d2I(g){const{start:A,end:I,start_width:e,end_width:t}=g,o=Math.hypot(I.x-A.x,I.y-A.y);return!(![A.x,A.y,I.x,I.y,o,e,t].every(Number.isFinite)||o<=0||e<=0||t<=0||g.width_interpolation_mode!=="linear"&&g.width_interpolation_mode!=="quadratic")}function kZ(g,A){const I=Math.hypot(g,A);return I<=Number.EPSILON?{x:0,y:0}:{x:g/I,y:A/I}}function Eoo(g,A){const I=g.length;if(I<2)return{x:1,y:0};if(A<=0){const i=g[1],E=g[0];if(!i||!E)return{x:1,y:0};const n=kZ(i.x-E.x,i.y-E.y);return n.x===0&&n.y===0?{x:1,y:0}:n}if(A>=I-1){const i=g[I-2],E=g[I-1];if(!i||!E)return{x:1,y:0};const n=kZ(E.x-i.x,E.y-i.y);return n.x===0&&n.y===0?{x:1,y:0}:n}const e=g[A-1],t=g[A],o=g[A+1];if(!e||!t||!o)return{x:1,y:0};const B=kZ(t.x-e.x,t.y-e.y),C=kZ(o.x-t.x,o.y-t.y),Q=kZ(B.x+C.x,B.y+C.y);return Q.x===0&&Q.y===0?B.x!==0||B.y!==0?B:C.x!==0||C.y!==0?C:{x:1,y:0}:Q}function y2I(g){const A=[],I=[];for(let e=0;e<g.length;e++){const t=g[e];if(!t)continue;const o=Eoo(g,e),B=kZ(-o.y,o.x),C=t.width/2;A.push({x:t.x+B.x*C,y:t.y+B.y*C}),I.push({x:t.x-B.x*C,y:t.y-B.y*C})}return A.concat(I.reverse())}function Geg(g){const A=[];let I=[],e=null;for(const t of g??[]){if(!t||t.route_type!=="wire"){I.length>=2&&A.push(I),I=[],e=null;continue}const o=t.layer??e;if(!o)continue;const B=t.x,C=t.y;typeof B!="number"||typeof C!="number"||typeof t.width=="number"&&(t.width,e&&o!==e&&(I.length>=2&&A.push(I),I=[]),e=o,I.push(t),l2I(t)&&(I.length>=2&&A.push(I),I=[],e=null))}return I.length>=2&&A.push(I),A}var w2I=1e-6;function u2I(g){const{ctx:A,trace:I,realToCanvasMat:e,vias:t,platedHoles:o,layer:B}=g;if(!I.route||I.route.length===0)return;const C=Geg(I.route);for(const i of ueg(I.route))for(const E of[i.start,i.end])C.push([{route_type:"wire",...E,layer:i.layer,width:i.end_width}]);if(C.length===0)return;const Q=new Map;for(const i of C){const E=i[0]?.layer,n=i[i.length-1];if(!(!E||!n)&&!(B&&E!==B)){for(const s of t){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E)||!G2I(n.x,n.y,s.x,s.y))continue;const r=s.hole_diameter/2;if(r<=0)continue;const a={shape:"circle",x:s.x,y:s.y,radius:r};Q.set(m2I(a),a)}for(const s of o){if(s.layers&&Array.isArray(s.layers)&&!s.layers.includes(E))continue;const r=I2I(s);r&&G2I(n.x,n.y,r.x,r.y)&&Q.set(m2I(r),r)}}}if(Q.size!==0){A.save(),A.globalCompositeOperation="destination-out";for(const i of Q.values()){if(i.shape==="circle"){Kl({ctx:A,center:{x:i.x,y:i.y},radius:i.radius,fill:"#000",realToCanvasMat:e});continue}if(i.shape==="oval"){OR({ctx:A,center:{x:i.x,y:i.y},radius_x:i.radiusX,radius_y:i.radiusY,fill:"#000",realToCanvasMat:e,rotation:i.rotation});continue}Yy({ctx:A,center:{x:i.x,y:i.y},width:i.width,height:i.height,fill:"#000",realToCanvasMat:e,rotation:i.rotation})}A.restore()}}function G2I(g,A,I,e){return Math.abs(g-I)<=w2I&&Math.abs(A-e)<=w2I}function m2I(g){return g.shape==="circle"?`circle:${g.x}:${g.y}:${g.radius}`:g.shape==="oval"?`oval:${g.x}:${g.y}:${g.radiusX}:${g.radiusY}:${g.rotation??0}`:`pill:${g.x}:${g.y}:${g.width}:${g.height}:${g.rotation??0}`}function noo(g){const{ctx:A,trace:I,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ueg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||Wx({ctx:A,points:D2I(C),fill:t,realToCanvasMat:e});const B=Geg(I.route);for(const C of B)if(C[0]?.layer===o){if(I.route_thickness_mode==="interpolated"){Wx({ctx:A,points:y2I(C),fill:t,realToCanvasMat:e});continue}for(let i=0;i<C.length-1;i++){const E=C[i],n=C[i+1];!E||!n||FeA({ctx:A,start:{x:E.x,y:E.y},end:{x:n.x,y:n.y},strokeWidth:E.width,stroke:t,realToCanvasMat:e,lineCap:"round"})}}u2I({ctx:A,trace:I,realToCanvasMat:e,layer:o,vias:g.vias,platedHoles:g.platedHoles})}function p2I(g){const{ctx:A,via:I,realToCanvasMat:e,layer:t,soldermaskOverCopperColor:o,soldermaskOverHoleColor:B}=g;if(!I.layers.includes(t))return;const C=meg(I,t,A),[Q,i]=lt(e,[I.x,I.y]),E=I.outer_diameter/2*Math.abs(e.a);if(A.beginPath(),A.arc(Q,i,E,0,Math.PI*2),A.closePath(),C){const n=I.hole_diameter/2*Math.abs(e.a);A.moveTo(Q+n,i),A.arc(Q,i,n,0,Math.PI*2),A.closePath(),A.fillStyle=o,A.fill("evenodd"),A.fillStyle=B,A.beginPath(),A.arc(Q,i,n,0,Math.PI*2),A.fill()}else vJ(A)}function meg(g,A,I){let e=I.boardOwnerMap?.get(g.pcb_via_id);!I.boardOwnerMap?.has(g.pcb_via_id)&&g.pcb_trace_id&&(e=I.boardOwnerMap?.get(g.pcb_trace_id));const t=g,o=A==="top"?t.tented_on_top:t.tented_on_bottom,B=A==="top"?e?.default_via_tented_on_top:e?.default_via_tented_on_bottom;return o??t.is_tented??B??!1}function k2I(g){const{ctx:A,realToCanvasMat:I,colorMap:e,layer:t,drawSoldermask:o}=g;let{elements:B}=g;if(!o||A.canvas.width<=0||A.canvas.height<=0)return;const C=B.filter(c=>c.type==="pcb_board"),Q=B.find(c=>c.type==="pcb_panel");C.length===0&&!Q&&(B=B.filter(c=>c.type==="pcb_via"));const i=e.soldermask[t]??e.soldermask.top,E=e.soldermaskOverCopper[t]??e.soldermaskOverCopper.top,n=e.soldermaskOverHole[t]??e.soldermaskOverHole.top,s=B.filter(c=>c.type==="pcb_via"),r=B.filter(c=>c.type==="pcb_plated_hole"),a=n2I(A,A.canvas.width,A.canvas.height)??A;if(Q&&$to({ctx:a,panel:Q,realToCanvasMat:I,soldermaskColor:i}),Q&&C.length>0){a.save(),a.globalCompositeOperation="destination-out";for(const c of C)a2I({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:"#000"});a.restore()}for(const c of C)a2I({ctx:a,board:c,realToCanvasMat:I,soldermaskColor:i});for(const c of B)c.type==="pcb_trace"?noo({ctx:a,trace:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,vias:s,platedHoles:r}):c.type==="pcb_copper_pour"&&ooo({ctx:a,pour:c,realToCanvasMat:I,soldermaskOverCopperColor:E,layer:t,elements:B});for(const c of s)meg(c,t,a)&&p2I({ctx:a,via:c,realToCanvasMat:I,layer:t,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n});for(const c of B)M2I({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"substrate"});for(const c of B)c.type==="pcb_smtpad"&&h2I({ctx:a,pad:c,realToCanvasMat:I,soldermaskOverCopperColor:E,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});for(const c of B)c.type!=="pcb_smtpad"&&M2I({ctx:a,element:c,realToCanvasMat:I,soldermaskOverCopperColor:E,soldermaskOverHoleColor:n,copperColor:e.copper[t],substrateColor:e.substrate,layer:t,phase:"openings"});s2I(A,a)}function M2I(g){const{ctx:A,element:I,realToCanvasMat:e,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o,copperColor:B,substrateColor:C,layer:Q,phase:i}=g;if(I.type==="pcb_smtpad")h2I({ctx:A,pad:I,realToCanvasMat:e,soldermaskOverCopperColor:t,copperColor:B,substrateColor:C,layer:Q,phase:i});else if(I.type==="pcb_plated_hole")Qoo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,layer:Q,phase:i});else if(I.type==="pcb_hole")Boo({ctx:A,hole:I,substrateColor:C,realToCanvasMat:e,soldermaskOverCopperColor:t,phase:i});else{if(i==="substrate")return;if(I.type==="pcb_via"){if(meg(I,Q,A))return;p2I({ctx:A,via:I,realToCanvasMat:e,layer:Q,soldermaskOverCopperColor:t,soldermaskOverHoleColor:o})}else if(I.type==="pcb_cutout")Aoo({ctx:A,cutout:I,realToCanvasMat:e});else{if(I.type==="pcb_copper_pour")return;if(I.type==="pcb_trace")return}}}function S2I(g,A){return A.copper[g]??A.copper.top}function soo(g){const{ctx:A,trace:I,realToCanvasMat:e,colorMap:t,layer:o}=g;if(!I.route||!Array.isArray(I.route)||I.route.length===0)return;for(const C of ueg(I.route))o&&C.layer!==o||C.is_inside_copper_pour||Wx({ctx:A,points:D2I(C),fill:S2I(C.layer,t),realToCanvasMat:e});const B=Geg(I.route);for(const C of B){const Q=C[0]?.layer;if(!Q||o&&Q!==o)continue;const i=S2I(Q,t);if(I.route_thickness_mode==="interpolated"){Wx({ctx:A,points:y2I(C),fill:i,realToCanvasMat:e});continue}for(let E=0;E<C.length-1;E++){const n=C[E],s=C[E+1];!n||!s||n.is_inside_copper_pour&&s.is_inside_copper_pour||FeA({ctx:A,start:{x:n.x,y:n.y},end:{x:s.x,y:s.y},strokeWidth:n.width,stroke:i,realToCanvasMat:e,lineCap:"round"})}}u2I({ctx:A,trace:I,realToCanvasMat:e,vias:g.vias??[],platedHoles:g.platedHoles??[],layer:o})}function f2I(g){const{ctx:A,traces:I,copperPours:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,renderLayers:Q}=g;for(const i of roo(I,Q)){const E=e.filter(s=>s.layer===i);if(E.length===0){peg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C});continue}const n=n2I(A,A.canvas.width,A.canvas.height);n&&(peg({ctx:n,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),aoo({ctx:n,copperPours:E,realToCanvasMat:t}),s2I(A,n))||(A.save(),coo({ctx:A,copperPours:E,realToCanvasMat:t}),peg({ctx:A,traces:I,layer:i,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}),A.restore())}}function peg(g){const{ctx:A,traces:I,layer:e,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C}=g;for(const Q of I)soo({ctx:A,trace:Q,realToCanvasMat:t,colorMap:o,vias:B,platedHoles:C,layer:e})}function aoo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.save(),A.globalCompositeOperation="destination-out",A.fillStyle="#000";for(const t of I)A.beginPath(),reg({ctx:A,pour:t,realToCanvasMat:e}),A.fill(t.shape==="brep"?"evenodd":"nonzero");A.restore()}}function roo(g,A){const I=new Set;for(const e of g)for(const t of e.route??[])t.route_type!=="wire"||!t.layer||A?.length&&!A.includes(`${t.layer}_copper`)||I.add(t.layer);return[...I]}function coo(g){const{ctx:A,copperPours:I,realToCanvasMat:e}=g;if(I.length!==0){A.beginPath(),A.rect(0,0,A.canvas.width,A.canvas.height);for(const t of I)reg({ctx:A,pour:t,realToCanvasMat:e});A.clip("evenodd")}}function hoo(g,A,I=[]){const e=[...g,...I].filter(C=>C.type==="pcb_via"),t=new Map;for(const C of e){const i=`${A.boardOwnerMap?.get(C.pcb_via_id)?.pcb_board_id??""}:${C.x}:${C.y}`,E=t.get(i)??[];E.push(C),t.set(i,E)}const o=g.filter(C=>C.type==="pcb_trace"),B=[];for(const C of o){const Q=A.boardOwnerMap?.get(C.pcb_trace_id);for(const[i,E]of C.route.entries()){if(E.route_type!=="via")continue;const n=`${Q?.pcb_board_id??""}:${E.x}:${E.y}`,s=t.get(n)??[];if(s.some(c=>c.layers.includes(E.from_layer)&&c.layers.includes(E.to_layer)))continue;const a={type:"pcb_via",pcb_via_id:`${C.pcb_trace_id}_route_via_${i}`,pcb_trace_id:C.pcb_trace_id,subcircuit_id:C.subcircuit_id,pcb_group_id:C.pcb_group_id,x:E.x,y:E.y,layers:[E.from_layer,E.to_layer],hole_diameter:E.hole_diameter??Q?.min_via_hole_diameter??.25,outer_diameter:E.outer_diameter??Q?.min_via_pad_diameter??.6,tented_on_top:E.tented_on_top,tented_on_bottom:E.tented_on_bottom};B.push(a),s.push(a),t.set(n,s)}}return B}function R2I(g){const{ctx:A,via:I,realToCanvasMat:e,colorMap:t,layer:o}=g;o&&!I.layers.includes(o)||(Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.outer_diameter/2,fill:t.copper[o??"top"],realToCanvasMat:e}),A.save(),A.globalCompositeOperation="destination-out",Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:"#000",realToCanvasMat:e}),A.restore(),Kl({ctx:A,center:{x:I.x,y:I.y},radius:I.hole_diameter/2,fill:t.drill,realToCanvasMat:e}))}function pk(g,A){if(!A.layers||A.layers.length===0)return!0;if(g.type==="pcb_silkscreen_graphic")return A.layers.some(e=>e===`${g.layer}_silkscreen`);const I=OxA(g);return I.length===0?!0:I.some(e=>A.layers.includes(e))}var jw={copper:{top:"rgb(200, 52, 52)",inner1:"rgb(127, 200, 127)",inner2:"rgb(206, 125, 44)",inner3:"rgb(79, 203, 203)",inner4:"rgb(219, 98, 139)",inner5:"rgb(167, 165, 198)",inner6:"rgb(40, 204, 217)",inner7:"rgb(232, 178, 167)",inner8:"rgb(242, 237, 161)",bottom:"rgb(77, 127, 196)"},copperPour:{top:"rgb(230, 95, 95)",bottom:"rgb(122, 162, 222)"},soldermaskWithCopperUnderneath:{top:"rgb(18, 82, 50)",bottom:"rgb(77, 127, 196)"},soldermask:{top:"rgb(12, 55, 33)",bottom:"rgb(12, 55, 33)"},soldermaskOverCopper:{top:"rgb(52, 135, 73)",bottom:"rgb(52, 135, 73)"},soldermaskOverHole:{top:"rgb(26, 68, 37)",bottom:"rgb(26, 68, 37)"},substrate:"rgb(201, 162, 110)",drill:"#FF26E2",silkscreen:{top:"#f2eda1",bottom:"#5da9e9"},boardOutline:"rgba(255, 255, 255, 0.5)",courtyard:{top:"#FF00FF",bottom:"rgb(38, 233, 255)"},keepout:{top:"#FF6B6B",bottom:"#5da9e9"},fabricationNote:"rgba(255, 255, 255, 0.5)"};function loo(g){return!g||g.length===0?"top":(g.find(I=>I.endsWith("_copper"))??g[0]??"top_copper").split("_")[0]}var yuA=(g,A)=>g.layers?.includes(A)??!0,v0=class YTI{ctx;colorMap;realToCanvasMat;constructor(A){if("getContext"in A&&typeof A.getContext=="function"){const I=A.getContext("2d");if(!I)throw new Error("Failed to get 2D rendering context from canvas");this.ctx=I}else this.ctx=A;this.colorMap={...jw},this.realToCanvasMat=deo()}configure(A){A.colorOverrides&&(this.colorMap={...this.colorMap,...A.colorOverrides,copper:{...this.colorMap.copper,...A.colorOverrides.copper},copperPour:{...this.colorMap.copperPour,...A.colorOverrides.copperPour},silkscreen:{...this.colorMap.silkscreen,...A.colorOverrides.silkscreen},soldermask:{...this.colorMap.soldermask,...A.colorOverrides.soldermask},soldermaskWithCopperUnderneath:{...this.colorMap.soldermaskWithCopperUnderneath,...A.colorOverrides.soldermaskWithCopperUnderneath},soldermaskOverCopper:{...this.colorMap.soldermaskOverCopper,...A.colorOverrides.soldermaskOverCopper},soldermaskOverHole:{...this.colorMap.soldermaskOverHole,...A.colorOverrides.soldermaskOverHole}})}setCameraBounds(A){const I=this.ctx.canvas,e=I.width,t=I.height,o=A.maxX-A.minX,B=A.maxY-A.minY,C=e/o,Q=t/B,i=Math.min(C,Q),E=(e-o*i)/2,n=(t-B*i)/2;this.realToCanvasMat=cuA(Ox(E,n),ueo(i,-i),Ox(-A.minX,-A.maxY))}drawElements(A,I={}){this.ctx.boardOwnerMap=ZxA([...I.clipContextElements??[],...A]),A=[...A,...hoo(A,this.ctx,I.clipContextElements)];const e=loo(I.layers),t=A.find(m=>m.type==="pcb_board"),o=A.find(m=>m.type==="pcb_panel");o&&xto({ctx:this.ctx,panel:o,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const B=I.drawBoardMaterial??!1,C=I.drawSoldermask??!1,Q=I.drawSolderPaste??!1,i=I.drawSoldermaskTop!==void 0||I.drawSoldermaskBottom!==void 0,E=I.drawSolderPasteTop!==void 0||I.drawSolderPasteBottom!==void 0,n=C&&(I.drawSoldermaskTop??!i),s=C&&(I.drawSoldermaskBottom??!1),r=Q&&(I.drawSolderPasteTop??!E)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="top"),a=Q&&(I.drawSolderPasteBottom??!1)&&A.some(m=>m.type==="pcb_solder_paste"&&m.layer==="bottom"),c=n||r,h=I.layers?.length?e:void 0,l=m=>!h||yuA(m,h),D=A.filter(m=>pk(m,I)&&m.type==="pcb_via"&&l(m)),d=A.filter(m=>pk(m,I)&&m.type==="pcb_hole"),y=A.filter(m=>pk(m,I)&&m.type==="pcb_plated_hole"&&yuA(m,e)),w=A.filter(m=>pk(m,I)&&m.type==="pcb_cutout"),u=(I.clipContextElements??A).filter(m=>pk(m,I)&&m.type==="pcb_copper_pour"),G=A.filter(m=>pk(m,I)&&m.type==="pcb_trace");t&&Geo({ctx:this.ctx,board:t,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,drawBoardMaterial:B,minBoardOutlineStrokePx:I.minBoardOutlineStrokePx});for(const m of A)pk(m,I)&&m.type==="pcb_copper_pour"&&ZSI({ctx:this.ctx,pour:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A)pk(m,I)&&(m.type==="pcb_smtpad"&&jto({ctx:this.ctx,pad:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,holes:d,platedHoles:y,vias:D,cutouts:w}),m.type==="pcb_copper_text"&&Teo({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));if(c){f2I({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)pk(m,I)&&(m.type==="pcb_hole"&&VSI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n}),m.type==="pcb_plated_hole"&&yuA(m,e)&&Q2I({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&l(m)&&R2I({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}))}if(n&&k2I({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"top",drawSoldermask:!0}),r)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="top"||E2I({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)pk(m,I)&&(m.type==="pcb_silkscreen_text"&&Wto({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_rect"&&Tto({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_circle"&&Uto({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_line"&&Kto({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_path"&&bto({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_pill"&&vto({ctx:this.ctx,pill:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_oval"&&Yto({ctx:this.ctx,oval:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_silkscreen_graphic"&&Jto({ctx:this.ctx,graphic:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}));c||f2I({ctx:this.ctx,traces:G,copperPours:u,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,vias:D,platedHoles:y,renderLayers:I.layers});for(const m of A)pk(m,I)&&m.type==="pcb_hole"&&!c&&VSI({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n});for(const m of A)pk(m,I)&&(m.type==="pcb_plated_hole"&&!c&&yuA(m,e)&&Q2I({ctx:this.ctx,hole:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,soldermaskMargin:n?m.soldermask_margin:void 0,drawSoldermask:n,layer:e}),m.type==="pcb_via"&&!c&&l(m)&&R2I({ctx:this.ctx,via:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:h}));if(s&&k2I({ctx:this.ctx,elements:A,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,layer:"bottom",drawSoldermask:!0}),a)for(const m of A)m.type!=="pcb_solder_paste"||m.layer!=="bottom"||E2I({ctx:this.ctx,solderPaste:m,realToCanvasMat:this.realToCanvasMat});for(const m of A)pk(m,I)&&m.type==="pcb_cutout"&&Xeo({ctx:this.ctx,cutout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});for(const m of A){if(!pk(m,I))continue;m.type==="pcb_keepout"&&mto({ctx:this.ctx,keepout:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_text"&&ito({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_rect"&&Cto({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap});const p=I.showPcbNotes??!0;p&&m.type==="pcb_note_rect"&&fto({realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap,ctx:this.ctx,rect:m}),m.type==="pcb_fabrication_note_path"&&Bto({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_path"&&Sto({ctx:this.ctx,path:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_text"&&Nto({ctx:this.ctx,text:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_line"&&Mto({ctx:this.ctx,line:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),p&&m.type==="pcb_note_dimension"&&kto({ctx:this.ctx,pcbNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_fabrication_note_dimension"&&oto({ctx:this.ctx,pcbFabricationNoteDimension:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_circle"&&Oeo({ctx:this.ctx,circle:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_rect"&&zeo({ctx:this.ctx,rect:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap}),m.type==="pcb_courtyard_outline"&&Veo({ctx:this.ctx,outline:m,realToCanvasMat:this.realToCanvasMat,colorMap:this.colorMap})}if(I.clearDrillHoles&&this.clearDrillHoles(A,e),I.showDebugObjects){const m=new Map;for(const p of A){if(p.type!=="pcb_debug_object")continue;const k=p.shape==="rect"?`${p.center.x}:${p.center.y}:${p.size.width}:${p.size.height}`:void 0,S=k?m.get(k)??0:0;gto({ctx:this.ctx,debugObject:p,realToCanvasMat:this.realToCanvasMat,labelStackIndex:S}),k&&m.set(k,S+1)}}}clearDrillHoles(A,I){const e=A.filter(C=>C.type==="pcb_hole"||C.type==="pcb_plated_hole"||C.type==="pcb_via"||C.type==="pcb_cutout");if(e.length===0)return;const t="rgba(0,0,0,0)",o=new YTI(this.ctx);o.realToCanvasMat=this.realToCanvasMat,o.configure({colorOverrides:{copper:{top:t,bottom:t,inner1:t,inner2:t,inner3:t,inner4:t,inner5:t,inner6:t,inner7:t,inner8:t},drill:"#000"}}),this.ctx.save(),this.ctx.globalCompositeOperation="destination-out";const B=this.ctx.boardOwnerMap;o.drawElements(e,{layers:[`${I}_copper`],showPcbNotes:!1}),this.ctx.boardOwnerMap=B,this.ctx.restore()}},keg={exports:{}},Meg,N2I;function Doo(){return N2I||(N2I=1,Meg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Meg}var Seg={exports:{}},feg,x2I;function doo(){return x2I||(x2I=1,feg=function(A){return!A||typeof A=="string"?!1:A instanceof Array||Array.isArray(A)||A.length>=0&&(A.splice instanceof Function||Object.getOwnPropertyDescriptor(A,A.length-1)&&A.constructor.name!=="String")}),feg}var F2I;function yoo(){if(F2I)return Seg.exports;F2I=1;var g=doo(),A=Array.prototype.concat,I=Array.prototype.slice,e=Seg.exports=function(o){for(var B=[],C=0,Q=o.length;C<Q;C++){var i=o[C];g(i)?B=A.call(B,I.call(i)):B.push(i)}return B};return e.wrap=function(t){return function(){return t(e(arguments))}},Seg.exports}var U2I;function woo(){if(U2I)return keg.exports;U2I=1;var g=Doo(),A=yoo(),I=Object.hasOwnProperty,e=Object.create(null);for(var t in g)I.call(g,t)&&(e[g[t]]=t);var o=keg.exports={to:{},get:{}};o.get=function(Q){var i=Q.substring(0,3).toLowerCase(),E,n;switch(i){case"hsl":E=o.get.hsl(Q),n="hsl";break;case"hwb":E=o.get.hwb(Q),n="hwb";break;default:E=o.get.rgb(Q),n="rgb";break}return E?{model:n,value:E}:null},o.get.rgb=function(Q){if(!Q)return null;var i=/^#([a-f0-9]{3,4})$/i,E=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,n=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,s=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,r=/^(\w+)$/,a=[0,0,0,1],c,h,l;if(c=Q.match(E)){for(l=c[2],c=c[1],h=0;h<3;h++){var D=h*2;a[h]=parseInt(c.slice(D,D+2),16)}l&&(a[3]=parseInt(l,16)/255)}else if(c=Q.match(i)){for(c=c[1],l=c[3],h=0;h<3;h++)a[h]=parseInt(c[h]+c[h],16);l&&(a[3]=parseInt(l+l,16)/255)}else if(c=Q.match(n)){for(h=0;h<3;h++)a[h]=parseInt(c[h+1],0);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else if(c=Q.match(s)){for(h=0;h<3;h++)a[h]=Math.round(parseFloat(c[h+1])*2.55);c[4]&&(c[5]?a[3]=parseFloat(c[4])*.01:a[3]=parseFloat(c[4]))}else return(c=Q.match(r))?c[1]==="transparent"?[0,0,0,0]:I.call(g,c[1])?(a=g[c[1]],a[3]=1,a):null:null;for(h=0;h<3;h++)a[h]=B(a[h],0,255);return a[3]=B(a[3],0,1),a},o.get.hsl=function(Q){if(!Q)return null;var i=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.get.hwb=function(Q){if(!Q)return null;var i=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,E=Q.match(i);if(E){var n=parseFloat(E[4]),s=(parseFloat(E[1])%360+360)%360,r=B(parseFloat(E[2]),0,100),a=B(parseFloat(E[3]),0,100),c=B(isNaN(n)?1:n,0,1);return[s,r,a,c]}return null},o.to.hex=function(){var Q=A(arguments);return"#"+C(Q[0])+C(Q[1])+C(Q[2])+(Q[3]<1?C(Math.round(Q[3]*255)):"")},o.to.rgb=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"},o.to.rgb.percent=function(){var Q=A(arguments),i=Math.round(Q[0]/255*100),E=Math.round(Q[1]/255*100),n=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+i+"%, "+E+"%, "+n+"%)":"rgba("+i+"%, "+E+"%, "+n+"%, "+Q[3]+")"},o.to.hsl=function(){var Q=A(arguments);return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"},o.to.hwb=function(){var Q=A(arguments),i="";return Q.length>=4&&Q[3]!==1&&(i=", "+Q[3]),"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+i+")"},o.to.keyword=function(Q){return e[Q.slice(0,3)]};function B(Q,i,E){return Math.min(Math.max(i,Q),E)}function C(Q){var i=Math.round(Q).toString(16).toUpperCase();return i.length<2?"0"+i:i}return keg.exports}var Reg,J2I;function uoo(){return J2I||(J2I=1,Reg={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Reg}var Neg,P2I;function K2I(){if(P2I)return Neg;P2I=1;const g=uoo(),A={};for(const t of Object.keys(g))A[g[t]]=t;const I={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Neg=I;for(const t of Object.keys(I)){if(!("channels"in I[t]))throw new Error("missing channels property: "+t);if(!("labels"in I[t]))throw new Error("missing channel labels property: "+t);if(I[t].labels.length!==I[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:o,labels:B}=I[t];delete I[t].channels,delete I[t].labels,Object.defineProperty(I[t],"channels",{value:o}),Object.defineProperty(I[t],"labels",{value:B})}I.rgb.hsl=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(o,B,C),i=Math.max(o,B,C),E=i-Q;let n,s;i===Q?n=0:o===i?n=(B-C)/E:B===i?n=2+(C-o)/E:C===i&&(n=4+(o-B)/E),n=Math.min(n*60,360),n<0&&(n+=360);const r=(Q+i)/2;return i===Q?s=0:r<=.5?s=E/(i+Q):s=E/(2-i-Q),[n,s*100,r*100]},I.rgb.hsv=function(t){let o,B,C,Q,i;const E=t[0]/255,n=t[1]/255,s=t[2]/255,r=Math.max(E,n,s),a=r-Math.min(E,n,s),c=function(h){return(r-h)/6/a+1/2};return a===0?(Q=0,i=0):(i=a/r,o=c(E),B=c(n),C=c(s),E===r?Q=C-B:n===r?Q=1/3+o-C:s===r&&(Q=2/3+B-o),Q<0?Q+=1:Q>1&&(Q-=1)),[Q*360,i*100,r*100]},I.rgb.hwb=function(t){const o=t[0],B=t[1];let C=t[2];const Q=I.rgb.hsl(t)[0],i=1/255*Math.min(o,Math.min(B,C));return C=1-1/255*Math.max(o,Math.max(B,C)),[Q,i*100,C*100]},I.rgb.cmyk=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.min(1-o,1-B,1-C),i=(1-o-Q)/(1-Q)||0,E=(1-B-Q)/(1-Q)||0,n=(1-C-Q)/(1-Q)||0;return[i*100,E*100,n*100,Q*100]};function e(t,o){return(t[0]-o[0])**2+(t[1]-o[1])**2+(t[2]-o[2])**2}return I.rgb.keyword=function(t){const o=A[t];if(o)return o;let B=1/0,C;for(const Q of Object.keys(g)){const i=g[Q],E=e(t,i);E<B&&(B=E,C=Q)}return C},I.keyword.rgb=function(t){return g[t]},I.rgb.xyz=function(t){let o=t[0]/255,B=t[1]/255,C=t[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,B=B>.04045?((B+.055)/1.055)**2.4:B/12.92,C=C>.04045?((C+.055)/1.055)**2.4:C/12.92;const Q=o*.4124+B*.3576+C*.1805,i=o*.2126+B*.7152+C*.0722,E=o*.0193+B*.1192+C*.9505;return[Q*100,i*100,E*100]},I.rgb.lab=function(t){const o=I.rgb.xyz(t);let B=o[0],C=o[1],Q=o[2];B/=95.047,C/=100,Q/=108.883,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116,Q=Q>.008856?Q**(1/3):7.787*Q+16/116;const i=116*C-16,E=500*(B-C),n=200*(C-Q);return[i,E,n]},I.hsl.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;let Q,i,E;if(B===0)return E=C*255,[E,E,E];C<.5?Q=C*(1+B):Q=C+B-C*B;const n=2*C-Q,s=[0,0,0];for(let r=0;r<3;r++)i=o+1/3*-(r-1),i<0&&i++,i>1&&i--,6*i<1?E=n+(Q-n)*6*i:2*i<1?E=Q:3*i<2?E=n+(Q-n)*(2/3-i)*6:E=n,s[r]=E*255;return s},I.hsl.hsv=function(t){const o=t[0];let B=t[1]/100,C=t[2]/100,Q=B;const i=Math.max(C,.01);C*=2,B*=C<=1?C:2-C,Q*=i<=1?i:2-i;const E=(C+B)/2,n=C===0?2*Q/(i+Q):2*B/(C+B);return[o,n*100,E*100]},I.hsv.rgb=function(t){const o=t[0]/60,B=t[1]/100;let C=t[2]/100;const Q=Math.floor(o)%6,i=o-Math.floor(o),E=255*C*(1-B),n=255*C*(1-B*i),s=255*C*(1-B*(1-i));switch(C*=255,Q){case 0:return[C,s,E];case 1:return[n,C,E];case 2:return[E,C,s];case 3:return[E,n,C];case 4:return[s,E,C];case 5:return[C,E,n]}},I.hsv.hsl=function(t){const o=t[0],B=t[1]/100,C=t[2]/100,Q=Math.max(C,.01);let i,E;E=(2-B)*C;const n=(2-B)*Q;return i=B*Q,i/=n<=1?n:2-n,i=i||0,E/=2,[o,i*100,E*100]},I.hwb.rgb=function(t){const o=t[0]/360;let B=t[1]/100,C=t[2]/100;const Q=B+C;let i;Q>1&&(B/=Q,C/=Q);const E=Math.floor(6*o),n=1-C;i=6*o-E,(E&1)!==0&&(i=1-i);const s=B+i*(n-B);let r,a,c;switch(E){default:case 6:case 0:r=n,a=s,c=B;break;case 1:r=s,a=n,c=B;break;case 2:r=B,a=n,c=s;break;case 3:r=B,a=s,c=n;break;case 4:r=s,a=B,c=n;break;case 5:r=n,a=B,c=s;break}return[r*255,a*255,c*255]},I.cmyk.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100,Q=t[3]/100,i=1-Math.min(1,o*(1-Q)+Q),E=1-Math.min(1,B*(1-Q)+Q),n=1-Math.min(1,C*(1-Q)+Q);return[i*255,E*255,n*255]},I.xyz.rgb=function(t){const o=t[0]/100,B=t[1]/100,C=t[2]/100;let Q,i,E;return Q=o*3.2406+B*-1.5372+C*-.4986,i=o*-.9689+B*1.8758+C*.0415,E=o*.0557+B*-.204+C*1.057,Q=Q>.0031308?1.055*Q**(1/2.4)-.055:Q*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,Q=Math.min(Math.max(0,Q),1),i=Math.min(Math.max(0,i),1),E=Math.min(Math.max(0,E),1),[Q*255,i*255,E*255]},I.xyz.lab=function(t){let o=t[0],B=t[1],C=t[2];o/=95.047,B/=100,C/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,B=B>.008856?B**(1/3):7.787*B+16/116,C=C>.008856?C**(1/3):7.787*C+16/116;const Q=116*B-16,i=500*(o-B),E=200*(B-C);return[Q,i,E]},I.lab.xyz=function(t){const o=t[0],B=t[1],C=t[2];let Q,i,E;i=(o+16)/116,Q=B/500+i,E=i-C/200;const n=i**3,s=Q**3,r=E**3;return i=n>.008856?n:(i-16/116)/7.787,Q=s>.008856?s:(Q-16/116)/7.787,E=r>.008856?r:(E-16/116)/7.787,Q*=95.047,i*=100,E*=108.883,[Q,i,E]},I.lab.lch=function(t){const o=t[0],B=t[1],C=t[2];let Q;Q=Math.atan2(C,B)*360/2/Math.PI,Q<0&&(Q+=360);const E=Math.sqrt(B*B+C*C);return[o,E,Q]},I.lch.lab=function(t){const o=t[0],B=t[1],Q=t[2]/360*2*Math.PI,i=B*Math.cos(Q),E=B*Math.sin(Q);return[o,i,E]},I.rgb.ansi16=function(t,o=null){const[B,C,Q]=t;let i=o===null?I.rgb.hsv(t)[2]:o;if(i=Math.round(i/50),i===0)return 30;let E=30+(Math.round(Q/255)<<2|Math.round(C/255)<<1|Math.round(B/255));return i===2&&(E+=60),E},I.hsv.ansi16=function(t){return I.rgb.ansi16(I.hsv.rgb(t),t[2])},I.rgb.ansi256=function(t){const o=t[0],B=t[1],C=t[2];return o===B&&B===C?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(B/255*5)+Math.round(C/255*5)},I.ansi16.rgb=function(t){let o=t%10;if(o===0||o===7)return t>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const B=(~~(t>50)+1)*.5,C=(o&1)*B*255,Q=(o>>1&1)*B*255,i=(o>>2&1)*B*255;return[C,Q,i]},I.ansi256.rgb=function(t){if(t>=232){const i=(t-232)*10+8;return[i,i,i]}t-=16;let o;const B=Math.floor(t/36)/5*255,C=Math.floor((o=t%36)/6)/5*255,Q=o%6/5*255;return[B,C,Q]},I.rgb.hex=function(t){const B=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(B.length)+B},I.hex.rgb=function(t){const o=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let B=o[0];o[0].length===3&&(B=B.split("").map(n=>n+n).join(""));const C=parseInt(B,16),Q=C>>16&255,i=C>>8&255,E=C&255;return[Q,i,E]},I.rgb.hcg=function(t){const o=t[0]/255,B=t[1]/255,C=t[2]/255,Q=Math.max(Math.max(o,B),C),i=Math.min(Math.min(o,B),C),E=Q-i;let n,s;return E<1?n=i/(1-E):n=0,E<=0?s=0:Q===o?s=(B-C)/E%6:Q===B?s=2+(C-o)/E:s=4+(o-B)/E,s/=6,s%=1,[s*360,E*100,n*100]},I.hsl.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=B<.5?2*o*B:2*o*(1-B);let Q=0;return C<1&&(Q=(B-.5*C)/(1-C)),[t[0],C*100,Q*100]},I.hsv.hcg=function(t){const o=t[1]/100,B=t[2]/100,C=o*B;let Q=0;return C<1&&(Q=(B-C)/(1-C)),[t[0],C*100,Q*100]},I.hcg.rgb=function(t){const o=t[0]/360,B=t[1]/100,C=t[2]/100;if(B===0)return[C*255,C*255,C*255];const Q=[0,0,0],i=o%1*6,E=i%1,n=1-E;let s=0;switch(Math.floor(i)){case 0:Q[0]=1,Q[1]=E,Q[2]=0;break;case 1:Q[0]=n,Q[1]=1,Q[2]=0;break;case 2:Q[0]=0,Q[1]=1,Q[2]=E;break;case 3:Q[0]=0,Q[1]=n,Q[2]=1;break;case 4:Q[0]=E,Q[1]=0,Q[2]=1;break;default:Q[0]=1,Q[1]=0,Q[2]=n}return s=(1-B)*C,[(B*Q[0]+s)*255,(B*Q[1]+s)*255,(B*Q[2]+s)*255]},I.hcg.hsv=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);let Q=0;return C>0&&(Q=o/C),[t[0],Q*100,C*100]},I.hcg.hsl=function(t){const o=t[1]/100,C=t[2]/100*(1-o)+.5*o;let Q=0;return C>0&&C<.5?Q=o/(2*C):C>=.5&&C<1&&(Q=o/(2*(1-C))),[t[0],Q*100,C*100]},I.hcg.hwb=function(t){const o=t[1]/100,B=t[2]/100,C=o+B*(1-o);return[t[0],(C-o)*100,(1-C)*100]},I.hwb.hcg=function(t){const o=t[1]/100,C=1-t[2]/100,Q=C-o;let i=0;return Q<1&&(i=(C-Q)/(1-Q)),[t[0],Q*100,i*100]},I.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},I.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},I.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},I.gray.hsl=function(t){return[0,0,t[0]]},I.gray.hsv=I.gray.hsl,I.gray.hwb=function(t){return[0,100,t[0]]},I.gray.cmyk=function(t){return[0,0,0,t[0]]},I.gray.lab=function(t){return[t[0],0,0]},I.gray.hex=function(t){const o=Math.round(t[0]/100*255)&255,C=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(C.length)+C},I.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},Neg}var xeg,L2I;function Goo(){if(L2I)return xeg;L2I=1;const g=K2I();function A(){const o={},B=Object.keys(g);for(let C=B.length,Q=0;Q<C;Q++)o[B[Q]]={distance:-1,parent:null};return o}function I(o){const B=A(),C=[o];for(B[o].distance=0;C.length;){const Q=C.pop(),i=Object.keys(g[Q]);for(let E=i.length,n=0;n<E;n++){const s=i[n],r=B[s];r.distance===-1&&(r.distance=B[Q].distance+1,r.parent=Q,C.unshift(s))}}return B}function e(o,B){return function(C){return B(o(C))}}function t(o,B){const C=[B[o].parent,o];let Q=g[B[o].parent][o],i=B[o].parent;for(;B[i].parent;)C.unshift(B[i].parent),Q=e(g[B[i].parent][i],Q),i=B[i].parent;return Q.conversion=C,Q}return xeg=function(o){const B=I(o),C={},Q=Object.keys(B);for(let i=Q.length,E=0;E<i;E++){const n=Q[E];B[n].parent!==null&&(C[n]=t(n,B))}return C},xeg}var Feg,Y2I;function moo(){if(Y2I)return Feg;Y2I=1;const g=K2I(),A=Goo(),I={},e=Object.keys(g);function t(B){const C=function(...Q){const i=Q[0];return i==null?i:(i.length>1&&(Q=i),B(Q))};return"conversion"in B&&(C.conversion=B.conversion),C}function o(B){const C=function(...Q){const i=Q[0];if(i==null)return i;i.length>1&&(Q=i);const E=B(Q);if(typeof E=="object")for(let n=E.length,s=0;s<n;s++)E[s]=Math.round(E[s]);return E};return"conversion"in B&&(C.conversion=B.conversion),C}return e.forEach(B=>{I[B]={},Object.defineProperty(I[B],"channels",{value:g[B].channels}),Object.defineProperty(I[B],"labels",{value:g[B].labels});const C=A(B);Object.keys(C).forEach(i=>{const E=C[i];I[B][i]=o(E),I[B][i].raw=t(E)})}),Feg=I,Feg}var Ueg,_2I;function poo(){if(_2I)return Ueg;_2I=1;const g=woo(),A=moo(),I=["keyword","gray","hex"],e={};for(const s of Object.keys(A))e[[...A[s].labels].sort().join("")]=s;const t={};function o(s,r){if(!(this instanceof o))return new o(s,r);if(r&&r in I&&(r=null),r&&!(r in A))throw new Error("Unknown model: "+r);let a,c;if(s==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(s instanceof o)this.model=s.model,this.color=[...s.color],this.valpha=s.valpha;else if(typeof s=="string"){const h=g.get(s);if(h===null)throw new Error("Unable to parse color from string: "+s);this.model=h.model,c=A[this.model].channels,this.color=h.value.slice(0,c),this.valpha=typeof h.value[c]=="number"?h.value[c]:1}else if(s.length>0){this.model=r||"rgb",c=A[this.model].channels;const h=Array.prototype.slice.call(s,0,c);this.color=n(h,c),this.valpha=typeof s[c]=="number"?s[c]:1}else if(typeof s=="number")this.model="rgb",this.color=[s>>16&255,s>>8&255,s&255],this.valpha=1;else{this.valpha=1;const h=Object.keys(s);"alpha"in s&&(h.splice(h.indexOf("alpha"),1),this.valpha=typeof s.alpha=="number"?s.alpha:0);const l=h.sort().join("");if(!(l in e))throw new Error("Unable to parse color from object: "+JSON.stringify(s));this.model=e[l];const{labels:D}=A[this.model],d=[];for(a=0;a<D.length;a++)d.push(s[D[a]]);this.color=n(d)}if(t[this.model])for(c=A[this.model].channels,a=0;a<c;a++){const h=t[this.model][a];h&&(this.color[a]=h(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}o.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(s){let r=this.model in g.to?this:this.rgb();r=r.round(typeof s=="number"?s:1);const a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to[r.model](a)},percentString(s){const r=this.rgb().round(typeof s=="number"?s:1),a=r.valpha===1?r.color:[...r.color,this.valpha];return g.to.rgb.percent(a)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const s={},{channels:r}=A[this.model],{labels:a}=A[this.model];for(let c=0;c<r;c++)s[a[c]]=this.color[c];return this.valpha!==1&&(s.alpha=this.valpha),s},unitArray(){const s=this.rgb().color;return s[0]/=255,s[1]/=255,s[2]/=255,this.valpha!==1&&s.push(this.valpha),s},unitObject(){const s=this.rgb().object();return s.r/=255,s.g/=255,s.b/=255,this.valpha!==1&&(s.alpha=this.valpha),s},round(s){return s=Math.max(s||0,0),new o([...this.color.map(C(s)),this.valpha],this.model)},alpha(s){return s!==void 0?new o([...this.color,Math.max(0,Math.min(1,s))],this.model):this.valpha},red:Q("rgb",0,i(255)),green:Q("rgb",1,i(255)),blue:Q("rgb",2,i(255)),hue:Q(["hsl","hsv","hsl","hwb","hcg"],0,s=>(s%360+360)%360),saturationl:Q("hsl",1,i(100)),lightness:Q("hsl",2,i(100)),saturationv:Q("hsv",1,i(100)),value:Q("hsv",2,i(100)),chroma:Q("hcg",1,i(100)),gray:Q("hcg",2,i(100)),white:Q("hwb",1,i(100)),wblack:Q("hwb",2,i(100)),cyan:Q("cmyk",0,i(100)),magenta:Q("cmyk",1,i(100)),yellow:Q("cmyk",2,i(100)),black:Q("cmyk",3,i(100)),x:Q("xyz",0,i(95.047)),y:Q("xyz",1,i(100)),z:Q("xyz",2,i(108.833)),l:Q("lab",0,i(100)),a:Q("lab",1),b:Q("lab",2),keyword(s){return s!==void 0?new o(s):A[this.model].keyword(this.color)},hex(s){return s!==void 0?new o(s):g.to.hex(this.rgb().round().color)},hexa(s){if(s!==void 0)return new o(s);const r=this.rgb().round().color;let a=Math.round(this.valpha*255).toString(16).toUpperCase();return a.length===1&&(a="0"+a),g.to.hex(r)+a},rgbNumber(){const s=this.rgb().color;return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255},luminosity(){const s=this.rgb().color,r=[];for(const[a,c]of s.entries()){const h=c/255;r[a]=h<=.04045?h/12.92:((h+.055)/1.055)**2.4}return .2126*r[0]+.7152*r[1]+.0722*r[2]},contrast(s){const r=this.luminosity(),a=s.luminosity();return r>a?(r+.05)/(a+.05):(a+.05)/(r+.05)},level(s){const r=this.contrast(s);return r>=7?"AAA":r>=4.5?"AA":""},isDark(){const s=this.rgb().color;return(s[0]*2126+s[1]*7152+s[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const s=this.rgb();for(let r=0;r<3;r++)s.color[r]=255-s.color[r];return s},lighten(s){const r=this.hsl();return r.color[2]+=r.color[2]*s,r},darken(s){const r=this.hsl();return r.color[2]-=r.color[2]*s,r},saturate(s){const r=this.hsl();return r.color[1]+=r.color[1]*s,r},desaturate(s){const r=this.hsl();return r.color[1]-=r.color[1]*s,r},whiten(s){const r=this.hwb();return r.color[1]+=r.color[1]*s,r},blacken(s){const r=this.hwb();return r.color[2]+=r.color[2]*s,r},grayscale(){const s=this.rgb().color,r=s[0]*.3+s[1]*.59+s[2]*.11;return o.rgb(r,r,r)},fade(s){return this.alpha(this.valpha-this.valpha*s)},opaquer(s){return this.alpha(this.valpha+this.valpha*s)},rotate(s){const r=this.hsl();let a=r.color[0];return a=(a+s)%360,a=a<0?360+a:a,r.color[0]=a,r},mix(s,r){if(!s||!s.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof s);const a=s.rgb(),c=this.rgb(),h=r===void 0?.5:r,l=2*h-1,D=a.alpha()-c.alpha(),d=((l*D===-1?l:(l+D)/(1+l*D))+1)/2,y=1-d;return o.rgb(d*a.red()+y*c.red(),d*a.green()+y*c.green(),d*a.blue()+y*c.blue(),a.alpha()*h+c.alpha()*(1-h))}};for(const s of Object.keys(A)){if(I.includes(s))continue;const{channels:r}=A[s];o.prototype[s]=function(...a){return this.model===s?new o(this):a.length>0?new o(a,s):new o([...E(A[this.model][s].raw(this.color)),this.valpha],s)},o[s]=function(...a){let c=a[0];return typeof c=="number"&&(c=n(a,r)),new o(c,s)}}function B(s,r){return Number(s.toFixed(r))}function C(s){return function(r){return B(r,s)}}function Q(s,r,a){s=Array.isArray(s)?s:[s];for(const c of s)(t[c]||(t[c]=[]))[r]=a;return s=s[0],function(c){let h;return c!==void 0?(a&&(c=a(c)),h=this[s](),h.color[r]=c,h):(h=this[s]().color[r],a&&(h=a(h)),h)}}function i(s){return function(r){return Math.max(0,Math.min(s,r))}}function E(s){return Array.isArray(s)?s:[s]}function n(s,r){for(let a=0;a<r;a++)typeof s[a]!="number"&&(s[a]=0);return s}return Ueg=o,Ueg}var koo=poo();const uQ=Fp(koo),Moo=I0g(Xge);var Jeg,b2I;function Soo(){if(b2I)return Jeg;b2I=1;var g=Object.defineProperty,A=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,t=(h,l)=>{for(var D in l)g(h,D,{get:l[D],enumerable:!0})},o=(h,l,D,d)=>{if(l&&typeof l=="object"||typeof l=="function")for(let y of I(l))!e.call(h,y)&&y!==D&&g(h,y,{get:()=>l[y],enumerable:!(d=A(l,y))||d.enumerable});return h},B=h=>o(g({},"__esModule",{value:!0}),h),C={};t(C,{SuperGrid:()=>c,toMMSI:()=>a,toMeterSI:()=>r}),Jeg=B(C);var Q=hM(),i=Moo,E=i0g(),n=(h,l,D)=>{const d=[];if(l<h)for(let y=h;y>=l;y-=Math.abs(D))d.push(y);else for(let y=h;y<=l;y+=Math.abs(D))d.push(y);return d};function s(h,l){return{x:Math.round(l.x/h)*h,y:Math.round(l.y/h)*h}}function r(h,l=1){return h<0?"-"+r(-h):h<1e-6?"0m":h>1e3?Math.floor(h/1e3)+"km":h>1&&l>1?Math.round(h)+"m":h>1&&l<=1?h.toFixed(Math.ceil(-Math.log10(l)))+"m":h<1&&l>=1/1e3?Math.round(h*1e3)+"mm":h<1&&l<1/1e3?(h*1e3).toFixed(Math.ceil(-Math.log10(l*1e3)))+"mm":""}function a(h,l=1){return r(h/1e3,l/1e3)}var c=h=>{var l;const D=(0,Q.useRef)(null),[d,y]=(0,Q.useState)({x:0,y:0}),{majorColor:w="rgba(0,0,0,0.2)",minorColor:u="rgba(0,0,0,0.1)",textColor:G=(l=h.majorColor)!=null?l:"rgba(0,0,0,0.5)",width:m,height:p,screenSpaceCellSize:k=200,stringifyCoord:S=(U,L,_)=>`${r(U,_)}, ${r(L,_)}`}=h,R=Math.ceil(m/k)+2,x=Math.ceil(p/k)+2;(0,Q.useEffect)(()=>{if(!D.current)return;const U=D.current.getContext("2d");if(!U)return;const L=k/10**Math.floor(Math.log10(h.transform.a)),_=h.transform.d<0?-1:1,q=k/10**Math.log10(h.transform.a)/L;function j(hA,nA,cA){const fA=hA;let xA,rA,NA;for(xA=nA.x;xA<=cA.x;xA+=fA)rA=(0,i.applyToPoint)(h.transform,{x:xA,y:nA.y}),NA=(0,i.applyToPoint)(h.transform,{x:xA,y:cA.y}),U.beginPath(),U.moveTo(rA.x,rA.y),U.lineTo(NA.x,NA.y),U.stroke();const RA=n(nA.y,cA.y,fA*_);for(const UA of RA)rA=(0,i.applyToPoint)(h.transform,{x:nA.x,y:UA}),NA=(0,i.applyToPoint)(h.transform,{x:cA.x,y:UA}),U.beginPath(),U.moveTo(rA.x,rA.y),U.lineTo(NA.x,NA.y),U.stroke()}function Z(hA,nA,cA){const fA=hA;let xA;for(xA=nA.x;xA<=cA.x;xA+=fA)for(const rA of n(nA.y,cA.y,fA*_)){const NA=(0,i.applyToPoint)(h.transform,{x:xA,y:rA});U.fillStyle=G,U.font="12px sans-serif",U.fillText(S(xA,rA,hA),NA.x+2,NA.y-2)}}U.clearRect(0,0,m,p);const O=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:0,y:0}),AA={x:Math.floor((O.x-L)/L)*L,y:Math.floor((O.y-L)/L+(_==-1?2:0))*L},tA={x:AA.x+L*R,y:AA.y+L*x*_},QA=L*5,sA={x:Math.floor((O.x-QA)/QA)*QA,y:Math.floor((O.y-QA)/QA+(_==-1?2:0))*QA},DA={x:sA.x+QA*R,y:sA.y+QA*x*_};U.globalAlpha=1,U.strokeStyle=w,j(L,AA,tA),Z(QA,sA,DA),U.globalAlpha=1-q,j(QA/10,sA,DA),U.globalAlpha=1-q,U.strokeStyle=u,j(L/10,AA,tA),U.globalAlpha=Math.max(((1-q)*10-5)/5,0),Z(QA/10,sA,DA),U.globalAlpha=1;const CA=(0,i.applyToPoint)(h.transform,d);U.font="12px sans-serif",U.fillStyle=G,U.fillText(S(d.x,d.y,L),CA.x+2,CA.y-2),U.strokeStyle=w,U.strokeRect(CA.x-5,CA.y-5,10,10)},[D,h.transform,d,m,p]);const N=U=>{if(!D.current)return;const L=k/10/10**Math.floor(Math.log10(h.transform.a)),_=D.current.getBoundingClientRect(),b=(0,i.applyToPoint)((0,i.inverse)(h.transform),{x:U.clientX-_.left,y:U.clientY-_.top}),q=s(L,b);y(q)};return(0,E.jsx)("canvas",{onMouseUp:U=>{U.button===1&&N(U)},onDoubleClick:N,ref:D,width:h.width,height:h.height})};return Jeg}var eb=Soo();function foo(g){if(g.sheet)return g.sheet;for(var A=0;A<document.styleSheets.length;A++)if(document.styleSheets[A].ownerNode===g)return document.styleSheets[A]}function Roo(g){var A=document.createElement("style");return A.setAttribute("data-emotion",g.key),g.nonce!==void 0&&A.setAttribute("nonce",g.nonce),A.appendChild(document.createTextNode("")),A.setAttribute("data-s",""),A}var Noo=(function(){function g(I){var e=this;this._insertTag=function(t){var o;e.tags.length===0?e.insertionPoint?o=e.insertionPoint.nextSibling:e.prepend?o=e.container.firstChild:o=e.before:o=e.tags[e.tags.length-1].nextSibling,e.container.insertBefore(t,o),e.tags.push(t)},this.isSpeedy=I.speedy===void 0?!0:I.speedy,this.tags=[],this.ctr=0,this.nonce=I.nonce,this.key=I.key,this.container=I.container,this.prepend=I.prepend,this.insertionPoint=I.insertionPoint,this.before=null}var A=g.prototype;return A.hydrate=function(e){e.forEach(this._insertTag)},A.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(Roo(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var o=foo(t);try{o.insertRule(e,o.cssRules.length)}catch{}}else t.appendChild(document.createTextNode(e));this.ctr++},A.flush=function(){this.tags.forEach(function(e){var t;return(t=e.parentNode)==null?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},g})(),cG="-ms-",wuA="-moz-",ps="-webkit-",H2I="comm",Peg="rule",Keg="decl",xoo="@import",v2I="@keyframes",Foo="@layer",Uoo=Math.abs,uuA=String.fromCharCode,Joo=Object.assign;function Poo(g,A){return zw(g,0)^45?(((A<<2^zw(g,0))<<2^zw(g,1))<<2^zw(g,2))<<2^zw(g,3):0}function q2I(g){return g.trim()}function Koo(g,A){return(g=A.exec(g))?g[0]:g}function ks(g,A,I){return g.replace(A,I)}function Leg(g,A){return g.indexOf(A)}function zw(g,A){return g.charCodeAt(A)|0}function PeA(g,A,I){return g.slice(A,I)}function Vx(g){return g.length}function Yeg(g){return g.length}function GuA(g,A){return A.push(g),g}function Loo(g,A){return g.map(A).join("")}var muA=1,MZ=1,T2I=0,kk=0,KD=0,SZ="";function puA(g,A,I,e,t,o,B){return{value:g,root:A,parent:I,type:e,props:t,children:o,line:muA,column:MZ,length:B,return:""}}function KeA(g,A){return Joo(puA("",null,null,"",null,null,0),g,{length:-g.length},A)}function Yoo(){return KD}function _oo(){return KD=kk>0?zw(SZ,--kk):0,MZ--,KD===10&&(MZ=1,muA--),KD}function rS(){return KD=kk<T2I?zw(SZ,kk++):0,MZ++,KD===10&&(MZ=1,muA++),KD}function jx(){return zw(SZ,kk)}function kuA(){return kk}function LeA(g,A){return PeA(SZ,g,A)}function YeA(g){switch(g){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Z2I(g){return muA=MZ=1,T2I=Vx(SZ=g),kk=0,[]}function O2I(g){return SZ="",g}function MuA(g){return q2I(LeA(kk-1,_eg(g===91?g+2:g===40?g+1:g)))}function boo(g){for(;(KD=jx())&&KD<33;)rS();return YeA(g)>2||YeA(KD)>3?"":" "}function Hoo(g,A){for(;--A&&rS()&&!(KD<48||KD>102||KD>57&&KD<65||KD>70&&KD<97););return LeA(g,kuA()+(A<6&&jx()==32&&rS()==32))}function _eg(g){for(;rS();)switch(KD){case g:return kk;case 34:case 39:g!==34&&g!==39&&_eg(KD);break;case 40:g===41&&_eg(g);break;case 92:rS();break}return kk}function voo(g,A){for(;rS()&&g+KD!==57;)if(g+KD===84&&jx()===47)break;return"/*"+LeA(A,kk-1)+"*"+uuA(g===47?g:rS())}function qoo(g){for(;!YeA(jx());)rS();return LeA(g,kk)}function Too(g){return O2I(SuA("",null,null,null,[""],g=Z2I(g),0,[0],g))}function SuA(g,A,I,e,t,o,B,C,Q){for(var i=0,E=0,n=B,s=0,r=0,a=0,c=1,h=1,l=1,D=0,d="",y=t,w=o,u=e,G=d;h;)switch(a=D,D=rS()){case 40:if(a!=108&&zw(G,n-1)==58){Leg(G+=ks(MuA(D),"&","&\f"),"&\f")!=-1&&(l=-1);break}case 34:case 39:case 91:G+=MuA(D);break;case 9:case 10:case 13:case 32:G+=boo(a);break;case 92:G+=Hoo(kuA()-1,7);continue;case 47:switch(jx()){case 42:case 47:GuA(Zoo(voo(rS(),kuA()),A,I),Q);break;default:G+="/"}break;case 123*c:C[i++]=Vx(G)*l;case 125*c:case 59:case 0:switch(D){case 0:case 125:h=0;case 59+E:l==-1&&(G=ks(G,/\f/g,"")),r>0&&Vx(G)-n&&GuA(r>32?V2I(G+";",e,I,n-1):V2I(ks(G," ","")+";",e,I,n-2),Q);break;case 59:G+=";";default:if(GuA(u=W2I(G,A,I,i,E,t,C,d,y=[],w=[],n),o),D===123)if(E===0)SuA(G,A,u,u,y,o,n,C,w);else switch(s===99&&zw(G,3)===110?100:s){case 100:case 108:case 109:case 115:SuA(g,u,u,e&&GuA(W2I(g,u,u,0,0,t,C,d,t,y=[],n),w),t,w,n,C,e?y:w);break;default:SuA(G,u,u,u,[""],w,0,C,w)}}i=E=r=0,c=l=1,d=G="",n=B;break;case 58:n=1+Vx(G),r=a;default:if(c<1){if(D==123)--c;else if(D==125&&c++==0&&_oo()==125)continue}switch(G+=uuA(D),D*c){case 38:l=E>0?1:(G+="\f",-1);break;case 44:C[i++]=(Vx(G)-1)*l,l=1;break;case 64:jx()===45&&(G+=MuA(rS())),s=jx(),E=n=Vx(d=G+=qoo(kuA())),D++;break;case 45:a===45&&Vx(G)==2&&(c=0)}}return o}function W2I(g,A,I,e,t,o,B,C,Q,i,E){for(var n=t-1,s=t===0?o:[""],r=Yeg(s),a=0,c=0,h=0;a<e;++a)for(var l=0,D=PeA(g,n+1,n=Uoo(c=B[a])),d=g;l<r;++l)(d=q2I(c>0?s[l]+" "+D:ks(D,/&\f/g,s[l])))&&(Q[h++]=d);return puA(g,A,I,t===0?Peg:C,Q,i,E)}function Zoo(g,A,I){return puA(g,A,I,H2I,uuA(Yoo()),PeA(g,2,-2),0)}function V2I(g,A,I,e){return puA(g,A,I,Keg,PeA(g,0,e),PeA(g,e+1,-1),e)}function fZ(g,A){for(var I="",e=Yeg(g),t=0;t<e;t++)I+=A(g[t],t,g,A)||"";return I}function Ooo(g,A,I,e){switch(g.type){case Foo:if(g.children.length)break;case xoo:case Keg:return g.return=g.return||g.value;case H2I:return"";case v2I:return g.return=g.value+"{"+fZ(g.children,e)+"}";case Peg:g.value=g.props.join(",")}return Vx(I=fZ(g.children,e))?g.return=g.value+"{"+I+"}":""}function Woo(g){var A=Yeg(g);return function(I,e,t,o){for(var B="",C=0;C<A;C++)B+=g[C](I,e,t,o)||"";return B}}function Voo(g){return function(A){A.root||(A=A.return)&&g(A)}}function joo(g){var A=Object.create(null);return function(I){return A[I]===void 0&&(A[I]=g(I)),A[I]}}var zoo=function(A,I,e){for(var t=0,o=0;t=o,o=jx(),t===38&&o===12&&(I[e]=1),!YeA(o);)rS();return LeA(A,kk)},Xoo=function(A,I){var e=-1,t=44;do switch(YeA(t)){case 0:t===38&&jx()===12&&(I[e]=1),A[e]+=zoo(kk-1,I,e);break;case 2:A[e]+=MuA(t);break;case 4:if(t===44){A[++e]=jx()===58?"&\f":"",I[e]=A[e].length;break}default:A[e]+=uuA(t)}while(t=rS());return A},$oo=function(A,I){return O2I(Xoo(Z2I(A),I))},j2I=new WeakMap,ABo=function(A){if(!(A.type!=="rule"||!A.parent||A.length<1)){for(var I=A.value,e=A.parent,t=A.column===e.column&&A.line===e.line;e.type!=="rule";)if(e=e.parent,!e)return;if(!(A.props.length===1&&I.charCodeAt(0)!==58&&!j2I.get(e))&&!t){j2I.set(A,!0);for(var o=[],B=$oo(I,o),C=e.props,Q=0,i=0;Q<B.length;Q++)for(var E=0;E<C.length;E++,i++)A.props[i]=o[Q]?B[Q].replace(/&\f/g,C[E]):C[E]+" "+B[Q]}}},gBo=function(A){if(A.type==="decl"){var I=A.value;I.charCodeAt(0)===108&&I.charCodeAt(2)===98&&(A.return="",A.value="")}};function z2I(g,A){switch(Poo(g,A)){case 5103:return ps+"print-"+g+g;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ps+g+g;case 5349:case 4246:case 4810:case 6968:case 2756:return ps+g+wuA+g+cG+g+g;case 6828:case 4268:return ps+g+cG+g+g;case 6165:return ps+g+cG+"flex-"+g+g;case 5187:return ps+g+ks(g,/(\w+).+(:[^]+)/,ps+"box-$1$2"+cG+"flex-$1$2")+g;case 5443:return ps+g+cG+"flex-item-"+ks(g,/flex-|-self/,"")+g;case 4675:return ps+g+cG+"flex-line-pack"+ks(g,/align-content|flex-|-self/,"")+g;case 5548:return ps+g+cG+ks(g,"shrink","negative")+g;case 5292:return ps+g+cG+ks(g,"basis","preferred-size")+g;case 6060:return ps+"box-"+ks(g,"-grow","")+ps+g+cG+ks(g,"grow","positive")+g;case 4554:return ps+ks(g,/([^-])(transform)/g,"$1"+ps+"$2")+g;case 6187:return ks(ks(ks(g,/(zoom-|grab)/,ps+"$1"),/(image-set)/,ps+"$1"),g,"")+g;case 5495:case 3959:return ks(g,/(image-set\([^]*)/,ps+"$1$`$1");case 4968:return ks(ks(g,/(.+:)(flex-)?(.*)/,ps+"box-pack:$3"+cG+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ps+g+g;case 4095:case 3583:case 4068:case 2532:return ks(g,/(.+)-inline(.+)/,ps+"$1$2")+g;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Vx(g)-1-A>6)switch(zw(g,A+1)){case 109:if(zw(g,A+4)!==45)break;case 102:return ks(g,/(.+:)(.+)-([^]+)/,"$1"+ps+"$2-$3$1"+wuA+(zw(g,A+3)==108?"$3":"$2-$3"))+g;case 115:return~Leg(g,"stretch")?z2I(ks(g,"stretch","fill-available"),A)+g:g}break;case 4949:if(zw(g,A+1)!==115)break;case 6444:switch(zw(g,Vx(g)-3-(~Leg(g,"!important")&&10))){case 107:return ks(g,":",":"+ps)+g;case 101:return ks(g,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ps+(zw(g,14)===45?"inline-":"")+"box$3$1"+ps+"$2$3$1"+cG+"$2box$3")+g}break;case 5936:switch(zw(g,A+11)){case 114:return ps+g+cG+ks(g,/[svh]\w+-[tblr]{2}/,"tb")+g;case 108:return ps+g+cG+ks(g,/[svh]\w+-[tblr]{2}/,"tb-rl")+g;case 45:return ps+g+cG+ks(g,/[svh]\w+-[tblr]{2}/,"lr")+g}return ps+g+cG+g+g}return g}var IBo=function(A,I,e,t){if(A.length>-1&&!A.return)switch(A.type){case Keg:A.return=z2I(A.value,A.length);break;case v2I:return fZ([KeA(A,{value:ks(A.value,"@","@"+ps)})],t);case Peg:if(A.length)return Loo(A.props,function(o){switch(Koo(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return fZ([KeA(A,{props:[ks(o,/:(read-\w+)/,":"+wuA+"$1")]})],t);case"::placeholder":return fZ([KeA(A,{props:[ks(o,/:(plac\w+)/,":"+ps+"input-$1")]}),KeA(A,{props:[ks(o,/:(plac\w+)/,":"+wuA+"$1")]}),KeA(A,{props:[ks(o,/:(plac\w+)/,cG+"input-$1")]})],t)}return""})}},eBo=[IBo],tBo=function(A){var I=A.key;if(I==="css"){var e=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(e,function(c){var h=c.getAttribute("data-emotion");h.indexOf(" ")!==-1&&(document.head.appendChild(c),c.setAttribute("data-s",""))})}var t=A.stylisPlugins||eBo,o={},B,C=[];B=A.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+I+' "]'),function(c){for(var h=c.getAttribute("data-emotion").split(" "),l=1;l<h.length;l++)o[h[l]]=!0;C.push(c)});var Q,i=[ABo,gBo];{var E,n=[Ooo,Voo(function(c){E.insert(c)})],s=Woo(i.concat(t,n)),r=function(h){return fZ(Too(h),s)};Q=function(h,l,D,d){E=D,r(h?h+"{"+l.styles+"}":l.styles),d&&(a.inserted[l.name]=!0)}}var a={key:I,sheet:new Noo({key:I,container:B,nonce:A.nonce,speedy:A.speedy,prepend:A.prepend,insertionPoint:A.insertionPoint}),nonce:A.nonce,inserted:o,registered:{},insert:Q};return a.sheet.hydrate(C),a};function oBo(g){for(var A=0,I,e=0,t=g.length;t>=4;++e,t-=4)I=g.charCodeAt(e)&255|(g.charCodeAt(++e)&255)<<8|(g.charCodeAt(++e)&255)<<16|(g.charCodeAt(++e)&255)<<24,I=(I&65535)*1540483477+((I>>>16)*59797<<16),I^=I>>>24,A=(I&65535)*1540483477+((I>>>16)*59797<<16)^(A&65535)*1540483477+((A>>>16)*59797<<16);switch(t){case 3:A^=(g.charCodeAt(e+2)&255)<<16;case 2:A^=(g.charCodeAt(e+1)&255)<<8;case 1:A^=g.charCodeAt(e)&255,A=(A&65535)*1540483477+((A>>>16)*59797<<16)}return A^=A>>>13,A=(A&65535)*1540483477+((A>>>16)*59797<<16),((A^A>>>15)>>>0).toString(36)}var BBo={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},CBo=/[A-Z]|^ms/g,QBo=/_EMO_([^_]+?)_([^]*?)_EMO_/g,X2I=function(A){return A.charCodeAt(1)===45},$2I=function(A){return A!=null&&typeof A!="boolean"},beg=joo(function(g){return X2I(g)?g:g.replace(CBo,"-$&").toLowerCase()}),AfI=function(A,I){switch(A){case"animation":case"animationName":if(typeof I=="string")return I.replace(QBo,function(e,t,o){return $3={name:t,styles:o,next:$3},t})}return BBo[A]!==1&&!X2I(A)&&typeof I=="number"&&I!==0?I+"px":I};function fuA(g,A,I){if(I==null)return"";var e=I;if(e.__emotion_styles!==void 0)return e;switch(typeof I){case"boolean":return"";case"object":{var t=I;if(t.anim===1)return $3={name:t.name,styles:t.styles,next:$3},t.name;var o=I;if(o.styles!==void 0){var B=o.next;if(B!==void 0)for(;B!==void 0;)$3={name:B.name,styles:B.styles,next:$3},B=B.next;var C=o.styles+";";return C}return iBo(g,A,I)}}var Q=I;if(A==null)return Q;var i=A[Q];return i!==void 0?i:Q}function iBo(g,A,I){var e="";if(Array.isArray(I))for(var t=0;t<I.length;t++)e+=fuA(g,A,I[t])+";";else for(var o in I){var B=I[o];if(typeof B!="object"){var C=B;A!=null&&A[C]!==void 0?e+=o+"{"+A[C]+"}":$2I(C)&&(e+=beg(o)+":"+AfI(o,C)+";")}else if(Array.isArray(B)&&typeof B[0]=="string"&&(A==null||A[B[0]]===void 0))for(var Q=0;Q<B.length;Q++)$2I(B[Q])&&(e+=beg(o)+":"+AfI(o,B[Q])+";");else{var i=fuA(g,A,B);switch(o){case"animation":case"animationName":{e+=beg(o)+":"+i+";";break}default:e+=o+"{"+i+"}"}}}return e}var gfI=/label:\s*([^\s;{]+)\s*(;|$)/g,$3;function Heg(g,A,I){if(g.length===1&&typeof g[0]=="object"&&g[0]!==null&&g[0].styles!==void 0)return g[0];var e=!0,t="";$3=void 0;var o=g[0];if(o==null||o.raw===void 0)e=!1,t+=fuA(I,A,o);else{var B=o;t+=B[0]}for(var C=1;C<g.length;C++)if(t+=fuA(I,A,g[C]),e){var Q=o;t+=Q[C]}gfI.lastIndex=0;for(var i="",E;(E=gfI.exec(t))!==null;)i+="-"+E[1];var n=oBo(t)+i;return{name:n,styles:t,next:$3}}function IfI(g,A,I){var e="";return I.split(" ").forEach(function(t){g[t]!==void 0?A.push(g[t]+";"):t&&(e+=t+" ")}),e}var EBo=function(A,I,e){var t=A.key+"-"+I.name;A.registered[t]===void 0&&(A.registered[t]=I.styles)},nBo=function(A,I,e){EBo(A,I);var t=A.key+"-"+I.name;if(A.inserted[I.name]===void 0){var o=I;do A.insert(I===o?"."+t:"",o,A.sheet,!0),o=o.next;while(o!==void 0)}};function efI(g,A){if(g.inserted[A.name]===void 0)return g.insert("",A,g.sheet,!0)}function tfI(g,A,I){var e=[],t=IfI(g,e,I);return e.length<2?I:t+A(e)}var sBo=function(A){var I=tBo(A);I.sheet.speedy=function(C){this.isSpeedy=C},I.compat=!0;var e=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=Heg(i,I.registered,void 0);return nBo(I,n),I.key+"-"+n.name},t=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=Heg(i,I.registered),s="animation-"+n.name;return efI(I,{name:n.name,styles:"@keyframes "+s+"{"+n.styles+"}"}),s},o=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];var n=Heg(i,I.registered);efI(I,n)},B=function(){for(var Q=arguments.length,i=new Array(Q),E=0;E<Q;E++)i[E]=arguments[E];return tfI(I.registered,e,aBo(i))};return{css:e,cx:B,injectGlobal:o,keyframes:t,hydrate:function(Q){Q.forEach(function(i){I.inserted[i]=!0})},flush:function(){I.registered={},I.inserted={},I.sheet.flush()},sheet:I.sheet,cache:I,getRegisteredStyles:IfI.bind(null,I.registered),merge:tfI.bind(null,I.registered,e)}},aBo=function g(A){for(var I="",e=0;e<A.length;e++){var t=A[e];if(t!=null){var o=void 0;switch(typeof t){case"boolean":break;case"object":{if(Array.isArray(t))o=g(t);else{o="";for(var B in t)t[B]&&B&&(o&&(o+=" "),o+=B)}break}default:o=t}o&&(I&&(I+=" "),I+=o)}}return I},rBo=sBo({key:"css"}),RZ=rBo.css,cBo=Object.create,veg=Object.defineProperty,hBo=Object.getOwnPropertyDescriptor,qeg=Object.getOwnPropertyNames,lBo=Object.getPrototypeOf,DBo=Object.prototype.hasOwnProperty,dBo=(g,A)=>function(){return g&&(A=(0,g[qeg(g)[0]])(g=0)),A},Teg=(g,A)=>function(){return A||(0,g[qeg(g)[0]])((A={exports:{}}).exports,A),A.exports},yBo=(g,A)=>{for(var I in A)veg(g,I,{get:A[I],enumerable:!0})},wBo=(g,A,I,e)=>{if(A&&typeof A=="object"||typeof A=="function")for(let t of qeg(A))!DBo.call(g,t)&&t!==I&&veg(g,t,{get:()=>A[t],enumerable:!(e=hBo(A,t))||e.enumerable});return g},ofI=(g,A,I)=>(I=g!=null?cBo(lBo(g)):{},wBo(A||!g||!g.__esModule?veg(I,"default",{value:g,enumerable:!0}):I,g)),uBo=Teg({"node_modules/toggle-selection/index.js"(g,A){A.exports=function(){var I=document.getSelection();if(!I.rangeCount)return function(){};for(var e=document.activeElement,t=[],o=0;o<I.rangeCount;o++)t.push(I.getRangeAt(o));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return I.removeAllRanges(),function(){I.type==="Caret"&&I.removeAllRanges(),I.rangeCount||t.forEach(function(B){I.addRange(B)}),e&&e.focus()}}}}),GBo=Teg({"node_modules/copy-to-clipboard/index.js"(g,A){var I=uBo(),e={"text/plain":"Text","text/html":"Url",default:"Text"},t="Copy to clipboard: #{key}, Enter";function o(C){var Q=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return C.replace(/#{\s*key\s*}/g,Q)}function B(C,Q){var i,E,n,s,r,a,c=!1;Q||(Q={}),i=Q.debug||!1;try{n=I(),s=document.createRange(),r=document.getSelection(),a=document.createElement("span"),a.textContent=C,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(l){if(l.stopPropagation(),Q.format)if(l.preventDefault(),typeof l.clipboardData>"u"){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var D=e[Q.format]||e.default;window.clipboardData.setData(D,C)}else l.clipboardData.clearData(),l.clipboardData.setData(Q.format,C);Q.onCopy&&(l.preventDefault(),Q.onCopy(l.clipboardData))}),document.body.appendChild(a),s.selectNodeContents(a),r.addRange(s);var h=document.execCommand("copy");if(!h)throw new Error("copy command was unsuccessful");c=!0}catch(l){i&&console.error("unable to copy using execCommand: ",l),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(Q.format||"text",C),Q.onCopy&&Q.onCopy(window.clipboardData),c=!0}catch(D){i&&console.error("unable to copy using clipboardData: ",D),i&&console.error("falling back to prompt"),E=o("message"in Q?Q.message:t),window.prompt(E,C)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(s):r.removeAllRanges()),a&&document.body.removeChild(a),n()}return c}A.exports=B}}),mBo=Teg({"node_modules/svgson/dist/svgson.umd.js"(g,A){(function(I,e){typeof g=="object"&&typeof A<"u"?A.exports=e():typeof define=="function"&&define.amd?define(e):(I=typeof globalThis<"u"?globalThis:I||self,I.svgson=e())})(g,function(){var I=function(Z){return Z!=null&&(e(Z)||t(Z)||!!Z._isBuffer)};function e(Z){return!!Z.constructor&&typeof Z.constructor.isBuffer=="function"&&Z.constructor.isBuffer(Z)}function t(Z){return typeof Z.readFloatLE=="function"&&typeof Z.slice=="function"&&e(Z.slice(0,0))}var o=Object.prototype.toString,B=function(O){if(typeof O>"u")return"undefined";if(O===null)return"null";if(O===!0||O===!1||O instanceof Boolean)return"boolean";if(typeof O=="string"||O instanceof String)return"string";if(typeof O=="number"||O instanceof Number)return"number";if(typeof O=="function"||O instanceof Function)return"function";if(typeof Array.isArray<"u"&&Array.isArray(O))return"array";if(O instanceof RegExp)return"regexp";if(O instanceof Date)return"date";var AA=o.call(O);return AA==="[object RegExp]"?"regexp":AA==="[object Date]"?"date":AA==="[object Arguments]"?"arguments":AA==="[object Error]"?"error":I(O)?"buffer":AA==="[object Set]"?"set":AA==="[object WeakSet]"?"weakset":AA==="[object Map]"?"map":AA==="[object WeakMap]"?"weakmap":AA==="[object Symbol]"?"symbol":AA==="[object Int8Array]"?"int8array":AA==="[object Uint8Array]"?"uint8array":AA==="[object Uint8ClampedArray]"?"uint8clampedarray":AA==="[object Int16Array]"?"int16array":AA==="[object Uint16Array]"?"uint16array":AA==="[object Int32Array]"?"int32array":AA==="[object Uint32Array]"?"uint32array":AA==="[object Float32Array]"?"float32array":AA==="[object Float64Array]"?"float64array":"object"};function C(Z,O){return O={exports:{}},Z(O,O.exports),O.exports}var Q=C(function(Z){(function(){function O(AA,tA){if(typeof tA!="function")return AA;var eA={};for(var QA in AA)Object.prototype.hasOwnProperty.call(AA,QA)&&(eA[tA(QA,AA[QA])||QA]=AA[QA]);return eA}Z.exports?Z.exports=O:window.rename=O})()}),i=function Z(O,AA){var tA=B(O);if(tA!=="object"&&tA!=="array")throw new Error("expected an object");var eA=[];tA==="object"&&(O=Q(O,AA),eA={});for(var QA in O)if(O.hasOwnProperty(QA)){var sA=O[QA];B(sA)==="object"||B(sA)==="array"?eA[QA]=Z(sA,AA):eA[QA]=sA}return eA},E=C(function(Z){var O=Object.prototype.hasOwnProperty,AA="~";function tA(){}Object.create&&(tA.prototype=Object.create(null),new tA().__proto__||(AA=!1));function eA(sA,DA,CA){this.fn=sA,this.context=DA,this.once=CA||!1}function QA(){this._events=new tA,this._eventsCount=0}QA.prototype.eventNames=function(){var DA=[],CA,hA;if(this._eventsCount===0)return DA;for(hA in CA=this._events)O.call(CA,hA)&&DA.push(AA?hA.slice(1):hA);return Object.getOwnPropertySymbols?DA.concat(Object.getOwnPropertySymbols(CA)):DA},QA.prototype.listeners=function(DA,CA){var hA=AA?AA+DA:DA,nA=this._events[hA];if(CA)return!!nA;if(!nA)return[];if(nA.fn)return[nA.fn];for(var cA=0,fA=nA.length,xA=new Array(fA);cA<fA;cA++)xA[cA]=nA[cA].fn;return xA},QA.prototype.emit=function(DA,CA,hA,nA,cA,fA){var xA=AA?AA+DA:DA;if(!this._events[xA])return!1;var rA=this._events[xA],NA=arguments.length,RA,UA;if(rA.fn){switch(rA.once&&this.removeListener(DA,rA.fn,void 0,!0),NA){case 1:return rA.fn.call(rA.context),!0;case 2:return rA.fn.call(rA.context,CA),!0;case 3:return rA.fn.call(rA.context,CA,hA),!0;case 4:return rA.fn.call(rA.context,CA,hA,nA),!0;case 5:return rA.fn.call(rA.context,CA,hA,nA,cA),!0;case 6:return rA.fn.call(rA.context,CA,hA,nA,cA,fA),!0}for(UA=1,RA=new Array(NA-1);UA<NA;UA++)RA[UA-1]=arguments[UA];rA.fn.apply(rA.context,RA)}else{var qA=rA.length,KA;for(UA=0;UA<qA;UA++)switch(rA[UA].once&&this.removeListener(DA,rA[UA].fn,void 0,!0),NA){case 1:rA[UA].fn.call(rA[UA].context);break;case 2:rA[UA].fn.call(rA[UA].context,CA);break;case 3:rA[UA].fn.call(rA[UA].context,CA,hA);break;case 4:rA[UA].fn.call(rA[UA].context,CA,hA,nA);break;default:if(!RA)for(KA=1,RA=new Array(NA-1);KA<NA;KA++)RA[KA-1]=arguments[KA];rA[UA].fn.apply(rA[UA].context,RA)}}return!0},QA.prototype.on=function(DA,CA,hA){var nA=new eA(CA,hA||this),cA=AA?AA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],nA]:this._events[cA].push(nA):(this._events[cA]=nA,this._eventsCount++),this},QA.prototype.once=function(DA,CA,hA){var nA=new eA(CA,hA||this,!0),cA=AA?AA+DA:DA;return this._events[cA]?this._events[cA].fn?this._events[cA]=[this._events[cA],nA]:this._events[cA].push(nA):(this._events[cA]=nA,this._eventsCount++),this},QA.prototype.removeListener=function(DA,CA,hA,nA){var cA=AA?AA+DA:DA;if(!this._events[cA])return this;if(!CA)return--this._eventsCount===0?this._events=new tA:delete this._events[cA],this;var fA=this._events[cA];if(fA.fn)fA.fn===CA&&(!nA||fA.once)&&(!hA||fA.context===hA)&&(--this._eventsCount===0?this._events=new tA:delete this._events[cA]);else{for(var xA=0,rA=[],NA=fA.length;xA<NA;xA++)(fA[xA].fn!==CA||nA&&!fA[xA].once||hA&&fA[xA].context!==hA)&&rA.push(fA[xA]);rA.length?this._events[cA]=rA.length===1?rA[0]:rA:--this._eventsCount===0?this._events=new tA:delete this._events[cA]}return this},QA.prototype.removeAllListeners=function(DA){var CA;return DA?(CA=AA?AA+DA:DA,this._events[CA]&&(--this._eventsCount===0?this._events=new tA:delete this._events[CA])):(this._events=new tA,this._eventsCount=0),this},QA.prototype.off=QA.prototype.removeListener,QA.prototype.addListener=QA.prototype.on,QA.prototype.setMaxListeners=function(){return this},QA.prefixed=AA,QA.EventEmitter=QA,Z.exports=QA});function n(Z,O,AA){return O in Z?Object.defineProperty(Z,O,{value:AA,enumerable:!0,configurable:!0,writable:!0}):Z[O]=AA,Z}var s=function(){},r={data:"state-data",cdata:"state-cdata",tagBegin:"state-tag-begin",tagName:"state-tag-name",tagEnd:"state-tag-end",attributeNameStart:"state-attribute-name-start",attributeName:"state-attribute-name",attributeNameEnd:"state-attribute-name-end",attributeValueBegin:"state-attribute-value-begin",attributeValue:"state-attribute-value"},a={lt:"action-lt",gt:"action-gt",space:"action-space",equal:"action-equal",quote:"action-quote",slash:"action-slash",char:"action-char",error:"action-error"},c={text:"text",openTag:"open-tag",closeTag:"close-tag",attributeName:"attribute-name",attributeValue:"attribute-value"},h={" ":a.space," ":a.space,"\n":a.space,"\r":a.space,"<":a.lt,">":a.gt,'"':a.quote,"'":a.quote,"=":a.equal,"/":a.slash},l=function(O){return h[O]||a.char},D=function(O){var AA,tA,eA,QA,sA,DA,CA,hA,nA,cA;O=Object.assign({debug:!1},O);var fA=new E,xA=r.data,rA="",NA="",RA="",UA="",qA="",KA="",mA=function(bA,WA){if(!(NA[0]==="?"||NA[0]==="!")){var Eg={type:bA,value:WA};O.debug&&console.log("emit:",Eg),fA.emit("data",Eg)}};fA.stateMachine=(cA={},n(cA,r.data,(AA={},n(AA,a.lt,function(){rA.trim()&&mA(c.text,rA),NA="",qA=!1,xA=r.tagBegin}),n(AA,a.char,function(dA){rA+=dA}),AA)),n(cA,r.cdata,n({},a.char,function(dA){rA+=dA,rA.substr(-3)==="]]>"&&(mA(c.text,rA.slice(0,-3)),rA="",xA=r.data)})),n(cA,r.tagBegin,(tA={},n(tA,a.space,s),n(tA,a.char,function(dA){NA=dA,xA=r.tagName}),n(tA,a.slash,function(){NA="",qA=!0}),tA)),n(cA,r.tagName,(eA={},n(eA,a.space,function(){qA?xA=r.tagEnd:(xA=r.attributeNameStart,mA(c.openTag,NA))}),n(eA,a.gt,function(){mA(qA?c.closeTag:c.openTag,NA),rA="",xA=r.data}),n(eA,a.slash,function(){xA=r.tagEnd,mA(c.openTag,NA)}),n(eA,a.char,function(dA){NA+=dA,NA==="![CDATA["&&(xA=r.cdata,rA="",NA="")}),eA)),n(cA,r.tagEnd,(QA={},n(QA,a.gt,function(){mA(c.closeTag,NA),rA="",xA=r.data}),n(QA,a.char,s),QA)),n(cA,r.attributeNameStart,(sA={},n(sA,a.char,function(dA){RA=dA,xA=r.attributeName}),n(sA,a.gt,function(){rA="",xA=r.data}),n(sA,a.space,s),n(sA,a.slash,function(){qA=!0,xA=r.tagEnd}),sA)),n(cA,r.attributeName,(DA={},n(DA,a.space,function(){xA=r.attributeNameEnd}),n(DA,a.equal,function(){mA(c.attributeName,RA),xA=r.attributeValueBegin}),n(DA,a.gt,function(){UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),rA="",xA=r.data}),n(DA,a.slash,function(){qA=!0,UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),xA=r.tagEnd}),n(DA,a.char,function(dA){RA+=dA}),DA)),n(cA,r.attributeNameEnd,(CA={},n(CA,a.space,s),n(CA,a.equal,function(){mA(c.attributeName,RA),xA=r.attributeValueBegin}),n(CA,a.gt,function(){UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),rA="",xA=r.data}),n(CA,a.char,function(dA){UA="",mA(c.attributeName,RA),mA(c.attributeValue,UA),RA=dA,xA=r.attributeName}),CA)),n(cA,r.attributeValueBegin,(hA={},n(hA,a.space,s),n(hA,a.quote,function(dA){KA=dA,UA="",xA=r.attributeValue}),n(hA,a.gt,function(){UA="",mA(c.attributeValue,UA),rA="",xA=r.data}),n(hA,a.char,function(dA){KA="",UA=dA,xA=r.attributeValue}),hA)),n(cA,r.attributeValue,(nA={},n(nA,a.space,function(dA){KA?UA+=dA:(mA(c.attributeValue,UA),xA=r.attributeNameStart)}),n(nA,a.quote,function(dA){KA===dA?(mA(c.attributeValue,UA),xA=r.attributeNameStart):UA+=dA}),n(nA,a.gt,function(dA){KA?UA+=dA:(mA(c.attributeValue,UA),rA="",xA=r.data)}),n(nA,a.slash,function(dA){KA?UA+=dA:(mA(c.attributeValue,UA),qA=!0,xA=r.tagEnd)}),n(nA,a.char,function(dA){UA+=dA}),nA)),cA);var YA=function(bA){O.debug&&console.log(xA,bA);var WA=fA.stateMachine[xA],Eg=WA[l(bA)]||WA[a.error]||WA[a.char];Eg(bA)};return fA.write=function(dA){for(var bA=dA.length,WA=0;WA<bA;WA++)YA(dA[WA])},fA},d={State:r,Action:a,Type:c,create:D},y=d.Type,w={element:"element",text:"text"},u=function(O){return Object.assign({name:"",type:w.element,value:"",parent:null,attributes:{},children:[]},O)},G=function(O){O=Object.assign({stream:!1,parentNodes:!0,doneEvent:"done",tagPrefix:"tag:",emitTopLevelOnly:!1,debug:!1},O);var AA=void 0,tA=void 0,eA=void 0,QA=void 0,sA=new E,DA=function(hA){switch(hA.type){case y.openTag:if(eA===null)eA=tA,eA.name=hA.value;else{var nA=u({name:hA.value,parent:eA});eA.children.push(nA),eA=nA}break;case y.closeTag:var cA=eA.parent;if(O.parentNodes||(eA.parent=null),eA.name!==hA.value)break;O.stream&&cA===tA&&(tA.children=[],eA.parent=null),(!O.emitTopLevelOnly||cA===tA)&&(sA.emit(O.tagPrefix+eA.name,eA),sA.emit("tag",eA.name,eA)),eA===tA&&(AA.removeAllListeners("data"),sA.emit(O.doneEvent,eA),tA=null),eA=cA;break;case y.text:eA&&eA.children.push(u({type:w.text,value:hA.value,parent:O.parentNodes?eA:null}));break;case y.attributeName:QA=hA.value,eA.attributes[QA]="";break;case y.attributeValue:eA.attributes[QA]=hA.value;break}};return sA.reset=function(){AA=d.create({debug:O.debug}),AA.on("data",DA),tA=u(),eA=null,QA="",sA.parse=AA.write},sA.reset(),sA},m=function(O,AA){AA=Object.assign({},AA,{stream:!1,tagPrefix:":"});var tA=G(AA),eA=void 0;return tA.on("done",function(QA){eA=QA}),tA.parse(O),eA},p={parseSync:m},k=p.parseSync,S=function(O){var AA=k("<root>".concat(O,"</root>"),{parentNodes:!1}),tA=AA.children&&AA.children.length>0&&AA.children.every(function(eA){return eA.name==="svg"});if(tA)return AA.children.length===1?AA.children[0]:AA.children;throw Error("nothing to parse")},R=function(O){return i(O,function(AA){return N(AA)?AA:x(AA)})},x=function(O){return O.replace(/[-|:]([a-z])/gi,function(AA,tA){return tA.toUpperCase()})},N=function(O){return/^(data|aria)(-\w+)/.test(O)},U=function(O){if(O){var AA=String(O);return/[&<>]/.test(AA)?"<![CDATA[".concat(AA.replace(/]]>/,"]]]]><![CDATA[>"),"]]>"):AA}return""},L=function(O){return String(O).replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},_=function(O){var AA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=AA.transformNode,eA=tA===void 0?function(CA){return CA}:tA,QA=AA.camelcase,sA=QA===void 0?!1:QA,DA=function(hA){var nA;return nA=eA(hA),sA&&(nA=R(nA)),nA};return DA(S(O))};function b(){for(var Z=arguments.length,O=new Array(Z),AA=0;AA<Z;AA++)O[AA]=arguments[AA];return new Promise(function(tA,eA){try{var QA=_.apply(void 0,O);tA(QA)}catch(sA){eA(sA)}})}var q=function Z(O){var AA=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tA=AA.transformAttr,eA=tA===void 0?function(xA,rA,NA){return"".concat(xA,'="').concat(NA(rA),'"')}:tA,QA=AA.transformNode,sA=QA===void 0?function(xA){return xA}:QA,DA=AA.selfClose,CA=DA===void 0?!0:DA;if(Array.isArray(O))return O.map(function(xA){return Z(xA,{transformAttr:eA,selfClose:CA,transformNode:sA})}).join("");var hA=sA(O);if(hA.type==="text")return U(hA.value);var nA="";for(var cA in hA.attributes){var fA=eA(cA,hA.attributes[cA],L,hA.name);nA+=fA?" ".concat(fA):""}return hA.children&&hA.children.length>0||!CA?"<".concat(hA.name).concat(nA,">").concat(Z(hA.children,{transformAttr:eA,transformNode:sA,selfClose:CA}),"</").concat(hA.name,">"):"<".concat(hA.name).concat(nA,"/>")},j=Object.assign({},{parse:b,parseSync:_,stringify:q});return j})}}),BfI={};yBo(BfI,{default:()=>pBo});function pBo(){const g=URL.createObjectURL(new Blob(['"use strict";(()=>{var n4=Object.create;var z0=Object.defineProperty;var r4=Object.getOwnPropertyDescriptor;var i4=Object.getOwnPropertyNames;var o4=Object.getPrototypeOf,s4=Object.prototype.hasOwnProperty;var l4=(y,x,e)=>x in y?z0(y,x,{enumerable:!0,configurable:!0,writable:!0,value:e}):y[x]=e;var a4=(y,x)=>()=>(x||y((x={exports:{}}).exports,x),x.exports);var c4=(y,x,e,r)=>{if(x&&typeof x=="object"||typeof x=="function")for(let o of i4(x))!s4.call(y,o)&&o!==e&&z0(y,o,{get:()=>x[o],enumerable:!(r=r4(x,o))||r.enumerable});return y};var u4=(y,x,e)=>(e=y!=null?n4(o4(y)):{},c4(x||!y||!y.__esModule?z0(e,"default",{value:y,enumerable:!0}):e,y));var U=(y,x,e)=>l4(y,typeof x!="symbol"?x+"":x,e);var d5=a4((X0,D0)=>{"use strict";(function(y,x){typeof X0=="object"&&typeof D0<"u"?D0.exports=x():typeof define=="function"&&define.amd?define(x):(y=typeof globalThis<"u"?globalThis:y||self,y.polygonClipping=x())})(X0,function(){"use strict";function y(u,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,l,s,g;return g={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function h(d){return function(I){return m([d,I])}}function m(d){if(i)throw new TypeError("Generator is already executing.");for(;n;)try{if(i=1,l&&(s=d[0]&2?l.return:d[0]?l.throw||((s=l.return)&&s.call(l),0):l.next)&&!(s=s.call(l,d[1])).done)return s;switch(l=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,l=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=t.call(u,n)}catch(I){d=[6,I],l=0}finally{i=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var x=function(){function u(t,n){this.next=null,this.key=t,this.data=n,this.left=null,this.right=null}return u}();function e(u,t){return u>t?1:u<t?-1:0}function r(u,t,n){for(var i=new x(null,null),l=i,s=i;;){var g=n(u,t.key);if(g<0){if(t.left===null)break;if(n(u,t.left.key)<0){var h=t.left;if(t.left=h.right,h.right=t,t=h,t.left===null)break}s.left=t,s=t,t=t.left}else if(g>0){if(t.right===null)break;if(n(u,t.right.key)>0){var h=t.right;if(t.right=h.left,h.left=t,t=h,t.right===null)break}l.right=t,l=t,t=t.right}else break}return l.right=t.left,s.left=t.right,t.left=i.right,t.right=i.left,t}function o(u,t,n,i){var l=new x(u,t);if(n===null)return l.left=l.right=null,l;n=r(u,n,i);var s=i(u,n.key);return s<0?(l.left=n.left,l.right=n,n.left=null):s>=0&&(l.right=n.right,l.left=n,n.right=null),l}function a(u,t,n){var i=null,l=null;if(t){t=r(u,t,n);var s=n(t.key,u);s===0?(i=t.left,l=t.right):s<0?(l=t.right,t.right=null,i=t):(i=t.left,t.left=null,l=t)}return{left:i,right:l}}function c(u,t,n){return t===null?u:(u===null||(t=r(u.key,t,n),t.left=u),t)}function p(u,t,n,i,l){if(u){i(""+t+(n?"\\u2514\\u2500\\u2500 ":"\\u251C\\u2500\\u2500 ")+l(u)+`\n`);var s=t+(n?" ":"\\u2502 ");u.left&&p(u.left,s,!1,i,l),u.right&&p(u.right,s,!0,i,l)}}var L=function(){function u(t){t===void 0&&(t=e),this._root=null,this._size=0,this._comparator=t}return u.prototype.insert=function(t,n){return this._size++,this._root=o(t,n,this._root,this._comparator)},u.prototype.add=function(t,n){var i=new x(t,n);this._root===null&&(i.left=i.right=null,this._size++,this._root=i);var l=this._comparator,s=r(t,this._root,l),g=l(t,s.key);return g===0?this._root=s:(g<0?(i.left=s.left,i.right=s,s.left=null):g>0&&(i.right=s.right,i.left=s,s.right=null),this._size++,this._root=i),this._root},u.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},u.prototype._remove=function(t,n,i){var l;if(n===null)return null;n=r(t,n,i);var s=i(t,n.key);return s===0?(n.left===null?l=n.right:(l=r(t,n.left,i),l.right=n.right),this._size--,l):n},u.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=r(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},u.prototype.findStatic=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return n;l<0?n=n.left:n=n.right}return null},u.prototype.find=function(t){return this._root&&(this._root=r(t,this._root,this._comparator),this._comparator(t,this._root.key)!==0)?null:this._root},u.prototype.contains=function(t){for(var n=this._root,i=this._comparator;n;){var l=i(t,n.key);if(l===0)return!0;l<0?n=n.left:n=n.right}return!1},u.prototype.forEach=function(t,n){for(var i=this._root,l=[],s=!1;!s;)i!==null?(l.push(i),i=i.left):l.length!==0?(i=l.pop(),t.call(n,i),i=i.right):s=!0;return this},u.prototype.range=function(t,n,i,l){for(var s=[],g=this._comparator,h=this._root,m;s.length!==0||h;)if(h)s.push(h),h=h.left;else{if(h=s.pop(),m=g(h.key,n),m>0)break;if(g(h.key,t)>=0&&i.call(l,h))return this;h=h.right}return this},u.prototype.keys=function(){var t=[];return this.forEach(function(n){var i=n.key;return t.push(i)}),t},u.prototype.values=function(){var t=[];return this.forEach(function(n){var i=n.data;return t.push(i)}),t},u.prototype.min=function(){return this._root?this.minNode(this._root).key:null},u.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},u.prototype.minNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.left;)t=t.left;return t},u.prototype.maxNode=function(t){if(t===void 0&&(t=this._root),t)for(;t.right;)t=t.right;return t},u.prototype.at=function(t){for(var n=this._root,i=!1,l=0,s=[];!i;)if(n)s.push(n),n=n.left;else if(s.length>0){if(n=s.pop(),l===t)return n;l++,n=n.right}else i=!0;return null},u.prototype.next=function(t){var n=this._root,i=null;if(t.right){for(i=t.right;i.left;)i=i.left;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?(i=n,n=n.left):n=n.right}return i},u.prototype.prev=function(t){var n=this._root,i=null;if(t.left!==null){for(i=t.left;i.right;)i=i.right;return i}for(var l=this._comparator;n;){var s=l(t.key,n.key);if(s===0)break;s<0?n=n.left:(i=n,n=n.right)}return i},u.prototype.clear=function(){return this._root=null,this._size=0,this},u.prototype.toList=function(){return R(this._root)},u.prototype.load=function(t,n,i){n===void 0&&(n=[]),i===void 0&&(i=!1);var l=t.length,s=this._comparator;if(i&&b(t,n,0,l-1,s),this._root===null)this._root=M(t,n,0,l),this._size=l;else{var g=S(this.toList(),A(t,n),s);l=this._size+l,this._root=O({head:g},0,l)}return this},u.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(u.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),u.prototype.toString=function(t){t===void 0&&(t=function(i){return String(i.key)});var n=[];return p(this._root,"",!0,function(i){return n.push(i)},t),n.join("")},u.prototype.update=function(t,n,i){var l=this._comparator,s=a(t,this._root,l),g=s.left,h=s.right;l(t,n)<0?h=o(n,i,h,l):g=o(n,i,g,l),this._root=c(g,h,l)},u.prototype.split=function(t){return a(t,this._root,this._comparator)},u.prototype[Symbol.iterator]=function(){var t,n,i;return y(this,function(l){switch(l.label){case 0:t=this._root,n=[],i=!1,l.label=1;case 1:return i?[3,6]:t===null?[3,2]:(n.push(t),t=t.left,[3,5]);case 2:return n.length===0?[3,4]:(t=n.pop(),[4,t]);case 3:return l.sent(),t=t.right,[3,5];case 4:i=!0,l.label=5;case 5:return[3,1];case 6:return[2]}})},u}();function M(u,t,n,i){var l=i-n;if(l>0){var s=n+Math.floor(l/2),g=u[s],h=t[s],m=new x(g,h);return m.left=M(u,t,n,s),m.right=M(u,t,s+1,i),m}return null}function A(u,t){for(var n=new x(null,null),i=n,l=0;l<u.length;l++)i=i.next=new x(u[l],t[l]);return i.next=null,n.next}function R(u){for(var t=u,n=[],i=!1,l=new x(null,null),s=l;!i;)t?(n.push(t),t=t.left):n.length>0?(t=s=s.next=n.pop(),t=t.right):i=!0;return s.next=null,l.next}function O(u,t,n){var i=n-t;if(i>0){var l=t+Math.floor(i/2),s=O(u,t,l),g=u.head;return g.left=s,u.head=u.head.next,g.right=O(u,l+1,n),g}return null}function S(u,t,n){for(var i=new x(null,null),l=i,s=u,g=t;s!==null&&g!==null;)n(s.key,g.key)<0?(l.next=s,s=s.next):(l.next=g,g=g.next),l=l.next;return s!==null?l.next=s:g!==null&&(l.next=g),i.next}function b(u,t,n,i,l){if(!(n>=i)){for(var s=u[n+i>>1],g=n-1,h=i+1;;){do g++;while(l(u[g],s)<0);do h--;while(l(u[h],s)>0);if(g>=h)break;var m=u[g];u[g]=u[h],u[h]=m,m=t[g],t[g]=t[h],t[h]=m}b(u,t,n,h,l),b(u,t,h+1,i,l)}}let _=(u,t)=>u.ll.x<=t.x&&t.x<=u.ur.x&&u.ll.y<=t.y&&t.y<=u.ur.y,k=(u,t)=>{if(t.ur.x<u.ll.x||u.ur.x<t.ll.x||t.ur.y<u.ll.y||u.ur.y<t.ll.y)return null;let n=u.ll.x<t.ll.x?t.ll.x:u.ll.x,i=u.ur.x<t.ur.x?u.ur.x:t.ur.x,l=u.ll.y<t.ll.y?t.ll.y:u.ll.y,s=u.ur.y<t.ur.y?u.ur.y:t.ur.y;return{ll:{x:n,y:l},ur:{x:i,y:s}}},T=Number.EPSILON;T===void 0&&(T=Math.pow(2,-52));let C=T*T,v=(u,t)=>{if(-T<u&&u<T&&-T<t&&t<T)return 0;let n=u-t;return n*n<C*u*t?0:u<t?-1:1};class E{constructor(){this.reset()}reset(){this.xRounder=new z,this.yRounder=new z}round(t,n){return{x:this.xRounder.round(t),y:this.yRounder.round(n)}}}class z{constructor(){this.tree=new L,this.round(0)}round(t){let n=this.tree.add(t),i=this.tree.prev(n);if(i!==null&&v(n.key,i.key)===0)return this.tree.remove(t),i.key;let l=this.tree.next(n);return l!==null&&v(n.key,l.key)===0?(this.tree.remove(t),l.key):t}}let y0=new E,D=11102230246251565e-32,$=134217729,p0=(3+8*D)*D;function g0(u,t,n,i,l){let s,g,h,m,d=t[0],I=i[0],f=0,w=0;I>d==I>-d?(s=d,d=t[++f]):(s=I,I=i[++w]);let P=0;if(f<u&&w<n)for(I>d==I>-d?(g=d+s,h=s-(g-d),d=t[++f]):(g=I+s,h=s-(g-I),I=i[++w]),s=g,h!==0&&(l[P++]=h);f<u&&w<n;)I>d==I>-d?(g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f]):(g=s+I,m=g-s,h=s-(g-m)+(I-m),I=i[++w]),s=g,h!==0&&(l[P++]=h);for(;f<u;)g=s+d,m=g-s,h=s-(g-m)+(d-m),d=t[++f],s=g,h!==0&&(l[P++]=h);for(;w<n;)g=s+I,m=g-s,h=s-(g-m)+(I-m),I=i[++w],s=g,h!==0&&(l[P++]=h);return(s!==0||P===0)&&(l[P++]=s),P}function F5(u,t){let n=t[0];for(let i=1;i<u;i++)n+=t[i];return n}function M0(u){return new Float64Array(u)}let W5=(3+16*D)*D,z5=(2+12*D)*D,$5=(9+64*D)*D*D,L0=M0(4),t5=M0(8),e5=M0(12),n5=M0(16),Q=M0(4);function Y5(u,t,n,i,l,s,g){let h,m,d,I,f,w,P,G,N,F,B,W,Z,X,j,H,t0,q,r0=u-l,i0=n-l,o0=t-s,s0=i-s;X=r0*s0,w=$*r0,P=w-(w-r0),G=r0-P,w=$*s0,N=w-(w-s0),F=s0-N,j=G*F-(X-P*N-G*N-P*F),H=o0*i0,w=$*o0,P=w-(w-o0),G=o0-P,w=$*i0,N=w-(w-i0),F=i0-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,L0[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,L0[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,L0[2]=W-(q-f)+(B-f),L0[3]=q;let l0=F5(4,L0),E0=z5*g;if(l0>=E0||-l0>=E0||(f=u-r0,h=u-(r0+f)+(f-l),f=n-i0,d=n-(i0+f)+(f-l),f=t-o0,m=t-(o0+f)+(f-s),f=i-s0,I=i-(s0+f)+(f-s),h===0&&m===0&&d===0&&I===0)||(E0=$5*g+p0*Math.abs(l0),l0+=r0*I+s0*h-(o0*d+i0*m),l0>=E0||-l0>=E0))return l0;X=h*s0,w=$*h,P=w-(w-h),G=h-P,w=$*s0,N=w-(w-s0),F=s0-N,j=G*F-(X-P*N-G*N-P*F),H=m*i0,w=$*m,P=w-(w-m),G=m-P,w=$*i0,N=w-(w-i0),F=i0-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,Q[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,Q[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,Q[2]=W-(q-f)+(B-f),Q[3]=q;let x4=g0(4,L0,4,Q,t5);X=r0*I,w=$*r0,P=w-(w-r0),G=r0-P,w=$*I,N=w-(w-I),F=I-N,j=G*F-(X-P*N-G*N-P*F),H=o0*d,w=$*o0,P=w-(w-o0),G=o0-P,w=$*d,N=w-(w-d),F=d-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,Q[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,Q[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,Q[2]=W-(q-f)+(B-f),Q[3]=q;let t4=g0(x4,t5,4,Q,e5);X=h*I,w=$*h,P=w-(w-h),G=h-P,w=$*I,N=w-(w-I),F=I-N,j=G*F-(X-P*N-G*N-P*F),H=m*d,w=$*m,P=w-(w-m),G=m-P,w=$*d,N=w-(w-d),F=d-N,t0=G*F-(H-P*N-G*N-P*F),B=j-t0,f=j-B,Q[0]=j-(B+f)+(f-t0),W=X+B,f=W-X,Z=X-(W-f)+(B-f),B=Z-H,f=Z-B,Q[1]=Z-(B+f)+(f-H),q=W+B,f=q-W,Q[2]=W-(q-f)+(B-f),Q[3]=q;let e4=g0(t4,e5,4,Q,n5);return n5[e4-1]}function V5(u,t,n,i,l,s){let g=(t-s)*(n-l),h=(u-l)*(i-s),m=g-h,d=Math.abs(g+h);return Math.abs(m)>=W5*d?m:-Y5(u,t,n,i,l,s,d)}let N0=(u,t)=>u.x*t.y-u.y*t.x,r5=(u,t)=>u.x*t.x+u.y*t.y,i5=(u,t,n)=>{let i=V5(u.x,u.y,t.x,t.y,n.x,n.y);return i>0?-1:i<0?1:0},O0=u=>Math.sqrt(r5(u,u)),X5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return N0(l,i)/O0(l)/O0(i)},D5=(u,t,n)=>{let i={x:t.x-u.x,y:t.y-u.y},l={x:n.x-u.x,y:n.y-u.y};return r5(l,i)/O0(l)/O0(i)},o5=(u,t,n)=>t.y===0?null:{x:u.x+t.x/t.y*(n-u.y),y:n},s5=(u,t,n)=>t.x===0?null:{x:n,y:u.y+t.y/t.x*(n-u.x)},Z5=(u,t,n,i)=>{if(t.x===0)return s5(n,i,u.x);if(i.x===0)return s5(u,t,n.x);if(t.y===0)return o5(n,i,u.y);if(i.y===0)return o5(u,t,n.y);let l=N0(t,i);if(l==0)return null;let s={x:n.x-u.x,y:n.y-u.y},g=N0(s,t)/l,h=N0(s,i)/l,m=u.x+h*t.x,d=n.x+g*i.x,I=u.y+h*t.y,f=n.y+g*i.y,w=(m+d)/2,P=(I+f)/2;return{x:w,y:P}};class x0{static compare(t,n){let i=x0.comparePoints(t.point,n.point);return i!==0?i:(t.point!==n.point&&t.link(n),t.isLeft!==n.isLeft?t.isLeft?1:-1:c0.compare(t.segment,n.segment))}static comparePoints(t,n){return t.x<n.x?-1:t.x>n.x?1:t.y<n.y?-1:t.y>n.y?1:0}constructor(t,n){t.events===void 0?t.events=[this]:t.events.push(this),this.point=t,this.isLeft=n}link(t){if(t.point===this.point)throw new Error("Tried to link already linked events");let n=t.point.events;for(let i=0,l=n.length;i<l;i++){let s=n[i];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){let t=this.point.events.length;for(let n=0;n<t;n++){let i=this.point.events[n];if(i.segment.consumedBy===void 0)for(let l=n+1;l<t;l++){let s=this.point.events[l];s.consumedBy===void 0&&i.otherSE.point.events===s.otherSE.point.events&&i.segment.consume(s.segment)}}}getAvailableLinkedEvents(){let t=[];for(let n=0,i=this.point.events.length;n<i;n++){let l=this.point.events[n];l!==this&&!l.segment.ringOut&&l.segment.isInResult()&&t.push(l)}return t}getLeftmostComparator(t){let n=new Map,i=l=>{let s=l.otherSE;n.set(l,{sine:X5(this.point,t.point,s.point),cosine:D5(this.point,t.point,s.point)})};return(l,s)=>{n.has(l)||i(l),n.has(s)||i(s);let{sine:g,cosine:h}=n.get(l),{sine:m,cosine:d}=n.get(s);return g>=0&&m>=0?h<d?1:h>d?-1:0:g<0&&m<0?h<d?-1:h>d?1:0:m<g?-1:m>g?1:0}}}let j5=0;class c0{static compare(t,n){let i=t.leftSE.point.x,l=n.leftSE.point.x,s=t.rightSE.point.x,g=n.rightSE.point.x;if(g<i)return 1;if(s<l)return-1;let h=t.leftSE.point.y,m=n.leftSE.point.y,d=t.rightSE.point.y,I=n.rightSE.point.y;if(i<l){if(m<h&&m<d)return 1;if(m>h&&m>d)return-1;let f=t.comparePoint(n.leftSE.point);if(f<0)return 1;if(f>0)return-1;let w=n.comparePoint(t.rightSE.point);return w!==0?w:-1}if(i>l){if(h<m&&h<I)return-1;if(h>m&&h>I)return 1;let f=n.comparePoint(t.leftSE.point);if(f!==0)return f;let w=t.comparePoint(n.rightSE.point);return w<0?1:w>0?-1:1}if(h<m)return-1;if(h>m)return 1;if(s<g){let f=n.comparePoint(t.rightSE.point);if(f!==0)return f}if(s>g){let f=t.comparePoint(n.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==g){let f=d-h,w=s-i,P=I-m,G=g-l;if(f>w&&P<G)return 1;if(f<w&&P>G)return-1}return s>g?1:s<g||d<I?-1:d>I?1:t.id<n.id?-1:t.id>n.id?1:0}constructor(t,n,i,l){this.id=++j5,this.leftSE=t,t.segment=this,t.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=t,this.rings=i,this.windings=l}static fromRing(t,n,i){let l,s,g,h=x0.comparePoints(t,n);if(h<0)l=t,s=n,g=1;else if(h>0)l=n,s=t,g=-1;else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);let m=new x0(l,!0),d=new x0(s,!1);return new c0(m,d,[i],[g])}replaceRightSE(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){let t=this.leftSE.point.y,n=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<n?t:n},ur:{x:this.rightSE.point.x,y:t>n?t:n}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}comparePoint(t){if(this.isAnEndpoint(t))return 0;let n=this.leftSE.point,i=this.rightSE.point,l=this.vector();if(n.x===i.x)return t.x===n.x?0:t.x<n.x?1:-1;let s=(t.y-n.y)/l.y,g=n.x+s*l.x;if(t.x===g)return 0;let h=(t.x-n.x)/l.x,m=n.y+h*l.y;return t.y===m?0:t.y<m?-1:1}getIntersection(t){let n=this.bbox(),i=t.bbox(),l=k(n,i);if(l===null)return null;let s=this.leftSE.point,g=this.rightSE.point,h=t.leftSE.point,m=t.rightSE.point,d=_(n,h)&&this.comparePoint(h)===0,I=_(i,s)&&t.comparePoint(s)===0,f=_(n,m)&&this.comparePoint(m)===0,w=_(i,g)&&t.comparePoint(g)===0;if(I&&d)return w&&!f?g:!w&&f?m:null;if(I)return f&&s.x===m.x&&s.y===m.y?null:s;if(d)return w&&g.x===h.x&&g.y===h.y?null:h;if(w&&f)return null;if(w)return g;if(f)return m;let P=Z5(s,this.vector(),h,t.vector());return P===null||!_(l,P)?null:y0.round(P.x,P.y)}split(t){let n=[],i=t.events!==void 0,l=new x0(t,!0),s=new x0(t,!1),g=this.rightSE;this.replaceRightSE(s),n.push(s),n.push(l);let h=new c0(l,g,this.rings.slice(),this.windings.slice());return x0.comparePoints(h.leftSE.point,h.rightSE.point)>0&&h.swapEvents(),x0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),i&&(l.checkForConsuming(),s.checkForConsuming()),n}swapEvents(){let t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let n=0,i=this.windings.length;n<i;n++)this.windings[n]*=-1}consume(t){let n=this,i=t;for(;n.consumedBy;)n=n.consumedBy;for(;i.consumedBy;)i=i.consumedBy;let l=c0.compare(n,i);if(l!==0){if(l>0){let s=n;n=i,i=s}if(n.prev===i){let s=n;n=i,i=s}for(let s=0,g=i.rings.length;s<g;s++){let h=i.rings[s],m=i.windings[s],d=n.rings.indexOf(h);d===-1?(n.rings.push(h),n.windings.push(m)):n.windings[d]+=m}i.rings=null,i.windings=null,i.consumedBy=n,i.leftSE.consumedBy=n.leftSE,i.rightSE.consumedBy=n.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{let t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;let t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};let n=this._afterState.rings,i=this._afterState.windings,l=this._afterState.multiPolys;for(let h=0,m=this.rings.length;h<m;h++){let d=this.rings[h],I=this.windings[h],f=n.indexOf(d);f===-1?(n.push(d),i.push(I)):i[f]+=I}let s=[],g=[];for(let h=0,m=n.length;h<m;h++){if(i[h]===0)continue;let d=n[h],I=d.poly;if(g.indexOf(I)===-1)if(d.isExterior)s.push(I);else{g.indexOf(I)===-1&&g.push(I);let f=s.indexOf(d.poly);f!==-1&&s.splice(f,1)}}for(let h=0,m=s.length;h<m;h++){let d=s[h].multiPoly;l.indexOf(d)===-1&&l.push(d)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;let t=this.beforeState().multiPolys,n=this.afterState().multiPolys;switch(n0.type){case"union":{let i=t.length===0,l=n.length===0;this._isInResult=i!==l;break}case"intersection":{let i,l;t.length<n.length?(i=t.length,l=n.length):(i=n.length,l=t.length),this._isInResult=l===n0.numMultiPolys&&i<l;break}case"xor":{let i=Math.abs(t.length-n.length);this._isInResult=i%2===1;break}case"difference":{let i=l=>l.length===1&&l[0].isSubject;this._isInResult=i(t)!==i(n);break}default:throw new Error(`Unrecognized operation type found ${n0.type}`)}return this._isInResult}}class l5{constructor(t,n,i){if(!Array.isArray(t)||t.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=i,this.segments=[],typeof t[0][0]!="number"||typeof t[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let l=y0.round(t[0][0],t[0][1]);this.bbox={ll:{x:l.x,y:l.y},ur:{x:l.x,y:l.y}};let s=l;for(let g=1,h=t.length;g<h;g++){if(typeof t[g][0]!="number"||typeof t[g][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let m=y0.round(t[g][0],t[g][1]);m.x===s.x&&m.y===s.y||(this.segments.push(c0.fromRing(s,m,this)),m.x<this.bbox.ll.x&&(this.bbox.ll.x=m.x),m.y<this.bbox.ll.y&&(this.bbox.ll.y=m.y),m.x>this.bbox.ur.x&&(this.bbox.ur.x=m.x),m.y>this.bbox.ur.y&&(this.bbox.ur.y=m.y),s=m)}(l.x!==s.x||l.y!==s.y)&&this.segments.push(c0.fromRing(s,l,this))}getSweepEvents(){let t=[];for(let n=0,i=this.segments.length;n<i;n++){let l=this.segments[n];t.push(l.leftSE),t.push(l.rightSE)}return t}}class H5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new l5(t[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let i=1,l=t.length;i<l;i++){let s=new l5(t[i],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=n}getSweepEvents(){let t=this.exteriorRing.getSweepEvents();for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class a5{constructor(t,n){if(!Array.isArray(t))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof t[0][0][0]=="number"&&(t=[t])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let i=0,l=t.length;i<l;i++){let s=new H5(t[i],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=n}getSweepEvents(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getSweepEvents();for(let s=0,g=l.length;s<g;s++)t.push(l[s])}return t}}class C0{static factory(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.isInResult()||s.ringOut)continue;let g=null,h=s.leftSE,m=s.rightSE,d=[h],I=h.point,f=[];for(;g=h,h=m,d.push(h),h.point!==I;)for(;;){let w=h.getAvailableLinkedEvents();if(w.length===0){let N=d[0].point,F=d[d.length-1].point;throw new Error(`Unable to complete output ring starting at [${N.x}, ${N.y}]. Last matching segment found ends at [${F.x}, ${F.y}].`)}if(w.length===1){m=w[0].otherSE;break}let P=null;for(let N=0,F=f.length;N<F;N++)if(f[N].point===h.point){P=N;break}if(P!==null){let N=f.splice(P)[0],F=d.splice(N.index);F.unshift(F[0].otherSE),n.push(new C0(F.reverse()));continue}f.push({index:d.length,point:h.point});let G=h.getLeftmostComparator(g);m=w.sort(G)[0].otherSE;break}n.push(new C0(d))}return n}constructor(t){this.events=t;for(let n=0,i=t.length;n<i;n++)t[n].segment.ringOut=this;this.poly=null}getGeom(){let t=this.events[0].point,n=[t];for(let d=1,I=this.events.length-1;d<I;d++){let f=this.events[d].point,w=this.events[d+1].point;i5(f,t,w)!==0&&(n.push(f),t=f)}if(n.length===1)return null;let i=n[0],l=n[1];i5(i,t,l)===0&&n.shift(),n.push(n[0]);let s=this.isExteriorRing()?1:-1,g=this.isExteriorRing()?0:n.length-1,h=this.isExteriorRing()?n.length:-1,m=[];for(let d=g;d!=h;d+=s)m.push([n[d].x,n[d].y]);return m}isExteriorRing(){if(this._isExteriorRing===void 0){let t=this.enclosingRing();this._isExteriorRing=t?!t.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let t=this.events[0];for(let l=1,s=this.events.length;l<s;l++){let g=this.events[l];x0.compare(t,g)>0&&(t=g)}let n=t.segment.prevInResult(),i=n?n.prevInResult():null;for(;;){if(!n)return null;if(!i)return n.ringOut;if(i.ringOut!==n.ringOut)return i.ringOut.enclosingRing()!==n.ringOut?n.ringOut:n.ringOut.enclosingRing();n=i.prevInResult(),i=n?n.prevInResult():null}}}class c5{constructor(t){this.exteriorRing=t,t.poly=this,this.interiorRings=[]}addInterior(t){this.interiorRings.push(t),t.poly=this}getGeom(){let t=[this.exteriorRing.getGeom()];if(t[0]===null)return null;for(let n=0,i=this.interiorRings.length;n<i;n++){let l=this.interiorRings[n].getGeom();l!==null&&t.push(l)}return t}}class q5{constructor(t){this.rings=t,this.polys=this._composePolys(t)}getGeom(){let t=[];for(let n=0,i=this.polys.length;n<i;n++){let l=this.polys[n].getGeom();l!==null&&t.push(l)}return t}_composePolys(t){let n=[];for(let i=0,l=t.length;i<l;i++){let s=t[i];if(!s.poly)if(s.isExteriorRing())n.push(new c5(s));else{let g=s.enclosingRing();g.poly||n.push(new c5(g)),g.poly.addInterior(s)}}return n}}class Q5{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c0.compare;this.queue=t,this.tree=new L(n),this.segments=[]}process(t){let n=t.segment,i=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(n),i;let l=t.isLeft?this.tree.add(n):this.tree.find(n);if(!l)throw new Error(`Unable to find segment #${n.id} [${n.leftSE.point.x}, ${n.leftSE.point.y}] -> [${n.rightSE.point.x}, ${n.rightSE.point.y}] in SweepLine tree.`);let s=l,g=l,h,m;for(;h===void 0;)s=this.tree.prev(s),s===null?h=null:s.key.consumedBy===void 0&&(h=s.key);for(;m===void 0;)g=this.tree.next(g),g===null?m=null:g.key.consumedBy===void 0&&(m=g.key);if(t.isLeft){let d=null;if(h){let f=h.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(d=f),!h.isAnEndpoint(f))){let w=this._splitSafely(h,f);for(let P=0,G=w.length;P<G;P++)i.push(w[P])}}let I=null;if(m){let f=m.getIntersection(n);if(f!==null&&(n.isAnEndpoint(f)||(I=f),!m.isAnEndpoint(f))){let w=this._splitSafely(m,f);for(let P=0,G=w.length;P<G;P++)i.push(w[P])}}if(d!==null||I!==null){let f=null;d===null?f=I:I===null?f=d:f=x0.comparePoints(d,I)<=0?d:I,this.queue.remove(n.rightSE),i.push(n.rightSE);let w=n.split(f);for(let P=0,G=w.length;P<G;P++)i.push(w[P])}i.length>0?(this.tree.remove(n),i.push(t)):(this.segments.push(n),n.prev=h)}else{if(h&&m){let d=h.getIntersection(m);if(d!==null){if(!h.isAnEndpoint(d)){let I=this._splitSafely(h,d);for(let f=0,w=I.length;f<w;f++)i.push(I[f])}if(!m.isAnEndpoint(d)){let I=this._splitSafely(m,d);for(let f=0,w=I.length;f<w;f++)i.push(I[f])}}}this.tree.remove(n)}return i}_splitSafely(t,n){this.tree.remove(t);let i=t.rightSE;this.queue.remove(i);let l=t.split(n);return l.push(i),t.consumedBy===void 0&&this.tree.add(t),l}}let u5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,J5=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class K5{run(t,n,i){n0.type=t,y0.reset();let l=[new a5(n,!0)];for(let f=0,w=i.length;f<w;f++)l.push(new a5(i[f],!1));if(n0.numMultiPolys=l.length,n0.type==="difference"){let f=l[0],w=1;for(;w<l.length;)k(l[w].bbox,f.bbox)!==null?w++:l.splice(w,1)}if(n0.type==="intersection")for(let f=0,w=l.length;f<w;f++){let P=l[f];for(let G=f+1,N=l.length;G<N;G++)if(k(P.bbox,l[G].bbox)===null)return[]}let s=new L(x0.compare);for(let f=0,w=l.length;f<w;f++){let P=l[f].getSweepEvents();for(let G=0,N=P.length;G<N;G++)if(s.insert(P[G]),s.size>u5)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}let g=new Q5(s),h=s.size,m=s.pop();for(;m;){let f=m.key;if(s.size===h){let P=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${P.id} [${P.leftSE.point.x}, ${P.leftSE.point.y}] -> [${P.rightSE.point.x}, ${P.rightSE.point.y}] from queue.`)}if(s.size>u5)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(g.segments.length>J5)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");let w=g.process(f);for(let P=0,G=w.length;P<G;P++){let N=w[P];N.consumedBy===void 0&&s.insert(N)}h=s.size,m=s.pop()}y0.reset();let d=C0.factory(g.segments);return new q5(d).getGeom()}}let n0=new K5;var y4={union:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("union",u,n)},intersection:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("intersection",u,n)},xor:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("xor",u,n)},difference:function(u){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return n0.run("difference",u,n)}};return y4})});function V0(y,x,e=2){let r=x&&x.length,o=r?x[0]*e:y.length,a=h5(y,0,o,e,!0),c=[];if(!a||a.next===a.prev)return c;let p,L,M;if(r&&(a=L4(y,x,a,e)),y.length>80*e){p=y[0],L=y[1];let A=p,R=L;for(let O=e;O<o;O+=e){let S=y[O],b=y[O+1];S<p&&(p=S),b<L&&(L=b),S>A&&(A=S),b>R&&(R=b)}M=Math.max(A-p,R-L),M=M!==0?32767/M:0}return P0(a,c,e,p,L,M,0),c}function h5(y,x,e,r,o){let a;if(o===R4(y,x,e,r)>0)for(let c=x;c<e;c+=r)a=f5(c/r|0,y[c],y[c+1],a);else for(let c=e-r;c>=x;c-=r)a=f5(c/r|0,y[c],y[c+1],a);return a&&d0(a,a.next)&&(I0(a),a=a.next),a}function u0(y,x){if(!y)return y;x||(x=y);let e=y,r;do if(r=!1,!e.steiner&&(d0(e,e.next)||Y(e.prev,e,e.next)===0)){if(I0(e),e=x=e.prev,e===e.next)break;r=!0}else e=e.next;while(r||e!==x);return x}function P0(y,x,e,r,o,a,c){if(!y)return;!c&&a&&w4(y,r,o,a);let p=y;for(;y.prev!==y.next;){let L=y.prev,M=y.next;if(a?h4(y,r,o,a):f4(y)){x.push(L.i,y.i,M.i),I0(y),y=M.next,p=M.next;continue}if(y=M,y===p){c?c===1?(y=p4(u0(y),x),P0(y,x,e,r,o,a,2)):c===2&&g4(y,x,e,r,o,a):P0(u0(y),x,e,r,o,a,1);break}}}function f4(y){let x=y.prev,e=y,r=y.next;if(Y(x,e,r)>=0)return!1;let o=x.x,a=e.x,c=r.x,p=x.y,L=e.y,M=r.y,A=Math.min(o,a,c),R=Math.min(p,L,M),O=Math.max(o,a,c),S=Math.max(p,L,M),b=r.next;for(;b!==x;){if(b.x>=A&&b.x<=O&&b.y>=R&&b.y<=S&&S0(o,p,a,L,c,M,b.x,b.y)&&Y(b.prev,b,b.next)>=0)return!1;b=b.next}return!0}function h4(y,x,e,r){let o=y.prev,a=y,c=y.next;if(Y(o,a,c)>=0)return!1;let p=o.x,L=a.x,M=c.x,A=o.y,R=a.y,O=c.y,S=Math.min(p,L,M),b=Math.min(A,R,O),_=Math.max(p,L,M),k=Math.max(A,R,O),T=$0(S,b,x,e,r),C=$0(_,k,x,e,r),v=y.prevZ,E=y.nextZ;for(;v&&v.z>=T&&E&&E.z<=C;){if(v.x>=S&&v.x<=_&&v.y>=b&&v.y<=k&&v!==o&&v!==c&&S0(p,A,L,R,M,O,v.x,v.y)&&Y(v.prev,v,v.next)>=0||(v=v.prevZ,E.x>=S&&E.x<=_&&E.y>=b&&E.y<=k&&E!==o&&E!==c&&S0(p,A,L,R,M,O,E.x,E.y)&&Y(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;v&&v.z>=T;){if(v.x>=S&&v.x<=_&&v.y>=b&&v.y<=k&&v!==o&&v!==c&&S0(p,A,L,R,M,O,v.x,v.y)&&Y(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;E&&E.z<=C;){if(E.x>=S&&E.x<=_&&E.y>=b&&E.y<=k&&E!==o&&E!==c&&S0(p,A,L,R,M,O,E.x,E.y)&&Y(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function p4(y,x){let e=y;do{let r=e.prev,o=e.next.next;!d0(r,o)&&g5(r,e,e.next,o)&&R0(r,o)&&R0(o,r)&&(x.push(r.i,e.i,o.i),I0(e),I0(e.next),e=y=o),e=e.next}while(e!==y);return u0(e)}function g4(y,x,e,r,o,a){let c=y;do{let p=c.next.next;for(;p!==c.prev;){if(c.i!==p.i&&E4(c,p)){let L=L5(c,p);c=u0(c,c.next),L=u0(L,L.next),P0(c,x,e,r,o,a,0),P0(L,x,e,r,o,a,0);return}p=p.next}c=c.next}while(c!==y)}function L4(y,x,e,r){let o=[];for(let a=0,c=x.length;a<c;a++){let p=x[a]*r,L=a<c-1?x[a+1]*r:y.length,M=h5(y,p,L,r,!1);M===M.next&&(M.steiner=!0),o.push(M4(M))}o.sort(d4);for(let a=0;a<o.length;a++)e=m4(o[a],e);return e}function d4(y,x){let e=y.x-x.x;if(e===0&&(e=y.y-x.y,e===0)){let r=(y.next.y-y.y)/(y.next.x-y.x),o=(x.next.y-x.y)/(x.next.x-x.x);e=r-o}return e}function m4(y,x){let e=_4(y,x);if(!e)return x;let r=L5(e,y);return u0(r,r.next),u0(e,e.next)}function _4(y,x){let e=x,r=y.x,o=y.y,a=-1/0,c;if(d0(y,e))return e;do{if(d0(y,e.next))return e.next;if(o<=e.y&&o>=e.next.y&&e.next.y!==e.y){let R=e.x+(o-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(R<=r&&R>a&&(a=R,c=e.x<e.next.x?e:e.next,R===r))return c}e=e.next}while(e!==x);if(!c)return null;let p=c,L=c.x,M=c.y,A=1/0;e=c;do{if(r>=e.x&&e.x>=L&&r!==e.x&&p5(o<M?r:a,o,L,M,o<M?a:r,o,e.x,e.y)){let R=Math.abs(o-e.y)/(r-e.x);R0(e,y)&&(R<A||R===A&&(e.x>c.x||e.x===c.x&&v4(c,e)))&&(c=e,A=R)}e=e.next}while(e!==p);return c}function v4(y,x){return Y(y.prev,y,x.prev)<0&&Y(x.next,y,y.next)<0}function w4(y,x,e,r){let o=y;do o.z===0&&(o.z=$0(o.x,o.y,x,e,r)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==y);o.prevZ.nextZ=null,o.prevZ=null,b4(o)}function b4(y){let x,e=1;do{let r=y,o;y=null;let a=null;for(x=0;r;){x++;let c=r,p=0;for(let M=0;M<e&&(p++,c=c.nextZ,!!c);M++);let L=e;for(;p>0||L>0&&c;)p!==0&&(L===0||!c||r.z<=c.z)?(o=r,r=r.nextZ,p--):(o=c,c=c.nextZ,L--),a?a.nextZ=o:y=o,o.prevZ=a,a=o;r=c}a.nextZ=null,e*=2}while(x>1);return y}function $0(y,x,e,r,o){return y=(y-e)*o|0,x=(x-r)*o|0,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,x=(x|x<<8)&16711935,x=(x|x<<4)&252645135,x=(x|x<<2)&858993459,x=(x|x<<1)&1431655765,y|x<<1}function M4(y){let x=y,e=y;do(x.x<e.x||x.x===e.x&&x.y<e.y)&&(e=x),x=x.next;while(x!==y);return e}function p5(y,x,e,r,o,a,c,p){return(o-c)*(x-p)>=(y-c)*(a-p)&&(y-c)*(r-p)>=(e-c)*(x-p)&&(e-c)*(a-p)>=(o-c)*(r-p)}function S0(y,x,e,r,o,a,c,p){return!(y===c&&x===p)&&p5(y,x,e,r,o,a,c,p)}function E4(y,x){return y.next.i!==x.i&&y.prev.i!==x.i&&!S4(y,x)&&(R0(y,x)&&R0(x,y)&&P4(y,x)&&(Y(y.prev,y,x.prev)||Y(y,x.prev,x))||d0(y,x)&&Y(y.prev,y,y.next)>0&&Y(x.prev,x,x.next)>0)}function Y(y,x,e){return(x.y-y.y)*(e.x-x.x)-(x.x-y.x)*(e.y-x.y)}function d0(y,x){return y.x===x.x&&y.y===x.y}function g5(y,x,e,r){let o=B0(Y(y,x,e)),a=B0(Y(y,x,r)),c=B0(Y(e,r,y)),p=B0(Y(e,r,x));return!!(o!==a&&c!==p||o===0&&G0(y,e,x)||a===0&&G0(y,r,x)||c===0&&G0(e,y,r)||p===0&&G0(e,x,r))}function G0(y,x,e){return x.x<=Math.max(y.x,e.x)&&x.x>=Math.min(y.x,e.x)&&x.y<=Math.max(y.y,e.y)&&x.y>=Math.min(y.y,e.y)}function B0(y){return y>0?1:y<0?-1:0}function S4(y,x){let e=y;do{if(e.i!==y.i&&e.next.i!==y.i&&e.i!==x.i&&e.next.i!==x.i&&g5(e,e.next,y,x))return!0;e=e.next}while(e!==y);return!1}function R0(y,x){return Y(y.prev,y,y.next)<0?Y(y,x,y.next)>=0&&Y(y,y.prev,x)>=0:Y(y,x,y.prev)<0||Y(y,y.next,x)<0}function P4(y,x){let e=y,r=!1,o=(y.x+x.x)/2,a=(y.y+x.y)/2;do e.y>a!=e.next.y>a&&e.next.y!==e.y&&o<(e.next.x-e.x)*(a-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==y);return r}function L5(y,x){let e=Y0(y.i,y.x,y.y),r=Y0(x.i,x.x,x.y),o=y.next,a=x.prev;return y.next=x,x.prev=y,e.next=o,o.prev=e,r.next=e,e.prev=r,a.next=r,r.prev=a,r}function f5(y,x,e,r){let o=Y0(y,x,e);return r?(o.next=r.next,o.prev=r,r.next.prev=o,r.next=o):(o.prev=o,o.next=o),o}function I0(y){y.next.prev=y.prev,y.prev.next=y.next,y.prevZ&&(y.prevZ.nextZ=y.nextZ),y.nextZ&&(y.nextZ.prevZ=y.prevZ)}function Y0(y,x,e){return{i:y,x,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function R4(y,x,e,r){let o=0;for(let a=x,c=e-r;a<e;a+=r)o+=(y[c]-y[a])*(y[a+1]+y[c+1]),c=a;return o}var T5=u4(d5(),1);var m5={0:"M0.301025 0.257813 L0.206593 0.283385 L0.122042 0.361307 L0.075923 0.474441 L0.064942 0.642221 L0.091296 0.78289 L0.159376 0.899463 L0.257104 0.961214 L0.344948 0.961214 L0.442678 0.899463 L0.510757 0.78289 L0.537111 0.642221 L0.526131 0.474441 L0.480012 0.361307 L0.39546 0.283385 L0.301025 0.257813",1:"M0.220426 0.40845 L0.381626 0.270996 L0.381626 0.948966",2:"M0.110409 0.39212 L0.125621 0.342293 L0.170571 0.295823 L0.244237 0.26431 L0.291518 0.257813 L0.373319 0.263799 L0.434683 0.290705 L0.468239 0.331966 L0.480292 0.379913 L0.479492 0.411806 L0.465088 0.465192 L0.402571 0.568988 L0.245134 0.766438 L0.07959 0.948045 L0.522462 0.948045",3:"M0.081606 0.345073 L0.119154 0.315633 L0.178996 0.284091 L0.255265 0.257813 L0.349133 0.263062 L0.43127 0.289348 L0.48994 0.336662 L0.525141 0.394491 L0.513407 0.457577 L0.466472 0.504892 L0.384334 0.541692 L0.290464 0.56272 L0.20833 0.573235 L0.290464 0.583749 L0.384334 0.610035 L0.466472 0.652092 L0.519274 0.709922 L0.531007 0.773007 L0.50754 0.841351 L0.454738 0.899179 L0.3726 0.946494 L0.310412 0.961214 L0.209503 0.959111 L0.127367 0.946494 L0.071046 0.929671",4:"M0.418494 0.270996 L0.048828 0.724199 L0.553224 0.724199 M0.414181 0.578167 L0.414181 0.94897",5:"M0.074951 0.270996 L0.074951 0.614701 L0.267655 0.5695 L0.405247 0.586502 L0.460002 0.617189 L0.498028 0.660731 L0.527101 0.779401 L0.513352 0.841049 L0.477274 0.889568 L0.406378 0.93463 L0.324445 0.958337 L0.247399 0.962139 L0.182516 0.949767 L0.130068 0.925508 L0.074951 0.875607 M0.074951 0.270996 L0.527101 0.270996",6:"M0.428549 0.257813 L0.341433 0.285053 L0.26073 0.312099 L0.192188 0.360182 L0.138902 0.410969 L0.098219 0.500422 L0.070249 0.584267 L0.067264 0.670716 L0.065164 0.756863 L0.087163 0.820973 L0.108168 0.861042 L0.157916 0.913131 L0.210981 0.948192 L0.29279 0.961214 L0.384548 0.956206 L0.456409 0.924151 L0.507262 0.881077 L0.5349 0.821975 L0.537111 0.771889 L0.521634 0.718798 L0.498418 0.67372 L0.463042 0.636657 L0.414398 0.613617 L0.34696 0.598591 L0.28284 0.595587 L0.215403 0.605604 L0.145756 0.641665 L0.109274 0.678729 L0.064942 0.724006",7:"M0.071534 0.270996 L0.530519 0.270996 L0.495935 0.291702 L0.477752 0.305407 L0.435186 0.346112 L0.412067 0.374136 L0.388565 0.40796 L0.365315 0.448098 L0.342943 0.495062 L0.322081 0.549366 L0.303364 0.611524 L0.287416 0.68205 L0.270077 0.80465 L0.26253 0.94897",8:"M0.286761 0.257813 L0.210684 0.27162 L0.1414 0.305622 L0.092494 0.382125 L0.111513 0.450128 L0.16857 0.502193 L0.228345 0.539382 L0.377781 0.594635 L0.470161 0.645637 L0.52586 0.706203 L0.538087 0.792269 L0.506841 0.87621 L0.438915 0.927212 L0.339743 0.961214 L0.263666 0.959089 L0.174004 0.929337 L0.102003 0.881523 L0.063965 0.811395 L0.066682 0.741266 L0.102003 0.671139 L0.180797 0.608448 L0.259591 0.580822 L0.358762 0.548945 L0.456576 0.49688 L0.486463 0.446941 L0.487822 0.362999 L0.453859 0.302434 L0.384574 0.265245 L0.286761 0.257813",9:"M0.511026 0.437812 L0.491026 0.347812 L0.451026 0.297812 L0.391026 0.267812 L0.311026 0.257813 L0.231026 0.267812 L0.161026 0.297812 L0.111026 0.347812 L0.091026 0.417812 L0.111026 0.487812 L0.161026 0.537812 L0.231026 0.567812 L0.311026 0.577812 L0.391026 0.557812 L0.451026 0.517812 L0.491026 0.477812 L0.511026 0.437812 M0.510026 0.438812 L0.434026 0.636812 L0.381026 0.777812 L0.337026 0.879812 L0.301026 0.957812","!":"M0.301026 0.270996 L0.301026 0.749566 M0.251466 0.94897 L0.350587 0.94897",\'"\':"M0.16504 0.270996 L0.16504 0.523022 M0.437013 0.270996 L0.437013 0.523022","#":"M0.20958 0.282227 L0.146515 0.949754 M0.461844 0.282227 L0.398779 0.949754 M0.032999 0.526969 L0.600587 0.452796 M0.001465 0.82366 L0.569055 0.749486",$:"M0.307121 0.240234 L0.307121 1.083502 M0.490031 0.415915 L0.404676 0.328075 L0.23396 0.310507 L0.136407 0.398347 L0.099828 0.521324 L0.124213 0.591596 L0.197379 0.644299 L0.429061 0.697003 L0.502224 0.749708 L0.526613 0.837547 L0.477836 0.960526 L0.355897 1.013228 L0.197379 0.99566 L0.112021 0.942957 L0.07544 0.837547","\'":"M0.301026 0.270996 L0.301026 0.523022","(":"M0.413087 0.241211 L0.372337 0.28347 L0.331589 0.334184 L0.290838 0.393349 L0.25009 0.460965 L0.219528 0.528584 L0.199153 0.5962 L0.188966 0.655364 L0.199153 0.714529 L0.219528 0.782146 L0.25009 0.849764 L0.290838 0.91738 L0.331589 0.976544 L0.372337 1.027258 L0.413087 1.069491",")":"M0.188966 0.241211 L0.229716 0.28347 L0.270466 0.334184 L0.311213 0.393349 L0.351964 0.460965 L0.382526 0.528584 L0.4029 0.5962 L0.413087 0.655364 L0.4029 0.714529 L0.382526 0.782146 L0.351964 0.849764 L0.311213 0.91738 L0.270466 0.976544 L0.229716 1.027258 L0.188966 1.069491","*":"M0.301026 0.458702 L0.301026 0.681942 M0.301026 0.458702 L0.520997 0.536834 M0.301026 0.458702 L0.439954 0.257813 M0.301026 0.458702 L0.162098 0.257813 M0.301026 0.458702 L0.081055 0.536834","+":"M0.042969 0.66845 L0.559083 0.66845 M0.301023 0.428223 L0.301023 0.908661",",":"M0.38672 0.852051 L0.215333 1.030661 L0.301025 1.119971","-":"M0.173829 0.686035 L0.428224 0.686035",".":"M0.362549 0.851074 L0.239503 0.851074","/":"M0.062501 1.035249 L0.539551 0.270996","<":"M0.559083 0.441895 L0.042969 0.66939 L0.042969 0.66939 L0.559083 0.896902","=":"M0.042969 0.545898 L0.559083 0.545898 M0.042969 0.80837 L0.559083 0.80837",">":"M0.042969 0.441895 L0.559083 0.66939 L0.559083 0.66939 L0.042969 0.896902",A:"M0.018067 0.94897 L0.290179 0.270996 L0.583986 0.94897 M0.155303 0.684521 L0.433548 0.684521",B:"M0.063965 0.94897 L0.063965 0.278953 L0.209356 0.270996 L0.342486 0.294394 L0.432179 0.37292 L0.418224 0.48773 L0.312686 0.549166 L0.084728 0.575531 L0.306377 0.589434 L0.468877 0.647456 L0.538087 0.736658 L0.5324 0.85202 L0.501247 0.902983 L0.42355 0.944398 L0.063965 0.94897",C:"M0.529054 0.419847 L0.498425 0.345196 L0.442238 0.292341 L0.33583 0.257813 L0.257199 0.268357 L0.187906 0.303748 L0.120243 0.385432 L0.072998 0.599844 L0.110073 0.815385 L0.165381 0.902183 L0.222883 0.942801 L0.334904 0.961214 L0.43253 0.937679 L0.504816 0.868999 L0.529054 0.772065",D:"M0.064454 0.94897 L0.071838 0.285078 L0.171217 0.270996 L0.247348 0.272633 L0.37101 0.306078 L0.462461 0.378304 L0.514748 0.475555 L0.535591 0.576392 L0.537599 0.652313 L0.528065 0.717381 L0.508562 0.772419 L0.445948 0.855695 L0.362356 0.90871 L0.225203 0.945862 L0.064454 0.94897",E:"M0.080078 0.270996 L0.080078 0.94897 M0.080078 0.270996 L0.521974 0.270996 M0.080078 0.609981 L0.389405 0.609981 M0.080078 0.94897 L0.521974 0.94897",F:"M0.086426 0.270996 L0.086426 0.94897 M0.091304 0.275607 L0.515626 0.275607 M0.091304 0.607677 L0.447344 0.607677",G:"M0.498034 0.284943 L0.374621 0.257813 L0.244219 0.268648 L0.160577 0.311997 L0.094556 0.398116 L0.056397 0.58404 L0.076752 0.785532 L0.120865 0.858197 L0.188947 0.916734 L0.271008 0.953591 L0.357069 0.961214 L0.43715 0.932047 L0.501262 0.858539 L0.545656 0.648611 L0.329595 0.648131",H:"M0.066895 0.270996 L0.066895 0.94897 M0.066895 0.595658 L0.530009 0.595658 M0.535157 0.270996 L0.535157 0.94897",I:"M0.301026 0.270996 L0.301026 0.94897",J:"M0.506839 0.270996 L0.507814 0.782193 L0.498468 0.846168 L0.480733 0.880789 L0.455864 0.90832 L0.426095 0.929408 L0.360746 0.954812 L0.302508 0.962139 L0.223573 0.953638 L0.16538 0.930312 L0.137072 0.907715 L0.116428 0.880312 L0.102822 0.848819 L0.095633 0.813947 L0.094239 0.776413",K:"M0.035401 0.270996 L0.035401 0.94897 M0.502258 0.316194 L0.035401 0.687823 M0.212484 0.582361 L0.566652 0.933903",L:"M0.07544 0.270996 L0.07544 0.94897 L0.526613 0.94897",M:"M0.042481 0.94897 L0.042481 0.270996 L0.301027 0.712492 L0.559571 0.270996 L0.559571 0.94897",N:"M0.067871 0.94897 L0.067871 0.270996 L0.534181 0.94897 L0.525031 0.270996",O:"M0.287293 0.961214 L0.19843 0.933567 L0.1172 0.849451 L0.057129 0.563945 L0.114348 0.350255 L0.18455 0.289392 L0.306101 0.257813 L0.42054 0.29572 L0.487543 0.365003 L0.544923 0.625294 L0.516366 0.789624 L0.465476 0.884596 L0.375084 0.949287 L0.287293 0.961214",P:"M0.070557 0.94897 L0.070557 0.28379 L0.20704 0.270996 L0.329134 0.278993 L0.408525 0.300514 L0.444022 0.317908 L0.500637 0.368929 L0.525796 0.423728 L0.531496 0.50384 L0.508934 0.554205 L0.473724 0.582043 L0.417577 0.604365 L0.336375 0.620372 L0.226014 0.629268 L0.082368 0.630258",Q:"M0.282435 1.050813 L0.195447 1.019646 L0.115933 0.924817 L0.057129 0.602943 L0.113139 0.362034 L0.18186 0.293418 L0.300844 0.257813 L0.412868 0.300553 L0.478457 0.37866 L0.534625 0.672103 L0.506671 0.857367 L0.456855 0.964437 L0.368371 1.037368 L0.282435 1.050813 M0.341225 0.815559 L0.544923 1.070653",R:"M0.034912 0.944112 L0.034912 0.288556 L0.227127 0.270996 L0.362038 0.276867 L0.443423 0.294907 L0.477644 0.309614 L0.505809 0.328757 L0.526616 0.352817 L0.544963 0.418061 L0.543241 0.475921 L0.524463 0.517817 L0.49076 0.546518 L0.444265 0.564799 L0.355195 0.578739 L0.047653 0.589627 M0.303054 0.617306 L0.56714 0.94897",S:"M0.483037 0.364333 L0.407613 0.267477 L0.22883 0.257813 L0.128623 0.327565 L0.087712 0.455539 L0.104656 0.518727 L0.168054 0.573307 L0.41928 0.617318 L0.503796 0.669342 L0.535157 0.759324 L0.493846 0.900055 L0.367668 0.961214 L0.205436 0.956661 L0.116711 0.907038 L0.066895 0.790334",T:"M0.022949 0.270996 L0.579103 0.270996 M0.309284 0.270996 L0.309284 0.94897",U:"M0.072022 0.270996 L0.07308 0.648875 L0.080372 0.75167 L0.099024 0.827813 L0.134786 0.885729 L0.181571 0.924023 L0.251464 0.95168 L0.339655 0.962139 L0.401553 0.951668 L0.45232 0.924086 L0.482701 0.891771 L0.495745 0.870529 L0.515699 0.81637 L0.525014 0.744626 L0.530031 0.272017",V:"M0.027832 0.270996 L0.320083 0.94897 L0.57422 0.270996",W:"M0 0.270996 L0.079799 0.940377 L0.285198 0.472884 L0.505255 0.94897 L0.602052 0.270996",X:"M0.009034 0.270996 L0.586805 0.94897 M0.593019 0.270996 L0.015246 0.94897",Y:"M0.018067 0.270996 L0.293132 0.574135 M0.583986 0.271959 L0.294954 0.57606 L0.305277 0.94897",Z:"M0.053711 0.270996 L0.548341 0.270996 L0.053711 0.94897 L0.548341 0.94897","[":"M0.404542 0.240234 L0.197511 0.240234 L0.197511 1.069424 L0.404542 1.069424","\\\\":"M0.062501 0.270996 L0.539551 1.035249","]":"M0.19751 0.240234 L0.404542 0.240234 L0.404542 1.069424 L0.19751 1.069424","^":"M0.035156 0.523931 L0.301024 0.270996 L0.566896 0.523931",_:"M0 1.160601 L0.602052 1.160601",a:"M0.527101 0.439941 L0.527101 0.973965 M0.527101 0.553824 L0.451366 0.477535 L0.376759 0.439941 L0.263722 0.439941 L0.187989 0.477535 L0.112255 0.553824 L0.074951 0.66881 L0.074951 0.745099 L0.112255 0.85898 L0.187989 0.93527 L0.263722 0.973965 L0.376759 0.973965 L0.451366 0.93527 L0.527101 0.85898",b:"M0.07666 0.240234 L0.07666 0.959985 M0.07666 0.582737 L0.151822 0.514237 L0.225865 0.480483 L0.338045 0.480483 L0.413211 0.514237 L0.488374 0.582737 L0.525392 0.685983 L0.525392 0.754485 L0.488374 0.856739 L0.413211 0.92524 L0.338045 0.959985 L0.225865 0.959985 L0.151822 0.92524 L0.07666 0.856739",c:"M0.512452 0.553823 L0.441624 0.477535 L0.371854 0.439941 L0.26614 0.439941 L0.195312 0.477535 L0.124486 0.553823 L0.0896 0.668808 L0.0896 0.745099 L0.124486 0.858979 L0.195312 0.93527 L0.26614 0.973965 L0.371854 0.973965 L0.441624 0.93527 L0.512452 0.858979",d:"M0.525392 0.240234 L0.525392 0.959985 M0.525392 0.582737 L0.450232 0.514237 L0.376189 0.480483 L0.264006 0.480483 L0.188844 0.514237 L0.11368 0.582737 L0.076661 0.685983 L0.076661 0.754485 L0.11368 0.856739 L0.188844 0.92524 L0.264006 0.959985 L0.376189 0.959985 L0.450232 0.92524 L0.525392 0.856739",e:"M0.059571 0.668808 L0.542482 0.668808 M0.542482 0.592521 L0.502641 0.516231 L0.461594 0.477535 L0.381914 0.439941 L0.261186 0.439941 L0.180299 0.477535 L0.099412 0.553823 L0.059571 0.668808 L0.059571 0.745099 L0.099412 0.858979 L0.180299 0.93527 L0.261186 0.973965 L0.381914 0.973965 L0.461594 0.93527 L0.542482 0.858979",f:"M0.512941 0.240234 L0.406984 0.240234 L0.301026 0.274346 L0.248047 0.374731 L0.248047 0.946817 M0.089112 0.476088 L0.459965 0.476088",g:"M0.525392 0.439941 L0.525392 0.989395 L0.488373 1.091918 L0.45023 1.126757 L0.376189 1.160601 L0.264004 1.160601 L0.188844 1.126757 L0.113681 1.058075 L0.076661 0.954555 M0.525392 0.542467 L0.45023 0.473786 L0.376189 0.439941 L0.264004 0.439941 L0.188844 0.473786 L0.113681 0.542467 L0.076661 0.645988 L0.076661 0.714669 L0.113681 0.817193 L0.188844 0.885875 L0.264004 0.920713 L0.376189 0.920713 L0.45023 0.885875 L0.525392 0.817193",h:"M0.092041 0.240234 L0.092041 0.946817 M0.092041 0.61058 L0.205937 0.509225 L0.282214 0.476086 L0.396109 0.476086 L0.47187 0.509225 L0.510011 0.61058 L0.510011 0.946817",i:"M0.261026 0.240234 L0.341026 0.240234 M0.300978 0.476089 L0.300978 0.946817",j:"M0.3853 0.240234 L0.447023 0.240234 M0.416159 0.465708 L0.416159 1.011689 L0.383887 1.108586 L0.252832 1.140264 L0.15503 1.108586",k:"M0.065186 0.240234 L0.065186 0.946817 M0.493824 0.476086 L0.065186 0.812323 M0.236758 0.677829 L0.536867 0.946817",l:"M0.301026 0.234863 L0.301026 0.946441",m:"M0.050538 0.439941 L0.050538 0.960796 M0.050538 0.588758 L0.114405 0.476607 L0.157178 0.439941 L0.236864 0.439941 L0.279637 0.476607 L0.32241 0.588758 L0.32241 0.960796 M0.32241 0.588758 L0.386281 0.476607 L0.428467 0.439941 L0.50874 0.439941 L0.551515 0.476607 L0.551515 0.960796",n:"M0.092041 0.439941 L0.092041 0.960796 M0.092041 0.588758 L0.205936 0.476607 L0.282216 0.439941 L0.396113 0.439941 L0.471871 0.476607 L0.510011 0.588758 L0.510011 0.960796",o:"M0.247175 0.439941 L0.175178 0.477535 L0.103186 0.553823 L0.066895 0.668808 L0.066895 0.745099 L0.103186 0.858979 L0.175178 0.93527 L0.247175 0.973965 L0.354874 0.973965 L0.426872 0.93527 L0.498866 0.858979 L0.535157 0.745099 L0.535157 0.668808 L0.498866 0.553823 L0.426872 0.477535 L0.354874 0.439941 L0.247175 0.439941",p:"M0.076904 0.439941 L0.076904 1.154244 M0.076904 0.541563 L0.151986 0.473487 L0.225944 0.439941 L0.338005 0.439941 L0.413087 0.473487 L0.488166 0.541563 L0.525148 0.644169 L0.525148 0.712246 L0.488166 0.813866 L0.413087 0.881942 L0.338005 0.916471 L0.225944 0.916471 L0.151986 0.881942 L0.076904 0.813866",q:"M0.525148 0.441895 L0.525148 1.156195 M0.525148 0.5435 L0.450067 0.47544 L0.376106 0.441895 L0.264042 0.441895 L0.188966 0.47544 L0.113885 0.5435 L0.076905 0.646108 L0.076905 0.714187 L0.113885 0.815809 L0.188966 0.883886 L0.264042 0.918418 L0.376106 0.918418 L0.450067 0.883886 L0.525148 0.815809",r:"M0.107422 0.439941 L0.107422 0.960796 M0.107422 0.663164 L0.155824 0.551014 L0.252626 0.476607 L0.349428 0.439941 L0.49463 0.439941",s:"M0.475556 0.477535 L0.400757 0.439941 L0.276092 0.439941 L0.176361 0.477535 L0.101563 0.553823 L0.101563 0.630112 L0.176361 0.668808 L0.301024 0.668808 L0.425688 0.745099 L0.50049 0.821387 L0.50049 0.897677 L0.425688 0.93527 L0.325956 0.973965 L0.201295 0.973965 L0.126496 0.93527 L0.101563 0.858979",t:"M0.246032 0.297852 L0.246032 0.826549 L0.301023 0.919323 L0.411011 0.950848 L0.520997 0.950848 M0.081055 0.515799 L0.466004 0.515799",u:"M0.092041 0.454102 L0.092041 0.826134 L0.13018 0.937211 L0.205936 0.974954 L0.319832 0.974954 L0.396113 0.937211 L0.510011 0.826134 M0.510011 0.454102 L0.510011 0.974954",v:"M0.048828 0.453125 L0.301026 0.961719 M0.553224 0.453125 L0.301026 0.961719",w:"M0 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.451539 0.961719 M0.602052 0.453125 L0.451539 0.961719",x:"M0.03711 0.453125 L0.564943 0.961719 M0.564943 0.453125 L0.03711 0.961719",y:"M0.084618 0.453125 L0.320232 0.921476 M0.55713 0.453125 L0.320232 0.921476 L0.242119 1.055289 L0.163369 1.122196 L0.084618 1.155166 L0.044922 1.155166",z:"M0.505373 0.452148 L0.09668 0.961651 M0.09668 0.452148 L0.505373 0.452148 M0.09668 0.961651 L0.505373 0.961651"},_5={};for(let y in m5){_5[y]=[];let x=m5[y].split("M").slice(1).map(e=>e.split("L").map(r=>r.trim().split(" ").map(parseFloat)));for(let e of x)for(let r=0;r<e.length-1;r++)_5[y].push({x1:e[r][0],y1:1-e[r][1],x2:e[r+1][0],y2:1-e[r+1][1]})}var I4=.09,k4=.692052,A4=.692052,T4=1.152,N4=0;var v5={0:.692052,1:.692052,2:.692052,3:.692052,4:.692052,5:.692052,6:.692052,7:.692052,8:.692052,9:.692052,"!":.692052,\'"\':.692052,"#":.692052,$:.692052,"\'":.692052,"(":.692052,")":.692052,"*":.692052,"+":.692052,",":.692052,"-":.692052,".":.692052,"/":.692052,"<":.692052,"=":.692052,">":.692052,A:.692052,B:.692052,C:.692052,D:.692052,E:.692052,F:.692052,G:.692052,H:.692052,I:.692052,J:.692052,K:.692052,L:.692052,M:.692052,N:.692052,O:.692052,P:.692052,Q:.692052,R:.692052,S:.692052,T:.692052,U:.692052,V:.692052,W:.692052,X:.692052,Y:.692052,Z:.692052,"[":.692052,"\\\\":.692052,"]":.692052,"^":.692052,_:.692052,a:.692052,b:.692052,c:.692052,d:.692052,e:.692052,f:.692052,g:.692052,h:.692052,i:.692052,j:.692052,k:.692052,l:.692052,m:.692052,n:.692052,o:.692052,p:.692052,q:.692052,r:.692052,s:.692052,t:.692052,u:.692052,v:.692052,w:.692052,x:.692052,y:.692052,z:.692052," ":.692052},w5={},a0={glyphWidthRatio:k4,spaceWidthRatio:A4,lineHeightRatio:T4,strokeWidthRatio:I4,letterSpacingRatio:N4};var O4={0:[[{x:.019944796633211075,y:.35828068632415006},{x:.020222641007547733,y:.3550960892473839},{x:.020327535068617307,y:.3519011161217302},{x:.02060526835904108,y:.3507104904820116},{x:.02071153113201321,y:.34949252766745387},{x:.047065531132013214,y:.20882352766745393},{x:.047989939967683706,y:.20564918300405605},{x:.04875673163473768,y:.20243312543665407},{x:.04922094308839032,y:.20142201853303832},{x:.04953201774467938,y:.20035381349539033},{x:.05105794824635218,y:.1974208061920286},{x:.05243742793298141,y:.1944161379022362},{x:.1205174279329814,y:.07784313790223615},{x:.1216536619223176,y:.07627409360623287},{x:.12261018498510404,y:.07458945972562232},{x:.1242345189777056,y:.07271014544101197},{x:.12569143736362237,y:.07069826276137084},{x:.12711194429242206,y:.06938103546641537},{x:.12837874379901673,y:.06791537974577894},{x:.130338502698373,y:.06638906779986004},{x:.132159925645859,y:.06470007355882942},{x:.13381011622947792,y:.06368528357115737},{x:.13533850978527173,y:.062494930337889824},{x:.2330665097852717,y:.000743930337889824},{x:.2364974226485404,y:-.000978818921256936},{x:.23988324554357096,y:-.0027885789630079164},{x:.24043487144166406,y:-.0029559128497863825},{x:.24095002304009888,y:-.0032145836671228292},{x:.2446511035824589,y:-.0042348928870151745},{x:.24832493550927423,y:-.005349337618145378},{x:.24889860729226898,y:-.005405839357118937},{x:.2494543245702404,y:-.005559038796006631},{x:.2532833423420387,y:-.0058376980655201055},{x:.257104,y:-.006214000000000011},{x:.344948,y:-.006214000000000011},{x:.34876845169289644,y:-.005837718351308385},{x:.352597265623821,y:-.005559109487024962},{x:.35315318526669126,y:-.00540585978827806},{x:.3537270644907258,y:-.005349337618145378},{x:.3574006983675983,y:-.004234952964808514},{x:.36110158881940224,y:-.0032147329490055873},{x:.36161692908913895,y:-.0029559733581057666},{x:.36216875445642904,y:-.0027885789630079164},{x:.36555439482758706,y:-.000978916482299381},{x:.3689851386556908,y:.0007437082019616584},{x:.4667151386556908,y:.06249470820196166},{x:.46824382031514195,y:.0636852631221029},{x:.4698943035897058,y:.06470024765114774},{x:.4717154585013725,y:.06638901501054441},{x:.47367495473362387,y:.0679150932923645},{x:.4749419974608878,y:.0693810030307532},{x:.47636275350351887,y:.0706984782301942},{x:.4778194532662604,y:.07271008609647399},{x:.47944357522443626,y:.07458911996296573},{x:.4804002872780698,y:.07627405043044727},{x:.48153671723081914,y:.07784338646721853},{x:.5496157172308191,y:.19441638646721857},{x:.5509951179002539,y:.19742093333312605},{x:.5525209822553206,y:.20035381349539033},{x:.5528320971760705,y:.20142215679791795},{x:.5532963622471587,y:.2024333975455826},{x:.5540631001039363,y:.20564932060673602},{x:.5549874688679868,y:.20882352766745393},{x:.5813414688679868,y:.34949252766745387},{x:.5814477200321959,y:.3507103574246747},{x:.581725430046729,y:.351900851345405},{x:.5818303474337426,y:.35509595676374855},{x:.5821082033667889,y:.35828068632415006},{x:.5819748261451739,y:.3594958443979094},{x:.5820149461972951,y:.36071764184793353},{x:.5710349461972951,y:.5284976418479336},{x:.5705756858728281,y:.5312810757499365},{x:.5703149436633981,y:.5340900680661724},{x:.5698592272920282,y:.5356233082419208},{x:.5695988288779222,y:.5372015019922555},{x:.5686053720955593,y:.5398418557477263},{x:.5678016327590553,y:.5425460057826548},{x:.5216826327590552,y:.6556800057826547},{x:.5211943471023096,y:.656605995281004},{x:.5208498728309648,y:.6575945381025444},{x:.5191405880551111,y:.6605007631972294},{x:.5175679428069421,y:.6634831423933323},{x:.5169083878327574,y:.664296079457111},{x:.5163776774005638,y:.665198424109003},{x:.5141342596628157,y:.6677153419860701},{x:.5120099990343735,y:.6703336077343061},{x:.511204521070525,y:.6710022516480534},{x:.510507969381766,y:.6717837215313657},{x:.425955969381766,y:.7497057215313657},{x:.4243831978740034,y:.750892537075826},{x:.42294870744900304,y:.7522432326643229},{x:.4208707687817478,y:.7535430209032156},{x:.4189143183619635,y:.7550193610827685},{x:.4171402309909699,y:.7558765397994217},{x:.4154697962599445,y:.7569214269519826},{x:.41317820849544135,y:.7577908544006052},{x:.41097133104084405,y:.7588571425751742},{x:.40906410498936707,y:.7593517435666508},{x:.4072219198222394,y:.7600506678559823},{x:.3127869198222394,y:.7856226678559822},{x:.3097655669518694,y:.7861297177594856},{x:.3067801557646532,y:.7868174624905968},{x:.3054245519856559,y:.7868582361795984},{x:.30408703940192616,y:.7870827004032797},{x:.3010248204508113,y:.7869905707806608},{x:.2979626007613803,y:.7870826758597451},{x:.29662508997676323,y:.7868582009159747},{x:.29526948652460844,y:.786817416361878},{x:.2922840808497275,y:.7861296477028675},{x:.28926273204343433,y:.7856225735833884},{x:.19483073204343437,y:.7600505735833885},{x:.19298859701529922,y:.7593516514268194},{x:.1910814199885863,y:.7588570511522524},{x:.1888745059729717,y:.757790729268721},{x:.18658288068670334,y:.7569212665731724},{x:.18491249471518256,y:.7558763912940257},{x:.18313845528709377,y:.7550192228447639},{x:.18118197558509466,y:.7535428424712565},{x:.17910400699337814,y:.7522430123425641},{x:.17766956207459372,y:.7508923379118444},{x:.17609683558545802,y:.7497055417906873},{x:.09154583558545802,y:.6717835417906872},{x:.09084937681091164,y:.6710021668773223},{x:.09004400096562647,y:.6703336077343061},{x:.087919657143162,y:.6677152394449524},{x:.08567616637982708,y:.6651982097729843},{x:.0851455285488078,y:.6642959763928821},{x:.08448605719305789,y:.6634831423933323},{x:.08291335035419628,y:.6605006463960624},{x:.08120401576602496,y:.6575942974079984},{x:.08085959099279398,y:.6566058778839782},{x:.08037136724094471,y:.6556800057826547},{x:.03425236724094472,y:.5425460057826548},{x:.03344866581310472,y:.5398419832899659},{x:.03245524021837327,y:.537201759963462},{x:.0321948107181119,y:.5356234361255728},{x:.03173905633660196,y:.5340900680661724},{x:.03147832642517492,y:.5312812082371015},{x:.031019071243648687,y:.5284979083423142},{x:.020038071243648682,y:.36071790834231426},{x:.020078188427320915,y:.3594959771633442},{x:.019944796633211075,y:.35828068632415006}],[{x:.11021604810185967,y:.3604951889884744},{x:.12035004420691338,y:.5153337161267963},{x:.1599220965290545,y:.612407472440097},{x:.22898846858521874,y:.6760588762479813},{x:.301025186831377,y:.6955662779655215},{x:.373064807645506,y:.6760587099720985},{x:.44213195602343713,y:.6124073435241713},{x:.48170390405887986,y:.5153338430353971},{x:.49183697687726113,y:.3604953223188204},{x:.4679633532090146,y:.23306575687188358},{x:.4093572783633461,y:.13271343144136735},{x:.3319224534250481,y:.08378599999999999},{x:.27012977192577264,y:.08378599999999999},{x:.19269670382412518,y:.13271332265415062},{x:.13408961949133952,y:.23306590258843124},{x:.11021604810185967,y:.3604951889884744}]],1:[[{x:.17556757075794932,y:.5951166967821685},{x:.17573368487361973,y:.586296718297643},{x:.17761729959585784,y:.5776786204828649},{x:.18114602866723137,y:.5695935920037709},{x:.1861842650084615,y:.5623523359706766},{x:.19253839202243023,y:.5562331297919906},{x:.19996422417142623,y:.5514711311294693},{x:.20817639089041826,y:.548249340921154},{x:.21685930321783156,y:.5466915707579493},{x:.225679281702357,y:.5468576848736197},{x:.2342973795171352,y:.5487412995958578},{x:.24238240799622912,y:.5522700286672314},{x:.24962366402932343,y:.5573082650084615},{x:.33662600000000004,y:.6314944876419193},{x:.33662600000000004,y:.051034000000000024},{x:.33749066238185466,y:.042254935509274234},{x:.3400514210369921,y:.033813245543570986},{x:.3442098674463855,y:.026033339514117928},{x:.34980619484660536,y:.019214194846605387},{x:.35662533951411796,y:.013617867446385483},{x:.364405245543571,y:.00945942103699212},{x:.3728469355092743,y:.006898662381854659},{x:.381626,y:.0060340000000000255},{x:.3904050644907258,y:.006898662381854659},{x:.3988467544564291,y:.00945942103699212},{x:.40662666048588214,y:.01361786744638549},{x:.4134458051533947,y:.019214194846605387},{x:.41904213255361455,y:.026033339514117928},{x:.42320057896300795,y:.033813245543570986},{x:.4257613376181454,y:.042254935509274255},{x:.426626,y:.051034000000000024},{x:.426626,y:.729004},{x:.42636789988195944,y:.7316245344755278},{x:.4263183151263803,y:.7342572817023569},{x:.42593657376816557,y:.7360038620015019},{x:.4257613376181454,y:.7377830644907257},{x:.42499695590681574,y:.7403028932959718},{x:.4244347004041422,y:.7428753795171351},{x:.42371955318609683,y:.744513925721078},{x:.42320057896300795,y:.746224754456429},{x:.4219592904188853,y:.7485470419835442},{x:.42090597133276864,y:.7509604079962291},{x:.419884900961423,y:.7524279516932593},{x:.41904213255361455,y:.7540046604858821},{x:.41737163919932724,y:.7560401625275525},{x:.41586773499153856,y:.7582016640293234},{x:.4145799806286405,y:.7594418083381722},{x:.4134458051533947,y:.7608238051533946},{x:.41141030311172405,y:.7624942985076821},{x:.4095136079775698,y:.7643208702080094},{x:.40800865730110464,y:.7652859570783687},{x:.40662666048588214,y:.7664201325536145},{x:.40430437295876726,y:.767661421097737},{x:.4020877758285738,y:.7690828688705307},{x:.4004234632490515,y:.7697358105551997},{x:.3988467544564291,y:.7705785789630079},{x:.39632692565118355,y:.7713429606743374},{x:.3938756091095818,y:.772304659078846},{x:.39211589322607654,y:.7726203633950566},{x:.3904050644907258,y:.7731393376181454},{x:.3877845300151986,y:.7733974377361859},{x:.3851926967821685,y:.7738624292420507},{x:.38340520248922366,y:.7738287638499798},{x:.381626,y:.774004},{x:.37900546552447173,y:.7737458998819594},{x:.376372718297643,y:.7736963151263803},{x:.37462613799849803,y:.7733145737681656},{x:.3728469355092743,y:.7731393376181454},{x:.3703271067040287,y:.7723749559068158},{x:.36775462048286484,y:.7718127004041422},{x:.3661160742789217,y:.7710975531860966},{x:.364405245543571,y:.7705785789630079},{x:.3620829580164563,y:.7693372904188854},{x:.3596695920037709,y:.7682839713327686},{x:.35820204830674063,y:.7672629009614229},{x:.35662533951411796,y:.7664201325536145},{x:.3545898374724472,y:.7647496391993269},{x:.35242833597067663,y:.7632457349915385},{x:.1912283359706766,y:.6257917349915385},{x:.18510912979199054,y:.6194376079775697},{x:.18034713112946932,y:.6120117758285738},{x:.17712534092115398,y:.6037996091095817},{x:.17556757075794932,y:.5951166967821685}]],2:[[{x:.034589999999999996,y:.05195499999999997},{x:.034692251306008066,y:.05091682506774448},{x:.03463809526377374,y:.04987503351343359},{x:.03512383076438082,y:.04653492529109402},{x:.03545466238185463,y:.043175935509274184},{x:.03575748683953214,y:.042177657057450094},{x:.03590761484026801,y:.04114531791601493},{x:.0370356398580977,y:.03796415123181852},{x:.03801542103699209,y:.034734245543570935},{x:.03850718127225641,y:.0338142268532408},{x:.03885582398108696,y:.03283101233894428},{x:.040582789147307716,y:.02993103764454602},{x:.04217386744638545,y:.02695433951411788},{x:.04283566538917773,y:.026147936387598623},{x:.04336942466232366,y:.025251630882832152},{x:.04562896367409083,y:.022744292579413156},{x:.04777019484660536,y:.020135194846605337},{x:.04857659797312457,y:.019473396903813094},{x:.04927496174105457,y:.01869844492647086},{x:.0519802417813102,y:.01668009861889986},{x:.05458933951411791,y:.014538867446385433},{x:.055509358204447995,y:.01404710721112114},{x:.05634548873920743,y:.013423289731094336},{x:.05939254741314285,y:.011971499336069797},{x:.062369245543570956,y:.01038042103699207},{x:.0633675239953951,y:.010077596579314544},{x:.06430928926944049,y:.00962888655251979},{x:.06758102982102647,y:.008799443560749052},{x:.07081093550927423,y:.007819662381854608},{x:.0718491104415297,y:.007717411075846537},{x:.07286031894352762,y:.007461052176974015},{x:.07623101021818018,y:.0072858316174737835},{x:.07959,y:.006954999999999975},{x:.522462,y:.006954999999999975},{x:.5312410644907257,y:.007819662381854608},{x:.539682754456429,y:.01038042103699207},{x:.5474626604858821,y:.014538867446385433},{x:.5542818051533946,y:.020135194846605337},{x:.5598781325536145,y:.02695433951411788},{x:.5640365789630079,y:.034734245543570935},{x:.5665973376181453,y:.043175935509274205},{x:.567462,y:.05195499999999997},{x:.5665973376181453,y:.06073406449072574},{x:.5640365789630079,y:.06917575445642901},{x:.5598781325536145,y:.07695566048588207},{x:.5542818051533946,y:.08377480515339461},{x:.5474626604858821,y:.08937113255361451},{x:.539682754456429,y:.09352957896300787},{x:.5312410644907257,y:.09609033761814534},{x:.522462,y:.09695499999999997},{x:.1815000359059797,y:.09695499999999997},{x:.2783905550735291,y:.2032469617410546},{x:.2792807818102756,y:.20444017254595384},{x:.28031851181367967,y:.20550758629318672},{x:.43775551181367967,y:.4029575862931866},{x:.4393581707982963,y:.4054309283363016},{x:.4411189018513206,y:.4077943501865292},{x:.5036359018513206,y:.5115903501865292},{x:.5044316302389797,y:.5132634494776924},{x:.5054127007337849,y:.5148350555317778},{x:.5063216043693862,y:.5172373109446714},{x:.5074247535047713,y:.5195567934026113},{x:.5078787867151084,y:.5213529834674229},{x:.5085344010842773,y:.5230857889106145},{x:.5229384010842772,y:.5764717889106146},{x:.5230947969602031,y:.5774089507908463},{x:.5233933154704733,y:.5783109589719573},{x:.5238196553887738,y:.5817524776504878},{x:.5243904806061233,y:.5851730002877248},{x:.5243610401661515,y:.586122666187007},{x:.5244778496604383,y:.5870655806061408},{x:.5252778496604383,y:.6189585806061408},{x:.525154398698275,y:.6206444560860672},{x:.5252359209411441,y:.6223328785443973},{x:.5248330095087286,y:.6250334227224941},{x:.5246336028763079,y:.6277565667648055},{x:.5241836259995084,y:.6293859645321488},{x:.5239341869342451,y:.6310578486269935},{x:.5118811869342451,y:.6790048486269935},{x:.5115474759395316,y:.6799350391147754},{x:.5113589931552627,y:.6809051378786065},{x:.5100605296725933,y:.6840797730170447},{x:.5089023081582834,y:.6873082151493771},{x:.5083935381649621,y:.6881554285023456},{x:.5080194201443183,y:.6890701159233712},{x:.5061265656819337,y:.6919304336788418},{x:.5043607612540449,y:.6948708843926746},{x:.5036964840076373,y:.6956025626767983},{x:.5031511078963445,y:.6964266878303904},{x:.4695951078963445,y:.7376876878303904},{x:.46829294792790443,y:.7390014838193654},{x:.46714904955699066,y:.7404551608815331},{x:.46519525859727806,y:.7421268539092958},{x:.4633851429208498,y:.7439531446668906},{x:.4618516947085211,y:.7449876576267703},{x:.4604461776978856,y:.7461902391902692},{x:.4582037971525157,y:.7474486453977692},{x:.45607217068925404,y:.7488867084403534},{x:.4543663637878686,y:.7496021826182516},{x:.45275324136800726,y:.7505074541480116},{x:.3913892413680073,y:.7774134541480116},{x:.3883140702117422,y:.7784156528007931},{x:.3852957573995619,y:.7795779210778271},{x:.3841283231887951,y:.779779788263216},{x:.3830018757962646,y:.7801468976050565},{x:.3797902739335826,y:.7805299031606142},{x:.3766032098633093,y:.781080995160135},{x:.2948022098633093,y:.7870669951601349},{x:.29450281220893076,y:.7870594704966325},{x:.2942070489499988,y:.7871065838776864},{x:.29009611613079095,y:.7869487184427649},{x:.2859834519838158,y:.7868453561974301},{x:.28569127516043946,y:.7867795665334233},{x:.28539200354491423,y:.7867680740946454},{x:.2381110035449142,y:.7802710740946455},{x:.2365476307297285,y:.7798972084805876},{x:.2349498387179436,y:.7797212234138579},{x:.23226739693423346,y:.7788736316211718},{x:.2295313767481002,y:.7782193386355017},{x:.22807098126622102,y:.7775476578384392},{x:.22653822336325463,y:.7770633405173258},{x:.15287222336325462,y:.7455503405173259},{x:.15277120515837472,y:.7454948388638573},{x:.15266147866932564,y:.7454595513468599},{x:.14890641990559073,y:.7433714396994592},{x:.14514076206912752,y:.7413025033471496},{x:.1450525127361761,y:.7412283604682699},{x:.14495177886390068,y:.7411723444149347},{x:.14167624287507044,y:.7383917796239132},{x:.1383865705572421,y:.7356279539035645},{x:.138314481468594,y:.7355380190685297},{x:.13822661135931125,y:.7354634271443719},{x:.09327661135931127,y:.6889934271443718},{x:.09215967204365061,y:.6875853345117547},{x:.09088652507606766,y:.6863167230283468},{x:.0894249598835053,y:.6841377631074377},{x:.0877944205712414,y:.6820821900242812},{x:.08697364817646357,y:.6804832494460014},{x:.08597245819367963,y:.6789906353246448},{x:.0849640705590952,y:.6765684062835642},{x:.08376588401722862,y:.6742342280213215},{x:.08327282036617045,y:.6725058858871059},{x:.08258206253775009,y:.6708466294514168},{x:.06737006253775008,y:.6210196294514168},{x:.06563362911198059,y:.61237067498716},{x:.06561788807912042,y:.6035491464015462},{x:.0673234443582347,y:.5948940500909503},{x:.07068475437800403,y:.5867379965527546},{x:.07557264487941309,y:.5793944183504645},{x:.08179927697165325,y:.5731455250760676},{x:.08912536467535526,y:.5682314581936796},{x:.09726937054858317,y:.56484106253775},{x:.10591832501283995,y:.5631046291119806},{x:.11473985359845373,y:.5630888880791204},{x:.12339494990904962,y:.5647944443582347},{x:.13155100344724535,y:.568155754378004},{x:.13889458164953555,y:.5730436448794131},{x:.14514347492393234,y:.5792702769716532},{x:.15005754180632036,y:.5865963646753553},{x:.1534479374622499,y:.5947403705485832},{x:.16549687462406137,y:.6342067386764809},{x:.19660916323298405,y:.666371100226128},{x:.2563653288901179,y:.6919337213587163},{x:.29295461470925055,y:.696961546277117},{x:.3623268316838737,y:.6918850546595318},{x:.40664087103378327,y:.672454875030618},{x:.4270299373286165,y:.6473841495451277},{x:.4351521014718352,y:.6150740687208592},{x:.4346413299816387,y:.5947115247998124},{x:.4232850296720603,y:.5526213103922067},{x:.3655461500158852,y:.45675834907300783},{x:.21087613207581168,y:.2627785664153893},{x:.04633344492647088,y:.0822700382589454},{x:.04431509861889995,y:.07956475821868986},{x:.04217386744638545,y:.07695566048588207},{x:.04168210721112112,y:.0760356417955519},{x:.04105828973109435,y:.07519951126079251},{x:.03960649933606985,y:.07215245258685718},{x:.03801542103699209,y:.06917575445642901},{x:.037712596579314576,y:.0681774760046049},{x:.037263886552519804,y:.06723571073055948},{x:.036434443560749034,y:.06396397017897336},{x:.03545466238185463,y:.06073406449072574},{x:.03535241107584656,y:.059695889558470286},{x:.035096052176974035,y:.05868468105647236},{x:.03492083161747381,y:.05531398978181981},{x:.034589999999999996,y:.05195499999999997}]],3:[[{x:.02624429558875499,y:.07454886751538828},{x:.02628189246403191,y:.06572740500388341},{x:.028039748887915363,y:.057082779207475086},{x:.03145031142385274,y:.04894719824755728},{x:.036382514066253493,y:.04163330793793327},{x:.042646815033581253,y:.035422176981524986},{x:.05000248075272204,y:.030552495657744837},{x:.05816683711519421,y:.027211403088916904},{x:.11448783711519421,y:.010388403088916982},{x:.11753114712885143,y:.009796523380387901},{x:.12053464064709668,y:.009027703431080128},{x:.20267064064709667,y:-.0035892965689199724},{x:.20562630159751,y:-.003749783589053152},{x:.20856537842676282,y:-.004101230781641964},{x:.30947437842676284,y:-.00620423078164193},{x:.31075400531193675,y:-.006105070212514369},{x:.31203499449415534,y:-.0061847225744922005},{x:.3151428517207607,y:-.005764970678224511},{x:.3182695531731509,y:-.005522677007230838},{x:.31950524711917533,y:-.005175778959545043},{x:.3207771618583987,y:-.005003992231664048},{x:.3829651618583987,y:.009716007768336019},{x:.3849642059743718,y:.010402067561162992},{x:.38702295869345676,y:.010879972006216251},{x:.389126076828856,y:.011830396347599064},{x:.3913090018652735,y:.012579562954916447},{x:.3931357912831918,y:.013642434461507345},{x:.39506175111398195,y:.014512798837572657},{x:.47719975111398194,y:.06182779883757265},{x:.47924722409526294,y:.06329195880211928},{x:.48141099047099317,y:.06457804786673271},{x:.4828265323572166,y:.06585154318044145},{x:.484375351035892,y:.06695911252196202},{x:.4860978389589892,y:.06879458122658251},{x:.48796912564078,y:.07047808832945178},{x:.54077112564078,y:.12830608832945176},{x:.5409949120745448,y:.12860551518367325},{x:.5412686389329152,y:.1288600940829806},{x:.5436334835107667,y:.13213593090859313},{x:.5460522072884215,y:.13537218987116906},{x:.5462132784472015,y:.1357095218897727},{x:.546432079841298,y:.13601261058785885},{x:.5481124005325159,y:.13968686141763526},{x:.5498532864078638,y:.14333280617235186},{x:.5499454524173568,y:.14369507987504085},{x:.5501009199323095,y:.14403503084321223},{x:.5735679199323094,y:.2123790308432122},{x:.5742003382158373,y:.21504899342087444},{x:.5750294951185407,y:.21766455299430504},{x:.5752146521018063,y:.21933125436759},{x:.575601167738761,y:.22096305773765262},{x:.575700550423256,y:.22370509641963415},{x:.5760035049491392,y:.22643215923642232},{x:.5758599468852712,y:.22810295774565637},{x:.5759206866877095,y:.2297788119316045},{x:.5754832145523405,y:.2324875517091097},{x:.575248324328873,y:.23522131827456078},{x:.563515324328873,y:.2983063182745607},{x:.5624930457986839,y:.30183400865706583},{x:.561587550163308,y:.3053934651440046},{x:.5612670272694029,y:.3060647673464004},{x:.5610599744254687,y:.30677926765590185},{x:.5593691204378909,y:.31003973780923805},{x:.5577866081350055,y:.3133541469027738},{x:.5573412794357957,y:.31395001930700017},{x:.5569988129587381,y:.31461039668740554},{x:.5547043620842722,y:.317478348572073},{x:.5525056481741942,y:.32042033938948294},{x:.4997036481741942,y:.378250339389483},{x:.4970091109540712,y:.38067456957783247},{x:.49440132723244246,y:.38319188697894757},{x:.4937347452782226,y:.3836204617554604},{x:.49314561461057166,y:.3841504927896343},{x:.49002990831948917,y:.38600246394071897},{x:.48698112816844114,y:.387962658427834},{x:.4171684643874312,y:.4237087345514058},{x:.48487098803351525,y:.4540412587201935},{x:.4882241875669253,y:.4559584413246188},{x:.4916233115558361,y:.4577929691542233},{x:.4920492459188098,y:.45814540790983926},{x:.4925291804180174,y:.45841980913886743},{x:.49544392539098053,y:.4609543303938907},{x:.49841983754054403,y:.46341674447922576},{x:.545354837540544,y:.5107317444792258},{x:.5454749496657809,y:.5108793107625336},{x:.5456205162109946,y:.5110018387655073},{x:.548258239278959,y:.5142987798858712},{x:.5509236260451226,y:.5175733969812307},{x:.5510126414958236,y:.5177415605329735},{x:.5511315069931322,y:.5178901328189077},{x:.5530753456471339,y:.5216383183828395},{x:.5550506716503533,y:.525370005791429},{x:.5551051696126684,y:.5255523041806199},{x:.555192766127671,y:.525721211199887},{x:.5563680197383496,y:.5297766005381628},{x:.5575773743081012,y:.5338219516056334},{x:.5575952604559016,y:.5340113792074108},{x:.557648221703651,y:.5341941299579837},{x:.569382221703651,y:.5972801299579837},{x:.5696549699390315,y:.6004540423597167},{x:.5701008412017201,y:.6036082951002054},{x:.5700318821169291,y:.6048400880993865},{x:.5701375119403227,y:.6060692795769916},{x:.5697858198023349,y:.6092354166829699},{x:.5696077595908724,y:.6124160465097288},{x:.5692998146426919,y:.6136107177017713},{x:.5691636114574624,y:.614836897966064},{x:.5682009942777376,y:.6178735869028962},{x:.5674058453461934,y:.6209583639953996},{x:.5668707486862845,y:.622070002836373},{x:.5664979467044567,y:.623246050467446},{x:.5649613973213707,y:.6260365929822823},{x:.5635797167972587,y:.6289069710868302},{x:.5283787167972587,y:.6867359710868302},{x:.526364685994031,y:.6894131274243959},{x:.524479650893362,y:.6921826271628648},{x:.5237177195860089,y:.6929316152663909},{x:.5230754099184859,y:.6937854072711274},{x:.5205777908604191,y:.6960182048823972},{x:.5181886735848373,y:.6983667373551676},{x:.4595186735848373,y:.7456807373551677},{x:.45627545779875317,y:.7478078267647688},{x:.4530837115337172,y:.7500113951823929},{x:.4525909707504246,y:.7502243275150239},{x:.4521421155924859,y:.7505187128152536},{x:.44854624273044896,y:.7519722107862162},{x:.4449859301027389,y:.7535107594479447},{x:.362848930102739,y:.7797967594479446},{x:.36158078031831586,y:.7800691142952486},{x:.3603625229719573,y:.7805143446587972},{x:.35727696699365546,y:.7809934249999153},{x:.35422405316989464,y:.781649085623381},{x:.352927136733123,y:.7816688034988555},{x:.3516454277250751,y:.7818678086678129},{x:.2577774277250751,y:.7871168086678129},{x:.2534831925795917,y:.7869349938938289},{x:.24918809681378723,y:.7867747925856998},{x:.2490774333618657,y:.786748457272228},{x:.24896378128970398,y:.7867436453266514},{x:.24478752897123962,y:.7857275603552258},{x:.2406062159909945,y:.7847325056542677},{x:.16433721599099446,y:.7584545056542678},{x:.1612047546311144,y:.7570179671101032},{x:.15801334200327716,y:.7557176430739929},{x:.09817134200327716,y:.7241756430739928},{x:.09479788711775466,y:.721949723610623},{x:.09138819905405325,y:.7197797137879894},{x:.05384019905405325,y:.6903397137879895},{x:.04746503339724546,y:.6842424293748122},{x:.0424018859405069,y:.677018569451043},{x:.0388453306011542,y:.6689457429023652},{x:.036932043806339465,y:.6603341839257509},{x:.036735552094603836,y:.6515148299032538},{x:.03826340653223549,y:.6428266036640077},{x:.041456892530026886,y:.6346033888699733},{x:.046193286212010486,y:.6271611990540533},{x:.05229057062518783,y:.6207860333972455},{x:.05951443054895701,y:.615722885940507},{x:.06758725709763488,y:.6121663306011542},{x:.07619881607424907,y:.6102530438063395},{x:.08501817009674617,y:.6100565520946039},{x:.09370639633599236,y:.6115844065322356},{x:.1019296111300268,y:.6147778925300269},{x:.10937180094594674,y:.6195142862120105},{x:.14372643260130716,y:.6464504840370294},{x:.1969218011618275,y:.6744891243755197},{x:.2615721948597163,y:.6967640072977177},{x:.3408866683163358,y:.6923288252210377},{x:.40955721054777616,y:.6703524458415177},{x:.4555820596629536,y:.6332360369266462},{x:.477752059875079,y:.596814658492312},{x:.4716998550115053,y:.5642759337587675},{x:.44042564505409965,y:.532748518309004},{x:.3700728058889163,y:.5012285825754976},{x:.28267158635688694,y:.4816496665818946},{x:.2026156257994338,y:.47140070238604853},{x:.19958923290487823,y:.4707064281346213},{x:.19652752938874105,y:.4701896668089735},{x:.19529880233776667,y:.46972217540403877},{x:.1940174323454584,y:.4694282207777866},{x:.19118463692903986,y:.4681568668470777},{x:.18828257832087977,y:.4670527262205195},{x:.18716866396437967,y:.46635450477580015},{x:.18596926283986664,y:.4658162155208443},{x:.1834389276407875,y:.4640166393294268},{x:.18080803842542348,y:.46236755090702814},{x:.17985174386742717,y:.4614654316810775},{x:.17878040392329292,y:.4607034939516098},{x:.17664976830422657,y:.45844485220330683},{x:.1743911520787843,y:.45631418952832026},{x:.17362922718285934,y:.45524284045707714},{x:.17272711941234267,y:.45428653509274164},{x:.17107806250525512,y:.45165562612327925},{x:.16927851662463225,y:.44912526936741537},{x:.1687402417372368,y:.44792586179486843},{x:.1680420336360506,y:.4468119390745141},{x:.1669379277730794,y:.44390986724015796},{x:.1656666077762714,y:.4410770565945043},{x:.16537266849946,y:.43979568308103084},{x:.16490519181337332,y:.438566950430106},{x:.16438846716364272,y:.4355052407239498},{x:.16369422916516244,y:.43247883951296023},{x:.16365592142049992,y:.43116474252408066},{x:.16343714101639506,y:.42986841944927895},{x:.1635276550184117,y:.4267647316583033},{x:.16343717819520762,y:.42366104278329114},{x:.1636559741278381,y:.4223647223293339},{x:.1636942976139514,y:.42105062579943375},{x:.1643885718653787,y:.41802423290487795},{x:.16490533319102646,y:.414962529388741},{x:.1653728245959611,y:.41373380233776696},{x:.1656667792222133,y:.41245243234545836},{x:.1669381331529224,y:.40961963692903947},{x:.16804227377948042,y:.40671757832087974},{x:.16874049522419982,y:.4056036639643795},{x:.16927878447915568,y:.4044042628398666},{x:.17107836067057278,y:.40187392764078794},{x:.1727274490929718,y:.3992430384254234},{x:.17362956831892262,y:.3982867438674269},{x:.17439150604839013,y:.3972154039232929},{x:.1766501477966929,y:.39508476830422673},{x:.1787808104716797,y:.39282615207878424},{x:.17985215954292283,y:.39206422718285927},{x:.18080846490725827,y:.39116211941234263},{x:.18343937387672077,y:.38951306250525497},{x:.18596973063258454,y:.3877135166246322},{x:.18716913820513145,y:.3871752417372368},{x:.1882830609254858,y:.38647703363605057},{x:.19118513275984234,y:.3853729277730792},{x:.19401794340549564,y:.3841016077762714},{x:.19529931691896882,y:.38380766849946},{x:.19652804956989395,y:.38334019181337325},{x:.19958975927605035,y:.38282346716364263},{x:.20261616048703973,y:.3821292291651624},{x:.28149235433605535,y:.37203226198800626},{x:.3678476199052635,y:.34785057975990136},{x:.4387239808422848,y:.31155986033736477},{x:.4773813812672204,y:.26922136053481893},{x:.48460036747312013,y:.2304069273293995},{x:.4680118822440525,y:.1820955353962423},{x:.4262197745588727,y:.1363254129914362},{x:.35583608100487274,y:.09578139608686695},{x:.3056218275014876,y:.083895601213743},{x:.2134048551529998,y:.08581745449589688},{x:.13726972612583144,y:.09751265420048184},{x:.0839251628848058,y:.11344659691108305},{x:.0752658675153883,y:.11513070441124498},{x:.06644440500388343,y:.11509310753596806},{x:.05779977920747511,y:.11333525111208462},{x:.0496641982475573,y:.10992468857614723},{x:.04235030793793329,y:.10499248593374648},{x:.036139176981525016,y:.09872818496641873},{x:.03126949565774486,y:.09137251924727793},{x:.027928403088916927,y:.08320816288480577},{x:.02624429558875499,y:.07454886751538828}]],4:[[{x:.003828000000000005,y:.27580099999999996},{x:.0040512821902059844,y:.2735339778783202},{x:.004058111165048277,y:.2712559968420181},{x:.004482570943879651,y:.26915502967601196},{x:.004692662381854638,y:.26702193550927417},{x:.005353928343121064,y:.26484203377636983},{x:.005805038155045426,y:.26260915577382815},{x:.0066312204192078995,y:.26063136609773396},{x:.0072534210369921,y:.25858024554357095},{x:.008327258689269697,y:.2565712366005347},{x:.009205313441189196,y:.2544692698811785},{x:.010401468469599332,y:.25269066304309135},{x:.011411867446385462,y:.25080033951411784},{x:.01285700981091242,y:.2490394284479652},{x:.014128266351129452,y:.24714915041402313},{x:.01564842657685691,y:.24563807727727646},{x:.017008194846605366,y:.24398119484660533},{x:.018769105912757822,y:.24253605248207852},{x:.020384710565360974,y:.24093010545831445},{x:.022170457083446928,y:.23974463571613375},{x:.023827339514117918,y:.23838486744638543},{x:.025836348457154004,y:.2373110297941079},{x:.027734214441385185,y:.2360511294240198},{x:.029716922014597604,y:.23523682001377813},{x:.031607245543570965,y:.23422642103699207},{x:.03378714727647517,y:.23356515507572567},{x:.03589434066689576,y:.23269971862397582},{x:.03799781495511128,y:.23228786299963877},{x:.040048935509274235,y:.2316656623818546},{x:.04231595763095386,y:.23144238019164864},{x:.0445515001672978,y:.23100466589573537},{x:.046694905833262405,y:.23101109143797494},{x:.048828,y:.23080099999999998},{x:.36918100000000004,y:.23080099999999998},{x:.36918100000000004,y:.05103000000000002},{x:.37004566238185466,y:.04225093550927423},{x:.3726064210369921,y:.03380924554357098},{x:.3767648674463855,y:.026029339514117924},{x:.38236119484660536,y:.019210194846605383},{x:.38918033951411796,y:.013613867446385479},{x:.396960245543571,y:.009455421036992116},{x:.4054019355092743,y:.006894662381854655},{x:.414181,y:.0060300000000000215},{x:.4229600644907258,y:.006894662381854655},{x:.4314017544564291,y:.009455421036992116},{x:.43918166048588214,y:.013613867446385486},{x:.4460008051533947,y:.019210194846605383},{x:.45159713255361456,y:.026029339514117924},{x:.45575557896300795,y:.03380924554357098},{x:.4583163376181454,y:.04225093550927425},{x:.459181,y:.05103000000000002},{x:.459181,y:.23080099999999998},{x:.553224,y:.23080099999999998},{x:.5620030644907258,y:.2316656623818546},{x:.5704447544564291,y:.23422642103699207},{x:.5782246604858822,y:.23838486744638543},{x:.5850438051533947,y:.24398119484660533},{x:.5906401325536146,y:.25080033951411784},{x:.5947985789630079,y:.25858024554357095},{x:.5973593376181454,y:.26702193550927417},{x:.5982240000000001,y:.27580099999999996},{x:.5973593376181454,y:.28458006449072576},{x:.5947985789630079,y:.293021754456429},{x:.5906401325536146,y:.3008016604858821},{x:.5850438051533947,y:.3076208051533946},{x:.5782246604858822,y:.3132171325536145},{x:.5704447544564291,y:.3173755789630079},{x:.5620030644907258,y:.31993633761814533},{x:.553224,y:.32080099999999995},{x:.459181,y:.32080099999999995},{x:.459181,y:.421833},{x:.4583163376181454,y:.4306120644907258},{x:.45575557896300795,y:.439053754456429},{x:.45159713255361456,y:.4468336604858821},{x:.4460008051533947,y:.4536528051533947},{x:.43918166048588214,y:.45924913255361455},{x:.4314017544564291,y:.4634075789630079},{x:.4229600644907258,y:.4659683376181454},{x:.414181,y:.466833},{x:.4054019355092743,y:.4659683376181454},{x:.396960245543571,y:.4634075789630079},{x:.38918033951411796,y:.45924913255361455},{x:.38236119484660536,y:.4536528051533947},{x:.3767648674463855,y:.4468336604858821},{x:.3726064210369921,y:.439053754456429},{x:.37004566238185466,y:.4306120644907258},{x:.36918100000000004,y:.421833},{x:.36918100000000004,y:.32080099999999995},{x:.1436046917940101,y:.32080099999999995},{x:.4533648945416855,y:.700560710565361},{x:.45824387057598015,y:.7079102144413851},{x:.4615952813760241,y:.7160703406668958},{x:.46329033410426457,y:.7247275001672978},{x:.46326388883495173,y:.7335490031579818},{x:.46151696184495455,y:.7421958442261718},{x:.45811668655881077,y:.7503357301188214},{x:.4531937336488705,y:.7576558495859769},{x:.446937289434639,y:.7638748945416856},{x:.4395877855586148,y:.7687538705759801},{x:.43142765933310423,y:.7721052813760241},{x:.42277049983270215,y:.7738003341042645},{x:.41394899684201814,y:.7737738888349517},{x:.40530215577382817,y:.7720269618449546},{x:.39716226988117853,y:.7686266865588108},{x:.38984215041402315,y:.7637037336488706},{x:.38362310545831446,y:.757447289434639},{x:.013957105458314502,y:.304244289434639},{x:.012771635716133971,y:.30245854291655333},{x:.011411867446385462,y:.3008016604858821},{x:.010338029794107799,y:.29879265154284573},{x:.009078129424019837,y:.29689478555861476},{x:.008263820013778204,y:.2949120779854024},{x:.0072534210369921,y:.293021754456429},{x:.006592155075725704,y:.29084185272352475},{x:.005726718623975863,y:.2887346593331042},{x:.0053148629996388475,y:.28663118504488877},{x:.004692662381854638,y:.28458006449072576},{x:.00446938019164866,y:.282313042369046},{x:.00403166589573542,y:.2800774998327022},{x:.00403809143797499,y:.27793409416673776},{x:.003828000000000005,y:.27580099999999996}]],5:[[{x:.029951000000000005,y:.38529899999999995},{x:.030026331329377584,y:.3845341481773043},{x:.029977079633894697,y:.38376717530271315},{x:.030458063889865227,y:.38015069392879464},{x:.03081566238185464,y:.37651993550927415},{x:.03103876142924568,y:.3757844765131909},{x:.03114008507636279,y:.3750226322781917},{x:.0323173678705276,y:.3715694759531816},{x:.0333764210369921,y:.36807824554357094},{x:.033738714231120716,y:.3674004426508694},{x:.033986719409902104,y:.366673004302166},{x:.03581505842470893,y:.3635158758870829},{x:.03753486744638546,y:.3602983395141178},{x:.03802243206297786,y:.35970424030984804},{x:.03840758807348568,y:.3590391628952293},{x:.04081672126593952,y:.35629938906452685},{x:.04313119484660537,y:.3534791948466053},{x:.04372529405087513,y:.3529916302300129},{x:.04423279956362368,y:.3524144723015426},{x:.04713014529619686,y:.3501973410270508},{x:.04995033951411792,y:.3478828674463854},{x:.05062814240681941,y:.3475205742522568},{x:.05123849426956635,y:.347053515665452},{x:.054512709170605814,y:.34544423005866864},{x:.057730245543570965,y:.343724421036992},{x:.05846570453965444,y:.3435013219896009},{x:.05915544727260316,y:.34316231154402344},{x:.06268070509966306,y:.34222271554831923},{x:.06617193550927424,y:.3411636623818546},{x:.0669367873319697,y:.34108833105247705},{x:.06767941450870582,y:.34089039672943083},{x:.07132024158048059,y:.34065659849198926},{x:.074951,y:.34029899999999996},{x:.0757158518226955,y:.3403743313293775},{x:.07648282469728679,y:.34032507963389463},{x:.08009930607120508,y:.3408060638898651},{x:.08373006449072577,y:.3411636623818546},{x:.0844655234868091,y:.3413867614292456},{x:.08522736772180821,y:.34148808507636275},{x:.2701097088502776,y:.3848544225750548},{x:.39095673206080095,y:.3699215697302287},{x:.4312208460684155,y:.34735587040502247},{x:.4569274445394237,y:.3179203076157562},{x:.4808881134259603,y:.2201177906149206},{x:.47151862074291284,y:.1781066999956386},{x:.4461217481742335,y:.14395206669668215},{x:.3876788357927069,y:.10680533743499816},{x:.3169820044514503,y:.08634947983662909},{x:.2505487358362677,y:.08307118781270932},{x:.19638270317906092,y:.09339965838335124},{x:.15518503458472022,y:.11245499400015477},{x:.1051531598037562,y:.15775209985578706},{x:.09806479623887651,y:.16300326318775482},{x:.09008818244690309,y:.16677065575830224},{x:.0815298552225249,y:.16890949878372125},{x:.07271870628140957,y:.16933759772602197},{x:.06399334313601493,y:.16803850098293246},{x:.05568907659877849,y:.16506213211374782},{x:.04812503497563989,y:.16052287130494386},{x:.041591900144212934,y:.15459515980375618},{x:.03634073681224515,y:.1475067962388765},{x:.03257334424169774,y:.13953018244690307},{x:.03043450121627874,y:.13097185522252489},{x:.03000640227397801,y:.12216070628140954},{x:.031305499017067515,y:.1134353431360149},{x:.034281867886252176,y:.10513107659877846},{x:.03882112869505611,y:.09756703497563987},{x:.044748840196243804,y:.09103390014421289},{x:.09986584019624378,y:.041132900144212926},{x:.10178680031290575,y:.03970982481314967},{x:.10357183338498165,y:.03811957700249835},{x:.10532248536915285,y:.037090537646117014},{x:.10695420376112348,y:.035881736812245144},{x:.10911588139237749,y:.0348607662023731},{x:.11117685751196796,y:.03364931723433351},{x:.16362485751196798,y:.009390317234333478},{x:.1646572774363771,y:.009030847933342759},{x:.16562545909873666,y:.008523173483185618},{x:.16881529925253239,y:.0075831025339957205},{x:.1719558576504946,y:.006489618860012841},{x:.17303856889723523,y:.006338471796353147},{x:.17408718959239433,y:.0060294350406820685},{x:.23897018959239436,y:-.00634256495931787},{x:.2399001168767359,y:-.006426714843400178},{x:.24080591100583193,y:-.006653392925378379},{x:.24428588214420577,y:-.0068235863462415185},{x:.247755834543085,y:-.007137585190079683},{x:.24868431036339586,y:-.007038698344381461},{x:.24961692261229596,y:-.007084309202250054},{x:.32666292261229596,y:-.003282309202250082},{x:.32746661284147915,y:-.0031629125067284265},{x:.32827905619988357,y:-.00317336931171093},{x:.3318231917274382,y:-.002515696572186591},{x:.33538870069659477,y:-.001986002452099067},{x:.33615365510360457,y:-.0017121077449900682},{x:.3369525276121403,y:-.0015638637889859724},{x:.4188855276121403,y:.02214313621101406},{x:.4207304127428032,y:.02287964098341223},{x:.42264402370761556,y:.023412682727046455},{x:.4248170355152836,y:.024511079778651145},{x:.4270783417525648,y:.02541382586724525},{x:.42874409297954025,y:.02649609814118395},{x:.43051694316083267,y:.027392224616519634},{x:.5014129431608326,y:.07245422461651957},{x:.5044011686844615,y:.0747943741105689},{x:.5074525565132345,y:.07705154573740032},{x:.5078697672823866,y:.07751071502587484},{x:.5083582165656543,y:.07789323111579813},{x:.5108324836553944,y:.0807713891731658},{x:.5133848875831327,y:.08358048611421783},{x:.5494628875831328,y:.1320994861142178},{x:.5497798823390716,y:.1326268676033582},{x:.5501811109693575,y:.13309337858567127},{x:.5520495631508493,y:.13640291633591076},{x:.5540074974944301,y:.13966031511116345},{x:.5542155142604781,y:.14023940572188273},{x:.5545180216173755,y:.1407752286491667},{x:.5557049132287019,y:.14438569149730107},{x:.5569897394368822,y:.14796247431004633},{x:.5570807842453774,y:.1485710199149322},{x:.5572729451408087,y:.14915556341258465},{x:.5710219451408087,y:.2108035634125847},{x:.5712046210163666,y:.21230267395853206},{x:.5715791512667351,y:.2137656948046034},{x:.571736996194895,y:.21667155541097086},{x:.5720890113736304,y:.2195603313107129},{x:.5719757152243157,y:.2210662751632623},{x:.5720576277729665,y:.2225742517011615},{x:.5716455344736617,y:.2254550710286549},{x:.5714272135589309,y:.2283570146640783},{x:.5710222992922247,y:.22981191924551903},{x:.5708084462858501,y:.23130690078257787},{x:.5417354462858501,y:.3499769007825779},{x:.5411002871662289,y:.3517814599872898},{x:.540669734049328,y:.3536454570484658},{x:.5396393400617131,y:.355932176655931},{x:.5388066121493867,y:.3582980512419798},{x:.5378316053978042,y:.3599440229503987},{x:.537045677451414,y:.361688207084494},{x:.5355889653307644,y:.36372996812105773},{x:.5343106788169316,y:.36588792593376723},{x:.5330332933960605,y:.36731205637621067},{x:.5319221933904076,y:.36886939956510134},{x:.49389619339040763,y:.4124113995651013},{x:.49150876583293945,y:.41465677330496736},{x:.4892379705562563,y:.41702003426923534},{x:.48830169237996507,y:.41767302336482964},{x:.48747017448549057,y:.4184550652905171},{x:.4846905699931398,y:.420191530792605},{x:.4820023580684325,y:.4220663721783498},{x:.4272473580684325,y:.4527533721783498},{x:.42330567688981036,y:.45447898255061825},{x:.4193723578126433,y:.45622356923745777},{x:.4192660752068488,y:.4562474610875831},{x:.4191662841579818,y:.4562911481493166},{x:.41496369139475175,y:.45721461755172516},{x:.4107655979622113,y:.4581583300092093},{x:.27317359796221125,y:.47516033000920926},{x:.26964530070808584,y:.4752477446385603},{x:.2661231753027132,y:.4754739203661053},{x:.26524270860794985,y:.4753568201865933},{x:.26435476148695686,y:.47537881934450843},{x:.2608772057270339,y:.4747762176787918},{x:.2573786322781918,y:.4743109149236372},{x:.119951,y:.44207564006371447},{x:.119951,y:.684004},{x:.527101,y:.684004},{x:.5358800644907258,y:.6848686623818546},{x:.544321754456429,y:.6874294210369921},{x:.5521016604858822,y:.6915878674463855},{x:.5589208051533947,y:.6971841948466053},{x:.5645171325536146,y:.7040033395141179},{x:.5686755789630079,y:.711783245543571},{x:.5712363376181454,y:.7202249355092742},{x:.5721010000000001,y:.729004},{x:.5712363376181454,y:.7377830644907257},{x:.5686755789630079,y:.746224754456429},{x:.5645171325536146,y:.7540046604858821},{x:.5589208051533947,y:.7608238051533946},{x:.5521016604858822,y:.7664201325536145},{x:.544321754456429,y:.7705785789630079},{x:.5358800644907258,y:.7731393376181454},{x:.527101,y:.774004},{x:.074951,y:.774004},{x:.06617193550927424,y:.7731393376181454},{x:.05773024554357094,y:.7705785789630079},{x:.04995033951411792,y:.7664201325536145},{x:.04313119484660537,y:.7608238051533946},{x:.03753486744638546,y:.7540046604858821},{x:.0333764210369921,y:.746224754456429},{x:.03081566238185464,y:.7377830644907257},{x:.029951000000000005,y:.729004},{x:.029951000000000005,y:.38529899999999995}]],6:[[{x:.01994450211145162,y:.2755194646798348},{x:.020758274672659796,y:.26806396163938684},{x:.0201773643330274,y:.24423363638780976},{x:.020440223451033163,y:.2406784570189078},{x:.020568639264984916,y:.237115887070161},{x:.02076496657089406,y:.23628629421823594},{x:.02082782677693791,y:.23543610758842642},{x:.021779216218601925,y:.23200052126419074},{x:.022600187477202785,y:.22853145778054884},{x:.04459918747720279,y:.16442145778054884},{x:.04602253566469808,y:.16130748249724527},{x:.047307319174730654,y:.15813382633120915},{x:.06831231917473066,y:.11806482633120913},{x:.06934150993632018,y:.11649740482650416},{x:.07018719324152095,y:.11482382676006757},{x:.07175673818837072,y:.11281909673987861},{x:.07315419088510985,y:.11069082519836773},{x:.0744693948008918,y:.10935430641546007},{x:.07562532742241568,y:.1078778703106287},{x:.1253733274224157,y:.055788870310628645},{x:.12585541612958862,y:.055374327647901005},{x:.12626130847256478,y:.0548849335871293},{x:.1291958120945167,y:.0525019586891126},{x:.1320620582603259,y:.05003730581521479},{x:.13261575702973094,y:.04972477931463493},{x:.1331093263100589,y:.049323974491408525},{x:.1861743263100589,y:.014262974491408516},{x:.18683955107784095,y:.013911818906951787},{x:.187438960697758,y:.013457349607970202},{x:.1907349034619545,y:.011855559414887177},{x:.19397565070571454,y:.010144849670490022},{x:.19469660042216425,y:.009930220356283175},{x:.19537315511619574,y:.009601422573216056},{x:.19891826102894206,y:.008673416864759805},{x:.2024304811380398,y:.007627816351770726},{x:.20317945010986724,y:.007557961391993223},{x:.20390715026053782,y:.0073674706392518954},{x:.2857161502605378,y:-.005654529360748083},{x:.2860775594607644,y:-.005676122674759226},{x:.28642923596273784,y:-.0057621838110407525},{x:.2904772893795591,y:-.005938995755027237},{x:.2945219894833068,y:-.006180656673914681},{x:.2948806669536751,y:-.006131327641200151},{x:.2952423757850646,y:-.006147126454864343},{x:.38700037578506463,y:-.001139126454864331},{x:.39074801870473747,y:-.000562375362895672},{x:.3945101708776463,y:-8942684208443352e-20},{x:.395102371884912,y:.00010774663253235539},{x:.3957192721812796,y:.00020268575218489876},{x:.39928238663684656,y:.0014994835976446027},{x:.4028799824314506,y:.002697304024131271},{x:.47474098243145063,y:.03475230402413133},{x:.4764407459001163,y:.03572046389197228},{x:.4782361407270164,y:.03649705052245801},{x:.48026428101539703,y:.03789829234877595},{x:.4824063061811086,y:.03911835786940705},{x:.4838845305509628,y:.04039952221931584},{x:.48549392283388365,y:.041511451110380196},{x:.5363469228338836,y:.08458545111038014},{x:.5369424578291695,y:.08519979361043255},{x:.5376274627831791,y:.08571247952886965},{x:.5400078699953618,y:.08836201411598918},{x:.5424869876672573,y:.09091942444541115},{x:.5429512273484354,y:.09163814564059086},{x:.5435230500634102,y:.09227461827992436},{x:.5453408198626901,y:.09533763721244376},{x:.5472733759789791,y:.0983295594844189},{x:.5475884798754501,y:.09912503932225875},{x:.5480251455251356,y:.09986083939589693},{x:.5756631455251356,y:.15896283939589692},{x:.5756676990332947,y:.1589757429605767},{x:.575674675284325,y:.15898751446598428},{x:.5771354507402345,y:.1631350040011944},{x:.5785987361645655,y:.16728160865370237},{x:.5786006848177536,y:.16729515262537814},{x:.5786052305152959,y:.16730805894366996},{x:.5792288025114348,y:.17166083878445604},{x:.5798550088797246,y:.1760132404159827},{x:.5798542777922926,y:.17602690430741857},{x:.5798562182477396,y:.17604044945602063},{x:.5820672182477395,y:.2261264494560206},{x:.5819074721227447,y:.22907858468741052},{x:.5819395990078049,y:.232034864293962},{x:.5816696541741431,y:.23347350033714379},{x:.5815905637246603,y:.23493510513282764},{x:.580857954063737,y:.2377993509905685},{x:.5803127220992973,y:.2407050941577823},{x:.5648357220992973,y:.2937960941577823},{x:.5632290277642941,y:.2977974374258546},{x:.5616400226499054,y:.30180583827676916},{x:.5384240226499054,y:.3468838382767692},{x:.5373215489467563,y:.3485896803397862},{x:.5364060617863755,y:.35040275195151915},{x:.5349331318310961,y:.3522852445680167},{x:.5336357086983223,y:.35429272914301846},{x:.5322216254408594,y:.35575071197935654},{x:.5309700163849885,y:.3573503432435408},{x:.49559401638498846,y:.39441334324354077},{x:.4926979475395651,y:.39690515537305066},{x:.48986855873600776,y:.3994724304741097},{x:.48935820160472765,y:.3997787125549045},{x:.48890701524930746,y:.4001669186691625},{x:.48558046512393155,y:.4020458563236817},{x:.4823045917066957,y:.404011815580751},{x:.4336605917066957,y:.42705181558075106},{x:.43309173356321873,y:.4272557130907893},{x:.4325654489917744,y:.42755269513041455},{x:.42894434743018467,y:.4287422729922158},{x:.4253563740806812,y:.43002832091195864},{x:.42475866795602985,y:.4301173218701226},{x:.42418455747331046,y:.430305924456616},{x:.35674655747331047,y:.44533192445661596},{x:.3529000911149492,y:.4457998510145922},{x:.3490659246900917,y:.4463596961147396},{x:.28494592469009167,y:.4493636961147396},{x:.2805873413475358,y:.449139645094856},{x:.27622830276644406,y:.44892463285807194},{x:.20879130276644411,y:.4389076328580719},{x:.2058686377582091,y:.4381749274884603},{x:.2029059705898912,y:.4376259000221244},{x:.2015992206546876,y:.4371045944779896},{x:.20023455588710068,y:.4367624761715421},{x:.19751099279397463,y:.4354736658725529},{x:.19471236238975773,y:.4343572001231398},{x:.1250653623897577,y:.39829620012313977},{x:.12281565387932818,y:.3968352958512946},{x:.12046004217050754,y:.3955521266688945},{x:.11912493361112,y:.39443863469229795},{x:.1176668837895426,y:.39349181371392206},{x:.11574541108214431,y:.3916200839502759},{x:.11440461043594556,y:.3905018447245139},{x:.11499744675527566,y:.4076710597897629},{x:.14015918883207887,y:.48309781218266834},{x:.17625691985197756,y:.5624688107059582},{x:.22079283681825793,y:.6049160879451294},{x:.2812243215554422,y:.6473094683632384},{x:.35529887985725983,y:.6721340784004237},{x:.44197867319461825,y:.699237682451455},{x:.450099621980826,y:.7026829408131323},{x:.45739239245003865,y:.7076463180152294},{x:.4635767275229571,y:.7139370742553635},{x:.4684149666709443,y:.7213134592991232},{x:.47172117907685873,y:.729492002806001},{x:.4733683088520865,y:.7381584079356077},{x:.4732930577230865,y:.7469796295989887},{x:.471498317548545,y:.7556166731946181},{x:.4680530591868676,y:.7637376219808258},{x:.4630896819847706,y:.7710303924500386},{x:.4567989257446365,y:.7772147275229571},{x:.4494225407008768,y:.7820529666709441},{x:.4412439971939989,y:.7853591790768587},{x:.43257759206439217,y:.7870063088520864},{x:.4237563704010112,y:.7869310577230865},{x:.41511932680538177,y:.7851363175485448},{x:.32800332680538175,y:.7578963175485449},{x:.32758097645219697,y:.7577171382279785},{x:.32713377373466446,y:.7576146941984534},{x:.2464307737346645,y:.7305686941984535},{x:.24453959681011464,y:.7297206474805041},{x:.2425703892464572,y:.7290741531131611},{x:.24052462272791658,y:.727920241844807},{x:.2383814751569417,y:.7269592057619036},{x:.2366920823739949,y:.725758503708645},{x:.23488683737580707,y:.7247402582115807},{x:.16634483737580705,y:.6766572582115807},{x:.16379281785599412,y:.6744641039532857},{x:.16114120086592887,y:.6723924725748345},{x:.10785520086592887,y:.6216054725748346},{x:.10512406158167997,y:.61843588774195},{x:.10236095541706475,y:.6152941312068447},{x:.10224621895073822,y:.6150960484276141},{x:.1020967920615373,y:.6149226331776604},{x:.10003648617852028,y:.6112811321861437},{x:.09793939861820375,y:.6076606883504815},{x:.057256398618203745,y:.5182076883504814},{x:.05649445644348035,y:.515973451082899},{x:.055531562043165734,y:.5138181769891187},{x:.02756156204316574,y:.4299731769891187},{x:.02710606704062858,y:.4279720709807987},{x:.026442901166776424,y:.42602987841114226},{x:.0261294707087366,y:.42368163359604843},{x:.025603668479436986,y:.4213716499642221},{x:.02554732210120287,y:.4193201319800137},{x:.025275801747494525,y:.4172858808521062},{x:.022290801747494524,y:.3308368808521062},{x:.022305383523873214,y:.330608131273329},{x:.022277364333027405,y:.33038063638780973},{x:.021194122115214913,y:.2859434614650037},{x:.02071653916751727,y:.2843071590959475},{x:.01994450211145162,y:.2755194646798348}],[{x:.11034731747482908,y:.25010871966048204},{x:.11054573733688708,y:.2582483748303443},{x:.14138614929871246,y:.28974619429248377},{x:.17280436841728808,y:.32166563054627706},{x:.2294333737827033,y:.3509863272379111},{x:.2851142784460479,y:.35925709287120927},{x:.3409693478959939,y:.3566403020317264},{x:.39969116147327427,y:.34355637352239615},{x:.43624565447916347,y:.3262425111990739},{x:.46138408324665353,y:.29990528863548604},{x:.47964461062187336,y:.2644492215688011},{x:.49182659739178797,y:.22266115801633354},{x:.4903391577658353,y:.18896604218391924},{x:.47066764412974615,y:.14689983627465894},{x:.4322187986209955,y:.11433252320671945},{x:.3738017517723872,y:.08827446060346957},{x:.29512698962943984,y:.08398052210424463},{x:.22766698305582697,y:.09471851188045},{x:.18695506157646963,y:.1216176107024183},{x:.1450838647757246,y:.1654591474507099},{x:.12861258258928074,y:.1968796571354811},{x:.11034731747482908,y:.25010871966048204}]],7:[[{x:.026534000000000002,y:.729004},{x:.027398662381854635,y:.7202249355092742},{x:.029959421036992097,y:.711783245543571},{x:.03411786744638546,y:.7040033395141179},{x:.039714194846605363,y:.6971841948466053},{x:.046533339514117915,y:.6915878674463855},{x:.05431324554357096,y:.6874294210369921},{x:.06275493550927423,y:.6848686623818546},{x:.071534,y:.684004},{x:.4019606654607806,y:.684004},{x:.4004737160341744,y:.6825246433416329},{x:.3773547160341744,y:.6545006433416328},{x:.37631768094411194,y:.6529571778549935},{x:.37511206403824765,y:.6515414747212956},{x:.3516100640382476,y:.6177174747212957},{x:.35070717908442606,y:.6160998190359583},{x:.34962595461558005,y:.6145955036421288},{x:.32637595461558006,y:.5744575036421288},{x:.32562538351875275,y:.5728072168885044},{x:.3246890272988689,y:.5712547864166106},{x:.3023170272988689,y:.5242907864166106},{x:.3017220252289498,y:.5226423026482856},{x:.3009361907094137,y:.5210757809262708},{x:.2800741907094137,y:.4667717809262708},{x:.2796297795277362,y:.4651572895546526},{x:.27899211910181604,y:.46360891205912846},{x:.26027511910181605,y:.40145091205912853},{x:.2599700482242006,y:.399900691568321},{x:.2594722021762355,y:.3984012246220316},{x:.2435242021762355,y:.3278752246220315},{x:.24329560198997774,y:.32604433113097486},{x:.24285939794168837,y:.32425152465814894},{x:.22552039794168838,y:.201651524658149},{x:.22543629437721757,y:.19966542745190077},{x:.2251384028560513,y:.1976999971774209},{x:.21759140285605127,y:.0533799971774209},{x:.2179964236931644,y:.04456775725283754},{x:.22011284489303193,y:.03600385769296016},{x:.22385933357584556,y:.028017404355184638},{x:.22909191428257988,y:.020915312162427036},{x:.23560950187114016,y:.014970510534755857},{x:.24316162910560324,y:.010411454864839347},{x:.25145807197163045,y:.007413347105324521},{x:.2601800028225791,y:.006091402856051323},{x:.26899224274716244,y:.0064964236931644576},{x:.27755614230703984,y:.008612844893031955},{x:.2855425956448154,y:.0123593335758456},{x:.29264468783757297,y:.017591914282579925},{x:.29858948946524416,y:.02410950187114019},{x:.30314854513516065,y:.03166162910560326},{x:.30614665289467546,y:.03995807197163046},{x:.3074685971439487,y:.04868000282257914},{x:.3149118365119932,y:.19101580586964154},{x:.33171443080019297,y:.3098230069615897},{x:.3469078029209317,y:.3770118558572018},{x:.3646876244488305,y:.43605754408347375},{x:.3843219343355222,y:.48716585412502805},{x:.40516196826036527,y:.5309139031705462},{x:.42657620329737017,y:.5678827017045378},{x:.4479617026009278,y:.5986606409626235},{x:.4682073320853445,y:.6232016470905397},{x:.5069453480603512,y:.6602460238293135},{x:.5211069187127709,y:.670919967941474},{x:.553634852004927,y:.6903949675582732},{x:.5545334052571363,y:.6910607030437311},{x:.5555196604858821,y:.6915878674463855},{x:.5580709875097788,y:.6936816874233654},{x:.5607229359621996,y:.6956465083018619},{x:.5614743452153894,y:.6964747509099635},{x:.5623388051533946,y:.6971841948466053},{x:.5644326251303754,y:.699735521870503},{x:.5666502995990071,y:.7021799587443133},{x:.5672256886169725,y:.7031388795761127},{x:.5679351325536145,y:.7040033395141179},{x:.5694909811561905,y:.7069141275182039},{x:.5711891576548912,y:.709744242049125},{x:.5715664145603537,y:.7107969903148255},{x:.5720935789630078,y:.711783245543571},{x:.5730516658019124,y:.7149416345772374},{x:.5741650843601849,y:.7180486670509921},{x:.5743297113818354,y:.7191547862251302},{x:.5746543376181453,y:.7202249355092742},{x:.574977843953461,y:.7235095504532041},{x:.5754637165205229,y:.7267740993542682},{x:.5754093871342436,y:.7278910818973009},{x:.575519,y:.729004},{x:.5751954936646845,y:.7322886149439295},{x:.5750351484302645,y:.735585225488817},{x:.5747639504839017,y:.7366701463880269},{x:.5746543376181453,y:.7377830644907257},{x:.5736962507792408,y:.7409414535243923},{x:.5728958497207748,y:.7441434388186243},{x:.5724182051993175,y:.7451546051722857},{x:.5720935789630078,y:.746224754456429},{x:.570537730360432,y:.749135542460515},{x:.5691280324417267,y:.752119852004927},{x:.5684622969562688,y:.7530184052571364},{x:.5679351325536145,y:.7540046604858821},{x:.5658413125766343,y:.756555987509779},{x:.563876491698138,y:.7592079359621996},{x:.5630482490900365,y:.7599593452153895},{x:.5623388051533946,y:.7608238051533946},{x:.5597874781294971,y:.7629176251303754},{x:.5573430412556867,y:.7651352995990072},{x:.5563841204238874,y:.7657106886169726},{x:.5555196604858821,y:.7664201325536145},{x:.5526088724817957,y:.7679759811561907},{x:.5497787579508749,y:.7696741576548912},{x:.5487260096851745,y:.7700514145603538},{x:.547739754456429,y:.7705785789630079},{x:.5445813654227618,y:.7715366658019126},{x:.5414743329490078,y:.7726500843601849},{x:.5403682137748697,y:.7728147113818356},{x:.5392980644907257,y:.7731393376181454},{x:.5360134495467959,y:.773462843953461},{x:.5327489006457318,y:.7739487165205229},{x:.531631918102699,y:.7738943871342436},{x:.530519,y:.774004},{x:.071534,y:.774004},{x:.06275493550927423,y:.7731393376181454},{x:.054313245543570934,y:.7705785789630079},{x:.046533339514117915,y:.7664201325536145},{x:.039714194846605363,y:.7608238051533946},{x:.03411786744638546,y:.7540046604858821},{x:.029959421036992097,y:.746224754456429},{x:.027398662381854635,y:.7377830644907257},{x:.026534000000000002,y:.729004}]],8:[[{x:.018998734783549534,y:.19034712298183487},{x:.01918983868826437,y:.187136446932327},{x:.01920952916989005,y:.18392014879903562},{x:.019451409422642358,y:.18274188004279768},{x:.019522877627479743,y:.18154116541629586},{x:.0203366813486396,y:.1784294641291047},{x:.020983462121705806,y:.17527880768498513},{x:.021450563544301488,y:.17417036752890672},{x:.021754906310756543,y:.17300666705236456},{x:.02316013582774355,y:.17011352146289485},{x:.024409151469860245,y:.16714958466818597},{x:.06244715146986025,y:.097021584668186},{x:.06364531823888224,y:.0952519506947441},{x:.06465809579443724,y:.09337006609963419},{x:.0661122558858275,y:.09160840391706095},{x:.06739294989385258,y:.08971688123025286},{x:.06891333268610705,y:.08821500101819715},{x:.07027378747657535,y:.08656685940733966},{x:.07204368953204261,y:.0851227396301211},{x:.07366879313388441,y:.08351741302778071},{x:.0754529644913056,y:.08234100299139627},{x:.07710881500204132,y:.08098994152260804},{x:.14910981500204132,y:.03317594152260801},{x:.1504928100364302,y:.03244176283843531},{x:.15177178054792087,y:.031538475488709236},{x:.15438005907773164,y:.030378172358910993},{x:.15690151209615905,y:.029039630272177964},{x:.1584011644246711,y:.028589367572161194},{x:.15983178249634203,y:.027952951404511282},{x:.24949378249634205,y:-.0017990485954887184},{x:.251605077566582,y:-.002276091838878668},{x:.25365804064979064,y:-.002962007073194259},{x:.2558970148670134,y:-.0032458471890824472},{x:.2580984148155577,y:-.003743249464233246},{x:.2602622084630055,y:-.003799233220341744},{x:.26240953986016613,y:-.0040714555567724145},{x:.33848653986016614,y:-.006196455556772458},{x:.34211630259529946,y:-.0059410451417675775},{x:.3457527120689106,y:-.005810898556388326},{x:.34651004211407876,y:-.005631877045722989},{x:.3472863241290845,y:-.005577253499755554},{x:.35079651389094996,y:-.004618619143417753},{x:.3543376604369356,y:-.0037815449929937683},{x:.4535096604369356,y:.03022045500700621},{x:.45591274590665615,y:.03131812424947078},{x:.4583949217344816,y:.03222283453480715},{x:.45991547545056405,y:.03314647083206772},{x:.461533744189149,y:.033885655452327273},{x:.46367651039942226,y:.035431052006208004},{x:.4659344916938285,y:.03680262701864639},{x:.5338604916938285,y:.08780462701864639},{x:.5368034713408607,y:.09050382186837246},{x:.5397962541268131,y:.09314768896709699},{x:.5400513850489728,y:.09348269124727963},{x:.5403617177400871,y:.09376731720532937},{x:.5427215620660051,y:.09698879462990716},{x:.5451410464862535,y:.10016572352111452},{x:.5453259194365666,y:.1005440624001799},{x:.5455747614022292,y:.10088376225489704},{x:.547260782913003,y:.10450372268352329},{x:.5490139895381407,y:.10809162577156875},{x:.5802599895381407,y:.1920326257715688},{x:.5808621946470703,y:.19431314395649216},{x:.5816704362178704,y:.19652903198349428},{x:.5819856183913868,y:.19856748893015458},{x:.5825122482529622,y:.20056180773987195},{x:.5826579751325236,y:.20291599079595712},{x:.5830183882594349,y:.20524698126417715},{x:.5829298310737253,y:.20730775882392333},{x:.5830572695913885,y:.20936649774620245},{x:.5827409180393249,y:.21170387573884492},{x:.582639652248002,y:.21406038999182395},{x:.570412652248002,y:.30012638999182395},{x:.5703409363500996,y:.30042034316527866},{x:.5703238989157716,y:.30072243812390526},{x:.5692961437829783,y:.3047027979582916},{x:.5683217827960937,y:.30869656381164773},{x:.5681940974797931,y:.30897087767968473},{x:.5681184516122305,y:.3092638441298401},{x:.5663339148242972,y:.3129672173863048},{x:.5645991308441736,y:.31669415574996157},{x:.5644203829845738,y:.31693828858446854},{x:.5642890357120441,y:.31721086798977133},{x:.5618162960169492,y:.32049493611094637},{x:.5593877558190667,y:.3238118228336772},{x:.5591648145961691,y:.32401639274673566},{x:.5589828135206953,y:.3242581100335041},{x:.5032838135206953,y:.3848241100335041},{x:.5011622073766187,y:.38671918495638496},{x:.4991781602202921,y:.38875783119234486},{x:.4978799327840818,y:.3896509997457094},{x:.496704700181234,y:.39070074870143656},{x:.4942541493273608,y:.39214550546522026},{x:.4919105049301597,y:.39375791128677606},{x:.42072451102124153,y:.4330589294870645},{x:.4777200661568854,y:.4633968522602595},{x:.4805213378044988,y:.46526159042857346},{x:.48340658539474834,y:.46699355971902134},{x:.4841865730327025,y:.4677014480666941},{x:.48506339053858555,y:.46828512408085676},{x:.487447044167244,y:.4706605328159332},{x:.4899389620874836,y:.4729221066835925},{x:.4905658603159866,y:.4737685611946159},{x:.49131196047780046,y:.47451208064740324},{x:.493186393615322,y:.4773068743236967},{x:.4951892188573616,y:.48001114175313947},{x:.5250762188573616,y:.5299501417531395},{x:.5263287500632193,y:.5326029758232522},{x:.5277533683388757,y:.5351675080991},{x:.5282078804872482,y:.5365829335183069},{x:.5288425912810938,y:.5379272372855163},{x:.5295535131980511,y:.5407734546091212},{x:.5304504424054924,y:.5435666393545394},{x:.5306200854295579,y:.5450435386925929},{x:.5309803397786421,y:.5464858379730204},{x:.5311223320761199,y:.5494160600145488},{x:.5314571037289079,y:.5523305567062068},{x:.5328161037289079,y:.6362725567062067},{x:.5325682225912138,y:.6392892202473488},{x:.5325070847315841,y:.6423154334158161},{x:.5322077563487247,y:.6436760218476847},{x:.5320936668790056,y:.6450644677251389},{x:.5312620268462096,y:.647974807711247},{x:.530611678831884,y:.6509309456375182},{x:.530052664324664,y:.6522069946735811},{x:.5296698946987799,y:.6535465042014387},{x:.5282864552309536,y:.656238677898982},{x:.5270718895714029,y:.659011137860374},{x:.493108889571403,y:.7195761378603741},{x:.49086599866607616,y:.7227903647520136},{x:.4886941713149356,y:.7260530293196586},{x:.4883443495413535,y:.7264040725827037},{x:.48806074906628455,y:.7268104928286833},{x:.4852338901214668,y:.7295253929429124},{x:.4824672795427586,y:.7323016638284542},{x:.4820556943532359,y:.7325777150511769},{x:.48169825452511067,y:.7329209983380867},{x:.4783960621447291,y:.7350322395860499},{x:.4751409876314614,y:.737215426256307},{x:.4058559876314614,y:.774404426256307},{x:.40535390944732597,y:.7746134197603937},{x:.4048950878292554,y:.7749053846735706},{x:.40128606998249994,y:.7763066859700772},{x:.39771184087056327,y:.7777944834687843},{x:.3971786373679402,y:.7779015106266721},{x:.3966716723496766,y:.778098353858693},{x:.39285862044769176,y:.7787686450898307},{x:.3890628142527955,y:.7795305574683767},{x:.38851897614326597,y:.7795315052864096},{x:.3879833501061526,y:.7796256622622586},{x:.29017035010615255,y:.7870576622622585},{x:.28883979914978264,y:.7870279344512828},{x:.28751770557027906,y:.7871806372910648},{x:.2844390802539456,y:.7869296114679608},{x:.28135100845003463,y:.7868606162788429},{x:.2800518232654171,y:.7865718820648824},{x:.2787253424971381,y:.7864637231002555},{x:.20264834249713812,y:.7726567231002556},{x:.20090732012312768,y:.7721604024311715},{x:.19912055356042774,y:.7718689262507037},{x:.1966754417776232,y:.7709540028332816},{x:.19416478523538352,y:.7702382792713757},{x:.19255404347725652,y:.7694118386491953},{x:.19085847331495095,y:.7687773822377194},{x:.12157447331495094,y:.7347753822377193},{x:.11864840230662128,y:.7329636093328938},{x:.1156466869822177,y:.7312801255296781},{x:.11490452792065226,y:.7306454666247165},{x:.11407427694169714,y:.7301313894804525},{x:.11155788892673538,y:.7277835811487093},{x:.10894228211787771,y:.7255468394054793},{x:.1083381992447159,y:.7247795872431081},{x:.10762419278113186,y:.7241134140161837},{x:.10561419113974596,y:.7213197952150451},{x:.1034852091492498,y:.7186157522626143},{x:.05457920914924981,y:.6421127522626143},{x:.05400544809690788,y:.6409849569633866},{x:.05327967340990527,y:.639948436299892},{x:.05200937551205521,y:.6370614399018406},{x:.05057918033015655,y:.6342502218929852},{x:.050236465883645505,y:.633032161635733},{x:.04972685190376166,y:.6318739658087451},{x:.04904418748077848,y:.6287946194110116},{x:.04818991452487371,y:.6257584009293389},{x:.04809141700817653,y:.6244968850866522},{x:.047817547914863534,y:.6232615229122788},{x:.04774875137767971,y:.6201081640700103},{x:.04750322987838258,y:.6169636252890404},{x:.04765273449582791,y:.6157071332072875},{x:.04762513492475421,y:.6144420789610904},{x:.04817285008571219,y:.6113358894861711},{x:.048545515296550656,y:.608203873267779},{x:.04893727666953319,y:.607000691233013},{x:.04915700725673716,y:.6057545602402229},{x:.06817600725673716,y:.537751560240223},{x:.0695259178796919,y:.5342803033966695},{x:.07076883034011841,y:.5307693133112962},{x:.07112252784165454,y:.530174666206544},{x:.07137329591617819,y:.5295298232221028},{x:.07337447700044117,y:.5263886201035727},{x:.07527846743280868,y:.5231875729003385},{x:.0757413786311829,y:.522673354732434},{x:.07611313089295507,y:.5220898246495332},{x:.07868867817173447,y:.5193993899302627},{x:.08118057729149615,y:.5166313000580217},{x:.13823757729149616,y:.46456630005802163},{x:.1415344063491032,y:.46210392848613274},{x:.14479841194755694,y:.45959821041612353},{x:.17870395742216458,y:.4385038845164132},{x:.16590813892329467,y:.43401753680148847},{x:.1630836262780146,y:.43270367241359486},{x:.16018787852971583,y:.4315553012665589},{x:.15909238677042803,y:.43084708753997614},{x:.15790960896480868,y:.43029690071741367},{x:.15539569076452509,y:.4284572467838155},{x:.15277962009410193,y:.4267660089056696},{x:.07398562009410191,y:.3640750089056696},{x:.07334669706368892,y:.36345515994886657},{x:.07261876409580822,y:.3629427646304707},{x:.07018582297292754,y:.3603886489381779},{x:.067654053855944,y:.3579324619307791},{x:.06714833408498834,y:.3571998754981266},{x:.06653435151263618,y:.35655531303498644},{x:.06464644192410274,y:.3535756306924294},{x:.06264249835499126,y:.3506727149773525},{x:.06228941637067996,y:.3498555439546183},{x:.061812979199786275,y:.3491035845207174},{x:.026491979199786284,y:.27897658452071744},{x:.026206182636496978,y:.2782362375154344},{x:.02580526951533789,y:.27755135647970497},{x:.024619992088609113,y:.2741272608068926},{x:.023315086847465263,y:.27074694483548933},{x:.02317921632066564,y:.26996506724675395},{x:.022919620294515476,y:.2692151317381758},{x:.022425125568608657,y:.2656255929487299},{x:.02180476064715109,y:.2620556544171705},{x:.02182403758498896,y:.26126229336223583},{x:.021715734783549545,y:.26047612298183487},{x:.018998734783549534,y:.19034712298183487}],[{x:.10940940002433477,y:.19920410482166873},{x:.1112697837122767,y:.2472228194523932},{x:.137749803196691,y:.2997967648781603},{x:.20286290613296581,y:.3516028102138205},{x:.27392321813344717,y:.3765172983642545},{x:.30180455045059645,y:.38547932587505673},{x:.3589974388819276,y:.364332623176267},{x:.44199758150171664,y:.31850914110336725},{x:.48327372240847105,y:.27362627516037924},{x:.4919267227459848,y:.21271770175329152},{x:.46927072007314496,y:.15185335046477932},{x:.41758736799183827,y:.11304708595854013},{x:.33285528741119674,y:.08399594043457195},{x:.2715476841223936,y:.0857083982994813},{x:.19388634557978268,y:.1114782912788902},{x:.13622191473335832,y:.14977174687660325},{x:.10940940002433477,y:.19920410482166873}],[{x:.1412545940070051,y:.610603192179028},{x:.17253143522148345,y:.6595291354872365},{x:.22488466829434647,y:.6852221473073319},{x:.28911227954018853,y:.6968786351876549},{x:.37167628924266627,y:.6906052797020977},{x:.4210229734590171,y:.664118250196117},{x:.4426312796779887,y:.6255849325813003},{x:.4416638895166663,y:.5658316839266069},{x:.4243877259953326,y:.5369644730960824},{x:.3411654121752423,y:.49266641996418925},{x:.3038587353431559,y:.48067475972705925},{x:.2482367446999157,y:.5012406330709052},{x:.1958501022844071,y:.5338329684082593},{x:.1513751879049268,y:.5744167077770947},{x:.1412545940070051,y:.610603192179028}]],9:[[{x:.04617702144416433,y:.5785043710151274},{x:.046308257010348054,y:.5777836867379841},{x:.04632014162646953,y:.5770512474182771},{x:.047097404355444614,y:.5734500590446777},{x:.04775742235616295,y:.5698255492446179},{x:.06775742235616294,y:.499825549244618},{x:.06870401207934061,y:.497431122678351},{x:.06945142103699212,y:.4949672455435709},{x:.07032179921115676,y:.4933388825112154},{x:.07100061044171635,y:.4916218095236955},{x:.07239614115864691,y:.4894580616864063},{x:.07360986744638548,y:.48718733951411786},{x:.07478119941633177,y:.4857600673791044},{x:.07578195180149752,y:.48420841696912487},{x:.07757279404935197,y:.4823584994767568},{x:.07920619484660538,y:.4803681948466053},{x:.1292061948466054,y:.43036819484660543},{x:.1324047212320044,y:.4277432320802026},{x:.1355710052680468,y:.42507946670648067},{x:.13581237417673697,y:.4249466435819557},{x:.13602533951411794,y:.4247718674463855},{x:.13967451194327588,y:.422821344145996},{x:.14329963156393744,y:.42082647364918746},{x:.21329963156393744,y:.39082647364918743},{x:.21510775104315333,y:.39025382151681987},{x:.2168404136401385,y:.3894823898342746},{x:.21930272871556003,y:.3889252240779052},{x:.22170947225776405,y:.3881629808537447},{x:.22359456811709633,y:.38795407868297094},{x:.22544443694348562,y:.38753549554788497},{x:.30544443694348566,y:.37753549554788496},{x:.30933066171136914,y:.37743373006124875},{x:.3132134481214367,y:.3772411973248817},{x:.31373545479679327,y:.3773183852372503},{x:.314262956584918,y:.37730457196617717},{x:.3180943620951528,y:.37796292671622445},{x:.321940103126635,y:.37853158749346005},{x:.39912055139763536,y:.39782669956121014},{x:.3920145202755848,y:.3793136184800785},{x:.3919728818872528,y:.3791621799808353},{x:.39190347676812315,y:.3790212888743934},{x:.33928123709710245,y:.23902627390054626},{x:.29593066247424293,y:.13853176000209894},{x:.2601678276974797,y:.06104561798577861},{x:.25727396725620644,y:.05271224015242973},{x:.25606147289685455,y:.04397442167208486},{x:.2565769400976792,y:.035167952008718584},{x:.2588005597432301,y:.02663125885276897},{x:.2626468793775489,y:.018692402534786497},{x:.2679680870941297,y:.011656468850909336},{x:.274559691864592,y:.005793844786811796},{x:.2821683820142214,y:.0013298276974796769},{x:.29050175984757026,y:-.0015640327437935753},{x:.29923957832791515,y:-.002776527103145486},{x:.30804604799128144,y:-.002261059902320825},{x:.31658274114723106,y:-3744025676995222e-20},{x:.32452159746521353,y:.003808879377548882},{x:.3315575311490907,y:.009130087094129706},{x:.33742015521318824,y:.015721691864591977},{x:.34188417230252033,y:.023330382014221395},{x:.3778841723025203,y:.10133038201422136},{x:.3780704961344211,y:.10186693411204945},{x:.37834550457920557,y:.10236389998544072},{x:.42234550457920556,y:.2043638999854408},{x:.4226728981736059,y:.20538920106595157},{x:.42314852323187685,y:.20635471112560658},{x:.47609350933819694,y:.3472083534084579},{x:.5496013805841499,y:.5387157021808093},{x:.5512752235949963,y:.542063388202502},{x:.5520259437659378,y:.5440252139743784},{x:.5529745491659372,y:.5458993775022888},{x:.553598518494472,y:.5481347580495968},{x:.5544279630456541,y:.5503023109672317},{x:.5547815251174404,y:.5523728990468965},{x:.5553462721645,y:.554396114781092},{x:.555522150986547,y:.5567102734952235},{x:.5559127893965689,y:.5589979940959194},{x:.5558556061770612,y:.5610977729446709},{x:.5560147919588762,y:.5631922898391183},{x:.5557358213499382,y:.5654962948984841},{x:.5556726416037749,y:.5678162673625252},{x:.5552069106120301,y:.5698645436567753},{x:.5549544177082778,y:.5719498706018395},{x:.5349544177082779,y:.6619498706018395},{x:.5345092452033302,y:.663307558548854},{x:.5342480120020212,y:.6647122835522489},{x:.5331378863550271,y:.6674899313564284},{x:.5322058990004909,y:.6703323081518522},{x:.5315044085816177,y:.6715770596583215},{x:.5309741466497647,y:.6729038291953012},{x:.5293434595512297,y:.6754115305058349},{x:.5278748598680685,y:.6780174701150343},{x:.5269440094186665,y:.6791014500786302},{x:.5261650964249364,y:.6802992771399491},{x:.4861650964249363,y:.7302992771399491},{x:.4855393928217795,y:.7309407996522789},{x:.48502142797480674,y:.7316720783612058},{x:.48246447922773295,y:.7340934525762789},{x:.48000567043073006,y:.7366144244690945},{x:.4792668347133476,y:.7371215515888083},{x:.4786161570168623,y:.7377377290536072},{x:.47563595264764597,y:.7396137412876539},{x:.4727325719538572,y:.7416065836124539},{x:.4719089971645242,y:.7419598267287414},{x:.4711506117974981,y:.7424372235949962},{x:.4111506117974981,y:.7724372235949962},{x:.40814803697660645,y:.7735862009991664},{x:.4052110607504687,y:.7748937847545917},{x:.4040364518244048,y:.77515955677446},{x:.40291168903276836,y:.7755899630456542},{x:.39974265347336024,y:.7761310898824948},{x:.39660701348596056,y:.7768405731449995},{x:.3166070134859606,y:.7868395731449994},{x:.31542693671630134,y:.7868704603456931},{x:.31426350899694466,y:.7870703881908964},{x:.3110259999999998,y:.7869856499834279},{x:.3077884910030554,y:.7870703881908964},{x:.3066250632836987,y:.7868704603456931},{x:.30544498651403945,y:.7868395731449994},{x:.22544498651403946,y:.7768405731449995},{x:.22359484289355938,y:.7764219517671516},{x:.22170947225776405,y:.7762130191462554},{x:.21930299190993624,y:.775450859278766},{x:.2168409392495313,y:.7748937847545917},{x:.21510801459933976,y:.7741222619544408},{x:.21329963156393744,y:.7735495263508126},{x:.14329963156393744,y:.7435495263508126},{x:.1396745119432796,y:.741554655854006},{x:.13602533951411788,y:.7396041325536146},{x:.13581237417673678,y:.7394293564180442},{x:.1355710052680468,y:.7392965332935194},{x:.13240472123200803,y:.7366327679198006},{x:.12920619484660534,y:.7340078051533947},{x:.07920619484660535,y:.6840078051533947},{x:.07757279404935197,y:.6820175005232432},{x:.0757819518014975,y:.6801675830308751},{x:.07478119941633177,y:.6786159326208956},{x:.07360986744638545,y:.6771886604858821},{x:.07239614115864686,y:.6749179383135936},{x:.07100061044171635,y:.6727541904763045},{x:.07032179921115676,y:.6710371174887846},{x:.06945142103699209,y:.669408754456429},{x:.06870401207934061,y:.666944877321649},{x:.06775742235616294,y:.664550450755382},{x:.04775742235616295,y:.5945504507553819},{x:.0470974043554446,y:.590925940955322},{x:.04632014162646953,y:.5873247525817227},{x:.046308257010348054,y:.5865923132620157},{x:.04617702144416433,y:.5858716289848723},{x:.0462367922883029,y:.5821879999999999},{x:.04617702144416433,y:.5785043710151274}],[{x:.13782670643108905,y:.5821879999999999},{x:.15109114488080894,y:.6286135345740196},{x:.18671787059591238,y:.6642402602891231},{x:.24291204200407931,y:.688323476606909},{x:.311026,y:.696836869931924},{x:.377796042530131,y:.6884914492411893},{x:.4220611757635009,y:.6663588826245044},{x:.4493630453483168,y:.6322315456434845},{x:.46363172164975686,y:.5680225022870041},{x:.4540425513192988,y:.5488441616260881},{x:.42235697647551157,y:.5171585867823008},{x:.37255000597497323,y:.48395393978194207},{x:.30826669745594837,y:.4678831126521858},{x:.24291230161158606,y:.4760524121327311},{x:.1867178705959123,y:.500135739710877},{x:.15109114488080894,y:.5357624654259804},{x:.13782670643108905,y:.5821879999999999}]],"!":[[{x:.20646600000000004,y:.05103000000000002},{x:.20733066238185466,y:.04225093550927423},{x:.20989142103699213,y:.03380924554357098},{x:.2140498674463855,y:.026029339514117927},{x:.21964619484660539,y:.019210194846605383},{x:.22646533951411793,y:.013613867446385479},{x:.23424524554357098,y:.009455421036992116},{x:.24268693550927425,y:.006894662381854655},{x:.251466,y:.0060300000000000215},{x:.350587,y:.0060300000000000215},{x:.3593660644907258,y:.006894662381854655},{x:.36780775445642905,y:.009455421036992116},{x:.3755876604858821,y:.013613867446385479},{x:.38240680515339465,y:.019210194846605383},{x:.3880031325536145,y:.026029339514117927},{x:.3921615789630079,y:.03380924554357098},{x:.39472233761814535,y:.04225093550927425},{x:.39558699999999997,y:.05103000000000002},{x:.39472233761814535,y:.05980906449072579},{x:.3921615789630079,y:.06825075445642906},{x:.3880031325536145,y:.07603066048588211},{x:.38240680515339465,y:.08284980515339466},{x:.3755876604858821,y:.08844613255361455},{x:.36780775445642905,y:.09260457896300792},{x:.3593660644907258,y:.09516533761814538},{x:.350587,y:.09603000000000002},{x:.251466,y:.09603000000000002},{x:.24268693550927425,y:.09516533761814538},{x:.23424524554357098,y:.09260457896300792},{x:.22646533951411793,y:.08844613255361455},{x:.21964619484660539,y:.08284980515339466},{x:.2140498674463855,y:.07603066048588211},{x:.20989142103699213,y:.06825075445642906},{x:.20733066238185466,y:.05980906449072579},{x:.20646600000000004,y:.05103000000000002}],[{x:.25602600000000003,y:.25043400000000005},{x:.25689066238185465,y:.24165493550927428},{x:.2594514210369921,y:.233213245543571},{x:.2636098674463855,y:.22543333951411795},{x:.26920619484660535,y:.2186141948466054},{x:.27602533951411795,y:.2130178674463855},{x:.283805245543571,y:.20885942103699215},{x:.2922469355092743,y:.20629866238185468},{x:.301026,y:.20543400000000006},{x:.3098050644907258,y:.20629866238185468},{x:.3182467544564291,y:.20885942103699215},{x:.32602666048588214,y:.2130178674463855},{x:.3328458051533947,y:.2186141948466054},{x:.33844213255361455,y:.22543333951411795},{x:.34260057896300794,y:.233213245543571},{x:.3451613376181454,y:.24165493550927428},{x:.346026,y:.25043400000000005},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.25043400000000005}]],\'"\':[[{x:.12004,y:.476978},{x:.12090466238185463,y:.4681989355092742},{x:.1234654210369921,y:.459757245543571},{x:.12762386744638546,y:.4519773395141179},{x:.13322019484660536,y:.44515819484660535},{x:.1400393395141179,y:.4395618674463855},{x:.14781924554357095,y:.4354034210369921},{x:.15626093550927422,y:.43284266238185465},{x:.16504,y:.43197800000000003},{x:.17381906449072576,y:.43284266238185465},{x:.18226075445642903,y:.4354034210369921},{x:.19004066048588208,y:.4395618674463855},{x:.19685980515339463,y:.44515819484660535},{x:.20245613255361453,y:.4519773395141179},{x:.2066145789630079,y:.459757245543571},{x:.20917533761814536,y:.4681989355092742},{x:.21004,y:.476978},{x:.21004,y:.729004},{x:.20917533761814536,y:.7377830644907257},{x:.2066145789630079,y:.746224754456429},{x:.20245613255361453,y:.7540046604858821},{x:.19685980515339463,y:.7608238051533946},{x:.19004066048588208,y:.7664201325536145},{x:.18226075445642903,y:.7705785789630079},{x:.17381906449072576,y:.7731393376181454},{x:.16504,y:.774004},{x:.15626093550927422,y:.7731393376181454},{x:.14781924554357095,y:.7705785789630079},{x:.1400393395141179,y:.7664201325536145},{x:.13322019484660536,y:.7608238051533946},{x:.12762386744638546,y:.7540046604858821},{x:.1234654210369921,y:.746224754456429},{x:.12090466238185463,y:.7377830644907257},{x:.12004,y:.729004},{x:.12004,y:.476978}],[{x:.392013,y:.476978},{x:.3928776623818546,y:.4681989355092742},{x:.39543842103699206,y:.459757245543571},{x:.39959686744638545,y:.4519773395141179},{x:.4051931948466053,y:.44515819484660535},{x:.4120123395141179,y:.4395618674463855},{x:.419792245543571,y:.4354034210369921},{x:.42823393550927424,y:.43284266238185465},{x:.437013,y:.43197800000000003},{x:.4457920644907258,y:.43284266238185465},{x:.45423375445642905,y:.4354034210369921},{x:.4620136604858821,y:.4395618674463855},{x:.46883280515339465,y:.44515819484660535},{x:.4744291325536145,y:.4519773395141179},{x:.4785875789630079,y:.459757245543571},{x:.48114833761814535,y:.4681989355092742},{x:.48201299999999997,y:.476978},{x:.48201299999999997,y:.729004},{x:.48114833761814535,y:.7377830644907257},{x:.4785875789630079,y:.746224754456429},{x:.4744291325536145,y:.7540046604858821},{x:.46883280515339465,y:.7608238051533946},{x:.4620136604858821,y:.7664201325536145},{x:.45423375445642905,y:.7705785789630079},{x:.4457920644907258,y:.7731393376181454},{x:.437013,y:.774004},{x:.42823393550927424,y:.7731393376181454},{x:.419792245543571,y:.7705785789630079},{x:.4120123395141179,y:.7664201325536145},{x:.4051931948466053,y:.7608238051533946},{x:.39959686744638545,y:.7540046604858821},{x:.39543842103699206,y:.746224754456429},{x:.3928776623818546,y:.7377830644907257},{x:.392013,y:.729004},{x:.392013,y:.476978}]],"#":[[{x:-.04343582416242281,y:.17932596542766122},{x:-.043155600373289436,y:.1705088746946064},{x:-.04116063193533153,y:.16191587083690517},{x:-.037527584366828626,y:.15387717817379684},{x:-.03239607364840174,y:.1467017191561739},{x:-.025963300859175642,y:.14066524265003977},{x:-.01847647384989975,y:.13599972706223024},{x:-.010223307183879607,y:.1328844655403335},{x:-.0015209654276611437,y:.13143917583757725},{x:.007296125305393629,y:.13171939962671061},{x:.11028337660265361,y:.14517801654688708},{x:.10171449233133083,y:.05447855391336175},{x:.10174959121806887,y:.04565708110917159},{x:.10350499965956604,y:.03701195788446062},{x:.10691325829386003,y:.02887541147651351},{x:.11184338965300836,y:.02156012480075985},{x:.11810593155372849,y:.015347220221688843},{x:.1254602180228497,y:.01047545617803717},{x:.13362362795569505,y:.007132051829885598},{x:.14228244608663826,y:.005445492331330834},{x:.15110391889082841,y:.0054805912180688685},{x:.1597490421155394,y:.0072359996595660475},{x:.1678855885234865,y:.010644258293860037},{x:.17520087519924016,y:.015574389653008364},{x:.18141377977831116,y:.02183693155372849},{x:.18628554382196283,y:.029191218022849703},{x:.18962894817011441,y:.03735462795569504},{x:.19131550766866917,y:.04601344608663827},{x:.2018142041879224,y:.1571394809935999},{x:.36570083500909,y:.17855657247605955},{x:.35397849233133083,y:.05447855391336175},{x:.35401359121806886,y:.04565708110917159},{x:.35576899965956604,y:.03701195788446062},{x:.35917725829386,y:.02887541147651351},{x:.3641073896530084,y:.02156012480075985},{x:.3703699315537285,y:.015347220221688843},{x:.37772421802284967,y:.01047545617803717},{x:.38588762795569503,y:.007132051829885598},{x:.39454644608663825,y:.005445492331330834},{x:.4033679188908284,y:.0054805912180688685},{x:.4120130421155394,y:.0072359996595660475},{x:.4201495885234865,y:.010644258293860037},{x:.42746487519924015,y:.015574389653008364},{x:.4336777797783111,y:.02183693155372849},{x:.4385495438219628,y:.029191218022849703},{x:.44189294817011443,y:.03735462795569504},{x:.44357950766866916,y:.04601344608663827},{x:.45723166259435877,y:.19051803692277236},{x:.5748861253053936,y:.20589339962671058},{x:.5834791291630949,y:.20788836806466848},{x:.5915178218262032,y:.2115214156331714},{x:.5986932808438261,y:.21665292635159827},{x:.6047297573499603,y:.22308569914082438},{x:.6093952729377698,y:.23057252615010027},{x:.6125105344596665,y:.2388256928161204},{x:.6139558241624228,y:.24752803457233888},{x:.6136756003732894,y:.25634512530539366},{x:.6116806319353315,y:.2649381291630949},{x:.6080475843668286,y:.2729768218262032},{x:.6029160736484017,y:.2801522808438262},{x:.5964833008591757,y:.2861887573499603},{x:.5889964738498997,y:.29085427293776983},{x:.5807433071838796,y:.29396953445966656},{x:.5720409654276611,y:.2954148241624228},{x:.5632238746946063,y:.2951346003732895},{x:.4659139564059225,y:.28241791072205386},{x:.48521785958998953,y:.48674482074743597},{x:.6064180682130128,y:.5025833921657807},{x:.6150110746232834,y:.5045783496089273},{x:.6230497719348954,y:.5082113868918628},{x:.6302252375183169,y:.5133428884292346},{x:.6362617222552247,y:.5197756534947408},{x:.640927247422479,y:.5272624745344501},{x:.6440425195043586,y:.5355156372144642},{x:.645487820341822,y:.544217977121417},{x:.6452076078342193,y:.5530350682130128},{x:.6432126503910727,y:.5616280746232835},{x:.6395796131081373,y:.5696667719348955},{x:.6344481115707654,y:.576842237518317},{x:.6280153465052593,y:.5828787222552247},{x:.6205285254655499,y:.587544247422479},{x:.6122753627855358,y:.5906595195043587},{x:.603573022878583,y:.592104820341822},{x:.5947559317869872,y:.5918246078342193},{x:.493900150869001,y:.5786446677402959},{x:.5066445076686692,y:.7135404460866382},{x:.5066094087819312,y:.7223619188908285},{x:.5048540003404339,y:.7310070421155394},{x:.50144574170614,y:.7391435885234865},{x:.4965156103469916,y:.7464588751992401},{x:.4902530684462715,y:.7526717797783111},{x:.4828987819771503,y:.7575435438219629},{x:.47473537204430494,y:.7608869481701144},{x:.4660765539133617,y:.7625735076686692},{x:.45725508110917157,y:.7625384087819311},{x:.44860995788446056,y:.760783000340434},{x:.4404734114765135,y:.7573747417061399},{x:.43315812480075977,y:.7524446103469916},{x:.4269452202216888,y:.7461820684462716},{x:.42207345617803715,y:.7388277819771503},{x:.41873005182988554,y:.730664372044305},{x:.4170434923313308,y:.7220055539133617},{x:.40236933467780645,y:.5666833238969633},{x:.23848272425781383,y:.5452664483557571},{x:.25438050766866915,y:.7135404460866382},{x:.2543454087819311,y:.7223619188908285},{x:.25259000034043394,y:.7310070421155394},{x:.24918174170614,y:.7391435885234865},{x:.2442516103469916,y:.7464588751992401},{x:.23798906844627152,y:.7526717797783111},{x:.2306347819771503,y:.7575435438219629},{x:.22247137204430495,y:.7608869481701144},{x:.21381255391336174,y:.7625735076686692},{x:.20499108110917158,y:.7625384087819311},{x:.1963459578844606,y:.760783000340434},{x:.18820941147651346,y:.7573747417061399},{x:.1808941248007598,y:.7524446103469916},{x:.17468122022168883,y:.7461820684462716},{x:.16980945617803714,y:.7388277819771503},{x:.16646605182988555,y:.730664372044305},{x:.16477949233133082,y:.7220055539133617},{x:.14695190806661926,y:.5333051045124245},{x:.02716793178698713,y:.5176516078342193},{x:.01857492537671658,y:.5156566503910727},{x:.01053622806510461,y:.5120236131081373},{x:.0033607624816830023,y:.5068921115707654},{x:-.0026757222552247634,y:.5004593465052593},{x:-.0073412474224789775,y:.4929725254655499},{x:-.010456519504358698,y:.48471936278553585},{x:-.011901820341822023,y:.476017022878583},{x:-.011621607834219276,y:.4671999317869871},{x:-.00962665039107264,y:.45860692537671655},{x:-.005993613108137223,y:.45056822806510455},{x:-.0008621115707654614,y:.44339276248168297},{x:.005570653494740684,y:.4373562777447752},{x:.013057474534450029,y:.432690752577521},{x:.02131063721446411,y:.42957548049564126},{x:.03001297712141698,y:.42813017965817796},{x:.03883006821301287,y:.4284103921657807},{x:.13826961678760774,y:.4414052575195645},{x:.1189656704142173,y:.23707789034616855},{x:-.004366125305393629,y:.2209606003732895},{x:-.012959129163094893,y:.21896563193533158},{x:-.0209978218262032,y:.2153325843668287},{x:-.028173280843826164,y:.2102010736484018},{x:-.034209757349960276,y:.2037683008591757},{x:-.03887527293776982,y:.1962814738498998},{x:-.041990534459666565,y:.18802830718387967},{x:-.04343582416242281,y:.17932596542766122}],[{x:.2104964979994861,y:.24903935479288136},{x:.22980043297880234,y:.4533666013628972},{x:.39368704339879496,y:.4747834769041034},{x:.3743831288206537,y:.27045644627534104},{x:.2104964979994861,y:.24903935479288136}]],$:[[{x:.030517420733400163,y:.165091535964518},{x:.03086584266660257,y:.1562768767808978},{x:.032927224468652025,y:.14769956254897784},{x:.06950822446865203,y:.04228956254897785},{x:.0704003940010533,y:.04035550336969822},{x:.07109145007989037,y:.03834080913001754},{x:.07224350295250744,y:.03635998272422403},{x:.073203348392932,y:.034279214644477654},{x:.0744556913660193,y:.03255637151138059},{x:.07552651634405921,y:.03071520740954014},{x:.07704287290513265,y:.02899719639360223},{x:.07839021289928177,y:.02714366624511229},{x:.07995460247492134,y:.0256982470536212},{x:.08136404514878363,y:.02410136799351792},{x:.08318643266605391,y:.022712194567306505},{x:.08486948969354943,y:.02115713247420773},{x:.0866858072576693,y:.0200446838732511},{x:.08837970353582197,y:.01875345702162473},{x:.17373770353582196,y:-.03394954297837521},{x:.17475219432147746,y:-.03444582628601368},{x:.17568351020275566,y:-.03508468417701866},{x:.17870701554383397,y:-.03638050305696308},{x:.18166188368778688,y:-.037826008286632525},{x:.18275370138776084,y:-.03811483831561822},{x:.18379175728720304,y:-.038559730016208084},{x:.18700996854351615,y:-.03924079346911771},{x:.19019006380536974,y:-.04008205754340442},{x:.19131725047775072,y:-.0401523347177012},{x:.19242215448928965,y:-.04038616328932037},{x:.262121,y:-.048110644533924524},{x:.262121,y:-.08350199999999997},{x:.2629856623818546,y:-.09228106449072573},{x:.26554642103699205,y:-.100722754456429},{x:.26970486744638544,y:-.10850266048588206},{x:.2753011948466053,y:-.1153218051533946},{x:.2821203395141179,y:-.1209181325536145},{x:.28990024554357097,y:-.12507657896300786},{x:.29834193550927424,y:-.12763733761814533},{x:.307121,y:-.12850199999999995},{x:.3159000644907258,y:-.12763733761814533},{x:.32434175445642904,y:-.12507657896300786},{x:.3321216604858821,y:-.1209181325536145},{x:.33894080515339464,y:-.1153218051533946},{x:.3445371325536145,y:-.10850266048588206},{x:.3486955789630079,y:-.100722754456429},{x:.35125633761814534,y:-.09228106449072573},{x:.35212099999999996,y:-.08350199999999997},{x:.35212099999999996,y:-.05796857189257534},{x:.3537665284657676,y:-.05798865052825875},{x:.3565834008023822,y:-.05822276473922817},{x:.35816715833059226,y:-.05804234673933715},{x:.35976104048452195,y:-.05806179518994546},{x:.3625398346041163,y:-.05754422155704884},{x:.36534825494544937,y:-.05722429279787242},{x:.3668663832111493,y:-.05673836571308556},{x:.3684334335709129,y:-.056446489484502926},{x:.37105786033397337,y:-.05539674504422484},{x:.37374990266128777,y:-.05453506799769968},{x:.49568890266128773,y:-.0018330679976996528},{x:.4995437197067623,y:.0003036028478311586},{x:.5033988605511543,y:.0024396894158641644},{x:.5034014762743246,y:.0024419030290919073},{x:.503404473339876,y:.00244356426035406},{x:.5067683773534712,y:.005291217073469004},{x:.510132712931077,y:.008138360005776092},{x:.5101348465393426,y:.008141041387321917},{x:.510137461926978,y:.00814325539697476},{x:.5128811799638975,y:.011592456477016289},{x:.5156254207452635,y:.015041241667436683},{x:.5156269902452553,y:.015044287773311453},{x:.5156291234470946,y:.015046969478205698},{x:.5176472159618929,y:.018965167962033513},{x:.519665902312761,y:.02288306052976895},{x:.5684429023127611,y:.1458620605297689},{x:.5688122064775901,y:.14714915498994666},{x:.5693537919217377,y:.14837377040805427},{x:.5700262192706007,y:.15138021786244946},{x:.5708758841928585,y:.15434145989163614},{x:.5709869926090132,y:.15567587086110493},{x:.5712792610244494,y:.1569826137160382},{x:.5713522390683521,y:.16006247719363653},{x:.5716078682563359,y:.16313258119086366},{x:.5714565110896938,y:.16446302800441426},{x:.5714882307651191,y:.1658016809010868},{x:.5709589549987614,y:.16883660297565092},{x:.5706107247661352,y:.1718975865660398},{x:.570202718587728,y:.17317294089875004},{x:.5699726705538047,y:.1744920601570685},{x:.5455836705538047,y:.26233106015706853},{x:.5448796820390573,y:.26415145628779163},{x:.5443792359109676,y:.2660379863232085},{x:.5432925447356423,y:.2682555269445408},{x:.5424018225194911,y:.2705587850827968},{x:.5413562192793141,y:.27220686146627543},{x:.5404973453311464,y:.27395951015977},{x:.5389989139081434,y:.2759224384285429},{x:.5376759632977357,y:.2780076688235372},{x:.5363289272782685,y:.2794200908086057},{x:.5351446315541886,y:.28097150485378414},{x:.5332920437627642,y:.28260438653745124},{x:.5315877050081386,y:.28439145495451523},{x:.529991002048182,y:.2855139439563835},{x:.528526796368706,y:.2868045033815319},{x:.4553637963687061,y:.3395095033815319},{x:.4552094954443409,y:.33959910378534747},{x:.4550747122553104,y:.3397160246969866},{x:.45139660000367776,y:.341813199213456},{x:.44773515946955245,y:.3439393468807752},{x:.44756634322254935,y:.3439971230209339},{x:.4474113397164003,y:.34408550243429054},{x:.4433947629085852,y:.34542481622689836},{x:.43938888509457313,y:.34679579895012297},{x:.43921204103863115,y:.34681953052195974},{x:.439042773913178,y:.34687597206574233},{x:.35212099999999996,y:.3666493043587998},{x:.35212099999999996,y:.6320956693586206},{x:.3838005126074005,y:.6288356018928482},{x:.4577579663937751,y:.5527249728659002},{x:.46449612147708186,y:.5470313904751531},{x:.47221556762189953,y:.5427617575185425},{x:.48061965084199804,y:.5400801535961528},{x:.48938540693229315,y:.5390896312428609},{x:.49817597280212744,y:.5398282556772123},{x:.5066535319349293,y:.5422676419764202},{x:.5144922964874953,y:.5463140458930298},{x:.5213910271340998,y:.551811966393775},{x:.5270846095248467,y:.5585501214770818},{x:.5313542424814575,y:.5662695676218995},{x:.534035846403847,y:.5746736508419981},{x:.535026368757139,y:.5834394069322931},{x:.5342877443227877,y:.5922299728021274},{x:.5318483580235798,y:.6007075319349293},{x:.5278019541069703,y:.6085462964874953},{x:.5223040336062249,y:.6154450271340998},{x:.4369490336062249,y:.7032850271340998},{x:.435089451582588,y:.7048563301588934},{x:.43337550685970433,y:.706585327551969},{x:.43172842132509603,y:.7076963215886295},{x:.4302108785229181,y:.7089786095248467},{x:.4280804818333404,y:.7101569339468108},{x:.4260621594195314,y:.7115183351118896},{x:.4242299779872524,y:.7122866512623272},{x:.42249143237810044,y:.7132482424814575},{x:.4201720909726226,y:.7139883059538676},{x:.4179269538663623,y:.7149297930076584},{x:.4159800862413552,y:.7153259053130885},{x:.41408734915800194,y:.715929846403847},{x:.4116681940261354,y:.716203208702491},{x:.4092825215873294,y:.7166886008255086},{x:.35212099999999996,y:.7225709645831306},{x:.35212099999999996,y:.7597659999999999},{x:.35125633761814534,y:.7685450644907257},{x:.3486955789630079,y:.776986754456429},{x:.3445371325536145,y:.7847666604858821},{x:.33894080515339464,y:.7915858051533946},{x:.3321216604858821,y:.7971821325536145},{x:.32434175445642904,y:.8013405789630078},{x:.3159000644907258,y:.8039013376181453},{x:.307121,y:.804766},{x:.29834193550927424,y:.8039013376181453},{x:.28990024554357097,y:.8013405789630078},{x:.2821203395141179,y:.7971821325536145},{x:.2753011948466053,y:.7915858051533946},{x:.26970486744638544,y:.7847666604858821},{x:.26554642103699205,y:.776986754456429},{x:.2629856623818546,y:.7685450644907257},{x:.262121,y:.7597659999999999},{x:.262121,y:.7318326623736131},{x:.23856652158732947,y:.7342566008255086},{x:.23743405616423266,y:.7342615520061975},{x:.23631438427367413,y:.7344313675125375},{x:.2330314335362298,y:.7342808004350606},{x:.22974506326706257,y:.734295168567351},{x:.22863339192208898,y:.7340790915684273},{x:.22750210485113245,y:.7340272069677483},{x:.2243116092711877,y:.7332390610779145},{x:.22108558260167874,y:.7326120140964958},{x:.22003742624118275,y:.7321832126358507},{x:.21893799871753236,y:.7319116218242595},{x:.21596256725097532,y:.7305161851266182},{x:.21292085857685591,y:.729271820095334},{x:.21197649726195836,y:.7286467727726252},{x:.21095117966878213,y:.7281659128327016},{x:.2083051564782311,y:.7262168111769735},{x:.20556465695803808,y:.7244029483461277},{x:.204760381964467,y:.7236056753794367},{x:.20384857668186554,y:.7229340254890024},{x:.10629557668186554,y:.6350940254890024},{x:.10393291169686979,y:.6325042238563513},{x:.10146752815288923,y:.6300120075116347},{x:.10096488682836192,y:.6292508655939548},{x:.10035013880638408,y:.6285770182897039},{x:.09853811700104832,y:.6255760458964971},{x:.09660631239978806,y:.6226507443205297},{x:.09626182060918942,y:.6218061670735107},{x:.09579034588565258,y:.6210253361666956},{x:.09459860224176168,y:.6177285186990383},{x:.0932746147506803,y:.6144825495908574},{x:.056695614750680294,y:.49150554959085735},{x:.05654965816703397,y:.490750439567249},{x:.05628361804350595,y:.49002883224693095},{x:.05571374572525952,y:.48642582571377374},{x:.055021470477783566,y:.4828443224653027},{x:.055025633066628665,y:.4820752469521588},{x:.05490548343396577,y:.4813156032607913},{x:.055049472757300266,y:.47767065091379934},{x:.05506921600663437,y:.4740229090450286},{x:.05522333780201598,y:.4732694231830167},{x:.05525369594322076,y:.472500935801646},{x:.05610601347919053,y:.46895411111540136},{x:.056837016503334954,y:.46538031130067065},{x:.05713517469108906,y:.46467137112890816},{x:.05731487395982006,y:.46392357259662753},{x:.08169987395982006,y:.39365157259662753},{x:.08192222202041206,y:.3931695328553223},{x:.08205835369770847,y:.3926564352635495},{x:.08376780756696771,y:.3891683934837906},{x:.08539480756850773,y:.3856411369034641},{x:.08570692456181836,y:.38521173737536313},{x:.08594054088151196,y:.3847350567827023},{x:.08829763126802886,y:.38164753465350854},{x:.09058150254284453,y:.37850546527353984},{x:.0909713939878581,y:.378145207541698},{x:.09129351720579659,y:.37772326251599964},{x:.09420766244788897,y:.3751549117812935},{x:.09706063710369874,y:.372518777565862},{x:.09751331969083687,y:.37224150613287915},{x:.09791157079240381,y:.3718905117848512},{x:.17107757079240382,y:.3191875117848513},{x:.17123114354048857,y:.3190983419119289},{x:.17136528774468962,y:.3189819753030134},{x:.17504412834709762,y:.3168843854977816},{x:.17870637355344754,y:.314757953928811},{x:.1788743916234626,y:.3147004579868701},{x:.17902866028359976,y:.31461249756570947},{x:.183046032465951,y:.31327291855818423},{x:.1870527548771027,y:.3119018143721617},{x:.18722876142884332,y:.31187820189800686},{x:.18739722608682208,y:.3118220279342577},{x:.262121,y:.2948235482063542},{x:.262121,y:.04244038202745839},{x:.212402420161311,y:.04795051974434915},{x:.14928483997433578,y:.08692151049617265},{x:.11795277553134796,y:.17720643745102208},{x:.114257651607068,y:.18521678535552225},{x:.10907078710071823,y:.1923523337548876},{x:.10259151030645056,y:.1983388675257922},{x:.09506881619784838,y:.20294632753270694},{x:.08679179769072982,y:.20599765167145945},{x:.07807853596451803,y:.20737557926659977},{x:.06926387678089782,y:.20702715733339738},{x:.0606865625489779,y:.20496577553134793},{x:.052676214644477706,y:.20127065160706795},{x:.04554066624511235,y:.1960837871007182},{x:.039554132474207776,y:.18960451030645054},{x:.034946672467293015,y:.18208181619784836},{x:.03189534832854049,y:.1738047976907298},{x:.030517420733400163,y:.165091535964518}],[{x:.14709211773983194,y:.4797371545422716},{x:.17592903295677773,y:.5766856037244347},{x:.24922570721126042,y:.6426843927572041},{x:.262121,y:.6413573671491031},{x:.262121,y:.3871228845247169},{x:.21626819752335621,y:.3975536737173561},{x:.16206100150816494,y:.4366002507010456},{x:.14709211773983194,y:.4797371545422716}],[{x:.35212099999999996,y:.034163101195078524},{x:.35212099999999996,y:.2743499680404371},{x:.4101709471377665,y:.26114452085874473},{x:.4630938273127818,y:.2230200535785049},{x:.47920731446793274,y:.1649859973145621},{x:.44287681685863156,y:.07338773859643172},{x:.35212099999999996,y:.034163101195078524}]],"\'":[[{x:.25602600000000003,y:.476978},{x:.25689066238185465,y:.4681989355092742},{x:.2594514210369921,y:.459757245543571},{x:.2636098674463855,y:.4519773395141179},{x:.26920619484660535,y:.44515819484660535},{x:.27602533951411795,y:.4395618674463855},{x:.283805245543571,y:.4354034210369921},{x:.2922469355092743,y:.43284266238185465},{x:.301026,y:.43197800000000003},{x:.3098050644907258,y:.43284266238185465},{x:.3182467544564291,y:.4354034210369921},{x:.32602666048588214,y:.4395618674463855},{x:.3328458051533947,y:.44515819484660535},{x:.33844213255361455,y:.4519773395141179},{x:.34260057896300794,y:.459757245543571},{x:.3451613376181454,y:.4681989355092742},{x:.346026,y:.476978},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.476978}]],"(":[[{x:.14398102142772873,y:.343473372436119},{x:.14438344127795402,y:.34024506484177663},{x:.14461855620935057,y:.33700027938992067},{x:.15480555620935058,y:.27783527938992064},{x:.15553530200183258,y:.27518493680242373},{x:.1560666158259812,y:.2724877993619115},{x:.1764416158259812,y:.20487079936191147},{x:.17757136816824137,y:.2021290142392397},{x:.17852197521392682,y:.19932008699588913},{x:.2090839752139268,y:.13170208699588917},{x:.21040800505224358,y:.12940389577393302},{x:.21154775445201235,y:.12700896170152925},{x:.25229575445201236,y:.05939296170152925},{x:.2531150427152032,y:.05829379345186112},{x:.2537782786760274,y:.05709399256856861},{x:.29452927867602746,y:-.0020700074314313824},{x:.29560111146026063,y:-.0033391000809501682},{x:.29650963843516415,y:-.004729783512322571},{x:.3372576384351641,y:-.05544378351232261},{x:.3386866074193021,y:-.05690267270426387},{x:.3399537097957662,y:-.05850416001284604},{x:.38070370979576623,y:-.10073716001284601},{x:.38742176905533504,y:-.10645444032360908},{x:.3951261287468799,y:-.11075123635207199},{x:.40352071464810957,y:-.11346242463653189},{x:.41228292753057777,y:-.11448381573166892},{x:.42107604046711683,y:-.11377615815049966},{x:.4295621390588101,y:-.11136664677700951},{x:.4374151072958377,y:-.10734787778201216},{x:.444333160012846,y:-.10187429020423372},{x:.4500504403236091,y:-.09515623094466494},{x:.45434723635207197,y:-.08745187125312004},{x:.4570584246365319,y:-.07905728535189037},{x:.45807981573166895,y:-.07029507246942218},{x:.4573721581504997,y:-.06150195953288313},{x:.45496264677700954,y:-.053015860941189874},{x:.45094387778201217,y:-.04516289270416226},{x:.44547029020423373,y:-.03824483998715393},{x:.4061377413616867,y:.0025191240684850026},{x:.3677075745656829,y:.050348403515145926},{x:.3286739379437331,y:.10701906379590062},{x:.2900025757951927,y:.1711891536907596},{x:.2617573982317254,y:.23368121626802973},{x:.24303344075060918,y:.2958190240226623},{x:.23462816944303005,y:.34463593546989096},{x:.24303340667749923,y:.39345182392970596},{x:.26175739639474455,y:.45558881969516635},{x:.2900026404789191,y:.5180819536434618},{x:.328674029726828,y:.5822520885061939},{x:.36770768599197223,y:.6389237351633864},{x:.4061420841180472,y:.6867582808236831},{x:.4454798975405431,y:.7275528000242046},{x:.45095135740921277,y:.7344725356602282},{x:.45496771125722263,y:.7423267393839987},{x:.45737461285859093,y:.7508135785511003},{x:.458079566334583,y:.759606908691815},{x:.4570554807184589,y:.768368807060192},{x:.4543417110461325,y:.7767625588156633},{x:.4500425459642118,y:.7844655967855365},{x:.4443231999757953,y:.791181897540543},{x:.4374034643397718,y:.7966533574092127},{x:.4295492606160011,y:.8006697112572226},{x:.42106242144889966,y:.8030766128585909},{x:.41226909130818484,y:.803781566334583},{x:.403507192939808,y:.8027574807184589},{x:.39511344118433667,y:.8000437110461325},{x:.3874104032144634,y:.7957445459642117},{x:.38069410245945684,y:.7900251999757952},{x:.33994410245945683,y:.7477661999757953},{x:.338681775527778,y:.7461697396410558},{x:.3372576384351641,y:.7447157835123226},{x:.29650963843516415,y:.6940017835123226},{x:.2956010143988682,y:.6926109515089496},{x:.29452907712829884,y:.6913417148135671},{x:.2537780771282988,y:.6321767148135672},{x:.25311493656839296,y:.6309770641401381},{x:.25229575445201236,y:.6298780382984708},{x:.21154775445201235,y:.5622620382984707},{x:.21040795156345282,y:.5598669918310725},{x:.2090838723444427,y:.5575686854051248},{x:.17852187234444272,y:.48994968540512485},{x:.17757135012625538,y:.48714095747585867},{x:.17644166886939822,y:.4843993766680373},{x:.1560666688693982,y:.4167833766680374},{x:.15553533856931018,y:.4140862136984408},{x:.15480557779123924,y:.4114358459543075},{x:.14461857779123924,y:.3522718459543075},{x:.14438345368873493,y:.3490270611669966},{x:.14398102471397584,y:.3457987547100726},{x:.14406527252602844,y:.3446360634540339},{x:.14398102142772873,y:.343473372436119}]],")":[[{x:.14397318426833106,y:-.07029507246942218},{x:.14499457536346808,y:-.07905728535189037},{x:.14770576364792798,y:-.08745187125312004},{x:.1520025596763909,y:-.09515623094466495},{x:.15771983998715397,y:-.10187429020423372},{x:.16463789270416226,y:-.10734787778201214},{x:.1724908609411899,y:-.11136664677700951},{x:.18097695953288315,y:-.11377615815049966},{x:.1897700724694222,y:-.11448381573166892},{x:.19853228535189038,y:-.11346242463653189},{x:.20692687125312006,y:-.11075123635207199},{x:.21463123094466496,y:-.10645444032360907},{x:.22134929020423375,y:-.10073716001284601},{x:.2620992902042337,y:-.05850416001284604},{x:.2633660586938147,y:-.05690309470300352},{x:.26479468609075496,y:-.05544462417080616},{x:.30554468609075497,y:-.004730624170806122},{x:.3064541047100432,y:-.003338648753719708},{x:.307526891803669,y:-.002068307996824087},{x:.348273891803669,y:.05709569200317591},{x:.3489362195699084,y:.058293979727073175},{x:.3497544895549002,y:.059391707275619196},{x:.39050548955490016,y:.12700770727561922},{x:.39164563057902163,y:.12940326331913213},{x:.3929700247860732,y:.13170208699588917},{x:.42353202478607316,y:.19932008699588913},{x:.4244827292530259,y:.20212930210713742},{x:.4256125601984483,y:.2048713835354543},{x:.4459865601984483,y:.27248838353545435},{x:.4465177787005257,y:.27518522990297933},{x:.4472474437906494,y:.27783527938992064},{x:.4574344437906494,y:.33700027938992067},{x:.45766955872204595,y:.3402450648417768},{x:.4580719785722712,y:.34347337243611903},{x:.45798772747397154,y:.3446360634540339},{x:.4580719752860241,y:.3457987547100726},{x:.45766954631126505,y:.34902706116699656},{x:.45743442220876074,y:.3522718459543075},{x:.44724742220876074,y:.4114358459543075},{x:.4465177421348676,y:.414085920594514},{x:.44598650715958776,y:.4167827924880124},{x:.42561250715958776,y:.4843987924880123},{x:.42448274729464536,y:.48714066960378194},{x:.42353212765555726,y:.48994968540512485},{x:.3929701276555573,y:.5575686854051248},{x:.39164568407140216,y:.5598676242877579},{x:.39050548955490016,y:.5622632927243807},{x:.3497544895549002,y:.6298792927243808},{x:.3489363257182038,y:.6309768778726063},{x:.34827409333092635,y:.6321750153799588},{x:.3075270933309263,y:.6913400153799587},{x:.3064542017711834,y:.692610500189881},{x:.30554468609075497,y:.6940026241708062},{x:.26479468609075496,y:.7447166241708062},{x:.26337089070969094,y:.7461701617493295},{x:.2621088975405431,y:.7477661999757953},{x:.2213588975405431,y:.7900251999757952},{x:.21464259678553657,y:.7957445459642117},{x:.20693955881566328,y:.8000437110461325},{x:.19854580706019195,y:.8027574807184589},{x:.1897839086918151,y:.803781566334583},{x:.1809905785511003,y:.8030766128585909},{x:.17250373938399882,y:.8006697112572226},{x:.16464953566022822,y:.7966533574092127},{x:.15772980002420467,y:.791181897540543},{x:.15201045403578817,y:.7844655967855365},{x:.14771128895386743,y:.7767625588156633},{x:.14499751928154103,y:.7683688070601918},{x:.14397343366541698,y:.759606908691815},{x:.14467838714140904,y:.7508135785511002},{x:.14708528874277732,y:.7423267393839987},{x:.1511016425907872,y:.7344725356602282},{x:.15657310245945688,y:.7275528000242046},{x:.19591129092993145,y:.6867578918874246},{x:.23434697314436972,y:.6389240958672278},{x:.27337685298529213,y:.5822523693404118},{x:.3120516621801016,y:.518081284004684},{x:.34029647741491703,y:.4555890988936643},{x:.35901954136421654,y:.39345212569273014},{x:.36742483055696995,y:.344635935469891},{x:.359019507292604,y:.29581872226323463},{x:.3402964755778617,y:.23368093707349602},{x:.3120517268674457,y:.17118982332763816},{x:.27337694476991303,y:.10701878295300266},{x:.23434708457036935,y:.05034804280413771},{x:.1959156338111051,y:.0025195128948044543},{x:.15658270979576625,y:-.03824483998715393},{x:.1511091222179878,y:-.045162892704162266},{x:.14709035322299047,y:-.053015860941189874},{x:.1446808418495003,y:-.06150195953288312},{x:.14397318426833106,y:-.07029507246942218}]],"*":[[{x:.03611444520266741,y:.4654782574484574},{x:.03652686631141767,y:.45666636076295464},{x:.038650478626155074,y:.4481042415682919},{x:.04240367291655979,y:.4401209373034283},{x:.04764221603086716,y:.4330232418741738},{x:.05416479369500318,y:.42708391573544136},{x:.06172074690723879,y:.42253120385992987},{x:.07001970462305517,y:.4195400644118251},{x:.0787427425515426,y:.41822544520266736},{x:.08755463923704532,y:.41863786631141764},{x:.09611675843170807,y:.42076147862615504},{x:.25602600000000003,y:.47756000598755177},{x:.25602600000000003,y:.31805799999999995},{x:.25689066238185465,y:.30927893550927416},{x:.2594514210369921,y:.30083724554357094},{x:.2636098674463855,y:.29305733951411783},{x:.26920619484660535,y:.2862381948466053},{x:.27602533951411795,y:.2806418674463854},{x:.283805245543571,y:.276483421036992},{x:.2922469355092743,y:.2739226623818546},{x:.301026,y:.27305799999999997},{x:.3098050644907258,y:.2739226623818546},{x:.3182467544564291,y:.276483421036992},{x:.32602666048588214,y:.2806418674463854},{x:.3328458051533947,y:.2862381948466053},{x:.33844213255361455,y:.29305733951411783},{x:.34260057896300794,y:.30083724554357094},{x:.3451613376181454,y:.30927893550927416},{x:.346026,y:.31805799999999995},{x:.346026,y:.47756000598755177},{x:.505935241568292,y:.42076147862615504},{x:.5144973607629547,y:.41863786631141764},{x:.5233092574484575,y:.41822544520266736},{x:.5320322953769449,y:.4195400644118251},{x:.5403312530927612,y:.42253120385992987},{x:.5478872063049969,y:.42708391573544136},{x:.5544097839691329,y:.4330232418741738},{x:.5596483270834403,y:.4401209373034283},{x:.5634015213738449,y:.4481042415682919},{x:.5655251336885824,y:.45666636076295464},{x:.5659375547973327,y:.4654782574484574},{x:.5646229355881749,y:.4742012953769448},{x:.5616317961400701,y:.4825002530927612},{x:.5570790842645587,y:.4900562063049968},{x:.5511397581258262,y:.4965787839691328},{x:.5440420626965717,y:.5018173270834402},{x:.5360587584317081,y:.5055705213738448},{x:.37146215609131306,y:.5640339630732496},{x:.47696549129035026,y:.7165911114148321},{x:.48124783600971727,y:.7243035129909579},{x:.48394328176908086,y:.732703166943666},{x:.4849482440995321,y:.7414672792821342},{x:.48422410286230105,y:.7502590500841659},{x:.48179868639903156,y:.758740616528321},{x:.47776520210421775,y:.7665860367726678},{x:.4722786545173053,y:.7734938157169785},{x:.4655498885851679,y:.7791984912903502},{x:.45783748700904214,y:.7834808360097172},{x:.449437833056334,y:.7861762817690807},{x:.4406737207178658,y:.7871812440995319},{x:.431881949915834,y:.786457102862301},{x:.4234003834716789,y:.7840316863990314},{x:.4155549632273321,y:.7799982021042177},{x:.40864718428302144,y:.7745116545173052},{x:.40294250870964976,y:.7677828885851677},{x:.301026,y:.6204122684209616},{x:.19910949129035027,y:.7677828885851677},{x:.19340481571697854,y:.7745116545173052},{x:.18649703677266788,y:.7799982021042177},{x:.17865161652832107,y:.7840316863990314},{x:.17017005008416597,y:.786457102862301},{x:.1613782792821342,y:.7871812440995319},{x:.15261416694366597,y:.7861762817690807},{x:.14421451299095783,y:.7834808360097172},{x:.13650211141483212,y:.7791984912903502},{x:.12977334548269473,y:.7734938157169785},{x:.12428679789578226,y:.7665860367726678},{x:.12025331360096844,y:.758740616528321},{x:.11782789713769894,y:.7502590500841659},{x:.11710375590046794,y:.7414672792821342},{x:.11810871823091917,y:.732703166943666},{x:.12080416399028275,y:.7243035129909579},{x:.1250865087096497,y:.7165911114148321},{x:.23058984390868703,y:.5640339630732496},{x:.06599324156829194,y:.5055705213738448},{x:.058009937303428294,y:.5018173270834402},{x:.05091224187417384,y:.4965787839691328},{x:.04497291573544139,y:.4900562063049968},{x:.04042020385992993,y:.4825002530927612},{x:.03742906441182516,y:.4742012953769448},{x:.03611444520266741,y:.4654782574484574}]],"+":[[{x:-.002030999999999998,y:.33155},{x:-.0011663376181453647,y:.3227709355092742},{x:.0013944210369920967,y:.314329245543571},{x:.005552867446385459,y:.3065493395141179},{x:.011149194846605363,y:.29973019484660535},{x:.017968339514117915,y:.2941338674463855},{x:.025748245543570962,y:.2899754210369921},{x:.03418993550927423,y:.28741466238185465},{x:.042969,y:.28655},{x:.256023,y:.28655},{x:.256023,y:.09133899999999995},{x:.2568876623818546,y:.08255993550927418},{x:.25944842103699206,y:.07411824554357091},{x:.26360686744638545,y:.06633833951411786},{x:.2692031948466054,y:.05951919484660531},{x:.2760223395141179,y:.053922867446385414},{x:.2838022455435709,y:.049764421036992045},{x:.2922439355092742,y:.04720366238185458},{x:.301023,y:.04633899999999995},{x:.3098020644907258,y:.04720366238185458},{x:.31824375445642905,y:.049764421036992045},{x:.3260236604858821,y:.053922867446385414},{x:.3328428051533946,y:.05951919484660531},{x:.3384391325536145,y:.06633833951411786},{x:.3425975789630079,y:.07411824554357091},{x:.34515833761814535,y:.08255993550927418},{x:.34602299999999997,y:.09133899999999995},{x:.34602299999999997,y:.28655},{x:.559083,y:.28655},{x:.5678620644907257,y:.28741466238185465},{x:.576303754456429,y:.2899754210369921},{x:.5840836604858821,y:.2941338674463855},{x:.5909028051533947,y:.29973019484660535},{x:.5964991325536145,y:.3065493395141179},{x:.6006575789630079,y:.314329245543571},{x:.6032183376181454,y:.3227709355092742},{x:.604083,y:.33155},{x:.6032183376181454,y:.3403290644907258},{x:.6006575789630079,y:.348770754456429},{x:.5964991325536145,y:.35655066048588213},{x:.5909028051533947,y:.3633698051533947},{x:.5840836604858821,y:.36896613255361455},{x:.576303754456429,y:.37312457896300794},{x:.5678620644907257,y:.3756853376181454},{x:.559083,y:.37655},{x:.34602299999999997,y:.37655},{x:.34602299999999997,y:.571777},{x:.34515833761814535,y:.5805560644907257},{x:.3425975789630079,y:.588997754456429},{x:.3384391325536145,y:.5967776604858821},{x:.3328428051533946,y:.6035968051533946},{x:.3260236604858821,y:.6091931325536145},{x:.31824375445642905,y:.6133515789630078},{x:.3098020644907258,y:.6159123376181453},{x:.301023,y:.616777},{x:.2922439355092742,y:.6159123376181453},{x:.2838022455435709,y:.6133515789630078},{x:.2760223395141179,y:.6091931325536145},{x:.2692031948466054,y:.6035968051533946},{x:.26360686744638545,y:.5967776604858821},{x:.25944842103699206,y:.588997754456429},{x:.2568876623818546,y:.5805560644907257},{x:.256023,y:.571777},{x:.256023,y:.37655},{x:.042969,y:.37655},{x:.03418993550927421,y:.3756853376181454},{x:.025748245543570934,y:.37312457896300794},{x:.017968339514117904,y:.36896613255361455},{x:.011149194846605356,y:.3633698051533947},{x:.005552867446385459,y:.35655066048588213},{x:.0013944210369920967,y:.348770754456429},{x:-.0011663376181453647,y:.3403290644907258},{x:-.002030999999999998,y:.33155}]],",":[[{x:.1703425796668749,y:-.03158948169003215},{x:.1707557440557006,y:-.035050650253961146},{x:.17102563140319493,y:-.03852592771911176},{x:.17127771326913271,y:-.039423300660751795},{x:.17138819577001116,y:-.0403488367651378},{x:.1724686618106471,y:-.0436628955719719},{x:.1734113563482083,y:-.04701874414557815},{x:.1738336633079298,y:-.04784969558537063},{x:.17412258605517572,y:-.048735893706360625},{x:.1758288320436127,y:-.05177548533469908},{x:.17740810654883146,y:-.054882941638058576},{x:.177984409582707,y:-.05561553857817519},{x:.17844066943717352,y:-.05642834261896521},{x:.18070712529694977,y:-.05907665726715373},{x:.18286228913625774,y:-.06181630349720979},{x:.26855428913625773,y:-.1511263034972098},{x:.27525630293239317,y:-.15686238451505874},{x:.2829485933055849,y:-.16118075031492074},{x:.2913355498506774,y:-.16391544852087458},{x:.3000948665311021,y:-.16496138621450188},{x:.3088899277191117,y:-.1642783685968051},{x:.3173827441455781,y:-.16189264365179173},{x:.3252469416380585,y:-.15789589345116858},{x:.33218030349720973,y:-.1524417108637423},{x:.3379163845150587,y:-.14573969706760687},{x:.3422347503149207,y:-.13804740669441512},{x:.3449694485208745,y:-.12966045014932262},{x:.3460153862145018,y:-.12090113346889794},{x:.34533236859680505,y:-.11210607228088836},{x:.34294664365179167,y:-.10361325585442197},{x:.33894989345116855,y:-.09574905836194152},{x:.33349571086374225,y:-.08881569650279031},{x:.277697993368333,y:-.03066214483501502},{x:.41918956700521515,y:.11679250439324337},{x:.42464400414059766,y:.12372566600271688},{x:.42864104306488354,y:.1315897167531037},{x:.43102707981377775,y:.14008244558427704},{x:.4317104203331251,y:.14887748169003212},{x:.4306648042299889,y:.15763683676513773},{x:.4279304139448243,y:.1660238937063606},{x:.4236123305628265,y:.17371634261896518},{x:.41787649560675666,y:.1804185670052151},{x:.41094333399728317,y:.18587300414059763},{x:.4030792832468963,y:.18987004306488353},{x:.39458655441572293,y:.19225607981377774},{x:.3857915183099679,y:.19293942033312508},{x:.37703216323486227,y:.19189380422998883},{x:.36864510629363945,y:.18915941394482427},{x:.3609526573810348,y:.18484133056282648},{x:.35425043299478487,y:.17910549560675662},{x:.18286343299478489,y:.000495495606756581},{x:.18070816857348473,y:-.0022440714967103576},{x:.1784416154849413,y:-.004892302932393237},{x:.17798532578947307,y:-.005705090221499034},{x:.17740899585940237,y:-.006437666002716908},{x:.1758296072680145,y:-.009545064322455634},{x:.1741232496850793,y:-.012584593305585},{x:.17383429440212667,y:-.013470780818460306},{x:.1734119569351165,y:-.014301716753103766},{x:.1724691391914766,y:-.01765753071433596},{x:.17138855147912546,y:-.02097154985067746},{x:.17127803499816427,y:-.02189708189818214},{x:.17102592018622226,y:-.022794445584277102},{x:.17075590524748027,y:-.02626971313843455},{x:.17034261378549817,y:-.029730866531102167},{x:.17041478319291342,y:-.03066017543569507},{x:.1703425796668749,y:-.03158948169003215}]],"-":[[{x:.12882900000000003,y:.31396500000000005},{x:.12969366238185465,y:.30518593550927425},{x:.13225442103699211,y:.29674424554357104},{x:.13641286744638548,y:.28896433951411793},{x:.14200919484660537,y:.2821451948466054},{x:.14882833951411792,y:.2765488674463855},{x:.15660824554357097,y:.2723904210369921},{x:.16504993550927424,y:.2698296623818547},{x:.173829,y:.26896500000000007},{x:.428224,y:.26896500000000007},{x:.4370030644907258,y:.2698296623818547},{x:.44544475445642906,y:.2723904210369921},{x:.4532246604858821,y:.2765488674463855},{x:.4600438051533946,y:.2821451948466054},{x:.4656401325536145,y:.28896433951411793},{x:.4697985789630079,y:.29674424554357104},{x:.47235933761814536,y:.30518593550927425},{x:.473224,y:.31396500000000005},{x:.47235933761814536,y:.32274406449072585},{x:.4697985789630079,y:.33118575445642906},{x:.4656401325536145,y:.33896566048588217},{x:.4600438051533946,y:.3457848051533947},{x:.4532246604858821,y:.3513811325536146},{x:.44544475445642906,y:.355539578963008},{x:.4370030644907258,y:.3581003376181454},{x:.428224,y:.35896500000000003},{x:.173829,y:.35896500000000003},{x:.16504993550927424,y:.3581003376181454},{x:.15660824554357097,y:.355539578963008},{x:.14882833951411792,y:.3513811325536146},{x:.14200919484660537,y:.3457848051533947},{x:.13641286744638548,y:.33896566048588217},{x:.13225442103699211,y:.33118575445642906},{x:.12969366238185465,y:.32274406449072585},{x:.12882900000000003,y:.31396500000000005}]],".":[[{x:.19450299999999998,y:.148926},{x:.19536766238185463,y:.14014693550927423},{x:.1979284210369921,y:.13170524554357096},{x:.20208686744638546,y:.12392533951411791},{x:.20768319484660536,y:.11710619484660537},{x:.2145023395141179,y:.11150986744638547},{x:.22228224554357093,y:.1073514210369921},{x:.2307239355092742,y:.10479066238185464},{x:.239503,y:.103926},{x:.362549,y:.103926},{x:.3713280644907258,y:.10479066238185464},{x:.3797697544564291,y:.1073514210369921},{x:.38754966048588213,y:.11150986744638547},{x:.3943688051533947,y:.11710619484660537},{x:.39996513255361454,y:.12392533951411791},{x:.40412357896300793,y:.13170524554357096},{x:.4066843376181454,y:.14014693550927423},{x:.407549,y:.148926},{x:.4066843376181454,y:.1577050644907258},{x:.40412357896300793,y:.16614675445642904},{x:.39996513255361454,y:.1739266604858821},{x:.3943688051533947,y:.18074580515339464},{x:.38754966048588213,y:.18634213255361454},{x:.3797697544564291,y:.1905005789630079},{x:.3713280644907258,y:.19306133761814537},{x:.362549,y:.193926},{x:.239503,y:.193926},{x:.2307239355092742,y:.19306133761814537},{x:.22228224554357093,y:.1905005789630079},{x:.2145023395141179,y:.18634213255361454},{x:.20768319484660536,y:.18074580515339464},{x:.20208686744638546,y:.1739266604858821},{x:.1979284210369921,y:.16614675445642904},{x:.19536766238185463,y:.1577050644907258},{x:.19450299999999998,y:.148926}]],"/":[[{x:.017522651058219416,y:-.036644753012328966},{x:.01865919532569161,y:-.04539277458837648},{x:.02148055556003016,y:-.053750976595687026},{x:.02587830846966649,y:-.06139815801845333},{x:.031683450876571484,y:-.06804044196318723},{x:.038672894413609195,y:-.07342256918292836},{x:.04657803868537635,y:-.0773377075469538},{x:.0550950934307649,y:-.07963540048356893},{x:.0638967530123289,y:-.08022734894178067},{x:.07264477458837641,y:-.07909080467430848},{x:.08100297659568695,y:-.07626944443996993},{x:.08865015801845323,y:-.0718716915303336},{x:.09529244196318715,y:-.0660665491234286},{x:.10067456918292828,y:-.059077105586390885},{x:.5777245691829282,y:.7051758944136092},{x:.5816397075469537,y:.7130810386853763},{x:.5839374004835688,y:.7215980934307649},{x:.5845293489417805,y:.7303997530123288},{x:.5833928046743084,y:.7391477745883763},{x:.5805714444399699,y:.747505976595687},{x:.5761736915303335,y:.7551531580184532},{x:.5703685491234285,y:.7617954419631872},{x:.5633791055863908,y:.7671775691829282},{x:.5554739613146237,y:.7710927075469537},{x:.5469569065692351,y:.7733904004835688},{x:.5381552469876711,y:.7739823489417805},{x:.5294072254116237,y:.7728458046743084},{x:.521049023404313,y:.7700244444399699},{x:.5134018419815468,y:.7656266915303335},{x:.5067595580368128,y:.7598215491234285},{x:.5013774308170718,y:.7528321055863908},{x:.024327430817071727,y:-.011420894413609283},{x:.020412292453046287,y:-.019326038685376436},{x:.018114599516431164,y:-.027843093430764996},{x:.017522651058219416,y:-.036644753012328966}]],"<":[[{x:-.002019645490236678,y:.32959917016575135},{x:-.0016099914284145765,y:.3262199732716625},{x:-.0013526191024594778,y:.3228257800560043},{x:-.001080072865731869,y:.3218487260950263},{x:-.0009579981642362373,y:.3208417436418168},{x:.00010303311987996846,y:.3176073966113462},{x:.0010176343561875828,y:.3143286327165328},{x:.0014755574652736251,y:.31342352370653337},{x:.001791739066671412,y:.3124597057316259},{x:.003463372735866293,y:.309494502707312},{x:.00500005526992945,y:.3064571691910689},{x:.005625757523098081,y:.30565878796371126},{x:.0061238953427729045,y:.3047751734513664},{x:.008341891452602095,y:.3021930655225286},{x:.010441601436418424,y:.2995138854085287},{x:.011211037446978121,y:.298852913306643},{x:.011871988327878901,y:.29808345906703315},{x:.014551110531708777,y:.29598367519331337},{x:.017133157288130564,y:.2937656078708368},{x:.01801675806170013,y:.2932674456816211},{x:.018815122032139454,y:.29264172140965955},{x:.021852413166145952,y:.29110495510775264},{x:.024817570086352318,y:.28943323966009543},{x:.5409315700863523,y:.06192123966009548},{x:.5493135321567164,y:.059171271257023414},{x:.5580709293975171,y:.05810938240515066},{x:.5668672199439956,y:.058776380897540545},{x:.5753643672834672,y:.061146634356187606},{x:.583235830808931,y:.06512905526992949},{x:.5901791145914712,y:.07057060143641844},{x:.5959273921291632,y:.07726215728813057},{x:.6002597603399046,y:.08494657008635234},{x:.6030097287429766,y:.09332853215671641},{x:.6040716175948494,y:.10208592939751719},{x:.6034046191024595,y:.11088221994399564},{x:.6010343656438124,y:.11937936728346718},{x:.5970519447300705,y:.12725083080893104},{x:.5916103985635816,y:.13419411459147126},{x:.5849188427118694,y:.1399423921291632},{x:.5772344299136477,y:.14427476033990455},{x:.15453394878652635,y:.33060846154195217},{x:.577233294268374,y:.5169277390666714},{x:.5849178265486336,y:.521259895342773},{x:.5916095409329668,y:.527007988327879},{x:.5970512785903404,y:.5339511220321395},{x:.6010339165943431,y:.5418224757210541},{x:.6034044043999703,y:.5503195576866639},{x:.6040716454902366,y:.5591158298342486},{x:.6030099981642363,y:.5678732563581832},{x:.6002602609333286,y:.5762552942683741},{x:.5959281046572271,y:.5839398265486336},{x:.5901800116721211,y:.5906315409329669},{x:.5832368779678606,y:.5960732785903404},{x:.5753655242789459,y:.6000559165943432},{x:.5668684423133362,y:.6024264043999704},{x:.5580721701657515,y:.6030936454902367},{x:.5493147436418169,y:.6020319981642364},{x:.540932705731626,y:.5992822609333287},{x:.024818705731625975,y:.37178726093332853},{x:.02185350270731245,y:.3701156272641339},{x:.018816169191068974,y:.3685789447300705},{x:.01801778796371134,y:.36795324247690187},{x:.01713417345136639,y:.367455104657227},{x:.01455206552252819,y:.3652371085473975},{x:.011872885408528756,y:.3631373985635815},{x:.011211913306643135,y:.3623679625530219},{x:.010442459067033207,y:.36170701167212105},{x:.008342675193313383,y:.3590278894682912},{x:.006124607870836803,y:.3564458427118694},{x:.005626445681621026,y:.3555622419382997},{x:.005000721409659611,y:.3547638779678605},{x:.0034639551077528313,y:.3517265868338544},{x:.0017922396600954515,y:.3487614299136476},{x:.0014760314771086122,y:.3477976206592673},{x:.0010180834056568513,y:.3468925242789459},{x:.00010339174271701993,y:.34361378560971106},{x:-.0009577287429766018,y:.3403794678432836},{x:-.0010798312165939596,y:.33937248875722786},{x:-.0013524043999703778,y:.33839544231333624},{x:-.001609870336301571,y:.33500125619719334},{x:-.0020196175948493655,y:.3316220706024828},{x:-.001942922029511974,y:.3306106193263084},{x:-.002019645490236678,y:.32959917016575135}]],"=":[[{x:-.002030999999999998,y:.19162999999999997},{x:-.0011663376181453647,y:.1828509355092742},{x:.0013944210369920967,y:.17440924554357093},{x:.005552867446385459,y:.16662933951411787},{x:.011149194846605363,y:.15981019484660533},{x:.017968339514117915,y:.15421386744638543},{x:.025748245543570962,y:.15005542103699207},{x:.03418993550927423,y:.1474946623818546},{x:.042969,y:.14662999999999998},{x:.559083,y:.14662999999999998},{x:.5678620644907257,y:.1474946623818546},{x:.576303754456429,y:.15005542103699207},{x:.5840836604858821,y:.15421386744638543},{x:.5909028051533947,y:.15981019484660533},{x:.5964991325536145,y:.16662933951411787},{x:.6006575789630079,y:.17440924554357093},{x:.6032183376181454,y:.1828509355092742},{x:.604083,y:.19162999999999997},{x:.6032183376181454,y:.20040906449072574},{x:.6006575789630079,y:.208850754456429},{x:.5964991325536145,y:.21663066048588206},{x:.5909028051533947,y:.2234498051533946},{x:.5840836604858821,y:.2290461325536145},{x:.576303754456429,y:.23320457896300786},{x:.5678620644907257,y:.23576533761814533},{x:.559083,y:.23662999999999995},{x:.042969,y:.23662999999999995},{x:.03418993550927421,y:.23576533761814533},{x:.025748245543570934,y:.23320457896300786},{x:.017968339514117904,y:.2290461325536145},{x:.011149194846605356,y:.2234498051533946},{x:.005552867446385459,y:.21663066048588206},{x:.0013944210369920967,y:.208850754456429},{x:-.0011663376181453647,y:.20040906449072574},{x:-.002030999999999998,y:.19162999999999997}],[{x:-.002030999999999998,y:.454102},{x:-.0011663376181453647,y:.4453229355092742},{x:.0013944210369920967,y:.436881245543571},{x:.005552867446385459,y:.4291013395141179},{x:.011149194846605363,y:.42228219484660534},{x:.017968339514117915,y:.41668586744638547},{x:.025748245543570962,y:.4125274210369921},{x:.03418993550927423,y:.40996666238185464},{x:.042969,y:.409102},{x:.559083,y:.409102},{x:.5678620644907257,y:.40996666238185464},{x:.576303754456429,y:.4125274210369921},{x:.5840836604858821,y:.41668586744638547},{x:.5909028051533947,y:.42228219484660534},{x:.5964991325536145,y:.4291013395141179},{x:.6006575789630079,y:.436881245543571},{x:.6032183376181454,y:.4453229355092742},{x:.604083,y:.454102},{x:.6032183376181454,y:.4628810644907258},{x:.6006575789630079,y:.471322754456429},{x:.5964991325536145,y:.4791026604858821},{x:.5909028051533947,y:.48592180515339467},{x:.5840836604858821,y:.49151813255361454},{x:.576303754456429,y:.49567657896300793},{x:.5678620644907257,y:.49823733761814537},{x:.559083,y:.499102},{x:.042969,y:.499102},{x:.03418993550927421,y:.49823733761814537},{x:.025748245543570934,y:.49567657896300793},{x:.017968339514117904,y:.49151813255361454},{x:.011149194846605356,y:.48592180515339467},{x:.005552867446385459,y:.4791026604858821},{x:.0013944210369920967,y:.471322754456429},{x:-.0011663376181453647,y:.4628810644907258},{x:-.002030999999999998,y:.454102}]],">":[[{x:-.002019645490236678,y:.5591158298342487},{x:-.0013524043999703708,y:.5503195576866637},{x:.0010180834056568513,y:.5418224757210541},{x:.005000721409659611,y:.5339511220321396},{x:.01044245906703322,y:.527007988327879},{x:.01713417345136643,y:.521259895342773},{x:.024818705731625975,y:.5169277390666714},{x:.44751805121347366,y:.33060846154195217},{x:.024817570086352318,y:.14427476033990455},{x:.017133157288130554,y:.1399423921291632},{x:.01044160143641841,y:.13419411459147126},{x:.00500005526992945,y:.12725083080893107},{x:.0010176343561875828,y:.11937936728346718},{x:-.0013526191024594778,y:.11088221994399562},{x:-.0020196175948493655,y:.10208592939751718},{x:-.0009577287429766018,y:.0933285321567164},{x:.0017922396600954585,y:.08494657008635234},{x:.00612460787083681,y:.07726215728813059},{x:.011872885408528759,y:.07057060143641844},{x:.018816169191068984,y:.06512905526992947},{x:.02668763271653284,y:.061146634356187606},{x:.03518478005600438,y:.058776380897540545},{x:.04398107060248284,y:.05810938240515066},{x:.052738467843283614,y:.05917127125702342},{x:.06112042991364768,y:.06192123966009548},{x:.5772344299136477,y:.28943323966009543},{x:.5801995868338548,y:.29110495510775297},{x:.5832368779678606,y:.2926417214096596},{x:.5840352419382998,y:.29326744568162105},{x:.5849188427118694,y:.2937656078708368},{x:.5875008894682915,y:.29598367519331353},{x:.5901800116721211,y:.29808345906703315},{x:.5908409625530218,y:.2988529133066429},{x:.5916103985635817,y:.29951388540852875},{x:.5937101085473976,y:.3021930655225282},{x:.5959281046572271,y:.3047751734513664},{x:.5964262424769022,y:.30565878796371176},{x:.5970519447300705,y:.30645716919106897},{x:.5985886272641329,y:.3094945027073105},{x:.6002602609333286,y:.31245970573162596},{x:.6005764425347265,y:.31342352370653376},{x:.6010343656438124,y:.31432863271653283},{x:.6019489668801197,y:.31760739661134507},{x:.6030099981642363,y:.32084174364181683},{x:.6031320728657319,y:.3218487260950267},{x:.6034046191024595,y:.3228257800560044},{x:.6036619914284146,y:.3262199732716634},{x:.6040716454902366,y:.32959917016575135},{x:.603994922029512,y:.330610619326308},{x:.6040716175948494,y:.33162207060248283},{x:.6036618703363014,y:.3350012561971954},{x:.6034044043999703,y:.33839544231333624},{x:.6031318312165941,y:.33937248875722736},{x:.6030097287429766,y:.3403794678432836},{x:.6019486082572825,y:.3436137856097129},{x:.6010339165943431,y:.3468925242789459},{x:.6005759685228916,y:.3477976206592668},{x:.6002597603399046,y:.34876142991364767},{x:.5985880448922466,y:.3517265868338553},{x:.5970512785903404,y:.3547638779678605},{x:.596425554318379,y:.35556224193829966},{x:.5959273921291631,y:.35644584271186947},{x:.5937093248066866,y:.3590278894682911},{x:.5916095409329668,y:.36170701167212105},{x:.5908400866933569,y:.3623679625530219},{x:.5901791145914712,y:.36313739856358157},{x:.5874999344774714,y:.3652371085473978},{x:.5849178265486336,y:.367455104657227},{x:.5840342120362888,y:.36795324247690175},{x:.583235830808931,y:.3685789447300705},{x:.5801984972926872,y:.37011562726413405},{x:.577233294268374,y:.37178726093332853},{x:.06111929426837402,y:.5992822609333287},{x:.05273725635818315,y:.6020319981642364},{x:.04397982983424857,y:.6030936454902367},{x:.035183557686663716,y:.6024264043999704},{x:.02668647572105406,y:.6000559165943432},{x:.018815122032139416,y:.5960732785903404},{x:.011871988327878898,y:.5906315409329669},{x:.006123895342772898,y:.5839398265486336},{x:.001791739066671405,y:.5762552942683741},{x:-.0009579981642362442,y:.5678732563581832},{x:-.002019645490236678,y:.5591158298342487}]],A:[[{x:-.026930267425517032,y:.05053409251215203},{x:-.025968910797820398,y:.041765089843587025},{x:-.02331527881378681,y:.03335213247651147},{x:-.019071349062388714,y:.025618525644501258},{x:-.013400213383949137,y:.018861467521053887},{x:-.006519810342180955,y:.013340628060451547},{x:.0013054500325951415,y:.009268170027042777},{x:.009774847372633092,y:.006800595699190677},{x:.018562907487847988,y:.006032732574482988},{x:.02733191015641301,y:.006994089202179622},{x:.035744867523488544,y:.00964772118621321},{x:.043478474355498745,y:.013891650937611293},{x:.05023553247894613,y:.019562786616050876},{x:.055756371939548466,y:.02644318965781906},{x:.05982882997295724,y:.03426845003259516},{x:.15465984441872488,y:.2705423452957767},{x:.155303,y:.27047899999999997},{x:.433548,y:.27047899999999997},{x:.439584057854266,y:.2710734998088117},{x:.5426964027293978,y:.03313672871631684},{x:.5469805748198717,y:.025425342079263714},{x:.5526868446471364,y:.018697928086846893},{x:.559595923461843,y:.013213017486017727},{x:.5674422992397985,y:.009181392315192764},{x:.5759244401601543,y:.006757985668725375},{x:.5847163823041805,y:.006035927704977205},{x:.5934802562658602,y:.007042966706560308},{x:.6018792712836831,y:.009740402729397836},{x:.6095906579207363,y:.01402457481987169},{x:.6163180719131531,y:.019730844647136342},{x:.6218029825139822,y:.026639923461843008},{x:.6258346076848073,y:.03448629923979854},{x:.6282580143312746,y:.042968440160154345},{x:.6289800722950228,y:.05176038230418057},{x:.6279730332934397,y:.060524256265860256},{x:.6252755972706022,y:.0689232712836832},{x:.3314685972706022,y:.7468972712836831},{x:.3293831787279993,y:.7506509647260751},{x:.32731734906238874,y:.7544154743554987},{x:.32724162770964893,y:.7545056950115825},{x:.32718442518012836,y:.7546086579207363},{x:.324406768107635,y:.7578833802211685},{x:.32164621338394916,y:.7611725324789461},{x:.3215543458189217,y:.761246247067332},{x:.32147815535286367,y:.7613360719131531},{x:.3181150035540548,y:.764005977330098},{x:.314765810342181,y:.7666933719395485},{x:.31466132698386995,y:.7667477476499444},{x:.314569076538157,y:.7668209825139822},{x:.31074967405057474,y:.7687834680795742},{x:.3069405499674049,y:.7707658299729572},{x:.30682746605267575,y:.7707987771773066},{x:.30672270076020147,y:.7708526076848072},{x:.3025938250794972,y:.7720322561793334},{x:.29847115262736695,y:.7732334043008093},{x:.2983538139076442,y:.7732436568565263},{x:.29824055983984565,y:.7732760143312747},{x:.29396088134293,y:.7736274925246428},{x:.289683092512152,y:.774001267425517},{x:.28956600824863027,y:.7739884313326351},{x:.2894486176958195,y:.7739980722950228},{x:.2851826020272766,y:.773507873077374},{x:.280914089843587,y:.7730399107978204},{x:.2808017595188513,y:.7730044793401902},{x:.28068474373413976,y:.7729910332934397},{x:.2765963314836881,y:.7716779947458032},{x:.2725011324765115,y:.7703862788137869},{x:.27239787288194656,y:.7703296136024552},{x:.27228572871631684,y:.7702935972706022},{x:.26853203527393116,y:.7682081787280027},{x:.2647675256445013,y:.7661423490623888},{x:.26467730498841713,y:.7660666277096486},{x:.2645743420792637,y:.7660094251801283},{x:.2612996197788366,y:.7632317681076393},{x:.2580104675210539,y:.7604712133839491},{x:.2579367529326681,y:.7603793458189217},{x:.2578469280868469,y:.7603031553528636},{x:.25517702266989234,y:.7569400035540427},{x:.25248962806045155,y:.7535908103421809},{x:.2524352523500559,y:.7534863269838704},{x:.2523620174860177,y:.753394076538157},{x:.2503995319204231,y:.7495746740505695},{x:.24841717002704278,y:.7457655499674049},{x:-.023694829972957243,y:.06779154996740488},{x:-.026162404300809343,y:.05932215262736691},{x:-.026930267425517032,y:.05053409251215203}],[{x:.19075686729109992,y:.36047899999999994},{x:.2917712201653896,y:.6121588409316518},{x:.4008392655839541,y:.36047899999999994},{x:.19075686729109992,y:.36047899999999994}]],B:[[{x:.018964999999999996,y:.05103000000000002},{x:.018993157630992935,y:.05074411077481729},{x:.01896863696544404,y:.050457886669927884},{x:.019425235762019696,y:.046357147889743},{x:.01982966238185463,y:.04225093550927423},{x:.019913053192865363,y:.04197603284668677},{x:.019944843237820968,y:.04169052471317667},{x:.02119268306568244,y:.037757658485048945},{x:.02239042103699209,y:.03380924554357098},{x:.0225258403659196,y:.03355589379873479},{x:.022612719447780122,y:.03328207355405998},{x:.02460384652213923,y:.029668217721559587},{x:.026548867446385453,y:.026029339514117924},{x:.02673111120436309,y:.02580727485250577},{x:.026869740608734982,y:.025555665255108946},{x:.029527637032761178,y:.022399698271204867},{x:.03214519484660536,y:.019210194846605383},{x:.03236725950821749,y:.019027951088627763},{x:.03255231178483501,y:.01880822135423258},{x:.03577483608951879,y:.016231425260229353},{x:.03896433951411791,y:.013613867446385479},{x:.03921769125895406,y:.013478448117457993},{x:.03944205495260531,y:.013299042336531411},{x:.04310536733612953,y:.011400441961238211},{x:.046744245543570956,y:.009455421036992116},{x:.04701914820615845,y:.009372030225981372},{x:.047274201145921,y:.009239842862072495},{x:.051237522567796415,y:.008092400353164256},{x:.055185935509274225,y:.006894662381854655},{x:.05547182473445692,y:.006866504750861718},{x:.05574776537889109,y:.006786615690234012},{x:.05985878761953148,y:.006434426619834929},{x:.063965,y:.0060300000000000215},{x:.06425088922518268,y:.006058157630992957},{x:.06453711333007213,y:.00603363696544406},{x:.4241221133300721,y:.01060563696544408},{x:.4260098351414485,y:.010815826288282449},{x:.4279092214657345,y:.010813640036582327},{x:.43038314701987823,y:.011302774871886453},{x:.43288947528682337,y:.011581843237821021},{x:.43469991915024053,y:.012156270087817089},{x:.43656323581544765,y:.012524677733968342},{x:.4388942001112364,y:.013487052913568918},{x:.44129792644594007,y:.014249719447780182},{x:.4429615180190356,y:.01516630892323094},{x:.4447171588106798,y:.015891152767997317},{x:.5224141588106799,y:.0573061527679973},{x:.525028554951968,y:.05904868699814221},{x:.5277374225537912,y:.06064039332865708},{x:.5286915199232336,y:.06149010807639827},{x:.529754639763497,y:.06219869339105244},{x:.5319788494519322,y:.06441778869965879},{x:.5343251404217865,y:.06650738469209135},{x:.5350951339540482,y:.06752690757225652},{x:.5359995881074716,y:.06842928201075814},{x:.5377481362120787,y:.07103965980959966},{x:.5396416839038074,y:.07354684346181917},{x:.5707946839038074,y:.12450984346181915},{x:.5718407730360667,y:.12667263757185424},{x:.573076251912317,y:.12873311634664666},{x:.5737567016649755,y:.13063382885667474},{x:.5746357412153917,y:.13245124718509382},{x:.57523978983892,y:.1347765656784282},{x:.576049549867314,y:.13703848290314058},{x:.576346114353134,y:.13903542291661675},{x:.5768537026781452,y:.1409894121704204},{x:.5769924975430949,y:.14338789436140983},{x:.5773454200998597,y:.14576432582559334},{x:.5830324200998597,y:.2611263258255933},{x:.5829003037879823,y:.26382496142481277},{x:.5829742287592172,y:.2665258175697889},{x:.5826851199428378,y:.2682203519457296},{x:.5826010630436497,y:.26993731586400416},{x:.5819450076216034,y:.2725583233230625},{x:.5814906012502021,y:.27522170532098544},{x:.5808764603215925,y:.2768272773619606},{x:.5804590555084463,y:.278494851612457},{x:.5793042728181804,y:.28093750708458076},{x:.5783389976861617,y:.283461062658912},{x:.5774234257367941,y:.284915971131802},{x:.5766887136425759,y:.2864700717712602},{x:.575079581335268,y:.2886405053765124},{x:.5736405324246225,y:.2909272557017569},{x:.5044305324246225,y:.38012925570175693},{x:.5017223718437749,y:.38298983800955333},{x:.499075053174031,y:.3859068173944946},{x:.49869279401231464,y:.38618992769627897},{x:.4983657648506557,y:.38653536283797296},{x:.49515156889241035,y:.38881264393905274},{x:.49198604326106643,y:.39115710813128307},{x:.4915558970220145,y:.39136020348505085},{x:.4911677605809681,y:.39163520096290155},{x:.48757104899345777,y:.3932416662216644},{x:.4840089657752798,y:.3949235187770668},{x:.3737297002329455,y:.43429966367120415},{x:.4408630401939032,y:.4733794631163462},{x:.44336631106573315,y:.475186847643908},{x:.4459719275146733,y:.476843279595192},{x:.4469351296354233,y:.4777635673817196},{x:.4480152047486495,y:.4785433915190981},{x:.45011777274311354,y:.48080441158023823},{x:.45235016915983667,y:.4829373462081214},{x:.4531153243813002,y:.4840278623347861},{x:.4540225100120052,y:.48500341457167107},{x:.4556435746202097,y:.4876311804334344},{x:.4574169612623637,y:.4901586502563309},{x:.45795466509848404,y:.4913774867999537},{x:.45865409861163536,y:.4925112772109775},{x:.4597313632297904,y:.4954048053049642},{x:.460977589843244,y:.49822968107500176},{x:.46126717863714684,y:.4995299988307428},{x:.46173198119508085,y:.5007784564862466},{x:.46222404714804793,y:.5038265501505143},{x:.4628952219429378,y:.5068402734760588},{x:.4768502219429378,y:.6216502734760588},{x:.47694604753136066,y:.6258560133977795},{x:.4770801736029929,y:.6300607061367898},{x:.47704647561686464,y:.6302637547476413},{x:.47705116403527437,y:.6304695272224051},{x:.47632464920624185,y:.6346131496757303},{x:.47563590322258376,y:.6387632171212809},{x:.475563239914934,y:.6389557900590453},{x:.4755276940283349,y:.6391585233384632},{x:.47400675833929046,y:.6430807912362932},{x:.4725216084222428,y:.647016748623825},{x:.4724127722032346,y:.6471914454185},{x:.4723383580201142,y:.6473833485763381},{x:.4700814501766401,y:.6509335313629835},{x:.46785696980463054,y:.6545041220574128},{x:.46771614318912413,y:.6546542292091504},{x:.46760572040480797,y:.6548279275146733},{x:.4646995721096373,y:.6578695936566139},{x:.4618212468158623,y:.6609376018599591},{x:.3721282468158623,y:.739463601859959},{x:.3693406873548985,y:.7414576112446344},{x:.36664335021940475,y:.7435720694617842},{x:.36575927454484214,y:.7440194833243711},{x:.36495338890552403,y:.7445959530105889},{x:.3618303796850022,y:.746007822191186},{x:.35877236079175173,y:.7475554273162446},{x:.35781798626885214,y:.7478217696388809},{x:.3569151218394033,y:.7482299421328396},{x:.35357667835226414,y:.7490054137685334},{x:.3502754956523681,y:.7499266922044516},{x:.21714549565236804,y:.7733246922044517},{x:.2164184100494338,y:.7733799121498203},{x:.21571010443589486,y:.773553134187072},{x:.21202614434596675,y:.7737134914026773},{x:.20834928456346336,y:.7739927377465721},{x:.20762539682958886,y:.7739050492917646},{x:.20689690716677497,y:.7739367593459113},{x:.061505907166774995,y:.7659797593459113},{x:.05835682356136361,y:.7654946428322841},{x:.055185935509274225,y:.7651823376181454},{x:.05400593378019863,y:.7648243880069794},{x:.05278721145616079,y:.7646366437616691},{x:.0497932781460736,y:.7635464928911877},{x:.046744245543570956,y:.7626215789630079},{x:.045656749721751114,y:.7620403003359452},{x:.0444980718907103,y:.7616184026130197},{x:.04177434405403643,y:.7599651112722733},{x:.03896433951411791,y:.7584631325536145},{x:.03801114145411163,y:.7576808631223083},{x:.03695703545532078,y:.7570410252146568},{x:.03460818442533898,y:.7548881284626934},{x:.03214519484660536,y:.7528668051533947},{x:.03136292541529926,y:.7519136070933885},{x:.03045389995114224,y:.7510804176129765},{x:.02857019075568381,y:.7485106500646154},{x:.026548867446385453,y:.7460476604858821},{x:.025967588819322866,y:.7449601646640625},{x:.025238577228599887,y:.7439656426153641},{x:.023892399755650346,y:.7410777589963466},{x:.02239042103699209,y:.738267754456429},{x:.022032471425826126,y:.7370877527273536},{x:.021511489215134356,y:.7359701170349662},{x:.02075457631003429,y:.7328750970932278},{x:.01982966238185463,y:.7298260644907257},{x:.019708797589401895,y:.7285989036590902},{x:.01941586581292807,y:.7274011044358949},{x:.019277305214138767,y:.7242178880520896},{x:.018964999999999996,y:.721047},{x:.018964999999999996,y:.05103000000000002}],[{x:.10896499999999999,y:.09660579683225357},{x:.10896499999999999,y:.37786028838708235},{x:.29722384626437015,y:.36605169579422814},{x:.44137514989764515,y:.3145812530901673},{x:.49232133133007555,y:.24891875813083103},{x:.48801965008125897,y:.1616582425292873},{x:.46925190911582665,y:.130956211173677},{x:.41203782454012283,y:.1004592638951106},{x:.10896499999999999,y:.09660579683225357}],[{x:.10896499999999999,y:.47257215902605326},{x:.10896499999999999,y:.6784424315209651},{x:.20665565807681563,y:.6837888736412973},{x:.32230778354311135,y:.6634626629325134},{x:.3846372425734713,y:.608893375476212},{x:.3762519660226853,y:.5399063743443061},{x:.2981741908903496,y:.4944555775409729},{x:.10896499999999999,y:.47257215902605326}]],C:[[{x:.028007484408327545,y:.4010798543150725},{x:.028340096336253087,y:.39680461654123217},{x:.028649292669517497,y:.39252762152779447},{x:.06572429266951751,y:.1769866215277945},{x:.0657499934516808,y:.17689321918606288},{x:.06575739253020782,y:.1767966283931179},{x:.06691993730130205,y:.17264138379230456},{x:.0680646634579554,y:.1684811950870131},{x:.0681080922997215,y:.16839460141895576},{x:.06813419313592875,y:.16830131007962543},{x:.07008504794245551,y:.16445270857242494},{x:.07201939106115751,y:.16059578172109576},{x:.07207887901649253,y:.16051932447281397},{x:.0721226785698821,y:.1604329177209502},{x:.1274306785698821,y:.07363491772095027},{x:.13009575906138268,y:.07023973030268985},{x:.13274648275581225,y:.06683332229320074},{x:.13281865262016482,y:.06677089175108791},{x:.13287757357360944,y:.06669582922279092},{x:.1361538134974972,y:.06388581079003605},{x:.13941816151489866,y:.0610619864944041},{x:.19692016151489866,y:.020443986494404057},{x:.19808425112310213,y:.019782383965415776},{x:.19914710087537263,y:.01896802966513257},{x:.20191114759162085,y:.01760739299916557},{x:.20458957759683996,y:.01608512525217841},{x:.2058603718000633,y:.015663337846789194},{x:.20706167183504787,y:.015071982836463577},{x:.21003805521400143,y:.014276729186446702},{x:.2129619996426652,y:.013306247159584957},{x:.21429066253234816,y:.013140483931242813},{x:.21558424756339917,y:.01279485365228588},{x:.32760524756339915,y:-.005618146347714133},{x:.32775803960473765,y:-.005628051859015257},{x:.32790622767465843,y:-.005666572281957827},{x:.3321581535063009,y:-.005913311337168391},{x:.3364083102547015,y:-.006188849089881349},{x:.3365600989091985,y:-.006168756021014132},{x:.33671295454862427,y:-.006177626226551311},{x:.34093131721939995,y:-.005590114680318674},{x:.3451535631465426,y:-.005031193603710363},{x:.34529851526132993,y:-.004981874120043047},{x:.3454501643137599,y:-.004960753231150514},{x:.44307616431375996,y:.01857424676884946},{x:.4458503498549469,y:.019539172468847843},{x:.4486819664572553,y:.020319643122350156},{x:.45000735163266253,y:.02098507354168687},{x:.45140809089867484,y:.021472282957461515},{x:.45394072357704407,y:.022959884631265325},{x:.4565656691892177,y:.024277779754777677},{x:.4577357684253341,y:.0251889939358613},{x:.459014543037309,y:.025940112433793877},{x:.4612082951993476,y:.027893222383335445},{x:.4635256946335971,y:.029697896006345384},{x:.5358116946335971,y:.09837789600634546},{x:.5383578959705028,y:.10132350300922108},{x:.5409714489909738,y:.10420951799057969},{x:.5412394420583803,y:.10465705806338507},{x:.5415805729157932,y:.10505169984914184},{x:.5435031902892489,y:.10843744707814906},{x:.545503491029224,y:.11177788699125937},{x:.5456790239480676,y:.11226911056087577},{x:.5459366092786453,y:.11272272074420048},{x:.5471617575812067,y:.11641849583208026},{x:.548471935605029,y:.12008498944441898},{x:.572709935605029,y:.21701898944441894},{x:.5740007070580636,y:.2257455880614603},{x:.5735642017652605,y:.23455632455146336},{x:.571417194380227,y:.24311260725223527},{x:.5676421931927146,y:.25108562301800397},{x:.5623842693813143,y:.2581689733242098},{x:.5558454820094204,y:.2640904489909738},{x:.5482771130087407,y:.26862249102922403},{x:.539970010555581,y:.27159093560502906},{x:.5312434119385397,y:.2728817070580635},{x:.5224326754485367,y:.2724452017652604},{x:.5138763927477648,y:.270298194380227},{x:.5059033769819961,y:.26652319319271456},{x:.49882002667579023,y:.2612652693813142},{x:.49289855100902624,y:.25472648200942033},{x:.488366508970776,y:.24715811300874066},{x:.48539806439497096,y:.23885101055558106},{x:.46433420621000654,y:.15461122058523102},{x:.4102697826671089,y:.10324381045150927},{x:.3332137540403124,y:.08466767669890593},{x:.24039332695070226,y:.09992465997883551},{x:.1985742470214596,y:.12946463056361485},{x:.15288732813236672,y:.2011637190451272},{x:.11884238546013813,y:.39908903228895243},{x:.16184523767713488,y:.5942488915238071},{x:.2166399992296726,y:.6603981208316636},{x:.2708106585112101,y:.6880654725502051},{x:.33167151101531583,y:.6962265900331734},{x:.41875307675349,y:.6679697644015699},{x:.4604926982936834,y:.628705384802963},{x:.487421989657252,y:.5630715564186946},{x:.49155436139101494,y:.5552777692634718},{x:.49712782320648147,y:.5484399232752638},{x:.5039281900917167,y:.5428207930406891},{x:.5116941277610109,y:.5386363185834178},{x:.5201271955849208,y:.5360473069101626},{x:.5289033154962927,y:.5351532522875923},{x:.5376852261286371,y:.5359885127334604},{x:.5461354435813054,y:.5385209896572519},{x:.5539292307365281,y:.5426533613910148},{x:.5607670767247361,y:.5482268232064814},{x:.5663862069593109,y:.5550271900917166},{x:.5705706814165822,y:.5627931277610108},{x:.5731596930898373,y:.5712261955849207},{x:.5740537477124077,y:.5800023154962926},{x:.5732184872665396,y:.588784226128637},{x:.570686010342748,y:.5972344435813053},{x:.540057010342748,y:.6718854435813053},{x:.5396985836895672,y:.6725614478775368},{x:.539454213118803,y:.6732865233897278},{x:.5376352487491008,y:.6764529645154376},{x:.5359246386089851,y:.679679230736528},{x:.5354412171276051,y:.6802723202285732},{x:.5350600868536766,y:.680935789284769},{x:.5326583313554347,y:.6836865257875079},{x:.5303511767935185,y:.686517076724736},{x:.5297613381003629,y:.6870044593160238},{x:.5292580947459566,y:.687580825172473},{x:.47307109474595666,y:.7404358251724731},{x:.4722065860115991,y:.7411021817697292},{x:.4714497622811152,y:.7418887085063782},{x:.4687194058651613,y:.7437900730587934},{x:.46608420409854834,y:.7458212660502541},{x:.46510630693397415,y:.746306161504971},{x:.46421058160492856,y:.7469299263656303},{x:.4611617503991064,y:.748262090618912},{x:.45818091720073817,y:.7497401524453693},{x:.45712721164557074,y:.7500249524971546},{x:.4561270069400303,y:.7504619845480405},{x:.3497190069400303,y:.7849899845480404},{x:.34852117258500637,y:.7852523061157466},{x:.34737251112679673,y:.7856814874310271},{x:.34422084285321763,y:.7861940634064482},{x:.3411016855274714,y:.7868771480384597},{x:.33987569082458696,y:.7869007432807547},{x:.3386653714532072,y:.7870975852636362},{x:.3354742629896646,y:.786985452257037},{x:.33228177619648713,y:.7870468942022847},{x:.3310747354346284,y:.7868308563672394},{x:.32984927004476555,y:.7867877944907101},{x:.25121827004476555,y:.7762437944907102},{x:.24809780050166644,y:.7755083028870222},{x:.24494229970605153,y:.7749416523797719},{x:.24381291428322105,y:.7744983594176508},{x:.24263200473447152,y:.7742200201979198},{x:.2397149814324578,y:.772889887451158},{x:.2367306607297473,y:.771718517308175},{x:.16743766072974728,y:.7363275173081749},{x:.16716950847174827,y:.7361554960544541},{x:.16687461978467572,y:.7360349240533984},{x:.16345937419922074,y:.733775423054901},{x:.16001260855282193,y:.7315643025810339},{x:.15978316844705134,y:.7313432727571054},{x:.15951746839392553,y:.7311674875843215},{x:.15660865257214304,y:.7282851209029094},{x:.15365948376641753,y:.7254440558690711},{x:.15347757306746915,y:.725182511527114},{x:.15325127235232486,y:.7249582685082102},{x:.08558827235232488,y:.6432742685082102},{x:.0845522070982367,y:.6417389136031936},{x:.0833480194008015,y:.6403315480201149},{x:.08209078724421986,y:.6380913122274521},{x:.0806538380596292,y:.6359618836319892},{x:.07993721339171088,y:.6342539038369039},{x:.07903072722802115,y:.632638655023214},{x:.07823470075697891,y:.6301961909068614},{x:.07724079305844417,y:.627827343805619},{x:.07687114846079628,y:.6260123758261444},{x:.07629719958575912,y:.6242513168879111},{x:.02905219958575911,y:.40983931688791114},{x:.028544362954760993,y:.4055813372409792},{x:.028013217832748447,y:.4013262022752188},{x:.028022142274708197,y:.401202753871557},{x:.028007484408327545,y:.4010798543150725}]],D:[[{x:.019456783112310236,y:.0515304721392918},{x:.019516560837245702,y:.0508455251733057},{x:.019462408649259272,y:.05016011050819538},{x:.01989956114396584,y:.04645701928180655},{x:.020223754746627687,y:.042742334175020345},{x:.02041601038349858,y:.04208221032853139},{x:.020496616482350807,y:.04139940114622653},{x:.021647806474261868,y:.03785274800035644},{x:.022690469901424933,y:.03427268656062632},{x:.023007815173924504,y:.033662754022853354},{x:.023220081912440925,y:.03300879029730612},{x:.025041069815762075,y:.029754871123364675},{x:.026762134096652887,y:.026447013104097812},{x:.027192373603928278,y:.025910711240413317},{x:.027528143690388265,y:.025310724430849408},{x:.029948949961216734,y:.02247458551787214},{x:.03228227556070457,y:.019566050047680916},{x:.03280887543977226,y:.01912398863794477},{x:.03325524541805519,y:.01860103590097925},{x:.03618283982900684,y:.01629166847686688},{x:.03903875835284746,y:.013894228942745224},{x:.03964148166567549,y:.013563396159022682},{x:.0401812977878431,y:.013137574275061882},{x:.04350317452751879,y:.011443726034814963},{x:.04677193462845869,y:.0096495146935595},{x:.04742761905614622,y:.009442624254195854},{x:.048040136491355995,y:.009130297319436702},{x:.05162863769958001,y:.008117061901006828},{x:.05518462276008175,y:.0069950292882567724},{x:.05586807071778482,y:.006920031876811272},{x:.05652975076450537,y:.006733202440201605},{x:.060246972352300414,y:.0064395179124900545},{x:.06395352786070822,y:.006032783112310258},{x:.06463847482669428,y:.006092560837245719},{x:.06532388949180462,y:.006038408649259287},{x:.22607288949180462,y:.009146408649259287},{x:.22716730592225892,y:.009275605270020776},{x:.2282688262216939,y:.009242558031150067},{x:.23153975417198444,y:.00979177582685766},{x:.23483359885377353,y:.010180616482350843},{x:.23588178136904675,y:.010520840680108605},{x:.23696858346127098,y:.010703324384590318},{x:.374121583461271,y:.04785532438459028},{x:.3763172878682137,y:.048688585594252994},{x:.37858028056243914,y:.049316523610364836},{x:.3804311803743379,y:.05024979166335608},{x:.3823691959266467,y:.050985260963484026},{x:.38436014929137596,y:.0522308719724549},{x:.38645715458576285,y:.05328823230909956},{x:.47004915458576285,y:.1063032323090996},{x:.47296331256678825,y:.10858070495130694},{x:.47594842000778254,y:.11076435600861785},{x:.476434095048061,y:.11129319075325024},{x:.4769998347544389,y:.11173532762855881},{x:.47941368513584726,y:.11453756329148114},{x:.48191542538645477,y:.11726162167794474},{x:.5445294253864548,y:.20053762167794476},{x:.5457907389554543,y:.20261097926106453},{x:.5472304508598836,y:.2045646816997861},{x:.5480776582474705,y:.2063702359380903},{x:.54911422277829,y:.20807414921008693},{x:.5499468085621922,y:.21035373787896267},{x:.5509777083681839,y:.21255077433219424},{x:.570480708368184,y:.26758877433219413},{x:.5715324066676154,y:.27184261440989077},{x:.5725895850614416,y:.2760950958693092},{x:.5821235850614417,y:.3411630958693092},{x:.5823063349967632,y:.3450227385412275},{x:.5825832689280143,y:.34887676846995497},{x:.5805752689280143,y:.424797768469955},{x:.5800798101377765,y:.42875301375722},{x:.5796594372976747,y:.43271694253692033},{x:.5588164372976746,y:.5335539425369203},{x:.5581925601051908,y:.535556542700639},{x:.5577783377379867,y:.5376127649642906},{x:.5568838034059929,y:.5397575559956548},{x:.5561926080991778,y:.5419762423834013},{x:.555190030621201,y:.5438186507441294},{x:.5543826183570809,y:.5457545524985521},{x:.5020956183570809,y:.6430055524985521},{x:.5018901867095668,y:.6433113858234256},{x:.5017428412228655,y:.6436490624319612},{x:.4994325691935421,y:.6469701275279692},{x:.4971767628200625,y:.6503284258808291},{x:.4969156133622187,y:.650588304977856},{x:.4967052216394318,y:.6508907475465959},{x:.49379143318032753,y:.6536972875938759},{x:.49092379998669317,y:.6565509711937552},{x:.49061696854573045,y:.6567549090549786},{x:.49035161582277553,y:.657010494885618},{x:.39890061582277553,y:.7292364948856179},{x:.3986791836579038,y:.7293785203585265},{x:.39848760231040037,y:.7295587979940886},{x:.39496847203231433,y:.7317585520660096},{x:.39147518928128755,y:.7339991259907827},{x:.39123030407812903,y:.7340952232117042},{x:.391007233490524,y:.7342346611962726},{x:.3871265715837099,y:.7357055993513507},{x:.38326329699273004,y:.7372216156196327},{x:.3830043695523095,y:.737268091626259},{x:.38275838220218455,y:.7373613314362847},{x:.25909638220218456,y:.7708063314362847},{x:.2580664240588666,y:.7709788511982676},{x:.2570738325025125,y:.7713034106651087},{x:.2537238261308602,y:.7717062438265866},{x:.2503960471743838,y:.7722636525302581},{x:.2493522224520667,y:.7722319225075465},{x:.24831538485324267,y:.7723566006488801},{x:.17218438485324267,y:.7739936006488801},{x:.16854768223369815,y:.7737142062783378},{x:.16490357022768087,y:.7735589167265521},{x:.06552457022768086,y:.7594769167265522},{x:.06454980411013514,y:.759239472501363},{x:.06355033417502035,y:.7591522452533723},{x:.06027159361314519,y:.7581973390517399},{x:.056953647958865025,y:.7573891174476861},{x:.056043934769293216,y:.7569660682109414},{x:.05508068656062633,y:.7566855300985751},{x:.05205123903764884,y:.7551093215998242},{x:.04895472299174925,y:.7536693306611393},{x:.04814502249785432,y:.7530769339577588},{x:.0472550131040978,y:.7526138659033472},{x:.04459127858939255,y:.7504769279161366},{x:.04183518952697092,y:.7484605056870383},{x:.041156618064647085,y:.7477215269901124},{x:.040374050047680896,y:.7470937244392954},{x:.03817839436480973,y:.744478178292066},{x:.035868647242901154,y:.7419628147479951},{x:.03534728193289863,y:.7411056525944231},{x:.03470222894274521,y:.7403372416471526},{x:.03305902990826266,y:.7373436013115269},{x:.03128438701344127,y:.73442596046285},{x:.030940263632238257,y:.7334835551134912},{x:.030457514693559486,y:.7326040653715413},{x:.029429919524844063,y:.7293473747667649},{x:.028258579388326675,y:.7261395799150647},{x:.028104922404476318,y:.7251481474789881},{x:.02780302928825676,y:.7241913772399183},{x:.02743052789135989,y:.7207967891595589},{x:.026907504457698045,y:.7174221140620348},{x:.02695021882291786,y:.7164197547317572},{x:.026840783112310238,y:.7154224721392919},{x:.019456783112310236,y:.0515304721392918}],[{x:.1099671672449683,y:.09691838411671685},{x:.1164055200593884,y:.675787686211921},{x:.17390769441284104,y:.6839357418297609},{x:.2408956143230629,y:.6824953400894312},{x:.35035782392371695,y:.652890743688808},{x:.42724604872976657,y:.5921661050862587},{x:.4720072878873445,y:.5089126143655517},{x:.4907125333997566,y:.41841792349882906},{x:.4925121994894803,y:.35037387509349616},{x:.4841787199640398,y:.2934992321564965},{x:.4684498534661817,y:.24911194023683725},{x:.41491413338319044,y:.1779099626338861},{x:.34401115658372555,y:.1329424859013802},{x:.21878934362335548,y:.0990224054430332},{x:.1099671672449683,y:.09691838411671685}]],E:[[{x:.035078,y:.05103000000000002},{x:.03594266238185463,y:.04225093550927423},{x:.03850342103699209,y:.03380924554357098},{x:.042661867446385456,y:.026029339514117924},{x:.04825819484660536,y:.019210194846605383},{x:.05507733951411791,y:.013613867446385479},{x:.06285724554357096,y:.009455421036992116},{x:.07129893550927423,y:.006894662381854655},{x:.080078,y:.0060300000000000215},{x:.521974,y:.0060300000000000215},{x:.5307530644907258,y:.006894662381854655},{x:.5391947544564291,y:.009455421036992116},{x:.5469746604858822,y:.013613867446385479},{x:.5537938051533947,y:.019210194846605383},{x:.5593901325536146,y:.026029339514117924},{x:.5635485789630079,y:.03380924554357098},{x:.5661093376181454,y:.04225093550927425},{x:.5669740000000001,y:.05103000000000002},{x:.5661093376181454,y:.05980906449072579},{x:.5635485789630079,y:.06825075445642906},{x:.5593901325536146,y:.07603066048588211},{x:.5537938051533947,y:.08284980515339466},{x:.5469746604858822,y:.08844613255361455},{x:.5391947544564291,y:.09260457896300792},{x:.5307530644907258,y:.09516533761814538},{x:.521974,y:.09603000000000002},{x:.125078,y:.09603000000000002},{x:.125078,y:.345019},{x:.389405,y:.345019},{x:.3981840644907258,y:.34588366238185464},{x:.40662575445642907,y:.3484444210369921},{x:.4144056604858821,y:.35260286744638547},{x:.42122480515339467,y:.35819919484660534},{x:.42682113255361454,y:.3650183395141179},{x:.4309795789630079,y:.372798245543571},{x:.43354033761814537,y:.3812399355092742},{x:.434405,y:.390019},{x:.43354033761814537,y:.3987980644907258},{x:.4309795789630079,y:.407239754456429},{x:.42682113255361454,y:.4150196604858821},{x:.42122480515339467,y:.42183880515339467},{x:.4144056604858821,y:.42743513255361454},{x:.40662575445642907,y:.43159357896300793},{x:.3981840644907258,y:.43415433761814537},{x:.389405,y:.435019},{x:.125078,y:.435019},{x:.125078,y:.684004},{x:.521974,y:.684004},{x:.5307530644907258,y:.6848686623818546},{x:.5391947544564291,y:.6874294210369921},{x:.5469746604858822,y:.6915878674463855},{x:.5537938051533947,y:.6971841948466053},{x:.5593901325536146,y:.7040033395141179},{x:.5635485789630079,y:.711783245543571},{x:.5661093376181454,y:.7202249355092742},{x:.5669740000000001,y:.729004},{x:.5661093376181454,y:.7377830644907257},{x:.5635485789630079,y:.746224754456429},{x:.5593901325536146,y:.7540046604858821},{x:.5537938051533947,y:.7608238051533946},{x:.5469746604858822,y:.7664201325536145},{x:.5391947544564291,y:.7705785789630079},{x:.5307530644907258,y:.7731393376181454},{x:.521974,y:.774004},{x:.080078,y:.774004},{x:.07129893550927423,y:.7731393376181454},{x:.06285724554357093,y:.7705785789630079},{x:.05507733951411791,y:.7664201325536145},{x:.04825819484660536,y:.7608238051533946},{x:.042661867446385456,y:.7540046604858821},{x:.03850342103699209,y:.746224754456429},{x:.03594266238185463,y:.7377830644907257},{x:.035078,y:.729004},{x:.035078,y:.05103000000000002}]],F:[[{x:.041426000000000004,y:.05103000000000002},{x:.04229066238185464,y:.04225093550927423},{x:.0448514210369921,y:.03380924554357098},{x:.04900986744638546,y:.026029339514117924},{x:.054606194846605366,y:.019210194846605383},{x:.06142533951411792,y:.013613867446385479},{x:.06920524554357096,y:.009455421036992116},{x:.07764693550927423,y:.006894662381854655},{x:.086426,y:.0060300000000000215},{x:.09520506449072577,y:.006894662381854655},{x:.10364675445642904,y:.009455421036992116},{x:.11142666048588211,y:.013613867446385486},{x:.11824580515339464,y:.019210194846605383},{x:.12384213255361454,y:.026029339514117924},{x:.1280005789630079,y:.03380924554357098},{x:.13056133761814537,y:.04225093550927425},{x:.131426,y:.05103000000000002},{x:.131426,y:.347323},{x:.447344,y:.347323},{x:.4561230644907258,y:.3481876623818546},{x:.4645647544564291,y:.35074842103699205},{x:.47234466048588214,y:.35490686744638544},{x:.47916380515339463,y:.3605031948466053},{x:.48476013255361455,y:.36732233951411786},{x:.48891857896300794,y:.37510224554357097},{x:.4914793376181454,y:.3835439355092742},{x:.492344,y:.392323},{x:.4914793376181454,y:.4011020644907258},{x:.48891857896300794,y:.409543754456429},{x:.48476013255361455,y:.4173236604858821},{x:.47916380515339463,y:.42414280515339464},{x:.47234466048588214,y:.4297391325536145},{x:.4645647544564291,y:.4338975789630079},{x:.4561230644907258,y:.43645833761814534},{x:.447344,y:.43732299999999996},{x:.131426,y:.43732299999999996},{x:.131426,y:.679393},{x:.515626,y:.679393},{x:.5244050644907258,y:.6802576623818547},{x:.532846754456429,y:.6828184210369922},{x:.5406266604858821,y:.6869768674463855},{x:.5474458051533947,y:.6925731948466054},{x:.5530421325536146,y:.6993923395141179},{x:.5572005789630079,y:.707172245543571},{x:.5597613376181454,y:.7156139355092743},{x:.5606260000000001,y:.7243930000000001},{x:.5597613376181454,y:.7331720644907258},{x:.5572005789630079,y:.7416137544564291},{x:.5530421325536146,y:.7493936604858822},{x:.5474458051533947,y:.7562128051533947},{x:.5406266604858821,y:.7618091325536146},{x:.532846754456429,y:.7659675789630079},{x:.5244050644907258,y:.7685283376181454},{x:.515626,y:.7693930000000001},{x:.10586481668800227,y:.7693930000000001},{x:.10364675445642904,y:.7705785789630079},{x:.09520506449072577,y:.7731393376181454},{x:.086426,y:.774004},{x:.0776469355092742,y:.7731393376181454},{x:.06920524554357094,y:.7705785789630079},{x:.06142533951411792,y:.7664201325536145},{x:.054606194846605366,y:.7608238051533946},{x:.04900986744638546,y:.7540046604858821},{x:.0448514210369921,y:.746224754456429},{x:.04229066238185464,y:.7377830644907257},{x:.041426000000000004,y:.729004},{x:.041426000000000004,y:.05103000000000002}]],G:[[{x:.011397831509003739,y:.41623356008285023},{x:.011618856500496228,y:.4138403978921803},{x:.011624876992355357,y:.4114370583257866},{x:.031979876992355355,y:.20994505832578658},{x:.0322125865037964,y:.20879027461506633},{x:.03227702681480045,y:.2076140405475535},{x:.033082276634523504,y:.2044745765152392},{x:.033722542929381774,y:.20129735748690203},{x:.034176068118796386,y:.2002101619949014},{x:.03446874211029117,y:.19906910061620064},{x:.03587099832954512,y:.19614705695158466},{x:.03711880677043453,y:.1931557970536144},{x:.03777571891913337,y:.19217797009338475},{x:.03828537929375919,y:.19111593175236494},{x:.08239837929375919,y:.11845093175236496},{x:.08400149586436068,y:.11631468084865614},{x:.08543403702225794,y:.1140604899753128},{x:.08664282877724949,y:.11279494315419919},{x:.08769326713863865,y:.11139516977529508},{x:.08968234215056696,y:.10961271886167734},{x:.09152712825517066,y:.10768131654967852},{x:.15960912825517065,y:.049144316549678456},{x:.16129904644183068,y:.0479582081853546},{x:.16285577619764602,y:.04660201166682107},{x:.1649006360722032,y:.045430348778213794},{x:.16682965744636918,y:.04407642028337947},{x:.16871850259167306,y:.043242789341903884},{x:.17050990103726027,y:.04221635466854622},{x:.25257090103726026,y:.005359354668546305},{x:.2555014876285109,y:.004375276469579791},{x:.2583690572759664,y:.003220377345201267},{x:.25967433471463813,y:.0029740526131209386},{x:.2609335532503684,y:.0025512125194529015},{x:.2639998135747395,y:.0021577721889240492},{x:.26703759331756605,y:.0015844992133087973},{x:.35309859331756605,y:-.006038500786691249},{x:.3541123404679588,y:-.006028536718703998},{x:.3551159915981175,y:-.006171599559831674},{x:.3585153812714738,y:-.005985259459774228},{x:.361919709861342,y:-.005951798491220829},{x:.36291203425126567,y:-.00574425362199294},{x:.3639243106821295,y:-.005688764928569123},{x:.3672220288859873,y:-.004842817275250554},{x:.37055441634545594,y:-.004145847688979236},{x:.3714871835051078,y:-.003748697851442632},{x:.37246918402112983,y:-.003496790022837183},{x:.4525501840211298,y:.02567020997716287},{x:.4548144879103283,y:.026756908839544704},{x:.45716266717941917,y:.02764799841997529},{x:.45878159595452606,y:.02866082810547922},{x:.4605032369247208,y:.02948708879101062},{x:.4625120284186098,y:.03099465081435172},{x:.46464124512829075,y:.032326725408117304},{x:.4660314733714444,y:.03363593119127184},{x:.46755883802994086,y:.034782191000688294},{x:.46923492039795345,y:.03665268142188218},{x:.47106334994415,y:.038374550149380404},{x:.53517534994415,y:.11188255014938031},{x:.5366918789074028,y:.11401106513419482},{x:.5383741006891446,y:.11601120663268963},{x:.5392453250303639,y:.11759493887966013},{x:.5402941837404813,y:.11906705813061697},{x:.5413663203511413,y:.12145053442062861},{x:.5426260104640281,y:.12374042895017842},{x:.5431715236397763,y:.1254636976633839},{x:.5439130326051668,y:.12711215273922669},{x:.5444995752545472,y:.12965899467727895},{x:.5452883245139833,y:.13215064287530112},{x:.5896823245139834,y:.3420786428753011},{x:.5897067631627176,y:.34229945557802055},{x:.5897717252277992,y:.3425119065778641},{x:.5901917436343531,y:.346681442891342},{x:.5906527316031134,y:.3508466486034176},{x:.590633622248786,y:.3510679861958218},{x:.5906558889520306,y:.35128902847947113},{x:.590254400640623,y:.3554603898480228},{x:.5898939395311937,y:.3596354965915505},{x:.5898320165355749,y:.3598488531940917},{x:.589810732180064,y:.3600699922305474},{x:.5886031661213459,y:.3640828755761044},{x:.5874351082520124,y:.3681074363403587},{x:.5873327512810971,y:.3683046127784522},{x:.5872687338126765,y:.3685173503185603},{x:.5853014960930706,y:.3722175427846122},{x:.5833707292727002,y:.37593689595641405},{x:.5832318718474782,y:.3761103148501221},{x:.583127581421558,y:.3763064755095204},{x:.5804762718833937,y:.37955178077467916},{x:.577856994398102,y:.38282299369748307},{x:.5776869727315521,y:.38296599065597503},{x:.5775464171707139,y:.38313803609053093},{x:.5743129241526703,y:.3858037388934479},{x:.5711057933673104,y:.38850110068914456},{x:.5709111412967293,y:.38860818041949885},{x:.5707397220723512,y:.3887494990196469},{x:.5670483068977423,y:.3907331578965531},{x:.5633765710498215,y:.39275301046402805},{x:.5631647689451196,y:.3928200579522583},{x:.5629690736018615,y:.39292521892344706},{x:.5589615952856832,y:.39415060297614785},{x:.5549663571246989,y:.39541532451398326},{x:.5547455444219794,y:.39543976316271745},{x:.5545330934221359,y:.39550472522779906},{x:.5503635571086607,y:.3959247436343527},{x:.5461983513965825,y:.39638573160311336},{x:.5459770138041778,y:.396366622248786},{x:.5457559715205288,y:.3963888889520305},{x:.32969497152052885,y:.39686888895203054},{x:.32091400776945256,y:.3960237321800639},{x:.31246664968143967,y:.39348173381267654},{x:.3046775244904796,y:.389340581421558},{x:.29784596390946905,y:.3837594171707138},{x:.2922345009803531,y:.3769527220723512},{x:.2880587810765529,y:.3691820736018615},{x:.2854792747722009,y:.3607460934221358},{x:.2845951110479695,y:.3519689715205288},{x:.2854402678199361,y:.3431880077694525},{x:.2879822661873235,y:.33474064968143963},{x:.29212341857844204,y:.32695152449047954},{x:.29770458282928614,y:.320119963909469},{x:.3045112779276488,y:.31450850098035305},{x:.31228192639813845,y:.3103327810765529},{x:.3207179065778642,y:.3077532747722009},{x:.3294950284794712,y:.30686911104796943},{x:.49017057214072013,y:.30651215509128404},{x:.45965681956734333,y:.16222033524572274},{x:.4108567628008364,y:.10626833604444391},{x:.35107150330533127,y:.0844934248457151},{x:.2825297162303303,y:.09056463065174497},{x:.21333680545064249,y:.12164203785622632},{x:.15562253329738823,y:.17126485077351794},{x:.1205010051965362,y:.2291186770707186},{x:.10185989085514695,y:.41364510354456796},{x:.13655871914038514,y:.5827099362211221},{x:.190187982415082,y:.6526649281775241},{x:.2569251189377254,y:.6872526727450867},{x:.3715857772516941,y:.6967797369989467},{x:.4883723057362636,y:.6711064406866752},{x:.49713228125159653,y:.6700660353148682},{x:.5059269093127409,y:.6707546074846872},{x:.5144182172953911,y:.6731456957538017},{x:.5222798889957544,y:.6771474119409674},{x:.529209804779262,y:.6826059723372997},{x:.5349416518686954,y:.6893116075279637},{x:.5392551585948644,y:.6970066237131456},{x:.5419845593133248,y:.7053953057362636},{x:.5430249646851317,y:.7141552812515966},{x:.5423363925153128,y:.722949909312741},{x:.5399453042461984,y:.7314412172953911},{x:.5359435880590326,y:.7393028889957545},{x:.5304850276627003,y:.7462328047792621},{x:.5237793924720363,y:.7519646518686954},{x:.5160843762868544,y:.7562781585948645},{x:.5076956942637364,y:.7590075593133249},{x:.38428269426373635,y:.7861375593133247},{x:.3819812519937546,y:.7864108971664274},{x:.3797153389243004,y:.7868977113667894},{x:.37761181025895013,y:.7869298473215656},{x:.37552271874840343,y:.7871779646851318},{x:.3732121724765259,y:.7869970613144796},{x:.370894825552222,y:.7870324638061055},{x:.24049282555222196,y:.7761974638061055},{x:.24043595887820252,y:.7761870527203061},{x:.24037815170992255,y:.776187787986971},{x:.2360978388350013,y:.7753928346522221},{x:.2318155069745089,y:.7746088302209789},{x:.231761764079766,y:.7745875250435272},{x:.2317049242166051,y:.7745769685631748},{x:.227661944055434,y:.7729622424167508},{x:.22361484767780643,y:.7713578609091699},{x:.22356629387164592,y:.7713264803860874},{x:.22351260563766895,y:.7713050378383375},{x:.13987060563766895,y:.7279560378383374},{x:.13900257424615298,y:.727391873258006},{x:.13805978359276902,y:.7269641982011581},{x:.13531067905832161,y:.7249923788161832},{x:.13247402218179744,y:.7231487342752945},{x:.13173273281971745,y:.7224260654354895},{x:.1308914928889356,y:.7218226787027751},{x:.128579894506033,y:.7193524235854973},{x:.12615742040314795,y:.7169907998540069},{x:.12557136040496888,y:.7161373985129647},{x:.12486399957555622,y:.7153814879181388},{x:.05884299957555622,y:.6292624879181389},{x:.05814177883495547,y:.6281337214080167},{x:.057292540659828396,y:.62711165542026},{x:.05581896837632758,y:.6243946553718145},{x:.05418793684040681,y:.6217691571968414},{x:.05372040128165289,y:.6205252782386133},{x:.05308687616260495,y:.6193571728131668},{x:.052171678571706244,y:.6164048994674943},{x:.051084196133809955,y:.613511651036194},{x:.05086831288622884,y:.6122004612006492},{x:.05047484683830003,y:.6109312059739318},{x:.012315846838300032,y:.4250072059739319},{x:.012065742114142504,y:.42261690788694145},{x:.011602778634016861,y:.4202585732767163},{x:.011607833784388823,y:.41824059149262255},{x:.011397831509003739,y:.41623356008285023}]],H:[[{x:.021894999999999998,y:.05103000000000002},{x:.02275966238185463,y:.04225093550927423},{x:.025320421036992093,y:.03380924554357098},{x:.029478867446385455,y:.026029339514117924},{x:.03507519484660536,y:.019210194846605383},{x:.04189433951411791,y:.013613867446385479},{x:.04967424554357096,y:.009455421036992116},{x:.05811593550927423,y:.006894662381854655},{x:.066895,y:.0060300000000000215},{x:.07567406449072576,y:.006894662381854655},{x:.08411575445642903,y:.009455421036992116},{x:.0918956604858821,y:.013613867446385486},{x:.09871480515339463,y:.019210194846605383},{x:.10431113255361453,y:.026029339514117924},{x:.1084695789630079,y:.03380924554357098},{x:.11103033761814536,y:.04225093550927425},{x:.111895,y:.05103000000000002},{x:.111895,y:.359342},{x:.490157,y:.359342},{x:.490157,y:.05103000000000002},{x:.49102166238185463,y:.04225093550927423},{x:.49358242103699207,y:.03380924554357098},{x:.49774086744638546,y:.026029339514117924},{x:.5033371948466053,y:.019210194846605383},{x:.5101563395141179,y:.013613867446385479},{x:.517936245543571,y:.009455421036992116},{x:.5263779355092743,y:.006894662381854655},{x:.535157,y:.0060300000000000215},{x:.5439360644907257,y:.006894662381854655},{x:.552377754456429,y:.009455421036992116},{x:.5601576604858821,y:.013613867446385486},{x:.5669768051533947,y:.019210194846605383},{x:.5725731325536145,y:.026029339514117924},{x:.5767315789630079,y:.03380924554357098},{x:.5792923376181454,y:.04225093550927425},{x:.580157,y:.05103000000000002},{x:.580157,y:.729004},{x:.5792923376181454,y:.7377830644907257},{x:.5767315789630079,y:.746224754456429},{x:.5725731325536145,y:.7540046604858821},{x:.5669768051533947,y:.7608238051533946},{x:.5601576604858821,y:.7664201325536145},{x:.552377754456429,y:.7705785789630079},{x:.5439360644907257,y:.7731393376181454},{x:.535157,y:.774004},{x:.5263779355092743,y:.7731393376181454},{x:.517936245543571,y:.7705785789630079},{x:.5101563395141179,y:.7664201325536145},{x:.5033371948466053,y:.7608238051533946},{x:.49774086744638546,y:.7540046604858821},{x:.49358242103699207,y:.746224754456429},{x:.49102166238185463,y:.7377830644907257},{x:.490157,y:.729004},{x:.490157,y:.44934199999999996},{x:.111895,y:.44934199999999996},{x:.111895,y:.729004},{x:.11103033761814536,y:.7377830644907257},{x:.10846957896300788,y:.746224754456429},{x:.10431113255361453,y:.7540046604858821},{x:.09871480515339463,y:.7608238051533946},{x:.09189566048588207,y:.7664201325536145},{x:.08411575445642903,y:.7705785789630079},{x:.07567406449072576,y:.7731393376181454},{x:.066895,y:.774004},{x:.05811593550927421,y:.7731393376181454},{x:.04967424554357093,y:.7705785789630079},{x:.04189433951411791,y:.7664201325536145},{x:.03507519484660536,y:.7608238051533946},{x:.029478867446385455,y:.7540046604858821},{x:.025320421036992093,y:.746224754456429},{x:.02275966238185463,y:.7377830644907257},{x:.021894999999999998,y:.729004},{x:.021894999999999998,y:.05103000000000002}]],I:[[{x:.25602600000000003,y:.05103000000000002},{x:.25689066238185465,y:.04225093550927423},{x:.2594514210369921,y:.03380924554357098},{x:.2636098674463855,y:.026029339514117924},{x:.26920619484660535,y:.019210194846605383},{x:.27602533951411795,y:.013613867446385479},{x:.283805245543571,y:.009455421036992116},{x:.2922469355092743,y:.006894662381854655},{x:.301026,y:.0060300000000000215},{x:.3098050644907258,y:.006894662381854655},{x:.3182467544564291,y:.009455421036992116},{x:.32602666048588214,y:.013613867446385486},{x:.3328458051533947,y:.019210194846605383},{x:.33844213255361455,y:.026029339514117924},{x:.34260057896300794,y:.03380924554357098},{x:.3451613376181454,y:.04225093550927425},{x:.346026,y:.05103000000000002},{x:.346026,y:.729004},{x:.3451613376181454,y:.7377830644907257},{x:.34260057896300794,y:.746224754456429},{x:.33844213255361455,y:.7540046604858821},{x:.3328458051533947,y:.7608238051533946},{x:.32602666048588214,y:.7664201325536145},{x:.3182467544564291,y:.7705785789630079},{x:.3098050644907258,y:.7731393376181454},{x:.301026,y:.774004},{x:.2922469355092743,y:.7731393376181454},{x:.283805245543571,y:.7705785789630079},{x:.27602533951411795,y:.7664201325536145},{x:.26920619484660535,y:.7608238051533946},{x:.2636098674463855,y:.7540046604858821},{x:.2594514210369921,y:.746224754456429},{x:.25689066238185465,y:.7377830644907257},{x:.25602600000000003,y:.729004},{x:.25602600000000003,y:.05103000000000002}]],J:[[{x:.0492700034030052,y:.22191686675397743},{x:.05066400340300519,y:.18438286675397747},{x:.05116783173382979,y:.18068175768771486},{x:.05155979864248331,y:.17696713613904605},{x:.05874879864248331,y:.14209513613904604},{x:.05880353678004782,y:.1419191061579158},{x:.05882437610196882,y:.14173594355086241},{x:.060112741823836933,y:.13770889095133898},{x:.06136821695472819,y:.13367146342030908},{x:.0614562450600313,y:.133509494686791},{x:.06151241721221637,y:.13333391704789688},{x:.07511841721221638,y:.10184091704789687},{x:.07557207470549994,y:.10102219111224012},{x:.07589401217340325,y:.10014328637013822},{x:.07770640675364808,y:.09717031380613761},{x:.07939396242231754,y:.09412474393402119},{x:.07999862852050488,y:.09341025377409445},{x:.08048584585939292,y:.09261104382444658},{x:.10112984585939291,y:.06520804382444652},{x:.10197173470408774,y:.06429305686105671},{x:.10267645797068833,y:.06326868237508665},{x:.10495244591663212,y:.06105354143298789},{x:.10710291637241387,y:.058716353519649434},{x:.10810713366035453,y:.05798319214000915},{x:.10899816141532707,y:.05711598541156246},{x:.1373061614153271,y:.03451898541156248},{x:.13912164740426522,y:.03334117545586675},{x:.1408101373903697,y:.03198757757075004},{x:.14281300361792376,y:.03094638082514127},{x:.14470672673278473,y:.029717813955661344},{x:.1467171079910441,y:.028916819034200267},{x:.14863722796281134,y:.027918638208003034},{x:.20683022796281134,y:.004592638208003076},{x:.20850921914024034,y:.004104279923540699},{x:.2101185278310492,y:.0034204446176558795},{x:.21273469892125257,y:.0028752394826936905},{x:.21530073387518742,y:.0021288719943945503},{x:.21704273768291169,y:.0019774523068977427},{x:.21875453360851305,y:.0016207172553791283},{x:.2976895336085131,y:-.0068802827446208525},{x:.29850402526559744,y:-.006887701289741747},{x:.2993068957135494,y:-.007024999279811796},{x:.30290822222422875,y:-.006927815554356645},{x:.3065107103471747,y:-.0069606277022222565},{x:.30731099906181086,y:-.006809004262418785},{x:.30812522808832776,y:-.0067870318558802545},{x:.3663632280883278,y:.0005399681441197179},{x:.367446910459264,y:.0007860908462292888},{x:.3685549625674647,y:.000870733572342984},{x:.37174033606180384,y:.0017612008405818037},{x:.37496569353784953,y:.0024937343933679954},{x:.37598053709868623,y:.002946543859479297},{x:.3770507853196353,y:.0032457304419443098},{x:.4423997853196353,y:.028649730441944292},{x:.44339023767510893,y:.0291515261148112},{x:.4444435524779453,y:.029502699422305954},{x:.4473177196266577,y:.03114131738307233},{x:.45026902431580135,y:.03263654520916596},{x:.4511425499275847,y:.03332192668785485},{x:.4521071150681948,y:.03387184382278591},{x:.4818761150681948,y:.0549598438227859},{x:.482276572000261,y:.05530719927286456},{x:.48273081061614365,y:.05558049186877649},{x:.48560514894853896,y:.05819439949693127},{x:.48854004666413575,y:.060740123232255375},{x:.48886504324193186,y:.061158929616590856},{x:.48925723704963914,y:.06151558852974905},{x:.5141262370496392,y:.08904658852974903},{x:.5149956342421861,y:.09022293690705172},{x:.5160117353213701,y:.09127516577002369},{x:.5176116053111659,y:.0937625081737249},{x:.5193693801104602,y:.0961408866071265},{x:.519992577896003,y:.09746424275846524},{x:.5207838752101566,y:.09869448482562238},{x:.5385188752101566,y:.1333154848256224},{x:.5396070973995049,y:.13607819549886616},{x:.5408707323766272,y:.1387652058155645},{x:.5412201620380835,y:.14017334347255597},{x:.5417518824254063,y:.14152324205357814},{x:.5422802166156467,y:.1444451696332536},{x:.5429953614930656,y:.1473270727547606},{x:.5523413614930656,y:.2113020727547606},{x:.5524962602601196,y:.21460328519222147},{x:.5528139181508881,y:.2178928278123641},{x:.5518389181508881,y:.7290898278123641},{x:.5509575131661891,y:.7378672271777721},{x:.5483806584624608,y:.7463040176932935},{x:.5442073811208505,y:.7540759782308231},{x:.5385980578491955,y:.7608844367054697},{x:.5317682517950807,y:.7664677478762799},{x:.5239804285749665,y:.7706113482261165},{x:.5155338698677402,y:.7731560015172932},{x:.5067531721876358,y:.7740039181508881},{x:.4979757728222279,y:.7731225131661891},{x:.4895389823067066,y:.7705456584624607},{x:.48176702176917696,y:.7663723811208505},{x:.4749585632945304,y:.7607630578491954},{x:.46937525212372017,y:.7539332517950806},{x:.4652316517738835,y:.7461454285749665},{x:.46268699848270683,y:.7376988698677401},{x:.461839081849112,y:.7289181721876359},{x:.462807763438783,y:.22103394388498027},{x:.45501827222953295,y:.16771351802238937},{x:.44337725180090903,y:.14498874958374325},{x:.42579959063650114,y:.12552955984883984},{x:.4046143325842134,y:.11052217895574154},{x:.34961801160788414,y:.08914271579513207},{x:.3021031758959219,y:.08316481131246532},{x:.2345584384824393,y:.09043912324952764},{x:.18827433696976265,y:.10899157718530504},{x:.16959144206995366,y:.1239052897771866},{x:.155605251275173,y:.14247066404328695},{x:.14596289111822178,y:.16478926233983734},{x:.14046290234137151,y:.19146830095804884},{x:.13920799659699482,y:.22525713324602253},{x:.1380181031040591,y:.23399805813086086},{x:.13514580323043823,y:.24233889189031887},{x:.13070147784947123,y:.24995910096061402},{x:.12485591989314217,y:.25656584498063745},{x:.11783377087548613,y:.26190523048280423},{x:.10990488804518514,y:.26577206787662816},{x:.10137397392283892,y:.2680177567696118},{x:.09256886675397746,y:.2685559965969948},{x:.08382794186913914,y:.26736610310405906},{x:.07548710810968112,y:.26449380323043825},{x:.06786689903938595,y:.2600494778494712},{x:.06126015501936256,y:.2542039198931421},{x:.055920769517195726,y:.24718177087548612},{x:.052053932123371845,y:.23925288804518513},{x:.04980824323038816,y:.2307219739228389},{x:.0492700034030052,y:.22191686675397743}]],K:[[{x:-.009598999999999996,y:.05103000000000002},{x:-.008734337618145363,y:.04225093550927423},{x:-.006173578963007902,y:.03380924554357098},{x:-.002015132553614539,y:.026029339514117924},{x:.003581194846605365,y:.019210194846605383},{x:.010400339514117916,y:.013613867446385479},{x:.018180245543570964,y:.009455421036992116},{x:.026621935509274233,y:.006894662381854655},{x:.035401,y:.0060300000000000215},{x:.04418006449072578,y:.006894662381854655},{x:.05262175445642904,y:.009455421036992116},{x:.06040166048588211,y:.013613867446385486},{x:.06722080515339464,y:.019210194846605383},{x:.07281713255361454,y:.026029339514117924},{x:.07697557896300791,y:.03380924554357098},{x:.07953633761814537,y:.04225093550927425},{x:.080401,y:.05103000000000002},{x:.080401,y:.29048154892126793},{x:.18934433769134518,y:.3772029724897202},{x:.5349508182082354,y:.03415901207017739},{x:.5417907398770268,y:.02858809778868676},{x:.5495860658299886,y:.024458629583942203},{x:.5580372260624178,y:.02192930060321959},{x:.5668194472260474,y:.021097311540784057},{x:.5755952334866855,y:.021994635269720175},{x:.5840273362998535,y:.024586788142349852},{x:.5917917146832189,y:.028774155177474024},{x:.5985899879298227,y:.03439581820823536},{x:.6041609022113132,y:.04123573987702663},{x:.6082903704160578,y:.04903106582998847},{x:.6108196993967804,y:.05748222606241771},{x:.6116516884592159,y:.06626444722604735},{x:.6107543647302798,y:.07504023348668547},{x:.6081622118576502,y:.08347233629985339},{x:.603974844822526,y:.0912367146832188},{x:.5983531817917647,y:.09803498792982254},{x:.26024203797571366,y:.43363918627462555},{x:.5302838206406747,y:.648598708462355},{x:.5366139141989896,y:.654742773070568},{x:.5416237292416561,y:.6620037211908337},{x:.545120741386121,y:.6701025186588768},{x:.5469705624168195,y:.6787279332298585},{x:.5471021047489336,y:.6875484950590041},{x:.5455103132844098,y:.6962252349018474},{x:.542256359676543,y:.7044247105121999},{x:.537465291537645,y:.7118318206406747},{x:.531321226929432,y:.7181619141989897},{x:.5240602788091663,y:.7231717292416562},{x:.5159614813411232,y:.726668741386121},{x:.5073360667701415,y:.7285185624168196},{x:.498515504940996,y:.7286501047489337},{x:.48983876509815266,y:.7270583132844098},{x:.48163928948780005,y:.723804359676543},{x:.47423217935932527,y:.719013291537645},{x:.080401,y:.4055145384845117},{x:.080401,y:.729004},{x:.07953633761814537,y:.7377830644907257},{x:.07697557896300788,y:.746224754456429},{x:.07281713255361454,y:.7540046604858821},{x:.06722080515339464,y:.7608238051533946},{x:.06040166048588208,y:.7664201325536145},{x:.052621754456429054,y:.7705785789630079},{x:.04418006449072578,y:.7731393376181454},{x:.035401,y:.774004},{x:.026621935509274212,y:.7731393376181454},{x:.018180245543570936,y:.7705785789630079},{x:.010400339514117906,y:.7664201325536145},{x:.003581194846605358,y:.7608238051533946},{x:-.002015132553614539,y:.7540046604858821},{x:-.006173578963007902,y:.746224754456429},{x:-.008734337618145363,y:.7377830644907257},{x:-.009598999999999996,y:.729004},{x:-.009598999999999996,y:.05103000000000002}]],L:[[{x:.030439999999999995,y:.05103000000000002},{x:.03130466238185463,y:.04225093550927423},{x:.03386542103699209,y:.03380924554357098},{x:.03802386744638545,y:.026029339514117924},{x:.043620194846605356,y:.019210194846605383},{x:.05043933951411791,y:.013613867446385479},{x:.058219245543570955,y:.009455421036992116},{x:.06666093550927422,y:.006894662381854655},{x:.07544,y:.0060300000000000215},{x:.526613,y:.0060300000000000215},{x:.5353920644907257,y:.006894662381854655},{x:.543833754456429,y:.009455421036992116},{x:.5516136604858821,y:.013613867446385479},{x:.5584328051533947,y:.019210194846605383},{x:.5640291325536145,y:.026029339514117924},{x:.5681875789630079,y:.03380924554357098},{x:.5707483376181454,y:.04225093550927425},{x:.571613,y:.05103000000000002},{x:.5707483376181454,y:.05980906449072579},{x:.5681875789630079,y:.06825075445642906},{x:.5640291325536145,y:.07603066048588211},{x:.5584328051533947,y:.08284980515339466},{x:.5516136604858821,y:.08844613255361455},{x:.543833754456429,y:.09260457896300792},{x:.5353920644907257,y:.09516533761814538},{x:.526613,y:.09603000000000002},{x:.12043999999999999,y:.09603000000000002},{x:.12043999999999999,y:.729004},{x:.11957533761814536,y:.7377830644907257},{x:.11701457896300788,y:.746224754456429},{x:.11285613255361453,y:.7540046604858821},{x:.10725980515339463,y:.7608238051533946},{x:.10044066048588207,y:.7664201325536145},{x:.09266075445642903,y:.7705785789630079},{x:.08421906449072576,y:.7731393376181454},{x:.07544,y:.774004},{x:.06666093550927422,y:.7731393376181454},{x:.05821924554357093,y:.7705785789630079},{x:.05043933951411791,y:.7664201325536145},{x:.043620194846605356,y:.7608238051533946},{x:.03802386744638545,y:.7540046604858821},{x:.03386542103699209,y:.746224754456429},{x:.03130466238185463,y:.7377830644907257},{x:.030439999999999995,y:.729004},{x:.030439999999999995,y:.05103000000000002}]],M:[[{x:-.0025190000000000004,y:.05103000000000002},{x:-.001654337618145367,y:.04225093550927423},{x:.0009064210369920944,y:.03380924554357098},{x:.005064867446385457,y:.026029339514117924},{x:.010661194846605361,y:.019210194846605383},{x:.017480339514117912,y:.013613867446385479},{x:.02526024554357096,y:.009455421036992116},{x:.03370193550927423,y:.006894662381854655},{x:.042481,y:.0060300000000000215},{x:.051260064490725774,y:.006894662381854655},{x:.05970175445642904,y:.009455421036992116},{x:.06748166048588208,y:.013613867446385486},{x:.07430080515339463,y:.019210194846605383},{x:.07989713255361454,y:.026029339514117924},{x:.0840555789630079,y:.03380924554357098},{x:.08661633761814536,y:.04225093550927425},{x:.087481,y:.05103000000000002},{x:.087481,y:.5631122522964573},{x:.26219554141599577,y:.26476777519375044},{x:.26376288989624813,y:.2626088267569117},{x:.2651577075441738,y:.2603345964826191},{x:.26634817172230724,y:.2590477232579252},{x:.26737807478439135,y:.2576290804774607},{x:.2693364970488442,y:.25581739014918375},{x:.271148193983327,y:.2538589739959976},{x:.27256684023788735,y:.25282907571933333},{x:.27385371747828813,y:.25163861588213104},{x:.27612795245761435,y:.25024380590572387},{x:.27828690618147356,y:.24867646470811877},{x:.2798792167324836,y:.24794311979268302},{x:.28137361418054185,y:.2470265916026687},{x:.2838762642998919,y:.24610226374330602},{x:.28629950743227456,y:.24498622954453103},{x:.28800429067823724,y:.24457762002415934},{x:.28964877947809164,y:.24397024514568044},{x:.29228366929688115,y:.24355192080462856},{x:.2948780779631802,y:.2429300821730634},{x:.29662982004000654,y:.24286191068247276},{x:.29836120340931876,y:.24258703019148947},{x:.3010270755894747,y:.24269078533857608},{x:.3036929481196057,y:.24258703918410057},{x:.30542433056167173,y:.24286192551544342},{x:.30717607240852984,y:.24293010291506947},{x:.3097704789772072,y:.24355195029817853},{x:.3124053673848756,y:.24397028352732772},{x:.31404985413590314,y:.24457766395304856},{x:.3157546360035206,y:.24498627922405064},{x:.3181778753712451,y:.24610232159698525},{x:.32068052237260675,y:.24702665789836697},{x:.32217491672899246,y:.24794319112932822},{x:.32376722480624953,y:.2486765414159958},{x:.3259261732430879,y:.2502438898962479},{x:.3282004035173809,y:.2516387075441738},{x:.329487276742075,y:.2528291717223074},{x:.3309059195225393,y:.2538590747843914},{x:.3327176098508159,y:.2558174970488439},{x:.33467602600400237,y:.257629193983327},{x:.3357059242806667,y:.2590478402378874},{x:.33689638411786893,y:.2603347174782881},{x:.3382911940942761,y:.2626089524576143},{x:.3398585352918812,y:.26476790618147356},{x:.514571,y:.5631111449291359},{x:.514571,y:.05103000000000002},{x:.5154356623818547,y:.04225093550927423},{x:.5179964210369922,y:.03380924554357098},{x:.5221548674463855,y:.026029339514117924},{x:.5277511948466054,y:.019210194846605383},{x:.5345703395141179,y:.013613867446385479},{x:.542350245543571,y:.009455421036992116},{x:.5507919355092743,y:.006894662381854655},{x:.559571,y:.0060300000000000215},{x:.5683500644907258,y:.006894662381854655},{x:.576791754456429,y:.009455421036992116},{x:.5845716604858822,y:.013613867446385486},{x:.5913908051533947,y:.019210194846605383},{x:.5969871325536146,y:.026029339514117924},{x:.6011455789630079,y:.03380924554357098},{x:.6037063376181454,y:.04225093550927425},{x:.6045710000000001,y:.05103000000000002},{x:.6045710000000001,y:.729004},{x:.6044399806971988,y:.7303342613054065},{x:.6044919608158994,y:.7316699481196056},{x:.6040085293496043,y:.7347148603514975},{x:.6037063376181454,y:.7377830644907257},{x:.6033183147080721,y:.7390622046001841},{x:.6031087164726723,y:.7403823673848756},{x:.6020405410986152,y:.7432744596816038},{x:.6011455789630079,y:.746224754456429},{x:.6005154639484909,y:.7474036167328832},{x:.600052342101633,y:.7486575223726067},{x:.5984404722003996,y:.7512856532491108},{x:.5969871325536146,y:.7540046604858821},{x:.596139140401289,y:.7550379419131618},{x:.5954402924558263,y:.7561774035173808},{x:.5933466712837743,y:.758440575377949},{x:.5913908051533947,y:.7608238051533946},{x:.5903575237261146,y:.7616717973057207},{x:.589449806016673,y:.7626530260040023},{x:.5869548902613284,y:.7644642664232344},{x:.5845716604858822,y:.7664201325536145},{x:.5833927982094276,y:.7670502475681318},{x:.5823110938185264,y:.7678355352918812},{x:.579510761693201,y:.7691252393162225},{x:.576791754456429,y:.7705785789630079},{x:.5755126143469705,y:.7709666018730812},{x:.5742984925677255,y:.7715257704554689},{x:.5713003592655512,y:.772244375482538},{x:.5683500644907258,y:.7731393376181454},{x:.5670198031853202,y:.7732703569209465},{x:.5657199220368199,y:.7735819178269366},{x:.5626392041392276,y:.7737018082685412},{x:.559571,y:.774004},{x:.5582407386945936,y:.7738729806971988},{x:.5569050518803944,y:.7739249608158993},{x:.5538601396485026,y:.7734415293496042},{x:.5507919355092743,y:.7731393376181454},{x:.5495127953998159,y:.772751314708072},{x:.5481926326151244,y:.7725417164726722},{x:.5453005403183963,y:.7714735410986151},{x:.542350245543571,y:.7705785789630079},{x:.5411713832671168,y:.7699484639484908},{x:.5399174776273933,y:.769485342101633},{x:.5372893467508892,y:.7678734722003996},{x:.5345703395141179,y:.7664201325536145},{x:.5335370580868383,y:.765572140401289},{x:.5323975964826192,y:.7648732924558262},{x:.5301344246220511,y:.7627796712837742},{x:.5277511948466054,y:.7608238051533946},{x:.5269032026942794,y:.7597905237261146},{x:.5259219739959977,y:.7588828060166729},{x:.5241107335767656,y:.7563878902613284},{x:.5221548674463855,y:.7540046604858821},{x:.5215247524318682,y:.7528257982094275},{x:.5207394647081188,y:.7517440938185264},{x:.30102684980758887,y:.3765575080608823},{x:.08131245858400418,y:.7517442248062496},{x:.0805272117946797,y:.752825865136849},{x:.07989713255361454,y:.7540046604858821},{x:.07794121846393844,y:.7563879486998997},{x:.0761299252156086,y:.7588829195225393},{x:.07514874916275306,y:.7597905823884902},{x:.07430080515339463,y:.7608238051533946},{x:.0719175169393771,y:.7627797192430708},{x:.06965428252171184,y:.764873384117869},{x:.06851488325078628,y:.7655721885442563},{x:.06748166048588208,y:.7664201325536145},{x:.06476258657702469,y:.7678735078373721},{x:.06213438581945812,y:.7694854083973313},{x:.06088054980546198,y:.7699484997219428},{x:.05970175445642904,y:.7705785789630079},{x:.056751387338174995,y:.7714735630437544},{x:.05385922052190834,y:.7725417548543195},{x:.05253913197970031,y:.7727513367372549},{x:.051260064490725774,y:.7731393376181454},{x:.04819178511684276,y:.773441536759571},{x:.0451467965906812,y:.7739249698085104},{x:.04381118578262464,y:.7738729881355436},{x:.042481,y:.774004},{x:.039412720626117295,y:.7737018008585744},{x:.03633192759147018,y:.7735818970849305},{x:.035032121291898165,y:.7732703494826018},{x:.03370193550927423,y:.7731393376181454},{x:.030751568391020223,y:.7722443535373988},{x:.02775336399647938,y:.7715257207759494},{x:.026539313032545114,y:.7709665798438982},{x:.02526024554357096,y:.7705785789630079},{x:.02254117163471342,y:.7691252036792503},{x:.01974077519375046,y:.7678354585840041},{x:.01865913486315115,y:.7670502117946798},{x:.017480339514117912,y:.7664201325536145},{x:.015097051300099952,y:.7644642184639381},{x:.012602080477460715,y:.7626529252156086},{x:.011694417611510011,y:.7616717491627533},{x:.010661194846605361,y:.7608238051533946},{x:.008705280756928618,y:.7584405169393763},{x:.006611615882131057,y:.7561772825217118},{x:.005912811455744052,y:.7550378832507868},{x:.005064867446385457,y:.7540046604858821},{x:.0036114921626275165,y:.7512855865770239},{x:.0019995916026687363,y:.7486573858194581},{x:.0015365002780573323,y:.7474035498054622},{x:.0009064210369920944,y:.746224754456429},{x:11436956245516774e-21,y:.7432743873381747},{x:-.0010567548543195318,y:.7403822205219084},{x:-.0012663367372549837,y:.7390621319797002},{x:-.001654337618145367,y:.7377830644907257},{x:-.0019565367595708303,y:.7347147851168438},{x:-.0024399698085105087,y:.7316697965906812},{x:-.0023879881355436095,y:.730334185782624},{x:-.0025190000000000004,y:.729004},{x:-.0025190000000000004,y:.05103000000000002}]],N:[[{x:.022871000000000002,y:.05103000000000002},{x:.023735662381854636,y:.04225093550927423},{x:.026296421036992097,y:.03380924554357098},{x:.03045486744638546,y:.026029339514117924},{x:.036051194846605364,y:.019210194846605383},{x:.042870339514117915,y:.013613867446385479},{x:.05065024554357096,y:.009455421036992116},{x:.05909193550927423,y:.006894662381854655},{x:.067871,y:.0060300000000000215},{x:.07665006449072577,y:.006894662381854655},{x:.08509175445642904,y:.009455421036992116},{x:.0928716604858821,y:.013613867446385486},{x:.09969080515339464,y:.019210194846605383},{x:.10528713255361455,y:.026029339514117924},{x:.10944557896300791,y:.03380924554357098},{x:.11200633761814537,y:.04225093550927425},{x:.112871,y:.05103000000000002},{x:.112871,y:.5841703094604355},{x:.49710429367778214,y:.025528669675955993},{x:.4971050718109503,y:.02552774709009411},{x:.49710565506134197,y:.025526690456344234},{x:.49994880496714983,y:.022156103119426583},{x:.5027917749380927,y:.01878536401177818},{x:.5027927181072235,y:.018784610959395015},{x:.5027934962896407,y:.018783688415073364},{x:.5062395848358414,y:.016032536999645196},{x:.5096855265142521,y:.01328120162562755},{x:.5096865984738844,y:.013280647046104224},{x:.5096875416832135,y:.013279894044071351},{x:.5136041376200112,y:.011253903755746949},{x:.5175206253992491,y:.009227704391234041},{x:.5175217849545753,y:.009227369596750634},{x:.5175228569438108,y:.00922681507445236},{x:.5217594476858983,y:.008003843583871996},{x:.5259959731369073,y:.006780645934087934},{x:.5259971757268666,y:.006780543790608634},{x:.5259983353000632,y:.006780209058025982},{x:.5303921110410749,y:.006407254473822295},{x:.5347858668666982,y:.00603406533837119},{x:.5347870662764328,y:.00603419977121261},{x:.5347882688718429,y:.006034097691931008},{x:.5391703792739257,y:.006525492449663053},{x:.5435525159020149,y:.007016653277689966},{x:.5435536660388816,y:.007017019120673398},{x:.543554865441438,y:.007017153617542397},{x:.547756908459233,y:.008354013692199154},{x:.5519590228368241,y:.009690649448577907},{x:.5519600795017079,y:.0096912326425627},{x:.551961229619043,y:.009691598546943021},{x:.555821723096155,y:.01182254915564361},{x:.559682330324044,y:.013953293677782128},{x:.5596832529099061,y:.01395407181095043},{x:.5596843095436558,y:.013954655061341997},{x:.5630548968806759,y:.016797804967236304},{x:.5664256359882218,y:.01964077493809272},{x:.5664263890406048,y:.019641718107223288},{x:.5664273115849267,y:.019642496289640633},{x:.5691784630004857,y:.02308858483600535},{x:.5719297983743725,y:.026534526514252196},{x:.5719303529538958,y:.0265355984738845},{x:.5719311059559287,y:.0265365416832135},{x:.5739570962443242,y:.03045313762014873},{x:.575983295608766,y:.03436962539924916},{x:.5759836304032494,y:.03437078495457533},{x:.5759841849255477,y:.0343718569438108},{x:.5772071564160691,y:.03860844768569421},{x:.5784303540659121,y:.04284497313690728},{x:.5784304562093915,y:.04284617572686688},{x:.578430790941974,y:.042847335300063204},{x:.5788037455260991,y:.04724111104014873},{x:.5791769346616289,y:.05163486686669809},{x:.5791768002287875,y:.05163606627643281},{x:.5791769023080691,y:.05163726887184294},{x:.5700269023080691,y:.7296112688718429},{x:.5690438463824576,y:.738377865441438},{x:.566369401453057,y:.746784229619043},{x:.5621063449386581,y:.7545073095436557},{x:.5564185037103594,y:.7612503115849266},{x:.5495244583167865,y:.7667541059559286},{x:.5416891430561892,y:.7708071849255477},{x:.5332136646999368,y:.773253790941974},{x:.5244237311281571,y:.773999902308069},{x:.515657134558562,y:.7730168463824576},{x:.507250770380957,y:.770342401453057},{x:.49952769045634426,y:.766079344938658},{x:.4927846884150734,y:.7603915037103594},{x:.4872808940440714,y:.7534974583167865},{x:.4832278150744524,y:.7456621430561892},{x:.480781209058026,y:.7371866646999369},{x:.48003509769193103,y:.7283967311281571},{x:.48718300813543913,y:.19876859615253395},{x:.10494770632221789,y:.754505330324044},{x:.1022980223560627,y:.75764690179997},{x:.09969080515339464,y:.7608238051533946},{x:.09945603456444842,y:.7610164763964532},{x:.09926022506190729,y:.7612486359882218},{x:.09604856383930557,y:.7638129153509474},{x:.0928716604858821,y:.7664201325536145},{x:.09260381265312083,y:.7665633002029657},{x:.09236647348574781,y:.7667527983743725},{x:.08871625734636118,y:.7686412418060533},{x:.08509175445642904,y:.7705785789630079},{x:.08480112262185491,y:.7706667411661766},{x:.08453137460075086,y:.770806295608766},{x:.08058287930375276,y:.7719463312873718},{x:.07665006449072577,y:.7731393376181454},{x:.07634781747275289,y:.773169106351106},{x:.07605602686309273,y:.7732533540659121},{x:.07196099086840901,y:.7736011710596524},{x:.067871,y:.774004},{x:.06756875298202693,y:.7739742312670393},{x:.06726613313330192,y:.7739999346616289},{x:.06318192637768459,y:.7735421665584931},{x:.05909193550927423,y:.7731393376181454},{x:.05880130367469977,y:.7730511754149765},{x:.05849948409798508,y:.77301734672231},{x:.054583060356599135,y:.7717715852937818},{x:.05065024554357096,y:.7705785789630079},{x:.0503823977108098,y:.7704354113136568},{x:.050092977163175983,y:.7703433505514221},{x:.04649484240404986,y:.768357469710569},{x:.042870339514117915,y:.7664201325536145},{x:.04263556892517204,y:.7662274613105563},{x:.04236966967595597,y:.7660807063222179},{x:.03922809820002561,y:.7634310223560591},{x:.036051194846605364,y:.7608238051533946},{x:.03585852360354703,y:.7605890345644487},{x:.035626364011778155,y:.7603932250619073},{x:.033062084649052234,y:.7571815638393052},{x:.03045486744638546,y:.7540046604858821},{x:.030311699797034096,y:.7537368126531205},{x:.03012220162562753,y:.7534994734857478},{x:.028233758193948882,y:.7498492573463653},{x:.026296421036992097,y:.746224754456429},{x:.026208258833823234,y:.7459341226218545},{x:.026068704391234022,y:.7456643746007509},{x:.02492866871262922,y:.741715879303756},{x:.023735662381854636,y:.7377830644907257},{x:.023705893648893955,y:.7374808174727527},{x:.023621645934087915,y:.7371890268630927},{x:.023273828940347806,y:.7330939908684111},{x:.022871000000000002,y:.729004},{x:.022871000000000002,y:.05103000000000002}]],O:[[{x:.012131736117046842,y:.4355587711738732},{x:.012426138979982786,y:.43287355609157196},{x:.012514983726773468,y:.43017371170811375},{x:.012905745911416293,y:.42849911573111366},{x:.01309315536666239,y:.42678977537085305},{x:.07316415536666239,y:.1412837753708531},{x:.07429915106219231,y:.13768552483470178},{x:.07533122192175289,y:.13405641311271962},{x:.07562440736087628,y:.1334840955199844},{x:.07581784742995093,y:.1328708369543332},{x:.07763301835724021,y:.12956315246900071},{x:.0793532628391043,y:.12620512014747703},{x:.07975246842568721,y:.12570099711853563},{x:.0800618324091279,y:.12513726042963025},{x:.08248742256740031,y:.1222472544549173},{x:.0848297326408542,y:.1192893488327618},{x:.1660597326408542,y:.03517334883276172},{x:.16792084009780786,y:.033590824390739155},{x:.16963596886504836,y:.031851158363102774},{x:.17127304088861567,y:.03074040344046043},{x:.172780173663761,y:.0294588683817891},{x:.1749142556657825,y:.0282698357562587},{x:.17693582072022015,y:.026898201947035502},{x:.17875813439943417,y:.026128166777013812},{x:.18048632312818114,y:.025165283073572443},{x:.1828113681007397,y:.02441543612151622},{x:.18506168183103927,y:.023464545648773483},{x:.2739246818310393,y:-.0041824543512264944},{x:.2748960678404206,y:-.004382857312604547},{x:.27582577451608603,y:-.004728396924478621},{x:.2792086173377598,y:-.005272563034129881},{x:.28256427991205235,y:-.0059648570457577},{x:.28355609768991147,y:-.005971901311054349},{x:.2845353517466465,y:-.006129424701440567},{x:.287959355733624,y:-.0060031749164705245},{x:.2913856000541485,y:-.006027509400590186},{x:.29235973459950004,y:-.005840924262640544},{x:.29335090385307644,y:-.005804377895986514},{x:.3811419038530764,y:.006122622104013507},{x:.38318930529213563,y:.00660893405691686},{x:.3852758334501729,y:.006882342567970358},{x:.387470347489584,y:.0076257947232155985},{x:.38972465411174423,y:.008161252125438313},{x:.3916378405507577,y:.009037647936572414},{x:.39363093730084414,y:.009712864429997858},{x:.3956382440479665,y:.010870159811164118},{x:.3977447722434711,y:.011835121954387393},{x:.39945022100051475,y:.01306792222421872},{x:.4012732927522862,y:.01411899850883961},{x:.4916652927522862,y:.07880999850883955},{x:.49276799959381884,y:.07977586317754862},{x:.49398769122063274,y:.08058901093294302},{x:.4960788615418114,y:.08267585840574071},{x:.4983012083703825,y:.08462241954283417},{x:.4991942961599152,y:.08578485282556958},{x:.5002319144966787,y:.08682032620708877},{x:.5018757798210403,y:.08927504258220473},{x:.5036756696393939,y:.09161775945128844},{x:.5043248175140242,y:.09293208968889465},{x:.5051404874699588,y:.09415009603518716},{x:.5560304874699588,y:.18912209603518723},{x:.5570965448702581,y:.19168827319789875},{x:.5583465570022521,y:.1941700494329812},{x:.5587848767756364,y:.19575236841213633},{x:.559414776433869,y:.19726864147332673},{x:.5599597135111237,y:.1999934877429328},{x:.5607015364856348,y:.20267144261291137},{x:.5892585364856349,y:.36700144261291134},{x:.5895780755292599,y:.371318367211785},{x:.589913428370686,y:.37563409214099147},{x:.5899036127276142,y:.3757163259822715},{x:.58990972616553,y:.3757989176124618},{x:.5893809351459178,y:.38009523269056544},{x:.5888678881103582,y:.38439345626922305},{x:.5314878881103581,y:.6446844562692231},{x:.5303800126922803,y:.6480826863142071},{x:.5293998170293023,y:.651519919480997},{x:.5290148883003433,y:.6522699863013032},{x:.5287535704445262,y:.6530715368858165},{x:.5270040207481954,y:.6561883351212919},{x:.5253720883446767,y:.6593682961290664},{x:.5248482251358019,y:.6600288547560561},{x:.5244355536676654,y:.6607640231862051},{x:.522111563906752,y:.6634796128039058},{x:.5198906090097624,y:.6662800975344761},{x:.4528876090097624,y:.7355630975344761},{x:.4513498405668143,y:.7368687638478525},{x:.44995999895015265,y:.7383308981052339},{x:.44799560298794544,y:.7397167316507253},{x:.4461630292013509,y:.741272707045399},{x:.44440008568631667,y:.7422532816059559},{x:.4427517012434998,y:.743416176715023},{x:.4405546878862334,y:.7443921472166956},{x:.43845377075029196,y:.7455607075703166},{x:.43653340109378364,y:.7461785074476045},{x:.43468982031452474,y:.7469974740014746},{x:.32025082031452473,y:.7849044740014746},{x:.3162756641960007,y:.785800462676764},{x:.3123143949565378,y:.7867559771378485},{x:.3119757732525013,y:.7867696456410259},{x:.3116451697261732,y:.786844162718285},{x:.30757159639863574,y:.7869474207351895},{x:.30350003021295163,y:.7871117699623142},{x:.30316524843732107,y:.7870591140117537},{x:.302826459804451,y:.7870677017158569},{x:.29881101440639224,y:.7863742609266953},{x:.29478561927964103,y:.7857411290712295},{x:.173234619279641,y:.7541621290712296},{x:.17180894449846637,y:.7536379076298808},{x:.17032768986057922,y:.753301394035824},{x:.16767817066393412,y:.7521190197025511},{x:.16495505208167519,y:.7511177274253745},{x:.16365904177145735,y:.7503254433998781},{x:.16227189957151614,y:.7497064173758784},{x:.15990395993272244,y:.7480298664806163},{x:.1574285077432372,y:.7465165596726792},{x:.15631196685338702,y:.745486660093817},{x:.15507224418821702,y:.7446089104628228},{x:.08487024418821705,y:.6837459104628228},{x:.08477922863788438,y:.6836498346778195},{x:.08467166808724909,y:.6835727301071804},{x:.08174665618590948,y:.6804486588585436},{x:.07880340242944883,y:.6773417676286113},{x:.07873287917322891,y:.6772297816598538},{x:.07864242772392874,y:.6771331746094597},{x:.07638309517198695,y:.6734984900001298},{x:.07410251962167697,y:.6698770964908778},{x:.07405519882875666,y:.6697535038963435},{x:.0739853324792622,y:.6696411069209627},{x:.07247850415964274,y:.6656354878421232},{x:.07094824805491862,y:.6616387601752097},{x:.07092594823683183,y:.6615083105489945},{x:.0708793519117729,y:.6613844430013583},{x:.013660351911772894,y:.4476944430013583},{x:.013380528959940628,y:.4459977798389246},{x:.012899536483696877,y:.44434683677239306},{x:.012664423003084308,y:.4416557821956227},{x:.012224847112815455,y:.43899048181468664},{x:.012281403443251489,y:.4372718288093888},{x:.012131736117046842,y:.4355587711738732}],[{x:.10337829031332789,y:.4348001396911351},{x:.15424861715004387,y:.6247803934833692},{x:.2060651876410252,y:.6697037849792326},{x:.3045603004668897,y:.6952928559694175},{x:.3958853477721772,y:.6650421672339206},{x:.4463402797077116,y:.6128703383711886},{x:.499069598507425,y:.373676069990286},{x:.47327322171072966,y:.22523195474705573},{x:.4307624349909165,y:.1458974207255564},{x:.35796896612556683,y:.09380119213930618},{x:.2911281310221294,y:.08472041346861442},{x:.22279798440939425,y:.10597924519162948},{x:.15856873728877424,y:.17249047688925445},{x:.10337829031332789,y:.4348001396911351}]],P:[[{x:.025556999999999996,y:.05103000000000002},{x:.02642166238185463,y:.04225093550927423},{x:.02898242103699209,y:.03380924554357098},{x:.033140867446385454,y:.026029339514117924},{x:.03873719484660536,y:.019210194846605383},{x:.04555633951411791,y:.013613867446385479},{x:.053336245543570956,y:.009455421036992116},{x:.061777935509274226,y:.006894662381854655},{x:.070557,y:.0060300000000000215},{x:.07933606449072576,y:.006894662381854655},{x:.08777775445642903,y:.009455421036992116},{x:.09555766048588209,y:.013613867446385486},{x:.10237680515339463,y:.019210194846605383},{x:.10797313255361454,y:.026029339514117924},{x:.1121315789630079,y:.03380924554357098},{x:.11469233761814536,y:.04225093550927425},{x:.11555699999999999,y:.05103000000000002},{x:.11555699999999999,y:.3249696679740436},{x:.22632413005583354,y:.32573306868659574},{x:.22797244585475993,y:.3259068917113995},{x:.2296296407459454,y:.32587748916779646},{x:.3399906407459454,y:.3347734891677965},{x:.3425199358315593,y:.3352301100895628},{x:.3450781711944775,y:.33547763407671893},{x:.4262801711944775,y:.3514846340767189},{x:.43023360415359113,y:.35267647626036297},{x:.4342017122431381,y:.35381850872164355},{x:.49034871224313803,y:.3761405087216436},{x:.49223471805815816,y:.37711419756221787},{x:.49421014578428074,y:.3778905822551455},{x:.4961445509948513,y:.379132728294546},{x:.49818726580808836,y:.3801873213410173},{x:.49984707528076383,y:.38151024250532195},{x:.5016330805772936,y:.3826570960152846},{x:.5368430805772937,y:.4104950960152846},{x:.538268982488492,y:.41186995272090265},{x:.539835277869678,y:.41308244849417974},{x:.5414366048100854,y:.41492417879038607},{x:.5431934850553138,y:.4166181652891421},{x:.5443237674236908,y:.41824478417169497},{x:.5456234206874699,y:.41973955124896434},{x:.546834674823181,y:.4218582966024136},{x:.5482273167355989,y:.4238624839583804},{x:.5490185434436073,y:.4256783549664296},{x:.5500016096439067,y:.4273979502871872},{x:.5725636096439066,y:.4777629502871872},{x:.5732747072201834,y:.47988746499756846},{x:.5741879174558705,y:.48193325814034926},{x:.5746713208988057,y:.4840600657825243},{x:.5753635933927087,y:.4861283376286891},{x:.5756465551694752,y:.4883507586397718},{x:.5761431038835471,y:.49053540091990977},{x:.5762022992770958,y:.49271564988294925},{x:.5764777701286589,y:.49487923612929946},{x:.5763217220435205,y:.4971141570479765},{x:.5763825271473633,y:.4993536938878067},{x:.5706825271473633,y:.5794656938878067},{x:.5700654182420953,y:.5830779192715516},{x:.5695689975224034,y:.5867086990904052},{x:.5693236589408173,y:.5874197813867033},{x:.5691969863455608,y:.5881612549906394},{x:.5678870248015591,y:.5915836805014664},{x:.5666918126627678,y:.5950478490261242},{x:.5415328126627678,y:.6498468490261241},{x:.5413708296623262,y:.6501242105110185},{x:.5412617638147841,y:.650426323944409},{x:.5391478795722351,y:.653930540410781},{x:.5370840246571379,y:.6574644536133865},{x:.536871043573226,y:.6577048843594048},{x:.5367051339883567,y:.6579799150765678},{x:.5339482287199508,y:.661004400648547},{x:.5312345979336611,y:.6640677725799057},{x:.5309788035098929,y:.664262032968313},{x:.5307624259999995,y:.6644994116930277},{x:.47414742599999943,y:.7155204116930277},{x:.47266946719886654,y:.7166100541651699},{x:.4713261182021025,y:.7178618913781634},{x:.46912758296129603,y:.7192213498885075},{x:.46704701478499566,y:.7207552731949938},{x:.4653848758470294,y:.7215356430341334},{x:.4638231175995642,y:.7225013521577397},{x:.4283261175995643,y:.7398953521577398},{x:.4243082080780145,y:.7413960258251278},{x:.4202985181688539,y:.7429185254841078},{x:.34090751816885384,y:.7644395254841077},{x:.3408415384597873,y:.7644506164558663},{x:.3407789202555512,y:.7644741810938074},{x:.33649241770984384,y:.7651816893280429},{x:.33220802793590354,y:.7659018811363755},{x:.33214115226719376,y:.7658998869955335},{x:.33207514002138977,y:.7659107826399355},{x:.2099811400213898,y:.7739077826399355},{x:.20641155146718015,y:.773790767187745},{x:.20284008504333162,y:.7738075792583221},{x:.0663570850433316,y:.7610135792583221},{x:.06408313636872824,y:.7605723800858132},{x:.061777935509274226,y:.7603453376181454},{x:.05976354040438703,y:.759734277543603},{x:.05769704052657306,y:.7593333282846051},{x:.05555285882676713,y:.7584569812513055},{x:.053336245543570956,y:.7577845789630079},{x:.05147976838249502,y:.7567922712467745},{x:.04953119704042999,y:.7559958719887517},{x:.04759918201567506,y:.7547180546196904},{x:.04555633951411791,y:.7536261325536145},{x:.043929123673028744,y:.7522907110247322},{x:.04217336337061703,y:.7511294669445447},{x:.04052776127482757,y:.7494992850446065},{x:.03873719484660536,y:.7480298051533947},{x:.037401773317722896,y:.7464025893123053},{x:.03590629693874444,y:.7449211263687215},{x:.034610347337597366,y:.7430012269141045},{x:.033140867446385454,y:.7412106604858821},{x:.032148559730151835,y:.7393541833248057},{x:.030970837593177758,y:.7376094333079335},{x:.030074343103068113,y:.7354735969579864},{x:.02898242103699209,y:.733430754456429},{x:.028371360962449563,y:.7314163593515414},{x:.027556652268729623,y:.729475372026062},{x:.027094064670152376,y:.7272056777739226},{x:.02642166238185463,y:.7249890644907258},{x:.02621533264498147,y:.722894163516222},{x:.025794946192721373,y:.7208315299365354},{x:.02578404246766777,y:.7185152008594541},{x:.025556999999999996,y:.71621},{x:.025556999999999996,y:.05103000000000002}],[{x:.11555699999999999,y:.414971805397996},{x:.11555699999999999,y:.6752310456989574},{x:.20767337575712835,y:.6838660911730216},{x:.3217031184787672,y:.6763972896549704},{x:.3925929523867085,y:.6571807523203506},{x:.4185706758911827,y:.6444513238436673},{x:.46361487793542,y:.6038578374443203},{x:.4814895996448674,y:.5649247767123354},{x:.48580725170954087,y:.5042413131675768},{x:.4723746184159119,y:.474255736718963},{x:.45098032059796866,y:.45734081304228297},{x:.40480552914494095,y:.4389833995595593},{x:.3301954695220376,y:.42427584033215343},{x:.22404845814303564,y:.41571952231013837},{x:.11555699999999999,y:.414971805397996}]],Q:[[{x:.012134510452571898,y:.39776120903599943},{x:.012467756958298536,y:.3937322544040442},{x:.012734737801221134,y:.38969836671479857},{x:.012831073490929856,y:.38933975275179394},{x:.012861682585025715,y:.38896968840207613},{x:.0716656825850257,y:.06709568840207614},{x:.07243605319674906,y:.06440524795975149},{x:.07301096718930201,y:.06166637692330789},{x:.07364750148994079,y:.06017438890024393},{x:.07409402290033937,y:.05861495861744442},{x:.07537446994903126,y:.05612650608452361},{x:.07647266436288541,y:.053552421842995857},{x:.07738804025928744,y:.05221328363312273},{x:.0781302116420243,y:.05077092937167972},{x:.07987152826568633,y:.04858009458346291},{x:.08145080010539194,y:.04626971775068952},{x:.16096480010539196,y:-.04855928224931053},{x:.16315500529851779,y:-.05070373085173594},{x:.16521251383898505,y:-.052975804178533654},{x:.1663001767861927,y:-.05378319510572523},{x:.1672680674520078,y:-.05473086511953138},{x:.1698345496348827,y:-.056406820906963286},{x:.172295783242646,y:-.058233836978172464},{x:.17352006120728586,y:-.058813521600477286},{x:.17465423537351554,y:-.059554156299027654},{x:.17749836607515132,y:-.06069721323044178},{x:.18026874092294012,y:-.06200896084304842},{x:.2672567409229401,y:-.09317596084304836},{x:.2695830047845554,y:-.09375972267138269},{x:.2718475349769373,y:-.09454977610873284},{x:.2738508793967248,y:-.09483071995927067},{x:.27581299058749986,y:-.09532309988014809},{x:.2782084422243766,y:-.09544181332278269},{x:.28058359188359605,y:-.09577489818042065},{x:.2826032520283714,y:-.0956596106656824},{x:.28462372036011635,y:-.09575974074040533},{x:.28699630390923414,y:-.09540884370631499},{x:.2893907973658866,y:-.09527215971995788},{x:.3753267973658866,y:-.08182715971995795},{x:.37840631600914065,y:-.08102976437129623},{x:.38152495221950905,y:-.08040256216817918},{x:.38266795913198753,y:-.07992627554804835},{x:.3838666954562622,y:-.07961588068444121},{x:.38673147789694834,y:-.07823302278004476},{x:.38966782930723504,y:-.07700945634885908},{x:.3906959547522998,y:-.07631933185595965},{x:.3918111026603398,y:-.07578103928710583},{x:.3943510569158511,y:-.07386586128072498},{x:.3969922811880835,y:-.07209295159323717},{x:.45217017177581864,y:-.026613783173476364},{x:.5097585536672307,y:-.09873256043298734},{x:.5159122791302333,y:-.10505326271144577},{x:.5231808703268614,y:-.11005198218579294},{x:.5312849993737013,y:-.11353662086994384},{x:.5399132291363312,y:-.11537326605347448},{x:.5487339815837399,y:-.1154913364919842},{x:.5574082801461085,y:-.11388629480473579},{x:.5656027763942881,y:-.11061982184365243},{x:.5730025604329874,y:-.10581744633276943},{x:.5793232627114457,y:-.0996637208697668},{x:.5843219821857929,y:-.09239512967313873},{x:.5878066208699438,y:-.08429100062629874},{x:.5896432660534744,y:-.07566277086366895},{x:.5897613364919841,y:-.06684201841626024},{x:.5881562948047357,y:-.058167719853891554},{x:.5848898218436525,y:-.04997322360571205},{x:.5800874463327694,y:-.042573439567012816},{x:.5106129498444961,y:.04443049374200151},{x:.5474711182959175,y:.12365010382899572},{x:.5481373073434039,y:.1255496832776173},{x:.5490025186311253,y:.12736726941208848},{x:.5495935209593992,y:.1297019482663393},{x:.5503905347901464,y:.13197456307270286},{x:.5506733336355601,y:.13396760967066554},{x:.5511673266667299,y:.13591906574595297},{x:.5791213266667299,y:.32118306574595296},{x:.5792865967797204,y:.3243841932678159},{x:.5796238248970751,y:.32757179562983435},{x:.579513579388425,y:.3287806341158348},{x:.5795761658223595,y:.3299928748079828},{x:.5791137513174164,y:.3331647361616822},{x:.5788226293197903,y:.33635687958013644},{x:.5226546293197903,y:.6297998795801365},{x:.5219105438778229,y:.6323181740447382},{x:.521369234544533,y:.6348876981954499},{x:.5206636104444891,y:.6365383151545928},{x:.5201549436340621,y:.6382598551025291},{x:.5189338607071872,y:.6405845973766512},{x:.5179016631869613,y:.6429991446291672},{x:.5168875780620563,y:.6444803850133782},{x:.5160528293589531,y:.6460696100820955},{x:.5144016744792594,y:.6481114616238732},{x:.5129182555439367,y:.6502782422813739},{x:.4473292555439367,y:.7283852422813738},{x:.4454767413796947,y:.7301964293264013},{x:.4437773055972873,y:.732151966404103},{x:.44233025961343425,y:.7332727172827731},{x:.4410215211764534,y:.7345522595114605},{x:.4388512574885805,y:.735967237520439},{x:.4368029695300015,y:.737553656027496},{x:.4351650804791521,y:.7383705673253327},{x:.43363186277883553,y:.7393702013057781},{x:.431227251583759,y:.7403345934673514},{x:.4289088260065632,y:.7414909282302113},{x:.3168848260065632,y:.7842309282302113},{x:.31544522398579106,y:.7846236280557255},{x:.31406876767085296,y:.7851998529634103},{x:.3111991137964475,y:.7857818972901452},{x:.30837424253549156,y:.7865524758495462},{x:.30688569012846406,y:.7866567776362199},{x:.305423266132861,y:.7869533972381565},{x:.30249520063786056,y:.7869644160479279},{x:.2995742760667897,y:.7871690831124285},{x:.29809397750772,y:.7869809786010931},{x:.2966017859654652,y:.7869865939723252},{x:.2937278327647654,y:.7864261638184524},{x:.2908231043767717,y:.786057054147543},{x:.2894079467091229,y:.7855837720890787},{x:.28794333170435554,y:.785298167434039},{x:.16895933170435556,y:.7496931674340391},{x:.16685145995859063,y:.7488293371508981},{x:.16467103610787698,y:.748169732810473},{x:.1627799564873854,y:.7471607878174731},{x:.16079664289106937,y:.7463480029082842},{x:.1588977982379503,y:.7450895455041626},{x:.15688795304330724,y:.7440172356850165},{x:.15523004539103946,y:.7426587459550258},{x:.15344340707901263,y:.7414746531917952},{x:.15182656105367498,y:.739869930478983},{x:.1500645317387979,y:.7384261234461069},{x:.08134353173879794,y:.6698101234461069},{x:.07898814712174665,y:.6669445493412297},{x:.07654417665723892,y:.6641541443502993},{x:.0761910053095167,y:.6635415309608049},{x:.07574199244846258,y:.6629952594015535},{x:.07399091166125166,y:.6597252337561722},{x:.07213828241215867,y:.6565116506297859},{x:.07191141209628055,y:.6558419081228384},{x:.07157759918584938,y:.6552185349547689},{x:.07049811528111428,y:.6516697230205841},{x:.06930802275051184,y:.6481564579560907},{x:.013298022750511833,y:.4072474579560906},{x:.013249789700227431,y:.40687927578320093},{x:.013136451320225305,y:.40652566731159423},{x:.012677284531251238,y:.4025091147450468},{x:.012152162963867598,y:.3985006516980174},{x:.01217668547678935,y:.39813013424102855},{x:.012134510452571898,y:.39776120903599943}],[{x:.1030741934540208,y:.3959601630333355},{x:.15405220468618464,y:.6152256818322884},{x:.20562817178182732,y:.6667228451191239},{x:.2990925609035841,y:.6946913078929434},{x:.38591644511804135,y:.6615657918309754},{x:.4364618489221904,y:.6013735361946543},{x:.4889800495366121,y:.3269984766785998},{x:.4631403994395801,y:.1557472448128009},{x:.4478929247459949,y:.12297570323093639},{x:.3763894463327694,y:.21252056043298723},{x:.3702357208697667,y:.2188412627114457},{x:.36296712967313866,y:.22383998218579282},{x:.35486300062629866,y:.22732462086994373},{x:.34623477086366883,y:.22916126605347437},{x:.3374140184162602,y:.2292793364919841},{x:.3287397198538915,y:.22767429480473567},{x:.32054522360571197,y:.22440782184365232},{x:.31314543956701274,y:.21960544633276935},{x:.3068247372885543,y:.2134517208697667},{x:.30182601781420715,y:.20618312967313862},{x:.2983413791300562,y:.19807900062629863},{x:.2965047339465256,y:.18945077086366885},{x:.29638666350801585,y:.18063001841626014},{x:.2979917051952643,y:.17195571985389144},{x:.30125817815634764,y:.16376122360571194},{x:.3060605536672306,y:.1563614395670127},{x:.3960043024488616,y:.04372356068896105},{x:.3492507773512258,y:.005187991106938553},{x:.28681342879982186,y:-.004580559340762309},{x:.22209853619564562,y:.018606191220169738},{x:.15806156000107346,y:.09497717514193305},{x:.1030741934540208,y:.3959601630333355}]],R:[[{x:-.010088,y:.05588800000000005},{x:-.009223337618145366,y:.04710893550927426},{x:-.006662578963007905,y:.03866724554357101},{x:-.0025041325536145423,y:.030887339514117953},{x:.0030921948466053617,y:.024068194846605412},{x:.009911339514117913,y:.018471867446385508},{x:.01769124554357096,y:.014313421036992145},{x:.02613293550927423,y:.011752662381854684},{x:.034912,y:.01088800000000005},{x:.043691064490725774,y:.011752662381854684},{x:.05213275445642904,y:.014313421036992145},{x:.059912660485882105,y:.018471867446385515},{x:.06673180515339464,y:.024068194846605412},{x:.07232813255361453,y:.030887339514117953},{x:.0764865789630079,y:.03866724554357101},{x:.07904733761814536,y:.04710893550927428},{x:.079912,y:.05588800000000005},{x:.079912,y:.36648688236049143},{x:.25933152798675563,y:.3728389247505383},{x:.2598033776805002,y:.3702688775066002},{x:.2630584474090824,y:.36206984491555727},{x:.26785052379396923,y:.35466338703825},{x:.5319365237939692,y:.022999387038250052},{x:.5380814500271169,y:.016670129897313986},{x:.5453430800394999,y:.011661303295187019},{x:.5534423534621115,y:.008165393629206541},{x:.5620680197594453,y:.00631674674730745},{x:.5708885994130244,y:.006186405112428031},{x:.5795651224933998,y:.00777937768050025},{x:.5877641550844427,y:.011034447409082423},{x:.59517061296175,y:.015826523793969254},{x:.601499870102686,y:.021971450027116944},{x:.606508696704813,y:.02923308003949996},{x:.6100046063707935,y:.03733235346211146},{x:.6118532532526926,y:.04595801975944533},{x:.6119835948875719,y:.05477859941302443},{x:.6103906223194997,y:.06345512249339977},{x:.6071355525909176,y:.07165415508444274},{x:.6023434762060308,y:.07906061296174999},{x:.36492288462028066,y:.3772356888373974},{x:.45122307475864126,y:.3907421966461853},{x:.4517263325772421,y:.3908725352482557},{x:.4522445282141884,y:.3909141268943158},{x:.4559919550269364,y:.3919772876167318},{x:.459762859565968,y:.3929539131315124},{x:.46023101962685037,y:.3931799280437793},{x:.4607311441523136,y:.39332181547170203},{x:.5072261441523136,y:.41160281547170213},{x:.5099186672764574,y:.4129799887569096},{x:.5126912264123276,y:.4141879634543456},{x:.5138373975854011,y:.41498434320238026},{x:.5150799754049854,y:.4156198976243936},{x:.5174520892726079,y:.41749589411441484},{x:.5199357102894067,y:.4192215573713852},{x:.5536387102894067,y:.4479225573713852},{x:.5544422891842978,y:.4487559165260936},{x:.5553578681885658,y:.44946439490120116},{x:.5574982196806069,y:.4519250983842071},{x:.5597619879819907,y:.4542727608851649},{x:.5603875460278954,y:.4552468777427617},{x:.5611473151639865,y:.4561203635073251},{x:.5627664809673836,y:.45895134712470415},{x:.5645287453623273,y:.46169553923588524},{x:.5649522427143585,y:.46277297903182424},{x:.5655270044804562,y:.4637779046177677},{x:.5843050044804562,y:.5056739046177676},{x:.5856980535944053,y:.5098331481877504},{x:.5870956418010017,y:.5139908687307394},{x:.5870987900445207,y:.5140153439302019},{x:.587106627133701,y:.514038743222053},{x:.5876614810321307,y:.5183898384933372},{x:.5882210839336397,y:.522740325535193},{x:.5899430839336397,y:.580600325535193},{x:.589777587866933,y:.5830153029012521},{x:.5898269599494498,y:.5854354407122341},{x:.5894767504310368,y:.5874052295805413},{x:.5893399666658296,y:.589401226848592},{x:.5887065118476329,y:.5917375144207835},{x:.5882827897945603,y:.5941207819778186},{x:.5699357897945603,y:.6593647819778187},{x:.5695566600666073,y:.6603356321127045},{x:.5693270257483343,y:.6613522723710545},{x:.5679549854437747,y:.6644370937206254},{x:.5667268644118839,y:.6675819841936177},{x:.5661656160899001,y:.668460215174679},{x:.5657420574552864,y:.6694125215424361},{x:.5637945617300048,y:.6721703971299327},{x:.5619765010042908,y:.6750152648867381},{x:.5612547025465381,y:.6757671267898905},{x:.5606534967163777,y:.6766185026674012},{x:.5398464967163776,y:.7006785026674012},{x:.5387925287989109,y:.70167944573824},{x:.5378793324857355,y:.7028102896247742},{x:.535601038014175,y:.7047103734673366},{x:.5334498940671065,y:.7067532939324781},{x:.5322209035416287,y:.707529385222465},{x:.5311046373415733,y:.7084603444980107},{x:.5029396373415734,y:.7276033444980106},{x:.49917038563569516,y:.7296565217962586},{x:.49541206095977475,y:.7317296332429761},{x:.4611910609597748,y:.7464366332429762},{x:.457170688924302,y:.7477143925092122},{x:.45316143447737084,y:.7490266191763204},{x:.37177643447737085,y:.7670666191763205},{x:.36787988134157384,y:.7675363076101905},{x:.36399443936523473,y:.7680904503837813},{x:.2290834393652347,y:.7739614503837813},{x:.2260604581328276,y:.7737959747883908},{x:.2230330269857825,y:.7738173839936113},{x:.030818026985782503,y:.7562573839936113},{x:.028490934977474184,y:.7558115802948838},{x:.02613293550927423,y:.7555793376181453},{x:.024169339379190496,y:.7549836872441402},{x:.022154034015341384,y:.7545976128723226},{x:.01995862841458906,y:.7537063820373993},{x:.01769124554357096,y:.7530185789630078},{x:.01588158498580211,y:.7520512952425895},{x:.013980322522940947,y:.7512794726091756},{x:.012000971535783972,y:.7499770641392344},{x:.009911339514117913,y:.7488601325536145},{x:.008325158769029223,y:.7475583876576994},{x:.006611003657363959,y:.7464304774736483},{x:.004923772632206568,y:.7447669421957904},{x:.0030921948466053617,y:.7432638051533946},{x:.0017904499506900475,y:.7416776244083056},{x:.0003292762098528329,y:.7402369716294513},{x:-.001000995511218774,y:.7382762382714833},{x:-.0025041325536145423,y:.7364446604858821},{x:-.0034714162740331275,y:.7346349999281129},{x:-.004623456556617868,y:.732936968032819},{x:-.005545647377387794,y:.7307543864780955},{x:-.006662578963007905,y:.728664754456429},{x:-.007258229337013042,y:.7267011583263452},{x:-.008056863899357211,y:.7248110017280808},{x:-.008535534543753812,y:.7224904473617442},{x:-.009223337618145366,y:.7202230644907257},{x:-.009424464135908606,y:.7181809926864091},{x:-.009839001899660749,y:.7161713490432334},{x:-.009855757323261527,y:.7138019994682},{x:-.010088,y:.711444},{x:-.010088,y:.05588800000000005}],[{x:.079912,y:.45654326739466394},{x:.079912,y:.6703676283824797},{x:.22820062174801237,y:.6839146886946046},{x:.3561457472749752,y:.6783468266821017},{x:.42954781695254723,y:.662076342723345},{x:.4559144639404158,y:.6507448714849071},{x:.47563211893454127,y:.6373433067928232},{x:.48601322722124407,y:.6253391992627579},{x:.4997779385388953,y:.5763903343143285},{x:.4985264355495565,y:.5343392524542002},{x:.48755361344964526,y:.5098575528750181},{x:.467303195590932,y:.4926125823096997},{x:.43241084881177044,y:.4788935374345549},{x:.3509044963348569,y:.4661372945522357},{x:.079912,y:.45654326739466394}]],S:[[{x:.021897597226735628,y:.20918252956592975},{x:.022856530106274857,y:.20041326151782815},{x:.025507836686771486,y:.19199957102060095},{x:.07532383668677148,y:.0752955710206009},{x:.07606476437254353,y:.07394451179196875},{x:.07662717764446286,y:.07250992955787258},{x:.07818101321859919,y:.07008559601860773},{x:.07956562874320691,y:.06756079148160443},{x:.08055589829123208,y:.06638024029801701},{x:.0813873780598424,y:.06508294454561242},{x:.08338432112997196,y:.06300833217803187},{x:.0852348965856767,y:.0608021661408081},{x:.08643645249257384,y:.05983749092219001},{x:.08750504545666679,y:.05872733599970995},{x:.08986835462050304,y:.05708217099364391},{x:.09211377343035676,y:.05527942517977789},{x:.09348044057646428,y:.05456769785378441},{x:.09474508130770348,y:.05368734639231786},{x:.18347008130770348,y:.00406434639231789},{x:.18531117162778632,y:.0032602675504258996},{x:.18705570252460849,y:.0022638899609980986},{x:.18934358471290644,y:.0014991491478438968},{x:.19155425509545604,y:.0005336596975895336},{x:.19351683738147718,y:.0001042099085839361},{x:.19542223123106015,y:-.0005326814704223887},{x:.1978153459361366,y:-.0008363843304376121},{x:.20017189655491793,y:-.0013520417748285815},{x:.2021805498702545,y:-.0013903589963945293},{x:.20417358345551592,y:-.0016432887864569548},{x:.36640558345551594,y:-.006196288786456984},{x:.3683537351453612,y:-.006059465175549666},{x:.37030515940756886,y:-.006136660097762148},{x:.3727431942064551,y:-.005751182385354602},{x:.3752054496398049,y:-.005578251970786187},{x:.37708947517888647,y:-.005063991846688501},{x:.37901846335331396,y:-.004758999502412188},{x:.3813344490261288,y:-.00390529164215812},{x:.3837156558614866,y:-.003255321831637216},{x:.38546315320491126,y:-.002383387922517842},{x:.38729557535780434,y:-.001707928996501587},{x:.5134735753578044,y:.059451071003498376},{x:.5144073364238021,y:.06002293670994077},{x:.5154151369003129,y:.060451046875811966},{x:.5181619939873726,y:.06232241135953579},{x:.5209964106485654,y:.06405830049148753},{x:.5218006642926897,y:.06480134570578519},{x:.5227055800155168,y:.06541784197435321},{x:.5250345719141375,y:.06778913394790613},{x:.5274758708842278,y:.07004463571609586},{x:.5281197100899656,y:.07093030562736781},{x:.5288869656553633,y:.07171149639276676},{x:.5307085905129939,y:.07449158843544039},{x:.5326629540416582,y:.07718002517181716},{x:.5331216364294024,y:.07817428398206286},{x:.5337217466362741,y:.07909014852127505},{x:.5349660004312154,y:.08217220325496363},{x:.5363583234240663,y:.08519025984344057},{x:.5366142220868877,y:.08625489874416871},{x:.5370241250365293,y:.08727024089657527},{x:.5783351250365293,y:.22800124089657534},{x:.5784689928995229,y:.22870739358153944},{x:.5787167010683089,y:.22938208824013706},{x:.5792894483007394,y:.23303529403132756},{x:.5799781923062021,y:.23666841715613338},{x:.579971724381043,y:.23738711763976203},{x:.5800830465086156,y:.23809717369609615},{x:.5799320834693805,y:.24179192160438975},{x:.5798988062915618,y:.2454896025769029},{x:.5797522511369868,y:.24619323160266243},{x:.5797229091764134,y:.2469113620006918},{x:.5788540372904492,y:.2505056649360105},{x:.5781000177526308,y:.2541258039501414},{x:.5778190074010411,y:.2547873214491718},{x:.5776501289474114,y:.2554859288404322},{x:.5462891289474114,y:.3454679288404322},{x:.5453940585085517,y:.34740151578805634},{x:.5446999978282894,y:.3494160105998292},{x:.5435456407901493,y:.3513945829466735},{x:.5425833616033817,y:.3534733584203385},{x:.5413282655917657,y:.35519517245680393},{x:.5402545326513293,y:.3570355547940282},{x:.5387363559437135,y:.3587509055417339},{x:.537387017705137,y:.36060200657115166},{x:.5358201287566253,y:.36204587934864135},{x:.5344079865107593,y:.36364142435019586},{x:.5325843328131388,y:.3650276335315076},{x:.5308997898345437,y:.36657992334222783},{x:.5290813226127058,y:.36769036763963614},{x:.5273850388959807,y:.368979759405903},{x:.44286903889598056,y:.42100375940590296},{x:.4391930936098881,y:.42279580082266366},{x:.4355432374645799,y:.42464039733796655},{x:.4352309585303121,y:.42472736117212373},{x:.4349395777453148,y:.4248694107387315},{x:.430984654780085,y:.42590987723258605},{x:.42704506666901776,y:.42700697873237736},{x:.18802361397643091,y:.46887992641475673},{x:.1445277950559712,y:.506325930968192},{x:.1345999941059918,y:.5433489412625321},{x:.1668438673565076,y:.6442112383308392},{x:.2418447705661005,y:.6964178007533797},{x:.3847076342900009,y:.6886954406015322},{x:.4475324208368403,y:.608018765726417},{x:.4536085342974724,y:.6016234190133417},{x:.4608155671913789,y:.5965363480257236},{x:.46887655728619765,y:.5929530460487544},{x:.47748172525324006,y:.5910112173678703},{x:.48630037931336645,y:.5907854853702875},{x:.49499362353660437,y:.5922845248100812},{x:.5032273814226823,y:.5954507284422511},{x:.5106852342735829,y:.6001624208368403},{x:.5170805809866582,y:.6062385342974724},{x:.5221676519742764,y:.6134455671913789},{x:.5257509539512455,y:.6215065572861976},{x:.5276927826321296,y:.63011172525324},{x:.5279185146297124,y:.6389303793133664},{x:.5264194751899187,y:.6476236235366044},{x:.5232532715577489,y:.6558573814226824},{x:.5185415791631597,y:.663315234273583},{x:.4431175791631597,y:.760171234273583},{x:.4420344490669973,y:.7613112710002186},{x:.44110391182703096,y:.7625789282836855},{x:.4390031114098716,y:.7645018722698176},{x:.4370414657025276,y:.7665665809866583},{x:.43575673751534005,y:.767473404028016},{x:.4345967726198766,y:.768535164822443},{x:.4321611907321885,y:.7700113141492059},{x:.4298344328086211,y:.7716536519742764},{x:.42839747791415833,y:.7722924126294288},{x:.42705266216361437,y:.7731074740629288},{x:.4243758968514515,y:.7740801011395291},{x:.42177344271380235,y:.7752369539512456},{x:.4202394824828045,y:.7755831050064366},{x:.4187614963922926,y:.7761201447252115},{x:.4159464142454535,y:.7765518720385514},{x:.41316827474676,y:.7771787826321297},{x:.4115962584106506,y:.7772190216964318},{x:.4100419001567639,y:.7774574015652649},{x:.23125890015676387,y:.7871214015652648},{x:.22961427991333744,y:.7870487065186679},{x:.22797320559841586,y:.7871788426312305},{x:.22521775007366066,y:.7868543723294609},{x:.22244596265035355,y:.7867318545526676},{x:.22084712542379714,y:.7863397068281228},{x:.21921219559556868,y:.7861471846952227},{x:.21657298639174055,y:.7852913862936938},{x:.21387836011908076,y:.7846304737606538},{x:.21238674832737245,y:.7839339433752962},{x:.2108207924222569,y:.7834261615145331},{x:.2083992528689725,y:.782071922865878},{x:.2058853407234555,y:.7808980140745921},{x:.20455827617124617,y:.7799238683005129},{x:.20312147299647784,y:.7791203404840283},{x:.10291447299647782,y:.7093683404840284},{x:.10181255131472464,y:.7084283417469311},{x:.10059641238964509,y:.7076416809983432},{x:.09846400643554813,y:.7055718520256913},{x:.09620311784593605,y:.7036431918911783},{x:.09530575393663021,y:.7025062807105057},{x:.09426645267874648,y:.7014974784931097},{x:.09257882390791694,y:.6990514089395268},{x:.09073764058529563,y:.6967187299857058},{x:.09007931964022471,y:.6954285972205445},{x:.08925679581402991,y:.6942364212378118},{x:.08807879885369768,y:.6915081121844703},{x:.08672807644060793,y:.6888610579553555},{x:.08633409736450004,y:.6874672826843552},{x:.08575996009935855,y:.6861375475907227},{x:.04484896009935855,y:.5581635475907226},{x:.04400698871411546,y:.5542371548008082},{x:.04309586967447821,y:.5503262293029391},{x:.04308290316808571,y:.5499278363503387},{x:.04299932697019912,y:.5495380927241992},{x:.04293953506277818,y:.5455228840020936},{x:.042808906634767226,y:.5415093553341928},{x:.04287391188557095,y:.5411160877505585},{x:.04286797679041901,y:.5407175280315513},{x:.04359266213029085,y:.5367678055966908},{x:.04424754429113727,y:.532805911414652},{x:.06119154429113727,y:.4696179114146519},{x:.06126294463056804,y:.4694283141856516},{x:.06129777501412092,y:.46922873472253734},{x:.06281676603792068,y:.46530228011432895},{x:.0643004966052513,y:.46136236601319713},{x:.0644075135916399,y:.46119034135699993},{x:.06448061074086608,y:.46100139182805006},{x:.06673642807197144,y:.45744672339211917},{x:.06896028828319853,y:.453871975109843},{x:.06909880931377366,y:.45372413383751425},{x:.06920736414622189,y:.4535530754671619},{x:.07211331798967527,y:.4505067971180214},{x:.07499184614403663,y:.4474345902263458},{x:.07515654793327702,y:.4473166137950705},{x:.07529638874761438,y:.44717002026055797},{x:.1386943887476144,y:.392590020260558},{x:.14135607757337018,y:.39071931904916735},{x:.1439175788350931,y:.3887136217356019},{x:.14495796828078528,y:.38818782053421796},{x:.14591168674437638,y:.38751752344016943},{x:.1488871876674173,y:.38620203695812855},{x:.15179076253542007,y:.38473460266203335},{x:.15291373991533655,y:.3844218744952798},{x:.15397990142199966,y:.3839505182141148},{x:.15715486761053352,y:.383240799869195},{x:.1602889333309822,y:.3823680212676226},{x:.4030282434963717,y:.3398437611206276},{x:.46657219784598525,y:.30072914754350266},{x:.487912612564808,y:.23949853636308405},{x:.45628203537627,y:.13174508671722343},{x:.35793695341674575,y:.08407681754539842},{x:.21775140382412592,y:.0880110894972649},{x:.15207256592030022,y:.12474460286217379},{x:.10828216331322851,y:.2273324289793991},{x:.10404037125679308,y:.23506720851839558},{x:.09837110341432329,y:.2418258338591919},{x:.09149222656964323,y:.24734857482022213},{x:.08366809210217534,y:.25142319556354265},{x:.07519937711167927,y:.2538931106990613},{x:.06641152956592972,y:.2546634027732644},{x:.05764226151782814,y:.2537044698937252},{x:.04922857102060091,y:.2510531633132285},{x:.04149379148160447,y:.24681137125679312},{x:.034735166140808106,y:.24114210341432332},{x:.029212425179777887,y:.23426322656964324},{x:.025137804436457384,y:.22643909210217536},{x:.022667889300938757,y:.21797037711167933},{x:.021897597226735628,y:.20918252956592975}]],T:[[{x:-.022050999999999998,y:.729004},{x:-.021186337618145364,y:.7202249355092742},{x:-.018625578963007903,y:.711783245543571},{x:-.01446713255361454,y:.7040033395141179},{x:-.008870805153394636,y:.6971841948466053},{x:-.002051660485882085,y:.6915878674463855},{x:.005728245543570962,y:.6874294210369921},{x:.014169935509274232,y:.6848686623818546},{x:.022949,y:.684004},{x:.264284,y:.684004},{x:.264284,y:.05103000000000002},{x:.26514866238185464,y:.04225093550927423},{x:.2677094210369921,y:.03380924554357098},{x:.27186786744638547,y:.026029339514117924},{x:.27746419484660534,y:.019210194846605383},{x:.28428333951411794,y:.013613867446385479},{x:.292063245543571,y:.009455421036992116},{x:.30050493550927426,y:.006894662381854655},{x:.309284,y:.0060300000000000215},{x:.3180630644907258,y:.006894662381854655},{x:.32650475445642907,y:.009455421036992116},{x:.3342846604858821,y:.013613867446385486},{x:.34110380515339467,y:.019210194846605383},{x:.34670013255361454,y:.026029339514117924},{x:.3508585789630079,y:.03380924554357098},{x:.35341933761814537,y:.04225093550927425},{x:.354284,y:.05103000000000002},{x:.354284,y:.684004},{x:.579103,y:.684004},{x:.5878820644907258,y:.6848686623818546},{x:.596323754456429,y:.6874294210369921},{x:.6041036604858822,y:.6915878674463855},{x:.6109228051533947,y:.6971841948466053},{x:.6165191325536146,y:.7040033395141179},{x:.6206775789630079,y:.711783245543571},{x:.6232383376181454,y:.7202249355092742},{x:.6241030000000001,y:.729004},{x:.6232383376181454,y:.7377830644907257},{x:.6206775789630079,y:.746224754456429},{x:.6165191325536146,y:.7540046604858821},{x:.6109228051533947,y:.7608238051533946},{x:.6041036604858822,y:.7664201325536145},{x:.596323754456429,y:.7705785789630079},{x:.5878820644907258,y:.7731393376181454},{x:.579103,y:.774004},{x:.022949,y:.774004},{x:.014169935509274211,y:.7731393376181454},{x:.005728245543570935,y:.7705785789630079},{x:-.0020516604858820953,y:.7664201325536145},{x:-.008870805153394643,y:.7608238051533946},{x:-.01446713255361454,y:.7540046604858821},{x:-.018625578963007903,y:.746224754456429},{x:-.021186337618145364,y:.7377830644907257},{x:-.022050999999999998,y:.729004}]],U:[[{x:.027022176378557076,y:.7288780077818786},{x:.02808017637855708,y:.35099900778187865},{x:.02823473618726791,y:.3494735334648019},{x:.028192796744230073,y:.34794082288884604},{x:.035484796744230065,y:.24514582288884607},{x:.03612518708694976,y:.24139252668431194},{x:.03666424897987138,y:.2376233431565944},{x:.055316248979871384,y:.16148034315659432},{x:.05618736340037885,y:.15900518320818077},{x:.05685851158014249,y:.15646848905542057},{x:.057648252259250334,y:.15485425480263812},{x:.058244846291224776,y:.15315910934454152},{x:.0595821022437829,y:.15090145489330362},{x:.06073523897858293,y:.14854443712190207},{x:.09649723897858292,y:.0906284371219021},{x:.09834293286415725,y:.08820732921922435},{x:.10003759110096133,y:.08567820232322114},{x:.10101147458130413,y:.08470684222595504},{x:.10184538199049184,y:.08361295562088691},{x:.10412794610596264,y:.08159844564215248},{x:.10628345014049506,y:.07944852663140606},{x:.15306845014049508,y:.041154526631406},{x:.15518086878702558,y:.03974701384514513},{x:.15716842451696925,y:.03816808161035298},{x:.15884280372557036,y:.03730705230772802},{x:.16040964618671547,y:.03626305906247794},{x:.1627560674239954,y:.03529470367371844},{x:.16501346722603244,y:.034133863066459845},{x:.23490646722603245,y:.006476863066459913},{x:.23625924682734178,y:.006089880823813601},{x:.23754823013535448,y:.005525708919597472},{x:.24049103862888763,y:.004879315347967098},{x:.24338780663402787,y:.004050652809021178},{x:.24479008944495417,y:.003935020529692536},{x:.24616436977860445,y:.0036331571990539033},{x:.3343553697786044,y:-.006825842800946093},{x:.3363658265006992,y:-.006865793301669296},{x:.3383604992721398,y:-.007120376900508131},{x:.34076517153289726,y:-.0069532142518240045},{x:.3431751712391958,y:-.00700110421331946},{x:.3451547915551648,y:-.0066480664270605625},{x:.3471608040448924,y:-.0065086169201366215},{x:.4090588040448924,y:.003962383079863387},{x:.4119620232343868,y:.004752615784895447},{x:.4149089852784979,y:.005359710588792872},{x:.4162090298953196,y:.005908616535408058},{x:.4175706649775032,y:.0062792425557079215},{x:.42026393287145114,y:.0076206811274584655},{x:.4230358315454356,y:.008791034549085273},{x:.4738028315454356,y:.03637303454908527},{x:.4760785863358737,y:.0379161826666043},{x:.4784624107710392,y:.03928649177082543},{x:.47972093897980134,y:.04038599604431689},{x:.48110410464379305,y:.04132389563682743},{x:.48303507818089647,y:.043281370330868374},{x:.4851057640535682,y:.045090410406577325},{x:.5154867640535682,y:.07740541040657731},{x:.5155903820373309,y:.07753992155387555},{x:.5157174079857786,y:.07765259073212467},{x:.5182811318880063,y:.08103290449336144},{x:.5208701788099869,y:.08439386230433626},{x:.5209455639802052,y:.08454600372347547},{x:.521048168494406,y:.08468128952824439},{x:.5340921684944061,y:.10592328952824437},{x:.5341054861393935,y:.10595068243490303},{x:.5341238592672674,y:.10597497562685786},{x:.5360339092314592,y:.10991723311331511},{x:.5379492688231333,y:.11385691363208547},{x:.5379569864823256,y:.11388637833537296},{x:.5379702672090579,y:.11391378915988949},{x:.557924267209058,y:.16807278915988946},{x:.5580810067186996,y:.16867450001810444},{x:.5583366124011981,y:.1692413235937006},{x:.5591915686944892,y:.17293786157308777},{x:.5601479818122073,y:.1766094575809222},{x:.5601843216510317,y:.17723018509512725},{x:.5603244341481242,y:.17783598350956487},{x:.5696394341481241,y:.2495799835095649},{x:.569721927352796,y:.25224539988339456},{x:.5700114646960025,y:.2548963275892337},{x:.5750284646960026,y:.7275053275892338},{x:.5742570402937379,y:.7362930758081182},{x:.5717860339652341,y:.7447614724740409},{x:.5677104050979391,y:.752585081852262},{x:.5621867778235843,y:.7594632470219072},{x:.5554274220406369,y:.7651316439528263},{x:.5476920960011455,y:.7693724393298378},{x:.5392780639467868,y:.7720226617648687},{x:.5305086724107663,y:.7729804646960026},{x:.5217209241918819,y:.7722090402937379},{x:.5132525275259592,y:.7697380339652341},{x:.505428918147738,y:.7656624050979391},{x:.4985507529780929,y:.7601387778235843},{x:.49288235604717384,y:.753379422040637},{x:.48864156067016223,y:.7456440960011456},{x:.48599133823513135,y:.7372300639467868},{x:.4850335353039975,y:.7284606724107663},{x:.48004487037154997,y:.258520878697574},{x:.4717248917269394,y:.19444051929027983},{x:.4550625667192203,y:.14921575933773623},{x:.4467624246683876,y:.135699076001046},{x:.42448554918380393,y:.11200409455592171},{x:.3866565267646711,y:.09145137140181527},{x:.33852910612300163,y:.08330987698295},{x:.2625775703514966,y:.09231733933890664},{x:.20464797458906397,y:.11524036210229632},{x:.16911733402594603,y:.14432255403825953},{x:.14104265103985364,y:.1897890642955865},{x:.12498883901236212,y:.25532548983758135},{x:.11807553704626646,y:.35278200048003916},{x:.11702182362144292,y:.7291299922181214},{x:.11613258476624799,y:.737906601393955},{x:.11354820087598706,y:.7463410885908555},{x:.10936798837422372,y:.7541093211959605},{x:.10375259048311052,y:.7609127703867312},{x:.09691780379445152,y:.7664899834261845},{x:.0891262853276994,y:.770626631144951},{x:.08067745876799748,y:.7731637444910576},{x:.07189600778187862,y:.7740038236214429},{x:.06311939860604492,y:.773114584766248},{x:.05468491140914452,y:.770530200875987},{x:.04691667880403945,y:.7663499883742237},{x:.04011322961326877,y:.7607345904831105},{x:.03453601657381558,y:.7538998037944515},{x:.030399368855048972,y:.7461082853276993},{x:.027862255508942363,y:.7376594587679974},{x:.027022176378557076,y:.7288780077818786}]],V:[[{x:-.017163400590915968,y:.72836062945125},{x:-.016173311217885875,y:.7195948244454146},{x:-.01349212241321528,y:.7111906087794154},{x:.27875887758678475,y:.033216608779415485},{x:.2789749302503264,y:.03282594254600198},{x:.27911899522766415,y:.032403397706182537},{x:.2811076886540147,y:.028969490703698003},{x:.2830281292409603,y:.025496951748158487},{x:.28331624571443165,y:.0251559418405784},{x:.28353997693249255,y:.024769621764193565},{x:.2861603801951793,y:.021789671162821947},{x:.2887213787977949,y:.018758515442121357},{x:.2890704869266977,y:.018480266679882864},{x:.2893652865202418,y:.018145017430816868},{x:.2925166989914198,y:.015733541060992128},{x:.2956198378696305,y:.013260254189586457},{x:.29601652162435305,y:.013055459516578674},{x:.296371060610326,y:.012784164535463174},{x:.29993237527606087,y:.011033834081706148},{x:.30345840254303674,y:.009213463087028258},{x:.303887417589348,y:.00908999264768462},{x:.3042880712333465,y:.00889307764850001},{x:.3081224287682413,y:.00787115732855266},{x:.3119358411735324,y:.006773658047051503},{x:.31238070070379703,y:.0067362567411129665},{x:.3128120721109714,y:.0066212890568466964},{x:.3167721203052928,y:.006367050695504971},{x:.32072637054875,y:.006034599409084053},{x:.3211699788607,y:.006084704547762943},{x:.3216154906697884,y:.006056102322046737},{x:.325549047092249,y:.006579316156958459},{x:.3294921755545854,y:.0070246887821141385},{x:.32991748502957097,y:.007160374853030322},{x:.330360016471596,y:.007219237253358143},{x:.3341159167548444,y:.008499796470269213},{x:.33789639122058457,y:.00970587758678474},{x:.33828705745399834,y:.009921930250326543},{x:.33870960229381747,y:.01006599522766418},{x:.3421435092963017,y:.012054688654014527},{x:.34561604825184156,y:.013975129240960359},{x:.3459570581594215,y:.014263245714431577},{x:.34634337823580646,y:.014486976932492547},{x:.34932332883717915,y:.01710738019518028},{x:.35235448455787866,y:.01966837879779494},{x:.3526327333201171,y:.020017486926697612},{x:.35296798256918316,y:.020312286520241793},{x:.3553794589390082,y:.023463698991420194},{x:.3578527458104136,y:.026566837869630475},{x:.3580575404834214,y:.026963521624353053},{x:.35832883546453687,y:.02731806061032596},{x:.3600791659182934,y:.03087937527605991},{x:.3618995369129718,y:.03440540254303673},{x:.3620230073523154,y:.034834417589348},{x:.3622199223515,y:.0352350712333465},{x:.6163569223515,y:.7132090712333464},{x:.6186287109431533,y:.7217330721109714},{x:.6191938976779532,y:.7305364906697883},{x:.6180307627466418,y:.7392810164715959},{x:.6151840047723358,y:.7476306022938175},{x:.6107630230675074,y:.7552643782358064},{x:.6049377134797582,y:.7618889825691831},{x:.597931939389674,y:.7672498354645368},{x:.5900149287666535,y:.7711409223515},{x:.5814909278890286,y:.7734127109431533},{x:.5726875093302116,y:.7739778976779532},{x:.5639429835284039,y:.7728147627466418},{x:.5555933977061824,y:.7699680047723358},{x:.5479596217641935,y:.7655470230675074},{x:.5413350174308168,y:.7597217134797583},{x:.5359741645354631,y:.7527159393896741},{x:.5320830776484999,y:.7447989287666535},{x:.3171703309688009,y:.17146543337864517},{x:.06915612241321528,y:.7468173912205845},{x:.06488687075903964,y:.7545370482518415},{x:.059193621202205074,y:.7612754845578786},{x:.05229516213036956,y:.7667737458104136},{x:.04445659745696326,y:.7708205369129717},{x:.0359791588264676,y:.7732603419529485},{x:.027188629451250054,y:.773999400590916},{x:.01842282444541461,y:.7730093112178859},{x:.010018608779415478,y:.7703281224132152},{x:.0022989517481584835,y:.7660588707590397},{x:-.004439484557878664,y:.7603656212022051},{x:-.009937745810413578,y:.7534671621303695},{x:-.013984536912971763,y:.7456285974569633},{x:-.016424341952948517,y:.7371511588264675},{x:-.017163400590915968,y:.72836062945125}]],W:[[{x:-.04486424190193638,y:.7324968210037928},{x:-.04468360364824366,y:.7236771280279449},{x:.03511539635175633,y:.05429612802794491},{x:.03538914303981033,y:.053053468981350556},{x:.035486899606724354,y:.05178477579191172},{x:.03633616861564037,y:.04875449496443272},{x:.037013200434797444,y:.04568114375463893},{x:.03752411791055629,y:.04451576738270255},{x:.03786750587531561,y:.043290523137271594},{x:.039291634880795206,y:.040484152470619886},{x:.040555238800576446,y:.03760193719815913},{x:.041283692791972554,y:.036558628261303676},{x:.041859515947665654,y:.035423918409107566},{x:.04380377647068911,y:.032949305154171604},{x:.045605392901094464,y:.030368987735599786},{x:.046523389329760155,y:.02948784001117424},{x:.047309519115439125,y:.028487270815480248},{x:.049699194314460494,y:.02643951297186818},{x:.05196958814642765,y:.024260253558522238},{x:.05304184892442764,y:.02357512905942291},{x:.054008074813295476,y:.022747151833295932},{x:.056751330810561565,y:.021204943586542027},{x:.059403252082379655,y:.019510489895534},{x:.060588570829346225,y:.019047717572039012},{x:.06169776130235942,y:.01842415101594414},{x:.06468917630833097,y:.01744675856409077},{x:.06762071317273859,y:.01630222750050557},{x:.06887353875396018,y:.016079591433481148},{x:.07008306824328207,y:.01568439886046892},{x:.07320768385688461,y:.015309382847312772},{x:.07630617899620724,y:.014758758098063603},{x:.07757836602719018,y:.014784814066709744},{x:.07884175299285809,y:.014633182505734484},{x:.08197949198836539,y:.014874954586349768},{x:.08512587197205507,y:.014939396351756326},{x:.08636853101864941,y:.015213143039810315},{x:.08763722420808827,y:.015310899606724347},{x:.09066750503556728,y:.016160168615640357},{x:.09374085624536103,y:.01683720043479743},{x:.09490623261729739,y:.017348117910556266},{x:.09613147686272838,y:.017691505875315594},{x:.09893784752938008,y:.01911563488079519},{x:.10182006280184085,y:.020379238800576432},{x:.10286337173869634,y:.02110769279197256},{x:.1039980815908924,y:.02168351594766564},{x:.10647269484582828,y:.023627776470689026},{x:.1090530122644002,y:.025429392901094458},{x:.10993415998882576,y:.026347389329760156},{x:.11093472918451973,y:.02713351911543911},{x:.11298248702813177,y:.02952319431446044},{x:.11516174644147774,y:.03179358814642764},{x:.11584687094057705,y:.032865848924427614},{x:.11667484816670405,y:.03383207481329547},{x:.118217056413458,y:.03657533081056164},{x:.11991151010446596,y:.039227252082379635},{x:.12037428242796094,y:.040412570829346184},{x:.12099784898405583,y:.041521761302359406},{x:.2862381791186236,y:.4176126753554925},{x:.4644074439049092,y:.03214939722735514},{x:.46457066699968924,y:.031871550040082325},{x:.46468087848244366,y:.03156873942729889},{x:.4668033610072479,y:.028070937443703255},{x:.4688757411162635,y:.024543219843286366},{x:.46909003322228215,y:.024302554657928657},{x:.4692572024422568,y:.02402706365982141},{x:.47202128937582516,y:.021010546759784428},{x:.47474207284479647,y:.017954914566682648},{x:.47499919883659564,y:.017760680011347015},{x:.4752169015744166,y:.01752309559247584},{x:.47851637060601154,y:.015103786828781735},{x:.4817809992520572,y:.012637666274559728},{x:.4820710779219699,y:.012497326674279732},{x:.48233094798351184,y:.012306779070622963},{x:.4860390023686124,y:.010577651122297159},{x:.4897220183436901,y:.008795813836836655},{x:.4900339021311097,y:.008714762363747632},{x:.4903259528556443,y:.008578574212853553},{x:.49430009414373083,y:.007606076497244536},{x:.4982599612093785,y:.006576997488159493},{x:.4985816645952609,y:.006558348904918078},{x:.4988946726372282,y:.006481753841050326},{x:.5029821768073245,y:.006303258899985619},{x:.5070667194929276,y:.00606648509648134},{x:.5073858795965667,y:.006110956057683261},{x:.5077078162324508,y:.006096897586191266},{x:.5117516027915979,y:.006719264880154805},{x:.5158038544123874,y:.0072838953667157535},{x:.5161082060899873,y:.007389776878261636},{x:.5164266994754154,y:.007438795258320738},{x:.5202713679739276,y:.008838107561233023},{x:.5241356027726449,y:.01018244390490916},{x:.524413449959918,y:.010345666999689355},{x:.5247162605727012,y:.010455878482443691},{x:.5282140625562944,y:.012578361007246536},{x:.5317417801567137,y:.014650741116263542},{x:.5319824453420714,y:.01486503322228222},{x:.5322579363401786,y:.01503220244225683},{x:.535274453240215,y:.01779628937582467},{x:.5383300854333174,y:.020517072844796484},{x:.5385243199886531,y:.020774198836595797},{x:.5387619044075241,y:.0209919015744166},{x:.5411812131712181,y:.024291370606011366},{x:.5436473337254403,y:.027555999252057217},{x:.5437876733257202,y:.027846077921969747},{x:.5439782209293771,y:.028105947983511865},{x:.5457073488777034,y:.03181400236861376},{x:.5474891861631633,y:.0354970183436901},{x:.5475702376362523,y:.03580890213110964},{x:.5477064257871465,y:.03610095285564429},{x:.548678923502756,y:.040075094143733274},{x:.5497080025118405,y:.04403496120937851},{x:.5497266510950819,y:.04435666459526063},{x:.5498032461589497,y:.04466967263722821},{x:.6466002461589497,y:.7226436726372282},{x:.6469851024138088,y:.7314568162324507},{x:.6456432047416794,y:.7401756994754154},{x:.6426261215175564,y:.7484652605727011},{x:.6380497975577433,y:.7560069363401786},{x:.6320900984255835,y:.7625109044075241},{x:.6249760520164882,y:.7677272209293771},{x:.6169810471443558,y:.7714554257871464},{x:.6084123273627718,y:.7735522461589497},{x:.5995991837675493,y:.7739371024138088},{x:.5908803005245846,y:.7725952047416793},{x:.5825907394272989,y:.7695781215175563},{x:.5750490636598214,y:.7650017975577432},{x:.5685450955924759,y:.7590420984255835},{x:.563328779070623,y:.7519280520164882},{x:.5596005742128536,y:.7439330471443557},{x:.5575037538410503,y:.7353643273627718},{x:.4822251865940539,y:.2081071670095049},{x:.3260455560950909,y:.5459966027726448},{x:.3245096626856286,y:.5486110836728201},{x:.32313748405233433,y:.5513150815908924},{x:.32228015650766817,y:.5524062697730983},{x:.32157725888373645,y:.5536027801567136},{x:.3195608173147473,y:.5558673865996665},{x:.3176874808845609,y:.5582517291845196},{x:.31663374639442166,y:.5591546941850146},{x:.31571092715520355,y:.5601910854333173},{x:.3132914281453504,y:.5620187898634509},{x:.3109889251867045,y:.563991848166704},{x:.30977927817660644,y:.5646718895469083},{x:.3086720007479428,y:.5655083337254402},{x:.3059424242873038,y:.566828898486493},{x:.3032992386976406,y:.5683148489840557},{x:.30198016522380455,y:.5687458331350992},{x:.3007309816563099,y:.5693501861631632},{x:.29779622383750376,y:.570112862691949},{x:.29491393175671793,y:.571054601139531},{x:.29353612307299787,y:.5712199655821879},{x:.29219303879062153,y:.5715690025118404},{x:.28916588071079274,y:.5717444815770724},{x:.2861552470071419,y:.5721058174942654},{x:.2847716515285703,y:.5719992073657418},{x:.2833862805070725,y:.5720795149035186},{x:.28038305415357795,y:.5716610529431293},{x:.27735977579191173,y:.5714281003932755},{x:.27602356431680025,y:.5710536126610233},{x:.27464914558761266,y:.5708621046332842},{x:.27178526326499086,y:.5698657829057354},{x:.26886552313727163,y:.5690474941246844},{x:.26762804552325165,y:.5684195201422382},{x:.26631739722735515,y:.5679635560950907},{x:.26370291632718046,y:.5664276626856288},{x:.2609989184091076,y:.5650554840523343},{x:.25990773022690183,y:.5641981565076682},{x:.2587112198432863,y:.5634952588837364},{x:.25644661340033337,y:.5614788173147471},{x:.2540622708154803,y:.5596054808845607},{x:.2531593058149851,y:.5585517463944213},{x:.2521229145666826,y:.5576289271552034},{x:.2502952101365493,y:.5552094281453507},{x:.24832215183329598,y:.5529069251867045},{x:.2476421104530918,y:.5516972781766065},{x:.24680566627455972,y:.5505900007479427},{x:.245485101513507,y:.5478604242873037},{x:.24399915101594416,y:.5452172386976405},{x:.10495542809967917,y:.22875042455884986},{x:.04468360364824366,y:.734330871972055},{x:.04278579956520255,y:.742945856245361},{x:.03924376119942353,y:.7510250628018409},{x:.034193607098905524,y:.7582580122644001},{x:.02782941185357234,y:.7643667464414777},{x:.020395747917620333,y:.7691165101044659},{x:.012178286827261426,y:.7723247724994944},{x:.003492821003792758,y:.7738682419019364},{x:-.00532687197205508,y:.7736876036482436},{x:-.013941856245361059,y:.7717897995652026},{x:-.022021062801840872,y:.7682477611994235},{x:-.029254012264400202,y:.7631976070989055},{x:-.035362746441477744,y:.7568334118535723},{x:-.04011251010446598,y:.7493997479176203},{x:-.04332077249949441,y:.7411822868272614},{x:-.04486424190193638,y:.7324968210037928}]],X:[[{x:-.03582341524240513,y:.7325834270170574},{x:-.035659804156077404,y:.7237634017461555},{x:-.03377863524060577,y:.7151447697271875},{x:-.030252200762440104,y:.7070587401552579},{x:-.02521601962092907,y:.6998160546121182},{x:.24190189785100796,y:.3863717955888736},{x:-.0190039697420246,y:.08021800391719859},{x:-.024040163260448045,y:.07297532698032597},{x:-.027566611556706647,y:.06488930343468059},{x:-.029447795200430175,y:.056270674630427356},{x:-.029611421359170286,y:.047450649639130975},{x:-.028051201971409197,y:.03876817707487998},{x:-.024827095393237467,y:.030556919489131844},{x:-.02006300223235442,y:.02313243090598055},{x:-.013942003917198569,y:.016780030257975413},{x:-.006699326980325947,y:.011743836739551976},{x:.0013866965653194212,y:.00821738844329338},{x:.010005325369572668,y:.006336204799569846},{x:.018825350360869044,y:.0061725786408297345},{x:.02750782292512003,y:.007732798028590823},{x:.03571908051086817,y:.010956904606762553},{x:.04314356909401947,y:.0157209977676456},{x:.049495969742024595,y:.021841996082801452},{x:.3010259353438819,y:.31699385831754345},{x:.5525549803790709,y:.021842054612118165},{x:.558907370566982,y:.01572104544144637},{x:.5663318510088331,y:.010956939592969957},{x:.5745431030849405,y:.007732818982704524},{x:.5832255729829426,y:.006172584757594898},{x:.5920455982538445,y:.006336195843922615},{x:.6006642302728125,y:.008217364759394247},{x:.6087502598447422,y:.011743799237559922},{x:.6159929453878819,y:.016779980379070948},{x:.6221139545585537,y:.023132370566981995},{x:.6268780604070301,y:.03055685100883309},{x:.6301021810172955,y:.0387681030849405},{x:.6316624152424052,y:.04745057298294264},{x:.6314988041560774,y:.05627059825384449},{x:.6296176352406058,y:.06488923027281246},{x:.6260912007624402,y:.07297525984474214},{x:.6210550196209291,y:.08021794538788188},{x:.36015009139561527,y:.3863716945525663},{x:.6272689697420246,y:.6998159960828014},{x:.632305163260448,y:.7070586730196741},{x:.6358316115567066,y:.7151446965653194},{x:.6377127952004301,y:.7237633253695727},{x:.6378764213591702,y:.7325833503608691},{x:.6363162019714091,y:.74126582292512},{x:.6330920953932374,y:.7494770805108681},{x:.6283280022323544,y:.7569015690940195},{x:.6222070039171985,y:.7632539697420246},{x:.6149643269803259,y:.7682901632604481},{x:.6068783034346805,y:.7718166115567067},{x:.5982596746304273,y:.7736977952004301},{x:.5894396496391309,y:.7738614213591702},{x:.58075717707488,y:.7723012019714092},{x:.5725459194891318,y:.7690770953932374},{x:.5651214309059804,y:.7643130022323544},{x:.5587690302579753,y:.7581920039171985},{x:.30102605390274134,y:.4557496318238965},{x:.04328401962092907,y:.7581919453878818},{x:.03693162943301802,y:.7643129545585536},{x:.029507148991166913,y:.76907706040703},{x:.021295896915059523,y:.7723011810172955},{x:.012613427017057378,y:.7738614152424051},{x:.003793401746155514,y:.7736978041560774},{x:-.004825230272812429,y:.7718166352406057},{x:-.012911259844742107,y:.7682902007624401},{x:-.02015394538788185,y:.7632540196209291},{x:-.02627495455855365,y:.756901629433018},{x:-.031039060407030063,y:.7494771489911669},{x:-.034263181017295495,y:.7412658969150595},{x:-.03582341524240513,y:.7325834270170574}]],Y:[[{x:-.02688005049839745,y:.731186349993587},{x:-.02644216088936969,y:.7223756821949907},{x:-.024293809188388457,y:.7138197369324374},{x:-.020517555346512936,y:.7058473143841377},{x:-.015258518681138845,y:.6987647902776368},{x:.25043465103960333,y:.4059541390643743},{x:.26029423204414154,y:.04978477430584237},{x:.26140149479875585,y:.04103299828270508},{x:.26419486861258723,y:.03266540142918031},{x:.26856700569651215,y:.025003545799746604},{x:.27434988727431814,y:.01834187220942495},{x:.28132128045004745,y:.012936385038381841},{x:.28921327849355916,y:.008994814127168342},{x:.2977225963459245,y:.006668631835443931},{x:.30652222569415766,y:.00604723204414153},{x:.3152740017172949,y:.007154494798755871},{x:.32364159857081976,y:.009947868612587236},{x:.3313034542002534,y:.014320005696512164},{x:.3379651277905751,y:.020102887274318144},{x:.3433706149616182,y:.027074280450047443},{x:.3473121858728317,y:.03496627849355913},{x:.3496383681645561,y:.04347559634592452},{x:.3502597679558585,y:.05227522569415767},{x:.34045421751128274,y:.4064927803087797},{x:.6166036868780955,y:.6970396048261934},{x:.6220250193382449,y:.7039986829780357},{x:.6259845336177533,y:.7118816938899454},{x:.6283300678033804,y:.7203856978734211},{x:.6289714843317633,y:.7291838908244783},{x:.6278841339254269,y:.7379381631220915},{x:.6251098028506934,y:.7463120929913156},{x:.620755107094902,y:.7539838750034306},{x:.6149873951738065,y:.7606586868780956},{x:.6080283170219642,y:.7660800193382449},{x:.6001453061100546,y:.7700395336177532},{x:.5916413021265788,y:.7723850678033803},{x:.5828431091755216,y:.7730264843317632},{x:.5740888368779085,y:.7719391339254268},{x:.5657149070086843,y:.7691648028506933},{x:.5580431249965694,y:.7648101070949019},{x:.5513683131219045,y:.7590423951738065},{x:.29567976193894085,y:.4900232412279098},{x:.051392518681138845,y:.7592432097223631},{x:.04485280102201476,y:.765163657957578},{x:.03728372005126494,y:.7696945108160528},{x:.028976151305805796,y:.7726616501633681},{x:.02024934999358704,y:.7739510504983974},{x:.011438682194990706,y:.7735131608893697},{x:.002882736932437466,y:.7713648091883885},{x:-.0050896856158622154,y:.7675885553465129},{x:-.012172209722363214,y:.7623295186811389},{x:-.01809265795757798,y:.7557898010220148},{x:-.022623510816052815,y:.7482207200512649},{x:-.025590650163368103,y:.7399131513058058},{x:-.02688005049839745,y:.731186349993587}]],Z:[[{x:.008711000000000003,y:.05103000000000002},{x:.00905278632815029,y:.04755978517413498},{x:.009251179439517476,y:.04407842782316871},{x:.009484424544736794,y:.043177288815328604},{x:.009575662381854637,y:.04225093550927423},{x:.01058788670939069,y:.038914079093048184},{x:.01146164687940622,y:.0355383196233794},{x:.011866213744552238,y:.0346999996115786},{x:.012136421036992098,y:.03380924554357098},{x:.013780184150668652,y:.030733981057728944},{x:.015295733266009179,y:.0275935480126292},{x:.015856074613338045,y:.026850263164785913},{x:.01629486744638546,y:.026029339514117927},{x:.01850700045157689,y:.023333847648222647},{x:.020606096809669634,y:.02054942610843994},{x:.02130067903544657,y:.01992974044441782},{x:.021891194846605365,y:.019210194846605383},{x:.024586686712500538,y:.016998061841414044},{x:.027188663217490867,y:.014676655565200585},{x:.02799079391630549,y:.014204383257544266},{x:.028710339514117916,y:.013613867446385479},{x:.03178560399995988,y:.01197010433270896},{x:.03479046815396611,y:.010200923661400137},{x:.035669321892902964,y:.00989421387003954},{x:.036490245543570964,y:.009455421036992116},{x:.03982710195979704,y:.008443196709456058},{x:.04311937851852794,y:.007294230264082269},{x:.04404118144126662,y:.007164869674294513},{x:.04493193550927423,y:.006894662381854655},{x:.048402150335139275,y:.006552876053704368},{x:.05185531895677298,y:.006068277970413476},{x:.052784646693945655,y:.006121237837117864},{x:.053711,y:.0060300000000000215},{x:.548341,y:.0060300000000000215},{x:.5571200644907257,y:.006894662381854655},{x:.565561754456429,y:.009455421036992116},{x:.5733416604858821,y:.013613867446385479},{x:.5801608051533946,y:.019210194846605383},{x:.5857571325536145,y:.026029339514117927},{x:.5899155789630078,y:.03380924554357098},{x:.5924763376181453,y:.04225093550927425},{x:.593341,y:.05103000000000002},{x:.5924763376181453,y:.05980906449072579},{x:.5899155789630078,y:.06825075445642906},{x:.5857571325536145,y:.07603066048588211},{x:.5801608051533946,y:.08284980515339466},{x:.5733416604858821,y:.08844613255361455},{x:.565561754456429,y:.09260457896300792},{x:.5571200644907257,y:.09516533761814538},{x:.548341,y:.09603000000000002},{x:.14224494935878249,y:.09603000000000002},{x:.5846943444347994,y:.7024816632174908},{x:.5851666167424556,y:.7032837939163054},{x:.5857571325536145,y:.7040033395141179},{x:.5874008956672913,y:.7070786039999603},{x:.5891700763385999,y:.7100834681539662},{x:.5894767861299605,y:.7109623218929031},{x:.5899155789630078,y:.711783245543571},{x:.5909278032905438,y:.7151201019597967},{x:.5920767697359177,y:.7184123785185279},{x:.5922061303257055,y:.7193341814412667},{x:.5924763376181453,y:.7202249355092742},{x:.5928181239462956,y:.7236951503351391},{x:.5933027220295866,y:.7271483189567729},{x:.5932497621628822,y:.7280776466939456},{x:.593341,y:.729004},{x:.5929992136718496,y:.7324742148258655},{x:.5928008205604824,y:.7359555721768313},{x:.5925675754552632,y:.7368567111846711},{x:.5924763376181453,y:.7377830644907257},{x:.5914641132906093,y:.7411199209069517},{x:.5905903531205937,y:.7444956803766206},{x:.5901857862554476,y:.7453340003884216},{x:.5899155789630078,y:.746224754456429},{x:.5882718158493319,y:.74930001894227},{x:.5867562667339908,y:.7524404519873709},{x:.5861959253866618,y:.7531837368352144},{x:.5857571325536145,y:.7540046604858821},{x:.5835449995484229,y:.7567001523517777},{x:.5814459031903303,y:.7594845738915601},{x:.5807513209645536,y:.760104259555582},{x:.5801608051533946,y:.7608238051533946},{x:.5774653132874991,y:.7630359381585863},{x:.5748633367825091,y:.7653573444347994},{x:.5740612060836946,y:.7658296167424556},{x:.5733416604858821,y:.7664201325536145},{x:.5702663960000408,y:.7680638956672906},{x:.5672615318460339,y:.7698330763385999},{x:.5663826781070966,y:.7701397861299606},{x:.565561754456429,y:.7705785789630079},{x:.5622248980402041,y:.7715908032905435},{x:.558932621481472,y:.7727397697359177},{x:.5580108185587332,y:.7728691303257055},{x:.5571200644907257,y:.7731393376181454},{x:.553649849664861,y:.7734811239462956},{x:.5501966810432269,y:.7739657220295866},{x:.5492673533060543,y:.7739127621628822},{x:.548341,y:.774004},{x:.053711,y:.774004},{x:.04493193550927421,y:.7731393376181454},{x:.036490245543570936,y:.7705785789630079},{x:.028710339514117906,y:.7664201325536145},{x:.021891194846605358,y:.7608238051533946},{x:.01629486744638546,y:.7540046604858821},{x:.012136421036992098,y:.746224754456429},{x:.009575662381854637,y:.7377830644907257},{x:.008711000000000003,y:.729004},{x:.009575662381854637,y:.7202249355092742},{x:.012136421036992098,y:.711783245543571},{x:.01629486744638546,y:.7040033395141179},{x:.021891194846605365,y:.6971841948466053},{x:.028710339514117916,y:.6915878674463855},{x:.036490245543570964,y:.6874294210369921},{x:.04493193550927423,y:.6848686623818546},{x:.053711,y:.684004},{x:.4598070506412174,y:.684004},{x:.017357655565200567,y:.07755233678250915},{x:.016885383257544267,y:.07675020608369457},{x:.01629486744638546,y:.07603066048588211},{x:.014651104332708876,y:.07295539600004002},{x:.012881923661400112,y:.06995053184603389},{x:.012575213870039523,y:.06907167810709706},{x:.012136421036992098,y:.06825075445642906},{x:.011124196709456038,y:.06491389804020298},{x:.00997523026408225,y:.06162162148147208},{x:.009845869674294495,y:.0606998185587334},{x:.009575662381854637,y:.05980906449072579},{x:.009233876053704348,y:.056338849664860746},{x:.008749277970413458,y:.05288568104322705},{x:.008802237837117845,y:.05195635330605437},{x:.008711000000000003,y:.05103000000000002}]],"[":[[{x:.152511,y:-.06942399999999993},{x:.15337566238185463,y:-.0782030644907257},{x:.1559364210369921,y:-.08664475445642897},{x:.16009486744638546,y:-.09442466048588202},{x:.16569119484660536,y:-.10124380515339457},{x:.1725103395141179,y:-.10684013255361446},{x:.18029024554357093,y:-.11099857896300783},{x:.1887319355092742,y:-.1135593376181453},{x:.197511,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.4486773376181454,y:-.06064493550927416},{x:.44611657896300794,y:-.05220324554357089},{x:.44195813255361455,y:-.04442333951411784},{x:.4363618051533946,y:-.03760419484660529},{x:.42954266048588213,y:-.032007867446385396},{x:.4217627544564291,y:-.027849421036992027},{x:.4133210644907258,y:-.025288662381854565},{x:.404542,y:-.024423999999999932},{x:.24251099999999998,y:-.024423999999999932},{x:.24251099999999998,y:.7147659999999999},{x:.404542,y:.7147659999999999},{x:.4133210644907258,y:.7156306623818546},{x:.4217627544564291,y:.7181914210369921},{x:.42954266048588213,y:.7223498674463854},{x:.4363618051533946,y:.7279461948466053},{x:.44195813255361455,y:.7347653395141178},{x:.44611657896300794,y:.7425452455435709},{x:.4486773376181454,y:.7509869355092742},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.197511,y:.804766},{x:.1887319355092742,y:.8039013376181453},{x:.18029024554357093,y:.8013405789630078},{x:.1725103395141179,y:.7971821325536145},{x:.16569119484660536,y:.7915858051533946},{x:.16009486744638546,y:.7847666604858821},{x:.1559364210369921,y:.776986754456429},{x:.15337566238185463,y:.7685450644907257},{x:.152511,y:.7597659999999999},{x:.152511,y:-.06942399999999993}]],"\\\\":[[{x:.017522651058219416,y:.7303997530123288},{x:.018114599516431164,y:.7215980934307649},{x:.020412292453046287,y:.7130810386853763},{x:.024327430817071727,y:.7051758944136092},{x:.5013774308170718,y:-.059077105586390885},{x:.5067595580368128,y:-.06606654912342862},{x:.5134018419815468,y:-.0718716915303336},{x:.521049023404313,y:-.07626944443996993},{x:.5294072254116235,y:-.07909080467430848},{x:.5381552469876711,y:-.08022734894178067},{x:.5469569065692351,y:-.07963540048356893},{x:.5554739613146237,y:-.0773377075469538},{x:.5633791055863908,y:-.07342256918292836},{x:.5703685491234285,y:-.06804044196318723},{x:.5761736915303335,y:-.06139815801845332},{x:.5805714444399699,y:-.05375097659568702},{x:.5833928046743084,y:-.04539277458837649},{x:.5845293489417805,y:-.03664475301232898},{x:.5839374004835688,y:-.02784309343076498},{x:.5816397075469537,y:-.01932603868537643},{x:.5777245691829282,y:-.011420894413609283},{x:.10067456918292828,y:.7528321055863908},{x:.09529244196318712,y:.7598215491234285},{x:.0886501580184532,y:.7656266915303336},{x:.08100297659568693,y:.7700244444399699},{x:.07264477458837638,y:.7728458046743084},{x:.06389675301232887,y:.7739823489417805},{x:.055095093430764894,y:.7733904004835688},{x:.04657803868537634,y:.7710927075469537},{x:.03867289441360919,y:.7671775691829282},{x:.03168345087657147,y:.7617954419631872},{x:.025878308469666468,y:.7551531580184532},{x:.021480555560030153,y:.747505976595687},{x:.01865919532569161,y:.7391477745883763},{x:.017522651058219416,y:.7303997530123288}]],"]":[[{x:.15250999999999998,y:-.06942399999999993},{x:.15337466238185463,y:-.0782030644907257},{x:.1559354210369921,y:-.08664475445642897},{x:.16009386744638546,y:-.09442466048588202},{x:.16569019484660535,y:-.10124380515339457},{x:.1725093395141179,y:-.10684013255361446},{x:.18028924554357095,y:-.11099857896300783},{x:.18873093550927422,y:-.1135593376181453},{x:.19751,y:-.11442399999999993},{x:.404542,y:-.11442399999999993},{x:.4133210644907258,y:-.1135593376181453},{x:.4217627544564291,y:-.11099857896300783},{x:.42954266048588213,y:-.10684013255361446},{x:.4363618051533946,y:-.10124380515339457},{x:.44195813255361455,y:-.09442466048588202},{x:.44611657896300794,y:-.08664475445642897},{x:.4486773376181454,y:-.0782030644907257},{x:.449542,y:-.06942399999999993},{x:.449542,y:.7597659999999999},{x:.4486773376181454,y:.7685450644907257},{x:.44611657896300794,y:.776986754456429},{x:.44195813255361455,y:.7847666604858821},{x:.4363618051533946,y:.7915858051533946},{x:.42954266048588213,y:.7971821325536145},{x:.4217627544564291,y:.8013405789630078},{x:.4133210644907258,y:.8039013376181453},{x:.404542,y:.804766},{x:.19751,y:.804766},{x:.18873093550927422,y:.8039013376181453},{x:.18028924554357095,y:.8013405789630078},{x:.1725093395141179,y:.7971821325536145},{x:.16569019484660535,y:.7915858051533946},{x:.16009386744638546,y:.7847666604858821},{x:.1559354210369921,y:.776986754456429},{x:.15337466238185463,y:.7685450644907257},{x:.15250999999999998,y:.7597659999999999},{x:.15337466238185463,y:.7509869355092742},{x:.1559354210369921,y:.7425452455435709},{x:.16009386744638546,y:.7347653395141178},{x:.16569019484660535,y:.7279461948466053},{x:.1725093395141179,y:.7223498674463854},{x:.18028924554357095,y:.7181914210369921},{x:.18873093550927422,y:.7156306623818546},{x:.19751,y:.7147659999999999},{x:.35954200000000003,y:.7147659999999999},{x:.35954200000000003,y:-.024423999999999932},{x:.19751,y:-.024423999999999932},{x:.18873093550927422,y:-.025288662381854565},{x:.18028924554357095,y:-.027849421036992027},{x:.1725093395141179,y:-.03200786744638539},{x:.16569019484660535,y:-.03760419484660529},{x:.16009386744638546,y:-.04442333951411784},{x:.1559354210369921,y:-.052203245543570885},{x:.15337466238185463,y:-.06064493550927414},{x:.15250999999999998,y:-.06942399999999993}]],"^":[[{x:-.009830024293871129,y:.4771904357900641},{x:-.009184411720694952,y:.46839254975009553},{x:-.006834821991481832,y:.4598896653882279},{x:-.002871548521860348,y:.4520085437820153},{x:.002553102311361327,y:.44505205201500053},{x:.009230664218841726,y:.43928752416454453},{x:.016904522241296224,y:.4349364878031557},{x:.02527977431847106,y:.43216615081811305},{x:.034034564209935884,y:.43108297570612886},{x:.04283245024990444,y:.431728588279305},{x:.05133533461177206,y:.4340781780085181},{x:.05921645621798466,y:.4380414514781396},{x:.06617294798499941,y:.4434661023113613},{x:.30102423332324457,y:.6668931783680099},{x:.5358792969655858,y:.44346586927801307},{x:.5428358294884947,y:.4380412707099504},{x:.5507169808710617,y:.43407805645230807},{x:.5592198828854552,y:.4317285306064111},{x:.5680177737757447,y:.431082984132888},{x:.5767725555289304,y:.4321662250206897},{x:.5851477867919753,y:.43493662492998636},{x:.5928216121243246,y:.439287718945922},{x:.5994991307219868,y:.44505229696558585},{x:.6049237292900496,y:.45200882948849475},{x:.6088869435476919,y:.4598899808710617},{x:.6112364693935889,y:.4683928828854553},{x:.6118820158671119,y:.47719077377574476},{x:.6107987749793102,y:.4859455555289303},{x:.6080283750700135,y:.4943207867919753},{x:.6036772810540779,y:.5019946121243246},{x:.5979127030344141,y:.5086721307219868},{x:.33204070303441413,y:.7616071307219868},{x:.3294429315385385,y:.7636328335402047},{x:.3269493357811583,y:.7657854758354554},{x:.3259710287822201,y:.7663401706594313},{x:.32508417051150523,y:.7670317292900496},{x:.3221411194513825,y:.7685117087189752},{x:.3192754777587038,y:.7701365121968442},{x:.31820775306259985,y:.7704896904878621},{x:.3172030191289383,y:.7709949435476919},{x:.31402778830632944,y:.7718723248078522},{x:.310900225681529,y:.7729068491818869},{x:.30978411534954325,y:.7730449384962876},{x:.3087001171145447,y:.7733444693935889},{x:.30541472886927135,y:.7735855352151975},{x:.30214543579006414,y:.7739900242938711},{x:.3010238313163334,y:.7739077179367437},{x:.2999022262242552,y:.773990015867112},{x:.29663293618411596,y:.7735855022258356},{x:.2933475497500956,y:.7733444117206949},{x:.29226355376554153,y:.7730448726791859},{x:.29114744447106966,y:.7729067749793103},{x:.2880198896188706,y:.7718722271075298},{x:.28484466538822795,y:.7709948219914818},{x:.28383993525062523,y:.7704895613829726},{x:.2827722132080247,y:.7701363750700135},{x:.27990658372278143,y:.7685115500622604},{x:.2769635437820154,y:.7670315485218604},{x:.2760766907070934,y:.7663399832281829},{x:.2750983878756754,y:.765785281054078},{x:.27260480829144085,y:.7636326200241867},{x:.2700070520150006,y:.7616068976886387},{x:.004139052015000585,y:.5086718976886386},{x:-.001625475835455463,y:.5019943357811583},{x:-.0059765121968442594,y:.49432047775870375},{x:-.00874684918188691,y:.4859452256815289},{x:-.009830024293871129,y:.4771904357900641}]],_:[[{x:-.045,y:-.160601},{x:-.044135337618145365,y:-.16938006449072576},{x:-.041574578963007904,y:-.17782175445642903},{x:-.03741613255361454,y:-.1856016604858821},{x:-.03181980515339464,y:-.19242080515339463},{x:-.025000660485882086,y:-.19801713255361453},{x:-.017220754456429038,y:-.2021755789630079},{x:-.008779064490725769,y:-.20473633761814536},{x:0,y:-.20560099999999998},{x:.602052,y:-.20560099999999998},{x:.6108310644907258,y:-.20473633761814536},{x:.619272754456429,y:-.2021755789630079},{x:.6270526604858822,y:-.19801713255361453},{x:.6338718051533947,y:-.19242080515339463},{x:.6394681325536146,y:-.1856016604858821},{x:.6436265789630079,y:-.17782175445642903},{x:.6461873376181454,y:-.16938006449072576},{x:.6470520000000001,y:-.160601},{x:.6461873376181454,y:-.15182193550927423},{x:.6436265789630079,y:-.14338024554357096},{x:.6394681325536146,y:-.1356003395141179},{x:.6338718051533947,y:-.12878119484660536},{x:.6270526604858822,y:-.12318486744638546},{x:.619272754456429,y:-.1190264210369921},{x:.6108310644907258,y:-.11646566238185463},{x:.602052,y:-.115601},{x:0,y:-.115601},{x:-.00877906449072579,y:-.11646566238185463},{x:-.017220754456429066,y:-.1190264210369921},{x:-.025000660485882096,y:-.12318486744638546},{x:-.03181980515339464,y:-.12878119484660536},{x:-.03741613255361454,y:-.1356003395141179},{x:-.041574578963007904,y:-.14338024554357096},{x:-.044135337618145365,y:-.15182193550927423},{x:-.045,y:-.160601}]],a:[[{x:.029951000000000005,y:.25490100000000004},{x:.030216131121475042,y:.2522090785486062},{x:.03027571711850824,y:.2495047884160563},{x:.03064747136410999,y:.24782960757010103},{x:.03081566238185464,y:.24612193550927428},{x:.0316008669059687,y:.24353346308961055},{x:.0321868888075612,y:.2408927597850148},{x:.06949088880756119,y:.12701175978501478},{x:.07014919013856018,y:.12551652306247207},{x:.07061771774296957,y:.1239514111231075},{x:.07192248021942128,y:.12148874987750752},{x:.07304546130734973,y:.1189380599695235},{x:.0739828197765546,y:.11759998201998349},{x:.07474768294666384,y:.11615634846888903},{x:.07650781615341086,y:.11399555310027064},{x:.07810683439013419,y:.11171295672570881},{x:.07928722783725009,y:.11058345913436952},{x:.08031903331037206,y:.10931678199931477},{x:.15605303331037207,y:.033026781999314685},{x:.1581401110567553,y:.03130114899494214},{x:.16009013354595797,y:.02942202284781055},{x:.16153164054777758,y:.028496972085311937},{x:.16285166496406625,y:.027405552418137233},{x:.16523529439528092,y:.026120245637685162},{x:.16751444707429886,y:.024657656887915},{x:.24324744707429888,y:-.014037343112084925},{x:.24491821916217926,y:-.014693433733650136},{x:.24650124554357095,y:-.015539578963007873},{x:.24901423193062222,y:-.016301885049470277},{x:.2514585861893129,y:-.017261751399011975},{x:.25322525179064753,y:-.017579283958613606},{x:.2549429355092742,y:-.018100337618145335},{x:.2575563541074305,y:-.01835773688343746},{x:.2601410014196699,y:-.018822289810772906},{x:.26193566856615697,y:-.018789061710219754},{x:.263722,y:-.018964999999999968},{x:.376759,y:-.018964999999999968},{x:.3786816094876915,y:-.018775639493449434},{x:.3806133727303473,y:-.01879962736385296},{x:.3830607170270406,y:-.018344335046447002},{x:.3855380644907258,y:-.018100337618145335},{x:.3873867891740171,y:-.01753953311656589},{x:.3892861139289994,y:-.017186191753697247},{x:.3915976100664607,y:-.016262194563578608},{x:.3939797544564291,y:-.015539578963007873},{x:.3956835488825182,y:-.014628881868892333},{x:.3974774451646465,y:-.013911789983170525},{x:.4720844451646465,y:.0247832100168294},{x:.4742399118062311,y:.026185049737888398},{x:.4765030886255536,y:.02740538646642049},{x:.47792879308654873,y:.028584168427667152},{x:.47947957817165415,y:.02959274452399146},{x:.48132014276352414,y:.0313881589690925},{x:.48210100000000006,y:.032033776942416534},{x:.48210100000000006,y:.02603500000000003},{x:.4829656623818547,y:.01725593550927424},{x:.4855264210369921,y:.008814245543570985},{x:.4896848674463855,y:.0010343395141179344},{x:.4952811948466054,y:-.0057848051533946065},{x:.5021003395141179,y:-.01138113255361451},{x:.509880245543571,y:-.015539578963007873},{x:.5183219355092743,y:-.018100337618145335},{x:.527101,y:-.018964999999999968},{x:.5358800644907258,y:-.018100337618145335},{x:.544321754456429,y:-.015539578963007873},{x:.5521016604858822,y:-.011381132553614504},{x:.5589208051533947,y:-.0057848051533946065},{x:.5645171325536146,y:.0010343395141179344},{x:.5686755789630079,y:.008814245543570992},{x:.5712363376181454,y:.01725593550927426},{x:.5721010000000001,y:.02603500000000003},{x:.5721010000000001,y:.560059},{x:.5712363376181454,y:.5688380644907257},{x:.5686755789630079,y:.577279754456429},{x:.5645171325536146,y:.5850596604858821},{x:.5589208051533947,y:.5918788051533946},{x:.5521016604858822,y:.5974751325536145},{x:.544321754456429,y:.6016335789630078},{x:.5358800644907258,y:.6041943376181453},{x:.527101,y:.605059},{x:.5183219355092743,y:.6041943376181453},{x:.509880245543571,y:.6016335789630078},{x:.5021003395141179,y:.5974751325536145},{x:.4952811948466054,y:.5918788051533946},{x:.4896848674463855,y:.5850596604858821},{x:.4855264210369921,y:.577279754456429},{x:.4829656623818547,y:.5688380644907257},{x:.48210100000000006,y:.560059},{x:.48210100000000006,y:.5551612473179106},{x:.48111784979070266,y:.5559741116228759},{x:.47906658786156825,y:.5579287481398052},{x:.4777260461549398,y:.558778440075324},{x:.476502844006682,y:.5597897782764175},{x:.474008872962507,y:.5611345413953497},{x:.47161569478864906,y:.5626514387693977},{x:.3970086947886491,y:.6002454387693977},{x:.39545173243232984,y:.6008467903430146},{x:.3939797544564291,y:.6016335789630078},{x:.39134652561635536,y:.6024323601988234},{x:.3887796173011618,y:.6034237870938969},{x:.38713525366780027,y:.6037098355781862},{x:.3855380644907258,y:.6041943376181453},{x:.3827995979159321,y:.6044640530341434},{x:.3800885942320307,y:.6049356509696303},{x:.37842002129388747,y:.6048954036817589},{x:.376759,y:.605059},{x:.263722,y:.605059},{x:.26219504701733515,y:.604908608257877},{x:.26066140118579323,y:.6049547986330399},{x:.25781511370268967,y:.6044772224791067},{x:.2549429355092742,y:.6041943376181453},{x:.2534746624734083,y:.6037489418620853},{x:.2519614739213154,y:.6034950452430072},{x:.24926304753974865,y:.6024713624393285},{x:.24650124554357095,y:.6016335789630078},{x:.24514807736385555,y:.6009102955021357},{x:.24371349707866236,y:.6003660689935006},{x:.16798049707866233,y:.5627720689935006},{x:.1654642487594581,y:.5611982224645521},{x:.16285190958182658,y:.5597896123262998},{x:.16173267757498783,y:.5588642237445607},{x:.16050143578237863,y:.5580941146870384},{x:.15834057869520102,y:.5560596134829665},{x:.15605324108782545,y:.5541684273021619},{x:.08031924108782545,y:.47787942730216193},{x:.07924694249287094,y:.47656305714472025},{x:.07802357952480113,y:.4753857561141845},{x:.07646760484406812,y:.47315109973327435},{x:.07474784589903924,y:.4710398973462887},{x:.07395296229881854,y:.46953962579412084},{x:.07298278594430238,y:.4681462799973844},{x:.07189266871370663,y:.46565100631071576},{x:.07061782960809859,y:.46324486175923196},{x:.0701309079335922,y:.4616183434067253},{x:.06945120152585271,y:.46006249834135976},{x:.032147201525852716,y:.3450764983413597},{x:.031582343425880205,y:.34249647318004567},{x:.03081566238185464,y:.3399690644907258},{x:.030641204072877935,y:.33819775955415116},{x:.03026054307811779,y:.33645906634171463},{x:.03020987650767869,y:.3338184172918108},{x:.029951000000000005,y:.33119},{x:.029951000000000005,y:.25490100000000004}],[{x:.119951,y:.2620835578942187},{x:.119951,y:.3240730820964405},{x:.15174843963453788,y:.42208563822492473},{x:.21467365091165175,y:.4854719831046318},{x:.2742766075147511,y:.5150589999999999},{x:.3660620360389177,y:.5150589999999999},{x:.4245839309326211,y:.4855701837142105},{x:.48210100000000006,y:.4276323784447675},{x:.48210100000000006,y:.15956344905445352},{x:.4243936225653894,y:.10143318135145685},{x:.36578354074375496,y:.07103500000000003},{x:.2745522516182332,y:.07103500000000003},{x:.21486246778999646,y:.10153288315838035},{x:.15170083487400915,y:.1651582162341545},{x:.119951,y:.2620835578942187}]],b:[[{x:.03166000000000001,y:.04001500000000002},{x:.03252466238185464,y:.031235935509274233},{x:.0350854210369921,y:.022794245543570978},{x:.039243867446385465,y:.015014339514117927},{x:.04484019484660537,y:.008195194846605386},{x:.05165933951411792,y:.002598867446385482},{x:.05943924554357097,y:-.0015595789630078807},{x:.06788093550927424,y:-.004120337618145342},{x:.07666,y:-.0049849999999999756},{x:.08543906449072577,y:-.004120337618145342},{x:.09388075445642904,y:-.0015595789630078807},{x:.10166066048588211,y:.002598867446385489},{x:.10847980515339464,y:.008195194846605386},{x:.11407613255361454,y:.015014339514117927},{x:.1182345789630079,y:.022794245543570985},{x:.12079533761814537,y:.031235935509274254},{x:.12166,y:.04001500000000002},{x:.12166,y:.041388769861289504},{x:.12338630711141785,y:.04010106584896898},{x:.12512540667363178,y:.03853443023544684},{x:.12691331624345048,y:.03747016444054036},{x:.12858112311649333,y:.036226097502515},{x:.13069431360107225,y:.035219499067818724},{x:.13270563229917137,y:.034022247411931134},{x:.20674863229917137,y:-.0007227525880688923},{x:.20772794171481185,y:-.0010698043626217635},{x:.20864424554357097,y:-.0015595789630078669},{x:.21187816153300185,y:-.0025405766534664824},{x:.21506348921487128,y:-.003669406425619949},{x:.21609168791714548,y:-.0038187359083884913},{x:.21708593550927424,y:-.004120337618145342},{x:.22044909586509742,y:-.004451580001305548},{x:.22379344213248661,y:-.004937293022731791},{x:.22483101702188665,y:-.00488316156543817},{x:.225865,y:-.0049849999999999756},{x:.338045,y:-.0049849999999999756},{x:.33894984805462636,y:-.004895880245274822},{x:.33985755144997865,y:-.004948481373678995},{x:.343332465401001,y:-.004464230112452937},{x:.3468240644907258,y:-.004120337618145342},{x:.3476941397420575,y:-.003856403176165039},{x:.34859466384226984,y:-.0037309094409420443},{x:.351908335561611,y:-.0025780408502315546},{x:.35526575445642905,y:-.0015595789630078807},{x:.35606762040050133,y:-.0011309726863615623},{x:.35692635856942223,y:-.0008322067413783357},{x:.43209235856942224,y:.03391279325862169},{x:.4342218624454842,y:.03516383683568551},{x:.43645162164562873,y:.03622594356254809},{x:.4380158580934015,y:.037392738102356306},{x:.4396984532755396,y:.03838123120587913},{x:.4415429728374372,y:.04002368192832182},{x:.4435226810964235,y:.04150038501262054},{x:.5186856810964235,y:.11000138501262047},{x:.5200684051728882,y:.11153543836568303},{x:.5216038163727121,y:.1129166544997947},{x:.5230144082918019,y:.11480386048953693},{x:.5245918796416693,y:.11655397481445093},{x:.5256487561000858,y:.11832830784782436},{x:.5268852029038621,y:.11998252816661786},{x:.5279005150705119,y:.12210866485417524},{x:.5291062453835067,y:.12413290061668979},{x:.5297966590542814,y:.12607932670695898},{x:.530686625504748,y:.12794298045128052},{x:.567704625504748,y:.2301969804512806},{x:.5685418230641662,y:.23348712941632632},{x:.5695273376181453,y:.23673593550927427},{x:.5696276430094915,y:.2377543532384077},{x:.5698799976366801,y:.23874609563675617},{x:.5700592324586751,y:.24213635445346285},{x:.570392,y:.24551500000000004},{x:.570392,y:.314017},{x:.570065993218988,y:.3173270023951309},{x:.5699006262411136,y:.32064890697528625},{x:.569634437926433,y:.3217086568121163},{x:.5695273376181453,y:.3227960644907258},{x:.5685618455328773,y:.32597886535008125},{x:.5677515846008636,y:.32920467896823863},{x:.5307335846008636,y:.4324506789682387},{x:.5298196963817511,y:.43437967657309706},{x:.5291061063615623,y:.4363913954201699},{x:.5279358002551,y:.43835612690926706},{x:.5269566878799311,y:.4404227969757902},{x:.5256840310027916,y:.4421364386856148},{x:.5245916855370664,y:.44397028841230757},{x:.523060566435399,y:.4456689527415915},{x:.5216970801011935,y:.44750489697372575},{x:.5201145620561008,y:.4489373284986299},{x:.5186854393684929,y:.45052283528838016},{x:.44352243936849295,y:.5190228352883801},{x:.44134657552661755,y:.5206458300432604},{x:.43929971954126384,y:.5224287703137037},{x:.4378191137317927,y:.523276992839783},{x:.43645134158383936,y:.5242972253466508},{x:.43400065578620683,y:.5254645447348341},{x:.43164529517316985,y:.52681390451462},{x:.35647929517316984,y:.56056790451462},{x:.3558506134628383,y:.560778965311121},{x:.35526575445642905,y:.5610915789630079},{x:.351674330744245,y:.5621810254355277},{x:.34811645117964274,y:.5633754754766519},{x:.34745867349333664,y:.563459831081816},{x:.3468240644907258,y:.5636523376181454},{x:.3430891085149791,y:.5640201986736739},{x:.3393665669654169,y:.5644975898222324},{x:.3387049713307353,y:.5644519984974604},{x:.338045,y:.564517},{x:.225865,y:.564517},{x:.22507819619617456,y:.5644395065891945},{x:.22428916125732748,y:.5644893996719887},{x:.22069487882474298,y:.5640077875099223},{x:.21708593550927424,y:.5636523376181454},{x:.21632936813438544,y:.5634228354140474},{x:.21554576062305134,y:.5633178367349442},{x:.2121144991913443,y:.5621442688983362},{x:.20864424554357097,y:.5610915789630079},{x:.20794698905754733,y:.5607188876066144},{x:.20719892257093525,y:.5604630322059678},{x:.13315592257093525,y:.5267090322059678},{x:.13091775246116674,y:.5254099486077729},{x:.12858140317750869,y:.5242970714087468},{x:.1271119341080524,y:.5232009671819817},{x:.12552641140636125,y:.5222806946221156},{x:.12358468574515913,y:.5205699272235509},{x:.12166,y:.5191342684374534},{x:.12166,y:.7597659999999999},{x:.12079533761814537,y:.7685450644907257},{x:.1182345789630079,y:.776986754456429},{x:.11407613255361454,y:.7847666604858821},{x:.10847980515339464,y:.7915858051533946},{x:.10166066048588208,y:.7971821325536145},{x:.09388075445642904,y:.8013405789630078},{x:.08543906449072577,y:.8039013376181453},{x:.07666,y:.804766},{x:.06788093550927421,y:.8039013376181453},{x:.05943924554357094,y:.8013405789630078},{x:.05165933951411792,y:.7971821325536145},{x:.04484019484660537,y:.7915858051533946},{x:.039243867446385465,y:.7847666604858821},{x:.0350854210369921,y:.776986754456429},{x:.03252466238185464,y:.7685450644907257},{x:.03166000000000001,y:.7597659999999999},{x:.03166000000000001,y:.04001500000000002}],[{x:.12166,y:.16313400296117606},{x:.12166,y:.39738980161800674},{x:.17691400696537596,y:.447746357818324},{x:.23563826658076475,y:.474517},{x:.3284048540018634,y:.474517},{x:.3882155063572531,y:.44765846343288423},{x:.44979135555302596,y:.39154114946310603},{x:.480392,y:.30619363915535625},{x:.480392,y:.2534097446111891},{x:.44984564070758065,y:.16903221413717517},{x:.38802932067077023,y:.11269492399652684},{x:.3281476350434013,y:.08501500000000002},{x:.2358983461114888,y:.08501500000000002},{x:.1771018588393058,y:.11260550754658781},{x:.12166,y:.16313400296117606}]],c:[[{x:.0446,y:.25490100000000004},{x:.044822712444716174,y:.2526397626013558},{x:.04482893549381362,y:.2503675925637664},{x:.045254001037800355,y:.24826081602954003},{x:.045464662381854634,y:.24612193550927428},{x:.04612424100165128,y:.2439475961957434},{x:.04657362286091401,y:.24172029932495478},{x:.08145962286091402,y:.1278402993249547},{x:.08196610920465827,y:.1266269431042867},{x:.08230081253195312,y:.125355433994083},{x:.08366176737769918,y:.12256476567779218},{x:.08485778977199918,y:.11969953302126297},{x:.0855912581784792,y:.11860830168404396},{x:.08616758939694805,y:.11742652164475936},{x:.08804682625741464,y:.11495498435675963},{x:.08977884657839008,y:.1123781387363477},{x:.09071111026807865,y:.11145096769089737},{x:.09150692129220603,y:.11040433186669174},{x:.16233292129220603,y:.03411333186669174},{x:.16445877247754231,y:.03223237849112975},{x:.1664474797904295,y:.03020697184383589},{x:.16775479669311927,y:.029316055882572942},{x:.16893962068732413,y:.02826772347496185},{x:.17139158003796548,y:.02683764508339147},{x:.17373721213250964,y:.02523913360696181},{x:.24456521213250962,y:-.013455866393038113},{x:.2467886390083486,y:-.014400746043602006},{x:.24891924554357092,y:-.015539578963007873},{x:.25083834630720225,y:-.016121731815163746},{x:.25268405147305695,y:-.01690609278116076},{x:.2550490927002279,y:-.01739904776899966},{x:.2573609355092742,y:-.018100337618145335},{x:.259356733677244,y:-.018296906580526337},{x:.26131999536931183,y:-.018706117055345653},{x:.26373576373978486,y:-.0187282033967292},{x:.26614,y:-.018964999999999968},{x:.371854,y:-.018964999999999968},{x:.3744001776009888,y:-.018714223394882004},{x:.3769583677219744,y:-.018674567546095353},{x:.3787793796063011,y:-.01828290964379429},{x:.3806330644907258,y:-.018100337618145335},{x:.3830813939144215,y:-.01735764500708899},{x:.3855826926572475,y:-.01681967299983559},{x:.38729230564255435,y:-.01608027889939661},{x:.3890747544564291,y:-.015539578963007873},{x:.391331147776118,y:-.014333511606549179},{x:.393679431632842,y:-.013317897403369645},{x:.463449431632842,y:.02537710259663028},{x:.46566730315778443,y:.026909287408228903},{x:.46799586592077425,y:.028267352155161442},{x:.4692879686356918,y:.029410572352257962},{x:.47070743151062955,y:.03039118797094862},{x:.4725837728278355,y:.03232661755101331},{x:.4746026476214732,y:.03411286752390576},{x:.5454306476214732,y:.11040386752390575},{x:.5507700783887176,y:.11742598212342069},{x:.5546369668925095,y:.12535484002769406},{x:.5568827107762242,y:.13388573967401945},{x:.5574210073618384,y:.14269084337317217},{x:.5562311702134469,y:.15143177592795284},{x:.5533589241053942,y:.15977262820225266},{x:.5489146478448386,y:.16739286592077418},{x:.5430691324760942,y:.17399964762147313},{x:.5360470178765793,y:.17933907838871752},{x:.5281181599723059,y:.18320596689250943},{x:.5195872603259806,y:.1854517107762242},{x:.5107821566268278,y:.1859900073618383},{x:.5020412240720471,y:.18480017021344686},{x:.4937003717977473,y:.18192792410539416},{x:.4860801340792258,y:.17748364784483847},{x:.47947335237852684,y:.17163813247609414},{x:.41352572033101553,y:.10060392571412592},{x:.36021071976053953,y:.07103500000000003},{x:.27763077403847125,y:.07103500000000003},{x:.2233107097601157,y:.10071132697875086},{x:.16448866962379677,y:.16407213041308155},{x:.1346,y:.2616391113440561},{x:.1346,y:.3245158400933278},{x:.1645319520417492,y:.4231721923699009},{x:.2231207776861973,y:.4862793045993598},{x:.27734241586879393,y:.5150589999999999},{x:.3605019191882548,y:.5150589999999999},{x:.41371701660545657,y:.4863852380349392},{x:.47947395272027693,y:.4155592208902026},{x:.48608084903755494,y:.4097138350672089},{x:.4937011738972078,y:.40526970822380387},{x:.5020420824884065,y:.4023976256622846},{x:.5107830383716269,y:.4012079599048077},{x:.5195881315142611,y:.40174642913926084},{x:.5281189871247909,y:.40399234029494097},{x:.5360477692062626,y:.4078593842656568},{x:.5430697791097975,y:.41319895272027696},{x:.5489151649327911,y:.41980584903755497},{x:.5533592917761961,y:.42742617389720783},{x:.5562313743377155,y:.4357670824884066},{x:.5574210400951923,y:.4445080383716269},{x:.5568825708607392,y:.4533131315142611},{x:.5546366597050592,y:.4618439871247909},{x:.5507696157343432,y:.46977276920626265},{x:.5454300472797231,y:.4767947791097975},{x:.4746020472797231,y:.5530827791097974},{x:.47237947035514305,y:.5550491819442839},{x:.4702881116089302,y:.5571546051529963},{x:.469083054274185,y:.5579656532949738},{x:.4679951509624451,y:.5589281649327911},{x:.46543165406806053,y:.5604231806402761},{x:.46296973250196366,y:.5620801448811513},{x:.39319973250196366,y:.5996741448811513},{x:.39109075852725916,y:.6005560023370271},{x:.3890747544564291,y:.6016335789630078},{x:.38703122642603144,y:.6022534764138876},{x:.38506104886577136,y:.6030772968079529},{x:.3828205563795885,y:.6035307692082409},{x:.3806330644907258,y:.6041943376181453},{x:.3785078662851109,y:.6044036513718285},{x:.37641482574826585,y:.6048272797133635},{x:.3741289156203665,y:.604834940368031},{x:.371854,y:.605059},{x:.26614,y:.605059},{x:.26400488750824663,y:.6048487097743618},{x:.26185945318827825,y:.6048549475733314},{x:.2596259398913868,y:.6044174210783497},{x:.2573609355092742,y:.6041943376181453},{x:.2553078741931944,y:.60357154827667},{x:.25320244685788745,y:.6031591127457343},{x:.2510972070775077,y:.6022942563713519},{x:.24891924554357092,y:.6016335789630078},{x:.24702713339817148,y:.6006222239508241},{x:.24504262343928468,y:.5998069647561404},{x:.1742146234392847,y:.5622129647561404},{x:.17162525666515238,y:.5604936738034747},{x:.16894033563687538,y:.5589277936219744},{x:.16795812189104978,y:.5580587651214349},{x:.16686556037036515,y:.5573333247718834},{x:.16466136457832586,y:.5551419091149951},{x:.16233352162359432,y:.5530823147741101},{x:.09150752162359431,y:.47679431477411016},{x:.09067474586023959,y:.4756991081857825},{x:.08970182133886938,y:.4747262717047309},{x:.08801053269383365,y:.4721953272870651},{x:.08616805203977476,y:.4697722296898647},{x:.08556494203519081,y:.46853560069719197},{x:.08480050296804506,y:.467391648838166},{x:.08363547472152838,y:.4645793817614187},{x:.08230111970711389,y:.461843393160995},{x:.08195085264054901,y:.4605128647226562},{x:.08142427599227564,y:.4592417589140625},{x:.046538275992275634,y:.3442567589140625},{x:.04610669192420131,y:.34208755224892967},{x:.045464662381854634,y:.33997106449072584},{x:.04524807462900009,y:.3377720121321243},{x:.04481688692083,y:.3356047976316928},{x:.044816786846426454,y:.33339307378956023},{x:.0446,y:.33119200000000004},{x:.0446,y:.25490100000000004}]],d:[[{x:.03166100000000001,y:.24551500000000004},{x:.03199378652782141,y:.24213616168032864},{x:.032173060891358886,y:.2387457109778176},{x:.032425376075824915,y:.237754159461938},{x:.03252566238185464,y:.23673593550927427},{x:.03351123316568353,y:.23348694405135337},{x:.034348506941927405,y:.23019661460170962},{x:.0713675069419274,y:.12794261460170955},{x:.07225746993456125,y:.1260790095358921},{x:.0729478813145148,y:.12413263082247869},{x:.07415364826248581,y:.12210836405190925},{x:.07516899837159816,y:.11998219518580837},{x:.07640543228727825,y:.1183280219355851},{x:.07746229725612473,y:.11655373492181778},{x:.07903981058640837,y:.11480359733178996},{x:.08045044599662987,y:.11291636718401242},{x:.08198583537337678,y:.11153519469971836},{x:.08336853920306012,y:.1100011842405046},{x:.15853253920306012,y:.04150018424050468},{x:.16051177365736521,y:.04002385498013544},{x:.16235580937568672,y:.038381768082408986},{x:.16403890527939927,y:.03739293492543645},{x:.16560363358955885,y:.03622578962650935},{x:.16783285515961555,y:.03516395710594637},{x:.16996181351033893,y:.03391317596960988},{x:.24512381351033893,y:-.0008318240303901436},{x:.24598297689097734,y:-.0011307574341723537},{x:.24678524554357095,y:-.0015595789630078807},{x:.25014222995258023,y:-.0025779090504023904},{x:.2534554494825366,y:-.0037306956028641883},{x:.25435642329373365,y:-.003856270624521421},{x:.2552269355092742,y:-.004120337618145342},{x:.2587180827488419,y:-.0044641856090968535},{x:.2621925371943035,y:-.004948444626188875},{x:.2631006975177666,y:-.004895835488062085},{x:.264006,y:-.0049849999999999756},{x:.376189,y:-.0049849999999999756},{x:.37722298297811335,y:-.004883161565438171},{x:.3782605578675134,y:-.004937293022731791},{x:.3816049041349026,y:-.004451580001305548},{x:.3849680644907258,y:-.004120337618145342},{x:.3859623120828546,y:-.003818735908388489},{x:.38699051078512875,y:-.003669406425619949},{x:.39017583846699794,y:-.0025405766534665605},{x:.39340975445642906,y:-.0015595789630078807},{x:.39432605828518835,y:-.0010698043626217065},{x:.39530536770082864,y:-.0007227525880688923},{x:.46934836770082866,y:.034022247411931134},{x:.4713599418403825,y:.035219651121148166},{x:.4734733873673339,y:.03622640539423388},{x:.4751409393435705,y:.037470316580519136},{x:.4769285933263682,y:.03853443023544684},{x:.47866791375766776,y:.04010126481479184},{x:.480392,y:.041387347763641016},{x:.480392,y:.04001500000000002},{x:.4812566623818546,y:.031235935509274233},{x:.48381742103699205,y:.022794245543570978},{x:.48797586744638544,y:.015014339514117927},{x:.4935721948466053,y:.008195194846605386},{x:.5003913395141178,y:.002598867446385482},{x:.508171245543571,y:-.0015595789630078807},{x:.5166129355092742,y:-.004120337618145342},{x:.525392,y:-.0049849999999999756},{x:.5341710644907257,y:-.004120337618145342},{x:.542612754456429,y:-.0015595789630078807},{x:.5503926604858821,y:.002598867446385489},{x:.5572118051533946,y:.008195194846605386},{x:.5628081325536145,y:.015014339514117927},{x:.5669665789630078,y:.022794245543570985},{x:.5695273376181453,y:.031235935509274254},{x:.570392,y:.04001500000000002},{x:.570392,y:.7597659999999999},{x:.5695273376181453,y:.7685450644907257},{x:.5669665789630078,y:.776986754456429},{x:.5628081325536145,y:.7847666604858821},{x:.5572118051533946,y:.7915858051533946},{x:.5503926604858821,y:.7971821325536145},{x:.542612754456429,y:.8013405789630078},{x:.5341710644907257,y:.8039013376181453},{x:.525392,y:.804766},{x:.5166129355092742,y:.8039013376181453},{x:.508171245543571,y:.8013405789630078},{x:.5003913395141178,y:.7971821325536145},{x:.4935721948466053,y:.7915858051533946},{x:.48797586744638544,y:.7847666604858821},{x:.48381742103699205,y:.776986754456429},{x:.4812566623818546,y:.7685450644907257},{x:.480392,y:.7597659999999999},{x:.480392,y:.5191356905079497},{x:.47846953719699326,y:.5205697307992189},{x:.47652758859363875,y:.5222806946221157},{x:.47494232329576636,y:.5232008177790934},{x:.47347310730786674,y:.524296763521154},{x:.4711365045177018,y:.5254097994515352},{x:.46889807742906475,y:.5267090322059679},{x:.3948550774290648,y:.5604630322059679},{x:.3941070109424522,y:.5607188876066146},{x:.39340975445642906,y:.5610915789630079},{x:.389939500808656,y:.5621442688983361},{x:.38650823937694867,y:.5633178367349442},{x:.38572463186561456,y:.5634228354140474},{x:.3849680644907258,y:.5636523376181454},{x:.38135912117525683,y:.5640077875099224},{x:.3777648387426725,y:.5644893996719887},{x:.3769758038038255,y:.5644395065891945},{x:.376189,y:.564517},{x:.264006,y:.564517},{x:.26334558239453953,y:.5644519545432365},{x:.2626835384795895,y:.5644975635305632},{x:.2589614482177297,y:.5640201550156564},{x:.2552269355092742,y:.5636523376181454},{x:.25459189738202526,y:.5634597009082802},{x:.2539336765832372,y:.5633752751711479},{x:.2503762430229788,y:.5621808961392286},{x:.24678524554357095,y:.5610915789630079},{x:.24619999105363047,y:.5607787539207695},{x:.24557088842716707,y:.5605675378929096},{x:.17040888842716706,y:.5268135378929095},{x:.16805407047382528,y:.5254644267942322},{x:.16560391365212207,y:.5242973792806265},{x:.16423565717286473,y:.5232767996121171},{x:.1627545512703112,y:.5224282514648534},{x:.16070817900232118,y:.5206456609648356},{x:.15853278093215223,y:.5190230360586235},{x:.08336878093215222,y:.45052303605862365},{x:.08193967718325436,y:.44893757139643337},{x:.08035717944512263,y:.44750518296134467},{x:.07899365114577664,y:.44566921514174185},{x:.07746249136223225,y:.4439705283033309},{x:.07637015625263606,y:.44213672358948825},{x:.0750975108858587,y:.44042312810321155},{x:.07411836195358443,y:.43835642671545355},{x:.07294802033824888,y:.4363916652130956},{x:.07223443169362759,y:.4343799925343442},{x:.07132054574594202,y:.4324510425104215},{x:.034301545745942026,y:.32920504251042143},{x:.033491210284420626,y:.32597904935505284},{x:.03252566238185464,y:.3227960644907258},{x:.03241858101312289,y:.3217088491086539},{x:.03215243067755317,y:.32064928896150824},{x:.031987025628206905,y:.31732719375391183},{x:.03166100000000001,y:.314017},{x:.03166100000000001,y:.24551500000000004}],[{x:.121661,y:.25340994514221},{x:.121661,y:.3061934402169761},{x:.15226243948714763,y:.39154086238640384},{x:.21383969339611897,y:.4476587099299689},{x:.27364661400534074,y:.474517},{x:.3664157334192352,y:.474517},{x:.42513971513426946,y:.4477464845048247},{x:.480392,y:.3973901578243758},{x:.480392,y:.1631336467554691},{x:.4249518651426514,y:.1126053780239199},{x:.3661556538885112,y:.08501500000000002},{x:.2739038430667855,y:.08501500000000002},{x:.21402588591940364,y:.11269467351967463},{x:.15220815290195538,y:.1690325018607451},{x:.121661,y:.25340994514221}]],e:[[{x:.014571,y:.25490100000000004},{x:.014880046743786594,y:.2517631957525991},{x:.01501248842711947,y:.2486129918567585},{x:.015311525398480692,y:.24738231945287367},{x:.015435662381854634,y:.24612193550927428},{x:.016350926120166094,y:.24310471531940006},{x:.01709539726614681,y:.24004087979874045},{x:.05693639726614681,y:.12616087979874036},{x:.057746546207777846,y:.12441615547982068},{x:.05835851556287996,y:.12259245107255745},{x:.05959975008908581,y:.12042512406141898},{x:.06065161969764369,y:.11815983382640528},{x:.06178658068373706,y:.11660668611395116},{x:.06274257829935428,y:.11493741297405176},{x:.06438278737670251,y:.11305388338712186},{x:.06585638180708843,y:.11103732964943176},{x:.06727253892344205,y:.10973544513901749},{x:.06853582634733585,y:.1082847524971091},{x:.14942282634733584,y:.031993752497109104},{x:.15144602889400902,y:.03043003785468449},{x:.15333307828862142,y:.02870446646813117},{x:.1549277151407192,y:.027739074573098352},{x:.15640262843323158,y:.02659912765300345},{x:.15869202130341495,y:.025460166585296706},{x:.1608794538505091,y:.024135896643135493},{x:.2417664538505091,y:-.01455910335686443},{x:.24290092295632487,y:-.014970686687880902},{x:.2439652455435709,y:-.015539578963007873},{x:.24703931387581265,y:-.016472087396775758},{x:.2500591116803148,y:-.017567664555291233},{x:.2512520782049556,y:-.01775001548484057},{x:.2524069355092742,y:-.018100337618145335},{x:.25560385985111694,y:-.01841520718300011},{x:.2587793695882151,y:-.01890059980751419},{x:.2599849884971624,y:-.018846710691637396},{x:.261186,y:-.018964999999999968},{x:.381914,y:-.018964999999999968},{x:.3832466926412995,y:-.01883374123151461},{x:.3845848263549422,y:-.018885671038862982},{x:.3876272824249201,y:-.01840229079619376},{x:.39069306449072577,y:-.018100337618145335},{x:.3919745425012029,y:-.017711605513551366},{x:.39329709535359264,y:-.017501480567117658},{x:.39618678867610163,y:-.016433834605858122},{x:.39913475445642904,y:-.015539578963007873},{x:.4003157713548023,y:-.014908312279081314},{x:.40157191838151796,y:-.014444207562717595},{x:.48125191838151804,y:.02425079243728233},{x:.4833189661071789,y:.02551885102394819},{x:.4854901362659954,y:.026598980192539007},{x:.48706966813422276,y:.027819770278194},{x:.48877129863032925,y:.028863658687316496},{x:.4905512426555404,y:.030510612890229178},{x:.492469971641239,y:.03199356196515255},{x:.573357971641239,y:.10828456196515254},{x:.5791512607417543,y:.11493718669263933},{x:.5835353707163221,y:.12259219773755695},{x:.5863418226772573,y:.13095541731842886},{x:.5874627662495775,y:.13970545159690978},{x:.5868551242004307,y:.1485060416627534},{x:.584542247872996,y:.15701898577515713},{x:.5806130198074609,y:.16491713626599536},{x:.5752184380348474,y:.17189697164123896},{x:.5685658133073607,y:.17769026074175415},{x:.560910802262443,y:.1820743707163221},{x:.5525475826815711,y:.18488082267725728},{x:.5437975484030901,y:.18600176624957743},{x:.5349969583372466,y:.1853941242004306},{x:.5264840142248428,y:.183081247872996},{x:.5185858637340046,y:.17915201980746093},{x:.511606028358761,y:.17375743803484736},{x:.43573388395098006,y:.1021972341849065},{x:.3715652104827451,y:.07103500000000003},{x:.2713955768569904,y:.07103500000000003},{x:.2060606884620834,y:.10229012760321096},{x:.13826613078700495,y:.16623259795801962},{x:.104571,y:.2625454790108076},{x:.104571,y:.28619200000000006},{x:.542482,y:.28619200000000006},{x:.5512610644907258,y:.2870566623818547},{x:.559702754456429,y:.2896174210369921},{x:.5674826604858821,y:.2937758674463855},{x:.5743018051533947,y:.2993721948466054},{x:.5798981325536146,y:.3061913395141179},{x:.5840565789630079,y:.31397124554357103},{x:.5866173376181454,y:.32241293550927425},{x:.5874820000000001,y:.33119200000000004},{x:.5866173376181454,y:.33997106449072584},{x:.5840565789630079,y:.34841275445642905},{x:.5798981325536146,y:.35619266048588216},{x:.5743018051533947,y:.3630118051533947},{x:.5674826604858821,y:.3686081325536146},{x:.5660433240263831,y:.3693774739195968},{x:.5706944449992851,y:.3724210772554575},{x:.5769918122169339,y:.3785986803904119},{x:.5819629867044116,y:.38588613801169297},{x:.5854169290140312,y:.3940033972097681},{x:.5872209060798271,y:.40263851626586683},{x:.5873055920748429,y:.4114596523972937},{x:.5856677325637826,y:.4201278142894682},{x:.5823702695691338,y:.4283098893420352},{x:.5425292695691338,y:.5045998893420351},{x:.54083893518448,y:.5071829952333479},{x:.5393041274419548,y:.5098614335042745},{x:.5384286685906833,y:.5108662746451583},{x:.5376989227445426,y:.5119814449992851},{x:.5355371287009763,y:.5141851493557908},{x:.5335092744740836,y:.5165126960496618},{x:.49246227447408364,y:.5552086960496617},{x:.4903478252727746,y:.5568421196453192},{x:.48836639942178184,y:.5586345815458318},{x:.486865329057947,y:.5595323670561179},{x:.4854811710293013,y:.5606016367187369},{x:.48308868524123094,y:.5617911659624512},{x:.4807956399629947,y:.5631626292028359},{x:.40111563996299465,y:.6007566292028359},{x:.40009264564938235,y:.6011215754533451},{x:.39913475445642904,y:.6016335789630078},{x:.3959457374462889,y:.6026009566970012},{x:.3928069722488333,y:.6037206897930685},{x:.3917324370025758,y:.603879047413643},{x:.39069306449072577,y:.6041943376181453},{x:.38737659751458814,y:.6045209811048129},{x:.38407969371999856,y:.6050068561303112},{x:.38299491132800306,y:.6049525395264004},{x:.381914,y:.605059},{x:.261186,y:.605059},{x:.26023449599616577,y:.6049652850353624},{x:.2592798763752433,y:.6050186117946668},{x:.25585213857488087,y:.6045336605029273},{x:.2524069355092742,y:.6041943376181453},{x:.2514919972706982,y:.6039167941377678},{x:.2505453168634681,y:.6037828591890964},{x:.24727805138745723,y:.6026385076291858},{x:.2439652455435709,y:.6016335789630078},{x:.24312203363365809,y:.6011828728071931},{x:.24221967283726598,y:.6008668231955117},{x:.161332672837266,y:.5632728231955116},{x:.15891596978001063,y:.5618462817840929},{x:.15640337688314435,y:.5605963413854953},{x:.1551260781006526,y:.5596091689500753},{x:.15373589412748892,y:.5587885654418143},{x:.1516439317651508,y:.5569179592459522},{x:.1494234689111216,y:.555201853544281},{x:.06853646891112161,y:.47891385354428107},{x:.06722863655802509,y:.4774120673763562},{x:.06576662511800205,y:.47605991734502884},{x:.06433886916992998,y:.4740937424536807},{x:.06274309028364713,y:.4722613067803989},{x:.06175337150959475,y:.4705332315776763},{x:.06058324359446483,y:.4689218384474283},{x:.05956650326928079,y:.4667149016876259},{x:.05835887729241062,y:.4646063547351938},{x:.05772530643484857,y:.4627183994585984},{x:.05689202940417486,y:.4609096881637455},{x:.017051029404174856,y:.3459246881637455},{x:.016331419439147486,y:.342923979771159},{x:.015435662381854634,y:.33997106449072584},{x:.015304912520774374,y:.33864353887302173},{x:.014993833838408223,y:.33734636893611664},{x:.014873460143664087,y:.33426292937408214},{x:.014571,y:.33119200000000004},{x:.014571,y:.25490100000000004}],[{x:.12278767041868709,y:.376192},{x:.13831799224413532,y:.421014018902617},{x:.20587340146207272,y:.4847284236699839},{x:.27113246747276615,y:.5150589999999999},{x:.37183117966561724,y:.5150589999999999},{x:.4359272756482788,y:.48481767680255794},{x:.4662598881310508,y:.45622238914125884},{x:.5025937304308662,y:.3866481106579649},{x:.5074240772554575,y:.379266555000715},{x:.5104401600015575,y:.376192},{x:.12278767041868709,y:.376192}]],f:[[{x:.044112,y:.5239119999999999},{x:.04497666238185463,y:.5151329355092742},{x:.04753742103699209,y:.5066912455435709},{x:.051695867446385456,y:.4989113395141178},{x:.05729219484660536,y:.49209219484660527},{x:.0641113395141179,y:.4864958674463854},{x:.07189124554357096,y:.482337421036992},{x:.08033293550927423,y:.47977666238185457},{x:.089112,y:.47891199999999995},{x:.20304699999999998,y:.47891199999999995},{x:.20304699999999998,y:.05318299999999998},{x:.20391166238185462,y:.04440393550927419},{x:.2064724210369921,y:.03596224554357094},{x:.21063086744638546,y:.028182339514117884},{x:.21622719484660535,y:.021363194846605343},{x:.2230463395141179,y:.01576686744638544},{x:.23082624554357095,y:.011608421036992077},{x:.23926793550927422,y:.009047662381854615},{x:.248047,y:.008182999999999982},{x:.25682606449072576,y:.009047662381854615},{x:.26526775445642903,y:.011608421036992077},{x:.2730476604858821,y:.015766867446385446},{x:.2798668051533946,y:.021363194846605343},{x:.28546313255361455,y:.028182339514117884},{x:.2896215789630079,y:.03596224554357094},{x:.2921823376181454,y:.04440393550927421},{x:.293047,y:.05318299999999998},{x:.293047,y:.47891199999999995},{x:.459965,y:.47891199999999995},{x:.4687440644907258,y:.47977666238185457},{x:.4771857544564291,y:.482337421036992},{x:.48496566048588213,y:.4864958674463854},{x:.4917848051533946,y:.49209219484660527},{x:.49738113255361455,y:.4989113395141178},{x:.5015395789630079,y:.5066912455435709},{x:.5041003376181454,y:.5151329355092742},{x:.504965,y:.5239119999999999},{x:.5041003376181454,y:.5326910644907257},{x:.5015395789630079,y:.5411327544564289},{x:.49738113255361455,y:.548912660485882},{x:.4917848051533946,y:.5557318051533946},{x:.48496566048588213,y:.5613281325536145},{x:.4771857544564291,y:.5654865789630078},{x:.4687440644907258,y:.5680473376181453},{x:.459965,y:.568912},{x:.293047,y:.568912},{x:.293047,y:.6141229501499061},{x:.3322669208002554,y:.6884371453882767},{x:.4140490730325775,y:.7147659999999999},{x:.512941,y:.7147659999999999},{x:.5217200644907257,y:.7156306623818546},{x:.530161754456429,y:.7181914210369921},{x:.5379416604858821,y:.7223498674463854},{x:.5447608051533946,y:.7279461948466053},{x:.5503571325536145,y:.7347653395141178},{x:.5545155789630078,y:.7425452455435709},{x:.5570763376181453,y:.7509869355092742},{x:.557941,y:.7597659999999999},{x:.5570763376181453,y:.7685450644907257},{x:.5545155789630078,y:.776986754456429},{x:.5503571325536145,y:.7847666604858821},{x:.5447608051533946,y:.7915858051533946},{x:.5379416604858821,y:.7971821325536145},{x:.530161754456429,y:.8013405789630078},{x:.5217200644907257,y:.8039013376181453},{x:.512941,y:.804766},{x:.406984,y:.804766},{x:.40440576588043703,y:.8045120661033809},{x:.40181542834229744,y:.8044681908525655},{x:.400026512750784,y:.8040807473169851},{x:.3982049355092742,y:.8039013376181453},{x:.39572578148103565,y:.8031492944655273},{x:.39319377618916257,y:.8026009124809075},{x:.2872357761891626,y:.7684889124809076},{x:.28342960508890525,y:.7668362808879404},{x:.2796044085190959,y:.7652281761559891},{x:.27938594032962494,y:.7650805300410848},{x:.27914407460343155,y:.764975512444704},{x:.2757334504432472,y:.7626120885587936},{x:.27229547962292316,y:.7602886242777711},{x:.2721100135665551,y:.7601011941121303},{x:.27189328313916555,y:.7599510087370087},{x:.2690092742928275,y:.7569676176126634},{x:.26609064851257996,y:.7540180832118794},{x:.26594531194585036,y:.7537980718316557},{x:.26576204564604555,y:.7536084902175343},{x:.26351548295615396,y:.7501197819025626},{x:.26122836336792754,y:.7466575263349163},{x:.2082493633679275,y:.6462725263349164},{x:.20745880379789322,y:.6443351468057326},{x:.2064724210369921,y:.6424897544564291},{x:.20579637196662365,y:.6402611193438609},{x:.20491647908027386,y:.6381048157198157},{x:.20451907388691828,y:.636050431873947},{x:.20391166238185462,y:.6340480644907258},{x:.20368338854657433,y:.6317303613460921},{x:.20324107652369047,y:.6294438319050109},{x:.20325209776572678,y:.6273513925615422},{x:.20304699999999998,y:.6252690000000001},{x:.20304699999999998,y:.568912},{x:.089112,y:.568912},{x:.0803329355092742,y:.5680473376181453},{x:.07189124554357093,y:.5654865789630078},{x:.0641113395141179,y:.5613281325536145},{x:.05729219484660536,y:.5557318051533946},{x:.051695867446385456,y:.548912660485882},{x:.04753742103699209,y:.5411327544564289},{x:.04497666238185463,y:.5326910644907257},{x:.044112,y:.5239119999999999}]],g:[[{x:.03166100000000001,y:.285331},{x:.03199195389402992,y:.28197076872347165},{x:.03216742697517915,y:.27859884139484714},{x:.032423533978450624,y:.2775888625904497},{x:.03252566238185464,y:.2765519355092742},{x:.03350580569139788,y:.2733208360362635},{x:.034335737494852386,y:.2700479324456657},{x:.07135573749485238,y:.1675239324456658},{x:.07223945098422414,y:.16566943556296815},{x:.07292365731738822,y:.16373243532732273},{x:.07413231799188957,y:.16169720247238553},{x:.07515058411631778,y:.15956034321175439},{x:.07637911169281072,y:.15791388391586245},{x:.07742806119285411,y:.15614758463046624},{x:.07901055202445481,y:.15438725620434748},{x:.0804261330120869,y:.15249010996133996},{x:.08195226304990277,y:.15111496075964967},{x:.08332564517579637,y:.14958724031548856},{x:.1584886451757964,y:.08090524031548854},{x:.16047116284778873,y:.07942238349974136},{x:.16231838489394151,y:.07777404756068641},{x:.16399482319868336,y:.07678680357956279},{x:.16555276842115366,y:.07562151273533077},{x:.16778648358567103,y:.07455391860853194},{x:.1699197861673149,y:.07329763012616651},{x:.2450797861673149,y:.038459630126166475},{x:.2459605302529857,y:.0381521715215269},{x:.24678324554357095,y:.03771242103699209},{x:.2501181687545519,y:.03670078314085588},{x:.253408434365457,y:.03555218561964517},{x:.254332237398671,y:.03542245939316866},{x:.2552249355092742,y:.03515166238185463},{x:.2586931398688001,y:.03481007406735549},{x:.26214426420887293,y:.034325445502994434},{x:.2630756249571383,y:.03437843696081321},{x:.264004,y:.034287},{x:.376189,y:.034287},{x:.37724627227682206,y:.03439113223027483},{x:.37830727432005307,y:.03433688416138392},{x:.3816280756224084,y:.03482270219101675},{x:.3849680644907258,y:.03515166238185463},{x:.38598470638687477,y:.035460057329467706},{x:.38703590484658207,y:.03561384285228289},{x:.39019811948723343,y:.036738182220129235},{x:.39340975445642906,y:.03771242103699209},{x:.39434669699397534,y:.038213227257056566},{x:.39534769490287125,y:.03856913648017993},{x:.4693886949028713,y:.07340713648017996},{x:.47140406041677185,y:.07460963544760885},{x:.47352148667564636,y:.07562166704766733},{x:.4751827197672129,y:.0768642309221422},{x:.47696422705836306,y:.07792719476830276},{x:.47870627197824944,y:.0794997663623443},{x:.480392,y:.08076065187723735},{x:.480392,y:.018480463023952315},{x:.44982106300216956,y:-.06618482166306154},{x:.42509763890365326,y:-.0887666681923909},{x:.3663917896728536,y:-.115601},{x:.27366828971008494,y:-.115601},{x:.21388478385740822,y:-.08868092320279419},{x:.15228882603575622,y:-.032396134475538775},{x:.11903308523020223,y:.0605977685009861},{x:.11526275900748023,y:.06857299605517989},{x:.11000898883421664,y:.07565942769130271},{x:.1034736741518217,y:.08158473581569503},{x:.09590796343849313,y:.08612121416008753},{x:.08760260271404471,y:.08909452840579157},{x:.07887676233341709,y:.09039041575379858},{x:.07006577144893004,y:.08995907598006667},{x:.061508231499013855,y:.08781708523020218},{x:.05353300394482007,y:.08404675900748018},{x:.046446572308697254,y:.07879298883421659},{x:.04052126418430494,y:.07225767415182165},{x:.035984785839912437,y:.06469196343849308},{x:.03301147159420839,y:.05638660271404467},{x:.03171558424620138,y:.04766076233341703},{x:.0321469240199333,y:.038849771448930016},{x:.03428891476979778,y:.030292231499013812},{x:.07130891476979778,y:-.07322776850098624},{x:.07221644299685706,y:-.07514742841768875},{x:.07292365731738822,y:-.07714956467267746},{x:.07409706350042253,y:-.07912543338941479},{x:.07507924099251978,y:-.08120299605518004},{x:.07634383839048098,y:-.08290872027080634},{x:.07742806119285414,y:-.08473441536953392},{x:.07896439356931816,y:-.08644339813281518},{x:.08033301116578337,y:-.08828942769130284},{x:.0819060799658371,y:-.08971566618082738},{x:.08332564517579637,y:-.09129475968451163},{x:.1584886451757964,y:-.15997675968451153},{x:.16066766565506738,y:-.1616065940183929},{x:.16271768036753925,y:-.16339598773796155},{x:.16419165994754753,y:-.1642424237156923},{x:.16555276842115366,y:-.1652604872646693},{x:.16800788453794988,y:-.16643389898185532},{x:.17036760218951646,y:-.1677889719724602},{x:.24552760218951647,y:-.2016329719724602},{x:.24617798725770038,y:-.20185206166908357},{x:.24678324554357095,y:-.2021755789630079},{x:.2503526828238078,y:-.20325835592431216},{x:.25388756161766735,y:-.20444912053505218},{x:.25456819199860076,y:-.20453711665220192},{x:.2552249355092742,y:-.20473633761814536},{x:.25893702635910487,y:-.20510194665533446},{x:.2626362900994872,y:-.20558021041579141},{x:.263321009549333,y:-.20553373131203426},{x:.264004,y:-.20560099999999998},{x:.376189,y:-.20560099999999998},{x:.3769985938815523,y:-.20552126196245651},{x:.37781053527049396,y:-.2055717752142049},{x:.38138177137190815,y:-.20508955666026785},{x:.3849680644907258,y:-.20473633761814536},{x:.3857465461334356,y:-.20450018779358015},{x:.38655274094280934,y:-.2043913285403334},{x:.3899612805709507,y:-.2032216620796743},{x:.39340975445642906,y:-.2021755789630079},{x:.39412720724734457,y:-.20179209245674457},{x:.39489667386274535,y:-.20152804409855607},{x:.4689376738627454,y:-.16768404409855608},{x:.471176129388074,y:-.16638175223486265},{x:.4735129313995788,y:-.16526550692304898},{x:.47497970384913024,y:-.16416890323360386},{x:.4765626813675205,y:-.163247956304222},{x:.47850406105855325,y:-.16153398660426738},{x:.480578193417323,y:-.15998330217620907},{x:.5187211934173229,y:-.125144302176209},{x:.5200982241105119,y:-.12361318710120846},{x:.5216280341275545,y:-.12223470670068204},{x:.5230406381933351,y:-.12034152832018923},{x:.5246201913815024,y:-.1185852292702623},{x:.52567205708302,y:-.11681488878073784},{x:.5269035440443172,y:-.11516444436572898},{x:.5279196645391884,y:-.1130320574948894},{x:.5291262301085498,y:-.11100134969861394},{x:.5298125082093796,y:-.10905981698676002},{x:.5306983467616347,y:-.10720083421055714},{x:.5677173467616347,y:-.0046778342105572215},{x:.5685472301626403,y:-.001405045768812418},{x:.5695273376181453,y:.0018259355092742052},{x:.5696294781899907,y:.002862986138707272},{x:.5698856101392306,y:.003873086692614168},{x:.5700610582123972,y:.007244891642088324},{x:.570392,y:.010604999999999976},{x:.570392,y:.560059},{x:.5695273376181453,y:.5688380644907257},{x:.5669665789630078,y:.577279754456429},{x:.5628081325536145,y:.5850596604858821},{x:.5572118051533946,y:.5918788051533946},{x:.5503926604858821,y:.5974751325536145},{x:.542612754456429,y:.6016335789630078},{x:.5341710644907257,y:.6041943376181453},{x:.525392,y:.605059},{x:.5166129355092742,y:.6041943376181453},{x:.508171245543571,y:.6016335789630078},{x:.5003913395141178,y:.5974751325536145},{x:.4935721948466053,y:.5918788051533946},{x:.48797586744638544,y:.5850596604858821},{x:.48381742103699205,y:.577279754456429},{x:.4812566623818546,y:.5688380644907257},{x:.480392,y:.560059},{x:.480392,y:.5595783858718113},{x:.47850787544975776,y:.5609876460911735},{x:.47656308903374583,y:.5627046621197919},{x:.47498407852937236,y:.5636233247252487},{x:.47352120750708176,y:.5647175018259646},{x:.47118052218859596,y:.5658362200595997},{x:.46893813108831367,y:.5671408350985324},{x:.39489713108831365,y:.6009858350985324},{x:.39412742928685096,y:.6012499737741558},{x:.39340975445642906,y:.6016335789630078},{x:.38996152003118717,y:.6026795894402057},{x:.3865532301567984,y:.60384921275647},{x:.38574678706033977,y:.6039581147092028},{x:.3849680644907258,y:.6041943376181453},{x:.38138202040224084,y:.6045475321329209},{x:.37781103767268465,y:.6050297570960106},{x:.3769988444371686,y:.6049792372848822},{x:.376189,y:.605059},{x:.264004,y:.605059},{x:.2633207613423033,y:.6049917068657756},{x:.2626357925427961,y:.6050381952835313},{x:.25893677979996554,y:.6045599223713788},{x:.2552249355092742,y:.6041943376181453},{x:.25456795333002863,y:.6039950442528821},{x:.2538870765735461,y:.6039070086250592},{x:.2503524457397967,y:.6027162840056636},{x:.24678324554357095,y:.6016335789630078},{x:.24617776729948443,y:.6013099440989677},{x:.24552714829793862,y:.6010907675853725},{x:.17036714829793861,y:.5672457675853725},{x:.16800780172583518,y:.5658908729822889},{x:.16555304759050302,y:.5647176561362495},{x:.1641916021742222,y:.563699355958929},{x:.16271727507130354,y:.5628526987282604},{x:.16066758950642807,y:.5610635523625588},{x:.15848888603577402,y:.5594339797745099},{x:.08332588603577401,y:.49075297977450993},{x:.08190615458499984,y:.48917372437901785},{x:.08033291862515302,y:.48774732555289924},{x:.07896444452212992,y:.48590147772545017},{x:.07742825448734617,y:.4841926782200152},{x:.07634390022195357,y:.48236679190821125},{x:.07507917015624571,y:.48066087782555583},{x:.0740970979464375,y:.4785835213931001},{x:.07292379561819572,y:.47660786018244516},{x:.07221648966449083,y:.47460551074132296},{x:.0713088683600783,y:.4726856387236396},{x:.034288868360078294,y:.36916463872363964},{x:.03348577523186824,y:.3659561323879453},{x:.03252566238185464,y:.3627910644907258},{x:.0324167369020588,y:.3616851255348066},{x:.032146903820267865,y:.36060709221327164},{x:.03198519043554786,y:.35730356073015046},{x:.03166100000000001,y:.354012},{x:.03166100000000001,y:.285331}],[{x:.121661,y:.29320659086815803},{x:.121661,y:.34620780969623244},{x:.15228882172599023,y:.4318540207415116},{x:.21388481974037543,y:.48813802669691503},{x:.2736685500834057,y:.5150589999999999},{x:.3663915263934284,y:.5150589999999999},{x:.4250929420729598,y:.48822590193711934},{x:.480392,y:.4376951204586189},{x:.480392,y:.20264468470162808},{x:.4249051037436742,y:.15194152341431572},{x:.3661311050032371,y:.124287},{x:.2739261218560311,y:.124287},{x:.21407100266628776,y:.15203091487935444},{x:.15223458736534265,y:.208535427414771},{x:.121661,y:.29320659086815803}]],h:[[{x:.047041,y:.05318299999999998},{x:.04790566238185463,y:.04440393550927419},{x:.050466421036992094,y:.03596224554357094},{x:.05462486744638546,y:.028182339514117884},{x:.06022119484660536,y:.021363194846605343},{x:.06704033951411792,y:.01576686744638544},{x:.07482024554357096,y:.011608421036992077},{x:.08326193550927423,y:.009047662381854615},{x:.092041,y:.008182999999999982},{x:.10082006449072577,y:.009047662381854615},{x:.10926175445642904,y:.011608421036992077},{x:.1170416604858821,y:.015766867446385446},{x:.12386080515339463,y:.021363194846605343},{x:.12945713255361452,y:.028182339514117884},{x:.1336155789630079,y:.03596224554357094},{x:.13617633761814535,y:.04440393550927421},{x:.137041,y:.05318299999999998},{x:.137041,y:.3692271498339558},{x:.23047284680205596,y:.45237128863270537},{x:.2915669774325256,y:.478914},{x:.38669764440631527,y:.478914},{x:.43644054132690624,y:.4571557093088599},{x:.465011,y:.38123324165433015},{x:.465011,y:.05318299999999998},{x:.4658756623818546,y:.04440393550927419},{x:.46843642103699207,y:.03596224554357094},{x:.47259486744638546,y:.028182339514117884},{x:.4781911948466053,y:.021363194846605343},{x:.4850103395141179,y:.01576686744638544},{x:.492790245543571,y:.011608421036992077},{x:.5012319355092743,y:.009047662381854615},{x:.510011,y:.008182999999999982},{x:.5187900644907257,y:.009047662381854615},{x:.527231754456429,y:.011608421036992077},{x:.5350116604858821,y:.015766867446385446},{x:.5418308051533947,y:.021363194846605343},{x:.5474271325536145,y:.028182339514117884},{x:.5515855789630079,y:.03596224554357094},{x:.5541463376181454,y:.04440393550927421},{x:.555011,y:.05318299999999998},{x:.555011,y:.38942},{x:.5546506186962206,y:.39307901278178137},{x:.554410350301749,y:.3967478709583736},{x:.5542188683658584,y:.3974626474508545},{x:.5541463376181454,y:.3981990644907258},{x:.5530790429582076,y:.40171746346329923},{x:.5521276325304605,y:.40526895152034226},{x:.5139866325304605,y:.5066239515203422},{x:.5138553396770835,y:.5068902237569821},{x:.5137747554395128,y:.50717595947055},{x:.511905898744729,y:.5108438433478746},{x:.5100853961903059,y:.5145359657635786},{x:.5099046789559015,y:.5147715076888114},{x:.5097698988494882,y:.5150360318659072},{x:.5072213830653152,y:.5182688425286295},{x:.504715563605999,y:.5215348594178236},{x:.5044923668525381,y:.521730619287556},{x:.5043085704011859,y:.5219637664124008},{x:.5011783335599848,y:.5246372687597332},{x:.4980834944323178,y:.5273516689249697},{x:.497826395485866,y:.5275001237971909},{x:.49760064588412606,y:.5276929341565276},{x:.49400898123224624,y:.5297043869925788},{x:.49044405536829966,y:.5317628575577613},{x:.490162934397186,y:.5318583023949868},{x:.48990390707565157,y:.532003366394835},{x:.41414290707565155,y:.5651423663948351},{x:.41372099607879415,y:.5652794559590063},{x:.41332975445642905,y:.5654885789630079},{x:.40952975949805703,y:.5666412948313546},{x:.4057531353317914,y:.5678684156337233},{x:.40531258638921414,y:.5679205603081202},{x:.4048880644907258,y:.5680493376181454},{x:.4009362016599996,y:.5684385621342186},{x:.39699274487562397,y:.5689053213297277},{x:.39655048803612764,y:.5688705172237564},{x:.396109,y:.568914},{x:.282214,y:.568914},{x:.28182836168040026,y:.5688760179407144},{x:.2814421286004882,y:.5689073796745989},{x:.27744221175957573,y:.5684440198796774},{x:.2734349355092742,y:.5680493376181454},{x:.2730641170540284,y:.5679368510695262},{x:.2726791869636831,y:.5678922598605547},{x:.26884652441488044,y:.5666574583296339},{x:.26499324554357095,y:.5654885789630079},{x:.2646514972979566,y:.5653059107200353},{x:.264282662844679,y:.5651870801833616},{x:.18800566284467896,y:.5320480801833616},{x:.1856267698486466,y:.5307235797343987},{x:.1831549202301779,y:.529581917442145},{x:.18178185218619736,y:.5285828381463435},{x:.18029822995654404,y:.527756799180932},{x:.17822344394147954,y:.5259936496360635},{x:.17602181748454487,y:.5243916901265875},{x:.137041,y:.4897030201456747},{x:.137041,y:.7597659999999999},{x:.13617633761814535,y:.7685450644907257},{x:.1336155789630079,y:.776986754456429},{x:.12945713255361452,y:.7847666604858821},{x:.12386080515339463,y:.7915858051533946},{x:.11704166048588208,y:.7971821325536145},{x:.10926175445642904,y:.8013405789630078},{x:.10082006449072577,y:.8039013376181453},{x:.092041,y:.804766},{x:.08326193550927423,y:.8039013376181453},{x:.07482024554357093,y:.8013405789630078},{x:.06704033951411792,y:.7971821325536145},{x:.06022119484660536,y:.7915858051533946},{x:.05462486744638546,y:.7847666604858821},{x:.050466421036992094,y:.776986754456429},{x:.04790566238185463,y:.7685450644907257},{x:.047041,y:.7597659999999999},{x:.047041,y:.05318299999999998}]],i:[[{x:.216026,y:.7597659999999999},{x:.21689066238185462,y:.7509869355092742},{x:.21945142103699208,y:.7425452455435709},{x:.22360986744638545,y:.7347653395141178},{x:.22920619484660534,y:.7279461948466053},{x:.2360253395141179,y:.7223498674463854},{x:.24380524554357094,y:.7181914210369921},{x:.25224693550927424,y:.7156306623818546},{x:.261026,y:.7147659999999999},{x:.341026,y:.7147659999999999},{x:.3498050644907258,y:.7156306623818546},{x:.35824675445642906,y:.7181914210369921},{x:.3660266604858821,y:.7223498674463854},{x:.3728458051533946,y:.7279461948466053},{x:.37844213255361453,y:.7347653395141178},{x:.3826005789630079,y:.7425452455435709},{x:.38516133761814536,y:.7509869355092742},{x:.386026,y:.7597659999999999},{x:.38516133761814536,y:.7685450644907257},{x:.3826005789630079,y:.776986754456429},{x:.37844213255361453,y:.7847666604858821},{x:.3728458051533946,y:.7915858051533946},{x:.3660266604858821,y:.7971821325536145},{x:.35824675445642906,y:.8013405789630078},{x:.3498050644907258,y:.8039013376181453},{x:.341026,y:.804766},{x:.261026,y:.804766},{x:.25224693550927424,y:.8039013376181453},{x:.24380524554357094,y:.8013405789630078},{x:.2360253395141179,y:.7971821325536145},{x:.22920619484660534,y:.7915858051533946},{x:.22360986744638545,y:.7847666604858821},{x:.21945142103699208,y:.776986754456429},{x:.21689066238185462,y:.7685450644907257},{x:.216026,y:.7597659999999999}],[{x:.25597800000000004,y:.05318299999999998},{x:.25684266238185466,y:.04440393550927419},{x:.2594034210369921,y:.03596224554357094},{x:.2635618674463855,y:.028182339514117884},{x:.2691581948466054,y:.021363194846605343},{x:.27597733951411796,y:.01576686744638544},{x:.28375724554357096,y:.011608421036992077},{x:.2921989355092742,y:.009047662381854615},{x:.300978,y:.008182999999999982},{x:.3097570644907258,y:.009047662381854615},{x:.3181987544564291,y:.011608421036992077},{x:.32597866048588214,y:.015766867446385446},{x:.33279780515339463,y:.021363194846605343},{x:.33839413255361456,y:.028182339514117884},{x:.34255257896300795,y:.03596224554357094},{x:.3451133376181454,y:.04440393550927421},{x:.345978,y:.05318299999999998},{x:.345978,y:.523911},{x:.3451133376181454,y:.5326900644907258},{x:.34255257896300795,y:.541131754456429},{x:.33839413255361456,y:.5489116604858821},{x:.33279780515339463,y:.5557308051533947},{x:.32597866048588214,y:.5613271325536145},{x:.3181987544564291,y:.5654855789630079},{x:.3097570644907258,y:.5680463376181454},{x:.300978,y:.5689110000000001},{x:.2921989355092742,y:.5680463376181454},{x:.28375724554357096,y:.5654855789630079},{x:.27597733951411796,y:.5613271325536145},{x:.2691581948466054,y:.5557308051533947},{x:.2635618674463855,y:.5489116604858821},{x:.2594034210369921,y:.541131754456429},{x:.25684266238185466,y:.5326900644907258},{x:.25597800000000004,y:.523911},{x:.25597800000000004,y:.05318299999999998}]],j:[[{x:.11017199870220953,y:-.1121580749666587},{x:.11173080987432929,y:-.12084080046598154},{x:.114953584640513,y:-.12905258085596802},{x:.11971647357384912,y:-.1364778420214504},{x:.12583644152368842,y:-.14283123533997366},{x:.1330783015538362,y:-.147868603469331},{x:.14116375304461573,y:-.15139636317729976},{x:.23896575304461573,y:-.18307436317729964},{x:.2424293887998465,y:-.18383095770413346},{x:.24586120600074532,y:-.1847208108507566},{x:.24673197042105502,y:-.1847708110651418},{x:.2475840766296098,y:-.18495694463669302},{x:.2511287638648936,y:-.18502327959701073},{x:.25466824139749206,y:-.18522652014211538},{x:.25553202888155596,y:-.18510568190524296},{x:.2564040749666586,y:-.1851220012977904},{x:.25989359333942796,y:-.1844955274762681},{x:.2634047110671092,y:-.18400434499968443},{x:.3944597110671092,y:-.15232634499968456},{x:.39510744613291976,y:-.15210060706564532},{x:.39578357398914765,y:-.1519849807175323},{x:.3992672661785621,y:-.15065089524264363},{x:.4027898773796621,y:-.14942325292878383},{x:.40338112711156726,y:-.1490754856432793},{x:.40402170577913904,y:-.1488301750218278},{x:.4071781926350792,y:-.14684208899421944},{x:.4103936167153703,y:-.14495080812962524},{x:.41090565971774945,y:-.14449437599440731},{x:.41148607211771127,y:-.14412880824922783},{x:.41419405162048195,y:-.14156312270000898},{x:.41697872163578864,y:-.1390808841476645},{x:.4173918803832174,y:-.13853332759371953},{x:.41788982159253774,y:-.13806155128824654},{x:.42004522760849955,y:-.13501686407422092},{x:.422292130251795,y:-.13203905886963707},{x:.4225905272853119,y:-.13142142018825975},{x:.42298686170256505,y:-.13086156542133753},{x:.4245068631872901,y:-.12745488216466036},{x:.4261296512500701,y:-.1240959456918764},{x:.4263018193390199,y:-.1234319603912164},{x:.42658131605481786,y:-.12280554206756752},{x:.4588533160548179,y:-.025908542067567514},{x:.4594769463166796,y:-.023162642495487502},{x:.46029433761814537,y:-.02046806449072583},{x:.46045163429328767,y:-.01887100454660151},{x:.46080705178433234,y:-.017306069686551954},{x:.4608830007338393,y:-.01449126757618431},{x:.461159,y:-.01168900000000006},{x:.461159,y:.534292},{x:.46029433761814537,y:.5430710644907257},{x:.4577335789630079,y:.551512754456429},{x:.45357513255361454,y:.5592926604858821},{x:.4479788051533946,y:.5661118051533947},{x:.4411596604858821,y:.5717081325536145},{x:.43337975445642907,y:.5758665789630079},{x:.4249380644907258,y:.5784273376181454},{x:.416159,y:.579292},{x:.4073799355092742,y:.5784273376181454},{x:.39893824554357094,y:.5758665789630079},{x:.39115833951411794,y:.5717081325536145},{x:.3843391948466054,y:.5661118051533947},{x:.37874286744638547,y:.5592926604858821},{x:.3745844210369921,y:.551512754456429},{x:.37202366238185464,y:.5430710644907257},{x:.371159,y:.534292},{x:.371159,y:-.004392296840350002},{x:.3490732119536395,y:-.07070509444595838},{x:.254610065464387,y:-.09353828321774525},{x:.16889624695538427,y:-.06577563682270039},{x:.16027792337039018,y:-.063893055363307},{x:.15145792503334138,y:-.0637279987022096},{x:.14277519953401854,y:-.06528680987432936},{x:.13456341914403205,y:-.06850958464051307},{x:.12713815797854966,y:-.0732724735738492},{x:.12078476466002638,y:-.07939244152368852},{x:.11574739653066908,y:-.08663430155383627},{x:.11221963682270032,y:-.0947197530446158},{x:.11033705536330693,y:-.10333807662960988},{x:.11017199870220953,y:-.1121580749666587}],[{x:.3403,y:.7597659999999999},{x:.3411646623818546,y:.7509869355092742},{x:.34372542103699205,y:.7425452455435709},{x:.34788386744638544,y:.7347653395141178},{x:.3534801948466053,y:.7279461948466053},{x:.3602993395141179,y:.7223498674463854},{x:.36807924554357097,y:.7181914210369921},{x:.37652093550927423,y:.7156306623818546},{x:.3853,y:.7147659999999999},{x:.447023,y:.7147659999999999},{x:.4558020644907258,y:.7156306623818546},{x:.46424375445642907,y:.7181914210369921},{x:.4720236604858821,y:.7223498674463854},{x:.4788428051533946,y:.7279461948466053},{x:.48443913255361454,y:.7347653395141178},{x:.48859757896300793,y:.7425452455435709},{x:.49115833761814537,y:.7509869355092742},{x:.492023,y:.7597659999999999},{x:.49115833761814537,y:.7685450644907257},{x:.48859757896300793,y:.776986754456429},{x:.48443913255361454,y:.7847666604858821},{x:.4788428051533946,y:.7915858051533946},{x:.4720236604858821,y:.7971821325536145},{x:.46424375445642907,y:.8013405789630078},{x:.4558020644907258,y:.8039013376181453},{x:.447023,y:.804766},{x:.3853,y:.804766},{x:.37652093550927423,y:.8039013376181453},{x:.36807924554357097,y:.8013405789630078},{x:.3602993395141179,y:.7971821325536145},{x:.3534801948466053,y:.7915858051533946},{x:.34788386744638544,y:.7847666604858821},{x:.34372542103699205,y:.776986754456429},{x:.3411646623818546,y:.7685450644907257},{x:.3403,y:.7597659999999999}]],k:[[{x:.020185999999999996,y:.05318299999999998},{x:.02105066238185463,y:.04440393550927419},{x:.02361142103699209,y:.03596224554357094},{x:.027769867446385453,y:.028182339514117884},{x:.03336619484660536,y:.021363194846605343},{x:.04018533951411791,y:.01576686744638544},{x:.047965245543570956,y:.011608421036992077},{x:.056406935509274225,y:.009047662381854615},{x:.065186,y:.008182999999999982},{x:.07396506449072576,y:.009047662381854615},{x:.08240675445642903,y:.011608421036992077},{x:.0901866604858821,y:.015766867446385446},{x:.09700580515339463,y:.021363194846605343},{x:.10260213255361453,y:.028182339514117884},{x:.10676057896300789,y:.03596224554357094},{x:.10932133761814536,y:.04440393550927421},{x:.11018599999999999,y:.05318299999999998},{x:.11018599999999999,y:.16578332733911408},{x:.23477705990096162,y:.26351643594805596},{x:.5068321321577423,y:.019673199736523116},{x:.5139466814455551,y:.014457569113271652},{x:.5219420457215526,y:.010730135081525344},{x:.5305109676204599,y:.008634140840755075},{x:.539324148279209,y:.008250134274186548},{x:.5480429021075728,y:.009592872538819623},{x:.5563321722854605,y:.012610754956160736},{x:.5638734068086124,y:.017187805997359452},{x:.5703768002634768,y:.02314813215774228},{x:.5755924308867283,y:.030262681445555134},{x:.5793198649184746,y:.03825804572155257},{x:.5814158591592449,y:.04682696762045996},{x:.5817998657258134,y:.05564014827920904},{x:.5804571274611804,y:.06435890210757275},{x:.5774392450438393,y:.07264817228546054},{x:.5728621940026405,y:.08018940680861247},{x:.5669018678422577,y:.08669280026347684},{x:.3066862956724008,y:.3199242805817128},{x:.5215978711622948,y:.4885076152557163},{x:.5279716470169837,y:.49460635247919954},{x:.533033147947031,y:.5018313661609891},{x:.5365878633102175,y:.5099050030771282},{x:.5384991873886431,y:.5185169978886772},{x:.5386936690698568,y:.5273363964646907},{x:.5371638345319164,y:.5360242742638681},{x:.5339684744581735,y:.5442467610146052},{x:.5292303847442837,y:.5516878711622948},{x:.5231316475208004,y:.5580616470169838},{x:.5159066338390108,y:.5631231479470311},{x:.5078329969228718,y:.5666778633102175},{x:.4992210021113228,y:.5685891873886431},{x:.49040160353530926,y:.5687836690698569},{x:.4817137257361318,y:.5672538345319164},{x:.47349123898539475,y:.5640584744581736},{x:.46605012883770514,y:.5593203847442837},{x:.11018599999999999,y:.28016947631338524},{x:.11018599999999999,y:.7597659999999999},{x:.10932133761814536,y:.7685450644907257},{x:.10676057896300789,y:.776986754456429},{x:.10260213255361453,y:.7847666604858821},{x:.09700580515339463,y:.7915858051533946},{x:.09018666048588207,y:.7971821325536145},{x:.08240675445642903,y:.8013405789630078},{x:.07396506449072576,y:.8039013376181453},{x:.065186,y:.804766},{x:.056406935509274204,y:.8039013376181453},{x:.04796524554357093,y:.8013405789630078},{x:.04018533951411791,y:.7971821325536145},{x:.03336619484660536,y:.7915858051533946},{x:.027769867446385453,y:.7847666604858821},{x:.02361142103699209,y:.776986754456429},{x:.02105066238185463,y:.7685450644907257},{x:.020185999999999996,y:.7597659999999999},{x:.020185999999999996,y:.05318299999999998}]],l:[[{x:.25602600000000003,y:.05355900000000002},{x:.25689066238185465,y:.044779935509274234},{x:.2594514210369921,y:.036338245543570985},{x:.2636098674463855,y:.028558339514117927},{x:.26920619484660535,y:.021739194846605386},{x:.27602533951411795,y:.016142867446385482},{x:.283805245543571,y:.01198442103699212},{x:.2922469355092743,y:.009423662381854658},{x:.301026,y:.008559000000000025},{x:.3098050644907258,y:.009423662381854658},{x:.3182467544564291,y:.01198442103699212},{x:.32602666048588214,y:.01614286744638549},{x:.3328458051533947,y:.021739194846605386},{x:.33844213255361455,y:.028558339514117927},{x:.34260057896300794,y:.036338245543570985},{x:.3451613376181454,y:.044779935509274255},{x:.346026,y:.05355900000000002},{x:.346026,y:.765137},{x:.3451613376181454,y:.7739160644907257},{x:.34260057896300794,y:.782357754456429},{x:.33844213255361455,y:.7901376604858821},{x:.3328458051533947,y:.7969568051533946},{x:.32602666048588214,y:.8025531325536145},{x:.3182467544564291,y:.8067115789630078},{x:.3098050644907258,y:.8092723376181453},{x:.301026,y:.810137},{x:.2922469355092743,y:.8092723376181453},{x:.283805245543571,y:.8067115789630078},{x:.27602533951411795,y:.8025531325536145},{x:.26920619484660535,y:.7969568051533946},{x:.2636098674463855,y:.7901376604858821},{x:.2594514210369921,y:.782357754456429},{x:.25689066238185465,y:.7739160644907257},{x:.25602600000000003,y:.765137},{x:.25602600000000003,y:.05355900000000002}]],m:[[{x:.005538000000000001,y:.03920400000000002},{x:.006402662381854635,y:.030424935509274227},{x:.008963421036992096,y:.02198324554357097},{x:.013121867446385459,y:.01420333951411792},{x:.018718194846605363,y:.00738419484660538},{x:.025537339514117914,y:.0017878674463854757},{x:.03331724554357096,y:-.002370578963007887},{x:.04175893550927423,y:-.004931337618145348},{x:.050538,y:-.005795999999999982},{x:.059317064490725775,y:-.004931337618145348},{x:.06775875445642904,y:-.002370578963007887},{x:.0755386604858821,y:.0017878674463854827},{x:.08235780515339464,y:.00738419484660538},{x:.08795413255361453,y:.01420333951411792},{x:.0921125789630079,y:.02198324554357098},{x:.09467333761814536,y:.030424935509274248},{x:.095538,y:.03920400000000002},{x:.095538,y:.3993271266071161},{x:.14963521853994496,y:.4943223065353007},{x:.1738257653562211,y:.5150589999999999},{x:.22021623464377893,y:.5150589999999999},{x:.2416666625786254,y:.49667119950297894},{x:.27741,y:.4029520066676719},{x:.27741,y:.03920400000000002},{x:.2782746623818546,y:.030424935509274227},{x:.28083542103699205,y:.02198324554357097},{x:.28499386744638544,y:.01420333951411792},{x:.2905901948466053,y:.00738419484660538},{x:.2974093395141179,y:.0017878674463854757},{x:.30518924554357096,y:-.002370578963007887},{x:.31363093550927423,y:-.004931337618145348},{x:.32241,y:-.005795999999999982},{x:.33118906449072577,y:-.004931337618145348},{x:.33963075445642904,y:-.002370578963007887},{x:.3474106604858821,y:.0017878674463854827},{x:.35422980515339464,y:.00738419484660538},{x:.3598261325536145,y:.01420333951411792},{x:.3639845789630079,y:.02198324554357098},{x:.36654533761814534,y:.030424935509274248},{x:.36740999999999996,y:.03920400000000002},{x:.36740999999999996,y:.3993264781598986},{x:.4215891088917321,y:.494459500052724},{x:.445289826307752,y:.5150589999999999},{x:.4920928256254945,y:.5150589999999999},{x:.5065149999999999,y:.5026965582556255},{x:.5065149999999999,y:.03920400000000002},{x:.5073796623818546,y:.030424935509274227},{x:.5099404210369921,y:.02198324554357097},{x:.5140988674463854,y:.01420333951411792},{x:.5196951948466053,y:.00738419484660538},{x:.5265143395141179,y:.0017878674463854757},{x:.534294245543571,y:-.002370578963007887},{x:.5427359355092742,y:-.004931337618145348},{x:.551515,y:-.005795999999999982},{x:.5602940644907257,y:-.004931337618145348},{x:.568735754456429,y:-.002370578963007887},{x:.5765156604858821,y:.0017878674463854827},{x:.5833348051533946,y:.00738419484660538},{x:.5889311325536145,y:.01420333951411792},{x:.5930895789630078,y:.02198324554357098},{x:.5956503376181453,y:.030424935509274248},{x:.596515,y:.03920400000000002},{x:.596515,y:.523393},{x:.5963454778388272,y:.5251141873868636},{x:.5963825315707437,y:.5268433058919912},{x:.5959141404350922,y:.5294936295415332},{x:.5956503376181453,y:.5321720644907257},{x:.5951482857762117,y:.5338271076115645},{x:.59484729324509,y:.5355302304139588},{x:.5938708496195351,y:.5380382502602514},{x:.5930895789630078,y:.540613754456429},{x:.592274291011045,y:.5421390509322689},{x:.5916468191910574,y:.543750727977755},{x:.5901998472565338,y:.5460200622246176},{x:.5889311325536145,y:.5483936604858821},{x:.5878339395503975,y:.5497305940285525},{x:.5869041018316961,y:.5511888894721116},{x:.5850422079081763,y:.5531323288770946},{x:.5833348051533946,y:.5552128051533947},{x:.581997871610724,y:.5563099981566119},{x:.5808014011353795,y:.5575588705221693},{x:.5380264011353795,y:.5942248705221693},{x:.5358211367621821,y:.5957677297988329},{x:.5337406604858821,y:.5974751325536145},{x:.5322153640100423,y:.5982904205055773},{x:.5307982404674333,y:.599281876328501},{x:.5283343527176928,y:.600364864260089},{x:.525960754456429,y:.6016335789630078},{x:.5243057113355902,y:.6021356308049415},{x:.5227223939887274,y:.6028315689939708},{x:.5200945686869033,y:.6034130669616181},{x:.5175190644907257,y:.6041943376181453},{x:.5157978771038628,y:.6043638597793182},{x:.5141092119504517,y:.6047375358201355},{x:.5114184349491921,y:.6047951971830532},{x:.50874,y:.605059},{x:.428467,y:.605059},{x:.42563553135621585,y:.6047801246797119},{x:.42279150043448566,y:.6046996620098968},{x:.4212557149999115,y:.6043487504203328},{x:.4196879355092742,y:.6041943376181453},{x:.41696527861756566,y:.6033684286794448},{x:.4141915924406847,y:.6027346691689239},{x:.4127537761476033,y:.6020908833721776},{x:.4112462455435709,y:.6016335789630078},{x:.40873703058140176,y:.6002923756232341},{x:.4061402803536474,y:.5991296742945802},{x:.40485568767586616,y:.5982177546177817},{x:.4034663395141179,y:.5974751325536145},{x:.4012669942053008,y:.5956701765049598},{x:.3989469715816508,y:.5940232153181825},{x:.3567609715816508,y:.5573572153181825},{x:.3545792701559384,y:.5550484712393128},{x:.3522737143614353,y:.552863400803129},{x:.35155574109793963,y:.5518488790642903},{x:.35070210094674875,y:.5509455305944583},{x:.3490127339279754,y:.5482555195520005},{x:.34717776483660073,y:.5456626430091704},{x:.33048446785976626,y:.5163509060824124},{x:.3216828574856715,y:.5394287684036221},{x:.32062739498214626,y:.5415455848316745},{x:.31976928952310246,y:.5437498007710907},{x:.3186639603788477,y:.5454834136126945},{x:.31774653490223986,y:.5473233854865517},{x:.3162983824161672,y:.5491936173608123},{x:.31502674401548947,y:.5511880718386934},{x:.3136044423732838,y:.5526727347769701},{x:.3123456842645886,y:.5542983712755478},{x:.3105604934838748,y:.5558501466339272},{x:.30892419049215825,y:.5575581938831911},{x:.2661511904921582,y:.594224193883191},{x:.26394553725639397,y:.5957674011217274},{x:.2618646604858821,y:.5974751325536145},{x:.26033982189406285,y:.5982901757614695},{x:.258923146662659,y:.5992813666868191},{x:.25645880963824363,y:.6003646200309664},{x:.25408475445642903,y:.6016335789630078},{x:.25243020816870526,y:.6021354800922637},{x:.25084738219782576,y:.6028312459348294},{x:.24821906447459133,y:.6034129165660671},{x:.24564306449072576,y:.6041943376181453},{x:.24392239379305308,y:.6043638088898747},{x:.2422342441971012,y:.6047374117585159},{x:.2395429505511757,y:.6047951464006902},{x:.236864,y:.605059},{x:.157178,y:.605059},{x:.1544990494488241,y:.6047951464006902},{x:.1518077558028988,y:.6047374117585159},{x:.15011960620694695,y:.6043638088898747},{x:.14839893550927424,y:.6041943376181453},{x:.14582293552540848,y:.6034129165660671},{x:.1431946178021742,y:.6028312459348294},{x:.1416117918312948,y:.6021354800922637},{x:.13995724554357097,y:.6016335789630078},{x:.13758319036175665,y:.6003646200309664},{x:.135118853337341,y:.5992813666868191},{x:.13370217810593676,y:.5982901757614691},{x:.13217733951411792,y:.5974751325536145},{x:.13009646274360603,y:.5957674011217274},{x:.1278908095078418,y:.594224193883191},{x:.09495385911112918,y:.5659898819750746},{x:.09467333761814536,y:.5688380644907257},{x:.0921125789630079,y:.577279754456429},{x:.08795413255361453,y:.5850596604858821},{x:.08235780515339464,y:.5918788051533946},{x:.07553866048588208,y:.5974751325536145},{x:.06775875445642904,y:.6016335789630078},{x:.059317064490725775,y:.6041943376181453},{x:.050538,y:.605059},{x:.04175893550927421,y:.6041943376181453},{x:.033317245543570934,y:.6016335789630078},{x:.025537339514117904,y:.5974751325536145},{x:.018718194846605356,y:.5918788051533946},{x:.013121867446385459,y:.5850596604858821},{x:.008963421036992096,y:.577279754456429},{x:.006402662381854635,y:.5688380644907257},{x:.005538000000000001,y:.560059},{x:.005538000000000001,y:.03920400000000002}]],n:[[{x:.047041,y:.03920400000000002},{x:.04790566238185463,y:.030424935509274227},{x:.050466421036992094,y:.02198324554357097},{x:.05462486744638546,y:.01420333951411792},{x:.06022119484660536,y:.00738419484660538},{x:.06704033951411792,y:.0017878674463854757},{x:.07482024554357096,y:-.002370578963007887},{x:.08326193550927423,y:-.004931337618145348},{x:.092041,y:-.005795999999999982},{x:.10082006449072577,y:-.004931337618145348},{x:.10926175445642904,y:-.002370578963007887},{x:.1170416604858821,y:.0017878674463854827},{x:.12386080515339463,y:.00738419484660538},{x:.12945713255361452,y:.01420333951411792},{x:.1336155789630079,y:.02198324554357098},{x:.13617633761814535,y:.030424935509274248},{x:.137041,y:.03920400000000002},{x:.137041,y:.3923986904044417},{x:.23217657812189968,y:.4860775193429304},{x:.29246969284729285,y:.5150589999999999},{x:.3857956927587408,y:.5150589999999999},{x:.4353266752666751,y:.4910865745843881},{x:.465011,y:.4037995608673687},{x:.465011,y:.03920400000000002},{x:.4658756623818546,y:.030424935509274227},{x:.46843642103699207,y:.02198324554357097},{x:.47259486744638546,y:.01420333951411792},{x:.4781911948466053,y:.00738419484660538},{x:.4850103395141179,y:.0017878674463854757},{x:.492790245543571,y:-.002370578963007887},{x:.5012319355092743,y:-.004931337618145348},{x:.510011,y:-.005795999999999982},{x:.5187900644907257,y:-.004931337618145348},{x:.527231754456429,y:-.002370578963007887},{x:.5350116604858821,y:.0017878674463854827},{x:.5418308051533947,y:.00738419484660538},{x:.5474271325536145,y:.01420333951411792},{x:.5515855789630079,y:.02198324554357098},{x:.5541463376181454,y:.030424935509274248},{x:.555011,y:.03920400000000002},{x:.555011,y:.411242},{x:.5547211401667089,y:.41418499627592825},{x:.5546227314347089,y:.4171405946120584},{x:.5542897326303223,y:.4185651504993601},{x:.5541463376181454,y:.4200210644907258},{x:.5532878972691104,y:.42285096307022063},{x:.5526147708021555,y:.4257305718218671},{x:.5144747708021555,y:.537881571821867},{x:.5144109474804813,y:.5380222238814931},{x:.5143747633675698,y:.5381723808934484},{x:.5125889395552703,y:.5420375142269895},{x:.5108295711501452,y:.5459147613418461},{x:.5107395343200961,y:.546040259499208},{x:.5106747512949527,y:.5461804721160435},{x:.5081691914797779,y:.5496229410537735},{x:.5056872154570532,y:.5530824522038071},{x:.5055744251835149,y:.5531879736350976},{x:.505483532821465,y:.5533128535645805},{x:.5023545242619802,y:.5562003659557777},{x:.4992453215682988,y:.5591091940676126},{x:.49911411231822944,y:.5591906836434047},{x:.49900060356177384,y:.559295431819878},{x:.49536839230215873,y:.5615170221826804},{x:.49175144785337105,y:.5637633826232722},{x:.4916068619246677,y:.563817708744868},{x:.49147509885166074,y:.5638982997546532},{x:.41571709885166075,y:.6005642997546532},{x:.4144883994140345,y:.6010164083750983},{x:.41333375445642906,y:.6016335789630078},{x:.41035728417594536,y:.6025364813514484},{x:.4074382196167836,y:.6036105717354909},{x:.4061449272779714,y:.6038142858466193},{x:.4048920644907258,y:.6041943376181453},{x:.4017966387343604,y:.6044992104448776},{x:.3987241185432898,y:.6049831812385367},{x:.3974159338025849,y:.6049306722213019},{x:.396113,y:.605059},{x:.282216,y:.605059},{x:.28097323419788345,y:.6049365982521052},{x:.2797255990169867,y:.6049900349640848},{x:.2765922846246742,y:.6045051123806029},{x:.2734369355092743,y:.6041943376181453},{x:.2722419284999821,y:.603831836204989},{x:.27100784129389754,y:.6036408445963318},{x:.26802933636200627,y:.6025539603505436},{x:.264995245543571,y:.6016335789630078},{x:.2638939207763026,y:.6010449086106044},{x:.2627208068242762,y:.6006168283817219},{x:.18644080682427616,y:.563950828381722},{x:.18387931815291048,y:.5623935720684188},{x:.18122474955630472,y:.5610008994562176},{x:.18011833133270075,y:.5601070811947741},{x:.17890296169536754,y:.5593681975674947},{x:.17669449694619624,y:.5573411418478543},{x:.17436263208920222,y:.5554573484070612},{x:.137041,y:.5187071981771466},{x:.137041,y:.560059},{x:.13617633761814535,y:.5688380644907257},{x:.1336155789630079,y:.577279754456429},{x:.12945713255361452,y:.5850596604858821},{x:.12386080515339463,y:.5918788051533946},{x:.11704166048588208,y:.5974751325536145},{x:.10926175445642904,y:.6016335789630078},{x:.10082006449072577,y:.6041943376181453},{x:.092041,y:.605059},{x:.08326193550927423,y:.6041943376181453},{x:.07482024554357093,y:.6016335789630078},{x:.06704033951411792,y:.5974751325536145},{x:.06022119484660536,y:.5918788051533946},{x:.05462486744638546,y:.5850596604858821},{x:.050466421036992094,y:.577279754456429},{x:.04790566238185463,y:.5688380644907257},{x:.047041,y:.560059},{x:.047041,y:.03920400000000002}]],o:[[{x:.021894999999999998,y:.25490100000000004},{x:.022142430975592695,y:.2523887911456351},{x:.02217771682540861,y:.24986467341374632},{x:.02257373987793045,y:.24800963837050735},{x:.02275966238185463,y:.24612193550927428},{x:.023492446675001572,y:.24370626943231966},{x:.02401948545822835,y:.2412375358426815},{x:.060310485458228355,y:.12735753584268142},{x:.06080304558444478,y:.12621387418764726},{x:.061129830312657105,y:.12501229639135567},{x:.06254436541764224,y:.12217075210694647},{x:.06379993607002282,y:.11925547753662338},{x:.06450614911208748,y:.11822988473324028},{x:.0650610709625847,y:.11711514745523491},{x:.06700278396163635,y:.114604164756607},{x:.06880297103068717,y:.11198985605258731},{x:.06969569761744246,y:.11112174505713},{x:.07045743125471368,y:.1101366870258529},{x:.14244943125471368,y:.0338456870258529},{x:.144568728324263,y:.03200109409682955},{x:.1465508815997487,y:.0300098604251366},{x:.14788834203377002,y:.029111770054614114},{x:.1491035320893312,y:.02805409342394511},{x:.1515419696884587,y:.026658398178569347},{x:.15387450686277807,y:.025092124424329433},{x:.22587150686277807,y:-.01360287557567049},{x:.22795933917571506,y:-.014473279294209745},{x:.22995424554357097,y:-.015539578963007873},{x:.23202067225559728,y:-.016166422653018674},{x:.2340138134199343,y:-.01699735024728135},{x:.23623133596214702,y:-.01744371352418634},{x:.23839593550927424,y:-.018100337618145335},{x:.2405449475487996,y:-.01831199682974963},{x:.24266189699648397,y:-.01873811583170923},{x:.2449238916202761,y:-.018743285176571887},{x:.247175,y:-.018964999999999968},{x:.354874,y:-.018964999999999968},{x:.35712497901801044,y:-.018743297917588594},{x:.3593868436844028,y:-.018738141970160445},{x:.36150392306047363,y:-.018312009573623896},{x:.3636530644907258,y:-.018100337618145335},{x:.36581753964743763,y:-.017443751257606326},{x:.36803493734305537,y:-.016997426474138877},{x:.370028203326089,y:-.016166460394901543},{x:.3720947544564291,y:-.015539578963007873},{x:.3740895461854217,y:-.014473340569958804},{x:.376177263560353,y:-.01360299896157894},{x:.448175263560353,y:.025092001038420984},{x:.4505076595021602,y:.026658160356610353},{x:.4529459593263057,y:.028053731854915283},{x:.45416130097157975,y:.029111510806286087},{x:.45549891730603415,y:.030009694621828502},{x:.4574809543881169,y:.03200078850323144},{x:.4596001404718476,y:.03384523318438343},{x:.5315941404718476,y:.11013623318438343},{x:.5323560786638525,y:.11112152750713142},{x:.5332490289693128,y:.11198985605258731},{x:.5350490398057314,y:.11460390882403626},{x:.5369905975332091,y:.11711461878219896},{x:.5375456739097991,y:.11822962771804991},{x:.5382520639299772,y:.11925547753662338},{x:.5395075116659538,y:.12217046671076734},{x:.5409219476918898,y:.12501171320336152},{x:.5412488309792026,y:.126213587584214},{x:.5417415145417717,y:.12735753584268142},{x:.5780325145417716,y:.2412375358426815},{x:.5785595533249983,y:.2437062694323195},{x:.5792923376181454,y:.24612193550927428},{x:.5794782601220696,y:.2480096383705079},{x:.5798742831745913,y:.24986467341374632},{x:.5799095690244073,y:.25238879114563434},{x:.580157,y:.25490100000000004},{x:.580157,y:.33119200000000004},{x:.5799156873690254,y:.3336420882589673},{x:.5798881240960263,y:.3361038771468651},{x:.5794843860383102,y:.3380211641581212},{x:.5792923376181454,y:.33997106449072584},{x:.5785776732343003,y:.3423269972319261},{x:.5780703683949873,y:.3447361062088315},{x:.5417793683949873,y:.4597211062088315},{x:.5412650895934552,y:.4609244011905288},{x:.540921633437906,y:.46218711230867804},{x:.5395351283421765,y:.46497211555478546},{x:.5383124760126231,y:.46783284286481475},{x:.5375733277285976,y:.46891268605384906},{x:.5369901282681178,y:.47008412955994733},{x:.5350869372989228,y:.47254512602400234},{x:.5333296776789325,y:.47511235762423976},{x:.5323940649664491,y:.4760272512524403},{x:.5315935342292432,y:.47706240922950055},{x:.45959953422924316,y:.5533504092295005},{x:.4572787448447235,y:.5553702403350376},{x:.45508230823461715,y:.5575246421731296},{x:.45395838697349994,y:.5582600166131206},{x:.4529452394037514,y:.5591417799431011},{x:.45027499383570063,y:.5606700370119551},{x:.44770045819082444,y:.5623545390972755},{x:.3757024581908245,y:.5999485390972755},{x:.37385313535723513,y:.6006937047902838},{x:.3720947544564291,y:.6016335789630078},{x:.36977177563531344,y:.6023382468844833},{x:.3675201821794923,y:.6032455034042244},{x:.36556101895058973,y:.6036155659602718},{x:.3636530644907258,y:.6041943376181453},{x:.36123724716457173,y:.6044322748568528},{x:.35885192047906295,y:.6048828346046191},{x:.35685820639902277,y:.60486357272721},{x:.354874,y:.605059},{x:.247175,y:.605059},{x:.24519066624232813,y:.6048635601834779},{x:.24319682408363533,y:.6048828119349353},{x:.24081162559758007,y:.6044322623250186},{x:.23839593550927424,y:.6041943376181453},{x:.23648785858508298,y:.6036155288111242},{x:.234528571713998,y:.6032454313367869},{x:.23227710201651716,y:.602338209770572},{x:.22995424554357097,y:.6016335789630078},{x:.2281957517789948,y:.6006936444633418},{x:.22634631449119302,y:.5999484204015954},{x:.15434931449119302,y:.5623544204015953},{x:.15177463525955168,y:.5606698034147719},{x:.14910425200363037,y:.5591414183832311},{x:.14809125527340347,y:.55825976164439},{x:.1469674919716301,y:.5575244814106152},{x:.14477093694990967,y:.5553699388664325},{x:.14245003748743465,y:.5533499553954043},{x:.07045803748743465,y:.4770619553954044},{x:.06965771196430402,y:.47602703312304784},{x:.06872232232106745,y:.47511235762423976},{x:.06696488716695402,y:.4725448695811053},{x:.06506154021654398,y:.4700836008922148},{x:.0644784960433022,y:.46891242859710086},{x:.06373952398737684,y:.46783284286481475},{x:.06251674952606694,y:.46497182979435886},{x:.06113014455468816,y:.46218652912371366},{x:.06078678779193787,y:.46092411430034236},{x:.06027263160501272,y:.4597211062088315},{x:.023981631605012717,y:.3447361062088315},{x:.0234743267656997,y:.3423269972319261},{x:.02275966238185463,y:.33997106449072584},{x:.0225676139616898,y:.3380211641581212},{x:.022163875903973694,y:.3361038771468651},{x:.022136312630974576,y:.33364208825896713},{x:.021894999999999998,y:.33119200000000004},{x:.021894999999999998,y:.25490100000000004}],[{x:.111895,y:.2618978965790472},{x:.111895,y:.324259211613835},{x:.14299436878278687,y:.42279496206129447},{x:.20271328316555492,y:.48607750096051383},{x:.25821631520114247,y:.5150589999999999},{x:.3438328207386419,y:.5150589999999999},{x:.3993370917152178,y:.4860772565752743},{x:.4590577300605173,y:.42279464888454726},{x:.490157,y:.324259211613835},{x:.490157,y:.2618978965790472},{x:.4591028039244665,y:.16445082019422033},{x:.39914727445977055,y:.10091681321598435},{x:.3435475642149213,y:.07103500000000003},{x:.2585015743575747,y:.07103500000000003},{x:.20290309936793577,y:.10091656436690524},{x:.14294929572583875,y:.164450507494742},{x:.111895,y:.2618978965790472}]],p:[[{x:.031904,y:-.15424400000000005},{x:.032768662381854635,y:-.16302306449072582},{x:.0353294210369921,y:-.17146475445642909},{x:.03948786744638546,y:-.17924466048588214},{x:.04508419484660536,y:-.18606380515339468},{x:.051903339514117915,y:-.19166013255361458},{x:.05968324554357096,y:-.19581857896300794},{x:.06812493550927423,y:-.1983793376181454},{x:.076904,y:-.19924400000000003},{x:.08568306449072577,y:-.1983793376181454},{x:.09412475445642904,y:-.19581857896300794},{x:.1019046604858821,y:-.19166013255361458},{x:.10872380515339464,y:-.18606380515339468},{x:.11432013255361453,y:-.17924466048588214},{x:.1184785789630079,y:-.17146475445642909},{x:.12103933761814537,y:-.16302306449072582},{x:.121904,y:-.15424400000000005},{x:.121904,y:.08461372659928788},{x:.12362832174470662,y:.08333438131496537},{x:.12536021772829115,y:.08178035235824195},{x:.1271620685101291,y:.08071254912256186},{x:.12884414120453105,y:.07946455014784792},{x:.13094744853162613,y:.07846927732892851},{x:.13294924262910485,y:.07728298474798974},{x:.20690724262910487,y:.04275398474798971},{x:.20784573679964677,y:.04242345923251374},{x:.20872324554357097,y:.041954421036992075},{x:.21199903754957586,y:.040960720395783044},{x:.21522783943974558,y:.03982357810698025},{x:.21621278303720604,y:.03968249467654502},{x:.21716493550927424,y:.0393936623818546},{x:.22057164546850772,y:.03905813073713887},{x:.2239602522910248,y:.038572746319036566},{x:.22495379448531613,y:.03862652673075318},{x:.225944,y:.038528999999999966},{x:.338005,y:.038528999999999966},{x:.33886621477794643,y:.03861382225207184},{x:.3397300481447032,y:.038562076501738984},{x:.34324908380057223,y:.0390454971728409},{x:.3467840644907258,y:.0393936623818546},{x:.3476121832677305,y:.039644869466491955},{x:.3484695134136621,y:.03976264352593092},{x:.35182662109175783,y:.04092330520367998},{x:.35522575445642907,y:.04195442103699206},{x:.3559889530923063,y:.042362359206810904},{x:.35680683330070073,y:.04264512708496585},{x:.4318888333007007,y:.07717412708496588},{x:.43400924312431544,y:.07841428389434572},{x:.43622962614931016,y:.07946501028796468},{x:.4378075563324746,y:.08063579029221077},{x:.43950360927818305,y:.0816277549521855},{x:.44134133343031445,y:.08325775393151234},{x:.4433140658676044,y:.08472146615145025},{x:.5183930658676044,y:.1527974661514503},{x:.519792625068414,y:.15434228537837358},{x:.5213447099268285,y:.1557337827706549},{x:.522746916505161,y:.1576032022519019},{x:.5243158963961404,y:.15933502631539204},{x:.52538718417891,y:.1611232027292085},{x:.5266379784876352,y:.1627907596241023},{x:.5276485364111687,y:.16489781566710873},{x:.5288495066792682,y:.16690245600899573},{x:.5295513540552914,y:.16886527099294393},{x:.530452790490496,y:.17074480411415546},{x:.5674347904904959,y:.2723648041141554},{x:.5682868803844835,y:.2756900562357905},{x:.5692833376181453,y:.27897493550927416},{x:.5693799285821196,y:.2799556400244087},{x:.5696245448495124,y:.2809102467717411},{x:.5698115375679212,y:.2843378395980749},{x:.570148,y:.28775399999999995},{x:.570148,y:.355831},{x:.5698183264321395,y:.3591782319067787},{x:.5696454905753794,y:.362537215959393},{x:.5693867528695432,y:.3635600718226051},{x:.5692833376181453,y:.3646100644907258},{x:.5683069860848939,y:.3678286641524751},{x:.567482165940186,y:.37108938766543825},{x:.530500165940186,y:.47369538766543823},{x:.5295747233109523,y:.4756403735939819},{x:.5288495066792682,y:.4776685439910043},{x:.5276841925618525,y:.47961366765708685},{x:.5267099630491849,y:.4816611880905031},{x:.5254228546094585,y:.48338825675926556},{x:.5243158963961404,y:.48523597368460797},{x:.5227934986603558,y:.48691638083844907},{x:.5214385372739072,y:.48873449599152474},{x:.5198392258792078,y:.49017727712011666},{x:.5183930658676044,y:.4917735338485497},{x:.4433140658676044,y:.5598495338485497},{x:.44114571117720175,y:.5614583923016819},{x:.43910641435493325,y:.5632279843609703},{x:.43761161896162687,y:.5640805897495177},{x:.43622962614931016,y:.5651059897120353},{x:.43378906307257026,y:.5662609093863238},{x:.43144372048223223,y:.5675986521566495},{x:.35636172048223225,y:.6011446521566495},{x:.355773047491519,y:.6013410447411239},{x:.35522575445642907,y:.6016335789630078},{x:.3515938477815883,y:.6027353058079922},{x:.3479935881359665,y:.6039364213810477},{x:.34737791203915763,y:.6040141959337602},{x:.3467840644907258,y:.6041943376181453},{x:.34300700763927916,y:.6045663452480041},{x:.3392415999493003,y:.6050420059085138},{x:.33862258083352115,y:.60499817359702},{x:.338005,y:.605059},{x:.225944,y:.605059},{x:.2251997336627212,y:.6049856961639699},{x:.22445344765540867,y:.6050343071552383},{x:.22081614914993766,y:.6045539507735711},{x:.21716493550927424,y:.6041943376181453},{x:.21644927090994795,y:.6039772431353645},{x:.21570784104506457,y:.6038793269025836},{x:.2122341450916469,y:.6026985986973952},{x:.20872324554357097,y:.6016335789630078},{x:.20806368527139987,y:.6012810366527016},{x:.20735560428285457,y:.6010403560617851},{x:.13339760428285458,y:.5674943560617851},{x:.13116986982932302,y:.566206971138138},{x:.12884414120453105,y:.5651064498521521},{x:.1273598902040749,y:.5640052229355318},{x:.12575970914356202,y:.5630804946901414},{x:.12382593632220404,y:.5613832370749092},{x:.121904,y:.5599572734007121},{x:.121904,y:.560059},{x:.12103933761814537,y:.5688380644907257},{x:.1184785789630079,y:.577279754456429},{x:.11432013255361453,y:.5850596604858821},{x:.10872380515339464,y:.5918788051533946},{x:.10190466048588208,y:.5974751325536145},{x:.09412475445642904,y:.6016335789630078},{x:.08568306449072577,y:.6041943376181453},{x:.076904,y:.605059},{x:.0681249355092742,y:.6041943376181453},{x:.059683245543570934,y:.6016335789630078},{x:.051903339514117915,y:.5974751325536145},{x:.04508419484660536,y:.5918788051533946},{x:.03948786744638546,y:.5850596604858821},{x:.0353294210369921,y:.577279754456429},{x:.032768662381854635,y:.5688380644907257},{x:.031904,y:.560059},{x:.031904,y:-.15424400000000005}],[{x:.121904,y:.20607608160839302},{x:.121904,y:.438494918391607},{x:.17699192809119763,y:.48844251958412144},{x:.23567259519301437,y:.5150589999999999},{x:.3284092961747297,y:.5150589999999999},{x:.38817711429028284,y:.4883552464171925},{x:.4496333594179428,y:.43263133769024387},{x:.48014799999999996,y:.3479689286382035},{x:.48014799999999996,y:.29568777567179994},{x:.44968806913177495,y:.21198926897045803},{x:.3879916447872207,y:.1560475837631447},{x:.32815352882369925,y:.12852899999999995},{x:.2359312215606538,y:.12852899999999995},{x:.17717907548697515,y:.15595879598931894},{x:.121904,y:.20607608160839302}]],q:[[{x:.031905,y:.285813},{x:.03224141038262204,y:.2823973680650777},{x:.0324282929389951,y:.2789703010434802},{x:.03267301908894614,y:.2780151713289937},{x:.032769662381854636,y:.2770339355092742},{x:.03376596546737772,y:.2737495643941025},{x:.03461784473664685,y:.27042480648246636},{x:.07159784473664685,y:.1688028064824664},{x:.0724995244823713,y:.166922651750872},{x:.0732016076706368,y:.1649592141085361},{x:.07440224792307432,y:.1629551516523985},{x:.07541246819615938,y:.16084867156853302},{x:.07666362241043057,y:.15918055247485355},{x:.0777352629490018,y:.15739181137154173},{x:.07930380642556048,y:.15566048970702676},{x:.08070556947724908,y:.15379156924569237},{x:.08225811700526783,y:.15239959067120604},{x:.08365813234923056,y:.15085428642438087},{x:.15873913234923054,y:.08277728642438094},{x:.16071062555900373,y:.0813145118522212},{x:.16254708404197357,y:.07968542770293169},{x:.16424441690754124,y:.07869257021816739},{x:.16582360332185575,y:.07752087268448676},{x:.16804258800473576,y:.07647082416071167},{x:.17016157800418052,y:.07523131768336211},{x:.24523757800418056,y:.0406993176833621},{x:.24605678866737324,y:.04041603175027397},{x:.24682124554357093,y:.04000742103699214},{x:.2502190216384501,y:.03897671692697023},{x:.2535747153580455,y:.03781630621794852},{x:.25443345146196317,y:.037698283616711674},{x:.2552629355092742,y:.03744666238185468},{x:.25879650468596477,y:.037098636194782805},{x:.2623141045905799,y:.03661518582049534},{x:.2631793653883337,y:.03666696209348752},{x:.264042,y:.036582000000000045},{x:.376106,y:.036582000000000045},{x:.3770966034546813,y:.036679565924422064},{x:.37809054588497415,y:.03662578154659327},{x:.38147875036256007,y:.037111169723096304},{x:.3848850644907258,y:.03744666238185468},{x:.3858375996101805,y:.03773561075136079},{x:.38682293652697,y:.03787676837406198},{x:.39005134306992567,y:.03901383585544661},{x:.39332675445642906,y:.04000742103699214},{x:.39420461585020444,y:.04047664772778637},{x:.3951434813083616,y:.04080732274273922},{x:.4691044813083616,y:.07533932274273922},{x:.47110618065167786,y:.07652560719175487},{x:.47320939667814427,y:.07752087268448679},{x:.4748915208069018,y:.0787689461703934},{x:.4766934263594154,y:.07983682509171056},{x:.47842523099597173,y:.08139082758714347},{x:.48014799999999996,y:.08266905805748193},{x:.48014799999999996,y:-.15619500000000008},{x:.4810126623818546,y:-.16497406449072585},{x:.483573421036992,y:-.17341575445642912},{x:.4877318674463854,y:-.18119566048588218},{x:.4933281948466053,y:-.18801480515339472},{x:.5001473395141178,y:-.19361113255361462},{x:.5079272455435709,y:-.19776957896300798},{x:.5163689355092742,y:-.20033033761814545},{x:.525148,y:-.20119500000000007},{x:.5339270644907257,y:-.20033033761814545},{x:.542368754456429,y:-.19776957896300798},{x:.5501486604858821,y:-.19361113255361462},{x:.5569678051533946,y:-.18801480515339472},{x:.5625641325536145,y:-.18119566048588218},{x:.5667225789630078,y:-.17341575445642912},{x:.5692833376181453,y:-.16497406449072585},{x:.570148,y:-.15619500000000008},{x:.570148,y:.5581050000000001},{x:.5692833376181453,y:.5668840644907258},{x:.5667225789630078,y:.5753257544564291},{x:.5625641325536145,y:.5831056604858822},{x:.5569678051533946,y:.5899248051533947},{x:.5501486604858821,y:.5955211325536146},{x:.542368754456429,y:.5996795789630079},{x:.5339270644907257,y:.6022403376181454},{x:.525148,y:.6031050000000001},{x:.5163689355092742,y:.6022403376181454},{x:.5079272455435709,y:.5996795789630079},{x:.5001473395141178,y:.5955211325536146},{x:.4933281948466053,y:.5899248051533947},{x:.4877318674463854,y:.5831056604858822},{x:.483573421036992,y:.5753257544564291},{x:.4810126623818546,y:.5668840644907258},{x:.48014799999999996,y:.5581050000000001},{x:.48014799999999996,y:.558005596763998},{x:.4782247267606458,y:.559432223348863},{x:.47629232280480055,y:.5611281889595863},{x:.4746904859851039,y:.5620538174856352},{x:.4732046002880372,y:.5631560030691136},{x:.4708804506539088,y:.5642554633364756},{x:.4686543108210992,y:.5655418481335316},{x:.3946933108210992,y:.5990868481335316},{x:.3939857884552202,y:.5993273179516839},{x:.39332675445642906,y:.5996795789630079},{x:.3898152875083263,y:.6007447708163117},{x:.38634099890642704,y:.6019255978665906},{x:.3856001580501581,y:.6020234163584227},{x:.3848850644907258,y:.6022403376181454},{x:.38123326077373504,y:.6026000088910167},{x:.3775953617236344,y:.6030803465985108},{x:.3768496724756141,y:.6030317546542387},{x:.376106,y:.6031050000000001},{x:.264042,y:.6031050000000001},{x:.26342400033164626,y:.6030441323453897},{x:.26280456058717394,y:.6030879828235033},{x:.25903957642572706,y:.602612304281983},{x:.2552629355092742,y:.6022403376181454},{x:.254668685221597,y:.6020600737641458},{x:.25405259303422617,y:.6019822349683996},{x:.25045275226756825,y:.6007811844842303},{x:.24682124554357093,y:.5996795789630079},{x:.24627358134186672,y:.5993868463484354},{x:.24568451278884912,y:.5991903095800973},{x:.17060851278884911,y:.5656453095800973},{x:.16826609518471405,y:.5643091772352096},{x:.16582839971196278,y:.5631560030691136},{x:.1644435861855132,y:.5621287897998347},{x:.16294590048199914,y:.5612744987855388},{x:.1609091582647261,y:.559507056844315},{x:.15874327554635076,y:.5579004698017108},{x:.08366227554635075,y:.4898404698017108},{x:.0822135909199537,y:.48824184486316324},{x:.08061175169940471,y:.4867967151276658},{x:.07925889408089541,y:.48498133393711457},{x:.07773859373239328,y:.48330368097737925},{x:.0766296214289207,y:.4814531488185024},{x:.0753404919252871,y:.4797232835162987},{x:.07436779238761855,y:.4776788549378484},{x:.07320399804016177,y:.47573684172476444},{x:.07247735524331753,y:.47370551725863386},{x:.07155047598047157,y:.4717573941431678},{x:.034570475980471575,y:.3691493941431678},{x:.03374586128764337,y:.36588916100716024},{x:.032769662381854636,y:.3626710644907258},{x:.032666195333495754,y:.36162054591923504},{x:.032407352052251925,y:.36059717166956007},{x:.03223462203187315,y:.35723870865311785},{x:.031905,y:.353892},{x:.031905,y:.285813}],[{x:.121905,y:.2937462257558374},{x:.121905,y:.3460304727958324},{x:.1524170009298456,y:.4306917867874386},{x:.21387346155335435,y:.48640130996954867},{x:.2736381428091649,y:.513105},{x:.36637802828147564,y:.513105},{x:.4250638403772601,y:.4864880590885319},{x:.48014799999999996,y:.4365549481293854},{x:.48014799999999996,y:.20413270643748072},{x:.4248733312055972,y:.15401438585682045},{x:.36611835928516706,y:.12658200000000003},{x:.27389496414813935,y:.12658200000000003},{x:.2140623112166411,y:.15410266134357853},{x:.15236330162501277,y:.21004602219345103},{x:.121905,y:.2937462257558374}]],r:[[{x:.062422000000000005,y:.03920400000000002},{x:.06328666238185464,y:.030424935509274227},{x:.0658474210369921,y:.02198324554357097},{x:.07000586744638546,y:.01420333951411792},{x:.07560219484660537,y:.00738419484660538},{x:.08242133951411793,y:.0017878674463854757},{x:.09020124554357097,y:-.002370578963007887},{x:.09864293550927423,y:-.004931337618145348},{x:.107422,y:-.005795999999999982},{x:.11620106449072577,y:-.004931337618145348},{x:.12464275445642904,y:-.002370578963007887},{x:.1324226604858821,y:.0017878674463854827},{x:.13924180515339463,y:.00738419484660538},{x:.14483813255361455,y:.01420333951411792},{x:.14899657896300791,y:.02198324554357098},{x:.15155733761814538,y:.030424935509274248},{x:.152422,y:.03920400000000002},{x:.152422,y:.3275398012121413},{x:.1925108808296549,y:.4204278633799401},{x:.27478075869941443,y:.4836647262821032},{x:.3576648607132649,y:.5150589999999999},{x:.49463,y:.5150589999999999},{x:.5034090644907258,y:.5159236623818546},{x:.511850754456429,y:.5184844210369921},{x:.5196306604858821,y:.5226428674463854},{x:.5264498051533947,y:.5282391948466053},{x:.5320461325536145,y:.5350583395141179},{x:.5362045789630079,y:.542838245543571},{x:.5387653376181454,y:.5512799355092742},{x:.53963,y:.560059},{x:.5387653376181454,y:.5688380644907257},{x:.5362045789630079,y:.577279754456429},{x:.5320461325536145,y:.5850596604858821},{x:.5264498051533947,y:.5918788051533946},{x:.5196306604858821,y:.5974751325536145},{x:.511850754456429,y:.6016335789630078},{x:.5034090644907258,y:.6041943376181453},{x:.49463,y:.605059},{x:.349428,y:.605059},{x:.34572095329292224,y:.6046938877675093},{x:.3420044651532413,y:.6044424555930356},{x:.34133700376168824,y:.6042621064259311},{x:.3406489355092742,y:.6041943376181453},{x:.33708434852821606,y:.6031130319790114},{x:.33348832364990477,y:.6021413801353276},{x:.23668632364990477,y:.5654753801353276},{x:.2347311434313091,y:.5645060813254815},{x:.23268939209293205,y:.5637356779621759},{x:.23078888495220712,y:.562551669954317},{x:.22878273496962892,y:.5615571024090896},{x:.2270542238076375,y:.5602249916656349},{x:.22520200238894322,y:.5590710654608507},{x:.152422,y:.5031286093364514},{x:.152422,y:.560059},{x:.15155733761814538,y:.5688380644907257},{x:.14899657896300791,y:.577279754456429},{x:.14483813255361455,y:.5850596604858821},{x:.13924180515339463,y:.5918788051533946},{x:.1324226604858821,y:.5974751325536145},{x:.12464275445642904,y:.6016335789630078},{x:.11620106449072577,y:.6041943376181453},{x:.107422,y:.605059},{x:.09864293550927423,y:.6041943376181453},{x:.09020124554357094,y:.6016335789630078},{x:.08242133951411793,y:.5974751325536145},{x:.07560219484660537,y:.5918788051533946},{x:.07000586744638546,y:.5850596604858821},{x:.0658474210369921,y:.577279754456429},{x:.06328666238185464,y:.5688380644907257},{x:.062422000000000005,y:.560059},{x:.062422000000000005,y:.03920400000000002}]],s:[[{x:.056563,y:.369888},{x:.056809270227573656,y:.3673875764180495},{x:.05684306423764694,y:.36487528163458033},{x:.05724057756471223,y:.36300843953465567},{x:.057427662381854636,y:.3611089355092742},{x:.05815700903783985,y:.3587046018033244},{x:.05868027810379197,y:.35624717294397146},{x:.05943435615016931,y:.3544937526945111},{x:.0599884210369921,y:.352667245543571},{x:.06117281573842168,y:.3504513989095756},{x:.06216545092350078,y:.34814327358726177},{x:.06324711489275962,y:.3465706581451233},{x:.06414686744638545,y:.3448873395141179},{x:.06574079456909979,y:.3429451336955602},{x:.0671646494598194,y:.3408750118720105},{x:.06853233161222538,y:.3395436359667022},{x:.06974319484660536,y:.33806819484660533},{x:.07168540066516299,y:.33647426772389105},{x:.07348575731657993,y:.3347217030198468},{x:.07508689839402109,y:.33368273068076537},{x:.07656233951411792,y:.33247186744638546},{x:.07877818614811302,y:.331287472744956},{x:.08088585786376518,y:.3299198152391437},{x:.15568385786376518,y:.29122381523914376},{x:.1574569269125657,y:.29051717359061785},{x:.15914024554357095,y:.2896174210369921},{x:.16154457924952065,y:.28888807438100694},{x:.16387856938737105,y:.2879578823843842},{x:.16575542835833412,y:.2876107272686775},{x:.16758193550927422,y:.2870566623818547},{x:.17008235909122482,y:.286810392154281},{x:.17255297371919248,y:.2863534124236203},{x:.17446149597461844,y:.28637908481714247},{x:.176361,y:.28619200000000006},{x:.288347309340128,y:.28619200000000006},{x:.3974525128623667,y:.21942256309828728},{x:.45549,y:.1602321160680505},{x:.45549,y:.13007078589845048},{x:.407404042616179,y:.10590438131127383},{x:.31753214348357883,y:.07103500000000003},{x:.21224543978224936,y:.07103500000000003},{x:.16354378174687056,y:.09622932957230687},{x:.14433666195924297,y:.15500005013212306},{x:.1407876006468136,y:.16307617408904287},{x:.13573115992893667,y:.17030473007440486},{x:.12936165598671553,y:.1764079287355125},{x:.12192386528459082,y:.18115122757053267},{x:.11370361794808405,y:.18435234426530817},{x:.10501681347236942,y:.18588826170046568},{x:.09619728088183255,y:.18569995543032455},{x:.08758394986787689,y:.1837946619592429},{x:.07950782591095708,y:.18024560064681355},{x:.07227926992559508,y:.1751891599289366},{x:.06617607126448745,y:.1688196559867155},{x:.06143277242946728,y:.16138186528459075},{x:.05823165573469179,y:.153161617948084},{x:.05669573829953427,y:.14447481347236937},{x:.0568840445696754,y:.1356552808818325},{x:.05878933804075704,y:.12704194986787684},{x:.08372233804075704,y:.050750949867876836},{x:.08542587043333498,y:.04687444913825993},{x:.08709879890390285,y:.042984643121031924},{x:.08719974017890864,y:.04283789110571456},{x:.0872713993531864,y:.04267482591095703},{x:.0896984666241539,y:.03920515373890898},{x:.0920981137517354,y:.03571646140762123},{x:.09222574536637099,y:.03559222185697407},{x:.09232784007106334,y:.035446269925595034},{x:.09538517138631239,y:.032516763866873036},{x:.0984193200775319,y:.02956325371133576},{x:.09856873722042347,y:.029466301081615798},{x:.09869734401328446,y:.029343071264487396},{x:.10226744784494098,y:.027066310594042624},{x:.10581949746716537,y:.024761484353185106},{x:.18061849746716538,y:-.013933515646814817},{x:.1823912439162618,y:-.014639995851387814},{x:.18407424554357094,y:-.01553957896300786},{x:.18647892276401756,y:-.016269029822976466},{x:.18881326125361947,y:-.017199317363260178},{x:.19068977232738848,y:-.017546377073194466},{x:.1925159355092742,y:-.018100337618145335},{x:.19501671633437545,y:-.018346643031098245},{x:.19748769126025723,y:-.018803648509519946},{x:.19939585369049342,y:-.018777950414796084},{x:.201295,y:-.018964999999999968},{x:.325956,y:-.018964999999999968},{x:.3298421413721484,y:-.018582248482612737},{x:.33373593654739714,y:-.01828737118339306},{x:.334227355251249,y:-.018150342613638803},{x:.3347350644907258,y:-.018100337618145335},{x:.33847186362931597,y:-.016966791992147238},{x:.34223331291484477,y:-.015917938922943478},{x:.44196531291484475,y:.022777061077056446},{x:.44388622686678575,y:.02374867869889352},{x:.4458951331158935,y:.02452214291663178},{x:.5206971331158935,y:.06211514291663188},{x:.5230429253028388,y:.06359852573319036},{x:.5254906604858821,y:.06490686744638552},{x:.526762463529903,y:.06595060923072474},{x:.5281530225051898,y:.06682994172267823},{x:.5301643473216751,y:.06874246310749585},{x:.5323098051533947,y:.07050319484660542},{x:.5333535469377338,y:.07177499789062616},{x:.5345458374532134,y:.07290871885358566},{x:.536145400814505,y:.07517688168239829},{x:.5379061325536145,y:.07732233951411796},{x:.538681702666837,y:.0787733291400739},{x:.5396299056666436,y:.08011787031323085},{x:.5407562372498129,y:.08265451036052812},{x:.5420645789630079,y:.08510224554357101},{x:.5425421726806072,y:.08667666103386074},{x:.5432098492552168,y:.08818035245395842},{x:.5438196647691762,y:.09088798806528645},{x:.5446253376181454,y:.09354393550927428},{x:.5447866012813922,y:.09518127295954937},{x:.5451480929944793,y:.09678632860859225},{x:.545217957571016,y:.09956090686586556},{x:.54549,y:.10232300000000005},{x:.54549,y:.17861300000000002},{x:.5450792542455133,y:.1827833716312913},{x:.5447095428008049,y:.18695758114513777},{x:.5446471218945653,y:.18717088502046353},{x:.5446253376181454,y:.1873920644907258},{x:.5434088850836819,y:.19140217107899518},{x:.5422319296624953,y:.19542404720269643},{x:.5421290946347417,y:.1956210747891699},{x:.5420645789630079,y:.19583375445642906},{x:.5400891672372728,y:.199529489854385},{x:.5381501975764,y:.20324447414399938},{x:.5380109003195782,y:.20341765378196683},{x:.5379061325536145,y:.20361366048588211},{x:.5352476756014034,y:.20685299965477524},{x:.5326212052175259,y:.21011832734743824},{x:.45781920521752584,y:.28640632734743826},{x:.45695946559173245,y:.28712616331644525},{x:.45621413415776596,y:.2879638966272176},{x:.45358375241990234,y:.28995255364350675},{x:.45105542866152953,y:.29206944848930627},{x:.4500717756605794,y:.29260772613156716},{x:.4491773318997613,y:.2932839556822147},{x:.3245133318997613,y:.3695749556822147},{x:.3213472249094816,y:.3711082739568931},{x:.3182447544564291,y:.37276657896300797},{x:.31738368821196916,y:.37302778055263114},{x:.3165738477898179,y:.3734199792757539},{x:.31316944110160955,y:.3743061584374605},{x:.3098030644907258,y:.3753273376181454},{x:.3089075854904768,y:.3754155346015568},{x:.3080367917497669,y:.3756422053074494},{x:.30452491480344407,y:.37584718998797495},{x:.301024,y:.376192},{x:.18731182116617404,y:.376192},{x:.146563,y:.397272996602132},{x:.146563,y:.42779681790574337},{x:.20153437253410483,y:.48386323770148376},{x:.2842918489876165,y:.5150589999999999},{x:.39008456648169626,y:.5150589999999999},{x:.4553477907191711,y:.4822576837794137},{x:.4635801440629335,y:.47908783003036465},{x:.47227272283422006,y:.4775849365970516},{x:.4810914761057044,y:.47780675883128426},{x:.48969750413477736,y:.47974477222900047},{x:.4977600820905977,y:.48332450002217653},{x:.5049693696238691,y:.488408375279255},{x:.5110483178577028,y:.4948010275251766},{x:.5157633162205862,y:.5022567907191711},{x:.5189331699696352,y:.5104891440629334},{x:.5204360634029483,y:.51918172283422},{x:.5202142411687157,y:.5280004761057044},{x:.5182762277709995,y:.5366065041347774},{x:.5146964999778234,y:.5446690820905977},{x:.509612624720745,y:.551878369623869},{x:.5032199724748234,y:.5579573178577029},{x:.49576420928082887,y:.5626723162205862},{x:.42096520928082887,y:.6002663162205862},{x:.41942927464851043,y:.6008577252562829},{x:.41797775445642904,y:.6016335789630078},{x:.4153223812886681,y:.6024390776071881},{x:.41273285593706643,y:.6034361699696352},{x:.41111105567880996,y:.6037165692645292},{x:.40953606449072577,y:.6041943376181453},{x:.40677456858393113,y:.6044663212253706},{x:.4040402771657799,y:.6049390634029483},{x:.4023949361559939,y:.6048976773693867},{x:.400757,y:.605059},{x:.276092,y:.605059},{x:.2724204350331364,y:.6046973824138966},{x:.26873912724910987,y:.6044542166602351},{x:.2680367190736708,y:.6042656240771296},{x:.2673129355092742,y:.6041943376181453},{x:.2637824667250502,y:.6031233816208718},{x:.26021933352302795,y:.6021667007079561},{x:.1604883335230279,y:.5645727007079561},{x:.15963695838633216,y:.5641523105976027},{x:.15873109713512196,y:.563867735718488},{x:.15568848233041307,y:.5622026409240001},{x:.1525785174681621,y:.5606670094317409},{x:.15182551530799093,y:.5600886019499048},{x:.15099257773152036,y:.559632770334096},{x:.14833326979676884,y:.5574060851671644},{x:.1455826488796249,y:.5552932363569977},{x:.14495695714670492,y:.554579039378831},{x:.14422895256892138,y:.5539694683796904},{x:.06943095256892137,y:.47768146837969044},{x:.06680494464711424,y:.4744165369262552},{x:.06414686744638545,y:.4711776604858821},{x:.0640418150384659,y:.470981121254323},{x:.0639021439692389,y:.47080746737336276},{x:.06196355058191934,y:.4670929619312254},{x:.0599884210369921,y:.46339775445642906},{x:.05992373008360734,y:.46318449696300446},{x:.05982062094636722,y:.462986931318802},{x:.05864394115023422,y:.4589655982489849},{x:.057427662381854636,y:.45495606449072584},{x:.05740581892006417,y:.454734284101312},{x:.05734323414113077,y:.4545203990307778},{x:.05697368708086039,y:.4503467759079653},{x:.056563,y:.44617700000000005},{x:.056563,y:.369888}]],t:[[{x:.036055000000000004,y:.484201},{x:.03691966238185464,y:.4754219355092742},{x:.0394804210369921,y:.466980245543571},{x:.04363886744638546,y:.4592003395141179},{x:.049235194846605365,y:.45238119484660533},{x:.05605433951411792,y:.44678486744638546},{x:.06383424554357096,y:.44262642103699207},{x:.07227593550927423,y:.4400656623818546},{x:.081055,y:.439201},{x:.201032,y:.439201},{x:.201032,y:.17345100000000002},{x:.2013458215844704,y:.17026471598156256},{x:.20148726326025637,y:.1670661406603643},{x:.20177732050748418,y:.165883633894134},{x:.20189666238185464,y:.16467193550927425},{x:.20282606714776777,y:.16160809859877695},{x:.20358880215081968,y:.15849857690755997},{x:.20410398165518515,y:.15739537903902878},{x:.2044574210369921,y:.15623024554357098},{x:.20596669248041014,y:.15340659727526443},{x:.20732140933230742,y:.15050562638878262},{x:.2623124093323074,y:.05773162638878261},{x:.2645408071528226,y:.05469603003381387},{x:.2666808493837164,y:.051597510818645845},{x:.2671477670132535,y:.051144744093296994},{x:.26753264280400524,y:.05062045370997057},{x:.2703104380556505,y:.04807792433615628},{x:.27301385108661325,y:.04545644382682572},{x:.2735601274310704,y:.04510346799784869},{x:.2740398919211364,y:.04466433724917905},{x:.27726033549019774,y:.04271258283448707},{x:.28042322867453984,y:.040668883056825214},{x:.28102787064035484,y:.04042926278737637},{x:.28158408674943697,y:.04009216722176761},{x:.28512341879560005,y:.038806192593798694},{x:.288624243922019,y:.03741881178414046},{x:.39861224392201905,y:.005893811784140432},{x:.4004470188387682,y:.005558110934368086},{x:.4022319355092743,y:.0050166623818546086},{x:.4047755505163489,y:.004766138170207483},{x:.4072897364122725,y:.0043061284251197166},{x:.4091547486303562,y:.0043348248023798485},{x:.411011,y:.004151999999999975},{x:.520997,y:.004151999999999975},{x:.5297760644907258,y:.0050166623818546086},{x:.538217754456429,y:.00757742103699207},{x:.5459976604858822,y:.011735867446385433},{x:.5528168051533947,y:.017332194846605337},{x:.5584131325536146,y:.02415133951411788},{x:.5625715789630079,y:.031931245543570935},{x:.5651323376181454,y:.040372935509274205},{x:.5659970000000001,y:.049151999999999973},{x:.5651323376181454,y:.05793106449072574},{x:.5625715789630079,y:.06637275445642901},{x:.5584131325536146,y:.07415266048588207},{x:.5528168051533947,y:.08097180515339461},{x:.5459976604858822,y:.08656813255361451},{x:.538217754456429,y:.09072657896300787},{x:.5297760644907258,y:.09328733761814534},{x:.520997,y:.09415199999999997},{x:.41733272532416527,y:.09415199999999997},{x:.33061421916568134,y:.11900744701827656},{x:.291032,y:.1857856616511605},{x:.291032,y:.439201},{x:.466004,y:.439201},{x:.47478306449072577,y:.4400656623818546},{x:.48322475445642904,y:.44262642103699207},{x:.4910046604858821,y:.44678486744638546},{x:.49782380515339464,y:.45238119484660533},{x:.5034201325536145,y:.4592003395141179},{x:.5075785789630078,y:.466980245543571},{x:.5101393376181453,y:.4754219355092742},{x:.511004,y:.484201},{x:.5101393376181453,y:.4929800644907258},{x:.5075785789630078,y:.501421754456429},{x:.5034201325536145,y:.5092016604858821},{x:.49782380515339464,y:.5160208051533947},{x:.4910046604858821,y:.5216171325536145},{x:.48322475445642904,y:.5257755789630079},{x:.47478306449072577,y:.5283363376181454},{x:.466004,y:.529201},{x:.291032,y:.529201},{x:.291032,y:.702148},{x:.2901673376181454,y:.7109270644907257},{x:.2876065789630079,y:.719368754456429},{x:.28344813255361456,y:.7271486604858821},{x:.27785180515339464,y:.7339678051533947},{x:.2710326604858821,y:.7395641325536145},{x:.26325275445642904,y:.7437225789630079},{x:.25481106449072577,y:.7462833376181454},{x:.246032,y:.747148},{x:.23725293550927423,y:.7462833376181454},{x:.22881124554357096,y:.7437225789630079},{x:.2210313395141179,y:.7395641325536145},{x:.21421219484660536,y:.7339678051533947},{x:.20861586744638547,y:.7271486604858821},{x:.2044574210369921,y:.719368754456429},{x:.20189666238185464,y:.7109270644907257},{x:.201032,y:.702148},{x:.201032,y:.529201},{x:.081055,y:.529201},{x:.07227593550927423,y:.5283363376181454},{x:.06383424554357094,y:.5257755789630079},{x:.05605433951411792,y:.5216171325536145},{x:.049235194846605365,y:.5160208051533947},{x:.04363886744638546,y:.5092016604858821},{x:.0394804210369921,y:.501421754456429},{x:.03691966238185464,y:.4929800644907258},{x:.036055000000000004,y:.484201}]],u:[[{x:.047041,y:.17386599999999997},{x:.04733731084809023,y:.17085750547164297},{x:.04744678100255899,y:.1678364368310572},{x:.0477687404511641,y:.16647712720137547},{x:.04790566238185463,y:.1650869355092742},{x:.048783207866406234,y:.16219405573845885},{x:.04947995583647738,y:.15925239265237093},{x:.08761895583647737,y:.04817539265237096},{x:.08938287590080696,y:.04431825367483454},{x:.09111755940033861,y:.04044787795123246},{x:.0912166047918106,y:.04030846472648272},{x:.0912877277290914,y:.04015294120864865},{x:.09377024504918263,y:.03671403980837168},{x:.09622666993792225,y:.03325645223155292},{x:.09635101037087945,y:.03313904059014135},{x:.09645110783403886,y:.03300038080982997},{x:.09955682066149267,y:.030111872039067004},{x:.10264058790854466,y:.027199945760571206},{x:.10278544504987946,y:.027109047766032002},{x:.10291067034954356,y:.026992580340839414},{x:.10652022788210418,y:.024765467971757132},{x:.11011283004156149,y:.02251110668543916},{x:.1858688300415615,y:-.015231893314560811},{x:.1873332068933575,y:-.0157898639141544},{x:.18871524554357097,y:-.01652857896300789},{x:.19144581156206075,y:-.017356887109087667},{x:.19411224226228255,y:-.018372875537717062},{x:.1956573361874375,y:-.018634439137126358},{x:.19715693550927424,y:-.019089337618145352},{x:.1999966293703256,y:-.019369023051625026},{x:.20281003486202434,y:-.01984529472354478},{x:.2043764687674932,y:-.01980039958033106},{x:.205936,y:-.019953999999999986},{x:.319832,y:-.019953999999999986},{x:.32132997950952447,y:-.01980646189590665},{x:.3228344649392302,y:-.019853723877644197},{x:.3257100002545037,y:-.019375067506000147},{x:.3286110644907258,y:-.019089337618145352},{x:.3300514774877758,y:-.018652393112465325},{x:.33153627500704863,y:-.018405236421526333},{x:.3342631764918695,y:-.017374788187221168},{x:.33705275445642907,y:-.01652857896300789},{x:.3383802466773209,y:-.015819019588053155},{x:.3397882963501792,y:-.015286942317463331},{x:.4160692963501792,y:.02245605768253664},{x:.4183042276197719,y:.02384992521458428},{x:.42064256487504254,y:.025062345668598177},{x:.4220380841989542,y:.02617863282445781},{x:.4235544084161923,y:.027124324140885128},{x:.42547446604244665,y:.028927422360218155},{x:.42753134130624215,y:.03057273346328787},{x:.465011,y:.06712410441560081},{x:.465011,y:.025046000000000013},{x:.4658756623818546,y:.016266935509274223},{x:.46843642103699207,y:.007825245543570968},{x:.47259486744638546,y:45339514117916785e-21},{x:.4781911948466053,y:-.006773805153394624},{x:.4850103395141179,y:-.012370132553614528},{x:.492790245543571,y:-.01652857896300789},{x:.5012319355092743,y:-.019089337618145352},{x:.510011,y:-.019953999999999986},{x:.5187900644907257,y:-.019089337618145352},{x:.527231754456429,y:-.01652857896300789},{x:.5350116604858821,y:-.012370132553614521},{x:.5418308051533947,y:-.006773805153394624},{x:.5474271325536145,y:45339514117916785e-21},{x:.5515855789630079,y:.007825245543570974},{x:.5541463376181454,y:.016266935509274244},{x:.555011,y:.025046000000000013},{x:.555011,y:.545898},{x:.5541463376181454,y:.5546770644907257},{x:.5515855789630079,y:.563118754456429},{x:.5474271325536145,y:.5708986604858821},{x:.5418308051533947,y:.5777178051533947},{x:.5350116604858821,y:.5833141325536145},{x:.527231754456429,y:.5874725789630079},{x:.5187900644907257,y:.5900333376181454},{x:.510011,y:.590898},{x:.5012319355092743,y:.5900333376181454},{x:.492790245543571,y:.5874725789630079},{x:.4850103395141179,y:.5833141325536145},{x:.4781911948466053,y:.5777178051533947},{x:.47259486744638546,y:.5708986604858821},{x:.46843642103699207,y:.563118754456429},{x:.4658756623818546,y:.5546770644907257},{x:.465011,y:.545898},{x:.465011,y:.19283699530520199},{x:.36978450462305706,y:.099969048308901},{x:.30930812362389754,y:.07004600000000001},{x:.2165251763155874,y:.07004600000000001},{x:.16675256431883717,y:.09484360935890679},{x:.137041,y:.18137632992954258},{x:.137041,y:.545898},{x:.13617633761814535,y:.5546770644907257},{x:.1336155789630079,y:.563118754456429},{x:.12945713255361452,y:.5708986604858821},{x:.12386080515339463,y:.5777178051533947},{x:.11704166048588208,y:.5833141325536145},{x:.10926175445642904,y:.5874725789630079},{x:.10082006449072577,y:.5900333376181454},{x:.092041,y:.590898},{x:.08326193550927423,y:.5900333376181454},{x:.07482024554357093,y:.5874725789630079},{x:.06704033951411792,y:.5833141325536145},{x:.06022119484660536,y:.5777178051533947},{x:.05462486744638546,y:.5708986604858821},{x:.050466421036992094,y:.563118754456429},{x:.04790566238185463,y:.5546770644907257},{x:.047041,y:.545898},{x:.047041,y:.17386599999999997}]],v:[[{x:.003930906419490336,y:.5438334563092145},{x:.005386967221411215,y:.5351329102741644},{x:.00851244255100142,y:.5268836061622384},{x:.26071044255100145,y:.018289606162238365},{x:.26144011887972296,y:.017121905714788027},{x:.2620056398700735,y:.01586646241095203},{x:.26377267234206975,y:.013389122267562115},{x:.26538522214413157,y:.010808560104194675},{x:.26632868500311185,y:.009805649483352854},{x:.267128264504625,y:.008684656842684199},{x:.2693446490294707,y:.006599649029470163},{x:.2714296568426842,y:.00438326450462502},{x:.27255064948335267,y:.0035836850031119977},{x:.2735535601041947,y:.0026402221441315446},{x:.27613412226756273,y:.0010276723420693272},{x:.278611462410952,y:-.0007393601299264599},{x:.2798669057147878,y:-.0013048811202769175},{x:.28103460616223835,y:-.0020345574489985807},{x:.28388017640738666,y:-.0031126798553442526},{x:.2866546460885495,y:-.00436245420755494},{x:.28799629407344673,y:-.00467218403223142},{x:.2892839102741644,y:-.005160032778588779},{x:.2922851349323858,y:-.00566229614975999},{x:.29525011283741587,y:-.006346784254711718},{x:.2966264067237199,y:-.006388820170250395},{x:.2979844563092145,y:-.006616093580509658},{x:.301026,y:-.00652319621682493},{x:.30406754369078554,y:-.006616093580509658},{x:.3054255932762801,y:-.006388820170250395},{x:.30680188716258416,y:-.006346784254711718},{x:.30976686506761425,y:-.005662296149759988},{x:.31276808972583564,y:-.005160032778588779},{x:.3140557059265533,y:-.00467218403223142},{x:.3153973539114505,y:-.00436245420755494},{x:.3181718235926135,y:-.0031126798553442175},{x:.3210173938377617,y:-.0020345574489985807},{x:.32218509428521225,y:-.0013048811202769192},{x:.323440537589048,y:-.0007393601299264599},{x:.32591787773243747,y:.0010276723420694187},{x:.32849843989580535,y:.0026402221441315446},{x:.32950135051664736,y:.0035836850031119635},{x:.3306223431573158,y:.00438326450462502},{x:.3327073509705293,y:.006599649029470129},{x:.334923735495375,y:.008684656842684203},{x:.33572331499688823,y:.009805649483352899},{x:.33666677785586846,y:.01080856010419469},{x:.3382793276579303,y:.013389122267562135},{x:.3400463601299265,y:.01586646241095204},{x:.34061188112027707,y:.017121905714788034},{x:.3413415574489986,y:.018289606162238365},{x:.5935395574489987,y:.5268836061622384},{x:.5966650327785888,y:.5351329102741644},{x:.5981210935805097,y:.5438334563092145},{x:.5978517842547117,y:.5526508871625841},{x:.595867454207555,y:.5612463539114505},{x:.5922443601299265,y:.569289537589048},{x:.587121735495375,y:.5764713431573159},{x:.5806964398958053,y:.5825157778558685},{x:.5732153938377617,y:.5871905574489986},{x:.5649660897258356,y:.5903160327785888},{x:.5562655436907855,y:.5917720935805096},{x:.5474481128374159,y:.5915027842547117},{x:.5388526460885495,y:.589518454207555},{x:.5308094624109521,y:.5858953601299265},{x:.5236276568426842,y:.580772735495375},{x:.5175832221441315,y:.5743474398958054},{x:.5129084425510014,y:.5668663938377616},{x:.301026,y:.13957458745236595},{x:.08914355744899859,y:.5668663938377616},{x:.08446877785586845,y:.5743474398958054},{x:.07842434315731579,y:.580772735495375},{x:.07124253758904797,y:.5858953601299265},{x:.06319935391145051,y:.589518454207555},{x:.054603887162584124,y:.5915027842547117},{x:.04578645630921451,y:.5917720935805096},{x:.037085910274164385,y:.5903160327785888},{x:.028836606162238352,y:.5871905574489986},{x:.02135556010419467,y:.5825157778558685},{x:.014930264504625007,y:.5764713431573159},{x:.009807639870073534,y:.569289537589048},{x:.006184545792445054,y:.5612463539114505},{x:.004200215745288276,y:.5526508871625841},{x:.003930906419490336,y:.5438334563092145}]],w:[[{x:-.04481226541001698,y:.5427688011711321},{x:-.0431501306438814,y:.534105261341125},{x:.1073618693561186,y:.025511261341124997},{x:.10747750697825527,y:.02522662926113043},{x:.10753949092041715,y:.02492572151525217},{x:.1091366577408943,y:.021142772088450095},{x:.11068223944402648,y:.01733845540642648},{x:.11085118408582124,y:.017081852232977028},{x:.1109706812129555,y:.01679881881229654},{x:.11327517574267339,y:.0134001494872997},{x:.11553324489331337,y:.009970459715744673},{x:.11574900410692728,y:.009751746564891355},{x:.11592142221145292,y:.009497464285038355},{x:.11884468401801046,y:.006613684018010047},{x:.12172846428503836,y:.0036904222114529234},{x:.12198274656489135,y:.0035180041069272803},{x:.12220145971574467,y:.0033022448933133844},{x:.1256311494872997,y:.001044175742673395},{x:.12902981881229655,y:-.0012603187870445023},{x:.12931285223297703,y:-.0013798159141787526},{x:.12956945540642648,y:-.0015487605559735135},{x:.1333737720884501,y:-.0030943422591057004},{x:.13715672151525218,y:-.004691509079582858},{x:.13745762926113045,y:-.004753493021744735},{x:.137742261341125,y:-.004869130643881392},{x:.14177500717701197,y:-.005642829061426576},{x:.14579686008065018,y:-.006471289947453558},{x:.1461040784358031,y:-.006473378696506754},{x:.14640580117113214,y:-.006531265410016966},{x:.150512,y:-.006503347745684165},{x:.15461819882886788,y:-.006531265410016966},{x:.15491992156419693,y:-.006473378696506754},{x:.15522713991934983,y:-.006471289947453558},{x:.159248992822988,y:-.005642829061426585},{x:.16328173865887502,y:-.004869130643881392},{x:.16356637073886957,y:-.004753493021744732},{x:.16386727848474786,y:-.004691509079582851},{x:.1676502279115502,y:-.0030943422591055763},{x:.17145454459357354,y:-.0015487605559735135},{x:.17171114776702298,y:-.0013798159141787517},{x:.17199418118770346,y:-.0012603187870445023},{x:.17539285051270065,y:.001044175742673613},{x:.17882254028425534,y:.0033022448933133844},{x:.17904125343510863,y:.0035180041069272374},{x:.17929553571496165,y:.0036904222114529095},{x:.18217931598198978,y:.006613684018010279},{x:.1851025777885471,y:.009497464285038375},{x:.18527499589307275,y:.009751746564891386},{x:.18549075510668664,y:.009970459715744683},{x:.1877488242573266,y:.013400149487299715},{x:.1900533187870445,y:.016798818812296553},{x:.19017281591417878,y:.01708185223297707},{x:.19034176055597352,y:.01733845540642648},{x:.19188734225910553,y:.02114277208844964},{x:.19348450907958287,y:.02492572151525217},{x:.19354649302174473,y:.02522662926113043},{x:.1936621306438814,y:.025511261341124997},{x:.30102443002882817,y:.38829842311817664},{x:.4083889386148475,y:.025511027311792445},{x:.40850451632069196,y:.025226547135196155},{x:.40856646677585007,y:.0249257992040805},{x:.410163689741502,y:.021142697708463984},{x:.41170935302882616,y:.01733823938560964},{x:.41187820927072055,y:.017081773507688556},{x:.41199764237598097,y:.016798890297984457},{x:.41430222163921304,y:.013400082779514221},{x:.4165603984391837,y:.009970270005002412},{x:.41677604416644776,y:.009751674265617277},{x:.4169483701745541,y:.009497526820430955},{x:.41987174204670485,y:.006613627545966159},{x:.42275565189129766,y:.0036902661012626486},{x:.42300979995956794,y:.0035179410120882958},{x:.4232283964786704,y:.003302296075210584},{x:.4266582174181369,y:.0010441316765615349},{x:.4300570332693414,y:-.001260435297455717},{x:.43033991691088264,y:-.001379867379883588},{x:.4305963833993421,y:-.0015487226944633017},{x:.43440084731088763,y:-.0030943722258508074},{x:.43818395458161874,y:-.004691581512785238},{x:.43848470273672896,y:-.004753530880516994},{x:.4387691833312223,y:-.0048691075577547704},{x:.44280208680029426,y:-.005642843777199688},{x:.4468241027997286,y:-.0064713155198797695},{x:.44713115788546864,y:-.006473401493455157},{x:.44743272015628793,y:-.006531257986460835},{x:.45153908096424766,y:-.006503346644966049},{x:.45564544187310013,y:-.00653124313893301},{x:.4559470039347234,y:-.006473385555557348},{x:.4562540590129192,y:-.0064712984717510205},{x:.4602760720167908,y:-.005642812186517322},{x:.4643089726882076,y:-.004869061385152536},{x:.46459345286480397,y:-.004753483679308031},{x:.46489420079591953,y:-.0046915332241499325},{x:.46867730229153426,y:-.003094310258498727},{x:.4724817606143904,y:-.0015486469711738574},{x:.4727382264923116,y:-.0013797907292793573},{x:.47302110970201555,y:-.0012603576240190345},{x:.4764199172204845,y:.0010442216392121837},{x:.47984972999499764,y:.0033023984391836667},{x:.4800683257343829,y:.003518044166447842},{x:.48032247317956905,y:.003690370174554085},{x:.483206372454032,y:.0066137420467029156},{x:.48612973389873737,y:.009497651891297622},{x:.4863020589879118,y:.009751799959568049},{x:.48651770392478944,y:.009970396478670394},{x:.4887758683234383,y:.01340021741813658},{x:.49108043529745576,y:.016799033269341422},{x:.49119986737988364,y:.017081916910882677},{x:.4913687226944633,y:.017338383399342037},{x:.4929143722258502,y:.021142847310886045},{x:.4945115815127853,y:.024925954581618698},{x:.4945735308805171,y:.025226702736729056},{x:.4946891075577548,y:.025511183331222268},{x:.6452021075577549,y:.5341051833312223},{x:.6468642579864609,y:.542768720156288},{x:.646804298471751,y:.5515900590129192},{x:.64502453322415,y:.5602302007959196},{x:.641593357624019,y:.5683571097020156},{x:.636642629825446,y:.5756584731795691},{x:.6303626035213297,y:.5818537039247894},{x:.622994616600658,y:.5867047226944633},{x:.6148218166687778,y:.5900251075577548},{x:.6061582798437121,y:.5916872579864608},{x:.5973369409870808,y:.591627298471751},{x:.5886967992040805,y:.58984753322415},{x:.5805698902979844,y:.5864163576240191},{x:.573268526820431,y:.5814656298254459},{x:.5670732960752106,y:.5751856035213296},{x:.5622222773055368,y:.567817616600658},{x:.5589018924422452,y:.5596448166687777},{x:.4515387133151436,y:.1968570925189096},{x:.34417406138515255,y:.5596449726882076},{x:.3440584683142858,y:.559929490683899},{x:.34399650907958285,y:.5602302784847478},{x:.3423992950207163,y:.5640133397974443},{x:.3408536469711739,y:.5678177606143904},{x:.3406847682813525,y:.5680742605871558},{x:.34056531878704455,y:.5683571811877035},{x:.33826075609875456,y:.5717559510329858},{x:.33600260156081635,y:.5751857299949976},{x:.33578692716538155,y:.5754043547947312},{x:.3356145777885471,y:.5756585357149616},{x:.33269122952253233,y:.5785424012737268},{x:.32980734810870244,y:.5814657338987373},{x:.3295531662537196,y:.581638081896991},{x:.3293345402842553,y:.5818537551066867},{x:.3259047490749403,y:.5841118910428063},{x:.32250596673065857,y:.5864164352974557},{x:.322223045482268,y:.5865358832573104},{x:.32196654459357354,y:.5867047605559735},{x:.318162115393689,y:.5882503879717952},{x:.31437904541838135,y:.5898475815127853},{x:.31407825728149374,y:.5899095391161314},{x:.313793738658875,y:.5900251306438814},{x:.30976087354902626,y:.5907988519446131},{x:.3057388972002714,y:.5916273155198798},{x:.3054318012943039,y:.5916294017707667},{x:.3051301988288679,y:.5916872654100169},{x:.30102387855356455,y:.5916593469199811},{x:.29691755812689985,y:.5916872431389331},{x:.2966159559752979,y:.5916293778639092},{x:.2963088600806502,y:.5916272899474536},{x:.29228688822522214,y:.5907988045585649},{x:.28825402731179245,y:.5900250613851525},{x:.2879695093161011,y:.5899094683142858},{x:.2876687215152522,y:.5898475090795828},{x:.2838856602025565,y:.5882502950207166},{x:.28008123938560964,y:.5867046469711739},{x:.27982473941284386,y:.5865357682813523},{x:.27954181881229656,y:.5864163187870445},{x:.276143048967013,y:.5841117560987538},{x:.2727132700050024,y:.5818536015608163},{x:.2724946452052691,y:.5816379271653819},{x:.27224046428503834,y:.5814655777885471},{x:.2693565987262721,y:.5785422295225312},{x:.2664332661012626,y:.5756583481087024},{x:.2662609181030087,y:.5754041662537193},{x:.2660452448933134,y:.5751855402842553},{x:.26378710895719626,y:.5717557490749442},{x:.2614825647025443,y:.5683569667306586},{x:.2613631167426894,y:.5680740454822678},{x:.2611942394440265,y:.5678175445935736},{x:.2596486120282045,y:.5640131153936881},{x:.2580514184872148,y:.5602300454183813},{x:.25798946088386876,y:.5599292572814941},{x:.2578738693561186,y:.559644738658875},{x:.150512,y:.196859029989096},{x:.0431501306438814,y:.559644738658875},{x:.039829760555973516,y:.5678175445935736},{x:.034978755106686646,y:.5751855402842553},{x:.028783535714961644,y:.5814655777885471},{x:.021482181187703456,y:.5864163187870445},{x:.01335527848474783,y:.5898475090795828},{x:.0047151399193498065,y:.5916272899474536},{x:-.004106198828867862,y:.5916872654100169},{x:-.01276973865887501,y:.5900251306438814},{x:-.020942544593573535,y:.5867047605559735},{x:-.028310540284255312,y:.5818537551066867},{x:-.034590577788547086,y:.5756585357149616},{x:-.03954131878704451,y:.5683571811877035},{x:-.04297250907958286,y:.5602302784847478},{x:-.04475228994745356,y:.5515901399193498},{x:-.04481226541001698,y:.5427688011711321}]],x:[[{x:-.007882248997940308,y:.03911618267902263},{x:-.007180671607209664,y:.030322582532795114},{x:-.0047770285451087455,y:.021834819906700376},{x:-.0007636904665355299,y:.013979074758467071},{x:.004705112296856322,y:.007057238968589209},{x:.011419216721809594,y:.001335314804661543},{x:.019120603540586492,y:-.0029668073965882433},{x:.02751331277672888,y:-.0056837994916240225},{x:.036274817320977384,y:-.006711248997940296},{x:.04506841746720488,y:-.006009671607209652},{x:.05355618009329963,y:-.003606028545108733},{x:.061411925241532925,y:.0004073095334644686},{x:.0683337610314108,y:.005876112296856327},{x:.3010265,y:.23008742701759316},{x:.5337192389685892,y:.005876112296856327},{x:.540641074758467,y:.0004073095334644686},{x:.5484968199067003,y:-.003606028545108733},{x:.556984582532795,y:-.006009671607209652},{x:.5657781826790226,y:-.006711248997940296},{x:.5745396872232711,y:-.0056837994916240225},{x:.5829323964594135,y:-.0029668073965882433},{x:.5906337832781904,y:.001335314804661536},{x:.5973478877031436,y:.007057238968589213},{x:.6028166904665355,y:.013979074758467089},{x:.6068300285451087,y:.021834819906700383},{x:.6092336716072096,y:.030322582532795128},{x:.6099352489979403,y:.03911618267902263},{x:.608907799491624,y:.047877687223271126},{x:.6061908073965883,y:.05627039645941352},{x:.6018886851953384,y:.0639717832781904},{x:.5961667610314108,y:.07068588770314368},{x:.36588095484811606,y:.292578},{x:.5961667610314108,y:.5144701122968564},{x:.6018886851953384,y:.5211842167218096},{x:.6061908073965883,y:.5288856035405864},{x:.608907799491624,y:.5372783127767289},{x:.6099352489979403,y:.5460398173209774},{x:.6092336716072096,y:.5548334174672048},{x:.6068300285451087,y:.5633211800932996},{x:.6028166904665355,y:.571176925241533},{x:.5973478877031436,y:.5780987610314108},{x:.5906337832781904,y:.5838206851953385},{x:.5829323964594135,y:.5881228073965883},{x:.5745396872232711,y:.590839799491624},{x:.5657781826790226,y:.5918672489979403},{x:.556984582532795,y:.5911656716072097},{x:.5484968199067003,y:.5887620285451087},{x:.540641074758467,y:.5847486904665355},{x:.5337192389685892,y:.5792798877031436},{x:.3010265,y:.35506857298240685},{x:.0683337610314108,y:.5792798877031436},{x:.06141192524153289,y:.5847486904665355},{x:.05355618009329961,y:.5887620285451087},{x:.0450684174672049,y:.5911656716072097},{x:.03627481732097735,y:.5918672489979403},{x:.02751331277672888,y:.590839799491624},{x:.01912060354058648,y:.5881228073965883},{x:.011419216721809584,y:.5838206851953385},{x:.004705112296856315,y:.5780987610314108},{x:-.0007636904665355368,y:.571176925241533},{x:-.004777028545108752,y:.5633211800932996},{x:-.007180671607209664,y:.5548334174672048},{x:-.007882248997940308,y:.5460398173209774},{x:-.006854799491624035,y:.5372783127767289},{x:-.004137807396588256,y:.5288856035405864},{x:.0001643148046615306,y:.5211842167218096},{x:.005886238968589197,y:.5144701122968564},{x:.23617204515188386,y:.292578},{x:.005886238968589197,y:.07068588770314368},{x:.00016431480466150977,y:.0639717832781904},{x:-.004137807396588256,y:.05627039645941351},{x:-.006854799491624035,y:.047877687223271126},{x:-.007882248997940308,y:.03911618267902263}]],y:[[{x:-7800000000000168e-20,y:-.15516599999999992},{x:.0007866623818546317,y:-.16394506449072568},{x:.003347421036992093,y:-.17238675445642895},{x:.007505867446385456,y:-.180166660485882},{x:.013102194846605353,y:-.18698580515339455},{x:.0199213395141179,y:-.19258213255361445},{x:.02770124554357093,y:-.1967405789630078},{x:.03614293550927421,y:-.19930133761814528},{x:.044922,y:-.2001659999999999},{x:.084618,y:-.2001659999999999},{x:.08470326921416556,y:-.20015760171543356},{x:.08478856964894584,y:-.200165676732115},{x:.08909199801123496,y:-.19972534965725622},{x:.09339706449072577,y:-.19930133761814528},{x:.0934790568568106,y:-.19927646550581232},{x:.09356429362525961,y:-.1992677440740231},{x:.09769912926743524,y:-.1979963205354665},{x:.10183875445642904,y:-.1967405789630078},{x:.1019143190537861,y:-.19670018884423682},{x:.10199621655469396,y:-.19667500612370953},{x:.18074721655469395,y:-.16370500612370958},{x:.18295470197399702,y:-.16251430076809983},{x:.18525522528778574,y:-.16151511930158513},{x:.18682754729843723,y:-.16042530954354395},{x:.18851130436774752,y:-.15951710034658062},{x:.19044407848245243,y:-.15791861501920362},{x:.19250546725178602,y:-.1564898227103016},{x:.27125546725178606,y:-.08958282271030155},{x:.27347158712358693,y:-.0872898341236823},{x:.27580944257935097,y:-.08512109812948883},{x:.27653091968085064,y:-.08412438503144627},{x:.2773860111192193,y:-.08323963374445845},{x:.2791122089873479,y:-.0805583607511536},{x:.2809820438025964,y:-.07797520343727593},{x:.35909504380259644,y:.055837796562724036},{x:.35921507445013207,y:.05609937330868571},{x:.35938084670619436,y:.05633463764830328},{x:.359814044874128,y:.05731131476590327},{x:.3603874218559792,y:.0582128676935936},{x:.5972854218559792,y:.5265638676935935},{x:.6004763520268956,y:.5347880745861305},{x:.6020015061983327,y:.5434767752438966},{x:.6018022735507984,y:.5522960677732933},{x:.5998863104832066,y:.5609070317083322},{x:.5963272463817603,y:.568978752534074},{x:.591261854083932,y:.5762010385458585},{x:.5848847937750224,y:.5822963413425576},{x:.5774411323064065,y:.5870304218559792},{x:.5692169254138695,y:.5902213520268956},{x:.5605282247561034,y:.5917465061983327},{x:.5517089322267067,y:.5915472735507984},{x:.5430979682916678,y:.5896313104832066},{x:.5350262474659261,y:.5860722463817603},{x:.5278039614541415,y:.5810068540839319},{x:.5217086586574424,y:.5746297937750224},{x:.5169745781440208,y:.5671861323064065},{x:.3203411783046204,y:.17843886787959407},{x:.12481771439881506,y:.5670983271806026},{x:.12009991274687032,y:.5745523168465348},{x:.11401856108654926,y:.5809426827476728},{x:.10680736235169674,y:.5860238467061943},{x:.09874343886560628,y:.5896005424407229},{x:.09013668268554793,y:.5915353195400148},{x:.08131784662479694,y:.5917538256051798},{x:.0726258336075076,y:.5902476635706729},{x:.06439467281939737,y:.5870747143988151},{x:.05694068315346515,y:.5823569127468703},{x:.05055031725232718,y:.5762755610865493},{x:.04546915329380567,y:.5690643623516968},{x:.041892457559277035,y:.5610004388656062},{x:.039957680459985136,y:.5523936826855479},{x:.039739174394820276,y:.5435748466247969},{x:.0412453364293271,y:.5348828336075077},{x:.04441828560118493,y:.5266516728193974},{x:.26905653043412125,y:.0801181620528446},{x:.20712852539925722,y:-.025968816269973185},{x:.1395520619925953,y:-.08338263769409424},{x:.07557825049874085,y:-.11016599999999992},{x:.044922,y:-.11016599999999992},{x:.03614293550927422,y:-.11103066238185455},{x:.02770124554357096,y:-.11359142103699202},{x:.01992133951411791,y:-.11774986744638538},{x:.01310219484660536,y:-.12334619484660528},{x:.007505867446385456,y:-.13016533951411782},{x:.003347421036992093,y:-.13794524554357088},{x:.0007866623818546317,y:-.14638693550927412},{x:-7800000000000168e-20,y:-.15516599999999992}]],z:[[{x:.051680000000000004,y:.038348999999999966},{x:.05192127447228559,y:.035899299172703986},{x:.05194879067317478,y:.033437899088824954},{x:.05235257576103353,y:.03152022369965088},{x:.05254466238185464,y:.029569935509274177},{x:.053259213756049764,y:.02721437531096308},{x:.05376639657582897,y:.024805638484003446},{x:.054536542955643516,y:.023003585252525667},{x:.0551054210369921,y:.02112824554357092},{x:.05626578950451143,y:.018957348831652537},{x:.05723314819184797,y:.01669384166703705},{x:.05834005957014514,y:.015076662488338128},{x:.05926386744638546,y:.01334833951411787},{x:.060825460697764414,y:.011445532631778232},{x:.062215820200804926,y:.009414240440453706},{x:.0636169585940798,y:.00804408260344652},{x:.06486019484660537,y:.0065291948466053296},{x:.06676300172894496,y:.004967601595226417},{x:.06852293131171022,y:.0032465857969436324},{x:.07016445175727676,y:.0021761036989109733},{x:.07167933951411792,y:.0009328674463854256},{x:.07385023622603624,y:-.00022750102113387976},{x:.07591210278164046,y:-.0015721027544036703},{x:.07773092256935071,y:-.0023017710867676167},{x:.07945924554357096,y:-.003225578963007937},{x:.08181480574188199,y:-.003940130337203038},{x:.08409937289490133,y:-.004856645714911602},{x:.08602559580031956,y:-.00521745953679684},{x:.08790093550927423,y:-.0057863376181453985},{x:.09035063633657014,y:-.00602761209043098},{x:.09277010945251417,y:-.006480819940600742},{x:.09472971180962335,y:-.006458913379178931},{x:.09668,y:-.006651000000000032},{x:.505373,y:-.006651000000000032},{x:.5141520644907257,y:-.0057863376181453985},{x:.522593754456429,y:-.003225578963007937},{x:.5303736604858821,y:.0009328674463854256},{x:.5371928051533946,y:.0065291948466053296},{x:.5427891325536145,y:.013348339514117874},{x:.5469475789630078,y:.021128245543570928},{x:.5495083376181453,y:.029569935509274198},{x:.550373,y:.038348999999999966},{x:.5495083376181453,y:.047128064490725735},{x:.5469475789630078,y:.055569754456429005},{x:.5427891325536145,y:.06334966048588206},{x:.5371928051533946,y:.0701688051533946},{x:.5303736604858821,y:.0757651325536145},{x:.522593754456429,y:.07992357896300786},{x:.5141520644907257,y:.08248433761814533},{x:.505373,y:.08334899999999996},{x:.190464663126857,y:.08334899999999996},{x:.5404754142030563,y:.5196949313117102},{x:.5415458963010891,y:.5213364517572769},{x:.5427891325536145,y:.5228513395141179},{x:.5439495010211337,y:.525022236226036},{x:.5452941027544036,y:.5270841027816404},{x:.5460237710867677,y:.5289029225693511},{x:.5469475789630078,y:.530631245543571},{x:.5476621303372028,y:.5329868057418816},{x:.5485786457149116,y:.5352713728949013},{x:.5489394595367969,y:.53719759580032},{x:.5495083376181453,y:.5390729355092743},{x:.5497496120904308,y:.5415226363365697},{x:.5502028199406007,y:.5439421094525142},{x:.5501809133791788,y:.5459017118096235},{x:.550373,y:.547852},{x:.5501317255277144,y:.5503017008272966},{x:.5501042093268251,y:.552763100911175},{x:.5497004242389665,y:.5546807763003486},{x:.5495083376181453,y:.5566310644907257},{x:.5487937862439503,y:.5589866246890365},{x:.548286603424171,y:.5613953615159966},{x:.5475164570443563,y:.5631974147474748},{x:.5469475789630078,y:.565072754456429},{x:.5457872104954887,y:.567243651168347},{x:.544819851808152,y:.569507158332963},{x:.5437129404298549,y:.5711243375116617},{x:.5427891325536145,y:.5728526604858821},{x:.5412275393022352,y:.5747554673682221},{x:.539837179799195,y:.5767867595595463},{x:.5384360414059206,y:.578156917396553},{x:.5371928051533946,y:.5796718051533947},{x:.5352899982710546,y:.5812333984047738},{x:.5335300686882897,y:.5829544142030564},{x:.5318885482427235,y:.5840248963010888},{x:.5303736604858821,y:.5852681325536145},{x:.5282027637739638,y:.5864285010211338},{x:.5261408972183595,y:.5877731027544036},{x:.5243220774306487,y:.5885027710867679},{x:.522593754456429,y:.5894265789630079},{x:.5202381942581186,y:.5901411303372028},{x:.5179536271050986,y:.5910576457149116},{x:.5160274041996802,y:.5914184595367968},{x:.5141520644907257,y:.5919873376181454},{x:.5117023636634302,y:.5922286120904309},{x:.5092828905474858,y:.5926818199406008},{x:.5073232881903766,y:.5926599133791789},{x:.505373,y:.592852},{x:.09668,y:.592852},{x:.08790093550927423,y:.5919873376181454},{x:.07945924554357094,y:.5894265789630079},{x:.07167933951411792,y:.5852681325536145},{x:.06486019484660537,y:.5796718051533947},{x:.05926386744638546,y:.5728526604858821},{x:.0551054210369921,y:.565072754456429},{x:.05254466238185464,y:.5566310644907257},{x:.051680000000000004,y:.547852},{x:.05254466238185464,y:.5390729355092743},{x:.0551054210369921,y:.530631245543571},{x:.05926386744638546,y:.5228513395141179},{x:.06486019484660537,y:.5160321948466053},{x:.07167933951411792,y:.5104358674463855},{x:.07945924554357096,y:.5062774210369921},{x:.08790093550927423,y:.5037166623818546},{x:.09668,y:.502852},{x:.41158833687314295,y:.502852},{x:.06157758579694366,y:.06650606868828973},{x:.06050710369891106,y:.06486454824272328},{x:.05926386744638546,y:.06334966048588206},{x:.05810349897886612,y:.06117876377396365},{x:.05675889724559635,y:.059116897218359485},{x:.05602922891323242,y:.05729807743064926},{x:.0551054210369921,y:.055569754456429005},{x:.054390869662797,y:.05321419425811798},{x:.053474354285088434,y:.050929627105098636},{x:.0531135404632032,y:.04900340419968042},{x:.05254466238185464,y:.047128064490725735},{x:.05230338790956906,y:.04467836366342984},{x:.051850180059399294,y:.04225889054748581},{x:.05187208662082111,y:.04029928819037662},{x:.051680000000000004,y:.038348999999999966}]]},b5=O4;function Z0(y){return!y||typeof y!="object"?!1:"route_type"in y&&y.route_type==="wire"&&("start_width"in y||"end_width"in y||"width_interpolation_mode"in y)}function C4(y){let x=[];for(let e=0;e<y.length-1;e++){let r=y[e];if(!Z0(r))continue;let o=y[e+1];if(!o)continue;let a=o.route_type==="through_pad"?o.start:{x:o.x,y:o.y},c=o.route_type==="via"?o.from_layer:o.route_type==="through_pad"?o.start_layer:o.layer;if(!a||c!==r.layer||r.width!==r.start_width)continue;let p={start:{x:r.x,y:r.y},end:a,start_width:r.start_width,end_width:r.end_width,width_interpolation_mode:r.width_interpolation_mode,layer:r.layer,is_inside_copper_pour:!!(r.is_inside_copper_pour&&o.is_inside_copper_pour)};A5(p)&&x.push(p)}return x}function G4(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=e.x-x.x,c=e.y-x.y,p=Math.hypot(a,c);if(!A5(y))return[];let L=Math.abs(o-r),M=y.width_interpolation_mode==="linear"?1:Math.max(1,Math.ceil(Math.sqrt(L/(.001+L*1e-6)*(3/8)))),A=-c/p,R=a/p,O=[],S=[];for(let b=0;b<=M;b++){let _=b/M,k=r<=o?_:1-_,C=(y.width_interpolation_mode==="quadratic"?Math.min(r,o)+L*k*k:r+(o-r)*_)/2,v=x.x+a*_,E=x.y+c*_;O.push({x:v+A*C,y:E+R*C}),S.push({x:v-A*C,y:E-R*C})}return[...O,...S.reverse()]}function A5(y){let{start:x,end:e,start_width:r,end_width:o}=y,a=Math.hypot(e.x-x.x,e.y-x.y);return!(![x.x,x.y,e.x,e.y,a,r,o].every(Number.isFinite)||a<=0||r<=0||o<=0||y.width_interpolation_mode!=="linear"&&y.width_interpolation_mode!=="quadratic")}var B4=.0025,M5=12,U4=96;function F4(y){if(!(y>0))return M5;let x=Math.acos(Math.max(-1,1-B4/y)),e=Math.ceil(Math.PI/x);return Math.max(M5,Math.min(U4,e))}var j0=class{constructor(y=[1,1,1,1],x=0,e=0){U(this,"color");U(this,"element");U(this,"category");U(this,"vertices",[]);U(this,"indices",[]);this.color=y,this.element=x,this.category=e}polygon(y){if(!y[0]||y[0].length<3)return;let x=[],e=[];for(let[a,c]of y.entries()){a&&e.push(x.length/2);for(let p of c){if(!Number.isFinite(p.x)||!Number.isFinite(p.y))throw new Error("Non-finite polygon vertex");x.push(p.x,p.y)}}let r=V0(x,e,2),o=this.vertices.length/8;for(let a=0;a<x.length;a+=2)this.vertices.push(x[a],x[a+1],...this.color,this.element,this.category);for(let a of r)this.indices.push(o+a)}line(y,x,e){if(!(e>0))return;let r=E5(y,x,e);this.polygon([r])}path(y,x,e=!1){for(let r=1;r<y.length;r++)this.line(y[r-1],y[r],x);e&&y.length>2&&this.line(y.at(-1),y[0],x)}fabricationPath(y,x,e){if(y.length<2)return;let r=[];if(e&&y.length>=3&&r.push([y.map(a=>[a.x,a.y])]),x>0){let a=e?[...y,y[0]]:y;for(let c=1;c<a.length;c++)r.push([E5(a[c-1],a[c],x).map(p=>[p.x,p.y])])}if(!r.length)return;let o=r.map(a=>a.map(c=>c.map(([p,L])=>[Math.round(p*1e9)/1e9,Math.round(L*1e9)/1e9])));for(let a of T5.default.union(o[0],...o.slice(1)))this.polygon(a.map(c=>c.map(([p,L])=>({x:p,y:L}))))}build(){return{vertices:new Float32Array(this.vertices),indices:new Uint32Array(this.indices)}}};function E5(y,x,e){let r=Math.atan2(x.y-y.y,x.x-y.x),o=e/2,a=[];for(let c=0;c<=12;c++){let p=r+Math.PI/2+c*Math.PI/12;a.push({x:y.x+o*Math.cos(p),y:y.y+o*Math.sin(p)})}for(let c=0;c<=12;c++){let p=r-Math.PI/2+c*Math.PI/12;a.push({x:x.x+o*Math.cos(p),y:x.y+o*Math.sin(p)})}return a}function A0(y,x,e=0){let r=e*Math.PI/180,o=y.x-x.x,a=y.y-x.y;return{x:x.x+o*Math.cos(r)-a*Math.sin(r),y:x.y+o*Math.sin(r)+a*Math.cos(r)}}function H0(y,x,e=x,r=0){return x>0&&e>0?Array.from({length:96},(o,a)=>{let c=a*2*Math.PI/96;return A0({x:y.x+Math.cos(c)*x/2,y:y.y+Math.sin(c)*e/2},y,r)}):[]}function W4({center:y,diameterMm:x}){if(!(x>0))return[];let e=x/2,r=F4(e);return Array.from({length:r},(o,a)=>{let c=a*2*Math.PI/r;return{x:y.x+Math.cos(c)*e,y:y.y+Math.sin(c)*e}})}function q0(y,x,e,r=0,o=0){if(!(x>0&&e>0))return[];r=Math.max(0,Math.min(r,x/2,e/2));let a=[];for(let c=0;c<4;c++){let p=c===0||c===3?1:-1,L=c<2?1:-1,M=r?24:1;for(let A=0;A<M;A++){let R=(c+A/(M-1||1))*Math.PI/2;a.push(A0({x:y.x+p*(x/2-r)+r*Math.cos(R),y:y.y+L*(e/2-r)+r*Math.sin(R)},y,o))}}return a}function z4(y){let x=[];for(let e=0;e<y.length;e++){let r=y[e],o=y[(e+1)%y.length];x.push({x:r.x,y:r.y});let a=r.bulge??0,c=o.x-r.x,p=o.y-r.y;if(!a||!c&&!p)continue;let L=4*Math.atan(a),M={x:(r.x+o.x)/2-p*(1-a*a)/(4*a),y:(r.y+o.y)/2+c*(1-a*a)/(4*a)},A=Math.atan2(r.y-M.y,r.x-M.x),R=Math.hypot(r.x-M.x,r.y-M.y),O=Math.max(2,Math.ceil(Math.abs(L)/(Math.PI/48)));for(let S=1;S<O;S++)x.push({x:M.x+R*Math.cos(A+L*S/O),y:M.y+R*Math.sin(A+L*S/O)})}return x}function S5(y,x,e){let r=[];for(let o=0;o<y.length;o++){let a=y[o],c=y[(o+1)%y.length],p=a.x+a.y-x,L=c.x+c.y-x,M=e?p>=0:p<=0,A=e?L>=0:L<=0;if(M&&r.push(a),M!==A){let R=p/(p-L);r.push({x:a.x+R*(c.x-a.x),y:a.y+R*(c.y-a.y)})}}return r}function $4(y,x){let e=y.color,r=[e[0]+(1-e[0])*.4,e[1]+(1-e[1])*.4,e[2]+(1-e[2])*.4,e[3]];y.color=[r[0],r[1],r[2],r[3]*.2],y.polygon(x),y.color=r;let o=new j0;o.polygon(x);let a=.15*Math.SQRT2/2;for(let c=0;c<o.indices.length;c+=3){let p=o.indices.slice(c,c+3).map(R=>({x:o.vertices[R*8],y:o.vertices[R*8+1]})),L=p.map(R=>R.x+R.y),M=Math.ceil(Math.min(...L)-a),A=Math.floor(Math.max(...L)+a);for(let R=M;R<=A;R++)y.polygon([S5(S5(p,R-a,!0),R+a,!1)])}y.color=e}var V=(y,x,e)=>[y/255,x/255,e/255,1],Y4={board:V(70,72,72),top:V(200,52,52),bottom:V(77,127,196),inner1:V(127,200,127),inner2:V(206,125,44),inner3:V(79,203,203),inner4:V(219,98,139),inner5:V(167,165,198),inner6:V(40,204,217),inner7:V(232,178,167),inner8:V(242,237,161),drill:V(255,38,226),top_silkscreen:V(242,237,161),bottom_silkscreen:V(242,237,161),soldermask_top:V(12,55,33),soldermask_bottom:V(12,55,33),top_fabrication:[1,1,1,.5],bottom_fabrication:[1,1,1,.5],top_notes:V(89,148,220),bottom_notes:V(89,148,220),top_courtyard:V(255,0,245),bottom_courtyard:V(38,233,255),edge_cuts:V(208,210,205)},Q0=y=>y.replace(/_copper$/,"");function U0(y){let x=y.match(/^#([0-9a-f]{3,8})$/i)?.[1];if(x){let r=x.length<=4?[...x].map(o=>o+o).join(""):x;if(r.length!==6&&r.length!==8)throw new Error(`Unsupported color: ${y}`);return[parseInt(r.slice(0,2),16)/255,parseInt(r.slice(2,4),16)/255,parseInt(r.slice(4,6),16)/255,r.length===8?parseInt(r.slice(6),16)/255:1]}let e=y.match(/^rgba?\\(([^)]+)\\)$/);if(e){let r=e[1].split(",").map(o=>Number(o.trim()));if((r.length===3||r.length===4)&&r.every(Number.isFinite))return[r[0]/255,r[1]/255,r[2]/255,r[3]??1]}throw new Error(`Unsupported color: ${y}`)}function V4(y,x){let e=!1;for(let r=0,o=y.length-1;r<y.length;o=r++){let a=y[r],c=y[o];a.y>x.y!=c.y>x.y&&x.x<(c.x-a.x)*(x.y-a.y)/(c.y-a.y)+a.x&&(e=!e)}return e}function P5(y,x){let e=x.filter(r=>r.length>=3).map(r=>({ring:r,parents:[]}));for(let[r,o]of e.entries())o.parents=e.flatMap((a,c)=>r!==c&&V4(a.ring,o.ring[0])?[c]:[]);for(let[r,o]of e.entries())if(o.parents.length%2===0){let a=e.filter(c=>c.parents.length===o.parents.length+1&&c.parents.includes(r));y.polygon([o.ring,...a.map(c=>c.ring)])}}var X4=y=>v5[y]??(y===" "?a0.spaceWidthRatio:a0.glyphWidthRatio);function N5(y,x,e){let r=X4(y),o=x?a0.letterSpacingRatio:0,a=x?w5[y]?.[x]??0:0;return e*(r+o+a)}function D4(y,x){let e=x*a0.glyphWidthRatio,r=x*a0.letterSpacingRatio,o=x*a0.spaceWidthRatio,a=x*a0.strokeWidthRatio,c=x*a0.lineHeightRatio,p=y.replace(/\\\\n/g,`\n`).split(`\n`),L=p.map(R=>{let O=Array.from(R);return O.reduce((S,b,_)=>S+N5(b,O[_+1],x),0)}),M=L.reduce((R,O)=>Math.max(R,O),0),A=p.length>1?x+(p.length-1)*c:x;return{width:M,height:A,glyphWidth:e,letterSpacing:r,spaceWidth:o,strokeWidth:a,lineHeight:c,lines:p,lineWidths:L}}function Z4(y){let{line:x,fontSize:e,startX:r,startY:o}=y,a=e,c=e,p=Array.from(x),L=[],M=r+y.layout.strokeWidth/2;return p.forEach((A,R)=>{let O=b5[A];if(O?.length){let S=[];for(let b of O){let _=b.map(k=>({x:M+k.x*c,y:o+(1-k.y)*a}));_.length>=3&&S.push(_)}S.length>0&&L.push(S)}M+=N5(A,p[R+1],e)}),L}function j4(y){let x=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let a of y)for(let c of a)x=Math.min(x,c.x),e=Math.min(e,c.y),r=Math.max(r,c.x),o=Math.max(o,c.y);return x===Number.POSITIVE_INFINITY||e===Number.POSITIVE_INFINITY||r===Number.NEGATIVE_INFINITY||o===Number.NEGATIVE_INFINITY?null:{minX:x,minY:e,maxX:r,maxY:o}}function H4(y,x,e){let r=Q4(y,x),o=J4(r,x,e),a=j4(o.flat()),c=K4(y,x,a);return{bounds:a?e3(a,c):null,glyphGroups:t3(o,c),linePlacements:r.map(({line:p,startX:L,startY:M})=>({line:p,startX:L+c.x,startY:M+c.y})),startOffset:c}}function q4(y,x){let e=x.width+x.strokeWidth,r=x.height+x.strokeWidth,o=0,a=0;return y==="center"||y==="top_center"||y==="bottom_center"?o=-e/2:y==="top_left"||y==="bottom_left"||y==="center_left"?o=0:y==="top_right"||y==="bottom_right"||y==="center_right"?o=-e:(y==="top_center"||y==="bottom_center")&&(o=-e/2),y==="center"||y==="center_left"||y==="center_right"?a=-r/2:y==="top_left"||y==="top_right"||y==="top_center"?a=0:(y==="bottom_left"||y==="bottom_right"||y==="bottom_center")&&(a=-r),{x:o,y:a}}function Q4(y,x){return x.lines.map((e,r)=>({line:e,startX:n3({alignment:y,lineWidth:x.lineWidths[r],maxWidth:x.width,strokeWidth:x.strokeWidth}),startY:r*x.lineHeight}))}function J4(y,x,e){return y.flatMap(({line:r,startX:o,startY:a})=>Z4({line:r,fontSize:e,startX:o,startY:a,layout:x}))}function K4(y,x,e){return e?{x:-y3(y,e),y:-x3(y,e)}:q4(y,x)}function y3(y,x){return y==="top_left"||y==="bottom_left"||y==="center_left"?x.minX:y==="top_right"||y==="bottom_right"||y==="center_right"?x.maxX:(x.minX+x.maxX)/2}function x3(y,x){return y==="top_left"||y==="top_right"||y==="top_center"?x.minY:y==="bottom_left"||y==="bottom_right"||y==="bottom_center"?x.maxY:(x.minY+x.maxY)/2}function t3(y,x){return x.x===0&&x.y===0?y:y.map(e=>e.map(r=>r.map(o=>({x:o.x+x.x,y:o.y+x.y}))))}function e3(y,x){return{minX:y.minX+x.x,minY:y.minY+x.y,maxX:y.maxX+x.x,maxY:y.maxY+x.y}}function n3(y){let{alignment:x,lineWidth:e,maxWidth:r,strokeWidth:o}=y,a=e+o,c=r+o;return x==="top_left"||x==="bottom_left"||x==="center_left"?0:x==="top_right"||x==="bottom_right"||x==="center_right"?c-a:(c-a)/2}function J0(y,x,e="up"){let r=String(x.text??"");if(!r)return;let o=x.anchor_position??x.center??{x:x.x??0,y:x.y??0},a=x.font_size??1,c=D4(r,a),p=H4(x.anchor_alignment??"center",c,a),L=x.type==="pcb_note_text",M=x.type==="pcb_fabrication_note_text",A=M?!1:L?x.is_mirrored_from_top_view??x.layer==="bottom":x.type==="pcb_silkscreen_text"?x.layer==="bottom":x.is_mirrored??x.layer==="bottom",R=L||M?0:x.ccw_rotation??0,O=e==="up"?-1:1,S=b=>A0({x:o.x+(A?-b.x:b.x),y:o.y+O*b.y},o,-O*R);if(x.is_knockout&&!L&&!M){let b=p.bounds;if(!b)return;let _={left:.2,right:.2,top:.2,bottom:.2,...x.knockout_padding},k=[{x:b.minX-_.left,y:b.minY-_.top},{x:b.maxX+_.right,y:b.minY-_.top},{x:b.maxX+_.right,y:b.maxY+_.bottom},{x:b.minX-_.left,y:b.maxY+_.bottom}];P5(y,[k.map(S),...p.glyphGroups.flatMap(T=>T.map(C=>C.map(S)))]);return}for(let b of p.glyphGroups)P5(y,b.map(_=>_.map(S)))}function r3(y,x){return{x:(y.x+x.x)/2,y:(y.y+x.y)/2}}function _0(y,x){return Array.isArray(x)?[y.a*x[0]+y.c*x[1]+y.e,y.b*x[0]+y.d*x[1]+y.f]:{x:y.a*x.x+y.c*x.y+y.e,y:y.b*x.x+y.d*x.y+y.f}}function k0(y){return typeof y>"u"}function T0(y,x=0){return{a:1,c:0,e:y,b:0,d:1,f:x}}function K0(...y){y=Array.isArray(y[0])?y[0]:y;let x=(e,r)=>({a:e.a*r.a+e.c*r.b,c:e.a*r.c+e.c*r.d,e:e.a*r.e+e.c*r.f+e.e,b:e.b*r.a+e.d*r.b,d:e.b*r.c+e.d*r.d,f:e.b*r.e+e.d*r.f+e.f});switch(y.length){case 0:throw new Error("no matrices provided");case 1:return y[0];case 2:return x(y[0],y[1]);default:{let[e,r,...o]=y,a=x(e,r);return K0(a,...o)}}}var{cos:i3,sin:o3,PI:s3}=Math;function l3(y,x,e){let r=i3(y),o=o3(y),a={a:r,c:-o,e:0,b:o,d:r,f:0};return k0(x)||k0(e)?a:K0([T0(x,e),a,T0(-x,-e)])}function O5(y,x=void 0,e=void 0){return l3(y*s3/180,x,e)}function C5(y,x=void 0,e=void 0,r=void 0){k0(x)&&(x=y);let o={a:y,c:0,e:0,b:0,d:x,f:0};return k0(e)||k0(r)?o:K0([T0(e,r),o,T0(-e,-r)])}var{tan:O3}=Math,a3=1.5,c3=.6,u3=.3;function f3({pcbDimension:y}){let x=R5({x:y.to.x-y.from.x,y:y.to.y-y.from.y}),e=_0(O5(90),x),r=R5(y.offset_direction??{x:0,y:0}),o=y.offset_distance??0,a=f0(r,o),c=e0(y.from,a),p=e0(y.to,a),L=y.arrow_size??1,M=e0(c,f0(x,L)),A=e0(p,f0(x,-L)),R=f0(e,L/2),O=f0(e,-L/2),S=g3(r)?r:e,b=f0(S,o+L),_=e0(r3(y.from,y.to),a),k=y.font_size??1,T=L*a3+p3({fontSize:k,text:y.text??"",textCcwRotationDegrees:y.text_ccw_rotation});return{arrowPolygons:[[c,e0(M,R),e0(M,O)],[p,e0(A,R),e0(A,O)]],dimensionLine:{start:M,end:A,width:L/5},extensionLines:[{start:y.from,end:e0(y.from,b)},{start:y.to,end:e0(y.to,b)}],label:y.text?{anchorPosition:e0(_,f0(e,T)),ccwRotationDegrees:h3({dimensionDirection:x,requestedCcwRotationDegrees:y.text_ccw_rotation}),fontSize:k,text:y.text}:void 0}}function h3({dimensionDirection:y,requestedCcwRotationDegrees:x}){let e=Math.atan2(y.y,y.x)*180/Math.PI;return(e>90||e<-90)&&(e+=180),e+(x??0)}function p3({fontSize:y,text:x,textCcwRotationDegrees:e}){if(e===void 0||!Number.isFinite(e))return 0;let r=x.length*y*c3/2,o=y/2,a=O5(e),c=_0(a,{x:r,y:0}),p=_0(a,{x:0,y:o});return Math.abs(c.y)+Math.abs(p.y)+y*u3}function R5(y){let x=Math.hypot(y.x,y.y)||1;return _0(C5(1/x),y)}function f0(y,x){return _0(C5(x),y)}function e0(y,x){return _0(T0(x.x,x.y),y)}function g3(y){return Math.abs(y.x)>Number.EPSILON||Math.abs(y.y)>Number.EPSILON}function L3({mesh:y,pcbDimension:x,textYAxis:e}){x.color&&(y.color=U0(x.color));let{arrowPolygons:r,dimensionLine:o,extensionLines:a,label:c}=f3({pcbDimension:x});for(let p of r)y.polygon([p]);y.line(o.start,o.end,o.width);for(let p of a)y.line(p.start,p.end,o.width);c&&J0(y,{anchor_alignment:"center",anchor_position:c.anchorPosition,ccw_rotation:c.ccwRotationDegrees,font_size:c.fontSize,text:c.text,type:"pcb_dimension_text"},e)}function d3(y,x=0){return y[`${y.type}_id`]??`${y.type}:${x}`}function m0(y){return y.center??y.anchor_position??{x:y.x??0,y:y.y??0}}function J(y,x=!1){if(y.brep_shape)return[y.brep_shape.outer_ring,...y.brep_shape.inner_rings??[]].map(L=>z4(L.vertices));if(y.outline?.length)return[y.outline];if(y.shape==="hole_with_polygon_pad"&&!x){let L=m0(y);return[y.pad_outline.map(M=>A0({x:L.x+M.x,y:L.y+M.y},L,y.ccw_rotation))]}if(y.shape==="rotated_pill_hole_with_rect_pad"){let L=m0(y),M=x?{x:L.x+(y.hole_offset_x??0),y:L.y+(y.hole_offset_y??0)}:L,A=x?y.hole_width:y.rect_pad_width,R=x?y.hole_height:y.rect_pad_height;return[q0(M,A,R,x?Math.min(A,R)/2:y.rect_border_radius??0,(x?y.hole_ccw_rotation:y.rect_ccw_rotation)??0)]}let e=x?y.hole_shape??y.shape:y.shape;if(e==="polygon")return[y.points??y.vertices??[]];let r=m0(y),o=y.rect_ccw_rotation??y.ccw_rotation??y.rotation??0,a=x?A0({x:r.x+(y.hole_offset_x??0),y:r.y+(y.hole_offset_y??0)},r,o):r;if(e==="circle"||e==="circular_hole_with_rect_pad"&&x||y.type==="pcb_via"){let M=(x?y.hole_diameter:y.outer_diameter??(y.radius!=null?y.radius*2:y.diameter))||y.diameter||y.hole_diameter||y.radius*2;return[H0(a,M)]}let c=x?y.hole_width??y.hole_diameter:y.rect_pad_width??y.outer_width??y.width??y.hole_diameter,p=x?y.hole_height??y.hole_diameter:y.rect_pad_height??y.outer_height??y.height??y.hole_diameter;if(e==="oval")return[H0(a,c,p,o)];if(["rect","square","rotated_rect","roundrect","rounded_rect","pill","rotated_pill","circular_hole_with_rect_pad","pill_hole_with_rect_pad",void 0].includes(e)){let M=e?.includes("pill")&&!(e==="pill_hole_with_rect_pad"&&!x)?Math.min(c,p)/2:y.corner_radius??y.rect_border_radius??0;return[q0(a,c,p,M,o)]}throw new Error(`Unsupported shape: ${e}`)}function m3(y,x={}){let e=new Map,r=[],o=y.map(d3),a=x.renderViasInHighDetail===!1,c=y.find(S=>S.type==="pcb_board"),p=["top",...Array.from({length:Math.max(0,Math.min(8,(c?.num_layers??2)-2))},(S,b)=>`inner${b+1}`),"bottom"],L=(S,b,_=!1,k=0)=>{S=Q0(S),e.has(S)||e.set(S,{paint:new j0,erase:new j0});let T=e.get(S)[_?"erase":"paint"],C=S.replace(/_silkscreen_text$/,"_silkscreen");return T.color=x.layerColors?.[C]??Y4[C]??[.75,.75,.75,1],T.element=b,T.category=k,T},M=[],A=[],R=[];for(let[S,b]of y.entries()){let _=b,k=_.type;try{if(k==="pcb_board"||k==="pcb_panel"){let T=J(_);L("board",S).polygon(T);for(let C of T)L("edge_cuts",S).path(C,.1,!0);for(let C of["top","bottom"])L(`soldermask_${C}`,S).polygon(T)}else if(k==="pcb_cutout")R.push({rings:J(_),index:S}),L("edge_cuts",S).path(J(_)[0],.05,!0);else if(b.type==="pcb_soldermask_opening")L(`soldermask_${b.layer}`,S,!0).polygon(J(b));else if(k==="pcb_smtpad")L(_.layer,S).polygon(J(_)),_.is_covered_with_solder_mask||L(`soldermask_${_.layer}`,S,!0).polygon(J(_));else if(k==="pcb_via"||k==="pcb_plated_hole"){let T=_.layers??p;if(k==="pcb_via"&&!_.layers&&_.from_layer&&_.to_layer){let E=p.indexOf(_.from_layer),z=p.indexOf(_.to_layer);T=p.slice(Math.min(E,z),Math.max(E,z)+1)}let C=k==="pcb_via"&&a?I5({element:_}):J(_);for(let E of T)L(E,S).polygon(C);let v=k==="pcb_via"&&a?I5({element:_,hole:!0}):J(_,!0);M.push({rings:v,index:S,layers:T});for(let E of["top","bottom"])T.includes(E)&&!_.is_covered_with_solder_mask&&L(`soldermask_${E}`,S,!0).polygon(J(_))}else if(k==="pcb_hole")M.push({rings:J({..._,shape:_.hole_shape},!0),index:S,layers:p});else if(b.type==="pcb_trace"){let T=b.route;if(b.route_thickness_mode==="interpolated"&&T.some((C,v)=>C.route_type==="wire"&&!Z0(C)&&T[v+1]?.route_type==="wire"))throw new Error("Interpolated/through-pad traces are not supported yet");for(let C of C4(T)){let v=G4(C);if(!v.length)throw new Error("Invalid teardrop geometry or interpolation mode");L(C.layer,S).polygon([v])}for(let C of T)if(C.route_type==="through_pad")for(let v of new Set([C.start_layer,C.end_layer]))L(v,S).line(C.start,C.end,C.width);for(let C=1;C<T.length;C++){let v=T[C-1],E=T[C];Z0(v)||(v.route_type==="through_pad"&&(v={route_type:"wire",...v.end,layer:v.end_layer,width:v.width}),E.route_type==="through_pad"&&(E={route_type:"wire",...E.start,layer:E.start_layer,width:E.width}),v.route_type==="wire"&&E.route_type==="wire"&&v.layer===E.layer||v.route_type==="wire"&&E.route_type==="via"&&[E.from_layer,E.to_layer].includes(v.layer)?L(v.layer,S).line(v,E,v.width):v.route_type==="via"&&E.route_type==="wire"&&[v.from_layer,v.to_layer].includes(E.layer)&&L(E.layer,S).line(v,E,E.width))}}else if(k==="pcb_copper_pour")L(_.layer,S,!1,1).polygon(J(_));else if(k==="pcb_copper_text")J0(L(_.layer,S),_,x.textYAxis);else if(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/.test(k)){let T=k.match(/^pcb_(silkscreen|fabrication_note|courtyard|note|user_note)_/)[1],C={silkscreen:"silkscreen",fabrication_note:"fabrication",courtyard:"courtyard",note:"notes",user_note:"notes"}[T],v=`${_.layer??"top"}_${C}`,E=L(k==="pcb_silkscreen_text"?`${v}_text`:v,S);if(b.type==="pcb_note_dimension"||b.type==="pcb_fabrication_note_dimension")L3({mesh:E,pcbDimension:b,textYAxis:x.textYAxis});else if(k.endsWith("_text"))_.color&&(T==="note"||T==="fabrication_note")&&(E.color=U0(_.color)),J0(E,_,x.textYAxis);else if(b.type==="pcb_note_line"||b.type==="pcb_silkscreen_line")b.type==="pcb_note_line"&&b.color&&(E.color=U0(b.color)),E.line({x:b.x1,y:b.y1},{x:b.x2,y:b.y2},b.stroke_width??.1);else if(k.endsWith("_path")||k.endsWith("_line")||k.endsWith("_outline")){let z=_.route??_.points??_.outline??[_.start,_.end].filter(Boolean),y0=k==="pcb_fabrication_note_path";y0&&_.color&&(E.color=U0(_.color)),y0?E.fabricationPath(z,_.has_stroke===!1?0:_.stroke_width??.05,!!_.is_filled):E.path(z,_.stroke_width??_.width??.05,k.endsWith("_outline"))}else if(k==="pcb_silkscreen_graphic"&&_.shape==="brep")E.polygon(J(_));else if(k.endsWith("_rect")){let z=q0(m0(_),_.width,_.height,_.corner_radius??0,_.ccw_rotation??0);_.is_filled?E.polygon([z]):E.path(z,_.stroke_width??.05,!0)}else if(k.endsWith("_circle")){let z=H0(m0(_),(_.radius??0)*2);_.is_filled?E.polygon([z]):E.path(z,_.stroke_width??.05,!0)}else throw new Error("Unsupported annotation geometry")}else if(k==="pcb_keepout")A.push({rings:J(_),index:S,layers:_.layers??[_.layer??"top"]});else if(k.startsWith("pcb_")&&!["pcb_component","pcb_port","pcb_group","pcb_solder_paste","pcb_debug_object","pcb_trace_hint","pcb_anchor","pcb_breakout_point","pcb_bend","pcb_stiffener"].includes(k)&&!/_(error|warning)$/.test(k))throw new Error("Unsupported PCB element")}catch(T){r.push({elementId:o[S],type:k,message:String(T)})}}for(let{rings:S,index:b,layers:_}of A)try{for(let k of _)$4(L(k,b),S)}catch(k){r.push({elementId:o[b],type:"pcb_keepout",message:String(k)})}for(let{rings:S,index:b,layers:_}of M){for(let T of _)L(T,b,!0).polygon(S);_.includes("top")&&_.includes("bottom")&&(L("board",b,!0).polygon(S),L("drill",b).polygon(S));for(let T of["top","bottom"])_.includes(T)&&L(`soldermask_${T}`,b,!0).polygon(S)}for(let{rings:S,index:b}of R){L("drill",b).polygon(S);for(let _ of e.keys())_!=="edge_cuts"&&_!=="drill"&&L(_,b,!0).polygon(S)}let O=[...e].map(([S,b])=>({name:S,paint:b.paint.build(),erase:b.erase.build()}));return{layers:O,elementIds:o,diagnostics:r,triangleCount:O.reduce((S,b)=>S+(b.paint.indices.length+b.erase.indices.length)/3,0)}}function I5({element:y,hole:x=!1}){let e=x?y.hole_diameter:y.outer_diameter;return[W4({center:m0(y),diameterMm:e})]}var _3=`\nstruct Camera { rowX: vec4f, rowY: vec4f, viewport: vec4f }\n@group(0) @binding(0) var<uniform> camera: Camera;\n@group(0) @binding(1) var<storage, read> highlights: array<u32>;\nstruct VertexOut {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) @interpolate(flat) category: u32,\n @location(2) @interpolate(flat) selected: u32,\n}\n@vertex fn vertexMain(@location(0) p: vec2f, @location(1) color: vec4f,\n @location(2) element: f32, @location(3) category: f32) -> VertexOut {\n let pixel = vec2f(dot(camera.rowX.xyz, vec3f(p, 1)), dot(camera.rowY.xyz, vec3f(p, 1)));\n var out: VertexOut;\n out.position = vec4f(pixel.x / camera.viewport.x * 2 - 1, 1 - pixel.y / camera.viewport.y * 2, 0, 1);\n let highlight = select(0.0, 1.0, (highlights[u32(element)] & 1u) != 0u);\n out.color = vec4f(mix(color.rgb, min(vec3f(1), color.rgb * 1.5), highlight), color.a);\n out.category = u32(category);\n out.selected = highlights[u32(element)] & 2u;\n return out;\n}\n@fragment fn fragmentMain(in: VertexOut) -> @location(0) vec4f {\n if (in.category == 1u && camera.viewport.z == 0) { discard; }\n if (camera.viewport.w == 1) {\n if (in.selected == 0u) { discard; }\n return vec4f(in.color.rgb, 1);\n }\n let alpha = in.color.a * select(1.0, camera.viewport.z, in.category == 1u);\n return vec4f(in.color.rgb * alpha, alpha);\n}\n`,v3=`\n@group(0) @binding(0) var image: texture_2d<f32>;\n@group(0) @binding(1) var imageSampler: sampler;\n@group(0) @binding(2) var<uniform> fade: vec4f;\n@group(0) @binding(3) var firstText: texture_2d<f32>;\n@group(0) @binding(4) var secondText: texture_2d<f32>;\nstruct Out { @builtin(position) position: vec4f, @location(0) uv: vec2f }\n@vertex fn vertexMain(@builtin(vertex_index) index: u32) -> Out {\n let points = array<vec2f, 6>(vec2f(0,0),vec2f(1,0),vec2f(0,1),vec2f(0,1),vec2f(1,0),vec2f(1,1));\n var out: Out;\n out.uv = points[index];\n out.position = vec4f(out.uv.x * 2 - 1, 1 - out.uv.y * 2, 0, 1);\n return out;\n}\n@fragment fn fragmentMain(in: Out) -> @location(0) vec4f {\n var color = textureSample(image, imageSampler, in.uv);\n if (fade.w == 1) {\n let first = textureSample(firstText, imageSampler, in.uv) * fade.y;\n let second = textureSample(secondText, imageSampler, in.uv) * fade.z;\n let text = second + first * (1 - second.a);\n // Replace drill color beneath text without changing coverage or other layers.\n color = vec4f(color.rgb * (1 - text.a) + text.rgb * color.a, color.a);\n }\n return color * fade.x;\n}\n`,w3=.5,k5={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}},h0,F0=(h0=class{constructor(x,e,r,o,a){U(this,"canvas");U(this,"device");U(this,"context");U(this,"config");U(this,"realToCanvasMat",{a:1,b:0,c:0,d:-1,e:0,f:0});U(this,"stats",{geometryUploads:0,frames:0,triangleCount:0,compileMs:0,vertexBytes:0});U(this,"circuit");U(this,"scene");U(this,"layers",[]);U(this,"xRayLayers",[]);U(this,"xRayUniform");U(this,"xRayCameraGroup");U(this,"uniform");U(this,"highlights");U(this,"cameraGroup");U(this,"highlightKey","");U(this,"highlightIndices",new Map);U(this,"sample");U(this,"size","");U(this,"disposed",!1);U(this,"adapterInfo");U(this,"lost",!1);U(this,"paintPipeline");U(this,"erasePipeline");U(this,"compositePipeline");U(this,"sampler");U(this,"options",{});this.canvas=x,this.device=e,this.context=r,this.config=a,this.uniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.xRayUniform=e.createBuffer({size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.highlights=e.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});let c=e.createShaderModule({code:_3}),p=e.createPipelineLayout({bindGroupLayouts:[e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage"}}]})]}),L=A=>({layout:p,vertex:{module:c,entryPoint:"vertexMain",buffers:[{arrayStride:32,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x4"},{shaderLocation:2,offset:24,format:"float32"},{shaderLocation:3,offset:28,format:"float32"}]}]},fragment:{module:c,entryPoint:"fragmentMain",targets:[{format:"rgba8unorm",blend:A}]},primitive:{topology:"triangle-list"},multisample:{count:a.sampleCount??4}});this.paintPipeline=e.createRenderPipeline(L(k5)),this.erasePipeline=e.createRenderPipeline(L({color:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha"}}));let M=e.createShaderModule({code:v3});this.compositePipeline=e.createRenderPipeline({layout:"auto",vertex:{module:M,entryPoint:"vertexMain"},fragment:{module:M,entryPoint:"fragmentMain",targets:[{format:o,blend:k5}]},primitive:{topology:"triangle-list"}}),this.sampler=e.createSampler({minFilter:"linear",magFilter:"linear"}),e.lost.then(A=>{this.lost=!0,this.disposed||a.onDeviceLost?.(A.message||A.reason)})}static async create(x,e={}){if(!globalThis.navigator?.gpu)throw new Error("WebGPU is unavailable");let r=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(!r)throw new Error("No WebGPU adapter available");let o=await r.requestDevice(),a=x.getContext("webgpu");if(!a)throw o.destroy(),new Error("WebGPU canvas context is unavailable");let c=navigator.gpu.getPreferredCanvasFormat();a.configure({device:o,format:c,alphaMode:"premultiplied"}),o.pushErrorScope("validation");try{let p=new h0(x,o,a,c,e),L=await o.popErrorScope();if(L)throw p.dispose(),new Error(L.message);return o.addEventListener("uncapturederror",M=>e.onDeviceLost?.(M.error.message)),p.adapterInfo=r.info,p}catch(p){throw a.unconfigure(),o.destroy(),p}}get diagnostics(){return this.scene?.diagnostics??[]}setCircuitJson(x){if(this.assertLive(),this.circuit===x)return;let e=performance.now(),r=m3(x,this.config);this.releaseLayers(),this.highlights.destroy(),this.highlights=this.device.createBuffer({size:Math.max(4,r.elementIds.length*4),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.highlightIndices=new Map(r.elementIds.map((a,c)=>[a,c])),this.highlightKey="!",this.cameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.uniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.xRayCameraGroup=this.device.createBindGroup({layout:this.paintPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.xRayUniform}},{binding:1,resource:{buffer:this.highlights}}]}),this.stats.vertexBytes=0;let o=a=>{let c=(p,L)=>{let M=this.device.createBuffer({size:Math.max(4,p.byteLength),usage:L|GPUBufferUsage.COPY_DST});return p.byteLength&&this.device.queue.writeBuffer(M,0,p.buffer,p.byteOffset,p.byteLength),this.stats.vertexBytes+=p.byteLength,M};return{vertices:c(a.vertices,GPUBufferUsage.VERTEX),indices:c(a.indices,GPUBufferUsage.INDEX),count:a.indices.length}};this.layers=r.layers.map(a=>({name:a.name,paint:o(a.paint),erase:o(a.erase),opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.xRayLayers=this.layers.filter(a=>this.isCopper(a.name)||a.name==="drill").map(a=>({...a,opacity:this.device.createBuffer({size:16,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})})),this.scene=r,this.circuit=x,this.size="",this.stats.geometryUploads++,this.stats.triangleCount=r.triangleCount,this.stats.compileMs=performance.now()-e}drawElements(x,e={}){this.setCircuitJson(x),this.options={},this.render(e)}render(x={}){this.assertLive(),this.options={...this.options,...x};let e=this.options;e.transform&&(this.realToCanvasMat=e.transform);let r=this.realToCanvasMat,o=this.canvas.width,a=this.canvas.height;if(!o||!a)return;if(![...Object.values(r),o,a].every(Number.isFinite))throw new Error("Invalid camera or canvas dimensions");if(o>this.device.limits.maxTextureDimension2D||a>this.device.limits.maxTextureDimension2D)throw new Error("Canvas exceeds GPU texture limits");let c=e.showCopperPours===!1?0:Number.isFinite(e.copperPourOpacity)?Math.max(0,Math.min(1,e.copperPourOpacity)):w3;this.resize(o,a),this.device.queue.writeBuffer(this.uniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,0]));let p=e.xRayElementIds??[],L=p.length>0;L&&this.device.queue.writeBuffer(this.xRayUniform,0,new Float32Array([r.a,r.c,r.e,0,r.b,r.d,r.f,0,o,a,c,1]));let M=L?[]:e.highlightedElementIds??[],A=JSON.stringify([M,p]);if(A!==this.highlightKey){let v=new Uint32Array(Math.max(1,this.scene?.elementIds.length??0));for(let E of M){let z=this.highlightIndices.get(E);z!==void 0&&(v[z]=1)}for(let E of p){let z=this.highlightIndices.get(E);z!==void 0&&(v[z]|=2)}this.device.queue.writeBuffer(this.highlights,0,v),this.highlightKey=A}let R=Q0(e.selectedLayer??"top"),O=e.layers?new Set(e.layers.map(Q0)):void 0,S=this.layers.filter(v=>O&&!O.has(v.name.replace(/_silkscreen_text$/,"_silkscreen"))||L&&!this.isCopper(v.name)||v.name==="board"&&!e.showBoardMaterial||v.name.startsWith("soldermask_")&&(!e.showSolderMask||v.name!==`soldermask_${R}`)||v.name.includes("silkscreen")&&e.showSilkscreen===!1||v.name.includes("fabrication")&&!e.showFabricationNotes||v.name.includes("notes")&&e.showPcbNotes===!1||v.name.includes("courtyard")&&!e.showCourtyards?!1:L&&this.isCopper(v.name)||this.opacity(v.name,R,e.hiddenLayerOpacity??.4)>0).sort((v,E)=>this.order(v.name,R)-this.order(E.name,R)),b=L?this.xRayLayers.filter(v=>!O||O.has(v.name)).sort((v,E)=>this.xRayOrder(v.name,R)-this.xRayOrder(E.name,R)):[],_=[...S.map(v=>({layer:v,xRay:!1})),...b.map(v=>({layer:v,xRay:!0}))],k=this.device.createCommandEncoder(),T=S.filter(v=>v.name.endsWith("_silkscreen_text"));for(let{layer:v,xRay:E}of _){this.ensureTexture(v,o,a);let z=v.texture.createView(),y0=(this.config.sampleCount??4)>1,D=k.beginRenderPass({colorAttachments:[{view:y0?this.sample.createView():z,...y0?{resolveTarget:z}:{},clearValue:[0,0,0,0],loadOp:"clear",storeOp:y0?"discard":"store"}]});for(let[p0,g0]of[[v.paint,this.paintPipeline],[v.erase,this.erasePipeline]])p0.count&&(D.setBindGroup(0,E&&g0===this.paintPipeline?this.xRayCameraGroup:this.cameraGroup),D.setPipeline(g0),D.setVertexBuffer(0,p0.vertices),D.setIndexBuffer(p0.indices,"uint32"),D.drawIndexed(p0.count));D.end();let $=v.name==="drill"&&!E?T:[];v.name==="drill"&&(v.composite=this.createComposite(v,$)),this.device.queue.writeBuffer(v.opacity,0,new Float32Array([E?1:L&&this.isCopper(v.name)?Math.max(0,Math.min(1,e.hiddenLayerOpacity??.4)):this.opacity(v.name,R,e.hiddenLayerOpacity??.4),$[0]?this.opacity($[0].name,R,e.hiddenLayerOpacity??.4):0,$[1]?this.opacity($[1].name,R,e.hiddenLayerOpacity??.4):0,$.length?1:0]))}let C=k.beginRenderPass({colorAttachments:[{view:this.context.getCurrentTexture().createView(),clearValue:e.background??[0,0,0,0],loadOp:"clear",storeOp:"store"}]});C.setPipeline(this.compositePipeline);for(let{layer:v}of _)C.setBindGroup(0,v.composite),C.draw(6);C.end(),this.device.queue.submit([k.finish()]),this.stats.frames++}async flush(){this.assertLive(),await this.device.queue.onSubmittedWorkDone()}isCopper(x){return/^(top|bottom|inner\\d+)$/.test(x)}opacity(x,e,r){return["board","drill","edge_cuts"].includes(x)||x===e||x.startsWith(`${e}_`)||x.endsWith(`_${e}`)?1:Math.max(0,Math.min(1,r))}xRayOrder(x,e){return x==="drill"?200:x===e?100:x==="bottom"?0:x.startsWith("inner")?20-Number(x.slice(5)):40}order(x,e){if(x==="board")return-100;if(x==="drill")return 200;if(x==="edge_cuts")return 150;let r=x===e?100:x.startsWith("inner")?20-Number(x.slice(5)):x==="bottom"?30:40;return x.includes("soldermask")?110:x.startsWith(`${e}_`)?120:r}resize(x,e){let r=`${x}:${e}`;if(r!==this.size){this.sample?.destroy(),this.sample=(this.config.sampleCount??4)>1?this.device.createTexture({size:[x,e],format:"rgba8unorm",sampleCount:this.config.sampleCount??4,usage:GPUTextureUsage.RENDER_ATTACHMENT}):void 0;for(let o of[...this.layers,...this.xRayLayers])o.texture?.destroy(),o.texture=void 0,o.composite=void 0;this.size=r}}ensureTexture(x,e,r){x.texture||(x.texture=this.device.createTexture({size:[e,r],format:"rgba8unorm",usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),x.composite=this.createComposite(x))}createComposite(x,e=[]){return this.device.createBindGroup({layout:this.compositePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:x.texture.createView()},{binding:1,resource:this.sampler},{binding:2,resource:{buffer:x.opacity}},{binding:3,resource:(e[0]?.texture??x.texture).createView()},{binding:4,resource:(e[1]?.texture??x.texture).createView()}]})}assertLive(){if(this.disposed||this.lost)throw new Error(this.lost?"WebGPU device lost":"Renderer disposed")}releaseLayers(){for(let x of this.xRayLayers)x.opacity.destroy(),x.texture?.destroy();this.xRayLayers=[];for(let x of this.layers){for(let e of[x.paint,x.erase])e.vertices.destroy(),e.indices.destroy();x.opacity.destroy(),x.texture?.destroy()}this.layers=[]}dispose(){if(this.disposed)return;this.disposed=!0,this.releaseLayers(),this.sample?.destroy(),this.uniform.destroy(),this.xRayUniform.destroy(),this.highlights.destroy(),this.context.unconfigure();let x=()=>this.device.destroy();this.device.queue.onSubmittedWorkDone().then(x,x),this.circuit=void 0,this.scene=void 0}},U(h0,"supportsXRayNet",!0),h0);var w0=self,B5="supportsXRayNet"in F0&&F0.supportsXRayNet===!0,K,v0,W0,U5=0,y5=!1,b0=!1,x5=y=>{b0||(b0=!0,K?.dispose(),w0.postMessage({type:"error",message:y instanceof Error?y.message:String(y)}))};function G5(){if(y5||b0||!K||!W0)return;y5=!0;let y=()=>{if(y5=!1,!(b0||!K||!W0))try{let x=W0,e=U5;v0.width!==x.width&&(v0.width=x.width),v0.height!==x.height&&(v0.height=x.height),K.render({...x.options,transform:x.transform}),w0.postMessage({type:"rendered",xRayActive:B5&&!!x.options.xRayElementIds?.length,geometryUploads:K.stats.geometryUploads,frames:K.stats.frames,compileMs:K.stats.compileMs,sceneGeneration:e})}catch(x){x5(x)}};w0.requestAnimationFrame?w0.requestAnimationFrame(y):setTimeout(y,16)}w0.onmessage=async y=>{let x=y.data;try{if(x.type==="init"){if(v0=x.canvas,K=await F0.create(v0,{onDeviceLost:x5,renderViasInHighDetail:!1}),b0){K.dispose();return}w0.postMessage({type:"ready",supportsXRayNet:B5})}else if(x.type==="scene"){if(K.setCircuitJson(x.elements),K.diagnostics.length)throw new Error(`Unsupported WebGPU geometry: ${K.diagnostics.map(e=>`${e.type}: ${e.message}`).join("; ")}`);U5=x.sceneGeneration,G5()}else x.type==="view"?(W0=x,G5()):(b0=!0,K?.dispose())}catch(e){x5(e)}};})();\n/*! Bundled license information:\n\npolygon-clipping/dist/polygon-clipping.umd.js:\n (**\n * splaytree v3.1.2\n * Fast Splay tree for Node and browser\n *\n * @author Alexander Milevski <info@w8r.name>\n * @license MIT\n * @preserve\n *)\n (*! *****************************************************************************\n Copyright (c) Microsoft Corporation. All rights reserved.\n Licensed under the Apache License, Version 2.0 (the "License"); you may not use\n this file except in compliance with the License. You may obtain a copy of the\n License at http://www.apache.org/licenses/LICENSE-2.0\n \n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n MERCHANTABLITY OR NON-INFRINGEMENT.\n \n See the Apache Version 2.0 License for specific language governing permissions\n and limitations under the License.\n ***************************************************************************** *)\n*/\n'],{type:"text/javascript"}));try{return new Worker(g)}finally{URL.revokeObjectURL(g)}}var kBo=dBo({"inline-worker:/home/runner/work/pcb-viewer/pcb-viewer/src/lib/webgpu/pcb-webgpu.worker.ts"(){}}),CfI=!0,MBo=!1,_eA={CCW:-1,CW:1,NOT_ORIENTABLE:0},SBo=2*Math.PI,RuA=1,QfI=0,zx=2,fBo=3,RBo=4,NBo=1,xBo=2,Zeg=0,beA=1,NZ=2,NuA=Object.freeze({__proto__:null,BOUNDARY:zx,CCW:CfI,CONTAINS:fBo,CW:MBo,END_VERTEX:NZ,INSIDE:RuA,INTERLACE:RBo,NOT_VERTEX:Zeg,ORIENTATION:_eA,OUTSIDE:QfI,OVERLAP_OPPOSITE:xBo,OVERLAP_SAME:NBo,PIx2:SBo,START_VERTEX:beA}),Xx=1e-6;function ifI(g){Xx=g}function EfI(){return Xx}var FBo=3;function Oeg(g){return g<Xx&&g>-Xx}function tb(g,A){return g-A<Xx&&g-A>-Xx}function nfI(g,A){return g-A>Xx}function UBo(g,A){return g-A>-Xx}function sfI(g,A){return g-A<-Xx}function JBo(g,A){return g-A<Xx}var PBo=Object.freeze({__proto__:null,DECIMALS:FBo,EQ:tb,EQ_0:Oeg,GE:UBo,GT:nfI,LE:JBo,LT:sfI,getTolerance:EfI,setTolerance:ifI}),jA={Utils:PBo,Errors:void 0,Matrix:void 0,Planar_set:void 0,Point:void 0,Vector:void 0,Line:void 0,Circle:void 0,Segment:void 0,Arc:void 0,Box:void 0,Edge:void 0,Face:void 0,Ray:void 0,Ray_shooting:void 0,Multiline:void 0,Polygon:void 0,Distance:void 0,Inversion:void 0};for(let g in NuA)jA[g]=NuA[g];Object.defineProperty(jA,"DP_TOL",{get:function(){return EfI()},set:function(g){ifI(g)}});var qc=class{static get ILLEGAL_PARAMETERS(){return new ReferenceError("Illegal Parameters")}static get ZERO_DIVISION(){return new Error("Zero division")}static get UNRESOLVED_BOUNDARY_CONFLICT(){return new Error("Unresolved boundary conflict in boolean operation")}static get INFINITE_LOOP(){return new Error("Infinite loop")}static get CANNOT_COMPLETE_BOOLEAN_OPERATION(){return new Error("Cannot complete boolean operation")}static get CANNOT_INVOKE_ABSTRACT_METHOD(){return new Error("Abstract method cannot be invoked")}static get OPERATION_IS_NOT_SUPPORTED(){return new Error("Operation is not supported")}static get UNSUPPORTED_SHAPE_TYPE(){return new Error("Unsupported shape type")}};jA.Errors=qc;var Weg=class{constructor(g,A){this.first=g,this.last=A||this.first}[Symbol.iterator](){let g;return{next:()=>(g=g?g.next:this.first,{value:g,done:g===void 0})}}get size(){let g=0;for(let A of this)g++;return g}toArray(g=void 0,A=void 0){let I=[],e=g||this.first,t=A||this.last,o=e;if(o===void 0)return I;do I.push(o),o=o.next;while(o!==t.next);return I}append(g){return this.isEmpty()?this.first=g:(g.prev=this.last,this.last.next=g),this.last=g,this.last.next=void 0,this.first.prev=void 0,this}insert(g,A){if(this.isEmpty())this.first=g,this.last=g;else if(A==null)g.next=this.first,this.first.prev=g,this.first=g;else{let I=A.next;A.next=g,I&&(I.prev=g),g.prev=A,g.next=I,this.last===A&&(this.last=g)}return this.last.next=void 0,this.first.prev=void 0,this}remove(g){return g===this.first&&g===this.last?(this.first=void 0,this.last=void 0):(g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),g===this.first&&(this.first=g.next),g===this.last&&(this.last=g.prev)),this}isEmpty(){return this.first===void 0}static testInfiniteLoop(g){let A=g,I=g;do{if(A!=g&&A===I)throw qc.INFINITE_LOOP;A=A.next,I=I.next.next}while(A!=g)}},afI={stroke:"black"},KBo=class{constructor(g=afI){for(const A in g)this[A]=g[A];this.stroke=g.stroke??afI.stroke}toAttributesString(){return Object.keys(this).reduce((g,A)=>g+(this[A]!==void 0?this.toAttrString(A,this[A]):""),"")}toAttrString(g,A){const I=g==="className"?"class":this.convertCamelToKebabCase(g);return A===null?`${I} `:`${I}="${A.toString()}" `}convertCamelToKebabCase(g){return g.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).join("-").toLowerCase()}};function ob(g){return new KBo(g).toAttributesString()}function xZ(g,A){let I=[],[e,t,o]=g.standard,[B,C,Q]=A.standard,i=e*C-t*B,E=o*C-t*Q,n=e*Q-o*B;if(!jA.Utils.EQ_0(i)){let s,r;t===0?(s=o/e,r=n/i):C===0?(s=Q/B,r=n/i):e===0?(s=E/i,r=o/t):B===0?(s=E/i,r=Q/C):(s=E/i,r=n/i),I.push(new jA.Point(s,r))}return I}function Bb(g,A){let I=[],e=A.pc.projectionOn(g),t=A.pc.distanceTo(e)[0];if(jA.Utils.EQ(t,A.r))I.push(e);else if(jA.Utils.LT(t,A.r)){let o=Math.sqrt(A.r*A.r-t*t),B,C;B=g.norm.rotate90CCW().multiply(o),C=e.translate(B),I.push(C),B=g.norm.rotate90CW().multiply(o),C=e.translate(B),I.push(C)}return I}function FZ(g,A){let I=[];for(let e of A.toSegments()){let t=HeA(e,g);for(let o of t)mfI(o,I)||I.push(o)}return I}function xuA(g,A){let I=[];if(FZ(g,A.box).length===0)return I;let e=new jA.Circle(A.pc,A.r),t=Bb(g,e);for(let o of t)o.on(A)&&I.push(o);return I}function HeA(g,A){let I=[];if(g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&!g.isZeroLength()&&I.push(g.pe),I.length>0||g.isZeroLength()||g.ps.leftTo(A)&&g.pe.leftTo(A)||!g.ps.leftTo(A)&&!g.pe.leftTo(A))return I;let e=new jA.Line(g.ps,g.pe);return xZ(e,A)}function FuA(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;if(A.isZeroLength())return A.ps.on(g)&&I.push(A.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Line(A.ps,A.pe);if(e.incidentTo(t))g.ps.on(A)&&I.push(g.ps),g.pe.on(A)&&I.push(g.pe),A.ps.on(g)&&!A.ps.equalTo(g.ps)&&!A.ps.equalTo(g.pe)&&I.push(A.ps),A.pe.on(g)&&!A.pe.equalTo(g.ps)&&!A.pe.equalTo(g.pe)&&I.push(A.pe);else if(e.parallelTo(t)){const o=new jA.Vector(g.ps,g.pe),B=new jA.Vector(A.ps,A.pe),C=new jA.Vector(g.ps,A.ps),Q=o.cross(B);if(!jA.Utils.EQ_0(Q)){const i=C.cross(B)/Q,E=C.cross(o)/Q;jA.Utils.GE(i,0)&&jA.Utils.LE(i,1)&&jA.Utils.GE(E,0)&&jA.Utils.LE(E,1)&&I.push(rfI(g.ps.translate(o.multiply(i)),g,A))}}else{let o=xZ(e,t);o.length>0&&cfI(o[0],g)&&cfI(o[0],A)&&I.push(rfI(o[0],g,A))}return I}function rfI(g,A,I){for(const e of[A.ps,A.pe,I.ps,I.pe])if(g.equalTo(e))return e;return g}function cfI(g,A){const I=A.box;return jA.Utils.LE(g.x,I.xmax)&&jA.Utils.GE(g.x,I.xmin)&&jA.Utils.LE(g.y,I.ymax)&&jA.Utils.GE(g.y,I.ymin)}function UuA(g,A){let I=[];if(g.isZeroLength()){let[o,B]=g.ps.distanceTo(A.pc);return jA.Utils.EQ(o,A.r)&&I.push(g.ps),I}let e=new jA.Line(g.ps,g.pe),t=Bb(e,A);for(let o of t)o.on(g)&&I.push(o);return I}function UZ(g,A){let I=[];if(g.isZeroLength())return g.ps.on(A)&&I.push(g.ps),I;let e=new jA.Line(g.ps,g.pe),t=new jA.Circle(A.pc,A.r),o=Bb(e,t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function LBo(g,A){let I=[];for(let e of A.toSegments()){let t=FuA(e,g);for(let o of t)I.push(o)}return I}function hfI(g,A){let I=[],e=new jA.Vector(g.pc,A.pc),t=g.r,o=A.r;if(jA.Utils.EQ_0(t)||jA.Utils.EQ_0(o))return I;if(jA.Utils.EQ_0(e.x)&&jA.Utils.EQ_0(e.y)&&jA.Utils.EQ(t,o))return I.push(g.pc.translate(-t,0)),I;let B=g.pc.distanceTo(A.pc)[0];if(jA.Utils.GT(B,t+o)||jA.Utils.LT(B,Math.abs(t-o)))return I;e.x/=B,e.y/=B;let C;if(jA.Utils.EQ(B,t+o)||jA.Utils.EQ(B,Math.abs(t-o)))return C=g.pc.translate(t*e.x,t*e.y),I.push(C),I;let Q=t*t/(2*B)-o*o/(2*B)+B/2,i=g.pc.translate(Q*e.x,Q*e.y),E=Math.sqrt(t*t-Q*Q);return C=i.translate(e.rotate90CCW().multiply(E)),I.push(C),C=i.translate(e.rotate90CW().multiply(E)),I.push(C),I}function YBo(g,A){let I=[];for(let e of A.toSegments()){let t=UuA(e,g);for(let o of t)I.push(o)}return I}function lfI(g,A){let I=[];if(g.pc.equalTo(A.pc)&&jA.Utils.EQ(g.r,A.r)){let B;return B=g.start,B.on(A)&&I.push(B),B=g.end,B.on(A)&&I.push(B),B=A.start,B.on(g)&&I.push(B),B=A.end,B.on(g)&&I.push(B),I}let e=new jA.Circle(g.pc,g.r),t=new jA.Circle(A.pc,A.r),o=e.intersect(t);for(let B of o)B.on(g)&&B.on(A)&&I.push(B);return I}function Veg(g,A){let I=[];if(A.pc.equalTo(g.pc)&&jA.Utils.EQ(A.r,g.r))return I.push(g.start),I.push(g.end),I;let e=A,t=new jA.Circle(g.pc,g.r),o=hfI(e,t);for(let B of o)B.on(g)&&I.push(B);return I}function _Bo(g,A){let I=[];for(let e of A.toSegments()){let t=UZ(e,g);for(let o of t)I.push(o)}return I}function DfI(g,A){return g.isSegment?FuA(g.shape,A):UZ(A,g.shape)}function dfI(g,A){return g.isSegment?UZ(g.shape,A):lfI(g.shape,A)}function yfI(g,A){return g.isSegment?HeA(g.shape,A):xuA(A,g.shape)}function bBo(g,A){return g.isSegment?Xeg(A,g.shape):$eg(A,g.shape)}function HBo(g,A){return g.isSegment?UuA(g.shape,A):Veg(g.shape,A)}function jeg(g,A){let I=[];for(let e of A.edges)for(let t of DfI(e,g))I.push(t);return I}function zeg(g,A){let I=[];for(let e of A.edges)for(let t of dfI(e,g))I.push(t);return I}function veA(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of yfI(e,g))mfI(t,I)||I.push(t);return g.sortPoints(I)}function wfI(g,A){let I=[];if(A.isEmpty())return I;for(let e of A.edges)for(let t of HBo(e,g))I.push(t);return I}function ufI(g,A){return g.isSegment?DfI(A,g.shape):g.isArc?dfI(A,g.shape):g.isLine?yfI(A,g.shape):g.isRay?bBo(A,g.shape):[]}function GfI(g,A){let I=[];if(A.isEmpty()||g.shape.box.not_intersect(A.box))return I;let e=A.edges.search(g.shape.box);for(let t of e)I=[...I,...ufI(g,t)];return I}function vBo(g,A){let I=[];if(A.isEmpty()||g.size===0)return I;for(let e of g)I=[...I,...GfI(e,A)];return I}function qBo(g,A){let I=[];if(g.isEmpty()||A.isEmpty()||g.box.not_intersect(A.box))return I;for(let e of g.edges)I=[...I,...GfI(e,A)];return I}function TBo(g,A){return g instanceof jA.Line?veA(g,A):g instanceof jA.Segment?jeg(g,A):g instanceof jA.Arc?zeg(g,A):[]}function mfI(g,A){return A.some(I=>I.equalTo(g))}function AL(g){return new jA.Line(g.start,g.norm)}function Xeg(g,A){return HeA(A,AL(g)).filter(I=>g.contains(I))}function $eg(g,A){return xuA(AL(g),A).filter(I=>g.contains(I))}function pfI(g,A){return Bb(AL(g),A).filter(I=>g.contains(I))}function ZBo(g,A){return FZ(AL(g),A).filter(I=>g.contains(I))}function kfI(g,A){return xZ(AL(g),A).filter(I=>g.contains(I))}function OBo(g,A){return xZ(AL(g),AL(A)).filter(I=>g.contains(I)).filter(I=>A.contains(I))}function MfI(g,A){return veA(AL(g),A).filter(I=>g.contains(I))}function SfI(g,A){if(g.intersect&&g.intersect instanceof Function)return g.intersect(A);throw qc.UNSUPPORTED_SHAPE_TYPE}function JZ(g,A){let I=[];for(let e of A)I=[...I,...SfI(g,e.shape)];return I}function WBo(g,A){let I=[];for(let e of g)for(let t of A)I=[...I,...SfI(e.shape,t.shape)];return I}var Cb=class VBA extends Weg{constructor(...A){if(super(),this.isInfinite=!1,A.length===1&&A[0]instanceof Array&&A[0].length>0){const I=A[0],e=I.length,t=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray||Q instanceof jA.Line,o=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc||Q instanceof jA.Ray,B=Q=>Q instanceof jA.Segment||Q instanceof jA.Arc;if(e===1&&t(I[0])||e>1&&o(I[0])&&o(I[e-1])&&I.slice(1,e-1).every(B)){this.isInfinite=I.some(Q=>Q instanceof jA.Ray||Q instanceof jA.Line);for(let Q of I){let i=new jA.Edge(Q);this.append(i)}this.setArcLength()}else throw jA.Errors.ILLEGAL_PARAMETERS}}get edges(){return[...this]}get box(){return this.edges.reduce((A,I)=>A.merge(I.box),new jA.Box)}get vertices(){let A=this.edges.map(I=>I.start);return A.push(this.last.end),A}get length(){if(this.isEmpty())return 0;if(this.isInfinite)return Number.POSITIVE_INFINITY;let A=0;for(let I of this)A+=I.length;return A}clone(){return new VBA(this.toShapes())}setArcLength(){for(let A of this)this.setOneEdgeArcLength(A)}setOneEdgeArcLength(A){A===this.first?A.arc_length=0:A.arc_length=A.prev.arc_length+A.prev.length}pointAtLength(A){if(A>this.length||A<0||this.isInfinite)return null;let I=null;for(let e of this)if(A>=e.arc_length&&(e===this.last||A<e.next.arc_length)){I=e.pointAtLength(A-e.arc_length);break}return I}addVertex(A,I){let e=I.shape.split(A);if(e[0]===null)return I.prev;if(e[1]===null)return I;let t=new jA.Edge(e[0]),o=I.prev;return this.insert(t,o),I.shape=e[1],t}getChain(A,I){let e=[];for(let t=A;t!==I.next;t=t.next)e.push(t);return e}split(A){for(let I of A){let e=this.findEdgeByPoint(I);this.addVertex(I,e)}return this}findEdgeByPoint(A){let I;for(let e of this)if(e.shape.contains(A)){I=e;break}return I}distanceTo(A){if(A instanceof jA.Point){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Line){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Circle){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Segment){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Arc){const[I,e]=jA.Distance.shape2multiline(A,this);return[I,e.reverse()]}if(A instanceof jA.Box){const[I,e]=jA.Distance.shape2multiline(new jA.Polygon(A),this);return[I,e.reverse()]}if(A instanceof jA.Multiline)return jA.Distance.multiline2multiline(this,A);throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}intersect(A){return A instanceof jA.Multiline?WBo(this,A):JZ(A,this)}contains(A){if(A instanceof jA.Point)return this.edges.some(I=>I.shape.contains(A));throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}translate(A){return new VBA(this.edges.map(I=>I.shape.translate(A)))}rotate(A=0,I=new jA.Point){return new VBA(this.edges.map(e=>e.shape.rotate(A,I)))}transform(A=new jA.Matrix){return new VBA(this.edges.map(I=>I.shape.transform(A)))}toShapes(){return this.edges.map(A=>A.shape.clone())}toJSON(){return this.edges.map(A=>A.toJSON())}svgPoints(){return this.vertices.map(A=>`${A.x},${A.y}`).join(" ")}dpath(){let A=`M${this.first.start.x},${this.first.start.y}`;for(let I of this)A+=I.svg();return A}svg(A={}){let I=`
|
|
5401
5401
|
<path ${ob({fill:"none",...A})} d="`;I+=`
|
|
5402
5402
|
M${this.first.start.x},${this.first.start.y}`;for(let e of this)I+=e.svg();return I+=`" >
|
|
5403
5403
|
</path>`,I}};jA.Multiline=Cb;var VBo=(...g)=>new jA.Multiline(...g);jA.multiline=VBo;function PZ(g,A,I){let e=I.length,t=g.shape.split(A);if(t.length===0)return;let o=0;t[0]===null?o=0:t[1]===null?o=g.shape.length:o=t[0].length;let B=Zeg;tb(o,0)&&(B|=beA),tb(o,g.shape.length)&&(B|=NZ);let C;o===1/0?C=t[0].coord(A):C=B&NZ&&g.next&&g.next.arc_length===0?0:g.arc_length+o,I.push({id:e,pt:A,arc_length:C,edge_before:g,edge_after:void 0,face:g.face,is_vertex:B})}function qeA(g){g.int_points1_sorted=gL(g.int_points1),g.int_points2_sorted=gL(g.int_points2)}function gL(g){let A=new Map,I=0;for(let t of g)A.has(t.face)||(A.set(t.face,I),I++);for(let t of g)t.faceId=A.get(t.face);return g.slice().sort(jBo)}function jBo(g,A){return g.faceId<A.faceId?-1:g.faceId>A.faceId?1:g.arc_length<A.arc_length?-1:g.arc_length>A.arc_length?1:0}function Atg(g){if(g.int_points1.length<2)return;let A=!1,I,e,t,o;for(let B=0;B<g.int_points1_sorted.length;B++)if(g.int_points1_sorted[B].id!==-1){I=g.int_points1_sorted[B],e=g.int_points2[I.id];for(let C=B+1;C<g.int_points1_sorted.length&&(t=g.int_points1_sorted[C],!!tb(t.arc_length,I.arc_length));C++)t.id!==-1&&(o=g.int_points2[t.id],o.id!==-1&&t.edge_before===I.edge_before&&t.edge_after===I.edge_after&&o.edge_before===e.edge_before&&o.edge_after===e.edge_after&&(t.id=-1,o.id=-1,A=!0))}e=g.int_points2_sorted[0],I=g.int_points1[e.id];for(let B=1;B<g.int_points2_sorted.length;B++){let C=g.int_points2_sorted[B];if(C.id===-1)continue;if(e.id===-1||!tb(C.arc_length,e.arc_length)){e=C,I=g.int_points1[e.id];continue}let Q=g.int_points1[C.id];Q.edge_before===I.edge_before&&Q.edge_after===I.edge_after&&C.edge_before===e.edge_before&&C.edge_after===e.edge_after&&(Q.id=-1,C.id=-1,A=!0)}A&&(g.int_points1=g.int_points1.filter(B=>B.id>=0),g.int_points2=g.int_points2.filter(B=>B.id>=0),g.int_points1.forEach((B,C)=>B.id=C),g.int_points2.forEach((B,C)=>B.id=C))}function gtg(g){for(let A of g)A.edge_before&&(A.edge_before.bvStart=void 0,A.edge_before.bvEnd=void 0,A.edge_before.bv=void 0,A.edge_before.overlap=void 0),A.edge_after&&(A.edge_after.bvStart=void 0,A.edge_after.bvEnd=void 0,A.edge_after.bv=void 0,A.edge_after.overlap=void 0);for(let A of g)A.edge_before&&(A.edge_before.bvEnd=zx),A.edge_after&&(A.edge_after.bvStart=zx)}function Itg(g,A){for(let I of g)I.edge_before&&I.edge_before.setInclusion(A),I.edge_after&&I.edge_after.setInclusion(A)}function zBo(g){let A,I,e,t=g.int_points1.length;for(let o=0;o<t;o++){let B=g.int_points1_sorted[o];B.face!==A&&(I=o,A=B.face);let C=o,Q=KZ(g.int_points1_sorted,o,A),i;C+Q<t&&g.int_points1_sorted[C+Q].face===A?i=C+Q:i=I;let E=KZ(g.int_points1_sorted,i,A);e=null;for(let l=i;l<i+E;l++){let D=g.int_points1_sorted[l];if(D.face===A&&g.int_points2[D.id].face===g.int_points2[B.id].face){e=D;break}}if(e===null)continue;let n=B.edge_after,s=e.edge_before;if(!(n.bv===zx&&s.bv===zx)||n!==s)continue;let r=g.int_points2[B.id],a=g.int_points2[e.id],c=r.edge_after,h=a.edge_before;c.bv===zx&&h.bv===zx&&c===h||(r=g.int_points2[e.id],a=g.int_points2[B.id],c=r.edge_after,h=a.edge_before),c.bv===zx&&h.bv===zx&&c===h&&n.setOverlap(c)}}function KZ(g,A,I){let e,t,o=1;if(g.length===1)return 1;e=g[A];for(let B=A+1;B<g.length&&!(e.face!==I||(t=g[B],!(t.pt.equalTo(e.pt)&&t.edge_before===e.edge_before&&t.edge_after===e.edge_after)));B++)o++;return o}function LZ(g,A){if(A){for(let I of A){let e=I.edge_before;if(I.is_vertex=Zeg,e.shape.start&&e.shape.start.equalTo(I.pt)&&(I.is_vertex|=beA),e.shape.end&&e.shape.end.equalTo(I.pt)&&(I.is_vertex|=NZ),I.is_vertex&beA){I.edge_before=e.prev,e.prev&&(I.is_vertex=NZ);continue}if(I.is_vertex&NZ)continue;let t=g.addVertex(I.pt,e);I.edge_before=t}for(let I of A)I.edge_before?I.edge_after=I.edge_before.next:g instanceof Cb&&I.is_vertex&beA&&(I.edge_after=g.first)}}function ffI(g,A,I){const e=g.edge_before,t=A.edge_after,o=I.length;e.next=I[0],I[0].prev=e,I[o-1].next=t,t.prev=I[o-1]}var{INSIDE:$x,OUTSIDE:AF,BOUNDARY:by,OVERLAP_SAME:XBo,OVERLAP_OPPOSITE:$Bo}=NuA,{NOT_VERTEX:xAB,START_VERTEX:RfI,END_VERTEX:NfI}=NuA,JuA=1,TeA=2,Qb=3;function ACo(g,A){let[I]=ZeA(g,A,JuA,!0);return I}function etg(g,A){let e=A.clone().reverse(),[t]=ZeA(g,e,Qb,!0);return t}function xfI(g,A){let[I]=ZeA(g,A,TeA,!0);return I}function FfI(g,A){let[I,e]=ZeA(g,A,TeA,!1),t=[];for(let B of I.faces)t=[...t,...[...B.edges].map(C=>C.shape)];let o=[];for(let B of e.faces)o=[...o,...[...B.edges].map(C=>C.shape)];return[t,o]}function ttg(g,A){let[I]=ZeA(g,A,Qb,!1),e=[];for(let t of I.faces)e=[...e,...[...t.edges].map(o=>o.shape)];return e}function UfI(g,A){let I=g.clone(),e=A.clone(),t=JfI(I,e);qeA(t),LZ(I,t.int_points1_sorted),LZ(e,t.int_points2_sorted),Atg(t),qeA(t);let o=t.int_points1_sorted.map(C=>C.pt),B=t.int_points2_sorted.map(C=>C.pt);return[o,B]}function gCo(g,A,I,e){let t=PfI(g,I.int_points1),o=PfI(A,I.int_points2);for(KfI(t,A),KfI(o,g),gtg(I.int_points1),gtg(I.int_points2),Itg(I.int_points1,A),Itg(I.int_points2,g);eCo(g,A,I.int_points1,I.int_points1_sorted,I.int_points2,I););zBo(I),otg(g,e,I.int_points1_sorted,!0),otg(A,e,I.int_points2_sorted,!1),LfI(g,t,e,!0),LfI(A,o,e,!1)}function ICo(g,A,I,e){tCo(g,A,e,I.int_points2),oCo(g,A,I),Btg(g,I.int_points1),Btg(A,I.int_points2),Ctg(g,I.int_points1,I.int_points2),Ctg(g,I.int_points2,I.int_points1),YfI(g),YfI(A)}function ZeA(g,A,I,e){let t=g.clone(),o=A.clone(),B=JfI(t,o);return qeA(B),LZ(t,B.int_points1_sorted),LZ(o,B.int_points2_sorted),Atg(B),qeA(B),gCo(t,o,B,I),e&&ICo(t,o,B,I),[t,o]}function JfI(g,A){let I={int_points1:[],int_points2:[]};for(let e of g.edges){let t=A.edges.search(e.box);for(let o of t){let B=e.shape.intersect(o.shape);for(let C of B)PZ(e,C,I.int_points1),PZ(o,C,I.int_points2)}}return I}function PfI(g,A){let I=[];for(let e of g.faces)A.find(t=>t.face===e)||I.push(e);return I}function KfI(g,A){for(let I of g)I.first.bv=I.first.bvStart=I.first.bvEnd=void 0,I.first.setInclusion(A)}function eCo(g,A,I,e,t,o){let B,C,Q,i=e.length,E=!1;for(let n=0;n<i;n++){let s=e[n];s.face!==B&&(C=n,B=s.face);let r=n,a=KZ(e,n,B),c;r+a<i&&e[r+a].face===B?c=r+a:c=C;let h=KZ(e,c,B);Q=null;for(let d=c;d<c+h;d++){let y=e[d];if(y.face===B&&t[y.id].face===t[s.id].face){Q=y;break}}if(Q===null)continue;let l=s.edge_after,D=Q.edge_before;if(l.bv===by&&D.bv!=by){l.bv=D.bv;continue}if(l.bv!=by&&D.bv===by){D.bv=l.bv;continue}if(l.bv===by&&D.bv===by&&l!=D||l.bv===$x&&D.bv===AF||l.bv===AF&&D.bv===$x){let d=l.next;for(;d!=D;)d.bvStart=void 0,d.bvEnd=void 0,d.bv=void 0,d.setInclusion(A),d=d.next}if(l.bv===by&&D.bv===by&&l!=D){let d=l.next,y;for(;d!=D;){if(d.bv!=by){if(y===void 0)y=d.bv;else if(d.bv!=y)throw qc.UNRESOLVED_BOUNDARY_CONFLICT}d=d.next}y!=null&&(l.bv=y,D.bv=y);continue}if(l.bv===$x&&D.bv===AF||l.bv===AF&&D.bv===$x){let d=l;for(;d!=D;){if(d.bvStart===l.bv&&d.bvEnd===D.bv){let[y,w]=d.shape.distanceTo(A);if(y<10*jA.DP_TOL){PZ(d,w.ps,I);let u=I[I.length-1];if(u.is_vertex&RfI)u.edge_after=d,u.edge_before=d.prev,d.bvStart=by,d.bv=void 0,d.setInclusion(A);else if(u.is_vertex&NfI)u.edge_after=d.next,d.bvEnd=by,d.bv=void 0,d.setInclusion(A);else{let p=A.addVertex(u.pt,d);u.edge_before=p,u.edge_after=p.next,p.setInclusion(A),p.next.bvStart=by,p.next.bvEnd=void 0,p.next.bv=void 0,p.next.setInclusion(A)}let G=A.findEdgeByPoint(w.pe);PZ(G,w.pe,t);let m=t[t.length-1];if(m.is_vertex&RfI)m.edge_after=G,m.edge_before=G.prev;else if(m.is_vertex&NfI)m.edge_after=G.next;else{let p=t.find(S=>S.edge_after===G),k=A.addVertex(m.pt,G);m.edge_before=k,m.edge_after=k.next,p&&(p.edge_after=k),k.bvStart=void 0,k.bvEnd=by,k.bv=void 0,k.setInclusion(g),k.next.bvStart=by,k.next.bvEnd=void 0,k.next.bv=void 0,k.next.setInclusion(g)}qeA(o),E=!0;break}}d=d.next}if(E)break;throw qc.UNRESOLVED_BOUNDARY_CONFLICT}}return E}function otg(g,A,I,e){if(!I)return;let t,o,B,C;for(let Q=0;Q<I.length;Q++){if(B=I[Q],B.face!==t&&(o=Q,t=B.face),t.isEmpty())continue;let i=Q,E=KZ(I,Q,t),n;i+E<I.length&&I[i+E].face===B.face?n=i+E:n=o,C=I[n];let s=n,r=KZ(I,s,t),a=B.edge_after,c=C.edge_before;if(a.bv===$x&&c.bv===$x&&A===JuA||a.bv===AF&&c.bv===AF&&A===TeA||(a.bv===AF||c.bv===AF)&&A===Qb&&!e||(a.bv===$x||c.bv===$x)&&A===Qb&&e||a.bv===by&&c.bv===by&&a.overlap&XBo&&e||a.bv===by&&c.bv===by&&a.overlap&$Bo){g.removeChain(t,a,c);for(let h=i;h<i+E;h++)I[h].edge_after=void 0;for(let h=s;h<s+r;h++)I[h].edge_before=void 0}Q+=E-1}}function tCo(g,A,I,e){for(let t of A.faces){for(let o of t)g.edges.add(o);e.find(o=>o.face===t)===void 0&&g.addFace(t.first,t.last)}}function oCo(g,A,I){if(I.int_points1.length!==0)for(let e=0;e<I.int_points1.length;e++){let t=I.int_points1[e],o=I.int_points2[e];if(t.edge_before!==void 0&&t.edge_after===void 0&&o.edge_before===void 0&&o.edge_after!==void 0&&(t.edge_before.next=o.edge_after,o.edge_after.prev=t.edge_before,t.edge_after=o.edge_after,o.edge_before=t.edge_before),o.edge_before!==void 0&&o.edge_after===void 0&&t.edge_before===void 0&&t.edge_after!==void 0&&(o.edge_before.next=t.edge_after,t.edge_after.prev=o.edge_before,o.edge_after=t.edge_after,t.edge_before=o.edge_before),t.edge_before!==void 0&&t.edge_after===void 0)for(let B of I.int_points1_sorted)B!==t&&B.edge_before===void 0&&B.edge_after!==void 0&&B.pt.equalTo(t.pt)&&(t.edge_before.next=B.edge_after,B.edge_after.prev=t.edge_before,t.edge_after=B.edge_after,B.edge_before=t.edge_before);if(o.edge_before!==void 0&&o.edge_after===void 0)for(let B of I.int_points2_sorted)B!==o&&B.edge_before===void 0&&B.edge_after!==void 0&&B.pt.equalTo(o.pt)&&(o.edge_before.next=B.edge_after,B.edge_after.prev=o.edge_before,o.edge_after=B.edge_after,B.edge_before=o.edge_before)}}function Btg(g,A){for(let I of A)g.faces.delete(I.face),I.face=void 0,I.edge_before&&(I.edge_before.face=void 0),I.edge_after&&(I.edge_after.face=void 0)}function Ctg(g,A,I){for(let e of A){if(e.edge_before===void 0||e.edge_after===void 0||e.face||e.edge_after.face||e.edge_before.face)continue;let t=e.edge_after,o=e.edge_before;try{Weg.testInfiniteLoop(t)}catch{throw qc.CANNOT_COMPLETE_BOOLEAN_OPERATION}let B=g.addFace(t,o);for(let C of A)C.edge_before&&C.edge_after&&C.edge_before.face===B&&C.edge_after.face===B&&(C.face=B);for(let C of I)C.edge_before&&C.edge_after&&C.edge_before.face===B&&C.edge_after.face===B&&(C.face=B)}}function LfI(g,A,I,e){for(let t of A){let o=t.first.bv;(I===JuA&&o===$x||I===Qb&&o===$x&&e||I===Qb&&o===AF&&!e||I===TeA&&o===AF)&&g.deleteFace(t)}}function YfI(g){const A=[];for(const I of g.edges)(!I.face||!g.faces.has(I.face))&&A.push(I);for(const I of A)g.edges.delete(I)}var BCo=Object.freeze({__proto__:null,BOOLEAN_INTERSECT:TeA,BOOLEAN_SUBTRACT:Qb,BOOLEAN_UNION:JuA,calculateIntersections:UfI,innerClip:FfI,intersect:xfI,outerClip:ttg,removeNotRelevantChains:otg,removeOldFaces:Btg,restoreFaces:Ctg,subtract:etg,unify:ACo}),CCo=RegExp("T.F..FFF.|T.F...F.."),QCo=RegExp("T........|.T.......|...T.....|....T...."),iCo=RegExp("FT.......|F..T.....|F...T...."),ECo=RegExp("T.F..F..."),nCo=RegExp("T.F..F...|.TF..F...|..FT.F...|..F.TF..."),YZ=class{constructor(){this.m=new Array(9).fill(void 0)}get I2I(){return this.m[0]}set I2I(g){this.m[0]=g}get I2B(){return this.m[1]}set I2B(g){this.m[1]=g}get I2E(){return this.m[2]}set I2E(g){this.m[2]=g}get B2I(){return this.m[3]}set B2I(g){this.m[3]=g}get B2B(){return this.m[4]}set B2B(g){this.m[4]=g}get B2E(){return this.m[5]}set B2E(g){this.m[5]=g}get E2I(){return this.m[6]}set E2I(g){this.m[6]=g}get E2B(){return this.m[7]}set E2B(g){this.m[7]=g}get E2E(){return this.m[8]}set E2E(g){this.m[8]=g}toString(){return this.m.map(g=>g instanceof Array&&g.length>0?"T":g instanceof Array&&g.length===0?"F":"*").join("")}equal(){return CCo.test(this.toString())}intersect(){return QCo.test(this.toString())}touch(){return iCo.test(this.toString())}inside(){return ECo.test(this.toString())}covered(){return nCo.test(this.toString())}};function OeA(g,A){let I,e=new jA.Ray(A),t=new jA.Line(e.pt,e.norm);const o=new jA.Box(e.box.xmin-jA.DP_TOL,e.box.ymin-jA.DP_TOL,e.box.xmax+jA.DP_TOL,e.box.ymax+jA.DP_TOL);if(g.box.not_intersect(o))return jA.OUTSIDE;let B=g.edges.search(o);if(B.length===0)return jA.OUTSIDE;for(let E of B)if(E.shape.contains(A))return jA.BOUNDARY;let C=[...g.faces],Q=[];for(let E of B)for(let n of e.intersect(E.shape)){if(n.equalTo(A))return jA.BOUNDARY;Q.push({pt:n,edge:E,face_index:C.indexOf(E.face)})}Q.sort((E,n)=>sfI(E.pt.x,n.pt.x)?-1:nfI(E.pt.x,n.pt.x)?1:E.face_index<n.face_index?-1:E.face_index>n.face_index?1:E.edge.arc_length<n.edge.arc_length?-1:E.edge.arc_length>n.edge.arc_length?1:0);let i=0;for(let E=0;E<Q.length;E++){let n=Q[E];if(n.pt.equalTo(n.edge.shape.start)){if(E>0&&n.pt.equalTo(Q[E-1].pt)&&n.face_index===Q[E-1].face_index&&n.edge.prev===Q[E-1].edge)continue;let s=n.edge.prev;for(;Oeg(s.length);)s=s.prev;let r=s.shape.tangentInEnd(),a=n.pt.translate(r),c=n.edge.shape.tangentInStart(),h=n.pt.translate(c),l=a.leftTo(t),D=h.leftTo(t);(l&&!D||!l&&D)&&i++}else if(n.pt.equalTo(n.edge.shape.end)){if(E>0&&n.pt.equalTo(Q[E-1].pt)&&n.face_index===Q[E-1].face_index&&n.edge.next===Q[E-1].edge)continue;let s=n.edge.next;for(;Oeg(s.length);)s=s.next;let r=s.shape.tangentInStart(),a=n.pt.translate(r),c=n.edge.shape.tangentInEnd(),h=n.pt.translate(c),l=a.leftTo(t),D=h.leftTo(t);(l&&!D||!l&&D)&&i++}else if(n.edge.shape instanceof jA.Segment)i++;else{let s=n.edge.shape.box;tb(n.pt.y,s.ymin)||tb(n.pt.y,s.ymax)||i++}}return I=i%2===1?RuA:QfI,I}function sCo(g,A){return _Z(g,A).equal()}function _fI(g,A){return _Z(g,A).intersect()}function aCo(g,A){return _Z(g,A).touch()}function rCo(g,A){return!_fI(g,A)}function bfI(g,A){return _Z(g,A).inside()}function HfI(g,A){return _Z(g,A).covered()}function cCo(g,A){return bfI(A,g)}function vfI(g,A){return HfI(A,g)}function _Z(g,A){if(g instanceof jA.Line&&A instanceof jA.Line)return hCo(g,A);if(g instanceof jA.Line&&A instanceof jA.Circle)return lCo(g,A);if(g instanceof jA.Line&&A instanceof jA.Box)return DCo(g,A);if(g instanceof jA.Line&&A instanceof jA.Polygon)return dCo(g,A);if((g instanceof jA.Segment||g instanceof jA.Arc)&&A instanceof jA.Polygon)return qfI(g,A);if((g instanceof jA.Segment||g instanceof jA.Arc)&&(A instanceof jA.Circle||A instanceof jA.Box))return qfI(g,new jA.Polygon(A));if(g instanceof jA.Polygon&&A instanceof jA.Polygon)return PuA(g,A);if((g instanceof jA.Circle||g instanceof jA.Box)&&(A instanceof jA.Circle||A instanceof jA.Box))return PuA(new jA.Polygon(g),new jA.Polygon(A));if((g instanceof jA.Circle||g instanceof jA.Box)&&A instanceof jA.Polygon)return PuA(new jA.Polygon(g),A);if(g instanceof jA.Polygon&&(A instanceof jA.Circle||A instanceof jA.Box))return PuA(g,new jA.Polygon(A))}function hCo(g,A){let I=new YZ,e=xZ(g,A);return e.length===0?g.contains(A.pt)&&A.contains(g.pt)?(I.I2I=[g],I.I2E=[],I.E2I=[]):(I.I2I=[],I.I2E=[g],I.E2I=[A]):(I.I2I=e,I.I2E=g.split(e),I.E2I=A.split(e)),I}function lCo(g,A){let I=new YZ,e=Bb(g,A);if(e.length===0)I.I2I=[],I.I2B=[],I.I2E=[g],I.E2I=[A];else if(e.length===1)I.I2I=[],I.I2B=e,I.I2E=g.split(e),I.E2I=[A];else{let t=new Cb([g]),o=g.sortPoints(e);t.split(o);let B=t.toShapes();I.I2I=[B[1]],I.I2B=o,I.I2E=[B[0],B[2]],I.E2I=new jA.Polygon([A.toArc()]).cutWithLine(g)}return I}function DCo(g,A){let I=new YZ,e=FZ(g,A);if(e.length===0)I.I2I=[],I.I2B=[],I.I2E=[g],I.E2I=[A];else if(e.length===1)I.I2I=[],I.I2B=e,I.I2E=g.split(e),I.E2I=[A];else{let t=new Cb([g]),o=g.sortPoints(e);t.split(o);let B=t.toShapes();A.toSegments().some(C=>C.contains(e[0])&&C.contains(e[1]))?(I.I2I=[],I.I2B=[B[1]],I.I2E=[B[0],B[2]],I.E2I=[A]):(I.I2I=[B[1]],I.I2B=o,I.I2E=[B[0],B[2]],I.E2I=new jA.Polygon(A.toSegments()).cutWithLine(g))}return I}function dCo(g,A){let I=new YZ,e=veA(g,A),t=new Cb([g]),o=e.length>0?e.slice():g.sortPoints(e);return t.split(o),[...t].forEach(B=>B.setInclusion(A)),I.I2I=[...t].filter(B=>B.bv===jA.INSIDE).map(B=>B.shape),I.I2B=[...t].slice(1).map(B=>B.bv===jA.BOUNDARY?B.shape:B.shape.start),I.I2E=[...t].filter(B=>B.bv===jA.OUTSIDE).map(B=>B.shape),I.E2I=A.cutWithLine(g),I}function qfI(g,A){let I=new YZ,e=TBo(g,A),t=e.length>0?e.slice():g.sortPoints(e),o=new Cb([g]);o.split(t),[...o].forEach(B=>B.setInclusion(A)),I.I2I=[...o].filter(B=>B.bv===jA.INSIDE).map(B=>B.shape),I.I2B=[...o].slice(1).map(B=>B.bv===jA.BOUNDARY?B.shape:B.shape.start),I.I2E=[...o].filter(B=>B.bv===jA.OUTSIDE).map(B=>B.shape),I.B2I=[],I.B2B=[],I.B2E=[];for(let B of[g.start,g.end])switch(OeA(A,B)){case jA.INSIDE:I.B2I.push(B);break;case jA.BOUNDARY:I.B2B.push(B);break;case jA.OUTSIDE:I.B2E.push(B);break}return I}function PuA(g,A){let I=new YZ,[e,t]=UfI(g,A),o=xfI(g,A),B=etg(g,A),C=etg(A,g),[Q,i]=FfI(g,A),E=ttg(g,A),n=ttg(A,g);return I.I2I=o.isEmpty()?[]:[o],I.I2B=i,I.I2E=B.isEmpty()?[]:[B],I.B2I=Q,I.B2B=e,I.B2E=E,I.E2I=C.isEmpty()?[]:[C],I.E2B=n,I}var yCo=Object.freeze({__proto__:null,contain:cCo,cover:vfI,covered:HfI,disjoint:rCo,equal:sCo,inside:bfI,intersect:_fI,relate:_Z,touch:aCo}),WeA=class u9{constructor(A=1,I=0,e=0,t=1,o=0,B=0){this.a=A,this.b=I,this.c=e,this.d=t,this.tx=o,this.ty=B}fromMatrix3x3(A){const[I,e,t]=A[0],[o,B,C]=A[1];return new u9(I,o,e,B,t,C)}toMatrix3x3(){return[[this.a,this.c,this.tx],[this.b,this.d,this.ty],[0,0,1]]}clone(){return new u9(this.a,this.b,this.c,this.d,this.tx,this.ty)}transform(A){return[A[0]*this.a+A[1]*this.c+this.tx,A[0]*this.b+A[1]*this.d+this.ty]}multiply(A){return new u9(this.a*A.a+this.c*A.b,this.b*A.a+this.d*A.b,this.a*A.c+this.c*A.d,this.b*A.c+this.d*A.d,this.a*A.tx+this.c*A.ty+this.tx,this.b*A.tx+this.d*A.ty+this.ty)}translate(...A){let I,e;if(A.length==1&&!isNaN(A[0].x)&&!isNaN(A[0].y))I=A[0].x,e=A[0].y;else if(A.length===2&&typeof A[0]=="number"&&typeof A[1]=="number")I=A[0],e=A[1];else throw qc.ILLEGAL_PARAMETERS;return this.multiply(new u9(1,0,0,1,I,e))}rotate(A,I=0,e=0){let t=Math.cos(A),o=Math.sin(A);return this.translate(I,e).multiply(new u9(t,o,-o,t,0,0)).translate(-I,-e)}scale(A,I){return this.multiply(new u9(A,0,0,I,0,0))}equalTo(A){return!(!jA.Utils.EQ(this.tx,A.tx)||!jA.Utils.EQ(this.ty,A.ty)||!jA.Utils.EQ(this.a,A.a)||!jA.Utils.EQ(this.b,A.b)||!jA.Utils.EQ(this.c,A.c)||!jA.Utils.EQ(this.d,A.d))}};jA.Matrix=WeA;var wCo=(...g)=>new jA.Matrix(...g);jA.matrix=wCo;var uCo=class{constructor(g,A){this.low=g,this.high=A}get max(){return this.clone()}less_than(g){return this.low<g.low||this.low===g.low&&this.high<g.high}equal_to(g){return this.low===g.low&&this.high===g.high}intersect(g){return!this.not_intersect(g)}not_intersect(g){return this.high<g.low||g.high<this.low}merge(g){const A=this.low===void 0?g.low:this.low<g.low?this.low:g.low,I=this.high===void 0?g.high:this.high>g.high?this.high:g.high,e=this.clone();return e.low=A,e.high=I,e}output(){return[this.low,this.high]}comparable_less_than(g,A){return g<A}},GCo=class _TI extends uCo{clone(){return new _TI(this.low,this.high)}},Xw=1,ha=0,IL=class{constructor(A,I,e=null,t=null,o=null,B=ha){if(this.left=e,this.right=t,this.parent=o,this.color=B,this.item={key:void 0,values:[]},I!==void 0&&this.item.values.push(I),A!==void 0)if(Array.isArray(A)){const[C,Q]=A;if(!Number.isNaN(C)&&!Number.isNaN(Q)){let i=C,E=Q;i>E&&([i,E]=[E,i]),this.item.key=new GCo(i,E)}}else this.item.key=A;this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.values.length===0&&this.left===null&&this.right===null&&this.color===ha}requireKey(){if(!this.item.key)throw new Error("Node key is undefined (nil/sentinel). Operation is not applicable.");return this.item.key}less_than(A){const I=this.requireKey(),e=A.requireKey();return I.less_than(e)}_value_equal(A){const I=this.item.values[0],e=A.item.values[0];return I&&e&&I.equal_to?I.equal_to(e):I===e}equal_to(A){const I=this.requireKey(),e=A.requireKey();return I.equal_to(e)}intersect(A){const I=this.requireKey(),e=A.requireKey();return I.intersect(e)}copy_data(A){this.item.key=A.item.key,this.item.values=A.item.values.slice()}update_max(){this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max&&(this.max=this.max?this.max.merge(this.right.max):this.right.max),this.left&&this.left.max&&(this.max=this.max?this.max.merge(this.left.max):this.left.max)}not_intersect_left_subtree(A){if(!this.left)return!0;const I=this.left.max?this.left.max.high:this.left.item.key.high,e=this.requireKey(),t=A.requireKey();return e.comparable_less_than(I,t.low)}not_intersect_right_subtree(A){if(!this.right)return!0;const I=this.right.max?this.right.max.low:this.right.item.key.low,e=this.requireKey(),t=A.requireKey();return e.comparable_less_than(t.high,I)}},Qtg=class bTI{constructor(){this.root=null,this.nil_node=new IL}get size(){let A=0;return this.tree_walk(this.root,I=>A+=I.item.values.length),A}get keys(){const A=[];return this.tree_walk(this.root,I=>A.push(I.item.key.output())),A}get values(){const A=[];return this.tree_walk(this.root,I=>{for(const e of I.item.values)A.push(e)}),A}get items(){const A=[];return this.tree_walk(this.root,I=>{const e=I.item.key.output();for(const t of I.item.values)A.push({key:e,value:t})}),A}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(A,I=A){if(A===void 0)return;const e=this.tree_search(this.root,new IL(A));if(e)return e.item.values.push(I),e;const t=new IL(A,I,this.nil_node,this.nil_node,null,Xw);return this.tree_insert(t),this.recalc_max(t),t}exist(A,I=A){const e=this.tree_search(this.root,new IL(A));return e?arguments.length<2||I===A?!0:e.item.values.some(t=>t&&t.equal_to?t.equal_to(I):t===I):!1}remove(A,I=A){const e=this.tree_search(this.root,new IL(A));if(!e)return;if(arguments.length<2)return this.tree_delete(e),e;const t=e.item.values.findIndex(o=>o&&o.equal_to?o.equal_to(I):o===I);if(t>=0)return e.item.values.splice(t,1),e.item.values.length===0&&this.tree_delete(e),e}search(A,I=(e,t)=>e===t?t.output():e){const e=new IL(A),t=[];this.tree_search_interval(this.root,e,t);const o=[];for(const B of t)for(const C of B.item.values)o.push(I(C,B.item.key));return o}intersect_any(A){const I=new IL(A);return this.tree_find_any_interval(this.root,I)}forEach(A){this.tree_walk(this.root,I=>{for(const e of I.item.values)A(I.item.key,e)})}map(A){const I=new bTI;return this.tree_walk(this.root,e=>{for(const t of e.item.values)I.insert(e.item.key,A(t,e.item.key))}),I}*iterate(A,I=(e,t)=>e===t?t.output():e){let e=null;for(A?e=this.tree_search_nearest_forward(this.root,new IL(A)):this.root&&(e=this.local_minimum(this.root));e;){for(const t of e.item.values)yield I(t,e.item.key);e=this.tree_successor(e)}}recalc_max(A){let I=A;for(;I.parent!=null;)I.parent.update_max(),I=I.parent}tree_insert(A){let I=this.root,e=null;if(this.root==null||this.root===this.nil_node)this.root=A;else{for(;I!==this.nil_node;)e=I,A.less_than(I)?I=I.left:I=I.right;A.parent=e,A.less_than(e)?e.left=A:e.right=A}this.insert_fixup(A)}insert_fixup(A){let I,e;for(I=A;I!==this.root&&I.parent.color===Xw;)I.parent===I.parent.parent.left?(e=I.parent.parent.right,e.color===Xw?(I.parent.color=ha,e.color=ha,I.parent.parent.color=Xw,I=I.parent.parent):(I===I.parent.right&&(I=I.parent,this.rotate_left(I)),I.parent.color=ha,I.parent.parent.color=Xw,this.rotate_right(I.parent.parent))):(e=I.parent.parent.left,e.color===Xw?(I.parent.color=ha,e.color=ha,I.parent.parent.color=Xw,I=I.parent.parent):(I===I.parent.left&&(I=I.parent,this.rotate_right(I)),I.parent.color=ha,I.parent.parent.color=Xw,this.rotate_left(I.parent.parent)));this.root.color=ha}tree_delete(A){let I,e;A.left===this.nil_node||A.right===this.nil_node?I=A:I=this.tree_successor(A),I.left!==this.nil_node?e=I.left:e=I.right,e.parent=I.parent,I===this.root?this.root=e:(I===I.parent.left?I.parent.left=e:I.parent.right=e,I.parent.update_max()),this.recalc_max(e),I!==A&&(A.copy_data(I),A.update_max(),this.recalc_max(A)),I.color===ha&&this.delete_fixup(e)}delete_fixup(A){let I=A,e;for(;I!==this.root&&I.parent!=null&&I.color===ha;)I===I.parent.left?(e=I.parent.right,e.color===Xw&&(e.color=ha,I.parent.color=Xw,this.rotate_left(I.parent),e=I.parent.right),e.left.color===ha&&e.right.color===ha?(e.color=Xw,I=I.parent):(e.right.color===ha&&(e.color=Xw,e.left.color=ha,this.rotate_right(e),e=I.parent.right),e.color=I.parent.color,I.parent.color=ha,e.right.color=ha,this.rotate_left(I.parent),I=this.root)):(e=I.parent.left,e.color===Xw&&(e.color=ha,I.parent.color=Xw,this.rotate_right(I.parent),e=I.parent.left),e.left.color===ha&&e.right.color===ha?(e.color=Xw,I=I.parent):(e.left.color===ha&&(e.color=Xw,e.right.color=ha,this.rotate_left(e),e=I.parent.left),e.color=I.parent.color,I.parent.color=ha,e.left.color=ha,this.rotate_right(I.parent),I=this.root));I.color=ha}tree_search(A,I){if(!(A==null||A===this.nil_node))return I.equal_to(A)?A:I.less_than(A)?this.tree_search(A.left,I):this.tree_search(A.right,I)}tree_search_nearest_forward(A,I){let e=null,t=A;for(;t&&t!==this.nil_node;)t.less_than(I)?t.intersect(I)?(e=t,t=t.left):t=t.right:((!e||t.less_than(e))&&(e=t),t=t.left);return e||null}tree_search_interval(A,I,e){A!=null&&A!==this.nil_node&&(A.left!==this.nil_node&&!A.not_intersect_left_subtree(I)&&this.tree_search_interval(A.left,I,e),A.intersect(I)&&e.push(A),A.right!==this.nil_node&&!A.not_intersect_right_subtree(I)&&this.tree_search_interval(A.right,I,e))}tree_find_any_interval(A,I){let e=!1;return A!=null&&A!==this.nil_node&&(A.left!==this.nil_node&&!A.not_intersect_left_subtree(I)&&(e=this.tree_find_any_interval(A.left,I)),e||(e=A.intersect(I)),!e&&A.right!==this.nil_node&&!A.not_intersect_right_subtree(I)&&(e=this.tree_find_any_interval(A.right,I))),e}local_minimum(A){let I=A;for(;I.left!=null&&I.left!==this.nil_node;)I=I.left;return I}local_maximum(A){let I=A;for(;I.right!=null&&I.right!==this.nil_node;)I=I.right;return I}tree_successor(A){let I,e,t;if(A.right!==this.nil_node)I=this.local_minimum(A.right);else{for(e=A,t=A.parent;t!=null&&t.right===e;)e=t,t=t.parent;I=t}return I}rotate_left(A){const I=A.right;A.right=I.left,I.left!==this.nil_node&&(I.left.parent=A),I.parent=A.parent,A===this.root?this.root=I:A===A.parent.left?A.parent.left=I:A.parent.right=I,I.left=A,A.parent=I,A!==null&&A!==this.nil_node&&A.update_max(),I!=null&&I!==this.nil_node&&I.update_max()}rotate_right(A){const I=A.left;A.left=I.right,I.right!==this.nil_node&&(I.right.parent=A),I.parent=A.parent,A===this.root?this.root=I:A===A.parent.left?A.parent.left=I:A.parent.right=I,I.right=A,A.parent=I,A!==null&&A!==this.nil_node&&A.update_max(),I!=null&&I!==this.nil_node&&I.update_max()}tree_walk(A,I){A!=null&&A!==this.nil_node&&(this.tree_walk(A.left,I),I(A),this.tree_walk(A.right,I))}testRedBlackProperty(){let A=!0;return this.tree_walk(this.root,function(I){I.color===Xw&&(I.left.color===ha&&I.right.color===ha||(A=!1))}),A}testBlackHeightProperty(A){let I=0,e=0,t=0;if(A.color===ha&&I++,A.left!==this.nil_node?e=this.testBlackHeightProperty(A.left):e=1,A.right!==this.nil_node?t=this.testBlackHeightProperty(A.right):t=1,e!==t)throw new Error("Red-black height property violated");return I+=e,I}},mCo=class extends Set{constructor(g){super(g),this.index=new Qtg,this.forEach(A=>this.index.insert(A))}add(g){let A=this.size;const{key:I,value:e}=g,t=I||g.box,o=e||g;return super.add(o),this.size>A&&this.index.insert(t,o),this}delete(g){const{key:A,value:I}=g,e=A||g.box,t=I||g;let o=super.delete(t);return o&&this.index.remove(e,t),o}clear(){super.clear(),this.index=new Qtg}search(g){return this.index.search(g)}hit(g){let A=new jA.Box(g.x-1,g.y-1,g.x+1,g.y+1);return this.index.search(A).filter(e=>g.on(e))}svg(){return[...this].reduce((A,I)=>A+I.svg(),"")}};jA.PlanarSet=mCo;var eL=class{get name(){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}get box(){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}clone(){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}translate(...g){return this.transform(new WeA().translate(...g))}rotate(g,A=new jA.Point){return this.transform(new WeA().rotate(g,A.x,A.y))}scale(g,A){return this.transform(new WeA().scale(g,A))}transform(...g){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}toJSON(){return Object.assign({},this,{name:this.name})}svg(g={}){throw qc.CANNOT_INVOKE_ABSTRACT_METHOD}},pCo=class HTI extends eL{constructor(...A){if(super(),this.x=0,this.y=0,A.length!==0){if(A.length===1&&A[0]instanceof Array&&A[0].length===2){let I=A[0];if(typeof I[0]=="number"&&typeof I[1]=="number"){this.x=I[0],this.y=I[1];return}}if(A.length===1&&A[0]instanceof Object&&A[0].name==="point"){let{x:I,y:e}=A[0];this.x=I,this.y=e;return}if(A.length===2&&typeof A[0]=="number"&&typeof A[1]=="number"){this.x=A[0],this.y=A[1];return}throw qc.ILLEGAL_PARAMETERS}}get box(){return new jA.Box(this.x,this.y,this.x,this.y)}clone(){return new jA.Point(this.x,this.y)}get vertices(){return[this.clone()]}equalTo(A){return jA.Utils.EQ(this.x,A.x)&&jA.Utils.EQ(this.y,A.y)}lessThan(A){return!!(jA.Utils.LT(this.y,A.y)||jA.Utils.EQ(this.y,A.y)&&jA.Utils.LT(this.x,A.x))}transform(A){return new jA.Point(A.transform([this.x,this.y]))}projectionOn(A){if(this.equalTo(A.pt))return this.clone();let I=new jA.Vector(this,A.pt);if(jA.Utils.EQ_0(I.cross(A.norm)))return A.pt.clone();let e=I.dot(A.norm),t=A.norm.multiply(e);return this.translate(t)}leftTo(A){let I=new jA.Vector(A.pt,this);return jA.Utils.GT(I.dot(A.norm),0)}distanceTo(A){if(A instanceof HTI){let I=A.x-this.x,e=A.y-this.y;return[Math.sqrt(I*I+e*e),new jA.Segment(this,A)]}if(A instanceof jA.Line)return jA.Distance.point2line(this,A);if(A instanceof jA.Circle)return jA.Distance.point2circle(this,A);if(A instanceof jA.Segment)return jA.Distance.point2segment(this,A);if(A instanceof jA.Arc)return jA.Distance.point2arc(this,A);if(A instanceof jA.Box)return jA.Distance.point2polygon(this,new jA.Polygon(A));if(A instanceof jA.Polygon)return jA.Distance.point2polygon(this,A);if(A instanceof jA.PlanarSet)return jA.Distance.shape2planarSet(this,A);if(A instanceof jA.Multiline)return jA.Distance.shape2multiline(this,A)}on(A){if(A instanceof jA.Point)return this.equalTo(A);if(A.contains&&A.contains instanceof Function)return A.contains(this);throw jA.Errors.UNSUPPORTED_SHAPE_TYPE}get name(){return"point"}svg(A={}){const I=A.r??3;return`
|
|
@@ -5431,7 +5431,7 @@ ${e.svg()}`;return I+=`" >
|
|
|
5431
5431
|
transition: opacity 0.2s;
|
|
5432
5432
|
margin-bottom: 10px;
|
|
5433
5433
|
color: red;
|
|
5434
|
-
`,XEo=[];function $Eo(g){return g.type==="source_component"?g.source_component_id:g.type==="pcb_component"?g.pcb_component_id:"component"}var Ano=({children:g,transform:A=_J(),elements:I})=>{const e=gA.useRef(null),{isShowingDRCErrors:t,hoveredErrorId:o,focusedErrorId:B}=Ei(l=>({isShowingDRCErrors:l.is_showing_drc_errors,hoveredErrorId:l.hovered_error_id,focusedErrorId:l.focused_error_id})),C=B??o,Q=I??XEo,i=gA.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!l.message?.includes("Multiple components found with name")),[Q]),E=gA.useMemo(()=>Q.filter(l=>l.type==="pcb_via_clearance_error"),[Q]),n=gA.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!!l.message?.includes("Multiple components found with name")),[Q]),s=gA.useMemo(()=>yRI(Q),[Q]),r=gA.useMemo(()=>pRI(Q,C),[C,Q]),a=gA.useMemo(()=>n.map((l,D)=>{const d=("component_name"in l&&typeof l.component_name=="string"?l.component_name:void 0)??l.message?.match(/name "([^"]+)"/)?.[1];return d?{components:Q.filter(w=>w.type==="source_component"&&w.name===d||w.type==="pcb_component"&&Q.some(u=>u.type==="source_component"&&u.source_component_id===w.source_component_id&&u.name===d)),error:l,errorIndex:D}:{components:[],error:l,errorIndex:D}}),[n,Q]);if(!I)return W.jsx("div",{style:{position:"relative"},ref:e,children:g});const c=l=>{const D=iio({error:l,indexes:s});if(!D||typeof D.x!="number"||typeof D.y!="number")return null;const d=Mt(A,D);return Number.isNaN(d.x)||Number.isNaN(d.y)?null:d};let h=null;return r&&(h=c(r)),W.jsxs("div",{style:{position:"relative"},ref:e,children:[g,i.map((l,D)=>{const d=bZ(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=utg(w,e);return W.jsxs(gA.Fragment,{children:[W.jsx(CNI,{errorCenter:w,isHighlighted:y}),W.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:la.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),W.jsx("div",{style:{position:"absolute",zIndex:y?200:100,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||y?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:W.jsx("div",{className:`error-message ${Gtg}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),E.map((l,D)=>{const d=bZ(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=utg({x:w.x,y:w.y},e);return W.jsxs(gA.Fragment,{children:[W.jsx(CNI,{errorCenter:w,isHighlighted:y}),W.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:la.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),W.jsx("div",{style:{position:"absolute",zIndex:y?la.errorOverlay+10:la.errorOverlay+1,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:"flex",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:W.jsx("div",{className:`error-message ${Gtg}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),a.map(({components:l,error:D,errorIndex:d})=>{const y=bZ(D,d),w=C===y;return!w&&!t?null:l.map(u=>{let G={x:0,y:0};if(u.type==="pcb_component")G=u.center||{x:0,y:0};else if(u.type==="source_component"){const U=I?.find(L=>L.type==="pcb_component"&&L.source_component_id===u.source_component_id);U&&U.type==="pcb_component"&&(G=U.center||{x:0,y:0})}const m=Mt(A,G);if(Number.isNaN(m.x)||Number.isNaN(m.y))return null;const p=Math.abs(A.a),x=Math.max(8,Math.min(30,.5*p)),N=utg(m,e);return W.jsxs(gA.Fragment,{children:[W.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none",mixBlendMode:"difference",zIndex:la.errorOverlay},width:"100%",height:"100%",children:w?W.jsx("polygon",{points:`${m.x},${m.y-x*1.25} ${m.x+x},${m.y} ${m.x},${m.y+x*1.25} ${m.x-x},${m.y}`,fill:"#ff4444"}):W.jsx("circle",{cx:m.x,cy:m.y,r:x,fill:"none",stroke:w?"#ff4444":"red",strokeWidth:w?Math.max(2,x*.15):Math.max(1,x*.1),opacity:1})}),W.jsx("div",{style:{position:"absolute",left:m.x-(x+10),top:m.y-(x+10),width:(x+10)*2,height:(x+10)*2,zIndex:la.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:U=>{const L=U.currentTarget.nextElementSibling;if(L){const _=L.querySelector(".error-message");_&&(_.style.opacity="1")}},onMouseLeave:U=>{if(!w){const L=U.currentTarget.nextElementSibling;if(L){const _=L.querySelector(".error-message");_&&(_.style.opacity="0")}}}}),W.jsx("div",{style:{position:"absolute",zIndex:w?la.errorOverlay+20:la.errorOverlay+10,left:N.left,top:N.top,color:w?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||w?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:N.transform},children:W.jsx("div",{className:`error-message ${Gtg}`,style:{opacity:w?1:0,border:`1px solid ${w?"#ff4444":"red"}`},children:D.message})})]},`${y}_${u.type}_${$Eo(u)}`)})}),h&&W.jsx(zEo,{center:h})]})},QNI=(g,A,I,e)=>{if(I<=0||e<=0)return;const t=g.find(B=>B.type==="pcb_component"&&B.pcb_component_id===A);if(t?.type!=="pcb_component")return;const o=tRI(t);if(o)return{component:t,bounds:o,transform:mRI({bounds:o,width:I,height:e})}},gno=({focusRequest:g,elements:A,transform:I})=>{const e=g?.pcbComponentId,t=Ei(E=>E.selectLayer),o=e?QNI(A,e,1,1):void 0,B=o?.component.layer;if(gA.useEffect(()=>{B&&t(B)},[g,B,t]),!o||!I)return null;const{bounds:C}=o,Q=Mt(I,{x:C.minX,y:C.minY}),i=Mt(I,{x:C.maxX,y:C.maxY});return W.jsx("div",{"data-focused-pcb-component-id":e,style:{position:"absolute",left:Math.min(Q.x,i.x)-4,top:Math.min(Q.y,i.y)-4,width:Math.abs(i.x-Q.x)+8,height:Math.abs(i.y-Q.y)+8,border:"2px solid #3399ff",borderRadius:4,boxSizing:"border-box",pointerEvents:"none",zIndex:la.elementOverlay}})};function Ino(g,A){return g.size!==A.size?!1:Array.from(g).every(I=>A.has(I))}var ec={MIN_LINE_LENGTH_FOR_LABEL:40,LABEL_OFFSET_ABOVE:2,LABEL_OFFSET_BELOW:-18,LABEL_OFFSET_RIGHT:8,LABEL_OFFSET_LEFT:-120,Y_LABEL_MIN_WIDTH:110,LINE_STROKE_WIDTH:1.5,LINE_DASH_PATTERN:"4,4",COMPONENT_MARKER_RADIUS:3,LABEL_FONT_SIZE:11,ANCHOR_MARKER_SIZE:6,ANCHOR_MARKER_STROKE_WIDTH:1.5},cS={OFFSET_LINE:"white",COMPONENT_MARKER_FILL:"#66ccff",COMPONENT_MARKER_STROKE:"white",LABEL_TEXT:"white"},mtg=({targets:g,transform:A,containerWidth:I,containerHeight:e})=>{if(g.length===0)return null;const t={color:cS.LABEL_TEXT,mixBlendMode:"difference",pointerEvents:"none",fontSize:ec.LABEL_FONT_SIZE,fontFamily:"monospace",fontWeight:"bold"},o=new Map;return g.forEach(B=>{if(!o.has(B.anchor_id)){const C=Mt(A,B.anchor);o.set(B.anchor_id,C)}}),W.jsx("div",{style:{position:"absolute",left:0,top:0,width:I,height:e,overflow:"hidden",pointerEvents:"none",zIndex:la.dimensionOverlay},children:W.jsxs("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:I,height:e,children:[g.map(B=>{const C=B.anchor,Q=B.anchor_id,i=B.target,E=o.get(Q),n=Mt(A,i),s=i.x-C.x,r=i.y-C.y,a=Math.abs(n.x-E.x),c=Math.abs(n.y-E.y),h=n.y<E.y,l=n.x>E.x,D=h?ec.LABEL_OFFSET_ABOVE:ec.LABEL_OFFSET_BELOW,d=l?ec.LABEL_OFFSET_RIGHT:ec.LABEL_OFFSET_LEFT,y=a>ec.MIN_LINE_LENGTH_FOR_LABEL,w=c>ec.MIN_LINE_LENGTH_FOR_LABEL,u=`${B.display_offset_x??s.toFixed(2)}mm`,G=`${B.display_offset_y??r.toFixed(2)}mm`;return W.jsxs("g",{children:[W.jsx("line",{x1:E.x,y1:E.y,x2:n.x,y2:E.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),W.jsx("line",{x1:n.x,y1:E.y,x2:n.x,y2:n.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),B.type==="component"||B.type==="board"?W.jsx("circle",{cx:n.x,cy:n.y,r:ec.COMPONENT_MARKER_RADIUS,fill:cS.COMPONENT_MARKER_FILL,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1}):W.jsxs(W.Fragment,{children:[W.jsx("line",{x1:n.x-ec.ANCHOR_MARKER_SIZE,y1:n.y,x2:n.x+ec.ANCHOR_MARKER_SIZE,y2:n.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),W.jsx("line",{x1:n.x,y1:n.y-ec.ANCHOR_MARKER_SIZE,x2:n.x,y2:n.y+ec.ANCHOR_MARKER_SIZE,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]}),y&&W.jsx("foreignObject",{x:Math.min(E.x,n.x),y:E.y+D,width:Math.abs(n.x-E.x),height:20,style:{overflow:"visible"},children:W.jsx("div",{style:{...t,textAlign:"center"},children:u})}),w&&W.jsx("foreignObject",{x:n.x+d,y:Math.min(E.y,n.y),width:ec.Y_LABEL_MIN_WIDTH,height:Math.abs(n.y-E.y),style:{overflow:"visible"},children:W.jsx("div",{style:{...t,display:"flex",alignItems:"center",justifyContent:l?"flex-start":"flex-end",whiteSpace:"nowrap",padding:"0 4px",height:"100%"},children:G})})]},B.id)}),Array.from(o.entries()).map(([B,C])=>W.jsxs("g",{children:[W.jsx("line",{x1:C.x-ec.ANCHOR_MARKER_SIZE,y1:C.y,x2:C.x+ec.ANCHOR_MARKER_SIZE,y2:C.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),W.jsx("line",{x1:C.x,y1:C.y-ec.ANCHOR_MARKER_SIZE,x2:C.x,y2:C.y+ec.ANCHOR_MARKER_SIZE,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]},`anchor-${B}`))]})})},QL=g=>g?.type==="pcb_component",iNI=g=>g?.type==="pcb_group",eno=g=>g?.type==="pcb_panel",ptg=g=>g?.type==="pcb_board",tno=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=Ei(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>QL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:QL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>ptg(l)),Q=g.filter(l=>QL(l)),i=g.filter(l=>iNI(l)),E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D?.pcb_group_id&&E.add(D.pcb_group_id)});const n=Q.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{component:l,board:d,type:"component"}:null}).filter(l=>!!l),s=i.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D||!l.center)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{group:l,board:d,type:"group"}:null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>l.type==="component"?{id:`${l.board.pcb_board_id}-${l.component.pcb_component_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:{id:`${l.board.pcb_board_id}-${l.group.pcb_group_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:{x:l.group.anchor_position?.x??l.group.center.x,y:l.group.anchor_position?.y??l.group.center.y},type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}).filter(l=>!!l);return W.jsx(mtg,{targets:h,transform:I,containerWidth:e,containerHeight:t})},ono=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=Ei(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>QL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:QL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>iNI(l)),Q=g.filter(l=>QL(l)),i=(l,D)=>{if(D.has(l))return;D.add(l);const d=C.find(y=>y.pcb_group_id===l);d?.position_mode==="relative_to_group_anchor"&&d.positioned_relative_to_pcb_group_id&&i(d.positioned_relative_to_pcb_group_id,D)},E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D&&(D.position_mode==="relative_to_group_anchor"&&D.positioned_relative_to_pcb_group_id&&i(D.positioned_relative_to_pcb_group_id,E),D.pcb_group_id&&i(D.pcb_group_id,E))});const n=Q.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}if(l.pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}return null}).filter(l=>!!l),s=C.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);if(D?.anchor_position&&l.anchor_position)return{group:l,parentGroup:D,type:"group"}}return null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id)||E.has(l.parentGroup.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>{const D=l.parentGroup.anchor_position;return D?l.type==="component"?l.component.center?{id:`${l.parentGroup.pcb_group_id}-${l.component.pcb_component_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:null:l.group.anchor_position?{id:`${l.parentGroup.pcb_group_id}-${l.group.pcb_group_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.group.anchor_position,type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}:null:null}).filter(l=>!!l);return W.jsx(mtg,{targets:h,transform:I,containerWidth:e,containerHeight:t})},Bno=(g,A)=>{const I=g.pcb_component_id,e=A.filter(t=>(t.type==="pcb_smtpad"||t.type==="pcb_plated_hole")&&t.pcb_component_id===I||t.type==="pcb_hole"&&t.pcb_component_id===I);return e.length===0?ltg([g]):ltg(e)},Cno=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=new Map;for(const C of A)QL(C._parent_pcb_component)&&o.set(C._parent_pcb_component.pcb_component_id,C._parent_pcb_component),QL(C._element)&&o.set(C._element.pcb_component_id,C._element);if(o.size===0)return null;const B=[];for(const C of o.values()){const Q=Bno(C,g);if(!Q)continue;const i=C.positioned_relative_to_pcb_group_id??C.pcb_group_id,E=i?ib(g).pcb_group.get(i):null;B.push({component:C,bbox:Q,group:E})}return B.length===0?null:W.jsx("div",{style:{position:"absolute",left:0,top:0,width:e,height:t,overflow:"hidden",pointerEvents:"none",zIndex:la.dimensionOverlay},children:W.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:e,height:t,children:B.map(({component:C,bbox:Q,group:i})=>{const E=Mt(I,{x:Q.minX,y:Q.maxY}),n=Mt(I,{x:Q.maxX,y:Q.minY}),s={x:Math.min(E.x,n.x),y:Math.min(E.y,n.y),width:Math.abs(n.x-E.x),height:Math.abs(n.y-E.y)},r=C.center??{x:(Q.minX+Q.maxX)/2,y:(Q.minY+Q.maxY)/2},a=Mt(I,r);return W.jsxs("g",{children:[W.jsx("rect",{x:s.x,y:s.y,width:s.width,height:s.height,fill:"none",stroke:"white",strokeWidth:1.5,strokeDasharray:"4,4"}),W.jsx("line",{x1:a.x-6,y1:a.y,x2:a.x+6,y2:a.y,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),W.jsx("line",{x1:a.x,y1:a.y-6,x2:a.x,y2:a.y+6,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),W.jsx("circle",{cx:a.x,cy:a.y,r:ec.COMPONENT_MARKER_RADIUS,fill:cS.COMPONENT_MARKER_FILL,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1})]},C.pcb_component_id)})})})},Qno=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=Ei(r=>r.is_showing_group_anchor_offsets),B=A.map(r=>ptg(r._element)?r._element.pcb_board_id:null).filter(r=>!!r);if(!o&&B.length===0)return null;const C=g.filter(r=>eno(r)),i=g.filter(r=>ptg(r)).map(r=>{const a=r.pcb_panel_id,c=r.position_mode;if(!a||c!=="relative_to_panel_anchor")return null;const h=C.find(l=>l.pcb_panel_id===a);return h?{board:r,panel:h,type:"board"}:null}).filter(r=>!!r);if(i.length===0)return null;const E=B.length===0,n=i.filter(r=>E||B.includes(r.board.pcb_board_id));if(n.length===0)return null;const s=n.map(r=>r.board.center?{id:`${r.panel.pcb_panel_id}-${r.board.pcb_board_id}-${r.type}`,anchor:r.panel.center,anchor_id:r.panel.pcb_panel_id,target:r.board.center,type:"board",display_offset_x:r.board.display_offset_x,display_offset_y:r.board.display_offset_y}:null).filter(r=>!!r);return W.jsx(mtg,{targets:s,transform:I,containerWidth:e,containerHeight:t})};function ino(g){const{primitives:A,is_showing_multiple_traces_length:I,traceOverlayElementIndex:e}=g,t=A.filter(C=>C._element.type==="pcb_trace"),o=A.filter(C=>C._element.type!=="pcb_trace"),B=t.filter(C=>(C._element.source_trace_id?e.sourceTraceById.get(C._element.source_trace_id):void 0)?.max_length!==void 0||ytg({primitiveElement:C._element,traceOverlayElementIndex:e})!==null);if(!I)return[...o,...B];if(t.length>1){const C=t.reduce((Q,i)=>{const E=Q._element.trace_length;return i._element.trace_length<E?i:Q},t[0]);return[...o,C]}return A}var Eno={position:"absolute",left:0,top:0,pointerEvents:"none",color:"red",fontFamily:"sans-serif",fontSize:12,textShadow:"0 0 2px black"},nno=g=>{const{_element:A,_parent_pcb_component:I,_parent_source_component:e,_source_port:t}=g;switch(A.type){case"pcb_trace":return A.trace_length?`${A.trace_length.toFixed(3)}`:"";case"pcb_smtpad":case"pcb_plated_hole":{const o=[],B=Array.from(new Set((A.port_hints??[]).concat(t?.port_hints??[]))).filter(Q=>!/^[0-9]+$/.test(Q)).filter(Q=>!Q.includes("unnamed_")).sort((Q,i)=>i.localeCompare(Q)),C=e&&"name"in e&&e.name&&!e.name.includes("unnamed_")?e.name:null;return B.length>0?C?o.push(...B.map(Q=>`${C}.${Q}`)):o.push(...B):C&&o.push(C),o.join(", ")}default:return""}},sno={top:"red",bottom:"aqua"},ano=({primitive:g,mousePos:A,traceOverlayElementIndex:I})=>{const[e,t]=gA.useState(!1),o=g._element;gA.useEffect(()=>{setTimeout(()=>{t(!0)},100)},[]);const[B,C,Q,i]=[g.screen_x,g.screen_y,g.screen_w,g.screen_h],E=g.same_space_index??0,n=26,s=sno[g?._element?.layer]??"red";let r=0;if(o.type==="pcb_smtpad"&&o?.shape==="rotated_rect"?r=o?.ccw_rotation??0:(o.type==="pcb_smtpad"&&(o?.shape==="pill"||o?.shape==="rotated_pill")&&"ccw_rotation"in g||o.type==="pcb_plated_hole"&&(o?.shape==="pill"||o?.shape==="oval")&&"ccw_rotation"in g)&&(r=o.ccw_rotation??0),o.type==="pcb_trace"){const h=SRI({primitiveElement:o,traceOverlayElementIndex:I});return h?W.jsx("div",{style:{zIndex:la.elementOverlay,position:"absolute",left:A.x+12,top:A.y+12,color:s,pointerEvents:"none"},children:W.jsxs("div",{style:{backgroundColor:"#f2efcc",color:h.isOverLength?"red":"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"4px 6px",borderRadius:"4px",fontSize:"11px",lineHeight:1.2,textAlign:"left",whiteSpace:"nowrap"},children:[h.text&&W.jsx("div",{children:h.text}),h.name&&W.jsx("div",{style:{marginTop:h.text?"2px":0},children:h.name})]})}):null}const a=nno(g);return a.trim().length===0?null:W.jsx("div",{style:{zIndex:la.elementOverlay,position:"absolute",left:B-Q/2-8,top:C-i/2-8,width:Q+16,height:i+16,color:s,transform:`rotate(${-r}deg)`,transformOrigin:"center center"},children:W.jsx("div",{style:{width:e?`calc(100% + ${n*2*E}px)`:"100%",height:e?`calc(100% + ${n*2*E}px)`:"100%",marginLeft:e?`${-n*E}px`:0,marginTop:e?`${-n*E}px`:0,border:`1px solid ${s}`,opacity:e||E===0?1:0,transition:"width 0.2s, height 0.2s, margin-left 0.2s, margin-top 0.2s, opacity 0.2s"},children:W.jsx("div",{style:{position:"absolute",bottom:i+20+n*E,marginRight:e?`${-n*E}px`:0,marginBottom:e?0:-n*E,transition:"margin-right 0.2s, margin-bottom 0.2s",backgroundColor:"#f2efcc",color:"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"6px 6px",borderRadius:"6px",fontSize:"14px",transform:`rotate(${r}deg)`,minWidth:"45px",textAlign:"center"},children:a})})})},rno=({highlightedPrimitives:g,mousePos:A,elements:I})=>{const[e,t]=Ei(Q=>[Q.is_moving_component,Q.is_showing_multiple_traces_length]),o=gA.useMemo(()=>MRI(I),[I]),B=g.some(Q=>Q._element.type==="pcb_smtpad")&&g.some(Q=>Q._element.type==="pcb_trace");let C=g;return B&&(C=C.filter(Q=>Q._element.type==="pcb_smtpad")),C=ino({primitives:C,is_showing_multiple_traces_length:t,traceOverlayElementIndex:o}),W.jsx("div",{style:Eno,children:!e&&C.map(Q=>W.jsx(ano,{primitive:Q,mousePos:A,traceOverlayElementIndex:o},Q._pcb_drawing_object_id))})},ZuA=g=>{if(g.length===0)return null;let A=g[0].x,I=g[0].y,e=g[0].x,t=g[0].y;for(const o of g)o.x<A&&(A=o.x),o.y<I&&(I=o.y),o.x>e&&(e=o.x),o.y>t&&(t=o.y);return{center:{x:(A+e)/2,y:(I+t)/2},width:e-A,height:t-I}},ENI=(g,A)=>{if(A.length<3)return!1;let I=!1;for(let e=0,t=A.length-1;e<A.length;t=e++){const o=A[e].x,B=A[e].y,C=A[t].x,Q=A[t].y;B>g.y!=Q>g.y&&g.x<(C-o)*(g.y-B)/(Q-B||Number.EPSILON)+o&&(I=!I)}return I},ktg=({includeHiddenTraces:g=!1,primitives:A,rwPoint:I,selectedLayer:e,transform:t})=>{const o=[];for(const B of A){if(!B._element||!g&&B._element.type==="pcb_trace"&&B.layer!==e)continue;if("x1"in B&&B._element?.type==="pcb_trace"){const i=ch({x:I.x,y:I.y},{x:B.x1,y:B.y1},{x:B.x2,y:B.y2}),E=B.width||.5,n=Math.max(E*25,2)/t.a;i<n&&o.push(B);continue}if(B.pcb_drawing_type==="polygon"){const i=B.points.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=ZuA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;ENI(I,i)&&o.push(B);continue}if(B.pcb_drawing_type==="polygon_with_arcs"){const i=B.brep_shape.outer_ring.vertices.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=ZuA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;ENI(I,i)&&o.push(B);continue}if(!("x"in B&&"y"in B))continue;let C=0,Q=0;if("w"in B&&"h"in B)C=B.w,Q=B.h;else if("r"in B)C=B.r*2,Q=B.r*2;else if("rX"in B&&"rY"in B)C=B.rX*2,Q=B.rY*2;else continue;Math.abs(B.x-I.x)<C/2&&Math.abs(B.y-I.y)<Q/2&&o.push(B)}return o},cno=({elements:g,children:A,transform:I,primitives:e,selectedLayer:t,onMouseHoverOverPrimitives:o})=>{const[B,C]=gA.useState([]),[Q,i]=gA.useState({x:0,y:0}),[E,{width:n,height:s}]=zeA(),r=gA.useMemo(()=>DRI(e),[e]);gA.useEffect(()=>{C([]),o([])},[t,e,o]);const a=gA.useMemo(()=>{const h=[];for(const l of B){if(l._element?.type==="pcb_via"||l._element?.type==="pcb_component"||l?.layer==="drill"||l?.is_hoverable===!1)continue;let D=null,d=0,y=0;if(l.pcb_drawing_type==="polygon"){const m=ZuA(l.points);if(!m)continue;D=m.center,d=m.width,y=m.height}else if(l.pcb_drawing_type==="polygon_with_arcs"){const m=l.brep_shape.outer_ring.vertices.map(k=>({x:k.x,y:k.y})),p=ZuA(m);if(!p)continue;D=p.center,d=p.width,y=p.height}else l.pcb_drawing_type==="line"?(D={x:(l.x1+l.x2)/2,y:(l.y1+l.y2)/2},d=Math.abs(l.x2-l.x1),y=Math.abs(l.y2-l.y1)):"x"in l&&"y"in l&&(D={x:l.x,y:l.y},d="w"in l?l.w:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rX*2:0,y="h"in l?l.h:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rY*2:0);if(!D)continue;const w=Mt(I,D),u={w:d*I.a,h:y*I.a},G=h.filter(m=>w.x===m.screen_x&&w.y===m.screen_y&&u.w===m.screen_w&&u.h===m.screen_h).length;h.push({...l,x:D.x,y:D.y,w:d,h:y,screen_x:w.x,screen_y:w.y,screen_w:u.w,screen_h:u.h,same_space_index:G})}return h},[B,I]),c=({screenPoint:h,transform:l})=>{const{x:D,y:d}=h;i({x:D,y:d});const y=Mt(Zx(l),{x:D,y:d}),w=dRI({point:y,realToScreenScale:l.a,spatialIndex:r}),u=ktg({primitives:w,rwPoint:y,selectedLayer:t,transform:l});Ino(new Set(u.map(G=>G._pcb_drawing_object_id)),new Set(B.map(G=>G._pcb_drawing_object_id)))||(C(u),o(u))};return W.jsxs("div",{ref:E,style:{position:"relative",width:"100%",height:"100%"},onMouseMove:h=>{if(h.buttons===0&&I){const l=h.currentTarget.getBoundingClientRect(),D=h.clientX-l.left,d=h.clientY-l.top;c({screenPoint:{x:D,y:d},transform:I})}},onTouchStart:h=>{if(I){const l=h.touches[0],D=h.currentTarget.getBoundingClientRect(),d=l.clientX-D.left,y=l.clientY-D.top;c({screenPoint:{x:d,y},transform:I})}},children:[A,W.jsx(rno,{elements:g,mousePos:Q,highlightedPrimitives:a}),I&&W.jsxs(W.Fragment,{children:[W.jsx(tno,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),W.jsx(ono,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),W.jsx(Cno,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),W.jsx(Qno,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s})]})]})},nNI=["rgb(255, 100, 100)","rgb(100, 255, 100)","rgb(100, 100, 255)","rgb(255, 255, 100)","rgb(255, 100, 255)","rgb(100, 255, 255)","rgb(255, 150, 100)","rgb(150, 100, 255)","rgb(100, 255, 150)","rgb(255, 100, 150)"];function sNI(g){if("parent_source_group_id"in g)return typeof g.parent_source_group_id=="string"?g.parent_source_group_id:void 0}function Mtg(g,A){const I=[],e=A.get(g)??[];for(const t of e)I.push(t),I.push(...Mtg(t,A));return I}function aNI(g,A){const I=A.get(g);if(!I)return 0;const e=sNI(I);return e?1+aNI(e,A):0}var hno=({children:g,transform:A=_J(),elements:I=[],hoveredComponentIds:e=[]})=>{const[t,{width:o,height:B}]=zeA(),C=gA.useRef(null),{is_showing_pcb_groups:Q,pcb_group_view_mode:i,is_showing_group_anchor_offsets:E}=Ei(a=>({is_showing_pcb_groups:a.is_showing_pcb_groups,pcb_group_view_mode:a.pcb_group_view_mode,is_showing_group_anchor_offsets:a.is_showing_group_anchor_offsets})),{pcbComponents:n,pcbGroups:s,sourceGroups:r}=gA.useMemo(()=>{const a=[],c=[],h=[];for(const l of I)l.type==="pcb_component"?a.push(l):l.type==="pcb_group"?c.push(l):l.type==="source_group"&&h.push(l);return{pcbComponents:a,pcbGroups:c,sourceGroups:h}},[I]);return gA.useEffect(()=>{const a=C.current;if(!a||!o||!B)return;a.width=o,a.height=B;const c=a.getContext("2d");if(!c||(c.clearRect(0,0,o,B),!Q))return;const h=new Map(r.map(y=>[y.source_group_id,y])),l=s.filter(y=>{if(y.name?.toLowerCase().includes("subpanel"))return!1;if(i==="all")return!0;if(!y.source_group_id)return!1;const w=h.get(y.source_group_id);return w?w.was_automatically_named!==!0:!1}),D=new Map;r.forEach(y=>{const w=sNI(y);if(w){const u=D.get(w)??[];u.push(y.source_group_id),D.set(w,u)}});const d=new Set;if(e.length>0)for(const y of n){if(!e.includes(y.pcb_component_id))continue;const w=y.positioned_relative_to_pcb_group_id??y.pcb_group_id;w&&d.add(w)}l.forEach((y,w)=>{let u=n.filter(NA=>NA.pcb_group_id===y.pcb_group_id);if(y.source_group_id){const NA=Mtg(y.source_group_id,D),RA=s.filter(UA=>UA.source_group_id&&NA.includes(UA.source_group_id));for(const UA of RA){const qA=n.filter(KA=>KA.pcb_group_id===UA.pcb_group_id);u=[...u,...qA]}}let G,m,p,k,S=!1;if(y.center&&y.width&&y.height){S=!0;const NA=y.width/2,RA=y.height/2;G=y.center.x-NA,p=y.center.x+NA,m=y.center.y-RA,k=y.center.y+RA}else if(u.length===0||(G=1/0,m=1/0,p=-1/0,k=-1/0,u.forEach(NA=>{if(NA.center&&typeof NA.width=="number"&&typeof NA.height=="number"){const RA=NA.center.x-NA.width/2,UA=NA.center.x+NA.width/2,qA=NA.center.y+NA.height/2,KA=NA.center.y-NA.height/2;G=Math.min(G,RA),p=Math.max(p,UA),m=Math.min(m,KA),k=Math.max(k,qA)}}),G===1/0||p===-1/0))return;const R=y.source_group_id?aNI(y.source_group_id,h):0,x=y.source_group_id?Mtg(y.source_group_id,D).length>0:!1;if(!S){const UA=1+(x?.5:0);G-=UA,p+=UA,m-=UA,k+=UA}const N=Mt(A,{x:G,y:k}),U=Mt(A,{x:p,y:k}),L=Mt(A,{x:G,y:m}),_=Mt(A,{x:p,y:m}),b=nNI[w%nNI.length];c.strokeStyle=b,c.lineWidth=2;const q=Math.max(4,Math.min(12,8*Math.abs(A.a))),j=Math.max(2,Math.min(6,4*Math.abs(A.a))),O=q*(x?1.3:1),AA=j;c.setLineDash([O,AA]),c.beginPath(),c.moveTo(N.x,N.y),c.lineTo(U.x,U.y),c.lineTo(_.x,_.y),c.lineTo(L.x,L.y),c.closePath(),c.stroke();const tA=Math.max(8,Math.min(12,10*Math.abs(A.a))),eA=R===0||R===1?0:R*.11,QA=tA*(1-eA),sA=4,DA=y.name||`Group ${w+1}`;c.font=`${QA}px sans-serif`,c.setLineDash([]);const hA=c.measureText(DA).width+sA*2,nA=QA+sA*2,cA=N.x-5,fA=N.y-5,xA=3;if(c.fillStyle="rgba(0, 0, 0, 0.8)",c.beginPath(),c.roundRect(cA,fA-nA,hA,nA,xA),c.fill(),c.fillStyle=b,c.textAlign="left",c.textBaseline="middle",c.fillText(DA,cA+sA,fA-nA/2),E&&d.has(y.pcb_group_id)&&!!y.anchor_position&&y.anchor_position){const NA=Array.isArray(y.anchor_position)?{x:y.anchor_position[0]??0,y:y.anchor_position[1]??0}:{x:y.anchor_position.x,y:y.anchor_position.y},RA=Mt(A,NA);c.strokeStyle="white",c.lineWidth=1.5,c.setLineDash([]);const UA=Math.max(4,Math.min(8,6*Math.abs(A.a)));c.beginPath(),c.moveTo(RA.x-UA,RA.y),c.lineTo(RA.x+UA,RA.y),c.stroke(),c.beginPath(),c.moveTo(RA.x,RA.y-UA),c.lineTo(RA.x,RA.y+UA),c.stroke()}})},[B,Q,E,e,n,s,i,r,A,o]),W.jsxs("div",{ref:t,style:{position:"relative",width:"100%",height:"100%"},children:[g,W.jsx("canvas",{ref:C,style:{position:"absolute",top:0,left:0,pointerEvents:"none",zIndex:la.pcbGroupOverlay,display:Q?"block":"none"}})]})},lno=({transform:g,soup:A,connectivityMap:I,children:e})=>{const t=Ei(Q=>Q.is_showing_rats_nest),{netMap:o,idToNetMap:B}=I,C=gA.useMemo(()=>{if(!A||!t)return[];const Q=r=>{const a=ib(A)[r.replace(/_\d+$/,"")].get(r);return a&&"x"in a&&"y"in a?{x:a.x,y:a.y}:null},i=(r,a)=>{const c=o[a]||[];let h=null,l=1/0;return c.forEach(D=>{const d=Q(D);if(d){const y=Math.sqrt((r.x-d.x)**2+(r.y-d.y)**2);y<l&&y>0&&(l=y,h=d)}}),h},E=ib(A).pcb_port.list(),n=ib(A).source_trace.list(),s=[];return E.forEach((r,a)=>{const c=B[r.pcb_port_id];let h=!1;for(const d of n)d.connected_source_port_ids.includes(r.source_port_id)&&d.connected_source_net_ids.length>0&&(h=!0);if(!c)return;const l={x:r.x,y:r.y},D=i(l,c);D&&s.push({key:`${r.pcb_port_id}-${a}`,startPoint:l,endPoint:D,isInNet:h})}),s},[A,o,B,t]);return!A||!t?e:(g||(g=_J()),W.jsxs("div",{style:{position:"relative"},children:[e,W.jsx("svg",{style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",opacity:.5,zIndex:la.ratsNestOverlay},children:C.map(({key:Q,startPoint:i,endPoint:E,isInNet:n})=>{const s=Mt(g,i),r=Mt(g,E);return W.jsx("line",{x1:s.x,y1:s.y,x2:r.x,y2:r.y,stroke:"white",strokeWidth:"1",strokeDasharray:n?"6,6":void 0},Q)})})]}))},IF=(g,A,I)=>{const e=Ei(B=>B.is_mouse_over_container),t=gA.useRef(e),o=gA.useRef(A);gA.useEffect(()=>{t.current=e},[e]),gA.useEffect(()=>{o.current=A},[A]),gA.useEffect(()=>{if(!g)return;const B=C=>{const Q=C.target;if(Q.tagName==="INPUT"||Q.tagName==="TEXTAREA"||Q.isContentEditable)return;const i=g.split("+"),E=i.includes("ctrl"),n=i.includes("shift"),s=i.includes("alt"),r=i.includes("meta"),a=i[i.length-1],c=I?.current?I.current.contains(document.activeElement)||document.activeElement===I.current:!1;(t.current||c)&&(!E||C.ctrlKey)&&(!n||C.shiftKey)&&(!s||C.altKey)&&(!r||C.metaKey)&&C.key.toLowerCase()===a.toLowerCase()&&(C.preventDefault(),o.current())};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[g])},Dno=()=>{const[g,A]=gA.useState(!1);return gA.useEffect(()=>{const I=()=>{A(window.innerWidth<=768)};return I(),window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]),g},AtA=(g,A={stopPropagation:!0})=>{const I=gA.useRef(0),e=gA.useCallback(B=>{A.stopPropagation&&B.stopPropagation();const C=Date.now();C-I.current<300||(I.current=C,g?.(B))},[g,A.stopPropagation]),t=gA.useCallback(B=>{B.preventDefault(),e(B)},[e]);return{onClick:e,onTouchEnd:t,style:{touchAction:"manipulation"}}},dno={version:"1.11.432"},vZ=({children:g,isSmallScreen:A,onClick:I,...e})=>{const{style:t,...o}=AtA(I);return W.jsx("div",{...e,...o,style:{backgroundColor:"#1F1F1F",border:"1px solid #666",margin:0,padding:4,paddingLeft:A?8:6,paddingRight:A?8:6,borderRadius:2,color:"#eee",cursor:"pointer",fontSize:12,height:"fit-content",userSelect:"none",whiteSpace:"nowrap",...t,...e.style},children:g})},yno=g=>{const A=new Map;return g.forEach((I,e)=>{const t=I.error_type||"unknown_error",o=A.get(t)||[];o.push({error:I,index:e,errorId:bZ(I,e)}),A.set(t,o)}),Array.from(A.entries()).map(([I,e])=>({errorType:I,errors:e}))},wno=({onClose:g,setHoveredErrorId:A,setFocusedErrorId:I,highlightDurationMs:e=3e3})=>{const t=gA.useRef(null),o=gA.useRef(null),B=gA.useRef(null),C=gA.useCallback(()=>{t.current!==null&&(window.clearTimeout(t.current),t.current=null),o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null)},[]);gA.useEffect(()=>C,[C]);const Q=gA.useCallback(E=>{C(),B.current=E,A(E),I(null),o.current=window.requestAnimationFrame(()=>{I(E),o.current=null}),g(),t.current=window.setTimeout(()=>{B.current=null,A(null),I(null),t.current=null},e)},[C,e,g,I,A]),i=gA.useCallback(E=>B.current===E,[]);return{handleErrorSelect:Q,isSelectedError:i}},uno=({errorId:g,errorMessage:A,copiedErrorId:I,onCopy:e})=>{const{style:t,...o}=AtA(()=>e(A,g));return W.jsx("button",{type:"button","aria-label":I===g?"Error message copied":"Copy error message",style:{position:"absolute",top:12,right:16,cursor:"pointer",color:"#888",fontSize:16,background:"none",border:"none",padding:0,display:"flex",alignItems:"center",...t},...o,children:I===g?W.jsx("span",{style:{color:"#4caf50",fontSize:12},children:"Copied!"}):W.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:W.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})})},Gno=({elements:g,isOpen:A,isSmallScreen:I,onToggle:e,onClose:t,setHoveredErrorId:o,setFocusedErrorId:B})=>{const[C,Q]=gA.useState(null),[i,E]=gA.useState(new Set),[n,s]=gA.useState(new Set),[,r]=fQo(),{handleErrorSelect:a,isSelectedError:c}=wno({onClose:t,setHoveredErrorId:o,setFocusedErrorId:B}),h=gA.useMemo(()=>g?.filter(w=>w.type.includes("error"))??[],[g]),l=h.length,D=gA.useMemo(()=>yno(h),[h]),d=gA.useCallback(w=>{E(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]),y=gA.useCallback(w=>{s(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]);return W.jsxs("div",{style:{position:"relative"},children:[W.jsx(vZ,{isSmallScreen:I,style:l>0?{color:"red"}:void 0,onClick:e,children:W.jsxs("div",{children:[l," errors"]})}),A&&l>0&&W.jsx("div",{style:{position:"absolute",top:"100%",left:0,backgroundColor:"#2a2a2a",border:"1px solid #666",borderRadius:4,marginTop:4,zIndex:1e3,minWidth:I?"280px":"400px",maxWidth:I?"90vw":"600px",maxHeight:"400px",overflow:"auto",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.3)"},children:D.map(({errorType:w,errors:u},G)=>{const m=i.has(w);return W.jsxs("div",{style:{borderBottom:G<D.length-1?"1px solid #444":"none"},children:[W.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",cursor:"pointer",backgroundColor:"#232323",transition:"background-color 0.2s ease",touchAction:"manipulation",position:"sticky",top:0,zIndex:1},onMouseEnter:p=>{p.currentTarget.style.backgroundColor="#303030"},onMouseLeave:p=>{p.currentTarget.style.backgroundColor="#232323"},onTouchStart:p=>{p.stopPropagation(),p.currentTarget.style.backgroundColor="#303030"},onTouchEnd:p=>{p.stopPropagation(),p.preventDefault(),p.currentTarget.style.backgroundColor="#232323",d(w)},onClick:p=>{p.stopPropagation(),d(w)},children:[W.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,color:"#ff6b6b"},children:[W.jsx("div",{style:{color:"#888",fontSize:"16px",transform:m?"rotate(90deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:"›"}),W.jsx("div",{style:{fontWeight:"bold",fontSize:I?"12px":"13px"},children:w})]}),W.jsx("div",{style:{fontSize:I?"12px":"13px",color:"#aaa",whiteSpace:"nowrap",marginLeft:12},children:u.length})]}),!m&&u.map(({error:p,index:k,errorId:S})=>{const R=n.has(S),x=p.message??"No error message";return W.jsxs("div",{style:{borderTop:"1px solid #3a3a3a"},children:[W.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px 12px 24px",cursor:"pointer",backgroundColor:"#2a2a2a",transition:"background-color 0.2s ease",touchAction:"manipulation"},onMouseEnter:N=>{N.currentTarget.style.backgroundColor="#333",o(S)},onMouseLeave:N=>{N.currentTarget.style.backgroundColor="#2a2a2a",c(S)||o(null)},onTouchStart:N=>{N.stopPropagation(),N.currentTarget.style.backgroundColor="#333",o(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),N.currentTarget.style.backgroundColor="#2a2a2a",a(S)},onClick:N=>{N.stopPropagation(),a(S)},children:[W.jsx("div",{style:{flex:1,fontSize:I?"12px":"13px",color:"#ddd",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",userSelect:"text"},children:x}),W.jsx("button",{type:"button","aria-label":R?"Collapse error details":"Expand error details",style:{color:"#888",fontSize:"16px",transform:R?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.2s ease",flexShrink:0,background:"none",border:"none",padding:0,cursor:"pointer"},onMouseDown:N=>N.stopPropagation(),onClick:N=>{N.stopPropagation(),y(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),y(S)},children:"›"})]}),R&&W.jsxs("div",{"data-error-id":k,style:{display:"block",padding:"12px 16px 12px 24px",backgroundColor:"#1a1a1a",borderTop:"1px solid #444",position:"relative"},children:[W.jsx("div",{style:{fontSize:I?"11px":"12px",color:"#ccc",lineHeight:1.5,wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto",userSelect:"text",paddingRight:30},onMouseDown:N=>N.stopPropagation(),onClick:N=>N.stopPropagation(),children:x}),W.jsx(uno,{errorId:S,errorMessage:x,copiedErrorId:C,onCopy:(N,U)=>{r(N),Q(U),setTimeout(()=>Q(null),2e3)}})]})]},S)})]},w)})})]})},rNI=gA.createContext(null),mno=()=>gA.useContext(rNI),gtA=RZ`
|
|
5434
|
+
`,XEo=[];function $Eo(g){return g.type==="source_component"?g.source_component_id:g.type==="pcb_component"?g.pcb_component_id:"component"}var Ano=({children:g,transform:A=_J(),elements:I})=>{const e=gA.useRef(null),{isShowingDRCErrors:t,hoveredErrorId:o,focusedErrorId:B}=Ei(l=>({isShowingDRCErrors:l.is_showing_drc_errors,hoveredErrorId:l.hovered_error_id,focusedErrorId:l.focused_error_id})),C=B??o,Q=I??XEo,i=gA.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!l.message?.includes("Multiple components found with name")),[Q]),E=gA.useMemo(()=>Q.filter(l=>l.type==="pcb_via_clearance_error"),[Q]),n=gA.useMemo(()=>Q.filter(l=>l.type==="pcb_trace_error"&&!!l.message?.includes("Multiple components found with name")),[Q]),s=gA.useMemo(()=>yRI(Q),[Q]),r=gA.useMemo(()=>pRI(Q,C),[C,Q]),a=gA.useMemo(()=>n.map((l,D)=>{const d=("component_name"in l&&typeof l.component_name=="string"?l.component_name:void 0)??l.message?.match(/name "([^"]+)"/)?.[1];return d?{components:Q.filter(w=>w.type==="source_component"&&w.name===d||w.type==="pcb_component"&&Q.some(u=>u.type==="source_component"&&u.source_component_id===w.source_component_id&&u.name===d)),error:l,errorIndex:D}:{components:[],error:l,errorIndex:D}}),[n,Q]);if(!I)return W.jsx("div",{style:{position:"relative"},ref:e,children:g});const c=l=>{const D=iio({error:l,indexes:s});if(!D||typeof D.x!="number"||typeof D.y!="number")return null;const d=Mt(A,D);return Number.isNaN(d.x)||Number.isNaN(d.y)?null:d};let h=null;return r&&(h=c(r)),W.jsxs("div",{style:{position:"relative"},ref:e,children:[g,i.map((l,D)=>{const d=bZ(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=utg(w,e);return W.jsxs(gA.Fragment,{children:[W.jsx(CNI,{errorCenter:w,isHighlighted:y}),W.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:la.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),W.jsx("div",{style:{position:"absolute",zIndex:y?200:100,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||y?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:W.jsx("div",{className:`error-message ${Gtg}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),E.map((l,D)=>{const d=bZ(l,D),y=C===d;if(!y&&!t)return null;const w=c(l);if(!w)return null;const u=utg({x:w.x,y:w.y},e);return W.jsxs(gA.Fragment,{children:[W.jsx(CNI,{errorCenter:w,isHighlighted:y}),W.jsx("div",{style:{position:"absolute",left:w.x-15,top:w.y-15,width:30,height:30,zIndex:la.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:G=>{const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="1")}},onMouseLeave:G=>{if(!y){const m=G.currentTarget.nextElementSibling;if(m){const p=m.querySelector(".error-message");p&&(p.style.opacity="0")}}}}),W.jsx("div",{style:{position:"absolute",zIndex:y?la.errorOverlay+10:la.errorOverlay+1,left:u.left,top:u.top,color:y?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:"flex",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:u.transform},children:W.jsx("div",{className:`error-message ${Gtg}`,style:{opacity:y?1:0,border:`1px solid ${y?"#ff4444":"red"}`},children:l.message})})]},d)}),a.map(({components:l,error:D,errorIndex:d})=>{const y=bZ(D,d),w=C===y;return!w&&!t?null:l.map(u=>{let G={x:0,y:0};if(u.type==="pcb_component")G=u.center||{x:0,y:0};else if(u.type==="source_component"){const U=I?.find(L=>L.type==="pcb_component"&&L.source_component_id===u.source_component_id);U&&U.type==="pcb_component"&&(G=U.center||{x:0,y:0})}const m=Mt(A,G);if(Number.isNaN(m.x)||Number.isNaN(m.y))return null;const p=Math.abs(A.a),x=Math.max(8,Math.min(30,.5*p)),N=utg(m,e);return W.jsxs(gA.Fragment,{children:[W.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none",mixBlendMode:"difference",zIndex:la.errorOverlay},width:"100%",height:"100%",children:w?W.jsx("polygon",{points:`${m.x},${m.y-x*1.25} ${m.x+x},${m.y} ${m.x},${m.y+x*1.25} ${m.x-x},${m.y}`,fill:"#ff4444"}):W.jsx("circle",{cx:m.x,cy:m.y,r:x,fill:"none",stroke:w?"#ff4444":"red",strokeWidth:w?Math.max(2,x*.15):Math.max(1,x*.1),opacity:1})}),W.jsx("div",{style:{position:"absolute",left:m.x-(x+10),top:m.y-(x+10),width:(x+10)*2,height:(x+10)*2,zIndex:la.errorOverlay+5,cursor:"pointer",borderRadius:"50%"},onMouseEnter:U=>{const L=U.currentTarget.nextElementSibling;if(L){const _=L.querySelector(".error-message");_&&(_.style.opacity="1")}},onMouseLeave:U=>{if(!w){const L=U.currentTarget.nextElementSibling;if(L){const _=L.querySelector(".error-message");_&&(_.style.opacity="0")}}}}),W.jsx("div",{style:{position:"absolute",zIndex:w?la.errorOverlay+20:la.errorOverlay+10,left:N.left,top:N.top,color:w?"#ff4444":"red",textAlign:"center",fontFamily:"sans-serif",fontSize:12,display:t||w?"flex":"none",flexDirection:"column",alignItems:"center",pointerEvents:"none",transform:N.transform},children:W.jsx("div",{className:`error-message ${Gtg}`,style:{opacity:w?1:0,border:`1px solid ${w?"#ff4444":"red"}`},children:D.message})})]},`${y}_${u.type}_${$Eo(u)}`)})}),h&&W.jsx(zEo,{center:h})]})},QNI=(g,A,I,e)=>{if(I<=0||e<=0)return;const t=g.find(B=>B.type==="pcb_component"&&B.pcb_component_id===A);if(t?.type!=="pcb_component")return;const o=tRI(t);if(o)return{component:t,bounds:o,transform:mRI({bounds:o,width:I,height:e})}},gno=({focusRequest:g,elements:A,transform:I})=>{const e=g?.pcbComponentId,t=Ei(E=>E.selectLayer),o=e?QNI(A,e,1,1):void 0,B=o?.component.layer;if(gA.useEffect(()=>{B&&t(B)},[g,B,t]),!o||!I)return null;const{bounds:C}=o,Q=Mt(I,{x:C.minX,y:C.minY}),i=Mt(I,{x:C.maxX,y:C.maxY});return W.jsx("div",{"data-focused-pcb-component-id":e,style:{position:"absolute",left:Math.min(Q.x,i.x)-4,top:Math.min(Q.y,i.y)-4,width:Math.abs(i.x-Q.x)+8,height:Math.abs(i.y-Q.y)+8,border:"2px solid #3399ff",borderRadius:4,boxSizing:"border-box",pointerEvents:"none",zIndex:la.elementOverlay}})};function Ino(g,A){return g.size!==A.size?!1:Array.from(g).every(I=>A.has(I))}var ec={MIN_LINE_LENGTH_FOR_LABEL:40,LABEL_OFFSET_ABOVE:2,LABEL_OFFSET_BELOW:-18,LABEL_OFFSET_RIGHT:8,LABEL_OFFSET_LEFT:-120,Y_LABEL_MIN_WIDTH:110,LINE_STROKE_WIDTH:1.5,LINE_DASH_PATTERN:"4,4",COMPONENT_MARKER_RADIUS:3,LABEL_FONT_SIZE:11,ANCHOR_MARKER_SIZE:6,ANCHOR_MARKER_STROKE_WIDTH:1.5},cS={OFFSET_LINE:"white",COMPONENT_MARKER_FILL:"#66ccff",COMPONENT_MARKER_STROKE:"white",LABEL_TEXT:"white"},mtg=({targets:g,transform:A,containerWidth:I,containerHeight:e})=>{if(g.length===0)return null;const t={color:cS.LABEL_TEXT,mixBlendMode:"difference",pointerEvents:"none",fontSize:ec.LABEL_FONT_SIZE,fontFamily:"monospace",fontWeight:"bold"},o=new Map;return g.forEach(B=>{if(!o.has(B.anchor_id)){const C=Mt(A,B.anchor);o.set(B.anchor_id,C)}}),W.jsx("div",{style:{position:"absolute",left:0,top:0,width:I,height:e,overflow:"hidden",pointerEvents:"none",zIndex:la.dimensionOverlay},children:W.jsxs("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:I,height:e,children:[g.map(B=>{const C=B.anchor,Q=B.anchor_id,i=B.target,E=o.get(Q),n=Mt(A,i),s=i.x-C.x,r=i.y-C.y,a=Math.abs(n.x-E.x),c=Math.abs(n.y-E.y),h=n.y<E.y,l=n.x>E.x,D=h?ec.LABEL_OFFSET_ABOVE:ec.LABEL_OFFSET_BELOW,d=l?ec.LABEL_OFFSET_RIGHT:ec.LABEL_OFFSET_LEFT,y=a>ec.MIN_LINE_LENGTH_FOR_LABEL,w=c>ec.MIN_LINE_LENGTH_FOR_LABEL,u=`${B.display_offset_x??s.toFixed(2)}mm`,G=`${B.display_offset_y??r.toFixed(2)}mm`;return W.jsxs("g",{children:[W.jsx("line",{x1:E.x,y1:E.y,x2:n.x,y2:E.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),W.jsx("line",{x1:n.x,y1:E.y,x2:n.x,y2:n.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.LINE_STROKE_WIDTH,strokeDasharray:ec.LINE_DASH_PATTERN}),B.type==="component"||B.type==="board"?W.jsx("circle",{cx:n.x,cy:n.y,r:ec.COMPONENT_MARKER_RADIUS,fill:cS.COMPONENT_MARKER_FILL,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1}):W.jsxs(W.Fragment,{children:[W.jsx("line",{x1:n.x-ec.ANCHOR_MARKER_SIZE,y1:n.y,x2:n.x+ec.ANCHOR_MARKER_SIZE,y2:n.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),W.jsx("line",{x1:n.x,y1:n.y-ec.ANCHOR_MARKER_SIZE,x2:n.x,y2:n.y+ec.ANCHOR_MARKER_SIZE,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]}),y&&W.jsx("foreignObject",{x:Math.min(E.x,n.x),y:E.y+D,width:Math.abs(n.x-E.x),height:20,style:{overflow:"visible"},children:W.jsx("div",{style:{...t,textAlign:"center"},children:u})}),w&&W.jsx("foreignObject",{x:n.x+d,y:Math.min(E.y,n.y),width:ec.Y_LABEL_MIN_WIDTH,height:Math.abs(n.y-E.y),style:{overflow:"visible"},children:W.jsx("div",{style:{...t,display:"flex",alignItems:"center",justifyContent:l?"flex-start":"flex-end",whiteSpace:"nowrap",padding:"0 4px",height:"100%"},children:G})})]},B.id)}),Array.from(o.entries()).map(([B,C])=>W.jsxs("g",{children:[W.jsx("line",{x1:C.x-ec.ANCHOR_MARKER_SIZE,y1:C.y,x2:C.x+ec.ANCHOR_MARKER_SIZE,y2:C.y,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH}),W.jsx("line",{x1:C.x,y1:C.y-ec.ANCHOR_MARKER_SIZE,x2:C.x,y2:C.y+ec.ANCHOR_MARKER_SIZE,stroke:cS.OFFSET_LINE,strokeWidth:ec.ANCHOR_MARKER_STROKE_WIDTH})]},`anchor-${B}`))]})})},QL=g=>g?.type==="pcb_component",iNI=g=>g?.type==="pcb_group",eno=g=>g?.type==="pcb_panel",ptg=g=>g?.type==="pcb_board",tno=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=Ei(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>QL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:QL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>ptg(l)),Q=g.filter(l=>QL(l)),i=g.filter(l=>iNI(l)),E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D?.pcb_group_id&&E.add(D.pcb_group_id)});const n=Q.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{component:l,board:d,type:"component"}:null}).filter(l=>!!l),s=i.map(l=>{const D=l.positioned_relative_to_pcb_board_id;if(!D||!l.center)return null;const d=C.find(y=>y.pcb_board_id===D);return d?{group:l,board:d,type:"group"}:null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>l.type==="component"?{id:`${l.board.pcb_board_id}-${l.component.pcb_component_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:{id:`${l.board.pcb_board_id}-${l.group.pcb_group_id}-${l.type}`,anchor:l.board.center,anchor_id:l.board.pcb_board_id,target:{x:l.group.anchor_position?.x??l.group.center.x,y:l.group.anchor_position?.y??l.group.center.y},type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}).filter(l=>!!l);return W.jsx(mtg,{targets:h,transform:I,containerWidth:e,containerHeight:t})},ono=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=Ei(l=>l.is_showing_group_anchor_offsets),B=A.map(l=>QL(l._parent_pcb_component)?l._parent_pcb_component.pcb_component_id:QL(l._element)?l._element.pcb_component_id:null).filter(l=>!!l);if(!o&&B.length===0)return null;const C=g.filter(l=>iNI(l)),Q=g.filter(l=>QL(l)),i=(l,D)=>{if(D.has(l))return;D.add(l);const d=C.find(y=>y.pcb_group_id===l);d?.position_mode==="relative_to_group_anchor"&&d.positioned_relative_to_pcb_group_id&&i(d.positioned_relative_to_pcb_group_id,D)},E=new Set;B.forEach(l=>{const D=Q.find(d=>d.pcb_component_id===l);D&&(D.position_mode==="relative_to_group_anchor"&&D.positioned_relative_to_pcb_group_id&&i(D.positioned_relative_to_pcb_group_id,E),D.pcb_group_id&&i(D.pcb_group_id,E))});const n=Q.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}if(l.pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.pcb_group_id);return D?.anchor_position?{component:l,parentGroup:D,type:"component"}:null}return null}).filter(l=>!!l),s=C.map(l=>{if(l.position_mode==="relative_to_group_anchor"&&l.positioned_relative_to_pcb_group_id){const D=C.find(d=>d.pcb_group_id===l.positioned_relative_to_pcb_group_id);if(D?.anchor_position&&l.anchor_position)return{group:l,parentGroup:D,type:"group"}}return null}).filter(l=>!!l),r=[...n,...s];if(r.length===0)return null;const a=B.length===0,c=r.filter(l=>l.type==="component"?a||B.includes(l.component.pcb_component_id):a||E.has(l.group.pcb_group_id)||E.has(l.parentGroup.pcb_group_id));if(c.length===0)return null;const h=c.map(l=>{const D=l.parentGroup.anchor_position;return D?l.type==="component"?l.component.center?{id:`${l.parentGroup.pcb_group_id}-${l.component.pcb_component_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.component.center,type:"component",display_offset_x:l.component.display_offset_x,display_offset_y:l.component.display_offset_y}:null:l.group.anchor_position?{id:`${l.parentGroup.pcb_group_id}-${l.group.pcb_group_id}-${l.type}`,anchor:D,anchor_id:l.parentGroup.pcb_group_id,target:l.group.anchor_position,type:"group",display_offset_x:l.group.display_offset_x,display_offset_y:l.group.display_offset_y}:null:null}).filter(l=>!!l);return W.jsx(mtg,{targets:h,transform:I,containerWidth:e,containerHeight:t})},Bno=(g,A)=>{const I=g.pcb_component_id,e=A.filter(t=>(t.type==="pcb_smtpad"||t.type==="pcb_plated_hole")&&t.pcb_component_id===I||t.type==="pcb_hole"&&t.pcb_component_id===I);return e.length===0?ltg([g]):ltg(e)},Cno=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=new Map;for(const C of A)QL(C._parent_pcb_component)&&o.set(C._parent_pcb_component.pcb_component_id,C._parent_pcb_component),QL(C._element)&&o.set(C._element.pcb_component_id,C._element);if(o.size===0)return null;const B=[];for(const C of o.values()){const Q=Bno(C,g);if(!Q)continue;const i=C.positioned_relative_to_pcb_group_id??C.pcb_group_id,E=i?ib(g).pcb_group.get(i):null;B.push({component:C,bbox:Q,group:E})}return B.length===0?null:W.jsx("div",{style:{position:"absolute",left:0,top:0,width:e,height:t,overflow:"hidden",pointerEvents:"none",zIndex:la.dimensionOverlay},children:W.jsx("svg",{style:{position:"absolute",left:0,top:0,pointerEvents:"none"},width:e,height:t,children:B.map(({component:C,bbox:Q,group:i})=>{const E=Mt(I,{x:Q.minX,y:Q.maxY}),n=Mt(I,{x:Q.maxX,y:Q.minY}),s={x:Math.min(E.x,n.x),y:Math.min(E.y,n.y),width:Math.abs(n.x-E.x),height:Math.abs(n.y-E.y)},r=C.center??{x:(Q.minX+Q.maxX)/2,y:(Q.minY+Q.maxY)/2},a=Mt(I,r);return W.jsxs("g",{children:[W.jsx("rect",{x:s.x,y:s.y,width:s.width,height:s.height,fill:"none",stroke:"white",strokeWidth:1.5,strokeDasharray:"4,4"}),W.jsx("line",{x1:a.x-6,y1:a.y,x2:a.x+6,y2:a.y,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),W.jsx("line",{x1:a.x,y1:a.y-6,x2:a.x,y2:a.y+6,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1.5}),W.jsx("circle",{cx:a.x,cy:a.y,r:ec.COMPONENT_MARKER_RADIUS,fill:cS.COMPONENT_MARKER_FILL,stroke:cS.COMPONENT_MARKER_STROKE,strokeWidth:1})]},C.pcb_component_id)})})})},Qno=({elements:g,highlightedPrimitives:A,transform:I,containerWidth:e,containerHeight:t})=>{const o=Ei(r=>r.is_showing_group_anchor_offsets),B=A.map(r=>ptg(r._element)?r._element.pcb_board_id:null).filter(r=>!!r);if(!o&&B.length===0)return null;const C=g.filter(r=>eno(r)),i=g.filter(r=>ptg(r)).map(r=>{const a=r.pcb_panel_id,c=r.position_mode;if(!a||c!=="relative_to_panel_anchor")return null;const h=C.find(l=>l.pcb_panel_id===a);return h?{board:r,panel:h,type:"board"}:null}).filter(r=>!!r);if(i.length===0)return null;const E=B.length===0,n=i.filter(r=>E||B.includes(r.board.pcb_board_id));if(n.length===0)return null;const s=n.map(r=>r.board.center?{id:`${r.panel.pcb_panel_id}-${r.board.pcb_board_id}-${r.type}`,anchor:r.panel.center,anchor_id:r.panel.pcb_panel_id,target:r.board.center,type:"board",display_offset_x:r.board.display_offset_x,display_offset_y:r.board.display_offset_y}:null).filter(r=>!!r);return W.jsx(mtg,{targets:s,transform:I,containerWidth:e,containerHeight:t})};function ino(g){const{primitives:A,is_showing_multiple_traces_length:I,traceOverlayElementIndex:e}=g,t=A.filter(C=>C._element.type==="pcb_trace"),o=A.filter(C=>C._element.type!=="pcb_trace"),B=t.filter(C=>(C._element.source_trace_id?e.sourceTraceById.get(C._element.source_trace_id):void 0)?.max_length!==void 0||ytg({primitiveElement:C._element,traceOverlayElementIndex:e})!==null);if(!I)return[...o,...B];if(t.length>1){const C=t.reduce((Q,i)=>{const E=Q._element.trace_length;return i._element.trace_length<E?i:Q},t[0]);return[...o,C]}return A}var Eno={position:"absolute",left:0,top:0,pointerEvents:"none",color:"red",fontFamily:"sans-serif",fontSize:12,textShadow:"0 0 2px black"},nno=g=>{const{_element:A,_parent_pcb_component:I,_parent_source_component:e,_source_port:t}=g;switch(A.type){case"pcb_trace":return A.trace_length?`${A.trace_length.toFixed(3)}`:"";case"pcb_smtpad":case"pcb_plated_hole":{const o=[],B=Array.from(new Set((A.port_hints??[]).concat(t?.port_hints??[]))).filter(Q=>!/^[0-9]+$/.test(Q)).filter(Q=>!Q.includes("unnamed_")).sort((Q,i)=>i.localeCompare(Q)),C=e&&"name"in e&&e.name&&!e.name.includes("unnamed_")?e.name:null;return B.length>0?C?o.push(...B.map(Q=>`${C}.${Q}`)):o.push(...B):C&&o.push(C),o.join(", ")}default:return""}},sno={top:"red",bottom:"aqua"},ano=({primitive:g,mousePos:A,traceOverlayElementIndex:I})=>{const[e,t]=gA.useState(!1),o=g._element;gA.useEffect(()=>{setTimeout(()=>{t(!0)},100)},[]);const[B,C,Q,i]=[g.screen_x,g.screen_y,g.screen_w,g.screen_h],E=g.same_space_index??0,n=26,s=sno[g?._element?.layer]??"red";let r=0;if(o.type==="pcb_smtpad"&&o?.shape==="rotated_rect"?r=o?.ccw_rotation??0:(o.type==="pcb_smtpad"&&(o?.shape==="pill"||o?.shape==="rotated_pill")&&"ccw_rotation"in g||o.type==="pcb_plated_hole"&&(o?.shape==="pill"||o?.shape==="oval")&&"ccw_rotation"in g)&&(r=o.ccw_rotation??0),o.type==="pcb_trace"){const h=SRI({primitiveElement:o,traceOverlayElementIndex:I});return h?W.jsx("div",{style:{zIndex:la.elementOverlay,position:"absolute",left:A.x+12,top:A.y+12,color:s,pointerEvents:"none"},children:W.jsxs("div",{style:{backgroundColor:"#f2efcc",color:h.isOverLength?"red":"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"4px 6px",borderRadius:"4px",fontSize:"11px",lineHeight:1.2,textAlign:"left",whiteSpace:"nowrap"},children:[h.text&&W.jsx("div",{children:h.text}),h.name&&W.jsx("div",{style:{marginTop:h.text?"2px":0},children:h.name})]})}):null}const a=nno(g);return a.trim().length===0?null:W.jsx("div",{style:{zIndex:la.elementOverlay,position:"absolute",left:B-Q/2-8,top:C-i/2-8,width:Q+16,height:i+16,color:s,transform:`rotate(${-r}deg)`,transformOrigin:"center center"},children:W.jsx("div",{style:{width:e?`calc(100% + ${n*2*E}px)`:"100%",height:e?`calc(100% + ${n*2*E}px)`:"100%",marginLeft:e?`${-n*E}px`:0,marginTop:e?`${-n*E}px`:0,border:`1px solid ${s}`,opacity:e||E===0?1:0,transition:"width 0.2s, height 0.2s, margin-left 0.2s, margin-top 0.2s, opacity 0.2s"},children:W.jsx("div",{style:{position:"absolute",bottom:i+20+n*E,marginRight:e?`${-n*E}px`:0,marginBottom:e?0:-n*E,transition:"margin-right 0.2s, margin-bottom 0.2s",backgroundColor:"#f2efcc",color:"black",textShadow:"none",WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",padding:"6px 6px",borderRadius:"6px",fontSize:"14px",transform:`rotate(${r}deg)`,minWidth:"45px",textAlign:"center"},children:a})})})},rno=({highlightedPrimitives:g,mousePos:A,elements:I})=>{const[e,t]=Ei(Q=>[Q.is_moving_component,Q.is_showing_multiple_traces_length]),o=gA.useMemo(()=>MRI(I),[I]),B=g.some(Q=>Q._element.type==="pcb_smtpad")&&g.some(Q=>Q._element.type==="pcb_trace");let C=g;return B&&(C=C.filter(Q=>Q._element.type==="pcb_smtpad")),C=ino({primitives:C,is_showing_multiple_traces_length:t,traceOverlayElementIndex:o}),W.jsx("div",{style:Eno,children:!e&&C.map(Q=>W.jsx(ano,{primitive:Q,mousePos:A,traceOverlayElementIndex:o},Q._pcb_drawing_object_id))})},ZuA=g=>{if(g.length===0)return null;let A=g[0].x,I=g[0].y,e=g[0].x,t=g[0].y;for(const o of g)o.x<A&&(A=o.x),o.y<I&&(I=o.y),o.x>e&&(e=o.x),o.y>t&&(t=o.y);return{center:{x:(A+e)/2,y:(I+t)/2},width:e-A,height:t-I}},ENI=(g,A)=>{if(A.length<3)return!1;let I=!1;for(let e=0,t=A.length-1;e<A.length;t=e++){const o=A[e].x,B=A[e].y,C=A[t].x,Q=A[t].y;B>g.y!=Q>g.y&&g.x<(C-o)*(g.y-B)/(Q-B||Number.EPSILON)+o&&(I=!I)}return I},ktg=({includeHiddenTraces:g=!1,primitives:A,rwPoint:I,selectedLayer:e,transform:t})=>{const o=[];for(const B of A){if(!B._element||!g&&B._element.type==="pcb_trace"&&B.layer!==e)continue;if("x1"in B&&B._element?.type==="pcb_trace"){const i=ch({x:I.x,y:I.y},{x:B.x1,y:B.y1},{x:B.x2,y:B.y2}),E=B.width||.5,n=Math.max(E*25,2)/t.a;i<n&&o.push(B);continue}if(B.pcb_drawing_type==="polygon"){const i=B.points.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=ZuA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;ENI(I,i)&&o.push(B);continue}if(B.pcb_drawing_type==="polygon_with_arcs"){const i=B.brep_shape.outer_ring.vertices.map(n=>({x:sg.parse(n.x),y:sg.parse(n.y)})),E=ZuA(i);if(!E||I.x<E.center.x-E.width/2||I.x>E.center.x+E.width/2||I.y<E.center.y-E.height/2||I.y>E.center.y+E.height/2)continue;ENI(I,i)&&o.push(B);continue}if(!("x"in B&&"y"in B))continue;let C=0,Q=0;if("w"in B&&"h"in B)C=B.w,Q=B.h;else if("r"in B)C=B.r*2,Q=B.r*2;else if("rX"in B&&"rY"in B)C=B.rX*2,Q=B.rY*2;else continue;Math.abs(B.x-I.x)<C/2&&Math.abs(B.y-I.y)<Q/2&&o.push(B)}return o},cno=({elements:g,children:A,transform:I,primitives:e,selectedLayer:t,onMouseHoverOverPrimitives:o})=>{const[B,C]=gA.useState([]),[Q,i]=gA.useState({x:0,y:0}),[E,{width:n,height:s}]=zeA(),r=gA.useMemo(()=>DRI(e),[e]);gA.useEffect(()=>{C([]),o([])},[t,e,o]);const a=gA.useMemo(()=>{const h=[];for(const l of B){if(l._element?.type==="pcb_via"||l._element?.type==="pcb_component"||l?.layer==="drill"||l?.is_hoverable===!1)continue;let D=null,d=0,y=0;if(l.pcb_drawing_type==="polygon"){const m=ZuA(l.points);if(!m)continue;D=m.center,d=m.width,y=m.height}else if(l.pcb_drawing_type==="polygon_with_arcs"){const m=l.brep_shape.outer_ring.vertices.map(k=>({x:k.x,y:k.y})),p=ZuA(m);if(!p)continue;D=p.center,d=p.width,y=p.height}else l.pcb_drawing_type==="line"?(D={x:(l.x1+l.x2)/2,y:(l.y1+l.y2)/2},d=Math.abs(l.x2-l.x1),y=Math.abs(l.y2-l.y1)):"x"in l&&"y"in l&&(D={x:l.x,y:l.y},d="w"in l?l.w:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rX*2:0,y="h"in l?l.h:"r"in l?l.r*2:"rX"in l&&"rY"in l?l.rY*2:0);if(!D)continue;const w=Mt(I,D),u={w:d*I.a,h:y*I.a},G=h.filter(m=>w.x===m.screen_x&&w.y===m.screen_y&&u.w===m.screen_w&&u.h===m.screen_h).length;h.push({...l,x:D.x,y:D.y,w:d,h:y,screen_x:w.x,screen_y:w.y,screen_w:u.w,screen_h:u.h,same_space_index:G})}return h},[B,I]),c=({screenPoint:h,transform:l})=>{const{x:D,y:d}=h;i({x:D,y:d});const y=Mt(Zx(l),{x:D,y:d}),w=dRI({point:y,realToScreenScale:l.a,spatialIndex:r}),u=ktg({primitives:w,rwPoint:y,selectedLayer:t,transform:l});Ino(new Set(u.map(G=>G._pcb_drawing_object_id)),new Set(B.map(G=>G._pcb_drawing_object_id)))||(C(u),o(u))};return W.jsxs("div",{ref:E,style:{position:"relative",width:"100%",height:"100%"},onMouseMove:h=>{if(h.buttons===0&&I){const l=h.currentTarget.getBoundingClientRect(),D=h.clientX-l.left,d=h.clientY-l.top;c({screenPoint:{x:D,y:d},transform:I})}},onTouchStart:h=>{if(I){const l=h.touches[0],D=h.currentTarget.getBoundingClientRect(),d=l.clientX-D.left,y=l.clientY-D.top;c({screenPoint:{x:d,y},transform:I})}},children:[A,W.jsx(rno,{elements:g,mousePos:Q,highlightedPrimitives:a}),I&&W.jsxs(W.Fragment,{children:[W.jsx(tno,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),W.jsx(ono,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),W.jsx(Cno,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s}),W.jsx(Qno,{elements:g,highlightedPrimitives:a,transform:I,containerWidth:n,containerHeight:s})]})]})},nNI=["rgb(255, 100, 100)","rgb(100, 255, 100)","rgb(100, 100, 255)","rgb(255, 255, 100)","rgb(255, 100, 255)","rgb(100, 255, 255)","rgb(255, 150, 100)","rgb(150, 100, 255)","rgb(100, 255, 150)","rgb(255, 100, 150)"];function sNI(g){if("parent_source_group_id"in g)return typeof g.parent_source_group_id=="string"?g.parent_source_group_id:void 0}function Mtg(g,A){const I=[],e=A.get(g)??[];for(const t of e)I.push(t),I.push(...Mtg(t,A));return I}function aNI(g,A){const I=A.get(g);if(!I)return 0;const e=sNI(I);return e?1+aNI(e,A):0}var hno=({children:g,transform:A=_J(),elements:I=[],hoveredComponentIds:e=[]})=>{const[t,{width:o,height:B}]=zeA(),C=gA.useRef(null),{is_showing_pcb_groups:Q,pcb_group_view_mode:i,is_showing_group_anchor_offsets:E}=Ei(a=>({is_showing_pcb_groups:a.is_showing_pcb_groups,pcb_group_view_mode:a.pcb_group_view_mode,is_showing_group_anchor_offsets:a.is_showing_group_anchor_offsets})),{pcbComponents:n,pcbGroups:s,sourceGroups:r}=gA.useMemo(()=>{const a=[],c=[],h=[];for(const l of I)l.type==="pcb_component"?a.push(l):l.type==="pcb_group"?c.push(l):l.type==="source_group"&&h.push(l);return{pcbComponents:a,pcbGroups:c,sourceGroups:h}},[I]);return gA.useEffect(()=>{const a=C.current;if(!a||!o||!B)return;a.width=o,a.height=B;const c=a.getContext("2d");if(!c||(c.clearRect(0,0,o,B),!Q))return;const h=new Map(r.map(y=>[y.source_group_id,y])),l=s.filter(y=>{if(y.name?.toLowerCase().includes("subpanel"))return!1;if(i==="all")return!0;if(!y.source_group_id)return!1;const w=h.get(y.source_group_id);return w?w.was_automatically_named!==!0:!1}),D=new Map;r.forEach(y=>{const w=sNI(y);if(w){const u=D.get(w)??[];u.push(y.source_group_id),D.set(w,u)}});const d=new Set;if(e.length>0)for(const y of n){if(!e.includes(y.pcb_component_id))continue;const w=y.positioned_relative_to_pcb_group_id??y.pcb_group_id;w&&d.add(w)}l.forEach((y,w)=>{let u=n.filter(NA=>NA.pcb_group_id===y.pcb_group_id);if(y.source_group_id){const NA=Mtg(y.source_group_id,D),RA=s.filter(UA=>UA.source_group_id&&NA.includes(UA.source_group_id));for(const UA of RA){const qA=n.filter(KA=>KA.pcb_group_id===UA.pcb_group_id);u=[...u,...qA]}}let G,m,p,k,S=!1;if(y.center&&y.width&&y.height){S=!0;const NA=y.width/2,RA=y.height/2;G=y.center.x-NA,p=y.center.x+NA,m=y.center.y-RA,k=y.center.y+RA}else if(u.length===0||(G=1/0,m=1/0,p=-1/0,k=-1/0,u.forEach(NA=>{if(NA.center&&typeof NA.width=="number"&&typeof NA.height=="number"){const RA=NA.center.x-NA.width/2,UA=NA.center.x+NA.width/2,qA=NA.center.y+NA.height/2,KA=NA.center.y-NA.height/2;G=Math.min(G,RA),p=Math.max(p,UA),m=Math.min(m,KA),k=Math.max(k,qA)}}),G===1/0||p===-1/0))return;const R=y.source_group_id?aNI(y.source_group_id,h):0,x=y.source_group_id?Mtg(y.source_group_id,D).length>0:!1;if(!S){const UA=1+(x?.5:0);G-=UA,p+=UA,m-=UA,k+=UA}const N=Mt(A,{x:G,y:k}),U=Mt(A,{x:p,y:k}),L=Mt(A,{x:G,y:m}),_=Mt(A,{x:p,y:m}),b=nNI[w%nNI.length];c.strokeStyle=b,c.lineWidth=2;const q=Math.max(4,Math.min(12,8*Math.abs(A.a))),j=Math.max(2,Math.min(6,4*Math.abs(A.a))),O=q*(x?1.3:1),AA=j;c.setLineDash([O,AA]),c.beginPath(),c.moveTo(N.x,N.y),c.lineTo(U.x,U.y),c.lineTo(_.x,_.y),c.lineTo(L.x,L.y),c.closePath(),c.stroke();const tA=Math.max(8,Math.min(12,10*Math.abs(A.a))),eA=R===0||R===1?0:R*.11,QA=tA*(1-eA),sA=4,DA=y.name||`Group ${w+1}`;c.font=`${QA}px sans-serif`,c.setLineDash([]);const hA=c.measureText(DA).width+sA*2,nA=QA+sA*2,cA=N.x-5,fA=N.y-5,xA=3;if(c.fillStyle="rgba(0, 0, 0, 0.8)",c.beginPath(),c.roundRect(cA,fA-nA,hA,nA,xA),c.fill(),c.fillStyle=b,c.textAlign="left",c.textBaseline="middle",c.fillText(DA,cA+sA,fA-nA/2),E&&d.has(y.pcb_group_id)&&!!y.anchor_position&&y.anchor_position){const NA=Array.isArray(y.anchor_position)?{x:y.anchor_position[0]??0,y:y.anchor_position[1]??0}:{x:y.anchor_position.x,y:y.anchor_position.y},RA=Mt(A,NA);c.strokeStyle="white",c.lineWidth=1.5,c.setLineDash([]);const UA=Math.max(4,Math.min(8,6*Math.abs(A.a)));c.beginPath(),c.moveTo(RA.x-UA,RA.y),c.lineTo(RA.x+UA,RA.y),c.stroke(),c.beginPath(),c.moveTo(RA.x,RA.y-UA),c.lineTo(RA.x,RA.y+UA),c.stroke()}})},[B,Q,E,e,n,s,i,r,A,o]),W.jsxs("div",{ref:t,style:{position:"relative",width:"100%",height:"100%"},children:[g,W.jsx("canvas",{ref:C,style:{position:"absolute",top:0,left:0,pointerEvents:"none",zIndex:la.pcbGroupOverlay,display:Q?"block":"none"}})]})},lno=({transform:g,soup:A,connectivityMap:I,children:e})=>{const t=Ei(Q=>Q.is_showing_rats_nest),{netMap:o,idToNetMap:B}=I,C=gA.useMemo(()=>{if(!A||!t)return[];const Q=r=>{const a=ib(A)[r.replace(/_\d+$/,"")].get(r);return a&&"x"in a&&"y"in a?{x:a.x,y:a.y}:null},i=(r,a)=>{const c=o[a]||[];let h=null,l=1/0;return c.forEach(D=>{const d=Q(D);if(d){const y=Math.sqrt((r.x-d.x)**2+(r.y-d.y)**2);y<l&&y>0&&(l=y,h=d)}}),h},E=ib(A).pcb_port.list(),n=ib(A).source_trace.list(),s=[];return E.forEach((r,a)=>{const c=B[r.pcb_port_id];let h=!1;for(const d of n)d.connected_source_port_ids.includes(r.source_port_id)&&d.connected_source_net_ids.length>0&&(h=!0);if(!c)return;const l={x:r.x,y:r.y},D=i(l,c);D&&s.push({key:`${r.pcb_port_id}-${a}`,startPoint:l,endPoint:D,isInNet:h})}),s},[A,o,B,t]);return!A||!t?e:(g||(g=_J()),W.jsxs("div",{style:{position:"relative"},children:[e,W.jsx("svg",{style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",opacity:.5,zIndex:la.ratsNestOverlay},children:C.map(({key:Q,startPoint:i,endPoint:E,isInNet:n})=>{const s=Mt(g,i),r=Mt(g,E);return W.jsx("line",{x1:s.x,y1:s.y,x2:r.x,y2:r.y,stroke:"white",strokeWidth:"1",strokeDasharray:n?"6,6":void 0},Q)})})]}))},IF=(g,A,I)=>{const e=Ei(B=>B.is_mouse_over_container),t=gA.useRef(e),o=gA.useRef(A);gA.useEffect(()=>{t.current=e},[e]),gA.useEffect(()=>{o.current=A},[A]),gA.useEffect(()=>{if(!g)return;const B=C=>{const Q=C.target;if(Q.tagName==="INPUT"||Q.tagName==="TEXTAREA"||Q.isContentEditable)return;const i=g.split("+"),E=i.includes("ctrl"),n=i.includes("shift"),s=i.includes("alt"),r=i.includes("meta"),a=i[i.length-1],c=I?.current?I.current.contains(document.activeElement)||document.activeElement===I.current:!1;(t.current||c)&&(!E||C.ctrlKey)&&(!n||C.shiftKey)&&(!s||C.altKey)&&(!r||C.metaKey)&&C.key.toLowerCase()===a.toLowerCase()&&(C.preventDefault(),o.current())};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[g])},Dno=()=>{const[g,A]=gA.useState(!1);return gA.useEffect(()=>{const I=()=>{A(window.innerWidth<=768)};return I(),window.addEventListener("resize",I),()=>window.removeEventListener("resize",I)},[]),g},AtA=(g,A={stopPropagation:!0})=>{const I=gA.useRef(0),e=gA.useCallback(B=>{A.stopPropagation&&B.stopPropagation();const C=Date.now();C-I.current<300||(I.current=C,g?.(B))},[g,A.stopPropagation]),t=gA.useCallback(B=>{B.preventDefault(),e(B)},[e]);return{onClick:e,onTouchEnd:t,style:{touchAction:"manipulation"}}},dno={version:"1.11.433"},vZ=({children:g,isSmallScreen:A,onClick:I,...e})=>{const{style:t,...o}=AtA(I);return W.jsx("div",{...e,...o,style:{backgroundColor:"#1F1F1F",border:"1px solid #666",margin:0,padding:4,paddingLeft:A?8:6,paddingRight:A?8:6,borderRadius:2,color:"#eee",cursor:"pointer",fontSize:12,height:"fit-content",userSelect:"none",whiteSpace:"nowrap",...t,...e.style},children:g})},yno=g=>{const A=new Map;return g.forEach((I,e)=>{const t=I.error_type||"unknown_error",o=A.get(t)||[];o.push({error:I,index:e,errorId:bZ(I,e)}),A.set(t,o)}),Array.from(A.entries()).map(([I,e])=>({errorType:I,errors:e}))},wno=({onClose:g,setHoveredErrorId:A,setFocusedErrorId:I,highlightDurationMs:e=3e3})=>{const t=gA.useRef(null),o=gA.useRef(null),B=gA.useRef(null),C=gA.useCallback(()=>{t.current!==null&&(window.clearTimeout(t.current),t.current=null),o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null)},[]);gA.useEffect(()=>C,[C]);const Q=gA.useCallback(E=>{C(),B.current=E,A(E),I(null),o.current=window.requestAnimationFrame(()=>{I(E),o.current=null}),g(),t.current=window.setTimeout(()=>{B.current=null,A(null),I(null),t.current=null},e)},[C,e,g,I,A]),i=gA.useCallback(E=>B.current===E,[]);return{handleErrorSelect:Q,isSelectedError:i}},uno=({errorId:g,errorMessage:A,copiedErrorId:I,onCopy:e})=>{const{style:t,...o}=AtA(()=>e(A,g));return W.jsx("button",{type:"button","aria-label":I===g?"Error message copied":"Copy error message",style:{position:"absolute",top:12,right:16,cursor:"pointer",color:"#888",fontSize:16,background:"none",border:"none",padding:0,display:"flex",alignItems:"center",...t},...o,children:I===g?W.jsx("span",{style:{color:"#4caf50",fontSize:12},children:"Copied!"}):W.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:W.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})})},Gno=({elements:g,isOpen:A,isSmallScreen:I,onToggle:e,onClose:t,setHoveredErrorId:o,setFocusedErrorId:B})=>{const[C,Q]=gA.useState(null),[i,E]=gA.useState(new Set),[n,s]=gA.useState(new Set),[,r]=fQo(),{handleErrorSelect:a,isSelectedError:c}=wno({onClose:t,setHoveredErrorId:o,setFocusedErrorId:B}),h=gA.useMemo(()=>g?.filter(w=>w.type.includes("error"))??[],[g]),l=h.length,D=gA.useMemo(()=>yno(h),[h]),d=gA.useCallback(w=>{E(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]),y=gA.useCallback(w=>{s(u=>{const G=new Set(u);return G.has(w)?G.delete(w):G.add(w),G})},[]);return W.jsxs("div",{style:{position:"relative"},children:[W.jsx(vZ,{isSmallScreen:I,style:l>0?{color:"red"}:void 0,onClick:e,children:W.jsxs("div",{children:[l," errors"]})}),A&&l>0&&W.jsx("div",{style:{position:"absolute",top:"100%",left:0,backgroundColor:"#2a2a2a",border:"1px solid #666",borderRadius:4,marginTop:4,zIndex:1e3,minWidth:I?"280px":"400px",maxWidth:I?"90vw":"600px",maxHeight:"400px",overflow:"auto",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.3)"},children:D.map(({errorType:w,errors:u},G)=>{const m=i.has(w);return W.jsxs("div",{style:{borderBottom:G<D.length-1?"1px solid #444":"none"},children:[W.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",cursor:"pointer",backgroundColor:"#232323",transition:"background-color 0.2s ease",touchAction:"manipulation",position:"sticky",top:0,zIndex:1},onMouseEnter:p=>{p.currentTarget.style.backgroundColor="#303030"},onMouseLeave:p=>{p.currentTarget.style.backgroundColor="#232323"},onTouchStart:p=>{p.stopPropagation(),p.currentTarget.style.backgroundColor="#303030"},onTouchEnd:p=>{p.stopPropagation(),p.preventDefault(),p.currentTarget.style.backgroundColor="#232323",d(w)},onClick:p=>{p.stopPropagation(),d(w)},children:[W.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,color:"#ff6b6b"},children:[W.jsx("div",{style:{color:"#888",fontSize:"16px",transform:m?"rotate(90deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:"›"}),W.jsx("div",{style:{fontWeight:"bold",fontSize:I?"12px":"13px"},children:w})]}),W.jsx("div",{style:{fontSize:I?"12px":"13px",color:"#aaa",whiteSpace:"nowrap",marginLeft:12},children:u.length})]}),!m&&u.map(({error:p,index:k,errorId:S})=>{const R=n.has(S),x=p.message??"No error message";return W.jsxs("div",{style:{borderTop:"1px solid #3a3a3a"},children:[W.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px 12px 24px",cursor:"pointer",backgroundColor:"#2a2a2a",transition:"background-color 0.2s ease",touchAction:"manipulation"},onMouseEnter:N=>{N.currentTarget.style.backgroundColor="#333",o(S)},onMouseLeave:N=>{N.currentTarget.style.backgroundColor="#2a2a2a",c(S)||o(null)},onTouchStart:N=>{N.stopPropagation(),N.currentTarget.style.backgroundColor="#333",o(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),N.currentTarget.style.backgroundColor="#2a2a2a",a(S)},onClick:N=>{N.stopPropagation(),a(S)},children:[W.jsx("div",{style:{flex:1,fontSize:I?"12px":"13px",color:"#ddd",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",userSelect:"text"},children:x}),W.jsx("button",{type:"button","aria-label":R?"Collapse error details":"Expand error details",style:{color:"#888",fontSize:"16px",transform:R?"rotate(0deg)":"rotate(90deg)",transition:"transform 0.2s ease",flexShrink:0,background:"none",border:"none",padding:0,cursor:"pointer"},onMouseDown:N=>N.stopPropagation(),onClick:N=>{N.stopPropagation(),y(S)},onTouchEnd:N=>{N.stopPropagation(),N.preventDefault(),y(S)},children:"›"})]}),R&&W.jsxs("div",{"data-error-id":k,style:{display:"block",padding:"12px 16px 12px 24px",backgroundColor:"#1a1a1a",borderTop:"1px solid #444",position:"relative"},children:[W.jsx("div",{style:{fontSize:I?"11px":"12px",color:"#ccc",lineHeight:1.5,wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto",userSelect:"text",paddingRight:30},onMouseDown:N=>N.stopPropagation(),onClick:N=>N.stopPropagation(),children:x}),W.jsx(uno,{errorId:S,errorMessage:x,copiedErrorId:C,onCopy:(N,U)=>{r(N),Q(U),setTimeout(()=>Q(null),2e3)}})]})]},S)})]},w)})})]})},rNI=gA.createContext(null),mno=()=>gA.useContext(rNI),gtA=RZ`
|
|
5435
5435
|
background: #222;
|
|
5436
5436
|
color: #eee;
|
|
5437
5437
|
border: 1px solid #555;
|
|
@@ -5663,7 +5663,7 @@ test("${i} should solve problem correctly", () => {
|
|
|
5663
5663
|
// Add more specific assertions based on expected output
|
|
5664
5664
|
// expect(solver.netLabelPlacementSolver!.netLabelPlacements).toMatchInlineSnapshot()
|
|
5665
5665
|
})
|
|
5666
|
-
`,n=new Blob([E],{type:"text/plain"}),s=URL.createObjectURL(n),r=document.createElement("a");r.href=s,r.download=`${i}.test.ts`,r.click(),URL.revokeObjectURL(s)}catch(Q){alert(`Error generating test.ts for ${g.getSolverName()}: ${Q instanceof Error?Q.message:String(Q)}`)}e(!1)};return W.jsxs("div",{className:`relative ${A}`,ref:t,children:[W.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>e(!I),title:`Download options for ${g.getSolverName()}`,children:g.getSolverName()}),I&&W.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:B,children:"Download page.tsx"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:C,children:"Download test.ts"})]})]})},RUI=g=>g.activeSubSolver?[g,...RUI(g.activeSubSolver)]:[g],uuo=({solver:g})=>{const A=RUI(g);return W.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((I,e)=>W.jsxs("div",{className:"flex items-center",children:[e>0&&W.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),W.jsx(wuo,{solver:I})]},I.getSolverName()))})},Guo=({solver:g,triggerRender:A,animationSpeed:I=25,renderer:e,onRendererChange:t,onAnimationSpeedChange:o,onDownloadVisualization:B,onSolverStarted:C,onSolverCompleted:Q})=>{const[i,E]=gA.useReducer(m=>!m,!1),n=gA.useRef(void 0),s=gA.useRef(null),r="solver-debugger-last-iteration",[a,c]=gA.useState(null),h=gA.useRef(null),l=gA.useMemo(()=>[{label:"Slow",value:250,description:"250ms"},{label:"Normal",value:100,description:"100ms"},{label:"Fast",value:10,description:"10ms"},{label:"Fast (2x)",value:5,description:"5ms"},{label:"Fast (10x)",value:1,description:"1ms"},{label:"Fast 20x",value:.5,description:"2 steps / 1ms"},{label:"Fast 100x",value:.1,description:"10 steps / 1ms"}],[]),D=()=>{const m=Math.max(1,I),p=I<1?Math.round(1/I):1;n.current=setInterval(()=>{if(g.solved||g.failed){n.current&&(clearInterval(n.current),n.current=void 0),E(),A(),Q&&g.solved&&Q(g);return}for(let k=0;k<p&&!(g.solved||g.failed);k++)g.step();A()},m)},d=()=>{n.current&&(clearInterval(n.current),n.current=void 0)},y=()=>{!g.solved&&!g.failed&&(g.step(),A())},w=()=>{!g.solved&&!g.failed&&(C&&C(g),g.solve(),A(),Q&&Q(g))},u=()=>{i?(d(),E()):(E(),D())},G=()=>{if(g.solved||g.failed||i)return;s.current===null&&typeof window<"u"&&(s.current=window.localStorage.getItem(r));const m=window.prompt("Step until which iteration?",s.current??`${g.iterations}`);if(m===null)return;s.current=m,typeof window<"u"&&window.localStorage.setItem(r,m);const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;g.iterations<p&&!g.solved&&!g.failed;)g.step();A(),g.solved&&Q&&Q(g)};return gA.useEffect(()=>()=>{d()},[]),gA.useEffect(()=>{(g.solved||g.failed)&&i&&(d(),E())},[g.solved,g.failed,i]),gA.useEffect(()=>{i&&(d(),D())},[I,i]),gA.useEffect(()=>{if(typeof document>"u")return;const m=p=>{h.current&&!h.current.contains(p.target)&&c(null)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[]),W.jsxs("div",{className:"space-y-2 p-2 border-b",children:[W.jsx("div",{className:"flex items-center",children:W.jsxs("div",{className:"flex items-center gap-2",ref:h,children:[W.jsxs("div",{className:"flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm",children:[W.jsxs("div",{className:"relative",children:[W.jsx("button",{type:"button",onClick:()=>c(a==="renderer"?null:"renderer"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="renderer"?"open":"closed",children:"Renderer"}),a==="renderer"&&W.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[10rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:["vector","canvas"].map(m=>W.jsxs("button",{type:"button",onClick:()=>{t(m),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m==="vector"?"Vector":"Canvas",e===m&&W.jsx("span",{className:"ml-auto text-xs text-slate-500",children:"✓"})]},m))})]}),W.jsxs("div",{className:"relative",children:[W.jsx("button",{type:"button",onClick:()=>c(a==="debug"?null:"debug"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="debug"?"open":"closed",children:"Debug"}),a==="debug"&&W.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:W.jsx("button",{type:"button",onClick:()=>{B(),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:"Download Visualization"})})]}),W.jsxs("div",{className:"relative",children:[W.jsx("button",{type:"button",onClick:()=>c(a==="animation"?null:"animation"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="animation"?"open":"closed",children:"Animation"}),a==="animation"&&W.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:l.map(m=>W.jsxs("button",{type:"button",onClick:()=>{o(m.value),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m.label,W.jsx("span",{className:"ml-auto text-xs text-slate-500",children:m.description}),I===m.value&&W.jsx("span",{className:"ml-2 text-xs text-slate-500",children:"✓"})]},m.value))})]})]}),W.jsx(uuo,{solver:g})]})}),W.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[W.jsx("button",{onClick:y,disabled:g.solved||g.failed||i,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),W.jsx("button",{onClick:w,disabled:g.solved||g.failed||i,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),W.jsx("button",{onClick:u,disabled:g.solved||g.failed,className:`px-3 py-1 rounded text-white text-sm ${i?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:i?"Stop":"Animate"}),W.jsx("button",{onClick:G,disabled:g.solved||g.failed||i,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),W.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",g.iterations]}),g.timeToSolve!==void 0&&W.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(g.timeToSolve/1e3).toFixed(3),"s"]}),g.solved&&W.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),g.failed&&W.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),g.error&&W.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",g.error]})]})},muo=g=>g!==null&&"pipelineDef"in g&&Array.isArray(g.pipelineDef),puo=(g,A,I)=>{const e=g.currentPipelineStageIndex;return A<e?"Completed":A===e&&g.activeSubSolver?g.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},kuo=(g,A)=>{const e=g.pipelineDef[A].solverName,t=puo(g,A),o=g[e],B=g.firstIterationOfStage?.[e]??(A===g.currentPipelineStageIndex?g.iterations:null),C=g.iterations;let Q=0;if(t==="Completed"){const s=g.pipelineDef[A+1],r=s?g.firstIterationOfStage?.[s.solverName]:void 0;r!==void 0&&B!==null?Q=r-B:B!==null&&(Q=C-B)}else t==="In Progress"&&B!==null&&(Q=C-B);const i=g.timeSpentOnStage?.[e]??0;let E=0;t==="Completed"?E=1:t==="In Progress"&&o&&(E=o.progress??0);const n=o?.stats??null;return{index:A,name:e,status:t,firstIteration:B,iterations:Q,progress:E,timeSpent:i,stats:n&&Object.keys(n).length>0?n:null,solverInstance:o??null}},Muo=({status:g})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return W.jsx("span",{className:`font-medium ${A[g]}`,children:g})},Suo=({progress:g})=>{if(g===0)return null;const A=Math.round(g*100);return W.jsxs("div",{className:"flex items-center gap-2",children:[W.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:W.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),W.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},NUI=g=>{if(typeof g=="string")return g;if(typeof g=="number"||typeof g=="boolean"||typeof g=="bigint"||g==null)return String(g);if(typeof g=="object")try{return JSON.stringify(g)}catch{return String(g)}return String(g)},fuo=g=>Object.entries(g).map(([A,I])=>`${A}: ${NUI(I)}`).join(", "),Ruo=({stats:g})=>{if(!g||Object.keys(g).length===0)return W.jsx("span",{children:"-"});const A=Object.entries(g),I=fuo(g);return W.jsxs("details",{className:"cursor-pointer",children:[W.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:I}),W.jsx("div",{className:"mt-1 text-xs",children:A.map(([e,t])=>W.jsxs("div",{children:[e,": ",NUI(t)]},e))})]})},wBg=g=>{if(g===null||typeof g!="object")return g;if(Array.isArray(g))return g.map(wBg);const A={};for(const[I,e]of Object.entries(g))I.startsWith("_")||(A[I]=wBg(e));return A},Nuo=(g,A)=>{try{if(typeof g.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const I=wBg(g.getConstructorParams()),e=new Blob([JSON.stringify(I,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(t)}catch(I){alert(`Error downloading input for ${A}: ${I instanceof Error?I.message:String(I)}`)}},xuo=({expanded:g})=>W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:`w-4 h-4 transition-transform duration-200 ${g?"rotate-90":""}`,children:W.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})}),xUI=g=>{let A=g;for(;A.activeSubSolver;)A=A.activeSubSolver;return A},FUI=({solver:g,onStepUntilPhase:A,onDownloadInput:I,isNested:e=!1,indentLevel:t=0,triggerRender:o})=>{const[B,C]=gA.useState(new Set),Q=g.pipelineDef.map((h,l)=>kuo(g,l)),i=h=>{C(l=>{const D=new Set(l);return D.has(h)?D.delete(h):D.add(h),D})},E=h=>{A?.(h)},n=h=>{h.solverInstance&&(I?I(h.solverInstance,h.name):Nuo(h.solverInstance,h.name))},s=h=>`${(h/1e3).toFixed(2)}s`,r=()=>{if(!g.solved&&!g.failed){const h=g.activeSubSolver;for(;!g.solved&&!g.failed&&(g.step(),!(g.activeSubSolver&&g.activeSubSolver!==h)););o?.()}},a=()=>{if(!g.solved&&!g.failed){const h=xUI(g);for(;!g.solved&&!g.failed&&(g.step(),xUI(g)===h););o?.()}},c=t*24;return W.jsxs("div",{className:e?"":"border-t border-gray-200",children:[!e&&W.jsxs("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200 flex items-center justify-between",children:[W.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Stages"}),W.jsxs("div",{className:"flex gap-2",children:[W.jsx("button",{onClick:a,disabled:g.solved||g.failed,className:"bg-indigo-500 hover:bg-indigo-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Solver"}),W.jsx("button",{onClick:r,disabled:g.solved||g.failed,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Stage"})]})]}),W.jsx("div",{className:"overflow-x-auto",children:W.jsxs("table",{className:"w-full text-sm",children:[!e&&W.jsx("thead",{children:W.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stage"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),W.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",W.jsx("sub",{children:"0"})]}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),W.jsx("tbody",{children:Q.map(h=>{const l=muo(h.solverInstance),D=B.has(h.name);return W.jsxs(aC.Fragment,{children:[W.jsxs("tr",{className:`border-b border-gray-100 ${h.status==="In Progress"?"bg-yellow-50":""}`,children:[W.jsx("td",{className:"px-4 py-2",children:W.jsxs("div",{className:"flex items-center gap-2",style:{paddingLeft:c},children:[l?W.jsx("button",{onClick:()=>i(h.name),className:"text-gray-500 hover:text-gray-700",title:D?"Collapse":"Expand",children:W.jsx(xuo,{expanded:D})}):W.jsx("span",{className:"w-4"}),W.jsx("span",{className:"text-gray-400 w-6",children:String(h.index+1).padStart(2,"0")}),W.jsx("button",{onClick:()=>E(h.name),disabled:h.status==="Completed"||g.solved||g.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${h.name} completes`,children:W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),W.jsx("span",{className:"font-medium text-gray-900",children:h.name})]})}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(Muo,{status:h.status})}),W.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:h.firstIteration!==null?h.firstIteration:""}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:h.iterations}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(Suo,{progress:h.progress})}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(h.timeSpent)}),W.jsx("td",{className:"px-4 py-2 text-gray-500",children:W.jsx(Ruo,{stats:h.stats})}),W.jsx("td",{className:"px-4 py-2",children:h.solverInstance?W.jsxs("button",{onClick:()=>n(h),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${h.name}`,children:[W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),W.jsx("span",{children:"Input"})]}):null})]}),l&&D&&W.jsx("tr",{children:W.jsx("td",{colSpan:8,className:"p-0",children:W.jsx(FUI,{solver:h.solverInstance,onStepUntilPhase:A,onDownloadInput:I,isNested:!0,indentLevel:t+1,triggerRender:o})})})]},h.name)})})]})})]})};function Fuo({graphics:g}){const A=g.points??[],I=g.lines??[],e=g.rects??[],t=g.circles??[],o=g.texts??[];let B=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const E=(h,l)=>{typeof h=="number"&&(h<B&&(B=h),h>Q&&(Q=h)),typeof l=="number"&&(l<C&&(C=l),l>i&&(i=l))};for(const h of A)E(h.x,h.y);for(const h of I){const l=h.points??[];for(const D of l)E(D.x,D.y)}for(const h of e){const l=h.x??0,D=h.y??0,d=h.width??0,y=h.height??0;E(l,D),E(l+d,D+y)}for(const h of t){const l=h.x??0,D=h.y??0,d=h.radius??1;E(l-d,D-d),E(l+d,D+d)}for(const h of o)E(h.x,h.y);(!isFinite(B)||!isFinite(C)||!isFinite(Q)||!isFinite(i))&&(B=-20,C=-20,Q=20,i=20);const n=10,s=B-n,r=C-n,a=Math.max(1,Q-B+2*n),c=Math.max(1,i-C+2*n);return W.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${s} ${r} ${a} ${c}`,role:"img","aria-label":"Graphics fallback",children:[e.map((h,l)=>W.jsx("rect",{x:h.x??0,y:h.y??0,width:h.width??0,height:h.height??0,fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`rect-${l}`)),I.map((h,l)=>W.jsx("polyline",{fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1,points:(h.points??[]).map(D=>`${D.x??0},${D.y??0}`).join(" ")},`line-${l}`)),t.map((h,l)=>W.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.fillColor??"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`circle-${l}`)),A.map((h,l)=>W.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.color??"black"},`point-${l}`)),o.map((h,l)=>W.jsx("text",{x:h.x??0,y:h.y??0,fontSize:h.fontSize??10,fill:h.color??"black",children:h.text??""},`text-${l}`))]})}var Uuo=class extends aC.Component{constructor(g){super(g),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(g){console.error("InteractiveGraphics render error:",g)}render(){return this.state.hasError?this.props.fallback:this.props.children}},Juo=({solver:g,createSolver:A,animationSpeed:I=25,onSolverStarted:e,onSolverCompleted:t})=>{const[o,B]=gA.useReducer(D=>D+1,0),[C]=gA.useState(()=>{if(A)return A();if(!g)throw new Error("GenericSolverDebugger requires solver or createSolver");return g}),[Q,i]=gA.useState(()=>typeof window>"u"?"vector":window.localStorage.getItem("solver-utils-renderer")==="canvas"?"canvas":"vector"),[E,n]=gA.useState(I),s=gA.useMemo(()=>{try{return C.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(D){return console.error("Visualization error:",D),{points:[],lines:[],rects:[],circles:[]}}},[C,o]),r=gA.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);gA.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const D=document.createElement("script");D.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(D)}},[]),gA.useEffect(()=>{n(I)},[I]);const a=C.pipelineDef!==void 0,c=D=>{const d=C;if(!C.solved&&!C.failed){for(;!C.solved&&!C.failed&&d.currentPipelineStageIndex<=d.pipelineDef.findIndex(y=>y.solverName===D);)C.step();B()}},h=()=>{const D=JSON.stringify(s,null,2),d=new Blob([D],{type:"application/json"}),y=URL.createObjectURL(d),w=document.createElement("a");w.download="visualization.json",w.href=y,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(y)},l=D=>{i(D),typeof window<"u"&&window.localStorage.setItem("solver-utils-renderer",D)};return W.jsxs("div",{children:[W.jsx(Guo,{solver:C,triggerRender:B,animationSpeed:E,renderer:Q,onRendererChange:l,onAnimationSpeedChange:n,onDownloadVisualization:h,onSolverStarted:e,onSolverCompleted:t}),r?W.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):W.jsx(Uuo,{fallback:W.jsx(Fuo,{graphics:s}),children:Q==="canvas"?W.jsx(yuo,{graphics:s}):W.jsx(luo,{graphics:s})}),a&&W.jsx(FUI,{solver:C,onStepUntilPhase:c,triggerRender:B})]})};const Puo=()=>{gA.useEffect(()=>{const g="tailwind-cdn-script";if(document.getElementById(g)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const I=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),I)return;const e=document.createElement("script");e.id=g,e.src="https://cdn.tailwindcss.com",document.head.appendChild(e)},[])},Kuo=1e3,Fk=(g,A)=>{const{fileName:I,mimeType:e="text/plain"}=A,t=g instanceof Blob?g:new Blob([g],{type:e}),o=URL.createObjectURL(t),B=document.createElement("a");B.href=o,B.download=I,B.target="_blank",B.rel="noopener noreferrer",B.style.display="none",document.body.appendChild(B),B.click(),document.body.removeChild(B),setTimeout(()=>{URL.revokeObjectURL(o)},Kuo)},uBg=g=>{let A=g.trim().replace(/[\\/:*?"<>|]/g,"_").replace(/[\x00-\x1f]/g,"").replace(/^\.+/,"").replace(/\.+$/,"").replace(/\s+/g," ").replace(/_+/g,"_");return/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i.test(A)&&(A=`_${A}`),A=A.slice(0,200),A||"untitled"},Luo=g=>{const A=g.solverConstructorArgs??[g.solverParams];if(g.solverName!=="AutoroutingPipelineSolver7_MultiGraph"||A.length!==1)return A;const[{input:I,options:e}]=A;return[I,e]},iF="https://github.com/tscircuit/tscircuit-autorouter/issues/new",UUI="https://github.com/tscircuit/copper-pour-solver/issues/new",JUI="https://github.com/tscircuit/calculate-packing/issues/new",Yuo="https://github.com/tscircuit/matchpack/issues/new",PUI="https://github.com/tscircuit/schematic-trace-solver/issues/new?template=json-bug-report.yml",_uo={PackSolver2:JUI,LayoutPipelineSolver:Yuo,AutoroutingPipelineSolver:iF,AssignableAutoroutingPipeline2:iF,AssignableAutoroutingPipeline3:iF,AutoroutingPipeline1_OriginalUnravel:iF,AutoroutingPipelineSolver3_HgPortPointPathing:iF,AutoroutingPipelineSolver4:iF,AutoroutingPipelineSolver5:iF,AutoroutingPipelineSolver7_MultiGraph:iF,AutoroutingPipelineSolver8:iF,CopperPourPipelineSolver:UUI,SchematicTracePipelineSolver:PUI},buo=g=>g.toLowerCase().includes("pack")?gso:g.toLowerCase().includes("rout")?uNI:Ono,KUI=g=>{const A=_uo[g];if(A)return A;const I=g.toLowerCase();return I.includes("autorout")?iF:I.includes("schematic")&&I.includes("trace")?PUI:I.includes("copperpour")?UUI:I.includes("pack")?JUI:null},Huo=g=>`${uBg(`${g.componentName}-${g.solverName}`)}-solver-input.json`,LUI=g=>{Fk(JSON.stringify(g.solverParams,null,2),{fileName:Huo(g),mimeType:"application/json"})},vuo=({solverEvent:g})=>{const A=KUI(g.solverName);return W.jsxs("div",{className:"rf-flex rf-items-center rf-justify-end rf-gap-2 rf-border-b rf-border-gray-200 rf-bg-gray-50 rf-px-4 rf-py-2",children:[W.jsxs($E,{type:"button",variant:"outline",size:"sm",onClick:()=>LUI(g),children:[W.jsx(ItA,{className:"rf-w-4 rf-h-4"}),"Download"]}),A?W.jsx($E,{asChild:!0,variant:"outline",size:"sm",children:W.jsxs("a",{href:A,target:"_blank",rel:"noopener noreferrer",children:[W.jsx(OuA,{className:"rf-w-4 rf-h-4"}),"Report"]})}):W.jsxs($E,{type:"button",variant:"outline",size:"sm",disabled:!0,title:"No report link configured for this solver",children:[W.jsx(OuA,{className:"rf-w-4 rf-h-4"}),"Report"]})]})},quo=({solverEvent:g})=>{const A=KUI(g.solverName);return A?W.jsx($E,{asChild:!0,variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",children:W.jsx("a",{href:A,target:"_blank",rel:"noopener noreferrer",title:"Report solver bug","aria-label":"Report solver bug",children:W.jsx(OuA,{className:"rf-w-4 rf-h-4"})})}):W.jsx($E,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",disabled:!0,title:"No report link configured for this solver","aria-label":"Report solver bug",children:W.jsx(OuA,{className:"rf-w-4 rf-h-4"})})},Tuo=({solverEvents:g=[]})=>{const[A,I]=gA.useState(null);Puo();const e=gA.useMemo(()=>{const C=new Map;for(const Q of g){const i=`${Q.componentName}-${Q.solverName}`;C.set(i,Q)}return C},[g]),t=gA.useMemo(()=>Array.from(e.keys()),[e]),o=A?e.get(A):null,B=gA.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const C=NqA[o.solverName];if(!C)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(NqA).join(", ")}`,classFound:!1};try{return{instance:new C(...Luo(o)),error:null,classFound:!0}}catch(Q){const i=Q instanceof Error?Q.message:String(Q);return console.error("Failed to reconstruct solver:",Q),{instance:null,error:`Failed to instantiate solver: ${i}`,classFound:!0}}},[o]);return g.length===0?W.jsx("div",{className:"rf-p-4",children:W.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:W.jsxs("div",{className:"rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),W.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):W.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[W.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[W.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[t.length," ",t.length===1?"Solver":"Solvers"]}),t.map(C=>{const Q=e.get(C),i=A===C;return W.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${i?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>I(C),children:(()=>{const E=buo(Q.solverName);return W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[W.jsx(E,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),W.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[W.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:Q.componentName}),W.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:Q.solverName})]})]})})()},C)})]}),W.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?B.instance?W.jsxs("div",{className:"rf-flex rf-h-full rf-flex-col rf-overflow-y-auto",children:[W.jsx(vuo,{solverEvent:o}),W.jsx("div",{className:"rf-min-h-0 rf-flex-1",children:W.jsx(jR,{fallback:W.jsx("div",{className:"rf-p-4",children:W.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),W.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:W.jsx(Juo,{solver:B.instance})})})]}):W.jsxs("div",{className:"rf-p-4",children:[W.jsxs("div",{className:"rf-mb-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),W.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),B.error&&W.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${B.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:W.jsx("p",{className:`rf-text-sm ${B.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:B.error})}),W.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[W.jsxs("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50 rf-flex rf-items-center rf-justify-between rf-gap-2",children:[W.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"}),W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-1",children:[W.jsx(quo,{solverEvent:o}),W.jsx($E,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8","aria-label":"Download solver input JSON",title:"Download solver input JSON",onClick:()=>LUI(o),children:W.jsx(ItA,{className:"rf-w-4 rf-h-4"})})]})]}),W.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:W.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):W.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:W.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Zuo=new Map([["custom","Custom"],["fanout","Fanout"],["single_layer_fanout","Single layer fanout"],["tscircuit_simplify","Simplify"]]),Ouo=new Set(["tscircuit","default","auto","auto_local"]);function Wuo(g){if(g==="FanoutSolver")return"Fanout";if(g==="AutoroutingPipelineSolver11_Simplification")return"Simplify";const A=g.match(/^AutoroutingPipeline(?:Solver)?(\d+)(?:_|$)/);if(A)return`Pipeline${A[1]}`;const I=g.match(/^AssignableAutoroutingPipeline(\d+)$/);return I?`Assignable${I[1]}`:g}function Vuo(g){const A=g.autorouterName?.trim(),I=A?.replace(/-/g,"_"),e=I&&Zuo.get(I);if(e)return e;if(I&&!Ouo.has(I))return A;const t=g.solverName?.trim();if(t)return Wuo(t);const o=g.autorouterVersion?.trim();if(o){const B=o.match(/^beta[_-]pipeline(\d+)$/);return B?`Pipeline${B[1]}`:o==="latest"?"default":o}return A?"default":"Unknown"}const GBg="#fbbf24";function juo(g){const A=g.endSimpleRouteJson?.traces??[],I=new Set(A.flatMap(t=>[t.pcb_trace_id,t.__replaces_pcb_trace_id].filter(o=>o!==void 0)));return[...(g.startSimpleRouteJson?.traces??[]).filter(t=>!I.has(t.pcb_trace_id)),...A]}function YUI(g){const A=new Map((g.startSimpleRouteJson?.traces??[]).map(I=>[I.pcb_trace_id,I]));return(g.endSimpleRouteJson?.traces??[]).filter(I=>{const e=A.get(I.pcb_trace_id);return!e||!!I.__replaces_pcb_trace_id&&I.__replaces_pcb_trace_id!==e.__replaces_pcb_trace_id||JSON.stringify(e.route)!==JSON.stringify(I.route)}).map(I=>I.pcb_trace_id)}function zuo(g,A){return{outer_diameter:g.via_diameter??A.minViaPadDiameter??A.min_via_pad_diameter??A.minViaDiameter??.6,hole_diameter:g.via_hole_diameter??A.minViaHoleDiameter??A.min_via_hole_diameter??.3}}function _UI(g,A){const I=[];for(const C of g.route)C.route_type==="wire"?I.push({...C,layer:C.layer}):C.route_type==="via"?I.push({route_type:"via",x:C.x,y:C.y,from_layer:C.from_layer,to_layer:C.to_layer,...zuo(C,A)}):C.route_type==="through_obstacle"&&I.push({route_type:"through_pad",start:{...C.start},end:{...C.end},width:C.width,start_layer:C.from_layer,end_layer:C.to_layer,pcb_smtpad_id:C.circuitJsonMetadata?.pcb_smtpad_id,pcb_plated_hole_id:C.circuitJsonMetadata?.pcb_plated_hole_id});const e=C=>{let Q=-1,i=Number.POSITIVE_INFINITY;return I.forEach((E,n)=>{if(E.route_type!=="wire")return;const s=Math.hypot(E.x-C.x,E.y-C.y);s<i&&(i=s,Q=n)}),Q},t=g.route.filter(C=>C.route_type==="jumper").map(C=>[e(C.start),e(C.end)].sort((Q,i)=>Q-i)).filter(([C,Q])=>C>=0&&Q>C).sort(([C],[Q])=>C-Q),o=[];let B=0;for(const[C,Q]of t)C>=B&&o.push(I.slice(B,C+1)),B=Math.max(B,Q);return B<I.length&&o.push(I.slice(B)),o}function Xuo(g){const A=[],I=[],e=g.endSimpleRouteJson;if(!e)return{lines:A,circles:I};const t=new Set(YUI(g));for(const o of e.traces??[])if(t.has(o.pcb_trace_id))for(const B of _UI(o,e)){let C;for(const Q of B){if(Q.route_type==="through_pad"){C={...Q.end,layer:Q.end_layer,width:Q.width};continue}const i=Q.route_type==="wire"?Q.layer:Q.from_layer;C&&C.layer===i&&(C.x!==Q.x||C.y!==Q.y)&&A.push({points:[{x:C.x,y:C.y},{x:Q.x,y:Q.y}],strokeWidth:Q.route_type==="wire"?Q.width:C.width,strokeColor:GBg,layer:i}),Q.route_type==="via"&&I.push({center:{x:Q.x,y:Q.y},radius:Q.outer_diameter/2,stroke:GBg,fill:"transparent"}),C={x:Q.x,y:Q.y,layer:Q.route_type==="wire"?Q.layer:Q.to_layer,width:Q.route_type==="wire"?Q.width:C?.width??e.minTraceWidth}}}return{coordinateSystem:"cartesian",lines:A,circles:I}}function $uo(g){const A=JSON.stringify(g);let I=2166136261;for(let e=0;e<A.length;e++)I=Math.imul(I^A.charCodeAt(e),16777619);return(I>>>0).toString(36)}const AGo=new Set(["pcb_trace","pcb_via","pcb_copper_pour","pcb_ground_plane","pcb_ground_plane_region","pcb_thermal_spoke","pcb_breakout_point"]);function gGo(g,A,I){const e=I==="input"?A.startSimpleRouteJson??A.errorSimpleRouteJson:A.endSimpleRouteJson,t=g.filter(i=>!AGo.has(i.type)&&!i.type.endsWith("_error")&&!i.type.endsWith("_warning"));if(!e)return t;const o=I==="input"?e.traces??[]:juo(A),B=new Set(g.filter(i=>i.type==="source_trace").map(i=>i.source_trace_id)),C=["top",...Array.from({length:Math.max(0,e.layerCount-2)},(i,E)=>`inner${E+1}`),...e.layerCount>1?["bottom"]:[]],Q=[];for(const i of o){const n=e.connections.find(r=>r.name===i.connection_name||r.source_trace_id===i.connection_name)?.source_trace_id??i.connection_name??"",s=_UI(i,e);for(const[r,a]of s.entries()){const c={type:"pcb_trace",pcb_trace_id:`${A.id}_${I}_${i.pcb_trace_id}_${r}_${$uo(a)}`,subcircuit_id:A.subcircuit_id??void 0,source_trace_id:B.has(n)?n:void 0,route:a};Q.push(c);for(const[h,l]of a.entries()){if(l.route_type!=="via")continue;const D=C.indexOf(l.from_layer),d=C.indexOf(l.to_layer),y={type:"pcb_via",pcb_via_id:`${c.pcb_trace_id}_via_${h}`,pcb_trace_id:c.pcb_trace_id,subcircuit_id:A.subcircuit_id??void 0,x:l.x,y:l.y,outer_diameter:l.outer_diameter,hole_diameter:l.hole_diameter,layers:D>=0&&d>=0?C.slice(Math.min(D,d),Math.max(D,d)+1):[l.from_layer,l.to_layer]};Q.push(y)}}}return[...t,...Q]}const mBg=(g,A)=>g.phaseName||`Phase ${g.phaseOrdinal??A+1}`,bUI=g=>g.componentDisplayName?.match(/name="([^"]+)"/)?.[1]?.replace(/^\./,"")||g.componentDisplayName||g.subcircuit_id||"Board",HUI=g=>g.startSimpleRouteJson??g.endSimpleRouteJson??g.errorSimpleRouteJson,IGo={is_showing_autorouting:!0,is_showing_rats_nest:!1,is_showing_drc_errors:!1,is_showing_drc_warnings:!1,is_showing_pcb_groups:!1},eGo=({circuitJson:g,phases:A=[],isRunning:I=!1})=>{const[e,t]=gA.useState(null),[o,B]=gA.useState("output"),[C,Q]=gA.useState(!0),[i,E]=gA.useState(!1),n=gA.useRef(null),[s,r]=gA.useState(480),a=e?A.findIndex(N=>N.id===e.id&&HUI(N)===HUI(e)):-1,c=a<0?A.length-1:a,h=A[c],l=a<0,D=!!h?.endSimpleRouteJson,d=h?.startSimpleRouteJson??h?.errorSimpleRouteJson,y=!!d,w=o==="output"&&!D?"input":o==="input"&&!y?"output":o,u=w==="input"?d:h?.endSimpleRouteJson,G=gA.useMemo(()=>!h||!u?null:gGo(g??[],h,w),[g,h,u,w]),m=gA.useMemo(()=>h&&w==="output"&&C?Xuo(h):{lines:[],circles:[]},[h,w,C]);if(gA.useLayoutEffect(()=>{const N=n.current;if(!N)return;const U=()=>r(Math.max(360,N.clientHeight));U();const L=new ResizeObserver(U);return L.observe(N),()=>L.disconnect()},[!!h]),!h)return W.jsxs("div",{className:"rf-flex rf-min-h-[400px] rf-flex-col rf-items-center rf-justify-center rf-gap-3 rf-p-8 rf-text-center",children:[W.jsx(uNI,{className:"rf-h-7 rf-w-7 rf-text-blue-500"}),W.jsx("h3",{className:"rf-text-base rf-font-medium",children:I?"Waiting for autorouting":"No autorouting captures"}),W.jsx("p",{className:"rf-max-w-md rf-text-sm rf-text-gray-500",children:I?"Phases appear as the circuit routes. Each capture includes its input and output on the PCB.":"Run a circuit with autorouting enabled to inspect its phases. A circuit JSON file alone does not include routing history."})]});const p=mBg(h,c),k=h.status==="running"&&I,S=!D,R=d?.connections.length,x=G?.filter(N=>N.type==="pcb_trace").length??0;return W.jsxs("div",{className:"rf-flex rf-h-full rf-min-h-[620px] rf-flex-col rf-bg-white md:rf-flex-row","data-testid":"autorouting-explorer",children:[W.jsxs("aside",{className:"rf-flex rf-shrink-0 rf-flex-col rf-border-b rf-border-gray-200 md:rf-w-52 md:rf-border-b-0 md:rf-border-r","aria-label":"Routing phases",children:[W.jsxs("div",{className:"rf-flex rf-items-center rf-justify-between rf-px-3 rf-py-2 rf-text-xs rf-text-gray-500",children:[W.jsx("span",{children:"Routing phases"}),W.jsx("span",{children:A.length})]}),W.jsx("div",{className:"rf-flex rf-gap-1 rf-overflow-x-auto rf-px-1.5 rf-pb-1.5 md:rf-flex-col md:rf-overflow-x-hidden md:rf-overflow-y-auto",children:A.map((N,U)=>{const L=YUI(N).length,_=N.endSimpleRouteJson?`${L} ${L===1?"trace":"traces"} routed`:N.status==="error"?"Failed":N.status==="running"&&I?"Routing…":"No output";return W.jsxs("button",{type:"button","aria-pressed":U===c,title:`${bUI(N)} · ${_}`,onClick:()=>t(N),className:rB("rf-flex rf-min-w-[192px] rf-items-start rf-gap-2 rf-rounded-md rf-border rf-px-2 rf-py-2 rf-text-left md:rf-min-w-0",U===c?"rf-border-blue-200 rf-bg-blue-50":"rf-border-transparent hover:rf-bg-gray-50"),children:[W.jsx("span",{className:rB("rf-flex rf-h-5 rf-w-5 rf-shrink-0 rf-items-center rf-justify-center rf-rounded-full rf-text-[11px]",U===c?"rf-bg-blue-600 rf-text-white":"rf-bg-gray-100 rf-text-gray-500"),children:U+1}),W.jsxs("span",{className:"rf-min-w-0 rf-flex-1",children:[W.jsxs("span",{className:"rf-flex rf-items-center rf-gap-1",children:[W.jsx("span",{className:"rf-min-w-0 rf-flex-1 rf-truncate rf-text-xs rf-font-medium rf-leading-5 rf-text-gray-800",title:mBg(N,U),children:mBg(N,U)}),N.status==="complete"?W.jsx(TZ,{"aria-label":"Captured",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-green-600"}):N.status==="error"?W.jsx(Ntg,{"aria-label":"Failed",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-red-500"}):I?W.jsx(Bf,{"aria-label":"Routing",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-animate-spin rf-text-blue-500"}):null]}),W.jsxs("span",{className:"rf-block rf-text-[11px] rf-leading-4 rf-text-gray-500",children:[Vuo(N)," · ",_]})]})]},N.id)})})]}),W.jsxs("div",{className:"rf-flex rf-min-w-0 rf-flex-1 rf-flex-col",children:[W.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-gap-3 rf-border-b rf-border-gray-200 rf-px-4 rf-py-3",children:[W.jsxs("h3",{className:"rf-mr-auto rf-flex rf-items-center rf-gap-2 rf-text-sm rf-font-medium",children:[p,W.jsxs("span",{className:"rf-text-xs rf-font-normal rf-text-gray-500",children:[c+1," of ",A.length]})]}),I&&W.jsx("button",{type:"button",onClick:()=>t(null),disabled:l,className:"rf-text-xs rf-text-blue-600 disabled:rf-text-gray-500",children:l?"Following latest":"Follow latest"}),W.jsx("div",{className:"rf-flex rf-rounded-md rf-bg-gray-100 rf-p-1","aria-label":"Phase snapshot",children:["input","output"].map(N=>W.jsx("button",{type:"button","aria-pressed":w===N,disabled:N==="input"?!y:!D,onClick:()=>B(N),className:rB("rf-rounded rf-px-3 rf-py-1 rf-text-xs disabled:rf-opacity-40",w===N?"rf-bg-white rf-text-gray-900 rf-shadow-sm":"rf-text-gray-500"),children:N==="input"?"Input":"Output"},N))})]}),W.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-px-4 rf-py-2 rf-text-xs rf-text-gray-600",children:[W.jsxs("label",{className:"rf-flex rf-items-center rf-gap-2",children:[W.jsx("input",{type:"checkbox",checked:C,disabled:w!=="output",onChange:N=>Q(N.target.checked),className:"rf-accent-blue-600"}),W.jsx("span",{"aria-hidden":"true",className:"rf-inline-block rf-h-0.5 rf-w-3",style:{backgroundColor:GBg}}),"Highlight changes (all layers)"]}),W.jsxs("span",{children:[w==="input"?"Before this phase":"After this phase"," ","· ",x," traces"]})]}),S&&W.jsx("div",{className:rB("rf-border-y rf-px-4 rf-py-2 rf-text-xs",h.status==="error"?"rf-border-red-100 rf-bg-red-50 rf-text-red-700":"rf-border-blue-100 rf-bg-blue-50 rf-text-blue-700"),role:"status",children:h.status==="error"?`Routing failed: ${h.error?.message||"No output was captured."}`:k?"Routing in progress. Showing captured input until output is available.":"No output was captured for this phase. Showing the available input."}),W.jsx("div",{ref:n,className:"rf-relative rf-min-h-[360px] rf-flex-1","data-testid":"autorouting-pcb",children:G?W.jsx(Stg,{circuitJson:G,height:s,allowEditing:!1,clickToInteractEnabled:!1,initialState:IGo,debugGraphics:m}):W.jsx("div",{className:"rf-p-6 rf-text-sm rf-text-gray-500",children:"No PCB snapshot available for this capture."})}),W.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-border-t rf-border-gray-200 rf-px-4 rf-py-3 rf-text-xs rf-text-gray-500",children:[W.jsxs("span",{children:[R===void 0?"Input unavailable":`${R} input connections`,` · ${bUI(h)}`]}),W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-4",children:[W.jsxs("button",{type:"button",disabled:!u,onClick:()=>Fk(JSON.stringify(u,null,2),{fileName:`${h.id}-${w}.srj.json`,mimeType:"application/json"}),className:"rf-flex rf-items-center rf-gap-1 disabled:rf-opacity-40",children:[W.jsx(ItA,{className:"rf-h-3 rf-w-3"}),"Download SRJ"]}),W.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>E(!i),className:"rf-flex rf-items-center rf-gap-1",children:[W.jsx(ZZ,{className:rB("rf-h-3 rf-w-3",i&&"rf-rotate-90")}),"Inspect SRJ"]})]})]}),i&&W.jsx("pre",{className:"rf-m-0 rf-max-h-64 rf-overflow-auto rf-border-t rf-border-gray-200 rf-bg-gray-50 rf-p-4 rf-text-xs","aria-label":`${p} ${w} SRJ`,children:u?JSON.stringify(u,null,2):"No snapshot captured."})]})]})},vUI=({errorMessage:g,errorStack:A,circuitJsonErrors:I})=>{gA.useEffect(()=>{if(VF("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&g){const e=new Error(g);A&&(e.stack=A);try{AH.captureException(e)}catch{}}},[g,A]),gA.useEffect(()=>{if(VF("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&I&&I.length>0)for(const e of I){const t=new Error(e.message||"Circuit JSON Error");e.stack&&(t.stack=e.stack);try{AH.captureException(t,{error_type:e.type})}catch{}}},[I])},tGo=g=>{gA.useEffect(()=>{try{C$I(g)}catch{}},[g.source,g.component,g.isWebEmbedded,g.activeTab])},qUI="0.0.3058",oGo={version:qUI},pBg={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},kBg=new Map,nmA=g=>{const A=kBg.get(g);return A?Object.fromEntries(Object.entries(A.stores).map(([I,e])=>[I,e.getState()])):{}},BGo=(g,A,I)=>{if(g===void 0)return{type:"untracked",connection:A.connect(I)};const e=kBg.get(I.name);if(e)return{type:"tracked",store:g,...e};const t={connection:A.connect(I),stores:{}};return kBg.set(I.name,t),{type:"tracked",store:g,...t}},TUI=(g,A={})=>(I,e,t)=>{const{enabled:o,anonymousActionType:B,store:C,...Q}=A;let i;try{i=(o??(pBg?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!i)return(pBg?"production":void 0)!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),g(I,e,t);const{connection:E,...n}=BGo(C,i,Q);let s=!0;t.setState=(c,h,l)=>{const D=I(c,h);if(!s)return D;const d=l===void 0?{type:B||"anonymous"}:typeof l=="string"?{type:l}:l;return C===void 0?(E?.send(d,e()),D):(E?.send({...d,type:`${C}/${d.type}`},{...nmA(Q.name),[C]:t.getState()}),D)};const r=(...c)=>{const h=s;s=!1,I(...c),s=h},a=g(t.setState,e,t);if(n.type==="untracked"?E?.init(a):(n.stores[n.store]=t,E?.init(Object.fromEntries(Object.entries(n.stores).map(([c,h])=>[c,c===n.store?a:h.getState()])))),t.dispatchFromDevtools&&typeof t.dispatch=="function"){let c=!1;const h=t.dispatch;t.dispatch=(...l)=>{(pBg?"production":void 0)!=="production"&&l[0].type==="__setState"&&!c&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),c=!0),h(...l)}}return E.subscribe(c=>{var h;switch(c.type){case"ACTION":if(typeof c.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return MBg(c.payload,l=>{if(l.type==="__setState"){if(C===void 0){r(l.state);return}Object.keys(l.state).length!==1&&console.error(`
|
|
5666
|
+
`,n=new Blob([E],{type:"text/plain"}),s=URL.createObjectURL(n),r=document.createElement("a");r.href=s,r.download=`${i}.test.ts`,r.click(),URL.revokeObjectURL(s)}catch(Q){alert(`Error generating test.ts for ${g.getSolverName()}: ${Q instanceof Error?Q.message:String(Q)}`)}e(!1)};return W.jsxs("div",{className:`relative ${A}`,ref:t,children:[W.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>e(!I),title:`Download options for ${g.getSolverName()}`,children:g.getSolverName()}),I&&W.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:B,children:"Download page.tsx"}),W.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:C,children:"Download test.ts"})]})]})},RUI=g=>g.activeSubSolver?[g,...RUI(g.activeSubSolver)]:[g],uuo=({solver:g})=>{const A=RUI(g);return W.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((I,e)=>W.jsxs("div",{className:"flex items-center",children:[e>0&&W.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),W.jsx(wuo,{solver:I})]},I.getSolverName()))})},Guo=({solver:g,triggerRender:A,animationSpeed:I=25,renderer:e,onRendererChange:t,onAnimationSpeedChange:o,onDownloadVisualization:B,onSolverStarted:C,onSolverCompleted:Q})=>{const[i,E]=gA.useReducer(m=>!m,!1),n=gA.useRef(void 0),s=gA.useRef(null),r="solver-debugger-last-iteration",[a,c]=gA.useState(null),h=gA.useRef(null),l=gA.useMemo(()=>[{label:"Slow",value:250,description:"250ms"},{label:"Normal",value:100,description:"100ms"},{label:"Fast",value:10,description:"10ms"},{label:"Fast (2x)",value:5,description:"5ms"},{label:"Fast (10x)",value:1,description:"1ms"},{label:"Fast 20x",value:.5,description:"2 steps / 1ms"},{label:"Fast 100x",value:.1,description:"10 steps / 1ms"}],[]),D=()=>{const m=Math.max(1,I),p=I<1?Math.round(1/I):1;n.current=setInterval(()=>{if(g.solved||g.failed){n.current&&(clearInterval(n.current),n.current=void 0),E(),A(),Q&&g.solved&&Q(g);return}for(let k=0;k<p&&!(g.solved||g.failed);k++)g.step();A()},m)},d=()=>{n.current&&(clearInterval(n.current),n.current=void 0)},y=()=>{!g.solved&&!g.failed&&(g.step(),A())},w=()=>{!g.solved&&!g.failed&&(C&&C(g),g.solve(),A(),Q&&Q(g))},u=()=>{i?(d(),E()):(E(),D())},G=()=>{if(g.solved||g.failed||i)return;s.current===null&&typeof window<"u"&&(s.current=window.localStorage.getItem(r));const m=window.prompt("Step until which iteration?",s.current??`${g.iterations}`);if(m===null)return;s.current=m,typeof window<"u"&&window.localStorage.setItem(r,m);const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;g.iterations<p&&!g.solved&&!g.failed;)g.step();A(),g.solved&&Q&&Q(g)};return gA.useEffect(()=>()=>{d()},[]),gA.useEffect(()=>{(g.solved||g.failed)&&i&&(d(),E())},[g.solved,g.failed,i]),gA.useEffect(()=>{i&&(d(),D())},[I,i]),gA.useEffect(()=>{if(typeof document>"u")return;const m=p=>{h.current&&!h.current.contains(p.target)&&c(null)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[]),W.jsxs("div",{className:"space-y-2 p-2 border-b",children:[W.jsx("div",{className:"flex items-center",children:W.jsxs("div",{className:"flex items-center gap-2",ref:h,children:[W.jsxs("div",{className:"flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm",children:[W.jsxs("div",{className:"relative",children:[W.jsx("button",{type:"button",onClick:()=>c(a==="renderer"?null:"renderer"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="renderer"?"open":"closed",children:"Renderer"}),a==="renderer"&&W.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[10rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:["vector","canvas"].map(m=>W.jsxs("button",{type:"button",onClick:()=>{t(m),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m==="vector"?"Vector":"Canvas",e===m&&W.jsx("span",{className:"ml-auto text-xs text-slate-500",children:"✓"})]},m))})]}),W.jsxs("div",{className:"relative",children:[W.jsx("button",{type:"button",onClick:()=>c(a==="debug"?null:"debug"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="debug"?"open":"closed",children:"Debug"}),a==="debug"&&W.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:W.jsx("button",{type:"button",onClick:()=>{B(),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:"Download Visualization"})})]}),W.jsxs("div",{className:"relative",children:[W.jsx("button",{type:"button",onClick:()=>c(a==="animation"?null:"animation"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="animation"?"open":"closed",children:"Animation"}),a==="animation"&&W.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:l.map(m=>W.jsxs("button",{type:"button",onClick:()=>{o(m.value),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m.label,W.jsx("span",{className:"ml-auto text-xs text-slate-500",children:m.description}),I===m.value&&W.jsx("span",{className:"ml-2 text-xs text-slate-500",children:"✓"})]},m.value))})]})]}),W.jsx(uuo,{solver:g})]})}),W.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[W.jsx("button",{onClick:y,disabled:g.solved||g.failed||i,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),W.jsx("button",{onClick:w,disabled:g.solved||g.failed||i,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),W.jsx("button",{onClick:u,disabled:g.solved||g.failed,className:`px-3 py-1 rounded text-white text-sm ${i?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:i?"Stop":"Animate"}),W.jsx("button",{onClick:G,disabled:g.solved||g.failed||i,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),W.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",g.iterations]}),g.timeToSolve!==void 0&&W.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(g.timeToSolve/1e3).toFixed(3),"s"]}),g.solved&&W.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),g.failed&&W.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),g.error&&W.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",g.error]})]})},muo=g=>g!==null&&"pipelineDef"in g&&Array.isArray(g.pipelineDef),puo=(g,A,I)=>{const e=g.currentPipelineStageIndex;return A<e?"Completed":A===e&&g.activeSubSolver?g.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},kuo=(g,A)=>{const e=g.pipelineDef[A].solverName,t=puo(g,A),o=g[e],B=g.firstIterationOfStage?.[e]??(A===g.currentPipelineStageIndex?g.iterations:null),C=g.iterations;let Q=0;if(t==="Completed"){const s=g.pipelineDef[A+1],r=s?g.firstIterationOfStage?.[s.solverName]:void 0;r!==void 0&&B!==null?Q=r-B:B!==null&&(Q=C-B)}else t==="In Progress"&&B!==null&&(Q=C-B);const i=g.timeSpentOnStage?.[e]??0;let E=0;t==="Completed"?E=1:t==="In Progress"&&o&&(E=o.progress??0);const n=o?.stats??null;return{index:A,name:e,status:t,firstIteration:B,iterations:Q,progress:E,timeSpent:i,stats:n&&Object.keys(n).length>0?n:null,solverInstance:o??null}},Muo=({status:g})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return W.jsx("span",{className:`font-medium ${A[g]}`,children:g})},Suo=({progress:g})=>{if(g===0)return null;const A=Math.round(g*100);return W.jsxs("div",{className:"flex items-center gap-2",children:[W.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:W.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),W.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},NUI=g=>{if(typeof g=="string")return g;if(typeof g=="number"||typeof g=="boolean"||typeof g=="bigint"||g==null)return String(g);if(typeof g=="object")try{return JSON.stringify(g)}catch{return String(g)}return String(g)},fuo=g=>Object.entries(g).map(([A,I])=>`${A}: ${NUI(I)}`).join(", "),Ruo=({stats:g})=>{if(!g||Object.keys(g).length===0)return W.jsx("span",{children:"-"});const A=Object.entries(g),I=fuo(g);return W.jsxs("details",{className:"cursor-pointer",children:[W.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:I}),W.jsx("div",{className:"mt-1 text-xs",children:A.map(([e,t])=>W.jsxs("div",{children:[e,": ",NUI(t)]},e))})]})},wBg=g=>{if(g===null||typeof g!="object")return g;if(Array.isArray(g))return g.map(wBg);const A={};for(const[I,e]of Object.entries(g))I.startsWith("_")||(A[I]=wBg(e));return A},Nuo=(g,A)=>{try{if(typeof g.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const I=wBg(g.getConstructorParams()),e=new Blob([JSON.stringify(I,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(t)}catch(I){alert(`Error downloading input for ${A}: ${I instanceof Error?I.message:String(I)}`)}},xuo=({expanded:g})=>W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:`w-4 h-4 transition-transform duration-200 ${g?"rotate-90":""}`,children:W.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})}),xUI=g=>{let A=g;for(;A.activeSubSolver;)A=A.activeSubSolver;return A},FUI=({solver:g,onStepUntilPhase:A,onDownloadInput:I,isNested:e=!1,indentLevel:t=0,triggerRender:o})=>{const[B,C]=gA.useState(new Set),Q=g.pipelineDef.map((h,l)=>kuo(g,l)),i=h=>{C(l=>{const D=new Set(l);return D.has(h)?D.delete(h):D.add(h),D})},E=h=>{A?.(h)},n=h=>{h.solverInstance&&(I?I(h.solverInstance,h.name):Nuo(h.solverInstance,h.name))},s=h=>`${(h/1e3).toFixed(2)}s`,r=()=>{if(!g.solved&&!g.failed){const h=g.activeSubSolver;for(;!g.solved&&!g.failed&&(g.step(),!(g.activeSubSolver&&g.activeSubSolver!==h)););o?.()}},a=()=>{if(!g.solved&&!g.failed){const h=xUI(g);for(;!g.solved&&!g.failed&&(g.step(),xUI(g)===h););o?.()}},c=t*24;return W.jsxs("div",{className:e?"":"border-t border-gray-200",children:[!e&&W.jsxs("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200 flex items-center justify-between",children:[W.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Stages"}),W.jsxs("div",{className:"flex gap-2",children:[W.jsx("button",{onClick:a,disabled:g.solved||g.failed,className:"bg-indigo-500 hover:bg-indigo-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Solver"}),W.jsx("button",{onClick:r,disabled:g.solved||g.failed,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Stage"})]})]}),W.jsx("div",{className:"overflow-x-auto",children:W.jsxs("table",{className:"w-full text-sm",children:[!e&&W.jsx("thead",{children:W.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stage"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),W.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",W.jsx("sub",{children:"0"})]}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),W.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),W.jsx("tbody",{children:Q.map(h=>{const l=muo(h.solverInstance),D=B.has(h.name);return W.jsxs(aC.Fragment,{children:[W.jsxs("tr",{className:`border-b border-gray-100 ${h.status==="In Progress"?"bg-yellow-50":""}`,children:[W.jsx("td",{className:"px-4 py-2",children:W.jsxs("div",{className:"flex items-center gap-2",style:{paddingLeft:c},children:[l?W.jsx("button",{onClick:()=>i(h.name),className:"text-gray-500 hover:text-gray-700",title:D?"Collapse":"Expand",children:W.jsx(xuo,{expanded:D})}):W.jsx("span",{className:"w-4"}),W.jsx("span",{className:"text-gray-400 w-6",children:String(h.index+1).padStart(2,"0")}),W.jsx("button",{onClick:()=>E(h.name),disabled:h.status==="Completed"||g.solved||g.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${h.name} completes`,children:W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),W.jsx("span",{className:"font-medium text-gray-900",children:h.name})]})}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(Muo,{status:h.status})}),W.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:h.firstIteration!==null?h.firstIteration:""}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:h.iterations}),W.jsx("td",{className:"px-4 py-2",children:W.jsx(Suo,{progress:h.progress})}),W.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(h.timeSpent)}),W.jsx("td",{className:"px-4 py-2 text-gray-500",children:W.jsx(Ruo,{stats:h.stats})}),W.jsx("td",{className:"px-4 py-2",children:h.solverInstance?W.jsxs("button",{onClick:()=>n(h),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${h.name}`,children:[W.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:W.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),W.jsx("span",{children:"Input"})]}):null})]}),l&&D&&W.jsx("tr",{children:W.jsx("td",{colSpan:8,className:"p-0",children:W.jsx(FUI,{solver:h.solverInstance,onStepUntilPhase:A,onDownloadInput:I,isNested:!0,indentLevel:t+1,triggerRender:o})})})]},h.name)})})]})})]})};function Fuo({graphics:g}){const A=g.points??[],I=g.lines??[],e=g.rects??[],t=g.circles??[],o=g.texts??[];let B=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const E=(h,l)=>{typeof h=="number"&&(h<B&&(B=h),h>Q&&(Q=h)),typeof l=="number"&&(l<C&&(C=l),l>i&&(i=l))};for(const h of A)E(h.x,h.y);for(const h of I){const l=h.points??[];for(const D of l)E(D.x,D.y)}for(const h of e){const l=h.x??0,D=h.y??0,d=h.width??0,y=h.height??0;E(l,D),E(l+d,D+y)}for(const h of t){const l=h.x??0,D=h.y??0,d=h.radius??1;E(l-d,D-d),E(l+d,D+d)}for(const h of o)E(h.x,h.y);(!isFinite(B)||!isFinite(C)||!isFinite(Q)||!isFinite(i))&&(B=-20,C=-20,Q=20,i=20);const n=10,s=B-n,r=C-n,a=Math.max(1,Q-B+2*n),c=Math.max(1,i-C+2*n);return W.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${s} ${r} ${a} ${c}`,role:"img","aria-label":"Graphics fallback",children:[e.map((h,l)=>W.jsx("rect",{x:h.x??0,y:h.y??0,width:h.width??0,height:h.height??0,fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`rect-${l}`)),I.map((h,l)=>W.jsx("polyline",{fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1,points:(h.points??[]).map(D=>`${D.x??0},${D.y??0}`).join(" ")},`line-${l}`)),t.map((h,l)=>W.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.fillColor??"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`circle-${l}`)),A.map((h,l)=>W.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.color??"black"},`point-${l}`)),o.map((h,l)=>W.jsx("text",{x:h.x??0,y:h.y??0,fontSize:h.fontSize??10,fill:h.color??"black",children:h.text??""},`text-${l}`))]})}var Uuo=class extends aC.Component{constructor(g){super(g),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(g){console.error("InteractiveGraphics render error:",g)}render(){return this.state.hasError?this.props.fallback:this.props.children}},Juo=({solver:g,createSolver:A,animationSpeed:I=25,onSolverStarted:e,onSolverCompleted:t})=>{const[o,B]=gA.useReducer(D=>D+1,0),[C]=gA.useState(()=>{if(A)return A();if(!g)throw new Error("GenericSolverDebugger requires solver or createSolver");return g}),[Q,i]=gA.useState(()=>typeof window>"u"?"vector":window.localStorage.getItem("solver-utils-renderer")==="canvas"?"canvas":"vector"),[E,n]=gA.useState(I),s=gA.useMemo(()=>{try{return C.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(D){return console.error("Visualization error:",D),{points:[],lines:[],rects:[],circles:[]}}},[C,o]),r=gA.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);gA.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const D=document.createElement("script");D.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(D)}},[]),gA.useEffect(()=>{n(I)},[I]);const a=C.pipelineDef!==void 0,c=D=>{const d=C;if(!C.solved&&!C.failed){for(;!C.solved&&!C.failed&&d.currentPipelineStageIndex<=d.pipelineDef.findIndex(y=>y.solverName===D);)C.step();B()}},h=()=>{const D=JSON.stringify(s,null,2),d=new Blob([D],{type:"application/json"}),y=URL.createObjectURL(d),w=document.createElement("a");w.download="visualization.json",w.href=y,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(y)},l=D=>{i(D),typeof window<"u"&&window.localStorage.setItem("solver-utils-renderer",D)};return W.jsxs("div",{children:[W.jsx(Guo,{solver:C,triggerRender:B,animationSpeed:E,renderer:Q,onRendererChange:l,onAnimationSpeedChange:n,onDownloadVisualization:h,onSolverStarted:e,onSolverCompleted:t}),r?W.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):W.jsx(Uuo,{fallback:W.jsx(Fuo,{graphics:s}),children:Q==="canvas"?W.jsx(yuo,{graphics:s}):W.jsx(luo,{graphics:s})}),a&&W.jsx(FUI,{solver:C,onStepUntilPhase:c,triggerRender:B})]})};const Puo=()=>{gA.useEffect(()=>{const g="tailwind-cdn-script";if(document.getElementById(g)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const I=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),I)return;const e=document.createElement("script");e.id=g,e.src="https://cdn.tailwindcss.com",document.head.appendChild(e)},[])},Kuo=1e3,Fk=(g,A)=>{const{fileName:I,mimeType:e="text/plain"}=A,t=g instanceof Blob?g:new Blob([g],{type:e}),o=URL.createObjectURL(t),B=document.createElement("a");B.href=o,B.download=I,B.target="_blank",B.rel="noopener noreferrer",B.style.display="none",document.body.appendChild(B),B.click(),document.body.removeChild(B),setTimeout(()=>{URL.revokeObjectURL(o)},Kuo)},uBg=g=>{let A=g.trim().replace(/[\\/:*?"<>|]/g,"_").replace(/[\x00-\x1f]/g,"").replace(/^\.+/,"").replace(/\.+$/,"").replace(/\s+/g," ").replace(/_+/g,"_");return/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i.test(A)&&(A=`_${A}`),A=A.slice(0,200),A||"untitled"},Luo=g=>{const A=g.solverConstructorArgs??[g.solverParams];if(g.solverName!=="AutoroutingPipelineSolver7_MultiGraph"||A.length!==1)return A;const[{input:I,options:e}]=A;return[I,e]},iF="https://github.com/tscircuit/tscircuit-autorouter/issues/new",UUI="https://github.com/tscircuit/copper-pour-solver/issues/new",JUI="https://github.com/tscircuit/calculate-packing/issues/new",Yuo="https://github.com/tscircuit/matchpack/issues/new",PUI="https://github.com/tscircuit/schematic-trace-solver/issues/new?template=json-bug-report.yml",_uo={PackSolver2:JUI,LayoutPipelineSolver:Yuo,AutoroutingPipelineSolver:iF,AssignableAutoroutingPipeline2:iF,AssignableAutoroutingPipeline3:iF,AutoroutingPipeline1_OriginalUnravel:iF,AutoroutingPipelineSolver3_HgPortPointPathing:iF,AutoroutingPipelineSolver4:iF,AutoroutingPipelineSolver5:iF,AutoroutingPipelineSolver7_MultiGraph:iF,AutoroutingPipelineSolver8:iF,CopperPourPipelineSolver:UUI,SchematicTracePipelineSolver:PUI},buo=g=>g.toLowerCase().includes("pack")?gso:g.toLowerCase().includes("rout")?uNI:Ono,KUI=g=>{const A=_uo[g];if(A)return A;const I=g.toLowerCase();return I.includes("autorout")?iF:I.includes("schematic")&&I.includes("trace")?PUI:I.includes("copperpour")?UUI:I.includes("pack")?JUI:null},Huo=g=>`${uBg(`${g.componentName}-${g.solverName}`)}-solver-input.json`,LUI=g=>{Fk(JSON.stringify(g.solverParams,null,2),{fileName:Huo(g),mimeType:"application/json"})},vuo=({solverEvent:g})=>{const A=KUI(g.solverName);return W.jsxs("div",{className:"rf-flex rf-items-center rf-justify-end rf-gap-2 rf-border-b rf-border-gray-200 rf-bg-gray-50 rf-px-4 rf-py-2",children:[W.jsxs($E,{type:"button",variant:"outline",size:"sm",onClick:()=>LUI(g),children:[W.jsx(ItA,{className:"rf-w-4 rf-h-4"}),"Download"]}),A?W.jsx($E,{asChild:!0,variant:"outline",size:"sm",children:W.jsxs("a",{href:A,target:"_blank",rel:"noopener noreferrer",children:[W.jsx(OuA,{className:"rf-w-4 rf-h-4"}),"Report"]})}):W.jsxs($E,{type:"button",variant:"outline",size:"sm",disabled:!0,title:"No report link configured for this solver",children:[W.jsx(OuA,{className:"rf-w-4 rf-h-4"}),"Report"]})]})},quo=({solverEvent:g})=>{const A=KUI(g.solverName);return A?W.jsx($E,{asChild:!0,variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",children:W.jsx("a",{href:A,target:"_blank",rel:"noopener noreferrer",title:"Report solver bug","aria-label":"Report solver bug",children:W.jsx(OuA,{className:"rf-w-4 rf-h-4"})})}):W.jsx($E,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",disabled:!0,title:"No report link configured for this solver","aria-label":"Report solver bug",children:W.jsx(OuA,{className:"rf-w-4 rf-h-4"})})},Tuo=({solverEvents:g=[]})=>{const[A,I]=gA.useState(null);Puo();const e=gA.useMemo(()=>{const C=new Map;for(const Q of g){const i=`${Q.componentName}-${Q.solverName}`;C.set(i,Q)}return C},[g]),t=gA.useMemo(()=>Array.from(e.keys()),[e]),o=A?e.get(A):null,B=gA.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const C=NqA[o.solverName];if(!C)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(NqA).join(", ")}`,classFound:!1};try{return{instance:new C(...Luo(o)),error:null,classFound:!0}}catch(Q){const i=Q instanceof Error?Q.message:String(Q);return console.error("Failed to reconstruct solver:",Q),{instance:null,error:`Failed to instantiate solver: ${i}`,classFound:!0}}},[o]);return g.length===0?W.jsx("div",{className:"rf-p-4",children:W.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:W.jsxs("div",{className:"rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),W.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):W.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[W.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[W.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[t.length," ",t.length===1?"Solver":"Solvers"]}),t.map(C=>{const Q=e.get(C),i=A===C;return W.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${i?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>I(C),children:(()=>{const E=buo(Q.solverName);return W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[W.jsx(E,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),W.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[W.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:Q.componentName}),W.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:Q.solverName})]})]})})()},C)})]}),W.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?B.instance?W.jsxs("div",{className:"rf-flex rf-h-full rf-flex-col rf-overflow-y-auto",children:[W.jsx(vuo,{solverEvent:o}),W.jsx("div",{className:"rf-min-h-0 rf-flex-1",children:W.jsx(jR,{fallback:W.jsx("div",{className:"rf-p-4",children:W.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),W.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:W.jsx(Juo,{solver:B.instance})})})]}):W.jsxs("div",{className:"rf-p-4",children:[W.jsxs("div",{className:"rf-mb-4",children:[W.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),W.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),B.error&&W.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${B.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:W.jsx("p",{className:`rf-text-sm ${B.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:B.error})}),W.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[W.jsxs("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50 rf-flex rf-items-center rf-justify-between rf-gap-2",children:[W.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"}),W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-1",children:[W.jsx(quo,{solverEvent:o}),W.jsx($E,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8","aria-label":"Download solver input JSON",title:"Download solver input JSON",onClick:()=>LUI(o),children:W.jsx(ItA,{className:"rf-w-4 rf-h-4"})})]})]}),W.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:W.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):W.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:W.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},Zuo=new Map([["custom","Custom"],["fanout","Fanout"],["single_layer_fanout","Single layer fanout"],["tscircuit_simplify","Simplify"]]),Ouo=new Set(["tscircuit","default","auto","auto_local"]);function Wuo(g){if(g==="FanoutSolver")return"Fanout";if(g==="AutoroutingPipelineSolver11_Simplification")return"Simplify";const A=g.match(/^AutoroutingPipeline(?:Solver)?(\d+)(?:_|$)/);if(A)return`Pipeline${A[1]}`;const I=g.match(/^AssignableAutoroutingPipeline(\d+)$/);return I?`Assignable${I[1]}`:g}function Vuo(g){const A=g.autorouterName?.trim(),I=A?.replace(/-/g,"_"),e=I&&Zuo.get(I);if(e)return e;if(I&&!Ouo.has(I))return A;const t=g.solverName?.trim();if(t)return Wuo(t);const o=g.autorouterVersion?.trim();if(o){const B=o.match(/^beta[_-]pipeline(\d+)$/);return B?`Pipeline${B[1]}`:o==="latest"?"default":o}return A?"default":"Unknown"}const GBg="#fbbf24";function juo(g){const A=g.endSimpleRouteJson?.traces??[],I=new Set(A.flatMap(t=>[t.pcb_trace_id,t.__replaces_pcb_trace_id].filter(o=>o!==void 0)));return[...(g.startSimpleRouteJson?.traces??[]).filter(t=>!I.has(t.pcb_trace_id)),...A]}function YUI(g){const A=new Map((g.startSimpleRouteJson?.traces??[]).map(I=>[I.pcb_trace_id,I]));return(g.endSimpleRouteJson?.traces??[]).filter(I=>{const e=A.get(I.pcb_trace_id);return!e||!!I.__replaces_pcb_trace_id&&I.__replaces_pcb_trace_id!==e.__replaces_pcb_trace_id||JSON.stringify(e.route)!==JSON.stringify(I.route)}).map(I=>I.pcb_trace_id)}function zuo(g,A){return{outer_diameter:g.via_diameter??A.minViaPadDiameter??A.min_via_pad_diameter??A.minViaDiameter??.6,hole_diameter:g.via_hole_diameter??A.minViaHoleDiameter??A.min_via_hole_diameter??.3}}function _UI(g,A){const I=[];for(const C of g.route)C.route_type==="wire"?I.push({...C,layer:C.layer}):C.route_type==="via"?I.push({route_type:"via",x:C.x,y:C.y,from_layer:C.from_layer,to_layer:C.to_layer,...zuo(C,A)}):C.route_type==="through_obstacle"&&I.push({route_type:"through_pad",start:{...C.start},end:{...C.end},width:C.width,start_layer:C.from_layer,end_layer:C.to_layer,pcb_smtpad_id:C.circuitJsonMetadata?.pcb_smtpad_id,pcb_plated_hole_id:C.circuitJsonMetadata?.pcb_plated_hole_id});const e=C=>{let Q=-1,i=Number.POSITIVE_INFINITY;return I.forEach((E,n)=>{if(E.route_type!=="wire")return;const s=Math.hypot(E.x-C.x,E.y-C.y);s<i&&(i=s,Q=n)}),Q},t=g.route.filter(C=>C.route_type==="jumper").map(C=>[e(C.start),e(C.end)].sort((Q,i)=>Q-i)).filter(([C,Q])=>C>=0&&Q>C).sort(([C],[Q])=>C-Q),o=[];let B=0;for(const[C,Q]of t)C>=B&&o.push(I.slice(B,C+1)),B=Math.max(B,Q);return B<I.length&&o.push(I.slice(B)),o}function Xuo(g){const A=[],I=[],e=g.endSimpleRouteJson;if(!e)return{lines:A,circles:I};const t=new Set(YUI(g));for(const o of e.traces??[])if(t.has(o.pcb_trace_id))for(const B of _UI(o,e)){let C;for(const Q of B){if(Q.route_type==="through_pad"){C={...Q.end,layer:Q.end_layer,width:Q.width};continue}const i=Q.route_type==="wire"?Q.layer:Q.from_layer;C&&C.layer===i&&(C.x!==Q.x||C.y!==Q.y)&&A.push({points:[{x:C.x,y:C.y},{x:Q.x,y:Q.y}],strokeWidth:Q.route_type==="wire"?Q.width:C.width,strokeColor:GBg,layer:i}),Q.route_type==="via"&&I.push({center:{x:Q.x,y:Q.y},radius:Q.outer_diameter/2,stroke:GBg,fill:"transparent"}),C={x:Q.x,y:Q.y,layer:Q.route_type==="wire"?Q.layer:Q.to_layer,width:Q.route_type==="wire"?Q.width:C?.width??e.minTraceWidth}}}return{coordinateSystem:"cartesian",lines:A,circles:I}}function $uo(g){const A=JSON.stringify(g);let I=2166136261;for(let e=0;e<A.length;e++)I=Math.imul(I^A.charCodeAt(e),16777619);return(I>>>0).toString(36)}const AGo=new Set(["pcb_trace","pcb_via","pcb_copper_pour","pcb_ground_plane","pcb_ground_plane_region","pcb_thermal_spoke","pcb_breakout_point"]);function gGo(g,A,I){const e=I==="input"?A.startSimpleRouteJson??A.errorSimpleRouteJson:A.endSimpleRouteJson,t=g.filter(i=>!AGo.has(i.type)&&!i.type.endsWith("_error")&&!i.type.endsWith("_warning"));if(!e)return t;const o=I==="input"?e.traces??[]:juo(A),B=new Set(g.filter(i=>i.type==="source_trace").map(i=>i.source_trace_id)),C=["top",...Array.from({length:Math.max(0,e.layerCount-2)},(i,E)=>`inner${E+1}`),...e.layerCount>1?["bottom"]:[]],Q=[];for(const i of o){const n=e.connections.find(r=>r.name===i.connection_name||r.source_trace_id===i.connection_name)?.source_trace_id??i.connection_name??"",s=_UI(i,e);for(const[r,a]of s.entries()){const c={type:"pcb_trace",pcb_trace_id:`${A.id}_${I}_${i.pcb_trace_id}_${r}_${$uo(a)}`,subcircuit_id:A.subcircuit_id??void 0,source_trace_id:B.has(n)?n:void 0,route:a};Q.push(c);for(const[h,l]of a.entries()){if(l.route_type!=="via")continue;const D=C.indexOf(l.from_layer),d=C.indexOf(l.to_layer),y={type:"pcb_via",pcb_via_id:`${c.pcb_trace_id}_via_${h}`,pcb_trace_id:c.pcb_trace_id,subcircuit_id:A.subcircuit_id??void 0,x:l.x,y:l.y,outer_diameter:l.outer_diameter,hole_diameter:l.hole_diameter,layers:D>=0&&d>=0?C.slice(Math.min(D,d),Math.max(D,d)+1):[l.from_layer,l.to_layer]};Q.push(y)}}}return[...t,...Q]}const mBg=(g,A)=>g.phaseName||`Phase ${g.phaseOrdinal??A+1}`,bUI=g=>g.componentDisplayName?.match(/name="([^"]+)"/)?.[1]?.replace(/^\./,"")||g.componentDisplayName||g.subcircuit_id||"Board",HUI=g=>g.startSimpleRouteJson??g.endSimpleRouteJson??g.errorSimpleRouteJson,IGo={is_showing_autorouting:!0,is_showing_rats_nest:!1,is_showing_drc_errors:!1,is_showing_drc_warnings:!1,is_showing_pcb_groups:!1},eGo=({circuitJson:g,phases:A=[],isRunning:I=!1})=>{const[e,t]=gA.useState(null),[o,B]=gA.useState("output"),[C,Q]=gA.useState(!0),[i,E]=gA.useState(!1),n=gA.useRef(null),[s,r]=gA.useState(480),a=e?A.findIndex(N=>N.id===e.id&&HUI(N)===HUI(e)):-1,c=a<0?A.length-1:a,h=A[c],l=a<0,D=!!h?.endSimpleRouteJson,d=h?.startSimpleRouteJson??h?.errorSimpleRouteJson,y=!!d,w=o==="output"&&!D?"input":o==="input"&&!y?"output":o,u=w==="input"?d:h?.endSimpleRouteJson,G=gA.useMemo(()=>!h||!u?null:gGo(g??[],h,w),[g,h,u,w]),m=gA.useMemo(()=>h&&w==="output"&&C?Xuo(h):{lines:[],circles:[]},[h,w,C]);if(gA.useLayoutEffect(()=>{const N=n.current;if(!N)return;const U=()=>r(Math.max(360,N.clientHeight));U();const L=new ResizeObserver(U);return L.observe(N),()=>L.disconnect()},[!!h]),!h)return W.jsxs("div",{className:"rf-flex rf-min-h-[400px] rf-flex-col rf-items-center rf-justify-center rf-gap-3 rf-p-8 rf-text-center",children:[W.jsx(uNI,{className:"rf-h-7 rf-w-7 rf-text-blue-500"}),W.jsx("h3",{className:"rf-text-base rf-font-medium",children:I?"Waiting for autorouting":"No autorouting captures"}),W.jsx("p",{className:"rf-max-w-md rf-text-sm rf-text-gray-500",children:I?"Phases appear as the circuit routes. Each capture includes its input and output on the PCB.":"Run a circuit with autorouting enabled to inspect its phases. A circuit JSON file alone does not include routing history."})]});const p=mBg(h,c),k=h.status==="running"&&I,S=!D,R=d?.connections.length,x=G?.filter(N=>N.type==="pcb_trace").length??0;return W.jsxs("div",{className:"rf-flex rf-h-full rf-min-h-[620px] rf-flex-col rf-bg-white md:rf-flex-row","data-testid":"autorouting-explorer",children:[W.jsxs("aside",{className:"rf-flex rf-shrink-0 rf-flex-col rf-border-b rf-border-gray-200 md:rf-w-52 md:rf-border-b-0 md:rf-border-r","aria-label":"Routing phases",children:[W.jsxs("div",{className:"rf-flex rf-items-center rf-justify-between rf-px-3 rf-py-2 rf-text-xs rf-text-gray-500",children:[W.jsx("span",{children:"Routing phases"}),W.jsx("span",{children:A.length})]}),W.jsx("div",{className:"rf-flex rf-gap-1 rf-overflow-x-auto rf-px-1.5 rf-pb-1.5 md:rf-flex-col md:rf-overflow-x-hidden md:rf-overflow-y-auto",children:A.map((N,U)=>{const L=YUI(N).length,_=N.endSimpleRouteJson?`${L} ${L===1?"trace":"traces"} routed`:N.status==="error"?"Failed":N.status==="running"&&I?"Routing…":"No output";return W.jsxs("button",{type:"button","aria-pressed":U===c,title:`${bUI(N)} · ${_}`,onClick:()=>t(N),className:rB("rf-flex rf-min-w-[192px] rf-items-start rf-gap-2 rf-rounded-md rf-border rf-px-2 rf-py-2 rf-text-left md:rf-min-w-0",U===c?"rf-border-blue-200 rf-bg-blue-50":"rf-border-transparent hover:rf-bg-gray-50"),children:[W.jsx("span",{className:rB("rf-flex rf-h-5 rf-w-5 rf-shrink-0 rf-items-center rf-justify-center rf-rounded-full rf-text-[11px]",U===c?"rf-bg-blue-600 rf-text-white":"rf-bg-gray-100 rf-text-gray-500"),children:U+1}),W.jsxs("span",{className:"rf-min-w-0 rf-flex-1",children:[W.jsxs("span",{className:"rf-flex rf-items-center rf-gap-1",children:[W.jsx("span",{className:"rf-min-w-0 rf-flex-1 rf-truncate rf-text-xs rf-font-medium rf-leading-5 rf-text-gray-800",title:mBg(N,U),children:mBg(N,U)}),N.status==="complete"?W.jsx(TZ,{"aria-label":"Captured",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-green-600"}):N.status==="error"?W.jsx(Ntg,{"aria-label":"Failed",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-red-500"}):I?W.jsx(Bf,{"aria-label":"Routing",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-animate-spin rf-text-blue-500"}):null]}),W.jsxs("span",{className:"rf-block rf-text-[11px] rf-leading-4 rf-text-gray-500",children:[Vuo(N)," · ",_]})]})]},N.id)})})]}),W.jsxs("div",{className:"rf-flex rf-min-w-0 rf-flex-1 rf-flex-col",children:[W.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-gap-3 rf-border-b rf-border-gray-200 rf-px-4 rf-py-3",children:[W.jsxs("h3",{className:"rf-mr-auto rf-flex rf-items-center rf-gap-2 rf-text-sm rf-font-medium",children:[p,W.jsxs("span",{className:"rf-text-xs rf-font-normal rf-text-gray-500",children:[c+1," of ",A.length]})]}),I&&W.jsx("button",{type:"button",onClick:()=>t(null),disabled:l,className:"rf-text-xs rf-text-blue-600 disabled:rf-text-gray-500",children:l?"Following latest":"Follow latest"}),W.jsx("div",{className:"rf-flex rf-rounded-md rf-bg-gray-100 rf-p-1","aria-label":"Phase snapshot",children:["input","output"].map(N=>W.jsx("button",{type:"button","aria-pressed":w===N,disabled:N==="input"?!y:!D,onClick:()=>B(N),className:rB("rf-rounded rf-px-3 rf-py-1 rf-text-xs disabled:rf-opacity-40",w===N?"rf-bg-white rf-text-gray-900 rf-shadow-sm":"rf-text-gray-500"),children:N==="input"?"Input":"Output"},N))})]}),W.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-px-4 rf-py-2 rf-text-xs rf-text-gray-600",children:[W.jsxs("label",{className:"rf-flex rf-items-center rf-gap-2",children:[W.jsx("input",{type:"checkbox",checked:C,disabled:w!=="output",onChange:N=>Q(N.target.checked),className:"rf-accent-blue-600"}),W.jsx("span",{"aria-hidden":"true",className:"rf-inline-block rf-h-0.5 rf-w-3",style:{backgroundColor:GBg}}),"Highlight changes (all layers)"]}),W.jsxs("span",{children:[w==="input"?"Before this phase":"After this phase"," ","· ",x," traces"]})]}),S&&W.jsx("div",{className:rB("rf-border-y rf-px-4 rf-py-2 rf-text-xs",h.status==="error"?"rf-border-red-100 rf-bg-red-50 rf-text-red-700":"rf-border-blue-100 rf-bg-blue-50 rf-text-blue-700"),role:"status",children:h.status==="error"?`Routing failed: ${h.error?.message||"No output was captured."}`:k?"Routing in progress. Showing captured input until output is available.":"No output was captured for this phase. Showing the available input."}),W.jsx("div",{ref:n,className:"rf-relative rf-min-h-[360px] rf-flex-1","data-testid":"autorouting-pcb",children:G?W.jsx(Stg,{circuitJson:G,height:s,allowEditing:!1,clickToInteractEnabled:!1,initialState:IGo,debugGraphics:m}):W.jsx("div",{className:"rf-p-6 rf-text-sm rf-text-gray-500",children:"No PCB snapshot available for this capture."})}),W.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-border-t rf-border-gray-200 rf-px-4 rf-py-3 rf-text-xs rf-text-gray-500",children:[W.jsxs("span",{children:[R===void 0?"Input unavailable":`${R} input connections`,` · ${bUI(h)}`]}),W.jsxs("div",{className:"rf-flex rf-items-center rf-gap-4",children:[W.jsxs("button",{type:"button",disabled:!u,onClick:()=>Fk(JSON.stringify(u,null,2),{fileName:`${h.id}-${w}.srj.json`,mimeType:"application/json"}),className:"rf-flex rf-items-center rf-gap-1 disabled:rf-opacity-40",children:[W.jsx(ItA,{className:"rf-h-3 rf-w-3"}),"Download SRJ"]}),W.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>E(!i),className:"rf-flex rf-items-center rf-gap-1",children:[W.jsx(ZZ,{className:rB("rf-h-3 rf-w-3",i&&"rf-rotate-90")}),"Inspect SRJ"]})]})]}),i&&W.jsx("pre",{className:"rf-m-0 rf-max-h-64 rf-overflow-auto rf-border-t rf-border-gray-200 rf-bg-gray-50 rf-p-4 rf-text-xs","aria-label":`${p} ${w} SRJ`,children:u?JSON.stringify(u,null,2):"No snapshot captured."})]})]})},vUI=({errorMessage:g,errorStack:A,circuitJsonErrors:I})=>{gA.useEffect(()=>{if(VF("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&g){const e=new Error(g);A&&(e.stack=A);try{AH.captureException(e)}catch{}}},[g,A]),gA.useEffect(()=>{if(VF("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&I&&I.length>0)for(const e of I){const t=new Error(e.message||"Circuit JSON Error");e.stack&&(t.stack=e.stack);try{AH.captureException(t,{error_type:e.type})}catch{}}},[I])},tGo=g=>{gA.useEffect(()=>{try{C$I(g)}catch{}},[g.source,g.component,g.isWebEmbedded,g.activeTab])},qUI="0.0.3059",oGo={version:qUI},pBg={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},kBg=new Map,nmA=g=>{const A=kBg.get(g);return A?Object.fromEntries(Object.entries(A.stores).map(([I,e])=>[I,e.getState()])):{}},BGo=(g,A,I)=>{if(g===void 0)return{type:"untracked",connection:A.connect(I)};const e=kBg.get(I.name);if(e)return{type:"tracked",store:g,...e};const t={connection:A.connect(I),stores:{}};return kBg.set(I.name,t),{type:"tracked",store:g,...t}},TUI=(g,A={})=>(I,e,t)=>{const{enabled:o,anonymousActionType:B,store:C,...Q}=A;let i;try{i=(o??(pBg?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!i)return(pBg?"production":void 0)!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),g(I,e,t);const{connection:E,...n}=BGo(C,i,Q);let s=!0;t.setState=(c,h,l)=>{const D=I(c,h);if(!s)return D;const d=l===void 0?{type:B||"anonymous"}:typeof l=="string"?{type:l}:l;return C===void 0?(E?.send(d,e()),D):(E?.send({...d,type:`${C}/${d.type}`},{...nmA(Q.name),[C]:t.getState()}),D)};const r=(...c)=>{const h=s;s=!1,I(...c),s=h},a=g(t.setState,e,t);if(n.type==="untracked"?E?.init(a):(n.stores[n.store]=t,E?.init(Object.fromEntries(Object.entries(n.stores).map(([c,h])=>[c,c===n.store?a:h.getState()])))),t.dispatchFromDevtools&&typeof t.dispatch=="function"){let c=!1;const h=t.dispatch;t.dispatch=(...l)=>{(pBg?"production":void 0)!=="production"&&l[0].type==="__setState"&&!c&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),c=!0),h(...l)}}return E.subscribe(c=>{var h;switch(c.type){case"ACTION":if(typeof c.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return MBg(c.payload,l=>{if(l.type==="__setState"){if(C===void 0){r(l.state);return}Object.keys(l.state).length!==1&&console.error(`
|
|
5667
5667
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
5668
5668
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
5669
5669
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|