{
    "out": "out",
    "id": "view",
    "nodes": [
        {
            "id": "out",
            "ref": "sequence"
        },
        {
            "id": "z7fp8h0",
            "ref": "initial_state_runnable"
        },
        {
            "id": "0o992qw",
            "value": "ws"
        },
        {
            "id": "yb4vgup",
            "ref": "runnable"
        },
        {
            "id": "nbyt67s",
            "script": "const ws = new WebSocket(url);\nws.addEventListener('open', () => ws.send(JSON.stringify({type: 'request_all'})));\n\nws.addEventListener('message', event => _lib.no.runGraph({...runnable, args: {...runnable.args, event, message: JSON.parse(event.data)}}))\n\nreturn ws;"
        },
        {
            "id": "sipjy22",
            "value": "ws://127.0.0.1:9980"
        },
        {
            "id": "niw8vaa"
        },
        {
            "id": "wooqzi8",
            "ref": "modify_state_runnable"
        },
        {
            "id": "0uxw39d",
            "value": "remote_root"
        },
        {
            "id": "rtcdj1p",
            "ref": "runnable"
        },
        {
            "id": "8vwg7ve",
            "ref": "runnable"
        },
        {
            "id": "epa6k6b",
            "ref": "dispatch_runnable"
        },
        {
            "id": "koqh5u2",
            "ref": "switch"
        },
        {
            "id": "x05ns2r",
            "ref": "arg",
            "value": "message.type"
        },
        {
            "id": "9xaclar",
            "ref": "runnable"
        },
        {
            "id": "if1mzyd",
            "ref": "arg",
            "value": "message.data"
        },
        {
            "id": "j86jww4",
            "ref": "runnable"
        },
        {
            "id": "kuwwbjb",
            "ref": "arg",
            "value": "state"
        },
        {
            "id": "dpjs00z"
        },
        {
            "id": "0a30fno"
        },
        {
            "id": "3xkucuq",
            "ref": "arg",
            "value": "dispatch"
        },
        {
            "id": "7alogud",
            "script": "const node_set = new Set();\nconst nodes = data.display_graph.nodes.filter(n => n.id !== 'out');\nnodes.forEach(n => node_set.add(n.id));\n\nreturn {state: {\n  ...state, \n  remote_dg: data.display_graph,\n  display_graph: {\n    ...state.display_graph, \n    nodes: state.display_graph.nodes\n      .filter(n => !node_set.has(n.id))\n      .concat(nodes), \n    edges: state.display_graph.edges\n      .filter(e => !node_set.has(e.from))\n      .concat(\n        data.display_graph.edges\n          .map(e => e.to === 'out' ? {...e, to: state.remote_root} : e)) \n  }\n}};"
        },
        {
            "id": "9ffnkbh",
            "ref": "arg",
            "value": "state"
        },
        {
            "id": "o08st1f",
            "ref": "runnable"
        },
        {
            "id": "d3q5lys",
            "script": "const selected_changed = !!data.state.find(d => d.path[0] === 'selected');\n\nconsole.log(data);\n\n_lib.just.diffApply(state, data.state.filter(d => d.path[0] !== 'display_graph'));\n\nconst node_set = new Set();\nstate.remote_dg.nodes.forEach(n => node_set.add(n.id));\nnode_set.delete('out');\n\n\n\n_lib.just.diffApply(state.remote_dg, data.display_graph);\n\nconst nodes = state.remote_dg.nodes.filter(n => n.id !== 'out');\nnodes.forEach(n => node_set.add(n.id));\n\nconsole.log(data)\n\nconst new_state = {\n  ...state,\n  display_graph: {\n    ...state.display_graph, \n    nodes: state.display_graph.nodes\n      .filter(n => !node_set.has(n.id))\n      .concat(nodes), \n    edges: state.display_graph.edges\n      .filter(e => !node_set.has(e.from))\n      .concat(\n        state.remote_dg.edges\n          .map(e => e.to === 'out' ? {...e, to: state.remote_root} : e)) \n  }\n};\n\nreturn {state: new_state, effects: [selected_changed && [state.panzoom_selected_effect, state], [state.update_hyperapp]]}"
        },
        {
            "id": "jmbm8u1",
            "ref": "arg",
            "value": "state"
        },
        {
            "id": "7k1u86b",
            "ref": "arg",
            "value": "message.data"
        },
        {
            "id": "zosnk67",
            "ref": "log"
        },
        {
            "id": "xkfew55",
            "ref": "runnable"
        },
        {
            "id": "nv6ae3f"
        },
        {
            "id": "n38hg23",
            "ref": "get"
        },
        {
            "id": "yknusg2",
            "value": "fn"
        },
        {
            "id": "utility"
        },
        {
            "id": "flow"
        },
        {
            "id": "html"
        },
        {
            "id": "object"
        },
        {
            "id": "custom"
        },
        {
            "id": "state"
        },
        {
            "id": "JSON"
        },
        {
            "id": "log",
            "args": [
                "value"
            ],
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "value",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "out",
                    "args": [],
                    "script": "console.log(_node.name ?? _node.id); console.log(value); return value"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "input"
                },
                {
                    "from": "value",
                    "to": "out",
                    "as": "value"
                }
            ]
        },
        {
            "id": "fetch",
            "name": "fetch",
            "extern": "utility.fetch"
        },
        {
            "id": "call",
            "name": "call",
            "extern": "utility.call"
        },
        {
            "id": "stringify",
            "name": "stringify",
            "extern": "JSON.stringify"
        },
        {
            "id": "parse",
            "name": "parse",
            "extern": "JSON.parse"
        },
        {
            "id": "add",
            "extern": "utility.add"
        },
        {
            "id": "mult",
            "extern": "utility.mult"
        },
        {
            "id": "divide",
            "extern": "utility.divide"
        },
        {
            "id": "negate",
            "extern": "utility.negate"
        },
        {
            "id": "append",
            "type": "(array: A[], item: A) => A[]",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "array",
                    "ref": "arg",
                    "value": "array"
                },
                {
                    "id": "item",
                    "ref": "arg",
                    "value": "item"
                },
                {
                    "id": "out",
                    "script": "return array.concat(Array.isArray(item) ? item : [item])"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "_",
                    "type": "ref"
                },
                {
                    "from": "array",
                    "to": "out",
                    "as": "array"
                },
                {
                    "from": "item",
                    "to": "out",
                    "as": "item"
                }
            ]
        },
        {
            "id": "filter",
            "name": "filter",
            "in": "74n1jfm",
            "out": "lahq5z4",
            "nodes": [
                {
                    "id": "lahq5z4",
                    "args": [],
                    "name": "filter/out",
                    "script": "const filter_fn = _lib.no.executeGraphNode({graph: _graph})(fn); return arr.filter(filter_fn)"
                },
                {
                    "id": "pfoypo5",
                    "args": [],
                    "ref": "arg",
                    "value": "key"
                },
                {
                    "id": "zinx621",
                    "args": [],
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "x2sz5kb",
                    "args": [],
                    "ref": "arg",
                    "value": "arr"
                },
                {
                    "id": "fn",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "74n1jfm",
                    "args": [],
                    "name": "filter/in"
                }
            ],
            "edges": [
                {
                    "from": "pfoypo5",
                    "to": "lahq5z4",
                    "as": "key"
                },
                {
                    "from": "zinx621",
                    "to": "lahq5z4",
                    "as": "value"
                },
                {
                    "from": "x2sz5kb",
                    "to": "lahq5z4",
                    "as": "arr"
                },
                {
                    "from": "74n1jfm",
                    "to": "lahq5z4",
                    "as": "input"
                },
                {
                    "from": "fn",
                    "to": "lahq5z4",
                    "as": "fn"
                }
            ]
        },
        {
            "id": "default",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "value",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "otherwise",
                    "ref": "arg",
                    "value": "otherwise"
                },
                {
                    "id": "data"
                },
                {
                    "id": "out",
                    "script": "return value ?? data['otherwise']"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "_args",
                    "type": "ref"
                },
                {
                    "from": "value",
                    "to": "out",
                    "as": "value"
                },
                {
                    "from": "otherwise",
                    "to": "data",
                    "as": "otherwise"
                },
                {
                    "from": "data",
                    "to": "out",
                    "as": "data"
                }
            ]
        },
        {
            "id": "switch",
            "args": [
                "data",
                "input"
            ],
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "out",
                    "args": [
                        "data",
                        "input"
                    ],
                    "script": "return data[input] ?? otherwise;"
                },
                {
                    "id": "input",
                    "ref": "arg",
                    "value": "input"
                },
                {
                    "id": "otherwise",
                    "ref": "arg",
                    "value": "otherwise"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "data"
                },
                {
                    "from": "input",
                    "to": "out",
                    "as": "input"
                },
                {
                    "from": "otherwise",
                    "to": "out",
                    "as": "otherwise"
                }
            ]
        },
        {
            "id": "if",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "pred",
                    "ref": "arg",
                    "value": "pred"
                },
                {
                    "id": "true",
                    "ref": "arg",
                    "value": "true"
                },
                {
                    "id": "false",
                    "ref": "arg",
                    "value": "false"
                },
                {
                    "id": "data"
                },
                {
                    "id": "out",
                    "script": "return !!pred ? data.true_val : data.false_val"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "data"
                },
                {
                    "from": "true",
                    "to": "data",
                    "as": "true_val"
                },
                {
                    "from": "false",
                    "to": "data",
                    "as": "false_val"
                },
                {
                    "from": "data",
                    "to": "out",
                    "as": "data"
                },
                {
                    "from": "pred",
                    "to": "out",
                    "as": "pred"
                }
            ]
        },
        {
            "id": "runnable",
            "out": "out",
            "nodes": [
                {
                    "id": "fn",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "value_args",
                    "ref": "arg",
                    "value": "args"
                },
                {
                    "id": "context_args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "args_path",
                    "value": "args"
                },
                {
                    "id": "delete_context_args_val",
                    "ref": "delete"
                },
                {
                    "id": "args",
                    "ref": "merge_objects"
                },
                {
                    "id": "out",
                    "script": "const parent_id = _node.id.substring(0, _node.id.lastIndexOf('/')); const input = _graph.edges.filter(e => e.to === parent_id).find(i => i.as === 'fn'); return input ? {fn: input.from, graph: _graph, args: args ?? {}} : false"
                }
            ],
            "edges": [
                {
                    "from": "context_args",
                    "to": "delete_context_args_val",
                    "as": "target"
                },
                {
                    "from": "args_path",
                    "to": "delete_context_args_val",
                    "as": "path"
                },
                {
                    "from": "delete_context_args_val",
                    "to": "_args",
                    "as": "a1"
                },
                {
                    "from": "value_args",
                    "to": "args",
                    "as": "a0"
                },
                {
                    "from": "args",
                    "to": "out",
                    "as": "args",
                    "type": "resolve"
                },
                {
                    "from": "fn",
                    "to": "out",
                    "as": "fn",
                    "type": "ref"
                }
            ]
        },
        {
            "id": "dispatch_runnable",
            "nodes": [
                {
                    "id": "dispatch",
                    "ref": "arg",
                    "value": "dispatch",
                    "type": "internal"
                },
                {
                    "id": "fn",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "run",
                    "ref": "run"
                },
                {
                    "id": "args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "out",
                    "script": "dispatch({...fn, args: {...args, ...fn.args}})"
                }
            ],
            "edges": [
                {
                    "from": "fn",
                    "to": "run",
                    "as": "runnable"
                },
                {
                    "from": "fn",
                    "to": "out",
                    "as": "fn"
                },
                {
                    "from": "run",
                    "to": "_out",
                    "as": "res"
                },
                {
                    "from": "dispatch",
                    "to": "out",
                    "as": "dispatch"
                },
                {
                    "from": "args",
                    "to": "out",
                    "as": "args"
                }
            ]
        },
        {
            "id": "execute_graph",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "fn",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "fn_graph",
                    "ref": "arg",
                    "value": "fn_graph"
                },
                {
                    "id": "args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "filter_args",
                    "script": "const ret = {...args}; delete ret.fn; delete ret.graph;"
                },
                {
                    "id": "out",
                    "script": "const res_graph = fn_graph ?? _graph; return (...inner_args) => {return _lib.no.executeGraphNode({graph: {...res_graph, nodes: [...res_graph.nodes], edges: [...res_graph.edges]}})(fn)(Object.keys(args).length > 0 ? Object.assign(args, inner_args.length === 1 ? inner_args[0] : inner_args) : inner_args.length === 1 ? inner_args[0] : inner_args);}"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "args"
                },
                {
                    "from": "fn",
                    "to": "out",
                    "as": "fn"
                },
                {
                    "from": "fn_graph",
                    "to": "out",
                    "as": "fn_graph"
                }
            ]
        },
        {
            "id": "apply",
            "script": "return _lib.no.executeGraphNode({graph: fn.graph ?? _graph})(fn.fn ?? fn)(args);"
        },
        {
            "id": "partial",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "input_value",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "fn",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "args",
                    "ref": "arg",
                    "value": "args"
                },
                {
                    "id": "out",
                    "script": "return _lib.no.executeGraphNode({graph: _graph})(fn)(Object.assign({}, _args, args))"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "args",
                    "type": "ref"
                },
                {
                    "from": "fn",
                    "to": "out",
                    "as": "fn"
                },
                {
                    "from": "args",
                    "to": "out",
                    "as": "args"
                },
                {
                    "from": "input_value",
                    "to": "out",
                    "as": "_args"
                }
            ]
        },
        {
            "id": "array",
            "name": "array",
            "extern": "utility.new_array"
        },
        {
            "id": "merge_objects",
            "extern": "utility.merge_objects"
        },
        {
            "id": "get",
            "args": [
                "target",
                "path"
            ],
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "target",
                    "ref": "arg",
                    "value": "target"
                },
                {
                    "id": "path",
                    "ref": "arg",
                    "value": "path"
                },
                {
                    "id": "def",
                    "ref": "arg",
                    "value": "def"
                },
                {
                    "id": "out",
                    "extern": "just.get"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "input"
                },
                {
                    "from": "def",
                    "to": "out",
                    "as": "def"
                },
                {
                    "from": "path",
                    "to": "out",
                    "as": "path"
                },
                {
                    "from": "target",
                    "to": "out",
                    "as": "target"
                }
            ]
        },
        {
            "id": "arg",
            "extern": "utility.arg"
        },
        {
            "id": "set",
            "type": "(target: any, value: any, path: string) => any",
            "script": "const keys = path.split('.'); const check = (o, v, k) => k.length === 1 ? {...o, [k[0]]: v, _needsresolve: true} : o.hasOwnProperty(k[0]) ? {...o, [k[0]]: check(o[k[0]], v, k.slice(1)), _needsresolve: true} : o; return check(target, value, keys)"
        },
        {
            "id": "delete",
            "out": "out",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "target",
                    "ref": "arg",
                    "value": "target"
                },
                {
                    "id": "path",
                    "ref": "arg",
                    "value": "path"
                },
                {
                    "id": "out",
                    "script": "const new_val = Object.assign({}, target); delete target[path]; return new_val"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "args"
                },
                {
                    "from": "target",
                    "to": "out",
                    "as": "target"
                },
                {
                    "from": "path",
                    "to": "out",
                    "as": "path"
                }
            ]
        },
        {
            "id": "run",
            "out": "out",
            "nodes": [
                {
                    "id": "runnable",
                    "ref": "arg",
                    "value": "runnable"
                },
                {
                    "id": "args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "out",
                    "script": "return _lib.no.runGraph(runnable.graph, runnable.fn, {...args, ...runnable.args})"
                }
            ],
            "edges": [
                {
                    "from": "args",
                    "to": "out",
                    "as": "args"
                },
                {
                    "from": "runnable",
                    "to": "out",
                    "as": "runnable"
                }
            ]
        },
        {
            "id": "map",
            "name": "map",
            "in": "m3b5wg3",
            "out": "tgurdpo",
            "nodes": [
                {
                    "id": "tgurdpo",
                    "ref": "call",
                    "name": "out"
                },
                {
                    "id": "m3b5wg3",
                    "name": "in"
                },
                {
                    "id": "rielyq8",
                    "value": "map",
                    "name": "rielyq8"
                },
                {
                    "ref": "arg",
                    "id": "1rre4bx",
                    "value": "array",
                    "name": "1rre4bx"
                },
                {
                    "ref": "arg",
                    "id": "6g75abk",
                    "value": "fn",
                    "name": "6g75abk"
                },
                {
                    "id": "w0zzawl",
                    "ref": "array",
                    "name": "w0zzawl"
                },
                {
                    "id": "args",
                    "ref": "arg",
                    "value": "args"
                },
                {
                    "id": "pdljod1",
                    "name": "pdljod1",
                    "script": "return (element, index, array) => _lib.no.runGraph(fn?.graph ?? _graph, fn?.fn ?? fn, Object.assign({}, fn.args, args, {element, index, array}));"
                },
                {
                    "id": "2lvs5dj",
                    "script": "return _graph",
                    "name": "2lvs5dj"
                }
            ],
            "edges": [
                {
                    "from": "m3b5wg3",
                    "to": "tgurdpo",
                    "as": "args",
                    "type": "ref"
                },
                {
                    "from": "rielyq8",
                    "to": "tgurdpo",
                    "as": "fn"
                },
                {
                    "from": "1rre4bx",
                    "to": "tgurdpo",
                    "as": "self"
                },
                {
                    "from": "w0zzawl",
                    "to": "tgurdpo",
                    "as": "args",
                    "type": "resolve"
                },
                {
                    "from": "pdljod1",
                    "to": "w0zzawl",
                    "as": "a0"
                },
                {
                    "from": "2lvs5dj",
                    "to": "pdljod1",
                    "as": "graph"
                },
                {
                    "from": "args",
                    "to": "pdljod1",
                    "as": "args"
                },
                {
                    "from": "6g75abk",
                    "to": "pdljod1",
                    "as": "fn"
                }
            ]
        },
        {
            "id": "toggle",
            "name": "toggle",
            "in": "itrzmbe",
            "out": "nn4twx9",
            "nodes": [
                {
                    "id": "nn4twx9",
                    "ref": "html_element",
                    "inputs": [
                        {
                            "from": "lvzwtzi",
                            "to": "nn4twx9",
                            "as": "children"
                        },
                        {
                            "from": "t6q6rvf",
                            "to": "nn4twx9",
                            "as": "props"
                        },
                        {
                            "from": "tchu5kq",
                            "to": "nn4twx9",
                            "as": "dom_type"
                        }
                    ],
                    "name": "out"
                },
                {
                    "id": "lvzwtzi",
                    "ref": "array"
                },
                {
                    "id": "t6q6rvf"
                },
                {
                    "id": "tchu5kq",
                    "value": "button"
                },
                {
                    "id": "583nwco",
                    "name": "in"
                },
                {
                    "id": "itrzmbe",
                    "name": "in"
                },
                {
                    "id": "vmehp75/h4hkmke",
                    "ref": "html_text",
                    "name": "button_text"
                },
                {
                    "id": "punpbfw",
                    "ref": "execute_graph",
                    "name": "onclick_fn"
                },
                {
                    "id": "2aqvso8",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "teuf938",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "1067z1h",
                    "ref": "array"
                },
                {
                    "id": "b8q8y2q",
                    "ref": "array"
                },
                {
                    "id": "pprukwn",
                    "ref": "set"
                },
                {
                    "id": "zu0hb6e",
                    "ref": "arg",
                    "value": "0.update_hyperapp"
                },
                {
                    "id": "eo8hxkq",
                    "script": "return !toggle;"
                },
                {
                    "id": "s6847dx",
                    "ref": "arg",
                    "value": "0"
                },
                {
                    "id": "5g3gdi1",
                    "script": "return 'result.' + value;"
                },
                {
                    "id": "flcuh31",
                    "ref": "get"
                },
                {
                    "id": "0eoq13n",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "ysqu0jj",
                    "ref": "arg",
                    "value": "0.result"
                },
                {
                    "id": "8ji5lb6",
                    "ref": "arg",
                    "value": "value"
                }
            ],
            "edges": [
                {
                    "from": "lvzwtzi",
                    "to": "nn4twx9",
                    "as": "children"
                },
                {
                    "from": "t6q6rvf",
                    "to": "nn4twx9",
                    "as": "props"
                },
                {
                    "from": "tchu5kq",
                    "to": "nn4twx9",
                    "as": "dom_type"
                },
                {
                    "from": "583nwco",
                    "to": "nn4twx9",
                    "as": "arg3"
                },
                {
                    "from": "itrzmbe",
                    "to": "nn4twx9",
                    "as": "arg4"
                },
                {
                    "to": "lvzwtzi",
                    "from": "vmehp75/h4hkmke",
                    "as": "arg1"
                },
                {
                    "from": "punpbfw",
                    "to": "t6q6rvf",
                    "as": "onclick"
                },
                {
                    "from": "2aqvso8",
                    "to": "vmehp75/h4hkmke",
                    "as": "text"
                },
                {
                    "from": "teuf938",
                    "to": "punpbfw",
                    "as": "value"
                },
                {
                    "from": "1067z1h",
                    "to": "punpbfw",
                    "as": "fn",
                    "type": "ref"
                },
                {
                    "from": "b8q8y2q",
                    "to": "1067z1h",
                    "as": "arg1"
                },
                {
                    "from": "pprukwn",
                    "to": "1067z1h",
                    "as": "arg0"
                },
                {
                    "from": "zu0hb6e",
                    "to": "b8q8y2q",
                    "as": "update_hyperapp"
                },
                {
                    "from": "eo8hxkq",
                    "to": "pprukwn",
                    "as": "value"
                },
                {
                    "from": "s6847dx",
                    "to": "pprukwn",
                    "as": "target"
                },
                {
                    "from": "5g3gdi1",
                    "to": "pprukwn",
                    "as": "path"
                },
                {
                    "from": "flcuh31",
                    "to": "eo8hxkq",
                    "as": "toggle"
                },
                {
                    "from": "0eoq13n",
                    "to": "5g3gdi1",
                    "as": "value"
                },
                {
                    "from": "ysqu0jj",
                    "to": "flcuh31",
                    "as": "target"
                },
                {
                    "from": "8ji5lb6",
                    "to": "flcuh31",
                    "as": "path"
                }
            ]
        },
        {
            "id": "sequence",
            "name": "sequence",
            "out": "out",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "runnable_args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "value_args",
                    "ref": "arg",
                    "value": "args"
                },
                {
                    "id": "context_args",
                    "ref": "arg",
                    "value": "_args"
                },
                {
                    "id": "merged_args",
                    "ref": "merge_objects"
                },
                {
                    "id": "args_path",
                    "value": "args"
                },
                {
                    "id": "seq_runnable_args",
                    "ref": "delete"
                },
                {
                    "name": "in",
                    "id": "in"
                },
                {
                    "id": "runnables_promise",
                    "script": "return Promise.all(promises);"
                },
                {
                    "id": "map_runnables",
                    "ref": "map"
                },
                {
                    "id": "runnables",
                    "script": "const runnables = Object.entries(inputs).filter(e => e[0] !== 'args').map(e => [e[0], e[1] && e[1]._Proxy ? e[1]._value : e[1]]).filter(r => r[1] && r[1].hasOwnProperty('fn') && r[1].hasOwnProperty('graph')); const filtered_args = Object.fromEntries(Object.entries(args).filter(a => !runnables.find(r => r[0] === a[0]))); return runnables.map(r => r[1]).map(r => ({...r, args: {...r.args, ...filtered_args}}))"
                },
                {
                    "id": "element",
                    "ref": "arg",
                    "value": "element",
                    "type": "internal"
                },
                {
                    "id": "map_fn",
                    "script": "return new Promise((resolve, reject) => resolve(_lib.no.runGraph(runnable.graph, runnable.fn, runnable.args)));"
                },
                {
                    "id": "map_fn_runnable",
                    "ref": "runnable"
                },
                {
                    "name": "seq_runnable",
                    "id": "out",
                    "ref": "runnable"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "runnables",
                    "as": "inputs"
                },
                {
                    "from": "args",
                    "to": "runnables",
                    "as": "args"
                },
                {
                    "from": "element",
                    "to": "map_fn",
                    "as": "runnable"
                },
                {
                    "from": "map_fn",
                    "to": "map_fn_runnable",
                    "as": "fn"
                },
                {
                    "from": "runnable_args",
                    "to": "map_runnables",
                    "as": "args"
                },
                {
                    "from": "runnables",
                    "to": "map_runnables",
                    "as": "array"
                },
                {
                    "from": "map_fn_runnable",
                    "to": "map_runnables",
                    "as": "fn"
                },
                {
                    "from": "map_runnables",
                    "to": "runnables_promise",
                    "as": "promises"
                },
                {
                    "from": "runnables_promise",
                    "to": "out",
                    "as": "fn"
                },
                {
                    "from": "context_args",
                    "to": "merged_args",
                    "as": "a0"
                },
                {
                    "from": "value_args",
                    "to": "merged_args",
                    "as": "a1"
                },
                {
                    "from": "merged_args",
                    "to": "seq_runnable_args",
                    "as": "target"
                },
                {
                    "from": "args_path",
                    "to": "seq_runnable_args",
                    "as": "path"
                },
                {
                    "from": "seq_runnable_args",
                    "to": "out",
                    "as": "args"
                }
            ]
        },
        {
            "id": "import_json",
            "name": "import_json",
            "in": "j5hwdot",
            "out": "06osgt6",
            "nodes": [
                {
                    "id": "06osgt6",
                    "ref": "initial_state_runnable",
                    "name": "out"
                },
                {
                    "id": "lx2r71d",
                    "ref": "runnable"
                },
                {
                    "id": "j5hwdot",
                    "name": "in"
                },
                {
                    "id": "upzmz7i",
                    "script": "return 'imports.' + name"
                },
                {
                    "id": "hfgitu2",
                    "ref": "run"
                },
                {
                    "id": "i68oe5k"
                },
                {
                    "id": "qomntld",
                    "ref": "arg",
                    "value": "name"
                },
                {
                    "id": "hgo86cn",
                    "ref": "runnable"
                },
                {
                    "id": "7m3jfmy",
                    "ref": "arg",
                    "value": "name"
                },
                {
                    "id": "z9zvilt",
                    "ref": "arg",
                    "value": "url"
                },
                {
                    "id": "f89a5u2"
                },
                {
                    "id": "1v653xe",
                    "ref": "get"
                },
                {
                    "id": "my879k4",
                    "ref": "call"
                },
                {
                    "id": "gfpdf11",
                    "ref": "arg",
                    "value": "name"
                },
                {
                    "id": "23kbk1n",
                    "ref": "run"
                },
                {
                    "id": "71ppowa",
                    "script": "return \"1\";"
                },
                {
                    "id": "mzijca2",
                    "ref": "fetch"
                },
                {
                    "id": "vdfrqzc",
                    "value": "json"
                },
                {
                    "id": "83xy8y2",
                    "ref": "sequence"
                },
                {
                    "id": "5hat6g2",
                    "ref": "arg",
                    "value": "url"
                },
                {
                    "id": "olx0rqo",
                    "ref": "runnable"
                },
                {
                    "id": "9swjqs2",
                    "ref": "runnable"
                },
                {
                    "id": "cbahtxj"
                },
                {
                    "id": "jpuj66z",
                    "ref": "dispatch_runnable"
                },
                {
                    "id": "rfmgm5u",
                    "ref": "arg",
                    "value": "imported_graph",
                    "type": "internal"
                },
                {
                    "id": "jrt3ao3",
                    "ref": "arg",
                    "value": "name",
                    "type": "internal"
                },
                {
                    "id": "830e6rx",
                    "ref": "arg",
                    "value": "imported_graph",
                    "type": "internal"
                },
                {
                    "id": "4qd7fl3",
                    "ref": "runnable"
                },
                {
                    "id": "sae69iz"
                },
                {
                    "id": "j6g4jd4"
                },
                {
                    "id": "um99k99",
                    "ref": "arg",
                    "value": "imported_graph",
                    "type": "internal"
                },
                {
                    "id": "z2ccs2u",
                    "ref": "arg",
                    "value": "name"
                },
                {
                    "id": "xl0tqsd",
                    "ref": "set"
                },
                {
                    "id": "sajmrbs",
                    "value": "display_graph"
                },
                {
                    "id": "i50d0rl",
                    "ref": "set"
                },
                {
                    "id": "59iaxzp",
                    "ref": "arg",
                    "value": "state",
                    "type": "internal"
                },
                {
                    "id": "pfe7svb",
                    "ref": "arg",
                    "value": "state.display_graph",
                    "type": "internal"
                },
                {
                    "id": "dsqrh2d",
                    "value": "nodes"
                },
                {
                    "id": "9zfxac6",
                    "ref": "append"
                },
                {
                    "id": "2zvxan2",
                    "ref": "map"
                },
                {
                    "id": "hrzgjqm",
                    "script": "return nodes.filter(n => !n.id.startsWith(imported_id)).concat([{id: imported_id}]);"
                },
                {
                    "id": "a8x8a5c",
                    "ref": "arg",
                    "value": "imported_graph.nodes",
                    "type": "internal"
                },
                {
                    "id": "d4yl375",
                    "ref": "runnable"
                },
                {
                    "id": "2f1lyvz",
                    "ref": "arg",
                    "value": "state.display_graph.nodes",
                    "type": "internal"
                },
                {
                    "id": "oco33oy",
                    "ref": "arg",
                    "value": "name",
                    "type": "internal"
                },
                {
                    "id": "55qulh4",
                    "ref": "set"
                },
                {
                    "id": "4az2m7o"
                },
                {
                    "id": "ugtx81k",
                    "ref": "arg",
                    "value": "element",
                    "type": "internal"
                },
                {
                    "id": "2eq7kuu",
                    "value": "id"
                },
                {
                    "id": "2tekj7w",
                    "script": "return imported_id + '.' + node_id;"
                },
                {
                    "id": "2xt8tpx",
                    "ref": "arg",
                    "value": "name",
                    "type": "internal"
                },
                {
                    "id": "og27c4d",
                    "ref": "arg",
                    "value": "imported_id",
                    "type": "internal"
                },
                {
                    "id": "aodmtk1",
                    "ref": "arg",
                    "value": "element.id",
                    "type": "internal"
                }
            ],
            "edges": [
                {
                    "from": "lx2r71d",
                    "to": "06osgt6",
                    "as": "fn"
                },
                {
                    "from": "j5hwdot",
                    "to": "06osgt6",
                    "as": "_"
                },
                {
                    "from": "upzmz7i",
                    "to": "06osgt6",
                    "as": "value"
                },
                {
                    "from": "hfgitu2",
                    "to": "lx2r71d",
                    "as": "fn"
                },
                {
                    "from": "i68oe5k",
                    "to": "lx2r71d",
                    "as": "args"
                },
                {
                    "from": "qomntld",
                    "to": "upzmz7i",
                    "as": "name"
                },
                {
                    "from": "hgo86cn",
                    "to": "hfgitu2",
                    "as": "runnable"
                },
                {
                    "from": "7m3jfmy",
                    "to": "i68oe5k",
                    "as": "name"
                },
                {
                    "from": "z9zvilt",
                    "to": "i68oe5k",
                    "as": "url"
                },
                {
                    "from": "f89a5u2",
                    "to": "hgo86cn",
                    "as": "args"
                },
                {
                    "from": "1v653xe",
                    "to": "hgo86cn",
                    "as": "fn"
                },
                {
                    "from": "my879k4",
                    "to": "f89a5u2",
                    "as": "imported_graph"
                },
                {
                    "from": "gfpdf11",
                    "to": "f89a5u2",
                    "as": "name"
                },
                {
                    "from": "23kbk1n",
                    "to": "1v653xe",
                    "as": "target"
                },
                {
                    "from": "71ppowa",
                    "to": "1v653xe",
                    "as": "path"
                },
                {
                    "from": "mzijca2",
                    "to": "my879k4",
                    "as": "self"
                },
                {
                    "from": "vdfrqzc",
                    "to": "my879k4",
                    "as": "fn"
                },
                {
                    "from": "83xy8y2",
                    "to": "23kbk1n",
                    "as": "runnable"
                },
                {
                    "from": "5hat6g2",
                    "to": "mzijca2",
                    "as": "url"
                },
                {
                    "from": "olx0rqo",
                    "to": "83xy8y2",
                    "as": "arg0"
                },
                {
                    "from": "9swjqs2",
                    "to": "83xy8y2",
                    "as": "arg1"
                },
                {
                    "from": "cbahtxj",
                    "to": "83xy8y2",
                    "as": "args"
                },
                {
                    "from": "jpuj66z",
                    "to": "olx0rqo",
                    "as": "fn"
                },
                {
                    "from": "rfmgm5u",
                    "to": "9swjqs2",
                    "as": "fn"
                },
                {
                    "from": "jrt3ao3",
                    "to": "cbahtxj",
                    "as": "name"
                },
                {
                    "from": "830e6rx",
                    "to": "cbahtxj",
                    "as": "imported_graph"
                },
                {
                    "from": "4qd7fl3",
                    "to": "jpuj66z",
                    "as": "fn"
                },
                {
                    "from": "sae69iz",
                    "to": "4qd7fl3",
                    "as": "args"
                },
                {
                    "from": "j6g4jd4",
                    "to": "4qd7fl3",
                    "as": "fn"
                },
                {
                    "from": "um99k99",
                    "to": "sae69iz",
                    "as": "imported_graph"
                },
                {
                    "from": "z2ccs2u",
                    "to": "sae69iz",
                    "as": "name"
                },
                {
                    "from": "xl0tqsd",
                    "to": "j6g4jd4",
                    "as": "state"
                },
                {
                    "from": "sajmrbs",
                    "to": "xl0tqsd",
                    "as": "path"
                },
                {
                    "from": "i50d0rl",
                    "to": "xl0tqsd",
                    "as": "value"
                },
                {
                    "from": "59iaxzp",
                    "to": "xl0tqsd",
                    "as": "target"
                },
                {
                    "from": "pfe7svb",
                    "to": "i50d0rl",
                    "as": "target"
                },
                {
                    "from": "dsqrh2d",
                    "to": "i50d0rl",
                    "as": "path"
                },
                {
                    "from": "9zfxac6",
                    "to": "i50d0rl",
                    "as": "value"
                },
                {
                    "from": "2zvxan2",
                    "to": "9zfxac6",
                    "as": "item"
                },
                {
                    "from": "hrzgjqm",
                    "to": "9zfxac6",
                    "as": "array"
                },
                {
                    "from": "a8x8a5c",
                    "to": "2zvxan2",
                    "as": "array"
                },
                {
                    "from": "d4yl375",
                    "to": "2zvxan2",
                    "as": "fn"
                },
                {
                    "from": "2f1lyvz",
                    "to": "hrzgjqm",
                    "as": "nodes"
                },
                {
                    "from": "oco33oy",
                    "to": "hrzgjqm",
                    "as": "imported_id"
                },
                {
                    "from": "55qulh4",
                    "to": "d4yl375",
                    "as": "fn"
                },
                {
                    "from": "4az2m7o",
                    "to": "d4yl375",
                    "as": "args"
                },
                {
                    "from": "ugtx81k",
                    "to": "55qulh4",
                    "as": "target"
                },
                {
                    "from": "2eq7kuu",
                    "to": "55qulh4",
                    "as": "path"
                },
                {
                    "from": "2tekj7w",
                    "to": "55qulh4",
                    "as": "value"
                },
                {
                    "from": "2xt8tpx",
                    "to": "4az2m7o",
                    "as": "imported_id"
                },
                {
                    "from": "og27c4d",
                    "to": "2tekj7w",
                    "as": "imported_id"
                },
                {
                    "from": "aodmtk1",
                    "to": "2tekj7w",
                    "as": "node_id"
                }
            ]
        },
        {
            "id": "initial_state_runnable",
            "name": "initial_state_runnable",
            "in": "0tsqw11",
            "out": "pd64cr8",
            "nodes": [
                {
                    "name": "out",
                    "id": "pd64cr8",
                    "ref": "default"
                },
                {
                    "id": "usd4433",
                    "name": "modify_state_runnable",
                    "ref": "modify_state_runnable"
                },
                {
                    "id": "0tsqw11",
                    "name": "in"
                },
                {
                    "id": "6rdgk5r",
                    "ref": "get"
                },
                {
                    "id": "4g0xgt3",
                    "value": "value",
                    "ref": "arg"
                },
                {
                    "id": "itmdest",
                    "value": "fn",
                    "ref": "arg"
                },
                {
                    "id": "s5ns82c",
                    "ref": "arg",
                    "value": "state"
                },
                {
                    "id": "eb0nj9q",
                    "ref": "arg",
                    "value": "value"
                }
            ],
            "edges": [
                {
                    "from": "usd4433",
                    "to": "pd64cr8",
                    "as": "otherwise"
                },
                {
                    "from": "0tsqw11",
                    "to": "pd64cr8",
                    "as": "_"
                },
                {
                    "from": "6rdgk5r",
                    "to": "pd64cr8",
                    "as": "value"
                },
                {
                    "from": "4g0xgt3",
                    "to": "usd4433",
                    "as": "value"
                },
                {
                    "from": "itmdest",
                    "to": "usd4433",
                    "as": "fn"
                },
                {
                    "from": "s5ns82c",
                    "to": "6rdgk5r",
                    "as": "target"
                },
                {
                    "from": "eb0nj9q",
                    "to": "6rdgk5r",
                    "as": "path"
                }
            ]
        },
        {
            "id": "modify_state_runnable",
            "name": "modify_state_runnable",
            "in": "0tke7mk",
            "out": "4k16rxs",
            "nodes": [
                {
                    "id": "4k16rxs",
                    "ref": "runnable",
                    "name": "out"
                },
                {
                    "id": "17hgmhe",
                    "ref": "dispatch_runnable"
                },
                {
                    "id": "0tke7mk",
                    "name": "in"
                },
                {
                    "id": "qsm5fqf"
                },
                {
                    "id": "6i1lek8",
                    "ref": "runnable"
                },
                {
                    "id": "ecixhbu",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "3d6xwzp",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "ysv47a4",
                    "ref": "arg",
                    "value": "state"
                },
                {
                    "id": "yl8sikb"
                },
                {
                    "id": "4hrg1ky"
                },
                {
                    "id": "ywscm67",
                    "ref": "set"
                },
                {
                    "id": "hsgqfec",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "a5z6wdp",
                    "ref": "run"
                },
                {
                    "id": "vjtdfop",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "hej7g0o",
                    "ref": "arg",
                    "value": "state_value"
                },
                {
                    "id": "bohly2o",
                    "ref": "arg",
                    "value": "state"
                },
                {
                    "id": "y65mfa8",
                    "ref": "set"
                },
                {
                    "id": "tmsibf6",
                    "ref": "merge_objects"
                },
                {
                    "id": "dkoqs5x",
                    "value": "args"
                },
                {
                    "id": "zmexk3x",
                    "ref": "arg",
                    "value": "fn"
                },
                {
                    "id": "nl97w9x"
                },
                {
                    "id": "oz8h5rr",
                    "ref": "arg",
                    "value": "fn.args"
                },
                {
                    "id": "5g3mq34",
                    "ref": "arg",
                    "value": "dispatch"
                },
                {
                    "id": "jdxnymc",
                    "ref": "arg",
                    "value": "payload"
                },
                {
                    "id": "69fs5ao",
                    "ref": "get"
                },
                {
                    "id": "lsjg9ew",
                    "ref": "arg",
                    "value": "state"
                },
                {
                    "id": "vc4ejyt",
                    "ref": "arg",
                    "value": "state"
                },
                {
                    "id": "n3riawv",
                    "ref": "arg",
                    "value": "value"
                }
            ],
            "edges": [
                {
                    "from": "17hgmhe",
                    "to": "4k16rxs",
                    "as": "fn"
                },
                {
                    "from": "0tke7mk",
                    "to": "4k16rxs",
                    "as": "arg0"
                },
                {
                    "from": "qsm5fqf",
                    "to": "4k16rxs",
                    "as": "args"
                },
                {
                    "from": "6i1lek8",
                    "to": "17hgmhe",
                    "as": "fn"
                },
                {
                    "from": "ecixhbu",
                    "to": "qsm5fqf",
                    "as": "value"
                },
                {
                    "from": "3d6xwzp",
                    "to": "qsm5fqf",
                    "as": "fn"
                },
                {
                    "from": "ysv47a4",
                    "to": "qsm5fqf",
                    "as": "state"
                },
                {
                    "from": "yl8sikb",
                    "to": "6i1lek8",
                    "as": "fn"
                },
                {
                    "from": "4hrg1ky",
                    "to": "6i1lek8",
                    "as": "args"
                },
                {
                    "from": "ywscm67",
                    "to": "yl8sikb",
                    "as": "state"
                },
                {
                    "from": "hsgqfec",
                    "to": "4hrg1ky",
                    "as": "value"
                },
                {
                    "from": "a5z6wdp",
                    "to": "4hrg1ky",
                    "as": "state_value"
                },
                {
                    "from": "vjtdfop",
                    "to": "ywscm67",
                    "as": "path"
                },
                {
                    "from": "hej7g0o",
                    "to": "ywscm67",
                    "as": "value"
                },
                {
                    "from": "bohly2o",
                    "to": "ywscm67",
                    "as": "target"
                },
                {
                    "from": "y65mfa8",
                    "to": "a5z6wdp",
                    "as": "runnable"
                },
                {
                    "from": "tmsibf6",
                    "to": "y65mfa8",
                    "as": "value"
                },
                {
                    "from": "dkoqs5x",
                    "to": "y65mfa8",
                    "as": "path"
                },
                {
                    "from": "zmexk3x",
                    "to": "y65mfa8",
                    "as": "target"
                },
                {
                    "from": "nl97w9x",
                    "to": "tmsibf6",
                    "as": "arg0"
                },
                {
                    "from": "oz8h5rr",
                    "to": "tmsibf6",
                    "as": "arg1"
                },
                {
                    "from": "5g3mq34",
                    "to": "nl97w9x",
                    "as": "dispatch"
                },
                {
                    "from": "jdxnymc",
                    "to": "nl97w9x",
                    "as": "payload"
                },
                {
                    "from": "69fs5ao",
                    "to": "nl97w9x",
                    "as": "state_value"
                },
                {
                    "from": "lsjg9ew",
                    "to": "nl97w9x",
                    "as": "state"
                },
                {
                    "from": "vc4ejyt",
                    "to": "69fs5ao",
                    "as": "target"
                },
                {
                    "from": "n3riawv",
                    "to": "69fs5ao",
                    "as": "path"
                }
            ]
        },
        {
            "id": "object_entries",
            "name": "object_entries",
            "in": "tkd4tqn",
            "out": "j8c79uf",
            "nodes": [
                {
                    "name": "out",
                    "id": "j8c79uf",
                    "ref": "filter"
                },
                {
                    "id": "tkd4tqn",
                    "name": "in"
                },
                {
                    "id": "hfexsuu",
                    "script": "return !key.startsWith('_');"
                },
                {
                    "id": "bgi2g37",
                    "script": "return Object.entries(obj)"
                },
                {
                    "id": "7gqcw0o",
                    "ref": "arg",
                    "value": "0.0"
                },
                {
                    "id": "kpakw50",
                    "ref": "arg",
                    "value": "object"
                }
            ],
            "edges": [
                {
                    "from": "tkd4tqn",
                    "to": "j8c79uf",
                    "as": "arr"
                },
                {
                    "from": "hfexsuu",
                    "to": "j8c79uf",
                    "as": "fn",
                    "type": "ref"
                },
                {
                    "from": "bgi2g37",
                    "to": "j8c79uf",
                    "as": "arr"
                },
                {
                    "from": "7gqcw0o",
                    "to": "hfexsuu",
                    "as": "key"
                },
                {
                    "from": "kpakw50",
                    "to": "bgi2g37",
                    "as": "obj"
                }
            ]
        },
        {
            "id": "css_styles",
            "name": "css_styles",
            "in": "xw3pmx7",
            "out": "out",
            "nodes": [
              {"id": "out", "ref": "return", "name": "css_styles"},
                {
                    "id": "5yxmxua",
                    "ref": "html_element",
                    "name": "out"
                },
                {
                    "id": "vgv61zj",
                    "ref": "html_text"
                },
                {
                    "id": "jstjx7g"
                },
                {
                    "id": "h40e3j9",
                    "value": "style"
                },
                {
                    "id": "xw3pmx7",
                    "name": "in"
                },
                {
                    "id": "jlgp7uy",
                    "ref": "call"
                },
                {
                    "id": "o1j78dd",
                    "value": "result-view"
                },
                {
                    "id": "ij4z84e",
                    "ref": "map"
                },
                {
                    "id": "q3pwj9j",
                    "value": "join"
                },
                {
                    "id": "d6h3gdw",
                    "ref": "array"
                },
                {
                    "id": "j8c79uf",
                    "name": "object_entries",
                    "ref": "object_entries"
                },
                {
                    "id": "aelf1a7",
                    "script": "return key + '{' + value + '}'"
                },
                {
                    "id": "z63iaay",
                    "script": "return \"\\n\";"
                },
                {
                    "id": "vwsgweb",
                    "ref": "default"
                },
                {
                    "id": "5eqf77t",
                    "value": "element.0",
                    "ref": "arg"
                },
                {
                    "id": "1hpnid4",
                    "ref": "call"
                },
                {
                    "id": "mkwx4yx"
                },
                {
                    "id": "fzr4mkv",
                    "ref": "arg",
                    "value": "css_object"
                },
                {
                    "id": "bbbp82v",
                    "ref": "map"
                },
                {
                    "id": "cp66ig5",
                    "value": "join"
                },
                {
                    "id": "uwq9u81",
                    "ref": "array"
                },
                {
                    "id": "i1ifamx",
                    "ref": "object_entries"
                },
                {
                    "id": "0d4yh8u",
                    "script": "return key + ': ' + value + \";\";"
                },
                {
                    "id": "gth1wc2",
                    "script": "return \"\\n\";"
                },
                {
                    "id": "y25dg2n",
                    "value": "element.1",
                    "ref": "arg"
                },
                {
                    "id": "h13a9fd",
                    "ref": "arg",
                    "value": "element.0"
                },
                {
                    "id": "h7me3v8",
                    "ref": "arg",
                    "value": "element.1"
                }
            ],
            "edges": [
              {"from": "5yxmxua", "to": "out", "as": "value"},
                {
                    "from": "vgv61zj",
                    "to": "5yxmxua",
                    "as": "children"
                },
                {
                    "from": "jstjx7g",
                    "to": "5yxmxua",
                    "as": "props"
                },
                {
                    "from": "h40e3j9",
                    "to": "5yxmxua",
                    "as": "dom_type"
                },
                {
                    "from": "xw3pmx7",
                    "to": "5yxmxua",
                    "as": "arg3"
                },
                {
                    "from": "jlgp7uy",
                    "to": "vgv61zj",
                    "as": "text"
                },
                {
                    "from": "o1j78dd",
                    "to": "jstjx7g",
                    "as": "key"
                },
                {
                    "from": "ij4z84e",
                    "to": "jlgp7uy",
                    "as": "self"
                },
                {
                    "from": "q3pwj9j",
                    "to": "jlgp7uy",
                    "as": "fn"
                },
                {
                    "from": "d6h3gdw",
                    "to": "jlgp7uy",
                    "as": "args"
                },
                {
                    "from": "j8c79uf",
                    "to": "ij4z84e",
                    "as": "array"
                },
                {
                    "from": "aelf1a7",
                    "to": "ij4z84e",
                    "as": "fn",
                    "type": "ref"
                },
                {
                    "from": "z63iaay",
                    "to": "d6h3gdw",
                    "as": "arg0"
                },
                {
                    "from": "vwsgweb",
                    "to": "j8c79uf",
                    "as": "object"
                },
                {
                    "from": "5eqf77t",
                    "to": "aelf1a7",
                    "as": "key"
                },
                {
                    "from": "1hpnid4",
                    "to": "aelf1a7",
                    "as": "value"
                },
                {
                    "from": "mkwx4yx",
                    "to": "vwsgweb",
                    "as": "otherwise"
                },
                {
                    "from": "fzr4mkv",
                    "to": "vwsgweb",
                    "as": "value"
                },
                {
                    "from": "bbbp82v",
                    "to": "1hpnid4",
                    "as": "self"
                },
                {
                    "from": "cp66ig5",
                    "to": "1hpnid4",
                    "as": "fn"
                },
                {
                    "from": "uwq9u81",
                    "to": "1hpnid4",
                    "as": "args"
                },
                {
                    "from": "i1ifamx",
                    "to": "bbbp82v",
                    "as": "array"
                },
                {
                    "from": "0d4yh8u",
                    "to": "bbbp82v",
                    "as": "fn",
                    "type": "ref"
                },
                {
                    "from": "gth1wc2",
                    "to": "uwq9u81",
                    "as": "arg0"
                },
                {
                    "from": "y25dg2n",
                    "to": "i1ifamx",
                    "as": "object"
                },
                {
                    "from": "h13a9fd",
                    "to": "0d4yh8u",
                    "as": "key"
                },
                {
                    "from": "h7me3v8",
                    "to": "0d4yh8u",
                    "as": "value"
                }
            ]
        },
        {
            "id": "set_display",
            "name": "set_display",
            "description": "Use like an html_element to add html to the page.",
            "in": "fkp4pck/wb73q0h",
            "out": "a59hci8",
            "nodes": [
                {
                    "name": "out",
                    "id": "a59hci8",
                    "ref": "sequence"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84",
                    "name": "modify_state_runnable",
                    "ref": "modify_state_runnable"
                },
                {
                    "id": "fkp4pck/wb73q0h",
                    "name": "in"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/y4qbl8k",
                    "value": "result_display"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/lol0vdh",
                    "ref": "runnable"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/w8vpdfx",
                    "ref": "html_element"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/vofecaa",
                    "ref": "arg",
                    "value": "props"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/j8qudts",
                    "ref": "arg",
                    "value": "children"
                },
                {
                    "id": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/iead5y3",
                    "ref": "arg",
                    "value": "dom_type"
                }
            ],
            "edges": [
                {
                    "from": "da71z9c/2435ihf/jd1mc84",
                    "to": "a59hci8",
                    "as": "arg0"
                },
                {
                    "to": "a59hci8",
                    "from": "fkp4pck/wb73q0h",
                    "as": "arg1"
                },
                {
                    "from": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/y4qbl8k",
                    "to": "da71z9c/2435ihf/jd1mc84",
                    "as": "value"
                },
                {
                    "from": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/lol0vdh",
                    "to": "da71z9c/2435ihf/jd1mc84",
                    "as": "fn"
                },
                {
                    "from": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/w8vpdfx",
                    "to": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/lol0vdh",
                    "as": "fn"
                },
                {
                    "from": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/vofecaa",
                    "to": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/w8vpdfx",
                    "as": "props"
                },
                {
                    "from": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/j8qudts",
                    "to": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/w8vpdfx",
                    "as": "children"
                },
                {
                    "from": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/iead5y3",
                    "to": "da71z9c/2435ihf/jd1mc84/a59hci8/da71z9c/2435ihf/w8vpdfx",
                    "as": "dom_type"
                }
            ]
        },
        {
            "id": "input",
            "name": "input",
            "in": "7rhq0q5",
            "out": "nn4twx9",
            "nodes": [
                {
                    "id": "nn4twx9",
                    "ref": "html_element",
                    "inputs": [
                        {
                            "from": "bw4iez5/gvkhkfw",
                            "to": "bw4iez5/nn4twx9",
                            "as": "children"
                        },
                        {
                            "from": "bw4iez5/7rhq0q5",
                            "to": "bw4iez5/nn4twx9",
                            "as": "props"
                        }
                    ],
                    "name": "out"
                },
                {
                    "id": "gvkhkfw",
                    "ref": "array"
                },
                {
                    "id": "7rhq0q5",
                    "name": "in"
                },
                {
                    "id": "4972gx3",
                    "ref": "html_element"
                },
                {
                    "id": "1ldhfah",
                    "ref": "html_element",
                    "name": "label"
                },
                {
                    "id": "ee5i5r2",
                    "value": "input"
                },
                {
                    "id": "ro8n2gc",
                    "ref": "merge_objects"
                },
                {
                    "id": "wet0jdv",
                    "ref": "array"
                },
                {
                    "id": "gcuxiw9"
                },
                {
                    "id": "875c1wk",
                    "value": "label"
                },
                {
                    "id": "t6q6rvf"
                },
                {
                    "id": "rjwtb3c",
                    "ref": "default"
                },
                {
                    "id": "utkc9o6",
                    "ref": "html_text"
                },
                {
                    "id": "jxl9r29",
                    "script": "return \"input-\" + value;"
                },
                {
                    "id": "2zxw9oo",
                    "ref": "execute_graph",
                    "name": "stop_propagation"
                },
                {
                    "id": "i7y9dyy",
                    "script": "return (state, payload) => [{...state, [value]: target.value}, onchange_fn && [_ => dispatch(onchange_fn)]]"
                },
                {
                    "id": "vks4vul",
                    "ref": "arg",
                    "value": "props"
                },
                {
                    "id": "ddfgy2s"
                },
                {
                    "id": "trd8ptp",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "zfrrk0z",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "qseh2tb",
                    "ref": "array"
                },
                {
                    "id": "b0j8nyq",
                    "ref": "arg",
                    "value": "dispatch"
                },
                {
                    "id": "eotod0l",
                    "ref": "sequence"
                },
                {
                    "id": "qxwvdfe",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "0dnqo5l",
                    "ref": "arg",
                    "value": "onchange_fn"
                },
                {
                    "id": "1wps21n",
                    "name": "stop propagation effect",
                    "out": "hj2cig0",
                    "nodes": [
                        {
                            "id": "hj2cig0",
                            "ref": "array",
                            "name": "stop propagation effect"
                        },
                        {
                            "id": "1pvaim9",
                            "ref": "execute_graph"
                        },
                        {
                            "id": "0o86xp3",
                            "ref": "arg",
                            "value": "1"
                        },
                        {
                            "id": "d60jwms",
                            "script": "payload.stopPropagation();"
                        },
                        {
                            "id": "xgbubrq",
                            "ref": "arg",
                            "value": "1"
                        }
                    ],
                    "edges": [
                        {
                            "from": "1pvaim9",
                            "to": "hj2cig0",
                            "as": "a0"
                        },
                        {
                            "from": "0o86xp3",
                            "to": "hj2cig0",
                            "as": "a1"
                        },
                        {
                            "from": "d60jwms",
                            "to": "1pvaim9",
                            "as": "fn",
                            "type": "ref"
                        },
                        {
                            "from": "xgbubrq",
                            "to": "d60jwms",
                            "as": "payload"
                        }
                    ]
                },
                {
                    "id": "y5q7mbn",
                    "ref": "arg",
                    "value": "0"
                },
                {
                    "id": "qjc0zt6",
                    "ref": "modify_state_runnable"
                },
                {
                    "id": "widk6u6",
                    "ref": "runnable"
                },
                {
                    "id": "506ntvb",
                    "ref": "arg",
                    "value": "value"
                },
                {
                    "id": "4ck1vaf",
                    "ref": "arg",
                    "value": "target.value"
                }
            ],
            "edges": [
                {
                    "from": "gvkhkfw",
                    "to": "nn4twx9",
                    "as": "children"
                },
                {
                    "from": "7rhq0q5",
                    "to": "nn4twx9",
                    "as": "_"
                },
                {
                    "from": "4972gx3",
                    "to": "gvkhkfw",
                    "as": "arg1"
                },
                {
                    "from": "1ldhfah",
                    "to": "gvkhkfw",
                    "as": "arg0"
                },
                {
                    "from": "ee5i5r2",
                    "to": "4972gx3",
                    "as": "dom_type"
                },
                {
                    "from": "ro8n2gc",
                    "to": "4972gx3",
                    "as": "props"
                },
                {
                    "from": "wet0jdv",
                    "to": "1ldhfah",
                    "as": "children"
                },
                {
                    "from": "gcuxiw9",
                    "to": "1ldhfah",
                    "as": "props"
                },
                {
                    "from": "875c1wk",
                    "to": "1ldhfah",
                    "as": "dom_type"
                },
                {
                    "from": "t6q6rvf",
                    "to": "ro8n2gc",
                    "as": "arg0"
                },
                {
                    "from": "rjwtb3c",
                    "to": "ro8n2gc",
                    "as": "props"
                },
                {
                    "from": "utkc9o6",
                    "to": "wet0jdv",
                    "as": "arg0"
                },
                {
                    "from": "jxl9r29",
                    "to": "gcuxiw9",
                    "as": "for"
                },
                {
                    "from": "2zxw9oo",
                    "to": "t6q6rvf",
                    "as": "onkeydown"
                },
                {
                    "from": "i7y9dyy",
                    "to": "t6q6rvf",
                    "as": "onchange"
                },
                {
                    "from": "vks4vul",
                    "to": "rjwtb3c",
                    "as": "value"
                },
                {
                    "from": "ddfgy2s",
                    "to": "rjwtb3c",
                    "as": "otherwise"
                },
                {
                    "from": "trd8ptp",
                    "to": "utkc9o6",
                    "as": "text"
                },
                {
                    "from": "zfrrk0z",
                    "to": "jxl9r29",
                    "as": "value"
                },
                {
                    "to": "2zxw9oo",
                    "from": "qseh2tb",
                    "as": "fn",
                    "type": "ref"
                },
                {
                    "from": "b0j8nyq",
                    "to": "i7y9dyy",
                    "as": "dispatch"
                },
                {
                    "from": "eotod0l",
                    "to": "i7y9dyy",
                    "as": "seq"
                },
                {
                    "from": "qxwvdfe",
                    "to": "i7y9dyy",
                    "as": "value"
                },
                {
                    "from": "0dnqo5l",
                    "to": "i7y9dyy",
                    "as": "onchange_fn"
                },
                {
                    "from": "1wps21n",
                    "to": "qseh2tb",
                    "as": "a1"
                },
                {
                    "from": "y5q7mbn",
                    "to": "qseh2tb",
                    "as": "a0"
                },
                {
                    "from": "qjc0zt6",
                    "to": "eotod0l",
                    "as": "arg"
                },
                {
                    "from": "widk6u6",
                    "to": "qjc0zt6",
                    "as": "fn"
                },
                {
                    "from": "506ntvb",
                    "to": "qjc0zt6",
                    "as": "value"
                },
                {
                    "from": "4ck1vaf",
                    "to": "widk6u6",
                    "as": "fn"
                }
            ]
        },
        {
            "id": "html_text",
            "description": "Some HTML plaintext. Usually used as a child of html_element.",
            "out": "out",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "text",
                    "ref": "arg",
                    "value": "text"
                },
                {
                    "id": "text_value",
                    "value": "text_value"
                },
                {
                    "id": "out"
                }
            ],
            "edges": [
                {
                    "from": "in",
                    "to": "out",
                    "as": "_",
                    "type": "ref"
                },
                {
                    "from": "text_value",
                    "to": "out",
                    "as": "dom_type"
                },
                {
                    "from": "text",
                    "to": "out",
                    "as": "text"
                }
            ]
        },
        {
            "id": "html_element",
            "description": "An HTML Element. `children` is an array of html_element or html_text, `props` are the attributes for the html element as an object.",
            "nodes": [
                {
                    "id": "in"
                },
                {
                    "id": "children",
                    "ref": "arg",
                    "value": "children"
                },
                {
                    "id": "props",
                    "ref": "arg",
                    "value": "props"
                },
                {
                    "id": "dom_type",
                    "ref": "arg",
                    "value": "dom_type"
                },
                {
                    "id": "div",
                    "value": "div"
                },
                {
                    "id": "fill_children",
                    "args": [
                        "children"
                    ],
                    "script": "return children === undefined ? [] : children.length !== undefined ? children.filter(c => !!c).map(c => c.el ?? c) : [children.el ?? children]"
                },
                {
                    "id": "fill_props",
                    "args": [
                        "input"
                    ],
                    "script": "return props ?? {}"
                },
                {
                    "id": "dom_type_def",
                    "ref": "default"
                },
                {
                    "id": "out",
                    "script": "if(!(typeof dom_type === 'string' && Array.isArray(children))){ throw new Error('invalid element');} children.filter(c => c).forEach(c => {if(typeof c.dom_type !== 'string'){throw new Error ('invalid child element');}}); return {el: {dom_type, props, children}}"
                }
            ],
            "edges": [
                {
                    "from": "children",
                    "to": "fill_children",
                    "as": "children"
                },
                {
                    "from": "props",
                    "to": "fill_props",
                    "as": "props"
                },
                {
                    "from": "fill_children",
                    "to": "out",
                    "as": "children",
                    "type": "resolve"
                },
                {
                    "from": "fill_props",
                    "to": "out",
                    "as": "props"
                },
                {
                    "from": "dom_type",
                    "to": "dom_type_def",
                    "as": "value"
                },
                {
                    "from": "div",
                    "to": "dom_type_def",
                    "as": "otherwise"
                },
                {
                    "from": "dom_type_def",
                    "to": "out",
                    "as": "dom_type"
                },
                {
                    "from": "in",
                    "to": "out",
                    "as": "args",
                    "type": "ref"
                }
            ]
        }
    ],
    "edges": [
        {
            "to": "out",
            "from": "z7fp8h0",
            "as": "arg1"
        },
        {
            "to": "z7fp8h0",
            "from": "0o992qw",
            "as": "value"
        },
        {
            "to": "z7fp8h0",
            "from": "yb4vgup",
            "as": "fn"
        },
        {
            "to": "yb4vgup",
            "from": "nbyt67s",
            "as": "fn"
        },
        {
            "to": "nbyt67s",
            "from": "sipjy22",
            "as": "url"
        },
        {
            "to": "out",
            "from": "niw8vaa",
            "as": "args"
        },
        {
            "to": "out",
            "from": "wooqzi8",
            "as": "arg2"
        },
        {
            "to": "wooqzi8",
            "from": "0uxw39d",
            "as": "value"
        },
        {
            "to": "wooqzi8",
            "from": "rtcdj1p",
            "as": "fn"
        },
        {
            "to": "nbyt67s",
            "from": "8vwg7ve",
            "as": "runnable"
        },
        {
            "to": "8vwg7ve",
            "from": "epa6k6b",
            "as": "fn"
        },
        {
            "to": "koqh5u2",
            "from": "9xaclar",
            "as": "all"
        },
        {
            "to": "koqh5u2",
            "from": "j86jww4",
            "as": "otherwise"
        },
        {
            "from": "kuwwbjb",
            "to": "dpjs00z",
            "as": "state"
        },
        {
            "to": "j86jww4",
            "from": "dpjs00z",
            "as": "fn"
        },
        {
            "to": "8vwg7ve",
            "from": "0a30fno",
            "as": "args"
        },
        {
            "to": "0a30fno",
            "from": "3xkucuq",
            "as": "dispatch"
        },
        {
            "from": "koqh5u2",
            "to": "epa6k6b",
            "as": "fn"
        },
        {
            "from": "x05ns2r",
            "to": "koqh5u2",
            "as": "input"
        },
        {
            "to": "7alogud",
            "from": "9ffnkbh",
            "as": "state"
        },
        {
            "from": "if1mzyd",
            "to": "7alogud",
            "as": "data"
        },
        {
            "from": "7alogud",
            "to": "9xaclar",
            "as": "fn"
        },
        {
            "to": "koqh5u2",
            "from": "o08st1f",
            "as": "diff"
        },
        {
            "to": "d3q5lys",
            "from": "jmbm8u1",
            "as": "state"
        },
        {
            "from": "d3q5lys",
            "to": "zosnk67",
            "as": "value"
        },
        {
            "to": "o08st1f",
            "from": "zosnk67",
            "as": "fn"
        },
        {
            "from": "7k1u86b",
            "to": "d3q5lys",
            "as": "data"
        },
        {
            "to": "xkfew55",
            "from": "nv6ae3f",
            "as": "fn"
        },
        {
            "from": "xkfew55",
            "to": "n38hg23",
            "as": "target"
        },
        {
            "to": "rtcdj1p",
            "from": "n38hg23",
            "as": "fn"
        },
        {
            "to": "n38hg23",
            "from": "yknusg2",
            "as": "path"
        },
        {
            "from": "get",
            "to": "object"
        },
        {
            "from": "set",
            "to": "object"
        },
        {
            "from": "delete",
            "to": "object"
        },
        {
            "from": "switch",
            "to": "flow"
        },
        {
            "from": "if",
            "to": "flow"
        },
        {
            "from": "html_element",
            "to": "html"
        },
        {
            "from": "toggle",
            "to": "html"
        },
        {
            "from": "input",
            "to": "html"
        },
        {
            "from": "css_styles",
            "to": "html"
        },
        {
            "from": "modify_state_runnable",
            "to": "state"
        },
        {
            "from": "set_display",
            "to": "state"
        },
        {
            "from": "log",
            "to": "utility"
        },
        {
            "from": "execute_graph",
            "to": "utility"
        },
        {
            "from": "arg",
            "to": "utility"
        },
        {
            "from": "partial",
            "to": "utility"
        },
        {
            "from": "apply",
            "to": "utility"
        },
        {
            "from": "fetch",
            "to": "utility"
        },
        {
            "from": "merge_objects",
            "to": "utility"
        },
        {
            "from": "sequence",
            "to": "utility"
        },
        {
            "from": "runnable",
            "to": "utility"
        },
        {
            "from": "object_entries",
            "to": "utility"
        },
        {
            "from": "add",
            "to": "math"
        },
        {
            "from": "divide",
            "to": "math"
        },
        {
            "from": "negate",
            "to": "math"
        },
        {
            "from": "mult",
            "to": "math"
        },
        {
            "from": "stringify",
            "to": "JSON"
        }
    ]
}
