@hpcc-js/graph 2.83.1 → 2.83.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es6.js +1139 -260
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +1139 -256
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +8 -7
- package/src/__package__.ts +2 -2
- package/src/graph2/dataGraph.ts +27 -25
- package/src/graph2/edge.tsx +30 -0
- package/src/graph2/graph.ts +48 -1308
- package/src/graph2/graphReactT.ts +43 -0
- package/src/graph2/graphT.ts +1311 -0
- package/src/graph2/index.ts +4 -0
- package/src/graph2/layouts/dagre.ts +13 -1
- package/src/graph2/layouts/forceDirected.ts +2 -2
- package/src/graph2/layouts/graphvizWorker.ts +2 -2
- package/src/graph2/layouts/placeholders.ts +41 -32
- package/src/graph2/layouts/tree.ts +1 -1
- package/src/graph2/sankeyGraph.ts +8 -12
- package/src/graph2/subgraph.tsx +30 -0
- package/src/graph2/vertex.tsx +31 -0
- package/types/__package__.d.ts +2 -2
- package/types/graph2/dataGraph.d.ts +4 -4
- package/types/graph2/dataGraph.d.ts.map +1 -1
- package/types/graph2/edge.d.ts +9 -0
- package/types/graph2/edge.d.ts.map +1 -0
- package/types/graph2/graph.d.ts +26 -233
- package/types/graph2/graph.d.ts.map +1 -1
- package/types/graph2/graphReactT.d.ts +15 -0
- package/types/graph2/graphReactT.d.ts.map +1 -0
- package/types/graph2/graphT.d.ts +232 -0
- package/types/graph2/graphT.d.ts.map +1 -0
- package/types/graph2/index.d.ts +4 -0
- package/types/graph2/index.d.ts.map +1 -1
- package/types/graph2/layouts/dagre.d.ts.map +1 -1
- package/types/graph2/layouts/placeholders.d.ts +39 -32
- package/types/graph2/layouts/placeholders.d.ts.map +1 -1
- package/types/graph2/sankeyGraph.d.ts +5 -5
- package/types/graph2/sankeyGraph.d.ts.map +1 -1
- package/types/graph2/subgraph.d.ts +12 -0
- package/types/graph2/subgraph.d.ts.map +1 -0
- package/types/graph2/vertex.d.ts +13 -0
- package/types/graph2/vertex.d.ts.map +1 -0
- package/types-3.4/__package__.d.ts +2 -2
- package/types-3.4/graph2/dataGraph.d.ts +4 -4
- package/types-3.4/graph2/edge.d.ts +9 -0
- package/types-3.4/graph2/graph.d.ts +26 -233
- package/types-3.4/graph2/graphReactT.d.ts +15 -0
- package/types-3.4/graph2/graphT.d.ts +232 -0
- package/types-3.4/graph2/index.d.ts +4 -0
- package/types-3.4/graph2/layouts/placeholders.d.ts +42 -32
- package/types-3.4/graph2/sankeyGraph.d.ts +5 -5
- package/types-3.4/graph2/subgraph.d.ts +12 -0
- package/types-3.4/graph2/vertex.d.ts +13 -0
package/src/graph2/index.ts
CHANGED
|
@@ -44,7 +44,19 @@ export class Dagre extends Layout {
|
|
|
44
44
|
...v.props
|
|
45
45
|
};
|
|
46
46
|
}),
|
|
47
|
-
links: data.allEdges().map(e =>
|
|
47
|
+
links: data.allEdges().map(e => {
|
|
48
|
+
return {
|
|
49
|
+
id: e.props.id,
|
|
50
|
+
source: {
|
|
51
|
+
id: e.source.props.id,
|
|
52
|
+
text: e.source.props.text,
|
|
53
|
+
},
|
|
54
|
+
target: {
|
|
55
|
+
id: e.target.props.id,
|
|
56
|
+
text: e.target.props.text,
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}),
|
|
48
60
|
hierarchy: [
|
|
49
61
|
...data.allSubgraphs()
|
|
50
62
|
.filter(s => !!data.subgraphParent(s.id))
|
|
@@ -49,8 +49,8 @@ export class ForceDirectedBase extends Layout {
|
|
|
49
49
|
|
|
50
50
|
this._simulation = d3ForceSimulation(vertices.map(v => {
|
|
51
51
|
const { width, height } = v.element.node().getBBox();
|
|
52
|
-
v.fx = (this._options.pinCentroid && v.centroid) ? size.width / 2 : undefined;
|
|
53
|
-
v.fy = (this._options.pinCentroid && v.centroid) ? size.height / 2 : undefined;
|
|
52
|
+
v.fx = (this._options.pinCentroid && v.props.centroid) ? size.width / 2 : undefined;
|
|
53
|
+
v.fy = (this._options.pinCentroid && v.props.centroid) ? size.height / 2 : undefined;
|
|
54
54
|
v["width"] = width;
|
|
55
55
|
v["height"] = height;
|
|
56
56
|
return v;
|
|
@@ -50,14 +50,14 @@ export interface Options {
|
|
|
50
50
|
|
|
51
51
|
export function graphviz(data: Data, options: Options) {
|
|
52
52
|
// eslint-disable-next-line quotes
|
|
53
|
-
const workerCode = `!function(){"use strict";function r(r,e,t){if(t||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return r.concat(n||Array.prototype.slice.call(e))}function e(r,e){return e.forEach((function(e){e&&"string"!=typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(t){if("default"!==t&&!(t in r)){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}}))})),Object.freeze(r)}var t,n,o,i={exports:{}};t=i,n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,o=function(r){var e,t,o=void 0!==(r=r||{})?r:{};o.ready=new Promise((function(r,n){e=r,t=n}));var i,a,s=Object.assign({},o),u="./this.program",c="";"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),n&&(c=n),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},a=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)};var l,d,f=o.print||console.log.bind(console),p=o.printErr||console.warn.bind(console);Object.assign(o,s),s=null,o.arguments&&o.arguments,o.thisProgram&&(u=o.thisProgram),o.quit&&o.quit,o.wasmBinary&&(l=o.wasmBinary),o.noExitRuntime,"object"!=typeof WebAssembly&&L("no native wasm support detected");var h=!1;function m(r,e){r||L(e)}var v,w,_,y,E,g,b="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function k(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&b)return b.decode(r.subarray(e,o));for(var i="";e<o;){var a=r[e++];if(128&a){var s=63&r[e++];if(192!=(224&a)){var u=63&r[e++];if((a=224==(240&a)?(15&a)<<12|s<<6|u:(7&a)<<18|s<<12|u<<6|63&r[e++])<65536)i+=String.fromCharCode(a);else{var c=a-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function D(r,e){return r?k(_,r,e):""}function S(r,e,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a<r.length;++a){var s=r.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&r.charCodeAt(++a)),s<=127){if(t>=i)break;e[t++]=s}else if(s<=2047){if(t+1>=i)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=i)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function A(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&r.charCodeAt(++t)),n<=127?++e:e+=n<=2047?2:n<=65535?3:4}return e}function P(r){v=r,o.HEAP8=w=new Int8Array(r),o.HEAP16=new Int16Array(r),o.HEAP32=y=new Int32Array(r),o.HEAPU8=_=new Uint8Array(r),o.HEAPU16=new Uint16Array(r),o.HEAPU32=E=new Uint32Array(r),o.HEAPF32=new Float32Array(r),o.HEAPF64=g=new Float64Array(r)}o.INITIAL_MEMORY;var x,F,M,C,R=[],j=[],z=[],N=0,T=null;function B(r){N++,o.monitorRunDependencies&&o.monitorRunDependencies(N)}function O(r){if(N--,o.monitorRunDependencies&&o.monitorRunDependencies(N),0==N&&T){var e=T;T=null,e()}}function L(r){o.onAbort&&o.onAbort(r),p(r="Aborted("+r+")"),h=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw t(e),e}function I(r){return r.startsWith("data:application/octet-stream;base64,")}function U(r){try{if(r==x&&l)return new Uint8Array(l);throw"both async and sync fetching of the wasm failed"}catch(r){L(r)}}I(x="expatlib.wasm")||(F=x,x=o.locateFile?o.locateFile(F,c):c+F);var H={11710:r=>{var e=o.getCache(o.CExpatJS)[r];if(!e.hasOwnProperty("startElement"))throw"a JSImplementation must implement all functions, you forgot CExpatJS::startElement.";e.startElement()},11928:r=>{var e=o.getCache(o.CExpatJS)[r];if(!e.hasOwnProperty("endElement"))throw"a JSImplementation must implement all functions, you forgot CExpatJS::endElement.";e.endElement()},12140:r=>{var e=o.getCache(o.CExpatJS)[r];if(!e.hasOwnProperty("characterData"))throw"a JSImplementation must implement all functions, you forgot CExpatJS::characterData.";e.characterData()}};function q(r){for(;r.length>0;)r.shift()(o)}var G={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)\$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=G.isAbs(r),t="/"===r.substr(-1);return(r=G.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=G.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=G.normalize(r)).replace(/\\/\$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments,0);return G.normalize(r.join("/"))},join2:(r,e)=>G.normalize(r+"/"+e)},W={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:Y.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=G.isAbs(n)}return(e?"/":"")+(r=G.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=W.resolve(r).substr(1),e=W.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var u=[];for(s=a;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(a))).join("/")}},V={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){V.ttys[r]={input:[],output:[],ops:e},Y.registerDevice(r,V.stream_ops)},stream_ops:{open:function(r){var e=V.ttys[r.node.rdev];if(!e)throw new Y.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Y.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Y.ErrnoError(29)}if(void 0===s&&0===i)throw new Y.ErrnoError(6);if(null==s)break;i++,e[t+a]=s}return i&&(r.node.timestamp=Date.now()),i},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Y.ErrnoError(60);try{for(var i=0;i<n;i++)r.tty.ops.put_char(r.tty,e[t+i])}catch(r){throw new Y.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n"),!e)return null;r.input=or(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(f(k(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},flush:function(r){r.output&&r.output.length>0&&(f(k(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(p(k(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},flush:function(r){r.output&&r.output.length>0&&(p(k(r.output,0)),r.output=[])}}};function J(r){L()}var X={ops_table:null,mount:function(r){return X.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(Y.isBlkdev(t)||Y.isFIFO(t))throw new Y.ErrnoError(63);X.ops_table||(X.ops_table={dir:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr,lookup:X.node_ops.lookup,mknod:X.node_ops.mknod,rename:X.node_ops.rename,unlink:X.node_ops.unlink,rmdir:X.node_ops.rmdir,readdir:X.node_ops.readdir,symlink:X.node_ops.symlink},stream:{llseek:X.stream_ops.llseek}},file:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr},stream:{llseek:X.stream_ops.llseek,read:X.stream_ops.read,write:X.stream_ops.write,allocate:X.stream_ops.allocate,mmap:X.stream_ops.mmap,msync:X.stream_ops.msync}},link:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr,readlink:X.node_ops.readlink},stream:{}},chrdev:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr},stream:Y.chrdev_stream_ops}});var o=Y.createNode(r,e,t,n);return Y.isDir(o.mode)?(o.node_ops=X.ops_table.dir.node,o.stream_ops=X.ops_table.dir.stream,o.contents={}):Y.isFile(o.mode)?(o.node_ops=X.ops_table.file.node,o.stream_ops=X.ops_table.file.stream,o.usedBytes=0,o.contents=null):Y.isLink(o.mode)?(o.node_ops=X.ops_table.link.node,o.stream_ops=X.ops_table.link.stream):Y.isChrdev(o.mode)&&(o.node_ops=X.ops_table.chrdev.node,o.stream_ops=X.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=Y.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Y.isDir(r.mode)?e.size=4096:Y.isFile(r.mode)?e.size=r.usedBytes:Y.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&X.resizeFileStorage(r,e.size)},lookup:function(r,e){throw Y.genericErrors[44]},mknod:function(r,e,t,n){return X.createNode(r,e,t,n)},rename:function(r,e,t){if(Y.isDir(r.mode)){var n;try{n=Y.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new Y.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=Y.lookupNode(r,e);for(var n in t.contents)throw new Y.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=X.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!Y.isLink(r.mode))throw new Y.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var i=r.node.contents;if(o>=r.node.usedBytes)return 0;var a=Math.min(r.node.usedBytes-o,n);if(a>8&&i.subarray)e.set(i.subarray(o,o+a),t);else for(var s=0;s<a;s++)e[t+s]=i[o+s];return a},write:function(r,e,t,n,o,i){if(e.buffer===w.buffer&&(i=!1),!n)return 0;var a=r.node;if(a.timestamp=Date.now(),e.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=e.subarray(t,t+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=e.slice(t,t+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(e.subarray(t,t+n),o),n}if(X.expandFileStorage(a,o+n),a.contents.subarray&&e.subarray)a.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=e[t+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Y.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Y.ErrnoError(28);return n},allocate:function(r,e,t){X.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!Y.isFile(r.node.mode))throw new Y.ErrnoError(43);var i,a,s=r.node.contents;if(2&o||s.buffer!==v){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),a=!0,!(i=J()))throw new Y.ErrnoError(48);w.set(s,i)}else a=!1,i=s.byteOffset;return{ptr:i,allocated:a}},msync:function(r,e,t,n,o){if(!Y.isFile(r.node.mode))throw new Y.ErrnoError(43);return 2&o||X.stream_ops.write(r,e,0,n,t,!1),0}}},Y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=W.resolve(Y.cwd(),r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new Y.ErrnoError(32);for(var t=G.normalizeArray(r.split("/").filter((r=>!!r)),!1),n=Y.root,o="/",i=0;i<t.length;i++){var a=i===t.length-1;if(a&&e.parent)break;if(n=Y.lookupNode(n,t[i]),o=G.join2(o,t[i]),Y.isMountpoint(n)&&(!a||a&&e.follow_mount)&&(n=n.mounted.root),!a||e.follow)for(var s=0;Y.isLink(n.mode);){var u=Y.readlink(o);if(o=W.resolve(G.dirname(o),u),n=Y.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new Y.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(Y.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?t+"/"+e:t+e:t}e=e?r.name+"/"+e:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Y.nameTable.length},hashAddNode:r=>{var e=Y.hashName(r.parent.id,r.name);r.name_next=Y.nameTable[e],Y.nameTable[e]=r},hashRemoveNode:r=>{var e=Y.hashName(r.parent.id,r.name);if(Y.nameTable[e]===r)Y.nameTable[e]=r.name_next;else for(var t=Y.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=Y.mayLookup(r);if(t)throw new Y.ErrnoError(t,r);for(var n=Y.hashName(r.id,e),o=Y.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===r.id&&i===e)return o}return Y.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new Y.FSNode(r,e,t,n);return Y.hashAddNode(o),o},destroyNode:r=>{Y.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>49152==(49152&r),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:r=>{var e=Y.flagModes[r];if(void 0===e)throw new Error("Unknown file open mode: "+r);return e},flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Y.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=Y.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{return Y.lookupNode(r,e),20}catch(r){}return Y.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=Y.lookupNode(r,e)}catch(r){return r.errno}var o=Y.nodePermissions(r,"wx");if(o)return o;if(t){if(!Y.isDir(n.mode))return 54;if(Y.isRoot(n)||Y.getPath(n)===Y.cwd())return 10}else if(Y.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Y.isLink(r.mode)?32:Y.isDir(r.mode)&&("r"!==Y.flagsToPermissionString(e)||512&e)?31:Y.nodePermissions(r,Y.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:(r=0,e=Y.MAX_OPEN_FDS)=>{for(var t=r;t<=e;t++)if(!Y.streams[t])return t;throw new Y.ErrnoError(33)},getStream:r=>Y.streams[r],createStream:(r,e,t)=>{Y.FSStream||(Y.FSStream=function(){this.shared={}},Y.FSStream.prototype={},Object.defineProperties(Y.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new Y.FSStream,r);var n=Y.nextfd(e,t);return r.fd=n,Y.streams[n]=r,r},closeStream:r=>{Y.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=Y.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new Y.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{Y.devices[r]={stream_ops:e}},getDevice:r=>Y.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),Y.syncFSRequests++,Y.syncFSRequests>1&&p("warning: "+Y.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=Y.getMounts(Y.root.mount),n=0;function o(r){return Y.syncFSRequests--,e(r)}function i(r){if(r)return i.errored?void 0:(i.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return i(null);e.type.syncfs(e,r,i)}))},mount:(r,e,t)=>{var n,o="/"===t,i=!t;if(o&&Y.root)throw new Y.ErrnoError(10);if(!o&&!i){var a=Y.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,Y.isMountpoint(n))throw new Y.ErrnoError(10);if(!Y.isDir(n.mode))throw new Y.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?Y.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=Y.lookupPath(r,{follow_mount:!1});if(!Y.isMountpoint(e.node))throw new Y.ErrnoError(28);var t=e.node,n=t.mounted,o=Y.getMounts(n);Object.keys(Y.nameTable).forEach((r=>{for(var e=Y.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&Y.destroyNode(e),e=t}})),t.mounted=null;var i=t.mount.mounts.indexOf(n);t.mount.mounts.splice(i,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=Y.lookupPath(r,{parent:!0}).node,o=G.basename(r);if(!o||"."===o||".."===o)throw new Y.ErrnoError(28);var i=Y.mayCreate(n,o);if(i)throw new Y.ErrnoError(i);if(!n.node_ops.mknod)throw new Y.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,Y.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,Y.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Y.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Y.mknod(r,e,t)),symlink:(r,e)=>{if(!W.resolve(r))throw new Y.ErrnoError(44);var t=Y.lookupPath(e,{parent:!0}).node;if(!t)throw new Y.ErrnoError(44);var n=G.basename(e),o=Y.mayCreate(t,n);if(o)throw new Y.ErrnoError(o);if(!t.node_ops.symlink)throw new Y.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=G.dirname(r),i=G.dirname(e),a=G.basename(r),s=G.basename(e);if(t=Y.lookupPath(r,{parent:!0}).node,n=Y.lookupPath(e,{parent:!0}).node,!t||!n)throw new Y.ErrnoError(44);if(t.mount!==n.mount)throw new Y.ErrnoError(75);var u,c=Y.lookupNode(t,a),l=W.relative(r,i);if("."!==l.charAt(0))throw new Y.ErrnoError(28);if("."!==(l=W.relative(e,o)).charAt(0))throw new Y.ErrnoError(55);try{u=Y.lookupNode(n,s)}catch(r){}if(c!==u){var d=Y.isDir(c.mode),f=Y.mayDelete(t,a,d);if(f)throw new Y.ErrnoError(f);if(f=u?Y.mayDelete(n,s,d):Y.mayCreate(n,s))throw new Y.ErrnoError(f);if(!t.node_ops.rename)throw new Y.ErrnoError(63);if(Y.isMountpoint(c)||u&&Y.isMountpoint(u))throw new Y.ErrnoError(10);if(n!==t&&(f=Y.nodePermissions(t,"w")))throw new Y.ErrnoError(f);Y.hashRemoveNode(c);try{t.node_ops.rename(c,n,s)}catch(r){throw r}finally{Y.hashAddNode(c)}}},rmdir:r=>{var e=Y.lookupPath(r,{parent:!0}).node,t=G.basename(r),n=Y.lookupNode(e,t),o=Y.mayDelete(e,t,!0);if(o)throw new Y.ErrnoError(o);if(!e.node_ops.rmdir)throw new Y.ErrnoError(63);if(Y.isMountpoint(n))throw new Y.ErrnoError(10);e.node_ops.rmdir(e,t),Y.destroyNode(n)},readdir:r=>{var e=Y.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new Y.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=Y.lookupPath(r,{parent:!0}).node;if(!e)throw new Y.ErrnoError(44);var t=G.basename(r),n=Y.lookupNode(e,t),o=Y.mayDelete(e,t,!1);if(o)throw new Y.ErrnoError(o);if(!e.node_ops.unlink)throw new Y.ErrnoError(63);if(Y.isMountpoint(n))throw new Y.ErrnoError(10);e.node_ops.unlink(e,t),Y.destroyNode(n)},readlink:r=>{var e=Y.lookupPath(r).node;if(!e)throw new Y.ErrnoError(44);if(!e.node_ops.readlink)throw new Y.ErrnoError(28);return W.resolve(Y.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=Y.lookupPath(r,{follow:!e}).node;if(!t)throw new Y.ErrnoError(44);if(!t.node_ops.getattr)throw new Y.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>Y.stat(r,!0),chmod:(r,e,t)=>{var n;if(!(n="string"==typeof r?Y.lookupPath(r,{follow:!t}).node:r).node_ops.setattr)throw new Y.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{Y.chmod(r,e,!0)},fchmod:(r,e)=>{var t=Y.getStream(r);if(!t)throw new Y.ErrnoError(8);Y.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;if(!(o="string"==typeof r?Y.lookupPath(r,{follow:!n}).node:r).node_ops.setattr)throw new Y.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{Y.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=Y.getStream(r);if(!n)throw new Y.ErrnoError(8);Y.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new Y.ErrnoError(28);var t;if(!(t="string"==typeof r?Y.lookupPath(r,{follow:!0}).node:r).node_ops.setattr)throw new Y.ErrnoError(63);if(Y.isDir(t.mode))throw new Y.ErrnoError(31);if(!Y.isFile(t.mode))throw new Y.ErrnoError(28);var n=Y.nodePermissions(t,"w");if(n)throw new Y.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=Y.getStream(r);if(!t)throw new Y.ErrnoError(8);if(0==(2097155&t.flags))throw new Y.ErrnoError(28);Y.truncate(t.node,e)},utime:(r,e,t)=>{var n=Y.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new Y.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?Y.modeStringToFlags(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=G.normalize(r);try{n=Y.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var i=!1;if(64&e)if(n){if(128&e)throw new Y.ErrnoError(20)}else n=Y.mknod(r,t,0),i=!0;if(!n)throw new Y.ErrnoError(44);if(Y.isChrdev(n.mode)&&(e&=-513),65536&e&&!Y.isDir(n.mode))throw new Y.ErrnoError(54);if(!i){var a=Y.mayOpen(n,e);if(a)throw new Y.ErrnoError(a)}512&e&&!i&&Y.truncate(n,0),e&=-131713;var s=Y.createStream({node:n,path:Y.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!o.logReadFiles||1&e||(Y.readFiles||(Y.readFiles={}),r in Y.readFiles||(Y.readFiles[r]=1)),s},close:r=>{if(Y.isClosed(r))throw new Y.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Y.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(Y.isClosed(r))throw new Y.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Y.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Y.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new Y.ErrnoError(28);if(Y.isClosed(r))throw new Y.ErrnoError(8);if(1==(2097155&r.flags))throw new Y.ErrnoError(8);if(Y.isDir(r.node.mode))throw new Y.ErrnoError(31);if(!r.stream_ops.read)throw new Y.ErrnoError(28);var i=void 0!==o;if(i){if(!r.seekable)throw new Y.ErrnoError(70)}else o=r.position;var a=r.stream_ops.read(r,e,t,n,o);return i||(r.position+=a),a},write:(r,e,t,n,o,i)=>{if(n<0||o<0)throw new Y.ErrnoError(28);if(Y.isClosed(r))throw new Y.ErrnoError(8);if(0==(2097155&r.flags))throw new Y.ErrnoError(8);if(Y.isDir(r.node.mode))throw new Y.ErrnoError(31);if(!r.stream_ops.write)throw new Y.ErrnoError(28);r.seekable&&1024&r.flags&&Y.llseek(r,0,2);var a=void 0!==o;if(a){if(!r.seekable)throw new Y.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,i);return a||(r.position+=s),s},allocate:(r,e,t)=>{if(Y.isClosed(r))throw new Y.ErrnoError(8);if(e<0||t<=0)throw new Y.ErrnoError(28);if(0==(2097155&r.flags))throw new Y.ErrnoError(8);if(!Y.isFile(r.node.mode)&&!Y.isDir(r.node.mode))throw new Y.ErrnoError(43);if(!r.stream_ops.allocate)throw new Y.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(0!=(2&n)&&0==(2&o)&&2!=(2097155&r.flags))throw new Y.ErrnoError(2);if(1==(2097155&r.flags))throw new Y.ErrnoError(2);if(!r.stream_ops.mmap)throw new Y.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r&&r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new Y.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error('Invalid encoding type "'+e.encoding+'"');var t,n=Y.open(r,e.flags),o=Y.stat(r).size,i=new Uint8Array(o);return Y.read(n,i,0,o,0),"utf8"===e.encoding?t=k(i,0):"binary"===e.encoding&&(t=i),Y.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=Y.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(A(e)+1),i=S(e,o,0,o.length);Y.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");Y.write(n,e,0,e.byteLength,void 0,t.canOwn)}Y.close(n)},cwd:()=>Y.currentPath,chdir:r=>{var e=Y.lookupPath(r,{follow:!0});if(null===e.node)throw new Y.ErrnoError(44);if(!Y.isDir(e.node.mode))throw new Y.ErrnoError(54);var t=Y.nodePermissions(e.node,"x");if(t)throw new Y.ErrnoError(t);Y.currentPath=e.path},createDefaultDirectories:()=>{Y.mkdir("/tmp"),Y.mkdir("/home"),Y.mkdir("/home/web_user")},createDefaultDevices:()=>{Y.mkdir("/dev"),Y.registerDevice(Y.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),Y.mkdev("/dev/null",Y.makedev(1,3)),V.register(Y.makedev(5,0),V.default_tty_ops),V.register(Y.makedev(6,0),V.default_tty1_ops),Y.mkdev("/dev/tty",Y.makedev(5,0)),Y.mkdev("/dev/tty1",Y.makedev(6,0));var r=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var r=new Uint8Array(1);return function(){return crypto.getRandomValues(r),r[0]}}return function(){L("randomDevice")}}();Y.createDevice("/dev","random",r),Y.createDevice("/dev","urandom",r),Y.mkdir("/dev/shm"),Y.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Y.mkdir("/proc");var r=Y.mkdir("/proc/self");Y.mkdir("/proc/self/fd"),Y.mount({mount:()=>{var e=Y.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=Y.getStream(t);if(!n)throw new Y.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{o.stdin?Y.createDevice("/dev","stdin",o.stdin):Y.symlink("/dev/tty","/dev/stdin"),o.stdout?Y.createDevice("/dev","stdout",null,o.stdout):Y.symlink("/dev/tty","/dev/stdout"),o.stderr?Y.createDevice("/dev","stderr",null,o.stderr):Y.symlink("/dev/tty1","/dev/stderr"),Y.open("/dev/stdin",0),Y.open("/dev/stdout",1),Y.open("/dev/stderr",1)},ensureErrnoError:()=>{Y.ErrnoError||(Y.ErrnoError=function(r,e){this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},Y.ErrnoError.prototype=new Error,Y.ErrnoError.prototype.constructor=Y.ErrnoError,[44].forEach((r=>{Y.genericErrors[r]=new Y.ErrnoError(r),Y.genericErrors[r].stack="<generic error, no stack>"})))},staticInit:()=>{Y.ensureErrnoError(),Y.nameTable=new Array(4096),Y.mount(X,{},"/"),Y.createDefaultDirectories(),Y.createDefaultDevices(),Y.createSpecialDirectories(),Y.filesystems={MEMFS:X}},init:(r,e,t)=>{Y.init.initialized=!0,Y.ensureErrnoError(),o.stdin=r||o.stdin,o.stdout=e||o.stdout,o.stderr=t||o.stderr,Y.createStandardStreams()},quit:()=>{Y.init.initialized=!1;for(var r=0;r<Y.streams.length;r++){var e=Y.streams[r];e&&Y.close(e)}},getMode:(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},findObject:(r,e)=>{var t=Y.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=Y.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Y.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=G.basename(r),n=Y.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:Y.getPath(r);for(var o=e.split("/").reverse();o.length;){var i=o.pop();if(i){var a=G.join2(r,i);try{Y.mkdir(a)}catch(r){}r=a}}return a},createFile:(r,e,t,n,o)=>{var i=G.join2("string"==typeof r?r:Y.getPath(r),e),a=Y.getMode(n,o);return Y.create(i,a)},createDataFile:(r,e,t,n,o,i)=>{var a=e;r&&(r="string"==typeof r?r:Y.getPath(r),a=e?G.join2(r,e):r);var s=Y.getMode(n,o),u=Y.create(a,s);if(t){if("string"==typeof t){for(var c=new Array(t.length),l=0,d=t.length;l<d;++l)c[l]=t.charCodeAt(l);t=c}Y.chmod(u,146|s);var f=Y.open(u,577);Y.write(f,t,0,t.length,0,i),Y.close(f),Y.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=G.join2("string"==typeof r?r:Y.getPath(r),e),i=Y.getMode(!!t,!!n);Y.createDevice.major||(Y.createDevice.major=64);var a=Y.makedev(Y.createDevice.major++,0);return Y.registerDevice(a,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,i)=>{for(var a=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new Y.ErrnoError(29)}if(void 0===u&&0===a)throw new Y.ErrnoError(6);if(null==u)break;a++,e[n+s]=u}return a&&(r.node.timestamp=Date.now()),a},write:(r,e,t,o,i)=>{for(var a=0;a<o;a++)try{n(e[t+a])}catch(r){throw new Y.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),a}}),Y.mkdev(o,i,a)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=or(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new Y.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},i.prototype.setDataGetter=function(r){this.getter=r},i.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;o||(a=n);var s=this;s.setDataGetter((r=>{var e=r*a,o=(r+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==a&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):or(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,f("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},s=Y.createFile(r,e,a,n,o);a.contents?s.contents=a.contents:a.url&&(s.contents=null,s.url=a.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(r,e,t,n,o){var i=r.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)e[t+s]=i[o+s];else for(s=0;s<a;s++)e[t+s]=i.get(o+s);return a}return Object.keys(s.stream_ops).forEach((r=>{var e=s.stream_ops[r];u[r]=function(){return Y.forceLoadFile(s),e.apply(null,arguments)}})),u.read=(r,e,t,n,o)=>(Y.forceLoadFile(s),c(r,e,t,n,o)),u.mmap=(r,e,t,n,o)=>{Y.forceLoadFile(s);var i=J();if(!i)throw new Y.ErrnoError(48);return c(r,w,i,e,t),{ptr:i,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(r,e,t,n,o,i,s,u,c,l)=>{var d=e?W.resolve(G.join2(r,e)):r;function f(t){function a(t){l&&l(),u||Y.createDataFile(r,e,t,n,o,c),i&&i(),O()}Browser.handledByPreloadPlugin(t,d,a,(()=>{s&&s(),O()}))||a(t)}B(),"string"==typeof t?function(r,e,t,n){var o=n?"":"al "+r;a(r,(function(t){m(t,'Loading data file "'+r+'" failed (no arrayBuffer).'),e(new Uint8Array(t)),o&&O()}),(function(e){if(!t)throw'Loading data file "'+r+'" failed.';t()})),o&&B()}(t,(r=>f(r)),s):f(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(r,e,t)=>{e=e||(()=>{}),t=t||(()=>{});var n=Y.indexedDB();try{var o=n.open(Y.DB_NAME(),Y.DB_VERSION)}catch(r){return t(r)}o.onupgradeneeded=()=>{f("creating db"),o.result.createObjectStore(Y.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([Y.DB_STORE_NAME],"readwrite"),i=n.objectStore(Y.DB_STORE_NAME),a=0,s=0,u=r.length;function c(){0==s?e():t()}r.forEach((r=>{var e=i.put(Y.analyzePath(r).object.contents,r);e.onsuccess=()=>{++a+s==u&&c()},e.onerror=()=>{s++,a+s==u&&c()}})),n.onerror=t},o.onerror=t},loadFilesFromDB:(r,e,t)=>{e=e||(()=>{}),t=t||(()=>{});var n=Y.indexedDB();try{var o=n.open(Y.DB_NAME(),Y.DB_VERSION)}catch(r){return t(r)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var i=n.transaction([Y.DB_STORE_NAME],"readonly")}catch(r){return void t(r)}var a=i.objectStore(Y.DB_STORE_NAME),s=0,u=0,c=r.length;function l(){0==u?e():t()}r.forEach((r=>{var e=a.get(r);e.onsuccess=()=>{Y.analyzePath(r).exists&&Y.unlink(r),Y.createDataFile(G.dirname(r),G.basename(r),e.result,!0,!0,!0),++s+u==c&&l()},e.onerror=()=>{u++,s+u==c&&l()}})),i.onerror=t},o.onerror=t}},K={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(G.isAbs(e))return e;var n;if(-100===r)n=Y.cwd();else{var o=Y.getStream(r);if(!o)throw new Y.ErrnoError(8);n=o.path}if(0==e.length){if(!t)throw new Y.ErrnoError(44);return n}return G.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&G.normalize(e)!==G.normalize(Y.getPath(r.node)))return-54;throw r}return y[t>>2]=n.dev,y[t+4>>2]=0,y[t+8>>2]=n.ino,y[t+12>>2]=n.mode,y[t+16>>2]=n.nlink,y[t+20>>2]=n.uid,y[t+24>>2]=n.gid,y[t+28>>2]=n.rdev,y[t+32>>2]=0,C=[n.size>>>0,(M=n.size,+Math.abs(M)>=1?M>0?(0|Math.min(+Math.floor(M/4294967296),4294967295))>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[t+40>>2]=C[0],y[t+44>>2]=C[1],y[t+48>>2]=4096,y[t+52>>2]=n.blocks,y[t+56>>2]=n.atime.getTime()/1e3|0,y[t+60>>2]=0,y[t+64>>2]=n.mtime.getTime()/1e3|0,y[t+68>>2]=0,y[t+72>>2]=n.ctime.getTime()/1e3|0,y[t+76>>2]=0,C=[n.ino>>>0,(M=n.ino,+Math.abs(M)>=1?M>0?(0|Math.min(+Math.floor(M/4294967296),4294967295))>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[t+80>>2]=C[0],y[t+84>>2]=C[1],0},doMsync:function(r,e,t,n,o){var i=_.slice(r,r+t);Y.msync(e,i,o,t,n)},varargs:void 0,get:function(){return K.varargs+=4,y[K.varargs-4>>2]},getStr:function(r){return D(r)},getStreamFromFD:function(r){var e=Y.getStream(r);if(!e)throw new Y.ErrnoError(8);return e}},\$=[];function Q(r){try{return d.grow(r-v.byteLength+65535>>>16),P(d.buffer),1}catch(r){}}var Z={};function rr(){if(!rr.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var e in Z)void 0===Z[e]?delete r[e]:r[e]=Z[e];var t=[];for(var e in r)t.push(e+"="+r[e]);rr.strings=t}return rr.strings}var er=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=Y.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},tr=365,nr=146;function or(r,e,t){var n=t>0?t:A(r)+1,o=new Array(n),i=S(r,o,0,o.length);return e&&(o.length=i),o}Object.defineProperties(er.prototype,{read:{get:function(){return(this.mode&tr)===tr},set:function(r){r?this.mode|=tr:this.mode&=-366}},write:{get:function(){return(this.mode&nr)===nr},set:function(r){r?this.mode|=nr:this.mode&=-147}},isFolder:{get:function(){return Y.isDir(this.mode)}},isDevice:{get:function(){return Y.isChrdev(this.mode)}}}),Y.FSNode=er,Y.staticInit();var ir={g:function(r,e,t,n){K.varargs=n;try{e=K.getStr(e),e=K.calculateAt(r,e);var o=n?K.get():0;return Y.open(e,t,o).fd}catch(r){if(void 0===Y||!(r instanceof Y.ErrnoError))throw r;return-r.errno}},j:function(){return Date.now()},c:function(){L("")},a:function(r,e,t){var n=function(r,e){var t;for(\$.length=0,e>>=2;t=_[r++];)e+=105!=t&e,\$.push(105==t?y[e]:g[e++>>1]),++e;return \$}(e,t);return H[r].apply(null,n)},k:function(r,e,t){_.copyWithin(r,e,e+t)},e:function(r){var e,t,n=_.length,o=2147483648;if((r>>>=0)>o)return!1;for(var i=1;i<=4;i*=2){var a=n*(1+.2/i);if(a=Math.min(a,r+100663296),Q(Math.min(o,(e=Math.max(r,a))+((t=65536)-e%t)%t)))return!0}return!1},h:function(r,e){var t=0;return rr().forEach((function(n,o){var i=e+t;E[r+4*o>>2]=i,function(r,e,t){for(var n=0;n<r.length;++n)w[e++>>0]=r.charCodeAt(n);t||(w[e>>0]=0)}(n,i),t+=n.length+1})),0},i:function(r,e){var t=rr();E[r>>2]=t.length;var n=0;return t.forEach((function(r){n+=r.length+1})),E[e>>2]=n,0},d:function(r){try{var e=K.getStreamFromFD(r);return Y.close(e),0}catch(r){if(void 0===Y||!(r instanceof Y.ErrnoError))throw r;return r.errno}},f:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,i=0;i<t;i++){var a=E[e>>2],s=E[e+4>>2];e+=8;var u=Y.read(r,w,a,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o}(K.getStreamFromFD(r),e,t);return y[n>>2]=o,0}catch(r){if(void 0===Y||!(r instanceof Y.ErrnoError))throw r;return r.errno}},l:function(r,e,t,n,o){try{var i=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(i))return 61;var a=K.getStreamFromFD(r);return Y.llseek(a,i,n),C=[a.position>>>0,(M=a.position,+Math.abs(M)>=1?M>0?(0|Math.min(+Math.floor(M/4294967296),4294967295))>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[o>>2]=C[0],y[o+4>>2]=C[1],a.getdents&&0===i&&0===n&&(a.getdents=null),0}catch(r){if(void 0===Y||!(r instanceof Y.ErrnoError))throw r;return r.errno}var s,u},b:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,i=0;i<t;i++){var a=E[e>>2],s=E[e+4>>2];e+=8;var u=Y.write(r,w,a,s,n);if(u<0)return-1;o+=u}return o}(K.getStreamFromFD(r),e,t);return E[n>>2]=o,0}catch(r){if(void 0===Y||!(r instanceof Y.ErrnoError))throw r;return r.errno}}};!function(){var r={a:ir};function e(r,e){var t,n=r.exports;o.asm=n,P((d=o.asm.m).buffer),o.asm.G,t=o.asm.n,j.unshift(t),O()}function n(r){e(r.instance)}function i(e){return(l||"function"!=typeof fetch?Promise.resolve().then((function(){return U(x)})):fetch(x,{credentials:"same-origin"}).then((function(r){if(!r.ok)throw"failed to load wasm binary file at '"+x+"'";return r.arrayBuffer()})).catch((function(){return U(x)}))).then((function(e){return WebAssembly.instantiate(e,r)})).then((function(r){return r})).then(e,(function(r){p("failed to asynchronously prepare wasm: "+r),L(r)}))}if(B(),o.instantiateWasm)try{return o.instantiateWasm(r,e)}catch(r){return p("Module.instantiateWasm callback failed with error: "+r),!1}(l||"function"!=typeof WebAssembly.instantiateStreaming||I(x)||"function"!=typeof fetch?i(n):fetch(x,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,r).then(n,(function(r){return p("wasm streaming compile failed: "+r),p("falling back to ArrayBuffer instantiation"),i(n)}))}))).catch(t)}(),o.___wasm_call_ctors=function(){return(o.___wasm_call_ctors=o.asm.n).apply(null,arguments)};var ar,sr=o._emscripten_bind_CExpat_CExpat_0=function(){return(sr=o._emscripten_bind_CExpat_CExpat_0=o.asm.o).apply(null,arguments)},ur=o._emscripten_bind_CExpat_version_0=function(){return(ur=o._emscripten_bind_CExpat_version_0=o.asm.p).apply(null,arguments)},cr=o._emscripten_bind_CExpat_create_0=function(){return(cr=o._emscripten_bind_CExpat_create_0=o.asm.q).apply(null,arguments)},lr=o._emscripten_bind_CExpat_destroy_0=function(){return(lr=o._emscripten_bind_CExpat_destroy_0=o.asm.r).apply(null,arguments)},dr=o._emscripten_bind_CExpat_parse_1=function(){return(dr=o._emscripten_bind_CExpat_parse_1=o.asm.s).apply(null,arguments)},fr=o._emscripten_bind_CExpat_tag_0=function(){return(fr=o._emscripten_bind_CExpat_tag_0=o.asm.t).apply(null,arguments)},pr=o._emscripten_bind_CExpat_attrs_0=function(){return(pr=o._emscripten_bind_CExpat_attrs_0=o.asm.u).apply(null,arguments)},hr=o._emscripten_bind_CExpat_content_0=function(){return(hr=o._emscripten_bind_CExpat_content_0=o.asm.v).apply(null,arguments)},mr=o._emscripten_bind_CExpat_startElement_0=function(){return(mr=o._emscripten_bind_CExpat_startElement_0=o.asm.w).apply(null,arguments)},vr=o._emscripten_bind_CExpat_endElement_0=function(){return(vr=o._emscripten_bind_CExpat_endElement_0=o.asm.x).apply(null,arguments)},wr=o._emscripten_bind_CExpat_characterData_0=function(){return(wr=o._emscripten_bind_CExpat_characterData_0=o.asm.y).apply(null,arguments)},_r=o._emscripten_bind_CExpat___destroy___0=function(){return(_r=o._emscripten_bind_CExpat___destroy___0=o.asm.z).apply(null,arguments)},yr=o._emscripten_bind_VoidPtr___destroy___0=function(){return(yr=o._emscripten_bind_VoidPtr___destroy___0=o.asm.A).apply(null,arguments)},Er=o._emscripten_bind_CExpatJS_CExpatJS_0=function(){return(Er=o._emscripten_bind_CExpatJS_CExpatJS_0=o.asm.B).apply(null,arguments)},gr=o._emscripten_bind_CExpatJS_startElement_0=function(){return(gr=o._emscripten_bind_CExpatJS_startElement_0=o.asm.C).apply(null,arguments)},br=o._emscripten_bind_CExpatJS_endElement_0=function(){return(br=o._emscripten_bind_CExpatJS_endElement_0=o.asm.D).apply(null,arguments)},kr=o._emscripten_bind_CExpatJS_characterData_0=function(){return(kr=o._emscripten_bind_CExpatJS_characterData_0=o.asm.E).apply(null,arguments)},Dr=o._emscripten_bind_CExpatJS___destroy___0=function(){return(Dr=o._emscripten_bind_CExpatJS___destroy___0=o.asm.F).apply(null,arguments)};function Sr(r){function t(){ar||(ar=!0,o.calledRun=!0,h||(o.noFSInit||Y.init.initialized||Y.init(),Y.ignorePermissions=!1,q(j),e(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),function(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)r=o.postRun.shift(),z.unshift(r);var r;q(z)}()))}N>0||(function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)r=o.preRun.shift(),R.unshift(r);var r;q(R)}(),N>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),t()}),1)):t()))}if(o._malloc=function(){return(o._malloc=o.asm.H).apply(null,arguments)},T=function r(){ar||Sr(),ar||(T=r)},o.run=Sr,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();function Ar(){}function Pr(r){return(r||Ar).__cache__}function xr(r,e){var t=Pr(e),n=t[r];return n||((n=Object.create((e||Ar).prototype)).ptr=r,t[r]=n)}Sr(),Ar.prototype=Object.create(Ar.prototype),Ar.prototype.constructor=Ar,Ar.prototype.__class__=Ar,Ar.__cache__={},o.WrapperObject=Ar,o.getCache=Pr,o.wrapPointer=xr,o.castObject=function(r,e){return xr(r.ptr,e)},o.NULL=xr(0),o.destroy=function(r){if(!r.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";r.__destroy__(),delete Pr(r.__class__)[r.ptr]},o.compare=function(r,e){return r.ptr===e.ptr},o.getPointer=function(r){return r.ptr},o.getClass=function(r){return r.__class__};var Fr={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Fr.needed){for(var r=0;r<Fr.temps.length;r++)o._free(Fr.temps[r]);Fr.temps.length=0,o._free(Fr.buffer),Fr.buffer=0,Fr.size+=Fr.needed,Fr.needed=0}Fr.buffer||(Fr.size+=128,Fr.buffer=o._malloc(Fr.size),m(Fr.buffer)),Fr.pos=0},alloc:function(r,e){m(Fr.buffer);var t,n=e.BYTES_PER_ELEMENT,i=r.length*n;return i=i+7&-8,Fr.pos+i>=Fr.size?(m(i>0),Fr.needed+=i,t=o._malloc(i),Fr.temps.push(t)):(t=Fr.buffer+Fr.pos,Fr.pos+=i),t},copy:function(r,e,t){switch(t>>>=0,e.BYTES_PER_ELEMENT){case 2:t>>>=1;break;case 4:t>>>=2;break;case 8:t>>>=3}for(var n=0;n<r.length;n++)e[t+n]=r[n]}};function Mr(){this.ptr=sr(),Pr(Mr)[this.ptr]=this}function Cr(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Rr(){this.ptr=Er(),Pr(Rr)[this.ptr]=this}return Mr.prototype=Object.create(Ar.prototype),Mr.prototype.constructor=Mr,Mr.prototype.__class__=Mr,Mr.__cache__={},o.CExpat=Mr,Mr.prototype.version=Mr.prototype.version=function(){var r=this.ptr;return D(ur(r))},Mr.prototype.create=Mr.prototype.create=function(){var r=this.ptr;return!!cr(r)},Mr.prototype.destroy=Mr.prototype.destroy=function(){var r=this.ptr;lr(r)},Mr.prototype.parse=Mr.prototype.parse=function(r){var e=this.ptr;return Fr.prepare(),r=r&&"object"==typeof r?r.ptr:function(r){if("string"==typeof r){var e=or(r),t=Fr.alloc(e,w);return Fr.copy(e,w,t),t}return r}(r),!!dr(e,r)},Mr.prototype.tag=Mr.prototype.tag=function(){var r=this.ptr;return D(fr(r))},Mr.prototype.attrs=Mr.prototype.attrs=function(){var r=this.ptr;return D(pr(r))},Mr.prototype.content=Mr.prototype.content=function(){var r=this.ptr;return D(hr(r))},Mr.prototype.startElement=Mr.prototype.startElement=function(){var r=this.ptr;mr(r)},Mr.prototype.endElement=Mr.prototype.endElement=function(){var r=this.ptr;vr(r)},Mr.prototype.characterData=Mr.prototype.characterData=function(){var r=this.ptr;wr(r)},Mr.prototype.__destroy__=Mr.prototype.__destroy__=function(){var r=this.ptr;_r(r)},Cr.prototype=Object.create(Ar.prototype),Cr.prototype.constructor=Cr,Cr.prototype.__class__=Cr,Cr.__cache__={},o.VoidPtr=Cr,Cr.prototype.__destroy__=Cr.prototype.__destroy__=function(){var r=this.ptr;yr(r)},Rr.prototype=Object.create(Mr.prototype),Rr.prototype.constructor=Rr,Rr.prototype.__class__=Rr,Rr.__cache__={},o.CExpatJS=Rr,Rr.prototype.startElement=Rr.prototype.startElement=function(){var r=this.ptr;gr(r)},Rr.prototype.endElement=Rr.prototype.endElement=function(){var r=this.ptr;br(r)},Rr.prototype.characterData=Rr.prototype.characterData=function(){var r=this.ptr;kr(r)},Rr.prototype.__destroy__=Rr.prototype.__destroy__=function(){var r=this.ptr;Dr(r)},r.ready},t.exports=o;let a=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}().__hpcc_wasmFolder||void 0;function s(r,e,t){const n=r.default||r;return n.__hpcc_promise||(n.__hpcc_promise=n({wasmBinary:t,locateFile:(r,t)=>\`\${function(r,e){for(;r.charAt(r.length-1)===e;)r=r.substring(0,r.length-1);return r}(e||function(r){if(!arguments.length)return a;const e=a;return a=r,e}()||t||".","/")}/\${function(r,e){for(;r.charAt(0)===e;)r=r.substring(1);return r}(r,"/")}\`})),n.__hpcc_promise}var u={exports:{}};!function(r,e){var t=(()=>{var r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(e){var t,n,o=void 0!==(e=e||{})?e:{};o.ready=new Promise((function(r,e){t=r,n=e}));var i,a,s=Object.assign({},o),u="./this.program",c=(r,e)=>{throw e},l="";"undefined"!=typeof document&&document.currentScript&&(l=document.currentScript.src),r&&(l=r),l=0!==l.indexOf("blob:")?l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},a=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)};var d,f=o.print||console.log.bind(console),p=o.printErr||console.warn.bind(console);Object.assign(o,s),s=null,o.arguments&&o.arguments,o.thisProgram&&(u=o.thisProgram),o.quit&&(c=o.quit),o.wasmBinary&&(d=o.wasmBinary);var h,m=o.noExitRuntime||!0;"object"!=typeof WebAssembly&&O("no native wasm support detected");var v=!1;function w(r,e){r||O(e)}var _,y,E,g,b,k,D,S="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function A(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&S)return S.decode(r.subarray(e,o));for(var i="";e<o;){var a=r[e++];if(128&a){var s=63&r[e++];if(192!=(224&a)){var u=63&r[e++];if((a=224==(240&a)?(15&a)<<12|s<<6|u:(7&a)<<18|s<<12|u<<6|63&r[e++])<65536)i+=String.fromCharCode(a);else{var c=a-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function P(r,e){return r?A(E,r,e):""}function x(r,e,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a<r.length;++a){var s=r.charCodeAt(a);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++a);if(s<=127){if(t>=i)break;e[t++]=s}else if(s<=2047){if(t+1>=i)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=i)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function F(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&r.charCodeAt(++t)),n<=127?++e:e+=n<=2047?2:n<=65535?3:4}return e}function M(r){_=r,o.HEAP8=y=new Int8Array(r),o.HEAP16=g=new Int16Array(r),o.HEAP32=b=new Int32Array(r),o.HEAPU8=E=new Uint8Array(r),o.HEAPU16=new Uint16Array(r),o.HEAPU32=k=new Uint32Array(r),o.HEAPF32=new Float32Array(r),o.HEAPF64=D=new Float64Array(r)}o.INITIAL_MEMORY;var C=[],R=[],j=[];var z=0,N=null;function T(r){z++,o.monitorRunDependencies&&o.monitorRunDependencies(z)}function B(r){if(z--,o.monitorRunDependencies&&o.monitorRunDependencies(z),0==z&&N){var e=N;N=null,e()}}function O(r){o.onAbort&&o.onAbort(r),p(r="Aborted("+r+")"),v=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var L,I,U,H;function q(r){return r.startsWith("data:application/octet-stream;base64,")}function G(r){try{if(r==L&&d)return new Uint8Array(d);throw"both async and sync fetching of the wasm failed"}catch(r){O(r)}}q(L="graphvizlib.wasm")||(I=L,L=o.locateFile?o.locateFile(I,l):l+I);var W={163072:(r,e)=>{var t=P(r),n=P(e);Q.createPath("/",J.dirname(t)),Q.writeFile(J.join("/",t),n)}};function V(r){for(;r.length>0;)r.shift()(o)}var J={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)\$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=J.isAbs(r),t="/"===r.substr(-1);return(r=J.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=J.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=J.normalize(r)).replace(/\\/\$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments,0);return J.normalize(r.join("/"))},join2:(r,e)=>J.normalize(r+"/"+e)};var X={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:Q.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=J.isAbs(n)}return(e?"/":"")+(r=J.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=X.resolve(r).substr(1),e=X.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var u=[];for(s=a;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(a))).join("/")}},Y={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){Y.ttys[r]={input:[],output:[],ops:e},Q.registerDevice(r,Y.stream_ops)},stream_ops:{open:function(r){var e=Y.ttys[r.node.rdev];if(!e)throw new Q.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Q.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Q.ErrnoError(29)}if(void 0===s&&0===i)throw new Q.ErrnoError(6);if(null==s)break;i++,e[t+a]=s}return i&&(r.node.timestamp=Date.now()),i},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Q.ErrnoError(60);try{for(var i=0;i<n;i++)r.tty.ops.put_char(r.tty,e[t+i])}catch(r){throw new Q.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n"),!e)return null;r.input=sr(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(f(A(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},flush:function(r){r.output&&r.output.length>0&&(f(A(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(p(A(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},flush:function(r){r.output&&r.output.length>0&&(p(A(r.output,0)),r.output=[])}}};function K(r){r=function(r,e){return Math.ceil(r/e)*e}(r,65536);var e=_r(65536,r);return e?(function(r,e){E.fill(0,r,r+e)}(e,r),e):0}var \$={ops_table:null,mount:function(r){return \$.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(Q.isBlkdev(t)||Q.isFIFO(t))throw new Q.ErrnoError(63);\$.ops_table||(\$.ops_table={dir:{node:{getattr:\$.node_ops.getattr,setattr:\$.node_ops.setattr,lookup:\$.node_ops.lookup,mknod:\$.node_ops.mknod,rename:\$.node_ops.rename,unlink:\$.node_ops.unlink,rmdir:\$.node_ops.rmdir,readdir:\$.node_ops.readdir,symlink:\$.node_ops.symlink},stream:{llseek:\$.stream_ops.llseek}},file:{node:{getattr:\$.node_ops.getattr,setattr:\$.node_ops.setattr},stream:{llseek:\$.stream_ops.llseek,read:\$.stream_ops.read,write:\$.stream_ops.write,allocate:\$.stream_ops.allocate,mmap:\$.stream_ops.mmap,msync:\$.stream_ops.msync}},link:{node:{getattr:\$.node_ops.getattr,setattr:\$.node_ops.setattr,readlink:\$.node_ops.readlink},stream:{}},chrdev:{node:{getattr:\$.node_ops.getattr,setattr:\$.node_ops.setattr},stream:Q.chrdev_stream_ops}});var o=Q.createNode(r,e,t,n);return Q.isDir(o.mode)?(o.node_ops=\$.ops_table.dir.node,o.stream_ops=\$.ops_table.dir.stream,o.contents={}):Q.isFile(o.mode)?(o.node_ops=\$.ops_table.file.node,o.stream_ops=\$.ops_table.file.stream,o.usedBytes=0,o.contents=null):Q.isLink(o.mode)?(o.node_ops=\$.ops_table.link.node,o.stream_ops=\$.ops_table.link.stream):Q.isChrdev(o.mode)&&(o.node_ops=\$.ops_table.chrdev.node,o.stream_ops=\$.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=Q.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Q.isDir(r.mode)?e.size=4096:Q.isFile(r.mode)?e.size=r.usedBytes:Q.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&\$.resizeFileStorage(r,e.size)},lookup:function(r,e){throw Q.genericErrors[44]},mknod:function(r,e,t,n){return \$.createNode(r,e,t,n)},rename:function(r,e,t){if(Q.isDir(r.mode)){var n;try{n=Q.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new Q.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=Q.lookupNode(r,e);for(var n in t.contents)throw new Q.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=\$.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!Q.isLink(r.mode))throw new Q.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var i=r.node.contents;if(o>=r.node.usedBytes)return 0;var a=Math.min(r.node.usedBytes-o,n);if(a>8&&i.subarray)e.set(i.subarray(o,o+a),t);else for(var s=0;s<a;s++)e[t+s]=i[o+s];return a},write:function(r,e,t,n,o,i){if(e.buffer===y.buffer&&(i=!1),!n)return 0;var a=r.node;if(a.timestamp=Date.now(),e.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=e.subarray(t,t+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=e.slice(t,t+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(e.subarray(t,t+n),o),n}if(\$.expandFileStorage(a,o+n),a.contents.subarray&&e.subarray)a.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=e[t+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Q.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Q.ErrnoError(28);return n},allocate:function(r,e,t){\$.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!Q.isFile(r.node.mode))throw new Q.ErrnoError(43);var i,a,s=r.node.contents;if(2&o||s.buffer!==_){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),a=!0,!(i=K(e)))throw new Q.ErrnoError(48);y.set(s,i)}else a=!1,i=s.byteOffset;return{ptr:i,allocated:a}},msync:function(r,e,t,n,o){if(!Q.isFile(r.node.mode))throw new Q.ErrnoError(43);return 2&o||\$.stream_ops.write(r,e,0,n,t,!1),0}}};var Q={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=X.resolve(Q.cwd(),r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new Q.ErrnoError(32);for(var t=J.normalizeArray(r.split("/").filter((r=>!!r)),!1),n=Q.root,o="/",i=0;i<t.length;i++){var a=i===t.length-1;if(a&&e.parent)break;if(n=Q.lookupNode(n,t[i]),o=J.join2(o,t[i]),Q.isMountpoint(n)&&(!a||a&&e.follow_mount)&&(n=n.mounted.root),!a||e.follow)for(var s=0;Q.isLink(n.mode);){var u=Q.readlink(o);if(o=X.resolve(J.dirname(o),u),n=Q.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new Q.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(Q.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?t+"/"+e:t+e:t}e=e?r.name+"/"+e:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Q.nameTable.length},hashAddNode:r=>{var e=Q.hashName(r.parent.id,r.name);r.name_next=Q.nameTable[e],Q.nameTable[e]=r},hashRemoveNode:r=>{var e=Q.hashName(r.parent.id,r.name);if(Q.nameTable[e]===r)Q.nameTable[e]=r.name_next;else for(var t=Q.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=Q.mayLookup(r);if(t)throw new Q.ErrnoError(t,r);for(var n=Q.hashName(r.id,e),o=Q.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===r.id&&i===e)return o}return Q.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new Q.FSNode(r,e,t,n);return Q.hashAddNode(o),o},destroyNode:r=>{Q.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>49152==(49152&r),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:r=>{var e=Q.flagModes[r];if(void 0===e)throw new Error("Unknown file open mode: "+r);return e},flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Q.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=Q.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{Q.lookupNode(r,e);return 20}catch(r){}return Q.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=Q.lookupNode(r,e)}catch(r){return r.errno}var o=Q.nodePermissions(r,"wx");if(o)return o;if(t){if(!Q.isDir(n.mode))return 54;if(Q.isRoot(n)||Q.getPath(n)===Q.cwd())return 10}else if(Q.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Q.isLink(r.mode)?32:Q.isDir(r.mode)&&("r"!==Q.flagsToPermissionString(e)||512&e)?31:Q.nodePermissions(r,Q.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:(r=0,e=Q.MAX_OPEN_FDS)=>{for(var t=r;t<=e;t++)if(!Q.streams[t])return t;throw new Q.ErrnoError(33)},getStream:r=>Q.streams[r],createStream:(r,e,t)=>{Q.FSStream||(Q.FSStream=function(){this.shared={}},Q.FSStream.prototype={},Object.defineProperties(Q.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new Q.FSStream,r);var n=Q.nextfd(e,t);return r.fd=n,Q.streams[n]=r,r},closeStream:r=>{Q.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=Q.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new Q.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{Q.devices[r]={stream_ops:e}},getDevice:r=>Q.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),Q.syncFSRequests++,Q.syncFSRequests>1&&p("warning: "+Q.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=Q.getMounts(Q.root.mount),n=0;function o(r){return Q.syncFSRequests--,e(r)}function i(r){if(r)return i.errored?void 0:(i.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return i(null);e.type.syncfs(e,r,i)}))},mount:(r,e,t)=>{var n,o="/"===t,i=!t;if(o&&Q.root)throw new Q.ErrnoError(10);if(!o&&!i){var a=Q.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,Q.isMountpoint(n))throw new Q.ErrnoError(10);if(!Q.isDir(n.mode))throw new Q.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?Q.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=Q.lookupPath(r,{follow_mount:!1});if(!Q.isMountpoint(e.node))throw new Q.ErrnoError(28);var t=e.node,n=t.mounted,o=Q.getMounts(n);Object.keys(Q.nameTable).forEach((r=>{for(var e=Q.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&Q.destroyNode(e),e=t}})),t.mounted=null;var i=t.mount.mounts.indexOf(n);t.mount.mounts.splice(i,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=Q.lookupPath(r,{parent:!0}).node,o=J.basename(r);if(!o||"."===o||".."===o)throw new Q.ErrnoError(28);var i=Q.mayCreate(n,o);if(i)throw new Q.ErrnoError(i);if(!n.node_ops.mknod)throw new Q.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,Q.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,Q.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Q.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Q.mknod(r,e,t)),symlink:(r,e)=>{if(!X.resolve(r))throw new Q.ErrnoError(44);var t=Q.lookupPath(e,{parent:!0}).node;if(!t)throw new Q.ErrnoError(44);var n=J.basename(e),o=Q.mayCreate(t,n);if(o)throw new Q.ErrnoError(o);if(!t.node_ops.symlink)throw new Q.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=J.dirname(r),i=J.dirname(e),a=J.basename(r),s=J.basename(e);if(t=Q.lookupPath(r,{parent:!0}).node,n=Q.lookupPath(e,{parent:!0}).node,!t||!n)throw new Q.ErrnoError(44);if(t.mount!==n.mount)throw new Q.ErrnoError(75);var u,c=Q.lookupNode(t,a),l=X.relative(r,i);if("."!==l.charAt(0))throw new Q.ErrnoError(28);if("."!==(l=X.relative(e,o)).charAt(0))throw new Q.ErrnoError(55);try{u=Q.lookupNode(n,s)}catch(r){}if(c!==u){var d=Q.isDir(c.mode),f=Q.mayDelete(t,a,d);if(f)throw new Q.ErrnoError(f);if(f=u?Q.mayDelete(n,s,d):Q.mayCreate(n,s))throw new Q.ErrnoError(f);if(!t.node_ops.rename)throw new Q.ErrnoError(63);if(Q.isMountpoint(c)||u&&Q.isMountpoint(u))throw new Q.ErrnoError(10);if(n!==t&&(f=Q.nodePermissions(t,"w")))throw new Q.ErrnoError(f);Q.hashRemoveNode(c);try{t.node_ops.rename(c,n,s)}catch(r){throw r}finally{Q.hashAddNode(c)}}},rmdir:r=>{var e=Q.lookupPath(r,{parent:!0}).node,t=J.basename(r),n=Q.lookupNode(e,t),o=Q.mayDelete(e,t,!0);if(o)throw new Q.ErrnoError(o);if(!e.node_ops.rmdir)throw new Q.ErrnoError(63);if(Q.isMountpoint(n))throw new Q.ErrnoError(10);e.node_ops.rmdir(e,t),Q.destroyNode(n)},readdir:r=>{var e=Q.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new Q.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=Q.lookupPath(r,{parent:!0}).node;if(!e)throw new Q.ErrnoError(44);var t=J.basename(r),n=Q.lookupNode(e,t),o=Q.mayDelete(e,t,!1);if(o)throw new Q.ErrnoError(o);if(!e.node_ops.unlink)throw new Q.ErrnoError(63);if(Q.isMountpoint(n))throw new Q.ErrnoError(10);e.node_ops.unlink(e,t),Q.destroyNode(n)},readlink:r=>{var e=Q.lookupPath(r).node;if(!e)throw new Q.ErrnoError(44);if(!e.node_ops.readlink)throw new Q.ErrnoError(28);return X.resolve(Q.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=Q.lookupPath(r,{follow:!e}).node;if(!t)throw new Q.ErrnoError(44);if(!t.node_ops.getattr)throw new Q.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>Q.stat(r,!0),chmod:(r,e,t)=>{var n;"string"==typeof r?n=Q.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new Q.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{Q.chmod(r,e,!0)},fchmod:(r,e)=>{var t=Q.getStream(r);if(!t)throw new Q.ErrnoError(8);Q.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;"string"==typeof r?o=Q.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new Q.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{Q.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=Q.getStream(r);if(!n)throw new Q.ErrnoError(8);Q.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new Q.ErrnoError(28);var t;"string"==typeof r?t=Q.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new Q.ErrnoError(63);if(Q.isDir(t.mode))throw new Q.ErrnoError(31);if(!Q.isFile(t.mode))throw new Q.ErrnoError(28);var n=Q.nodePermissions(t,"w");if(n)throw new Q.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=Q.getStream(r);if(!t)throw new Q.ErrnoError(8);if(0==(2097155&t.flags))throw new Q.ErrnoError(28);Q.truncate(t.node,e)},utime:(r,e,t)=>{var n=Q.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new Q.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?Q.modeStringToFlags(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=J.normalize(r);try{n=Q.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var i=!1;if(64&e)if(n){if(128&e)throw new Q.ErrnoError(20)}else n=Q.mknod(r,t,0),i=!0;if(!n)throw new Q.ErrnoError(44);if(Q.isChrdev(n.mode)&&(e&=-513),65536&e&&!Q.isDir(n.mode))throw new Q.ErrnoError(54);if(!i){var a=Q.mayOpen(n,e);if(a)throw new Q.ErrnoError(a)}512&e&&!i&&Q.truncate(n,0),e&=-131713;var s=Q.createStream({node:n,path:Q.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!o.logReadFiles||1&e||(Q.readFiles||(Q.readFiles={}),r in Q.readFiles||(Q.readFiles[r]=1)),s},close:r=>{if(Q.isClosed(r))throw new Q.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Q.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(Q.isClosed(r))throw new Q.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Q.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Q.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new Q.ErrnoError(28);if(Q.isClosed(r))throw new Q.ErrnoError(8);if(1==(2097155&r.flags))throw new Q.ErrnoError(8);if(Q.isDir(r.node.mode))throw new Q.ErrnoError(31);if(!r.stream_ops.read)throw new Q.ErrnoError(28);var i=void 0!==o;if(i){if(!r.seekable)throw new Q.ErrnoError(70)}else o=r.position;var a=r.stream_ops.read(r,e,t,n,o);return i||(r.position+=a),a},write:(r,e,t,n,o,i)=>{if(n<0||o<0)throw new Q.ErrnoError(28);if(Q.isClosed(r))throw new Q.ErrnoError(8);if(0==(2097155&r.flags))throw new Q.ErrnoError(8);if(Q.isDir(r.node.mode))throw new Q.ErrnoError(31);if(!r.stream_ops.write)throw new Q.ErrnoError(28);r.seekable&&1024&r.flags&&Q.llseek(r,0,2);var a=void 0!==o;if(a){if(!r.seekable)throw new Q.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,i);return a||(r.position+=s),s},allocate:(r,e,t)=>{if(Q.isClosed(r))throw new Q.ErrnoError(8);if(e<0||t<=0)throw new Q.ErrnoError(28);if(0==(2097155&r.flags))throw new Q.ErrnoError(8);if(!Q.isFile(r.node.mode)&&!Q.isDir(r.node.mode))throw new Q.ErrnoError(43);if(!r.stream_ops.allocate)throw new Q.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(0!=(2&n)&&0==(2&o)&&2!=(2097155&r.flags))throw new Q.ErrnoError(2);if(1==(2097155&r.flags))throw new Q.ErrnoError(2);if(!r.stream_ops.mmap)throw new Q.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r&&r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new Q.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error('Invalid encoding type "'+e.encoding+'"');var t,n=Q.open(r,e.flags),o=Q.stat(r).size,i=new Uint8Array(o);return Q.read(n,i,0,o,0),"utf8"===e.encoding?t=A(i,0):"binary"===e.encoding&&(t=i),Q.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=Q.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(F(e)+1),i=x(e,o,0,o.length);Q.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");Q.write(n,e,0,e.byteLength,void 0,t.canOwn)}Q.close(n)},cwd:()=>Q.currentPath,chdir:r=>{var e=Q.lookupPath(r,{follow:!0});if(null===e.node)throw new Q.ErrnoError(44);if(!Q.isDir(e.node.mode))throw new Q.ErrnoError(54);var t=Q.nodePermissions(e.node,"x");if(t)throw new Q.ErrnoError(t);Q.currentPath=e.path},createDefaultDirectories:()=>{Q.mkdir("/tmp"),Q.mkdir("/home"),Q.mkdir("/home/web_user")},createDefaultDevices:()=>{Q.mkdir("/dev"),Q.registerDevice(Q.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),Q.mkdev("/dev/null",Q.makedev(1,3)),Y.register(Q.makedev(5,0),Y.default_tty_ops),Y.register(Q.makedev(6,0),Y.default_tty1_ops),Q.mkdev("/dev/tty",Q.makedev(5,0)),Q.mkdev("/dev/tty1",Q.makedev(6,0));var r=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var r=new Uint8Array(1);return function(){return crypto.getRandomValues(r),r[0]}}return function(){O("randomDevice")}}();Q.createDevice("/dev","random",r),Q.createDevice("/dev","urandom",r),Q.mkdir("/dev/shm"),Q.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Q.mkdir("/proc");var r=Q.mkdir("/proc/self");Q.mkdir("/proc/self/fd"),Q.mount({mount:()=>{var e=Q.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=Q.getStream(t);if(!n)throw new Q.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{o.stdin?Q.createDevice("/dev","stdin",o.stdin):Q.symlink("/dev/tty","/dev/stdin"),o.stdout?Q.createDevice("/dev","stdout",null,o.stdout):Q.symlink("/dev/tty","/dev/stdout"),o.stderr?Q.createDevice("/dev","stderr",null,o.stderr):Q.symlink("/dev/tty1","/dev/stderr"),Q.open("/dev/stdin",0),Q.open("/dev/stdout",1),Q.open("/dev/stderr",1)},ensureErrnoError:()=>{Q.ErrnoError||(Q.ErrnoError=function(r,e){this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},Q.ErrnoError.prototype=new Error,Q.ErrnoError.prototype.constructor=Q.ErrnoError,[44].forEach((r=>{Q.genericErrors[r]=new Q.ErrnoError(r),Q.genericErrors[r].stack="<generic error, no stack>"})))},staticInit:()=>{Q.ensureErrnoError(),Q.nameTable=new Array(4096),Q.mount(\$,{},"/"),Q.createDefaultDirectories(),Q.createDefaultDevices(),Q.createSpecialDirectories(),Q.filesystems={MEMFS:\$}},init:(r,e,t)=>{Q.init.initialized=!0,Q.ensureErrnoError(),o.stdin=r||o.stdin,o.stdout=e||o.stdout,o.stderr=t||o.stderr,Q.createStandardStreams()},quit:()=>{Q.init.initialized=!1;for(var r=0;r<Q.streams.length;r++){var e=Q.streams[r];e&&Q.close(e)}},getMode:(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},findObject:(r,e)=>{var t=Q.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=Q.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Q.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=J.basename(r),n=Q.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:Q.getPath(r);for(var o=e.split("/").reverse();o.length;){var i=o.pop();if(i){var a=J.join2(r,i);try{Q.mkdir(a)}catch(r){}r=a}}return a},createFile:(r,e,t,n,o)=>{var i=J.join2("string"==typeof r?r:Q.getPath(r),e),a=Q.getMode(n,o);return Q.create(i,a)},createDataFile:(r,e,t,n,o,i)=>{var a=e;r&&(r="string"==typeof r?r:Q.getPath(r),a=e?J.join2(r,e):r);var s=Q.getMode(n,o),u=Q.create(a,s);if(t){if("string"==typeof t){for(var c=new Array(t.length),l=0,d=t.length;l<d;++l)c[l]=t.charCodeAt(l);t=c}Q.chmod(u,146|s);var f=Q.open(u,577);Q.write(f,t,0,t.length,0,i),Q.close(f),Q.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=J.join2("string"==typeof r?r:Q.getPath(r),e),i=Q.getMode(!!t,!!n);Q.createDevice.major||(Q.createDevice.major=64);var a=Q.makedev(Q.createDevice.major++,0);return Q.registerDevice(a,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,i)=>{for(var a=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new Q.ErrnoError(29)}if(void 0===u&&0===a)throw new Q.ErrnoError(6);if(null==u)break;a++,e[n+s]=u}return a&&(r.node.timestamp=Date.now()),a},write:(r,e,t,o,i)=>{for(var a=0;a<o;a++)try{n(e[t+a])}catch(r){throw new Q.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),a}}),Q.mkdev(o,i,a)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=sr(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new Q.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},i.prototype.setDataGetter=function(r){this.getter=r},i.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;o||(a=n);var s=this;s.setDataGetter((r=>{var e=r*a,o=(r+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==a&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):sr(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,f("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},s=Q.createFile(r,e,a,n,o);a.contents?s.contents=a.contents:a.url&&(s.contents=null,s.url=a.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(r,e,t,n,o){var i=r.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)e[t+s]=i[o+s];else for(s=0;s<a;s++)e[t+s]=i.get(o+s);return a}return Object.keys(s.stream_ops).forEach((r=>{var e=s.stream_ops[r];u[r]=function(){return Q.forceLoadFile(s),e.apply(null,arguments)}})),u.read=(r,e,t,n,o)=>(Q.forceLoadFile(s),c(r,e,t,n,o)),u.mmap=(r,e,t,n,o)=>{Q.forceLoadFile(s);var i=K(e);if(!i)throw new Q.ErrnoError(48);return c(r,y,i,e,t),{ptr:i,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(r,e,t,n,o,i,s,u,c,l)=>{var d=e?X.resolve(J.join2(r,e)):r;function f(t){function a(t){l&&l(),u||Q.createDataFile(r,e,t,n,o,c),i&&i(),B()}Browser.handledByPreloadPlugin(t,d,a,(()=>{s&&s(),B()}))||a(t)}T(),"string"==typeof t?function(r,e,t,n){var o=n?"":"al "+r;a(r,(function(t){w(t,'Loading data file "'+r+'" failed (no arrayBuffer).'),e(new Uint8Array(t)),o&&B()}),(function(e){if(!t)throw'Loading data file "'+r+'" failed.';t()})),o&&T()}(t,(r=>f(r)),s):f(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(r,e,t)=>{e=e||(()=>{}),t=t||(()=>{});var n=Q.indexedDB();try{var o=n.open(Q.DB_NAME(),Q.DB_VERSION)}catch(r){return t(r)}o.onupgradeneeded=()=>{f("creating db"),o.result.createObjectStore(Q.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([Q.DB_STORE_NAME],"readwrite"),i=n.objectStore(Q.DB_STORE_NAME),a=0,s=0,u=r.length;function c(){0==s?e():t()}r.forEach((r=>{var e=i.put(Q.analyzePath(r).object.contents,r);e.onsuccess=()=>{++a+s==u&&c()},e.onerror=()=>{s++,a+s==u&&c()}})),n.onerror=t},o.onerror=t},loadFilesFromDB:(r,e,t)=>{e=e||(()=>{}),t=t||(()=>{});var n=Q.indexedDB();try{var o=n.open(Q.DB_NAME(),Q.DB_VERSION)}catch(r){return t(r)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var i=n.transaction([Q.DB_STORE_NAME],"readonly")}catch(r){return void t(r)}var a=i.objectStore(Q.DB_STORE_NAME),s=0,u=0,c=r.length;function l(){0==u?e():t()}r.forEach((r=>{var e=a.get(r);e.onsuccess=()=>{Q.analyzePath(r).exists&&Q.unlink(r),Q.createDataFile(J.dirname(r),J.basename(r),e.result,!0,!0,!0),++s+u==c&&l()},e.onerror=()=>{u++,s+u==c&&l()}})),i.onerror=t},o.onerror=t}},Z={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(J.isAbs(e))return e;var n;if(-100===r)n=Q.cwd();else{var o=Q.getStream(r);if(!o)throw new Q.ErrnoError(8);n=o.path}if(0==e.length){if(!t)throw new Q.ErrnoError(44);return n}return J.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&J.normalize(e)!==J.normalize(Q.getPath(r.node)))return-54;throw r}return b[t>>2]=n.dev,b[t+4>>2]=0,b[t+8>>2]=n.ino,b[t+12>>2]=n.mode,b[t+16>>2]=n.nlink,b[t+20>>2]=n.uid,b[t+24>>2]=n.gid,b[t+28>>2]=n.rdev,b[t+32>>2]=0,H=[n.size>>>0,(U=n.size,+Math.abs(U)>=1?U>0?(0|Math.min(+Math.floor(U/4294967296),4294967295))>>>0:~~+Math.ceil((U-+(~~U>>>0))/4294967296)>>>0:0)],b[t+40>>2]=H[0],b[t+44>>2]=H[1],b[t+48>>2]=4096,b[t+52>>2]=n.blocks,b[t+56>>2]=n.atime.getTime()/1e3|0,b[t+60>>2]=0,b[t+64>>2]=n.mtime.getTime()/1e3|0,b[t+68>>2]=0,b[t+72>>2]=n.ctime.getTime()/1e3|0,b[t+76>>2]=0,H=[n.ino>>>0,(U=n.ino,+Math.abs(U)>=1?U>0?(0|Math.min(+Math.floor(U/4294967296),4294967295))>>>0:~~+Math.ceil((U-+(~~U>>>0))/4294967296)>>>0:0)],b[t+80>>2]=H[0],b[t+84>>2]=H[1],0},doMsync:function(r,e,t,n,o){var i=E.slice(r,r+t);Q.msync(e,i,o,t,n)},varargs:void 0,get:function(){return Z.varargs+=4,b[Z.varargs-4>>2]},getStr:function(r){return P(r)},getStreamFromFD:function(r){var e=Q.getStream(r);if(!e)throw new Q.ErrnoError(8);return e}};var rr=[];function er(r){try{return h.grow(r-_.byteLength+65535>>>16),M(h.buffer),1}catch(r){}}var tr={};function nr(){if(!nr.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var e in tr)void 0===tr[e]?delete r[e]:r[e]=tr[e];var t=[];for(var e in r)t.push(e+"="+r[e]);nr.strings=t}return nr.strings}var or=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=Q.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},ir=365,ar=146;function sr(r,e,t){var n=t>0?t:F(r)+1,o=new Array(n),i=x(r,o,0,o.length);return e&&(o.length=i),o}Object.defineProperties(or.prototype,{read:{get:function(){return(this.mode&ir)===ir},set:function(r){r?this.mode|=ir:this.mode&=-366}},write:{get:function(){return(this.mode&ar)===ar},set:function(r){r?this.mode|=ar:this.mode&=-147}},isFolder:{get:function(){return Q.isDir(this.mode)}},isDevice:{get:function(){return Q.isChrdev(this.mode)}}}),Q.FSNode=or,Q.staticInit();var ur={k:function(r,e,t,n){try{if(e=Z.getStr(e),e=Z.calculateAt(r,e),-8&t)return-28;var o=Q.lookupPath(e,{follow:!0}).node;if(!o)return-44;var i="";return 4&t&&(i+="r"),2&t&&(i+="w"),1&t&&(i+="x"),i&&Q.nodePermissions(o,i)?-2:0}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},f:function(r,e,t){Z.varargs=t;try{var n=Z.getStreamFromFD(r);switch(e){case 0:return(o=Z.get())<0?-28:Q.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=Z.get();return n.flags|=o,0;case 5:o=Z.get();return g[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return i=28,b[wr()>>2]=i,-1}}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}var i},u:function(r,e){try{var t=Z.getStreamFromFD(r);return Z.doStat(Q.stat,t.path,e)}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},v:function(r,e,t){Z.varargs=t;try{var n=Z.getStreamFromFD(r);switch(e){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=Z.get();return b[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=Z.get();return Q.ioctl(n,e,o);default:O("bad ioctl syscall "+e)}}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},s:function(r,e,t,n){try{e=Z.getStr(e);var o=256&n,i=4096&n;return n&=-4353,e=Z.calculateAt(r,e,i),Z.doStat(o?Q.lstat:Q.stat,e,t)}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},c:function(r,e,t,n){Z.varargs=n;try{e=Z.getStr(e),e=Z.calculateAt(r,e);var o=n?Z.get():0;return Q.open(e,t,o).fd}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},t:function(r,e){try{return r=Z.getStr(r),Z.doStat(Q.stat,r,e)}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},n:function(r,e,t){try{return e=Z.getStr(e),e=Z.calculateAt(r,e),0===t?Q.unlink(e):512===t?Q.rmdir(e):O("Invalid flags passed to unlinkat"),0}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},d:function(){return Date.now()},i:function(){return true},o:function(r,e,t,n,o,i){try{var a=Q.getStream(n);if(!a)return-8;var s=Q.mmap(a,r,o,e,t),u=s.ptr;return b[i>>2]=s.allocated,u}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},p:function(r,e,t,n,o,i){try{var a=Q.getStream(o);a&&(2&t&&Z.doMsync(r,a,e,n,i),Q.munmap(a))}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return-r.errno}},a:function(){O("")},w:function(r,e,t){var n=function(r,e){var t;for(rr.length=0,e>>=2;t=E[r++];)e+=105!=t&e,rr.push(105==t?b[e]:D[e++>>1]),++e;return rr}(e,t);return W[r].apply(null,n)},j:function(r,e,t){E.copyWithin(r,e,e+t)},m:function(r){var e,t,n=E.length,o=2147483648;if((r>>>=0)>o)return!1;for(var i=1;i<=4;i*=2){var a=n*(1+.2/i);if(a=Math.min(a,r+100663296),er(Math.min(o,(e=Math.max(r,a))+((t=65536)-e%t)%t)))return!0}return!1},q:function(r,e){var t=0;return nr().forEach((function(n,o){var i=e+t;k[r+4*o>>2]=i,function(r,e,t){for(var n=0;n<r.length;++n)y[e++>>0]=r.charCodeAt(n);t||(y[e>>0]=0)}(n,i),t+=n.length+1})),0},r:function(r,e){var t=nr();k[r>>2]=t.length;var n=0;return t.forEach((function(r){n+=r.length+1})),k[e>>2]=n,0},e:function(r){!function(r,e){!function(r){m||(o.onExit&&o.onExit(r),v=!0);c(r,new yr(r))}(r)}(r)},b:function(r){try{var e=Z.getStreamFromFD(r);return Q.close(e),0}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return r.errno}},g:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,i=0;i<t;i++){var a=k[e>>2],s=k[e+4>>2];e+=8;var u=Q.read(r,y,a,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o}(Z.getStreamFromFD(r),e,t);return b[n>>2]=o,0}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return r.errno}},l:function(r,e,t,n,o){try{var i=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(i))return 61;var a=Z.getStreamFromFD(r);return Q.llseek(a,i,n),H=[a.position>>>0,(U=a.position,+Math.abs(U)>=1?U>0?(0|Math.min(+Math.floor(U/4294967296),4294967295))>>>0:~~+Math.ceil((U-+(~~U>>>0))/4294967296)>>>0:0)],b[o>>2]=H[0],b[o+4>>2]=H[1],a.getdents&&0===i&&0===n&&(a.getdents=null),0}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return r.errno}var s,u},h:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,i=0;i<t;i++){var a=k[e>>2],s=k[e+4>>2];e+=8;var u=Q.write(r,y,a,s,n);if(u<0)return-1;o+=u}return o}(Z.getStreamFromFD(r),e,t);return k[n>>2]=o,0}catch(r){if(void 0===Q||!(r instanceof Q.ErrnoError))throw r;return r.errno}}};!function(){var r={a:ur};function e(r,e){var t,n=r.exports;o.asm=n,M((h=o.asm.x).buffer),o.asm.G,t=o.asm.y,R.unshift(t),B()}function t(r){e(r.instance)}function i(e){return(d||"function"!=typeof fetch?Promise.resolve().then((function(){return G(L)})):fetch(L,{credentials:"same-origin"}).then((function(r){if(!r.ok)throw"failed to load wasm binary file at '"+L+"'";return r.arrayBuffer()})).catch((function(){return G(L)}))).then((function(e){return WebAssembly.instantiate(e,r)})).then((function(r){return r})).then(e,(function(r){p("failed to asynchronously prepare wasm: "+r),O(r)}))}if(T(),o.instantiateWasm)try{return o.instantiateWasm(r,e)}catch(r){return p("Module.instantiateWasm callback failed with error: "+r),!1}(d||"function"!=typeof WebAssembly.instantiateStreaming||q(L)||"function"!=typeof fetch?i(t):fetch(L,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,r).then(t,(function(r){return p("wasm streaming compile failed: "+r),p("falling back to ArrayBuffer instantiation"),i(t)}))}))).catch(n)}(),o.___wasm_call_ctors=function(){return(o.___wasm_call_ctors=o.asm.y).apply(null,arguments)};var cr=o._emscripten_bind_VoidPtr___destroy___0=function(){return(cr=o._emscripten_bind_VoidPtr___destroy___0=o.asm.z).apply(null,arguments)},lr=o._emscripten_bind_Graphviz_Graphviz_2=function(){return(lr=o._emscripten_bind_Graphviz_Graphviz_2=o.asm.A).apply(null,arguments)},dr=o._emscripten_bind_Graphviz_version_0=function(){return(dr=o._emscripten_bind_Graphviz_version_0=o.asm.B).apply(null,arguments)},fr=o._emscripten_bind_Graphviz_lastError_0=function(){return(fr=o._emscripten_bind_Graphviz_lastError_0=o.asm.C).apply(null,arguments)},pr=o._emscripten_bind_Graphviz_layout_3=function(){return(pr=o._emscripten_bind_Graphviz_layout_3=o.asm.D).apply(null,arguments)},hr=o._emscripten_bind_Graphviz_createFile_2=function(){return(hr=o._emscripten_bind_Graphviz_createFile_2=o.asm.E).apply(null,arguments)},mr=o._emscripten_bind_Graphviz___destroy___0=function(){return(mr=o._emscripten_bind_Graphviz___destroy___0=o.asm.F).apply(null,arguments)};o._free=function(){return(o._free=o.asm.H).apply(null,arguments)},o._malloc=function(){return(o._malloc=o.asm.I).apply(null,arguments)};var vr,wr=o.___errno_location=function(){return(wr=o.___errno_location=o.asm.J).apply(null,arguments)},_r=o._emscripten_builtin_memalign=function(){return(_r=o._emscripten_builtin_memalign=o.asm.K).apply(null,arguments)};function yr(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}function Er(r){function e(){vr||(vr=!0,o.calledRun=!0,v||(o.noFSInit||Q.init.initialized||Q.init(),Q.ignorePermissions=!1,V(R),t(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),function(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)r=o.postRun.shift(),j.unshift(r);var r;V(j)}()))}z>0||(!function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)r=o.preRun.shift(),C.unshift(r);var r;V(C)}(),z>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),e()}),1)):e()))}if(N=function r(){vr||Er(),vr||(N=r)},o.run=Er,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();function gr(){}function br(r){return(r||gr).__cache__}function kr(r,e){var t=br(e),n=t[r];return n||((n=Object.create((e||gr).prototype)).ptr=r,t[r]=n)}Er(),gr.prototype=Object.create(gr.prototype),gr.prototype.constructor=gr,gr.prototype.__class__=gr,gr.__cache__={},o.WrapperObject=gr,o.getCache=br,o.wrapPointer=kr,o.castObject=function(r,e){return kr(r.ptr,e)},o.NULL=kr(0),o.destroy=function(r){if(!r.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";r.__destroy__(),delete br(r.__class__)[r.ptr]},o.compare=function(r,e){return r.ptr===e.ptr},o.getPointer=function(r){return r.ptr},o.getClass=function(r){return r.__class__};var Dr={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Dr.needed){for(var r=0;r<Dr.temps.length;r++)o._free(Dr.temps[r]);Dr.temps.length=0,o._free(Dr.buffer),Dr.buffer=0,Dr.size+=Dr.needed,Dr.needed=0}Dr.buffer||(Dr.size+=128,Dr.buffer=o._malloc(Dr.size),w(Dr.buffer)),Dr.pos=0},alloc:function(r,e){w(Dr.buffer);var t,n=e.BYTES_PER_ELEMENT,i=r.length*n;return i=i+7&-8,Dr.pos+i>=Dr.size?(w(i>0),Dr.needed+=i,t=o._malloc(i),Dr.temps.push(t)):(t=Dr.buffer+Dr.pos,Dr.pos+=i),t},copy:function(r,e,t){switch(t>>>=0,e.BYTES_PER_ELEMENT){case 2:t>>>=1;break;case 4:t>>>=2;break;case 8:t>>>=3}for(var n=0;n<r.length;n++)e[t+n]=r[n]}};function Sr(r){if("string"==typeof r){var e=sr(r),t=Dr.alloc(e,y);return Dr.copy(e,y,t),t}return r}function Ar(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Pr(r,e){r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=lr(r,e),br(Pr)[this.ptr]=this}return Ar.prototype=Object.create(gr.prototype),Ar.prototype.constructor=Ar,Ar.prototype.__class__=Ar,Ar.__cache__={},o.VoidPtr=Ar,Ar.prototype.__destroy__=Ar.prototype.__destroy__=function(){var r=this.ptr;cr(r)},Pr.prototype=Object.create(gr.prototype),Pr.prototype.constructor=Pr,Pr.prototype.__class__=Pr,Pr.__cache__={},o.Graphviz=Pr,Pr.prototype.version=Pr.prototype.version=function(){var r=this.ptr;return P(dr(r))},Pr.prototype.lastError=Pr.prototype.lastError=function(){var r=this.ptr;return P(fr(r))},Pr.prototype.layout=Pr.prototype.layout=function(r,e,t){var n=this.ptr;return Dr.prepare(),r=r&&"object"==typeof r?r.ptr:Sr(r),e=e&&"object"==typeof e?e.ptr:Sr(e),t=t&&"object"==typeof t?t.ptr:Sr(t),P(pr(n,r,e,t))},Pr.prototype.createFile=Pr.prototype.createFile=function(r,e){var t=this.ptr;Dr.prepare(),r=r&&"object"==typeof r?r.ptr:Sr(r),e=e&&"object"==typeof e?e.ptr:Sr(e),hr(t,r,e)},Pr.prototype.__destroy__=Pr.prototype.__destroy__=function(){var r=this.ptr;mr(r)},e.ready}})();r.exports=t}(u);var c=e({__proto__:null,default:u.exports},[u.exports]);function l(r){return{path:r.path,data:\`<?xml version="1.0" encoding="UTF-8" standalone="no"?>\\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\\n<svg width="\${r.width}" height="\${r.height}"></svg>\`}}const d={layout:(r,e="svg",t="dot",n)=>r?s(c,null==n?void 0:n.wasmFolder,null==n?void 0:n.wasmBinary).then((o=>{const i=new o.Graphviz(void 0!==(null==n?void 0:n.yInvert)&&(null==n?void 0:n.yInvert),void 0!==(null==n?void 0:n.nop)?null==n?void 0:n.nop:0);!function(r,e){const t={images:[],files:[],...e};var n;[...t.files,...(n=t.images,n.map(l))].forEach((e=>r.createFile(e.path,e.data)))}(i,n);const a=i.layout(r,e,t);if(o.destroy(i),!a)throw new Error(o.Graphviz.prototype.lastError());return a})):Promise.resolve(""),circo(r,e="svg",t){return this.layout(r,e,"circo",t)},dot(r,e="svg",t){return this.layout(r,e,"dot",t)},fdp(r,e="svg",t){return this.layout(r,e,"fdp",t)},sfdp(r,e="svg",t){return this.layout(r,e,"sfdp",t)},neato(r,e="svg",t){return this.layout(r,e,"neato",t)},osage(r,e="svg",t){return this.layout(r,e,"osage",t)},patchwork(r,e="svg",t){return this.layout(r,e,"patchwork",t)},twopi(r,e="svg",t){return this.layout(r,e,"twopi",t)}};var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var p={exports:{}};
|
|
53
|
+
const workerCode = `!function(){"use strict";function r(r,e,t){if(t||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return r.concat(n||Array.prototype.slice.call(e))}"undefined"!=typeof document&&document.currentScript&&document.currentScript.src;let e=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}().__hpcc_wasmFolder||void 0;let t="undefined"!=typeof document&&document.currentScript?document.currentScript.src:"undefined"!=typeof __filename?__filename:"undefined"!=typeof document&&document.currentScript?document.currentScript.src:"";t=t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1);const n={};async function o(r,e,t){const n=r.default||r;return t||(t=await async function(r){return fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()})).catch((r=>{throw r}))}(e)),await n({wasmBinary:t})}async function i(r,i,a,s){const u=\`\${function(r,e){for(;r.charAt(r.length-1)===e;)r=r.substring(0,r.length-1);return r}(a||function(r){if(!arguments.length)return e;const t=e;return e=r,t}()||t||".","/")}/\${function(r,e){for(;r.charAt(0)===e;)r=r.substring(1);return r}(\`\${i}.wasm\`,"/")}\`;return n[u]||(n[u]=o(r,u,s)),n[u]}var a=(()=>{var r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(e){var t,n,o=void 0!==(e=e||{})?e:{};o.ready=new Promise((function(r,e){t=r,n=e}));var i,a,s=Object.assign({},o),u="./this.program",c=(r,e)=>{throw e},l="";"undefined"!=typeof document&&document.currentScript&&(l=document.currentScript.src),r&&(l=r),l=0!==l.indexOf("blob:")?l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},a=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)};var f,d=o.print||console.log.bind(console),p=o.printErr||console.warn.bind(console);Object.assign(o,s),s=null,o.arguments&&o.arguments,o.thisProgram&&(u=o.thisProgram),o.quit&&(c=o.quit),o.wasmBinary&&(f=o.wasmBinary);var h,m=o.noExitRuntime||!0;"object"!=typeof WebAssembly&&C("no native wasm support detected");var v=!1;function w(r,e){r||C(e)}var y,_,g,E,b,k,S,D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function A(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&D)return D.decode(r.subarray(e,o));for(var i="";e<o;){var a=r[e++];if(128&a){var s=63&r[e++];if(192!=(224&a)){var u=63&r[e++];if((a=224==(240&a)?(15&a)<<12|s<<6|u:(7&a)<<18|s<<12|u<<6|63&r[e++])<65536)i+=String.fromCharCode(a);else{var c=a-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function F(r,e){return r?A(g,r,e):""}function M(r,e,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a<r.length;++a){var s=r.charCodeAt(a);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++a);if(s<=127){if(t>=i)break;e[t++]=s}else if(s<=2047){if(t+1>=i)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=i)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function P(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e}function x(r){y=r,o.HEAP8=_=new Int8Array(r),o.HEAP16=E=new Int16Array(r),o.HEAP32=b=new Int32Array(r),o.HEAPU8=g=new Uint8Array(r),o.HEAPU16=new Uint16Array(r),o.HEAPU32=k=new Uint32Array(r),o.HEAPF32=new Float32Array(r),o.HEAPF64=S=new Float64Array(r)}o.INITIAL_MEMORY;var j=[],z=[],T=[];var R=0,B=null;function N(r){R++,o.monitorRunDependencies&&o.monitorRunDependencies(R)}function O(r){if(R--,o.monitorRunDependencies&&o.monitorRunDependencies(R),0==R&&B){var e=B;B=null,e()}}function C(r){o.onAbort&&o.onAbort(r),p(r="Aborted("+r+")"),v=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var L,I,G,U;function H(r){return r.startsWith("data:application/octet-stream;base64,")}function q(r){try{if(r==L&&f)return new Uint8Array(f);throw"both async and sync fetching of the wasm failed"}catch(r){C(r)}}H(L="graphvizlib.wasm")||(I=L,L=o.locateFile?o.locateFile(I,l):l+I);var V={163264:(r,e)=>{var t=F(r),n=F(e);rr.createPath("/",Y.dirname(t)),rr.writeFile(Y.join("/",t),n)}};function W(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}function X(r){for(;r.length>0;)r.shift()(o)}var Y={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)\$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=Y.isAbs(r),t="/"===r.substr(-1);return(r=Y.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=Y.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=Y.normalize(r)).replace(/\\/\$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments);return Y.normalize(r.join("/"))},join2:(r,e)=>Y.normalize(r+"/"+e)};var \$={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:rr.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=Y.isAbs(n)}return(e?"/":"")+(r=Y.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=\$.resolve(r).substr(1),e=\$.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var u=[];for(s=a;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(a))).join("/")}};function K(r,e,t){var n=t>0?t:P(r)+1,o=new Array(n),i=M(r,o,0,o.length);return e&&(o.length=i),o}var J={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){J.ttys[r]={input:[],output:[],ops:e},rr.registerDevice(r,J.stream_ops)},stream_ops:{open:function(r){var e=J.ttys[r.node.rdev];if(!e)throw new rr.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.fsync(r.tty)},fsync:function(r){r.tty.ops.fsync(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new rr.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new rr.ErrnoError(29)}if(void 0===s&&0===i)throw new rr.ErrnoError(6);if(null==s)break;i++,e[t+a]=s}return i&&(r.node.timestamp=Date.now()),i},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new rr.ErrnoError(60);try{for(var i=0;i<n;i++)r.tty.ops.put_char(r.tty,e[t+i])}catch(r){throw new rr.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n"),!e)return null;r.input=K(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(d(A(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(d(A(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(p(A(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(p(A(r.output,0)),r.output=[])}}};function Q(r){r=function(r,e){return Math.ceil(r/e)*e}(r,65536);var e=Er(65536,r);return e?function(r,e){return g.fill(0,r,r+e),r}(e,r):0}var Z={ops_table:null,mount:function(r){return Z.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(rr.isBlkdev(t)||rr.isFIFO(t))throw new rr.ErrnoError(63);Z.ops_table||(Z.ops_table={dir:{node:{getattr:Z.node_ops.getattr,setattr:Z.node_ops.setattr,lookup:Z.node_ops.lookup,mknod:Z.node_ops.mknod,rename:Z.node_ops.rename,unlink:Z.node_ops.unlink,rmdir:Z.node_ops.rmdir,readdir:Z.node_ops.readdir,symlink:Z.node_ops.symlink},stream:{llseek:Z.stream_ops.llseek}},file:{node:{getattr:Z.node_ops.getattr,setattr:Z.node_ops.setattr},stream:{llseek:Z.stream_ops.llseek,read:Z.stream_ops.read,write:Z.stream_ops.write,allocate:Z.stream_ops.allocate,mmap:Z.stream_ops.mmap,msync:Z.stream_ops.msync}},link:{node:{getattr:Z.node_ops.getattr,setattr:Z.node_ops.setattr,readlink:Z.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Z.node_ops.getattr,setattr:Z.node_ops.setattr},stream:rr.chrdev_stream_ops}});var o=rr.createNode(r,e,t,n);return rr.isDir(o.mode)?(o.node_ops=Z.ops_table.dir.node,o.stream_ops=Z.ops_table.dir.stream,o.contents={}):rr.isFile(o.mode)?(o.node_ops=Z.ops_table.file.node,o.stream_ops=Z.ops_table.file.stream,o.usedBytes=0,o.contents=null):rr.isLink(o.mode)?(o.node_ops=Z.ops_table.link.node,o.stream_ops=Z.ops_table.link.stream):rr.isChrdev(o.mode)&&(o.node_ops=Z.ops_table.chrdev.node,o.stream_ops=Z.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=rr.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,rr.isDir(r.mode)?e.size=4096:rr.isFile(r.mode)?e.size=r.usedBytes:rr.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&Z.resizeFileStorage(r,e.size)},lookup:function(r,e){throw rr.genericErrors[44]},mknod:function(r,e,t,n){return Z.createNode(r,e,t,n)},rename:function(r,e,t){if(rr.isDir(r.mode)){var n;try{n=rr.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new rr.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=rr.lookupNode(r,e);for(var n in t.contents)throw new rr.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=Z.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!rr.isLink(r.mode))throw new rr.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var i=r.node.contents;if(o>=r.node.usedBytes)return 0;var a=Math.min(r.node.usedBytes-o,n);if(a>8&&i.subarray)e.set(i.subarray(o,o+a),t);else for(var s=0;s<a;s++)e[t+s]=i[o+s];return a},write:function(r,e,t,n,o,i){if(e.buffer===_.buffer&&(i=!1),!n)return 0;var a=r.node;if(a.timestamp=Date.now(),e.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=e.subarray(t,t+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=e.slice(t,t+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(e.subarray(t,t+n),o),n}if(Z.expandFileStorage(a,o+n),a.contents.subarray&&e.subarray)a.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=e[t+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&rr.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new rr.ErrnoError(28);return n},allocate:function(r,e,t){Z.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!rr.isFile(r.node.mode))throw new rr.ErrnoError(43);var i,a,s=r.node.contents;if(2&o||s.buffer!==y){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),a=!0,!(i=Q(e)))throw new rr.ErrnoError(48);_.set(s,i)}else a=!1,i=s.byteOffset;return{ptr:i,allocated:a}},msync:function(r,e,t,n,o){if(!rr.isFile(r.node.mode))throw new rr.ErrnoError(43);return 2&o||Z.stream_ops.write(r,e,0,n,t,!1),0}}};var rr={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=\$.resolve(rr.cwd(),r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new rr.ErrnoError(32);for(var t=Y.normalizeArray(r.split("/").filter((r=>!!r)),!1),n=rr.root,o="/",i=0;i<t.length;i++){var a=i===t.length-1;if(a&&e.parent)break;if(n=rr.lookupNode(n,t[i]),o=Y.join2(o,t[i]),rr.isMountpoint(n)&&(!a||a&&e.follow_mount)&&(n=n.mounted.root),!a||e.follow)for(var s=0;rr.isLink(n.mode);){var u=rr.readlink(o);if(o=\$.resolve(Y.dirname(o),u),n=rr.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new rr.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(rr.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?t+"/"+e:t+e:t}e=e?r.name+"/"+e:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%rr.nameTable.length},hashAddNode:r=>{var e=rr.hashName(r.parent.id,r.name);r.name_next=rr.nameTable[e],rr.nameTable[e]=r},hashRemoveNode:r=>{var e=rr.hashName(r.parent.id,r.name);if(rr.nameTable[e]===r)rr.nameTable[e]=r.name_next;else for(var t=rr.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=rr.mayLookup(r);if(t)throw new rr.ErrnoError(t,r);for(var n=rr.hashName(r.id,e),o=rr.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===r.id&&i===e)return o}return rr.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new rr.FSNode(r,e,t,n);return rr.hashAddNode(o),o},destroyNode:r=>{rr.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>49152==(49152&r),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:r=>{var e=rr.flagModes[r];if(void 0===e)throw new Error("Unknown file open mode: "+r);return e},flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>rr.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=rr.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{rr.lookupNode(r,e);return 20}catch(r){}return rr.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=rr.lookupNode(r,e)}catch(r){return r.errno}var o=rr.nodePermissions(r,"wx");if(o)return o;if(t){if(!rr.isDir(n.mode))return 54;if(rr.isRoot(n)||rr.getPath(n)===rr.cwd())return 10}else if(rr.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?rr.isLink(r.mode)?32:rr.isDir(r.mode)&&("r"!==rr.flagsToPermissionString(e)||512&e)?31:rr.nodePermissions(r,rr.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:(r=0,e=rr.MAX_OPEN_FDS)=>{for(var t=r;t<=e;t++)if(!rr.streams[t])return t;throw new rr.ErrnoError(33)},getStream:r=>rr.streams[r],createStream:(r,e,t)=>{rr.FSStream||(rr.FSStream=function(){this.shared={}},rr.FSStream.prototype={},Object.defineProperties(rr.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new rr.FSStream,r);var n=rr.nextfd(e,t);return r.fd=n,rr.streams[n]=r,r},closeStream:r=>{rr.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=rr.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new rr.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{rr.devices[r]={stream_ops:e}},getDevice:r=>rr.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),rr.syncFSRequests++,rr.syncFSRequests>1&&p("warning: "+rr.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=rr.getMounts(rr.root.mount),n=0;function o(r){return rr.syncFSRequests--,e(r)}function i(r){if(r)return i.errored?void 0:(i.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return i(null);e.type.syncfs(e,r,i)}))},mount:(r,e,t)=>{var n,o="/"===t,i=!t;if(o&&rr.root)throw new rr.ErrnoError(10);if(!o&&!i){var a=rr.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,rr.isMountpoint(n))throw new rr.ErrnoError(10);if(!rr.isDir(n.mode))throw new rr.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?rr.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=rr.lookupPath(r,{follow_mount:!1});if(!rr.isMountpoint(e.node))throw new rr.ErrnoError(28);var t=e.node,n=t.mounted,o=rr.getMounts(n);Object.keys(rr.nameTable).forEach((r=>{for(var e=rr.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&rr.destroyNode(e),e=t}})),t.mounted=null;var i=t.mount.mounts.indexOf(n);t.mount.mounts.splice(i,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=rr.lookupPath(r,{parent:!0}).node,o=Y.basename(r);if(!o||"."===o||".."===o)throw new rr.ErrnoError(28);var i=rr.mayCreate(n,o);if(i)throw new rr.ErrnoError(i);if(!n.node_ops.mknod)throw new rr.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,rr.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,rr.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{rr.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,rr.mknod(r,e,t)),symlink:(r,e)=>{if(!\$.resolve(r))throw new rr.ErrnoError(44);var t=rr.lookupPath(e,{parent:!0}).node;if(!t)throw new rr.ErrnoError(44);var n=Y.basename(e),o=rr.mayCreate(t,n);if(o)throw new rr.ErrnoError(o);if(!t.node_ops.symlink)throw new rr.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=Y.dirname(r),i=Y.dirname(e),a=Y.basename(r),s=Y.basename(e);if(t=rr.lookupPath(r,{parent:!0}).node,n=rr.lookupPath(e,{parent:!0}).node,!t||!n)throw new rr.ErrnoError(44);if(t.mount!==n.mount)throw new rr.ErrnoError(75);var u,c=rr.lookupNode(t,a),l=\$.relative(r,i);if("."!==l.charAt(0))throw new rr.ErrnoError(28);if("."!==(l=\$.relative(e,o)).charAt(0))throw new rr.ErrnoError(55);try{u=rr.lookupNode(n,s)}catch(r){}if(c!==u){var f=rr.isDir(c.mode),d=rr.mayDelete(t,a,f);if(d)throw new rr.ErrnoError(d);if(d=u?rr.mayDelete(n,s,f):rr.mayCreate(n,s))throw new rr.ErrnoError(d);if(!t.node_ops.rename)throw new rr.ErrnoError(63);if(rr.isMountpoint(c)||u&&rr.isMountpoint(u))throw new rr.ErrnoError(10);if(n!==t&&(d=rr.nodePermissions(t,"w")))throw new rr.ErrnoError(d);rr.hashRemoveNode(c);try{t.node_ops.rename(c,n,s)}catch(r){throw r}finally{rr.hashAddNode(c)}}},rmdir:r=>{var e=rr.lookupPath(r,{parent:!0}).node,t=Y.basename(r),n=rr.lookupNode(e,t),o=rr.mayDelete(e,t,!0);if(o)throw new rr.ErrnoError(o);if(!e.node_ops.rmdir)throw new rr.ErrnoError(63);if(rr.isMountpoint(n))throw new rr.ErrnoError(10);e.node_ops.rmdir(e,t),rr.destroyNode(n)},readdir:r=>{var e=rr.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new rr.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=rr.lookupPath(r,{parent:!0}).node;if(!e)throw new rr.ErrnoError(44);var t=Y.basename(r),n=rr.lookupNode(e,t),o=rr.mayDelete(e,t,!1);if(o)throw new rr.ErrnoError(o);if(!e.node_ops.unlink)throw new rr.ErrnoError(63);if(rr.isMountpoint(n))throw new rr.ErrnoError(10);e.node_ops.unlink(e,t),rr.destroyNode(n)},readlink:r=>{var e=rr.lookupPath(r).node;if(!e)throw new rr.ErrnoError(44);if(!e.node_ops.readlink)throw new rr.ErrnoError(28);return \$.resolve(rr.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=rr.lookupPath(r,{follow:!e}).node;if(!t)throw new rr.ErrnoError(44);if(!t.node_ops.getattr)throw new rr.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>rr.stat(r,!0),chmod:(r,e,t)=>{var n;"string"==typeof r?n=rr.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new rr.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{rr.chmod(r,e,!0)},fchmod:(r,e)=>{var t=rr.getStream(r);if(!t)throw new rr.ErrnoError(8);rr.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;"string"==typeof r?o=rr.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new rr.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{rr.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=rr.getStream(r);if(!n)throw new rr.ErrnoError(8);rr.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new rr.ErrnoError(28);var t;"string"==typeof r?t=rr.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new rr.ErrnoError(63);if(rr.isDir(t.mode))throw new rr.ErrnoError(31);if(!rr.isFile(t.mode))throw new rr.ErrnoError(28);var n=rr.nodePermissions(t,"w");if(n)throw new rr.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=rr.getStream(r);if(!t)throw new rr.ErrnoError(8);if(0==(2097155&t.flags))throw new rr.ErrnoError(28);rr.truncate(t.node,e)},utime:(r,e,t)=>{var n=rr.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new rr.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?rr.modeStringToFlags(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=Y.normalize(r);try{n=rr.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var i=!1;if(64&e)if(n){if(128&e)throw new rr.ErrnoError(20)}else n=rr.mknod(r,t,0),i=!0;if(!n)throw new rr.ErrnoError(44);if(rr.isChrdev(n.mode)&&(e&=-513),65536&e&&!rr.isDir(n.mode))throw new rr.ErrnoError(54);if(!i){var a=rr.mayOpen(n,e);if(a)throw new rr.ErrnoError(a)}512&e&&!i&&rr.truncate(n,0),e&=-131713;var s=rr.createStream({node:n,path:rr.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!o.logReadFiles||1&e||(rr.readFiles||(rr.readFiles={}),r in rr.readFiles||(rr.readFiles[r]=1)),s},close:r=>{if(rr.isClosed(r))throw new rr.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{rr.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(rr.isClosed(r))throw new rr.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new rr.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new rr.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new rr.ErrnoError(28);if(rr.isClosed(r))throw new rr.ErrnoError(8);if(1==(2097155&r.flags))throw new rr.ErrnoError(8);if(rr.isDir(r.node.mode))throw new rr.ErrnoError(31);if(!r.stream_ops.read)throw new rr.ErrnoError(28);var i=void 0!==o;if(i){if(!r.seekable)throw new rr.ErrnoError(70)}else o=r.position;var a=r.stream_ops.read(r,e,t,n,o);return i||(r.position+=a),a},write:(r,e,t,n,o,i)=>{if(n<0||o<0)throw new rr.ErrnoError(28);if(rr.isClosed(r))throw new rr.ErrnoError(8);if(0==(2097155&r.flags))throw new rr.ErrnoError(8);if(rr.isDir(r.node.mode))throw new rr.ErrnoError(31);if(!r.stream_ops.write)throw new rr.ErrnoError(28);r.seekable&&1024&r.flags&&rr.llseek(r,0,2);var a=void 0!==o;if(a){if(!r.seekable)throw new rr.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,i);return a||(r.position+=s),s},allocate:(r,e,t)=>{if(rr.isClosed(r))throw new rr.ErrnoError(8);if(e<0||t<=0)throw new rr.ErrnoError(28);if(0==(2097155&r.flags))throw new rr.ErrnoError(8);if(!rr.isFile(r.node.mode)&&!rr.isDir(r.node.mode))throw new rr.ErrnoError(43);if(!r.stream_ops.allocate)throw new rr.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(0!=(2&n)&&0==(2&o)&&2!=(2097155&r.flags))throw new rr.ErrnoError(2);if(1==(2097155&r.flags))throw new rr.ErrnoError(2);if(!r.stream_ops.mmap)throw new rr.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r&&r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new rr.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error('Invalid encoding type "'+e.encoding+'"');var t,n=rr.open(r,e.flags),o=rr.stat(r).size,i=new Uint8Array(o);return rr.read(n,i,0,o,0),"utf8"===e.encoding?t=A(i,0):"binary"===e.encoding&&(t=i),rr.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=rr.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(P(e)+1),i=M(e,o,0,o.length);rr.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");rr.write(n,e,0,e.byteLength,void 0,t.canOwn)}rr.close(n)},cwd:()=>rr.currentPath,chdir:r=>{var e=rr.lookupPath(r,{follow:!0});if(null===e.node)throw new rr.ErrnoError(44);if(!rr.isDir(e.node.mode))throw new rr.ErrnoError(54);var t=rr.nodePermissions(e.node,"x");if(t)throw new rr.ErrnoError(t);rr.currentPath=e.path},createDefaultDirectories:()=>{rr.mkdir("/tmp"),rr.mkdir("/home"),rr.mkdir("/home/web_user")},createDefaultDevices:()=>{rr.mkdir("/dev"),rr.registerDevice(rr.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),rr.mkdev("/dev/null",rr.makedev(1,3)),J.register(rr.makedev(5,0),J.default_tty_ops),J.register(rr.makedev(6,0),J.default_tty1_ops),rr.mkdev("/dev/tty",rr.makedev(5,0)),rr.mkdev("/dev/tty1",rr.makedev(6,0));var r=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var r=new Uint8Array(1);return()=>(crypto.getRandomValues(r),r[0])}return()=>C("randomDevice")}();rr.createDevice("/dev","random",r),rr.createDevice("/dev","urandom",r),rr.mkdir("/dev/shm"),rr.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{rr.mkdir("/proc");var r=rr.mkdir("/proc/self");rr.mkdir("/proc/self/fd"),rr.mount({mount:()=>{var e=rr.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=rr.getStream(t);if(!n)throw new rr.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{o.stdin?rr.createDevice("/dev","stdin",o.stdin):rr.symlink("/dev/tty","/dev/stdin"),o.stdout?rr.createDevice("/dev","stdout",null,o.stdout):rr.symlink("/dev/tty","/dev/stdout"),o.stderr?rr.createDevice("/dev","stderr",null,o.stderr):rr.symlink("/dev/tty1","/dev/stderr"),rr.open("/dev/stdin",0),rr.open("/dev/stdout",1),rr.open("/dev/stderr",1)},ensureErrnoError:()=>{rr.ErrnoError||(rr.ErrnoError=function(r,e){this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},rr.ErrnoError.prototype=new Error,rr.ErrnoError.prototype.constructor=rr.ErrnoError,[44].forEach((r=>{rr.genericErrors[r]=new rr.ErrnoError(r),rr.genericErrors[r].stack="<generic error, no stack>"})))},staticInit:()=>{rr.ensureErrnoError(),rr.nameTable=new Array(4096),rr.mount(Z,{},"/"),rr.createDefaultDirectories(),rr.createDefaultDevices(),rr.createSpecialDirectories(),rr.filesystems={MEMFS:Z}},init:(r,e,t)=>{rr.init.initialized=!0,rr.ensureErrnoError(),o.stdin=r||o.stdin,o.stdout=e||o.stdout,o.stderr=t||o.stderr,rr.createStandardStreams()},quit:()=>{rr.init.initialized=!1;for(var r=0;r<rr.streams.length;r++){var e=rr.streams[r];e&&rr.close(e)}},getMode:(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},findObject:(r,e)=>{var t=rr.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=rr.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=rr.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Y.basename(r),n=rr.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:rr.getPath(r);for(var o=e.split("/").reverse();o.length;){var i=o.pop();if(i){var a=Y.join2(r,i);try{rr.mkdir(a)}catch(r){}r=a}}return a},createFile:(r,e,t,n,o)=>{var i=Y.join2("string"==typeof r?r:rr.getPath(r),e),a=rr.getMode(n,o);return rr.create(i,a)},createDataFile:(r,e,t,n,o,i)=>{var a=e;r&&(r="string"==typeof r?r:rr.getPath(r),a=e?Y.join2(r,e):r);var s=rr.getMode(n,o),u=rr.create(a,s);if(t){if("string"==typeof t){for(var c=new Array(t.length),l=0,f=t.length;l<f;++l)c[l]=t.charCodeAt(l);t=c}rr.chmod(u,146|s);var d=rr.open(u,577);rr.write(d,t,0,t.length,0,i),rr.close(d),rr.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=Y.join2("string"==typeof r?r:rr.getPath(r),e),i=rr.getMode(!!t,!!n);rr.createDevice.major||(rr.createDevice.major=64);var a=rr.makedev(rr.createDevice.major++,0);return rr.registerDevice(a,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,i)=>{for(var a=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new rr.ErrnoError(29)}if(void 0===u&&0===a)throw new rr.ErrnoError(6);if(null==u)break;a++,e[n+s]=u}return a&&(r.node.timestamp=Date.now()),a},write:(r,e,t,o,i)=>{for(var a=0;a<o;a++)try{n(e[t+a])}catch(r){throw new rr.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),a}}),rr.mkdev(o,i,a)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=K(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new rr.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},i.prototype.setDataGetter=function(r){this.getter=r},i.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;o||(a=n);var s=this;s.setDataGetter((r=>{var e=r*a,o=(r+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==a&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):K(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},s=rr.createFile(r,e,a,n,o);a.contents?s.contents=a.contents:a.url&&(s.contents=null,s.url=a.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(r,e,t,n,o){var i=r.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)e[t+s]=i[o+s];else for(s=0;s<a;s++)e[t+s]=i.get(o+s);return a}return Object.keys(s.stream_ops).forEach((r=>{var e=s.stream_ops[r];u[r]=function(){return rr.forceLoadFile(s),e.apply(null,arguments)}})),u.read=(r,e,t,n,o)=>(rr.forceLoadFile(s),c(r,e,t,n,o)),u.mmap=(r,e,t,n,o)=>{rr.forceLoadFile(s);var i=Q(e);if(!i)throw new rr.ErrnoError(48);return c(r,_,i,e,t),{ptr:i,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(r,e,t,n,o,i,s,u,c,l)=>{var f=e?\$.resolve(Y.join2(r,e)):r;function d(t){function a(t){l&&l(),u||rr.createDataFile(r,e,t,n,o,c),i&&i(),O()}Browser.handledByPreloadPlugin(t,f,a,(()=>{s&&s(),O()}))||a(t)}N(),"string"==typeof t?function(r,e,t,n){var o=n?"":"al "+r;a(r,(t=>{w(t,'Loading data file "'+r+'" failed (no arrayBuffer).'),e(new Uint8Array(t)),o&&O()}),(e=>{if(!t)throw'Loading data file "'+r+'" failed.';t()})),o&&N()}(t,(r=>d(r)),s):d(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(r,e,t)=>{e=e||(()=>{}),t=t||(()=>{});var n=rr.indexedDB();try{var o=n.open(rr.DB_NAME(),rr.DB_VERSION)}catch(r){return t(r)}o.onupgradeneeded=()=>{d("creating db"),o.result.createObjectStore(rr.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([rr.DB_STORE_NAME],"readwrite"),i=n.objectStore(rr.DB_STORE_NAME),a=0,s=0,u=r.length;function c(){0==s?e():t()}r.forEach((r=>{var e=i.put(rr.analyzePath(r).object.contents,r);e.onsuccess=()=>{++a+s==u&&c()},e.onerror=()=>{s++,a+s==u&&c()}})),n.onerror=t},o.onerror=t},loadFilesFromDB:(r,e,t)=>{e=e||(()=>{}),t=t||(()=>{});var n=rr.indexedDB();try{var o=n.open(rr.DB_NAME(),rr.DB_VERSION)}catch(r){return t(r)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var i=n.transaction([rr.DB_STORE_NAME],"readonly")}catch(r){return void t(r)}var a=i.objectStore(rr.DB_STORE_NAME),s=0,u=0,c=r.length;function l(){0==u?e():t()}r.forEach((r=>{var e=a.get(r);e.onsuccess=()=>{rr.analyzePath(r).exists&&rr.unlink(r),rr.createDataFile(Y.dirname(r),Y.basename(r),e.result,!0,!0,!0),++s+u==c&&l()},e.onerror=()=>{u++,s+u==c&&l()}})),i.onerror=t},o.onerror=t}},er={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(Y.isAbs(e))return e;var n;-100===r?n=rr.cwd():n=er.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new rr.ErrnoError(44);return n}return Y.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&Y.normalize(e)!==Y.normalize(rr.getPath(r.node)))return-54;throw r}return b[t>>2]=n.dev,b[t+8>>2]=n.ino,b[t+12>>2]=n.mode,k[t+16>>2]=n.nlink,b[t+20>>2]=n.uid,b[t+24>>2]=n.gid,b[t+28>>2]=n.rdev,U=[n.size>>>0,(G=n.size,+Math.abs(G)>=1?G>0?(0|Math.min(+Math.floor(G/4294967296),4294967295))>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],b[t+40>>2]=U[0],b[t+44>>2]=U[1],b[t+48>>2]=4096,b[t+52>>2]=n.blocks,U=[Math.floor(n.atime.getTime()/1e3)>>>0,(G=Math.floor(n.atime.getTime()/1e3),+Math.abs(G)>=1?G>0?(0|Math.min(+Math.floor(G/4294967296),4294967295))>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],b[t+56>>2]=U[0],b[t+60>>2]=U[1],k[t+64>>2]=0,U=[Math.floor(n.mtime.getTime()/1e3)>>>0,(G=Math.floor(n.mtime.getTime()/1e3),+Math.abs(G)>=1?G>0?(0|Math.min(+Math.floor(G/4294967296),4294967295))>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],b[t+72>>2]=U[0],b[t+76>>2]=U[1],k[t+80>>2]=0,U=[Math.floor(n.ctime.getTime()/1e3)>>>0,(G=Math.floor(n.ctime.getTime()/1e3),+Math.abs(G)>=1?G>0?(0|Math.min(+Math.floor(G/4294967296),4294967295))>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],b[t+88>>2]=U[0],b[t+92>>2]=U[1],k[t+96>>2]=0,U=[n.ino>>>0,(G=n.ino,+Math.abs(G)>=1?G>0?(0|Math.min(+Math.floor(G/4294967296),4294967295))>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],b[t+104>>2]=U[0],b[t+108>>2]=U[1],0},doMsync:function(r,e,t,n,o){var i=g.slice(r,r+t);rr.msync(e,i,o,t,n)},varargs:void 0,get:function(){return er.varargs+=4,b[er.varargs-4>>2]},getStr:function(r){return F(r)},getStreamFromFD:function(r){var e=rr.getStream(r);if(!e)throw new rr.ErrnoError(8);return e}};var tr=[];function nr(r){try{return h.grow(r-y.byteLength+65535>>>16),x(h.buffer),1}catch(r){}}var or={};function ir(){if(!ir.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var e in or)void 0===or[e]?delete r[e]:r[e]=or[e];var t=[];for(var e in r)t.push(e+"="+r[e]);ir.strings=t}return ir.strings}function ar(r){m||(o.onExit&&o.onExit(r),v=!0),c(r,new W(r))}var sr=function(r,e){ar(r)};var ur=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=rr.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},cr=365,lr=146;Object.defineProperties(ur.prototype,{read:{get:function(){return(this.mode&cr)===cr},set:function(r){r?this.mode|=cr:this.mode&=-366}},write:{get:function(){return(this.mode&lr)===lr},set:function(r){r?this.mode|=lr:this.mode&=-147}},isFolder:{get:function(){return rr.isDir(this.mode)}},isDevice:{get:function(){return rr.isChrdev(this.mode)}}}),rr.FSNode=ur,rr.staticInit();var fr={k:function(r,e,t,n){try{if(e=er.getStr(e),e=er.calculateAt(r,e),-8&t)return-28;var o=rr.lookupPath(e,{follow:!0}).node;if(!o)return-44;var i="";return 4&t&&(i+="r"),2&t&&(i+="w"),1&t&&(i+="x"),i&&rr.nodePermissions(o,i)?-2:0}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},f:function(r,e,t){er.varargs=t;try{var n=er.getStreamFromFD(r);switch(e){case 0:return(o=er.get())<0?-28:rr.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=er.get();return n.flags|=o,0;case 5:o=er.get();return E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return i=28,b[gr()>>2]=i,-1}}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}var i},u:function(r,e){try{var t=er.getStreamFromFD(r);return er.doStat(rr.stat,t.path,e)}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},v:function(r,e,t){er.varargs=t;try{var n=er.getStreamFromFD(r);switch(e){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=er.get();return b[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=er.get();return rr.ioctl(n,e,o);default:return-28}}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},s:function(r,e,t,n){try{e=er.getStr(e);var o=256&n,i=4096&n;return n&=-4353,e=er.calculateAt(r,e,i),er.doStat(o?rr.lstat:rr.stat,e,t)}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},c:function(r,e,t,n){er.varargs=n;try{e=er.getStr(e),e=er.calculateAt(r,e);var o=n?er.get():0;return rr.open(e,t,o).fd}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},t:function(r,e){try{return r=er.getStr(r),er.doStat(rr.stat,r,e)}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},n:function(r,e,t){try{return e=er.getStr(e),e=er.calculateAt(r,e),0===t?rr.unlink(e):512===t?rr.rmdir(e):C("Invalid flags passed to unlinkat"),0}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},d:function(){return Date.now()},i:function(){return true},o:function(r,e,t,n,o,i){try{var a=er.getStreamFromFD(n),s=rr.mmap(a,r,o,e,t),u=s.ptr;return b[i>>2]=s.allocated,u}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},p:function(r,e,t,n,o,i){try{var a=er.getStreamFromFD(o);2&t&&er.doMsync(r,a,e,n,i),rr.munmap(a)}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return-r.errno}},a:function(){C("")},w:function(r,e,t){var n=function(r,e){var t;for(tr.length=0,e>>=2;t=g[r++];)e+=105!=t&e,tr.push(105==t?b[e]:S[e++>>1]),++e;return tr}(e,t);return V[r].apply(null,n)},j:function(r,e,t){g.copyWithin(r,e,e+t)},m:function(r){var e,t,n=g.length,o=2147483648;if((r>>>=0)>o)return!1;for(var i=1;i<=4;i*=2){var a=n*(1+.2/i);if(a=Math.min(a,r+100663296),nr(Math.min(o,(e=Math.max(r,a))+((t=65536)-e%t)%t)))return!0}return!1},q:function(r,e){var t=0;return ir().forEach((function(n,o){var i=e+t;k[r+4*o>>2]=i,function(r,e,t){for(var n=0;n<r.length;++n)_[e++>>0]=r.charCodeAt(n);t||(_[e>>0]=0)}(n,i),t+=n.length+1})),0},r:function(r,e){var t=ir();k[r>>2]=t.length;var n=0;return t.forEach((function(r){n+=r.length+1})),k[e>>2]=n,0},e:sr,b:function(r){try{var e=er.getStreamFromFD(r);return rr.close(e),0}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return r.errno}},g:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,i=0;i<t;i++){var a=k[e>>2],s=k[e+4>>2];e+=8;var u=rr.read(r,_,a,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o}(er.getStreamFromFD(r),e,t);return k[n>>2]=o,0}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return r.errno}},l:function(r,e,t,n,o){try{var i=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(i))return 61;var a=er.getStreamFromFD(r);return rr.llseek(a,i,n),U=[a.position>>>0,(G=a.position,+Math.abs(G)>=1?G>0?(0|Math.min(+Math.floor(G/4294967296),4294967295))>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],b[o>>2]=U[0],b[o+4>>2]=U[1],a.getdents&&0===i&&0===n&&(a.getdents=null),0}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return r.errno}var s,u},h:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,i=0;i<t;i++){var a=k[e>>2],s=k[e+4>>2];e+=8;var u=rr.write(r,_,a,s,n);if(u<0)return-1;o+=u}return o}(er.getStreamFromFD(r),e,t);return k[n>>2]=o,0}catch(r){if(void 0===rr||!(r instanceof rr.ErrnoError))throw r;return r.errno}}};!function(){var r={a:fr};function e(r,e){var t,n=r.exports;o.asm=n,x((h=o.asm.x).buffer),o.asm.G,t=o.asm.y,z.unshift(t),O()}function t(r){e(r.instance)}function i(e){return(f||"function"!=typeof fetch?Promise.resolve().then((function(){return q(L)})):fetch(L,{credentials:"same-origin"}).then((function(r){if(!r.ok)throw"failed to load wasm binary file at '"+L+"'";return r.arrayBuffer()})).catch((function(){return q(L)}))).then((function(e){return WebAssembly.instantiate(e,r)})).then((function(r){return r})).then(e,(function(r){p("failed to asynchronously prepare wasm: "+r),C(r)}))}if(N(),o.instantiateWasm)try{return o.instantiateWasm(r,e)}catch(r){return p("Module.instantiateWasm callback failed with error: "+r),!1}(f||"function"!=typeof WebAssembly.instantiateStreaming||H(L)||"function"!=typeof fetch?i(t):fetch(L,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,r).then(t,(function(r){return p("wasm streaming compile failed: "+r),p("falling back to ArrayBuffer instantiation"),i(t)}))}))).catch(n)}(),o.___wasm_call_ctors=function(){return(o.___wasm_call_ctors=o.asm.y).apply(null,arguments)};var dr=o._emscripten_bind_VoidPtr___destroy___0=function(){return(dr=o._emscripten_bind_VoidPtr___destroy___0=o.asm.z).apply(null,arguments)},pr=o._emscripten_bind_Graphviz_Graphviz_2=function(){return(pr=o._emscripten_bind_Graphviz_Graphviz_2=o.asm.A).apply(null,arguments)},hr=o._emscripten_bind_Graphviz_version_0=function(){return(hr=o._emscripten_bind_Graphviz_version_0=o.asm.B).apply(null,arguments)},mr=o._emscripten_bind_Graphviz_lastError_0=function(){return(mr=o._emscripten_bind_Graphviz_lastError_0=o.asm.C).apply(null,arguments)},vr=o._emscripten_bind_Graphviz_layout_3=function(){return(vr=o._emscripten_bind_Graphviz_layout_3=o.asm.D).apply(null,arguments)},wr=o._emscripten_bind_Graphviz_createFile_2=function(){return(wr=o._emscripten_bind_Graphviz_createFile_2=o.asm.E).apply(null,arguments)},yr=o._emscripten_bind_Graphviz___destroy___0=function(){return(yr=o._emscripten_bind_Graphviz___destroy___0=o.asm.F).apply(null,arguments)};o._free=function(){return(o._free=o.asm.H).apply(null,arguments)},o._malloc=function(){return(o._malloc=o.asm.I).apply(null,arguments)};var _r,gr=o.___errno_location=function(){return(gr=o.___errno_location=o.asm.J).apply(null,arguments)},Er=o._emscripten_builtin_memalign=function(){return(Er=o._emscripten_builtin_memalign=o.asm.K).apply(null,arguments)};function br(r){function e(){_r||(_r=!0,o.calledRun=!0,v||(o.noFSInit||rr.init.initialized||rr.init(),rr.ignorePermissions=!1,X(z),t(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),function(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)r=o.postRun.shift(),T.unshift(r);var r;X(T)}()))}R>0||(!function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)r=o.preRun.shift(),j.unshift(r);var r;X(j)}(),R>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),e()}),1)):e()))}if(o.___start_em_js=163408,o.___stop_em_js=163506,B=function r(){_r||br(),_r||(B=r)},o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();function kr(){}function Sr(r){return(r||kr).__cache__}function Dr(r,e){var t=Sr(e),n=t[r];return n||((n=Object.create((e||kr).prototype)).ptr=r,t[r]=n)}br(),kr.prototype=Object.create(kr.prototype),kr.prototype.constructor=kr,kr.prototype.__class__=kr,kr.__cache__={},o.WrapperObject=kr,o.getCache=Sr,o.wrapPointer=Dr,o.castObject=function(r,e){return Dr(r.ptr,e)},o.NULL=Dr(0),o.destroy=function(r){if(!r.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";r.__destroy__(),delete Sr(r.__class__)[r.ptr]},o.compare=function(r,e){return r.ptr===e.ptr},o.getPointer=function(r){return r.ptr},o.getClass=function(r){return r.__class__};var Ar={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Ar.needed){for(var r=0;r<Ar.temps.length;r++)o._free(Ar.temps[r]);Ar.temps.length=0,o._free(Ar.buffer),Ar.buffer=0,Ar.size+=Ar.needed,Ar.needed=0}Ar.buffer||(Ar.size+=128,Ar.buffer=o._malloc(Ar.size),w(Ar.buffer)),Ar.pos=0},alloc:function(r,e){w(Ar.buffer);var t,n=e.BYTES_PER_ELEMENT,i=r.length*n;return i=i+7&-8,Ar.pos+i>=Ar.size?(w(i>0),Ar.needed+=i,t=o._malloc(i),Ar.temps.push(t)):(t=Ar.buffer+Ar.pos,Ar.pos+=i),t},copy:function(r,e,t){switch(t>>>=0,e.BYTES_PER_ELEMENT){case 2:t>>>=1;break;case 4:t>>>=2;break;case 8:t>>>=3}for(var n=0;n<r.length;n++)e[t+n]=r[n]}};function Fr(r){if("string"==typeof r){var e=K(r),t=Ar.alloc(e,_);return Ar.copy(e,_,t),t}return r}function Mr(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Pr(r,e){r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=pr(r,e),Sr(Pr)[this.ptr]=this}return Mr.prototype=Object.create(kr.prototype),Mr.prototype.constructor=Mr,Mr.prototype.__class__=Mr,Mr.__cache__={},o.VoidPtr=Mr,Mr.prototype.__destroy__=Mr.prototype.__destroy__=function(){var r=this.ptr;dr(r)},Pr.prototype=Object.create(kr.prototype),Pr.prototype.constructor=Pr,Pr.prototype.__class__=Pr,Pr.__cache__={},o.Graphviz=Pr,Pr.prototype.version=Pr.prototype.version=function(){var r=this.ptr;return F(hr(r))},Pr.prototype.lastError=Pr.prototype.lastError=function(){var r=this.ptr;return F(mr(r))},Pr.prototype.layout=Pr.prototype.layout=function(r,e,t){var n=this.ptr;return Ar.prepare(),r=r&&"object"==typeof r?r.ptr:Fr(r),e=e&&"object"==typeof e?e.ptr:Fr(e),t=t&&"object"==typeof t?t.ptr:Fr(t),F(vr(n,r,e,t))},Pr.prototype.createFile=Pr.prototype.createFile=function(r,e){var t=this.ptr;Ar.prepare(),r=r&&"object"==typeof r?r.ptr:Fr(r),e=e&&"object"==typeof e?e.ptr:Fr(e),wr(t,r,e)},Pr.prototype.__destroy__=Pr.prototype.__destroy__=function(){var r=this.ptr;yr(r)},e.ready}})(),s=Object.freeze({__proto__:null,default:a});function u(r){return{path:r.path,data:\`<?xml version="1.0" encoding="UTF-8" standalone="no"?>\\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\\n<svg width="\${r.width}" height="\${r.height}"></svg>\`}}const c={layout:(r,e="svg",t="dot",n)=>r?i(s,"graphvizlib",null==n?void 0:n.wasmFolder,null==n?void 0:n.wasmBinary).then((o=>{const i=new o.Graphviz((null==n?void 0:n.yInvert)?1:0,(null==n?void 0:n.nop)?null==n?void 0:n.nop:0);!function(r,e){const t={images:[],files:[],...e};var n;[...t.files,...(n=t.images,n.map(u))].forEach((e=>r.createFile(e.path,e.data)))}(i,n);const a=i.layout(r,e,t);if(o.destroy(i),!a)throw new Error(o.Graphviz.prototype.lastError());return a})):Promise.resolve(""),circo(r,e="svg",t){return this.layout(r,e,"circo",t)},dot(r,e="svg",t){return this.layout(r,e,"dot",t)},fdp(r,e="svg",t){return this.layout(r,e,"fdp",t)},sfdp(r,e="svg",t){return this.layout(r,e,"sfdp",t)},neato(r,e="svg",t){return this.layout(r,e,"neato",t)},osage(r,e="svg",t){return this.layout(r,e,"osage",t)},patchwork(r,e="svg",t){return this.layout(r,e,"patchwork",t)},twopi(r,e="svg",t){return this.layout(r,e,"twopi",t)}};var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var f={exports:{}};
|
|
54
54
|
/*!
|
|
55
55
|
* @overview es6-promise - a tiny implementation of Promises/A+.
|
|
56
56
|
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
|
|
57
57
|
* @license Licensed under MIT license
|
|
58
58
|
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
|
|
59
59
|
* @version v4.2.8+1e68dce6
|
|
60
|
-
*/function
|
|
60
|
+
*/function d(r){return void 0!==r.children}f.exports=function(){function r(r){var e=typeof r;return null!==r&&("object"===e||"function"===e)}function e(r){return"function"==typeof r}var t=Array.isArray?Array.isArray:function(r){return"[object Array]"===Object.prototype.toString.call(r)},n=0,o=void 0,i=void 0,a=function(r,e){g[n]=r,g[n+1]=e,2===(n+=2)&&(i?i(E):k())};function s(r){i=r}function u(r){a=r}var c="undefined"!=typeof window?window:void 0,f=c||{},d=f.MutationObserver||f.WebKitMutationObserver,p="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),h="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function m(){return function(){return process.nextTick(E)}}function v(){return void 0!==o?function(){o(E)}:_()}function w(){var r=0,e=new d(E),t=document.createTextNode("");return e.observe(t,{characterData:!0}),function(){t.data=r=++r%2}}function y(){var r=new MessageChannel;return r.port1.onmessage=E,function(){return r.port2.postMessage(0)}}function _(){var r=setTimeout;return function(){return r(E,1)}}var g=new Array(1e3);function E(){for(var r=0;r<n;r+=2)(0,g[r])(g[r+1]),g[r]=void 0,g[r+1]=void 0;n=0}function b(){try{var r=Function("return this")().require("vertx");return o=r.runOnLoop||r.runOnContext,v()}catch(r){return _()}}var k=void 0;function S(r,e){var t=this,n=new this.constructor(F);void 0===n[A]&&X(n);var o=t._state;if(o){var i=arguments[o-1];a((function(){return H(o,n,i,t._result)}))}else G(t,n,r,e);return n}function D(r){var e=this;if(r&&"object"==typeof r&&r.constructor===e)return r;var t=new e(F);return O(t,r),t}k=p?m():d?w():h?y():void 0===c?b():_();var A=Math.random().toString(36).substring(2);function F(){}var M=void 0,P=1,x=2;function j(){return new TypeError("You cannot resolve a promise with itself")}function z(){return new TypeError("A promises callback cannot return that same promise.")}function T(r,e,t,n){try{r.call(e,t,n)}catch(r){return r}}function R(r,e,t){a((function(r){var n=!1,o=T(t,e,(function(t){n||(n=!0,e!==t?O(r,t):L(r,t))}),(function(e){n||(n=!0,I(r,e))}),"Settle: "+(r._label||" unknown promise"));!n&&o&&(n=!0,I(r,o))}),r)}function B(r,e){e._state===P?L(r,e._result):e._state===x?I(r,e._result):G(e,void 0,(function(e){return O(r,e)}),(function(e){return I(r,e)}))}function N(r,t,n){t.constructor===r.constructor&&n===S&&t.constructor.resolve===D?B(r,t):void 0===n?L(r,t):e(n)?R(r,t,n):L(r,t)}function O(e,t){if(e===t)I(e,j());else if(r(t)){var n=void 0;try{n=t.then}catch(r){return void I(e,r)}N(e,t,n)}else L(e,t)}function C(r){r._onerror&&r._onerror(r._result),U(r)}function L(r,e){r._state===M&&(r._result=e,r._state=P,0!==r._subscribers.length&&a(U,r))}function I(r,e){r._state===M&&(r._state=x,r._result=e,a(C,r))}function G(r,e,t,n){var o=r._subscribers,i=o.length;r._onerror=null,o[i]=e,o[i+P]=t,o[i+x]=n,0===i&&r._state&&a(U,r)}function U(r){var e=r._subscribers,t=r._state;if(0!==e.length){for(var n=void 0,o=void 0,i=r._result,a=0;a<e.length;a+=3)n=e[a],o=e[a+t],n?H(t,n,o,i):o(i);r._subscribers.length=0}}function H(r,t,n,o){var i=e(n),a=void 0,s=void 0,u=!0;if(i){try{a=n(o)}catch(r){u=!1,s=r}if(t===a)return void I(t,z())}else a=o;t._state!==M||(i&&u?O(t,a):!1===u?I(t,s):r===P?L(t,a):r===x&&I(t,a))}function q(r,e){try{e((function(e){O(r,e)}),(function(e){I(r,e)}))}catch(e){I(r,e)}}var V=0;function W(){return V++}function X(r){r[A]=V++,r._state=void 0,r._result=void 0,r._subscribers=[]}function Y(){return new Error("Array Methods must be provided an Array")}var \$=function(){function r(r,e){this._instanceConstructor=r,this.promise=new r(F),this.promise[A]||X(this.promise),t(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?L(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&L(this.promise,this._result))):I(this.promise,Y())}return r.prototype._enumerate=function(r){for(var e=0;this._state===M&&e<r.length;e++)this._eachEntry(r[e],e)},r.prototype._eachEntry=function(r,e){var t=this._instanceConstructor,n=t.resolve;if(n===D){var o=void 0,i=void 0,a=!1;try{o=r.then}catch(r){a=!0,i=r}if(o===S&&r._state!==M)this._settledAt(r._state,e,r._result);else if("function"!=typeof o)this._remaining--,this._result[e]=r;else if(t===er){var s=new t(F);a?I(s,i):N(s,r,o),this._willSettleAt(s,e)}else this._willSettleAt(new t((function(e){return e(r)})),e)}else this._willSettleAt(n(r),e)},r.prototype._settledAt=function(r,e,t){var n=this.promise;n._state===M&&(this._remaining--,r===x?I(n,t):this._result[e]=t),0===this._remaining&&L(n,this._result)},r.prototype._willSettleAt=function(r,e){var t=this;G(r,void 0,(function(r){return t._settledAt(P,e,r)}),(function(r){return t._settledAt(x,e,r)}))},r}();function K(r){return new \$(this,r).promise}function J(r){var e=this;return t(r)?new e((function(t,n){for(var o=r.length,i=0;i<o;i++)e.resolve(r[i]).then(t,n)})):new e((function(r,e){return e(new TypeError("You must pass an array to race."))}))}function Q(r){var e=new this(F);return I(e,r),e}function Z(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function rr(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var er=function(){function r(e){this[A]=W(),this._result=this._state=void 0,this._subscribers=[],F!==e&&("function"!=typeof e&&Z(),this instanceof r?q(this,e):rr())}return r.prototype.catch=function(r){return this.then(null,r)},r.prototype.finally=function(r){var t=this,n=t.constructor;return e(r)?t.then((function(e){return n.resolve(r()).then((function(){return e}))}),(function(e){return n.resolve(r()).then((function(){throw e}))})):t.then(r,r)},r}();function tr(){var r=void 0;if(void 0!==l)r=l;else if("undefined"!=typeof self)r=self;else try{r=Function("return this")()}catch(r){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=r.Promise;if(e){var t=null;try{t=Object.prototype.toString.call(e.resolve())}catch(r){}if("[object Promise]"===t&&!e.cast)return}r.Promise=er}return er.prototype.then=S,er.all=K,er.race=J,er.resolve=D,er.reject=Q,er._setScheduler=s,er._setAsap=u,er._asap=a,er.polyfill=tr,er.Promise=er,er}(),f.exports.polyfill();var p=function(r){var e=[];return r.children.forEach((function(r){d(r)?e.push(p(r)):e.push(h(r))})),"subgraph cluster_".concat(r.id,' {\\nid="').concat(r.id,'";\\nlabel="').concat(r.text,'";\\nmargin=16;\\n').concat(e.join("\\n"),"\\n}")},h=function(r){return"".concat(r.id,' [id="').concat(r.id,'" label="').concat(r.text,'" width=').concat(w(r.width)," height=").concat(w(r.height),"]")},m=function(r){return 96*r/72},v=function(r){return 96*r},w=function(r){return r/96};function y(r){var e=r?r.split(",").map((function(r){return m(+r)})):[0,0,0,0],t=e[0],n=e[1],o=e[2]-t,i=e[3]-n;return{x:t-o/2,y:n-i/2,width:o,height:i}}function _(r,e){var t=r.split(",").map((function(r){return m(+r)})),n=t[0],o=t[1];return{x:-n+e.width,y:-o+e.height}}function g(r,e,t,n){return c[r]&&c[r](e,t,{wasmFolder:n.wasmFolder}).then((function(r){return"json"===t?JSON.parse(r):r}))}function E(e,t){if(e.raw)return g(t.engine,e.raw,"svg",t);var n={},o=[],i=[],a={},s=[],u=[],c={},l=[],f=[];function m(r,e){d(r)?(n[r.id]=r,o.push(r),r.children.forEach((function(r){return m(r,!1)})),e&&i.push(p(r))):(a[r.id]=r,s.push(r),e&&u.push(h(r)))}return e.items.forEach((function(r){return m(r,!0)})),e.links.forEach((function(r){var e,t,n,o;c[r.id]=r,l.push(r),f.push((e=r.source.id,t=r.target.id,n=r.id,o=r.text,"".concat(e," -> ").concat(t,' [id="').concat(n,'", label="').concat(o,'"]')))})),g(t.engine,"digraph G {\\n graph [fontname=Verdana,fontsize=11.0];\\n graph [rankdir=TB];\\n node [shape=rect,fontname=Verdana,fontsize=11.0,fixedsize=true];\\n edge [fontname=Verdana,fontsize=11.0];\\n\\n".concat(i.join("\\n"),"\\n\\n").concat(f.join("\\n"),"\\n\\n").concat(u.join("\\n"),"\\n}"),"json",t).then((function(e){var t=y(e.bb);return e.objects&&e.objects.forEach((function(r){if(r.nodes){var e=function(r,e){var t=y(r);return{x:-t.x+e.width,y:-t.y+e.height,width:t.width,height:t.height}}(r.bb,t),o=n[r.id];o.x=e.x-t.width/2,o.y=e.y-t.height/2,o.width=e.width,o.height=e.height}else{var i=(u=r.pos,c=r.width,l=r.height,f=_(u,t),d=v(+c),p=v(+l),{x:f.x,y:f.y,width:d,height:p}),s=a[r.id];s&&(s.x=i.x-t.width/2,s.y=i.y-t.height/2)}var u,c,l,f,d,p})),e.edges&&e.edges.forEach((function(e){var n=c[e.id];n&&(n.points=function(e,t){if(e.pos){var n=e.pos.substr(2).split(" ").map((function(r){return _(r,t)})).map((function(r){return[r.x-t.width/2,r.y-t.height/2]})),o=n.shift();return r(r([],n,!0),[o],!1)}return[]}(e,t))})),{clusters:o,nodes:s,links:l}}))}self.onmessage=function(r){E.apply(void 0,r.data).then((function(r){self.postMessage(r)}))}}();`;
|
|
61
61
|
|
|
62
62
|
const workerBlob = new Blob([workerCode], { type: "application/javascript" });
|
|
63
63
|
const workerUrl = URL.createObjectURL(workerBlob);
|
|
@@ -1,57 +1,66 @@
|
|
|
1
1
|
import { Selection } from "@hpcc-js/common";
|
|
2
|
-
import { Edge, Subgraph, Vertex } from "@hpcc-js/react";
|
|
3
2
|
|
|
4
|
-
export interface
|
|
3
|
+
export interface BaseProps {
|
|
5
4
|
id: string;
|
|
6
5
|
origData?: any;
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
export interface
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
export interface VertexProps extends BaseProps {
|
|
9
|
+
text: string;
|
|
10
|
+
categoryID?: string;
|
|
12
11
|
centroid?: boolean;
|
|
13
12
|
hidden?: boolean;
|
|
14
13
|
tooltip?: string;
|
|
14
|
+
annotationIDs?: string[];
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export interface
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
export interface SubgraphProps extends BaseProps {
|
|
18
|
+
text: string;
|
|
19
|
+
width?: number;
|
|
20
|
+
height?: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type Point = [number, number];
|
|
24
|
+
|
|
25
|
+
export interface EdgeProps extends BaseProps {
|
|
26
|
+
source: VertexProps;
|
|
27
|
+
target: VertexProps;
|
|
21
28
|
label?: string;
|
|
29
|
+
labelPos?: Point;
|
|
30
|
+
weight?: number;
|
|
31
|
+
strokeDasharray?: string;
|
|
32
|
+
strokeWidth?: number;
|
|
22
33
|
color?: string;
|
|
23
34
|
fontFamily?: string;
|
|
24
|
-
origData?: any;
|
|
25
35
|
}
|
|
26
36
|
|
|
27
|
-
export interface
|
|
37
|
+
export interface HierarchyBase<SG extends SubgraphProps, V extends VertexProps> {
|
|
28
38
|
id: string;
|
|
29
|
-
parent:
|
|
30
|
-
child:
|
|
39
|
+
parent: SG;
|
|
40
|
+
child: SG | V;
|
|
31
41
|
}
|
|
32
42
|
|
|
33
|
-
export interface IGraphData2 {
|
|
34
|
-
subgraphs?:
|
|
35
|
-
vertices:
|
|
36
|
-
edges:
|
|
37
|
-
hierarchy?:
|
|
43
|
+
export interface IGraphData2<SG extends SubgraphProps, V extends VertexProps, E extends EdgeProps> {
|
|
44
|
+
subgraphs?: SG[];
|
|
45
|
+
vertices: V[];
|
|
46
|
+
edges: E[];
|
|
47
|
+
hierarchy?: HierarchyBase<SG, V>[];
|
|
38
48
|
}
|
|
39
49
|
|
|
40
|
-
export interface SubgraphPlaceholder {
|
|
50
|
+
export interface SubgraphPlaceholder<SG extends SubgraphProps = SubgraphProps> {
|
|
41
51
|
id: string;
|
|
42
|
-
element?: Selection<SVGGElement, SubgraphPlaceholder
|
|
43
|
-
props:
|
|
52
|
+
element?: Selection<SVGGElement, SubgraphPlaceholder<SG>, SVGGElement, any>;
|
|
53
|
+
props: SG;
|
|
44
54
|
|
|
45
55
|
// Dagre / Graphviz Properties ---
|
|
46
56
|
x?: number; // The node’s current x-position
|
|
47
57
|
y?: number; // The node’s current y-position
|
|
48
58
|
}
|
|
49
59
|
|
|
50
|
-
export interface VertexPlaceholder {
|
|
60
|
+
export interface VertexPlaceholder<V extends VertexProps = VertexProps> {
|
|
51
61
|
id: string;
|
|
52
|
-
element?: Selection<SVGGElement, VertexPlaceholder
|
|
53
|
-
props:
|
|
54
|
-
centroid?: boolean;
|
|
62
|
+
element?: Selection<SVGGElement, VertexPlaceholder<V>, SVGGElement, any>;
|
|
63
|
+
props: V;
|
|
55
64
|
|
|
56
65
|
// D3 Assigned Properties ---
|
|
57
66
|
index?: number; // The node’s zero-based index into nodes
|
|
@@ -73,14 +82,14 @@ export interface VertexPlaceholder {
|
|
|
73
82
|
lng?: number;
|
|
74
83
|
}
|
|
75
84
|
|
|
76
|
-
export interface EdgePlaceholder {
|
|
85
|
+
export interface EdgePlaceholder<E extends EdgeProps = EdgeProps, V extends VertexProps = VertexProps> {
|
|
77
86
|
id: string;
|
|
78
|
-
element?: Selection<SVGGElement, EdgePlaceholder, SVGGElement, any>;
|
|
79
|
-
elementPath?: Selection<SVGPathElement, EdgePlaceholder, SVGGElement, any>;
|
|
80
|
-
elementText?: Selection<SVGTextElement, EdgePlaceholder, SVGGElement, any>;
|
|
81
|
-
props:
|
|
82
|
-
source: VertexPlaceholder
|
|
83
|
-
target: VertexPlaceholder
|
|
87
|
+
element?: Selection<SVGGElement, EdgePlaceholder<E, V>, SVGGElement, any>;
|
|
88
|
+
elementPath?: Selection<SVGPathElement, EdgePlaceholder<E, V>, SVGGElement, any>;
|
|
89
|
+
elementText?: Selection<SVGTextElement, EdgePlaceholder<E, V>, SVGGElement, any>;
|
|
90
|
+
props: E;
|
|
91
|
+
source: VertexPlaceholder<V>; // The link’s source node
|
|
92
|
+
target: VertexPlaceholder<V>; // The link’s target node
|
|
84
93
|
|
|
85
94
|
// D3 Assigned Properties ---
|
|
86
95
|
index?: number; // The zero-based index into links, assigned by this method
|