From 9c87f1dfa8155ab73be8feff8c7e898327ab9f96 Mon Sep 17 00:00:00 2001 From: KabirSamsi Date: Mon, 15 Jul 2024 20:33:27 +0000 Subject: [PATCH] deploy: 9135b6faf72c05cf6e2802e63559a252b191dc61 --- ..._6dbZY.wasm => calyx_web_bg-CZAfd4Du.wasm} | Bin 2505910 -> 2505875 bytes .../{index-CG1Zb5YJ.js => index-oG5vFkvV.js} | 8 ++++---- index.html | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename assets/{calyx_web_bg-B7_6dbZY.wasm => calyx_web_bg-CZAfd4Du.wasm} (98%) rename assets/{index-CG1Zb5YJ.js => index-oG5vFkvV.js} (95%) diff --git a/assets/calyx_web_bg-B7_6dbZY.wasm b/assets/calyx_web_bg-CZAfd4Du.wasm similarity index 98% rename from assets/calyx_web_bg-B7_6dbZY.wasm rename to assets/calyx_web_bg-CZAfd4Du.wasm index 7027194b275399067523552dab4214022db78ca2..36f3076ed4a387f431087c665e63c10cb2ecc4fd 100644 GIT binary patch delta 6225 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

Mnb)BWM^#DX1J2F7hrgRBRJE zAgf3{@+jH?5Vb{-C!I)r+(@qf7B+Oo(YkkFvd4FT5;o?K-?$;b=z^n4aSWjpqfzJ*b3QT;9g(} z@Hgmx2Ko!p{t`ONfm0z{0R9rt@4^2I`cHumLVq*xCg{upt%rOUuo^loz%js%efaM} zP#frWC=1|WCZLvz>b`IlBdADyqKHxys$Mm>Rlwo{1a1FyCh^vOI(&ew=h4x|KZ!dSnmhM!5J6AHle56cbjDV4oFVjWu!ptkLadepXzTkfqv&NW=OYsZcb3O|f=n`n%`~7w(f^& z2eP)}mf96&qOAbKK{$IXjkV$IocbSItg2g%DHfLvKZmhI_uC^HS#>eo^b^L)ip!f* zTwt!zo=N_;cCT)s-WOVya5k|h$CPmky(7E-Jfa@r6=N|d)xEsASX?uH9;1Q7`Uj>b zG}_heE^|h7Z)>S4o5e^dN}wu=(E-xpqyr7B zUtmH-ow6yLY%45Acx=cc6rO-=y1HX&SI1HY;<{t0`QQ?^U03v)`Y_wxwe3AiZ+kCr z#ACnFFIl!?7wo~@<$Ur#|MP-yKX1yh9no4=X;*&V&nk6rLwKf)bVO}y5Pp1+@E9$n zg6wcf6I7^&Vs?YxZ`%t^zQ@q#M(lfdfO^uUo)*`>j8o6=W9T8~#H3y6GZ&ZJp&8D` z2A=A)udFfTuWXgjkvetGO}4Ao&a*%8>k4!Fxh}Xq$5DYn@O&~{vkI<3-H4gqe4c$> zAkkcaIDnY>atrda=iB#K84L;aY4&UQZA-pt=&A)auVeeQcauGeXOO?XIX&V`te8g9 z#Lar)Eq1fbn$?}R+vV}*c9%n;--nQX=63tz9D6`t@s{1iQIx!8bohd> zfx>$AvdH;u2%xPaL;ao9mx(lG!onCt($57$_30VwBb6qzbjRb7n3XIit90~*OGn=x zqibbPM6c`-+`&d!^@4bD2CLR*RXQ&+7S=t8~HG@Sbp*Rd|Vwv#u_08!>EtF6QxiK00R+H0Oc@^|=5+ zEu7)RjBDjf!CC6jPn~iW=zc1ZSG_QKE^0r9okgjV^&QcW5%+&QUfO$frpKt)1c#W= zM)TX2978=^9%P7;?^E86{~E*kJq{uyY-?}ArN>;{Io zV8FGkYVCeR_*%S8JzgG{S*QW`;BVi7fxaz)f7(P?^nSkKwiUJ zx_MEj->n*X1B;Z)X}xOS7fv>3kv0}A2hR6QR9Pw4yurL|tQnUqXQ~kgogoeWb>b%k z!H<5E2SlH)47ZdGMBnX><T(Ev`jsAiydQ*diEB(UL88<#HRL@ zzzMDV1~}xgR(>s^g<>K^87?P8%^m5hxr2mMHIj9-@^NSc)$~Ko5EfKFIpoxSd(OXR z%GA!AqcP^*61NAa>7Pau>hK{aGY!>hdD!q+rh{^Vy?QD~s>*Q5{`a{ASC*4Y;eMCY zyf2-)u!+!7xmoI0Upf`cQft0+2Blz9Ud!h}f&KD@Qz2;p)tiXl;ZKY@ z`&Q;$&+-EQRJ3K@w~dv|L`_e`zay9JI4`~@mj-fq+hM12P=A`?7^T?{2m)_7G4;w3 zXMl^~P>hfR!-=Zs)?7|?txeT1TeTi><|E#B9&s8_z|S9XDghrJaq6nS*QSM9L8cnN za)v{9&R5R-a4^0uf}4|1Rx7S4�!gsid0RmA2KgLnxK9ubpPhG39G#T$R~oc<{uT zz%l^jZeS^Q<$#dB?Q7?7z4*T>9_!?EbMIGARm6tT#ciwAy{Vw`4mc_O@enu95;!Qr zsPx4+Hyt`wp4MK2+sgxQ8||*47EE(#(ckhw6Fe5`;EmA+jU(dSS?p+i_lMC1ygW`hq6=A+UUro*q8`qr zGHT0~M2*^;OV#Tiej1&?^mBiWjzPIFZotO-*A6?+@)4C-kW}0^#5iP zbM9cT=%XJ`Y-IdRLx1%|VjN?61)Q#~eloF=_ZT|Xlep4kyY;HgiKQ$NETC#ir5dJE zZBh&8l%1^?J(JjpaCDupC81B)l1yc3%Y2vO%kL*U8EeurKTQ7TLbgxuJ*{jZOGN)g znQK^moUy2a-VA;DnPsQ9;Q6!t-^*rv9@y<~x|v%NIepwUbJ%dCcP0%Dz)VpH%aweL?&vDq3u z?IHBj#v1)d>c1@(P?%?_8qt+b>Lq_j@lksGC#gx%;N}DuNUFNx@2N)B@jYx2RbvcV{`L;?IRCFUt@AlXTnyjdw$fp;$ zOz7dw=~Rv}HTR740`*_F#nO7~th5)jUZ#t2+st%z>CAeXG`T49;v`Yd@>#$LG{u_6$84S8dC|%=%>b1 zUE0Kk>v88-{f&<=d2GpA`VPiZmY)56ESEKX9DVMf+s50Djyinu%R&0Q3#*2P>Y>s| z5>6^UXUajeB6xO=RWz{RZiq@7b$uj*P*nZn2omW;>?R$aUu6xeR9%Yt}Pya*6|Inb1lYEGt z@;q_%kXJ_DVm}lf%^nJ{JzDB4HeYxPAv z*$)q}pz(ChI~$E$JSiQIxBL_`Js?afU^bM2A(D4 zD8QLQ?xf}!Lhd4*Bjizl(}jGCnx_dl5^$=Jo2hwo5%LupA%)BUCJSi;CJ7k;94$~3z==X;0Y`NTIRH38$T5I6Az!54 z@dD3s=8O~41dJ7O5};McAYhD;X~1ZKDgcfWax9=l$UjkYq>!%>HVYX8GzmE#Fha-( zV7QPjV3?4@0F6SH=Q^1)RLC7Pq(MjvP%q?Yzz`wF0R{{CN9wE-G6|>^axkDq$Y)5J z7xHbw97+p-3VWKG)dCwHm=!29V3m-&2{S?_0F^>MMa@A%4(tS02ssEaP)L%dg?yH9 zfRG~qDIwbc$u`G83wUnWcl`8;7<$SOcg$TC1w$cX?~NSw!xBV-sLglq;x zg!BMmAwz(%A%Q>4fC&ou2B9tF5I{i4YJeqV9l#WFD1Zy;0GN=CYWjqlERK5m!ZY!4 zqgPI-xnO5!z%UF8lmrnkKoL+FMDif03>4}^w~r@1(xEXVOMqxxKbhc(91z(deH#=5 zk(}C)cYZSwDUrb_h$bb6`X?bdIY2}_QU65!3!pJH0ofr+gGit35Rxr&vfnY%w=lmi zBqJo~H`?zlIYR@ek7WI;Cqon!ny`OWq}%Uk|EkGe97N-(uYVrmeI3kioE?lC!j2oC zfMTFkpjQKNV=HJN_+IpH0nGqE6SBHc+&C5dmsZ@E2)q%p(dgd*{t@7E;1j?DkY~WR zgTEcRvw`kn2eb9^>)m?kjwV*n^H$C`wwf_K6Ks@IF diff --git a/assets/index-CG1Zb5YJ.js b/assets/index-oG5vFkvV.js similarity index 95% rename from assets/index-CG1Zb5YJ.js rename to assets/index-oG5vFkvV.js index 2e1ca4399d..fb66ddae78 100644 --- a/assets/index-CG1Zb5YJ.js +++ b/assets/index-oG5vFkvV.js @@ -1,4 +1,4 @@ -(async()=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))n(t);new MutationObserver(t=>{for(const s of t)if(s.type==="childList")for(const d of s.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function r(t){const s={};return t.integrity&&(s.integrity=t.integrity),t.referrerPolicy&&(s.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?s.credentials="include":t.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(t){if(t.ep)return;t.ep=!0;const s=r(t);fetch(t.href,s)}})();const Me=""+new URL("calyx_web_bg-B7_6dbZY.wasm",import.meta.url).href,ze=async(e={},r)=>{let n;if(r.startsWith("data:")){const t=r.replace(/^data:.*?base64,/,"");let s;if(typeof Buffer=="function"&&typeof Buffer.from=="function")s=Buffer.from(t,"base64");else if(typeof atob=="function"){const d=atob(t);s=new Uint8Array(d.length);for(let l=0;l"u"?(0,module.require)("util").TextEncoder:TextEncoder;let G=new Ne("utf-8");const Oe=typeof G.encodeInto=="function"?function(e,r){return G.encodeInto(e,r)}:function(e,r){const n=G.encode(e);return r.set(n),{read:e.length,written:n.length}};function J(e,r,n){if(n===void 0){const a=G.encode(e),c=r(a.length);return U().subarray(c,c+a.length).set(a),z=a.length,c}let t=e.length,s=r(t);const d=U();let l=0;for(;l127)break;d[s+l]=a}if(l!==t){l!==0&&(e=e.slice(l)),s=n(s,t,t=l+e.length*3);const a=U().subarray(s+l,s+t),c=Oe(e,a);l+=c.written}return z=l,s}let Y=null;function N(){return(Y===null||Y.buffer!==V.buffer)&&(Y=new Int32Array(V.buffer)),Y}let q=C.length;function Ie(e){e<36||(C[e]=q,q=e)}function qe(e){const r=ie(e);return Ie(e),r}let K=32;function He(e){if(K==1)throw new Error("out of js stack");return C[--K]=e,K}const Be=typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder;let he=new Be("utf-8",{ignoreBOM:!0,fatal:!0});he.decode();function ve(e,r){return he.decode(U().subarray(e,e+r))}function Re(e,r,n){try{const d=ye(-16),l=J(r,X,Q),a=z,c=J(n,X,Q),v=z;Ye(d,He(e),l,a,c,v);var t=N()[d/4+0],s=N()[d/4+1];return ve(t,s)}finally{ye(16),C[K++]=void 0,be(t,s)}}function De(e){q===C.length&&C.push(C.length+1);const r=q;return q=C[r],C[r]=e,r}function We(e,r){const n=ie(r),t=JSON.stringify(n===void 0?null:n),s=J(t,X,Q),d=z;N()[e/4+1]=d,N()[e/4+0]=s}function Ze(){const e=new Error;return De(e)}function Ue(e,r){const n=ie(r).stack,t=J(n,X,Q),s=z;N()[e/4+1]=s,N()[e/4+0]=t}function Ge(e,r){try{console.error(ve(e,r))}finally{be(e,r)}}function Je(e){qe(e)}URL=globalThis.URL;const O=await ze({"./calyx_web_bg.js":{__wbindgen_json_serialize:We,__wbg_new_693216e109162396:Ze,__wbg_stack_0ddaca5d1abfb52f:Ue,__wbg_error_09919627ac0992f5:Ge,__wbindgen_object_drop_ref:Je}},Me),V=O.memory,Ye=O.run,X=O.__wbindgen_malloc,Q=O.__wbindgen_realloc,ye=O.__wbindgen_add_to_stack_pointer,be=O.__wbindgen_free,Ke="https://raw.githubusercontent.com/calyxir/calyx/",Ve=[{name:"Sequence",file:"tests/correctness/seq.futil",root:"/",passes:["tdcc"]},{name:"Conditional",file:"tests/correctness/if.futil",root:"/",passes:["simplify-with-control","tdcc"]},{name:"Loops",file:"tests/correctness/while.futil",root:"/",passes:["simplify-with-control","tdcc"]},{name:"Invoke (call)",file:"tests/passes/compile-invoke/compile-invoke.futil",root:"/",passes:["compile-invoke"]},{name:"Parallel",file:"tests/correctness/par.futil",root:"/",passes:["tdcc"]},{name:"Externalize",file:"tests/passes/externalize.futil",root:"/",passes:["externalize"]},{name:"Minimize Regs Simple",file:"tests/passes/cell-share/simple-liveness.futil",root:"/",passes:["dead-cell-removal"]},{name:"Minimize Regs (Nested Par)",file:"tests/passes/cell-share/nested-par.futil",root:"/",passes:["dead-cell-removal"]}],H={url_prefix:Ke,examples:Ve},Xe=[{name:"well-formed",title:"Well Formed",description:"well-formed"},{name:"papercut",title:"Papercut",description:"papercut"},{name:"externalize",title:"Externalize Memories",description:"externalize"},{name:"compile-invoke",title:"Compile Invoke",description:"compile-invoke"},{name:"collapse-control",title:"Collapse Control",description:"collapse-control"},{name:"simplify-with-control",title:"Remove combinational groups",description:"tdcc"},{name:"tdcc",title:"Top Down Compile Control",description:"tdcc"},{name:"dead-cell-removal",title:"Dead Cell Removal",description:"dead-cell-removal"},{name:"dead-group-removal",title:"Dead Group Removal",description:"dead-group-removal"},{name:"go-insertion",title:"Go Insertion",description:"go-insertion"},{name:"hole-inliner",title:"Hole Inliner",description:"hole-inliner"},{name:"clk-insertion",title:"Clk Insertion",description:"clk-insertion"}],se={passes:Xe},Qe="907bcd1dc8c8edfa8862dc8cdd702b44e3134691",le={version:Qe};function L(){}L.prototype={diff:function(e,r){var n,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=t.callback;typeof t=="function"&&(s=t,t={}),this.options=t;var d=this;function l(o){return s?(setTimeout(function(){s(void 0,o)},0),!0):o}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,c=e.length,v=1,y=a+c;t.maxEditLength&&(y=Math.min(y,t.maxEditLength));var h=(n=t.timeout)!==null&&n!==void 0?n:1/0,k=Date.now()+h,E=[{oldPos:-1,lastComponent:void 0}],_=this.extractCommon(E[0],r,e,0);if(E[0].oldPos+1>=c&&_+1>=a)return l([{value:this.join(r),count:r.length}]);var x=-1/0,w=1/0;function F(){for(var o=Math.max(x,-v);o<=Math.min(w,v);o+=2){var u=void 0,p=E[o-1],g=E[o+1];p&&(E[o-1]=void 0);var f=!1;if(g){var b=g.oldPos-o;f=g&&0<=b&&b=c&&_+1>=a)return l(et(d,u.lastComponent,r,e,d.useLongestToken));E[o]=u,u.oldPos+1>=c&&(w=Math.min(w,o-1)),_+1>=a&&(x=Math.max(x,o+1))}v++}if(s)(function o(){setTimeout(function(){if(v>y||Date.now()>k)return s();F()||o()},0)})();else for(;v<=y&&Date.now()<=k;){var i=F();if(i)return i}},addToPath:function(e,r,n,t){var s=e.lastComponent;return s&&s.added===r&&s.removed===n?{oldPos:e.oldPos+t,lastComponent:{count:s.count+1,added:r,removed:n,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+t,lastComponent:{count:1,added:r,removed:n,previousComponent:s}}},extractCommon:function(e,r,n,t){for(var s=r.length,d=n.length,l=e.oldPos,a=l-t,c=0;a+1x.length?F:x}),h.value=e.join(E)}else h.value=e.join(n.slice(v,v+h.count));v+=h.count,h.added||(y+=h.count)}}var _=d[c-1];return c>1&&typeof _.value=="string"&&(_.added||_.removed)&&e.equals("",_.value)&&(d[c-2].value+=_.value,d.pop()),d}var we=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,xe=/\S/,ke=new L;ke.equals=function(e,r){return this.options.ignoreCase&&(e=e.toLowerCase(),r=r.toLowerCase()),e===r||this.options.ignoreWhitespace&&!xe.test(e)&&!xe.test(r)},ke.tokenize=function(e){for(var r=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n"u"?n:l}:t;return typeof e=="string"?e:JSON.stringify(ue(e,null,null,s),s," ")},B.equals=function(e,r){return L.prototype.equals.call(B,e.replace(/,([\r\n])/g,"$1"),r.replace(/,([\r\n])/g,"$1"))};function ue(e,r,n,t,s){r=r||[],n=n||[],t&&(e=t(s,e));var d;for(d=0;d"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(p){var i=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(p.stack)||[])[1];if(i){var o=document.getElementsByTagName("script");for(var u in o)if(o[u].src==i)return o[u]}return null}},isActive:function(i,o,u){for(var p="no-"+o;i;){var g=i.classList;if(g.contains(o))return!0;if(g.contains(p))return!1;i=i.parentElement}return!!u}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(i,o){var u=a.util.clone(a.languages[i]);for(var p in o)u[p]=o[p];return u},insertBefore:function(i,o,u,p){p=p||a.languages;var g=p[i],f={};for(var b in g)if(g.hasOwnProperty(b)){if(b==o)for(var m in u)u.hasOwnProperty(m)&&(f[m]=u[m]);u.hasOwnProperty(b)||(f[b]=g[b])}var A=p[i];return p[i]=f,a.languages.DFS(a.languages,function(S,j){j===A&&S!=i&&(this[S]=f)}),f},DFS:function i(o,u,p,g){g=g||{};var f=a.util.objId;for(var b in o)if(o.hasOwnProperty(b)){u.call(o,b,o[b],p||b);var m=o[b],A=a.util.type(m);A==="Object"&&!g[f(m)]?(g[f(m)]=!0,i(m,u,null,g)):A==="Array"&&!g[f(m)]&&(g[f(m)]=!0,i(m,u,b,g))}}},plugins:{},highlightAll:function(i,o){a.highlightAllUnder(document,i,o)},highlightAllUnder:function(i,o,u){var p={callback:u,container:i,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",p),p.elements=Array.prototype.slice.apply(p.container.querySelectorAll(p.selector)),a.hooks.run("before-all-elements-highlight",p);for(var g=0,f;f=p.elements[g++];)a.highlightElement(f,o===!0,p.callback)},highlightElement:function(i,o,u){var p=a.util.getLanguage(i),g=a.languages[p];a.util.setLanguage(i,p);var f=i.parentElement;f&&f.nodeName.toLowerCase()==="pre"&&a.util.setLanguage(f,p);var b=i.textContent,m={element:i,language:p,grammar:g,code:b};function A(j){m.highlightedCode=j,a.hooks.run("before-insert",m),m.element.innerHTML=m.highlightedCode,a.hooks.run("after-highlight",m),a.hooks.run("complete",m),u&&u.call(m.element)}if(a.hooks.run("before-sanity-check",m),f=m.element.parentElement,f&&f.nodeName.toLowerCase()==="pre"&&!f.hasAttribute("tabindex")&&f.setAttribute("tabindex","0"),!m.code){a.hooks.run("complete",m),u&&u.call(m.element);return}if(a.hooks.run("before-highlight",m),!m.grammar){A(a.util.encode(m.code));return}if(o&&t.Worker){var S=new Worker(a.filename);S.onmessage=function(j){A(j.data)},S.postMessage(JSON.stringify({language:m.language,code:m.code,immediateClose:!0}))}else A(a.highlight(m.code,m.grammar,m.language))},highlight:function(i,o,u){var p={code:i,grammar:o,language:u};if(a.hooks.run("before-tokenize",p),!p.grammar)throw new Error('The language "'+p.language+'" has no grammar.');return p.tokens=a.tokenize(p.code,p.grammar),a.hooks.run("after-tokenize",p),c.stringify(a.util.encode(p.tokens),p.language)},tokenize:function(i,o){var u=o.rest;if(u){for(var p in u)o[p]=u[p];delete o.rest}var g=new h;return k(g,g.head,i),y(i,g,o,g.head,0),_(g)},hooks:{all:{},add:function(i,o){var u=a.hooks.all;u[i]=u[i]||[],u[i].push(o)},run:function(i,o){var u=a.hooks.all[i];if(!(!u||!u.length))for(var p=0,g;g=u[p++];)g(o)}},Token:c};t.Prism=a;function c(i,o,u,p){this.type=i,this.content=o,this.alias=u,this.length=(p||"").length|0}c.stringify=function i(o,u){if(typeof o=="string")return o;if(Array.isArray(o)){var p="";return o.forEach(function(A){p+=i(A,u)}),p}var g={type:o.type,content:i(o.content,u),tag:"span",classes:["token",o.type],attributes:{},language:u},f=o.alias;f&&(Array.isArray(f)?Array.prototype.push.apply(g.classes,f):g.classes.push(f)),a.hooks.run("wrap",g);var b="";for(var m in g.attributes)b+=" "+m+'="'+(g.attributes[m]||"").replace(/"/g,""")+'"';return"<"+g.tag+' class="'+g.classes.join(" ")+'"'+b+">"+g.content+""};function v(i,o,u,p){i.lastIndex=o;var g=i.exec(u);if(g&&p&&g[1]){var f=g[1].length;g.index+=f,g[0]=g[0].slice(f)}return g}function y(i,o,u,p,g,f){for(var b in u)if(!(!u.hasOwnProperty(b)||!u[b])){var m=u[b];m=Array.isArray(m)?m:[m];for(var A=0;A=f.reach);T+=$.value.length,$=$.next){var I=$.value;if(o.length>i.length)return;if(!(I instanceof c)){var ne=1,P;if(Te){if(P=v(Le,T,i,Pe),!P||P.index>=i.length)break;var re=P.index,mt=P.index+P[0].length,M=T;for(M+=$.value.length;re>=M;)$=$.next,M+=$.value.length;if(M-=$.value.length,T=M,$.value instanceof c)continue;for(var W=$;W!==o.tail&&(Mf.reach&&(f.reach=fe);var oe=$.prev;ge&&(oe=k(o,oe,ge),T+=ge.length),E(o,oe,ne);var ht=new c(b,j?a.tokenize(ae,j):ae,gt,ae);if($=k(o,oe,ht),je&&k(o,$,je),ne>1){var me={cause:b+","+A,reach:fe};y(i,o,u,$.prev,T,me),f&&me.reach>f.reach&&(f.reach=me.reach)}}}}}}function h(){var i={value:null,prev:null,next:null},o={value:null,prev:i,next:null};i.next=o,this.head=i,this.tail=o,this.length=0}function k(i,o,u){var p=o.next,g={value:u,prev:o,next:p};return o.next=g,p.prev=g,i.length++,g}function E(i,o,u){for(var p=o.next,g=0;g/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",function(t){t.type==="entity"&&(t.attributes.title=t.content.replace(/&/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(t,s){var d={};d["language-"+s]={pattern:/(^$)/i,lookbehind:!0,inside:n.languages[s]},d.cdata=/^$/i;var l={"included-cdata":{pattern://i,inside:d}};l["language-"+s]={pattern:/[\s\S]+/,inside:n.languages[s]};var a={};a[t]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:l},n.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(t,s){n.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[s,"language-"+s],inside:n.languages[s]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,function(t){var s=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+s.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+s.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+s.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+s.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:s,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var d=t.languages.markup;d&&(d.tag.addInlined("style","css"),d.tag.addAttribute("style","css"))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),n.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),n.languages.markup&&(n.languages.markup.tag.addInlined("script","javascript"),n.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),n.languages.js=n.languages.javascript,function(){if(typeof n>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var t="Loading\u2026",s=function(x,w){return"\u2716 Error "+x+" while fetching file: "+w},d="\u2716 Error: File does not exist or is empty",l={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",c="loading",v="loaded",y="failed",h="pre[data-src]:not(["+a+'="'+v+'"]):not(['+a+'="'+c+'"])';function k(x,w,F){var i=new XMLHttpRequest;i.open("GET",x,!0),i.onreadystatechange=function(){i.readyState==4&&(i.status<400&&i.responseText?w(i.responseText):i.status>=400?F(s(i.status,i.statusText)):F(d))},i.send(null)}function E(x){var w=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(x||"");if(w){var F=Number(w[1]),i=w[2],o=w[3];return i?o?[F,Number(o)]:[F,void 0]:[F,F]}}n.hooks.add("before-highlightall",function(x){x.selector+=", "+h}),n.hooks.add("before-sanity-check",function(x){var w=x.element;if(w.matches(h)){x.code="",w.setAttribute(a,c);var F=w.appendChild(document.createElement("CODE"));F.textContent=t;var i=w.getAttribute("data-src"),o=x.language;if(o==="none"){var u=(/\.(\w+)$/.exec(i)||[,"none"])[1];o=l[u]||u}n.util.setLanguage(F,o),n.util.setLanguage(w,o);var p=n.plugins.autoloader;p&&p.loadLanguages(o),k(i,function(g){w.setAttribute(a,v);var f=E(w.getAttribute("data-range"));if(f){var b=g.split(/\r\n?|\n/g),m=f[0],A=f[1]==null?b.length:f[1];m<0&&(m+=b.length),m=Math.max(0,Math.min(m-1,b.length)),A<0&&(A+=b.length),A=Math.max(0,Math.min(A,b.length)),g=b.slice(m,A).join(` -`),w.hasAttribute("data-start")||w.setAttribute("data-start",String(m+1))}F.textContent=g,n.highlightElement(F)},function(g){w.setAttribute(a,y),F.textContent=g})}}),n.plugins.fileHighlight={highlight:function(x){for(var w=(x||document).querySelectorAll(h),F=0,i;i=w[F++];)n.highlightElement(i)}};var _=!1;n.fileHighlight=function(){_||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),_=!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}}()})(Ee);var ot=Ee.exports;const R=at(ot);R.languages.futil={"diff-addition":{pattern:/^\+.*$/m},"diff-deletion":{pattern:/^-.*$/m},comment:R.languages.clike.comment,string:{pattern:/(["])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},namespace:{pattern:/\b(?:extern|component|primitive)\b/,lookbehind:!0},function:{pattern:/\b(?:cells|wires|control|group|comb)\b/,lookbehind:!0},keyword:{pattern:/\b(?:|seq|par|if|while|with|invoke)\b/,lookbehind:!0},number:[{pattern:/\b[0-9]+'b[0-1]+\b/},{pattern:/\b[0-9]+'d[0-9]+\b/},{pattern:/\b[0-9]+'x[0-9A-Fa-f]+\b/},{pattern:/\b[0-9]+'o[0-7]+\b/},{pattern:/\b(?:[0-9]+)(?!')\b/}]},function(){typeof Prism>"u"||typeof document>"u"||!document.createRange||(Prism.plugins.KeepMarkup=!0,Prism.hooks.add("before-highlight",function(e){if(!e.element.children.length||!Prism.util.isActive(e.element,"keep-markup",!0))return;var r=Prism.util.isActive(e.element,"drop-tokens",!1);function n(a){return!(r&&a.nodeName.toLowerCase()==="span"&&a.classList.contains("token"))}var t=0,s=[];function d(a){if(!n(a)){l(a);return}var c={element:a,posOpen:t};s.push(c),l(a),c.posClose=t}function l(a){for(var c=0,v=a.childNodes.length;ct.node.posOpen&&(t.nodeStart=l,t.nodeStartPos=t.node.posOpen-t.pos),t.nodeStart&&t.pos+l.data.length>=t.node.posClose&&(t.nodeEnd=l,t.nodeEndPos=t.node.posClose-t.pos),t.pos+=l.data.length);if(t.nodeStart&&t.nodeEnd){var a=document.createRange();return a.setStart(t.nodeStart,t.nodeStartPos),a.setEnd(t.nodeEnd,t.nodeEndPos),t.node.element.innerHTML="",t.node.element.appendChild(a.extractContents()),a.insertNode(t.node.element),a.detach(),!1}}return!0};e.keepMarkup.forEach(function(n){r(e.element,{node:n,pos:0})}),e.highlightedCode=e.element.innerHTML}}))}(),function(){if(typeof Prism>"u"||typeof document>"u")return;var e="line-numbers",r=/\n(?!$)/g,n=Prism.plugins.lineNumbers={getLine:function(l,a){if(!(l.tagName!=="PRE"||!l.classList.contains(e))){var c=l.querySelector(".line-numbers-rows");if(c){var v=parseInt(l.getAttribute("data-start"),10)||1,y=v+(c.children.length-1);ay&&(a=y);var h=a-v;return c.children[h]}}},resize:function(l){t([l])},assumeViewportIndependence:!0};function t(l){if(l=l.filter(function(c){var v=s(c),y=v["white-space"];return y==="pre-wrap"||y==="pre-line"}),l.length!=0){var a=l.map(function(c){var v=c.querySelector("code"),y=c.querySelector(".line-numbers-rows");if(!(!v||!y)){var h=c.querySelector(".line-numbers-sizer"),k=v.textContent.split(r);h||(h=document.createElement("span"),h.className="line-numbers-sizer",v.appendChild(h)),h.innerHTML="0",h.style.display="block";var E=h.getBoundingClientRect().height;return h.innerHTML="",{element:c,lines:k,lineHeights:[],oneLinerHeight:E,sizer:h}}}).filter(Boolean);a.forEach(function(c){var v=c.sizer,y=c.lines,h=c.lineHeights,k=c.oneLinerHeight;h[y.length-1]=void 0,y.forEach(function(E,_){if(E&&E.length>1){var x=v.appendChild(document.createElement("span"));x.style.display="block",x.textContent=E}else h[_]=k})}),a.forEach(function(c){for(var v=c.sizer,y=c.lineHeights,h=0,k=0;k");h=document.createElement("span"),h.setAttribute("aria-hidden","true"),h.className="line-numbers-rows",h.innerHTML=k,c.hasAttribute("data-start")&&(c.style.counterReset="linenumber "+(parseInt(c.getAttribute("data-start"),10)-1)),l.element.appendChild(h),t([c]),Prism.hooks.run("line-numbers",l)}}}),Prism.hooks.add("line-numbers",function(l){l.plugins=l.plugins||{},l.plugins.lineNumbers=!0})}();var de={},D={};H.url_prefix=H.url_prefix+le.version;function _e(e,r){e.active=r,r?e.button.classList.replace("off","on"):e.button.classList.replace("on","off")}function it(e){let r=document.createElement("button");return r.classList.add("toggle"),r.classList.add("off"),r.innerHTML=e.title,r.onclick=function(){_e(e,!e.active)},r}const st=document.getElementById("passes");for(let e of se.passes){let r=it(e);e.button=r,st.appendChild(r)}function lt(){return se.passes.filter(e=>e.active).map(e=>e.name)}function ut(e){if("passes"in e)for(let r of se.passes)_e(r,e.passes.includes(r.name))}document.getElementById("compile").onclick=function(){ct()};function ct(){let e=lt(),r=D.libraries.map(l=>l.code).join(` -`);var n=Re(e,r,D.code);const t=document.getElementById("diffEditor"),s=t.querySelector("#input"),d=t.querySelector("#output");d.innerHTML=n,R.highlightElement(s),R.highlightElement(d)}async function dt(e,r){if(e in de)return await de[e];{let n=`${H.url_prefix}${r}${e}`,t=await(await fetch(n)).text();if(/import/g.test(t)){let s=e.split("/").slice(0,-1).join("/"),d=Array.from(t.matchAll(/import "(.*)";/g)).map(c=>c[1]),l=await Se(d,`${r}/${s}/`),a=/import "(.*)";/g;t=t.replaceAll(a,"");for(let c of l)t+=c.code}return de[e]=t,t}}async function Se(e,r){let n=e.map(async function(t){let s=await dt(t,r);return{name:t,code:s}});return await Promise.all(n)}const $e=document.getElementById("input");$e.oninput=function(){D.code=$e.innerText};const te=document.getElementById("examples-select");for(let e of H.examples){let r=document.createElement("option");r.text=e.name,r.value=JSON.stringify(e),te.add(r)}async function pt(e,r){let n=`${H.url_prefix}${r}${e}`,t=await(await fetch(n)).text(),s=/import "(.*)";/g,d=Array.from(t.matchAll(s)).map(a=>a[1]),l=await Se(d,r);return t=t.replaceAll(s,""),{code:t.trim(),libraries:l}}te.onchange=function(){const e=document.getElementById("input"),r=document.getElementById("output");e.innerHTML="loading...",r.innerHTML="Compile `compile` to generate output.";let n=JSON.parse(te.value);pt(n.file,n.root).then(t=>D=t).then(()=>{e.innerHTML=D.code;const t=document.getElementById("diffEditor").querySelector("#input");R.highlightElement(t)}).then(()=>ut(n))},te.onchange();const Ce=document.getElementById("calyx-version"),pe=document.createElement("a");pe.appendChild(document.createTextNode(le.version.slice(0,8))),pe.href="https://github.com/calyxir/calyx/tree/"+le.version,Ce.appendChild(document.createTextNode("Built with Calyx version ")),Ce.appendChild(pe)})(); +(async()=>{(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))n(t);new MutationObserver(t=>{for(const s of t)if(s.type==="childList")for(const d of s.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function r(t){const s={};return t.integrity&&(s.integrity=t.integrity),t.referrerPolicy&&(s.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?s.credentials="include":t.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(t){if(t.ep)return;t.ep=!0;const s=r(t);fetch(t.href,s)}})();const Me=""+new URL("calyx_web_bg-CZAfd4Du.wasm",import.meta.url).href,ze=async(e={},r)=>{let n;if(r.startsWith("data:")){const t=r.replace(/^data:.*?base64,/,"");let s;if(typeof Buffer=="function"&&typeof Buffer.from=="function")s=Buffer.from(t,"base64");else if(typeof atob=="function"){const d=atob(t);s=new Uint8Array(d.length);for(let l=0;l"u"?(0,module.require)("util").TextEncoder:TextEncoder;let G=new Ne("utf-8");const Oe=typeof G.encodeInto=="function"?function(e,r){return G.encodeInto(e,r)}:function(e,r){const n=G.encode(e);return r.set(n),{read:e.length,written:n.length}};function J(e,r,n){if(n===void 0){const a=G.encode(e),c=r(a.length);return U().subarray(c,c+a.length).set(a),z=a.length,c}let t=e.length,s=r(t);const d=U();let l=0;for(;l127)break;d[s+l]=a}if(l!==t){l!==0&&(e=e.slice(l)),s=n(s,t,t=l+e.length*3);const a=U().subarray(s+l,s+t),c=Oe(e,a);l+=c.written}return z=l,s}let K=null;function N(){return(K===null||K.buffer!==X.buffer)&&(K=new Int32Array(X.buffer)),K}let q=C.length;function Ie(e){e<36||(C[e]=q,q=e)}function qe(e){const r=ie(e);return Ie(e),r}let V=32;function He(e){if(V==1)throw new Error("out of js stack");return C[--V]=e,V}const Be=typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder;let he=new Be("utf-8",{ignoreBOM:!0,fatal:!0});he.decode();function ve(e,r){return he.decode(U().subarray(e,e+r))}function Re(e,r,n){try{const d=ye(-16),l=J(r,Y,Q),a=z,c=J(n,Y,Q),v=z;Ke(d,He(e),l,a,c,v);var t=N()[d/4+0],s=N()[d/4+1];return ve(t,s)}finally{ye(16),C[V++]=void 0,be(t,s)}}function We(e){q===C.length&&C.push(C.length+1);const r=q;return q=C[r],C[r]=e,r}function De(e,r){const n=ie(r),t=JSON.stringify(n===void 0?null:n),s=J(t,Y,Q),d=z;N()[e/4+1]=d,N()[e/4+0]=s}function Ze(){const e=new Error;return We(e)}function Ue(e,r){const n=ie(r).stack,t=J(n,Y,Q),s=z;N()[e/4+1]=s,N()[e/4+0]=t}function Ge(e,r){try{console.error(ve(e,r))}finally{be(e,r)}}function Je(e){qe(e)}URL=globalThis.URL;const O=await ze({"./calyx_web_bg.js":{__wbindgen_json_serialize:De,__wbg_new_693216e109162396:Ze,__wbg_stack_0ddaca5d1abfb52f:Ue,__wbg_error_09919627ac0992f5:Ge,__wbindgen_object_drop_ref:Je}},Me),X=O.memory,Ke=O.run,Y=O.__wbindgen_malloc,Q=O.__wbindgen_realloc,ye=O.__wbindgen_add_to_stack_pointer,be=O.__wbindgen_free,Ve="https://raw.githubusercontent.com/calyxir/calyx/",Xe=[{name:"Sequence",file:"tests/correctness/seq.futil",root:"/",passes:["tdcc"]},{name:"Conditional",file:"tests/correctness/if.futil",root:"/",passes:["simplify-with-control","tdcc"]},{name:"Loops",file:"tests/correctness/while.futil",root:"/",passes:["simplify-with-control","tdcc"]},{name:"Invoke (call)",file:"tests/passes/compile-invoke/compile-invoke.futil",root:"/",passes:["compile-invoke"]},{name:"Parallel",file:"tests/correctness/par.futil",root:"/",passes:["tdcc"]},{name:"Externalize",file:"tests/passes/externalize.futil",root:"/",passes:["externalize"]},{name:"Minimize Regs Simple",file:"tests/passes/cell-share/simple-liveness.futil",root:"/",passes:["dead-cell-removal"]},{name:"Minimize Regs (Nested Par)",file:"tests/passes/cell-share/nested-par.futil",root:"/",passes:["dead-cell-removal"]}],H={url_prefix:Ve,examples:Xe},Ye=[{name:"well-formed",title:"Well Formed",description:"well-formed"},{name:"papercut",title:"Papercut",description:"papercut"},{name:"externalize",title:"Externalize Memories",description:"externalize"},{name:"compile-invoke",title:"Compile Invoke",description:"compile-invoke"},{name:"collapse-control",title:"Collapse Control",description:"collapse-control"},{name:"simplify-with-control",title:"Remove combinational groups",description:"tdcc"},{name:"tdcc",title:"Top Down Compile Control",description:"tdcc"},{name:"dead-cell-removal",title:"Dead Cell Removal",description:"dead-cell-removal"},{name:"dead-group-removal",title:"Dead Group Removal",description:"dead-group-removal"},{name:"go-insertion",title:"Go Insertion",description:"go-insertion"},{name:"hole-inliner",title:"Hole Inliner",description:"hole-inliner"},{name:"clk-insertion",title:"Clk Insertion",description:"clk-insertion"}],se={passes:Ye},Qe="9135b6faf72c05cf6e2802e63559a252b191dc61",le={version:Qe};function L(){}L.prototype={diff:function(e,r){var n,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=t.callback;typeof t=="function"&&(s=t,t={}),this.options=t;var d=this;function l(o){return s?(setTimeout(function(){s(void 0,o)},0),!0):o}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,c=e.length,v=1,y=a+c;t.maxEditLength&&(y=Math.min(y,t.maxEditLength));var h=(n=t.timeout)!==null&&n!==void 0?n:1/0,k=Date.now()+h,E=[{oldPos:-1,lastComponent:void 0}],_=this.extractCommon(E[0],r,e,0);if(E[0].oldPos+1>=c&&_+1>=a)return l([{value:this.join(r),count:r.length}]);var x=-1/0,w=1/0;function F(){for(var o=Math.max(x,-v);o<=Math.min(w,v);o+=2){var u=void 0,p=E[o-1],g=E[o+1];p&&(E[o-1]=void 0);var f=!1;if(g){var b=g.oldPos-o;f=g&&0<=b&&b=c&&_+1>=a)return l(et(d,u.lastComponent,r,e,d.useLongestToken));E[o]=u,u.oldPos+1>=c&&(w=Math.min(w,o-1)),_+1>=a&&(x=Math.max(x,o+1))}v++}if(s)(function o(){setTimeout(function(){if(v>y||Date.now()>k)return s();F()||o()},0)})();else for(;v<=y&&Date.now()<=k;){var i=F();if(i)return i}},addToPath:function(e,r,n,t){var s=e.lastComponent;return s&&s.added===r&&s.removed===n?{oldPos:e.oldPos+t,lastComponent:{count:s.count+1,added:r,removed:n,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+t,lastComponent:{count:1,added:r,removed:n,previousComponent:s}}},extractCommon:function(e,r,n,t){for(var s=r.length,d=n.length,l=e.oldPos,a=l-t,c=0;a+1x.length?F:x}),h.value=e.join(E)}else h.value=e.join(n.slice(v,v+h.count));v+=h.count,h.added||(y+=h.count)}}var _=d[c-1];return c>1&&typeof _.value=="string"&&(_.added||_.removed)&&e.equals("",_.value)&&(d[c-2].value+=_.value,d.pop()),d}var we=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,xe=/\S/,ke=new L;ke.equals=function(e,r){return this.options.ignoreCase&&(e=e.toLowerCase(),r=r.toLowerCase()),e===r||this.options.ignoreWhitespace&&!xe.test(e)&&!xe.test(r)},ke.tokenize=function(e){for(var r=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n"u"?n:l}:t;return typeof e=="string"?e:JSON.stringify(ue(e,null,null,s),s," ")},B.equals=function(e,r){return L.prototype.equals.call(B,e.replace(/,([\r\n])/g,"$1"),r.replace(/,([\r\n])/g,"$1"))};function ue(e,r,n,t,s){r=r||[],n=n||[],t&&(e=t(s,e));var d;for(d=0;d"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(p){var i=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(p.stack)||[])[1];if(i){var o=document.getElementsByTagName("script");for(var u in o)if(o[u].src==i)return o[u]}return null}},isActive:function(i,o,u){for(var p="no-"+o;i;){var g=i.classList;if(g.contains(o))return!0;if(g.contains(p))return!1;i=i.parentElement}return!!u}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(i,o){var u=a.util.clone(a.languages[i]);for(var p in o)u[p]=o[p];return u},insertBefore:function(i,o,u,p){p=p||a.languages;var g=p[i],f={};for(var b in g)if(g.hasOwnProperty(b)){if(b==o)for(var m in u)u.hasOwnProperty(m)&&(f[m]=u[m]);u.hasOwnProperty(b)||(f[b]=g[b])}var A=p[i];return p[i]=f,a.languages.DFS(a.languages,function(S,j){j===A&&S!=i&&(this[S]=f)}),f},DFS:function i(o,u,p,g){g=g||{};var f=a.util.objId;for(var b in o)if(o.hasOwnProperty(b)){u.call(o,b,o[b],p||b);var m=o[b],A=a.util.type(m);A==="Object"&&!g[f(m)]?(g[f(m)]=!0,i(m,u,null,g)):A==="Array"&&!g[f(m)]&&(g[f(m)]=!0,i(m,u,b,g))}}},plugins:{},highlightAll:function(i,o){a.highlightAllUnder(document,i,o)},highlightAllUnder:function(i,o,u){var p={callback:u,container:i,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",p),p.elements=Array.prototype.slice.apply(p.container.querySelectorAll(p.selector)),a.hooks.run("before-all-elements-highlight",p);for(var g=0,f;f=p.elements[g++];)a.highlightElement(f,o===!0,p.callback)},highlightElement:function(i,o,u){var p=a.util.getLanguage(i),g=a.languages[p];a.util.setLanguage(i,p);var f=i.parentElement;f&&f.nodeName.toLowerCase()==="pre"&&a.util.setLanguage(f,p);var b=i.textContent,m={element:i,language:p,grammar:g,code:b};function A(j){m.highlightedCode=j,a.hooks.run("before-insert",m),m.element.innerHTML=m.highlightedCode,a.hooks.run("after-highlight",m),a.hooks.run("complete",m),u&&u.call(m.element)}if(a.hooks.run("before-sanity-check",m),f=m.element.parentElement,f&&f.nodeName.toLowerCase()==="pre"&&!f.hasAttribute("tabindex")&&f.setAttribute("tabindex","0"),!m.code){a.hooks.run("complete",m),u&&u.call(m.element);return}if(a.hooks.run("before-highlight",m),!m.grammar){A(a.util.encode(m.code));return}if(o&&t.Worker){var S=new Worker(a.filename);S.onmessage=function(j){A(j.data)},S.postMessage(JSON.stringify({language:m.language,code:m.code,immediateClose:!0}))}else A(a.highlight(m.code,m.grammar,m.language))},highlight:function(i,o,u){var p={code:i,grammar:o,language:u};if(a.hooks.run("before-tokenize",p),!p.grammar)throw new Error('The language "'+p.language+'" has no grammar.');return p.tokens=a.tokenize(p.code,p.grammar),a.hooks.run("after-tokenize",p),c.stringify(a.util.encode(p.tokens),p.language)},tokenize:function(i,o){var u=o.rest;if(u){for(var p in u)o[p]=u[p];delete o.rest}var g=new h;return k(g,g.head,i),y(i,g,o,g.head,0),_(g)},hooks:{all:{},add:function(i,o){var u=a.hooks.all;u[i]=u[i]||[],u[i].push(o)},run:function(i,o){var u=a.hooks.all[i];if(!(!u||!u.length))for(var p=0,g;g=u[p++];)g(o)}},Token:c};t.Prism=a;function c(i,o,u,p){this.type=i,this.content=o,this.alias=u,this.length=(p||"").length|0}c.stringify=function i(o,u){if(typeof o=="string")return o;if(Array.isArray(o)){var p="";return o.forEach(function(A){p+=i(A,u)}),p}var g={type:o.type,content:i(o.content,u),tag:"span",classes:["token",o.type],attributes:{},language:u},f=o.alias;f&&(Array.isArray(f)?Array.prototype.push.apply(g.classes,f):g.classes.push(f)),a.hooks.run("wrap",g);var b="";for(var m in g.attributes)b+=" "+m+'="'+(g.attributes[m]||"").replace(/"/g,""")+'"';return"<"+g.tag+' class="'+g.classes.join(" ")+'"'+b+">"+g.content+""};function v(i,o,u,p){i.lastIndex=o;var g=i.exec(u);if(g&&p&&g[1]){var f=g[1].length;g.index+=f,g[0]=g[0].slice(f)}return g}function y(i,o,u,p,g,f){for(var b in u)if(!(!u.hasOwnProperty(b)||!u[b])){var m=u[b];m=Array.isArray(m)?m:[m];for(var A=0;A=f.reach);T+=$.value.length,$=$.next){var I=$.value;if(o.length>i.length)return;if(!(I instanceof c)){var ne=1,P;if(Te){if(P=v(Le,T,i,Pe),!P||P.index>=i.length)break;var re=P.index,mt=P.index+P[0].length,M=T;for(M+=$.value.length;re>=M;)$=$.next,M+=$.value.length;if(M-=$.value.length,T=M,$.value instanceof c)continue;for(var D=$;D!==o.tail&&(Mf.reach&&(f.reach=fe);var oe=$.prev;ge&&(oe=k(o,oe,ge),T+=ge.length),E(o,oe,ne);var ht=new c(b,j?a.tokenize(ae,j):ae,gt,ae);if($=k(o,oe,ht),je&&k(o,$,je),ne>1){var me={cause:b+","+A,reach:fe};y(i,o,u,$.prev,T,me),f&&me.reach>f.reach&&(f.reach=me.reach)}}}}}}function h(){var i={value:null,prev:null,next:null},o={value:null,prev:i,next:null};i.next=o,this.head=i,this.tail=o,this.length=0}function k(i,o,u){var p=o.next,g={value:u,prev:o,next:p};return o.next=g,p.prev=g,i.length++,g}function E(i,o,u){for(var p=o.next,g=0;g/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",function(t){t.type==="entity"&&(t.attributes.title=t.content.replace(/&/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(t,s){var d={};d["language-"+s]={pattern:/(^$)/i,lookbehind:!0,inside:n.languages[s]},d.cdata=/^$/i;var l={"included-cdata":{pattern://i,inside:d}};l["language-"+s]={pattern:/[\s\S]+/,inside:n.languages[s]};var a={};a[t]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:l},n.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(t,s){n.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[s,"language-"+s],inside:n.languages[s]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,function(t){var s=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+s.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+s.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+s.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+s.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:s,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var d=t.languages.markup;d&&(d.tag.addInlined("style","css"),d.tag.addAttribute("style","css"))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),n.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),n.languages.markup&&(n.languages.markup.tag.addInlined("script","javascript"),n.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),n.languages.js=n.languages.javascript,function(){if(typeof n>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var t="Loading\u2026",s=function(x,w){return"\u2716 Error "+x+" while fetching file: "+w},d="\u2716 Error: File does not exist or is empty",l={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",c="loading",v="loaded",y="failed",h="pre[data-src]:not(["+a+'="'+v+'"]):not(['+a+'="'+c+'"])';function k(x,w,F){var i=new XMLHttpRequest;i.open("GET",x,!0),i.onreadystatechange=function(){i.readyState==4&&(i.status<400&&i.responseText?w(i.responseText):i.status>=400?F(s(i.status,i.statusText)):F(d))},i.send(null)}function E(x){var w=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(x||"");if(w){var F=Number(w[1]),i=w[2],o=w[3];return i?o?[F,Number(o)]:[F,void 0]:[F,F]}}n.hooks.add("before-highlightall",function(x){x.selector+=", "+h}),n.hooks.add("before-sanity-check",function(x){var w=x.element;if(w.matches(h)){x.code="",w.setAttribute(a,c);var F=w.appendChild(document.createElement("CODE"));F.textContent=t;var i=w.getAttribute("data-src"),o=x.language;if(o==="none"){var u=(/\.(\w+)$/.exec(i)||[,"none"])[1];o=l[u]||u}n.util.setLanguage(F,o),n.util.setLanguage(w,o);var p=n.plugins.autoloader;p&&p.loadLanguages(o),k(i,function(g){w.setAttribute(a,v);var f=E(w.getAttribute("data-range"));if(f){var b=g.split(/\r\n?|\n/g),m=f[0],A=f[1]==null?b.length:f[1];m<0&&(m+=b.length),m=Math.max(0,Math.min(m-1,b.length)),A<0&&(A+=b.length),A=Math.max(0,Math.min(A,b.length)),g=b.slice(m,A).join(` +`),w.hasAttribute("data-start")||w.setAttribute("data-start",String(m+1))}F.textContent=g,n.highlightElement(F)},function(g){w.setAttribute(a,y),F.textContent=g})}}),n.plugins.fileHighlight={highlight:function(x){for(var w=(x||document).querySelectorAll(h),F=0,i;i=w[F++];)n.highlightElement(i)}};var _=!1;n.fileHighlight=function(){_||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),_=!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}}()})(Ee);var ot=Ee.exports;const R=at(ot);R.languages.futil={"diff-addition":{pattern:/^\+.*$/m},"diff-deletion":{pattern:/^-.*$/m},comment:R.languages.clike.comment,string:{pattern:/(["])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},namespace:{pattern:/\b(?:extern|component|primitive)\b/,lookbehind:!0},function:{pattern:/\b(?:cells|wires|control|group|comb)\b/,lookbehind:!0},keyword:{pattern:/\b(?:|seq|par|if|while|with|invoke)\b/,lookbehind:!0},number:[{pattern:/\b[0-9]+'b[0-1]+\b/},{pattern:/\b[0-9]+'d[0-9]+\b/},{pattern:/\b[0-9]+'x[0-9A-Fa-f]+\b/},{pattern:/\b[0-9]+'o[0-7]+\b/},{pattern:/\b(?:[0-9]+)(?!')\b/}]},function(){typeof Prism>"u"||typeof document>"u"||!document.createRange||(Prism.plugins.KeepMarkup=!0,Prism.hooks.add("before-highlight",function(e){if(!e.element.children.length||!Prism.util.isActive(e.element,"keep-markup",!0))return;var r=Prism.util.isActive(e.element,"drop-tokens",!1);function n(a){return!(r&&a.nodeName.toLowerCase()==="span"&&a.classList.contains("token"))}var t=0,s=[];function d(a){if(!n(a)){l(a);return}var c={element:a,posOpen:t};s.push(c),l(a),c.posClose=t}function l(a){for(var c=0,v=a.childNodes.length;ct.node.posOpen&&(t.nodeStart=l,t.nodeStartPos=t.node.posOpen-t.pos),t.nodeStart&&t.pos+l.data.length>=t.node.posClose&&(t.nodeEnd=l,t.nodeEndPos=t.node.posClose-t.pos),t.pos+=l.data.length);if(t.nodeStart&&t.nodeEnd){var a=document.createRange();return a.setStart(t.nodeStart,t.nodeStartPos),a.setEnd(t.nodeEnd,t.nodeEndPos),t.node.element.innerHTML="",t.node.element.appendChild(a.extractContents()),a.insertNode(t.node.element),a.detach(),!1}}return!0};e.keepMarkup.forEach(function(n){r(e.element,{node:n,pos:0})}),e.highlightedCode=e.element.innerHTML}}))}(),function(){if(typeof Prism>"u"||typeof document>"u")return;var e="line-numbers",r=/\n(?!$)/g,n=Prism.plugins.lineNumbers={getLine:function(l,a){if(!(l.tagName!=="PRE"||!l.classList.contains(e))){var c=l.querySelector(".line-numbers-rows");if(c){var v=parseInt(l.getAttribute("data-start"),10)||1,y=v+(c.children.length-1);ay&&(a=y);var h=a-v;return c.children[h]}}},resize:function(l){t([l])},assumeViewportIndependence:!0};function t(l){if(l=l.filter(function(c){var v=s(c),y=v["white-space"];return y==="pre-wrap"||y==="pre-line"}),l.length!=0){var a=l.map(function(c){var v=c.querySelector("code"),y=c.querySelector(".line-numbers-rows");if(!(!v||!y)){var h=c.querySelector(".line-numbers-sizer"),k=v.textContent.split(r);h||(h=document.createElement("span"),h.className="line-numbers-sizer",v.appendChild(h)),h.innerHTML="0",h.style.display="block";var E=h.getBoundingClientRect().height;return h.innerHTML="",{element:c,lines:k,lineHeights:[],oneLinerHeight:E,sizer:h}}}).filter(Boolean);a.forEach(function(c){var v=c.sizer,y=c.lines,h=c.lineHeights,k=c.oneLinerHeight;h[y.length-1]=void 0,y.forEach(function(E,_){if(E&&E.length>1){var x=v.appendChild(document.createElement("span"));x.style.display="block",x.textContent=E}else h[_]=k})}),a.forEach(function(c){for(var v=c.sizer,y=c.lineHeights,h=0,k=0;k");h=document.createElement("span"),h.setAttribute("aria-hidden","true"),h.className="line-numbers-rows",h.innerHTML=k,c.hasAttribute("data-start")&&(c.style.counterReset="linenumber "+(parseInt(c.getAttribute("data-start"),10)-1)),l.element.appendChild(h),t([c]),Prism.hooks.run("line-numbers",l)}}}),Prism.hooks.add("line-numbers",function(l){l.plugins=l.plugins||{},l.plugins.lineNumbers=!0})}();var de={},W={};H.url_prefix=H.url_prefix+le.version;function _e(e,r){e.active=r,r?e.button.classList.replace("off","on"):e.button.classList.replace("on","off")}function it(e){let r=document.createElement("button");return r.classList.add("toggle"),r.classList.add("off"),r.innerHTML=e.title,r.onclick=function(){_e(e,!e.active)},r}const st=document.getElementById("passes");for(let e of se.passes){let r=it(e);e.button=r,st.appendChild(r)}function lt(){return se.passes.filter(e=>e.active).map(e=>e.name)}function ut(e){if("passes"in e)for(let r of se.passes)_e(r,e.passes.includes(r.name))}document.getElementById("compile").onclick=function(){ct()};function ct(){let e=lt(),r=W.libraries.map(l=>l.code).join(` +`);var n=Re(e,r,W.code);const t=document.getElementById("diffEditor"),s=t.querySelector("#input"),d=t.querySelector("#output");d.innerHTML=n,R.highlightElement(s),R.highlightElement(d)}async function dt(e,r){if(e in de)return await de[e];{let n=`${H.url_prefix}${r}${e}`,t=await(await fetch(n)).text();if(/import/g.test(t)){let s=e.split("/").slice(0,-1).join("/"),d=Array.from(t.matchAll(/import "(.*)";/g)).map(c=>c[1]),l=await Se(d,`${r}/${s}/`),a=/import "(.*)";/g;t=t.replaceAll(a,"");for(let c of l)t+=c.code}return de[e]=t,t}}async function Se(e,r){let n=e.map(async function(t){let s=await dt(t,r);return{name:t,code:s}});return await Promise.all(n)}const $e=document.getElementById("input");$e.oninput=function(){W.code=$e.innerText};const te=document.getElementById("examples-select");for(let e of H.examples){let r=document.createElement("option");r.text=e.name,r.value=JSON.stringify(e),te.add(r)}async function pt(e,r){let n=`${H.url_prefix}${r}${e}`,t=await(await fetch(n)).text(),s=/import "(.*)";/g,d=Array.from(t.matchAll(s)).map(a=>a[1]),l=await Se(d,r);return t=t.replaceAll(s,""),{code:t.trim(),libraries:l}}te.onchange=function(){const e=document.getElementById("input"),r=document.getElementById("output");e.innerHTML="loading...",r.innerHTML="Compile `compile` to generate output.";let n=JSON.parse(te.value);pt(n.file,n.root).then(t=>W=t).then(()=>{e.innerHTML=W.code;const t=document.getElementById("diffEditor").querySelector("#input");R.highlightElement(t)}).then(()=>ut(n))},te.onchange();const Ce=document.getElementById("calyx-version"),pe=document.createElement("a");pe.appendChild(document.createTextNode(le.version.slice(0,8))),pe.href="https://github.com/calyxir/calyx/tree/"+le.version,Ce.appendChild(document.createTextNode("Built with Calyx version ")),Ce.appendChild(pe)})(); diff --git a/index.html b/index.html index 765edce573..22f782a985 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - +