@hpcc-js/react 2.52.2 → 2.53.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es6.js","sources":["../src/__package__.ts","../../preact-shim/src/__package__.ts","../../preact-shim/node_modules/preact/src/util.js","../../preact-shim/node_modules/preact/src/options.js","../../preact-shim/node_modules/preact/src/create-element.js","../../preact-shim/node_modules/preact/src/component.js","../../preact-shim/node_modules/preact/src/create-context.js","../../preact-shim/node_modules/preact/src/constants.js","../../preact-shim/node_modules/preact/src/diff/children.js","../../preact-shim/node_modules/preact/src/diff/props.js","../../preact-shim/node_modules/preact/src/diff/index.js","../../preact-shim/node_modules/preact/src/render.js","../../preact-shim/node_modules/preact/src/diff/catch-error.js","../../preact-shim/node_modules/preact/hooks/src/index.js","../../../node_modules/d3-path/src/path.js","../../../node_modules/d3-shape/src/constant.js","../../../node_modules/d3-shape/src/curve/linear.js","../../../node_modules/d3-shape/src/point.js","../../../node_modules/d3-shape/src/line.js","../../../node_modules/d3-shape/src/curve/basis.js","../src/edge.tsx","../src/ImageChar.tsx","../../../node_modules/tslib/tslib.es6.js","../src/shape.tsx","../src/icon.tsx","../src/render.ts","../src/text.tsx","../src/vertex.tsx","../src/vertex2.tsx","../src/vertex3.tsx","../src/vertex4.tsx","../src/subgraph.tsx"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/react\";\r\nexport const PKG_VERSION = \"2.52.2\";\r\nexport const BUILD_VERSION = \"2.104.7\";\r\n","export const PKG_NAME = \"@hpcc-js/preact-shim\";\r\nexport const PKG_VERSION = \"2.16.2\";\r\nexport const BUILD_VERSION = \"2.104.7\";\r\n","import { EMPTY_ARR } from \"./constants\";\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array<import('.').ComponentChildren>} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function(update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array<import('./internal').Component>}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || setTimeout)(process);\n\t}\n}\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet queue;\n\twhile ((process._rerenderCount = rerenderQueue.length)) {\n\t\tqueue = rerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);\n\t\trerenderQueue = [];\n\t\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t\t// process() calls from getting scheduled while `queue` is still being consumed.\n\t\tqueue.some(c => {\n\t\t\tif (c._dirty) renderComponent(c);\n\t\t});\n\t}\n}\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function(_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(enqueueRender);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType = context);\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array<import('../internal').PreactElement>} excessDomChildren\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (childVNode == null || typeof childVNode == 'boolean') {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g. <div>{reuse}{reuse}</div>) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (Array.isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse = <div />\n\t\t\t// <div>{reuse}<span />{reuse}</div>\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tnull,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldParentVNode, i + 1);\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\tlet c = childVNode._children;\n\tlet tmp = 0;\n\tfor (; c && tmp < c.length; tmp++) {\n\t\tlet vnode = c[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tvnode,\n\t\t\t\t\tvnode,\n\t\t\t\t\tc,\n\t\t\t\t\tvnode._dom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (Array.isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j<oldChildrenLength; j+=2` is an alternative to `j++<oldChildrenLength/2`\n\t\t\tfor (\n\t\t\t\tlet sibDom = oldDom, j = 0;\n\t\t\t\t(sibDom = sibDom.nextSibling) && j < oldChildren.length;\n\t\t\t\tj += 2\n\t\t\t) {\n\t\t\t\tif (sibDom == newDom) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t}\n\t\t\tparentDom.insertBefore(newDom, oldDom);\n\t\t\tnextDom = oldDom;\n\t\t}\n\t}\n\n\t// If we have pre-calculated the nextDOM node, use it. Else calculate it now\n\t// Strictly check for `undefined` here cuz `null` is a valid value of `nextDom`.\n\t// See more detail in create-element.js:createVNode\n\tif (nextDom !== undefined) {\n\t\toldDom = nextDom;\n\t} else {\n\t\toldDom = newDom.nextSibling;\n\t}\n\n\treturn oldDom;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (i !== 'children' && i !== 'key' && !(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'children' &&\n\t\t\ti !== 'key' &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture = name !== (name = name.replace(/Capture$/, ''));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else if (name !== 'dangerouslySetInnerHTML') {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// ARIA-attributes have a different notion of boolean values.\n\t\t// The value `false` is different from the attribute not\n\t\t// existing on the DOM, so we can't remove it. For non-boolean\n\t\t// ARIA-attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost us too many bytes. On top of\n\t\t// that other VDOM frameworks also always stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (\n\t\t\tvalue != null &&\n\t\t\t(value !== false || (name[0] === 'a' && name[1] === 'r'))\n\t\t) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tthis._listeners[e.type + false](options.event ? options.event(e) : e);\n}\n\nfunction eventProxyCapture(e) {\n\tthis._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array<import('../internal').PreactElement>} excessDomChildren\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\tc.props = newProps;\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) c._dirty = false;\n\t\t\t\t\tc._vnode = newVNode;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._vnode = newVNode;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tArray.isArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t'setAttribute' in child === !!nodeType &&\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tArray.isArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the <progress>-element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value ||\n\t\t\t\t\t(nodeType === 'progress' && !i) ||\n\t\t\t\t\t// This is only for IE 11 to fix <select> value not being updated.\n\t\t\t\t\t// To avoid a stale select value we need to set the option.value\n\t\t\t\t\t// again, which triggers IE11 to re-evaluate the select value\n\t\t\t\t\t(nodeType === 'option' && i !== oldProps.value))\n\t\t\t) {\n\t\t\t\tsetProperty(dom, 'value', i, oldProps.value, false);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t'checked' in newProps &&\n\t\t\t\t(i = newProps.checked) !== undefined &&\n\t\t\t\ti !== dom.checked\n\t\t\t) {\n\t\t\t\tsetProperty(dom, 'checked', i, oldProps.checked, false);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn dom;\n}\n\n/**\n * Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} ref\n * @param {any} value\n * @param {import('../internal').VNode} vnode\n */\nexport function applyRef(ref, value, vnode) {\n\ttry {\n\t\tif (typeof ref == 'function') ref(value);\n\t\telse ref.current = value;\n\t} catch (e) {\n\t\toptions._catchError(e, vnode);\n\t}\n}\n\n/**\n * Unmount a virtual node from the tree and apply DOM changes\n * @param {import('../internal').VNode} vnode The virtual node to unmount\n * @param {import('../internal').VNode} parentVNode The parent of the VNode that\n * initiated the unmount\n * @param {boolean} [skipRemove] Flag that indicates that a parent node of the\n * current element is already detached from the DOM.\n */\nexport function unmount(vnode, parentVNode, skipRemove) {\n\tlet r;\n\tif (options.unmount) options.unmount(vnode);\n\n\tif ((r = vnode.ref)) {\n\t\tif (!r.current || r.current === vnode._dom) applyRef(r, null, parentVNode);\n\t}\n\n\tif ((r = vnode._component) != null) {\n\t\tif (r.componentWillUnmount) {\n\t\t\ttry {\n\t\t\t\tr.componentWillUnmount();\n\t\t\t} catch (e) {\n\t\t\t\toptions._catchError(e, parentVNode);\n\t\t\t}\n\t\t}\n\n\t\tr.base = r._parentDom = null;\n\t}\n\n\tif ((r = vnode._children)) {\n\t\tfor (let i = 0; i < r.length; i++) {\n\t\t\tif (r[i]) {\n\t\t\t\tunmount(r[i], parentVNode, typeof vnode.type != 'function');\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!skipRemove && vnode._dom != null) removeNode(vnode._dom);\n\n\t// Must be set to `undefined` to properly clean up `_nextDom`\n\t// for which `null` is a valid value. See comment in `create-element.js`\n\tvnode._dom = vnode._nextDom = undefined;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, state, context) {\n\treturn this.constructor(props, context);\n}\n","import { EMPTY_OBJ } from './constants';\nimport { commitRoot, diff } from './diff/index';\nimport { createElement, Fragment } from './create-element';\nimport options from './options';\nimport { slice } from './util';\n\n/**\n * Render a Preact virtual node into a DOM element\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * render into\n * @param {import('./internal').PreactElement | object} [replaceNode] Optional: Attempt to re-use an\n * existing DOM tree rooted at `replaceNode`\n */\nexport function render(vnode, parentDom, replaceNode) {\n\tif (options._root) options._root(vnode, parentDom);\n\n\t// We abuse the `replaceNode` parameter in `hydrate()` to signal if we are in\n\t// hydration mode or not by passing the `hydrate` function instead of a DOM\n\t// element..\n\tlet isHydrating = typeof replaceNode === 'function';\n\n\t// To be able to support calling `render()` multiple times on the same\n\t// DOM node, we need to obtain a reference to the previous tree. We do\n\t// this by assigning a new `_children` property to DOM nodes which points\n\t// to the last rendered tree. By default this property is not present, which\n\t// means that we are mounting a new tree for the first time.\n\tlet oldVNode = isHydrating\n\t\t? null\n\t\t: (replaceNode && replaceNode._children) || parentDom._children;\n\n\tvnode = (\n\t\t(!isHydrating && replaceNode) ||\n\t\tparentDom\n\t)._children = createElement(Fragment, null, [vnode]);\n\n\t// List of effects that need to be called after diffing.\n\tlet commitQueue = [];\n\tdiff(\n\t\tparentDom,\n\t\t// Determine the new vnode tree and store it on the DOM element on\n\t\t// our custom `_children` property.\n\t\tvnode,\n\t\toldVNode || EMPTY_OBJ,\n\t\tEMPTY_OBJ,\n\t\tparentDom.ownerSVGElement !== undefined,\n\t\t!isHydrating && replaceNode\n\t\t\t? [replaceNode]\n\t\t\t: oldVNode\n\t\t\t? null\n\t\t\t: parentDom.firstChild\n\t\t\t? slice.call(parentDom.childNodes)\n\t\t\t: null,\n\t\tcommitQueue,\n\t\t!isHydrating && replaceNode\n\t\t\t? replaceNode\n\t\t\t: oldVNode\n\t\t\t? oldVNode._dom\n\t\t\t: parentDom.firstChild,\n\t\tisHydrating\n\t);\n\n\t// Flush all queued effects\n\tcommitRoot(commitQueue, vnode);\n}\n\n/**\n * Update an existing DOM element with data from a Preact virtual node\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * update\n */\nexport function hydrate(vnode, parentDom) {\n\trender(vnode, parentDom, hydrate);\n}\n","/**\n * Find the closest error boundary to a thrown error and call it\n * @param {object} error The thrown value\n * @param {import('../internal').VNode} vnode The vnode that threw\n * the error that was caught (except for unmounting when this parameter\n * is the highest parent that was being unmounted)\n * @param {import('../internal').VNode} [oldVNode]\n * @param {import('../internal').ErrorInfo} [errorInfo]\n */\nexport function _catchError(error, vnode, oldVNode, errorInfo) {\n\t/** @type {import('../internal').Component} */\n\tlet component, ctor, handled;\n\n\tfor (; (vnode = vnode._parent); ) {\n\t\tif ((component = vnode._component) && !component._processingException) {\n\t\t\ttry {\n\t\t\t\tctor = component.constructor;\n\n\t\t\t\tif (ctor && ctor.getDerivedStateFromError != null) {\n\t\t\t\t\tcomponent.setState(ctor.getDerivedStateFromError(error));\n\t\t\t\t\thandled = component._dirty;\n\t\t\t\t}\n\n\t\t\t\tif (component.componentDidCatch != null) {\n\t\t\t\t\tcomponent.componentDidCatch(error, errorInfo || {});\n\t\t\t\t\thandled = component._dirty;\n\t\t\t\t}\n\n\t\t\t\t// This is an error boundary. Mark it as having bailed out, and whether it was mid-hydration.\n\t\t\t\tif (handled) {\n\t\t\t\t\treturn (component._pendingError = component);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow error;\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {import('./internal').Component} */\nlet previousComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet EMPTY = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\tif (previousComponent === currentComponent) {\n\t\t\thooks._pendingEffects = [];\n\t\t\tcurrentComponent._renderCallbacks = [];\n\t\t\thooks._list.forEach(hookItem => {\n\t\t\t\tif (hookItem._nextValue) {\n\t\t\t\t\thookItem._value = hookItem._nextValue;\n\t\t\t\t}\n\t\t\t\thookItem._pendingValue = EMPTY;\n\t\t\t\thookItem._nextValue = hookItem._pendingArgs = undefined;\n\t\t\t});\n\t\t} else {\n\t\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\t\thooks._pendingEffects = [];\n\t\t}\n\t}\n\tpreviousComponent = currentComponent;\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\tif (c.__hooks._pendingEffects.length) afterPaint(afterPaintEffects.push(c));\n\t\tc.__hooks._list.forEach(hookItem => {\n\t\t\tif (hookItem._pendingArgs) {\n\t\t\t\thookItem._args = hookItem._pendingArgs;\n\t\t\t}\n\t\t\tif (hookItem._pendingValue !== EMPTY) {\n\t\t\t\thookItem._value = hookItem._pendingValue;\n\t\t\t}\n\t\t\thookItem._pendingArgs = undefined;\n\t\t\thookItem._pendingValue = EMPTY;\n\t\t});\n\t}\n\tpreviousComponent = currentComponent = null;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\tlet hasErrored;\n\t\tc.__hooks._list.forEach(s => {\n\t\t\ttry {\n\t\t\t\tinvokeCleanup(s);\n\t\t\t} catch (e) {\n\t\t\t\thasErrored = e;\n\t\t\t}\n\t\t});\n\t\tif (hasErrored) options._catchError(hasErrored, c._vnode);\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({ _pendingValue: EMPTY });\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst currentValue = hookState._nextValue\n\t\t\t\t\t? hookState._nextValue[0]\n\t\t\t\t\t: hookState._value[0];\n\t\t\t\tconst nextValue = hookState._reducer(currentValue, action);\n\n\t\t\t\tif (currentValue !== nextValue) {\n\t\t\t\t\thookState._nextValue = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\n\t\tif (!currentComponent._hasScuFromHooks) {\n\t\t\tcurrentComponent._hasScuFromHooks = true;\n\t\t\tconst prevScu = currentComponent.shouldComponentUpdate;\n\n\t\t\t// This SCU has the purpose of bailing out after repeated updates\n\t\t\t// to stateful hooks.\n\t\t\t// we store the next value in _nextValue[0] and keep doing that for all\n\t\t\t// state setters, if we have next states and\n\t\t\t// all next states within a component end up being equal to their original state\n\t\t\t// we are safe to bail out for this specific component.\n\t\t\tcurrentComponent.shouldComponentUpdate = function(p, s, c) {\n\t\t\t\tif (!hookState._component.__hooks) return true;\n\n\t\t\t\tconst stateHooks = hookState._component.__hooks._list.filter(\n\t\t\t\t\tx => x._component\n\t\t\t\t);\n\t\t\t\tconst allHooksEmpty = stateHooks.every(x => !x._nextValue);\n\t\t\t\t// When we have no updated hooks in the component we invoke the previous SCU or\n\t\t\t\t// traverse the VDOM tree further.\n\t\t\t\tif (allHooksEmpty) {\n\t\t\t\t\treturn prevScu ? prevScu.call(this, p, s, c) : true;\n\t\t\t\t}\n\n\t\t\t\t// We check whether we have components with a nextValue set that\n\t\t\t\t// have values that aren't equal to one another this pushes\n\t\t\t\t// us to update further down the tree\n\t\t\t\tlet shouldUpdate = false;\n\t\t\t\tstateHooks.forEach(hookItem => {\n\t\t\t\t\tif (hookItem._nextValue) {\n\t\t\t\t\t\tconst currentValue = hookItem._value[0];\n\t\t\t\t\t\thookItem._value = hookItem._nextValue;\n\t\t\t\t\t\thookItem._nextValue = undefined;\n\t\t\t\t\t\tif (currentValue !== hookItem._value[0]) shouldUpdate = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn shouldUpdate\n\t\t\t\t\t? prevScu\n\t\t\t\t\t\t? prevScu.call(this, p, s, c)\n\t\t\t\t\t\t: true\n\t\t\t\t\t: false;\n\t\t\t};\n\t\t}\n\t}\n\n\treturn hookState._nextValue || hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._pendingArgs = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._pendingArgs = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') {\n\t\t\t\tref(createHandle());\n\t\t\t\treturn () => ref(null);\n\t\t\t} else if (ref) {\n\t\t\t\tref.current = createHandle();\n\t\t\t\treturn () => (ref.current = null);\n\t\t\t}\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._pendingValue = factory();\n\t\tstate._pendingArgs = args;\n\t\tstate._factory = factory;\n\t\treturn state._pendingValue;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tlet component;\n\twhile ((component = afterPaintEffects.shift())) {\n\t\tif (!component._parentDom || !component.__hooks) continue;\n\t\ttry {\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t} catch (e) {\n\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t}\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tlet cleanup = hook._cleanup;\n\tif (typeof cleanup == 'function') {\n\t\thook._cleanup = undefined;\n\t\tcleanup();\n\t}\n\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import * as React from \"@hpcc-js/preact-shim\";\nimport { curveBasis as d3CurveBasis, line as d3Line } from \"d3-shape\";\n\ntype Point = [number, number];\n\nconst line = d3Line<Point>()\n .x(d => d[0])\n .y(d => d[1])\n .curve(d3CurveBasis)\n ;\n\nfunction calcArc(points: Point[], curveDepth: number): Point[] {\n if (points.length === 2 && curveDepth) {\n const dx = points[0][0] - points[1][0];\n const dy = points[0][1] - points[1][1];\n const dist = Math.sqrt(dx * dx + dy * dy);\n if (dist) {\n const midX = (points[0][0] + points[1][0]) / 2 - dy * curveDepth / 100;\n const midY = (points[0][1] + points[1][1]) / 2 + dx * curveDepth / 100;\n return [points[0], [midX, midY], points[1]];\n }\n }\n return points;\n}\n\nexport interface Edge {\n points?: Array<[number, number]>;\n curveDepth?: number;\n stroke?: string;\n strokeDasharray?: string;\n weight?: number;\n}\n\nexport const Edge: React.FunctionComponent<Edge> = ({\n points = [],\n curveDepth = 16,\n stroke = \"black\",\n strokeDasharray\n}) => {\n const d = React.useMemo(() => {\n return line(calcArc(points, curveDepth));\n }, [curveDepth, points]);\n return <path stroke={stroke} stroke-dasharray={strokeDasharray} d={d}></path>;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\n\ninterface ImageChar {\n x?: number;\n y?: number;\n height?: number;\n fill?: string;\n stroke?: string;\n fontFamily?: string;\n char?: string;\n yOffset?: number;\n}\n\nexport const ImageChar: React.FunctionComponent<ImageChar> = ({\n x,\n y = 0,\n height = 12,\n fill,\n stroke,\n fontFamily = \"FontAwesome\",\n char = \"\"\n}) => {\n\n const renderChar = React.useMemo(() => {\n return fontFamily === \"FontAwesome\" ? Utility.faChar(char) : char;\n }, [char, fontFamily]);\n\n return <text\n x={x}\n y={y}\n fill={fill}\n stroke={stroke}\n font-family={fontFamily}\n font-size={`${height}px`}\n dominant-baseline=\"middle\"\n style=\"text-anchor: middle;alignment-baseline:middle;\"\n >{renderChar}</text>;\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import * as React from \"@hpcc-js/preact-shim\";\n\ninterface Circle {\n radius?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Circle: React.FunctionComponent<Circle> = ({\n radius = 32,\n fill = \"navy\",\n stroke = fill,\n strokeWidth = 1,\n shapeRendering\n}) => <circle\n r={radius}\n fill={fill}\n stroke={stroke}\n stroke-width={strokeWidth}\n shape-rendering={shapeRendering}\n />;\n\ninterface Square {\n radius?: number;\n cornerRadius?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Square: React.FunctionComponent<Square> = ({\n radius = 30,\n cornerRadius = 0,\n fill = \"white\",\n stroke,\n strokeWidth = 1,\n shapeRendering\n}) => <rect\n x={-radius}\n y={-radius}\n rx={cornerRadius}\n ry={cornerRadius}\n width={radius * 2}\n height={radius * 2}\n fill={fill}\n stroke={stroke || fill}\n stroke-width={strokeWidth}\n shape-rendering={shapeRendering}\n />;\n\ninterface Rectangle {\n width?: number;\n height?: number;\n cornerRadius?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Rectangle: React.FunctionComponent<Rectangle> = ({\n width = 30,\n height = 30,\n cornerRadius = 0,\n fill = \"white\",\n stroke = \"black\",\n strokeWidth = 1,\n shapeRendering\n}) => {\n return <rect\n x={-width / 2}\n y={-height / 2}\n rx={cornerRadius}\n ry={cornerRadius}\n width={width}\n height={height}\n fill={fill}\n stroke={stroke || fill}\n stroke-width={strokeWidth}\n shape-rendering={shapeRendering}\n />;\n};\n\ninterface Shape {\n shape?: \"circle\" | \"square\" | \"rectangle\";\n height?: number;\n width?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n cornerRadius?: number;\n}\n\nexport const Shape: React.FunctionComponent<Shape> = ({\n shape = \"circle\",\n height = 128,\n width,\n fill,\n stroke,\n strokeWidth = 1,\n shapeRendering,\n cornerRadius\n}) => {\n switch (shape) {\n case \"square\":\n return <Square\n radius={height / 2}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n cornerRadius={cornerRadius}\n />;\n case \"rectangle\":\n return <Rectangle\n width={width ?? height}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n cornerRadius={cornerRadius}\n />;\n case \"circle\":\n default:\n return <Circle\n radius={height / 2}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n />;\n }\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { ImageChar } from \"./ImageChar\";\nimport { Shape } from \"./shape\";\n\nexport interface Icon {\n shape?: \"circle\" | \"square\" | \"rectangle\";\n width?: number;\n height?: number;\n padding?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n imageFontFamily?: string;\n imageChar?: string;\n imageCharFill?: string;\n xOffset?: number;\n yOffset?: number;\n cornerRadius?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Icon: React.FunctionComponent<Icon> = ({\n shape = \"circle\",\n width,\n height = 32,\n fill,\n stroke,\n strokeWidth = 0,\n imageFontFamily = \"FontAwesome\",\n imageChar = \"\",\n imageCharFill = Palette.textColor(fill),\n padding = height / 5,\n xOffset = 0,\n yOffset = 0,\n cornerRadius,\n shapeRendering\n}) => {\n return <>\n <Shape\n shape={shape}\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n cornerRadius={cornerRadius}\n />\n <ImageChar\n x={xOffset}\n y={yOffset}\n height={height - padding}\n fontFamily={imageFontFamily}\n char={imageChar}\n fill={imageCharFill}\n font-weight={400}\n ></ImageChar>\n </>;\n};\n\nexport interface IconEx extends Icon {\n id: string;\n}\n\nexport interface Icons {\n icons: IconEx[];\n}\n\nexport const Icons: React.FunctionComponent<Icons> = ({\n icons = []\n}) => {\n const IconComponents = icons.map(cat => {\n return <g\n key={cat.id}\n id={cat.id}\n >\n <Icon\n {...cat}\n />\n </g>;\n });\n return <>{IconComponents}</>;\n};\n","import { HTMLWidget, publish, SVGWidget } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\n\nexport function render<P>(C: React.FunctionComponent<P>, props: Readonly<P>, parent: Element | Document | ShadowRoot | DocumentFragment, replaceNode?: Element | Text) {\n React.render(React.h(C, props), parent, replaceNode);\n}\n\nexport interface FunctionComponent<T> extends React.FunctionComponent<T> {\n}\n\nexport function svgRender<P>(C: React.FunctionComponent<P>, props: Readonly<P>, parent: Element | Document | ShadowRoot | DocumentFragment, replaceNode?: Element | Text) {\n React.render(React.h(\"svg\", null, React.h(C, props)), parent, replaceNode);\n}\n\nexport class HTMLAdapter<P> extends HTMLWidget {\n\n @publish({}, \"object\", \"Properties\")\n protected _props: P = {} as P;\n props(): P;\n props(_: Partial<P>): this;\n props(_?: Partial<P>): P | this {\n if (!arguments.length) return this._props;\n this._props = { ...this._props, ..._ };\n return this;\n }\n\n prop<K extends keyof P>(_: K): P[K];\n prop<K extends keyof P>(_: K, value: P[K]): this;\n prop<K extends keyof P>(_: K, value?: P[K]): this | P[K] {\n if (arguments.length === 1) return this._props[_];\n this._props[_] = value;\n return this;\n }\n\n constructor(protected readonly _component: React.FunctionComponent<P>) {\n super();\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n render(this._component, this._props, domNode);\n }\n}\n\nexport class SVGAdapter<P> extends SVGWidget {\n\n @publish({}, \"object\", \"Properties\")\n protected _props: P = {} as P;\n props(): P;\n props(_: Partial<P>): this;\n props(_?: Partial<P>): P | this {\n if (!arguments.length) return this._props;\n this._props = { ...this._props, ..._ };\n return this;\n }\n\n prop<K extends keyof P>(_: K): P[K];\n prop<K extends keyof P>(_: K, value: P[K]): this;\n prop<K extends keyof P>(_: K, value?: P[K]): this | P[K] {\n if (arguments.length === 1) return this._props[_];\n this._props[_] = value;\n return this;\n }\n\n constructor(protected readonly _component: React.FunctionComponent<P>) {\n super();\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n render(this._component, this._props, domNode);\n }\n}\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { Rectangle } from \"./shape\";\n\ninterface TextLine {\n text: string;\n height?: number;\n anchor?: string;\n baseline?: string;\n fontFamily?: string;\n fill?: string;\n}\n\nexport const TextLine: React.FunctionComponent<TextLine> = ({\n text,\n height = 12,\n anchor = \"middle\",\n baseline = \"middle\",\n fontFamily = \"Verdana\",\n fill = \"black\"\n}) => {\n return <text\n font-family={fontFamily}\n font-size={`${height}px`}\n text-anchor={anchor}\n dominant-baseline={baseline}\n fill={fill}\n >{text}</text>;\n};\n\ninterface Text {\n text: string;\n height?: number;\n fontFamily?: string;\n fill?: string;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n}\n\nexport const Text: React.FunctionComponent<Text> = ({\n text,\n height = 12,\n fontFamily = \"Verdana\",\n fill = \"black\",\n onSizeUpdate\n}) => {\n const [totalWidth, setTotalWidthUpdate] = React.useState(0);\n const [totalHeight, setTotalHeightUpdate] = React.useState(0);\n\n React.useEffect(() => {\n onSizeUpdate && onSizeUpdate({ width: totalWidth, height: totalHeight });\n }, [totalWidth, totalHeight, onSizeUpdate]);\n\n const parts = React.useMemo(() => {\n return text.split(\"\\n\");\n }, [text]);\n\n const ts = React.useMemo(() => {\n return Utility.textSize(parts, fontFamily, height);\n }, [fontFamily, height, parts]);\n\n setTotalWidthUpdate(ts.width);\n setTotalHeightUpdate(parts.length * (height + 2) - 2);\n\n const yOffset = -(totalHeight / 2) + (height / 2);\n const TextLines = React.useMemo(() => {\n return parts.map((p, i) => {\n return <g key={i} transform={`translate(0 ${yOffset + i * (height + 2)})`}>\n <TextLine\n text={p}\n height={height}\n fontFamily={fontFamily}\n fill={fill}\n />\n </g>;\n });\n }, [fill, fontFamily, height, parts, yOffset]);\n\n return <>{TextLines}</>;\n};\n\nexport interface TextBox {\n text: string;\n height?: number;\n fontFamily?: string;\n padding?: number;\n fill?: string;\n stroke?: string;\n textFill?: string;\n strokeWidth?: number;\n cornerRadius?: number;\n textOffsetY?: number;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n}\n\nexport const TextBox: React.FunctionComponent<TextBox> = ({\n text,\n height = 12,\n fontFamily = \"Verdana\",\n padding = 4,\n fill = \"whitesmoke\",\n stroke = \"lightgray\",\n textFill = \"black\",\n strokeWidth = 1,\n cornerRadius = 0,\n onSizeUpdate\n}) => {\n const [textWidth, setTextWidthUpdate] = React.useState(0);\n const [textHeight, setTextHeightUpdate] = React.useState(0);\n\n React.useEffect(() => {\n onSizeUpdate && onSizeUpdate({ width: textWidth, height: textHeight });\n }, [textWidth, textHeight, onSizeUpdate]);\n\n const onTextSizeUpdate = React.useCallback(size => {\n setTextWidthUpdate(size.width);\n setTextHeightUpdate(size.height);\n }, []);\n\n const w = textWidth + padding * 2 + strokeWidth;\n const h = textHeight + padding * 2 + strokeWidth;\n const textOffsetY = Math.floor(height / 10);\n\n return <>\n <Rectangle\n width={w}\n height={h}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n cornerRadius={cornerRadius}\n />\n <g transform={`translate(0 ${textOffsetY})`}>\n <Text\n text={text}\n fontFamily={fontFamily}\n height={height}\n fill={textFill}\n onSizeUpdate={onTextSizeUpdate}\n />\n </g>\n </>;\n};\n\nexport interface LabelledRect extends TextBox {\n width?: number;\n fontSize?: number;\n}\n\nexport interface IconLabelledRect extends LabelledRect {\n icon: string;\n iconFontFamily: string;\n iconFontSize: number;\n}\n\nexport const LabelledRect: React.FunctionComponent<LabelledRect> = ({\n text,\n height = 12,\n width = 12,\n fontFamily = \"Verdana\",\n fontSize = 10,\n padding = 3,\n fill = \"whitesmoke\",\n stroke = \"lightgray\",\n textFill = \"black\",\n strokeWidth = 1,\n cornerRadius = 0,\n onSizeUpdate = (size: { width: number, height: number }) => { }\n}) => {\n return <>\n <Rectangle\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n cornerRadius={cornerRadius}\n />\n <g transform={`translate(${-(width / 2) + padding} ${-(height / 2) + padding})`}>\n <TextLine\n text={text}\n fontFamily={fontFamily}\n height={fontSize}\n fill={textFill}\n anchor=\"start\"\n baseline=\"hanging\"\n />\n </g>\n </>;\n};\n\nexport const IconLabelledRect: React.FunctionComponent<IconLabelledRect> = ({\n icon,\n iconFontFamily,\n text,\n height = 12,\n width = 12,\n fontFamily = \"Verdana\",\n fontSize = 10,\n padding = 3,\n fill = \"whitesmoke\",\n stroke = \"lightgray\",\n textFill = \"black\",\n strokeWidth = 1,\n cornerRadius = 0,\n onSizeUpdate = (size: { width: number, height: number }) => { }\n}) => {\n return <>\n <Rectangle\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n cornerRadius={cornerRadius}\n />\n <g transform={`translate(${-(width / 2) + padding} ${-(height / 2) + padding})`}>\n <Icon\n shape=\"square\"\n imageFontFamily={iconFontFamily}\n imageChar={icon}\n height={height}\n fill={fill}\n imageCharFill={textFill}\n />\n </g>\n <g transform={`translate(${-(width / 2) + (padding * 2) + height} ${-(height / 2) + padding})`}>\n <TextLine\n text={text}\n fontFamily={fontFamily}\n height={fontSize}\n fill={textFill}\n anchor=\"start\"\n baseline=\"hanging\"\n />\n </g>\n </>;\n};\n","import * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\n\nexport interface Annotations {\n x: number;\n y: number;\n annotationIDs: string[];\n stepSize?: number;\n}\n\nexport const Annotations: React.FunctionComponent<Annotations> = ({\n x,\n y,\n annotationIDs = [],\n stepSize = -16\n}) => {\n const IconComponents = annotationIDs.map((id, i) => <g\n key={id}\n transform={`translate(${x + i * stepSize} ${y})`}\n >\n <use\n href={\"#\" + id}\n />\n </g>\n );\n return <>{IconComponents}</>;\n};\n\nexport interface VertexProps {\n id: string;\n centroid?: boolean;\n categoryID?: string;\n text: string;\n textHeight?: number;\n textPadding?: number;\n icon?: Icon;\n annotationsHeight?: number;\n annotationIDs?: string[];\n textFill?: string;\n textboxFill?: string;\n textboxStroke?: string;\n textFontFamily?: string;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n showLabel?: boolean;\n scale?: number\n}\n\nexport const Vertex: React.FunctionComponent<VertexProps> = ({\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 4,\n icon = {},\n annotationsHeight = 12,\n annotationIDs = [],\n textFill,\n textboxFill,\n textboxStroke,\n textFontFamily,\n onSizeUpdate,\n showLabel = true,\n scale = 1\n}) => {\n const [textBoxWidth, setTextBoxWidthUpdate] = React.useState(0);\n const [textBoxHeight, setTextBoxHeightUpdate] = React.useState(0);\n\n React.useEffect(() => {\n onSizeUpdate && onSizeUpdate({ width: 0, height: 0 });\n }, [textBoxWidth, textBoxHeight, onSizeUpdate]);\n\n icon = {\n imageChar: \"fa-question\",\n height: 32,\n fill: \"transparent\",\n ...icon\n };\n let width = textBoxWidth;\n width += 4;\n let offsetY = -(icon.height * 2 / 6 + textHeight + 8) / 2;\n const textboxOffsetY = icon.height / 3 + textBoxHeight / 2 + textPadding;\n let annotationOffsetY = icon.height / 3 + textBoxHeight + textPadding + annotationsHeight / 3;\n if (!showLabel) {\n offsetY += (textHeight + 8) / 2;\n annotationOffsetY -= textBoxHeight + textPadding;\n }\n\n const onTextBoxSizeUpdate = React.useCallback(size => {\n setTextBoxWidthUpdate(size.width);\n setTextBoxHeightUpdate(size.height);\n }, []);\n\n const label = showLabel ? <g transform={`translate(0 ${textboxOffsetY})`}>\n <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n onSizeUpdate={onTextBoxSizeUpdate}\n textFill={textFill}\n fill={textboxFill}\n stroke={textboxStroke}\n fontFamily={textFontFamily}\n />\n </g> : undefined;\n return categoryID ?\n <g transform={`translate(0 ${offsetY}) scale(${scale})`}>\n <use href={\"#\" + categoryID} />\n {label}\n <Annotations x={width / 2} y={annotationOffsetY} annotationIDs={annotationIDs} />\n </g> :\n <g transform={`translate(0 ${offsetY}) scale(${scale})`}>\n <Icon {...icon} />\n {label}\n </g>;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\nimport { Annotations, VertexProps } from \"./vertex\";\n\nexport const Vertex2: React.FunctionComponent<VertexProps> = ({\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 4,\n icon = {},\n textFill = \"black\",\n textboxFill = \"white\",\n textboxStroke = \"black\",\n textFontFamily,\n annotationsHeight = 12,\n annotationIDs = []\n}) => {\n icon = {\n imageChar: \"fa-question\",\n imageCharFill: \"white\",\n height: 32,\n fill: \"black\",\n shape: \"square\",\n ...icon\n };\n const textBoxHeight = textHeight + textPadding * 2;\n const { width } = React.useMemo(() => {\n return Utility.textSize(text, textFontFamily, textHeight, false);\n }, [text, textFontFamily, textHeight]);\n\n const stepSize = annotationsHeight;\n const textboxStrokeWidth = 1;\n\n const halfTextboxHeight = textBoxHeight / 2;\n\n const offsetX = 0;\n const offsetY = -(icon.height * 2 / 6 + textHeight + 8) / 2;\n const iconOffsetX = - icon.height / 2;\n const iconOffsetY = 0;\n const textboxOffsetX = Math.ceil((width / 2) + textPadding);\n const textboxOffsetY = halfTextboxHeight - (icon.height / 2);\n const annotationOffsetX = stepSize / 2;\n const annotationOffsetY = halfTextboxHeight;\n return categoryID ?\n <g\n transform={`translate(${offsetX} ${offsetY})`}\n >\n <g\n transform={`translate(${iconOffsetX} ${iconOffsetY})`}\n >\n <use\n href={\"#\" + categoryID}\n />\n </g>\n <g\n transform={`translate(${textboxOffsetX} ${textboxOffsetY})`}\n >\n <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n strokeWidth={textboxStrokeWidth}\n stroke={textboxStroke}\n fill={textboxFill}\n textFill={textFill}\n fontFamily={textFontFamily}\n />\n </g>\n <Annotations\n x={annotationOffsetX}\n y={annotationOffsetY}\n annotationIDs={annotationIDs}\n stepSize={stepSize}\n />\n </g>\n :\n <>\n <g\n transform={`translate(${iconOffsetX} ${iconOffsetY})scale(1.0002)`}\n >\n <Icon\n {...icon}\n shape=\"square\"\n />\n </g>\n <g\n transform={`translate(${textboxOffsetX} ${textboxOffsetY})scale(1.0002)`}\n >\n <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n stroke={textboxStroke}\n fill={textboxFill}\n />\n </g>\n </>;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\nimport { VertexProps } from \"./vertex\";\n\nexport interface IVertex3 extends VertexProps {\n id: string;\n origData?: any;\n categoryID?: string;\n text: string;\n textHeight?: number;\n textPadding?: number;\n textboxStrokeWidth?: number;\n icon?: Icon;\n annotations?: Icon[];\n annotationsHeight?: number;\n annotationGutter?: number;\n textFill?: string;\n textboxFill?: string;\n textboxStroke?: string;\n textFontFamily?: string;\n cornerRadius?: number;\n subText?: TextBox;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n showLabel?: boolean;\n noLabelRadius?: number;\n expansionIcon?: Icon;\n scale?: number;\n}\n\nexport const Vertex3: React.FunctionComponent<IVertex3> = ({\n text = \"\",\n textHeight = 10,\n textPadding = 4,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n cornerRadius = 3,\n icon = {},\n subText = {},\n showLabel = true,\n noLabelRadius = 5,\n expansionIcon,\n scale = 1\n}) => {\n icon = {\n height: 50,\n imageChar: \"?\",\n imageFontFamily: \"FontAwesome\",\n imageCharFill: \"#555555\",\n fill: \"transparent\",\n strokeWidth: 0,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"white\",\n textFill: \"#555555\",\n ...subText\n };\n expansionIcon = expansionIcon ? {\n height: 16,\n shape: \"circle\",\n padding: 6,\n imageChar: \"?\",\n imageFontFamily: \"FontAwesome\",\n imageCharFill: \"black\",\n fill: \"whitesmoke\",\n stroke: \"whitesmoke\",\n strokeWidth: 0,\n ...expansionIcon\n } : undefined;\n let fullAnnotationWidth = 0;\n\n const annoOffsetY = 0;\n\n const labelWidth = React.useMemo(() => {\n return Utility.textSize(text, textFontFamily, textHeight, false).width;\n }, [text, textFontFamily, textHeight]);\n\n let labelShapeWidth = 0;\n if (text !== \"\") {\n labelShapeWidth = labelWidth + (textPadding * 2) + (textboxStrokeWidth * 2);\n }\n fullAnnotationWidth += labelShapeWidth + annotationGutter;\n const textOffsetX = fullAnnotationWidth - (labelShapeWidth / 2);\n\n const textShapeHeight = textHeight + (textPadding * 2) + (textboxStrokeWidth * 2);\n const annotationArr = [];\n annotations.forEach((anno, idx) => {\n const annoText = anno.imageChar;\n const annoShapeWidth = textShapeHeight;\n fullAnnotationWidth += annoShapeWidth + annotationGutter;\n const annoOffsetX = fullAnnotationWidth - (annoShapeWidth / 2);\n annotationArr.push(\n <g key={idx} class=\"vertex3-anno\" data-click={\"annotation\"} data-click-data={JSON.stringify(anno)} transform={`translate(${annoOffsetX} ${annoOffsetY})`}>\n <Icon\n {...anno}\n shape=\"square\"\n height={textShapeHeight}\n imageChar={annoText}\n imageFontFamily={anno.imageFontFamily}\n cornerRadius={cornerRadius}\n strokeWidth={0}\n />\n </g>\n );\n });\n if (annotations.length > 0) {\n fullAnnotationWidth += annotationGutter * (annotations.length - 1);\n }\n const textElement = <g data-click={\"text\"} transform={`translate(${textOffsetX} ${annoOffsetY})`}>\n {!showLabel || text === \"\" ? <circle r={noLabelRadius} stroke={textboxStroke} fill={textFill} /> : <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n strokeWidth={textboxStrokeWidth}\n stroke={textboxStroke}\n fill={textboxFill}\n textFill={textFill}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />}\n </g>;\n const iconHeight = icon.height || 20;\n const iconStrokeWidth = icon.strokeWidth || 0;\n const iconOffsetX = 0;\n let iconOffsetY = 0;\n\n const subTextOffsetX = 0;\n let subTextOffsetY = textShapeHeight + (annotationGutter * 2);\n\n if (text !== \"\" || annotationArr.length > 0) {\n iconOffsetY = - (iconHeight / 2) - (iconStrokeWidth) - (textShapeHeight / 2) - (annotationGutter * 2);\n } else if (subText.text !== \"\") {\n subTextOffsetY = (iconHeight / 2) + iconStrokeWidth + (annotationGutter * 2);\n }\n\n const subtextElement = subText.text === \"\" ? null : <g data-click={\"subtext\"}\n transform={`translate(${subTextOffsetX} ${subTextOffsetY})`}\n >\n <TextBox\n fill={subText.fill || \"#FFFFFF\"}\n textFill={subText.textFill || textFill}\n {...subText}\n height={textHeight}\n padding={textPadding}\n strokeWidth={0}\n stroke={textboxStroke}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />\n </g>;\n\n return <g transform={`scale(${scale})`}>\n <g data-click={\"icon\"} transform={`translate(${iconOffsetX} ${iconOffsetY})`}>\n <Icon {...icon} />\n {expansionIcon &&\n <g data-click={\"expanded-icon\"} data-click-data={JSON.stringify(expansionIcon)} transform={`translate(${(icon.height + iconStrokeWidth) / 2 - expansionIcon.height / 2} ${-(icon.height + iconStrokeWidth) / 2 + expansionIcon.height / 2})`}>\n <Icon {...expansionIcon} />\n </g>\n }\n </g>\n <g transform={`translate(${-fullAnnotationWidth / 2} ${annoOffsetY})`} >\n {textElement}\n {annotationArr}\n </g>\n {subtextElement}\n </g >;\n};\n\nexport const CentroidVertex3: React.FunctionComponent<IVertex3> = function ({\n id,\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 10,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n cornerRadius,\n icon = {},\n subText = {},\n expansionIcon,\n scale = 1\n}) {\n icon = {\n height: 91,\n padding: 40,\n imageCharFill: \"#555555\",\n imageFontFamily: \"FontAwesome\",\n fill: \"#FFCC33\",\n stroke: \"#DFDFDF\",\n imageChar: \"?\",\n strokeWidth: 4,\n yOffset: -15,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"transparent\",\n textFill: \"#555555\",\n ...subText\n };\n const props = {\n id,\n categoryID,\n text,\n textHeight,\n textPadding,\n textFill,\n textboxFill,\n textboxStroke,\n textboxStrokeWidth,\n textFontFamily,\n annotationGutter,\n annotations,\n cornerRadius,\n icon,\n subText,\n expansionIcon,\n scale\n };\n return <Vertex3\n {...props}\n icon={icon}\n subText={subText}\n />;\n};\n","/* eslint-disable no-debugger, no-console */\nimport { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\nimport { VertexProps } from \"./vertex\";\n\nexport interface IVertex4Annotation extends Icon {\n shapeOffsetX?: number;\n shapeOffsetY?: number;\n}\n\nexport interface IVertex4 extends VertexProps {\n textboxStrokeWidth?: number;\n annotations?: IVertex4Annotation[];\n iconAnnotations?: IVertex4Annotation[];\n annotationGutter?: number;\n cornerRadius?: number;\n subText?: any;\n noLabelRadius?: number;\n iconBorderWidth?: number;\n iconBorderColor?: string;\n iconBackgroundColor?: string;\n shapeOffsetX?: number;\n shapeOffsetY?: number;\n iconOffsetX?: number;\n iconOffsetY?: number;\n iconPadding?: number;\n iconFontSize?: number;\n iconFontColor?: string;\n iconFontFamily?: string;\n iconText?: string;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Vertex4: React.FunctionComponent<IVertex4> = ({\n categoryID = \"\",\n text = \"\",\n textHeight = 10,\n textPadding = 4,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n iconAnnotations = [],\n cornerRadius = 3,\n icon = {},\n subText = {},\n showLabel = true,\n noLabelRadius = 5,\n\n iconBorderWidth = 1,\n iconBorderColor = \"#333\",\n\n iconBackgroundColor = \"#fff\",\n\n iconFontColor = \"#000\",\n iconFontSize = 20,\n iconFontFamily = \"FontAwesome\",\n\n shapeOffsetX = 0,\n shapeOffsetY = 0,\n iconOffsetX = 0,\n iconOffsetY = 0,\n\n iconPadding = 4,\n iconText = \"?\",\n shapeRendering = \"auto\"\n}) => {\n icon = {\n height: 50,\n imageChar: \"?\",\n imageFontFamily: \"FontAwesome\",\n imageCharFill: \"#555555\",\n fill: \"transparent\",\n strokeWidth: 0,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"white\",\n textFill: \"#555555\",\n ...subText\n };\n\n const annoOffsetY = 0;\n const labelWidth = React.useMemo(() => {\n return Utility.textSize(text, textFontFamily, textHeight, false).width;\n }, [text, textFontFamily, textHeight]);\n\n let labelShapeWidth = 0;\n if (text !== \"\") {\n labelShapeWidth = labelWidth + (textPadding * 2) + (textboxStrokeWidth * 2);\n }\n let fullAnnotationWidth = labelShapeWidth + annotationGutter;\n const textOffsetX = fullAnnotationWidth - (labelShapeWidth / 2);\n\n const textShapeHeight = textHeight + (annotationGutter * 2) + (textboxStrokeWidth * 2);\n const annoWidthArr = annotations.map((anno, i) => {\n return Utility.textSize(anno.imageChar, anno.imageFontFamily, anno.height, false).width;\n });\n const annotationArr = [];\n let _labelAnnoOffsetX = fullAnnotationWidth;\n annotations.forEach((anno, i) => {\n const annoText = anno.imageChar;\n const annoTextHeight = anno.height ?? textShapeHeight;\n _labelAnnoOffsetX += annoWidthArr[i] + annotationGutter;\n const annoOffsetX = _labelAnnoOffsetX - (annoWidthArr[i] / 2);\n annotationArr.push(\n <g key={i} class=\"vertex3-anno\" data-click={\"annotation\"} data-click-data={JSON.stringify(anno)} transform={`translate(${annoOffsetX} ${annoOffsetY})`}>\n <Icon\n {...anno}\n shape=\"rectangle\"\n width={annoWidthArr[i]}\n height={annoTextHeight}\n imageChar={annoText}\n imageFontFamily={anno.imageFontFamily}\n cornerRadius={cornerRadius}\n strokeWidth={0}\n />\n </g>\n );\n });\n\n if (annotations.length > 0) {\n fullAnnotationWidth += annotationGutter * (annotations.length - 1);\n }\n const iconAnnotationArr = [];\n iconAnnotations.forEach((anno, i) => {\n const x = anno.shapeOffsetX;\n const y = anno.shapeOffsetY;\n iconAnnotationArr.push(\n <g key={i} class=\"vertex3-iconAnno\" data-click={\"icon-annotation\"} data-click-data={JSON.stringify(anno)} transform={`translate(${x} ${y})`}>\n <Icon\n {...anno}\n shape={anno.shape ?? \"square\"}\n imageChar={anno.imageChar}\n imageFontFamily={anno.imageFontFamily}\n cornerRadius={cornerRadius}\n stroke={anno.stroke}\n strokeWidth={anno.strokeWidth}\n />\n </g>\n );\n });\n\n const textElement = <g data-click={\"text\"} transform={`translate(${textOffsetX} ${annoOffsetY})`}>\n {!showLabel || text === \"\" ? <circle r={noLabelRadius} stroke={textboxStroke} fill={textFill} /> : <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n strokeWidth={textboxStrokeWidth}\n stroke={textboxStroke}\n fill={textboxFill}\n textFill={textFill}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />}\n </g>;\n\n const subTextOffsetX = 0;\n const subTextOffsetY = textShapeHeight + (annotationGutter * 2);\n\n const subtextElement = subText.text === \"\" ? null : <g data-click={\"subtext\"}\n transform={`translate(${subTextOffsetX} ${subTextOffsetY})`}\n >\n <TextBox\n fill={subText.fill || \"#FFFFFF\"}\n textFill={subText.textFill || textFill}\n {...subText}\n height={textHeight}\n padding={textPadding}\n strokeWidth={0}\n stroke={textboxStroke}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />\n </g>;\n return <g>\n <g data-click={\"icon\"}\n transform={`translate(${shapeOffsetX} ${shapeOffsetY})`}\n >\n <Icon\n {...icon}\n strokeWidth={iconBorderWidth}\n shape=\"circle\"\n height={iconFontSize}\n fill={iconBackgroundColor}\n stroke={iconBorderColor}\n imageFontFamily={iconFontFamily}\n imageChar={iconText}\n imageCharFill={iconFontColor}\n padding={iconPadding}\n xOffset={iconOffsetX}\n yOffset={iconOffsetY}\n cornerRadius={cornerRadius}\n shapeRendering={shapeRendering}\n />\n {iconAnnotationArr}\n </g>\n <g\n transform={`translate(${-fullAnnotationWidth / 2} ${annoOffsetY})`}\n >\n {textElement}\n {annotationArr}\n </g>\n {subtextElement}\n </g>\n ;\n};\n\nexport const CentroidVertex4: React.FunctionComponent<IVertex4> = function ({\n id,\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 10,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n iconAnnotations = [],\n cornerRadius,\n icon = {},\n subText = {},\n showLabel = true,\n noLabelRadius = 5,\n\n iconBorderWidth = 1,\n iconBorderColor = \"#333\",\n\n iconBackgroundColor = \"#fff\",\n\n iconFontColor = \"#000\",\n iconFontSize = 20,\n iconFontFamily = \"FontAwesome\",\n\n shapeOffsetX = 0,\n shapeOffsetY = 0,\n iconOffsetX = 0,\n iconOffsetY = 0,\n\n iconPadding = 4,\n iconText = \"?\",\n shapeRendering = \"auto\"\n}) {\n icon = {\n height: 91,\n padding: 40,\n imageCharFill: \"#555555\",\n imageFontFamily: \"FontAwesome\",\n fill: \"#FFCC33\",\n stroke: \"#DFDFDF\",\n imageChar: \"?\",\n strokeWidth: 4,\n yOffset: -15,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"transparent\",\n textFill: \"#555555\",\n ...subText\n };\n const props = {\n id,\n categoryID,\n text,\n textHeight,\n textPadding,\n textFill,\n textboxFill,\n textboxStroke,\n textboxStrokeWidth,\n textFontFamily,\n annotationGutter,\n annotations,\n iconAnnotations,\n cornerRadius,\n icon,\n subText,\n showLabel,\n noLabelRadius,\n iconBorderWidth,\n iconBorderColor,\n iconBackgroundColor,\n iconFontColor,\n iconFontSize,\n iconFontFamily,\n shapeOffsetX,\n shapeOffsetY,\n iconOffsetX,\n iconOffsetY,\n iconPadding,\n iconText,\n shapeRendering\n };\n return <Vertex4\n {...props}\n icon={icon}\n subText={subText}\n />;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Rectangle } from \"./shape\";\nimport { Text } from \"./text\";\n\nexport interface SubgraphProps {\n id: string;\n origData?: any;\n text: string;\n width?: number;\n height?: number;\n fill?: string;\n stroke?: string;\n fontHeight?: number;\n fontFamily?: string;\n}\n\nexport const Subgraph: React.FunctionComponent<SubgraphProps> = ({\n text,\n width = 100,\n height = 100,\n fill = \"transparent\",\n stroke = \"black\",\n fontHeight = 12,\n fontFamily\n}) => {\n const tSize = Utility.textSize(text, fontFamily, fontHeight, false);\n return <>\n <Rectangle\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n />\n <g\n transform={`translate(${(-width + tSize.width) / 2 + 4} ${(-height + tSize.height) / 2 + 4})`}\n >\n <Text\n height={fontHeight}\n text={text}\n fontFamily={fontFamily}\n />\n </g>\n </>;\n};\n"],"names":["PKG_NAME","PKG_VERSION","BUILD_VERSION","slice","options","vnodeId","rerenderQueue","prevDebounce","i","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","assign","obj","props","removeNode","node","parentNode","removeChild","createElement","type","children","key","ref","normalizedProps","arguments","length","call","defaultProps","undefined","createVNode","original","vnode","constructor","Fragment","Component","context","getDomSibling","childIndex","indexOf","sibling","updateParentDomPointers","child","base","enqueueRender","c","push","process","debounceRendering","setTimeout","queue","sort","a","b","some","component","commitQueue","oldVNode","oldDom","parentDom","diff","ownerSVGElement","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","j","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","Array","isArray","reorderChildren","placeChild","unmount","applyRef","tmp","nextDom","sibDom","outer","appendChild","nextSibling","insertBefore","diffProps","dom","newProps","oldProps","hydrate","setProperty","setStyle","style","value","test","name","oldValue","useCapture","o","cssText","replace","toLowerCase","_listeners","addEventListener","eventProxyCapture","eventProxy","removeEventListener","e","setAttribute","removeAttribute","event","newVNode","isNew","oldState","snapshot","clearProcessingException","provider","componentContext","renderHook","count","newType","contextType","prototype","render","doRender","sub","state","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","diffElementNodes","diffed","root","cb","oldHtml","newHtml","nodeType","localName","document","createTextNode","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","innerHTML","checked","current","parentVNode","skipRemove","r","componentWillUnmount","this","replaceNode","firstChild","error","errorInfo","ctor","handled","getDerivedStateFromError","setState","componentDidCatch","isValidElement","update","callback","s","forceUpdate","currentIndex","currentComponent","previousComponent","prevRaf","currentHook","afterPaintEffects","EMPTY","oldBeforeDiff","oldBeforeRender","oldAfterDiff","oldCommit","oldBeforeUnmount","getHookState","index","hooks","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","action","currentValue","nextValue","_hasScuFromHooks","prevScu","p","stateHooks","filter","x","every","shouldUpdate","hookItem","useEffect","args","argsChanged","_pendingArgs","useMemo","factory","useCallback","flushAfterPaintEffects","shift","invokeCleanup","invokeEffect","requestAnimationFrame","raf","done","clearTimeout","timeout","HAS_RAF","cancelAnimationFrame","hasErrored","hook","comp","cleanup","oldArgs","newArgs","arg","f","pointX","y","pointY","React.useMemo","React.createElement","React.Fragment","React.render","React.h","React.useState","React.useEffect","React.useCallback","h"],"mappings":"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"}
1
+ {"version":3,"file":"index.es6.js","sources":["../src/__package__.ts","../../preact-shim/src/__package__.ts","../../preact-shim/node_modules/preact/src/util.js","../../preact-shim/node_modules/preact/src/options.js","../../preact-shim/node_modules/preact/src/create-element.js","../../preact-shim/node_modules/preact/src/component.js","../../preact-shim/node_modules/preact/src/create-context.js","../../preact-shim/node_modules/preact/src/constants.js","../../preact-shim/node_modules/preact/src/diff/children.js","../../preact-shim/node_modules/preact/src/diff/props.js","../../preact-shim/node_modules/preact/src/diff/index.js","../../preact-shim/node_modules/preact/src/render.js","../../preact-shim/node_modules/preact/src/diff/catch-error.js","../../preact-shim/node_modules/preact/hooks/src/index.js","../../../node_modules/d3-path/src/path.js","../../../node_modules/d3-shape/src/constant.js","../../../node_modules/d3-shape/src/curve/linear.js","../../../node_modules/d3-shape/src/point.js","../../../node_modules/d3-shape/src/line.js","../../../node_modules/d3-shape/src/curve/basis.js","../src/edge.tsx","../src/ImageChar.tsx","../../../node_modules/tslib/tslib.es6.js","../src/shape.tsx","../src/icon.tsx","../src/render.ts","../src/text.tsx","../src/vertex.tsx","../src/vertex2.tsx","../src/vertex3.tsx","../src/vertex4.tsx","../src/subgraph.tsx"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/react\";\r\nexport const PKG_VERSION = \"2.53.0\";\r\nexport const BUILD_VERSION = \"2.104.8\";\r\n","export const PKG_NAME = \"@hpcc-js/preact-shim\";\r\nexport const PKG_VERSION = \"2.16.2\";\r\nexport const BUILD_VERSION = \"2.104.8\";\r\n","import { EMPTY_ARR } from \"./constants\";\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array<import('.').ComponentChildren>} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function(update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array<import('./internal').Component>}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || setTimeout)(process);\n\t}\n}\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet queue;\n\twhile ((process._rerenderCount = rerenderQueue.length)) {\n\t\tqueue = rerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);\n\t\trerenderQueue = [];\n\t\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t\t// process() calls from getting scheduled while `queue` is still being consumed.\n\t\tqueue.some(c => {\n\t\t\tif (c._dirty) renderComponent(c);\n\t\t});\n\t}\n}\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function(_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(enqueueRender);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType = context);\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array<import('../internal').PreactElement>} excessDomChildren\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (childVNode == null || typeof childVNode == 'boolean') {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g. <div>{reuse}{reuse}</div>) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (Array.isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse = <div />\n\t\t\t// <div>{reuse}<span />{reuse}</div>\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tnull,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldParentVNode, i + 1);\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\tlet c = childVNode._children;\n\tlet tmp = 0;\n\tfor (; c && tmp < c.length; tmp++) {\n\t\tlet vnode = c[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tvnode,\n\t\t\t\t\tvnode,\n\t\t\t\t\tc,\n\t\t\t\t\tvnode._dom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (Array.isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j<oldChildrenLength; j+=2` is an alternative to `j++<oldChildrenLength/2`\n\t\t\tfor (\n\t\t\t\tlet sibDom = oldDom, j = 0;\n\t\t\t\t(sibDom = sibDom.nextSibling) && j < oldChildren.length;\n\t\t\t\tj += 2\n\t\t\t) {\n\t\t\t\tif (sibDom == newDom) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t}\n\t\t\tparentDom.insertBefore(newDom, oldDom);\n\t\t\tnextDom = oldDom;\n\t\t}\n\t}\n\n\t// If we have pre-calculated the nextDOM node, use it. Else calculate it now\n\t// Strictly check for `undefined` here cuz `null` is a valid value of `nextDom`.\n\t// See more detail in create-element.js:createVNode\n\tif (nextDom !== undefined) {\n\t\toldDom = nextDom;\n\t} else {\n\t\toldDom = newDom.nextSibling;\n\t}\n\n\treturn oldDom;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (i !== 'children' && i !== 'key' && !(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'children' &&\n\t\t\ti !== 'key' &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture = name !== (name = name.replace(/Capture$/, ''));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else if (name !== 'dangerouslySetInnerHTML') {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// ARIA-attributes have a different notion of boolean values.\n\t\t// The value `false` is different from the attribute not\n\t\t// existing on the DOM, so we can't remove it. For non-boolean\n\t\t// ARIA-attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost us too many bytes. On top of\n\t\t// that other VDOM frameworks also always stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (\n\t\t\tvalue != null &&\n\t\t\t(value !== false || (name[0] === 'a' && name[1] === 'r'))\n\t\t) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tthis._listeners[e.type + false](options.event ? options.event(e) : e);\n}\n\nfunction eventProxyCapture(e) {\n\tthis._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array<import('../internal').PreactElement>} excessDomChildren\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\tc.props = newProps;\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) c._dirty = false;\n\t\t\t\t\tc._vnode = newVNode;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._vnode = newVNode;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tArray.isArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array<import('../internal').Component>} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t'setAttribute' in child === !!nodeType &&\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tArray.isArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the <progress>-element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value ||\n\t\t\t\t\t(nodeType === 'progress' && !i) ||\n\t\t\t\t\t// This is only for IE 11 to fix <select> value not being updated.\n\t\t\t\t\t// To avoid a stale select value we need to set the option.value\n\t\t\t\t\t// again, which triggers IE11 to re-evaluate the select value\n\t\t\t\t\t(nodeType === 'option' && i !== oldProps.value))\n\t\t\t) {\n\t\t\t\tsetProperty(dom, 'value', i, oldProps.value, false);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t'checked' in newProps &&\n\t\t\t\t(i = newProps.checked) !== undefined &&\n\t\t\t\ti !== dom.checked\n\t\t\t) {\n\t\t\t\tsetProperty(dom, 'checked', i, oldProps.checked, false);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn dom;\n}\n\n/**\n * Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} ref\n * @param {any} value\n * @param {import('../internal').VNode} vnode\n */\nexport function applyRef(ref, value, vnode) {\n\ttry {\n\t\tif (typeof ref == 'function') ref(value);\n\t\telse ref.current = value;\n\t} catch (e) {\n\t\toptions._catchError(e, vnode);\n\t}\n}\n\n/**\n * Unmount a virtual node from the tree and apply DOM changes\n * @param {import('../internal').VNode} vnode The virtual node to unmount\n * @param {import('../internal').VNode} parentVNode The parent of the VNode that\n * initiated the unmount\n * @param {boolean} [skipRemove] Flag that indicates that a parent node of the\n * current element is already detached from the DOM.\n */\nexport function unmount(vnode, parentVNode, skipRemove) {\n\tlet r;\n\tif (options.unmount) options.unmount(vnode);\n\n\tif ((r = vnode.ref)) {\n\t\tif (!r.current || r.current === vnode._dom) applyRef(r, null, parentVNode);\n\t}\n\n\tif ((r = vnode._component) != null) {\n\t\tif (r.componentWillUnmount) {\n\t\t\ttry {\n\t\t\t\tr.componentWillUnmount();\n\t\t\t} catch (e) {\n\t\t\t\toptions._catchError(e, parentVNode);\n\t\t\t}\n\t\t}\n\n\t\tr.base = r._parentDom = null;\n\t}\n\n\tif ((r = vnode._children)) {\n\t\tfor (let i = 0; i < r.length; i++) {\n\t\t\tif (r[i]) {\n\t\t\t\tunmount(r[i], parentVNode, typeof vnode.type != 'function');\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!skipRemove && vnode._dom != null) removeNode(vnode._dom);\n\n\t// Must be set to `undefined` to properly clean up `_nextDom`\n\t// for which `null` is a valid value. See comment in `create-element.js`\n\tvnode._dom = vnode._nextDom = undefined;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, state, context) {\n\treturn this.constructor(props, context);\n}\n","import { EMPTY_OBJ } from './constants';\nimport { commitRoot, diff } from './diff/index';\nimport { createElement, Fragment } from './create-element';\nimport options from './options';\nimport { slice } from './util';\n\n/**\n * Render a Preact virtual node into a DOM element\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * render into\n * @param {import('./internal').PreactElement | object} [replaceNode] Optional: Attempt to re-use an\n * existing DOM tree rooted at `replaceNode`\n */\nexport function render(vnode, parentDom, replaceNode) {\n\tif (options._root) options._root(vnode, parentDom);\n\n\t// We abuse the `replaceNode` parameter in `hydrate()` to signal if we are in\n\t// hydration mode or not by passing the `hydrate` function instead of a DOM\n\t// element..\n\tlet isHydrating = typeof replaceNode === 'function';\n\n\t// To be able to support calling `render()` multiple times on the same\n\t// DOM node, we need to obtain a reference to the previous tree. We do\n\t// this by assigning a new `_children` property to DOM nodes which points\n\t// to the last rendered tree. By default this property is not present, which\n\t// means that we are mounting a new tree for the first time.\n\tlet oldVNode = isHydrating\n\t\t? null\n\t\t: (replaceNode && replaceNode._children) || parentDom._children;\n\n\tvnode = (\n\t\t(!isHydrating && replaceNode) ||\n\t\tparentDom\n\t)._children = createElement(Fragment, null, [vnode]);\n\n\t// List of effects that need to be called after diffing.\n\tlet commitQueue = [];\n\tdiff(\n\t\tparentDom,\n\t\t// Determine the new vnode tree and store it on the DOM element on\n\t\t// our custom `_children` property.\n\t\tvnode,\n\t\toldVNode || EMPTY_OBJ,\n\t\tEMPTY_OBJ,\n\t\tparentDom.ownerSVGElement !== undefined,\n\t\t!isHydrating && replaceNode\n\t\t\t? [replaceNode]\n\t\t\t: oldVNode\n\t\t\t? null\n\t\t\t: parentDom.firstChild\n\t\t\t? slice.call(parentDom.childNodes)\n\t\t\t: null,\n\t\tcommitQueue,\n\t\t!isHydrating && replaceNode\n\t\t\t? replaceNode\n\t\t\t: oldVNode\n\t\t\t? oldVNode._dom\n\t\t\t: parentDom.firstChild,\n\t\tisHydrating\n\t);\n\n\t// Flush all queued effects\n\tcommitRoot(commitQueue, vnode);\n}\n\n/**\n * Update an existing DOM element with data from a Preact virtual node\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * update\n */\nexport function hydrate(vnode, parentDom) {\n\trender(vnode, parentDom, hydrate);\n}\n","/**\n * Find the closest error boundary to a thrown error and call it\n * @param {object} error The thrown value\n * @param {import('../internal').VNode} vnode The vnode that threw\n * the error that was caught (except for unmounting when this parameter\n * is the highest parent that was being unmounted)\n * @param {import('../internal').VNode} [oldVNode]\n * @param {import('../internal').ErrorInfo} [errorInfo]\n */\nexport function _catchError(error, vnode, oldVNode, errorInfo) {\n\t/** @type {import('../internal').Component} */\n\tlet component, ctor, handled;\n\n\tfor (; (vnode = vnode._parent); ) {\n\t\tif ((component = vnode._component) && !component._processingException) {\n\t\t\ttry {\n\t\t\t\tctor = component.constructor;\n\n\t\t\t\tif (ctor && ctor.getDerivedStateFromError != null) {\n\t\t\t\t\tcomponent.setState(ctor.getDerivedStateFromError(error));\n\t\t\t\t\thandled = component._dirty;\n\t\t\t\t}\n\n\t\t\t\tif (component.componentDidCatch != null) {\n\t\t\t\t\tcomponent.componentDidCatch(error, errorInfo || {});\n\t\t\t\t\thandled = component._dirty;\n\t\t\t\t}\n\n\t\t\t\t// This is an error boundary. Mark it as having bailed out, and whether it was mid-hydration.\n\t\t\t\tif (handled) {\n\t\t\t\t\treturn (component._pendingError = component);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow error;\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {import('./internal').Component} */\nlet previousComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet EMPTY = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\tif (previousComponent === currentComponent) {\n\t\t\thooks._pendingEffects = [];\n\t\t\tcurrentComponent._renderCallbacks = [];\n\t\t\thooks._list.forEach(hookItem => {\n\t\t\t\tif (hookItem._nextValue) {\n\t\t\t\t\thookItem._value = hookItem._nextValue;\n\t\t\t\t}\n\t\t\t\thookItem._pendingValue = EMPTY;\n\t\t\t\thookItem._nextValue = hookItem._pendingArgs = undefined;\n\t\t\t});\n\t\t} else {\n\t\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\t\thooks._pendingEffects = [];\n\t\t}\n\t}\n\tpreviousComponent = currentComponent;\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\tif (c.__hooks._pendingEffects.length) afterPaint(afterPaintEffects.push(c));\n\t\tc.__hooks._list.forEach(hookItem => {\n\t\t\tif (hookItem._pendingArgs) {\n\t\t\t\thookItem._args = hookItem._pendingArgs;\n\t\t\t}\n\t\t\tif (hookItem._pendingValue !== EMPTY) {\n\t\t\t\thookItem._value = hookItem._pendingValue;\n\t\t\t}\n\t\t\thookItem._pendingArgs = undefined;\n\t\t\thookItem._pendingValue = EMPTY;\n\t\t});\n\t}\n\tpreviousComponent = currentComponent = null;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\tlet hasErrored;\n\t\tc.__hooks._list.forEach(s => {\n\t\t\ttry {\n\t\t\t\tinvokeCleanup(s);\n\t\t\t} catch (e) {\n\t\t\t\thasErrored = e;\n\t\t\t}\n\t\t});\n\t\tif (hasErrored) options._catchError(hasErrored, c._vnode);\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({ _pendingValue: EMPTY });\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst currentValue = hookState._nextValue\n\t\t\t\t\t? hookState._nextValue[0]\n\t\t\t\t\t: hookState._value[0];\n\t\t\t\tconst nextValue = hookState._reducer(currentValue, action);\n\n\t\t\t\tif (currentValue !== nextValue) {\n\t\t\t\t\thookState._nextValue = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\n\t\tif (!currentComponent._hasScuFromHooks) {\n\t\t\tcurrentComponent._hasScuFromHooks = true;\n\t\t\tconst prevScu = currentComponent.shouldComponentUpdate;\n\n\t\t\t// This SCU has the purpose of bailing out after repeated updates\n\t\t\t// to stateful hooks.\n\t\t\t// we store the next value in _nextValue[0] and keep doing that for all\n\t\t\t// state setters, if we have next states and\n\t\t\t// all next states within a component end up being equal to their original state\n\t\t\t// we are safe to bail out for this specific component.\n\t\t\tcurrentComponent.shouldComponentUpdate = function(p, s, c) {\n\t\t\t\tif (!hookState._component.__hooks) return true;\n\n\t\t\t\tconst stateHooks = hookState._component.__hooks._list.filter(\n\t\t\t\t\tx => x._component\n\t\t\t\t);\n\t\t\t\tconst allHooksEmpty = stateHooks.every(x => !x._nextValue);\n\t\t\t\t// When we have no updated hooks in the component we invoke the previous SCU or\n\t\t\t\t// traverse the VDOM tree further.\n\t\t\t\tif (allHooksEmpty) {\n\t\t\t\t\treturn prevScu ? prevScu.call(this, p, s, c) : true;\n\t\t\t\t}\n\n\t\t\t\t// We check whether we have components with a nextValue set that\n\t\t\t\t// have values that aren't equal to one another this pushes\n\t\t\t\t// us to update further down the tree\n\t\t\t\tlet shouldUpdate = false;\n\t\t\t\tstateHooks.forEach(hookItem => {\n\t\t\t\t\tif (hookItem._nextValue) {\n\t\t\t\t\t\tconst currentValue = hookItem._value[0];\n\t\t\t\t\t\thookItem._value = hookItem._nextValue;\n\t\t\t\t\t\thookItem._nextValue = undefined;\n\t\t\t\t\t\tif (currentValue !== hookItem._value[0]) shouldUpdate = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn shouldUpdate\n\t\t\t\t\t? prevScu\n\t\t\t\t\t\t? prevScu.call(this, p, s, c)\n\t\t\t\t\t\t: true\n\t\t\t\t\t: false;\n\t\t\t};\n\t\t}\n\t}\n\n\treturn hookState._nextValue || hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._pendingArgs = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._pendingArgs = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') {\n\t\t\t\tref(createHandle());\n\t\t\t\treturn () => ref(null);\n\t\t\t} else if (ref) {\n\t\t\t\tref.current = createHandle();\n\t\t\t\treturn () => (ref.current = null);\n\t\t\t}\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._pendingValue = factory();\n\t\tstate._pendingArgs = args;\n\t\tstate._factory = factory;\n\t\treturn state._pendingValue;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tlet component;\n\twhile ((component = afterPaintEffects.shift())) {\n\t\tif (!component._parentDom || !component.__hooks) continue;\n\t\ttry {\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t} catch (e) {\n\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t}\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tlet cleanup = hook._cleanup;\n\tif (typeof cleanup == 'function') {\n\t\thook._cleanup = undefined;\n\t\tcleanup();\n\t}\n\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import * as React from \"@hpcc-js/preact-shim\";\nimport { curveBasis as d3CurveBasis, line as d3Line } from \"d3-shape\";\n\ntype Point = [number, number];\n\nconst line = d3Line<Point>()\n .x(d => d[0])\n .y(d => d[1])\n .curve(d3CurveBasis)\n ;\n\nfunction calcArc(points: Point[], curveDepth: number): Point[] {\n if (points.length === 2 && curveDepth) {\n const dx = points[0][0] - points[1][0];\n const dy = points[0][1] - points[1][1];\n const dist = Math.sqrt(dx * dx + dy * dy);\n if (dist) {\n const midX = (points[0][0] + points[1][0]) / 2 - dy * curveDepth / 100;\n const midY = (points[0][1] + points[1][1]) / 2 + dx * curveDepth / 100;\n return [points[0], [midX, midY], points[1]];\n }\n }\n return points;\n}\n\nexport interface Edge {\n points?: Array<[number, number]>;\n curveDepth?: number;\n stroke?: string;\n strokeDasharray?: string;\n weight?: number;\n}\n\nexport const Edge: React.FunctionComponent<Edge> = ({\n points = [],\n curveDepth = 16,\n stroke = \"black\",\n strokeDasharray\n}) => {\n const d = React.useMemo(() => {\n return line(calcArc(points, curveDepth));\n }, [curveDepth, points]);\n return <path stroke={stroke} stroke-dasharray={strokeDasharray} d={d}></path>;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\n\ninterface ImageChar {\n x?: number;\n y?: number;\n height?: number;\n fill?: string;\n stroke?: string;\n fontFamily?: string;\n char?: string;\n yOffset?: number;\n}\n\nexport const ImageChar: React.FunctionComponent<ImageChar> = ({\n x,\n y = 0,\n height = 12,\n fill,\n stroke,\n fontFamily = \"FontAwesome\",\n char = \"\"\n}) => {\n\n const renderChar = React.useMemo(() => {\n return fontFamily === \"FontAwesome\" ? Utility.faChar(char) : char;\n }, [char, fontFamily]);\n\n return <text\n x={x}\n y={y}\n fill={fill}\n stroke={stroke}\n font-family={fontFamily}\n font-size={`${height}px`}\n dominant-baseline=\"middle\"\n style=\"text-anchor: middle;alignment-baseline:middle;\"\n >{renderChar}</text>;\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import * as React from \"@hpcc-js/preact-shim\";\n\ninterface Circle {\n radius?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Circle: React.FunctionComponent<Circle> = ({\n radius = 32,\n fill = \"navy\",\n stroke = fill,\n strokeWidth = 1,\n shapeRendering\n}) => <circle\n r={radius}\n fill={fill}\n stroke={stroke}\n stroke-width={strokeWidth}\n shape-rendering={shapeRendering}\n />;\n\ninterface Square {\n radius?: number;\n cornerRadius?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Square: React.FunctionComponent<Square> = ({\n radius = 30,\n cornerRadius = 0,\n fill = \"white\",\n stroke,\n strokeWidth = 1,\n shapeRendering\n}) => <rect\n x={-radius}\n y={-radius}\n rx={cornerRadius}\n ry={cornerRadius}\n width={radius * 2}\n height={radius * 2}\n fill={fill}\n stroke={stroke || fill}\n stroke-width={strokeWidth}\n shape-rendering={shapeRendering}\n />;\n\ninterface Rectangle {\n width?: number;\n height?: number;\n cornerRadius?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Rectangle: React.FunctionComponent<Rectangle> = ({\n width = 30,\n height = 30,\n cornerRadius = 0,\n fill = \"white\",\n stroke = \"black\",\n strokeWidth = 1,\n shapeRendering\n}) => {\n return <rect\n x={-width / 2}\n y={-height / 2}\n rx={cornerRadius}\n ry={cornerRadius}\n width={width}\n height={height}\n fill={fill}\n stroke={stroke || fill}\n stroke-width={strokeWidth}\n shape-rendering={shapeRendering}\n />;\n};\n\ninterface Shape {\n shape?: \"circle\" | \"square\" | \"rectangle\";\n height?: number;\n width?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n cornerRadius?: number;\n}\n\nexport const Shape: React.FunctionComponent<Shape> = ({\n shape = \"circle\",\n height = 128,\n width,\n fill,\n stroke,\n strokeWidth = 1,\n shapeRendering,\n cornerRadius\n}) => {\n switch (shape) {\n case \"square\":\n return <Square\n radius={height / 2}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n cornerRadius={cornerRadius}\n />;\n case \"rectangle\":\n return <Rectangle\n width={width ?? height}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n cornerRadius={cornerRadius}\n />;\n case \"circle\":\n default:\n return <Circle\n radius={height / 2}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n />;\n }\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { ImageChar } from \"./ImageChar\";\nimport { Shape } from \"./shape\";\n\nexport interface Icon {\n shape?: \"circle\" | \"square\" | \"rectangle\";\n width?: number;\n height?: number;\n padding?: number;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n imageFontFamily?: string;\n imageChar?: string;\n imageCharFill?: string;\n xOffset?: number;\n yOffset?: number;\n cornerRadius?: number;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Icon: React.FunctionComponent<Icon> = ({\n shape = \"circle\",\n width,\n height = 32,\n fill,\n stroke,\n strokeWidth = 0,\n imageFontFamily = \"FontAwesome\",\n imageChar = \"\",\n imageCharFill = Palette.textColor(fill),\n padding = height / 5,\n xOffset = 0,\n yOffset = 0,\n cornerRadius,\n shapeRendering\n}) => {\n return <>\n <Shape\n shape={shape}\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n shapeRendering={shapeRendering}\n cornerRadius={cornerRadius}\n />\n <ImageChar\n x={xOffset}\n y={yOffset}\n height={height - padding}\n fontFamily={imageFontFamily}\n char={imageChar}\n fill={imageCharFill}\n font-weight={400}\n ></ImageChar>\n </>;\n};\n\nexport interface IconEx extends Icon {\n id: string;\n}\n\nexport interface Icons {\n icons: IconEx[];\n}\n\nexport const Icons: React.FunctionComponent<Icons> = ({\n icons = []\n}) => {\n const IconComponents = icons.map(cat => {\n return <g\n key={cat.id}\n id={cat.id}\n >\n <Icon\n {...cat}\n />\n </g>;\n });\n return <>{IconComponents}</>;\n};\n","import { HTMLWidget, publish, SVGWidget } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\n\nexport function render<P>(C: React.FunctionComponent<P>, props: Readonly<P>, parent: Element | Document | ShadowRoot | DocumentFragment, replaceNode?: Element | Text) {\n React.render(React.h(C, props), parent, replaceNode);\n}\n\nexport interface FunctionComponent<T> extends React.FunctionComponent<T> {\n}\n\nexport function svgRender<P>(C: React.FunctionComponent<P>, props: Readonly<P>, parent: Element | Document | ShadowRoot | DocumentFragment, replaceNode?: Element | Text) {\n React.render(React.h(\"svg\", null, React.h(C, props)), parent, replaceNode);\n}\n\nexport class HTMLAdapter<P> extends HTMLWidget {\n\n @publish({}, \"object\", \"Properties\")\n protected _props: P = {} as P;\n props(): P;\n props(_: Partial<P>): this;\n props(_?: Partial<P>): P | this {\n if (!arguments.length) return this._props;\n this._props = { ...this._props, ..._ };\n return this;\n }\n\n prop<K extends keyof P>(_: K): P[K];\n prop<K extends keyof P>(_: K, value: P[K]): this;\n prop<K extends keyof P>(_: K, value?: P[K]): this | P[K] {\n if (arguments.length === 1) return this._props[_];\n this._props[_] = value;\n return this;\n }\n\n constructor(protected readonly _component: React.FunctionComponent<P>) {\n super();\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n render(this._component, this._props, domNode);\n }\n}\n\nexport class SVGAdapter<P> extends SVGWidget {\n\n @publish({}, \"object\", \"Properties\")\n protected _props: P = {} as P;\n props(): P;\n props(_: Partial<P>): this;\n props(_?: Partial<P>): P | this {\n if (!arguments.length) return this._props;\n this._props = { ...this._props, ..._ };\n return this;\n }\n\n prop<K extends keyof P>(_: K): P[K];\n prop<K extends keyof P>(_: K, value: P[K]): this;\n prop<K extends keyof P>(_: K, value?: P[K]): this | P[K] {\n if (arguments.length === 1) return this._props[_];\n this._props[_] = value;\n return this;\n }\n\n constructor(protected readonly _component: React.FunctionComponent<P>) {\n super();\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n render(this._component, this._props, domNode);\n }\n}\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { Rectangle } from \"./shape\";\n\ninterface TextLine {\n text: string;\n height?: number;\n anchor?: string;\n baseline?: string;\n fontFamily?: string;\n fill?: string;\n}\n\nexport const TextLine: React.FunctionComponent<TextLine> = ({\n text,\n height = 12,\n anchor = \"middle\",\n baseline = \"middle\",\n fontFamily = \"Verdana\",\n fill = \"black\"\n}) => {\n return <text\n font-family={fontFamily}\n font-size={`${height}px`}\n text-anchor={anchor}\n dominant-baseline={baseline}\n fill={fill}\n >{text}</text>;\n};\n\ninterface Text {\n text: string;\n height?: number;\n fontFamily?: string;\n fill?: string;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n}\n\nexport const Text: React.FunctionComponent<Text> = ({\n text,\n height = 12,\n fontFamily = \"Verdana\",\n fill = \"black\",\n onSizeUpdate\n}) => {\n const [totalWidth, setTotalWidthUpdate] = React.useState(0);\n const [totalHeight, setTotalHeightUpdate] = React.useState(0);\n\n React.useEffect(() => {\n onSizeUpdate && onSizeUpdate({ width: totalWidth, height: totalHeight });\n }, [totalWidth, totalHeight, onSizeUpdate]);\n\n const parts = React.useMemo(() => {\n return text.split(\"\\n\");\n }, [text]);\n\n const ts = React.useMemo(() => {\n return Utility.textSize(parts, fontFamily, height);\n }, [fontFamily, height, parts]);\n\n setTotalWidthUpdate(ts.width);\n setTotalHeightUpdate(parts.length * (height + 2) - 2);\n\n const yOffset = -(totalHeight / 2) + (height / 2);\n const TextLines = React.useMemo(() => {\n return parts.map((p, i) => {\n return <g key={i} transform={`translate(0 ${yOffset + i * (height + 2)})`}>\n <TextLine\n text={p}\n height={height}\n fontFamily={fontFamily}\n fill={fill}\n />\n </g>;\n });\n }, [fill, fontFamily, height, parts, yOffset]);\n\n return <>{TextLines}</>;\n};\n\nexport interface TextBox {\n text: string;\n height?: number;\n fontFamily?: string;\n padding?: number;\n fill?: string;\n stroke?: string;\n textFill?: string;\n strokeWidth?: number;\n cornerRadius?: number;\n textOffsetY?: number;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n}\n\nexport const TextBox: React.FunctionComponent<TextBox> = ({\n text,\n height = 12,\n fontFamily = \"Verdana\",\n padding = 4,\n fill = \"whitesmoke\",\n stroke = \"lightgray\",\n textFill = \"black\",\n strokeWidth = 1,\n cornerRadius = 0,\n onSizeUpdate\n}) => {\n const [textWidth, setTextWidthUpdate] = React.useState(0);\n const [textHeight, setTextHeightUpdate] = React.useState(0);\n\n React.useEffect(() => {\n onSizeUpdate && onSizeUpdate({ width: textWidth, height: textHeight });\n }, [textWidth, textHeight, onSizeUpdate]);\n\n const onTextSizeUpdate = React.useCallback(size => {\n setTextWidthUpdate(size.width);\n setTextHeightUpdate(size.height);\n }, []);\n\n const w = textWidth + padding * 2 + strokeWidth;\n const h = textHeight + padding * 2 + strokeWidth;\n const textOffsetY = Math.floor(height / 10);\n\n return <>\n <Rectangle\n width={w}\n height={h}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n cornerRadius={cornerRadius}\n />\n <g transform={`translate(0 ${textOffsetY})`}>\n <Text\n text={text}\n fontFamily={fontFamily}\n height={height}\n fill={textFill}\n onSizeUpdate={onTextSizeUpdate}\n />\n </g>\n </>;\n};\n\nexport interface LabelledRect extends TextBox {\n width?: number;\n fontSize?: number;\n}\n\nexport interface IconLabelledRect extends LabelledRect {\n icon: string;\n iconFontFamily: string;\n iconFontSize: number;\n}\n\nexport const LabelledRect: React.FunctionComponent<LabelledRect> = ({\n text,\n height = 12,\n width = 12,\n fontFamily = \"Verdana\",\n fontSize = 10,\n padding = 3,\n fill = \"whitesmoke\",\n stroke = \"lightgray\",\n textFill = \"black\",\n strokeWidth = 1,\n cornerRadius = 0,\n onSizeUpdate = (size: { width: number, height: number }) => { }\n}) => {\n return <>\n <Rectangle\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n cornerRadius={cornerRadius}\n />\n <g transform={`translate(${-(width / 2) + padding} ${-(height / 2) + padding})`}>\n <TextLine\n text={text}\n fontFamily={fontFamily}\n height={fontSize}\n fill={textFill}\n anchor=\"start\"\n baseline=\"hanging\"\n />\n </g>\n </>;\n};\n\nexport const IconLabelledRect: React.FunctionComponent<IconLabelledRect> = ({\n icon,\n iconFontFamily,\n text,\n height = 12,\n width = 12,\n fontFamily = \"Verdana\",\n fontSize = 10,\n padding = 3,\n fill = \"whitesmoke\",\n stroke = \"lightgray\",\n textFill = \"black\",\n strokeWidth = 1,\n cornerRadius = 0,\n onSizeUpdate = (size: { width: number, height: number }) => { }\n}) => {\n return <>\n <Rectangle\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n cornerRadius={cornerRadius}\n />\n <g transform={`translate(${-(width / 2) + padding} ${-(height / 2) + padding})`}>\n <Icon\n shape=\"square\"\n imageFontFamily={iconFontFamily}\n imageChar={icon}\n height={height}\n fill={fill}\n imageCharFill={textFill}\n />\n </g>\n <g transform={`translate(${-(width / 2) + (padding * 2) + height} ${-(height / 2) + padding})`}>\n <TextLine\n text={text}\n fontFamily={fontFamily}\n height={fontSize}\n fill={textFill}\n anchor=\"start\"\n baseline=\"hanging\"\n />\n </g>\n </>;\n};\n","import * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\n\nexport interface Annotations {\n x: number;\n y: number;\n annotationIDs: string[];\n stepSize?: number;\n}\n\nexport const Annotations: React.FunctionComponent<Annotations> = ({\n x,\n y,\n annotationIDs = [],\n stepSize = -16\n}) => {\n const IconComponents = annotationIDs.map((id, i) => <g\n key={id}\n transform={`translate(${x + i * stepSize} ${y})`}\n >\n <use\n href={\"#\" + id}\n />\n </g>\n );\n return <>{IconComponents}</>;\n};\n\nexport interface VertexProps {\n id: string | number;\n centroid?: boolean;\n categoryID?: string;\n text: string;\n textHeight?: number;\n textPadding?: number;\n icon?: Icon;\n annotationsHeight?: number;\n annotationIDs?: string[];\n textFill?: string;\n textboxFill?: string;\n textboxStroke?: string;\n textFontFamily?: string;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n showLabel?: boolean;\n scale?: number\n}\n\nexport const Vertex: React.FunctionComponent<VertexProps> = ({\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 4,\n icon = {},\n annotationsHeight = 12,\n annotationIDs = [],\n textFill,\n textboxFill,\n textboxStroke,\n textFontFamily,\n onSizeUpdate,\n showLabel = true,\n scale = 1\n}) => {\n const [textBoxWidth, setTextBoxWidthUpdate] = React.useState(0);\n const [textBoxHeight, setTextBoxHeightUpdate] = React.useState(0);\n\n React.useEffect(() => {\n onSizeUpdate && onSizeUpdate({ width: 0, height: 0 });\n }, [textBoxWidth, textBoxHeight, onSizeUpdate]);\n\n icon = {\n imageChar: \"fa-question\",\n height: 32,\n fill: \"transparent\",\n ...icon\n };\n let width = textBoxWidth;\n width += 4;\n let offsetY = -(icon.height * 2 / 6 + textHeight + 8) / 2;\n const textboxOffsetY = icon.height / 3 + textBoxHeight / 2 + textPadding;\n let annotationOffsetY = icon.height / 3 + textBoxHeight + textPadding + annotationsHeight / 3;\n if (!showLabel) {\n offsetY += (textHeight + 8) / 2;\n annotationOffsetY -= textBoxHeight + textPadding;\n }\n\n const onTextBoxSizeUpdate = React.useCallback(size => {\n setTextBoxWidthUpdate(size.width);\n setTextBoxHeightUpdate(size.height);\n }, []);\n\n const label = showLabel ? <g transform={`translate(0 ${textboxOffsetY})`}>\n <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n onSizeUpdate={onTextBoxSizeUpdate}\n textFill={textFill}\n fill={textboxFill}\n stroke={textboxStroke}\n fontFamily={textFontFamily}\n />\n </g> : undefined;\n return categoryID ?\n <g transform={`translate(0 ${offsetY}) scale(${scale})`}>\n <use href={\"#\" + categoryID} />\n {label}\n <Annotations x={width / 2} y={annotationOffsetY} annotationIDs={annotationIDs} />\n </g> :\n <g transform={`translate(0 ${offsetY}) scale(${scale})`}>\n <Icon {...icon} />\n {label}\n </g>;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\nimport { Annotations, VertexProps } from \"./vertex\";\n\nexport const Vertex2: React.FunctionComponent<VertexProps> = ({\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 4,\n icon = {},\n textFill = \"black\",\n textboxFill = \"white\",\n textboxStroke = \"black\",\n textFontFamily,\n annotationsHeight = 12,\n annotationIDs = []\n}) => {\n icon = {\n imageChar: \"fa-question\",\n imageCharFill: \"white\",\n height: 32,\n fill: \"black\",\n shape: \"square\",\n ...icon\n };\n const textBoxHeight = textHeight + textPadding * 2;\n const { width } = React.useMemo(() => {\n return Utility.textSize(text, textFontFamily, textHeight, false);\n }, [text, textFontFamily, textHeight]);\n\n const stepSize = annotationsHeight;\n const textboxStrokeWidth = 1;\n\n const halfTextboxHeight = textBoxHeight / 2;\n\n const offsetX = 0;\n const offsetY = -(icon.height * 2 / 6 + textHeight + 8) / 2;\n const iconOffsetX = - icon.height / 2;\n const iconOffsetY = 0;\n const textboxOffsetX = Math.ceil((width / 2) + textPadding);\n const textboxOffsetY = halfTextboxHeight - (icon.height / 2);\n const annotationOffsetX = stepSize / 2;\n const annotationOffsetY = halfTextboxHeight;\n return categoryID ?\n <g\n transform={`translate(${offsetX} ${offsetY})`}\n >\n <g\n transform={`translate(${iconOffsetX} ${iconOffsetY})`}\n >\n <use\n href={\"#\" + categoryID}\n />\n </g>\n <g\n transform={`translate(${textboxOffsetX} ${textboxOffsetY})`}\n >\n <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n strokeWidth={textboxStrokeWidth}\n stroke={textboxStroke}\n fill={textboxFill}\n textFill={textFill}\n fontFamily={textFontFamily}\n />\n </g>\n <Annotations\n x={annotationOffsetX}\n y={annotationOffsetY}\n annotationIDs={annotationIDs}\n stepSize={stepSize}\n />\n </g>\n :\n <>\n <g\n transform={`translate(${iconOffsetX} ${iconOffsetY})scale(1.0002)`}\n >\n <Icon\n {...icon}\n shape=\"square\"\n />\n </g>\n <g\n transform={`translate(${textboxOffsetX} ${textboxOffsetY})scale(1.0002)`}\n >\n <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n stroke={textboxStroke}\n fill={textboxFill}\n />\n </g>\n </>;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\nimport { VertexProps } from \"./vertex\";\n\nexport interface IVertex3 extends VertexProps {\n id: string;\n origData?: any;\n categoryID?: string;\n text: string;\n textHeight?: number;\n textPadding?: number;\n textboxStrokeWidth?: number;\n icon?: Icon;\n annotations?: Icon[];\n annotationsHeight?: number;\n annotationGutter?: number;\n textFill?: string;\n textboxFill?: string;\n textboxStroke?: string;\n textFontFamily?: string;\n cornerRadius?: number;\n subText?: TextBox;\n onSizeUpdate?: (size: { width: number, height: number }) => void;\n showLabel?: boolean;\n noLabelRadius?: number;\n expansionIcon?: Icon;\n scale?: number;\n}\n\nexport const Vertex3: React.FunctionComponent<IVertex3> = ({\n text = \"\",\n textHeight = 10,\n textPadding = 4,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n cornerRadius = 3,\n icon = {},\n subText = {},\n showLabel = true,\n noLabelRadius = 5,\n expansionIcon,\n scale = 1\n}) => {\n icon = {\n height: 50,\n imageChar: \"?\",\n imageFontFamily: \"FontAwesome\",\n imageCharFill: \"#555555\",\n fill: \"transparent\",\n strokeWidth: 0,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"white\",\n textFill: \"#555555\",\n ...subText\n };\n expansionIcon = expansionIcon ? {\n height: 16,\n shape: \"circle\",\n padding: 6,\n imageChar: \"?\",\n imageFontFamily: \"FontAwesome\",\n imageCharFill: \"black\",\n fill: \"whitesmoke\",\n stroke: \"whitesmoke\",\n strokeWidth: 0,\n ...expansionIcon\n } : undefined;\n let fullAnnotationWidth = 0;\n\n const annoOffsetY = 0;\n\n const labelWidth = React.useMemo(() => {\n return Utility.textSize(text, textFontFamily, textHeight, false).width;\n }, [text, textFontFamily, textHeight]);\n\n let labelShapeWidth = 0;\n if (text !== \"\") {\n labelShapeWidth = labelWidth + (textPadding * 2) + (textboxStrokeWidth * 2);\n }\n fullAnnotationWidth += labelShapeWidth + annotationGutter;\n const textOffsetX = fullAnnotationWidth - (labelShapeWidth / 2);\n\n const textShapeHeight = textHeight + (textPadding * 2) + (textboxStrokeWidth * 2);\n const annotationArr = [];\n annotations.forEach((anno, idx) => {\n const annoText = anno.imageChar;\n const annoShapeWidth = textShapeHeight;\n fullAnnotationWidth += annoShapeWidth + annotationGutter;\n const annoOffsetX = fullAnnotationWidth - (annoShapeWidth / 2);\n annotationArr.push(\n <g key={idx} class=\"vertex3-anno\" data-click={\"annotation\"} data-click-data={JSON.stringify(anno)} transform={`translate(${annoOffsetX} ${annoOffsetY})`}>\n <Icon\n {...anno}\n shape=\"square\"\n height={textShapeHeight}\n imageChar={annoText}\n imageFontFamily={anno.imageFontFamily}\n cornerRadius={cornerRadius}\n strokeWidth={0}\n />\n </g>\n );\n });\n if (annotations.length > 0) {\n fullAnnotationWidth += annotationGutter * (annotations.length - 1);\n }\n const textElement = <g data-click={\"text\"} transform={`translate(${textOffsetX} ${annoOffsetY})`}>\n {!showLabel || text === \"\" ? <circle r={noLabelRadius} stroke={textboxStroke} fill={textFill} /> : <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n strokeWidth={textboxStrokeWidth}\n stroke={textboxStroke}\n fill={textboxFill}\n textFill={textFill}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />}\n </g>;\n const iconHeight = icon.height || 20;\n const iconStrokeWidth = icon.strokeWidth || 0;\n const iconOffsetX = 0;\n let iconOffsetY = 0;\n\n const subTextOffsetX = 0;\n let subTextOffsetY = textShapeHeight + (annotationGutter * 2);\n\n if (text !== \"\" || annotationArr.length > 0) {\n iconOffsetY = - (iconHeight / 2) - (iconStrokeWidth) - (textShapeHeight / 2) - (annotationGutter * 2);\n } else if (subText.text !== \"\") {\n subTextOffsetY = (iconHeight / 2) + iconStrokeWidth + (annotationGutter * 2);\n }\n\n const subtextElement = subText.text === \"\" ? null : <g data-click={\"subtext\"}\n transform={`translate(${subTextOffsetX} ${subTextOffsetY})`}\n >\n <TextBox\n fill={subText.fill || \"#FFFFFF\"}\n textFill={subText.textFill || textFill}\n {...subText}\n height={textHeight}\n padding={textPadding}\n strokeWidth={0}\n stroke={textboxStroke}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />\n </g>;\n\n return <g transform={`scale(${scale})`}>\n <g data-click={\"icon\"} transform={`translate(${iconOffsetX} ${iconOffsetY})`}>\n <Icon {...icon} />\n {expansionIcon &&\n <g data-click={\"expanded-icon\"} data-click-data={JSON.stringify(expansionIcon)} transform={`translate(${(icon.height + iconStrokeWidth) / 2 - expansionIcon.height / 2} ${-(icon.height + iconStrokeWidth) / 2 + expansionIcon.height / 2})`}>\n <Icon {...expansionIcon} />\n </g>\n }\n </g>\n <g transform={`translate(${-fullAnnotationWidth / 2} ${annoOffsetY})`} >\n {textElement}\n {annotationArr}\n </g>\n {subtextElement}\n </g >;\n};\n\nexport const CentroidVertex3: React.FunctionComponent<IVertex3> = function ({\n id,\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 10,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n cornerRadius,\n icon = {},\n subText = {},\n expansionIcon,\n scale = 1\n}) {\n icon = {\n height: 91,\n padding: 40,\n imageCharFill: \"#555555\",\n imageFontFamily: \"FontAwesome\",\n fill: \"#FFCC33\",\n stroke: \"#DFDFDF\",\n imageChar: \"?\",\n strokeWidth: 4,\n yOffset: -15,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"transparent\",\n textFill: \"#555555\",\n ...subText\n };\n const props = {\n id,\n categoryID,\n text,\n textHeight,\n textPadding,\n textFill,\n textboxFill,\n textboxStroke,\n textboxStrokeWidth,\n textFontFamily,\n annotationGutter,\n annotations,\n cornerRadius,\n icon,\n subText,\n expansionIcon,\n scale\n };\n return <Vertex3\n {...props}\n icon={icon}\n subText={subText}\n />;\n};\n","/* eslint-disable no-debugger, no-console */\nimport { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Icon } from \"./icon\";\nimport { TextBox } from \"./text\";\nimport { VertexProps } from \"./vertex\";\n\nexport interface IVertex4Annotation extends Icon {\n shapeOffsetX?: number;\n shapeOffsetY?: number;\n}\n\nexport interface IVertex4 extends VertexProps {\n textboxStrokeWidth?: number;\n annotations?: IVertex4Annotation[];\n iconAnnotations?: IVertex4Annotation[];\n annotationGutter?: number;\n cornerRadius?: number;\n subText?: any;\n noLabelRadius?: number;\n iconBorderWidth?: number;\n iconBorderColor?: string;\n iconBackgroundColor?: string;\n shapeOffsetX?: number;\n shapeOffsetY?: number;\n iconOffsetX?: number;\n iconOffsetY?: number;\n iconPadding?: number;\n iconFontSize?: number;\n iconFontColor?: string;\n iconFontFamily?: string;\n iconText?: string;\n shapeRendering?: \"auto\" | \"optimizeSpeed\" | \"crispEdges\" | \"geometricPrecision\";\n}\n\nexport const Vertex4: React.FunctionComponent<IVertex4> = ({\n categoryID = \"\",\n text = \"\",\n textHeight = 10,\n textPadding = 4,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n iconAnnotations = [],\n cornerRadius = 3,\n icon = {},\n subText = {},\n showLabel = true,\n noLabelRadius = 5,\n\n iconBorderWidth = 1,\n iconBorderColor = \"#333\",\n\n iconBackgroundColor = \"#fff\",\n\n iconFontColor = \"#000\",\n iconFontSize = 20,\n iconFontFamily = \"FontAwesome\",\n\n shapeOffsetX = 0,\n shapeOffsetY = 0,\n iconOffsetX = 0,\n iconOffsetY = 0,\n\n iconPadding = 4,\n iconText = \"?\",\n shapeRendering = \"auto\"\n}) => {\n icon = {\n height: 50,\n imageChar: \"?\",\n imageFontFamily: \"FontAwesome\",\n imageCharFill: \"#555555\",\n fill: \"transparent\",\n strokeWidth: 0,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"white\",\n textFill: \"#555555\",\n ...subText\n };\n\n const annoOffsetY = 0;\n const labelWidth = React.useMemo(() => {\n return Utility.textSize(text, textFontFamily, textHeight, false).width;\n }, [text, textFontFamily, textHeight]);\n\n let labelShapeWidth = 0;\n if (text !== \"\") {\n labelShapeWidth = labelWidth + (textPadding * 2) + (textboxStrokeWidth * 2);\n }\n let fullAnnotationWidth = labelShapeWidth + annotationGutter;\n const textOffsetX = fullAnnotationWidth - (labelShapeWidth / 2);\n\n const textShapeHeight = textHeight + (annotationGutter * 2) + (textboxStrokeWidth * 2);\n const annoWidthArr = annotations.map((anno, i) => {\n return Utility.textSize(anno.imageChar, anno.imageFontFamily, anno.height, false).width;\n });\n const annotationArr = [];\n let _labelAnnoOffsetX = fullAnnotationWidth;\n annotations.forEach((anno, i) => {\n const annoText = anno.imageChar;\n const annoTextHeight = anno.height ?? textShapeHeight;\n _labelAnnoOffsetX += annoWidthArr[i] + annotationGutter;\n const annoOffsetX = _labelAnnoOffsetX - (annoWidthArr[i] / 2);\n annotationArr.push(\n <g key={i} class=\"vertex3-anno\" data-click={\"annotation\"} data-click-data={JSON.stringify(anno)} transform={`translate(${annoOffsetX} ${annoOffsetY})`}>\n <Icon\n {...anno}\n shape=\"rectangle\"\n width={annoWidthArr[i]}\n height={annoTextHeight}\n imageChar={annoText}\n imageFontFamily={anno.imageFontFamily}\n cornerRadius={cornerRadius}\n strokeWidth={0}\n />\n </g>\n );\n });\n\n if (annotations.length > 0) {\n fullAnnotationWidth += annotationGutter * (annotations.length - 1);\n }\n const iconAnnotationArr = [];\n iconAnnotations.forEach((anno, i) => {\n const x = anno.shapeOffsetX;\n const y = anno.shapeOffsetY;\n iconAnnotationArr.push(\n <g key={i} class=\"vertex3-iconAnno\" data-click={\"icon-annotation\"} data-click-data={JSON.stringify(anno)} transform={`translate(${x} ${y})`}>\n <Icon\n {...anno}\n shape={anno.shape ?? \"square\"}\n imageChar={anno.imageChar}\n imageFontFamily={anno.imageFontFamily}\n cornerRadius={cornerRadius}\n stroke={anno.stroke}\n strokeWidth={anno.strokeWidth}\n />\n </g>\n );\n });\n\n const textElement = <g data-click={\"text\"} transform={`translate(${textOffsetX} ${annoOffsetY})`}>\n {!showLabel || text === \"\" ? <circle r={noLabelRadius} stroke={textboxStroke} fill={textFill} /> : <TextBox\n text={text}\n height={textHeight}\n padding={textPadding}\n strokeWidth={textboxStrokeWidth}\n stroke={textboxStroke}\n fill={textboxFill}\n textFill={textFill}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />}\n </g>;\n\n const subTextOffsetX = 0;\n const subTextOffsetY = textShapeHeight + (annotationGutter * 2);\n\n const subtextElement = subText.text === \"\" ? null : <g data-click={\"subtext\"}\n transform={`translate(${subTextOffsetX} ${subTextOffsetY})`}\n >\n <TextBox\n fill={subText.fill || \"#FFFFFF\"}\n textFill={subText.textFill || textFill}\n {...subText}\n height={textHeight}\n padding={textPadding}\n strokeWidth={0}\n stroke={textboxStroke}\n fontFamily={textFontFamily}\n cornerRadius={cornerRadius}\n />\n </g>;\n return <g>\n <g data-click={\"icon\"}\n transform={`translate(${shapeOffsetX} ${shapeOffsetY})`}\n >\n <Icon\n {...icon}\n strokeWidth={iconBorderWidth}\n shape=\"circle\"\n height={iconFontSize}\n fill={iconBackgroundColor}\n stroke={iconBorderColor}\n imageFontFamily={iconFontFamily}\n imageChar={iconText}\n imageCharFill={iconFontColor}\n padding={iconPadding}\n xOffset={iconOffsetX}\n yOffset={iconOffsetY}\n cornerRadius={cornerRadius}\n shapeRendering={shapeRendering}\n />\n {iconAnnotationArr}\n </g>\n <g\n transform={`translate(${-fullAnnotationWidth / 2} ${annoOffsetY})`}\n >\n {textElement}\n {annotationArr}\n </g>\n {subtextElement}\n </g>\n ;\n};\n\nexport const CentroidVertex4: React.FunctionComponent<IVertex4> = function ({\n id,\n categoryID = \"\",\n text = \"\",\n textHeight = 12,\n textPadding = 10,\n textFill = \"#287EC4\",\n textboxFill = \"white\",\n textboxStroke = \"#CCCCCC\",\n textboxStrokeWidth = 1,\n textFontFamily = \"Verdana\",\n annotationGutter = 2,\n annotations = [],\n iconAnnotations = [],\n cornerRadius,\n icon = {},\n subText = {},\n showLabel = true,\n noLabelRadius = 5,\n\n iconBorderWidth = 1,\n iconBorderColor = \"#333\",\n\n iconBackgroundColor = \"#fff\",\n\n iconFontColor = \"#000\",\n iconFontSize = 20,\n iconFontFamily = \"FontAwesome\",\n\n shapeOffsetX = 0,\n shapeOffsetY = 0,\n iconOffsetX = 0,\n iconOffsetY = 0,\n\n iconPadding = 4,\n iconText = \"?\",\n shapeRendering = \"auto\"\n}) {\n icon = {\n height: 91,\n padding: 40,\n imageCharFill: \"#555555\",\n imageFontFamily: \"FontAwesome\",\n fill: \"#FFCC33\",\n stroke: \"#DFDFDF\",\n imageChar: \"?\",\n strokeWidth: 4,\n yOffset: -15,\n ...icon\n };\n subText = {\n text: \"\",\n fill: \"transparent\",\n textFill: \"#555555\",\n ...subText\n };\n const props = {\n id,\n categoryID,\n text,\n textHeight,\n textPadding,\n textFill,\n textboxFill,\n textboxStroke,\n textboxStrokeWidth,\n textFontFamily,\n annotationGutter,\n annotations,\n iconAnnotations,\n cornerRadius,\n icon,\n subText,\n showLabel,\n noLabelRadius,\n iconBorderWidth,\n iconBorderColor,\n iconBackgroundColor,\n iconFontColor,\n iconFontSize,\n iconFontFamily,\n shapeOffsetX,\n shapeOffsetY,\n iconOffsetX,\n iconOffsetY,\n iconPadding,\n iconText,\n shapeRendering\n };\n return <Vertex4\n {...props}\n icon={icon}\n subText={subText}\n />;\n};\n","import { Utility } from \"@hpcc-js/common\";\nimport * as React from \"@hpcc-js/preact-shim\";\nimport { Rectangle } from \"./shape\";\nimport { Text } from \"./text\";\n\nexport interface SubgraphProps {\n id: string;\n origData?: any;\n text: string;\n width?: number;\n height?: number;\n fill?: string;\n stroke?: string;\n fontHeight?: number;\n fontFamily?: string;\n}\n\nexport const Subgraph: React.FunctionComponent<SubgraphProps> = ({\n text,\n width = 100,\n height = 100,\n fill = \"transparent\",\n stroke = \"black\",\n fontHeight = 12,\n fontFamily\n}) => {\n const tSize = Utility.textSize(text, fontFamily, fontHeight, false);\n return <>\n <Rectangle\n width={width}\n height={height}\n fill={fill}\n stroke={stroke}\n />\n <g\n transform={`translate(${(-width + tSize.width) / 2 + 4} ${(-height + tSize.height) / 2 + 4})`}\n >\n <Text\n height={fontHeight}\n text={text}\n fontFamily={fontFamily}\n />\n </g>\n </>;\n};\n"],"names":["PKG_NAME","PKG_VERSION","BUILD_VERSION","slice","options","vnodeId","rerenderQueue","prevDebounce","i","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","assign","obj","props","removeNode","node","parentNode","removeChild","createElement","type","children","key","ref","normalizedProps","arguments","length","call","defaultProps","undefined","createVNode","original","vnode","constructor","Fragment","Component","context","getDomSibling","childIndex","indexOf","sibling","updateParentDomPointers","child","base","enqueueRender","c","push","process","debounceRendering","setTimeout","queue","sort","a","b","some","component","commitQueue","oldVNode","oldDom","parentDom","diff","ownerSVGElement","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","j","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","Array","isArray","reorderChildren","placeChild","unmount","applyRef","tmp","nextDom","sibDom","outer","appendChild","nextSibling","insertBefore","diffProps","dom","newProps","oldProps","hydrate","setProperty","setStyle","style","value","test","name","oldValue","useCapture","o","cssText","replace","toLowerCase","_listeners","addEventListener","eventProxyCapture","eventProxy","removeEventListener","e","setAttribute","removeAttribute","event","newVNode","isNew","oldState","snapshot","clearProcessingException","provider","componentContext","renderHook","count","newType","contextType","prototype","render","doRender","sub","state","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","diffElementNodes","diffed","root","cb","oldHtml","newHtml","nodeType","localName","document","createTextNode","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","innerHTML","checked","current","parentVNode","skipRemove","r","componentWillUnmount","this","replaceNode","firstChild","error","errorInfo","ctor","handled","getDerivedStateFromError","setState","componentDidCatch","isValidElement","update","callback","s","forceUpdate","currentIndex","currentComponent","previousComponent","prevRaf","currentHook","afterPaintEffects","EMPTY","oldBeforeDiff","oldBeforeRender","oldAfterDiff","oldCommit","oldBeforeUnmount","getHookState","index","hooks","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","action","currentValue","nextValue","_hasScuFromHooks","prevScu","p","stateHooks","filter","x","every","shouldUpdate","hookItem","useEffect","args","argsChanged","_pendingArgs","useMemo","factory","useCallback","flushAfterPaintEffects","shift","invokeCleanup","invokeEffect","requestAnimationFrame","raf","done","clearTimeout","timeout","HAS_RAF","cancelAnimationFrame","hasErrored","hook","comp","cleanup","oldArgs","newArgs","arg","f","pointX","y","pointY","React.useMemo","React.createElement","React.Fragment","React.render","React.h","React.useState","React.useEffect","React.useCallback","h"],"mappings":";;AAAO,IAAMA,UAAQ,GAAG,iBAAiB;AAClC,IAAMC,aAAW,GAAG,SAAS;AAC7B,IAAMC,eAAa,GAAG;;ACFtB,IAAM,QAAQ,GAAG,sBAAuB,CAAA;AACxC,IAAM,WAAW,GAAG,QAAS,CAAA;AAC7B,IAAM,aAAa,GAAG,SAAA,CAAA;;ACwBhBC,IAAAA,CAAAA,CCfPC,GCRFC,CAAAA,GAAAA,CCuKAC,GAAAA,CAWAC,GCnLOC,CCFEC,GAAY,CAAA,EAAA,CACZC,GAAY,CAAA,EAAA,CACZC,GAAqB,CAAA,mEAAA,CLO3B,SAASC,CAAAA,CAAOC,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,IAEtB,IAAIN,CAAAA,IAAKM,CAAOD,CAAAA,CAAAA,CAAIL,CAAKM,CAAAA,CAAAA,CAAAA,CAAMN,CACPK,CAAAA,CAAAA,OAAAA,CAAAA,CASvB,SAASE,GAAAA,CAAWC,CACtBC,CAAAA,CAAAA,IAAAA,CAAAA,CAAaD,CAAAA,CAAKC,UAClBA,CAAAA,CAAAA,EAAYA,CAAWC,CAAAA,WAAAA,CAAYF,CEVxC,CAAA,CAAA,CAAA,SAAgBG,GAAcC,CAAAA,CAAAA,CAAMN,CAAOO,CAAAA,CAAAA,CAAAA,CAAAA,IAEzCC,CACAC,CAAAA,CAAAA,CACAf,CAHGgB,CAAAA,CAAAA,CAAkB,EAIjBhB,CAAAA,IAAAA,CAAAA,IAAKM,CACA,CAAA,KAAA,EAALN,CAAYc,CAAAA,CAAAA,CAAMR,CAAMN,CAAAA,CAAAA,CAAAA,CACd,KAALA,EAAAA,CAAAA,CAAYe,CAAMT,CAAAA,CAAAA,CAAMN,CAC5BgB,CAAAA,CAAAA,CAAAA,CAAgBhB,CAAKM,CAAAA,CAAAA,CAAAA,CAAMN,MAG7BiB,SAAUC,CAAAA,MAAAA,CAAS,CACtBF,GAAAA,CAAAA,CAAgBH,QACfI,CAAAA,SAAAA,CAAUC,MAAS,CAAA,CAAA,CAAIvB,CAAMwB,CAAAA,IAAAA,CAAKF,SAAW,CAAA,CAAA,CAAA,CAAKJ,CAKjC,CAAA,CAAA,UAAA,EAAA,OAARD,CAA2C,EAAA,IAAA,EAArBA,CAAKQ,CAAAA,YAAAA,CAAAA,IAChCpB,CAAKY,IAAAA,CAAAA,CAAKQ,YACaC,CAAAA,KAAAA,CAAAA,GAAvBL,CAAgBhB,CAAAA,CAAAA,CAAAA,GACnBgB,CAAgBhB,CAAAA,CAAAA,CAAAA,CAAKY,CAAKQ,CAAAA,YAAAA,CAAapB,CAKnCsB,CAAAA,CAAAA,CAAAA,OAAAA,GAAAA,CAAYV,CAAMI,CAAAA,CAAAA,CAAiBF,CAAKC,CAAAA,CAAAA,CAAK,IAe9C,CAAA,CAAA,SAASO,GAAYV,CAAAA,CAAAA,CAAMN,CAAOQ,CAAAA,CAAAA,CAAKC,CAAKQ,CAAAA,CAAAA,CAAAA,CAAAA,IAG5CC,CAAQ,CAAA,CACbZ,IAAAA,CAAAA,CAAAA,CACAN,KAAAA,CAAAA,CAAAA,CACAQ,GAAAA,CAAAA,CAAAA,CACAC,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CACW,IACF,CAAA,EAAA,CAAA,IAAA,CAAA,GAAA,CACD,CACF,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,CAAA,KAKIM,CACE,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,CACA,IACZI,CAAAA,WAAAA,CAAAA,KAAaJ,CACU,CAAA,GAAA,CAAA,IAAA,EAAZE,CAAAA,CAAAA,EAAqB1B,GAAU0B,CAAAA,CAAAA,CAAAA,CAAAA,OAI3B,IAAZA,EAAAA,CAAAA,EAAqC,IAAjB3B,EAAAA,GAAAA,CAAQ4B,KAAe5B,EAAAA,GAAAA,CAAQ4B,KAAMA,CAAAA,CAAAA,CAAAA,CAEtDA,CAGR,CAIO,SAASE,GAAAA,CAASpB,CACjBA,CAAAA,CAAAA,OAAAA,CAAAA,CAAMO,QC5EP,CAAA,SAASc,GAAUrB,CAAAA,CAAAA,CAAOsB,CAC3BtB,CAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAQA,CACRsB,CAAAA,IAAAA,CAAAA,OAAAA,CAAUA,CAyET,CAAA,CAAA,SAASC,CAAcL,CAAAA,CAAAA,CAAOM,CAClB,CAAA,CAAA,GAAA,IAAA,EAAdA,CAEIN,CAAAA,OAAAA,CAAAA,CAAAA,EAAAA,CACJK,CAAcL,CAAAA,CAAAA,CAAAA,EAAAA,CAAeA,CAAwBO,CAAAA,EAAAA,CAAAA,GAAAA,CAAAA,OAAAA,CAAQP,CAAS,CAAA,CAAA,CAAA,CAAA,CACtE,IAGAQ,CAAAA,IAAAA,IAAAA,CAAAA,CACGF,CAAaN,CAAAA,CAAAA,CAAAA,GAAAA,CAAgBN,MAAQY,CAAAA,CAAAA,EAAAA,CAAAA,GAG5B,IAFfE,GAAAA,CAAAA,CAAUR,CAAgBM,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAEa,IAAhBE,EAAAA,CAAAA,CAAAA,GAAAA,CAAAA,OAIfA,CASmB,CAAA,GAAA,CAAA,OAAA,UAAA,EAAA,OAAdR,CAAMZ,CAAAA,IAAAA,CAAqBiB,CAAcL,CAAAA,CAAAA,CAAAA,CAAS,IAuCjE,CAAA,SAASS,GAAAA,CAAwBT,CAAjC,CAAA,CAAA,IAGWxB,CACJkC,CAAAA,CAAAA,CAAAA,GAHyB,IAA1BV,GAAAA,CAAAA,CAAQA,CAA8C,CAAA,EAAA,CAAA,EAAA,IAAA,EAApBA,CAA0B,CAAA,GAAA,CAAA,CAAA,IAChEA,CAAaA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAiBW,IAAO,CAAA,IAAA,CAC5BnC,CAAI,CAAA,CAAA,CAAGA,CAAIwB,CAAAA,CAAAA,CAAAA,GAAAA,CAAgBN,MAAQlB,CAAAA,CAAAA,EAAAA,CAAAA,GAE9B,IADTkC,GAAAA,CAAAA,CAAQV,CAAgBxB,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EACO,IAAdkC,EAAAA,CAAAA,CAAAA,GAAAA,CAAoB,CACxCV,CAAAA,CAAAA,GAAAA,CAAaA,CAAiBW,CAAAA,GAAAA,CAAAA,IAAAA,CAAOD,CAKhCD,CAAAA,GAAAA,CAAAA,KAAAA,CAAAA,OAAAA,GAAAA,CAAwBT,CAyB1B,CAAA,CAAA,CAAA,SAASY,GAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAE1BA,CACAA,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAW,CACZvC,CAAAA,EAAAA,GAAAA,CAAcwC,IAAKD,CAAAA,CAAAA,CAAAA,EAAAA,CAClBE,GACFxC,CAAAA,GAAAA,EAAAA,EAAAA,GAAAA,GAAiBH,GAAQ4C,CAAAA,iBAAAA,GAAAA,CAAAA,CAEzBzC,GAAeH,CAAAA,GAAAA,CAAQ4C,iBACNC,GAAAA,UAAAA,EAAYF,GAK/B,CAAA,CAAA,CAAA,SAASA,GACJG,EAAAA,CAAAA,IAAAA,IAAAA,CAAAA,CACIH,GAAyBzC,CAAAA,GAAAA,CAAAA,GAAAA,CAAcoB,MAC9CwB,EAAAA,CAAAA,CAAQ5C,GAAc6C,CAAAA,IAAAA,CAAK,SAACC,CAAAA,CAAGC,CAAMD,CAAAA,CAAAA,OAAAA,CAAkBC,CAAAA,GAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CACvD/C,GAAgB,CAAA,EAAA,CAGhB4C,CAAMI,CAAAA,IAAAA,CAAK,SAAAT,CAAAA,CAAAA,CAzFb,IAAyBU,CAAAA,CAMnBC,CACEC,CAAAA,CAAAA,CANHzB,CACH0B,CAAAA,CAAAA,CACAC,CAuFKd,CAAAA,CAAAA,CAAAA,GAAAA,GAxFLa,CADG1B,CAAAA,CAAAA,CAAAA,CAAAA,CADoBuB,CA0FQV,CAAAA,CAAAA,EAAAA,GAAAA,EAAAA,GAAAA,CAAAA,CAvF/Bc,CAAYJ,CAAAA,CAAAA,CAAAA,GAAAA,IAGRC,CAAc,CAAA,EAAA,CAAA,CACZC,CAAW7C,CAAAA,CAAAA,CAAO,EAAIoB,CAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CACPA,CAAkB,CAAA,GAAA,CAAA,CAAA,CAEvC4B,GACCD,CAAAA,CAAAA,CACA3B,CACAyB,CAAAA,CAAAA,CACAF,CAC8B1B,CAAAA,GAAAA,CAAAA,KAAAA,CAAAA,GAA9B8B,CAAUE,CAAAA,eAAAA,CACU,IAApB7B,EAAAA,CAAAA,CAAAA,GAAAA,CAA2B,CAAC0B,CAAAA,CAAAA,CAAU,IACtCF,CAAAA,CAAAA,CACU,IAAVE,EAAAA,CAAAA,CAAiBrB,CAAcL,CAAAA,CAAAA,CAAAA,CAAS0B,CACxC1B,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAED8B,GAAWN,CAAAA,CAAAA,CAAaxB,CAEpBA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAAc0B,CACjBjB,EAAAA,GAAAA,CAAwBT,CGtH3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAgB+B,GACfJ,CAAAA,CAAAA,CACAK,CACAC,CAAAA,CAAAA,CACAC,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAC,CACAb,CAAAA,CAAAA,CACAE,CACAY,CAAAA,CAAAA,CAAAA,CAVD,IAYK9D,CAAAA,CAAG+D,CAAGd,CAAAA,CAAAA,CAAUe,CAAYC,CAAAA,CAAAA,CAAQC,CAAeC,CAAAA,CAAAA,CAInDC,CAAeV,CAAAA,CAAAA,EAAkBA,CAA6BxD,CAAAA,GAAAA,EAAAA,GAAAA,CAE9DmE,CAAoBD,CAAAA,CAAAA,CAAYlD,MAEpCuC,CAAAA,IAAAA,CAAAA,CAAAA,GAAAA,CAA2B,EACtBzD,CAAAA,CAAAA,CAAI,CAAGA,CAAAA,CAAAA,CAAIwD,CAAatC,CAAAA,MAAAA,CAAQlB,CAgDlB,EAAA,CAAA,GAAA,IAAA,GA5CjBgE,CAAaP,CAAAA,CAAAA,CAAAA,GAAAA,CAAyBzD,CADrB,CAAA,CAAA,IAAA,GAFlBgE,CAAaR,CAAAA,CAAAA,CAAaxD,CAEqB,CAAA,CAAA,EAAA,SAAA,EAAA,OAAdgE,CACW,CAAA,IAAA,CAMtB,QAAdA,EAAAA,OAAAA,CAAAA,EACc,QAAdA,EAAAA,OAAAA,CAAAA,EAEc,QAAdA,EAAAA,OAAAA,CAAAA,CAEoC1C,GAC1C,CAAA,IAAA,CACA0C,CACA,CAAA,IAAA,CACA,IACAA,CAAAA,CAAAA,CAAAA,CAESM,KAAMC,CAAAA,OAAAA,CAAQP,CACmB1C,CAAAA,CAAAA,GAAAA,CAC1CI,GACA,CAAA,CAAEb,QAAUmD,CAAAA,CAAAA,CAAAA,CACZ,IACA,CAAA,IAAA,CACA,IAESA,CAAAA,CAAAA,CAAoB,CAAA,GAAA,CAAA,CAAA,CAKa1C,GAC1C0C,CAAAA,CAAAA,CAAWpD,IACXoD,CAAAA,CAAAA,CAAW1D,KACX0D,CAAAA,CAAAA,CAAWlD,GACX,CAAA,IAAA,CACAkD,CAG0CA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAS5CA,CAAqBP,CAAAA,EAAAA,CAAAA,CAAAA,CACrBO,CAAoBP,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAwB,CAS9B,CAAA,IAAA,IAHdR,CAAWmB,CAAAA,CAAAA,CAAYpE,CAIrBiD,CAAAA,CAAAA,EAAAA,CAAAA,EACAe,CAAWlD,CAAAA,GAAAA,EAAOmC,CAASnC,CAAAA,GAAAA,EAC3BkD,CAAWpD,CAAAA,IAAAA,GAASqC,CAASrC,CAAAA,IAAAA,CAE9BwD,CAAYpE,CAAAA,CAAAA,CAAAA,CAAAA,KAAKqB,CAIZ0C,CAAAA,KAAAA,IAAAA,CAAAA,CAAI,CAAGA,CAAAA,CAAAA,CAAIM,CAAmBN,CAAAA,CAAAA,EAAAA,CAAK,CACvCd,GAAAA,CAAAA,CAAAA,CAAWmB,CAAYL,CAAAA,CAAAA,CAAAA,GAKtBC,CAAWlD,CAAAA,GAAAA,EAAOmC,CAASnC,CAAAA,GAAAA,EAC3BkD,CAAWpD,CAAAA,IAAAA,GAASqC,CAASrC,CAAAA,IAAAA,CAC5B,CACDwD,CAAAA,CAAYL,CAAK1C,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,KAAAA,CAGlB4B,CAAW,CAAA,IAAA,CAAA,CAObG,GACCD,CAAAA,CAAAA,CACAa,CALDf,CAAAA,CAAAA,CAAWA,CAAYhD,EAAAA,GAAAA,CAOtB0D,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAb,CACAE,CAAAA,CAAAA,CACAY,CAGDG,CAAAA,CAAAA,CAAAA,CAASD,CAEJD,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAIC,CAAWjD,CAAAA,GAAAA,GAAQkC,CAASlC,CAAAA,GAAAA,EAAOgD,CACtCI,GAAAA,CAAAA,GAAMA,CAAO,CAAA,EAAA,CAAA,CACdlB,CAASlC,CAAAA,GAAAA,EAAKoD,CAAK7B,CAAAA,IAAAA,CAAKW,CAASlC,CAAAA,GAAAA,CAAK,IAAMiD,CAAAA,CAAAA,CAAAA,CAChDG,CAAK7B,CAAAA,IAAAA,CAAKyB,CAAGC,CAAAA,CAAAA,CAAAA,GAAAA,EAAyBC,CAAQD,CAAAA,CAAAA,CAAAA,CAAAA,CAGjC,IAAVC,EAAAA,CAAAA,EACkB,IAAjBC,EAAAA,CAAAA,GACHA,CAAgBD,CAAAA,CAAAA,CAAAA,CAIU,UAAnBD,EAAAA,OAAAA,CAAAA,CAAWpD,IAClBoD,EAAAA,CAAAA,CAAAA,GAAAA,GAAyBf,CAEzBe,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAsBd,CAASsB,CAAAA,GAAAA,CAC9BR,CACAd,CAAAA,CAAAA,CACAC,CAGDD,CAAAA,CAAAA,CAAAA,CAASuB,CACRtB,CAAAA,CAAAA,CACAa,CACAf,CAAAA,CAAAA,CACAmB,CACAH,CAAAA,CAAAA,CACAf,CAIgC,CAAA,CAAA,UAAA,EAAA,OAAvBO,CAAe7C,CAAAA,IAAAA,GAQzB6C,CAA0BP,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAG3BA,CACAD,EAAAA,CAAAA,CAAAA,GAAAA,EAAiBC,CAAAA,EACjBA,CAAOzC,CAAAA,UAAAA,EAAc0C,CAIrBD,GAAAA,CAAAA,CAASrB,CAAcoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAIzBQ,CAAsBS,CAAAA,GAAAA,CAAAA,CAAAA,CAGjBlE,CAAIqE,CAAAA,CAAAA,CAAmBrE,CACL,EAAA,EAAA,IAAA,EAAlBoE,CAAYpE,CAAAA,CAAAA,CAAAA,GAEgB,UAAvByD,EAAAA,OAAAA,CAAAA,CAAe7C,IACC,EAAA,IAAA,EAAvBwD,CAAYpE,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EACZoE,CAAYpE,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAAWyD,CAKvBA,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,GAAAA,CAA0B5B,CAAc6B,CAAAA,CAAAA,CAAgB1D,CAAI,CAAA,CAAA,CAAA,CAAA,CAG7D0E,CAAQN,CAAAA,CAAAA,CAAYpE,CAAIoE,CAAAA,CAAAA,CAAAA,CAAYpE,CAKlCmE,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,IACEnE,CAAI,CAAA,CAAA,CAAGA,CAAImE,CAAAA,CAAAA,CAAKjD,MAAQlB,CAAAA,CAAAA,EAAAA,CAC5B2E,CAASR,CAAAA,CAAAA,CAAKnE,CAAImE,CAAAA,CAAAA,CAAAA,CAAAA,EAAOnE,CAAImE,CAAAA,CAAAA,CAAAA,CAAAA,EAAOnE,CAKvC,CAAA,CAAA,CAAA,CAAA,SAASwE,GAAgBR,CAAAA,CAAAA,CAAYd,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,IAA7C,IAKM3B,CAAAA,CAHDa,CAAI2B,CAAAA,CAAAA,CAAAA,GAAAA,CACJY,CAAM,CAAA,CAAA,CACHvC,CAAKuC,EAAAA,CAAAA,CAAMvC,CAAEnB,CAAAA,MAAAA,CAAQ0D,CACvBpD,EAAAA,CAAAA,CAAAA,CAAQa,CAAAA,CAAAA,CAAEuC,CAMbpD,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,CAAgBwC,CAGfd,CAAAA,CAAAA,CADwB,UAAd1B,EAAAA,OAAAA,CAAAA,CAAMZ,IACP4D,CAAAA,GAAAA,CAAgBhD,CAAO0B,CAAAA,CAAAA,CAAQC,CAE/BsB,CAAAA,CAAAA,CAAAA,CACRtB,CACA3B,CAAAA,CAAAA,CACAA,CACAa,CAAAA,CAAAA,CACAb,CACA0B,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAMGA,CASD,CAaP,SAASuB,CAAAA,CACRtB,CACAa,CAAAA,CAAAA,CACAf,CACAmB,CAAAA,CAAAA,CACAH,CACAf,CAAAA,CAAAA,CAAAA,CAND,IAQK2B,CAAAA,CAuBGC,CAAiBf,CAAAA,CAAAA,CAAAA,GAAAA,KAtBI1C,CAAxB2C,GAAAA,CAAAA,CAAAA,GAAAA,CAIHa,CAAUb,CAAAA,CAAAA,CAAAA,GAAAA,CAMVA,CAAsB3C,CAAAA,GAAAA,CAAAA,KAAAA,CAChB,CAAA,KAAA,GACM,IAAZ4B,EAAAA,CAAAA,EACAgB,CAAUf,EAAAA,CAAAA,EACW,IAArBe,EAAAA,CAAAA,CAAOxD,UAEPsE,CAAAA,CAAAA,CAAO,GAAc,IAAA,EAAV7B,CAAkBA,EAAAA,CAAAA,CAAOzC,UAAe0C,GAAAA,CAAAA,CAClDA,CAAU6B,CAAAA,WAAAA,CAAYf,CACtBY,CAAAA,CAAAA,CAAAA,CAAU,IACJ,CAAA,KAAA,CAAA,IAGDC,CAAS5B,CAAAA,CAAAA,CAAQa,CAAI,CAAA,CAAA,CAAA,CACxBe,CAASA,CAAAA,CAAAA,CAAOG,WAAgBlB,GAAAA,CAAAA,CAAIK,CAAYlD,CAAAA,MAAAA,CACjD6C,CAAK,EAAA,CAAA,CAAA,GAEDe,CAAUb,EAAAA,CAAAA,CAAAA,MACPc,CAGR5B,CAAAA,CAAAA,CAAU+B,YAAajB,CAAAA,CAAAA,CAAQf,CAC/B2B,CAAAA,CAAAA,CAAAA,CAAU3B,CAOI7B,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,GAAZwD,CACMA,CAAAA,CAAAA,CAEAZ,CAAOgB,CAAAA,WAAAA,CC9TX,SAASE,CAAAA,CAAUC,CAAKC,CAAAA,CAAAA,CAAUC,CAAU1B,CAAAA,CAAAA,CAAO2B,CACrDvF,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,IAECA,CAAKsF,IAAAA,CAAAA,CACC,UAANtF,GAAAA,CAAAA,EAA0B,KAANA,GAAAA,CAAAA,EAAiBA,CAAAA,IAAKqF,CAC7CG,EAAAA,CAAAA,CAAYJ,CAAKpF,CAAAA,CAAAA,CAAG,IAAMsF,CAAAA,CAAAA,CAAStF,CAAI4D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAIpC5D,CAAKqF,IAAAA,CAAAA,CAENE,CAAiC,EAAA,UAAA,EAAA,OAAfF,CAASrF,CAAAA,CAAAA,CAAAA,EACvB,UAANA,GAAAA,CAAAA,EACM,KAANA,GAAAA,CAAAA,EACM,OAANA,GAAAA,CAAAA,EACM,SAANA,GAAAA,CAAAA,EACAsF,CAAStF,CAAAA,CAAAA,CAAAA,GAAOqF,CAASrF,CAAAA,CAAAA,CAAAA,EAEzBwF,CAAYJ,CAAAA,CAAAA,CAAKpF,CAAGqF,CAAAA,CAAAA,CAASrF,CAAIsF,CAAAA,CAAAA,CAAAA,CAAStF,CAAI4D,CAAAA,CAAAA,CAAAA,EAAAA,CAKjD,SAAS6B,CAAAA,CAASC,CAAO5E,CAAAA,CAAAA,CAAK6E,CACd,CAAA,CAAA,GAAA,GAAX7E,CAAI,CAAA,CAAA,CAAA,CACP4E,CAAMF,CAAAA,WAAAA,CAAY1E,CAAK6E,CAAAA,CAAAA,CAAAA,CAEvBD,CAAM5E,CAAAA,CAAAA,CAAAA,CADa,IAAT6E,EAAAA,CAAAA,CACG,EACa,CAAA,QAAA,EAAA,OAATA,CAAqBxF,EAAAA,GAAAA,CAAmByF,IAAK9E,CAAAA,CAAAA,CAAAA,CACjD6E,CAEAA,CAAAA,CAAAA,CAAQ,IAYhB,CAAA,CAAA,SAASH,CAAYJ,CAAAA,CAAAA,CAAKS,CAAAA,CAAMF,CAAOG,CAAAA,CAAAA,CAAUlC,CAAjD,CAAA,CAAA,IACFmC,CAEJC,CAAAA,CAAAA,CAAG,GAAa,OAAA,GAATH,CACc,CAAA,GAAA,QAAA,EAAA,OAATF,CACVP,CAAAA,CAAAA,CAAIM,KAAMO,CAAAA,OAAAA,CAAUN,CACd,CAAA,KAAA,CAAA,GACiB,QAAZG,EAAAA,OAAAA,CAAAA,GACVV,CAAIM,CAAAA,KAAAA,CAAMO,OAAUH,CAAAA,CAAAA,CAAW,EAG5BA,CAAAA,CAAAA,CAAAA,CAAAA,IACED,CAAQC,IAAAA,CAAAA,CACNH,CAASE,EAAAA,CAAAA,IAAQF,CACtBF,EAAAA,CAAAA,CAASL,CAAIM,CAAAA,KAAAA,CAAOG,CAAM,CAAA,EAAA,CAAA,CAAA,GAKzBF,CACEE,CAAAA,IAAAA,CAAAA,IAAQF,CACPG,CAAAA,CAAAA,EAAYH,CAAME,CAAAA,CAAAA,CAAAA,GAAUC,CAASD,CAAAA,CAAAA,CAAAA,EACzCJ,CAASL,CAAAA,CAAAA,CAAIM,KAAOG,CAAAA,CAAAA,CAAMF,CAAME,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAOhC,GAAgB,GAAA,GAAZA,CAAK,CAAA,CAAA,CAAA,EAA0B,GAAZA,GAAAA,CAAAA,CAAK,CAChCE,CAAAA,CAAAA,CAAAA,CAAaF,CAAUA,IAAAA,CAAAA,CAAOA,CAAKK,CAAAA,OAAAA,CAAQ,UAAY,CAAA,EAAA,CAAA,CAAA,CAGxBL,CAAAA,CAA3BA,CAAKM,CAAAA,WAAAA,EAAAA,GAAiBf,CAAYS,CAAAA,CAAAA,CAAKM,WAAcxG,EAAAA,CAAAA,KAAAA,CAAM,CACnDkG,CAAAA,CAAAA,CAAAA,CAAKlG,KAAM,CAAA,CAAA,CAAA,CAElByF,CAAIgB,CAAAA,CAAAA,GAAYhB,CAAIgB,CAAAA,CAAAA,CAAa,EACtChB,CAAAA,CAAAA,CAAAA,CAAIgB,CAAWP,CAAAA,CAAAA,CAAOE,CAAcJ,CAAAA,CAAAA,CAAAA,CAEhCA,CACEG,CAAAA,CAAAA,EAEJV,CAAIiB,CAAAA,gBAAAA,CAAiBR,CADLE,CAAAA,CAAAA,CAAaO,GAAoBC,CAAAA,CAAAA,CACbR,CAIrCX,CAAAA,CAAAA,CAAAA,CAAIoB,mBAAoBX,CAAAA,CAAAA,CADRE,CAAaO,CAAAA,GAAAA,CAAoBC,CACVR,CAAAA,CAAAA,CAAAA,CAAAA,KAElC,GAAa,yBAAA,GAATF,CAAoC,CAAA,CAAA,GAC1CjC,CAIHiC,CAAAA,CAAAA,CAAOA,CAAKK,CAAAA,OAAAA,CAAQ,aAAe,CAAA,GAAA,CAAA,CAAKA,OAAQ,CAAA,QAAA,CAAU,GACpD,CAAA,CAAA,KAAA,GACG,MAATL,GAAAA,CAAAA,EACS,MAATA,GAAAA,CAAAA,EACS,MAATA,GAAAA,CAAAA,EAGS,UAATA,GAAAA,CAAAA,EACS,UAATA,GAAAA,CAAAA,EACAA,CAAQT,IAAAA,CAAAA,CAAAA,GAAAA,CAGPA,CAAAA,CAAIS,CAAiB,CAAA,CAAA,IAAA,EAATF,CAAgB,CAAA,EAAA,CAAKA,CAE3BK,CAAAA,MAAAA,CAAAA,CACL,MAAOS,CAAAA,CAAAA,EAUW,UAAVd,EAAAA,OAAAA,CAAAA,GAGD,IAATA,EAAAA,CAAAA,GAAAA,CACW,CAAVA,GAAAA,CAAAA,EAAgC,GAAZE,GAAAA,CAAAA,CAAK,CAA0B,CAAA,EAAA,GAAA,GAAZA,CAAK,CAAA,CAAA,CAAA,CAAA,CAE7CT,CAAIsB,CAAAA,YAAAA,CAAab,CAAMF,CAAAA,CAAAA,CAAAA,CAEvBP,CAAIuB,CAAAA,eAAAA,CAAgBd,CAUvB,CAAA,CAAA,CAAA,CAAA,CAAA,SAASU,CAAWE,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CACdL,CAAWK,CAAAA,CAAAA,CAAE7F,IAAO,CAAA,CAAA,CAAA,CAAA,CAAOhB,GAAQgH,CAAAA,KAAAA,CAAQhH,GAAQgH,CAAAA,KAAAA,CAAMH,CAAKA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGpE,SAASH,GAAAA,CAAkBG,CACrBL,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAWK,CAAE7F,CAAAA,IAAAA,CAAAA,CAAO,CAAMhB,CAAAA,CAAAA,GAAAA,CAAQgH,KAAQhH,CAAAA,GAAAA,CAAQgH,KAAMH,CAAAA,CAAAA,CAAAA,CAAKA,CCpInE,CAAA,CAAA,CAAA,SAAgBrD,GACfD,CAAAA,CAAAA,CACA0D,CACA5D,CAAAA,CAAAA,CACAU,CACAC,CAAAA,CAAAA,CACAC,CACAb,CAAAA,CAAAA,CACAE,CACAY,CAAAA,CATD,CAAA,CAAA,IAWKc,CAoBEvC,CAAAA,CAAAA,CAAGyE,CAAOxB,CAAAA,CAAAA,CAAUyB,CAAUC,CAAAA,CAAAA,CAAUC,CACxC5B,CAAAA,CAAAA,CAKA6B,CACAC,CAAAA,CAAAA,CAiHAC,CACHC,CAAAA,CAAAA,CAiCG7D,CA7KL8D,CAAAA,CAAAA,CAAUT,CAASjG,CAAAA,IAAAA,CAAAA,GAAAA,KAISS,CAAzBwF,GAAAA,CAAAA,CAASpF,WAA2B,CAAA,OAAO,IAGpB,CAAA,IAAA,EAAvBwB,CACHa,CAAAA,GAAAA,GAAAA,CAAAA,CAAcb,CACdC,CAAAA,GAAAA,CAAAA,CAAAA,CAAS2D,CAAgB5D,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAEzB4D,CAAsB,CAAA,GAAA,CAAA,IAAA,CACtBhD,CAAoB,CAAA,CAACX,CAGjB0B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMhF,GAAgBgF,CAAAA,GAAAA,GAAAA,CAAAA,CAAIiC,CAG9B9B,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAO,GAAsB,UAAA,EAAA,OAAXuC,CAAuB,CAAA,CAAA,GAEpCjC,CAAWwB,CAAAA,CAAAA,CAASvG,KAKpB4G,CAAAA,CAAAA,CAAAA,CADJtC,CAAM0C,CAAAA,CAAAA,CAAQC,WACQ5D,GAAAA,CAAAA,CAAciB,CAChCuC,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAmBvC,CACpBsC,CAAAA,CAAAA,CACCA,CAAS5G,CAAAA,KAAAA,CAAMqF,KACff,CAAAA,CAAAA,CAAAA,EAAAA,CACDjB,CAGCV,CAAAA,CAAAA,CAAAA,GAAAA,CAEHgE,CADA5E,CAAAA,CAAAA,CAAIwE,CAAAA,CAAAA,CAAAA,GAAAA,CAAsB5D,CAC0BZ,CAAAA,GAAAA,EAAAA,EAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAGhD,WAAeiF,GAAAA,CAAAA,EAAWA,CAAQE,CAAAA,SAAAA,CAAUC,MAE/CZ,CAAAA,CAAAA,CAAAA,GAAAA,CAAsBxE,CAAI,CAAA,IAAIiF,CAAQjC,CAAAA,CAAAA,CAAU8B,CAGhDN,CAAAA,EAAAA,CAAAA,CAAAA,GAAAA,CAAsBxE,CAAI,CAAA,IAAIV,GAAU0D,CAAAA,CAAAA,CAAU8B,CAClD9E,CAAAA,CAAAA,CAAAA,CAAEZ,WAAc6F,CAAAA,CAAAA,CAChBjF,CAAEoF,CAAAA,MAAAA,CAASC,CAERR,CAAAA,CAAAA,CAAAA,EAAUA,CAASS,CAAAA,GAAAA,CAAItF,CAE3BA,CAAAA,CAAAA,CAAE/B,CAAAA,KAAAA,CAAQ+E,CACLhD,CAAAA,CAAAA,CAAEuF,KAAOvF,GAAAA,CAAAA,CAAEuF,KAAQ,CAAA,EAAA,CAAA,CACxBvF,CAAET,CAAAA,OAAAA,CAAUuF,CACZ9E,CAAAA,CAAAA,CAAAA,GAAAA,CAAmBsB,CACnBmD,CAAAA,CAAAA,CAAQzE,CAAW,CAAA,GAAA,CAAA,CAAA,CAAA,CACnBA,CAAqB,CAAA,GAAA,CAAA,EAAA,CAAA,CAIF,IAAhBA,EAAAA,CAAAA,CAAAA,GAAAA,GACHA,CAAeA,CAAAA,GAAAA,CAAAA,CAAAA,CAAEuF,KAEsB,CAAA,CAAA,IAAA,EAApCN,CAAQO,CAAAA,wBAAAA,GACPxF,CAAgBA,CAAAA,GAAAA,EAAAA,CAAAA,CAAEuF,KACrBvF,GAAAA,CAAAA,CAAAA,GAAAA,CAAejC,CAAAA,CAAO,EAAIiC,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAG3BjC,CACCiC,CAAAA,CAAAA,CAAAA,GAAAA,CACAiF,CAAQO,CAAAA,wBAAAA,CAAyBxC,CAAUhD,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAI7CiD,CAAWjD,CAAAA,CAAAA,CAAE/B,KACbyG,CAAAA,CAAAA,CAAW1E,CAAEuF,CAAAA,KAAAA,CAGTd,CAEkC,CAAA,IAAA,EAApCQ,CAAQO,CAAAA,wBAAAA,EACgB,IAAxBxF,EAAAA,CAAAA,CAAEyF,kBAEFzF,EAAAA,CAAAA,CAAEyF,kBAGwB,EAAA,CAAA,IAAA,EAAvBzF,CAAE0F,CAAAA,iBAAAA,EACL1F,CAAmBC,CAAAA,GAAAA,CAAAA,IAAAA,CAAKD,CAAE0F,CAAAA,iBAAAA,CAAAA,CAAAA,KAErB,CAE+B,GAAA,IAAA,EAApCT,CAAQO,CAAAA,wBAAAA,EACRxC,CAAaC,GAAAA,CAAAA,EACkB,IAA/BjD,EAAAA,CAAAA,CAAE2F,yBAEF3F,EAAAA,CAAAA,CAAE2F,yBAA0B3C,CAAAA,CAAAA,CAAU8B,CAIpC9E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAC0B,IAA3BA,EAAAA,CAAAA,CAAE4F,qBAKI,EAAA,CAAA,CAAA,GAJN5F,CAAE4F,CAAAA,qBAAAA,CACD5C,CACAhD,CAAAA,CAAAA,CAAAA,GAAAA,CACA8E,CAEFN,CAAAA,EAAAA,CAAAA,CAAAA,GAAAA,GAAuB5D,CACtB,CAAA,GAAA,CAAA,CACDZ,CAAE/B,CAAAA,KAAAA,CAAQ+E,CACVhD,CAAAA,CAAAA,CAAEuF,KAAQvF,CAAAA,CAAAA,CAAAA,GAAAA,CAENwE,CAAAA,CAAAA,GAAAA,GAAuB5D,CAAoBZ,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAW,CAC1DA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAWwE,CACXA,CAAAA,CAAAA,CAAAA,GAAAA,CAAgB5D,CAChB4D,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAqB5D,CACrB4D,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAmBqB,OAAQ,CAAA,SAAA1G,CACtBA,CAAAA,CAAAA,CAAAA,GAAOA,CAAgBqF,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAExBxE,CAAmBnB,CAAAA,GAAAA,CAAAA,MAAAA,EACtB8B,CAAYV,CAAAA,IAAAA,CAAKD,CAGZ0C,CAAAA,CAAAA,MAAAA,CAAAA,CAGsB,IAAzB1C,EAAAA,CAAAA,CAAE8F,mBACL9F,EAAAA,CAAAA,CAAE8F,mBAAoB9C,CAAAA,CAAAA,CAAUhD,CAAc8E,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAGnB,IAAxB9E,EAAAA,CAAAA,CAAE+F,kBACL/F,EAAAA,CAAAA,CAAAA,GAAAA,CAAmBC,IAAK,CAAA,UAAA,CACvBD,CAAE+F,CAAAA,kBAAAA,CAAmB9C,CAAUyB,CAAAA,CAAAA,CAAUC,CAK5C3E,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAET,OAAUuF,CAAAA,CAAAA,CACZ9E,CAAE/B,CAAAA,KAAAA,CAAQ+E,CACVhD,CAAAA,CAAAA,CAAAA,GAAAA,CAAWwE,CACXxE,CAAAA,CAAAA,CAAAA,GAAAA,CAAec,CAEXiE,CAAAA,CAAAA,CAAaxH,GAChByH,CAAAA,GAAAA,CAAAA,CAAAA,CAAQ,CACL,CAAA,WAAA,GAAeC,CAAWA,EAAAA,CAAAA,CAAQE,SAAUC,CAAAA,MAAAA,CAC/CpF,CAAEuF,CAAAA,KAAAA,CAAQvF,CACVA,CAAAA,GAAAA,CAAAA,CAAW,CAAA,GAAA,CAAA,CAAA,CAAA,CAEP+E,CAAYA,EAAAA,CAAAA,CAAWP,CAE3BjC,CAAAA,CAAAA,CAAAA,CAAMvC,CAAEoF,CAAAA,MAAAA,CAAOpF,CAAE/B,CAAAA,KAAAA,CAAO+B,CAAEuF,CAAAA,KAAAA,CAAOvF,CAAET,CAAAA,OAAAA,CAAAA,CAAAA,KAAAA,EAAAA,CAGlCS,CAAW,CAAA,GAAA,CAAA,CAAA,CAAA,CACP+E,CAAYA,EAAAA,CAAAA,CAAWP,CAE3BjC,CAAAA,CAAAA,CAAAA,CAAMvC,CAAEoF,CAAAA,MAAAA,CAAOpF,CAAE/B,CAAAA,KAAAA,CAAO+B,CAAEuF,CAAAA,KAAAA,CAAOvF,CAAET,CAAAA,OAAAA,CAAAA,CAGnCS,CAAEuF,CAAAA,KAAAA,CAAQvF,CACFA,CAAAA,GAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,GAAAA,EAAAA,EAAcgF,CAAQ,CAAA,EAAA,EAIhChF,CAAEuF,CAAAA,KAAAA,CAAQvF,CAEe,CAAA,GAAA,CAAA,IAAA,EAArBA,CAAEgG,CAAAA,eAAAA,GACL1E,CAAgBvD,CAAAA,CAAAA,CAAOA,CAAO,CAAA,EAAA,CAAIuD,CAAgBtB,CAAAA,CAAAA,CAAAA,CAAEgG,eAGhDvB,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAsC,IAA7BzE,EAAAA,CAAAA,CAAEiG,uBACftB,GAAAA,CAAAA,CAAW3E,CAAEiG,CAAAA,uBAAAA,CAAwBhD,CAAUyB,CAAAA,CAAAA,CAAAA,CAAAA,CAK5CvD,CADI,CAAA,IAAA,EAAPoB,CAAeA,EAAAA,CAAAA,CAAIhE,IAASc,GAAAA,GAAAA,EAAuB,IAAXkD,EAAAA,CAAI9D,CAAAA,GAAAA,CACL8D,CAAItE,CAAAA,KAAAA,CAAMO,QAAW+D,CAAAA,CAAAA,CAE7DrB,GACCJ,CAAAA,CAAAA,CACAmB,KAAMC,CAAAA,OAAAA,CAAQf,CAAgBA,CAAAA,CAAAA,CAAAA,CAAe,CAACA,CAAAA,CAAAA,CAC9CqD,CACA5D,CAAAA,CAAAA,CACAU,CACAC,CAAAA,CAAAA,CACAC,CACAb,CAAAA,CAAAA,CACAE,CACAY,CAAAA,CAAAA,CAAAA,CAGDzB,CAAEF,CAAAA,IAAAA,CAAO0E,CAGTA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAsB,IAElBxE,CAAAA,CAAAA,CAAAA,GAAAA,CAAmBnB,MACtB8B,EAAAA,CAAAA,CAAYV,IAAKD,CAAAA,CAAAA,CAAAA,CAGd4E,CACH5E,GAAAA,CAAAA,CAAAA,GAAAA,CAAkBA,CAAyB,CAAA,EAAA,CAAA,IAAA,CAAA,CAG5CA,CAAW,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAEU,IAArBwB,EAAAA,CAAAA,EACAgD,CAAuB5D,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,GAAAA,EAEvB4D,CAAqB5D,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CACrB4D,CAAgB5D,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAEhB4D,CAAgB0B,CAAAA,GAAAA,CAAAA,CAAAA,CACftF,CACA4D,CAAAA,GAAAA,CAAAA,CAAAA,CACA5D,CACAU,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAb,CACAc,CAAAA,CAAAA,CAAAA,CAAAA,CAIGc,CAAMhF,CAAAA,GAAAA,CAAQ4I,MAAS5D,GAAAA,CAAAA,CAAIiC,CAC/B,EAAA,CAAA,MAAOJ,CACRI,CAAAA,CAAAA,CAAqB,CAAA,GAAA,CAAA,IAAA,CAAA,CAEjB/C,CAAoC,EAAA,IAAA,EAArBD,CAClBgD,IAAAA,CAAAA,CAAAA,GAAAA,CAAgB3D,CAChB2D,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAwB/C,CACxBD,CAAAA,CAAAA,CAAkBA,CAAkB9B,CAAAA,OAAAA,CAAQmB,CAAW,CAAA,CAAA,CAAA,IAAA,CAAA,CAIxDtD,GAAoB6G,CAAAA,GAAAA,CAAAA,CAAAA,CAAGI,CAAU5D,CAAAA,CAAAA,EAAAA,CAAAA,CAS5B,SAASK,GAAAA,CAAWN,CAAayF,CAAAA,CAAAA,CAAAA,CACnC7I,GAAiBA,CAAAA,GAAAA,EAAAA,GAAAA,CAAAA,GAAAA,CAAgB6I,CAAMzF,CAAAA,CAAAA,CAAAA,CAE3CA,CAAYF,CAAAA,IAAAA,CAAK,SAAAT,CAAAA,CAAAA,CAAAA,GAAAA,CAGfW,CAAcX,CAAAA,CAAAA,CAAAA,GAAAA,CACdA,CAAqB,CAAA,GAAA,CAAA,EAAA,CACrBW,CAAYF,CAAAA,IAAAA,CAAK,SAAA4F,CAAAA,CAAAA,CAEhBA,CAAGvH,CAAAA,IAAAA,CAAKkB,CAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAOoE,CACR7G,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAAoB6G,CAAGpE,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAmB1B,SAASkG,CAAAA,CACRnD,CACAyB,CAAAA,CAAAA,CACA5D,CACAU,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAb,CACAc,CAAAA,CAAAA,CAAAA,CARD,IAoBS5B,CAAAA,CAsDHyG,CACAC,CAAAA,CAAAA,CAjEDtD,CAAWrC,CAAAA,CAAAA,CAAS3C,KAAAA,CACpB+E,CAAWwB,CAAAA,CAAAA,CAASvG,KACpBuI,CAAAA,CAAAA,CAAWhC,CAASjG,CAAAA,IAAAA,CACpBZ,CAAI,CAAA,CAAA,CAAA,GAGS,KAAb6I,GAAAA,CAAAA,GAAoBjF,CAAQ,CAAA,CAAA,CAAA,CAAA,CAEP,IAArBC,EAAAA,CAAAA,CAAAA,KACI7D,CAAI6D,CAAAA,CAAAA,CAAkB3C,MAAQlB,CAAAA,CAAAA,EAAAA,CAAAA,GAAAA,CAC9BkC,CAAQ2B,CAAAA,CAAAA,CAAkB7D,CAO/B,CAAA,GAAA,cAAA,GAAkBkC,CAAY2G,EAAAA,CAAAA,CAAAA,CAAAA,GAC7BA,CAAW3G,CAAAA,CAAAA,CAAM4G,SAAcD,GAAAA,CAAAA,CAA8B,CAAnB3G,GAAAA,CAAAA,CAAM2G,QAChD,CAAA,CAAA,CACDzD,CAAMlD,CAAAA,CAAAA,CACN2B,CAAkB7D,CAAAA,CAAAA,CAAAA,CAAK,IAMf,CAAA,KAAA,CAAA,GAAA,IAAA,EAAPoF,CAAa,CAAA,CAAA,GACC,IAAbyD,GAAAA,CAAAA,CAAAA,OAEIE,QAASC,CAAAA,cAAAA,CAAe3D,CAI/BD,CAAAA,CAAAA,CAAAA,CADGxB,CACGmF,CAAAA,QAAAA,CAASE,eACd,CAAA,4BAAA,CAEAJ,CAGKE,CAAAA,CAAAA,QAAAA,CAASpI,aAEdkI,CAAAA,CAAAA,CACAxD,CAAS6D,CAAAA,EAAAA,EAAM7D,CAKjBxB,CAAAA,CAAAA,CAAAA,CAAoB,IAEpBC,CAAAA,CAAAA,CAAAA,CAAc,CAGE,CAAA,CAAA,GAAA,IAAA,GAAb+E,CAAAA,CAECvD,CAAaD,GAAAA,CAAAA,EAAcvB,CAAesB,EAAAA,CAAAA,CAAI+D,IAAS9D,GAAAA,CAAAA,GAC1DD,CAAI+D,CAAAA,IAAAA,CAAO9D,CAEN,CAAA,CAAA,KAAA,CAAA,GAENxB,CAAoBA,CAAAA,CAAAA,EAAqBlE,CAAMwB,CAAAA,IAAAA,CAAKiE,CAAIgE,CAAAA,UAAAA,CAAAA,CAIpDT,CAFJrD,CAAAA,CAAAA,CAAAA,CAAWrC,CAAS3C,CAAAA,KAAAA,EAASL,GAENoJ,EAAAA,uBAAAA,CACnBT,CAAUvD,CAAAA,CAAAA,CAASgE,uBAIlBvF,CAAAA,CAAAA,CAAAA,CAAa,CAGQ,GAAA,IAAA,EAArBD,CACHyB,CAAAA,IAAAA,CAAAA,CAAW,EACNtF,CAAAA,CAAAA,CAAI,CAAGA,CAAAA,CAAAA,CAAIoF,CAAIkE,CAAAA,UAAAA,CAAWpI,MAAQlB,CAAAA,CAAAA,EAAAA,CACtCsF,CAASF,CAAAA,CAAAA,CAAIkE,UAAWtJ,CAAAA,CAAAA,CAAAA,CAAG6F,IAAQT,CAAAA,CAAAA,CAAAA,CAAIkE,UAAWtJ,CAAAA,CAAAA,CAAAA,CAAG2F,KAInDiD,CAAAA,CAAAA,CAAAA,EAAWD,CAGZC,IAAAA,CAAAA,GACED,CAAWC,EAAAA,CAAAA,CAAAA,MAAAA,EAAkBD,CAC/BC,CAAAA,MAAAA,EAAAA,CAAAA,CAAAA,MAAAA,GAAmBxD,CAAImE,CAAAA,SAAAA,CAAAA,GAExBnE,CAAImE,CAAAA,SAAAA,CAAaX,CAAWA,EAAAA,CAAAA,CAAAA,MAAAA,EAAmB,EAKlDzD,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAUC,CAAKC,CAAAA,CAAUC,CAAAA,CAAAA,CAAU1B,CAAOE,CAAAA,CAAAA,CAAAA,CAGtC8E,CACH/B,CAAAA,CAAAA,CAAAA,GAAAA,CAAqB,EAErB7G,CAAAA,KAAAA,GAAAA,CAAAA,CAAI6G,CAASvG,CAAAA,KAAAA,CAAMO,QACnB0C,CAAAA,GAAAA,CACC6B,CACAd,CAAAA,KAAAA,CAAMC,OAAQvE,CAAAA,CAAAA,CAAAA,CAAKA,CAAI,CAAA,CAACA,CACxB6G,CAAAA,CAAAA,CAAAA,CACA5D,CACAU,CAAAA,CAAAA,CACAC,CAAsB,EAAA,eAAA,GAAbiF,CACThF,CAAAA,CAAAA,CACAb,CACAa,CAAAA,CAAAA,CACGA,CAAkB,CAAA,CAAA,CAAA,CAClBZ,CAAsBpB,CAAAA,GAAAA,EAAAA,CAAAA,CAAcoB,CAAU,CAAA,CAAA,CAAA,CACjDa,CAIwB,CAAA,CAAA,IAAA,EAArBD,CACE7D,CAAAA,IAAAA,CAAAA,CAAI6D,CAAkB3C,CAAAA,MAAAA,CAAQlB,CACN,EAAA,EAAA,IAAA,EAAxB6D,CAAkB7D,CAAAA,CAAAA,CAAAA,EAAYO,GAAWsD,CAAAA,CAAAA,CAAkB7D,CAM7D8D,CAAAA,CAAAA,CAAAA,CAAAA,GAEH,OAAWuB,GAAAA,CAAAA,EAAAA,KACchE,CAAxBrB,IAAAA,CAAAA,CAAIqF,CAASM,CAAAA,KAAAA,CAAAA,GAKb3F,CAAMoF,GAAAA,CAAAA,CAAIO,KACI,EAAA,UAAA,GAAbkD,CAA4B7I,EAAAA,CAAAA,CAAAA,EAIf,QAAb6I,GAAAA,CAAAA,EAAyB7I,CAAMsF,GAAAA,CAASK,CAAAA,KAAAA,CAAAA,EAE1CH,CAAYJ,CAAAA,CAAAA,CAAK,OAASpF,CAAAA,CAAAA,CAAGsF,CAASK,CAAAA,KAAAA,CAAAA,CAAO,CAG7C,CAAA,CAAA,SAAA,GAAaN,CACchE,EAAAA,KAAAA,CAAAA,IAA1BrB,CAAIqF,CAAAA,CAAAA,CAASmE,OACdxJ,CAAAA,EAAAA,CAAAA,GAAMoF,CAAIoE,CAAAA,OAAAA,EAEVhE,CAAYJ,CAAAA,CAAAA,CAAK,SAAWpF,CAAAA,CAAAA,CAAGsF,CAASkE,CAAAA,OAAAA,CAAAA,CAAS,CAK7CpE,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CASR,SAAgBT,CAAAA,CAAS5D,CAAK4E,CAAAA,CAAAA,CAAOnE,CAEjB,CAAA,CAAA,GAAA,CAAA,UAAA,EAAA,OAAPT,CAAmBA,CAAAA,CAAAA,CAAI4E,CAC7B5E,CAAAA,CAAAA,CAAAA,CAAI0I,OAAU9D,CAAAA,CAAAA,CAAAA,CAClB,MAAOc,CAAAA,CAAAA,CACR7G,GAAoB6G,CAAAA,GAAAA,CAAAA,CAAAA,CAAGjF,CAYzB,EAAA,CAAA,CAAA,SAAgBkD,CAAQlD,CAAAA,CAAAA,CAAOkI,CAAaC,CAAAA,CAAAA,CAAAA,CAA5C,IACKC,CAAAA,CAoBM5J,CAnBNJ,CAAAA,GAAAA,GAAAA,CAAQ8E,OAAS9E,EAAAA,GAAAA,CAAQ8E,OAAQlD,CAAAA,CAAAA,CAAAA,CAAAA,CAEhCoI,CAAIpI,CAAAA,CAAAA,CAAMT,GACT6I,IAAAA,CAAAA,CAAEH,OAAWG,EAAAA,CAAAA,CAAEH,OAAAA,GAAYjI,CAAYmD,CAAAA,GAAAA,EAAAA,CAAAA,CAASiF,CAAG,CAAA,IAAA,CAAMF,CAGjC,CAAA,CAAA,CAAA,IAAA,GAAzBE,CAAIpI,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAA2B,CAC/BoI,GAAAA,CAAAA,CAAEC,oBAEJD,CAAAA,GAAAA,CAAAA,CAAAA,CAAEC,oBACD,EAAA,CAAA,CAAA,MAAOpD,CACR7G,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAAoB6G,CAAGiD,CAAAA,CAAAA,CAAAA,CAAAA,CAIzBE,CAAEzH,CAAAA,IAAAA,CAAOyH,CAAe,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAGpBA,CAAIpI,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,IACCxB,CAAI,CAAA,CAAA,CAAGA,CAAI4J,CAAAA,CAAAA,CAAE1I,MAAQlB,CAAAA,CAAAA,EAAAA,CACzB4J,CAAE5J,CAAAA,CAAAA,CAAAA,EACL0E,CAAQkF,CAAAA,CAAAA,CAAE5J,CAAI0J,CAAAA,CAAAA,CAAAA,CAAkC,UAAdlI,EAAAA,OAAAA,CAAAA,CAAMZ,IAKtC+I,CAAAA,CAAAA,CAAAA,EAA4B,IAAdnI,EAAAA,CAAAA,CAAAA,GAAAA,EAAoBjB,GAAWiB,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAIlDA,CAAaA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,KAAiBH,CAI/B,CAAA,CAAA,SAASqG,CAASpH,CAAAA,CAAAA,CAAOsH,CAAOhG,CAAAA,CAAAA,CAAAA,CAAAA,OACxBkI,IAAKrI,CAAAA,WAAAA,CAAYnB,CAAOsB,CAAAA,CAAAA,CAAAA,CCrgBhC,SAAgB6F,CAAAA,CAAOjG,CAAO2B,CAAAA,CAAAA,CAAW4G,CAAzC,CAAA,CAAA,IAMKjG,CAOAb,CAAAA,CAUAD,CAAAA,CAAAA,CAtBApD,GAAeA,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAc4B,CAAO2B,CAAAA,CAAAA,CAAAA,CAYpCF,CAPAa,CAAAA,CAAAA,CAAAA,CAAqC,UAAhBiG,EAAAA,OAAAA,CAAAA,EAQtB,IACCA,CAAAA,CAAAA,EAAeA,CAA0B5G,CAAAA,GAAAA,EAAAA,CAAAA,CAAAA,GAAAA,CAQzCH,CAAc,CAAA,EAAA,CAClBI,GACCD,CAAAA,CAAAA,CARD3B,CACGsC,CAAAA,CAAAA,CAAAA,CAAAA,EAAeiG,CACjB5G,EAAAA,CAAAA,EAAAA,GAAAA,CACaxC,GAAce,CAAAA,GAAAA,CAAU,IAAM,CAAA,CAACF,CAS5CyB,CAAAA,CAAAA,CAAAA,CAAAA,EAAYhD,GACZA,CAAAA,GAAAA,CAAAA,KAC8BoB,CAA9B8B,GAAAA,CAAAA,CAAUE,eACTS,CAAAA,CAAAA,CAAAA,EAAeiG,CACb,CAAA,CAACA,CACD9G,CAAAA,CAAAA,CAAAA,CACA,IACAE,CAAAA,CAAAA,CAAU6G,UACVrK,CAAAA,CAAAA,CAAMwB,IAAKgC,CAAAA,CAAAA,CAAUiG,UACrB,CAAA,CAAA,IAAA,CACHpG,CACCc,CAAAA,CAAAA,CAAAA,EAAeiG,CACbA,CAAAA,CAAAA,CACA9G,CACAA,CAAAA,CAAAA,CAAAA,GAAAA,CACAE,CAAU6G,CAAAA,UAAAA,CACblG,CAIDR,CAAAA,CAAAA,GAAAA,CAAWN,CAAaxB,CAAAA,CAAAA,CAAAA,CAAAA,CTrCZ7B,CAAQO,CAAAA,GAAAA,CAAUP,KCfzBC,CAAAA,GAAAA,CAAU,CSFhB,GAAA,CAAA,SAA4BqK,CAAOzI,CAAAA,CAAAA,CAAOyB,CAAUiH,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,IAE/CnH,CAAWoH,CAAAA,CAAAA,CAAMC,CAEb5I,CAAAA,CAAAA,CAAQA,CACVuB,CAAAA,EAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAYvB,CAAsBuB,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAErCoH,CAAOpH,CAAAA,CAAAA,CAAUtB,WAE4B,GAAA,IAAA,EAAjC0I,CAAKE,CAAAA,wBAAAA,GAChBtH,CAAUuH,CAAAA,QAAAA,CAASH,CAAKE,CAAAA,wBAAAA,CAAyBJ,CACjDG,CAAAA,CAAAA,CAAAA,CAAAA,CAAUrH,CAGwB,CAAA,GAAA,CAAA,CAAA,IAAA,EAA/BA,CAAUwH,CAAAA,iBAAAA,GACbxH,CAAUwH,CAAAA,iBAAAA,CAAkBN,CAAOC,CAAAA,CAAAA,EAAa,EAChDE,CAAAA,CAAAA,CAAAA,CAAUrH,CAIPqH,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OACKrH,CAA0BA,CAAAA,GAAAA,CAAAA,CAAAA,CAElC,MAAO0D,CAAAA,CAAAA,CACRwD,CAAQxD,CAAAA,CAAAA,CAAAA,CAAAA,MAKLwD,CRnCHpK,CAAAA,CAAAA,CAAAA,GAAAA,CAAU,CA6FD2K,CCtEb7I,GAAAA,CAAU6F,SAAU8C,CAAAA,QAAW,CAAA,SAASG,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,IAE3CC,CAEHA,CAAAA,CAAAA,CADsB,IAAnBb,EAAAA,IAAAA,CAAAA,GAAAA,EAA2BA,IAAoBA,CAAAA,GAAAA,GAAAA,IAAAA,CAAKlC,KACnDkC,CAAAA,IAAAA,CAAAA,GAAAA,CAEAA,IAAkB1J,CAAAA,GAAAA,CAAAA,CAAAA,CAAO,EAAI0J,CAAAA,IAAAA,CAAKlC,KAGlB,CAAA,CAAA,UAAA,EAAA,OAAV6C,CAGVA,GAAAA,CAAAA,CAASA,CAAOrK,CAAAA,CAAAA,CAAO,EAAIuK,CAAAA,CAAAA,CAAAA,CAAIb,IAAKxJ,CAAAA,KAAAA,CAAAA,CAAAA,CAGjCmK,CACHrK,EAAAA,CAAAA,CAAOuK,CAAGF,CAAAA,CAAAA,CAAAA,CAIG,IAAVA,EAAAA,CAAAA,EAEAX,IACCY,CAAAA,GAAAA,GAAAA,CAAAA,EAAUZ,IAAsBxH,CAAAA,GAAAA,CAAAA,IAAAA,CAAKoI,CACzCtI,CAAAA,CAAAA,GAAAA,CAAc0H,IAUhBnI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAU6F,SAAUoD,CAAAA,WAAAA,CAAc,SAASF,CAAAA,CAAAA,CACtCZ,IAIW,CAAA,GAAA,GAAA,IAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CACVY,CAAUZ,EAAAA,IAAAA,CAAAA,GAAAA,CAAsBxH,IAAKoI,CAAAA,CAAAA,CAAAA,CACzCtI,GAAc0H,CAAAA,IAAAA,CAAAA,EAAAA,CAAAA,CAchBnI,GAAU6F,CAAAA,SAAAA,CAAUC,MAAS/F,CAAAA,GAAAA,CAyFzB5B,GAAgB,CAAA,EAAA,CA2CpByC,GAAyB,CAAA,GAAA,CAAA,CCnNV,CAAA;;AOCf,IAAIsI,CAGAC,CAAAA,CAAAA,CAGAC,CAiBAC,CAAAA,CAAAA,CAdAC,CAAAA,CAAc,CAGdC,CAAAA,CAAAA,CAAoB,EAEpBC,CAAAA,CAAAA,CAAQ,EAERC,CAAAA,CAAAA,CAAgBxL,GAChByL,CAAAA,GAAAA,CAAAA,CAAAA,CAAkBzL,QAClB0L,CAAe1L,CAAAA,GAAAA,CAAQ4I,MACvB+C,CAAAA,CAAAA,CAAY3L,GACZ4L,CAAAA,GAAAA,CAAAA,CAAAA,CAAmB5L,GAAQ8E,CAAAA,OAAAA,CAmG/B,SAAS+G,CAAaC,CAAAA,CAAAA,CAAO9K,CACxBhB,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,EACHA,GAAAA,CAAAA,GAAAA,CAAckL,CAAkBY,CAAAA,CAAAA,CAAOT,CAAerK,EAAAA,CAAAA,CAAAA,CAEvDqK,CAAAA,CAAc,CAORU,CAAAA,IAAAA,CAAAA,CACLb,CACCA,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,GAAAA,CAA2B,CACpB,EAAA,CAAA,EAAA,CAAA,GAAA,CACU,EAGfY,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,EAASC,KAAYzK,MACxByK,EAAAA,CAAAA,CAAAA,EAAAA,CAAYrJ,IAAK,CAAA,CAAA,GAAA,CAAiB6I,CAAAA,CAAAA,CAAAA,CAE5BQ,CAAYD,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAMb,SAASE,CAAAA,CAASC,CAAAA,CAAAA,CAAAA,OACxBZ,CAAc,CAAA,CAAA,CACPa,GAAWC,CAAAA,CAAAA,CAAgBF,CASnC,CAAA,CAAA,SAAgBC,GAAWE,CAAAA,CAAAA,CAASH,CAAcI,CAAAA,CAE3CC,CAAAA,CAAAA,IAAAA,CAAAA,CAAYT,CAAaZ,CAAAA,CAAAA,EAAAA,CAAgB,CAC/CqB,CAAAA,CAAAA,GAAAA,CAAUC,CAAAA,CAAAA,CAAWH,CAChBE,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,GACJA,CAAAA,CAAAA,EAAAA,CAAmB,CACjBD,CAAAA,CAAiDA,CAAKJ,CAAAA,CAAAA,CAAAA,CAA/CE,CAAe1K,CAAAA,KAAAA,CAAAA,CAAWwK,CAElC,CAAA,CAAA,SAAAO,CACOC,CAAAA,CAAAA,IAAAA,CAAeH,CAAAA,CAAAA,CAAAA,GAAAA,CAClBA,CAAqB,CAAA,GAAA,CAAA,CAAA,CAAA,CACrBA,CAAiB,CAAA,EAAA,CAAA,CAAA,CAAA,CACdI,CAAYJ,CAAAA,CAAAA,CAAUC,CAASE,CAAAA,CAAcD,CAAAA,CAAAA,CAAAA,CAE/CC,CAAiBC,GAAAA,CAAAA,GACpBJ,CAAuB,CAAA,GAAA,CAAA,CAACI,CAAWJ,CAAAA,CAAAA,CAAAA,EAAAA,CAAiB,CACpDA,CAAAA,CAAAA,CAAAA,CAAqB5B,CAAAA,GAAAA,CAAAA,QAAAA,CAAS,EAKjC4B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAuBpB,CAAAA,CAAAA,CAElBA,CAAiByB,CAAAA,CAAAA,CAAAA,CAAkB,CACvCzB,CAAAA,CAAiByB,CAAmB,CAAA,CAAA,CAC9BC,CAAAA,IAAAA,CAAAA,CAAU1B,CAAiB7C,CAAAA,qBAAAA,CAQjC6C,CAAiB7C,CAAAA,qBAAAA,CAAwB,SAASwE,CAAAA,CAAG9B,CAAAA,CAAGtI,CAClD6J,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAA8B,OAAO,CAAA,CAAA,CAAA,IAEpCQ,CAAaR,CAAAA,CAAmCS,CAAAA,GAAAA,CAAAA,GAAAA,CAAAA,EAAAA,CAAAA,MAAAA,CACrD,SAAAC,CAAAA,CAAAA,CAAAA,OAAKA,WAEgBF,CAAWG,CAAAA,KAAAA,CAAM,SAAAD,CAAAA,CAAAA,CAAAA,OAAAA,CAAMA,CAIrCJ,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,EAAUA,CAAQrL,CAAAA,IAAAA,CAAK2I,IAAAA,CAAM2C,CAAG9B,CAAAA,CAAAA,CAAGtI,CAMvCyK,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAe,SACnBJ,CAAWxE,CAAAA,OAAAA,CAAQ,SAAA6E,CAAAA,CAAAA,CAAAA,GACdA,CAAqB,CAAA,GAAA,CAAA,CAClBV,IAAAA,CAAAA,CAAeU,CAAgB,CAAA,EAAA,CAAA,CAAA,CAAA,CACrCA,CAAkBA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAClBA,CAAsB1L,CAAAA,GAAAA,CAAAA,KAAAA,CAAAA,CAClBgL,IAAiBU,CAAgB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAID,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAInDA,CACJN,GAAAA,CAAAA,CAAAA,EACCA,CAAQrL,CAAAA,IAAAA,CAAK2I,KAAM2C,CAAG9B,CAAAA,CAAAA,CAAGtI,CAOzB6J,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,GAAAA,EAAwBA,CAOzB,CAAA,EAAA,CAAA,SAASc,CAAUtC,CAAAA,CAAAA,CAAUuC,CAAAA,CAAAA,CAAAA,IAE7BrF,CAAQ6D,CAAAA,CAAAA,CAAaZ,CAAgB,EAAA,CAAA,CAAA,CAAA,CAAA,CACtCjL,GAAAA,CAAAA,GAAAA,EAAwBsN,CAAYtF,CAAAA,CAAAA,CAAAA,GAAAA,CAAaqF,CACrDrF,CAAAA,GAAAA,CAAAA,CAAAA,EAAAA,CAAe8C,CAAAA,CACf9C,CAAMuF,CAAAA,CAAAA,CAAeF,CAErBnC,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAAyCxI,IAAKsF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAiDzC,SAASwF,CAAAA,CAAQC,CAASJ,CAAAA,CAE1BrF,CAAAA,CAAAA,IAAAA,CAAAA,CAAQ6D,CAAaZ,CAAAA,CAAAA,EAAAA,CAAgB,CACvCqC,CAAAA,CAAAA,OAAAA,CAAYtF,CAAAA,CAAAA,CAAAA,GAAAA,CAAaqF,CAC5BrF,CAAAA,EAAAA,CAAAA,CAAAA,GAAAA,CAAsByF,CACtBzF,EAAAA,CAAAA,CAAAA,CAAMuF,CAAeF,CAAAA,CAAAA,CACrBrF,CAAiByF,CAAAA,GAAAA,CAAAA,CACVzF,CAAAA,CAAAA,CAAAA,GAAAA,EAGDA,CAOD,CAAA,EAAA,CAAA,SAAS0F,CAAAA,CAAY5C,CAAUuC,CAAAA,CAAAA,CAAAA,CAAAA,OACrChC,CAAc,CAAA,CAAA,CACPmC,CAAQ,CAAA,UAAM1C,CAAAA,OAAAA,CAAAA,CAAAA,CAAUuC,CAMzB,CAAA,CAuDP,SAASM,CAAAA,EAAAA,CAAAA,IAAAA,IACJxK,CACIA,CAAAA,CAAAA,CAAYmI,CAAAA,CAAkBsC,KAChCzK,EAAAA,EAAAA,GAAAA,CAAAA,CAAAA,GAAAA,EAAyBA,CAE7BA,CAAAA,GAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAAkCmF,OAAQuF,CAAAA,CAAAA,CAAAA,CAC1C1K,CAAkCmF,CAAAA,GAAAA,CAAAA,GAAAA,CAAAA,OAAAA,CAAQwF,CAAAA,CAAAA,CAC1C3K,CAAoC,CAAA,GAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CACnC,MAAO0D,CAAAA,CAAAA,CACR1D,CAAoC,CAAA,GAAA,CAAA,GAAA,CAAA,EACpCnD,CAAAA,GAAAA,CAAAA,GAAAA,CAAoB6G,CAAG1D,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAjW1BnD,QAAgB,SAAA4B,CAAAA,CAAAA,CACfsJ,CAAmB,CAAA,IAAA,CACfM,CAAeA,EAAAA,CAAAA,CAAc5J,CAGlC5B,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,GAAAA,CAAkB,SAAA4B,CACb6J,CAAAA,CAAAA,CAAAA,EAAiBA,CAAgB7J,CAAAA,CAAAA,CAAAA,CAGrCqJ,CAAAA,CAAe,CAETc,CAAAA,IAAAA,CAAAA,CAAAA,CAHNb,CAAmBtJ,CAAAA,CAAAA,CAAAA,GAAAA,EAAAA,GAAAA,CAIfmK,IACCZ,CAAsBD,GAAAA,CAAAA,EACzBa,CAAwB,CAAA,GAAA,CAAA,EAAA,CACxBb,CAAoC,CAAA,GAAA,CAAA,EAAA,CACpCa,CAAYzD,CAAAA,EAAAA,CAAAA,OAAAA,CAAQ,SAAA6E,CACfA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,GACHA,CAAkBA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAEnBA,CAAyB5B,CAAAA,GAAAA,CAAAA,CACzB4B,CAAAA,CAAAA,CAAAA,GAAAA,CAAsBA,CAASI,CAAAA,CAAAA,CAAAA,KAAe9L,CAAAA,CAAAA,CAAAA,CAAAA,GAG/CsK,CAAsBzD,CAAAA,GAAAA,CAAAA,OAAAA,CAAQuF,CAC9B9B,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAsBzD,OAAQwF,CAAAA,CAAAA,CAAAA,CAC9B/B,CAAwB,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAG1BZ,CAAoBD,CAAAA,CAAAA,CAGrBlL,CAAAA,CAAAA,GAAAA,CAAQ4I,MAAS,CAAA,SAAAhH,CACZ8J,CAAAA,CAAAA,CAAcA,EAAAA,CAAAA,CAAa9J,CAEzBa,CAAAA,CAAAA,IAAAA,CAAAA,CAAIb,CACNa,CAAAA,GAAAA,CAAAA,CAAKA,EAAAA,CAAAA,CAAAA,GAAAA,GACJA,CAA0BnB,CAAAA,GAAAA,CAAAA,GAAAA,CAAAA,MAAAA,GAmWR,CAnW2BgK,GAAAA,CAAAA,CAAkB5I,IAAKD,CAAAA,CAAAA,CAAAA,EAmW7C2I,CAAYpL,GAAAA,GAAQ+N,CAAAA,qBAAAA,EAAAA,CAAAA,CAC/C3C,CAAUpL,CAAAA,GAAAA,CAAQ+N,qBAvBpB,GAAA,SAAwBjD,CAAAA,CAAAA,CAAAA,IAQnBkD,CAPEC,CAAAA,CAAAA,CAAO,UACZC,CAAAA,YAAaC,CAAAA,CAAAA,CAAAA,CACTC,CAASC,EAAAA,oBAAAA,CAAqBL,CAClCnL,CAAAA,CAAAA,UAAAA,CAAWiI,CAENqD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUtL,UAAAA,CAAWoL,CA3XR,CAAA,GAAA,CAAA,CA8XfG,CACHJ,GAAAA,CAAAA,CAAMD,qBAAsBE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAcAN,CApW5BlL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,EAAAA,CAAgB6F,OAAQ,CAAA,SAAA6E,CAAAA,CAAAA,CACnBA,CAASI,CAAAA,CAAAA,GACZJ,CAAiBA,CAAAA,GAAAA,CAAAA,CAAAA,CAASI,CAEvBJ,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,GAA2B5B,CAAAA,GAC9B4B,CAAkBA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAEnBA,CAASI,CAAAA,CAAAA,CAAAA,KAAe9L,CACxB0L,CAAAA,CAAyB5B,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAG3BJ,CAAoBD,CAAAA,CAAAA,CAAmB,IAGxClL,CAAAA,CAAAA,CAAAA,GAAkB,CAAA,GAAA,CAAA,SAAC4B,CAAOwB,CAAAA,CAAAA,CAAAA,CACzBA,CAAYF,CAAAA,IAAAA,CAAK,SAAAC,CAAAA,CAAAA,CAAAA,GAAAA,CAEfA,CAA2BmF,CAAAA,GAAAA,CAAAA,OAAQuF,CAAAA,CAAAA,CAAAA,CACnC1K,CAA6BA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAA2B4J,MAAO,CAAA,SAAAjE,CAAAA,CAAAA,CAAAA,OAAAA,CAC9DA,CAAYgF,CAAAA,EAAAA,EAAAA,CAAAA,CAAahF,MAEzB,MAAOjC,CAAAA,CAAAA,CACRzD,CAAYF,CAAAA,IAAAA,CAAK,SAAAT,CAAAA,CAAAA,CACZA,CAAoBA,CAAAA,GAAAA,GAAAA,CAAAA,CAAAA,GAAAA,CAAqB,EAE9CW,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,EAAA,CACdpD,GAAoB6G,CAAAA,GAAAA,CAAAA,CAAAA,CAAG1D,WAIrBwI,CAAWA,EAAAA,CAAAA,CAAU/J,CAAOwB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGjCpD,GAAQ8E,CAAAA,OAAU,CAAA,SAAAlD,CACbgK,CAAAA,CAAAA,CAAAA,EAAkBA,CAAiBhK,CAAAA,CAAAA,CAAAA,CAAAA,IAIlC0M,CAFC7L,CAAAA,CAAAA,CAAIb,CAAAA,CAAAA,GAAAA,CACNa,CAAKA,EAAAA,CAAAA,CAAAA,GAAAA,GAERA,CAAgB6F,CAAAA,GAAAA,CAAAA,EAAAA,CAAAA,OAAAA,CAAQ,SAAAyC,CAEtB8C,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAc9C,CACb,CAAA,CAAA,CAAA,MAAOlE,CACRyH,CAAAA,CAAAA,CAAazH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGXyH,CAAYtO,EAAAA,GAAAA,CAAAA,GAAAA,CAAoBsO,CAAY7L,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAkRlD,IAAI2L,CAAAA,CAA0C,UAAA,EAAA,OAAzBL,qBA2CrB,CAAA,SAASF,CAAcU,CAAAA,CAAAA,CAAAA,CAAAA,IAGhBC,EAAOtD,CACTuD,CAAAA,CAAAA,CAAUF,CACQ,CAAA,GAAA,CAAA,UAAA,EAAA,OAAXE,CACVF,GAAAA,CAAgB9M,CAAAA,GAAAA,CAAAA,KAAAA,CAAAA,CAChBgN,CAGDvD,EAAAA,CAAAA,CAAAA,CAAAA,CAAmBsD,CAOpB,CAAA,CAAA,SAASV,CAAaS,CAAAA,CAAAA,CAAAA,CAAAA,IAGfC,CAAOtD,CAAAA,CACbqD,CAAAA,CAAAA,CAAAA,GAAAA,CAAgBA,CAChBrD,CAAAA,EAAAA,EAAAA,CAAAA,CAAAA,CAAmBsD,CAOpB,CAAA,CAAA,SAASlB,CAAAA,CAAYoB,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAE3BD,GACDA,CAAQpN,CAAAA,MAAAA,GAAWqN,CAAQrN,CAAAA,MAAAA,EAC3BqN,CAAQzL,CAAAA,IAAAA,CAAK,SAAC0L,CAAAA,CAAK9C,CAAAA,CAAAA,CAAAA,OAAU8C,CAAQF,GAAAA,CAAAA,CAAQ5C,CAI/C,CAAA,CAAA,CAAA,CAAA,SAASK,CAAAA,CAAeyC,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,OACT,UAALA,EAAAA,OAAAA,CAAAA,CAAkBA,CAAAA,CAAED,CAAOC,CAAAA,CAAAA,CAAAA;;;;;;;;;;;;;;;;;;;ACnd1C,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE;AAChB,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE;AAChB,IAAI,OAAO,GAAG,IAAI;AAClB,IAAI,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC;AAC/B;AACA,SAAS,IAAI,GAAG;AAChB,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;AACrB,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;AAC7B,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AACd,CAAC;AACD;AACA,SAAS,IAAI,GAAG;AAChB,EAAE,OAAO,IAAI,IAAI,CAAC;AAClB,CAAC;AACD;AACA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG;AAClC,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACzB,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClF,GAAG;AACH,EAAE,SAAS,EAAE,WAAW;AACxB,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;AAC3B,MAAM,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AAC/C,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;AACpB,KAAK;AACL,GAAG;AACH,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACzB,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5D,GAAG;AACH,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;AAC3C,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACxF,GAAG;AACH,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;AAChD,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACpH,GAAG;AACH,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;AACrC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG;AACrB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG;AACrB,QAAQ,GAAG,GAAG,EAAE,GAAG,EAAE;AACrB,QAAQ,GAAG,GAAG,EAAE,GAAG,EAAE;AACrB,QAAQ,GAAG,GAAG,EAAE,GAAG,EAAE;AACrB,QAAQ,GAAG,GAAG,EAAE,GAAG,EAAE;AACrB,QAAQ,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACtC;AACA;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;AACxD;AACA;AACA,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;AAC3B,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAC9D,KAAK;AACL;AACA;AACA,SAAS,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AACjC;AACA;AACA;AACA;AACA,SAAS,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACjE,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAC9D,KAAK;AACL;AACA;AACA,SAAS;AACT,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;AACvB,UAAU,GAAG,GAAG,EAAE,GAAG,EAAE;AACvB,UAAU,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AACvC,UAAU,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AACvC,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3F,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG;AACvB,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACxB;AACA;AACA,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE;AACvC,QAAQ,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAClE,OAAO;AACP;AACA,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACjJ,KAAK;AACL,GAAG;AACH,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;AACtC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACxC,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7B,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7B,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE;AACnB,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE;AACnB,QAAQ,EAAE,GAAG,CAAC,GAAG,GAAG;AACpB,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACrC;AACA;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;AACxD;AACA;AACA,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;AAC3B,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AACpC,KAAK;AACL;AACA;AACA,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE;AACrF,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AACpC,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO;AACnB;AACA;AACA,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;AACpC;AACA;AACA,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AACtK,KAAK;AACL;AACA;AACA,SAAS,IAAI,EAAE,GAAG,OAAO,EAAE;AAC3B,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACzJ,KAAK;AACL,GAAG;AACH,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC7B,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC/H,GAAG;AACH,EAAE,QAAQ,EAAE,WAAW;AACvB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC;AAClB,GAAG;AACH,CAAC;;AC/Hc,iBAAQ,CAAC,CAAC,EAAE;AAC3B,EAAE,OAAO,SAAS,QAAQ,GAAG;AAC7B,IAAI,OAAO,CAAC,CAAC;AACb,GAAG,CAAC;AACJ;;ACJA,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,EAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC1B,CAAC;AACD;AACA,MAAM,CAAC,SAAS,GAAG;AACnB,EAAE,SAAS,EAAE,WAAW;AACxB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,EAAE,WAAW;AACtB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACrB,GAAG;AACH,EAAE,SAAS,EAAE,WAAW;AACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpB,GAAG;AACH,EAAE,OAAO,EAAE,WAAW;AACtB,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;AACzF,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAChC,GAAG;AACH,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACxB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnB,IAAI,QAAQ,IAAI,CAAC,MAAM;AACvB,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;AAC3G,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,MAAM,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;AACjD,KAAK;AACL,GAAG;AACH,CAAC,CAAC;AACF;AACe,oBAAQ,CAAC,OAAO,EAAE;AACjC,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7B;;AC9BO,SAAS,CAAC,CAAC,CAAC,EAAE;AACrB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC;AACD;AACO,SAAS,CAAC,CAAC,CAAC,EAAE;AACrB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACd;;ACDe,eAAQ,GAAG;AAC1B,EAAE,IAAI7B,GAAC,GAAG8B,CAAM;AAChB,MAAMC,GAAC,GAAGC,CAAM;AAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B,MAAM,OAAO,GAAG,IAAI;AACpB,MAAM,KAAK,GAAG,WAAW;AACzB,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB;AACA,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;AACtB,IAAI,IAAI,CAAC;AACT,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM;AACvB,QAAQ,CAAC;AACT,QAAQ,QAAQ,GAAG,KAAK;AACxB,QAAQ,MAAM,CAAC;AACf;AACA,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;AACzD;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;AAC7B,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE;AAClE,QAAQ,IAAI,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;AACrD,aAAa,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9B,OAAO;AACP,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAChC,GAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC+B,GAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACjE,KAAK;AACL;AACA,IAAI,IAAI,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC;AAC1D,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;AACvB,IAAI,OAAO,SAAS,CAAC,MAAM,IAAI/B,GAAC,GAAG,OAAO,CAAC,KAAK,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAIA,GAAC,CAAC;AACzF,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;AACvB,IAAI,OAAO,SAAS,CAAC,MAAM,IAAI+B,GAAC,GAAG,OAAO,CAAC,KAAK,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAIA,GAAC,CAAC;AACzF,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE;AAC7B,IAAI,OAAO,SAAS,CAAC,MAAM,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;AACtG,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE;AAC3B,IAAI,OAAO,SAAS,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,KAAK,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC;AACtG,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE;AAC7B,IAAI,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;AAClH,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;ACtDO,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;AAClC,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;AAC7B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;AACrC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;AACrC,GAAG,CAAC;AACJ,CAAC;AACD;AACO,SAAS,KAAK,CAAC,OAAO,EAAE;AAC/B,EAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC1B,CAAC;AACD;AACA,KAAK,CAAC,SAAS,GAAG;AAClB,EAAE,SAAS,EAAE,WAAW;AACxB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,EAAE,WAAW;AACtB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACrB,GAAG;AACH,EAAE,SAAS,EAAE,WAAW;AACxB,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;AACvB,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpB,GAAG;AACH,EAAE,OAAO,EAAE,WAAW;AACtB,IAAI,QAAQ,IAAI,CAAC,MAAM;AACvB,MAAM,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC9D,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;AACzF,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAChC,GAAG;AACH,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACxB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnB,IAAI,QAAQ,IAAI,CAAC,MAAM;AACvB,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;AAC3G,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;AACrC,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAClH,MAAM,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;AACxC,KAAK;AACL,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACtC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACtC,GAAG;AACH,CAAC,CAAC;AACF;AACe,qBAAQ,CAAC,OAAO,EAAE;AACjC,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B;;AC7CA,IAAM,IAAI,GAAG,MAAM,EAAS;KACvB,CAAC,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,CAAC,CAAC,CAAC,CAAC,CAAJ,EAAI,CAAC;KACZ,CAAC,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,CAAC,CAAC,CAAC,CAAC,CAAJ,EAAI,CAAC;KACZ,KAAK,CAAC,YAAY,CAAC,CACnB;AAEL,SAAS,OAAO,CAAC,MAAe,EAAE,UAAkB,EAAA;AAChD,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,EAAE;AACnC,QAAA,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1C,QAAA,IAAI,IAAI,EAAE;YACN,IAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,CAAC;YACvE,IAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,CAAC;AACvE,YAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC;AAUM,IAAM,IAAI,GAAkC,UAAC,EAKnD,EAAA;QAJG,EAAW,GAAA,EAAA,CAAA,MAAA,EAAX,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACX,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACf,cAAgB,EAAhB,MAAM,mBAAG,OAAO,GAAA,EAAA,EAChB,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA;AAEf,IAAA,IAAM,CAAC,GAAGE,CAAa,CAAC,YAAA;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7C,KAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACzB,OAAOC,GAAA,CAAA,MAAA,EAAA,EAAM,MAAM,EAAE,MAAM,EAAA,kBAAA,EAAoB,eAAe,EAAE,CAAC,EAAE,CAAC,EAAA,CAAS,CAAC;AAClF;;AC7BO,IAAM,SAAS,GAAuC,UAAC,EAQ7D,EAAA;AAPG,IAAA,IAAA,CAAC,GAAA,EAAA,CAAA,CAAA,EACD,EAAK,GAAA,EAAA,CAAA,CAAA,EAAL,CAAC,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACL,cAAW,EAAX,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACX,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAA,GAAA,EAAA,CAAA,UAA0B,EAA1B,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,aAAa,GAAA,EAAA,EAC1B,EAAU,GAAA,EAAA,CAAA,IAAA,EAAV,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,GAAG,GAAA,EAAA,CAAA;AAGV,IAAA,IAAM,UAAU,GAAGD,CAAa,CAAC,YAAA;AAC7B,QAAA,OAAO,UAAU,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACtE,KAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvB,IAAA,OAAOC,GACH,CAAA,MAAA,EAAA,EAAA,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EAAA,aAAA,EACD,UAAU,EAAA,WAAA,EACZ,EAAG,CAAA,MAAA,CAAA,MAAM,OAAI,EACN,mBAAA,EAAA,QAAQ,EAC1B,KAAK,EAAC,gDAAgD,EACxD,EAAA,UAAU,CAAQ,CAAC;AACzB;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;AACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;AACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;AACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AAChC,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;AAC7C,QAAQ,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;AAClG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;AAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AACD;AACO,IAAI,QAAQ,GAAG,WAAW;AACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC;AACjB,MAAK;AACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,EAAC;AAaD;AACO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAKD;AACO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;AACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnI;;ACzDO,IAAM,MAAM,GAAoC,UAAC,EAMvD,EAAA;AALG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,MAAW,EAAX,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACX,EAAa,GAAA,EAAA,CAAA,IAAA,EAAb,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,GAAA,EAAA,EACb,EAAA,GAAA,EAAA,CAAA,MAAa,EAAb,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,EACb,EAAe,GAAA,EAAA,CAAA,WAAA,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACf,cAAc,GAAA,EAAA,CAAA,cAAA,CAAA;AACZ,IAAA,OAAAA,gBACE,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EAAA,cAAA,EACA,WAAW,EAAA,iBAAA,EACR,cAAc,EACjC,CAAA,CAAA;AANA,EAMC;AAWA,IAAM,MAAM,GAAoC,UAAC,EAOvD,EAAA;AANG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,MAAW,EAAX,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACX,EAAgB,GAAA,EAAA,CAAA,YAAA,EAAhB,YAAY,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAChB,EAAc,GAAA,EAAA,CAAA,IAAA,EAAd,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,OAAO,GAAA,EAAA,EACd,MAAM,YAAA,EACN,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACf,cAAc,GAAA,EAAA,CAAA,cAAA,CAAA;IACZ,OAAAA,GAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAE,CAAC,MAAM,EACV,CAAC,EAAE,CAAC,MAAM,EACV,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,GAAG,CAAC,EACjB,MAAM,EAAE,MAAM,GAAG,CAAC,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,IAAI,IAAI,kBACR,WAAW,EAAA,iBAAA,EACR,cAAc,EACjC,CAAA,CAAA;AAXA,EAWC;AAYA,IAAM,SAAS,GAAuC,UAAC,EAQ7D,EAAA;AAPG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,KAAU,EAAV,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACV,cAAW,EAAX,MAAM,mBAAG,EAAE,GAAA,EAAA,EACX,EAAgB,GAAA,EAAA,CAAA,YAAA,EAAhB,YAAY,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,IAAc,EAAd,IAAI,mBAAG,OAAO,GAAA,EAAA,EACd,EAAgB,GAAA,EAAA,CAAA,MAAA,EAAhB,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACf,cAAc,GAAA,EAAA,CAAA,cAAA,CAAA;IAEd,OAAOA,GAAA,CAAA,MAAA,EAAA,EACH,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EACb,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EACd,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,IAAI,IAAI,kBACR,WAAW,EAAA,iBAAA,EACR,cAAc,EAAA,CACjC,CAAC;AACP,EAAE;AAaK,IAAM,KAAK,GAAmC,UAAC,EASrD,EAAA;AARG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,KAAgB,EAAhB,KAAK,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,QAAQ,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,MAAY,EAAZ,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,GAAA,EAAA,EACZ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,mBAAe,EAAf,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,EACf,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;AAEZ,IAAA,QAAQ,KAAK;AACT,QAAA,KAAK,QAAQ;AACT,YAAA,OAAOA,GAAC,CAAA,MAAM,EACV,EAAA,MAAM,EAAE,MAAM,GAAG,CAAC,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GAC5B,CAAC;AACP,QAAA,KAAK,WAAW;AACZ,YAAA,OAAOA,IAAC,SAAS,EAAA,EACb,KAAK,EAAE,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GAC5B,CAAC;AACP,QAAA,KAAK,QAAQ,CAAC;AACd,QAAA;YACI,OAAOA,GAAA,CAAC,MAAM,EAAA,EACV,MAAM,EAAE,MAAM,GAAG,CAAC,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAAA,CAChC,CAAC;AACV,KAAA;AACL;;ACnHO,IAAM,IAAI,GAAkC,UAAC,EAenD,EAAA;AAdG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,KAAgB,EAAhB,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,QAAQ,GAAA,EAAA,EAChB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAA,GAAA,EAAA,CAAA,MAAW,EAAX,MAAM,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACX,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAe,GAAA,EAAA,CAAA,WAAA,EAAf,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,EACf,EAAA,GAAA,EAAA,CAAA,eAA+B,EAA/B,eAAe,mBAAG,aAAa,GAAA,EAAA,EAC/B,EAAe,GAAA,EAAA,CAAA,SAAA,EAAf,SAAS,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,GAAA,EAAA,EACf,qBAAuC,EAAvC,aAAa,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAA,EACvC,EAAA,GAAA,EAAA,CAAA,OAAoB,EAApB,OAAO,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,GAAG,CAAC,GAAA,EAAA,EACpB,eAAW,EAAX,OAAO,mBAAG,CAAC,GAAA,EAAA,EACX,EAAW,GAAA,EAAA,CAAA,OAAA,EAAX,OAAO,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACX,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,cAAc,GAAA,EAAA,CAAA,cAAA,CAAA;IAEd,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA;AACH,QAAAD,GAAA,CAAC,KAAK,EAAA,EACF,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC5B,CAAA;AACF,QAAAA,GAAA,CAAC,SAAS,EAAA,EACN,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,MAAM,EAAE,MAAM,GAAG,OAAO,EACxB,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,aAAa,EAAA,aAAA,EACN,GAAG,EAAA,CACP,CACd,CAAC;AACR,EAAE;AAUK,IAAM,KAAK,GAAmC,UAAC,EAErD,EAAA;AADG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,KAAU,EAAV,KAAK,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,CAAA;AAEV,IAAA,IAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,UAAA,GAAG,EAAA;QAChC,OAAOA,GAAA,CAAA,GAAA,EAAA,EACC,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,EAAE,EAAE,GAAG,CAAC,EAAE,EAAA;AAEV,YAAAA,GAAA,CAAC,IAAI,EAAA,QAAA,CAAA,EAAA,EACG,GAAG,CAAA,CACT,CACF,CAAC;AACb,KAAC,CAAC,CAAC;IACH,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA,EAAG,cAAc,CAAI,CAAC;AACjC;;AChFM,SAAU,MAAM,CAAI,CAA6B,EAAE,KAAkB,EAAE,MAA0D,EAAE,WAA4B,EAAA;AACjK,IAAAC,CAAY,CAACC,GAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAKK,SAAU,SAAS,CAAI,CAA6B,EAAE,KAAkB,EAAE,MAA0D,EAAE,WAA4B,EAAA;IACpKD,CAAY,CAACC,GAAO,CAAC,KAAK,EAAE,IAAI,EAAEA,GAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED,IAAA,WAAA,kBAAA,UAAA,MAAA,EAAA;IAAoC,SAAU,CAAA,WAAA,EAAA,MAAA,CAAA,CAAA;AAoB1C,IAAA,SAAA,WAAA,CAA+B,UAAsC,EAAA;AAArE,QAAA,IAAA,KAAA,GACI,iBAAO,IACV,IAAA,CAAA;QAF8B,KAAU,CAAA,UAAA,GAAV,UAAU,CAA4B;QAjB3D,KAAM,CAAA,MAAA,GAAM,EAAO,CAAC;;KAmB7B;IAhBD,WAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,CAAc,EAAA;QAChB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAQ,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,IAAI,CAAC,MAAM,CAAA,EAAK,CAAC,CAAE,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf,CAAA;AAID,IAAA,WAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UAAwB,CAAI,EAAE,KAAY,EAAA;AACtC,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACf,CAAA;AAMD,IAAA,WAAA,CAAA,SAAA,CAAA,MAAM,GAAN,UAAO,OAAO,EAAE,OAAO,EAAA;AACnB,QAAA,MAAA,CAAA,SAAA,CAAM,MAAM,CAAC,IAAA,CAAA,IAAA,EAAA,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjD,CAAA;AAzBD,IAAA,UAAA,CAAA;AAAC,QAAA,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC;;AACN,KAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAyBlC,OAAC,WAAA,CAAA;CAAA,CA5BmC,UAAU,CA4B7C,EAAA;AAED,IAAA,UAAA,kBAAA,UAAA,MAAA,EAAA;IAAmC,SAAS,CAAA,UAAA,EAAA,MAAA,CAAA,CAAA;AAoBxC,IAAA,SAAA,UAAA,CAA+B,UAAsC,EAAA;AAArE,QAAA,IAAA,KAAA,GACI,iBAAO,IACV,IAAA,CAAA;QAF8B,KAAU,CAAA,UAAA,GAAV,UAAU,CAA4B;QAjB3D,KAAM,CAAA,MAAA,GAAM,EAAO,CAAC;;KAmB7B;IAhBD,UAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,CAAc,EAAA;QAChB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAQ,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,IAAI,CAAC,MAAM,CAAA,EAAK,CAAC,CAAE,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACf,CAAA;AAID,IAAA,UAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UAAwB,CAAI,EAAE,KAAY,EAAA;AACtC,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACf,CAAA;AAMD,IAAA,UAAA,CAAA,SAAA,CAAA,MAAM,GAAN,UAAO,OAAO,EAAE,OAAO,EAAA;AACnB,QAAA,MAAA,CAAA,SAAA,CAAM,MAAM,CAAC,IAAA,CAAA,IAAA,EAAA,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjD,CAAA;AAzBD,IAAA,UAAA,CAAA;AAAC,QAAA,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC;;AACN,KAAA,EAAA,UAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAyBlC,OAAC,UAAA,CAAA;CAAA,CA5BkC,SAAS,CA4B3C;;AC1DM,IAAM,QAAQ,GAAsC,UAAC,EAO3D,EAAA;AANG,IAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,EAAW,GAAA,EAAA,CAAA,MAAA,EAAX,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACX,cAAiB,EAAjB,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,QAAQ,KAAA,EACjB,EAAA,GAAA,EAAA,CAAA,QAAmB,EAAnB,QAAQ,mBAAG,QAAQ,GAAA,EAAA,EACnB,EAAA,GAAA,EAAA,CAAA,UAAsB,EAAtB,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,EACtB,EAAc,GAAA,EAAA,CAAA,IAAA,EAAd,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,OAAO,GAAA,EAAA,CAAA;AAEd,IAAA,OAAOH,6BACU,UAAU,EAAA,WAAA,EACZ,EAAG,CAAA,MAAA,CAAA,MAAM,OAAI,EACX,aAAA,EAAA,MAAM,EACA,mBAAA,EAAA,QAAQ,EAC3B,IAAI,EAAE,IAAI,EACZ,EAAA,IAAI,CAAQ,CAAC;AACnB,EAAE;AAUK,IAAM,IAAI,GAAkC,UAAC,EAMnD,EAAA;QALG,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,EAAA,GAAA,EAAA,CAAA,MAAW,EAAX,MAAM,mBAAG,EAAE,GAAA,EAAA,EACX,EAAA,GAAA,EAAA,CAAA,UAAsB,EAAtB,UAAU,mBAAG,SAAS,GAAA,EAAA,EACtB,EAAA,GAAA,EAAA,CAAA,IAAc,EAAd,IAAI,mBAAG,OAAO,GAAA,EAAA,EACd,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;AAEN,IAAA,IAAA,EAAoC,GAAAI,CAAc,CAAC,CAAC,CAAC,EAApD,UAAU,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,mBAAmB,QAAqB,CAAC;AACtD,IAAA,IAAA,EAAsC,GAAAA,CAAc,CAAC,CAAC,CAAC,EAAtD,WAAW,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,oBAAoB,QAAqB,CAAC;IAE9DC,CAAe,CAAC,YAAA;AACZ,QAAA,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;KAC5E,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAE5C,IAAA,IAAM,KAAK,GAAGN,CAAa,CAAC,YAAA;AACxB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAEX,IAAA,IAAM,EAAE,GAAGA,CAAa,CAAC,YAAA;QACrB,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;KACtD,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAEhC,IAAA,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9B,IAAA,oBAAoB,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtD,IAAA,IAAM,OAAO,GAAG,EAAE,WAAW,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AAClD,IAAA,IAAM,SAAS,GAAGA,CAAa,CAAC,YAAA;AAC5B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,EAAA;AAClB,YAAA,OAAOC,WAAG,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,cAAA,CAAA,MAAA,CAAe,OAAO,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAG,GAAA,CAAA,EAAA;AACrE,gBAAAA,GAAA,CAAC,QAAQ,EACL,EAAA,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EAAA,CACZ,CACF,CAAC;AACT,SAAC,CAAC,CAAC;AACP,KAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA,EAAG,SAAS,CAAI,CAAC;AAC5B,EAAE;AAgBK,IAAM,OAAO,GAAqC,UAAC,EAWzD,EAAA;QAVG,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,EAAA,GAAA,EAAA,CAAA,MAAW,EAAX,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACX,EAAsB,GAAA,EAAA,CAAA,UAAA,EAAtB,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,EACtB,EAAA,GAAA,EAAA,CAAA,OAAW,EAAX,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACX,EAAmB,GAAA,EAAA,CAAA,IAAA,EAAnB,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,YAAY,GAAA,EAAA,EACnB,EAAA,GAAA,EAAA,CAAA,MAAoB,EAApB,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,WAAW,GAAA,EAAA,EACpB,EAAkB,GAAA,EAAA,CAAA,QAAA,EAAlB,QAAQ,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,OAAO,GAAA,EAAA,EAClB,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACf,EAAgB,GAAA,EAAA,CAAA,YAAA,EAAhB,YAAY,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAChB,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;AAEN,IAAA,IAAA,EAAkC,GAAAG,CAAc,CAAC,CAAC,CAAC,EAAlD,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,kBAAkB,QAAqB,CAAC;AACpD,IAAA,IAAA,EAAoC,GAAAA,CAAc,CAAC,CAAC,CAAC,EAApD,UAAU,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,mBAAmB,QAAqB,CAAC;IAE5DC,CAAe,CAAC,YAAA;AACZ,QAAA,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;KAC1E,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAE1C,IAAA,IAAM,gBAAgB,GAAGC,CAAiB,CAAC,UAAA,IAAI,EAAA;AAC3C,QAAA,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;IAChD,IAAMC,GAAC,GAAG,UAAU,GAAG,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;IACjD,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAE5C,OAAOP,GAAA,CAAAC,GAAA,EAAA,IAAA;QACHD,GAAC,CAAA,SAAS,EACN,EAAA,KAAK,EAAE,CAAC,EACR,MAAM,EAAEO,GAAC,EACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC5B,CAAA;AACF,QAAAP,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,cAAe,CAAA,MAAA,CAAA,WAAW,EAAG,GAAA,CAAA,EAAA;YACvCA,GAAC,CAAA,IAAI,EACD,EAAA,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,gBAAgB,EAAA,CAChC,CACF,CACL,CAAC;AACR,EAAE;AAaK,IAAM,YAAY,GAA0C,UAAC,EAanE,EAAA;AAZG,IAAA,IAAA,IAAI,UAAA,CACJ,CAAA,EAAA,GAAA,EAAA,CAAA,MAAW,CAAX,CAAA,MAAM,mBAAG,EAAE,GAAA,EAAA,CACX,CAAA,EAAA,GAAA,EAAA,CAAA,KAAU,EAAV,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA,CACV,kBAAsB,CAAtB,CAAA,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,KAAA,CACtB,CAAA,EAAA,GAAA,EAAA,CAAA,QAAa,CAAb,CAAA,QAAQ,mBAAG,EAAE,GAAA,EAAA,CACb,CAAA,EAAA,GAAA,EAAA,CAAA,OAAW,EAAX,OAAO,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA,CACX,YAAmB,CAAnB,CAAA,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,YAAY,KAAA,CACnB,CAAA,EAAA,GAAA,EAAA,CAAA,MAAoB,CAApB,CAAA,MAAM,mBAAG,WAAW,GAAA,EAAA,CACpB,CAAA,EAAA,GAAA,EAAA,CAAA,QAAkB,EAAlB,QAAQ,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,OAAO,GAAA,EAAA,CAAA,CAClB,mBAAe,CAAf,CAAA,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,CACf,CAAA,EAAA,GAAA,EAAA,CAAA,YAAgB,CAAhB,CAAA,YAAY,mBAAG,CAAC,GAAA,EAAA,CAChB,CAAA,EAAA,CAAA,YAA+D,CAAA;IAE/D,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA;QACHD,GAAC,CAAA,SAAS,EACN,EAAA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC5B,CAAA;QACFA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,EAAG,GAAA,CAAA,EAAA;AAC3E,YAAAA,GAAA,CAAC,QAAQ,EAAA,EACL,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAC,OAAO,EACd,QAAQ,EAAC,SAAS,EAAA,CACpB,CACF,CACL,CAAC;AACR,EAAE;AAEK,IAAM,gBAAgB,GAA8C,UAAC,EAe3E,EAAA;AAdG,IAAA,IAAA,IAAI,UAAA,CACJ,CAAA,cAAc,oBAAA,CACd,CAAA,IAAI,UAAA,CACJ,CAAA,EAAA,GAAA,EAAA,CAAA,MAAW,CAAX,CAAA,MAAM,mBAAG,EAAE,GAAA,EAAA,EACX,EAAU,GAAA,EAAA,CAAA,KAAA,CAAA,CAAV,KAAK,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,CAAA,CACV,kBAAsB,CAAtB,CAAA,UAAU,mBAAG,SAAS,GAAA,EAAA,EACtB,EAAa,GAAA,EAAA,CAAA,QAAA,CAAA,CAAb,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,CACb,CAAA,EAAA,GAAA,EAAA,CAAA,OAAW,EAAX,OAAO,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA,CACX,EAAmB,GAAA,EAAA,CAAA,IAAA,CAAA,CAAnB,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,YAAY,KAAA,CACnB,CAAA,EAAA,GAAA,EAAA,CAAA,MAAoB,EAApB,MAAM,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,WAAW,GAAA,EAAA,EACpB,EAAkB,GAAA,EAAA,CAAA,QAAA,CAAA,CAAlB,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,KAAA,CAClB,CAAA,EAAA,GAAA,EAAA,CAAA,WAAe,CAAf,CAAA,WAAW,mBAAG,CAAC,GAAA,EAAA,EACf,EAAgB,GAAA,EAAA,CAAA,YAAA,CAAA,CAAhB,YAAY,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,CAChB,CAAA,EAAA,CAAA,YAA+D,CAAA;IAE/D,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA;QACHD,GAAC,CAAA,SAAS,EACN,EAAA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC5B,CAAA;QACFA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,EAAG,GAAA,CAAA,EAAA;YAC3EA,GAAC,CAAA,IAAI,EACD,EAAA,KAAK,EAAC,QAAQ,EACd,eAAe,EAAE,cAAc,EAC/B,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,QAAQ,EAAA,CACzB,CACF;QACJA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,EAAG,GAAA,CAAA,EAAA;AAC1F,YAAAA,GAAA,CAAC,QAAQ,EAAA,EACL,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAC,OAAO,EACd,QAAQ,EAAC,SAAS,EAAA,CACpB,CACF,CACL,CAAC;AACR;;AClOO,IAAM,WAAW,GAAyC,UAAC,EAKjE,EAAA;AAJG,IAAA,IAAA,CAAC,OAAA,EACD,CAAC,OAAA,EACD,EAAA,GAAA,EAAA,CAAA,aAAkB,EAAlB,aAAa,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EAClB,EAAc,GAAA,EAAA,CAAA,QAAA,EAAd,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,EAAE,GAAA,EAAA,CAAA;IAEd,IAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,CAAC,EAAA,EAAK,OAAAA,GAAA,CAAA,GAAA,EAAA,EAChD,GAAG,EAAE,EAAE,EACP,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,CAAC,EAAG,GAAA,CAAA,EAAA;QAEhDA,GACI,CAAA,KAAA,EAAA,EAAA,IAAI,EAAE,GAAG,GAAG,EAAE,GAChB,CACF,CAAA,EAAA,CACH,CAAC;IACF,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA,EAAG,cAAc,CAAI,CAAC;AACjC,EAAE;AAqBK,IAAM,MAAM,GAAyC,UAAC,EAe5D,EAAA;AAdG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACf,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,mBAAG,EAAE,GAAA,EAAA,EACT,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACf,EAAe,GAAA,EAAA,CAAA,WAAA,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACf,EAAS,GAAA,EAAA,CAAA,IAAA,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACT,yBAAsB,EAAtB,iBAAiB,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACtB,EAAA,GAAA,EAAA,CAAA,aAAkB,EAAlB,aAAa,mBAAG,EAAE,GAAA,EAAA,EAClB,QAAQ,cAAA,EACR,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,EAAA,GAAA,EAAA,CAAA,SAAgB,EAAhB,SAAS,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,IAAI,GAAA,EAAA,EAChB,EAAS,GAAA,EAAA,CAAA,KAAA,EAAT,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA;AAEH,IAAA,IAAA,EAAwC,GAAAG,CAAc,CAAC,CAAC,CAAC,EAAxD,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,qBAAqB,QAAqB,CAAC;AAC1D,IAAA,IAAA,EAA0C,GAAAA,CAAc,CAAC,CAAC,CAAC,EAA1D,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,sBAAsB,QAAqB,CAAC;IAElEC,CAAe,CAAC,YAAA;AACZ,QAAA,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;KACzD,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAEhD,IAAA,IAAI,GACA,QAAA,CAAA,EAAA,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,aAAa,EAChB,EAAA,IAAI,CACV,CAAC;IACF,IAAI,KAAK,GAAG,YAAY,CAAC;IACzB,KAAK,IAAI,CAAC,CAAC;AACX,IAAA,IAAI,OAAO,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAA,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,WAAW,CAAC;AACzE,IAAA,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,WAAW,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAC9F,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,QAAA,iBAAiB,IAAI,aAAa,GAAG,WAAW,CAAC;AACpD,KAAA;AAED,IAAA,IAAM,mBAAmB,GAAGC,CAAiB,CAAC,UAAA,IAAI,EAAA;AAC9C,QAAA,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,KAAK,GAAG,SAAS,GAAGN,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,cAAe,CAAA,MAAA,CAAA,cAAc,EAAG,GAAA,CAAA,EAAA;AACpE,QAAAA,GAAA,CAAC,OAAO,EACJ,EAAA,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,cAAc,EAC5B,CAAA,CACF,GAAG,SAAS,CAAC;IACjB,OAAO,UAAU;AACb,QAAAA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,cAAA,CAAA,MAAA,CAAe,OAAO,EAAA,UAAA,CAAA,CAAA,MAAA,CAAW,KAAK,EAAG,GAAA,CAAA,EAAA;AACnD,YAAAA,GAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAE,GAAG,GAAG,UAAU,EAAI,CAAA;YAC9B,KAAK;AACN,YAAAA,GAAA,CAAC,WAAW,EAAC,EAAA,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAI,CAAA,CACjF;AACJ,QAAAA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,cAAA,CAAA,MAAA,CAAe,OAAO,EAAA,UAAA,CAAA,CAAA,MAAA,CAAW,KAAK,EAAG,GAAA,CAAA,EAAA;YACnDA,GAAC,CAAA,IAAI,EAAK,QAAA,CAAA,EAAA,EAAA,IAAI,CAAI,CAAA;AACjB,YAAA,KAAK,CACN,CAAC;AACb;;AC5GO,IAAM,OAAO,GAAyC,UAAC,EAY7D,EAAA;AAXG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACf,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACT,kBAAe,EAAf,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACf,EAAe,GAAA,EAAA,CAAA,WAAA,EAAf,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACf,YAAS,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACT,EAAA,GAAA,EAAA,CAAA,QAAkB,EAAlB,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,GAAA,EAAA,EAClB,mBAAqB,EAArB,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,GAAA,EAAA,EACrB,EAAuB,GAAA,EAAA,CAAA,aAAA,EAAvB,aAAa,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,GAAA,EAAA,EACvB,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,EAAA,GAAA,EAAA,CAAA,iBAAsB,EAAtB,iBAAiB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACtB,EAAkB,GAAA,EAAA,CAAA,aAAA,EAAlB,aAAa,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA;IAElB,IAAI,GAAA,QAAA,CAAA,EACA,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,EAAA,EACZ,IAAI,CACV,CAAC;AACF,IAAA,IAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC;AAC3C,IAAA,IAAA,KAAK,GAAKD,CAAa,CAAC,YAAA;AAC5B,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;KACpE,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA,KAFzB,CAE0B;IAEvC,IAAM,QAAQ,GAAG,iBAAiB,CAAC;IACnC,IAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,IAAA,IAAM,iBAAiB,GAAG,aAAa,GAAG,CAAC,CAAC;IAE5C,IAAM,OAAO,GAAG,CAAC,CAAC;AAClB,IAAA,IAAM,OAAO,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAM,WAAW,GAAG,CAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,IAAM,WAAW,GAAG,CAAC,CAAC;AACtB,IAAA,IAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC;IAC5D,IAAM,cAAc,GAAG,iBAAiB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,IAAA,IAAM,iBAAiB,GAAG,QAAQ,GAAG,CAAC,CAAC;IACvC,IAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,OAAO,UAAU;AACb,QAAAC,GAAA,CAAA,GAAA,EAAA,EACI,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,OAAO,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,OAAO,EAAG,GAAA,CAAA,EAAA;AAE7C,YAAAA,GAAA,CAAA,GAAA,EAAA,EACI,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,WAAW,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,WAAW,EAAG,GAAA,CAAA,EAAA;AAErD,gBAAAA,GAAA,CAAA,KAAA,EAAA,EACI,IAAI,EAAE,GAAG,GAAG,UAAU,GACxB,CACF;AACJ,YAAAA,GAAA,CAAA,GAAA,EAAA,EACI,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,cAAc,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,cAAc,EAAG,GAAA,CAAA,EAAA;AAE3D,gBAAAA,GAAA,CAAC,OAAO,EAAA,EACJ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,cAAc,GAC5B,CACF;AACJ,YAAAA,GAAA,CAAC,WAAW,EACR,EAAA,CAAC,EAAE,iBAAiB,EACpB,CAAC,EAAE,iBAAiB,EACpB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GACpB,CACF;;AAEJ,YAAAA,GAAA,CAAAC,GAAA,EAAA,IAAA;AACI,gBAAAD,GAAA,CAAA,GAAA,EAAA,EACI,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,WAAW,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,WAAW,EAAgB,gBAAA,CAAA,EAAA;oBAElEA,GAAC,CAAA,IAAI,eACG,IAAI,EAAA,EACR,KAAK,EAAC,QAAQ,IAChB,CACF;AACJ,gBAAAA,GAAA,CAAA,GAAA,EAAA,EACI,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,cAAc,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,cAAc,EAAgB,gBAAA,CAAA,EAAA;oBAExEA,GAAC,CAAA,OAAO,EACJ,EAAA,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EAAA,CACnB,CACF,CACL,CAAC;AACZ;;ACpEO,IAAM,OAAO,GAAsC,UAAC,EAkB1D,EAAA;QAjBG,EAAS,GAAA,EAAA,CAAA,IAAA,EAAT,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACT,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACf,EAAe,GAAA,EAAA,CAAA,WAAA,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACf,EAAA,GAAA,EAAA,CAAA,QAAoB,EAApB,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,GAAA,EAAA,EACpB,mBAAqB,EAArB,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,OAAO,GAAA,EAAA,EACrB,qBAAyB,EAAzB,aAAa,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,GAAA,EAAA,EACzB,0BAAsB,EAAtB,kBAAkB,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACtB,EAA0B,GAAA,EAAA,CAAA,cAAA,EAA1B,cAAc,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,EAC1B,EAAA,GAAA,EAAA,CAAA,gBAAoB,EAApB,gBAAgB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,WAAgB,EAAhB,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EAChB,EAAA,GAAA,EAAA,CAAA,YAAgB,EAAhB,YAAY,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAChB,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACT,EAAY,GAAA,EAAA,CAAA,OAAA,EAAZ,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACZ,EAAgB,GAAA,EAAA,CAAA,SAAA,EAAhB,SAAS,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,EAChB,EAAiB,GAAA,EAAA,CAAA,aAAA,EAAjB,aAAa,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACjB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,EAAA,GAAA,EAAA,CAAA,KAAS,EAAT,KAAK,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,CAAA;IAET,IAAI,GAAA,QAAA,CAAA,EACA,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,GAAG,EACd,eAAe,EAAE,aAAa,EAC9B,aAAa,EAAE,SAAS,EACxB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,CAAC,EAAA,EACX,IAAI,CACV,CAAC;AACF,IAAA,OAAO,GACH,QAAA,CAAA,EAAA,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,SAAS,EAChB,EAAA,OAAO,CACb,CAAC;IACF,aAAa,GAAG,aAAa,cACzB,MAAM,EAAE,EAAE,EACV,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,CAAC,EACV,SAAS,EAAE,GAAG,EACd,eAAe,EAAE,aAAa,EAC9B,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,CAAC,EAAA,EACX,aAAa,CAClB,GAAE,SAAS,CAAC;IACd,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAE5B,IAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,IAAA,IAAM,UAAU,GAAGD,CAAa,CAAC,YAAA;AAC7B,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;KAC1E,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,IAAI,KAAK,EAAE,EAAE;AACb,QAAA,eAAe,GAAG,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;AAC/E,KAAA;AACD,IAAA,mBAAmB,IAAI,eAAe,GAAG,gBAAgB,CAAC;IAC1D,IAAM,WAAW,GAAG,mBAAmB,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;AAEhE,IAAA,IAAM,eAAe,GAAG,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAClF,IAAM,aAAa,GAAG,EAAE,CAAC;AACzB,IAAA,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG,EAAA;AAC1B,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAM,cAAc,GAAG,eAAe,CAAC;AACvC,QAAA,mBAAmB,IAAI,cAAc,GAAG,gBAAgB,CAAC;QACzD,IAAM,WAAW,GAAG,mBAAmB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAC/D,aAAa,CAAC,IAAI,CACdC,GAAG,CAAA,GAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,cAAc,EAAa,YAAA,EAAA,YAAY,EAAmB,iBAAA,EAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,WAAW,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,EAAG,GAAA,CAAA,EAAA;AACpJ,YAAAA,GAAA,CAAC,IAAI,EAAA,QAAA,CAAA,EAAA,EACG,IAAI,EAAA,EACR,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,CAAC,EAChB,CAAA,CAAA,CACF,CACP,CAAC;AACN,KAAC,CAAC,CAAC;AACH,IAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,mBAAmB,IAAI,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,KAAA;AACD,IAAA,IAAM,WAAW,GAAGA,GAAA,CAAA,GAAA,EAAA,EAAA,YAAA,EAAe,MAAM,EAAE,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,WAAW,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,WAAW,EAAG,GAAA,CAAA,EAAA,EAC3F,CAAC,SAAS,IAAI,IAAI,KAAK,EAAE,GAAGA,GAAA,CAAA,QAAA,EAAA,EAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAI,CAAA,GAAGA,GAAA,CAAC,OAAO,EAAA,EACvG,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,YAAY,EAAA,CAC5B,CACF,CAAC;AACL,IAAA,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACrC,IAAA,IAAM,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IAC9C,IAAM,WAAW,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAM,cAAc,GAAG,CAAC,CAAC;IACzB,IAAI,cAAc,GAAG,eAAe,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAE9D,IAAI,IAAI,KAAK,EAAE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,WAAW,GAAG,EAAG,UAAU,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;AACzG,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;AAC5B,QAAA,cAAc,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,eAAe,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;AAChF,KAAA;IAED,IAAM,cAAc,GAAG,OAAO,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,GAAGA,GAAe,CAAA,GAAA,EAAA,EAAA,YAAA,EAAA,SAAS,EACxE,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,cAAc,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,cAAc,EAAG,GAAA,CAAA,EAAA;QAE3DA,GAAC,CAAA,OAAO,aACJ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,EAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAClC,EAAA,OAAO,IACX,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,YAAY,EAC5B,CAAA,CAAA,CACF,CAAC;AAEL,IAAA,OAAOA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,QAAA,CAAA,MAAA,CAAS,KAAK,EAAG,GAAA,CAAA,EAAA;QAClCA,GAAe,CAAA,GAAA,EAAA,EAAA,YAAA,EAAA,MAAM,EAAE,SAAS,EAAE,oBAAa,WAAW,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,WAAW,EAAG,GAAA,CAAA,EAAA;YACxEA,GAAC,CAAA,IAAI,EAAK,QAAA,CAAA,EAAA,EAAA,IAAI,CAAI,CAAA;YACjB,aAAa;gBACVA,GAAe,CAAA,GAAA,EAAA,EAAA,YAAA,EAAA,eAAe,qBAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,EAAE,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAG,GAAA,CAAA,EAAA;AACxO,oBAAAA,GAAA,CAAC,IAAI,EAAA,QAAA,CAAA,EAAA,EAAK,aAAa,CAAA,CAAI,CAC3B,CAER;QACJA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,CAAC,mBAAmB,GAAG,CAAC,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,EAAG,GAAA,CAAA,EAAA;YAChE,WAAW;AACX,YAAA,aAAa,CACd;AACH,QAAA,cAAc,CACd,CAAC;AACV,EAAE;AAEK,IAAM,eAAe,GAAsC,UAAU,EAkB3E,EAAA;QAjBG,EAAE,GAAA,EAAA,CAAA,EAAA,EACF,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACf,EAAS,GAAA,EAAA,CAAA,IAAA,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACT,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACf,EAAgB,GAAA,EAAA,CAAA,WAAA,EAAhB,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,QAAoB,EAApB,QAAQ,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,WAAqB,EAArB,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,OAAO,GAAA,EAAA,EACrB,EAAA,GAAA,EAAA,CAAA,aAAyB,EAAzB,aAAa,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,EACzB,EAAA,GAAA,EAAA,CAAA,kBAAsB,EAAtB,kBAAkB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACtB,sBAA0B,EAA1B,cAAc,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,GAAA,EAAA,EAC1B,wBAAoB,EAApB,gBAAgB,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACpB,mBAAgB,EAAhB,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EAChB,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,YAAS,EAAT,IAAI,mBAAG,EAAE,GAAA,EAAA,EACT,EAAA,GAAA,EAAA,CAAA,OAAY,EAAZ,OAAO,mBAAG,EAAE,GAAA,EAAA,EACZ,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,aAAS,EAAT,KAAK,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,CAAA;AAET,IAAA,IAAI,cACA,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,EAAE,EACX,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,aAAa,EAC9B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,GAAG,EACd,WAAW,EAAE,CAAC,EACd,OAAO,EAAE,CAAC,EAAE,EACT,EAAA,IAAI,CACV,CAAC;AACF,IAAA,OAAO,GACH,QAAA,CAAA,EAAA,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,SAAS,EAChB,EAAA,OAAO,CACb,CAAC;AACF,IAAA,IAAM,KAAK,GAAG;AACV,QAAA,EAAE,EAAA,EAAA;AACF,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,QAAQ,EAAA,QAAA;AACR,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,kBAAkB,EAAA,kBAAA;AAClB,QAAA,cAAc,EAAA,cAAA;AACd,QAAA,gBAAgB,EAAA,gBAAA;AAChB,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,YAAY,EAAA,YAAA;AACZ,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;AACP,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,KAAK,EAAA,KAAA;KACR,CAAC;AACF,IAAA,OAAOA,GAAC,CAAA,OAAO,EACP,QAAA,CAAA,EAAA,EAAA,KAAK,EACT,EAAA,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,IAClB,CAAC;AACP;;AC1MO,IAAM,OAAO,GAAsC,UAAC,EAoC1D,EAAA;IAnCkB,EAAA,CAAA,UAAA,CAAA,KACf,EAAA,GAAA,EAAA,CAAA,IAAS,CAAT,CAAA,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,CACT,CAAA,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA,CACf,EAAe,GAAA,EAAA,CAAA,WAAA,CAAA,CAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA,CACf,gBAAoB,CAApB,CAAA,QAAQ,mBAAG,SAAS,GAAA,EAAA,CACpB,CAAA,EAAA,GAAA,EAAA,CAAA,WAAqB,CAArB,CAAA,WAAW,mBAAG,OAAO,GAAA,EAAA,EACrB,EAAyB,GAAA,EAAA,CAAA,aAAA,CAAA,CAAzB,aAAa,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,GAAA,EAAA,CAAA,CACzB,EAAsB,GAAA,EAAA,CAAA,kBAAA,CAAA,CAAtB,kBAAkB,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,CACtB,CAAA,EAAA,GAAA,EAAA,CAAA,cAA0B,EAA1B,cAAc,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,CAC1B,CAAA,EAAA,GAAA,EAAA,CAAA,gBAAoB,EAApB,gBAAgB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA,CACpB,mBAAgB,CAAhB,CAAA,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,CAAA,CAChB,uBAAoB,CAApB,CAAA,eAAe,mBAAG,EAAE,GAAA,EAAA,EACpB,EAAgB,GAAA,EAAA,CAAA,YAAA,CAAA,CAAhB,YAAY,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAChB,EAAS,GAAA,EAAA,CAAA,IAAA,CAAA,CAAT,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACT,EAAY,GAAA,EAAA,CAAA,OAAA,CAAA,CAAZ,OAAO,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACZ,EAAgB,GAAA,EAAA,CAAA,SAAA,CAAA,CAAhB,SAAS,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,KAAA,CAChB,CAAA,EAAA,GAAA,EAAA,CAAA,aAAiB,CAAjB,CAAA,aAAa,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,CAEjB,CAAA,EAAA,GAAA,EAAA,CAAA,eAAmB,EAAnB,eAAe,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA,CACnB,EAAwB,GAAA,EAAA,CAAA,eAAA,CAAA,CAAxB,eAAe,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,GAAA,EAAA,CAAA,CAExB,2BAA4B,CAA5B,CAAA,mBAAmB,mBAAG,MAAM,GAAA,EAAA,CAE5B,CAAA,EAAA,GAAA,EAAA,CAAA,aAAsB,CAAtB,CAAA,aAAa,mBAAG,MAAM,GAAA,EAAA,CACtB,CAAA,EAAA,GAAA,EAAA,CAAA,YAAiB,CAAjB,CAAA,YAAY,mBAAG,EAAE,GAAA,EAAA,CACjB,CAAA,EAAA,GAAA,EAAA,CAAA,cAA8B,CAA9B,CAAA,cAAc,mBAAG,aAAa,GAAA,EAAA,EAE9B,EAAgB,GAAA,EAAA,CAAA,YAAA,CAAA,CAAhB,YAAY,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,CAAA,CAChB,EAAgB,GAAA,EAAA,CAAA,YAAA,CAAA,CAAhB,YAAY,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,CAChB,CAAA,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CACf,CAAA,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAA,CAEf,mBAAe,CAAf,CAAA,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,CAAA,CACf,gBAAc,CAAd,CAAA,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,GAAA,EAAA,CAAA,CACd,sBAAuB,CAAvB,CAAA,cAAc,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,MAAM,GAAA,GAAA;IAEvB,IAAI,GAAA,QAAA,CAAA,EACA,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,GAAG,EACd,eAAe,EAAE,aAAa,EAC9B,aAAa,EAAE,SAAS,EACxB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,CAAC,EAAA,EACX,IAAI,CACV,CAAC;AACF,IAAA,OAAO,GACH,QAAA,CAAA,EAAA,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,SAAS,EAChB,EAAA,OAAO,CACb,CAAC;IAEF,IAAM,WAAW,GAAG,CAAC,CAAC;AACtB,IAAA,IAAM,UAAU,GAAGD,CAAa,CAAC,YAAA;AAC7B,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;KAC1E,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,IAAI,KAAK,EAAE,EAAE;AACb,QAAA,eAAe,GAAG,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;AAC/E,KAAA;AACD,IAAA,IAAI,mBAAmB,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAC7D,IAAM,WAAW,GAAG,mBAAmB,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;AAEhE,IAAA,IAAM,eAAe,GAAG,UAAU,IAAI,gBAAgB,GAAG,CAAC,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;IACvF,IAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC,EAAA;QACzC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;AAC5F,KAAC,CAAC,CAAC;IACH,IAAM,aAAa,GAAG,EAAE,CAAC;IACzB,IAAI,iBAAiB,GAAG,mBAAmB,CAAC;AAC5C,IAAA,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC,EAAA;;AACxB,QAAA,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAM,cAAc,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,eAAe,CAAC;AACtD,QAAA,iBAAiB,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;AACxD,QAAA,IAAM,WAAW,GAAG,iBAAiB,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,aAAa,CAAC,IAAI,CACdC,GAAG,CAAA,GAAA,EAAA,EAAA,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,cAAc,EAAa,YAAA,EAAA,YAAY,EAAmB,iBAAA,EAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,WAAW,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,EAAG,GAAA,CAAA,EAAA;AAClJ,YAAAA,GAAA,CAAC,IAAI,EACG,QAAA,CAAA,EAAA,EAAA,IAAI,EACR,EAAA,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,CAAC,EAChB,CAAA,CAAA,CACF,CACP,CAAC;AACN,KAAC,CAAC,CAAC;AAEH,IAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,mBAAmB,IAAI,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,KAAA;IACD,IAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,IAAA,eAAe,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC,EAAA;;AAC5B,QAAA,IAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5B,QAAA,IAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5B,iBAAiB,CAAC,IAAI,CAClBA,GAAG,CAAA,GAAA,EAAA,EAAA,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,kBAAkB,EAAa,YAAA,EAAA,iBAAiB,EAAmB,iBAAA,EAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,CAAC,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,CAAC,EAAG,GAAA,CAAA,EAAA;AACvI,YAAAA,GAAA,CAAC,IAAI,EACG,QAAA,CAAA,EAAA,EAAA,IAAI,IACR,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,QAAQ,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC/B,CAAA,CAAA,CACF,CACP,CAAC;AACN,KAAC,CAAC,CAAC;AAEH,IAAA,IAAM,WAAW,GAAGA,GAAA,CAAA,GAAA,EAAA,EAAA,YAAA,EAAe,MAAM,EAAE,SAAS,EAAE,YAAA,CAAA,MAAA,CAAa,WAAW,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,WAAW,EAAG,GAAA,CAAA,EAAA,EAC3F,CAAC,SAAS,IAAI,IAAI,KAAK,EAAE,GAAGA,GAAA,CAAA,QAAA,EAAA,EAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAI,CAAA,GAAGA,GAAA,CAAC,OAAO,EAAA,EACvG,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,YAAY,EAAA,CAC5B,CACF,CAAC;IAEL,IAAM,cAAc,GAAG,CAAC,CAAC;IACzB,IAAM,cAAc,GAAG,eAAe,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAEhE,IAAM,cAAc,GAAG,OAAO,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,GAAGA,GAAe,CAAA,GAAA,EAAA,EAAA,YAAA,EAAA,SAAS,EACxE,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,cAAc,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,cAAc,EAAG,GAAA,CAAA,EAAA;QAE3DA,GAAC,CAAA,OAAO,aACJ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,EAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAClC,EAAA,OAAO,IACX,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,EACd,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,YAAY,EAC5B,CAAA,CAAA,CACF,CAAC;IACL,OAAOA,GAAA,CAAA,GAAA,EAAA,IAAA;QACHA,GAAe,CAAA,GAAA,EAAA,EAAA,YAAA,EAAA,MAAM,EACjB,SAAS,EAAE,oBAAa,YAAY,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,YAAY,EAAG,GAAA,CAAA,EAAA;YAEvDA,GAAC,CAAA,IAAI,EACG,QAAA,CAAA,EAAA,EAAA,IAAI,EACR,EAAA,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,cAAc,EAC/B,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAChC,CAAA,CAAA;AACD,YAAA,iBAAiB,CAClB;QACJA,GACI,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,CAAC,mBAAmB,GAAG,CAAC,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,EAAG,GAAA,CAAA,EAAA;YAEjE,WAAW;AACX,YAAA,aAAa,CACd;AACH,QAAA,cAAc,CACf,CACC;AACT,EAAE;AAEK,IAAM,eAAe,GAAsC,UAAU,EAqC3E,EAAA;QApCG,EAAE,GAAA,EAAA,CAAA,EAAA,EACF,EAAe,GAAA,EAAA,CAAA,UAAA,EAAf,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACf,EAAS,GAAA,EAAA,CAAA,IAAA,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,KAAA,EACT,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACf,EAAA,GAAA,EAAA,CAAA,WAAgB,EAAhB,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EAChB,gBAAoB,EAApB,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,GAAA,EAAA,EACpB,mBAAqB,EAArB,WAAW,mBAAG,OAAO,GAAA,EAAA,EACrB,EAAyB,GAAA,EAAA,CAAA,aAAA,EAAzB,aAAa,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAS,GAAA,EAAA,EACzB,EAAsB,GAAA,EAAA,CAAA,kBAAA,EAAtB,kBAAkB,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,EACtB,EAAA,GAAA,EAAA,CAAA,cAA0B,EAA1B,cAAc,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,KAAA,EAC1B,EAAA,GAAA,EAAA,CAAA,gBAAoB,EAApB,gBAAgB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACpB,EAAgB,GAAA,EAAA,CAAA,WAAA,EAAhB,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EAChB,uBAAoB,EAApB,eAAe,mBAAG,EAAE,GAAA,EAAA,EACpB,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,YAAS,EAAT,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACT,eAAY,EAAZ,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,EAAE,GAAA,EAAA,EACZ,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,GAAA,EAAA,EAChB,EAAiB,GAAA,EAAA,CAAA,aAAA,EAAjB,aAAa,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAEjB,EAAmB,GAAA,EAAA,CAAA,eAAA,EAAnB,eAAe,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,EACnB,EAAA,GAAA,EAAA,CAAA,eAAwB,EAAxB,eAAe,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,MAAM,KAAA,EAExB,EAAA,GAAA,EAAA,CAAA,mBAA4B,EAA5B,mBAAmB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,GAAA,EAAA,EAE5B,EAAsB,GAAA,EAAA,CAAA,aAAA,EAAtB,aAAa,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,GAAA,EAAA,EACtB,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,GAAA,EAAA,EACjB,EAAA,GAAA,EAAA,CAAA,cAA8B,EAA9B,cAAc,mBAAG,aAAa,GAAA,EAAA,EAE9B,EAAgB,GAAA,EAAA,CAAA,YAAA,EAAhB,YAAY,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EAChB,EAAgB,GAAA,EAAA,CAAA,YAAA,EAAhB,YAAY,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACf,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAEf,mBAAe,EAAf,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,CAAC,GAAA,EAAA,EACf,gBAAc,EAAd,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,GAAA,EAAA,EACd,sBAAuB,EAAvB,cAAc,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,MAAM,GAAA,EAAA,CAAA;AAEvB,IAAA,IAAI,cACA,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,EAAE,EACX,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,aAAa,EAC9B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,GAAG,EACd,WAAW,EAAE,CAAC,EACd,OAAO,EAAE,CAAC,EAAE,EACT,EAAA,IAAI,CACV,CAAC;AACF,IAAA,OAAO,GACH,QAAA,CAAA,EAAA,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,SAAS,EAChB,EAAA,OAAO,CACb,CAAC;AACF,IAAA,IAAM,KAAK,GAAG;AACV,QAAA,EAAE,EAAA,EAAA;AACF,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,QAAQ,EAAA,QAAA;AACR,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,kBAAkB,EAAA,kBAAA;AAClB,QAAA,cAAc,EAAA,cAAA;AACd,QAAA,gBAAgB,EAAA,gBAAA;AAChB,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,eAAe,EAAA,eAAA;AACf,QAAA,YAAY,EAAA,YAAA;AACZ,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;AACP,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,eAAe,EAAA,eAAA;AACf,QAAA,eAAe,EAAA,eAAA;AACf,QAAA,mBAAmB,EAAA,mBAAA;AACnB,QAAA,aAAa,EAAA,aAAA;AACb,QAAA,YAAY,EAAA,YAAA;AACZ,QAAA,cAAc,EAAA,cAAA;AACd,QAAA,YAAY,EAAA,YAAA;AACZ,QAAA,YAAY,EAAA,YAAA;AACZ,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,QAAQ,EAAA,QAAA;AACR,QAAA,cAAc,EAAA,cAAA;KACjB,CAAC;AACF,IAAA,OAAOA,GAAC,CAAA,OAAO,EACP,QAAA,CAAA,EAAA,EAAA,KAAK,EACT,EAAA,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,IAClB,CAAC;AACP;;ACnSO,IAAM,QAAQ,GAA2C,UAAC,EAQhE,EAAA;AAPG,IAAA,IAAA,IAAI,UAAA,EACJ,EAAA,GAAA,EAAA,CAAA,KAAW,EAAX,KAAK,mBAAG,GAAG,GAAA,EAAA,EACX,EAAA,GAAA,EAAA,CAAA,MAAY,EAAZ,MAAM,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,GAAG,GAAA,EAAA,EACZ,YAAoB,EAApB,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,aAAa,KAAA,EACpB,EAAA,GAAA,EAAA,CAAA,MAAgB,EAAhB,MAAM,mBAAG,OAAO,GAAA,EAAA,EAChB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACf,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA;AAEV,IAAA,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACpE,OAAOA,GAAA,CAAAC,GAAA,EAAA,IAAA;AACH,QAAAD,GAAA,CAAC,SAAS,EACN,EAAA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EAChB,CAAA;AACF,QAAAA,GAAA,CAAA,GAAA,EAAA,EACI,SAAS,EAAE,YAAa,CAAA,MAAA,CAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAG,GAAA,CAAA,EAAA;AAE7F,YAAAA,GAAA,CAAC,IAAI,EACD,EAAA,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACxB,CAAA,CACF,CACL,CAAC;AACR;;;;"}