From 930acefc1da36c916cf6eb24760a380ea70f3dc8 Mon Sep 17 00:00:00 2001 From: EclecticGriffin Date: Mon, 9 Dec 2024 19:44:04 +0000 Subject: [PATCH] deploy: 84dab52608b91a1f2a42a97467a881f5f255ce5a --- ...vSqwiS.wasm => calyx_web_bg-vsOz7Y3R.wasm} | Bin 2807040 -> 2807053 bytes .../{index-C7JQil-5.js => index-BVxC5LDp.js} | 8 ++++---- index.html | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename assets/{calyx_web_bg-C_vSqwiS.wasm => calyx_web_bg-vsOz7Y3R.wasm} (98%) rename assets/{index-C7JQil-5.js => index-BVxC5LDp.js} (92%) diff --git a/assets/calyx_web_bg-C_vSqwiS.wasm b/assets/calyx_web_bg-vsOz7Y3R.wasm similarity index 98% rename from assets/calyx_web_bg-C_vSqwiS.wasm rename to assets/calyx_web_bg-vsOz7Y3R.wasm index 5ca48685e229ded0c018c887a212e71656687691..135749bf246d69f14cc542a3f967305e442a6075 100644 GIT binary patch delta 6016 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 diff --git a/assets/index-C7JQil-5.js b/assets/index-BVxC5LDp.js similarity index 92% rename from assets/index-C7JQil-5.js rename to assets/index-BVxC5LDp.js index 6f1c19da4..84e5c59d8 100644 --- a/assets/index-C7JQil-5.js +++ b/assets/index-BVxC5LDp.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-C_vSqwiS.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 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,Y,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,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:We,__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="124da612c56b3f2e38ef217222ff5707ae893301",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 ze=""+new URL("calyx_web_bg-vsOz7Y3R.wasm",import.meta.url).href,Me=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 Oe("utf-8");const Ne=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),M=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=Ne(e,a);l+=c.written}return M=l,s}let Y=null;function O(){return(Y===null||Y.buffer!==V.buffer)&&(Y=new Int32Array(V.buffer)),Y}let R=C.length;function qe(e){e<36||(C[e]=R,R=e)}function Re(e){const r=ie(e);return qe(e),r}let K=32;function He(e){if(K==1)throw new Error("out of js stack");return C[--K]=e,K}const Ie=typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder;let he=new Ie("utf-8",{ignoreBOM:!0,fatal:!0});he.decode();function ve(e,r){return he.decode(U().subarray(e,e+r))}function Be(e,r,n){try{const d=ye(-16),l=J(r,X,Q),a=M,c=J(n,X,Q),v=M;Ye(d,He(e),l,a,c,v);var t=O()[d/4+0],s=O()[d/4+1];return ve(t,s)}finally{ye(16),C[K++]=void 0,be(t,s)}}function De(e){R===C.length&&C.push(C.length+1);const r=R;return R=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=M;O()[e/4+1]=d,O()[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=M;O()[e/4+1]=s,O()[e/4+0]=t}function Ge(e,r){try{console.error(ve(e,r))}finally{be(e,r)}}function Je(e){Re(e)}URL=globalThis.URL;const N=await Me({"./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}},ze),V=N.memory,Ye=N.run,X=N.__wbindgen_malloc,Q=N.__wbindgen_realloc,ye=N.__wbindgen_add_to_stack_pointer,be=N.__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="84dab52608b91a1f2a42a97467a881f5f255ce5a",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," ")},I.equals=function(e,r){return L.prototype.equals.call(I,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 q=$.value;if(o.length>i.length)return;if(!(q 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,z=T;for(z+=$.value.length;re>=z;)$=$.next,z+=$.value.length;if(z-=$.value.length,T=z,$.value instanceof c)continue;for(var W=$;W!==o.tail&&(zf.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 B=at(ot);B.languages.futil={"diff-addition":{pattern:/^\+.*$/m},"diff-deletion":{pattern:/^-.*$/m},comment:B.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=Be(e,r,D.code);const t=document.getElementById("diffEditor"),s=t.querySelector("#input"),d=t.querySelector("#output");d.innerHTML=n,B.highlightElement(s),B.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");B.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 6299aea62..70ef84e2a 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - +