aiware-js 2.26.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/index.esm.js +1 -1
  2. package/js-core.esm.js +14 -14
  3. package/js-core.esm16.js +1 -1
  4. package/js-core.esm2.js +1 -1
  5. package/js-core.esm20.js +1 -230
  6. package/js-core.esm21.js +227 -65
  7. package/js-core.esm22.js +78 -1
  8. package/js-core.esm23.js +1 -1
  9. package/js-core.esm24.js +1 -1
  10. package/js-core.esm25.js +1 -1
  11. package/js-core.esm26.js +1 -1
  12. package/js-core.esm27.js +1 -1
  13. package/js-core.esm28.js +1 -1
  14. package/js-core.esm29.js +1 -1
  15. package/js-core.esm30.js +1 -1
  16. package/js-core.esm31.js +1 -1
  17. package/js-core.esm32.js +1 -14
  18. package/js-core.esm33.js +1 -12
  19. package/js-core.esm34.js +1 -54
  20. package/js-core.esm35.js +1 -1
  21. package/js-core.esm36.js +1 -1
  22. package/js-core.esm37.js +1 -108
  23. package/js-core.esm38.js +1 -1
  24. package/js-core.esm39.js +10 -210
  25. package/js-core.esm4.js +1 -1
  26. package/js-core.esm40.js +12 -1
  27. package/js-core.esm41.js +54 -1
  28. package/js-core.esm42.js +1 -1
  29. package/js-core.esm43.js +1 -1
  30. package/js-core.esm44.js +99 -28
  31. package/js-core.esm45.js +1 -1
  32. package/js-core.esm46.js +214 -1
  33. package/js-core.esm47.js +1 -1
  34. package/js-core.esm48.js +37 -1
  35. package/js-core.esm49.js +1 -31
  36. package/js-core.esm5.js +3 -3
  37. package/js-core.esm50.js +1 -32
  38. package/js-core.esm51.js +1 -85
  39. package/js-core.esm52.js +1 -1
  40. package/js-core.esm53.js +1 -54
  41. package/js-core.esm54.js +1 -133
  42. package/js-core.esm55.js +1 -87
  43. package/js-core.esm56.js +31 -1
  44. package/js-core.esm57.js +29 -40
  45. package/js-core.esm58.js +82 -17
  46. package/js-core.esm59.js +1 -1
  47. package/js-core.esm60.js +55 -0
  48. package/js-core.esm61.js +133 -0
  49. package/js-core.esm62.js +75 -0
  50. package/js-core.esm63.js +13 -0
  51. package/js-core.esm64.js +1 -0
  52. package/js-core.esm65.js +1 -0
  53. package/js-core.esm66.js +102 -0
  54. package/js-core.esm67.js +20 -0
  55. package/js-core.esm68.js +1 -0
  56. package/js-core.esm7.js +3 -3
  57. package/js-core.umd.css +92 -92
  58. package/js-core.umd.js +224 -148
  59. package/locales/en.json +1 -1
  60. package/locales/es.json +1 -1
  61. package/locales/fr.json +1 -1
  62. package/package.json +10 -4
@@ -0,0 +1,20 @@
1
+ import{bZ as createSvgIcon,j as jsxRuntime,e2 as isSymbol_1,e0 as identity_1,c0 as _baseIteratee,e1 as _isIterateeCall,gF as toFinite_1,gG as _baseForOwn,gH as _arrayReduce,cO as isArray_1,dL as _baseEach,dX as isBuffer$1,dY as isFunction_1,dJ as isObject_1,dZ as isTypedArray_1,bd as commonjsRequire,bA as isEmpty_1,bJ as keys_1,bI as map_1,d3 as size_1,d$ as _baseFor,gt as _castFunction,da as _baseGet,dc as _castPath,gI as hasIn_1,cT as toString_1,r as react,H as createSlice,c8 as combineReducers,m as makeStyles,cb as AIWareThemeProvider,K as lib$2,A as AIWareIntlProvider,i as useDispatch,k as useSelector,eY as panelsSelector,T as Typography$2,at as Button,w as TextField$1,Y as Portal,x as classNames,a2 as all,d1 as takeEvery$1,cF as Collapse,Z as List$2,$ as ListItem,cr as Menu,aW as MenuItem$2,aR as Dialog,aS as DialogTitle,aT as DialogContent,co as DialogContentText,aU as DialogActions,ai as select$1,fi as selectApiConfigs,ah as put,bU as showMessage,bV as MessageSeverity,cA as baseGraphQLApiWithError}from"./js-core.esm.js";import{_ as _baseClone,f as forEach_1,a as _arrayEach,c as cloneDeep_1,d as defaults_1}from"./js-core.esm64.js";import{q as _baseAssignValue,r as _overRest,t as _setToString,u as _baseCreate,j as _getPrototype,a as _baseRest,i as isArrayLikeObject_1,v as constant_1,k as keysIn_1,c as _assignValue,l as last_1,s as sortBy_1}from"./js-core.esm29.js";import{f as filter_1}from"./js-core.esm28.js";import{h as has_1}from"./js-core.esm15.js";import{_ as _baseFlatten}from"./js-core.esm34.js";import{_ as _baseUniq}from"./js-core.esm35.js";import{v as values_1,_ as _baseSet,m as merge_1}from"./js-core.esm27.js";import{f as find_1}from"./js-core.esm16.js";import{f as flatten_1,v as v4}from"./js-core.esm45.js";import{n as now_1}from"./js-core.esm52.js";import{C as Close}from"./js-core.esm13.js";import{A as Add}from"./js-core.esm59.js";import"./js-core.esm20.js";var Remove=createSvgIcon(jsxRuntime.exports.jsx("path",{d:"M19 13H5v-2h14v2z"}),"Remove"),isSymbol$3=isSymbol_1;function baseExtremum$3(e,t,n){for(var o=-1,r=e.length;++o<r;){var i,a,s=e[o],l=t(s);null!=l&&(void 0===i?l==l&&!isSymbol$3(l):n(l,i))&&(i=l,a=s)}return a}var _baseExtremum=baseExtremum$3;function baseGt$1(e,t){return t<e}var _baseGt=baseGt$1,baseExtremum$2=baseExtremum$3,baseGt=baseGt$1,identity$3=identity_1;function max$1(e){return e&&e.length?baseExtremum$2(e,identity$3,baseGt):void 0}var max_1=max$1;function baseLt$2(e,t){return e<t}var _baseLt=baseLt$2,baseExtremum$1=baseExtremum$3,baseLt$1=baseLt$2,identity$2=identity_1;function min$3(e){return e&&e.length?baseExtremum$1(e,identity$2,baseLt$1):void 0}var min_1=min$3,baseExtremum=baseExtremum$3,baseIteratee$3=_baseIteratee,baseLt=baseLt$2;function minBy(e,t){return e&&e.length?baseExtremum(e,baseIteratee$3(t),baseLt):void 0}var minBy_1=minBy,nativeCeil=Math.ceil,nativeMax=Math.max;function baseRange$1(e,t,n,o){for(var r=-1,i=nativeMax(nativeCeil((t-e)/(n||1)),0),a=Array(i);i--;)a[o?i:++r]=e,e+=n;return a}var _baseRange=baseRange$1,baseRange=baseRange$1,isIterateeCall=_isIterateeCall,toFinite=toFinite_1;function createRange$1(o){return function(e,t,n){return n&&"number"!=typeof n&&isIterateeCall(e,t,n)&&(t=n=void 0),e=toFinite(e),void 0===t?(t=e,e=0):t=toFinite(t),n=void 0===n?e<t?1:-1:toFinite(n),baseRange(e,t,n,o)}}var _createRange=createRange$1,createRange=createRange$1,range=createRange$1(),range_1=range,baseAssignValue=_baseAssignValue,baseForOwn$1=_baseForOwn,baseIteratee$2=_baseIteratee;function mapValues(e,o){var r={};return o=baseIteratee$2(o),baseForOwn$1(e,function(e,t,n){baseAssignValue(r,t,o(e,t,n))}),r}var mapValues_1=mapValues,flatten=flatten_1,overRest=_overRest,setToString=_setToString;function flatRest$1(e){return setToString(overRest(e,void 0,flatten),e+"")}var _flatRest=flatRest$1,baseClone=_baseClone,CLONE_SYMBOLS_FLAG=4;function clone(e){return baseClone(e,CLONE_SYMBOLS_FLAG)}var clone_1=clone,each=forEach_1;function isUndefined(e){return void 0===e}var isUndefined_1=isUndefined;function baseReduce$1(e,o,r,i,t){return t(e,function(e,t,n){r=i?(i=!1,e):o(r,e,t,n)}),r}var _baseReduce=baseReduce$1,arrayReduce$1=_arrayReduce,baseEach=_baseEach,baseIteratee$1=_baseIteratee,baseReduce=baseReduce$1,isArray$1=isArray_1;function reduce(e,t,n){var o=isArray$1(e)?arrayReduce$1:baseReduce,r=arguments.length<3;return o(e,baseIteratee$1(t),n,r,baseEach)}var reduce_1=reduce,arrayEach=_arrayEach,baseCreate=_baseCreate,baseForOwn=_baseForOwn,baseIteratee=_baseIteratee,getPrototype=_getPrototype,isArray=isArray_1,isBuffer=isBuffer$1.exports,isFunction=isFunction_1,isObject$7=isObject_1,isTypedArray=isTypedArray_1;function transform(e,o,r){var t,n=isArray(e),i=n||isBuffer(e)||isTypedArray(e);return o=baseIteratee(o),null==r&&(t=e&&e.constructor,r=i?n?new t:[]:isObject$7(e)&&isFunction(t)?baseCreate(getPrototype(e)):{}),(i?arrayEach:baseForOwn)(e,function(e,t,n){return o(r,e,t,n)}),r}var transform_1=transform,baseFlatten=_baseFlatten,baseRest=_baseRest,baseUniq=_baseUniq,isArrayLikeObject=isArrayLikeObject_1,union=_baseRest(function(e){return baseUniq(baseFlatten(e,1,isArrayLikeObject,!0))}),union_1=union;if("function"==typeof commonjsRequire)try{lodash$1={clone:clone_1,constant:constant_1,each:each,filter:filter_1,has:has_1,isArray:isArray_1,isEmpty:isEmpty_1,isFunction:isFunction_1,isUndefined:isUndefined_1,keys:keys_1,map:map_1,reduce:reduce_1,size:size_1,transform:transform_1,union:union_1,values:values_1}}catch(e){}var lodash$1,lodash_1$1=lodash$1=lodash$1||window._,_$z=lodash_1$1,graph=Graph$a,DEFAULT_EDGE_NAME="\0",GRAPH_NODE="\0",EDGE_KEY_DELIM="";function Graph$a(e){this._isDirected=!_$z.has(e,"directed")||e.directed,this._isMultigraph=!!_$z.has(e,"multigraph")&&e.multigraph,this._isCompound=!!_$z.has(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=_$z.constant(void 0),this._defaultEdgeLabelFn=_$z.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[GRAPH_NODE]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function incrementOrInitEntry(e,t){e[t]?e[t]++:e[t]=1}function decrementOrRemoveEntry(e,t){--e[t]||delete e[t]}function edgeArgsToId(e,t,n,o){t=""+t,n=""+n;return!e&&n<t&&(e=t,t=n,n=e),t+EDGE_KEY_DELIM+n+EDGE_KEY_DELIM+(_$z.isUndefined(o)?DEFAULT_EDGE_NAME:o)}function edgeArgsToObj(e,t,n,o){t=""+t,n=""+n,!e&&n<t&&(e=t,t=n,n=e),e={v:t,w:n};return o&&(e.name=o),e}function edgeObjToId(e,t){return edgeArgsToId(e,t.v,t.w,t.name)}Graph$a.prototype._nodeCount=0,Graph$a.prototype._edgeCount=0,Graph$a.prototype.isDirected=function(){return this._isDirected},Graph$a.prototype.isMultigraph=function(){return this._isMultigraph},Graph$a.prototype.isCompound=function(){return this._isCompound},Graph$a.prototype.setGraph=function(e){return this._label=e,this},Graph$a.prototype.graph=function(){return this._label},Graph$a.prototype.setDefaultNodeLabel=function(e){return _$z.isFunction(e)||(e=_$z.constant(e)),this._defaultNodeLabelFn=e,this},Graph$a.prototype.nodeCount=function(){return this._nodeCount},Graph$a.prototype.nodes=function(){return _$z.keys(this._nodes)},Graph$a.prototype.sources=function(){var t=this;return _$z.filter(this.nodes(),function(e){return _$z.isEmpty(t._in[e])})},Graph$a.prototype.sinks=function(){var t=this;return _$z.filter(this.nodes(),function(e){return _$z.isEmpty(t._out[e])})},Graph$a.prototype.setNodes=function(e,t){var n=arguments,o=this;return _$z.each(e,function(e){1<n.length?o.setNode(e,t):o.setNode(e)}),this},Graph$a.prototype.setNode=function(e,t){return _$z.has(this._nodes,e)?1<arguments.length&&(this._nodes[e]=t):(this._nodes[e]=1<arguments.length?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=GRAPH_NODE,this._children[e]={},this._children[GRAPH_NODE][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this},Graph$a.prototype.node=function(e){return this._nodes[e]},Graph$a.prototype.hasNode=function(e){return _$z.has(this._nodes,e)},Graph$a.prototype.removeNode=function(e){var t,n=this;return _$z.has(this._nodes,e)&&(t=function(e){n.removeEdge(n._edgeObjs[e])},delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],_$z.each(this.children(e),function(e){n.setParent(e)}),delete this._children[e]),_$z.each(_$z.keys(this._in[e]),t),delete this._in[e],delete this._preds[e],_$z.each(_$z.keys(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount),this},Graph$a.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(_$z.isUndefined(t))t=GRAPH_NODE;else{for(var n=t+="";!_$z.isUndefined(n);n=this.parent(n))if(n===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},Graph$a.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},Graph$a.prototype.parent=function(e){if(this._isCompound){e=this._parent[e];if(e!==GRAPH_NODE)return e}},Graph$a.prototype.children=function(e){if(_$z.isUndefined(e)&&(e=GRAPH_NODE),!this._isCompound)return e===GRAPH_NODE?this.nodes():this.hasNode(e)?[]:void 0;e=this._children[e];return e?_$z.keys(e):void 0},Graph$a.prototype.predecessors=function(e){e=this._preds[e];if(e)return _$z.keys(e)},Graph$a.prototype.successors=function(e){e=this._sucs[e];if(e)return _$z.keys(e)},Graph$a.prototype.neighbors=function(e){var t=this.predecessors(e);if(t)return _$z.union(t,this.successors(e))},Graph$a.prototype.isLeaf=function(e){e=this.isDirected()?this.successors(e):this.neighbors(e);return 0===e.length},Graph$a.prototype.filterNodes=function(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound}),r=(o.setGraph(this.graph()),this),i=(_$z.each(this._nodes,function(e,t){n(t)&&o.setNode(t,e)}),_$z.each(this._edgeObjs,function(e){o.hasNode(e.v)&&o.hasNode(e.w)&&o.setEdge(e,r.edge(e))}),{});return this._isCompound&&_$z.each(o.nodes(),function(e){o.setParent(e,function e(t){var n=r.parent(t);return void 0===n||o.hasNode(n)?i[t]=n:n in i?i[n]:e(n)}(e))}),o},Graph$a.prototype.setDefaultEdgeLabel=function(e){return _$z.isFunction(e)||(e=_$z.constant(e)),this._defaultEdgeLabelFn=e,this},Graph$a.prototype.edgeCount=function(){return this._edgeCount},Graph$a.prototype.edges=function(){return _$z.values(this._edgeObjs)},Graph$a.prototype.setPath=function(e,n){var o=this,r=arguments;return _$z.reduce(e,function(e,t){return 1<r.length?o.setEdge(e,t,n):o.setEdge(e,t),t}),this},Graph$a.prototype.setEdge=function(){var e,t,n=!1,o=arguments[0],o=("object"==typeof o&&null!==o&&"v"in o?(r=o.v,i=o.w,e=o.name,2===arguments.length&&(t=arguments[1],n=!0)):(r=o,i=arguments[1],e=arguments[3],2<arguments.length&&(t=arguments[2],n=!0)),r=""+r,i=""+i,_$z.isUndefined(e)||(e=""+e),edgeArgsToId(this._isDirected,r,i,e));if(_$z.has(this._edgeLabels,o))return n&&(this._edgeLabels[o]=t),this;if(!_$z.isUndefined(e)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(i),this._edgeLabels[o]=n?t:this._defaultEdgeLabelFn(r,i,e);var n=edgeArgsToObj(this._isDirected,r,i,e),r=n.v,i=n.w;return Object.freeze(n),this._edgeObjs[o]=n,incrementOrInitEntry(this._preds[i],r),incrementOrInitEntry(this._sucs[r],i),this._in[i][o]=n,this._out[r][o]=n,this._edgeCount++,this},Graph$a.prototype.edge=function(e,t,n){var o=1===arguments.length?edgeObjToId(this._isDirected,e):edgeArgsToId(this._isDirected,e,t,n);return this._edgeLabels[o]},Graph$a.prototype.hasEdge=function(e,t,n){var o=1===arguments.length?edgeObjToId(this._isDirected,e):edgeArgsToId(this._isDirected,e,t,n);return _$z.has(this._edgeLabels,o)},Graph$a.prototype.removeEdge=function(e,t,n){var o=1===arguments.length?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,e,t,n),r=this._edgeObjs[o];return r&&(e=r.v,t=r.w,delete this._edgeLabels[o],delete this._edgeObjs[o],decrementOrRemoveEntry(this._preds[t],e),decrementOrRemoveEntry(this._sucs[e],t),delete this._in[t][o],delete this._out[e][o],this._edgeCount--),this},Graph$a.prototype.inEdges=function(e,t){var e=this._in[e];if(e)return e=_$z.values(e),t?_$z.filter(e,function(e){return e.v===t}):e},Graph$a.prototype.outEdges=function(e,t){var e=this._out[e];if(e)return e=_$z.values(e),t?_$z.filter(e,function(e){return e.w===t}):e},Graph$a.prototype.nodeEdges=function(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))};var version$2="2.1.8",lib$1={Graph:graph,version:version$2},_$y=lodash_1$1,Graph$9=graph,json={write:write,read:read};function write(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:writeNodes(e),edges:writeEdges(e)};return _$y.isUndefined(e.graph())||(t.value=_$y.clone(e.graph())),t}function writeNodes(o){return _$y.map(o.nodes(),function(e){var t=o.node(e),n=o.parent(e),e={v:e};return _$y.isUndefined(t)||(e.value=t),_$y.isUndefined(n)||(e.parent=n),e})}function writeEdges(o){return _$y.map(o.edges(),function(e){var t=o.edge(e),n={v:e.v,w:e.w};return _$y.isUndefined(e.name)||(n.name=e.name),_$y.isUndefined(t)||(n.value=t),n})}function read(e){var t=new Graph$9(e.options).setGraph(e.value);return _$y.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),_$y.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var _$x=lodash_1$1,components_1=components;function components(t){var n,o={},r=[];function i(e){_$x.has(o,e)||(o[e]=!0,n.push(e),_$x.each(t.successors(e),i),_$x.each(t.predecessors(e),i))}return _$x.each(t.nodes(),function(e){n=[],i(e),n.length&&r.push(n)}),r}var _$w=lodash_1$1,priorityQueue=PriorityQueue$2;function PriorityQueue$2(){this._arr=[],this._keyIndices={}}PriorityQueue$2.prototype.size=function(){return this._arr.length},PriorityQueue$2.prototype.keys=function(){return this._arr.map(function(e){return e.key})},PriorityQueue$2.prototype.has=function(e){return _$w.has(this._keyIndices,e)},PriorityQueue$2.prototype.priority=function(e){e=this._keyIndices[e];if(void 0!==e)return this._arr[e].priority},PriorityQueue$2.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},PriorityQueue$2.prototype.add=function(e,t){var n,o,r=this._keyIndices;return e=String(e),!_$w.has(r,e)&&(o=(n=this._arr).length,r[e]=o,n.push({key:e,priority:t}),this._decrease(o),!0)},PriorityQueue$2.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},PriorityQueue$2.prototype.decrease=function(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[n].priority+" New: "+t);this._arr[n].priority=t,this._decrease(n)},PriorityQueue$2.prototype._heapify=function(e){var t=this._arr,n=2*e,o=1+n,r=e;n<t.length&&(r=t[n].priority<t[r].priority?n:r,(r=o<t.length?t[o].priority<t[r].priority?o:r:r)!==e&&(this._swap(e,r),this._heapify(r)))},PriorityQueue$2.prototype._decrease=function(e){for(var t,n=this._arr,o=n[e].priority;0!==e&&!(n[t=e>>1].priority<o);)this._swap(e,t),e=t},PriorityQueue$2.prototype._swap=function(e,t){var n=this._arr,o=this._keyIndices,r=n[e],i=n[t];n[e]=i,n[t]=r,o[i.key]=e,o[r.key]=t};var _$v=lodash_1$1,PriorityQueue$1=priorityQueue,dijkstra_1=dijkstra$1,DEFAULT_WEIGHT_FUNC$1=lodash_1$1.constant(1);function dijkstra$1(t,e,n,o){return runDijkstra(t,String(e),n||DEFAULT_WEIGHT_FUNC$1,o||function(e){return t.outEdges(e)})}function runDijkstra(e,n,i,t){function o(e){var t=e.v!==a?e.v:e.w,n=l[t],o=i(e),r=s.distance+o;if(o<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+o);r<n.distance&&(n.distance=r,n.predecessor=a,c.decrease(t,r))}var a,s,l={},c=new PriorityQueue$1;for(e.nodes().forEach(function(e){var t=e===n?0:Number.POSITIVE_INFINITY;l[e]={distance:t},c.add(e,t)});0<c.size()&&(a=c.removeMin(),(s=l[a]).distance!==Number.POSITIVE_INFINITY);)t(a).forEach(o);return l}var dijkstra=dijkstra_1,_$u=lodash_1$1,dijkstraAll_1=dijkstraAll;function dijkstraAll(n,o,r){return _$u.transform(n.nodes(),function(e,t){e[t]=dijkstra(n,t,o,r)},{})}var _$t=lodash_1$1,tarjan_1=tarjan$1;function tarjan$1(i){var a=0,s=[],l={},c=[];return i.nodes().forEach(function(e){_$t.has(l,e)||!function t(e){var n=l[e]={onStack:!0,lowlink:a,index:a++};if(s.push(e),i.successors(e).forEach(function(e){_$t.has(l,e)?l[e].onStack&&(n.lowlink=Math.min(n.lowlink,l[e].index)):(t(e),n.lowlink=Math.min(n.lowlink,l[e].lowlink))}),n.lowlink===n.index){for(var o,r=[];o=s.pop(),l[o].onStack=!1,r.push(o),e!==o;);c.push(r)}}(e)}),c}var _$s=lodash_1$1,tarjan=tarjan_1,findCycles_1=findCycles;function findCycles(t){return _$s.filter(tarjan(t),function(e){return 1<e.length||1===e.length&&t.hasEdge(e[0],e[0])})}var _$r=lodash_1$1,floydWarshall_1=floydWarshall,DEFAULT_WEIGHT_FUNC=lodash_1$1.constant(1);function floydWarshall(t,e,n){return runFloydWarshall(t,e||DEFAULT_WEIGHT_FUNC,n||function(e){return t.outEdges(e)})}function runFloydWarshall(e,o,t){var a={},s=e.nodes();return s.forEach(function(n){a[n]={},a[n][n]={distance:0},s.forEach(function(e){n!==e&&(a[n][e]={distance:Number.POSITIVE_INFINITY})}),t(n).forEach(function(e){var t=e.v===n?e.w:e.v,e=o(e);a[n][t]={distance:e,predecessor:n}})}),s.forEach(function(r){var i=a[r];s.forEach(function(e){var o=a[e];s.forEach(function(e){var t=o[r],n=i[e],e=o[e],t=t.distance+n.distance;t<e.distance&&(e.distance=t,e.predecessor=n.predecessor)})})}),a}var _$q=lodash_1$1,topsort_1=topsort$1;function topsort$1(n){var o={},r={},i=[];if(_$q.each(n.sinks(),function e(t){if(_$q.has(r,t))throw new CycleException;_$q.has(o,t)||(r[t]=!0,o[t]=!0,_$q.each(n.predecessors(t),e),delete r[t],i.push(t))}),_$q.size(o)!==n.nodeCount())throw new CycleException;return i}function CycleException(){}(topsort$1.CycleException=CycleException).prototype=new Error;var topsort=topsort_1,isAcyclic_1=isAcyclic;function isAcyclic(e){try{topsort(e)}catch(e){if(e instanceof topsort.CycleException)return!1;throw e}return!0}var _$p=lodash_1$1,dfs_1=dfs$3;function dfs$3(t,e,n){_$p.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),r=[],i={};return _$p.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);doDfs(t,e,"post"===n,i,o,r)}),r}function doDfs(t,e,n,o,r,i){_$p.has(o,e)||(o[e]=!0,n||i.push(e),_$p.each(r(e),function(e){doDfs(t,e,n,o,r,i)}),n&&i.push(e))}var dfs$2=dfs$3,postorder_1=postorder$2;function postorder$2(e,t){return dfs$2(e,t,"post")}var dfs$1=dfs$3,preorder_1=preorder$1;function preorder$1(e,t){return dfs$1(e,t,"pre")}var _$o=lodash_1$1,Graph$8=graph,PriorityQueue=priorityQueue,prim_1=prim;function prim(e,o){var r,t=new Graph$8,i={},a=new PriorityQueue;function n(e){var t=e.v===r?e.w:e.v,n=a.priority(t);void 0!==n&&(e=o(e))<n&&(i[t]=r,a.decrease(t,e))}if(0===e.nodeCount())return t;_$o.each(e.nodes(),function(e){a.add(e,Number.POSITIVE_INFINITY),t.setNode(e)}),a.decrease(e.nodes()[0],0);for(var s=!1;0<a.size();){if(r=a.removeMin(),_$o.has(i,r))t.setEdge(r,i[r]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(r).forEach(n)}return t}var alg={components:components_1,dijkstra:dijkstra_1,dijkstraAll:dijkstraAll_1,findCycles:findCycles_1,floydWarshall:floydWarshall_1,isAcyclic:isAcyclic,postorder:postorder$2,preorder:preorder$1,prim:prim,tarjan:tarjan_1,topsort:topsort_1},lib=lib$1,graphlib$1={Graph:lib.Graph,json:json,alg:alg,version:lib.version};if("function"==typeof commonjsRequire)try{graphlib=graphlib$1}catch(e){}var graphlib,graphlib_1=graphlib=graphlib||window.graphlib,baseFor=_baseFor,castFunction=_castFunction,keysIn=keysIn_1;function forIn(e,t){return null==e?e:baseFor(e,castFunction(t),keysIn)}var forIn_1=forIn,baseGet=_baseGet,baseSet=_baseSet,castPath=_castPath;function basePickBy$1(e,t,n){for(var o=-1,r=t.length,i={};++o<r;){var a=t[o],s=baseGet(e,a);n(s,a)&&baseSet(i,castPath(a,e),s)}return i}var _basePickBy=basePickBy$1,basePickBy=basePickBy$1,hasIn=hasIn_1;function basePick$1(n,e){return basePickBy(n,e,function(e,t){return hasIn(n,t)})}var _basePick=basePick$1,basePick=basePick$1,flatRest=_flatRest,pick=_flatRest(function(e,t){return null==e?{}:basePick(e,t)}),pick_1=pick,toString$4=toString_1,idCounter=0;function uniqueId(e){var t=++idCounter;return toString$4(e)+t}var uniqueId_1=uniqueId;function baseZipObject$1(e,t,n){for(var o=-1,r=e.length,i=t.length,a={};++o<r;){var s=o<i?t[o]:void 0;n(a,e[o],s)}return a}var _baseZipObject=baseZipObject$1,assignValue=_assignValue,baseZipObject=baseZipObject$1;function zipObject(e,t){return baseZipObject(e||[],t||[],assignValue)}var zipObject_1=zipObject;if("function"==typeof commonjsRequire)try{lodash={cloneDeep:cloneDeep_1,constant:constant_1,defaults:defaults_1,each:each,filter:filter_1,find:find_1,flatten:flatten_1,forEach:forEach_1,forIn:forIn_1,has:has_1,isUndefined:isUndefined_1,last:last_1,map:map_1,mapValues:mapValues_1,max:max_1,merge:merge_1,min:min_1,minBy:minBy_1,now:now_1,pick:pick_1,range:range_1,reduce:reduce_1,sortBy:sortBy_1,uniqueId:uniqueId_1,values:values_1,zipObject:zipObject_1}}catch(e){}var lodash,lodash_1=lodash=lodash||window._,list=List$1;function List$1(){var e={};e._next=e._prev=e,this._sentinel=e}function unlink(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function filterOutLinks(e,t){if("_next"!==e&&"_prev"!==e)return t}List$1.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return unlink(t),t},List$1.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&unlink(e),e._next=t._next,t._next._prev=e,(t._next=e)._prev=t},List$1.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,filterOutLinks)),n=n._prev;return"["+e.join(", ")+"]"};var _$n=lodash_1,Graph$7=graphlib_1.Graph,List=list,greedyFas=greedyFAS$1,DEFAULT_WEIGHT_FN=_$n.constant(1);function greedyFAS$1(t,e){if(t.nodeCount()<=1)return[];e=buildState(t,e||DEFAULT_WEIGHT_FN),e=doGreedyFAS(e.graph,e.buckets,e.zeroIdx);return _$n.flatten(_$n.map(e,function(e){return t.outEdges(e.v,e.w)}),!0)}function doGreedyFAS(e,t,n){for(var o,r=[],i=t[t.length-1],a=t[0];e.nodeCount();){for(;o=a.dequeue();)removeNode(e,t,n,o);for(;o=i.dequeue();)removeNode(e,t,n,o);if(e.nodeCount())for(var s=t.length-2;0<s;--s)if(o=t[s].dequeue()){r=r.concat(removeNode(e,t,n,o,!0));break}}return r}function removeNode(o,r,i,e,a){var s=a?[]:void 0;return _$n.forEach(o.inEdges(e.v),function(e){var t=o.edge(e),n=o.node(e.v);a&&s.push({v:e.v,w:e.w}),n.out-=t,assignBucket(r,i,n)}),_$n.forEach(o.outEdges(e.v),function(e){var t=o.edge(e),e=e.w,e=o.node(e);e.in-=t,assignBucket(r,i,e)}),o.removeNode(e.v),s}function buildState(e,o){var r=new Graph$7,i=0,a=0,t=(_$n.forEach(e.nodes(),function(e){r.setNode(e,{v:e,in:0,out:0})}),_$n.forEach(e.edges(),function(e){var t=r.edge(e.v,e.w)||0,n=o(e);r.setEdge(e.v,e.w,t+n),a=Math.max(a,r.node(e.v).out+=n),i=Math.max(i,r.node(e.w).in+=n)}),_$n.range(a+i+3).map(function(){return new List})),n=i+1;return _$n.forEach(r.nodes(),function(e){assignBucket(t,n,r.node(e))}),{graph:r,buckets:t,zeroIdx:n}}function assignBucket(e,t,n){(n.out?n.in?e[n.out-n.in+t]:e[e.length-1]:e[0]).enqueue(n)}var _$m=lodash_1,greedyFAS=greedyFas,acyclic$1={run:run$2,undo:undo$2};function run$2(n){var t,e="greedy"===n.graph().acyclicer?greedyFAS(n,(t=n,function(e){return t.edge(e).weight})):dfsFAS(n);_$m.forEach(e,function(e){var t=n.edge(e);n.removeEdge(e),t.forwardName=e.name,t.reversed=!0,n.setEdge(e.w,e.v,t,_$m.uniqueId("rev"))})}function dfsFAS(n){var o=[],r={},i={};return _$m.forEach(n.nodes(),function t(e){_$m.has(i,e)||(i[e]=!0,r[e]=!0,_$m.forEach(n.outEdges(e),function(e){_$m.has(r,e.w)?o.push(e):t(e.w)}),delete r[e])}),o}function undo$2(o){_$m.forEach(o.edges(),function(e){var t,n=o.edge(e);n.reversed&&(o.removeEdge(e),t=n.forwardName,delete n.reversed,delete n.forwardName,o.setEdge(e.w,e.v,n,t))})}var _$l=lodash_1,Graph$6=graphlib_1.Graph,util$a={addDummyNode:addDummyNode,simplify:simplify$1,asNonCompoundGraph:asNonCompoundGraph,successorWeights:successorWeights,predecessorWeights:predecessorWeights,intersectRect:intersectRect,buildLayerMatrix:buildLayerMatrix,normalizeRanks:normalizeRanks$1,removeEmptyRanks:removeEmptyRanks$1,addBorderNode:addBorderNode$1,maxRank:maxRank,partition:partition,time:time,notime:notime};function addDummyNode(e,t,n,o){for(var r;r=_$l.uniqueId(o),e.hasNode(r););return n.dummy=t,e.setNode(r,n),r}function simplify$1(o){var r=(new Graph$6).setGraph(o.graph());return _$l.forEach(o.nodes(),function(e){r.setNode(e,o.node(e))}),_$l.forEach(o.edges(),function(e){var t=r.edge(e.v,e.w)||{weight:0,minlen:1},n=o.edge(e);r.setEdge(e.v,e.w,{weight:t.weight+n.weight,minlen:Math.max(t.minlen,n.minlen)})}),r}function asNonCompoundGraph(t){var n=new Graph$6({multigraph:t.isMultigraph()}).setGraph(t.graph());return _$l.forEach(t.nodes(),function(e){t.children(e).length||n.setNode(e,t.node(e))}),_$l.forEach(t.edges(),function(e){n.setEdge(e,t.edge(e))}),n}function successorWeights(n){var e=_$l.map(n.nodes(),function(e){var t={};return _$l.forEach(n.outEdges(e),function(e){t[e.w]=(t[e.w]||0)+n.edge(e).weight}),t});return _$l.zipObject(n.nodes(),e)}function predecessorWeights(n){var e=_$l.map(n.nodes(),function(e){var t={};return _$l.forEach(n.inEdges(e),function(e){t[e.v]=(t[e.v]||0)+n.edge(e).weight}),t});return _$l.zipObject(n.nodes(),e)}function intersectRect(e,t){var n,o=e.x,r=e.y,i=t.x-o,t=t.y-r,a=e.width/2,e=e.height/2;if(i||t)return e=Math.abs(t)*a>Math.abs(i)*e?(n=(e=t<0?-e:e)*i/t,e):(n=a=i<0?-a:a)*t/i,{x:o+n,y:r+e};throw new Error("Not possible to find intersection inside of the rectangle")}function buildLayerMatrix(o){var r=_$l.map(_$l.range(maxRank(o)+1),function(){return[]});return _$l.forEach(o.nodes(),function(e){var t=o.node(e),n=t.rank;_$l.isUndefined(n)||(r[n][t.order]=e)}),r}function normalizeRanks$1(t){var n=_$l.min(_$l.map(t.nodes(),function(e){return t.node(e).rank}));_$l.forEach(t.nodes(),function(e){e=t.node(e);_$l.has(e,"rank")&&(e.rank-=n)})}function removeEmptyRanks$1(n){var o=_$l.min(_$l.map(n.nodes(),function(e){return n.node(e).rank})),r=[],i=(_$l.forEach(n.nodes(),function(e){var t=n.node(e).rank-o;r[t]||(r[t]=[]),r[t].push(e)}),0),a=n.graph().nodeRankFactor;_$l.forEach(r,function(e,t){_$l.isUndefined(e)&&t%a!=0?--i:i&&_$l.forEach(e,function(e){n.node(e).rank+=i})})}function addBorderNode$1(e,t,n,o){var r={width:0,height:0};return 4<=arguments.length&&(r.rank=n,r.order=o),addDummyNode(e,"border",r,t)}function maxRank(t){return _$l.max(_$l.map(t.nodes(),function(e){e=t.node(e).rank;if(!_$l.isUndefined(e))return e}))}function partition(e,t){var n={lhs:[],rhs:[]};return _$l.forEach(e,function(e){(t(e)?n.lhs:n.rhs).push(e)}),n}function time(e,t){var n=_$l.now();try{return t()}finally{console.log(e+" time: "+(_$l.now()-n)+"ms")}}function notime(e,t){return t()}var _$k=lodash_1,util$9=util$a,normalize$2={run:run$1,undo:undo$1};function run$1(t){t.graph().dummyChains=[],_$k.forEach(t.edges(),function(e){normalizeEdge(t,e)})}function normalizeEdge(e,t){var n,o,r,i=t.v,a=e.node(i).rank,s=t.w,l=e.node(s).rank,c=t.name,u=e.edge(t),d=u.labelRank;if(l!==a+1){for(e.removeEdge(t),r=0,++a;a<l;++r,++a)u.points=[],n=util$9.addDummyNode(e,"edge",o={width:0,height:0,edgeLabel:u,edgeObj:t,rank:a},"_d"),a===d&&(o.width=u.width,o.height=u.height,o.dummy="edge-label",o.labelpos=u.labelpos),e.setEdge(i,n,{weight:u.weight},c),0===r&&e.graph().dummyChains.push(n),i=n;e.setEdge(i,s,{weight:u.weight},c)}}function undo$1(r){_$k.forEach(r.graph().dummyChains,function(e){var t,n=r.node(e),o=n.edgeLabel;for(r.setEdge(n.edgeObj,o);n.dummy;)t=r.successors(e)[0],r.removeNode(e),o.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),n=r.node(e=t)})}var _$j=lodash_1,util$8={longestPath:longestPath$1,slack:slack$2};function longestPath$1(o){var r={};_$j.forEach(o.sources(),function t(e){var n=o.node(e);if(_$j.has(r,e))return n.rank;r[e]=!0;e=_$j.min(_$j.map(o.outEdges(e),function(e){return t(e.w)-o.edge(e).minlen}));return e!==Number.POSITIVE_INFINITY&&null!=e||(e=0),n.rank=e})}function slack$2(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var _$i=lodash_1,Graph$5=graphlib_1.Graph,slack$1=util$8.slack,feasibleTree_1=feasibleTree$2;function feasibleTree$2(e){var t,n=new Graph$5({directed:!1}),o=e.nodes()[0],r=e.nodeCount();for(n.setNode(o,{});tightTree(n,e)<r;)t=findMinSlackEdge(n,e),t=n.hasNode(t.v)?slack$1(e,t):-slack$1(e,t),shiftRanks(n,e,t);return n}function tightTree(r,i){return _$i.forEach(r.nodes(),function n(o){_$i.forEach(i.nodeEdges(o),function(e){var t=e.v,t=o===t?e.w:t;r.hasNode(t)||slack$1(i,e)||(r.setNode(t,{}),r.setEdge(o,t,{}),n(t))})}),r.nodeCount()}function findMinSlackEdge(t,n){return _$i.minBy(n.edges(),function(e){if(t.hasNode(e.v)!==t.hasNode(e.w))return slack$1(n,e)})}function shiftRanks(e,t,n){_$i.forEach(e.nodes(),function(e){t.node(e).rank+=n})}var _$h=lodash_1,feasibleTree$1=feasibleTree_1,slack=util$8.slack,initRank=util$8.longestPath,preorder=graphlib_1.alg.preorder,postorder$1=graphlib_1.alg.postorder,simplify=util$a.simplify,networkSimplex_1=networkSimplex$1;function networkSimplex$1(e){e=simplify(e),initRank(e);var t,n=feasibleTree$1(e);for(initLowLimValues(n),initCutValues(n,e);t=leaveEdge(n);)exchangeEdges(n,e,t,enterEdge(n,e,t))}function initCutValues(t,n){var e=(e=postorder$1(t,t.nodes())).slice(0,e.length-1);_$h.forEach(e,function(e){assignCutValue(t,n,e)})}function assignCutValue(e,t,n){var o=e.node(n).parent;e.edge(n,o).cutvalue=calcCutValue(e,t,n)}function calcCutValue(o,r,i){var a=o.node(i).parent,s=!0,e=r.edge(i,a),l=0;return e||(s=!1,e=r.edge(a,i)),l=e.weight,_$h.forEach(r.nodeEdges(i),function(e){var t=e.v===i,n=t?e.w:e.v;n!==a&&(t=t===s,e=r.edge(e).weight,l+=t?e:-e,isTreeEdge(o,i,n)&&(e=o.edge(i,n).cutvalue,l+=t?-e:e))}),l}function initLowLimValues(e,t){arguments.length<2&&(t=e.nodes()[0]),dfsAssignLowLim(e,{},1,t)}function dfsAssignLowLim(t,n,o,r,e){var i=o,a=t.node(r);return n[r]=!0,_$h.forEach(t.neighbors(r),function(e){_$h.has(n,e)||(o=dfsAssignLowLim(t,n,o,e,r))}),a.low=i,a.lim=o++,e?a.parent=e:delete a.parent,o}function leaveEdge(t){return _$h.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function enterEdge(t,n,e){var o=e.v,r=e.w,e=(n.hasEdge(o,r)||(o=e.w,r=e.v),t.node(o)),o=t.node(r),i=e,a=!1,r=(e.lim>o.lim&&(i=o,a=!0),_$h.filter(n.edges(),function(e){return a===isDescendant(t,t.node(e.v),i)&&a!==isDescendant(t,t.node(e.w),i)}));return _$h.minBy(r,function(e){return slack(n,e)})}function exchangeEdges(e,t,n,o){var r=n.v,n=n.w;e.removeEdge(r,n),e.setEdge(o.v,o.w,{}),initLowLimValues(e),initCutValues(e,t),updateRanks(e,t)}function updateRanks(r,i){var e=_$h.find(r.nodes(),function(e){return!i.node(e).parent}),e=(e=preorder(r,e)).slice(1);_$h.forEach(e,function(e){var t=r.node(e).parent,n=i.edge(e,t),o=!1;n||(n=i.edge(t,e),o=!0),i.node(e).rank=i.node(t).rank+(o?n.minlen:-n.minlen)})}function isTreeEdge(e,t,n){return e.hasEdge(t,n)}function isDescendant(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}networkSimplex$1.initLowLimValues=initLowLimValues,networkSimplex$1.initCutValues=initCutValues,networkSimplex$1.calcCutValue=calcCutValue,networkSimplex$1.leaveEdge=leaveEdge,networkSimplex$1.enterEdge=enterEdge,networkSimplex$1.exchangeEdges=exchangeEdges;var rankUtil=util$8,longestPath=util$8.longestPath,feasibleTree=feasibleTree_1,networkSimplex=networkSimplex_1,rank_1=rank$1;function rank$1(e){switch(e.graph().ranker){case"network-simplex":networkSimplexRanker(e);break;case"tight-tree":tightTreeRanker(e);break;case"longest-path":longestPathRanker(e);break;default:networkSimplexRanker(e)}}var longestPathRanker=longestPath;function tightTreeRanker(e){longestPath(e),feasibleTree(e)}function networkSimplexRanker(e){networkSimplex(e)}var _$g=lodash_1,parentDummyChains_1=parentDummyChains$1;function parentDummyChains$1(c){var u=postorder(c);_$g.forEach(c.graph().dummyChains,function(e){for(var t,n=c.node(e).edgeObj,o=findPath(c,u,n.v,n.w),r=o.path,i=o.lca,a=0,s=r[a],l=!0;e!==n.w;){if(t=c.node(e),l){for(;(s=r[a])!==i&&c.node(s).maxRank<t.rank;)a++;s===i&&(l=!1)}if(!l){for(;a<r.length-1&&c.node(s=r[a+1]).minRank<=t.rank;)a++;s=r[a]}c.setParent(e,s),e=c.successors(e)[0]}})}function findPath(e,t,n,o){for(var r,i=[],a=[],s=Math.min(t[n].low,t[o].low),l=Math.max(t[n].lim,t[o].lim),c=n;c=e.parent(c),i.push(c),c&&(t[c].low>s||l>t[c].lim););for(r=c,c=o;(c=e.parent(c))!==r;)a.push(c);return{path:i.concat(a.reverse()),lca:r}}function postorder(o){var r={},i=0;return _$g.forEach(o.children(),function e(t){var n=i;_$g.forEach(o.children(t),e),r[t]={low:n,lim:i++}}),r}var _$f=lodash_1,util$7=util$a,nestingGraph$1={run:run,cleanup:cleanup};function run(t){var n=util$7.addDummyNode(t,"root",{},"_root"),o=treeDepths(t),r=_$f.max(_$f.values(o))-1,i=2*r+1,a=(t.graph().nestingRoot=n,_$f.forEach(t.edges(),function(e){t.edge(e).minlen*=i}),sumWeights(t)+1);_$f.forEach(t.children(),function(e){dfs(t,n,i,a,r,o,e)}),t.graph().nodeRankFactor=i}function dfs(r,i,a,s,l,c,u){var d,p,e,t=r.children(u);t.length?(d=util$7.addBorderNode(r,"_bt"),p=util$7.addBorderNode(r,"_bb"),e=r.node(u),r.setParent(d,u),e.borderTop=d,r.setParent(p,u),e.borderBottom=p,_$f.forEach(t,function(e){dfs(r,i,a,s,l,c,e);var t=r.node(e),n=t.borderTop||e,e=t.borderBottom||e,t=t.borderTop?s:2*s,o=n!==e?1:l-c[u]+1;r.setEdge(d,n,{weight:t,minlen:o,nestingEdge:!0}),r.setEdge(e,p,{weight:t,minlen:o,nestingEdge:!0})}),r.parent(u)||r.setEdge(i,d,{weight:0,minlen:l+c[u]})):u!==i&&r.setEdge(i,u,{weight:0,minlen:a})}function treeDepths(r){var i={};return _$f.forEach(r.children(),function(e){!function t(e,n){var o=r.children(e);o&&o.length&&_$f.forEach(o,function(e){t(e,n+1)}),i[e]=n}(e,1)}),i}function sumWeights(n){return _$f.reduce(n.edges(),function(e,t){return e+n.edge(t).weight},0)}function cleanup(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,_$f.forEach(t.edges(),function(e){t.edge(e).nestingEdge&&t.removeEdge(e)})}var _$e=lodash_1,util$6=util$a,addBorderSegments_1=addBorderSegments$1;function addBorderSegments$1(a){_$e.forEach(a.children(),function e(t){var n=a.children(t),o=a.node(t);if(n.length&&_$e.forEach(n,e),_$e.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var r=o.minRank,i=o.maxRank+1;r<i;++r)addBorderNode(a,"borderLeft","_bl",t,o,r),addBorderNode(a,"borderRight","_br",t,o,r)}})}function addBorderNode(e,t,n,o,r,i){var a=r[t][i-1],n=util$6.addDummyNode(e,"border",{width:0,height:0,rank:i,borderType:t},n);r[t][i]=n,e.setParent(n,o),a&&e.setEdge(a,n,{weight:1})}var _$d=lodash_1,coordinateSystem$1={adjust:adjust,undo:undo};function adjust(e){var t=e.graph().rankdir.toLowerCase();"lr"!==t&&"rl"!==t||swapWidthHeight(e)}function undo(e){var t=e.graph().rankdir.toLowerCase();"bt"!==t&&"rl"!==t||reverseY(e),"lr"!==t&&"rl"!==t||(swapXY(e),swapWidthHeight(e))}function swapWidthHeight(t){_$d.forEach(t.nodes(),function(e){swapWidthHeightOne(t.node(e))}),_$d.forEach(t.edges(),function(e){swapWidthHeightOne(t.edge(e))})}function swapWidthHeightOne(e){var t=e.width;e.width=e.height,e.height=t}function reverseY(t){_$d.forEach(t.nodes(),function(e){reverseYOne(t.node(e))}),_$d.forEach(t.edges(),function(e){e=t.edge(e);_$d.forEach(e.points,reverseYOne),_$d.has(e,"y")&&reverseYOne(e)})}function reverseYOne(e){e.y=-e.y}function swapXY(t){_$d.forEach(t.nodes(),function(e){swapXYOne(t.node(e))}),_$d.forEach(t.edges(),function(e){e=t.edge(e);_$d.forEach(e.points,swapXYOne),_$d.has(e,"x")&&swapXYOne(e)})}function swapXYOne(e){var t=e.x;e.x=e.y,e.y=t}var _$c=lodash_1,initOrder_1=initOrder$1;function initOrder$1(o){var r={},e=_$c.filter(o.nodes(),function(e){return!o.children(e).length}),t=_$c.max(_$c.map(e,function(e){return o.node(e).rank})),i=_$c.map(_$c.range(t+1),function(){return[]});t=_$c.sortBy(e,function(e){return o.node(e).rank});return _$c.forEach(t,function e(t){var n;_$c.has(r,t)||(r[t]=!0,n=o.node(t),i[n.rank].push(t),_$c.forEach(o.successors(t),e))}),i}var _$b=lodash_1,crossCount_1=crossCount$1;function crossCount$1(e,t){for(var n=0,o=1;o<t.length;++o)n+=twoLayerCrossCount(e,t[o-1],t[o]);return n}function twoLayerCrossCount(t,e,n){for(var o=_$b.zipObject(n,_$b.map(n,function(e,t){return t})),e=_$b.flatten(_$b.map(e,function(e){return _$b.sortBy(_$b.map(t.outEdges(e),function(e){return{pos:o[e.w],weight:t.edge(e).weight}}),"pos")}),!0),r=1;r<n.length;)r<<=1;var i=2*r-1,a=(--r,_$b.map(new Array(i),function(){return 0})),s=0;return _$b.forEach(e.forEach(function(e){for(var t=e.pos+r,n=(a[t]+=e.weight,0);0<t;)t%2&&(n+=a[t+1]),a[t=t-1>>1]+=e.weight;s+=e.weight*n})),s}var _$a=lodash_1,barycenter_1=barycenter$1;function barycenter$1(o,e){return _$a.map(e,function(e){var t=o.inEdges(e);return t.length?{v:e,barycenter:(t=_$a.reduce(t,function(e,t){var n=o.edge(t),t=o.node(t.v);return{sum:e.sum+n.weight*t.order,weight:e.weight+n.weight}},{sum:0,weight:0})).sum/t.weight,weight:t.weight}:{v:e}})}var _$9=lodash_1,resolveConflicts_1=resolveConflicts$1;function resolveConflicts$1(e,t){var o={};return _$9.forEach(e,function(e,t){t=o[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};_$9.isUndefined(e.barycenter)||(t.barycenter=e.barycenter,t.weight=e.weight)}),_$9.forEach(t.edges(),function(e){var t=o[e.v],n=o[e.w];_$9.isUndefined(t)||_$9.isUndefined(n)||(n.indegree++,t.out.push(o[e.w]))}),doResolveConflicts(_$9.filter(o,function(e){return!e.indegree}))}function doResolveConflicts(n){var e=[];for(;n.length;){var t=n.pop();e.push(t),_$9.forEach(t.in.reverse(),function(t){return function(e){e.merged||(_$9.isUndefined(e.barycenter)||_$9.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&mergeEntries(t,e)}}(t)),_$9.forEach(t.out,function(t){return function(e){e.in.push(t),0==--e.indegree&&n.push(e)}}(t))}return _$9.map(_$9.filter(e,function(e){return!e.merged}),function(e){return _$9.pick(e,["vs","i","barycenter","weight"])})}function mergeEntries(e,t){var n=0,o=0;e.weight&&(n+=e.barycenter*e.weight,o+=e.weight),t.weight&&(n+=t.barycenter*t.weight,o+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/o,e.weight=o,e.i=Math.min(t.i,e.i),t.merged=!0}var _$8=lodash_1,util$5=util$a,sort_1=sort$1;function sort$1(e,t){var e=util$5.partition(e,function(e){return _$8.has(e,"barycenter")}),n=e.lhs,o=_$8.sortBy(e.rhs,function(e){return-e.i}),r=[],i=0,a=0,s=0,e=(n.sort(compareWithBias(!!t)),s=consumeUnsortable(r,o,s),_$8.forEach(n,function(e){s+=e.vs.length,r.push(e.vs),i+=e.barycenter*e.weight,a+=e.weight,s=consumeUnsortable(r,o,s)}),{vs:_$8.flatten(r,!0)});return a&&(e.barycenter=i/a,e.weight=a),e}function consumeUnsortable(e,t,n){for(var o;t.length&&(o=_$8.last(t)).i<=n;)t.pop(),e.push(o.vs),n++;return n}function compareWithBias(n){return function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:n?t.i-e.i:e.i-t.i}}var _$7=lodash_1,barycenter=barycenter$1,resolveConflicts=resolveConflicts$1,sort=sort$1,sortSubgraph_1=sortSubgraph$1;function sortSubgraph$1(n,e,o,r){var t,i=n.children(e),e=n.node(e),a=e?e.borderLeft:void 0,s=e?e.borderRight:void 0,l={},e=(a&&(i=_$7.filter(i,function(e){return e!==a&&e!==s})),barycenter(n,i)),i=(_$7.forEach(e,function(e){var t;n.children(e.v).length&&(t=sortSubgraph$1(n,e.v,o,r),l[e.v]=t,_$7.has(t,"barycenter")&&mergeBarycenters(e,t))}),resolveConflicts(e,o)),e=(expandSubgraphs(i,l),sort(i,r));return a&&(e.vs=_$7.flatten([a,e.vs,s],!0),n.predecessors(a).length&&(i=n.node(n.predecessors(a)[0]),t=n.node(n.predecessors(s)[0]),_$7.has(e,"barycenter")||(e.barycenter=0,e.weight=0),e.barycenter=(e.barycenter*e.weight+i.order+t.order)/(e.weight+2),e.weight+=2)),e}function expandSubgraphs(e,t){_$7.forEach(e,function(e){e.vs=_$7.flatten(e.vs.map(function(e){return t[e]?t[e].vs:e}),!0)})}function mergeBarycenters(e,t){_$7.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var _$6=lodash_1,Graph$4=graphlib_1.Graph,buildLayerGraph_1=buildLayerGraph$1;function buildLayerGraph$1(r,n,i){var a=createRootNode(r),s=new Graph$4({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(e){return r.node(e)});return _$6.forEach(r.nodes(),function(o){var e=r.node(o),t=r.parent(o);(e.rank===n||e.minRank<=n&&n<=e.maxRank)&&(s.setNode(o),s.setParent(o,t||a),_$6.forEach(r[i](o),function(e){var t=e.v===o?e.w:e.v,n=s.edge(t,o),n=_$6.isUndefined(n)?0:n.weight;s.setEdge(t,o,{weight:r.edge(e).weight+n})}),_$6.has(e,"minRank")&&s.setNode(o,{borderLeft:e.borderLeft[n],borderRight:e.borderRight[n]}))}),s}function createRootNode(e){for(var t;e.hasNode(t=_$6.uniqueId("_root")););return t}var _$5=lodash_1,addSubgraphConstraints_1=addSubgraphConstraints$1;function addSubgraphConstraints$1(r,i,e){var a,s={};_$5.forEach(e,function(e){for(var t,n,o=r.parent(e);o;){if((t=r.parent(o))?(n=s[t],s[t]=o):(n=a,a=o),n&&n!==o)return void i.setEdge(n,o);o=t}})}var _$4=lodash_1,initOrder=initOrder_1,crossCount=crossCount_1,sortSubgraph=sortSubgraph_1,buildLayerGraph=buildLayerGraph$1,addSubgraphConstraints=addSubgraphConstraints$1,Graph$3=graphlib_1.Graph,util$4=util$a,order_1=order$1;function order$1(e){for(var t,n=util$4.maxRank(e),o=buildLayerGraphs(e,_$4.range(1,n+1),"inEdges"),r=buildLayerGraphs(e,_$4.range(n-1,-1,-1),"outEdges"),i=(assignOrder(e,initOrder(e)),Number.POSITIVE_INFINITY),a=0,s=0;s<4;++a,++s){sweepLayerGraphs(a%2?o:r,2<=a%4);var l=util$4.buildLayerMatrix(e),c=crossCount(e,l);c<i&&(s=0,t=_$4.cloneDeep(l),i=c)}assignOrder(e,t)}function buildLayerGraphs(t,e,n){return _$4.map(e,function(e){return buildLayerGraph(t,e,n)})}function sweepLayerGraphs(e,t){var o=new Graph$3;_$4.forEach(e,function(n){var e=n.graph().root,e=sortSubgraph(n,e,o,t);_$4.forEach(e.vs,function(e,t){n.node(e).order=t}),addSubgraphConstraints(n,o,e.vs)})}function assignOrder(n,e){_$4.forEach(e,function(e){_$4.forEach(e,function(e,t){n.node(e).order=t})})}var _$3=lodash_1,Graph$2=graphlib_1.Graph,util$3=util$a,bk={positionX:positionX$1,findType1Conflicts:findType1Conflicts,findType2Conflicts:findType2Conflicts,addConflict:addConflict,hasConflict:hasConflict,verticalAlignment:verticalAlignment,horizontalCompaction:horizontalCompaction,alignCoordinates:alignCoordinates,findSmallestWidthAlignment:findSmallestWidthAlignment,balance:balance};function findType1Conflicts(c,e){var u={};return _$3.reduce(e,function(e,o){var i=0,a=0,s=e.length,l=_$3.last(o);return _$3.forEach(o,function(e,t){var n=findOtherInnerSegmentNode(c,e),r=n?c.node(n).order:s;!n&&e!==l||(_$3.forEach(o.slice(a,t+1),function(o){_$3.forEach(c.predecessors(o),function(e){var t=c.node(e),n=t.order;!(n<i||r<n)||t.dummy&&c.node(o).dummy||addConflict(u,e,o)})}),a=t+1,i=r)}),o}),u}function findType2Conflicts(s,e){var a={};function l(t,e,n,o,r){var i;_$3.forEach(_$3.range(e,n),function(e){i=t[e],s.node(i).dummy&&_$3.forEach(s.predecessors(i),function(e){var t=s.node(e);t.dummy&&(t.order<o||t.order>r)&&addConflict(a,e,i)})})}return _$3.reduce(e,function(n,o){var r,i=-1,a=0;return _$3.forEach(o,function(e,t){"border"===s.node(e).dummy&&(e=s.predecessors(e)).length&&(r=s.node(e[0]).order,l(o,a,t,i,r),a=t,i=r),l(o,a,o.length,r,n.length)}),o}),a}function findOtherInnerSegmentNode(t,e){if(t.node(e).dummy)return _$3.find(t.predecessors(e),function(e){return t.node(e).dummy})}function addConflict(e,t,n){n<t&&(o=t,t=n,n=o);var o=e[t];o||(e[t]=o={}),o[n]=!0}function hasConflict(e,t,n){var o;return n<t&&(o=t,t=n,n=o),_$3.has(e[t],n)}function verticalAlignment(e,t,s,l){var c={},u={},d={};return _$3.forEach(t,function(e){_$3.forEach(e,function(e,t){c[e]=e,u[e]=e,d[e]=t})}),_$3.forEach(t,function(e){var a=-1;_$3.forEach(e,function(e){var t=l(e);if(t.length)for(var n=((t=_$3.sortBy(t,function(e){return d[e]})).length-1)/2,o=Math.floor(n),r=Math.ceil(n);o<=r;++o){var i=t[o];u[e]===e&&a<d[i]&&!hasConflict(s,e,i)&&(u[i]=e,u[e]=c[e]=c[i],a=d[i])}})}),{root:c,align:u}}function horizontalCompaction(o,e,t,n,r){var i={},a=buildBlockGraph(o,e,t,r),s=r?"borderLeft":"borderRight";function l(e,t){for(var n=a.nodes(),o=n.pop(),r={};o;)r[o]?e(o):(r[o]=!0,n.push(o),n=n.concat(t(o))),o=n.pop()}return l(function(e){i[e]=a.inEdges(e).reduce(function(e,t){return Math.max(e,i[t.v]+a.edge(t))},0)},a.predecessors.bind(a)),l(function(e){var t=a.outEdges(e).reduce(function(e,t){return Math.min(e,i[t.w]-a.edge(t))},Number.POSITIVE_INFINITY),n=o.node(e);t!==Number.POSITIVE_INFINITY&&n.borderType!==s&&(i[e]=Math.max(i[e],t))},a.successors.bind(a)),_$3.forEach(n,function(e){i[e]=i[t[e]]}),i}function buildBlockGraph(i,e,a,t){var s=new Graph$2,n=i.graph(),l=sep(n.nodesep,n.edgesep,t);return _$3.forEach(e,function(e){var r;_$3.forEach(e,function(e){var t,n,o=a[e];s.setNode(o),r&&(t=a[r],n=s.edge(t,o),s.setEdge(t,o,Math.max(l(i,e,r),n||0))),r=e})}),s}function findSmallestWidthAlignment(r,e){return _$3.minBy(_$3.values(e),function(e){var n=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY;return _$3.forIn(e,function(e,t){t=width(r,t)/2;n=Math.max(e+t,n),o=Math.min(e-t,o)}),n-o})}function alignCoordinates(a,s){var e=_$3.values(s),l=_$3.min(e),c=_$3.max(e);_$3.forEach(["u","d"],function(i){_$3.forEach(["l","r"],function(e){var t,n,o=i+e,r=a[o];r!==s&&(t=_$3.values(r),(n="l"===e?l-_$3.min(t):c-_$3.max(t))&&(a[o]=_$3.mapValues(r,function(e){return e+n})))})})}function balance(n,o){return _$3.mapValues(n.ul,function(e,t){return o?n[o.toLowerCase()][t]:((t=_$3.sortBy(_$3.map(n,t)))[1]+t[2])/2})}function positionX$1(o){var r,e=util$3.buildLayerMatrix(o),i=_$3.merge(findType1Conflicts(o,e),findType2Conflicts(o,e)),a={},t=(_$3.forEach(["u","d"],function(n){r="u"===n?e:_$3.values(e).reverse(),_$3.forEach(["l","r"],function(e){"r"===e&&(r=_$3.map(r,function(e){return _$3.values(e).reverse()}));var t=("u"===n?o.predecessors:o.successors).bind(o),t=verticalAlignment(o,r,i,t),t=horizontalCompaction(o,r,t.root,t.align,"r"===e);"r"===e&&(t=_$3.mapValues(t,function(e){return-e})),a[n+e]=t})}),findSmallestWidthAlignment(o,a));return alignCoordinates(a,t),balance(a,o.graph().align)}function sep(a,s,l){return function(e,t,n){var o,r=e.node(t),i=e.node(n),t=0;if(t+=r.width/2,_$3.has(r,"labelpos"))switch(r.labelpos.toLowerCase()){case"l":o=-r.width/2;break;case"r":o=r.width/2}if(o&&(t+=l?o:-o),o=0,t=(t=(t+=(r.dummy?s:a)/2)+(i.dummy?s:a)/2)+i.width/2,_$3.has(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":o=i.width/2;break;case"r":o=-i.width/2}return o&&(t+=l?o:-o),o=0,t}}function width(e,t){return e.node(t).width}var _$2=lodash_1,util$2=util$a,positionX=bk.positionX,position_1=position$1;function position$1(n){positionY(n=util$2.asNonCompoundGraph(n)),_$2.forEach(positionX(n),function(e,t){n.node(t).x=e})}function positionY(n){var e=util$2.buildLayerMatrix(n),o=n.graph().ranksep,r=0;_$2.forEach(e,function(e){var t=_$2.max(_$2.map(e,function(e){return n.node(e).height}));_$2.forEach(e,function(e){n.node(e).y=r+t/2}),r+=t+o})}var _$1=lodash_1,acyclic=acyclic$1,normalize$1=normalize$2,rank=rank_1,normalizeRanks=util$a.normalizeRanks,parentDummyChains=parentDummyChains_1,removeEmptyRanks=util$a.removeEmptyRanks,nestingGraph=nestingGraph$1,addBorderSegments=addBorderSegments_1,coordinateSystem=coordinateSystem$1,order=order_1,position=position_1,util$1=util$a,Graph$1=graphlib_1.Graph,layout_1=layout;function layout(t,e){var n=e&&e.debugTiming?util$1.time:util$1.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return buildLayoutGraph(t)});n(" runLayout",function(){runLayout(e,n)}),n(" updateInputGraph",function(){updateInputGraph(t,e)})})}function runLayout(e,t){t(" makeSpaceForEdgeLabels",function(){makeSpaceForEdgeLabels(e)}),t(" removeSelfEdges",function(){removeSelfEdges(e)}),t(" acyclic",function(){acyclic.run(e)}),t(" nestingGraph.run",function(){nestingGraph.run(e)}),t(" rank",function(){rank(util$1.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){injectEdgeLabelProxies(e)}),t(" removeEmptyRanks",function(){removeEmptyRanks(e)}),t(" nestingGraph.cleanup",function(){nestingGraph.cleanup(e)}),t(" normalizeRanks",function(){normalizeRanks(e)}),t(" assignRankMinMax",function(){assignRankMinMax(e)}),t(" removeEdgeLabelProxies",function(){removeEdgeLabelProxies(e)}),t(" normalize.run",function(){normalize$1.run(e)}),t(" parentDummyChains",function(){parentDummyChains(e)}),t(" addBorderSegments",function(){addBorderSegments(e)}),t(" order",function(){order(e)}),t(" insertSelfEdges",function(){insertSelfEdges(e)}),t(" adjustCoordinateSystem",function(){coordinateSystem.adjust(e)}),t(" position",function(){position(e)}),t(" positionSelfEdges",function(){positionSelfEdges(e)}),t(" removeBorderNodes",function(){removeBorderNodes(e)}),t(" normalize.undo",function(){normalize$1.undo(e)}),t(" fixupEdgeLabelCoords",function(){fixupEdgeLabelCoords(e)}),t(" undoCoordinateSystem",function(){coordinateSystem.undo(e)}),t(" translateGraph",function(){translateGraph(e)}),t(" assignNodeIntersects",function(){assignNodeIntersects(e)}),t(" reversePoints",function(){reversePointsForReversedEdges(e)}),t(" acyclic.undo",function(){acyclic.undo(e)})}function updateInputGraph(o,r){_$1.forEach(o.nodes(),function(e){var t=o.node(e),n=r.node(e);t&&(t.x=n.x,t.y=n.y,r.children(e).length&&(t.width=n.width,t.height=n.height))}),_$1.forEach(o.edges(),function(e){var t=o.edge(e),e=r.edge(e);t.points=e.points,_$1.has(e,"x")&&(t.x=e.x,t.y=e.y)}),o.graph().width=r.graph().width,o.graph().height=r.graph().height}var graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"],graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},graphAttrs=["acyclicer","ranker","rankdir","align"],nodeNumAttrs=["width","height"],nodeDefaults={width:0,height:0},edgeNumAttrs=["minlen","weight","width","height","labeloffset"],edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},edgeAttrs=["labelpos"];function buildLayoutGraph(n){var o=new Graph$1({multigraph:!0,compound:!0}),e=canonicalize(n.graph());return o.setGraph(_$1.merge({},graphDefaults,selectNumberAttrs(e,graphNumAttrs),_$1.pick(e,graphAttrs))),_$1.forEach(n.nodes(),function(e){var t=canonicalize(n.node(e));o.setNode(e,_$1.defaults(selectNumberAttrs(t,nodeNumAttrs),nodeDefaults)),o.setParent(e,n.parent(e))}),_$1.forEach(n.edges(),function(e){var t=canonicalize(n.edge(e));o.setEdge(e,_$1.merge({},edgeDefaults,selectNumberAttrs(t,edgeNumAttrs),_$1.pick(t,edgeAttrs)))}),o}function makeSpaceForEdgeLabels(t){var n=t.graph();n.ranksep/=2,_$1.forEach(t.edges(),function(e){e=t.edge(e);e.minlen*=2,"c"!==e.labelpos.toLowerCase()&&("TB"===n.rankdir||"BT"===n.rankdir?e.width+=e.labeloffset:e.height+=e.labeloffset)})}function injectEdgeLabelProxies(n){_$1.forEach(n.edges(),function(e){var t=n.edge(e);t.width&&t.height&&(t=n.node(e.v),t={rank:(n.node(e.w).rank-t.rank)/2+t.rank,e:e},util$1.addDummyNode(n,"edge-proxy",t,"_ep"))})}function assignRankMinMax(t){var n=0;_$1.forEach(t.nodes(),function(e){e=t.node(e);e.borderTop&&(e.minRank=t.node(e.borderTop).rank,e.maxRank=t.node(e.borderBottom).rank,n=_$1.max(n,e.maxRank))}),t.graph().maxRank=n}function removeEdgeLabelProxies(n){_$1.forEach(n.nodes(),function(e){var t=n.node(e);"edge-proxy"===t.dummy&&(n.edge(t.e).labelRank=t.rank,n.removeNode(e))})}function translateGraph(t){var r=Number.POSITIVE_INFINITY,i=0,a=Number.POSITIVE_INFINITY,s=0,e=t.graph(),n=e.marginx||0,o=e.marginy||0;function l(e){var t=e.x,n=e.y,o=e.width,e=e.height;r=Math.min(r,t-o/2),i=Math.max(i,t+o/2),a=Math.min(a,n-e/2),s=Math.max(s,n+e/2)}_$1.forEach(t.nodes(),function(e){l(t.node(e))}),_$1.forEach(t.edges(),function(e){e=t.edge(e);_$1.has(e,"x")&&l(e)}),r-=n,a-=o,_$1.forEach(t.nodes(),function(e){e=t.node(e);e.x-=r,e.y-=a}),_$1.forEach(t.edges(),function(e){e=t.edge(e);_$1.forEach(e.points,function(e){e.x-=r,e.y-=a}),_$1.has(e,"x")&&(e.x-=r),_$1.has(e,"y")&&(e.y-=a)}),e.width=i-r+n,e.height=s-a+o}function assignNodeIntersects(i){_$1.forEach(i.edges(),function(e){var t,n=i.edge(e),o=i.node(e.v),e=i.node(e.w),r=n.points?(t=n.points[0],n.points[n.points.length-1]):(n.points=[],t=e,o);n.points.unshift(util$1.intersectRect(o,t)),n.points.push(util$1.intersectRect(e,r))})}function fixupEdgeLabelCoords(n){_$1.forEach(n.edges(),function(e){var t=n.edge(e);if(_$1.has(t,"x"))switch("l"!==t.labelpos&&"r"!==t.labelpos||(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset}})}function reversePointsForReversedEdges(t){_$1.forEach(t.edges(),function(e){e=t.edge(e);e.reversed&&e.points.reverse()})}function removeBorderNodes(i){_$1.forEach(i.nodes(),function(e){var t,n,o,r;i.children(e).length&&(e=i.node(e),t=i.node(e.borderTop),n=i.node(e.borderBottom),o=i.node(_$1.last(e.borderLeft)),r=i.node(_$1.last(e.borderRight)),e.width=Math.abs(r.x-o.x),e.height=Math.abs(n.y-t.y),e.x=o.x+e.width/2,e.y=t.y+e.height/2)}),_$1.forEach(i.nodes(),function(e){"border"===i.node(e).dummy&&i.removeNode(e)})}function removeSelfEdges(n){_$1.forEach(n.edges(),function(e){var t;e.v===e.w&&((t=n.node(e.v)).selfEdges||(t.selfEdges=[]),t.selfEdges.push({e:e,label:n.edge(e)}),n.removeEdge(e))})}function insertSelfEdges(r){var e=util$1.buildLayerMatrix(r);_$1.forEach(e,function(e){var o=0;_$1.forEach(e,function(e,t){var n=r.node(e);n.order=t+o,_$1.forEach(n.selfEdges,function(e){util$1.addDummyNode(r,"selfedge",{width:e.label.width,height:e.label.height,rank:n.rank,order:t+ ++o,e:e.e,label:e.label},"_se")}),delete n.selfEdges})})}function positionSelfEdges(a){_$1.forEach(a.nodes(),function(e){var t,n,o,r,i=a.node(e);"selfedge"===i.dummy&&(t=(r=a.node(i.e.v)).x+r.width/2,n=r.y,o=i.x-t,r=r.height/2,a.setEdge(i.e,i.label),a.removeNode(e),i.label.points=[{x:t+2*o/3,y:n-r},{x:t+5*o/6,y:n-r},{x:t+o,y:n},{x:t+5*o/6,y:n+r},{x:t+2*o/3,y:n+r}],i.label.x=i.x,i.label.y=i.y)})}function selectNumberAttrs(e,t){return _$1.mapValues(_$1.pick(e,t),Number)}function canonicalize(e){var n={};return _$1.forEach(e,function(e,t){n[t.toLowerCase()]=e}),n}var _=lodash_1,util=util$a,Graph=graphlib_1.Graph,debug={debugOrdering:debugOrdering};function debugOrdering(t){var e=util.buildLayerMatrix(t),n=new Graph({compound:!0,multigraph:!0}).setGraph({});return _.forEach(t.nodes(),function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)}),_.forEach(t.edges(),function(e){n.setEdge(e.v,e.w,{},e.name)}),_.forEach(e,function(e,t){n.setNode("layer"+t,{rank:"same"}),_.reduce(e,function(e,t){return n.setEdge(e,t,{style:"invis"}),t})}),n}var version$1="0.8.5",dagre={graphlib:graphlib_1,layout:layout_1,debug:debug,util:{time:util$a.time,notime:util$a.notime},version:version$1};function cc(n){if("string"==typeof n||"number"==typeof n)return""+n;let o="";if(Array.isArray(n))for(let e=0,t;e<n.length;e++)""!==(t=cc(n[e]))&&(o+=(o&&" ")+t);else for(var e in n)n[e]&&(o+=(o&&" ")+e);return o}const createStoreImpl=e=>{let o;const r=new Set;var t=(e,t)=>{e="function"==typeof e?e(o):e;if(!Object.is(e,o)){const n=o;o=(null!=t?t:"object"!=typeof e)?e:Object.assign({},o,e),r.forEach(e=>e(o,n))}},n=()=>o,i={setState:t,getState:n,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>r.clear()};return o=e(t,n,i),i},createStore=e=>e?createStoreImpl(e):createStoreImpl;var withSelector={exports:{}},withSelector_production_min={},shim={exports:{}},useSyncExternalStoreShim_production_min={},e=react.exports;function h$1(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var k="function"==typeof Object.is?Object.is:h$1,l=e.useState,m=e.useEffect,n$1=e.useLayoutEffect,p$1=e.useDebugValue;function q$1(e,t){var n=t(),o=l({inst:{value:n,getSnapshot:t}}),r=o[0].inst,i=o[1];return n$1(function(){r.value=n,r.getSnapshot=t,r$1(r)&&i({inst:r})},[e,n,t]),m(function(){return r$1(r)&&i({inst:r}),e(function(){r$1(r)&&i({inst:r})})},[e]),p$1(n),n}function r$1(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!k(e,n)}catch(e){return!0}}function t$1(e,t){return t()}var u$1="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?t$1:q$1,h=(useSyncExternalStoreShim_production_min.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u$1,shim.exports=useSyncExternalStoreShim_production_min,react.exports),n=shim.exports;function p(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var q="function"==typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue,useSyncExternalStoreExports=(withSelector_production_min.useSyncExternalStoreWithSelector=function(e,n,a,s,l){var c,o=t(null),i=(null===o.current?(c={hasValue:!1,value:null},o.current=c):c=o.current,o=v(function(){function e(e){if(!i){if(i=!0,e=s(o=e),void 0!==l&&c.hasValue){var t=c.value;if(l(t,e))return r=t}return r=e}if(t=r,q(o,e))return t;var n=s(e);return void 0!==l&&l(t,n)?t:(o=e,r=n)}var o,r,i=!1,t=void 0===a?null:a;return[function(){return e(n())},null===t?void 0:function(){return e(t())}]},[n,a,s,l]),r(e,o[0],o[1]));return u(function(){c.hasValue=!0,c.value=i},[i]),w(i),i},withSelector.exports=withSelector_production_min,withSelector.exports);const useSyncExternalStoreWithSelector=useSyncExternalStoreExports["useSyncExternalStoreWithSelector"];function useStore$1(e,t=e.getState,n){t=useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return react.exports.useDebugValue(t),t}function shallow(t,n){if(Object.is(t,n))return!0;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return!1;if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(var[e,o]of t)if(!Object.is(o,n.get(e)))return!1;return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(const i of t)if(!n.has(i))return!1;return!0}var r=Object.keys(t);if(r.length!==Object.keys(n).length)return!1;for(let e=0;e<r.length;e++)if(!Object.prototype.hasOwnProperty.call(n,r[e])||!Object.is(t[r[e]],n[r[e]]))return!1;return!0}var noop$1={value:()=>{}};function dispatch(){for(var e,t=0,n=arguments.length,o={};t<n;++t){if(!(e=arguments[t]+"")||e in o||/[\s.]/.test(e))throw new Error("illegal type: "+e);o[e]=[]}return new Dispatch(o)}function Dispatch(e){this._=e}function parseTypenames$1(e,o){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(0<=n&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!o.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:t}})}function get$2(e,t){for(var n,o=0,r=e.length;o<r;++o)if((n=e[o]).name===t)return n.value}function set$2(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=noop$1,e=e.slice(0,o).concat(e.slice(o+1));break}return null!=n&&e.push({name:t,value:n}),e}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(e,t){var n,o=this._,r=parseTypenames$1(e+"",o),i=-1,a=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++i<a;)if(n=(e=r[i]).type)o[n]=set$2(o[n],e.name,t);else if(null==t)for(n in o)o[n]=set$2(o[n],e.name,null);return this}for(;++i<a;)if((n=(e=r[i]).type)&&(n=get$2(o[n],e.name)))return n},copy:function(){var e,t={},n=this._;for(e in n)t[e]=n[e].slice();return new Dispatch(t)},call:function(e,t){if(0<(n=arguments.length-2))for(var n,o,r=new Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=0,n=(o=this._[e]).length;i<n;++i)o[i].value.apply(t,r)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};var xhtml="http://www.w3.org/1999/xhtml",namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace$3(e){var t=e+="",n=t.indexOf(":");return 0<=n&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),namespaces.hasOwnProperty(t)?{space:namespaces[t],local:e}:e}function creatorInherit(n){return function(){var e=this.ownerDocument,t=this.namespaceURI;return t===xhtml&&e.documentElement.namespaceURI===xhtml?e.createElement(n):e.createElementNS(t,n)}}function creatorFixed(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function creator(e){e=namespace$3(e);return(e.local?creatorFixed:creatorInherit)(e)}function none(){}function selector$1(e){return null==e?none:function(){return this.querySelector(e)}}function selection_select(e){"function"!=typeof e&&(e=selector$1(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,a,s=t[r],l=s.length,c=o[r]=new Array(l),u=0;u<l;++u)(i=s[u])&&(a=e.call(i,i.__data__,u,s))&&("__data__"in i&&(a.__data__=i.__data__),c[u]=a);return new Selection$1(o,this._parents)}function array(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function empty(){return[]}function selectorAll(e){return null==e?empty:function(){return this.querySelectorAll(e)}}function arrayAll(e){return function(){return array(e.apply(this,arguments))}}function selection_selectAll(e){e=("function"==typeof e?arrayAll:selectorAll)(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var a,s=t[i],l=s.length,c=0;c<l;++c)(a=s[c])&&(o.push(e.call(a,a.__data__,c,s)),r.push(a));return new Selection$1(o,r)}function matcher(e){return function(){return this.matches(e)}}function childMatcher(t){return function(e){return e.matches(t)}}var find=Array.prototype.find;function childFind(e){return function(){return find.call(this.children,e)}}function childFirst(){return this.firstElementChild}function selection_selectChild(e){return this.select(null==e?childFirst:childFind("function"==typeof e?e:childMatcher(e)))}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(e){return function(){return filter.call(this.children,e)}}function selection_selectChildren(e){return this.selectAll(null==e?children:childrenFilter("function"==typeof e?e:childMatcher(e)))}function selection_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,a=t[r],s=a.length,l=o[r]=[],c=0;c<s;++c)(i=a[c])&&e.call(i,i.__data__,c,a)&&l.push(i);return new Selection$1(o,this._parents)}function sparse(e){return new Array(e.length)}function selection_enter(){return new Selection$1(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function constant$3(e){return function(){return e}}function bindIndex(e,t,n,o,r,i){for(var a,s=0,l=t.length,c=i.length;s<c;++s)(a=t[s])?(a.__data__=i[s],o[s]=a):n[s]=new EnterNode(e,i[s]);for(;s<l;++s)(a=t[s])&&(r[s]=a)}function bindKey(e,t,n,o,r,i,a){for(var s,l,c=new Map,u=t.length,d=i.length,p=new Array(u),h=0;h<u;++h)(s=t[h])&&(p[h]=l=a.call(s,s.__data__,h,t)+"",c.has(l)?r[h]=s:c.set(l,s));for(h=0;h<d;++h)l=a.call(e,i[h],h,i)+"",(s=c.get(l))?((o[h]=s).__data__=i[h],c.delete(l)):n[h]=new EnterNode(e,i[h]);for(h=0;h<u;++h)(s=t[h])&&c.get(p[h])===s&&(r[h]=s)}function datum(e){return e.__data__}function selection_data(e,t){if(!arguments.length)return Array.from(this,datum);var n=t?bindKey:bindIndex,o=this._parents,r=this._groups;"function"!=typeof e&&(e=constant$3(e));for(var i=r.length,a=new Array(i),s=new Array(i),l=new Array(i),c=0;c<i;++c){var u=o[c],d=r[c],p=d.length,h=arraylike(e.call(u,u&&u.__data__,c,o)),f=h.length,g=s[c]=new Array(f),m=a[c]=new Array(f);n(u,d,g,m,l[c]=new Array(p),h,t);for(var y,b,v=0,$=0;v<f;++v)if(y=g[v]){for($<=v&&($=v+1);!(b=m[$])&&++$<f;);y._next=b||null}}return(a=new Selection$1(a,o))._enter=s,a._exit=l,a}function arraylike(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function selection_exit(){return new Selection$1(this._exit||this._groups.map(sparse),this._parents)}function selection_join(e,t,n){var o=this.enter(),r=this,i=this.exit(),o="function"==typeof e?(o=e(o))&&o.selection():o.append(e+"");return null!=t&&(r=(r=t(r))&&r.selection()),null==n?i.remove():n(i),o&&r?o.merge(r).order():r}function selection_merge(e){for(var e=e.selection?e.selection():e,t=this._groups,n=e._groups,o=t.length,e=n.length,r=Math.min(o,e),i=new Array(o),a=0;a<r;++a)for(var s,l=t[a],c=n[a],u=l.length,d=i[a]=new Array(u),p=0;p<u;++p)(s=l[p]||c[p])&&(d[p]=s);for(;a<o;++a)i[a]=t[a];return new Selection$1(i,this._parents)}function selection_order(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o,r=e[t],i=r.length-1,a=r[i];0<=--i;)(o=r[i])&&(a&&4^o.compareDocumentPosition(a)&&a.parentNode.insertBefore(o,a),a=o);return this}function selection_sort(n){function e(e,t){return e&&t?n(e.__data__,t.__data__):!e-!t}n=n||ascending;for(var t=this._groups,o=t.length,r=new Array(o),i=0;i<o;++i){for(var a,s=t[i],l=s.length,c=r[i]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(e)}return new Selection$1(r,this._parents).order()}function ascending(e,t){return e<t?-1:t<e?1:t<=e?0:NaN}function selection_call(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length;r<i;++r){var a=o[r];if(a)return a}return null}function selection_size(){let e=0;for(const t of this)++e;return e}function selection_empty(){return!this.node()}function selection_each(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r,i=t[n],a=0,s=i.length;a<s;++a)(r=i[a])&&e.call(r,r.__data__,a,i);return this}function attrRemove$1(e){return function(){this.removeAttribute(e)}}function attrRemoveNS$1(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant$1(e,t){return function(){this.setAttribute(e,t)}}function attrConstantNS$1(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function attrFunction$1(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function attrFunctionNS$1(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function selection_attr(e,t){var n,o=namespace$3(e);return arguments.length<2?(n=this.node(),o.local?n.getAttributeNS(o.space,o.local):n.getAttribute(o)):this.each((null==t?o.local?attrRemoveNS$1:attrRemove$1:"function"==typeof t?o.local?attrFunctionNS$1:attrFunction$1:o.local?attrConstantNS$1:attrConstant$1)(o,t))}function defaultView(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function styleRemove$1(e){return function(){this.style.removeProperty(e)}}function styleConstant$1(e,t,n){return function(){this.style.setProperty(e,t,n)}}function styleFunction$1(t,n,o){return function(){var e=n.apply(this,arguments);null==e?this.style.removeProperty(t):this.style.setProperty(t,e,o)}}function selection_style(e,t,n){return 1<arguments.length?this.each((null==t?styleRemove$1:"function"==typeof t?styleFunction$1:styleConstant$1)(e,t,null==n?"":n)):styleValue(this.node(),e)}function styleValue(e,t){return e.style.getPropertyValue(t)||defaultView(e).getComputedStyle(e,null).getPropertyValue(t)}function propertyRemove(e){return function(){delete this[e]}}function propertyConstant(e,t){return function(){this[e]=t}}function propertyFunction(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function selection_property(e,t){return 1<arguments.length?this.each((null==t?propertyRemove:"function"==typeof t?propertyFunction:propertyConstant)(e,t)):this.node()[e]}function classArray(e){return e.trim().split(/^|\s+/)}function classList$1(e){return e.classList||new ClassList(e)}function ClassList(e){this._node=e,this._names=classArray(e.getAttribute("class")||"")}function classedAdd(e,t){for(var n=classList$1(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function classedRemove(e,t){for(var n=classList$1(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function classedTrue(e){return function(){classedAdd(this,e)}}function classedFalse(e){return function(){classedRemove(this,e)}}function classedFunction(e,t){return function(){(t.apply(this,arguments)?classedAdd:classedRemove)(this,e)}}function selection_classed(e,t){var n=classArray(e+"");if(arguments.length<2){for(var o=classList$1(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each(("function"==typeof t?classedFunction:t?classedTrue:classedFalse)(n,t))}function textRemove(){this.textContent=""}function textConstant$1(e){return function(){this.textContent=e}}function textFunction$1(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function selection_text(e){return arguments.length?this.each(null==e?textRemove:("function"==typeof e?textFunction$1:textConstant$1)(e)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(e){return function(){this.innerHTML=e}}function htmlFunction(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function selection_html(e){return arguments.length?this.each(null==e?htmlRemove:("function"==typeof e?htmlFunction:htmlConstant)(e)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(e){var t="function"==typeof e?e:creator(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function constantNull(){return null}function selection_insert(e,t){var n="function"==typeof e?e:creator(e),o=null==t?constantNull:"function"==typeof t?t:selector$1(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function remove(){var e=this.parentNode;e&&e.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_cloneDeep(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_clone(e){return this.select(e?selection_cloneDeep:selection_cloneShallow)}function selection_datum(e){return arguments.length?this.property("__data__",e):this.node().__data__}function contextListener(t){return function(e){t.call(this,e,this.__data__)}}function parseTypenames(e){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return 0<=n&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function onRemove(i){return function(){var e=this.__on;if(e){for(var t,n=0,o=-1,r=e.length;n<r;++n)t=e[n],i.type&&t.type!==i.type||t.name!==i.name?e[++o]=t:this.removeEventListener(t.type,t.listener,t.options);++o?e.length=o:delete this.__on}}}function onAdd(i,a,s){return function(){var e,t=this.__on,n=contextListener(a);if(t)for(var o=0,r=t.length;o<r;++o)if((e=t[o]).type===i.type&&e.name===i.name)return this.removeEventListener(e.type,e.listener,e.options),this.addEventListener(e.type,e.listener=n,e.options=s),void(e.value=a);this.addEventListener(i.type,n,s),e={type:i.type,name:i.name,value:a,listener:n,options:s},t?t.push(e):this.__on=[e]}}function selection_on(e,t,n){var o,r,i=parseTypenames(e+""),a=i.length;if(!(arguments.length<2)){for(s=t?onAdd:onRemove,o=0;o<a;++o)this.each(s(i[o],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(o=0,l=s[c];o<a;++o)if((r=i[o]).type===l.type&&r.name===l.name)return l.value}function dispatchEvent(e,t,n){var o=defaultView(e),r=o.CustomEvent;"function"==typeof r?r=new r(t,n):(r=o.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function dispatchConstant(e,t){return function(){return dispatchEvent(this,e,t)}}function dispatchFunction(e,t){return function(){return dispatchEvent(this,e,t.apply(this,arguments))}}function selection_dispatch(e,t){return this.each(("function"==typeof t?dispatchFunction:dispatchConstant)(e,t))}function*selection_iterator(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o,r=e[t],i=0,a=r.length;i<a;++i)(o=r[i])&&(yield o)}EnterNode.prototype={constructor:EnterNode,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}},ClassList.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){e=this._names.indexOf(e);0<=e&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return 0<=this._names.indexOf(e)}};var root=[null];function Selection$1(e,t){this._groups=e,this._parents=t}function selection(){return new Selection$1([[document.documentElement]],root)}function selection_selection(){return this}function select(e){return"string"==typeof e?new Selection$1([[document.querySelector(e)]],[document.documentElement]):new Selection$1([[e]],root)}function sourceEvent(e){for(var t;t=e.sourceEvent;)e=t;return e}function pointer(e,t){if(e=sourceEvent(e),t=void 0===t?e.currentTarget:t){var n=t.ownerSVGElement||t;if(n.createSVGPoint)return(n=n.createSVGPoint()).x=e.clientX,n.y=e.clientY,[(n=n.matrixTransform(t.getScreenCTM().inverse())).x,n.y];if(t.getBoundingClientRect)return n=t.getBoundingClientRect(),[e.clientX-n.left-t.clientLeft,e.clientY-n.top-t.clientTop]}return[e.pageX,e.pageY]}const nonpassive={passive:!(Selection$1.prototype=selection.prototype={constructor:Selection$1,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator})},nonpassivecapture={capture:!0,passive:!1};function nopropagation$1(e){e.stopImmediatePropagation()}function noevent$1(e){e.preventDefault(),e.stopImmediatePropagation()}function dragDisable(e){var t=e.document.documentElement,e=select(e).on("dragstart.drag",noevent$1,nonpassivecapture);"onselectstart"in t?e.on("selectstart.drag",noevent$1,nonpassivecapture):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function yesdrag(e,t){var n=e.document.documentElement,o=select(e).on("dragstart.drag",null);t&&(o.on("click.drag",noevent$1,nonpassivecapture),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var constant$2=e=>()=>e;function DragEvent(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function defaultFilter$1(e){return!e.ctrlKey&&!e.button}function defaultContainer(){return this.parentNode}function defaultSubject(e,t){return null==t?{x:e.x,y:e.y}:t}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function drag(){var o,r,i,a,s=defaultFilter$1,l=defaultContainer,n=defaultSubject,t=defaultTouchable$1,g={},m=dispatch("start","drag","end"),y=0,c=0;function b(e){e.on("mousedown.drag",u).filter(t).on("touchstart.drag",h).on("touchmove.drag",f,nonpassive).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(e,t){!a&&s.call(this,e,t)&&(t=$(this,l.call(this,e,t),e,t,"mouse"))&&(select(e.view).on("mousemove.drag",d,nonpassivecapture).on("mouseup.drag",p,nonpassivecapture),dragDisable(e.view),nopropagation$1(e),i=!1,o=e.clientX,r=e.clientY,t("start",e))}function d(e){var t,n;noevent$1(e),i||(t=e.clientX-o,n=e.clientY-r,i=c<t*t+n*n),g.mouse("drag",e)}function p(e){select(e.view).on("mousemove.drag mouseup.drag",null),yesdrag(e.view,i),noevent$1(e),g.mouse("end",e)}function h(e,t){if(s.call(this,e,t))for(var n,o=e.changedTouches,r=l.call(this,e,t),i=o.length,a=0;a<i;++a)(n=$(this,r,e,t,o[a].identifier,o[a]))&&(nopropagation$1(e),n("start",e,o[a]))}function f(e){for(var t,n=e.changedTouches,o=n.length,r=0;r<o;++r)(t=g[n[r].identifier])&&(noevent$1(e),t("drag",e,n[r]))}function v(e){var t,n,o=e.changedTouches,r=o.length;for(a&&clearTimeout(a),a=setTimeout(function(){a=null},500),t=0;t<r;++t)(n=g[o[t].identifier])&&(nopropagation$1(e),n("end",e,o[t]))}function $(a,s,e,l,c,t){var u,d,p,h=m.copy(),f=pointer(t||e,s);if(null!=(p=n.call(a,new DragEvent("beforestart",{sourceEvent:e,target:b,identifier:c,active:y,x:f[0],y:f[1],dx:0,dy:0,dispatch:h}),l)))return u=p.x-f[0]||0,d=p.y-f[1]||0,function e(t,n,o){var r,i=f;switch(t){case"start":g[c]=e,r=y++;break;case"end":delete g[c],--y;case"drag":f=pointer(o||n,s),r=y}h.call(t,a,new DragEvent(t,{sourceEvent:n,subject:p,target:b,identifier:c,active:r,x:f[0]+u,y:f[1]+d,dx:f[0]-i[0],dy:f[1]-i[1],dispatch:h}),l)}}return b.filter=function(e){return arguments.length?(s="function"==typeof e?e:constant$2(!!e),b):s},b.container=function(e){return arguments.length?(l="function"==typeof e?e:constant$2(e),b):l},b.subject=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(e),b):n},b.touchable=function(e){return arguments.length?(t="function"==typeof e?e:constant$2(!!e),b):t},b.on=function(){var e=m.on.apply(m,arguments);return e===m?b:e},b.clickDistance=function(e){return arguments.length?(c=(e=+e)*e,b):Math.sqrt(c)},b}function define(e,t,n){(e.prototype=t.prototype=n).constructor=e}function extend(e,t){var n,o=Object.create(e.prototype);for(n in t)o[n]=t[n];return o}function Color(){}DragEvent.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var darker=.7,brighter=1/darker,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=reHex.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?rgbn(t):3===n?new Rgb(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?rgba(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?rgba(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=reRgbInteger.exec(e))?new Rgb(t[1],t[2],t[3],1):(t=reRgbPercent.exec(e))?new Rgb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger.exec(e))?rgba(t[1],t[2],t[3],t[4]):(t=reRgbaPercent.exec(e))?rgba(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,t[4]):named.hasOwnProperty(e)?rgbn(named[e]):"transparent"===e?new Rgb(NaN,NaN,NaN,0):null}function rgbn(e){return new Rgb(e>>16&255,e>>8&255,255&e,1)}function rgba(e,t,n,o){return new Rgb(e=o<=0?t=n=NaN:e,t,n,o)}function rgbConvert(e){return(e=e instanceof Color?e:color(e))?new Rgb((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb}function rgb(e,t,n,o){return 1===arguments.length?rgbConvert(e):new Rgb(e,t,n,null==o?1:o)}function Rgb(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}function rgb_formatHex(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)}function rgb_formatHex8(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)+hex(255*(isNaN(this.opacity)?1:this.opacity))}function rgb_formatRgb(){var e=clampa(this.opacity);return(1===e?"rgb(":"rgba(")+clampi(this.r)+`, ${clampi(this.g)}, `+clampi(this.b)+(1===e?")":`, ${e})`)}function clampa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex(e){return((e=clampi(e))<16?"0":"")+e.toString(16)}function hsla(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||1<=n?e=t=NaN:t<=0&&(e=NaN),new Hsl(e,t,n,o)}function hslConvert(e){if(e instanceof Hsl)return new Hsl(e.h,e.s,e.l,e.opacity);if(!(e=e instanceof Color?e:color(e)))return new Hsl;if(e instanceof Hsl)return e;var t=(e=e.rgb()).r/255,n=e.g/255,o=e.b/255,r=Math.min(t,n,o),i=Math.max(t,n,o),a=NaN,s=i-r,l=(i+r)/2;return s?(a=t===i?(n-o)/s+6*(n<o):n===i?(o-t)/s+2:(t-n)/s+4,s/=l<.5?i+r:2-i-r,a*=60):s=0<l&&l<1?0:a,new Hsl(a,s,l,e.opacity)}function hsl(e,t,n,o){return 1===arguments.length?hslConvert(e):new Hsl(e,t,n,null==o?1:o)}function Hsl(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}function clamph(e){return(e=(e||0)%360)<0?e+360:e}function clampt(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}define(Color,color,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb}),define(Rgb,rgb,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb})),define(Hsl,hsl,extend(Color,{brighter(e){return e=null==e?brighter:Math.pow(brighter,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker:Math.pow(darker,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,t=n+(n<.5?n:1-n)*t,n=2*n-t;return new Rgb(hsl2rgb(240<=e?e-240:120+e,n,t),hsl2rgb(e,n,t),hsl2rgb(e<120?240+e:e-120,n,t),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){var e=clampa(this.opacity);return(1===e?"hsl(":"hsla(")+clamph(this.h)+`, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%`+(1===e?")":`, ${e})`)}}));var constant$1=e=>()=>e;function linear(t,n){return function(e){return t+e*n}}function exponential(t,n,o){return t=Math.pow(t,o),n=Math.pow(n,o)-t,o=1/o,function(e){return Math.pow(t+e*n,o)}}function gamma(n){return 1==(n=+n)?nogamma:function(e,t){return t-e?exponential(e,t,n):constant$1(isNaN(e)?t:e)}}function nogamma(e,t){var n=t-e;return n?linear(e,n):constant$1(isNaN(e)?t:e)}var interpolateRgb=function e(t){var a=gamma(t);function n(t,e){var n=a((t=rgb(t)).r,(e=rgb(e)).r),o=a(t.g,e.g),r=a(t.b,e.b),i=nogamma(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=o(e),t.b=r(e),t.opacity=i(e),t+""}}return n.gamma=e,n}(1);function interpolateNumber(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(e){return function(){return e}}function one(t){return function(e){return t(e)+""}}function interpolateString(e,o){var t,n,r,i=reA.lastIndex=reB.lastIndex=0,a=-1,s=[],l=[];for(e+="",o+="";(t=reA.exec(e))&&(n=reB.exec(o));)(r=n.index)>i&&(r=o.slice(i,r),s[a]?s[a]+=r:s[++a]=r),(t=t[0])===(n=n[0])?s[a]?s[a]+=n:s[++a]=n:(s[++a]=null,l.push({i:a,x:interpolateNumber(t,n)})),i=reB.lastIndex;return i<o.length&&(r=o.slice(i),s[a]?s[a]+=r:s[++a]=r),s.length<2?l[0]?one(l[0].x):zero(o):(o=l.length,function(e){for(var t,n=0;n<o;++n)s[(t=l[n]).i]=t.x(e);return s.join("")})}var svgNode,degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(e,t,n,o,r,i){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(s=Math.sqrt(n*n+o*o))&&(n/=s,o/=s,l/=s),e*o<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*degrees,skewX:Math.atan(l)*degrees,scaleX:a,scaleY:s}}function parseCss(e){e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return e.isIdentity?identity$1:decompose(e.a,e.b,e.c,e.d,e.e,e.f)}function parseSvg(e){return null==e?identity$1:((svgNode=svgNode||document.createElementNS("http://www.w3.org/2000/svg","g")).setAttribute("transform",e),(e=svgNode.transform.baseVal.consolidate())?decompose((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):identity$1)}function interpolateTransform(p,h,f,g){function m(e){return e.length?e.pop()+" ":""}return function(e,t){var n,o,r,i,a,s,l,c,u=[],d=[];return e=p(e),t=p(t),r=e.translateX,i=e.translateY,l=t.translateX,s=t.translateY,a=u,o=d,r!==l||i!==s?(n=a.push("translate(",null,h,null,f),o.push({i:n-4,x:interpolateNumber(r,l)},{i:n-2,x:interpolateNumber(i,s)})):(l||s)&&a.push("translate("+l+h+s+f),o=e.rotate,r=t.rotate,n=u,i=d,o!==r?(180<o-r?r+=360:180<r-o&&(o+=360),i.push({i:n.push(m(n)+"rotate(",null,g)-2,x:interpolateNumber(o,r)})):r&&n.push(m(n)+"rotate("+r+g),a=e.skewX,l=t.skewX,s=u,i=d,a!==l?i.push({i:s.push(m(s)+"skewX(",null,g)-2,x:interpolateNumber(a,l)}):l&&s.push(m(s)+"skewX("+l+g),o=e.scaleX,r=e.scaleY,i=t.scaleX,a=t.scaleY,s=u,l=d,o!==i||r!==a?(c=s.push(m(s)+"scale(",null,",",null,")"),l.push({i:c-4,x:interpolateNumber(o,i)},{i:c-2,x:interpolateNumber(r,a)})):1===i&&1===a||s.push(m(s)+"scale("+i+","+a+")"),e=t=null,function(e){for(var t,n=-1,o=d.length;++n<o;)u[(t=d[n]).i]=t.x(e);return u.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),epsilon2=1e-12;function cosh(e){return((e=Math.exp(e))+1/e)/2}function sinh(e){return((e=Math.exp(e))-1/e)/2}function tanh(e){return((e=Math.exp(2*e))-1)/(e+1)}var taskHead,taskTail,interpolateZoom=function n(d,p,h){function e(e,t){var o,r,i,a=e[0],s=e[1],l=e[2],e=t[0],n=t[1],t=t[2],c=e-a,u=n-s,e=c*c+u*u;return(t=e<epsilon2?(i=Math.log(t/l)/d,function(e){return[a+e*c,s+e*u,l*Math.exp(d*e*i)]}):(o=Math.sqrt(e),n=(t*t-l*l+h*e)/(2*l*p*o),e=(t*t-l*l-h*e)/(2*t*p*o),r=Math.log(Math.sqrt(n*n+1)-n),i=(Math.log(Math.sqrt(e*e+1)-e)-r)/d,function(e){var e=e*i,t=cosh(r),n=l/(p*o)*(t*tanh(d*e+r)-sinh(r));return[a+n*c,s+n*u,l*t/cosh(d*e+r)]})).duration=1e3*i*d/Math.SQRT2,t}return e.rho=function(e){var e=Math.max(.001,+e),t=e*e;return n(e,t,t*t)},e}(Math.SQRT2,2,4),frame=0,timeout$1=0,interval=0,pokeDelay=1e3,clockLast=0,clockNow=0,clockSkew=0,clock="object"==typeof performance&&performance.now?performance:Date,setFrame="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}function timer(e,t,n){var o=new Timer;return o.restart(e,t,n),o}function timerFlush(){now(),++frame;for(var e,t=taskHead;t;)0<=(e=clockNow-t._time)&&t._call.call(void 0,e),t=t._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var e=clock.now(),t=e-clockLast;pokeDelay<t&&(clockSkew-=t,clockLast=e)}function nap(){for(var e,t,n=taskHead,o=1/0;n;)n=n._call?(o>n._time&&(o=n._time),(e=n)._next):(t=n._next,n._next=null,e?e._next=t:taskHead=t);taskTail=e,sleep(o)}function sleep(e){frame||(timeout$1=timeout$1&&clearTimeout(timeout$1),24<e-clockNow?(e<1/0&&(timeout$1=setTimeout(wake,e-clock.now()-clockSkew)),interval=interval&&clearInterval(interval)):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake)))}function timeout(t,n,e){var o=new Timer;return n=null==n?0:+n,o.restart(e=>{o.stop(),t(e+n)},n,e),o}Timer.prototype=timer.prototype={constructor:Timer,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?now():+n)+(null==t?0:+t),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=e,this._time=n,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(e,t,n,o,r,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};create$2(e,n,{name:t,index:o,group:r,on:emptyOn,tween:emptyTween,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:CREATED})}function init(e,t){e=get$1(e,t);if(e.state>CREATED)throw new Error("too late; already scheduled");return e}function set$1(e,t){e=get$1(e,t);if(e.state>STARTED)throw new Error("too late; already running");return e}function get$1(e,t){e=e.__transition;if(e=e&&e[t])return e;throw new Error("transition not found")}function create$2(i,a,s){var l,c=i.__transition;function u(e){var t,n,o,r;if(s.state!==SCHEDULED)return p();for(t in c)if((r=c[t]).name===s.name){if(r.state===STARTED)return timeout(u);r.state===RUNNING?(r.state=ENDED,r.timer.stop(),r.on.call("interrupt",i,i.__data__,r.index,r.group),delete c[t]):+t<a&&(r.state=ENDED,r.timer.stop(),r.on.call("cancel",i,i.__data__,r.index,r.group),delete c[t])}if(timeout(function(){s.state===STARTED&&(s.state=RUNNING,s.timer.restart(d,s.delay,s.time),d(e))}),s.state=STARTING,s.on.call("start",i,i.__data__,s.index,s.group),s.state===STARTING){for(s.state=STARTED,l=new Array(o=s.tween.length),t=0,n=-1;t<o;++t)(r=s.tween[t].value.call(i,i.__data__,s.index,s.group))&&(l[++n]=r);l.length=n+1}}function d(e){for(var t=e<s.duration?s.ease.call(null,e/s.duration):(s.timer.restart(p),s.state=ENDING,1),n=-1,o=l.length;++n<o;)l[n].call(i,t);s.state===ENDING&&(s.on.call("end",i,i.__data__,s.index,s.group),p())}function p(){for(var e in s.state=ENDED,s.timer.stop(),delete c[a],c)return;delete i.__transition}(c[a]=s).timer=timer(function(e){s.state=SCHEDULED,s.timer.restart(u,s.delay,s.time),s.delay<=e&&u(e-s.delay)},0,s.time)}function interrupt(e,t){var n,o,r,i=e.__transition,a=!0;if(i){for(r in t=null==t?null:t+"",i)(n=i[r]).name!==t?a=!1:(o=n.state>STARTING&&n.state<ENDING,n.state=ENDED,n.timer.stop(),n.on.call(o?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[r]);a&&delete e.__transition}}function selection_interrupt(e){return this.each(function(){interrupt(this,e)})}function tweenRemove(r,i){var a,s;return function(){var e=set$1(this,r),t=e.tween;if(t!==a)for(var n=0,o=(s=a=t).length;n<o;++n)if(s[n].name===i){(s=s.slice()).splice(n,1);break}e.tween=s}}function tweenFunction(i,a,s){var l,c;if("function"!=typeof s)throw new Error;return function(){var e=set$1(this,i),t=e.tween;if(t!==l){c=(l=t).slice();for(var n={name:a,value:s},o=0,r=c.length;o<r;++o)if(c[o].name===a){c[o]=n;break}o===r&&c.push(n)}e.tween=c}}function transition_tween(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o,r=get$1(this.node(),n).tween,i=0,a=r.length;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((null==t?tweenRemove:tweenFunction)(n,e,t))}function tweenValue(e,t,n){var o=e._id;return e.each(function(){var e=set$1(this,o);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return get$1(e,o).value[t]}}function interpolate(e,t){var n;return("number"==typeof t?interpolateNumber:t instanceof color?interpolateRgb:(n=color(t))?(t=n,interpolateRgb):interpolateString)(e,t)}function attrRemove(e){return function(){this.removeAttribute(e)}}function attrRemoveNS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant(t,n,o){var r,i,a=o+"";return function(){var e=this.getAttribute(t);return e===a?null:e===r?i:i=n(r=e,o)}}function attrConstantNS(t,n,o){var r,i,a=o+"";return function(){var e=this.getAttributeNS(t.space,t.local);return e===a?null:e===r?i:i=n(r=e,o)}}function attrFunction(o,r,i){var a,s,l;return function(){var e,t,n=i(this);if(null!=n)return(e=this.getAttribute(o))===(t=n+"")?null:e===a&&t===s?l:(s=t,l=r(a=e,n));this.removeAttribute(o)}}function attrFunctionNS(o,r,i){var a,s,l;return function(){var e,t,n=i(this);if(null!=n)return(e=this.getAttributeNS(o.space,o.local))===(t=n+"")?null:e===a&&t===s?l:(s=t,l=r(a=e,n));this.removeAttributeNS(o.space,o.local)}}function transition_attr(e,t){var n=namespace$3(e),o="transform"===n?interpolateTransformSvg:interpolate;return this.attrTween(e,"function"==typeof t?(n.local?attrFunctionNS:attrFunction)(n,o,tweenValue(this,"attr."+e,t)):null==t?(n.local?attrRemoveNS:attrRemove)(n):(n.local?attrConstantNS:attrConstant)(n,o,t))}function attrInterpolate(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function attrInterpolateNS(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function attrTweenNS(t,n){var o,r;function e(){var e=n.apply(this,arguments);return o=e!==r?(r=e)&&attrInterpolateNS(t,e):o}return e._value=n,e}function attrTween(t,n){var o,r;function e(){var e=n.apply(this,arguments);return o=e!==r?(r=e)&&attrInterpolate(t,e):o}return e._value=n,e}function transition_attrTween(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var o=namespace$3(e);return this.tween(n,(o.local?attrTweenNS:attrTween)(o,t))}function delayFunction(e,t){return function(){init(this,e).delay=+t.apply(this,arguments)}}function delayConstant(e,t){return t=+t,function(){init(this,e).delay=t}}function transition_delay(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?delayFunction:delayConstant)(t,e)):get$1(this.node(),t).delay}function durationFunction(e,t){return function(){set$1(this,e).duration=+t.apply(this,arguments)}}function durationConstant(e,t){return t=+t,function(){set$1(this,e).duration=t}}function transition_duration(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?durationFunction:durationConstant)(t,e)):get$1(this.node(),t).duration}function easeConstant(e,t){if("function"!=typeof t)throw new Error;return function(){set$1(this,e).ease=t}}function transition_ease(e){var t=this._id;return arguments.length?this.each(easeConstant(t,e)):get$1(this.node(),t).ease}function easeVarying(t,n){return function(){var e=n.apply(this,arguments);if("function"!=typeof e)throw new Error;set$1(this,t).ease=e}}function transition_easeVarying(e){if("function"!=typeof e)throw new Error;return this.each(easeVarying(this._id,e))}function transition_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i,a=t[r],s=a.length,l=o[r]=[],c=0;c<s;++c)(i=a[c])&&e.call(i,i.__data__,c,a)&&l.push(i);return new Transition(o,this._parents,this._name,this._id)}function transition_merge(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,e=n.length,r=Math.min(o,e),i=new Array(o),a=0;a<r;++a)for(var s,l=t[a],c=n[a],u=l.length,d=i[a]=new Array(u),p=0;p<u;++p)(s=l[p]||c[p])&&(d[p]=s);for(;a<o;++a)i[a]=t[a];return new Transition(i,this._parents,this._name,this._id)}function start(e){return(e+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return!(e=0<=t?e.slice(0,t):e)||"start"===e})}function onFunction(n,o,r){var i,a,s=start(o)?init:set$1;return function(){var e=s(this,n),t=e.on;t!==i&&(a=(i=t).copy()).on(o,r),e.on=a}}function transition_on(e,t){var n=this._id;return arguments.length<2?get$1(this.node(),n).on.on(e):this.each(onFunction(n,e,t))}function removeFunction(n){return function(){var e,t=this.parentNode;for(e in this.__transition)if(+e!==n)return;t&&t.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=selector$1(e));for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a)for(var s,l,c=o[a],u=c.length,d=i[a]=new Array(u),p=0;p<u;++p)(s=c[p])&&(l=e.call(s,s.__data__,p,c))&&("__data__"in s&&(l.__data__=s.__data__),d[p]=l,schedule(d[p],t,n,p,d,get$1(s,n)));return new Transition(i,this._parents,t,n)}function transition_selectAll(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=selectorAll(e));for(var o=this._groups,r=o.length,i=[],a=[],s=0;s<r;++s)for(var l,c=o[s],u=c.length,d=0;d<u;++d)if(l=c[d]){for(var p,h=e.call(l,l.__data__,d,c),f=get$1(l,n),g=0,m=h.length;g<m;++g)(p=h[g])&&schedule(p,t,n,g,h,f);i.push(h),a.push(l)}return new Transition(i,a,t,n)}var Selection=selection.prototype.constructor;function transition_selection(){return new Selection(this._groups,this._parents)}function styleNull(n,o){var r,i,a;return function(){var e=styleValue(this,n),t=(this.style.removeProperty(n),styleValue(this,n));return e===t?null:e===r&&t===i?a:a=o(r=e,i=t)}}function styleRemove(e){return function(){this.style.removeProperty(e)}}function styleConstant(t,n,o){var r,i,a=o+"";return function(){var e=styleValue(this,t);return e===a?null:e===r?i:i=n(r=e,o)}}function styleFunction(o,r,i){var a,s,l;return function(){var e=styleValue(this,o),t=i(this),n=t+"";return null==t&&(this.style.removeProperty(o),n=t=styleValue(this,o)),e===n?null:e===a&&n===s?l:(s=n,l=r(a=e,t))}}function styleMaybeRemove(o,r){var i,a,s,l,c="style."+r,u="end."+c;return function(){var e=set$1(this,o),t=e.on,n=null==e.value[c]?l=l||styleRemove(r):void 0;t===i&&s===n||(a=(i=t).copy()).on(u,s=n),e.on=a}}function transition_style(e,t,n){var o="transform"==(e+="")?interpolateTransformCss:interpolate;return null==t?this.styleTween(e,styleNull(e,o)).on("end.style."+e,styleRemove(e)):"function"==typeof t?this.styleTween(e,styleFunction(e,o,tweenValue(this,"style."+e,t))).each(styleMaybeRemove(this._id,e)):this.styleTween(e,styleConstant(e,o,t),n).on("end.style."+e,null)}function styleInterpolate(t,n,o){return function(e){this.style.setProperty(t,n.call(this,e),o)}}function styleTween(t,n,o){var r,i;function e(){var e=n.apply(this,arguments);return r=e!==i?(i=e)&&styleInterpolate(t,e,o):r}return e._value=n,e}function transition_styleTween(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(null==t)return this.tween(o,null);if("function"!=typeof t)throw new Error;return this.tween(o,styleTween(e,t,null==n?"":n))}function textConstant(e){return function(){this.textContent=e}}function textFunction(t){return function(){var e=t(this);this.textContent=null==e?"":e}}function transition_text(e){return this.tween("text","function"==typeof e?textFunction(tweenValue(this,"text",e)):textConstant(null==e?"":e+""))}function textInterpolate(t){return function(e){this.textContent=t.call(this,e)}}function textTween(t){var n,o;function e(){var e=t.apply(this,arguments);return n=e!==o?(o=e)&&textInterpolate(e):n}return e._value=t,e}function transition_textTween(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,textTween(e))}function transition_transition(){for(var e=this._name,t=this._id,n=newId(),o=this._groups,r=o.length,i=0;i<r;++i)for(var a,s=o[i],l=s.length,c=0;c<l;++c)(a=s[c])&&schedule(a,e,n,c,s,{time:(a=get$1(a,t)).time+a.delay+a.duration,delay:0,duration:a.duration,ease:a.ease});return new Transition(o,this._parents,e,n)}function transition_end(){var r,i,a=this,s=a._id,l=a.size();return new Promise(function(e,t){var n={value:t},o={value:function(){0==--l&&e()}};a.each(function(){var e=set$1(this,s),t=e.on;t!==r&&((i=(r=t).copy())._.cancel.push(n),i._.interrupt.push(n),i._.end.push(o)),e.on=i}),0===l&&e()})}var id$1=0;function Transition(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function newId(){return++id$1}var selection_prototype=selection.prototype;function cubicInOut(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Transition.prototype={constructor:Transition,select:transition_select,selectAll:transition_selectAll,selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,textTween:transition_textTween,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease,easeVarying:transition_easeVarying,end:transition_end,[Symbol.iterator]:selection_prototype[Symbol.iterator]};var defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function selection_transition(e){var t,n;e=e instanceof Transition?(t=e._id,e._name):(t=newId(),(n=defaultTiming).time=now(),null==e?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var a,s=o[i],l=s.length,c=0;c<l;++c)(a=s[c])&&schedule(a,e,t,c,s,n||inherit(a,t));return new Transition(o,this._parents,e,t)}selection.prototype.interrupt=selection_interrupt,selection.prototype.transition=selection_transition;var constant=e=>()=>e;function ZoomEvent(e,{sourceEvent:t,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Transform(e,t,n){this.k=e,this.x=t,this.y=n}Transform.prototype={constructor:Transform,scale:function(e){return 1===e?this:new Transform(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Transform(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity=new Transform(1,0,0);function nopropagation(e){e.stopImmediatePropagation()}function noevent(e){e.preventDefault(),e.stopImmediatePropagation()}function defaultFilter(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function defaultExtent(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(e,t,n){var o=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],t=e.invertY(t[1][1])-n[1][1];return e.translate(o<r?(o+r)/2:Math.min(0,o)||Math.max(0,r),i<t?(i+t)/2:Math.min(0,i)||Math.max(0,t))}function zoom(){var c,u,l,d=defaultFilter,p=defaultExtent,h=defaultConstrain,a=defaultWheelDelta,t=defaultTouchable,s=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],g=250,m=interpolateZoom,n=dispatch("start","zoom","end"),y=500,b=150,v=0,$=10;function _(e){e.property("__zoom",defaultTransform).on("wheel.zoom",r,{passive:!1}).on("mousedown.zoom",i).on("dblclick.zoom",N).filter(t).on("touchstart.zoom",I).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",P).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function x(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new Transform(t,e.x,e.y)}function S(e,t,n){var o=t[0]-n[0]*e.k,t=t[1]-n[1]*e.k;return o===e.x&&t===e.y?e:new Transform(e.k,o,t)}function E(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,l,c,u){e.on("start.zoom",function(){C(this,arguments).event(u).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(u).end()}).tween("zoom",function(){var e=this,t=arguments,o=C(e,t).event(u),n=p.apply(e,t),r=null==c?E(n):"function"==typeof c?c.apply(e,t):c,i=Math.max(n[1][0]-n[0][0],n[1][1]-n[0][1]),n=e.__zoom,a="function"==typeof l?l.apply(e,t):l,s=m(n.invert(r).concat(i/n.k),a.invert(r).concat(i/a.k));return function(e){var t,n;e=1===e?a:(t=s(e),new Transform(n=i/t[2],r[0]-t[0]*n,r[1]-t[1]*n)),o.zoom(null,e)}})}function C(e,t,n){return!n&&e.__zooming||new o(e,t)}function o(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=p.apply(e,t),this.taps=0}function r(e,...t){if(d.apply(this,arguments)){var n=C(this,t).event(e),o=this.__zoom,r=Math.max(s[0],Math.min(s[1],o.k*Math.pow(2,a.apply(this,arguments)))),i=pointer(e);if(n.wheel)n.mouse[0][0]===i[0]&&n.mouse[0][1]===i[1]||(n.mouse[1]=o.invert(n.mouse[0]=i)),clearTimeout(n.wheel);else{if(o.k===r)return;n.mouse=[i,o.invert(i)],interrupt(this),n.start()}noevent(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},b),n.zoom("mouse",h(S(x(o,r),n.mouse[0],n.mouse[1]),n.extent,f))}}function i(e,...t){var o,r,n,i,a,s;!l&&d.apply(this,arguments)&&(o=e.currentTarget,r=C(this,t,!0).event(e),n=select(e.view).on("mousemove.zoom",function(e){{var t,n;noevent(e),r.moved||(t=e.clientX-a,n=e.clientY-s,r.moved=v<t*t+n*n)}r.event(e).zoom("mouse",h(S(r.that.__zoom,r.mouse[0]=pointer(e,o),r.mouse[1]),r.extent,f))},!0).on("mouseup.zoom",function(e){n.on("mousemove.zoom mouseup.zoom",null),yesdrag(e.view,r.moved),noevent(e),r.event(e).end()},!0),i=pointer(e,o),a=e.clientX,s=e.clientY,dragDisable(e.view),nopropagation(e),r.mouse=[i,this.__zoom.invert(i)],interrupt(this),r.start())}function N(e,...t){var n,o,r,i;d.apply(this,arguments)&&(i=this.__zoom,n=pointer(e.changedTouches?e.changedTouches[0]:e,this),o=i.invert(n),r=i.k*(e.shiftKey?.5:2),i=h(S(x(i,r),n,o),p.apply(this,t),f),noevent(e),0<g?select(this).transition().duration(g).call(w,i,n,e):select(this).call(_.transform,i,n,e))}function I(e,...t){if(d.apply(this,arguments)){var n,o,r,i,a=e.touches,s=a.length,l=C(this,t,e.changedTouches.length===s).event(e);for(nopropagation(e),o=0;o<s;++o)i=[i=pointer(r=a[o],this),this.__zoom.invert(i),r.identifier],l.touch0?l.touch1||l.touch0[2]===i[2]||(l.touch1=i,l.taps=0):(l.touch0=i,n=!0,l.taps=1+!!c);c=c&&clearTimeout(c),n&&(l.taps<2&&(u=i[0],c=setTimeout(function(){c=null},y)),interrupt(this),l.start())}}function O(e,...t){if(this.__zooming){var n,o=C(this,t).event(e),r=e.changedTouches,i=r.length;for(noevent(e),n=0;n<i;++n)d=pointer(u=r[n],this),o.touch0&&o.touch0[2]===u.identifier?o.touch0[0]=d:o.touch1&&o.touch1[2]===u.identifier&&(o.touch1[0]=d);if(u=o.that.__zoom,o.touch1)var t=o.touch0[0],e=o.touch0[1],a=o.touch1[0],s=o.touch1[1],l=(l=a[0]-t[0])*l+(l=a[1]-t[1])*l,c=(c=s[0]-e[0])*c+(c=s[1]-e[1])*c,u=x(u,Math.sqrt(l/c)),d=[(t[0]+a[0])/2,(t[1]+a[1])/2],l=[(e[0]+s[0])/2,(e[1]+s[1])/2];else{if(!o.touch0)return;d=o.touch0[0],l=o.touch0[1]}o.zoom("touch",h(S(u,d,l),o.extent,f))}}function P(e,...t){if(this.__zooming){var n,o,r,i=C(this,t).event(e),a=e.changedTouches,s=a.length;for(nopropagation(e),l&&clearTimeout(l),l=setTimeout(function(){l=null},y),n=0;n<s;++n)r=a[n],i.touch0&&i.touch0[2]===r.identifier?delete i.touch0:i.touch1&&i.touch1[2]===r.identifier&&delete i.touch1;i.touch1&&!i.touch0&&(i.touch0=i.touch1,delete i.touch1),i.touch0?i.touch0[1]=this.__zoom.invert(i.touch0[0]):(i.end(),2===i.taps&&(r=pointer(r,this),Math.hypot(u[0]-r[0],u[1]-r[1])<$&&((o=select(this).on("dblclick.zoom"))&&o.apply(this,arguments))))}}return _.transform=function(e,t,n,o){var r=e.selection?e.selection():e;r.property("__zoom",defaultTransform),e!==r?w(e,t,n,o):r.interrupt().each(function(){C(this,arguments).event(o).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},_.scaleBy=function(e,t,n,o){_.scaleTo(e,function(){return this.__zoom.k*("function"==typeof t?t.apply(this,arguments):t)},n,o)},_.scaleTo=function(e,i,a,t){_.transform(e,function(){var e=p.apply(this,arguments),t=this.__zoom,n=null==a?E(e):"function"==typeof a?a.apply(this,arguments):a,o=t.invert(n),r="function"==typeof i?i.apply(this,arguments):i;return h(S(x(t,r),n,o),e,f)},a,t)},_.translateBy=function(e,t,n,o){_.transform(e,function(){return h(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),p.apply(this,arguments),f)},null,o)},_.translateTo=function(e,o,r,i,t){_.transform(e,function(){var e=p.apply(this,arguments),t=this.__zoom,n=null==i?E(e):"function"==typeof i?i.apply(this,arguments):i;return h(identity.translate(n[0],n[1]).scale(t.k).translate("function"==typeof o?-o.apply(this,arguments):-o,"function"==typeof r?-r.apply(this,arguments):-r),e,f)},i,t)},o.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this).emit("start"),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=select(this.that).datum();n.call(e,this.that,new ZoomEvent(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:n}),t)}},_.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:constant(+e),_):a},_.filter=function(e){return arguments.length?(d="function"==typeof e?e:constant(!!e),_):d},_.touchable=function(e){return arguments.length?(t="function"==typeof e?e:constant(!!e),_):t},_.extent=function(e){return arguments.length?(p="function"==typeof e?e:constant([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):p},_.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],_):[s[0],s[1]]},_.translateExtent=function(e){return arguments.length?(f[0][0]=+e[0][0],f[1][0]=+e[1][0],f[0][1]=+e[0][1],f[1][1]=+e[1][1],_):[[f[0][0],f[0][1]],[f[1][0],f[1][1]]]},_.constrain=function(e){return arguments.length?(h=e,_):h},_.duration=function(e){return arguments.length?(g=+e,_):g},_.interpolate=function(e){return arguments.length?(m=e,_):m},_.on=function(){var e=n.on.apply(n,arguments);return e===n?_:e},_.clickDistance=function(e){return arguments.length?(v=(e=+e)*e,_):Math.sqrt(v)},_.tapDistance=function(e){return arguments.length?($=+e,_):$},_}Transform.prototype;const StoreContext=react.exports.createContext(null),Provider$1=StoreContext.Provider,errorMessage="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#100";function useStore(e,t){var n=react.exports.useContext(StoreContext);if(null===n)throw new Error(errorMessage);return useStore$1(n,e,t)}const useStoreApi=()=>{const e=react.exports.useContext(StoreContext);if(null===e)throw new Error(errorMessage);return react.exports.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},selector$f=e=>e.userSelectionActive?"none":"all";function Panel({position:e,children:t,className:n,style:o,...r}){var i=useStore(selector$f),e=(""+e).split("-");return jsxRuntime.exports.jsx("div",{className:cc(["react-flow__panel",n,...e]),style:{...o,pointerEvents:i},...r,children:t})}function Attribution({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:jsxRuntime.exports.jsx(Panel,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:jsxRuntime.exports.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const EdgeText=({x:e,y:t,label:n,labelStyle:o={},labelShowBg:r=!0,labelBgStyle:i={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:c,...u})=>{const d=react.exports.useRef(null),[p,h]=react.exports.useState({x:0,y:0,width:0,height:0});c=cc(["react-flow__edge-textwrapper",c]);return react.exports.useEffect(()=>{var e;d.current&&(e=d.current.getBBox(),h({x:e.x,y:e.y,width:e.width,height:e.height}))},[n]),void 0!==n&&n?jsxRuntime.exports.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:c,visibility:p.width?"visible":"hidden",...u,children:[r&&jsxRuntime.exports.jsx("rect",{width:p.width+2*a[0],x:-a[0],y:-a[1],height:p.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:s,ry:s}),jsxRuntime.exports.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:d,style:o,children:n}),l]}):null};var ConnectionMode,PanOnScrollMode,SelectionMode,ConnectionLineType,MarkerType,Position,EdgeText$1=react.exports.memo(EdgeText);const getDimensions=e=>({width:e.offsetWidth,height:e.offsetHeight}),clamp=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),clampPosition=(e={x:0,y:0},t)=>({x:clamp(e.x,t[0][0],t[1][0]),y:clamp(e.y,t[0][1],t[1][1])}),getHostForElement=e=>e.getRootNode?.()||window?.document,getBoundsOfBoxes=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),rectToBox=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),boxToRect=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),nodeToRect=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),getOverlappingArea=(e,t)=>{var n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),e=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*e)},isRectObject=e=>isNumeric(e.width)&&isNumeric(e.height)&&isNumeric(e.x)&&isNumeric(e.y),isNumeric=e=>!isNaN(e)&&isFinite(e),internalsSymbol=Symbol.for("internals"),elementSelectionKeys=["Enter"," ","Escape"],devWarn=e=>{},isReactKeyboardEvent=e=>"nativeEvent"in e;function isInputDOMNode(e){const t=isReactKeyboardEvent(e)?e.nativeEvent:e,n=t.composedPath?.()?.[0]||e.target;return!(e.ctrlKey||e.metaKey||e.shiftKey)&&(["INPUT","SELECT","TEXTAREA"].includes(n?.nodeName)||n?.hasAttribute("contenteditable")||!!n?.closest(".nokey"))}const BaseEdge=({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:l,style:c,markerEnd:u,markerStart:d,interactionWidth:p=20})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx("path",{style:c,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:u,markerStart:d}),p&&jsxRuntime.exports.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}),o&&isNumeric(t)&&isNumeric(n)?jsxRuntime.exports.jsx(EdgeText$1,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:l}):null]});function getMouseHandler$1(n,o,r){return void 0===r?r:e=>{var t=o().edges.find(e=>e.id===n);t&&r(e,{...t})}}function getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o}){var r=Math.abs(n-e)/2,e=n<e?n+r:n-r,n=Math.abs(o-t)/2;return[e,o<t?o+n:o-n,r,n]}function getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:a,targetControlY:s}){r=.125*e+.375*r+.375*a+.125*n,a=.125*t+.375*i+.375*s+.125*o;return[r,a,Math.abs(r-e),Math.abs(a-t)]}function getControl({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===Position.Left||e===Position.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top}){var[n,a]=getControl({pos:n,x1:e,y1:t,x2:o,y2:r}),[i,s]=getControl({pos:i,x1:o,y1:r,x2:e,y2:t}),[l,c,u,d]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:n,sourceControlY:a,targetControlX:i,targetControlY:s});return[`M${e},${t} C${n},${a} ${i},${s} ${o},`+r,l,c,u,d]}BaseEdge.displayName="BaseEdge",function(e){e.Strict="strict",e.Loose="loose"}(ConnectionMode=ConnectionMode||{}),function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"}(PanOnScrollMode=PanOnScrollMode||{}),function(e){e.Partial="partial",e.Full="full"}(SelectionMode=SelectionMode||{}),function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"}(ConnectionLineType=ConnectionLineType||{}),function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"}(MarkerType=MarkerType||{}),function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"}(Position=Position||{});const SimpleBezierEdge=react.exports.memo(({sourceX:e,sourceY:t,targetX:n,targetY:o,sourcePosition:r=Position.Bottom,targetPosition:i=Position.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:p,markerEnd:h,markerStart:f,interactionWidth:g})=>{var[e,t,r]=getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:r,targetX:n,targetY:o,targetPosition:i});return jsxRuntime.exports.jsx(BaseEdge,{path:e,labelX:t,labelY:r,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:p,markerEnd:h,markerStart:f,interactionWidth:g})}),handleDirections=(SimpleBezierEdge.displayName="SimpleBezierEdge",{[Position.Left]:{x:-1,y:0},[Position.Right]:{x:1,y:0},[Position.Top]:{x:0,y:-1},[Position.Bottom]:{x:0,y:1}}),getDirection=({source:e,sourcePosition:t=Position.Bottom,target:n})=>t===Position.Left||t===Position.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},distance=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function getPoints({source:e,sourcePosition:t=Position.Bottom,target:n,targetPosition:o=Position.Top,center:r,offset:i}){var a=handleDirections[t],s=handleDirections[o],l={x:e.x+a.x*i,y:e.y+a.y*i},i={x:n.x+s.x*i,y:n.y+s.y*i},c=getDirection({source:l,sourcePosition:t,target:i}),u=0!==c.x?"x":"y",c=c[u];let d=[],p,h;var[f,g,m,y]=getEdgeCenter({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y}),s=(a[u]*s[u]==-1?(p=r.x||f,h=r.y||g,f=[{x:p,y:l.y},{x:p,y:i.y}],r=[{x:l.x,y:h},{x:i.x,y:h}],d=a[u]===c?"x"==u?f:r:"x"==u?r:f):(g=[{x:l.x,y:i.y}],r=[{x:i.x,y:l.y}],d="x"==u?a.x===c?r:g:a.y===c?g:r,t!==o&&(c=a[u]===s[f="x"==u?"y":"x"],t=i[f]<l[f],o=l[f]<i[f],(1===a[u]&&(!c&&t||c&&o)||1!==a[u]&&(!c&&o||c&&t))&&(d="x"==u?g:r)),p=d[0].x,h=d[0].y),[e,l,...d,i,n]);return[s,p,h,m,y]}function getBend(e,t,n,o){var o=Math.min(distance(e,t)/2,distance(t,n)/2,o),{x:t,y:r}=t;if(e.x===t&&t===n.x||e.y===r&&r===n.y)return`L${t} `+r;if(e.y===r){const i=e.x<n.x?-1:1,a=e.y<n.y?1:-1;return`L ${t+o*i},${r}Q ${t},${r} ${t},`+(r+o*a)}const i=e.x<n.x?1:-1,a=e.y<n.y?-1:1;return`L ${t},${r+o*a}Q ${t},${r} ${t+o*i},`+r}function getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,d,p,h,f]=getPoints({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:s,y:l},offset:c});return[u.reduce((e,t,n)=>{let o="";return e+=o=0<n&&n<u.length-1?getBend(u[n-1],t,u[n+1],a):(0===n?"M":"L")+t.x+" "+t.y},""),d,p,h,f]}const SmoothStepEdge=react.exports.memo(({sourceX:e,sourceY:t,targetX:n,targetY:o,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:d=Position.Bottom,targetPosition:p=Position.Top,markerEnd:h,markerStart:f,pathOptions:g,interactionWidth:m})=>{var[e,t,d]=getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:o,targetPosition:p,borderRadius:g?.borderRadius,offset:g?.offset});return jsxRuntime.exports.jsx(BaseEdge,{path:e,labelX:t,labelY:d,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:h,markerStart:f,interactionWidth:m})}),StepEdge=(SmoothStepEdge.displayName="SmoothStepEdge",react.exports.memo(e=>jsxRuntime.exports.jsx(SmoothStepEdge,{...e,pathOptions:react.exports.useMemo(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])})));function getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:o}){var[r,i,a,s]=getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},`+o,r,i,a,s]}StepEdge.displayName="StepEdge";const StraightEdge=react.exports.memo(({sourceX:e,sourceY:t,targetX:n,targetY:o,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:p,interactionWidth:h})=>{var[e,t,n]=getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:o});return jsxRuntime.exports.jsx(BaseEdge,{path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:d,markerStart:p,interactionWidth:h})});function calculateControlOffset(e,t){return 0<=e?.5*e:25*t*Math.sqrt(-e)}function getControlWithCurvature({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case Position.Left:return[t-calculateControlOffset(t-o,i),n];case Position.Right:return[t+calculateControlOffset(o-t,i),n];case Position.Top:return[t,n-calculateControlOffset(n-r,i)];case Position.Bottom:return[t,n+calculateControlOffset(r-n,i)]}}function getBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Position.Bottom,targetX:o,targetY:r,targetPosition:i=Position.Top,curvature:a=.25}){var[n,s]=getControlWithCurvature({pos:n,x1:e,y1:t,x2:o,y2:r,c:a}),[i,a]=getControlWithCurvature({pos:i,x1:o,y1:r,x2:e,y2:t,c:a}),[l,c,u,d]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:n,sourceControlY:s,targetControlX:i,targetControlY:a});return[`M${e},${t} C${n},${s} ${i},${a} ${o},`+r,l,c,u,d]}StraightEdge.displayName="StraightEdge";const BezierEdge=react.exports.memo(({sourceX:e,sourceY:t,targetX:n,targetY:o,sourcePosition:r=Position.Bottom,targetPosition:i=Position.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:p,markerEnd:h,markerStart:f,pathOptions:g,interactionWidth:m})=>{var[e,t,r]=getBezierPath({sourceX:e,sourceY:t,sourcePosition:r,targetX:n,targetY:o,targetPosition:i,curvature:g?.curvature});return jsxRuntime.exports.jsx(BaseEdge,{path:e,labelX:t,labelY:r,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:d,style:p,markerEnd:h,markerStart:f,interactionWidth:m})}),NodeIdContext=(BezierEdge.displayName="BezierEdge",react.exports.createContext(null)),Provider=NodeIdContext.Provider,useNodeId=(NodeIdContext.Consumer,()=>{return react.exports.useContext(NodeIdContext)});function checkElementBelowIsValid(e,t,n,o,r,i,a){const s=a.elementFromPoint(e.clientX,e.clientY);var l,c,u,a=s?.classList.contains("target")||!1,e=s?.classList.contains("source")||!1;const d={elementBelow:s,isValid:!1,connection:{source:null,target:null,sourceHandle:null,targetHandle:null},isHoveringHandle:!1};return s&&(a||e)&&(d.isHoveringHandle=!0,l=s.getAttribute("data-nodeid"),c=s.getAttribute("data-handleid"),u=n?{source:l,sourceHandle:c,target:o,targetHandle:r}:{source:o,sourceHandle:r,target:l,targetHandle:c},d.connection=u,(t===ConnectionMode.Strict?n&&e||!n&&a:l!==o||c!==r)&&(d.isValid=i(u))),d}function resetRecentHandle(e){e?.classList.remove("react-flow__handle-valid"),e?.classList.remove("react-flow__handle-connecting")}function handleMouseDown({event:e,handleId:a,nodeId:s,onConnect:r,isTarget:l,getState:c,setState:u,isValidConnection:d,elementEdgeUpdaterType:p,onEdgeUpdateEnd:h}){const t=e.target.closest(".react-flow"),f=getHostForElement(e.target);if(f){const i=f.elementFromPoint(e.clientX,e.clientY);var n=i?.classList.contains("target"),o=i?.classList.contains("source");if(t&&(n||o||p)){const{onConnectStart:m,connectionMode:y}=c();o=p||(n?"target":"source");const b=t.getBoundingClientRect();let i;function g(e){u({connectionPosition:{x:e.clientX-b.left,y:e.clientY-b.top}});const{connection:t,elementBelow:n,isValid:o,isHoveringHandle:r}=checkElementBelowIsValid(e,y,l,s,a,d,f);if(!r)return resetRecentHandle(i);t.source!==t.target&&n&&(resetRecentHandle(i),(i=n).classList.add("react-flow__handle-connecting"),n.classList.toggle("react-flow__handle-valid",o))}u({connectionPosition:{x:e.clientX-b.left,y:e.clientY-b.top},connectionNodeId:s,connectionHandleId:a,connectionHandleType:o}),m?.(e,{nodeId:s,handleId:a,handleType:o}),f.addEventListener("mousemove",g),f.addEventListener("mouseup",function e(t){var{connection:n,isValid:o}=checkElementBelowIsValid(t,y,l,s,a,d,f);o&&r?.(n),c().onConnectEnd?.(t),p&&h&&h(t),resetRecentHandle(i),u({connectionNodeId:null,connectionHandleId:null,connectionHandleType:null}),f.removeEventListener("mousemove",g),f.removeEventListener("mouseup",e)})}}}const isEdge=e=>"id"in e&&"source"in e&&"target"in e,getEdgeId=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`reactflow__edge-${e}${t||""}-`+n+(o||""),getMarkerId=(t,e)=>{return void 0===t?"":"string"==typeof t?t:(e?e+"__":"")+Object.keys(t).sort().map(e=>e+"="+t[e]).join("&")},connectionExists=(t,e)=>e.some(e=>!(e.source!==t.source||e.target!==t.target||e.sourceHandle!==t.sourceHandle&&(e.sourceHandle||t.sourceHandle)||e.targetHandle!==t.targetHandle&&(e.targetHandle||t.targetHandle))),addEdge=(e,t)=>{if(!e.source||!e.target)return t;let n;return n=isEdge(e)?{...e}:{...e,id:getEdgeId(e)},connectionExists(n,t)?t:t.concat(n)},pointToRendererPoint=({x:e,y:t},[n,o,r],i,[a,s])=>{e={x:(e-n)/r,y:(t-o)/r};return i?{x:a*Math.round(e.x/a),y:s*Math.round(e.y/s)}:e},getNodePositionWithOrigin=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};var n=(e.width??0)*t[0],t=(e.height??0)*t[1],o={x:e.position.x-n,y:e.position.y-t};return{...o,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-t}:o}},getRectOfNodes=(e,r=[0,0])=>{if(0===e.length)return{x:0,y:0,width:0,height:0};e=e.reduce((e,t)=>{var{x:n,y:o}=getNodePositionWithOrigin(t,r).positionAbsolute;return getBoundsOfBoxes(e,rectToBox({x:n,y:o,width:t.width||0,height:t.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return boxToRect(e)},getNodesInside=(e,t,[n,o,r]=[0,0,1],i=!1,a=!1,s=[0,0])=>{const l={x:(t.x-n)/r,y:(t.y-o)/r,width:t.width/r,height:t.height/r},c=[];return e.forEach(e=>{var{width:t,height:n,selectable:o=!0,hidden:r=!1}=e;if(a&&!o||r)return!1;o=getNodePositionWithOrigin(e,s).positionAbsolute,r={x:o.x,y:o.y,width:t||0,height:n||0},o=getOverlappingArea(l,r);(void 0===t||void 0===n||null===t||null===n||i&&0<o||(t||0)*(n||0)<=o||e.dragging)&&c.push(e)}),c},getConnectedEdges=(e,t)=>{const n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},getTransformForBounds=(e,t,n,o,r,i=.1)=>{var a=t/(e.width*(1+i)),i=n/(e.height*(1+i)),a=Math.min(a,i),i=clamp(a,o,r);return[t/2-(e.x+e.width/2)*i,n/2-(e.y+e.height/2)*i,i]},getD3Transition=(e,t=0)=>e.transition().duration(t),alwaysValid=()=>!0,selector$e=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Handle=react.exports.forwardRef(({type:a="source",position:e=Position.Top,isValidConnection:s=alwaysValid,isConnectable:t=!0,id:n,onConnect:i,children:o,className:r,onMouseDown:l,...c},u)=>{const d=useStoreApi(),p=useNodeId(),{connectionStartHandle:h,connectOnClick:f,noPanClassName:g}=useStore(selector$e,shallow),m=n||null,y="target"===a,b=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=d.getState();var r,e={...t,...e};o&&(r=d.getState()["edges"],d.setState({edges:addEdge(e,r)})),n?.(e),i?.(e)};return jsxRuntime.exports.jsx("div",{"data-handleid":m,"data-nodeid":p,"data-handlepos":e,className:cc(["react-flow__handle","react-flow__handle-"+e,"nodrag",g,r,{source:!y,target:y,connectable:t,connecting:h?.nodeId===p&&h?.handleId===m&&h?.type===a}]),onMouseDown:e=>{0===e.button&&handleMouseDown({event:e,handleId:m,nodeId:p,onConnect:b,isTarget:y,getState:d.getState,setState:d.setState,isValidConnection:s}),l?.(e)},onClick:f?e=>{const{onClickConnectStart:t,onClickConnectEnd:n,connectionMode:o}=d.getState();if(!h)return t?.(e,{nodeId:p,handleId:m,handleType:a}),void d.setState({connectionStartHandle:{nodeId:p,type:a,handleId:m}});var r=getHostForElement(e.target),{connection:r,isValid:i}=checkElementBelowIsValid(e,o,"target"===h.type,h.nodeId,h.handleId||null,s,r);i&&b(r),n?.(e),d.setState({connectionStartHandle:null})}:void 0,ref:u,...c,children:o})});Handle.displayName="Handle";var Handle$1=react.exports.memo(Handle);const DefaultNode=({data:e,isConnectable:t,targetPosition:n=Position.Top,sourcePosition:o=Position.Bottom})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Handle$1,{type:"target",position:n,isConnectable:t}),e?.label,jsxRuntime.exports.jsx(Handle$1,{type:"source",position:o,isConnectable:t})]});DefaultNode.displayName="DefaultNode";var DefaultNode$1=react.exports.memo(DefaultNode);const InputNode=({data:e,isConnectable:t,sourcePosition:n=Position.Bottom})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e?.label,jsxRuntime.exports.jsx(Handle$1,{type:"source",position:n,isConnectable:t})]});InputNode.displayName="InputNode";var InputNode$1=react.exports.memo(InputNode);const OutputNode=({data:e,isConnectable:t,targetPosition:n=Position.Top})=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Handle$1,{type:"target",position:n,isConnectable:t}),e?.label]});OutputNode.displayName="OutputNode";var OutputNode$1=react.exports.memo(OutputNode);const GroupNode=()=>null,selector$d=(GroupNode.displayName="GroupNode",e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected)})),selectId=e=>e.id;function areEqual(e,t){return shallow(e.selectedNodes.map(selectId),t.selectedNodes.map(selectId))&&shallow(e.selectedEdges.map(selectId),t.selectedEdges.map(selectId))}const SelectionListener=react.exports.memo(({onSelectionChange:t})=>{const n=useStoreApi(),{selectedNodes:o,selectedEdges:r}=useStore(selector$d,areEqual);return react.exports.useEffect(()=>{var e={nodes:o,edges:r};t?.(e),n.getState().onSelectionChange?.(e)},[o,r,t]),null}),changeSelector=(SelectionListener.displayName="SelectionListener",e=>!!e.onSelectionChange);function Wrapper$1({onSelectionChange:e}){var t=useStore(changeSelector);return e||t?jsxRuntime.exports.jsx(SelectionListener,{onSelectionChange:e}):null}const selector$c=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function useStoreUpdater(e,t){react.exports.useEffect(()=>{void 0!==e&&t(e)},[e])}function useDirectStoreUpdater(e,t,n){react.exports.useEffect(()=>{void 0!==t&&n({[e]:t})},[t])}const StoreUpdater=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:r,onConnectStart:i,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:d,edgesFocusable:p,elevateNodesOnSelect:h,minZoom:f,maxZoom:g,nodeExtent:m,onNodesChange:y,onEdgesChange:b,elementsSelectable:v,connectionMode:$,snapGrid:_,snapToGrid:x,translateExtent:S,connectOnClick:E,defaultEdgeOptions:w,fitView:C,fitViewOptions:N,onNodesDelete:I,onEdgesDelete:O,onNodeDrag:P,onNodeDragStart:T,onNodeDragStop:R,onSelectionDrag:j,onSelectionDragStart:k,onSelectionDragStop:M,noPanClassName:D,nodeOrigin:L,rfId:B})=>{const{setNodes:F,setEdges:G,setDefaultNodesAndEdges:z,setMinZoom:V,setMaxZoom:U,setTranslateExtent:H,setNodeExtent:K,reset:Y}=useStore(selector$c,shallow);var A=useStoreApi();return react.exports.useEffect(()=>{var e=o?.map(e=>({...e,...w}));return z(n,e),()=>{Y()}},[]),useDirectStoreUpdater("defaultEdgeOptions",w,A.setState),useDirectStoreUpdater("connectionMode",$,A.setState),useDirectStoreUpdater("onConnect",r,A.setState),useDirectStoreUpdater("onConnectStart",i,A.setState),useDirectStoreUpdater("onConnectEnd",a,A.setState),useDirectStoreUpdater("onClickConnectStart",s,A.setState),useDirectStoreUpdater("onClickConnectEnd",l,A.setState),useDirectStoreUpdater("nodesDraggable",c,A.setState),useDirectStoreUpdater("nodesConnectable",u,A.setState),useDirectStoreUpdater("nodesFocusable",d,A.setState),useDirectStoreUpdater("edgesFocusable",p,A.setState),useDirectStoreUpdater("elementsSelectable",v,A.setState),useDirectStoreUpdater("elevateNodesOnSelect",h,A.setState),useDirectStoreUpdater("snapToGrid",x,A.setState),useDirectStoreUpdater("snapGrid",_,A.setState),useDirectStoreUpdater("onNodesChange",y,A.setState),useDirectStoreUpdater("onEdgesChange",b,A.setState),useDirectStoreUpdater("connectOnClick",E,A.setState),useDirectStoreUpdater("fitViewOnInit",C,A.setState),useDirectStoreUpdater("fitViewOnInitOptions",N,A.setState),useDirectStoreUpdater("onNodesDelete",I,A.setState),useDirectStoreUpdater("onEdgesDelete",O,A.setState),useDirectStoreUpdater("onNodeDrag",P,A.setState),useDirectStoreUpdater("onNodeDragStart",T,A.setState),useDirectStoreUpdater("onNodeDragStop",R,A.setState),useDirectStoreUpdater("onSelectionDrag",j,A.setState),useDirectStoreUpdater("onSelectionDragStart",k,A.setState),useDirectStoreUpdater("onSelectionDragStop",M,A.setState),useDirectStoreUpdater("noPanClassName",D,A.setState),useDirectStoreUpdater("nodeOrigin",L,A.setState),useDirectStoreUpdater("rfId",B,A.setState),useStoreUpdater(e,F),useStoreUpdater(t,G),useStoreUpdater(f,V),useStoreUpdater(g,U),useStoreUpdater(S,H),useStoreUpdater(m,K),null},style={display:"none"},ariaLiveStyle={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ARIA_NODE_DESC_KEY="react-flow__node-desc",ARIA_EDGE_DESC_KEY="react-flow__edge-desc",ARIA_LIVE_MESSAGE="react-flow__aria-live",selector$b=e=>e.ariaLiveMessage;function AriaLiveMessage({rfId:e}){var t=useStore(selector$b);return jsxRuntime.exports.jsx("div",{id:ARIA_LIVE_MESSAGE+"-"+e,"aria-live":"assertive","aria-atomic":"true",style:ariaLiveStyle,children:t})}function A11yDescriptions({rfId:e,disableKeyboardA11y:t}){return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsxs("div",{id:ARIA_NODE_DESC_KEY+"-"+e,style:style,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),jsxRuntime.exports.jsx("div",{id:ARIA_EDGE_DESC_KEY+"-"+e,style:style,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&jsxRuntime.exports.jsx(AriaLiveMessage,{rfId:e})]})}const shiftX=(e,t,n)=>n===Position.Left?e-t:n===Position.Right?e+t:e,shiftY=(e,t,n)=>n===Position.Top?e-t:n===Position.Bottom?e+t:e,EdgeUpdaterClassName="react-flow__edgeupdater",EdgeAnchor=({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:a,type:s})=>jsxRuntime.exports.jsx("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:a,className:cc([EdgeUpdaterClassName,EdgeUpdaterClassName+"-"+s]),cx:shiftX(t,o,e),cy:shiftY(n,o,e),r:o,stroke:"transparent",fill:"transparent"});var wrapEdge=J=>{var e=({id:a,className:e,type:t,data:M,onClick:r,onEdgeDoubleClick:n,selected:o,animated:i,label:D,labelStyle:L,labelShowBg:B,labelBgStyle:F,labelBgPadding:G,labelBgBorderRadius:z,style:V,source:s,target:l,sourceX:c,sourceY:u,targetX:d,targetY:p,sourcePosition:h,targetPosition:f,elementsSelectable:g,hidden:m,sourceHandleId:y,targetHandleId:b,onContextMenu:v,onMouseEnter:$,onMouseMove:_,onMouseLeave:x,edgeUpdaterRadius:S,onEdgeUpdate:E,onEdgeUpdateStart:U,onEdgeUpdateEnd:H,markerEnd:w,markerStart:C,rfId:N,ariaLabel:I,isFocusable:O,pathOptions:K,interactionWidth:Y})=>{const P=react.exports.useRef(null),[W,T]=react.exports.useState(!1),[X,R]=react.exports.useState(!1),j=useStoreApi();var Z=react.exports.useMemo(()=>`url(#${getMarkerId(C,N)})`,[C,N]),q=react.exports.useMemo(()=>`url(#${getMarkerId(w,N)})`,[w,N]);if(m)return null;m=getMouseHandler$1(a,j.getState,n),n=getMouseHandler$1(a,j.getState,v),v=getMouseHandler$1(a,j.getState,$),$=getMouseHandler$1(a,j.getState,_),_=getMouseHandler$1(a,j.getState,x);const k=(e,t)=>{var n=t?l:s,o=(t?b:y)||null;const r=t?"target":"source";const i=j.getState().edges.find(e=>e.id===a);R(!0),U?.(e,i,r);handleMouseDown({event:e,handleId:o,nodeId:n,onConnect:e=>E?.(i,e),isTarget:t,getState:j.getState,setState:j.setState,isValidConnection:()=>!0,elementEdgeUpdaterType:r,onEdgeUpdateEnd:e=>{R(!1),H?.(e,i,r)}})};var x=()=>T(!0),A=()=>T(!1),Q=void 0!==E;return jsxRuntime.exports.jsxs("g",{className:cc(["react-flow__edge","react-flow__edge-"+t,e,{selected:o,animated:i,inactive:!g&&!r,updating:W}]),onClick:e=>{const{edges:t,addSelectedEdges:n}=j.getState();var o;g&&(j.setState({nodesSelectionActive:!1}),n([a])),r&&(o=t.find(e=>e.id===a),r(e,o))},onDoubleClick:m,onContextMenu:n,onMouseEnter:v,onMouseMove:$,onMouseLeave:_,onKeyDown:O?e=>{if(elementSelectionKeys.includes(e.key)&&g){const{unselectNodesAndEdges:t,addSelectedEdges:n,edges:o}=j.getState();"Escape"===e.key?(P.current?.blur(),t({edges:[o.find(e=>e.id===a)]})):n([a])}}:void 0,tabIndex:O?0:void 0,role:O?"button":void 0,"data-testid":"rf__edge-"+a,"aria-label":null===I?void 0:I||`Edge from ${s} to `+l,"aria-describedby":O?ARIA_EDGE_DESC_KEY+"-"+N:void 0,ref:P,children:[!X&&jsxRuntime.exports.jsx(J,{id:a,source:s,target:l,selected:o,animated:i,label:D,labelStyle:L,labelShowBg:B,labelBgStyle:F,labelBgPadding:G,labelBgBorderRadius:z,data:M,style:V,sourceX:c,sourceY:u,targetX:d,targetY:p,sourcePosition:h,targetPosition:f,sourceHandleId:y,targetHandleId:b,markerStart:Z,markerEnd:q,pathOptions:K,interactionWidth:Y}),Q&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(EdgeAnchor,{position:h,centerX:c,centerY:u,radius:S,onMouseDown:e=>k(e,!0),onMouseEnter:x,onMouseOut:A,type:"source"}),jsxRuntime.exports.jsx(EdgeAnchor,{position:f,centerX:d,centerY:p,radius:S,onMouseDown:e=>k(e,!1),onMouseEnter:x,onMouseOut:A,type:"target"})]})]})};return e.displayName="EdgeWrapper",react.exports.memo(e)};function createEdgeTypes(n){var e={default:wrapEdge(n.default||BezierEdge),straight:wrapEdge(n.bezier||StraightEdge),step:wrapEdge(n.step||StepEdge),smoothstep:wrapEdge(n.step||SmoothStepEdge),simplebezier:wrapEdge(n.simplebezier||SimpleBezierEdge)},t=Object.keys(n).filter(e=>!["default","bezier"].includes(e)).reduce((e,t)=>(e[t]=wrapEdge(n[t]||BezierEdge),e),{});return{...e,...t}}function getHandlePosition(e,t,n=null){var o=(n?.x||0)+t.x,r=(n?.y||0)+t.y,i=n?.width||t.width,a=n?.height||t.height;switch(e){case Position.Top:return{x:o+i/2,y:r};case Position.Right:return{x:o+i,y:r+a/2};case Position.Bottom:return{x:o+i/2,y:r+a};case Position.Left:return{x:o,y:r+a/2}}}function getHandle(e,t){if(!e)return null;let n=null;return 1!==e.length&&t?t&&(n=e.find(e=>e.id===t)):n=e[0],void 0===n?null:n}const getEdgePositions=(e,t,n,o,r,i)=>{n=getHandlePosition(n,e,t),e=getHandlePosition(i,o,r);return{sourceX:n.x,sourceY:n.y,targetX:e.x,targetY:e.y}};function isEdgeVisible({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:r,targetHeight:i,width:a,height:s,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+r),y2:Math.max(e.y+o,t.y+i)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);n=rectToBox({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:a/l[2],height:s/l[2]}),r=Math.max(0,Math.min(n.x2,c.x2)-Math.max(n.x,c.x)),e=Math.max(0,Math.min(n.y2,c.y2)-Math.max(n.y,c.y));return 0<Math.ceil(r*e)}function getNodeData(e){var t=e?.[internalsSymbol]?.handleBounds||null,n=!(e&&t&&e.width&&e.height&&void 0!==e.positionAbsolute?.x&&void 0!==e.positionAbsolute?.y);return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!n]}function isParentSelected(e,t){if(!e.parentNode)return!1;e=t.get(e.parentNode);return!!e&&(!!e.selected||isParentSelected(e,t))}function hasSelector(e,t,n){let o=e;do{if(o?.matches(t))return!0;if(o===n.current)return!1}while(o=o.parentElement);return!1}function getDragItems(t,n,o){return Array.from(t.values()).filter(e=>(e.selected||e.id===o)&&(!e.parentNode||!isParentSelected(e,t))).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:n.x-(e.positionAbsolute?.x??0),y:n.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode,width:e.width,height:e.height}))}function calcNextPosition(e,t,n,o,r=[0,0]){let i=e.extent||o;var a,s;"parent"===e.extent?i=e.parentNode&&e.width&&e.height?(s=n.get(e.parentNode),{x:c,y:a}=getNodePositionWithOrigin(s,r).positionAbsolute,s&&isNumeric(c)&&isNumeric(a)&&isNumeric(s.width)&&isNumeric(s.height)?[[c+e.width*r[0],a+e.height*r[1]],[c+s.width-e.width+e.width*r[0],a+s.height-e.height+e.height*r[1]]]:i):o:e.extent&&e.parentNode&&(c=n.get(e.parentNode),{x:a,y:s}=getNodePositionWithOrigin(c,r).positionAbsolute,i=[[e.extent[0][0]+a,e.extent[0][1]+s],[e.extent[1][0]+a,e.extent[1][1]+s]]);let l={x:0,y:0};e.parentNode&&(o=n.get(e.parentNode),l=getNodePositionWithOrigin(o,r).positionAbsolute);var c=i?clampPosition(t,i):t;return{position:{x:c.x-l.x,y:c.y-l.y},positionAbsolute:c}}function getEventHandlerParams({nodeId:t,dragItems:e,nodeInternals:n}){const o=e.map(e=>{return{...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}});return[t?o.find(e=>e.id===t):o[0],o]}const getHandleBounds=(e,t,n,o)=>{e=t.querySelectorAll(e);if(!e||!e.length)return null;const r=Array.from(e),i=t.getBoundingClientRect(),a={x:i.width*o[0],y:i.height*o[1]};return r.map(e=>{var t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-i.left-a.x)/n,y:(t.top-i.top-a.y)/n,...getDimensions(e)}})};function getMouseHandler(n,o,r){return void 0===r?r:e=>{var t=o().nodeInternals.get(n);r(e,{...t})}}function handleNodeClick({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:o,unselectNodesAndEdges:r,multiSelectionActive:i,nodeInternals:a}=t.getState();var s=a.get(e);t.setState({nodesSelectionActive:!1}),s.selected?(n||s.selected&&i)&&r({nodes:[s]}):o([e])}function useGetPointerPosition(){const i=useStoreApi();return react.exports.useCallback(({sourceEvent:e})=>{var{transform:t,snapGrid:n,snapToGrid:o}=i.getState(),r=(e.touches?e.touches[0]:e).clientX,e=(e.touches?e.touches[0]:e).clientY,r={x:(r-t[0])/t[2],y:(e-t[1])/t[2]};return{xSnapped:o?n[0]*Math.round(r.x/n[0]):r.x,ySnapped:o?n[1]*Math.round(r.y/n[1]):r.y,...r}},[])}function wrapSelectionDragFunc(o){return(e,t,n)=>o?.(e,n)}function useDrag({nodeRef:n,disabled:o=!1,noDragClassName:r,handleSelector:i,nodeId:f,isSelectable:c,selectNodesOnDrag:u}){const[e,g]=react.exports.useState(!1),m=useStoreApi(),y=react.exports.useRef(),b=react.exports.useRef({x:null,y:null}),v=useGetPointerPosition();return react.exports.useEffect(()=>{if(n?.current){const t=select(n.current);var e;if(!o)return e=drag().on("start",e=>{const{nodeInternals:t,multiSelectionActive:n,unselectNodesAndEdges:o,onNodeDragStart:r,onSelectionDragStart:i}=m.getState(),a=f?r:wrapSelectionDragFunc(i);u||n||!f||t.get(f)?.selected||o(),f&&c&&u&&handleNodeClick({id:f,store:m});var s,l=v(e);b.current=l,y.current=getDragItems(t,l,f),a&&y.current&&([l,s]=getEventHandlerParams({nodeId:f,dragItems:y.current,nodeInternals:t}),a(e.sourceEvent,l,s))}).on("drag",e=>{const{updateNodePositions:t,nodeInternals:r,nodeExtent:i,onNodeDrag:n,onSelectionDrag:a,snapGrid:s,snapToGrid:l,nodeOrigin:c}=m.getState(),u=v(e);if((b.current.x!==u.xSnapped||b.current.y!==u.ySnapped)&&y.current){let o=!(b.current={x:u.xSnapped,y:u.ySnapped});if(y.current=y.current.map(e=>{const t={x:u.x-e.distance.x,y:u.y-e.distance.y};l&&(t.x=s[0]*Math.round(t.x/s[0]),t.y=s[1]*Math.round(t.y/s[1]));var n=calcNextPosition(e,t,r,i,c);return o=o||e.position.x!==n.position.x||e.position.y!==n.position.y,e.position=n.position,e.positionAbsolute=n.positionAbsolute,e}),o){const h=f?n:wrapSelectionDragFunc(a);var d,p;t(y.current,!0,!0),g(!0),h&&([d,p]=getEventHandlerParams({nodeId:f,dragItems:y.current,nodeInternals:r}),h(e.sourceEvent,d,p))}}}).on("end",e=>{if(g(!1),y.current){const{updateNodePositions:o,nodeInternals:r,onNodeDragStop:i,onSelectionDragStop:a}=m.getState(),s=f?i:wrapSelectionDragFunc(a);var t,n;o(y.current,!1,!1),s&&([t,n]=getEventHandlerParams({nodeId:f,dragItems:y.current,nodeInternals:r}),s(e.sourceEvent,t,n))}}).filter(e=>{var t=e.target;return!e.button&&(!r||!hasSelector(t,"."+r,n))&&(!i||hasSelector(t,i,n))}),t.call(e),()=>{t.on(".drag",null)};t.on(".drag",null)}},[n,o,r,i,c,m,f,u,v]),e}function useUpdateNodePositions(){const h=useStoreApi();return react.exports.useCallback(e=>{const{nodeInternals:o,nodeExtent:r,updateNodePositions:t,getNodes:n,snapToGrid:i,snapGrid:a}=h.getState(),s=n().filter(e=>e.selected);var l=i?a[0]:5,c=i?a[1]:5,u=e.isShiftPressed?4:1;const d=e.x*l*u,p=e.y*c*u;l=s.map(e=>{if(e.positionAbsolute){const n={x:e.positionAbsolute.x+d,y:e.positionAbsolute.y+p};i&&(n.x=a[0]*Math.round(n.x/a[0]),n.y=a[1]*Math.round(n.y/a[1]));var t=calcNextPosition(e,n,o,r);e.position=t.position,e.positionAbsolute=t.positionAbsolute}return e});t(l,!0,!1)},[])}const arrowKeyDiffs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var wrapNode=G=>{var e=({id:o,type:r,data:e,xPos:n,yPos:i,xPosOrigin:t,yPosOrigin:a,selected:s,onClick:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:d,onContextMenu:p,onDoubleClick:h,style:f,className:g,isDraggable:m,isSelectable:y,isConnectable:b,isFocusable:v,selectNodesOnDrag:$,sourcePosition:_,targetPosition:x,hidden:S,resizeObserver:E,dragHandle:w,zIndex:C,isParent:N,noDragClassName:I,noPanClassName:O,initialized:M,disableKeyboardA11y:P,ariaLabel:D,rfId:L})=>{const T=useStoreApi(),R=react.exports.useRef(null),j=react.exports.useRef(_),k=react.exports.useRef(x),A=react.exports.useRef(r);var B=y||m||l||c||u||d;const F=useUpdateNodePositions();c=getMouseHandler(o,T.getState,c),u=getMouseHandler(o,T.getState,u),d=getMouseHandler(o,T.getState,d),p=getMouseHandler(o,T.getState,p),h=getMouseHandler(o,T.getState,h),react.exports.useEffect(()=>{if(R.current&&!S){const e=R.current;return E?.observe(e),()=>E?.unobserve(e)}},[S]),react.exports.useEffect(()=>{var e=A.current!==r,t=j.current!==_,n=k.current!==x;R.current&&(e||t||n)&&(e&&(A.current=r),t&&(j.current=_),n&&(k.current=x),T.getState().updateNodeDimensions([{id:o,nodeElement:R.current,forceUpdate:!0}]))},[o,r,_,x]),I=useDrag({nodeRef:R,disabled:S||!m,noDragClassName:I,handleSelector:w,nodeId:o,isSelectable:y,selectNodesOnDrag:$});return S?null:jsxRuntime.exports.jsx("div",{className:cc(["react-flow__node","react-flow__node-"+r,{[O]:m},g,{selected:s,selectable:y,parent:N,dragging:I}]),ref:R,style:{zIndex:C,transform:`translate(${t}px,${a}px)`,pointerEvents:B?"all":"none",visibility:M?"visible":"hidden",...f},"data-id":o,"data-testid":"rf__node-"+o,onMouseEnter:c,onMouseMove:u,onMouseLeave:d,onContextMenu:p,onClick:e=>{var t;!y||$&&m||handleNodeClick({id:o,store:T}),l&&(t=T.getState().nodeInternals.get(o),l(e,{...t}))},onDoubleClick:h,onKeyDown:v?e=>{var t;isInputDOMNode(e)||(elementSelectionKeys.includes(e.key)&&y?((t="Escape"===e.key)&&R.current?.blur(),handleNodeClick({id:o,store:T,unselect:t})):!P&&m&&s&&Object.prototype.hasOwnProperty.call(arrowKeyDiffs,e.key)&&(T.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~n}, y: `+~~i}),F({x:arrowKeyDiffs[e.key].x,y:arrowKeyDiffs[e.key].y,isShiftPressed:e.shiftKey})))}:void 0,tabIndex:v?0:void 0,role:v?"button":void 0,"aria-describedby":P?void 0:ARIA_NODE_DESC_KEY+"-"+L,"aria-label":D,children:jsxRuntime.exports.jsx(Provider,{value:o,children:jsxRuntime.exports.jsx(G,{id:o,data:e,type:r,xPos:n,yPos:i,selected:s,isConnectable:b,sourcePosition:_,targetPosition:x,dragging:I,dragHandle:w,zIndex:C})})})};return e.displayName="NodeWrapper",react.exports.memo(e)};function createNodeTypes(n){var e={input:wrapNode(n.input||InputNode$1),default:wrapNode(n.default||DefaultNode$1),output:wrapNode(n.output||OutputNode$1),group:wrapNode(n.group||GroupNode)},t=Object.keys(n).filter(e=>!["input","default","output","group"].includes(e)).reduce((e,t)=>(e[t]=wrapNode(n[t]||DefaultNode$1),e),{});return{...e,...t}}const getPositionWithOrigin=({x:e,y:t,width:n,height:o,origin:r})=>!n||!o||(r[0]<0||r[1]<0||1<r[0]||1<r[1])?{x:e,y:t}:{x:e-n*r[0],y:t-o*r[1]},doc="undefined"!=typeof document?document:null;var useKeyPress=(o=null,r={target:doc})=>{const[e,i]=react.exports.useState(!1),a=react.exports.useRef(new Set([])),[s,l]=react.exports.useMemo(()=>{if(null===o)return[[],[]];{const t=Array.isArray(o)?o:[o],n=t.filter(e=>"string"==typeof e).map(e=>e.split("+"));var e=n.reduce((e,t)=>e.concat(...t),[]);return[n,e]}},[o]);return react.exports.useEffect(()=>{if(null!==o){const e=e=>{if(isInputDOMNode(e))return!1;var t=useKeyOrCode(e.code,l);a.current.add(e[t]),isMatchingKey(s,a.current,!1)&&(e.preventDefault(),i(!0))},t=e=>{if(isInputDOMNode(e))return!1;var t=useKeyOrCode(e.code,l);isMatchingKey(s,a.current,!0)?(i(!1),a.current.clear()):a.current.delete(e[t])},n=()=>{a.current.clear(),i(!1)};return r?.target?.addEventListener("keydown",e),r?.target?.addEventListener("keyup",t),window.addEventListener("blur",n),()=>{r?.target?.removeEventListener("keydown",e),r?.target?.removeEventListener("keyup",t),window.removeEventListener("blur",n)}}},[o,i]),e};function isMatchingKey(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function useKeyOrCode(e,t){return t.includes(e)?"code":"key"}function calculateXYZPosition(e,t,n,o,r){if(!e.parentNode)return o;var e=t.get(e.parentNode),i=getNodePositionWithOrigin(e,r);return calculateXYZPosition(e,t,n,{x:(o.x??0)+i.x,y:(o.y??0)+i.y,z:(e[internalsSymbol]?.z??0)>(o.z??0)?e[internalsSymbol]?.z??0:o.z??0},r)}function createNodeInternals(e,r,i,t){const a=new Map,s={},l=t?1e3:0;return e.forEach(e=>{var t=(isNumeric(e.zIndex)?e.zIndex:0)+(e.selected?l:0),n=r.get(e.id);const o={width:n?.width,height:n?.height,...e,positionAbsolute:{x:e.position.x,y:e.position.y}};e.parentNode&&(o.parentNode=e.parentNode,s[e.parentNode]=!0),Object.defineProperty(o,internalsSymbol,{enumerable:!1,value:{handleBounds:n?.[internalsSymbol]?.handleBounds,z:t}}),a.set(e.id,o)}),a.forEach(e=>{if(e.parentNode&&!a.has(e.parentNode))throw new Error(`Parent node ${e.parentNode} not found`);var t,n,o;(e.parentNode||s[e.id])&&({x:t,y:n,z:o}=calculateXYZPosition(e,a,s,{...e.position,z:e[internalsSymbol]?.z??0},i),e.positionAbsolute={x:t,y:n},e[internalsSymbol].z=o,s[e.id]&&(e[internalsSymbol].isParent=!0))}),a}function fitView(e,t={}){const{getNodes:n,width:o,height:r,minZoom:i,maxZoom:a,d3Zoom:s,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:d}=e();if((t.initial&&!c&&u||!t.initial)&&s&&l){const f=n().filter(e=>t.includeHiddenNodes?e.width&&e.height:!e.hidden);var p,h,e=f.every(e=>e.width&&e.height);if(0<f.length&&e)return e=getRectOfNodes(f,d),[e,p,h]=getTransformForBounds(e,o,r,t.minZoom??i,t.maxZoom??a,t.padding??.1),e=identity.translate(e,p).scale(h),"number"==typeof t.duration&&0<t.duration?s.transform(getD3Transition(l,t.duration),e):s.transform(l,e),!0}return!1}function handleControlledNodeSelectionChange(e,n){return e.forEach(e=>{var t=n.get(e.id);t&&n.set(t.id,{...t,[internalsSymbol]:t[internalsSymbol],selected:e.selected})}),new Map(n)}function handleControlledEdgeSelectionChange(n,e){return e.map(t=>{var e=n.find(e=>e.id===t.id);return e&&(t.selected=e.selected),t})}function updateNodesAndEdgesSelections({changedNodes:e,changedEdges:t,get:n,set:o}){const{nodeInternals:r,edges:i,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&o({nodeInternals:handleControlledNodeSelectionChange(e,r)}),a?.(e)),t?.length&&(c&&o({edges:handleControlledEdgeSelectionChange(t,i)}),s?.(t))}const noop=()=>{},initialViewportHelper={zoomIn:noop,zoomOut:noop,zoomTo:noop,getZoom:()=>1,setViewport:noop,getViewport:()=>({x:0,y:0,zoom:1}),fitView:noop,setCenter:noop,fitBounds:noop,project:e=>e,viewportInitialized:!1},selector$a=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),useViewportHelper=()=>{const a=useStoreApi(),{d3Zoom:s,d3Selection:l}=useStore(selector$a,shallow);return react.exports.useMemo(()=>l&&s?{zoomIn:e=>s.scaleBy(getD3Transition(l,e?.duration),1.2),zoomOut:e=>s.scaleBy(getD3Transition(l,e?.duration),1/1.2),zoomTo:(e,t)=>s.scaleTo(getD3Transition(l,t?.duration),e),getZoom:()=>a.getState().transform[2],setViewport:(e,t)=>{var[n,o,r]=a.getState().transform,n=identity.translate(e.x??n,e.y??o).scale(e.zoom??r);s.transform(getD3Transition(l,t?.duration),n)},getViewport:()=>{var[e,t,n]=a.getState().transform;return{x:e,y:t,zoom:n}},fitView:e=>fitView(a.getState,e),setCenter:(e,t,n)=>{var{width:o,height:r,maxZoom:i}=a.getState(),i=void 0!==n?.zoom?n.zoom:i,o=identity.translate(o/2-e*i,r/2-t*i).scale(i);s.transform(getD3Transition(l,n?.duration),o)},fitBounds:(e,t)=>{var{width:n,height:o,minZoom:r,maxZoom:i}=a.getState(),[e,n,o]=getTransformForBounds(e,n,o,r,i,t?.padding??.1),r=identity.translate(e,n).scale(o);s.transform(getD3Transition(l,t?.duration),r)},project:e=>{var{transform:t,snapToGrid:n,snapGrid:o}=a.getState();return pointToRendererPoint(e,t,n,o)},viewportInitialized:!0}:initialViewportHelper,[s,l])};function useReactFlow(){const e=useViewportHelper(),y=useStoreApi(),t=react.exports.useCallback(()=>y.getState().getNodes().map(e=>({...e})),[]),n=react.exports.useCallback(e=>y.getState().nodeInternals.get(e),[]),o=react.exports.useCallback(()=>{const{edges:e=[]}=y.getState();return e.map(e=>({...e}))},[]),r=react.exports.useCallback(t=>{const{edges:e=[]}=y.getState();return e.find(e=>e.id===t)},[]),i=react.exports.useCallback(e=>{const{getNodes:t,setNodes:n,hasDefaultNodes:o,onNodesChange:r}=y.getState(),i=t(),a="function"==typeof e?e(i):e;o?n(a):r&&(e=0===a.length?i.map(e=>({type:"remove",id:e.id})):a.map(e=>({item:e,type:"reset"})),r(e))},[]),a=react.exports.useCallback(e=>{const{edges:t=[],setEdges:n,hasDefaultEdges:o,onEdgesChange:r}=y.getState(),i="function"==typeof e?e(t):e;o?n(i):r&&(e=0===i.length?t.map(e=>({type:"remove",id:e.id})):i.map(e=>({item:e,type:"reset"})),r(e))},[]),s=react.exports.useCallback(e=>{const t=Array.isArray(e)?e:[e],{getNodes:n,setNodes:o,hasDefaultNodes:r,onNodesChange:i}=y.getState();r?(e=[...n(),...t],o(e)):i&&(e=t.map(e=>({item:e,type:"add"})),i(e))},[]),l=react.exports.useCallback(e=>{const t=Array.isArray(e)?e:[e],{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i}=y.getState();r?o([...n,...t]):i&&(e=t.map(e=>({item:e,type:"add"})),i(e))},[]),c=react.exports.useCallback(()=>{const{getNodes:e,edges:t=[],transform:n}=y.getState();var[o,r,i]=n;return{nodes:e().map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:o,y:r,zoom:i}}},[]),u=react.exports.useCallback(({nodes:e,edges:t})=>{const{nodeInternals:n,getNodes:o,edges:r,hasDefaultNodes:i,hasDefaultEdges:a,onNodesDelete:s,onEdgesDelete:l,onNodesChange:c,onEdgesChange:u}=y.getState(),d=(e||[]).map(e=>e.id),p=(t||[]).map(e=>e.id),h=o().reduce((e,t)=>{var n=!d.includes(t.id)&&t.parentNode&&e.find(e=>e.id===t.parentNode);return("boolean"!=typeof t.deletable||t.deletable)&&(d.includes(t.id)||n)&&e.push(t),e},[]),f=r.filter(e=>"boolean"!=typeof e.deletable||e.deletable);e=f.filter(e=>p.includes(e.id));if(h||e){t=getConnectedEdges(h,f);const g=[...e,...t],m=g.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(a||i)&&(a&&y.setState({edges:r.filter(e=>!m.includes(e.id))}),i&&(h.forEach(e=>{n.delete(e.id)}),y.setState({nodeInternals:new Map(n)}))),0<m.length&&(l?.(g),u&&u(m.map(e=>({id:e,type:"remove"})))),0<h.length&&(s?.(h),c&&(e=h.map(e=>({id:e.id,type:"remove"})),c(e)))}},[]),d=react.exports.useCallback(e=>{var t=isRectObject(e),n=t?null:y.getState().nodeInternals.get(e.id);return[t?e:nodeToRect(n),n,t]},[]),p=react.exports.useCallback((t,n=!0,e)=>{const[o,r,i]=d(t);return o?(e||y.getState().getNodes()).filter(e=>{if(!(i||e.id!==r.id&&e.positionAbsolute))return!1;e=nodeToRect(e),e=getOverlappingArea(e,o);return n&&0<e||e>=t.width*t.height}):[]},[]),h=react.exports.useCallback((e,t,n=!0)=>{var[o]=d(e);if(!o)return!1;o=getOverlappingArea(o,t);return n&&0<o||o>=e.width*e.height},[]);return react.exports.useMemo(()=>({...e,getNodes:t,getNode:n,getEdges:o,getEdge:r,setNodes:i,setEdges:a,addNodes:s,addEdges:l,toObject:c,deleteElements:u,getIntersectingNodes:p,isNodeIntersecting:h}),[e,t,n,o,r,i,a,s,l,c,u,p,h])}var useGlobalKeyHandler=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const r=useStoreApi(),i=useReactFlow()["deleteElements"],a=useKeyPress(e),n=useKeyPress(t);react.exports.useEffect(()=>{if(a){const{edges:n,getNodes:o}=r.getState();var e=o().filter(e=>e.selected),t=n.filter(e=>e.selected);i({nodes:e,edges:t}),r.setState({nodesSelectionActive:!1})}},[a]),react.exports.useEffect(()=>{r.setState({multiSelectionActive:n})},[n])};function useResizeHandler(n){const o=useStoreApi();react.exports.useEffect(()=>{let e;const t=()=>{var e;n.current&&(0!==(e=getDimensions(n.current)).height&&e.width,o.setState({width:e.width||500,height:e.height||500}))};return t(),window.addEventListener("resize",t),n.current&&(e=new ResizeObserver(()=>t())).observe(n.current),()=>{window.removeEventListener("resize",t),e&&n.current&&e.unobserve(n.current)}},[])}const containerStyle={position:"absolute",width:"100%",height:"100%",top:0,left:0},viewChanged=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,eventToFlowTransform=e=>({x:e.x,y:e.y,zoom:e.k}),isWrappedWithClass=(e,t)=>e.target.closest("."+t),isRightClickPan=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),selector$9=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),ZoomPane=({onMove:o,onMoveStart:r,onMoveEnd:i,onPaneContextMenu:a,zoomOnScroll:s=!0,zoomOnPinch:l=!0,panOnScroll:c=!1,panOnScrollSpeed:u=.5,panOnScrollMode:d=PanOnScrollMode.Free,zoomOnDoubleClick:p=!0,elementsSelectable:e,panOnDrag:h=!0,defaultViewport:f,translateExtent:g,minZoom:m,maxZoom:y,zoomActivationKeyCode:t,preventScrolling:n=!0,children:b,noWheelClassName:v,noPanClassName:$})=>{const _=react.exports.useRef(),x=useStoreApi(),S=react.exports.useRef(!1),E=react.exports.useRef(!1),w=react.exports.useRef(null),C=react.exports.useRef({x:0,y:0,zoom:0}),{d3Zoom:N,d3Selection:I,d3ZoomHandler:O,userSelectionActive:P}=useStore(selector$9,shallow),T=useKeyPress(t);return useResizeHandler(w),react.exports.useEffect(()=>{if(w.current){var e=w.current.getBoundingClientRect();const n=zoom().scaleExtent([m,y]).translateExtent(g),o=select(w.current).call(n);var t=identity.translate(f.x,f.y).scale(clamp(f.zoom,m,y)),e=[[0,0],[e.width,e.height]],t=n.constrain()(t,e,g);n.transform(o,t),x.setState({d3Zoom:n,d3Selection:o,d3ZoomHandler:o.on("wheel.zoom"),transform:[t.x,t.y,t.k],domNode:w.current.closest(".react-flow")})}},[]),react.exports.useEffect(()=>{I&&N&&(!c||T||P?void 0!==O&&I.on("wheel.zoom",function(e,t){if(!n||isWrappedWithClass(e,v))return null;e.preventDefault(),O.call(this,e,t)}):I.on("wheel.zoom",e=>{if(isWrappedWithClass(e,v))return!1;e.preventDefault(),e.stopImmediatePropagation();var t=I.property("__zoom").k||1;if(e.ctrlKey&&l)return o=pointer(e),n=-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*10,n=t*Math.pow(2,n),void N.scaleTo(I,n,o);var n=1===e.deltaMode?20:1,o=d===PanOnScrollMode.Vertical?0:e.deltaX*n,e=d===PanOnScrollMode.Horizontal?0:e.deltaY*n;N.translateBy(I,-o/t*u,-e/t*u)}))},[P,c,d,I,N,O,T,l,n,v]),react.exports.useEffect(()=>{N&&(P&&!S.current?N.on("zoom",null):P||N.on("zoom",e=>{const t=x.getState()["onViewportChange"];var n;x.setState({transform:[e.transform.x,e.transform.y,e.transform.k]}),E.current=!(!a||!isRightClickPan(h,e.sourceEvent?.button)),(o||t)&&(n=eventToFlowTransform(e.transform),t?.(n),o?.(e.sourceEvent,n))}))},[P,N,o,h,a]),react.exports.useEffect(()=>{N&&N.on("start",e=>{if(!e.sourceEvent)return null;const t=x.getState()["onViewportChangeStart"];var n;S.current=!0,"mousedown"===e.sourceEvent?.type&&x.setState({paneDragging:!0}),(r||t)&&(n=eventToFlowTransform(e.transform),C.current=n,t?.(n),r?.(e.sourceEvent,n))})},[N,r]),react.exports.useEffect(()=>{N&&N.on("end",e=>{if(!e.sourceEvent)return null;const t=x.getState()["onViewportChangeEnd"];if(S.current=!1,x.setState({paneDragging:!1}),a&&isRightClickPan(h,e.sourceEvent?.button)&&!E.current&&a(e.sourceEvent),E.current=!1,(i||t)&&viewChanged(C.current,e.transform)){const n=eventToFlowTransform(e.transform);C.current=n,clearTimeout(_.current),_.current=setTimeout(()=>{t?.(n),i?.(e.sourceEvent,n)},c?150:0)}})},[N,c,h,i,a]),react.exports.useEffect(()=>{N&&N.filter(e=>{var t=T||s,n=l&&e.ctrlKey;if(1===e.button&&"mousedown"===e.type&&(isWrappedWithClass(e,"react-flow__node")||isWrappedWithClass(e,"react-flow__edge")))return!0;if(!(h||t||c||p||l))return!1;if(P)return!1;if(!p&&"dblclick"===e.type)return!1;if(isWrappedWithClass(e,v)&&"wheel"===e.type)return!1;if(isWrappedWithClass(e,$)&&"wheel"!==e.type)return!1;if(!l&&e.ctrlKey&&"wheel"===e.type)return!1;if(!t&&!c&&!n&&"wheel"===e.type)return!1;if(!h&&("mousedown"===e.type||"touchstart"===e.type))return!1;if(Array.isArray(h)&&!h.includes(e.button)&&("mousedown"===e.type||"touchstart"===e.type))return!1;t=Array.isArray(h)&&h.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&t})},[P,N,s,l,c,p,h,e,T]),jsxRuntime.exports.jsx("div",{className:"react-flow__renderer",ref:w,style:containerStyle,children:b})},selector$8=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function UserSelection(){var{userSelectionActive:e,userSelectionRect:t}=useStore(selector$8,shallow);return e&&t?jsxRuntime.exports.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function handleParentExpand(e,t){const n=e.find(e=>e.id===t.parentNode);var o;n&&(e=t.position.x+t.width-n.width,o=t.position.y+t.height-n.height,(0<e||0<o||t.position.x<0||t.position.y<0)&&(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,0<e&&(n.style.width+=e),0<o&&(n.style.height+=o),t.position.x<0&&(e=Math.abs(t.position.x),n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0),t.position.y<0&&(o=Math.abs(t.position.y),n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0),n.width=n.style.width,n.height=n.style.height))}function applyChanges(i,e){if(i.some(e=>"reset"===e.type))return i.filter(e=>"reset"===e.type).map(e=>e.item);var t=i.filter(e=>"add"===e.type).map(e=>e.item);return e.reduce((e,t)=>{var n=i.filter(e=>e.id===t.id);if(0===n.length)return e.push(t),e;const o={...t};for(const r of n)if(r)switch(r.type){case"select":o.selected=r.selected;break;case"position":void 0!==r.position&&(o.position=r.position),void 0!==r.positionAbsolute&&(o.positionAbsolute=r.positionAbsolute),void 0!==r.dragging&&(o.dragging=r.dragging),o.expandParent&&handleParentExpand(e,o);break;case"dimensions":void 0!==r.dimensions&&(o.width=r.dimensions.width,o.height=r.dimensions.height),void 0!==r.updateStyle&&(o.style={...o.style||{},...r.dimensions}),"boolean"==typeof r.resizing&&(o.resizing=r.resizing),o.expandParent&&handleParentExpand(e,o);break;case"remove":return e}return e.push(o),e},t)}function applyNodeChanges(e,t){return applyChanges(e,t)}const createSelectionChange=(e,t)=>({id:e,type:"select",selected:t});function getSelectionChanges(e,o){return e.reduce((e,t)=>{var n=o.includes(t.id);return!t.selected&&n?(t.selected=!0,e.push(createSelectionChange(t.id,!0))):t.selected&&!n&&(t.selected=!1,e.push(createSelectionChange(t.id,!1))),e},[])}function getMousePosition(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const wrapHandler=(t,n)=>e=>{e.target===n.current&&t?.(e)},selector$7=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Pane=react.exports.memo(({isSelecting:h,selectionMode:f=SelectionMode.Full,panOnDrag:t,onSelectionStart:i,onSelectionEnd:n,onPaneClick:o,onPaneContextMenu:r,onPaneScroll:a,onPaneMouseEnter:e,onPaneMouseMove:s,onPaneMouseLeave:l,children:c})=>{const u=react.exports.useRef(null),g=useStoreApi(),m=react.exports.useRef(0),y=react.exports.useRef(0),b=react.exports.useRef(),{userSelectionActive:d,elementsSelectable:p,dragging:v}=useStore(selector$7,shallow),$=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,y.current=0},_=e=>{o?.(e),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})};var x=a?e=>a(e):void 0,S=p&&(h||d);return jsxRuntime.exports.jsxs("div",{className:cc(["react-flow__pane",{dragging:v,selection:h}]),onClick:S?void 0:wrapHandler(_,u),onContextMenu:wrapHandler(e=>{Array.isArray(t)&&t?.includes(2)?e.preventDefault():r?.(e)},u),onWheel:wrapHandler(x,u),onMouseEnter:S?void 0:e,onMouseDown:S?e=>{const{resetSelectedElements:t,domNode:n}=g.getState();var o,r;b.current=n?.getBoundingClientRect(),p&&h&&0===e.button&&e.target===u.current&&b.current&&({x:o,y:r}=getMousePosition(e,b.current),t(),g.setState({userSelectionRect:{width:0,height:0,startX:o,startY:r,x:o,y:r}}),i?.(e))}:void 0,onMouseMove:S?e=>{const{userSelectionRect:t,nodeInternals:n,edges:o,transform:r,onNodesChange:i,onEdgesChange:a,nodeOrigin:s,getNodes:l}=g.getState();if(h&&b.current&&t){g.setState({userSelectionActive:!0,nodesSelectionActive:!1});var e=getMousePosition(e,b.current),c=t.startX??0,u=t.startY??0,c={...t,x:e.x<c?e.x:c,y:e.y<u?e.y:u,width:Math.abs(e.x-c),height:Math.abs(e.y-u)},e=l();const p=getNodesInside(n,c,r,f===SelectionMode.Partial,!0,s);var u=getConnectedEdges(p,o).map(e=>e.id),d=p.map(e=>e.id);m.current!==d.length&&(m.current=d.length,(e=getSelectionChanges(e,d)).length&&i?.(e)),y.current!==u.length&&(y.current=u.length,(d=getSelectionChanges(o,u)).length&&a?.(d)),g.setState({userSelectionRect:c})}}:s,onMouseUp:S?e=>{var t=g.getState()["userSelectionRect"];!d&&t&&e.target===u.current&&_(e),g.setState({nodesSelectionActive:0<m.current}),$(),n?.(e)}:void 0,onMouseLeave:S?e=>{d&&(g.setState({nodesSelectionActive:0<m.current}),n?.(e)),$()}:l,ref:u,style:containerStyle,children:[c,jsxRuntime.exports.jsx(UserSelection,{})]})}),selector$6=(Pane.displayName="Pane",e=>({transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive})),bboxSelector=e=>{var t=e.getNodes().filter(e=>e.selected);return getRectOfNodes(t,e.nodeOrigin)};function NodesSelection({onSelectionContextMenu:n,noPanClassName:e,disableKeyboardA11y:t}){const o=useStoreApi();var{transformString:r,userSelectionActive:i}=useStore(selector$6,shallow),{width:a,height:s,x:l,y:c}=useStore(bboxSelector,shallow);const u=useUpdateNodePositions(),d=react.exports.useRef(null);if(react.exports.useEffect(()=>{t||d.current?.focus({preventScroll:!0})},[t]),useDrag({nodeRef:d}),i||!a||!s)return null;i=n?e=>{var t=o.getState().getNodes().filter(e=>e.selected);n(e,t)}:void 0;return jsxRuntime.exports.jsx("div",{className:cc(["react-flow__nodesselection","react-flow__container",e]),style:{transform:r},children:jsxRuntime.exports.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:i,tabIndex:t?void 0:-1,onKeyDown:t?void 0:e=>{Object.prototype.hasOwnProperty.call(arrowKeyDiffs,e.key)&&u({x:arrowKeyDiffs[e.key].x,y:arrowKeyDiffs[e.key].y,isShiftPressed:e.shiftKey})},style:{width:a,height:s,top:c,left:l}})})}var NodesSelection$1=react.exports.memo(NodesSelection);const selector$5=e=>e.nodesSelectionActive,FlowRenderer=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:a,deleteKeyCode:s,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:d,selectionOnDrag:p,selectionMode:h,onSelectionStart:f,onSelectionEnd:g,multiSelectionKeyCode:m,panActivationKeyCode:y,zoomActivationKeyCode:b,elementsSelectable:v,zoomOnScroll:$,zoomOnPinch:_,panOnScroll:x,panOnScrollSpeed:S,panOnScrollMode:E,zoomOnDoubleClick:w,panOnDrag:C,defaultViewport:N,translateExtent:I,minZoom:O,maxZoom:P,preventScrolling:T,onSelectionContextMenu:R,noWheelClassName:j,noPanClassName:k,disableKeyboardA11y:A})=>{var M=useStore(selector$5),d=useKeyPress(d),y=useKeyPress(y)||C,C=d||p&&!0!==y;return useGlobalKeyHandler({deleteKeyCode:s,multiSelectionKeyCode:m}),jsxRuntime.exports.jsx(ZoomPane,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:i,elementsSelectable:v,zoomOnScroll:$,zoomOnPinch:_,panOnScroll:x,panOnScrollSpeed:S,panOnScrollMode:E,zoomOnDoubleClick:w,panOnDrag:!d&&y,defaultViewport:N,translateExtent:I,minZoom:O,maxZoom:P,zoomActivationKeyCode:b,preventScrolling:T,noWheelClassName:j,noPanClassName:k,children:jsxRuntime.exports.jsxs(Pane,{onSelectionStart:f,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:y,isSelecting:!!C,selectionMode:h,children:[e,M&&jsxRuntime.exports.jsx(NodesSelection$1,{onSelectionContextMenu:R,noPanClassName:k,disableKeyboardA11y:A})]})})};FlowRenderer.displayName="FlowRenderer";var FlowRenderer$1=react.exports.memo(FlowRenderer);function useVisibleNodes(t){return useStore(react.exports.useCallback(e=>t?getNodesInside(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))}const selector$4=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions}),NodeRenderer=u=>{const{nodesDraggable:d,nodesConnectable:p,nodesFocusable:h,elementsSelectable:f,updateNodeDimensions:t}=useStore(selector$4,shallow),e=useVisibleNodes(u.onlyRenderVisibleElements),n=react.exports.useRef(),g=react.exports.useMemo(()=>{if("undefined"==typeof ResizeObserver)return null;var e=new ResizeObserver(e=>{e=e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0}));t(e)});return n.current=e},[]);return react.exports.useEffect(()=>()=>{n?.current?.disconnect()},[]),jsxRuntime.exports.jsx("div",{className:"react-flow__nodes",style:containerStyle,children:e.map(e=>{let t=e.type||"default";u.nodeTypes[t]||(t="default");var n=u.nodeTypes[t]||u.nodeTypes.default,o=!!(e.draggable||d&&void 0===e.draggable),r=!!(e.selectable||f&&void 0===e.selectable),i=!!(e.connectable||p&&void 0===e.connectable),a=!!(e.focusable||h&&void 0===e.focusable),s=u.nodeExtent?clampPosition(e.positionAbsolute,u.nodeExtent):e.positionAbsolute,l=s?.x??0,s=s?.y??0,c=getPositionWithOrigin({x:l,y:s,width:e.width??0,height:e.height??0,origin:u.nodeOrigin});return jsxRuntime.exports.jsx(n,{id:e.id,className:e.className,style:e.style,type:t,data:e.data,sourcePosition:e.sourcePosition||Position.Bottom,targetPosition:e.targetPosition||Position.Top,hidden:e.hidden,xPos:l,yPos:s,xPosOrigin:c.x,yPosOrigin:c.y,selectNodesOnDrag:u.selectNodesOnDrag,onClick:u.onNodeClick,onMouseEnter:u.onNodeMouseEnter,onMouseMove:u.onNodeMouseMove,onMouseLeave:u.onNodeMouseLeave,onContextMenu:u.onNodeContextMenu,onDoubleClick:u.onNodeDoubleClick,selected:!!e.selected,isDraggable:o,isSelectable:r,isConnectable:i,isFocusable:a,resizeObserver:g,dragHandle:e.dragHandle,zIndex:e[internalsSymbol]?.z??0,isParent:!!e[internalsSymbol]?.isParent,noDragClassName:u.noDragClassName,noPanClassName:u.noPanClassName,initialized:!!e.width&&!!e.height,rfId:u.rfId,disableKeyboardA11y:u.disableKeyboardA11y,ariaLabel:e.ariaLabel},e.id)})})};NodeRenderer.displayName="NodeRenderer";var NodeRenderer$1=react.exports.memo(NodeRenderer);const defaultEdgeTree=[{level:0,isMaxLevel:!0,edges:[]}];function groupEdgesByZLevel(e,r,i=!1){let a=-1;e=e.reduce((e,t)=>{var n=isNumeric(t.zIndex);let o=n?t.zIndex:0;return e[o=i?n?t.zIndex:Math.max(r.get(t.source)?.[internalsSymbol]?.z||0,r.get(t.target)?.[internalsSymbol]?.z||0):o]?e[o].push(t):e[o]=[t],a=o>a?o:a,e},{}),e=Object.entries(e).map(([e,t])=>{e=+e;return{edges:t,level:e,isMaxLevel:e===a}});return 0===e.length?defaultEdgeTree:e}function useVisibleEdges(e,o,t){return groupEdgesByZLevel(useStore(react.exports.useCallback(n=>e?n.edges.filter(e=>{var t=o.get(e.source),e=o.get(e.target);return t?.width&&t?.height&&e?.width&&e?.height&&isEdgeVisible({sourcePos:t.positionAbsolute||{x:0,y:0},targetPos:e.positionAbsolute||{x:0,y:0},sourceWidth:t.width,sourceHeight:t.height,targetWidth:e.width,targetHeight:e.height,width:n.width,height:n.height,transform:n.transform})}):n.edges,[e,o])),o,t)}const oppositePosition={[Position.Left]:Position.Right,[Position.Right]:Position.Left,[Position.Top]:Position.Bottom,[Position.Bottom]:Position.Top},ConnectionLine=({connectionNodeId:t,connectionHandleType:e,connectionLineStyle:n,connectionLineType:o=ConnectionLineType.Bezier,isConnectable:r,CustomConnectionLineComponent:i})=>{const{fromNode:a,handleId:s,toX:l,toY:c,connectionMode:u}=useStore(react.exports.useCallback(e=>({fromNode:e.nodeInternals.get(t),handleId:e.connectionHandleId,toX:(e.connectionPosition.x-e.transform[0])/e.transform[2],toY:(e.connectionPosition.y-e.transform[1])/e.transform[2],connectionMode:e.connectionMode}),[t]),shallow);var d=a?.[internalsSymbol]?.handleBounds;let p=d?.[e];if(u===ConnectionMode.Loose&&(p=p||d?.["source"===e?"target":"source"]),!a||!r||!p)return null;var d=s?p.find(e=>e.id===s):p[0],e=d?d.x+d.width/2:(a?.width??0)/2,r=d?d.y+d.height/2:a?.height??0,e=(a?.positionAbsolute?.x||0)+e,r=(a?.positionAbsolute?.y||0)+r,h=d?.position;if(!h)return null;var f=oppositePosition[h];if(i)return jsxRuntime.exports.jsx("g",{className:"react-flow__connection",children:jsxRuntime.exports.jsx(i,{connectionLineType:o,connectionLineStyle:n,fromNode:a,fromHandle:d,fromX:e,fromY:r,toX:l,toY:c,fromPosition:h,toPosition:f})});let g="";i={sourceX:e,sourceY:r,sourcePosition:h,targetX:l,targetY:c,targetPosition:f};return o===ConnectionLineType.Bezier?[g]=getBezierPath(i):o===ConnectionLineType.Step?[g]=getSmoothStepPath({...i,borderRadius:0}):o===ConnectionLineType.SmoothStep?[g]=getSmoothStepPath(i):o===ConnectionLineType.SimpleBezier?[g]=getSimpleBezierPath(i):g=`M${e},${r} ${l},`+c,jsxRuntime.exports.jsx("g",{className:"react-flow__connection",children:jsxRuntime.exports.jsx("path",{d:g,fill:"none",className:"react-flow__connection-path",style:n})})},ArrowSymbol=(ConnectionLine.displayName="ConnectionLine",({color:e="none",strokeWidth:t=1})=>jsxRuntime.exports.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"})),ArrowClosedSymbol=({color:e="none",strokeWidth:t=1})=>jsxRuntime.exports.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),MarkerSymbols={[MarkerType.Arrow]:ArrowSymbol,[MarkerType.ArrowClosed]:ArrowClosedSymbol};function useMarkerSymbol(e){return react.exports.useMemo(()=>{return Object.prototype.hasOwnProperty.call(MarkerSymbols,e)?MarkerSymbols[e]:null},[e])}const Marker=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{t=useMarkerSymbol(t);return t?jsxRuntime.exports.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:""+o,markerHeight:""+r,viewBox:"-10 -10 20 20",markerUnits:i,orient:s,refX:"0",refY:"0",children:jsxRuntime.exports.jsx(t,{color:n,strokeWidth:a})}):null},markerSelector=({defaultColor:r,rfId:i})=>e=>{const o=[];return e.edges.reduce((n,e)=>([e.markerStart,e.markerEnd].forEach(e=>{var t;e&&"object"==typeof e&&(t=getMarkerId(e,i),o.includes(t)||(n.push({id:t,color:e.color||r,...e}),o.push(t)))}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))},MarkerDefinitions=({defaultColor:e,rfId:t})=>{const n=useStore(react.exports.useCallback(markerSelector({defaultColor:e,rfId:t}),[e,t]),(e,n)=>!(e.length!==n.length||e.some((e,t)=>e.id!==n[t].id)));return jsxRuntime.exports.jsx("defs",{children:n.map(e=>jsxRuntime.exports.jsx(Marker,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})};MarkerDefinitions.displayName="MarkerDefinitions";var MarkerDefinitions$1=react.exports.memo(MarkerDefinitions);const selector$3=e=>({connectionNodeId:e.connectionNodeId,connectionHandleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals}),EdgeRenderer=u=>{const{connectionNodeId:e,connectionHandleType:t,nodesConnectable:n,edgesFocusable:d,elementsSelectable:p,width:o,height:r,connectionMode:h,nodeInternals:f}=useStore(selector$3,shallow),i=useVisibleEdges(u.onlyRenderVisibleElements,f,u.elevateEdgesOnSelect);if(!o)return null;const{connectionLineType:a,defaultMarkerColor:s,connectionLineStyle:l,connectionLineComponent:c,connectionLineContainerStyle:g}=u;var m=e&&t;return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[i.map(({level:e,edges:t,isMaxLevel:n})=>jsxRuntime.exports.jsxs("svg",{style:{zIndex:e},width:o,height:r,className:"react-flow__edges react-flow__container",children:[n&&jsxRuntime.exports.jsx(MarkerDefinitions$1,{defaultColor:s,rfId:u.rfId}),jsxRuntime.exports.jsx("g",{children:t.map(e=>{var[t,n,o]=getNodeData(f.get(e.source)),[r,i,a]=getNodeData(f.get(e.target));if(!o||!a)return null;let s=e.type||"default";u.edgeTypes[s]||(s="default");var o=u.edgeTypes[s]||u.edgeTypes.default,a=h===ConnectionMode.Strict?i.target:i.target||i.source,i=getHandle(n.source,e.sourceHandle||null),n=getHandle(a,e.targetHandle||null),a=i?.position||Position.Bottom,l=n?.position||Position.Top,c=!!(e.focusable||d&&void 0===e.focusable);if(!i||!n)return devWarn(`Couldn't create edge for ${i?"target":"source"} handle id: ${i?e.targetHandle:e.sourceHandle}; edge id: ${e.id}. Help: https://reactflow.dev/error#800`),null;var{sourceX:t,sourceY:i,targetX:r,targetY:n}=getEdgePositions(t,i,a,r,n,l);return jsxRuntime.exports.jsx(o,{id:e.id,className:cc([e.className,u.noPanClassName]),type:s,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:t,sourceY:i,targetX:r,targetY:n,sourcePosition:a,targetPosition:l,elementsSelectable:p,onEdgeUpdate:u.onEdgeUpdate,onContextMenu:u.onEdgeContextMenu,onMouseEnter:u.onEdgeMouseEnter,onMouseMove:u.onEdgeMouseMove,onMouseLeave:u.onEdgeMouseLeave,onClick:u.onEdgeClick,edgeUpdaterRadius:u.edgeUpdaterRadius,onEdgeDoubleClick:u.onEdgeDoubleClick,onEdgeUpdateStart:u.onEdgeUpdateStart,onEdgeUpdateEnd:u.onEdgeUpdateEnd,rfId:u.rfId,ariaLabel:e.ariaLabel,isFocusable:c,pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth},e.id)})})]},e)),m&&jsxRuntime.exports.jsx("svg",{style:g,width:o,height:r,className:"react-flow__edges react-flow__connectionline react-flow__container",children:jsxRuntime.exports.jsx(ConnectionLine,{connectionNodeId:e,connectionHandleType:t,connectionLineStyle:l,connectionLineType:a,isConnectable:n,CustomConnectionLineComponent:c})})]})};EdgeRenderer.displayName="EdgeRenderer";var EdgeRenderer$1=react.exports.memo(EdgeRenderer);const selector$2=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Viewport({children:e}){var t=useStore(selector$2);return jsxRuntime.exports.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function useOnInitHandler(e){const t=useReactFlow(),n=react.exports.useRef(!1);react.exports.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const GraphView=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:o,onMoveEnd:r,onInit:i,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:p,onNodeContextMenu:h,onSelectionContextMenu:f,onSelectionStart:g,onSelectionEnd:m,connectionLineType:y,connectionLineStyle:b,connectionLineComponent:v,connectionLineContainerStyle:$,selectionKeyCode:_,selectionOnDrag:x,selectionMode:S,multiSelectionKeyCode:E,panActivationKeyCode:w,zoomActivationKeyCode:C,deleteKeyCode:N,onlyRenderVisibleElements:I,elementsSelectable:O,selectNodesOnDrag:P,defaultViewport:T,translateExtent:M,minZoom:D,maxZoom:L,preventScrolling:B,defaultMarkerColor:F,zoomOnScroll:G,zoomOnPinch:z,panOnScroll:V,panOnScrollSpeed:U,panOnScrollMode:H,zoomOnDoubleClick:K,panOnDrag:Y,onPaneClick:W,onPaneMouseEnter:X,onPaneMouseMove:Z,onPaneMouseLeave:q,onPaneScroll:Q,onPaneContextMenu:J,onEdgeUpdate:ee,onEdgeContextMenu:te,onEdgeMouseEnter:ne,onEdgeMouseMove:oe,onEdgeMouseLeave:re,edgeUpdaterRadius:ie,onEdgeUpdateStart:ae,onEdgeUpdateEnd:se,noDragClassName:R,noWheelClassName:le,noPanClassName:j,elevateEdgesOnSelect:ce,disableKeyboardA11y:k,nodeOrigin:ue,nodeExtent:de,rfId:A})=>(useOnInitHandler(i),jsxRuntime.exports.jsx(FlowRenderer$1,{onPaneClick:W,onPaneMouseEnter:X,onPaneMouseMove:Z,onPaneMouseLeave:q,onPaneContextMenu:J,onPaneScroll:Q,deleteKeyCode:N,selectionKeyCode:_,selectionOnDrag:x,selectionMode:S,onSelectionStart:g,onSelectionEnd:m,multiSelectionKeyCode:E,panActivationKeyCode:w,zoomActivationKeyCode:C,elementsSelectable:O,onMove:n,onMoveStart:o,onMoveEnd:r,zoomOnScroll:G,zoomOnPinch:z,zoomOnDoubleClick:K,panOnScroll:V,panOnScrollSpeed:U,panOnScrollMode:H,panOnDrag:Y,defaultViewport:T,translateExtent:M,minZoom:D,maxZoom:L,onSelectionContextMenu:f,preventScrolling:B,noDragClassName:R,noWheelClassName:le,noPanClassName:j,disableKeyboardA11y:k,children:jsxRuntime.exports.jsxs(Viewport,{children:[jsxRuntime.exports.jsx(EdgeRenderer$1,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:c,connectionLineType:y,connectionLineStyle:b,connectionLineComponent:v,connectionLineContainerStyle:$,onEdgeUpdate:ee,onlyRenderVisibleElements:I,onEdgeContextMenu:te,onEdgeMouseEnter:ne,onEdgeMouseMove:oe,onEdgeMouseLeave:re,onEdgeUpdateStart:ae,onEdgeUpdateEnd:se,edgeUpdaterRadius:ie,defaultMarkerColor:F,noPanClassName:j,elevateEdgesOnSelect:!!ce,disableKeyboardA11y:k,rfId:A}),jsxRuntime.exports.jsx("div",{className:"react-flow__edgelabel-renderer"}),jsxRuntime.exports.jsx(NodeRenderer$1,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:p,onNodeContextMenu:h,selectNodesOnDrag:P,onlyRenderVisibleElements:I,noPanClassName:j,noDragClassName:R,disableKeyboardA11y:k,nodeOrigin:ue,nodeExtent:de,rfId:A})]})}));GraphView.displayName="GraphView";var GraphView$1=react.exports.memo(GraphView);const infiniteExtent=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],initialState$3={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:infiniteExtent,nodeExtent:infiniteExtent,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionMode:ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectOnClick:!0,ariaLiveMessage:""},createRFStore=()=>createStore((u,d)=>({...initialState$3,setNodes:e=>{var{nodeInternals:t,nodeOrigin:n,elevateNodesOnSelect:o}=d();u({nodeInternals:createNodeInternals(e,t,n,o)})},getNodes:()=>Array.from(d().nodeInternals.values()),setEdges:e=>{const{defaultEdgeOptions:t={}}=d();u({edges:e.map(e=>({...t,...e}))})},setDefaultNodesAndEdges:(e,t)=>{var n=void 0!==e,o=void 0!==t,e=n?createNodeInternals(e,new Map,d().nodeOrigin,d().elevateNodesOnSelect):new Map;u({nodeInternals:e,edges:o?t:[],hasDefaultNodes:n,hasDefaultEdges:o})},updateNodeDimensions:e=>{const{onNodesChange:t,nodeInternals:r,fitViewOnInit:n,fitViewOnInitDone:o,fitViewOnInitOptions:i,domNode:a,nodeOrigin:s}=d();var l=a?.querySelector(".react-flow__viewport");if(l){l=window.getComputedStyle(l);const c=new window.DOMMatrixReadOnly(l.transform)["m22"];l=e.reduce((e,t)=>{var n,o=r.get(t.id);return o&&(n=getDimensions(t.nodeElement)).width&&n.height&&(o.width!==n.width||o.height!==n.height||t.forceUpdate)&&(r.set(o.id,{...o,[internalsSymbol]:{...o[internalsSymbol],handleBounds:{source:getHandleBounds(".source",t.nodeElement,c,s),target:getHandleBounds(".target",t.nodeElement,c,s)}},...n}),e.push({id:o.id,type:"dimensions",dimensions:n})),e},[]),e=o||n&&!o&&fitView(d,{initial:!0,...i});u({nodeInternals:new Map(r),fitViewOnInitDone:e}),0<l?.length&&t?.(l)}},updateNodePositions:(e,n=!0,o=!1)=>{const t=d()["triggerNodeChanges"];e=e.map(e=>{const t={id:e.id,type:"position",dragging:o};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t});t(e)},triggerNodeChanges:e=>{const{onNodesChange:t,nodeInternals:n,hasDefaultNodes:o,nodeOrigin:r,getNodes:i,elevateNodesOnSelect:a}=d();var s;e?.length&&(o&&(s=createNodeInternals(applyNodeChanges(e,i()),n,r,a),u({nodeInternals:s})),t?.(e))},addSelectedNodes:e=>{const{multiSelectionActive:t,edges:n,getNodes:o}=d();let r,i=null;t?r=e.map(e=>createSelectionChange(e,!0)):(r=getSelectionChanges(o(),e),i=getSelectionChanges(n,[])),updateNodesAndEdgesSelections({changedNodes:r,changedEdges:i,get:d,set:u})},addSelectedEdges:e=>{const{multiSelectionActive:t,edges:n,getNodes:o}=d();let r,i=null;t?r=e.map(e=>createSelectionChange(e,!0)):(r=getSelectionChanges(n,e),i=getSelectionChanges(o(),[])),updateNodesAndEdgesSelections({changedNodes:i,changedEdges:r,get:d,set:u})},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{const{edges:n,getNodes:o}=d(),r=e||o(),i=t||n;updateNodesAndEdgesSelections({changedNodes:r.map(e=>(e.selected=!1,createSelectionChange(e.id,!1))),changedEdges:i.map(e=>createSelectionChange(e.id,!1)),get:d,set:u})},setMinZoom:e=>{const{d3Zoom:t,maxZoom:n}=d();t?.scaleExtent([e,n]),u({minZoom:e})},setMaxZoom:e=>{const{d3Zoom:t,minZoom:n}=d();t?.scaleExtent([n,e]),u({maxZoom:e})},setTranslateExtent:e=>{d().d3Zoom?.translateExtent(e),u({translateExtent:e})},resetSelectedElements:()=>{const{edges:e,getNodes:t}=d(),n=t();updateNodesAndEdgesSelections({changedNodes:n.filter(e=>e.selected).map(e=>createSelectionChange(e.id,!1)),changedEdges:e.filter(e=>e.selected).map(e=>createSelectionChange(e.id,!1)),get:d,set:u})},setNodeExtent:t=>{const e=d()["nodeInternals"];e.forEach(e=>{e.positionAbsolute=clampPosition(e.position,t)}),u({nodeExtent:t,nodeInternals:new Map(e)})},cancelConnection:()=>u({connectionNodeId:initialState$3.connectionNodeId,connectionHandleId:initialState$3.connectionHandleId}),reset:()=>u({...initialState$3})})),ReactFlowProvider=({children:e})=>{const t=react.exports.useRef(null);return t.current||(t.current=createRFStore()),jsxRuntime.exports.jsx(Provider$1,{value:t.current,children:e})},Wrapper=(ReactFlowProvider.displayName="ReactFlowProvider",({children:e})=>{return react.exports.useContext(StoreContext)?jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment,{children:e}):jsxRuntime.exports.jsx(ReactFlowProvider,{children:e})});function useNodeOrEdgeTypes(e,t){return react.exports.useRef(null),react.exports.useMemo(()=>t(e),[e])}Wrapper.displayName="ReactFlowWrapper";const defaultNodeTypes={input:InputNode$1,default:DefaultNode$1,output:OutputNode$1,group:GroupNode},defaultEdgeTypes={default:BezierEdge,straight:StraightEdge,step:StepEdge,smoothstep:SmoothStepEdge,simplebezier:SimpleBezierEdge},initNodeOrigin=[0,0],initSnapGrid=[15,15],initDefaultViewport={x:0,y:0,zoom:1},wrapperStyle={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},ReactFlow=react.exports.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:i=defaultNodeTypes,edgeTypes:a=defaultEdgeTypes,onNodeClick:s,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:d,onMoveEnd:p,onConnect:h,onConnectStart:f,onConnectEnd:g,onClickConnectStart:m,onClickConnectEnd:y,onNodeMouseEnter:b,onNodeMouseMove:v,onNodeMouseLeave:$,onNodeContextMenu:_,onNodeDoubleClick:x,onNodeDragStart:S,onNodeDrag:E,onNodeDragStop:w,onNodesDelete:C,onEdgesDelete:M,onSelectionChange:D,onSelectionDragStart:L,onSelectionDrag:B,onSelectionDragStop:F,onSelectionContextMenu:G,onSelectionStart:z,onSelectionEnd:V,connectionMode:U=ConnectionMode.Strict,connectionLineType:H=ConnectionLineType.Bezier,connectionLineStyle:K,connectionLineComponent:Y,connectionLineContainerStyle:W,deleteKeyCode:X="Backspace",selectionKeyCode:Z="Shift",selectionOnDrag:q=!1,selectionMode:Q=SelectionMode.Full,panActivationKeyCode:J="Space",multiSelectionKeyCode:ee="Meta",zoomActivationKeyCode:te="Meta",snapToGrid:ne=!1,snapGrid:oe=initSnapGrid,onlyRenderVisibleElements:re=!1,selectNodesOnDrag:ie=!0,nodesDraggable:ae,nodesConnectable:se,nodesFocusable:le,nodeOrigin:N=initNodeOrigin,edgesFocusable:ce,elementsSelectable:ue,defaultViewport:de=initDefaultViewport,minZoom:I=.5,maxZoom:O=2,translateExtent:P=infiniteExtent,preventScrolling:pe=!0,nodeExtent:T,defaultMarkerColor:he="#b1b1b7",zoomOnScroll:fe=!0,zoomOnPinch:ge=!0,panOnScroll:me=!1,panOnScrollSpeed:ye=.5,panOnScrollMode:be=PanOnScrollMode.Free,zoomOnDoubleClick:ve=!0,panOnDrag:$e=!0,onPaneClick:_e,onPaneMouseEnter:xe,onPaneMouseMove:Se,onPaneMouseLeave:Ee,onPaneScroll:we,onPaneContextMenu:Ce,children:Ne,onEdgeUpdate:Ie,onEdgeContextMenu:Oe,onEdgeDoubleClick:Pe,onEdgeMouseEnter:Te,onEdgeMouseMove:Re,onEdgeMouseLeave:je,onEdgeUpdateStart:ke,onEdgeUpdateEnd:Ae,edgeUpdaterRadius:Me=10,onNodesChange:De,onEdgesChange:Le,noDragClassName:Be="nodrag",noWheelClassName:Fe="nowheel",noPanClassName:R="nopan",fitView:Ge=!1,fitViewOptions:ze,connectOnClick:Ve=!0,attributionPosition:Ue,proOptions:He,defaultEdgeOptions:Ke,elevateNodesOnSelect:Ye=!0,elevateEdgesOnSelect:We=!1,disableKeyboardA11y:j=!1,style:Xe,id:k,...Ze},qe)=>{var i=useNodeOrEdgeTypes(i,createNodeTypes),a=useNodeOrEdgeTypes(a,createEdgeTypes),A=k||"1";return jsxRuntime.exports.jsx("div",{...Ze,style:{...Xe,...wrapperStyle},ref:qe,className:cc(["react-flow",r]),"data-testid":"rf__wrapper",id:k,children:jsxRuntime.exports.jsxs(Wrapper,{children:[jsxRuntime.exports.jsx(GraphView$1,{onInit:c,onMove:u,onMoveStart:d,onMoveEnd:p,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:v,onNodeMouseLeave:$,onNodeContextMenu:_,onNodeDoubleClick:x,nodeTypes:i,edgeTypes:a,connectionLineType:H,connectionLineStyle:K,connectionLineComponent:Y,connectionLineContainerStyle:W,selectionKeyCode:Z,selectionOnDrag:q,selectionMode:Q,deleteKeyCode:X,multiSelectionKeyCode:ee,panActivationKeyCode:J,zoomActivationKeyCode:te,onlyRenderVisibleElements:re,selectNodesOnDrag:ie,defaultViewport:de,translateExtent:P,minZoom:I,maxZoom:O,preventScrolling:pe,zoomOnScroll:fe,zoomOnPinch:ge,zoomOnDoubleClick:ve,panOnScroll:me,panOnScrollSpeed:ye,panOnScrollMode:be,panOnDrag:$e,onPaneClick:_e,onPaneMouseEnter:xe,onPaneMouseMove:Se,onPaneMouseLeave:Ee,onPaneScroll:we,onPaneContextMenu:Ce,onSelectionContextMenu:G,onSelectionStart:z,onSelectionEnd:V,onEdgeUpdate:Ie,onEdgeContextMenu:Oe,onEdgeDoubleClick:Pe,onEdgeMouseEnter:Te,onEdgeMouseMove:Re,onEdgeMouseLeave:je,onEdgeUpdateStart:ke,onEdgeUpdateEnd:Ae,edgeUpdaterRadius:Me,defaultMarkerColor:he,noDragClassName:Be,noWheelClassName:Fe,noPanClassName:R,elevateEdgesOnSelect:We,rfId:A,disableKeyboardA11y:j,nodeOrigin:N,nodeExtent:T}),jsxRuntime.exports.jsx(StoreUpdater,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:f,onConnectEnd:g,onClickConnectStart:m,onClickConnectEnd:y,nodesDraggable:ae,nodesConnectable:se,nodesFocusable:le,edgesFocusable:ce,elementsSelectable:ue,elevateNodesOnSelect:Ye,minZoom:I,maxZoom:O,nodeExtent:T,onNodesChange:De,onEdgesChange:Le,snapToGrid:ne,snapGrid:oe,connectionMode:U,translateExtent:P,connectOnClick:Ve,defaultEdgeOptions:Ke,fitView:Ge,fitViewOptions:ze,onNodesDelete:C,onEdgesDelete:M,onNodeDragStart:S,onNodeDrag:E,onNodeDragStop:w,onSelectionDrag:B,onSelectionDragStart:L,onSelectionDragStop:F,noPanClassName:R,nodeOrigin:N,rfId:A}),jsxRuntime.exports.jsx(Wrapper$1,{onSelectionChange:D}),Ne,jsxRuntime.exports.jsx(Attribution,{proOptions:He,position:Ue}),jsxRuntime.exports.jsx(A11yDescriptions,{rfId:A,disableKeyboardA11y:j})]})})});function PlusIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:jsxRuntime.exports.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function MinusIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:jsxRuntime.exports.jsx("path",{d:"M0 0h32v4.2H0z"})})}function FitViewIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:jsxRuntime.exports.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function LockIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntime.exports.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function UnlockIcon(){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:jsxRuntime.exports.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}ReactFlow.displayName="ReactFlow";const ControlButton=({children:e,className:t,...n})=>jsxRuntime.exports.jsx("button",{type:"button",className:cc(["react-flow__controls-button",t]),...n,children:e}),isInteractiveSelector=(ControlButton.displayName="ControlButton",e=>e.nodesDraggable&&e.nodesConnectable&&e.elementsSelectable),Controls=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:c,children:u,position:d="bottom-left"})=>{const p=useStoreApi(),[h,f]=react.exports.useState(!1),g=useStore(isInteractiveSelector),{zoomIn:m,zoomOut:y,fitView:b}=useReactFlow();if(react.exports.useEffect(()=>{f(!0)},[]),!h)return null;return jsxRuntime.exports.jsxs(Panel,{className:cc(["react-flow__controls",c]),position:d,style:e,children:[t&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ControlButton,{onClick:()=>{m(),i?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",children:jsxRuntime.exports.jsx(PlusIcon,{})}),jsxRuntime.exports.jsx(ControlButton,{onClick:()=>{y(),a?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",children:jsxRuntime.exports.jsx(MinusIcon,{})})]}),n&&jsxRuntime.exports.jsx(ControlButton,{className:"react-flow__controls-fitview",onClick:()=>{b(r),s?.()},title:"fit view","aria-label":"fit view",children:jsxRuntime.exports.jsx(FitViewIcon,{})}),o&&jsxRuntime.exports.jsx(ControlButton,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l?.(!g)},title:"toggle interactivity","aria-label":"toggle interactivity",children:g?jsxRuntime.exports.jsx(UnlockIcon,{}):jsxRuntime.exports.jsx(LockIcon,{})}),u]})};Controls.displayName="Controls";var BackgroundVariant,Controls$1=react.exports.memo(Controls);function LinePattern({color:e,dimensions:t,lineWidth:n}){return jsxRuntime.exports.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H`+t[0]})}function DotPattern({color:e,radius:t}){return jsxRuntime.exports.jsx("circle",{cx:t,cy:t,r:t,fill:e})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(BackgroundVariant=BackgroundVariant||{});const defaultColor={[BackgroundVariant.Dots]:"#91919a",[BackgroundVariant.Lines]:"#eee",[BackgroundVariant.Cross]:"#e2e2e2"},defaultSize={[BackgroundVariant.Dots]:1,[BackgroundVariant.Lines]:1,[BackgroundVariant.Cross]:6},selector=e=>({transform:e.transform,patternId:"pattern-"+e.rfId});function Background({variant:e=BackgroundVariant.Dots,gap:t=20,size:n,lineWidth:o=1,color:r,style:i,className:a}){var s=react.exports.useRef(null),{transform:l,patternId:c}=useStore(selector,shallow),r=r||defaultColor[e],n=n||defaultSize[e],u=e===BackgroundVariant.Dots,e=e===BackgroundVariant.Cross,t=Array.isArray(t)?t:[t,t],t=[t[0]*l[2]||1,t[1]*l[2]||1],n=n*l[2],e=e?[n,n]:t,d=u?[n/2,n/2]:[e[0]/2,e[1]/2];return jsxRuntime.exports.jsxs("svg",{className:cc(["react-flow__background",a]),style:{...i,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:s,children:[jsxRuntime.exports.jsx("pattern",{id:c,x:l[0]%t[0],y:l[1]%t[1],width:t[0],height:t[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${d[0]},-${d[1]})`,children:u?jsxRuntime.exports.jsx(DotPattern,{color:r,radius:n/2}):jsxRuntime.exports.jsx(LinePattern,{dimensions:e,color:r,lineWidth:o})}),jsxRuntime.exports.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${c})`})]})}Background.displayName="Background";var match,version,store,wmget,wmhas,wmset,set,get,has,STATE,activeXDocument,IteratorPrototype$2,PrototypeOfArrayIteratorPrototype,arrayIterator,Background$1=react.exports.memo(Background),commonjsGlobal=(!function(){var e={};try{if(process)return process.env=Object.assign({},process.env),Object.assign(process.env,e)}catch(e){}globalThis.process={env:e}}(),"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}),check=function(e){return e&&e.Math==Math&&e},global$c=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof commonjsGlobal&&commonjsGlobal)||function(){return this}()||Function("return this")(),objectGetOwnPropertyDescriptor={},fails$c=function(e){try{return!!e()}catch(e){return!0}},fails$b=fails$c,descriptors=!fails$c(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),fails$a=fails$c,functionBindNative=!fails$c(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}),NATIVE_BIND$1=functionBindNative,call$6=Function.prototype.call,functionCall=NATIVE_BIND$1?call$6.bind(call$6):function(){return call$6.apply(call$6,arguments)},objectPropertyIsEnumerable={},$propertyIsEnumerable={}.propertyIsEnumerable,getOwnPropertyDescriptor$2=Object.getOwnPropertyDescriptor,NASHORN_BUG=getOwnPropertyDescriptor$2&&!$propertyIsEnumerable.call({1:2},1),createPropertyDescriptor$3=(objectPropertyIsEnumerable.f=NASHORN_BUG?function(e){e=getOwnPropertyDescriptor$2(this,e);return!!e&&e.enumerable}:$propertyIsEnumerable,function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}),NATIVE_BIND=functionBindNative,FunctionPrototype$1=Function.prototype,bind=FunctionPrototype$1.bind,call$5=FunctionPrototype$1.call,uncurryThis$c=NATIVE_BIND&&bind.bind(call$5,call$5),functionUncurryThis=NATIVE_BIND?function(e){return e&&uncurryThis$c(e)}:function(e){return e&&function(){return call$5.apply(e,arguments)}},uncurryThis$b=functionUncurryThis,toString$3=uncurryThis$b({}.toString),stringSlice$1=uncurryThis$b("".slice),classofRaw$1=function(e){return stringSlice$1(toString$3(e),8,-1)},uncurryThis$a=functionUncurryThis,fails$9=fails$c,classof$4=classofRaw$1,$Object$4=Object,split=functionUncurryThis("".split),indexedObject=fails$9(function(){return!$Object$4("z").propertyIsEnumerable(0)})?function(e){return"String"==classof$4(e)?split(e,""):$Object$4(e)}:$Object$4,$TypeError$8=TypeError,requireObjectCoercible$3=function(e){if(null==e)throw $TypeError$8("Can't call method on "+e);return e},IndexedObject$2=indexedObject,requireObjectCoercible$2=requireObjectCoercible$3,toIndexedObject$5=function(e){return IndexedObject$2(requireObjectCoercible$2(e))},isCallable$f=function(e){return"function"==typeof e},isCallable$e=isCallable$f,isObject$6=function(e){return"object"==typeof e?null!==e:isCallable$e(e)},global$b=global$c,isCallable$d=isCallable$f,aFunction=function(e){return isCallable$d(e)?e:void 0},getBuiltIn$4=function(e,t){return arguments.length<2?aFunction(global$b[e]):global$b[e]&&global$b[e][t]},uncurryThis$9=functionUncurryThis,objectIsPrototypeOf=functionUncurryThis({}.isPrototypeOf),getBuiltIn$3=getBuiltIn$4,engineUserAgent=getBuiltIn$4("navigator","userAgent")||"",global$a=global$c,userAgent=engineUserAgent,process$1=global$a.process,Deno=global$a.Deno,versions=process$1&&process$1.versions||Deno&&Deno.version,v8=versions&&versions.v8,engineV8Version=version=!(version=v8?0<(match=v8.split("."))[0]&&match[0]<4?1:+(match[0]+match[1]):version)&&userAgent&&(!(match=userAgent.match(/Edge\/(\d+)/))||74<=match[1])&&(match=userAgent.match(/Chrome\/(\d+)/))?+match[1]:version,V8_VERSION=engineV8Version,fails$8=fails$c,nativeSymbol=!!Object.getOwnPropertySymbols&&!fails$8(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&V8_VERSION&&V8_VERSION<41}),NATIVE_SYMBOL$1=nativeSymbol,useSymbolAsUid=nativeSymbol&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,getBuiltIn$2=getBuiltIn$4,isCallable$c=isCallable$f,isPrototypeOf=objectIsPrototypeOf,USE_SYMBOL_AS_UID$1=useSymbolAsUid,$Object$3=Object,isSymbol$2=useSymbolAsUid?function(e){return"symbol"==typeof e}:function(e){var t=getBuiltIn$2("Symbol");return isCallable$c(t)&&isPrototypeOf(t.prototype,$Object$3(e))},$String$3=String,tryToString$1=function(e){try{return $String$3(e)}catch(e){return"Object"}},isCallable$b=isCallable$f,tryToString=tryToString$1,$TypeError$7=TypeError,aCallable$2=function(e){if(isCallable$b(e))return e;throw $TypeError$7(tryToString(e)+" is not a function")},aCallable$1=aCallable$2,getMethod$1=function(e,t){e=e[t];return null==e?void 0:aCallable$1(e)},call$4=functionCall,isCallable$a=isCallable$f,isObject$5=isObject$6,$TypeError$6=TypeError,ordinaryToPrimitive$1=function(e,t){var n,o;if("string"===t&&isCallable$a(n=e.toString)&&!isObject$5(o=call$4(n,e)))return o;if(isCallable$a(n=e.valueOf)&&!isObject$5(o=call$4(n,e)))return o;if("string"!==t&&isCallable$a(n=e.toString)&&!isObject$5(o=call$4(n,e)))return o;throw $TypeError$6("Can't convert object to primitive value")},shared$3={exports:{}},global$9=global$c,defineProperty$5=Object.defineProperty,defineGlobalProperty$3=function(t,n){try{defineProperty$5(global$9,t,{value:n,configurable:!0,writable:!0})}catch(e){global$9[t]=n}return n},global$8=global$c,defineGlobalProperty$2=defineGlobalProperty$3,SHARED="__core-js_shared__",store$3=global$c[SHARED]||defineGlobalProperty$2(SHARED,{}),sharedStore=store$3,store$2=sharedStore,requireObjectCoercible$1=((shared$3.exports=function(e,t){return store$2[e]||(store$2[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.24.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE",source:"https://github.com/zloirock/core-js"}),requireObjectCoercible$3),$Object$2=Object,toObject$4=function(e){return $Object$2(requireObjectCoercible$1(e))},uncurryThis$8=functionUncurryThis,toObject$3=toObject$4,hasOwnProperty=functionUncurryThis({}.hasOwnProperty),hasOwnProperty_1=Object.hasOwn||function(e,t){return hasOwnProperty(toObject$3(e),t)},uncurryThis$7=functionUncurryThis,id=0,postfix=Math.random(),toString$2=uncurryThis$7(1..toString),uid$2=function(e){return"Symbol("+(void 0===e?"":e)+")_"+toString$2(++id+postfix,36)},global$7=global$c,shared$2=shared$3.exports,hasOwn$8=hasOwnProperty_1,uid$1=uid$2,NATIVE_SYMBOL=nativeSymbol,USE_SYMBOL_AS_UID=useSymbolAsUid,WellKnownSymbolsStore=shared$2("wks"),Symbol$1=global$7.Symbol,symbolFor=Symbol$1&&Symbol$1.for,createWellKnownSymbol=USE_SYMBOL_AS_UID?Symbol$1:Symbol$1&&Symbol$1.withoutSetter||uid$1,wellKnownSymbol$a=function(e){var t;return hasOwn$8(WellKnownSymbolsStore,e)&&(NATIVE_SYMBOL||"string"==typeof WellKnownSymbolsStore[e])||(t="Symbol."+e,NATIVE_SYMBOL&&hasOwn$8(Symbol$1,e)?WellKnownSymbolsStore[e]=Symbol$1[e]:WellKnownSymbolsStore[e]=(USE_SYMBOL_AS_UID&&symbolFor?symbolFor:createWellKnownSymbol)(t)),WellKnownSymbolsStore[e]},call$3=functionCall,isObject$4=isObject$6,isSymbol$1=isSymbol$2,getMethod=getMethod$1,ordinaryToPrimitive=ordinaryToPrimitive$1,wellKnownSymbol$9=wellKnownSymbol$a,$TypeError$5=TypeError,TO_PRIMITIVE=wellKnownSymbol$a("toPrimitive"),toPrimitive$1=function(e,t){if(!isObject$4(e)||isSymbol$1(e))return e;var n=getMethod(e,TO_PRIMITIVE);if(n){if(n=call$3(n,e,t=void 0===t?"default":t),!isObject$4(n)||isSymbol$1(n))return n;throw $TypeError$5("Can't convert object to primitive value")}return ordinaryToPrimitive(e,t=void 0===t?"number":t)},toPrimitive=toPrimitive$1,isSymbol=isSymbol$2,toPropertyKey$2=function(e){e=toPrimitive(e,"string");return isSymbol(e)?e:e+""},global$6=global$c,isObject$3=isObject$6,document$1=global$c.document,EXISTS$1=isObject$3(document$1)&&isObject$3(document$1.createElement),documentCreateElement$2=function(e){return EXISTS$1?document$1.createElement(e):{}},DESCRIPTORS$9=descriptors,fails$7=fails$c,createElement=documentCreateElement$2,ie8DomDefine=!descriptors&&!fails$c(function(){return 7!=Object.defineProperty(createElement("div"),"a",{get:function(){return 7}}).a}),DESCRIPTORS$8=descriptors,call$2=functionCall,propertyIsEnumerableModule$1=objectPropertyIsEnumerable,createPropertyDescriptor$2=createPropertyDescriptor$3,toIndexedObject$4=toIndexedObject$5,toPropertyKey$1=toPropertyKey$2,hasOwn$7=hasOwnProperty_1,IE8_DOM_DEFINE$1=ie8DomDefine,$getOwnPropertyDescriptor$1=Object.getOwnPropertyDescriptor,objectDefineProperty=(objectGetOwnPropertyDescriptor.f=DESCRIPTORS$8?$getOwnPropertyDescriptor$1:function(e,t){if(e=toIndexedObject$4(e),t=toPropertyKey$1(t),IE8_DOM_DEFINE$1)try{return $getOwnPropertyDescriptor$1(e,t)}catch(e){}if(hasOwn$7(e,t))return createPropertyDescriptor$2(!call$2(propertyIsEnumerableModule$1.f,e,t),e[t])},{}),DESCRIPTORS$7=descriptors,fails$6=fails$c,v8PrototypeDefineBug=descriptors&&fails$c(function(){return 42!=Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),isObject$2=isObject$6,$String$2=String,$TypeError$4=TypeError,anObject$5=function(e){if(isObject$2(e))return e;throw $TypeError$4($String$2(e)+" is not an object")},DESCRIPTORS$6=descriptors,IE8_DOM_DEFINE=ie8DomDefine,V8_PROTOTYPE_DEFINE_BUG$1=v8PrototypeDefineBug,anObject$4=anObject$5,toPropertyKey=toPropertyKey$2,$TypeError$3=TypeError,$defineProperty=Object.defineProperty,$getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,ENUMERABLE="enumerable",CONFIGURABLE$1="configurable",WRITABLE="writable",DESCRIPTORS$5=(objectDefineProperty.f=DESCRIPTORS$6?V8_PROTOTYPE_DEFINE_BUG$1?function(e,t,n){var o;return anObject$4(e),t=toPropertyKey(t),anObject$4(n),"function"==typeof e&&"prototype"===t&&"value"in n&&WRITABLE in n&&!n[WRITABLE]&&((o=$getOwnPropertyDescriptor(e,t))&&o[WRITABLE]&&(e[t]=n.value,n={configurable:(CONFIGURABLE$1 in n?n:o)[CONFIGURABLE$1],enumerable:(ENUMERABLE in n?n:o)[ENUMERABLE],writable:!1})),$defineProperty(e,t,n)}:$defineProperty:function(e,t,n){if(anObject$4(e),t=toPropertyKey(t),anObject$4(n),IE8_DOM_DEFINE)try{return $defineProperty(e,t,n)}catch(e){}if("get"in n||"set"in n)throw $TypeError$3("Accessors not supported");return"value"in n&&(e[t]=n.value),e},descriptors),definePropertyModule$3=objectDefineProperty,createPropertyDescriptor$1=createPropertyDescriptor$3,createNonEnumerableProperty$4=DESCRIPTORS$5?function(e,t,n){return definePropertyModule$3.f(e,t,createPropertyDescriptor$1(1,n))}:function(e,t,n){return e[t]=n,e},makeBuiltIn$2={exports:{}},DESCRIPTORS$4=descriptors,hasOwn$6=hasOwnProperty_1,FunctionPrototype=Function.prototype,getDescriptor=DESCRIPTORS$4&&Object.getOwnPropertyDescriptor,EXISTS=hasOwn$6(FunctionPrototype,"name"),PROPER=EXISTS&&"something"===function(){}.name,CONFIGURABLE=EXISTS&&(!DESCRIPTORS$4||getDescriptor(FunctionPrototype,"name").configurable),functionName={EXISTS:EXISTS,PROPER:PROPER,CONFIGURABLE:CONFIGURABLE},uncurryThis$6=functionUncurryThis,isCallable$9=isCallable$f,store$1=sharedStore,functionToString=functionUncurryThis(Function.toString),inspectSource$2=(isCallable$9(store$1.inspectSource)||(store$1.inspectSource=function(e){return functionToString(e)}),store$1.inspectSource),global$5=global$c,isCallable$8=isCallable$f,inspectSource$1=inspectSource$2,WeakMap$1=global$c.WeakMap,nativeWeakMap=isCallable$8(WeakMap$1)&&/native code/.test(inspectSource$1(WeakMap$1)),shared$1=shared$3.exports,uid=uid$2,keys=shared$1("keys"),sharedKey$3=function(e){return keys[e]||(keys[e]=uid(e))},hiddenKeys$4={},NATIVE_WEAK_MAP=nativeWeakMap,global$4=global$c,uncurryThis$5=functionUncurryThis,isObject$1=isObject$6,createNonEnumerableProperty$3=createNonEnumerableProperty$4,hasOwn$5=hasOwnProperty_1,shared=sharedStore,sharedKey$2=sharedKey$3,hiddenKeys$3=hiddenKeys$4,OBJECT_ALREADY_INITIALIZED="Object already initialized",TypeError$1=global$4.TypeError,WeakMap=global$4.WeakMap,enforce=function(e){return has(e)?get(e):set(e,{})},getterFor=function(t){return function(e){if(isObject$1(e)&&(e=get(e)).type===t)return e;throw TypeError$1("Incompatible receiver, "+t+" required")}},internalState=(has=NATIVE_WEAK_MAP||shared.state?(store=shared.state||(shared.state=new WeakMap),wmget=uncurryThis$5(store.get),wmhas=uncurryThis$5(store.has),wmset=uncurryThis$5(store.set),set=function(e,t){if(wmhas(store,e))throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);return t.facade=e,wmset(store,e,t),t},get=function(e){return wmget(store,e)||{}},function(e){return wmhas(store,e)}):(STATE=sharedKey$2("state"),hiddenKeys$3[STATE]=!0,set=function(e,t){if(hasOwn$5(e,STATE))throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);return t.facade=e,createNonEnumerableProperty$3(e,STATE,t),t},get=function(e){return hasOwn$5(e,STATE)?e[STATE]:{}},function(e){return hasOwn$5(e,STATE)}),{set:set,get:get,has:has,enforce:enforce,getterFor:getterFor}),fails$5=fails$c,isCallable$7=isCallable$f,hasOwn$4=hasOwnProperty_1,DESCRIPTORS$3=descriptors,CONFIGURABLE_FUNCTION_NAME$1=functionName.CONFIGURABLE,inspectSource=inspectSource$2,InternalStateModule$1=internalState,enforceInternalState=InternalStateModule$1.enforce,getInternalState$1=InternalStateModule$1.get,defineProperty$4=Object.defineProperty,CONFIGURABLE_LENGTH=DESCRIPTORS$3&&!fails$5(function(){return 8!==defineProperty$4(function(){},"length",{value:8}).length}),TEMPLATE=String(String).split("String"),makeBuiltIn$1=makeBuiltIn$2.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!hasOwn$4(e,"name")||CONFIGURABLE_FUNCTION_NAME$1&&e.name!==t)&&(DESCRIPTORS$3?defineProperty$4(e,"name",{value:t,configurable:!0}):e.name=t),CONFIGURABLE_LENGTH&&n&&hasOwn$4(n,"arity")&&e.length!==n.arity&&defineProperty$4(e,"length",{value:n.arity});try{n&&hasOwn$4(n,"constructor")&&n.constructor?DESCRIPTORS$3&&defineProperty$4(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}n=enforceInternalState(e);return hasOwn$4(n,"source")||(n.source=TEMPLATE.join("string"==typeof t?t:"")),e},isCallable$6=(Function.prototype.toString=makeBuiltIn$1(function(){return isCallable$7(this)&&getInternalState$1(this).source||inspectSource(this)},"toString"),isCallable$f),definePropertyModule$2=objectDefineProperty,makeBuiltIn=makeBuiltIn$2.exports,defineGlobalProperty$1=defineGlobalProperty$3,defineBuiltIn$3=function(e,t,n,o){var r=(o=o||{}).enumerable,i=void 0!==o.name?o.name:t;if(isCallable$6(n)&&makeBuiltIn(n,i,o),o.global)r?e[t]=n:defineGlobalProperty$1(t,n);else{try{o.unsafe?e[t]&&(r=!0):delete e[t]}catch(e){}r?e[t]=n:definePropertyModule$2.f(e,t,{value:n,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e},objectGetOwnPropertyNames={},ceil=Math.ceil,floor=Math.floor,mathTrunc=Math.trunc||function(e){e=+e;return(0<e?floor:ceil)(e)},trunc=mathTrunc,toIntegerOrInfinity$2=function(e){e=+e;return e!=e||0==e?0:trunc(e)},toIntegerOrInfinity$1=toIntegerOrInfinity$2,max=Math.max,min$2=Math.min,toAbsoluteIndex$1=function(e,t){e=toIntegerOrInfinity$1(e);return e<0?max(e+t,0):min$2(e,t)},toIntegerOrInfinity=toIntegerOrInfinity$2,min$1=Math.min,toLength$2=function(e){return 0<e?min$1(toIntegerOrInfinity(e),9007199254740991):0},toLength$1=toLength$2,lengthOfArrayLike$2=function(e){return toLength$1(e.length)},toIndexedObject$3=toIndexedObject$5,toAbsoluteIndex=toAbsoluteIndex$1,lengthOfArrayLike$1=lengthOfArrayLike$2,createMethod$1=function(s){return function(e,t,n){var o,r=toIndexedObject$3(e),i=lengthOfArrayLike$1(r),a=toAbsoluteIndex(n,i);if(s&&t!=t){for(;a<i;)if((o=r[a++])!=o)return!0}else for(;a<i;a++)if((s||a in r)&&r[a]===t)return s||a||0;return!s&&-1}},arrayIncludes={includes:createMethod$1(!0),indexOf:createMethod$1(!1)},uncurryThis$4=functionUncurryThis,hasOwn$3=hasOwnProperty_1,toIndexedObject$2=toIndexedObject$5,indexOf=arrayIncludes.indexOf,hiddenKeys$2=hiddenKeys$4,push=uncurryThis$4([].push),objectKeysInternal=function(e,t){var n,o=toIndexedObject$2(e),r=0,i=[];for(n in o)!hasOwn$3(hiddenKeys$2,n)&&hasOwn$3(o,n)&&push(i,n);for(;t.length>r;)!hasOwn$3(o,n=t[r++])||~indexOf(i,n)||push(i,n);return i},enumBugKeys$3=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],internalObjectKeys$1=objectKeysInternal,enumBugKeys$2=enumBugKeys$3,hiddenKeys$1=enumBugKeys$3.concat("length","prototype"),objectGetOwnPropertySymbols=(objectGetOwnPropertyNames.f=Object.getOwnPropertyNames||function(e){return internalObjectKeys$1(e,hiddenKeys$1)},{}),getBuiltIn$1=(objectGetOwnPropertySymbols.f=Object.getOwnPropertySymbols,getBuiltIn$4),uncurryThis$3=functionUncurryThis,getOwnPropertyNamesModule=objectGetOwnPropertyNames,getOwnPropertySymbolsModule$1=objectGetOwnPropertySymbols,anObject$3=anObject$5,concat$1=functionUncurryThis([].concat),ownKeys$1=getBuiltIn$1("Reflect","ownKeys")||function(e){var t=getOwnPropertyNamesModule.f(anObject$3(e)),n=getOwnPropertySymbolsModule$1.f;return n?concat$1(t,n(e)):t},hasOwn$2=hasOwnProperty_1,ownKeys=ownKeys$1,getOwnPropertyDescriptorModule=objectGetOwnPropertyDescriptor,definePropertyModule$1=objectDefineProperty,copyConstructorProperties$1=function(e,t,n){for(var o=ownKeys(t),r=definePropertyModule$1.f,i=getOwnPropertyDescriptorModule.f,a=0;a<o.length;a++){var s=o[a];hasOwn$2(e,s)||n&&hasOwn$2(n,s)||r(e,s,i(t,s))}},fails$4=fails$c,isCallable$5=isCallable$f,replacement=/#|\.prototype\./,isForced$1=function(e,t){e=data[normalize(e)];return e==POLYFILL||e!=NATIVE&&(isCallable$5(t)?fails$4(t):!!t)},normalize=isForced$1.normalize=function(e){return String(e).replace(replacement,".").toLowerCase()},data=isForced$1.data={},NATIVE=isForced$1.NATIVE="N",POLYFILL=isForced$1.POLYFILL="P",isForced_1=isForced$1,global$3=global$c,getOwnPropertyDescriptor$1=objectGetOwnPropertyDescriptor.f,createNonEnumerableProperty$2=createNonEnumerableProperty$4,defineBuiltIn$2=defineBuiltIn$3,defineGlobalProperty=defineGlobalProperty$3,copyConstructorProperties=copyConstructorProperties$1,isForced=isForced_1,_export=function(e,t){var n,o,r,i=e.target,a=e.global,s=e.stat,l=a?global$3:s?global$3[i]||defineGlobalProperty(i,{}):(global$3[i]||{}).prototype;if(l)for(n in t){if(o=t[n],r=e.dontCallGetSet?(r=getOwnPropertyDescriptor$1(l,n))&&r.value:l[n],!isForced(a?n:i+(s?".":"#")+n,e.forced)&&void 0!==r){if(typeof o==typeof r)continue;copyConstructorProperties(o,r)}(e.sham||r&&r.sham)&&createNonEnumerableProperty$2(o,"sham",!0),defineBuiltIn$2(l,n,o,e)}},internalObjectKeys=objectKeysInternal,enumBugKeys$1=enumBugKeys$3,objectKeys$2=Object.keys||function(e){return internalObjectKeys(e,enumBugKeys$1)},DESCRIPTORS$2=descriptors,uncurryThis$2=functionUncurryThis,call$1=functionCall,fails$3=fails$c,objectKeys$1=objectKeys$2,getOwnPropertySymbolsModule=objectGetOwnPropertySymbols,propertyIsEnumerableModule=objectPropertyIsEnumerable,toObject$2=toObject$4,IndexedObject$1=indexedObject,$assign=Object.assign,defineProperty$3=Object.defineProperty,concat=uncurryThis$2([].concat),objectAssign=!$assign||fails$3(function(){if(DESCRIPTORS$2&&1!==$assign({b:1},$assign(defineProperty$3({},"a",{enumerable:!0,get:function(){defineProperty$3(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),o="abcdefghijklmnopqrst";return e[n]=7,o.split("").forEach(function(e){t[e]=e}),7!=$assign({},e)[n]||objectKeys$1($assign({},t)).join("")!=o})?function(e,t){for(var n=toObject$2(e),o=arguments.length,r=1,i=getOwnPropertySymbolsModule.f,a=propertyIsEnumerableModule.f;r<o;)for(var s,l=IndexedObject$1(arguments[r++]),c=i?concat(objectKeys$1(l),i(l)):objectKeys$1(l),u=c.length,d=0;d<u;)s=c[d++],DESCRIPTORS$2&&!call$1(a,l,s)||(n[s]=l[s]);return n}:$assign,$$3=_export,assign=objectAssign,objectDefineProperties=(_export({target:"Object",stat:!0,arity:2,forced:Object.assign!==assign},{assign:assign}),{}),DESCRIPTORS$1=descriptors,V8_PROTOTYPE_DEFINE_BUG=v8PrototypeDefineBug,definePropertyModule=objectDefineProperty,anObject$2=anObject$5,toIndexedObject$1=toIndexedObject$5,objectKeys=objectKeys$2,getBuiltIn=(objectDefineProperties.f=DESCRIPTORS$1&&!V8_PROTOTYPE_DEFINE_BUG?Object.defineProperties:function(e,t){anObject$2(e);for(var n,o=toIndexedObject$1(t),r=objectKeys(t),i=r.length,a=0;a<i;)definePropertyModule.f(e,n=r[a++],o[n]);return e},getBuiltIn$4),html$1=getBuiltIn$4("document","documentElement"),anObject$1=anObject$5,definePropertiesModule=objectDefineProperties,enumBugKeys=enumBugKeys$3,hiddenKeys=hiddenKeys$4,html=html$1,documentCreateElement$1=documentCreateElement$2,sharedKey$1=sharedKey$3,GT=">",LT="<",PROTOTYPE="prototype",SCRIPT="script",IE_PROTO$1=sharedKey$3("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return LT+SCRIPT+GT+e+LT+"/"+SCRIPT+GT},NullProtoObjectViaActiveX=function(e){e.write(scriptTag("")),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObjectViaIFrame=function(){var e=documentCreateElement$1("iframe"),t="java"+SCRIPT+":";return e.style.display="none",html.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(scriptTag("document.F=Object")),t.close(),t.F},NullProtoObject=function(){try{activeXDocument=new ActiveXObject("htmlfile")}catch(e){}NullProtoObject="undefined"==typeof document||document.domain&&activeXDocument?NullProtoObjectViaActiveX(activeXDocument):NullProtoObjectViaIFrame();for(var e=enumBugKeys.length;e--;)delete NullProtoObject[PROTOTYPE][enumBugKeys[e]];return NullProtoObject()},objectCreate=(hiddenKeys[IE_PROTO$1]=!0,Object.create||function(e,t){var n;return null!==e?(EmptyConstructor[PROTOTYPE]=anObject$1(e),n=new EmptyConstructor,EmptyConstructor[PROTOTYPE]=null,n[IE_PROTO$1]=e):n=NullProtoObject(),void 0===t?n:definePropertiesModule.f(n,t)}),wellKnownSymbol$8=wellKnownSymbol$a,create$1=objectCreate,defineProperty$2=objectDefineProperty.f,UNSCOPABLES=wellKnownSymbol$8("unscopables"),ArrayPrototype=Array.prototype,addToUnscopables$1=(null==ArrayPrototype[UNSCOPABLES]&&defineProperty$2(ArrayPrototype,UNSCOPABLES,{configurable:!0,value:create$1(null)}),function(e){ArrayPrototype[UNSCOPABLES][e]=!0}),iterators={},fails$2=fails$c,correctPrototypeGetter=!fails$c(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),hasOwn$1=hasOwnProperty_1,isCallable$4=isCallable$f,toObject$1=toObject$4,sharedKey=sharedKey$3,CORRECT_PROTOTYPE_GETTER=correctPrototypeGetter,IE_PROTO=sharedKey$3("IE_PROTO"),$Object$1=Object,ObjectPrototype=$Object$1.prototype,objectGetPrototypeOf=CORRECT_PROTOTYPE_GETTER?$Object$1.getPrototypeOf:function(e){e=toObject$1(e);if(hasOwn$1(e,IE_PROTO))return e[IE_PROTO];var t=e.constructor;return isCallable$4(t)&&e instanceof t?t.prototype:e instanceof $Object$1?ObjectPrototype:null},fails$1=fails$c,isCallable$3=isCallable$f,getPrototypeOf$1=objectGetPrototypeOf,defineBuiltIn$1=defineBuiltIn$3,wellKnownSymbol$7=wellKnownSymbol$a,ITERATOR$2=wellKnownSymbol$a("iterator"),BUGGY_SAFARI_ITERATORS$1=!1,NEW_ITERATOR_PROTOTYPE=([].keys&&("next"in(arrayIterator=[].keys())?(PrototypeOfArrayIteratorPrototype=getPrototypeOf$1(getPrototypeOf$1(arrayIterator)))!==Object.prototype&&(IteratorPrototype$2=PrototypeOfArrayIteratorPrototype):BUGGY_SAFARI_ITERATORS$1=!0),null==IteratorPrototype$2||fails$1(function(){var e={};return IteratorPrototype$2[ITERATOR$2].call(e)!==e})),iteratorsCore=(isCallable$3((IteratorPrototype$2=NEW_ITERATOR_PROTOTYPE?{}:IteratorPrototype$2)[ITERATOR$2])||defineBuiltIn$1(IteratorPrototype$2,ITERATOR$2,function(){return this}),{IteratorPrototype:IteratorPrototype$2,BUGGY_SAFARI_ITERATORS:BUGGY_SAFARI_ITERATORS$1}),defineProperty$1=objectDefineProperty.f,hasOwn=hasOwnProperty_1,wellKnownSymbol$6=wellKnownSymbol$a,TO_STRING_TAG$3=wellKnownSymbol$a("toStringTag"),setToStringTag$2=function(e,t,n){(e=e&&!n?e.prototype:e)&&!hasOwn(e,TO_STRING_TAG$3)&&defineProperty$1(e,TO_STRING_TAG$3,{configurable:!0,value:t})},IteratorPrototype$1=iteratorsCore.IteratorPrototype,create=objectCreate,createPropertyDescriptor=createPropertyDescriptor$3,setToStringTag$1=setToStringTag$2,Iterators$2=iterators,returnThis$1=function(){return this},createIteratorConstructor$1=function(e,t,n,o){t+=" Iterator";return e.prototype=create(IteratorPrototype$1,{next:createPropertyDescriptor(+!o,n)}),setToStringTag$1(e,t,!1),Iterators$2[t]=returnThis$1,e},isCallable$2=isCallable$f,$String$1=String,$TypeError$2=TypeError,aPossiblePrototype$1=function(e){if("object"==typeof e||isCallable$2(e))return e;throw $TypeError$2("Can't set "+$String$1(e)+" as a prototype")},uncurryThis$1=functionUncurryThis,anObject=anObject$5,aPossiblePrototype=aPossiblePrototype$1,objectSetPrototypeOf=Object.setPrototypeOf||("__proto__"in{}?function(){var n,o=!1,e={};try{(n=uncurryThis$1(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(e,[]),o=e instanceof Array}catch(e){}return function(e,t){return anObject(e),aPossiblePrototype(t),o?n(e,t):e.__proto__=t,e}}():void 0),$$2=_export,call=functionCall,FunctionName=functionName,isCallable$1=isCallable$f,createIteratorConstructor=createIteratorConstructor$1,getPrototypeOf=objectGetPrototypeOf,setPrototypeOf=objectSetPrototypeOf,setToStringTag=setToStringTag$2,createNonEnumerableProperty$1=createNonEnumerableProperty$4,defineBuiltIn=defineBuiltIn$3,wellKnownSymbol$5=wellKnownSymbol$a,Iterators$1=iterators,IteratorsCore=iteratorsCore,PROPER_FUNCTION_NAME=FunctionName.PROPER,CONFIGURABLE_FUNCTION_NAME=FunctionName.CONFIGURABLE,IteratorPrototype=IteratorsCore.IteratorPrototype,BUGGY_SAFARI_ITERATORS=IteratorsCore.BUGGY_SAFARI_ITERATORS,ITERATOR$1=wellKnownSymbol$5("iterator"),KEYS="keys",VALUES="values",ENTRIES="entries",returnThis=function(){return this},defineIterator$1=function(e,t,n,o,r,i,a){createIteratorConstructor(n,t,o);function s(e){if(e===r&&h)return h;if(!BUGGY_SAFARI_ITERATORS&&e in d)return d[e];switch(e){case KEYS:case VALUES:case ENTRIES:return function(){return new n(this,e)}}return function(){return new n(this)}}var l,c,o=t+" Iterator",u=!1,d=e.prototype,p=d[ITERATOR$1]||d["@@iterator"]||r&&d[r],h=!BUGGY_SAFARI_ITERATORS&&p||s(r),f="Array"==t&&d.entries||p;if(f&&(f=getPrototypeOf(f.call(new e)))!==Object.prototype&&f.next&&(getPrototypeOf(f)!==IteratorPrototype&&(setPrototypeOf?setPrototypeOf(f,IteratorPrototype):isCallable$1(f[ITERATOR$1])||defineBuiltIn(f,ITERATOR$1,returnThis)),setToStringTag(f,o,!0)),PROPER_FUNCTION_NAME&&r==VALUES&&p&&p.name!==VALUES&&(CONFIGURABLE_FUNCTION_NAME?createNonEnumerableProperty$1(d,"name",VALUES):(u=!0,h=function(){return call(p,this)})),r)if(l={values:s(VALUES),keys:i?h:s(KEYS),entries:s(ENTRIES)},a)for(c in l)!BUGGY_SAFARI_ITERATORS&&!u&&c in d||defineBuiltIn(d,c,l[c]);else $$2({target:t,proto:!0,forced:BUGGY_SAFARI_ITERATORS||u},l);return d[ITERATOR$1]!==h&&defineBuiltIn(d,ITERATOR$1,h,{name:r}),Iterators$1[t]=h,l},toIndexedObject=toIndexedObject$5,addToUnscopables=addToUnscopables$1,Iterators=iterators,InternalStateModule=internalState,defineProperty=objectDefineProperty.f,defineIterator=defineIterator$1,DESCRIPTORS=descriptors,ARRAY_ITERATOR="Array Iterator",setInternalState=InternalStateModule.set,getInternalState=InternalStateModule.getterFor(ARRAY_ITERATOR),es_array_iterator=defineIterator(Array,"Array",function(e,t){setInternalState(this,{type:ARRAY_ITERATOR,target:toIndexedObject(e),index:0,kind:t})},function(){var e=getInternalState(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?{value:e.target=void 0,done:!0}:"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}},"values"),values=Iterators.Arguments=Iterators.Array;if(addToUnscopables("keys"),addToUnscopables("values"),addToUnscopables("entries"),DESCRIPTORS&&"values"!==values.name)try{defineProperty(values,"name",{value:"values"})}catch(e){}var COLLECTION_NAME,domIterables={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},documentCreateElement=documentCreateElement$2,classList=documentCreateElement$2("span").classList,DOMTokenListPrototype$1=classList&&classList.constructor&&classList.constructor.prototype,domTokenListPrototype=DOMTokenListPrototype$1===Object.prototype?void 0:DOMTokenListPrototype$1,global$2=global$c,DOMIterables=domIterables,DOMTokenListPrototype=domTokenListPrototype,ArrayIteratorMethods=es_array_iterator,createNonEnumerableProperty=createNonEnumerableProperty$4,wellKnownSymbol$4=wellKnownSymbol$a,ITERATOR=wellKnownSymbol$4("iterator"),TO_STRING_TAG$2=wellKnownSymbol$4("toStringTag"),ArrayValues=ArrayIteratorMethods.values,handlePrototype=function(t,e){if(t){if(t[ITERATOR]!==ArrayValues)try{createNonEnumerableProperty(t,ITERATOR,ArrayValues)}catch(e){t[ITERATOR]=ArrayValues}if(t[TO_STRING_TAG$2]||createNonEnumerableProperty(t,TO_STRING_TAG$2,e),DOMIterables[e])for(var n in ArrayIteratorMethods)if(t[n]!==ArrayIteratorMethods[n])try{createNonEnumerableProperty(t,n,ArrayIteratorMethods[n])}catch(e){t[n]=ArrayIteratorMethods[n]}}};for(COLLECTION_NAME in DOMIterables)handlePrototype(global$2[COLLECTION_NAME]&&global$2[COLLECTION_NAME].prototype,COLLECTION_NAME);function __rest(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function __awaiter(e,a,s,l){return new(s=s||Promise)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}handlePrototype(DOMTokenListPrototype,"DOMTokenList");var LoadingStatus,EIoFolderType,EIoFolderMode,EEngineFolderMode,wellKnownSymbol$3=wellKnownSymbol$a,TO_STRING_TAG$1=wellKnownSymbol$a("toStringTag"),test={},toStringTagSupport=(test[TO_STRING_TAG$1]="z","[object z]"===String(test)),TO_STRING_TAG_SUPPORT=toStringTagSupport,isCallable=isCallable$f,classofRaw=classofRaw$1,wellKnownSymbol$2=wellKnownSymbol$a,TO_STRING_TAG=wellKnownSymbol$a("toStringTag"),$Object=Object,CORRECT_ARGUMENTS="Arguments"==classofRaw(function(){return arguments}()),tryGet=function(e,t){try{return e[t]}catch(e){}},classof$3=TO_STRING_TAG_SUPPORT?classofRaw:function(e){var t;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=tryGet(e=$Object(e),TO_STRING_TAG))?t:CORRECT_ARGUMENTS?classofRaw(e):"Object"==(t=classofRaw(e))&&isCallable(e.callee)?"Arguments":t},classof$2=classof$3,$String=String,toString$1=function(e){if("Symbol"===classof$2(e))throw TypeError("Cannot convert a Symbol value to a string");return $String(e)},isObject=isObject$6,classof$1=classofRaw$1,wellKnownSymbol$1=wellKnownSymbol$a,MATCH$1=wellKnownSymbol$a("match"),isRegexp=function(e){var t;return isObject(e)&&(void 0!==(t=e[MATCH$1])?!!t:"RegExp"==classof$1(e))},isRegExp=isRegexp,$TypeError$1=TypeError,notARegexp=function(e){if(isRegExp(e))throw $TypeError$1("The method doesn't accept regular expressions");return e},wellKnownSymbol=wellKnownSymbol$a,MATCH=wellKnownSymbol$a("match"),correctIsRegexpLogic=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[MATCH]=!1,"/./"[t](n)}catch(e){}}return!1},$$1=_export,uncurryThis=functionUncurryThis,getOwnPropertyDescriptor=objectGetOwnPropertyDescriptor.f,toLength=toLength$2,toString=toString$1,notARegExp=notARegexp,requireObjectCoercible=requireObjectCoercible$3,correctIsRegExpLogic=correctIsRegexpLogic,un$StartsWith=uncurryThis("".startsWith),stringSlice=uncurryThis("".slice),min=Math.min,CORRECT_IS_REGEXP_LOGIC=correctIsRegExpLogic("startsWith"),MDN_POLYFILL_BUG=!CORRECT_IS_REGEXP_LOGIC&&!!function(){var e=getOwnPropertyDescriptor(String.prototype,"startsWith");return e&&!e.writable}();$$1({target:"String",proto:!0,forced:!MDN_POLYFILL_BUG&&!CORRECT_IS_REGEXP_LOGIC},{startsWith:function(e){var t=toString(requireObjectCoercible(this)),n=(notARegExp(e),toLength(min(1<arguments.length?arguments[1]:void 0,t.length))),o=toString(e);return un$StartsWith?un$StartsWith(t,o,n):stringSlice(t,n,n+o.length)===o}});const SLICE_NAME="processingCenterDagBuilder",si2ChunkEngineDefinition=(!function(e){e.Failed="failed",e.Idle="idle",e.Pending="pending",e.Complete="complete"}(LoadingStatus=LoadingStatus||{}),!function(e){e.Input="input",e.Output="output"}(EIoFolderType=EIoFolderType||{}),!function(e){e.Stream="stream",e.Chunk="chunk",e.Ingest="ingest"}(EIoFolderMode=EIoFolderMode||{}),!function(e){e.Stream="Stream",e.Chunk="Chunk"}(EEngineFolderMode=EEngineFolderMode||{}),{id:"8bdb0e3b-ff28-4f6e-a3ba-887bd06e6440",loadingStatus:LoadingStatus.Complete,definition:{id:"8bdb0e3b-ff28-4f6e-a3ba-887bd06e6440",category:{name:"Ingestion",id:"4be1a1b2-653d-4eaa-ba18-747a265305d8"},name:"SI2 audio/video Chunk creator",mode:"Stream",outputFormats:["video/mp4"],supportedInputFormats:["application/json"],preferredInputFormat:"application/json",iconPath:null,logoPath:"https://www.filepicker.io/api/file/p2bLdy4nRrOwv34yoEhg",signedIconPath:null,signedLogoPath:"https://www.filepicker.io/api/file/p2bLdy4nRrOwv34yoEhg"}}),si2PlaybackEngineDefinition={id:"352556c7-de07-4d55-b33f-74b1cf237f25",loadingStatus:LoadingStatus.Complete,definition:{id:"352556c7-de07-4d55-b33f-74b1cf237f25",category:{name:"Ingestion",id:"4be1a1b2-653d-4eaa-ba18-747a265305d8"},name:"SI2 Playback segment creator",mode:"Stream",outputFormats:["video/mp4"],supportedInputFormats:["application/json"],preferredInputFormat:"application/json",iconPath:null,logoPath:"https://www.filepicker.io/api/file/p2bLdy4nRrOwv34yoEhg",signedIconPath:null,signedLogoPath:"https://www.filepicker.io/api/file/p2bLdy4nRrOwv34yoEhg"}},namespace$2="engines",initialState$2={engines:[si2ChunkEngineDefinition,si2PlaybackEngineDefinition]},processingCenterDagBuilderEngineSlice=createSlice({name:SLICE_NAME+"/"+namespace$2,initialState:initialState$2,reducers:{fetchEngineStart(e,t){e.engines.some(e=>e.id===t.payload)||e.engines.push({id:t.payload,loadingStatus:LoadingStatus.Pending})},fetchEngineComplete(e,t){var n=e.engines.findIndex(e=>e.id===t.payload.id);e.engines[n].definition=t.payload,e.engines[n].loadingStatus=LoadingStatus.Complete},fetchEngineFailed(e,t){var n=e.engines.findIndex(e=>e.id===t.payload);e.engines[n].loadingStatus=LoadingStatus.Failed}}}),actions$3=processingCenterDagBuilderEngineSlice.actions;var engines_slice=processingCenterDagBuilderEngineSlice.reducer;const selectEngines=e=>{return null==(e=null==e?void 0:e[SLICE_NAME])?void 0:e[namespace$2].engines},namespace$1="dagNodes",initialState$1={dagNodes:[]},processingCenterDagBuilderNodesSlice$1=createSlice({name:SLICE_NAME+"/"+namespace$1,initialState:initialState$1,reducers:{addDagNode(e,t){const n=t["payload"];n.nodeId||(n.nodeId=v4()),n.parentId&&0===e.dagNodes.filter(e=>e.nodeId===n.parentId).length?console.error("Tried to add a node with a parent that doesn't exist"):e.dagNodes.push(n)},resetDagNodes(e){e.dagNodes=[]},updateDagNode(e,t){const n=t["payload"];t=e.dagNodes.findIndex(e=>e.nodeId===n.nodeId);-1===t?console.error("Tried to update a node that doesn't exist"):e.dagNodes[t]=n},removeDagNode(n,e){const o=e.payload["nodeId"];e=n.dagNodes.findIndex(e=>e.nodeId===o);-1===e?console.error("Tried to remove a node that doesn't exist"):(n.dagNodes.splice(e,1),n.dagNodes.forEach((e,t)=>{e.parentId===o&&delete n.dagNodes[t].parentId}))}}}),actions$2=processingCenterDagBuilderNodesSlice$1.actions;var dagNodes_slice=processingCenterDagBuilderNodesSlice$1.reducer;const namespace="dagTemplates",initialState={status:LoadingStatus.Idle},processingCenterDagBuilderNodesSlice=createSlice({name:SLICE_NAME+"/"+namespace,initialState:initialState,reducers:{createDagTemplateStart(e,t){e.status=LoadingStatus.Pending},createDagTemplateSuccess(e){e.status=LoadingStatus.Idle,console.log("Successfully created dag template")},createDagTemplateFailed(e){e.status=LoadingStatus.Failed}}}),actions$1=processingCenterDagBuilderNodesSlice.actions;var dagTemplates_slice=processingCenterDagBuilderNodesSlice.reducer;const actions={[namespace$2]:actions$3,[namespace$1]:actions$2,[namespace]:actions$1},rootReducer=combineReducers({[namespace$2]:engines_slice,[namespace$1]:dagNodes_slice,[namespace]:dagTemplates_slice});function fetchEngine(t,n){return __awaiter(this,void 0,void 0,function*(){var e="engine";return(yield baseGraphQLApiWithError(Object.assign(Object.assign({query:`
2
+ query engine($id: ID!){
3
+ engine(id: $id) {
4
+
5
+ id
6
+ category {
7
+ name
8
+ id
9
+ }
10
+ name
11
+ mode
12
+ outputFormats
13
+ supportedInputFormats
14
+ iconPath
15
+ logoPath
16
+ signedIconPath
17
+ signedLogoPath
18
+ }
19
+ }
20
+ `,operationName:e},t),{variables:{id:n}})))[e]})}function createDagTemplate(t,n){return __awaiter(this,void 0,void 0,function*(){var e="createDagTemplate";return(yield baseGraphQLApiWithError(Object.assign(Object.assign({query:"\n mutation createDagTemplate($input: CreateDagTemplate!){\n createDagTemplate(input: $input) {\n id\n name\n targetOrganizationId\n description\n dag\n dagTemplateLanguage\n mimeType\n cognitiveCategoryId\n tags\n }\n }\n ",operationName:e},t),{variables:{input:n}})))[e]})}function*createDagTemplateSaga(e){try{yield createDagTemplate(yield select$1(selectApiConfigs),e.payload);yield put(actions.dagTemplates.createDagTemplateSuccess()),yield put(showMessage({content:"DAG Template saved",severity:MessageSeverity.Success}))}catch(e){console.log(e),yield put(actions.dagTemplates.createDagTemplateFailed()),yield put(showMessage({content:"Failed to save DAG Template",severity:MessageSeverity.Error}))}}function*fetchEngineSaga(t){try{var e=yield fetchEngine(yield select$1(selectApiConfigs),t.payload);yield put(actions.engines.fetchEngineComplete(e))}catch(e){console.log(e),yield put(actions.engines.fetchEngineFailed(t.payload))}}function*fetchEngineWatcher(){yield takeEvery$1(actions.engines.fetchEngineStart,fetchEngineSaga)}function*createDagTemplateWatcher(){yield takeEvery$1(actions.dagTemplates.createDagTemplateStart,createDagTemplateSaga)}function*rootSaga(){yield all([fetchEngineWatcher(),createDagTemplateWatcher()])}function getProcessingCenterDagBuilderModule(){return{id:SLICE_NAME,reducerMap:{[SLICE_NAME]:rootReducer},sagas:[rootSaga],initialActions:[]}}const selectDagNodes=e=>{return null==(e=null==e?void 0:e[SLICE_NAME])?void 0:e[namespace$1].dagNodes},useStyles$1=makeStyles()((e,{hasAdditionalContent:t})=>({node:{fontSize:e.typography.body1.fontSize,borderWidth:"1px",borderStyle:"solid",borderColor:e.typography.body1.color,borderRadius:"6px",padding:"6px 12px",position:"relative",background:e.palette.background.default,paddingBottom:t?"24px":"12px",width:"300px"},closeButton:{position:"absolute",top:0,right:0,transform:"translate(50%, -50%)",color:"white",background:"red",borderRadius:"100%",cursor:"pointer"},expandButton:{position:"absolute",bottom:"4px",right:"4px",fontSize:"0.9em",background:e.palette.background.default,border:"1px solid",borderColor:e.palette.text.primary,borderRadius:"100%"},addButton:{position:"absolute",bottom:0,left:"50%",transform:"translate(-50%, 50%)",color:e.palette.primary.main,background:"white",borderRadius:"100%",borderWidth:"1px",borderStyle:"solid",borderColor:e.palette.text.primary,cursor:"pointer",zIndex:2},additionalInfo:{padding:0},engineName:{maxHeight:"75px",textAlign:"center"}})),EngineNode=e=>{var t,e=e["data"];const{dagNode:s,isExpanded:n,bringToForeground:o,sendToBackground:r}=e,l=useDispatch(),c=useSelector(selectEngines),i=useSelector(selectDagNodes),[a,u]=react.exports.useState(!1),[d,p]=react.exports.useState(!1);var h=react.exports.useRef(null),f=!!(s.engineFields&&0<s.engineFields.length),g=react.exports.useCallback(()=>{(n?r:o)()},[o,n,r]),m=react.exports.useCallback(()=>{u(!a)},[a]);const y=react.exports.useCallback(t=>{t&&(i.filter(e=>e.parentId===t).forEach(e=>y(e.nodeId)),l(actions.dagNodes.removeDagNode({nodeId:t})))},[i,l]);var b=react.exports.useCallback(()=>{p(!d)},[d]),v=react.exports.useCallback(()=>{y(s.nodeId)},[s.nodeId,y]),$=react.exports.useCallback(()=>{s.nodeId&&(l(actions.dagNodes.removeDagNode({nodeId:s.nodeId})),s.parentId&&i.filter(e=>e.parentId===s.nodeId).forEach(e=>l(actions.dagNodes.updateDagNode(Object.assign(Object.assign({},e),{parentId:s.parentId})))))},[s.nodeId,s.parentId,i,l]);const _=react.exports.useCallback(e=>()=>{window.aiware.mountPanel({panelId:"DATA_CENTER_PROCESS_AI",microFrontend:{name:"DATA_CENTER_PROCESS_AI",config:{name:"DATA CENTER PROCESS AI",enableNonSingleEngineJobEngines:!0,onSaveEngineSelection:e=>{e.forEach(e=>{const{id:t,fields:n,mode:o,preferredInputFormat:r}=e;l(actions.engines.fetchEngineStart(t)),console.log("engines",c);var i=c.find(e=>e.id===s.engineId);let a=s.nodeId;console.log("parent",i),console.log("child",e),i&&(null==(e=i.definition)?void 0:e.mode)===EEngineFolderMode.Stream&&o===EEngineFolderMode.Chunk&&(i=v4(),a=i,e=null!==r&&void 0!==r&&r.toLowerCase().startsWith("video")?"video":"audio",l(actions.dagNodes.addDagNode({engineId:"8bdb0e3b-ff28-4f6e-a3ba-887bd06e6440",nodeId:i,parentId:s.nodeId,engineFields:[{fieldName:"ffmpegTemplate",fieldValue:e}]})),l(actions.dagNodes.addDagNode({engineId:"352556c7-de07-4d55-b33f-74b1cf237f25",nodeId:v4(),parentId:s.nodeId}))),l(actions.dagNodes.addDagNode({engineId:t,engineFields:n,parentId:a})),"child"===o?console.log("update existing child with new parent"):console.log("add a new branch")})}}},panelConfig:{type:"APP_BAR_PANEL_TEMPLATE",marginTop:55,marginStart:80,size:"small",zIndex:1002,parentPanelId:"DATA_CENTER",dimmed:0,dimmedStatus:"dimParent"}})},[l,c,s.nodeId,s.engineId]),x=useStyles$1({hasAdditionalContent:f})["classes"];var S=n?Remove:Add,e=f?jsxRuntime.exports.jsx(Collapse,Object.assign({in:n},{children:jsxRuntime.exports.jsx(List$2,{children:null==(e=e.dagNode.engineFields)?void 0:e.map(e=>jsxRuntime.exports.jsx(ListItem,Object.assign({className:x.additionalInfo},{children:jsxRuntime.exports.jsx(Typography$2,Object.assign({variant:"caption"},{children:e.fieldName+": "+e.fieldValue}))}),e.fieldName+"-"+e.fieldValue))})})):null;return jsxRuntime.exports.jsxs("div",Object.assign({className:x.node},{children:[s.parentId&&jsxRuntime.exports.jsx(Handle$1,{type:"target",position:Position.Top}),jsxRuntime.exports.jsx("div",Object.assign({className:x.engineName},{children:jsxRuntime.exports.jsx(Typography$2,Object.assign({variant:"h2"},{children:(null==(t=null==(t=c.find(e=>e.id===s.engineId))?void 0:t.definition)?void 0:t.name)||"Unknown Engine"}))})),e,s.parentId&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Close,{className:x.closeButton,onClick:m,ref:h}),jsxRuntime.exports.jsxs(Menu,Object.assign({open:a,onClose:m,anchorEl:h.current,anchorOrigin:{horizontal:"right",vertical:"bottom"}},{children:[jsxRuntime.exports.jsx(MenuItem$2,Object.assign({onClick:$},{children:"Remove Node"})),jsxRuntime.exports.jsx(MenuItem$2,Object.assign({onClick:b},{children:"Remove Branch"}))]}))]}),jsxRuntime.exports.jsxs(Dialog,Object.assign({open:d,onClose:b},{children:[jsxRuntime.exports.jsx(DialogTitle,{children:"Are you sure?"}),jsxRuntime.exports.jsx(DialogContent,{children:jsxRuntime.exports.jsx(DialogContentText,{children:"You will be removing this node, plus all nodes and branches attached to it. Are you sure?"})}),jsxRuntime.exports.jsxs(DialogActions,{children:[jsxRuntime.exports.jsx(Button,Object.assign({onClick:b,autoFocus:!0},{children:"Cancel"})),jsxRuntime.exports.jsx(Button,Object.assign({onClick:v,autoFocus:!0},{children:"Delete"}))]})]})),jsxRuntime.exports.jsx(Add,{className:x.addButton,onClick:_("child")}),f&&jsxRuntime.exports.jsx(S,{className:x.expandButton,onClick:g}),jsxRuntime.exports.jsx(Handle$1,{type:"source",position:Position.Bottom})]}))},nodeWidth=300,nodeHeight=75,getLayoutedElements=(e,t)=>{const n=new dagre.graphlib.Graph;return n.setDefaultEdgeLabel(()=>({})),n.setGraph({rankdir:"TB"}),e.forEach(e=>{n.setNode(e.id,{width:nodeWidth,height:nodeHeight})}),t.forEach(e=>{n.setEdge(e.source,e.target)}),dagre.layout(n),e.forEach(e=>{var t=n.node(e.id);return e.targetPosition=Position.Top,e.sourcePosition=Position.Bottom,e.position={x:t.x-nodeWidth/2,y:t.y-nodeHeight/2},e}),{nodes:e,edges:t}},generateEdges=n=>{const o=[];return n.forEach(t=>{var e=n.find(e=>e.nodeId===t.parentId);null!=e&&e.nodeId&&t.nodeId&&o.push({id:`reactflow-edge-${e.nodeId}__`+t.nodeId,source:e.nodeId,sourceHandle:null,target:t.nodeId,targetHandle:null})}),o},DagDiagram=()=>{var e=react.exports.useMemo(()=>({engine:EngineNode}),[]),t=useDispatch();const o=useSelector(selectDagNodes);var n=useSelector(selectEngines);const[r,i]=react.exports.useState(),[a,s]=react.exports.useState([]),[l,c]=react.exports.useState([]),[u,d]=react.exports.useState();var p=react.exports.useCallback(e=>{i(e),e.fitBounds({x:-100,y:0,width:500,height:500})},[]);return react.exports.useEffect(()=>{var e=o.map(e=>({id:e.nodeId,type:"engine",data:{dagNode:e,bringToForeground:()=>d(e.nodeId),sendToBackground:()=>d(void 0),isExpanded:u===e.nodeId},deletable:!1,position:{x:0,y:0}}));const{nodes:t,edges:n}=getLayoutedElements(e,generateEdges(o));c(n),s(t.map(e=>e.data.dagNode.nodeId===u?Object.assign(Object.assign({},e),{zIndex:1}):e))},[o,t,u]),react.exports.useEffect(()=>{r&&setTimeout(r.fitView,10)},[l,a,r,n]),jsxRuntime.exports.jsxs(ReactFlow,Object.assign({nodes:a,edges:l,nodeTypes:e,onInit:p,fitViewOptions:{padding:10,maxZoom:2}},{children:[jsxRuntime.exports.jsx(Controls$1,{}),jsxRuntime.exports.jsx(Background$1,{})]}))};var aCallable=aCallable$2,toObject=toObject$4,IndexedObject=indexedObject,lengthOfArrayLike=lengthOfArrayLike$2,$TypeError=TypeError,createMethod=function(c){return function(e,t,n,o){aCallable(t);var r=toObject(e),i=IndexedObject(r),a=lengthOfArrayLike(r),s=c?a-1:0,l=c?-1:1;if(n<2)for(;;){if(s in i){o=i[s],s+=l;break}if(s+=l,c?s<0:a<=s)throw $TypeError("Reduce of empty array with no initial value")}for(;c?0<=s:s<a;s+=l)s in i&&(o=t(o,i[s],s,r));return o}},arrayReduce={left:createMethod(!1),right:createMethod(!0)},fails=fails$c,arrayMethodIsStrict$1=function(e,t){var n=[][e];return!!n&&fails(function(){n.call(null,t||function(){return 1},1)})},classof=classofRaw$1,global$1=global$c,engineIsNode="process"==classofRaw$1(global$c.process),$=_export,$reduce=arrayReduce.left,arrayMethodIsStrict=arrayMethodIsStrict$1,CHROME_VERSION=engineV8Version,IS_NODE=engineIsNode,STRICT_METHOD=arrayMethodIsStrict$1("reduce"),CHROME_BUG=!IS_NODE&&79<CHROME_VERSION&&CHROME_VERSION<83;$({target:"Array",proto:!0,forced:!STRICT_METHOD||CHROME_BUG},{reduce:function(e){var t=arguments.length;return $reduce(this,e,t,1<t?arguments[1]:void 0)}});const getNextSteps=(e,n)=>e.filter(t=>!!n.find(e=>e.nodeId===t.parentId)),getProcessQueue=e=>{var t=e.filter(t=>!t.parentId&&!!e.find(e=>e.parentId===t.nodeId));if(1!==t.length)throw new Error("There should be exactly 1 root node, but you have "+t.length);const n=[[t[0]]];let o=getNextSteps(e,n[0]);for(;0<o.length;)n.push(o),o=getNextSteps(e,n[n.length-1]);return n},generateDagTemplateDag=(e,d)=>{const p=getProcessQueue(e),h={clusterId:"{{{CLUSTER_ID}}}",tasks:[],routes:[]};return p.forEach((e,u)=>{e.forEach((t,e)=>{var n=p.length>u+1&&p[u+1].some(e=>e.parentId===t.nodeId),o=0<u&&p[u-1].some(e=>e.nodeId===t.parentId),r=o?p[u-1].findIndex(e=>e.nodeId===t.parentId):null,r=o?u-1+`_${r} OUTPUT`:null,i=u+`_${e} INPUT`,e=u+`_${e} OUTPUT`;const a=d.find(e=>e.id===t.engineId);if(!a)throw new Error("Tried to generate a dag template with an engine that doesn't exist");const s={engineId:t.engineId,ioFolders:[],executionPreferences:{parentCompleteBeforeStarting:null}};t.engineFields&&0<t.engineFields.length&&(s.payload=t.engineFields.reduce((e,t)=>Object.assign(Object.assign({},e),{[t.fieldName]:t.fieldValue}),{}));var l=a.mode.toLowerCase(),c="8bdb0e3b-ff28-4f6e-a3ba-887bd06e6440"===a.id?EIoFolderMode.Chunk:l;n&&s.ioFolders.push({referenceId:e,mode:c,type:EIoFolderType.Output}),o&&null!==r&&(s.ioFolders.push({referenceId:i,mode:l,type:EIoFolderType.Input}),s.executionPreferences.parentCompleteBeforeStarting=!0,h.routes.push({parentIoFolderReferenceId:r,childIoFolderReferenceId:i})),o||(s.payload={mode:"ingest",sourceId:"{{{SOURCE_ID}}}"}),h.tasks.push(s)})}),h},useStyles=makeStyles()(e=>({root:{width:"100%",position:"relative"},panel:{backgroundColor:e.palette.background.paper,boxShadow:"0px 0px 12px rgba(0, 0, 0, 0.25)",height:"calc(100vh - 60px)",display:"flex",flexDirection:"column"},fullScreen:{position:"fixed",width:"100%",height:"100vh",top:0,left:0,right:0,bottom:0,zIndex:1004},overlay:{backgroundColor:e.palette.grey[50],opacity:"0.5 !important",height:"100%",position:"absolute",top:0,width:"100%",zIndex:1001},flexGrow:{flexGrow:1},controls:{display:"flex",justifyContent:"flex-start",gap:"10px"}})),MainLayout=e=>{__rest(e,["hidePanel","dataId"]),e=useStyles().classes;const n=useDispatch(),t=useSelector(panelsSelector)||[],o=useSelector(selectDagNodes),r=useSelector(selectEngines),[i,a]=react.exports.useState("");var s=t.find(e=>"DATA_CENTER"===e.panelId)||{panelConfig:{dimmed:0}},s=0<(null==(s=null===s?void 0:s.panelConfig)?void 0:s.dimmed),l=react.exports.useCallback(()=>{n(actions.dagNodes.resetDagNodes())},[n]),c=react.exports.useCallback(()=>{window.aiware.mountPanel({panelId:"DATA_CENTER_PROCESS_AI",microFrontend:{name:"DATA_CENTER_PROCESS_AI",config:{name:"DATA CENTER PROCESS AI",enableNonSingleEngineJobEngines:!0,onSaveEngineSelection:e=>{e.forEach(e=>{var{id:e,fields:t}=e;n(actions.engines.fetchEngineStart(e)),n(actions.dagNodes.addDagNode({engineId:e,engineFields:t}))})}}},panelConfig:{type:"APP_BAR_PANEL_TEMPLATE",marginTop:55,marginStart:80,size:"small",zIndex:1002,parentPanelId:"DATA_CENTER",dimmed:0,dimmedStatus:"dimParent"}})},[n]),u=react.exports.useCallback(()=>{var e=r.filter(e=>!!e.definition).map(e=>e.definition),e=JSON.stringify(generateDagTemplateDag(o,e)),e={name:i,dag:e,dagTemplateLanguage:"Handlebars",description:"Test dag template created with dag builder",tags:["dag_builder_test"]};console.log(e),n(actions.dagTemplates.createDagTemplateStart(e))},[o,n,r,i]);return jsxRuntime.exports.jsxs(Container,Object.assign({dimmed:s,fullScreen:!1,classes:e},{children:[jsxRuntime.exports.jsxs("div",{children:[jsxRuntime.exports.jsx(Typography$2,Object.assign({variant:"h2"},{children:"DAG Builder"})),jsxRuntime.exports.jsxs("div",Object.assign({className:e.controls},{children:[jsxRuntime.exports.jsx(Button,Object.assign({variant:"contained",onClick:c,disabled:0<o.length},{children:"Add Root Node"})),jsxRuntime.exports.jsx(Button,Object.assign({variant:"contained",onClick:l},{children:"Reset"})),jsxRuntime.exports.jsx(TextField$1,{variant:"outlined",label:"New DAG Template Name",onChange:e=>a(e.target.value)}),jsxRuntime.exports.jsx(Button,Object.assign({variant:"contained",onClick:u},{children:"Save"}))]}))]}),jsxRuntime.exports.jsx("div",Object.assign({className:e.flexGrow},{children:jsxRuntime.exports.jsx(DagDiagram,{})}))]}))},Container=({fullScreen:e,classes:t,dimmed:n,children:o})=>e?jsxRuntime.exports.jsx(Portal,{children:jsxRuntime.exports.jsxs("div",Object.assign({role:"presentation","data-test":"dc-widget",className:classNames(t.root,t.panel,t.fullScreen)},{children:[n&&jsxRuntime.exports.jsx("div",{className:t.overlay}),o]}))}):jsxRuntime.exports.jsx("div",Object.assign({role:"presentation","data-test":"dc-widget",className:classNames(t.root,t.panel)},{children:o})),DagBuilder=e=>jsxRuntime.exports.jsx(AIWareThemeProvider,{children:jsxRuntime.exports.jsx(lib$2.DynamicModuleLoader,Object.assign({modules:[getProcessingCenterDagBuilderModule()]},{children:jsxRuntime.exports.jsx(AIWareIntlProvider,{children:jsxRuntime.exports.jsx(MainLayout,Object.assign({},e))})}))});export{DagBuilder};