wunderbaum 0.0.1-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.
@@ -0,0 +1,71 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).mar10={})}(this,(function(e){"use strict";
2
+ /*!
3
+ * Wunderbaum - util
4
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
5
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
6
+ */const t={0:"",1:"left",2:"middle",3:"right",4:"back",5:"forward"},i=function(){const e=navigator;return{isMac:/Mac/.test(e.platform)}}().isMac,s=/[&<>"'/]/g,n=/[<>"'/]/g,r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function l(e,t){if(!e)throw t=t||"Assertion failed.",new Error(t)}function o(e){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}function a(e){throw new Error(e)}function d(e){return(""+e).replace(s,(function(e){return r[e]}))}function c(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function h(e){return e.indexOf(">")>=0&&a("not implemented"),e}function u(e,t=!1){const i=e.tagName;let s=null;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,n=i.querySelector("input,select");if(n)return u(n,t);i.innerText=""+s}else if("INPUT"===i){const i=e;switch(i.type){case"button":case"reset":case"submit":case"image":break;case"checkbox":s=i.indeterminate?null:i.checked;break;case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":s=t?i.valueAsDate:i.value;break;case"number":case"range":s=i.valueAsNumber;break;case"radio":const e=i.name,n=i.parentElement.querySelector(`input[name="${e}"]:checked`);s=n?n.value:void 0;break;case"text":default:s=i.value}}else if("SELECT"===i){s=e.value}return s}function p(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstElementChild}const f=new Set(["Alt","Control","Meta","Shift"]);function g(e){return e?"string"==typeof e?document.querySelector(e):e:null}function v(e){let i=e.key,s=e.type,n=[];return e.altKey&&n.push("Alt"),e.ctrlKey&&n.push("Control"),e.metaKey&&n.push("Meta"),e.shiftKey&&n.push("Shift"),"click"===s||"dblclick"===s?n.push(t[e.button]+s):"wheel"===s?n.push(s):f.has(i)||n.push(i),n.join("+")}function m(...e){for(let t=1;t<e.length;t++){let i=e[t];if(null!=i)for(let t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[0][t]=i[t])}return e[0]}function w(e){return Array.isArray(e)}function b(e){return 0===Object.keys(e).length&&e.constructor===Object}function y(e){return"function"==typeof e}function x(e){return"[object Object]"===Object.prototype.toString.call(e)}function E(...e){}function _(e,t,i,s){let n,r;e=g(e),s?(n=i,r=s):(n="",r=i),t.split(" ").forEach((t=>{e.addEventListener(t,(function(e){if(!n)return r(e);if(e.target){let t=e.target;if(t.matches(n))return r(e);if(t=t.closest(n),t)return r(e)}}))}))}function C(e,t,i,s){let n,r,l=s||e,o=e[t],a=(...e)=>o.apply(l,e),d=e=>o.apply(l,e);e[t]=(...e)=>{try{return n=l._super,r=l._superApply,l._super=a,l._superApply=d,i.apply(l,e)}finally{l._super=n,l._superApply=r}}}function N(e,t,i){let s;e&&t.indexOf(".")>=0&&([s,t]=t.split("."),e=e[s]);let n=e?e[t]:null;return null!=n?n:i}function k(e){if(e instanceof Set)return e;if("string"==typeof e){let t=new Set;for(const i of e.split(" "))t.add(i.trim());return t}if(Array.isArray(e))return new Set(e);throw new Error("Cannot convert to Set<string>: "+e)}var T=Object.freeze({__proto__:null,MOUSE_BUTTONS:t,MAX_INT:9007199254740991,isMac:i,Deferred:class{constructor(){this.thens=[],this.catches=[],this.status=""}resolve(e){if(this.status)throw new Error("already settled");this.status="resolved",this.resolvedValue=e,this.thens.forEach((t=>t(e))),this.thens=[]}reject(e){if(this.status)throw new Error("already settled");this.status="rejected",this.rejectedError=e,this.catches.forEach((t=>t(e))),this.catches=[]}then(e){"resolved"===status?e(this.resolvedValue):this.thens.unshift(e)}catch(e){"rejected"===this.status?e(this.rejectedError):this.catches.unshift(e)}promise(){return{then:this.then,catch:this.catch}}},assert:l,documentReady:o,documentReadyPromise:function(){return new Promise((e=>{o(e)}))},each:function(e,t){if(null==e)return e;let i=e.length,s=0;if("number"==typeof i)for(;s<i&&!1!==t.call(e[s],s,e[s]);s++);else for(let i in e)if(!1===t.call(e[s],i,e[i]))break;return e},error:a,escapeHtml:d,escapeRegex:c,escapeTooltip:function(e){return(""+e).replace(n,(function(e){return r[e]}))},extractHtmlText:h,getValueFromElem:u,setValueToElem:function e(t,i){const s=t.tagName;if("SPAN"===s&&t.classList.contains("wb-col")){const s=t,n=s.querySelector("input,select");if(n)return e(n,i);s.innerText=""+i}else if("INPUT"===s){const e=t;switch(e.type){case"checkbox":e.indeterminate=null==i,e.checked=!!i;break;case"date":case"month":case"time":case"week":case"datetime":case"datetime-local":e.valueAsDate=i;break;case"number":case"range":e.valueAsNumber=i;break;case"radio":l(!1,"not implemented");break;case"button":case"reset":case"submit":case"image":break;case"text":default:e.innerText=i}}else if("SELECT"===s){t.value=i}},elemFromHtml:p,elemFromSelector:g,eventToString:v,extend:m,isArray:w,isEmptyObject:b,isFunction:y,isPlainObject:x,noop:E,onEvent:_,overrideMethod:C,setTimeoutPromise:function(e,t){return new Promise(((i,s)=>{setTimeout((()=>{try{i(e.apply(self))}catch(e){s(e)}}),t)}))},sleep:async function(e){return new Promise((t=>setTimeout(t,e)))},toggleCheckbox:function(e,t,i){const s=g(e);if(l("checkbox"===s.type),null!=i||(i=s.classList.contains("wb-tristate")||s.indeterminate),void 0===t){switch(s.indeterminate?null:s.checked){case!0:t=!1;break;case!1:t=!i||null;break;case null:t=!0}}s.indeterminate=null==t,s.checked=!!t},getOption:N,toSet:k,type:function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase()}});
7
+ /*!
8
+ * Wunderbaum - common
9
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
10
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
11
+ */const S=22,M=new RegExp(/\.|\//);var L,A,I;!function(e){e.any="any",e.row="row",e.structure="structure",e.status="status"}(L||(L={})),function(e){e.ok="ok",e.loading="loading",e.error="error",e.noData="noData"}(A||(A={})),function(e){e.unknown="",e.checkbox="checkbox",e.column="column",e.expander="expander",e.icon="icon",e.prefix="prefix",e.title="title"}(I||(I={}));let D={error:"bi bi-exclamation-triangle",loading:"bi bi-arrow-repeat wb-spin",noData:"bi bi-question-circle",expanderExpanded:"bi bi-chevron-down",expanderCollapsed:"bi bi-chevron-right",expanderLazy:"bi bi-chevron-right wb-helper-lazy-expander",checkChecked:"bi bi-check-square",checkUnchecked:"bi bi-square",checkUnknown:"bi dash-square-dotted",radioChecked:"bi bi-circle-fill",radioUnchecked:"bi bi-circle",radioUnknown:"bi bi-circle-dotted",folder:"bi bi-folder2",folderOpen:"bi bi-folder2-open",doc:"bi bi-file-earmark"};var O,P;!function(e){e.startRow="startRow",e.cell="cell",e.startCell="startCell",e.row="row"}(O||(O={})),function(e){e.row="row",e.cellNav="cellNav",e.cellEdit="cellEdit"}(P||(P={}));const z={" ":"toggleSelect","+":"expand",Add:"expand",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",Backspace:"parent","/":"collapseAll",Divide:"collapseAll",End:"lastCol",Home:"firstCol","Control+End":"last","Control+Home":"first","*":"expandAll",Multiply:"expandAll",PageDown:"pageDown",PageUp:"pageUp","-":"collapse",Subtract:"collapse"};function R(e){return e=c(e.toLowerCase()),function(t){return t.title.toLowerCase().indexOf(e)>=0}}
12
+ /*!
13
+ * Wunderbaum - wb_extension_base
14
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
15
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
16
+ */
17
+ class q{constructor(e,t,i){this.enabled=!0,this.tree=e,this.id=t,this.treeOpts=e.options;const s=e.options;void 0===this.treeOpts[t]?s[t]=this.extensionOpts=m({},i):(this.extensionOpts=m({},i,s[t]),s[t]=this.extensionOpts),this.enabled=this.getPluginOption("enabled",!0)}init(){this.tree.element.classList.add("wb-ext-"+this.id)}getPluginOption(e,t){var i;return null!==(i=this.extensionOpts[e])&&void 0!==i?i:t}setPluginOption(e,t){this.extensionOpts[e]=t}setEnabled(e=!0){return this.setPluginOption("enabled",!!e)}onKeyEvent(e){}onRender(e){}}
18
+ /*!
19
+ * debounce & throttle, taken from https://github.com/lodash/lodash v4.17.21
20
+ * MIT License: https://raw.githubusercontent.com/lodash/lodash/4.17.21-npm/LICENSE
21
+ * Modified for TypeScript type annotations.
22
+ */const F="object"==typeof global&&null!==global&&global.Object===Object&&global,V="object"==typeof globalThis&&null!==globalThis&&globalThis.Object==Object&&globalThis,H="object"==typeof self&&null!==self&&self.Object===Object&&self,U=V||F||H||Function("return this")();function j(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function $(e,t=0,i={}){let s,n,r,l,o,a,d=0,c=!1,h=!1,u=!0;const p=!t&&0!==t&&"function"==typeof U.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function f(t){const i=s,r=n;return s=n=void 0,d=t,l=e.apply(r,i),l}function g(e,t){return p?(U.cancelAnimationFrame(o),U.requestAnimationFrame(e)):setTimeout(e,t)}function v(e){const i=e-a;return void 0===a||i>=t||i<0||h&&e-d>=r}function m(){const e=Date.now();if(v(e))return w(e);o=g(m,function(e){const i=e-d,s=t-(e-a);return h?Math.min(s,r-i):s}(e))}function w(e){return o=void 0,u&&s?f(e):(s=n=void 0,l)}function b(...e){const i=Date.now(),r=v(i);if(s=e,n=this,a=i,r){if(void 0===o)return function(e){return d=e,o=g(m,t),c?f(e):l}(a);if(h)return o=g(m,t),f(a)}return void 0===o&&(o=g(m,t)),l}return t=+t||0,j(i)&&(c=!!i.leading,h="maxWait"in i,r=h?Math.max(+i.maxWait||0,t):r,u="trailing"in i?!!i.trailing:u),b.cancel=function(){void 0!==o&&function(e){if(p)return U.cancelAnimationFrame(e);clearTimeout(e)}(o),d=0,s=a=n=o=void 0},b.flush=function(){return void 0===o?l:w(Date.now())},b.pending=function(){return void 0!==o},b}
23
+ /*!
24
+ * Wunderbaum - ext-filter
25
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
26
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
27
+ */
28
+ const K=new RegExp(c("￷"),"g"),W=new RegExp(c("￸"),"g");class B extends q{constructor(e){super(e,"filter",{autoApply:!0,autoExpand:!1,counter:!0,fuzzy:!1,hideExpandedCounter:!0,hideExpanders:!1,highlight:!0,leavesOnly:!1,mode:"hide",noData:!0}),this.lastFilterArgs=null}init(){super.init();let e=this.getPluginOption("attachInput");e&&(this.queryInput=g(e),_(this.queryInput,"input",$((e=>{this.filterNodes(this.queryInput.value.trim(),{})}),700)))}_applyFilterNoUpdate(e,t,i){return this.tree.runWithoutUpdate((()=>this._applyFilterImpl(e,t,i)))}_applyFilterImpl(e,t,i){let s,n,r=Date.now(),l=0,o=this.tree,a=o.options,u=a.escapeTitles,p=a.autoCollapse,f=m({},a.filter,i),g="hide"===f.mode,v=!!f.leavesOnly&&!t;if("string"==typeof e){if(""===e)return o.logInfo("Passing an empty string as a filter is handled as clearFilter()."),void this.clearFilter();s=f.fuzzy?e.split("").map(c).reduce((function(e,t){return e+"([^"+t+"]*)"+t}),""):c(e);let t=new RegExp(s,"i"),i=new RegExp(c(e),"gi");e=e=>{if(!e.title)return!1;let s=u?e.title:h(e.title),r=s.match(t);return r&&f.highlight&&(u?(n=f.fuzzy?Q(s,r,u):s.replace(i,(function(e){return"￷"+e+"￸"})),e.titleWithHighlight=d(n).replace(K,"<mark>").replace(W,"</mark>")):f.fuzzy?e.titleWithHighlight=Q(s,r):e.titleWithHighlight=s.replace(i,(function(e){return"<mark>"+e+"</mark>"}))),!!r}}return o.filterMode=f.mode,this.lastFilterArgs=arguments,o.element.classList.toggle("wb-ext-filter-hide",!!g),o.element.classList.toggle("wb-ext-filter-dim",!g),o.element.classList.toggle("wb-ext-filter-hide-expanders",!!f.hideExpanders),o.root.subMatchCount=0,o.visit((e=>{delete e.match,delete e.titleWithHighlight,e.subMatchCount=0})),o.setStatus(A.ok),a.autoCollapse=!1,o.visit((i=>{if(v&&null!=i.children)return;let s=e(i);if("skip"===s)return i.visit((function(e){e.match=!1}),!0),"skip";let n=!1;(t||"branch"===s)&&i.parent.match&&(s=!0,n=!0),s&&(l++,i.match=!0,i.visitParents((e=>{e!==i&&(e.subMatchCount+=1),!f.autoExpand||n||e.expanded||(e.setExpanded(!0,{noAnimation:!0,noEvents:!0,scrollIntoView:!1}),e._filterAutoExpanded=!0)}),!0))})),a.autoCollapse=p,0===l&&f.noData&&g&&o.root.setStatus(A.noData),o.logInfo(`Filter '${s}' found ${l} nodes in ${Date.now()-r} ms.`),l}filterNodes(e,t){return this._applyFilterNoUpdate(e,!1,t)}filterBranches(e,t){return this._applyFilterNoUpdate(e,!0,t)}updateFilter(){let e=this.tree;e.filterMode&&this.lastFilterArgs&&e.options.filter.autoApply?this._applyFilterNoUpdate.apply(this,this.lastFilterArgs):e.logWarn("updateFilter(): no filter active.")}clearFilter(){let e=this.tree,t=e.options.escapeTitles;e.enableUpdate(!1),e.setStatus(A.ok),delete e.root.match,delete e.root.subMatchCount,e.visit((e=>{if(e.match&&e._rowElem){let i=e._rowElem.querySelector("span.wb-title");t?i.textContent=e.title:i.innerHTML=e.title,e._callEvent("enhanceTitle",{titleElem:i})}delete e.match,delete e.subMatchCount,delete e.titleWithHighlight,e.subMatchBadge&&(e.subMatchBadge.remove(),delete e.subMatchBadge),e._filterAutoExpanded&&e.expanded&&e.setExpanded(!1,{noAnimation:!0,noEvents:!0,scrollIntoView:!1}),delete e._filterAutoExpanded})),e.filterMode=null,this.lastFilterArgs=null,e.element.classList.remove("wb-ext-filter-dim","wb-ext-filter-hide"),e.enableUpdate(!0)}}function Q(e,t,i=!1){let s=[];for(let e=1;e<t.length;e++){let i=t[e].length+(1===e?0:1)+(s[s.length-1]||0);s.push(i)}let n=e.split("");return i?s.forEach((function(e){n[e]="￷"+n[e]+"￸"})):s.forEach((function(e){n[e]="<mark>"+n[e]+"</mark>"})),n.join("")}
29
+ /*!
30
+ * Wunderbaum - ext-keynav
31
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
32
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
33
+ */class Y extends q{constructor(e){super(e,"keynav",{})}onKeyEvent(e){let t,i=e.event,s=v(i),n=e.node,r=this.tree,l=e.options,o=!0,a=!i.ctrlKey||l.autoActivate;const d=l.navigationMode;if(r.logDebug(`onKeyEvent: ${s}`),!1===r._callEvent("keydown",e))return!1;if(!1===r._callMethod("edit._preprocessKeyEvent",e))return!1;if(!n){const e=r.getActiveNode(),i=r.getFirstChild();if(!e&&i&&"ArrowDown"===s)return i.logInfo("Keydown: activate first node."),void i.setActive();t=e||i,t&&(t.setFocus(),n=r.getFocusNode(),n.logInfo("Keydown: force focus on active node."))}if(r.navMode===P.row){if(l.quicksearch&&1===s.length&&/^\w$/.test(s)){const e=Date.now();e-r.lastQuicksearchTime>500&&(r.lastQuicksearchTerm=""),r.lastQuicksearchTime=e,r.lastQuicksearchTerm+=s;let t=r.findNextNode(r.lastQuicksearchTerm,r.getActiveNode());return t&&t.setActive(!0,{event:i}),void i.preventDefault()}switch(s){case"ArrowLeft":n.expanded&&(s="Subtract");break;case"ArrowRight":if(n.expanded||!n.children&&!n.lazy){if(d===O.startRow)return void r.setCellMode(P.cellNav)}else s="Add"}switch(s){case"+":case"Add":n.setExpanded(!0);break;case"-":case"Subtract":n.setExpanded(!1);break;case" ":n.getOption("checkbox")?n.setSelected(!n.isSelected()):n.setActive(!0,{event:i});break;case"Enter":n.setActive(!0,{event:i});break;case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"Backspace":case"End":case"Home":case"Control+End":case"Control+Home":case"PageDown":case"PageUp":n.navigate(s,{activate:a,event:i});break;default:o=!1}}else switch(s){case" ":if(0===r.activeColIdx&&n.getOption("checkbox"))n.setSelected(!n.isSelected()),o=!0;else{const e=r.getActiveColElem(),t=null==e?void 0:e.querySelector("input[type=checkbox]");null==t||t.click()}break;case"Enter":0===r.activeColIdx&&n.isExpandable()&&(n.setExpanded(!n.isExpanded()),o=!0);break;case"Escape":r.navMode===P.cellEdit?(r.setCellMode(P.cellNav),o=!0):r.navMode===P.cellNav&&(r.setCellMode(P.row),o=!0);break;case"ArrowLeft":r.activeColIdx>0?(r.setColumn(r.activeColIdx-1),o=!0):d!==O.cell&&(r.setCellMode(P.row),o=!0);break;case"ArrowRight":r.activeColIdx<r.columns.length-1&&(r.setColumn(r.activeColIdx+1),o=!0);break;case"ArrowDown":case"ArrowUp":case"Backspace":case"End":case"Home":case"Control+End":case"Control+Home":case"PageDown":case"PageUp":n.navigate(s,{activate:a,event:i});break;default:o=!1}o&&i.preventDefault()}}
34
+ /*!
35
+ * Wunderbaum - ext-logger
36
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
37
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
38
+ */class G extends q{constructor(e){super(e,"logger",{}),this.ignoreEvents=new Set(["enhanceTitle","render","discard"]),this.prefix=e+".ext-logger"}init(){const e=this.tree;if(e.getOption("debugLevel")>=4){const t=this.ignoreEvents,i=this.prefix;C(e,"callEvent",(function(s,n){if(t.has(s))return e._superApply(arguments);let r=Date.now();const l=e._superApply(arguments);return console.debug(`${i}: callEvent('${s}') took ${Date.now()-r} ms.`,arguments[1]),l}))}}onKeyEvent(e){console.debug(`${this.prefix}: onKeyEvent()`,e)}}
39
+ /*!
40
+ * Wunderbaum - ext-dnd
41
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
42
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
43
+ */class J extends q{constructor(e){super(e,"dnd",{autoExpandMS:1500,multiSource:!1,effectAllowed:"all",dropEffectDefault:"move",preventForeignNodes:!1,preventLazyParents:!0,preventNonNodes:!1,preventRecursion:!0,preventSameParent:!1,preventVoidMoves:!0,scroll:!0,scrollSensitivity:20,scrollSpeed:5,sourceCopyHook:null,dragStart:null,dragDrag:null,dragEnd:null,dragEnter:null,dragOver:null,dragExpand:null,dragDrop:null,dragLeave:null}),this.srcNode=null,this.lastTargetNode=null,this.lastEnterStamp=0,this.lastAllowedDropRegions=null,this.lastDropEffect=null,this.lastDropRegion=!1}init(){super.init();const e=this.tree,t=e.options.dnd;t.dragStart&&_(e.element,"dragstart drag dragend",this.onDragEvent.bind(this)),t.dragEnter&&_(e.element,"dragenter dragover dragleave drop",this.onDropEvent.bind(this))}_leaveNode(){const e=this.lastTargetNode;this.lastEnterStamp=0,e&&(e.removeClass("wb-drop-target wb-drop-over wb-drop-after wb-drop-before"),this.lastTargetNode=null)}unifyDragover(e){if(!1===e)return!1;if(e instanceof Set)return e.size>0&&e;if(!0===e)return new Set(["over","before","after"]);if("string"==typeof e||w(e))return(e=k(e)).size>0&&e;throw new Error("Unsupported drop region definition: "+e)}_calcDropRegion(e,t){const i=e.offsetY;return!!t&&(3===t.size?i<5.5?"before":i>16.5?"after":"over":1===t.size&&t.has("over")?"over":i>11?"after":"before")}autoScroll(e){let t=this.tree,i=t.options.dnd,s=t.scrollContainer,n=i.scrollSensitivity,r=i.scrollSpeed,l=0;const o=s.offsetTop;if(o+s.offsetHeight-e.pageY<n){s.scrollHeight-s.clientHeight-o>0&&(s.scrollTop=l=o+r)}else o>0&&e.pageY-o<n&&(s.scrollTop=l=o-r);return l}onDragEvent(e){const t=this.treeOpts.dnd,i=se.getNode(e);if(i){if("drag"!==e.type&&this.tree.logDebug("onDragEvent."+e.type+", srcNode: "+i,e),"dragstart"===e.type){e.dataTransfer.effectAllowed=t.effectAllowed;if(!i._callEvent("dnd.dragStart",{event:e}))return e.preventDefault(),!1;let s=i.toDict(!0,(e=>{e._org_key=e.key,delete e.key}));s.treeId=i.tree.id;const n=JSON.stringify(s);e.dataTransfer.setData("application/x-fancytree-node",n),e.dataTransfer.setData("text/plain",i.title),this.srcNode=i,setTimeout((()=>{i.addClass("wb-drag-source")}),0)}else"drag"===e.type||"dragend"===e.type&&(i.removeClass("wb-drag-source"),this.srcNode=null,this.lastTargetNode&&this._leaveNode());return!0}}onDropEvent(e){const t=se.getNode(e),i=this.treeOpts.dnd,s=e.dataTransfer;if(t){if("dragover"!==e.type&&this.tree.logDebug("onDropEvent."+e.type+" targetNode: "+t+", ea: "+(null==s?void 0:s.effectAllowed)+", de: "+(null==s?void 0:s.dropEffect),", cy: "+e.offsetY,", r: "+this._calcDropRegion(e,this.lastAllowedDropRegions),e),"dragenter"===e.type){if(this.lastAllowedDropRegions=null,this.lastTargetNode&&this.lastTargetNode!==t&&this._leaveNode(),this.lastTargetNode=t,this.lastEnterStamp=Date.now(),i.preventVoidMoves&&t===this.srcNode||t.isStatusNode())return s.dropEffect="none",!0;let n=t._callEvent("dnd.dragEnter",{event:e});return n=this.unifyDragover(n),n?(this.lastAllowedDropRegions=n,this.lastDropEffect=s.dropEffect,t.addClass("wb-drop-target"),e.preventDefault(),!1):(s.dropEffect="none",!0)}if("dragover"===e.type){this.autoScroll(e);const s=this._calcDropRegion(e,this.lastAllowedDropRegions);if(this.lastDropRegion=s,i.autoExpandMS>0&&t.isExpandable(!0)&&!t._isLoading&&Date.now()-this.lastEnterStamp>i.autoExpandMS&&!1!==t._callEvent("dnd.dragExpand",{event:e})&&t.setExpanded(),!s)return;return t.toggleClass("wb-drop-over","over"===s),t.toggleClass("wb-drop-before","before"===s),t.toggleClass("wb-drop-after","after"===s),e.preventDefault(),!1}"dragleave"===e.type||"drop"===e.type&&(e.stopPropagation(),this._leaveNode(),t._callEvent("dnd.drop",{event:e,region:this.lastDropRegion,sourceNode:this.srcNode}))}else this._leaveNode()}}
44
+ /*!
45
+ * Wunderbaum - deferred
46
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
47
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
48
+ */class X{constructor(){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve(e)}reject(e){this._reject(e)}promise(){return this._promise}then(e){return this._promise.then(e)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}}
49
+ /*!
50
+ * Wunderbaum - wunderbaum_node
51
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
52
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
53
+ */const Z=new Set(["classes","expanded","icon","key","lazy","refKey","selected","title","tooltip","type"]),ee=new Set(["checkbox","expanded","extraClasses","folder","icon","iconTooltip","key","lazy","partsel","radiogroup","refKey","selected","statusNodeType","title","tooltip","type","unselectable","unselectableIgnore","unselectableStatus"]);class te{constructor(e,t,i){var s,n;if(this.refKey=void 0,this.children=null,this.lazy=!1,this.expanded=!1,this.selected=!1,this.extraClasses=new Set,this.data={},this._isLoading=!1,this._requestId=0,this._errorInfo=null,this._partsel=!1,this._partload=!1,this.subMatchCount=0,this._rowIdx=0,this._rowElem=void 0,l(!t||t.tree===e),l(!i.children),this.tree=e,this.parent=t,this.key=""+(null!==(s=i.key)&&void 0!==s?s:++te.sequence),this.title=""+(null!==(n=i.title)&&void 0!==n?n:"<"+this.key+">"),null!=i.refKey&&(this.refKey=""+i.refKey),null!=i.statusNodeType&&(this.statusNodeType=""+i.statusNodeType),null!=i.type&&(this.type=""+i.type),null!=i.checkbox&&(this.checkbox=!!i.checkbox),null!=i.colspan&&(this.colspan=!!i.colspan),this.expanded=!0===i.expanded,null!=i.icon&&(this.icon=i.icon),this.lazy=!0===i.lazy,this.selected=!0===i.selected,i.classes)for(const e of i.classes.split(" "))this.extraClasses.add(e.trim());for(const[e,t]of Object.entries(i))Z.has(e)||(this.data[e]=t);t&&!this.statusNodeType&&e._registerNode(this)}toString(){return"WunderbaumNode@"+this.key+"<'"+this.title+"'>"}_callEvent(e,t){return this.tree._callEvent(e,m({node:this,typeInfo:this.type?this.tree.types[this.type]:{}},t))}addChildren(e,t){let i=t?t.before:null,s=[];try{this.tree.enableUpdate(!1),x(e)&&(e=[e]);for(let t of e){let e=t.children;delete t.children;let i=new te(this.tree,this,t);s.push(i),e&&i.addChildren(e,{redraw:!1})}if(this.children)if(null==i||0===this.children.length)this.children=this.children.concat(s);else{i=this.findDirectChild(i);let e=this.children.indexOf(i);l(e>=0,"insertBefore must be an existing child"),this.children.splice(e,0,...s)}else this.children=s;return this.tree.setModified(L.structure,this),s[0]}finally{this.tree.enableUpdate(!0)}}addNode(e,t="child"){switch("over"===t&&(t="child"),t){case"after":return this.parent.addChildren(e,{before:this.getNextSibling()});case"before":return this.parent.addChildren(e,{before:this});case"firstChild":return this.addChildren(e,{before:0});case"child":return this.addChildren(e)}l(!1,"Invalid mode: "+t)}applyCommand(e,t){return this.tree.applyCommand(e,this,t)}addClass(e){k(e).forEach((e=>{var t;this.extraClasses.add(e),null===(t=this._rowElem)||void 0===t||t.classList.add(e)}))}removeClass(e){k(e).forEach((e=>{var t;this.extraClasses.delete(e),null===(t=this._rowElem)||void 0===t||t.classList.remove(e)}))}toggleClass(e,t){k(e).forEach((e=>{var i;t?this.extraClasses.add(e):this.extraClasses.delete(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)}))}async expandAll(e=!0){this.visit((t=>{t.setExpanded(e)}))}findAll(e){const t=y(e)?e:R(e),i=[];return this.visit((e=>{t(e)&&i.push(e)})),i}findDirectChild(e){let t=this.children;if(!t)return null;if("string"==typeof e){for(let i=0,s=t.length;i<s;i++)if(t[i].key===e)return t[i]}else{if("number"==typeof e)return t[e];if(e.parent===this)return e}return null}findFirst(e){const t=y(e)?e:R(e);let i=null;return this.visit((e=>{if(t(e))return i=e,!1})),i}findRelatedNode(e,t=!1){return this.tree.findRelatedNode(this,e,t)}getColElem(e){var t;"string"==typeof e&&(e=this.tree.columns.findIndex((t=>t.id===e)));const i=null===(t=this._rowElem)||void 0===t?void 0:t.querySelectorAll("span.wb-col");return i?i[e]:null}getFirstChild(){return this.children?this.children[0]:null}getLastChild(){return this.children?this.children[this.children.length-1]:null}getLevel(){let e=0,t=this.parent;for(;t;)e++,t=t.parent;return e}getNextSibling(){let e=this.parent.children,t=e.indexOf(this);return e[t+1]||null}getParent(){return this.parent}getParentList(e=!1,t=!1){let i=[],s=t?this:this.parent;for(;s;)(e||s.parent)&&i.unshift(s),s=s.parent;return i}getPath(e=!0,t="title",i="/"){let s,n=[],r="function"==typeof t;return this.visitParents((e=>{e.parent&&(s=r?t(e):e[t],n.unshift(s))}),e),n.join(i)}getPrevSibling(){let e=this.parent.children,t=e.indexOf(this);return e[t-1]||null}hasChildren(){if(this.lazy){if(null==this.children)return;if(0===this.children.length)return!1;if(1===this.children.length&&this.children[0].isStatusNode())return;return!0}return!(!this.children||!this.children.length)}isActive(){return this.tree.activeNode===this}isChildOf(e){return this.parent&&this.parent===e}isDescendantOf(e){if(!e||e.tree!==this.tree)return!1;for(var t=this.parent;t;){if(t===e)return!0;t===t.parent&&a("Recursive parent link: "+t),t=t.parent}return!1}isExpandable(e=!1){return!(!this.children||this.expanded&&e)}isEditing(){return this.tree._callMethod("edit.isEditingTitle",this)}isExpanded(){return!!this.expanded}isFirstSibling(){var e=this.parent;return!e||e.children[0]===this}isLastSibling(){var e=this.parent;return!e||e.children[e.children.length-1]===this}isLazy(){return!!this.lazy}isLoaded(){return!this.lazy||void 0!==this.hasChildren()}isLoading(){return this._isLoading}isPagingNode(){return"paging"===this.statusNodeType}isPartload(){return!!this._partload}isPartsel(){return!this.selected&&!!this._partsel}isRendered(){return!!this._rowElem}isRootNode(){return this.tree.root===this}isSelected(){return!!this.selected}isStatusNode(){return!!this.statusNodeType}isTopLevel(){return this.tree.root===this.parent}isUnloaded(){return void 0===this.hasChildren()}isVisible(){let e,t,i,s="hide"===this.tree.filterMode,n=this.getParentList(!1,!1);if(s&&!this.match&&!this.subMatchCount)return!1;for(e=0,t=n.length;e<t;e++)if(i=n[e],!i.expanded)return!1;return!0}_loadSourceObject(e){const t=this.tree;this._callEvent("receive",{response:e}),w(e)&&(e={children:e}),l(x(e)),l(e.children,"If `source` is an object, it must have a `children` property"),e.types&&m(t.types,e.types),this.addChildren(e.children),this._callEvent("load")}async load(e){const t=this.tree,i=Date.now(),s=this.parent,n="string"==typeof e?e:e.url;this._requestId&&this.logWarn(`Recursive load request #${i} while #${this._requestId} is pending.`),this._requestId=i;const r=t.logTime(this+".load()");try{if(n){this.setStatus(A.loading);const e=await fetch(n,{method:"GET"});e.ok||a(`GET ${n} returned ${e.status}, ${e}`);const r=await e.json();if(this._requestId&&this._requestId>i)return void this.logWarn(`Ignored load response #${i} because #${this._requestId} is pending.`);if(this.logDebug(`Received response for load request #${i}`),null===this.parent&&null!==s)return void this.logWarn("Lazy parent node was removed while loading: discarding response.");this.setStatus(A.ok),r.columns&&(t.logInfo("Re-define columns",r.columns),l(!this.parent),t.columns=r.columns,delete r.columns,t.renderHeader()),this._loadSourceObject(r)}else this._loadSourceObject(e)}catch(t){throw this.logError("Error during load()",e,t),this._callEvent("error",{error:t}),this.setStatus(A.error,""+t),t}finally{this._requestId=0,t.logTimeEnd(r)}}async loadLazy(e=!1){const t=this.expanded;if(l(this.lazy,"load() requires a lazy node"),e||this.isUnloaded()){this.isLoaded()&&this.resetLazy(),this.setStatus(A.loading);try{const e=await this._callEvent("lazyLoad");if(!1===e)return void this.setStatus(A.ok);l(w(e)||e&&e.url,"The lazyLoad event must return a node list, `{url: ...}` or false."),await this.load(e),t?(this.expanded=!0,this.tree.updateViewport()):this.render()}catch(e){this.setStatus(A.error,""+e)}}}log(...e){this.logDebug.apply(this,e)}logDebug(...e){this.tree.options.debugLevel>=4&&(Array.prototype.unshift.call(e,this.toString()),console.log.apply(console,e))}logError(...e){this.tree.options.debugLevel>=1&&(Array.prototype.unshift.call(e,this.toString()),console.error.apply(console,e))}logInfo(...e){this.tree.options.debugLevel>=3&&(Array.prototype.unshift.call(e,this.toString()),console.info.apply(console,e))}logWarn(...e){this.tree.options.debugLevel>=2&&(Array.prototype.unshift.call(e,this.toString()),console.warn.apply(console,e))}async makeVisible(e){let t,i=new X,s=[],n=this.getParentList(!1,!1),r=n.length,l=!(e&&!0===e.noAnimation),o=!(e&&!1===e.scrollIntoView);for(t=r-1;t>=0;t--)s.push(n[t].setExpanded(!0,e));return Promise.all(s).then((()=>{o?this.scrollIntoView(l).then((()=>{i.resolve()})):i.resolve()})),i.promise()}moveTo(e,t="appendChild",i){"prependChild"===t&&(e.children&&e.children.length?(t="before",e=e.children[0]):t="appendChild");let s,n=this.tree,r=this.parent,o="appendChild"===t?e:e.parent;if(this!==e){if(this.parent?o.isDescendantOf(this)&&a("Cannot move a node to its own descendant"):a("Cannot move system root"),o!==r&&r.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===o)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else s=this.parent.children.indexOf(this),l(s>=0,"invalid source parent"),this.parent.children.splice(s,1);if(this.parent=o,o.hasChildren())switch(t){case"appendChild":o.children.push(this);break;case"before":s=o.children.indexOf(e),l(s>=0,"invalid target parent"),o.children.splice(s,0,this);break;case"after":s=o.children.indexOf(e),l(s>=0,"invalid target parent"),o.children.splice(s+1,0,this);break;default:a("Invalid mode "+t)}else o.children=[this];i&&e.visit(i,!0),o===r?o.triggerModifyChild("move",this):o.triggerModifyChild("add",this),n!==e.tree&&(this.logWarn("Cross-tree moveTo is experimental!"),this.visit((function(t){t.tree=e.tree}),!0)),n.updateViewport()}}async navigate(e,t){e=z[e]||e;let i=this.findRelatedNode(e);if(i){try{i.makeVisible({scrollIntoView:!1})}catch(e){}return i.setFocus(),!1===(null==t?void 0:t.activate)?Promise.resolve(this):i.setActive(!0,{event:null==t?void 0:t.event})}return this.logWarn("Could not find related node '"+e+"'."),Promise.resolve(this)}remove(){const e=this.tree,t=this.parent.children.indexOf(this);this.parent.children.splice(t,1),this.visit((t=>{t.removeMarkup(),e._unregisterNode(t)}),!0)}removeChildren(){const e=this.tree;this.children&&(e.activeNode&&e.activeNode.isDescendantOf(this)&&e.activeNode.setActive(!1),e.focusNode&&e.focusNode.isDescendantOf(this)&&(e.focusNode=null),this.triggerModifyChild("remove",null),this.visit((t=>{e._unregisterNode(t)})),this.lazy?this.children=[]:this.children=null,this.isRootNode()||(this.expanded=!1),this.tree.updateViewport())}removeMarkup(){this._rowElem&&(delete this._rowElem._wb_node,this._rowElem.remove(),this._rowElem=void 0)}_getRenderInfo(){let e={},t=0,i=this._rowElem?this._rowElem.querySelectorAll("span.wb-col"):null;for(let s of this.tree.columns)e[s.id]={id:s.id,idx:t,elem:i?i[t]:null,info:s},t++;return e}_createIcon(e,t){let i,s=this.getOption("icon");return this._errorInfo?s=D.error:this._isLoading&&(s=D.loading),!1===s?null:("string"==typeof s||(s=this.statusNodeType?D[this.statusNodeType]:this.expanded?D.folderOpen:this.children?D.folder:D.doc),s.indexOf("<")>=0?i=p(s):M.test(s)?i=p(`<img src="${s}" class="wb-icon">`):(i=document.createElement("i"),i.className="wb-icon "+s),t?e.replaceChild(i,t):e.appendChild(i),i)}render(e){const t=this.tree,i=t.options,s=!1!==this.getOption("checkbox"),n=t.columns,r=this.type?t.types[this.type]:null,o=this.getLevel();let a,d,c,h,u=this._rowElem,p=null,f=null;const g=t.navMode===P.row?null:t.activeColIdx,v=!u;l(!this.isRootNode());let m=["wb-row"];if(this.expanded&&m.push("wb-expanded"),this.lazy&&m.push("wb-lazy"),this.selected&&m.push("wb-selected"),this===t.activeNode&&m.push("wb-active"),this===t.focusNode&&m.push("wb-focus"),this._errorInfo&&m.push("wb-error"),this._isLoading&&m.push("wb-loading"),this.statusNodeType&&m.push("wb-status-"+this.statusNodeType),this.match&&m.push("wb-match"),this.subMatchCount&&m.push("wb-submatch"),i.skeleton&&m.push("wb-skeleton"),u)d=u.querySelector("span.wb-node"),c=d.querySelector("span.wb-title"),f=d.querySelector("i.wb-expander"),p=d.querySelector("i.wb-checkbox"),h=d.querySelector("i.wb-icon");else{u=document.createElement("div"),u._wb_node=this,d=document.createElement("span"),d.classList.add("wb-node","wb-col"),u.appendChild(d);let e=0;s&&(p=document.createElement("i"),d.appendChild(p),e+=20);for(let t=o-1;t>0;t--)a=document.createElement("i"),a.classList.add("wb-indent"),d.appendChild(a),e+=20;if(o>i.minExpandLevel&&(f=document.createElement("i"),d.appendChild(f),e+=20),h=this._createIcon(d),h&&(e+=20),c=document.createElement("span"),c.classList.add("wb-title"),d.appendChild(c),this._callEvent("enhanceTitle",{titleSpan:c}),d._ofsTitlePx=e,t.options.dnd.dragStart&&(d.draggable=!0),!this.colspan&&n.length>1){let e=0;for(let t of n){let i;e++,"*"===t.id?i=d:(i=document.createElement("span"),i.classList.add("wb-col"),u.appendChild(i)),e===g&&i.classList.add("wb-active"),t.classes&&i.classList.add(...t.classes.split(" ")),i.style.left=t._ofsPx+"px",i.style.width=t._widthPx+"px",v&&t.html&&"string"==typeof t.html&&(i.innerHTML=t.html)}}}if(u.className=m.join(" "),u.classList.add(...this.extraClasses),r&&r.classes&&u.classList.add(...r.classes),u.style.top=this._rowIdx*S+"px",f&&(this.isExpandable(!1)?this.expanded?f.className="wb-expander "+D.expanderExpanded:f.className="wb-expander "+D.expanderCollapsed:this._isLoading?f.className="wb-expander "+D.loading:this.lazy&&null==this.children?f.className="wb-expander "+D.expanderLazy:f.classList.add("wb-indent")),p&&(this.selected?p.className="wb-checkbox "+D.checkChecked:p.className="wb-checkbox "+D.checkUnchecked),this.titleWithHighlight?c.innerHTML=this.titleWithHighlight:t.options.escapeTitles?c.textContent=this.title:c.innerHTML=this.title,!i.skeleton)if(this.colspan){let e=t.element.clientWidth;c.style.width=e-d._ofsTitlePx-7+"px"}else c.style.width=n[0]._widthPx-d._ofsTitlePx-7+"px";this._rowElem=u,this.statusNodeType?this._callEvent("renderStatusNode",{isNew:v,nodeElem:d}):this.parent&&this._callEvent("render",{isNew:v,nodeElem:d,typeInfo:r,colInfosById:this._getRenderInfo()}),t.nodeListElement.appendChild(u)}resetLazy(){this.removeChildren(),this.expanded=!1,this.lazy=!0,this.children=null,this.tree.updateViewport()}toDict(e=!1,t){const i={};if(ee.forEach((e=>{const t=this[e];t instanceof Set?t.size&&(i[e]=Array.prototype.join.call(t.keys()," ")):(t||!1===t||0===t)&&(i[e]=t)})),b(this.data)||(i.data=m({},this.data),b(i.data)&&delete i.data),t){const s=t(i,this);if(!1===s)return!1;"skip"===s&&(e=!1)}if(e&&w(this.children)){i.children=[];for(let e=0,s=this.children.length;e<s;e++){const s=this.children[e];if(!s.isStatusNode()){const e=s.toDict(!0,t);!1!==e&&i.children.push(e)}}}return i}getOption(e,t){let i=this.tree,s=i.options;e.indexOf(".")>=0&&([s,e]=e.split("."));let n=s[e];if("function"==typeof n){let e=n.call(i,{type:"resolve",tree:i,node:this});if(void 0!==e)return e}if(void 0!==this[e])return this[e];let r=this.type?i.types[this.type]:void 0,l=r?r[e]:void 0;return void 0!==l?l:null!=n?n:t}async scrollIntoView(e){return this.tree.scrollTo(this)}async setActive(e=!0,t){const i=this.tree,s=i.activeNode,n=null==t?void 0:t.retrigger;if(!(null==t?void 0:t.noEvent)){let r=null==t?void 0:t.event;if(e){if(s!==this||n){if(!1===(null==s?void 0:s._callEvent("deactivate",{nextNode:this,orgEvent:r})))return;if(!1===this._callEvent("activate",{prevNode:s,orgEvent:r}))return i.activeNode=null,void(null==s||s.setDirty(L.status))}}else(s===this||n)&&this._callEvent("deactivate",{nextNode:null,orgEvent:r})}s!==this&&(i.activeNode=this,null==s||s.setDirty(L.status),this.setDirty(L.status)),t&&null!=t.colIdx&&t.colIdx!==i.activeColIdx&&i.navMode!==P.row&&i.setColumn(t.colIdx),this.scrollIntoView()}setDirty(e){this.tree._disableUpdate||(e===L.structure?this.tree.updateViewport():this._rowElem&&this.render())}async setExpanded(e=!0,t){!e&&this.isExpanded()&&this.getLevel()<this.getOption("minExpandLevel")&&!N(t,"force")?this.logDebug("Ignored collapse request."):(e&&this.lazy&&null==this.children&&await this.loadLazy(),this.expanded=e,this.setDirty(L.structure))}setIcon(){throw new Error("Not yet implemented")}setFocus(e=!0,t){const i=this.tree.focusNode;this.tree.focusNode=this,null==i||i.setDirty(L.status),this.setDirty(L.status)}setSelected(e=!0,t){!!e!==this.selected&&this._callEvent("select",{flag:e}),this.selected=!!e,this.setDirty(L.status)}setStatus(e,t,i){let s=this.tree,n=null;const r=e=>{let t=this.children,i=t?t[0]:null;return l(e.statusNodeType),l(!i||!i.isStatusNode()),n=this.addNode(e,"firstChild"),n.match=!0,s.setModified(L.structure),n};switch((()=>{let e=this.children;e&&e.length&&e[0].isStatusNode()&&e[0].remove()})(),e){case"ok":this._isLoading=!1,this._errorInfo=null;break;case"loading":this.parent||r({statusNodeType:e,title:s.options.strings.loading+(t?" ("+t+")":""),checkbox:!1,colspan:!0,tooltip:i}),this._isLoading=!0,this._errorInfo=null;break;case"error":r({statusNodeType:e,title:s.options.strings.loadError+(t?" ("+t+")":""),checkbox:!1,colspan:!0,tooltip:i}),this._isLoading=!1,this._errorInfo={message:t,details:i};break;case"noData":r({statusNodeType:e,title:t||s.options.strings.noData,checkbox:!1,colspan:!0,tooltip:i}),this._isLoading=!1,this._errorInfo=null;break;default:a("invalid node status "+e)}return s.updateViewport(),n}setTitle(e){this.title=e,this.setDirty(L.status)}triggerModifyChild(e,t,i){this.tree.options.modifyChild&&(t&&t.parent!==this&&a("child "+t+" is not a child of "+this),this._callEvent("modifyChild",m({operation:e,child:t},i)))}triggerModify(e,t){this.parent.triggerModifyChild(e,this,t)}visit(e,t=!1){let i,s,n=!0,r=this.children;if(!0===t&&(n=e(this),!1===n||"skip"===n))return n;if(r)for(i=0,s=r.length;i<s&&(n=r[i].visit(e,!0),!1!==n);i++);return n}visitParents(e,t=!1){if(t&&!1===e(this))return!1;let i=this.parent;for(;i;){if(!1===e(i))return!1;i=i.parent}return!0}visitSiblings(e,t=!1){let i,s,n,r=this.parent.children;for(i=0,s=r.length;i<s;i++)if(n=r[i],(t||n!==this)&&!1===e(n))return!1;return!0}isMatched(){return!(this.tree.filterMode&&!this.match)}}te.sequence=0;
54
+ /*!
55
+ * Wunderbaum - ext-edit
56
+ * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
57
+ * v0.0.1-0, Thu, 31 Mar 2022 10:19:39 GMT (https://github.com/mar10/wunderbaum)
58
+ */
59
+ class ie extends q{constructor(e){super(e,"edit",{debounce:100,minlength:1,maxlength:null,trigger:[],trim:!0,select:!0,slowClickDelay:1e3,validity:!0,beforeEdit:null,edit:null,apply:null}),this.curEditNode=null,this.relatedNode=null,this.debouncedOnChange=$(this._onChange.bind(this),this.getPluginOption("debounce"))}_applyChange(e,t,i,s){let n;t.log(`_applyChange(${e})`,s),i.classList.add("wb-dirty"),i.classList.remove("wb-error");try{n=t._callEvent(e,s)}catch(s){t.logError(`Error in ${e} event handler`,s),i.classList.add("wb-error"),i.classList.remove("wb-dirty")}return n instanceof Promise||(n=Promise.resolve(n)),n.catch((s=>{t.logError(`Error in ${e} event promise`,s),i.classList.add("wb-error")})).finally((()=>{i.classList.remove("wb-dirty")})),n}_onChange(e){const t=se.getEventInfo(e),i=t.node,s=t.colElem;i&&0!==t.colIdx?this._applyChange("change",i,s,{info:t,event:e,inputElem:e.target,inputValue:se.util.getValueFromElem(e.target)}):this.tree.log("Ignored change event for removed element or node title")}init(){super.init(),_(this.tree.element,"change",".contenteditable,input,textarea,select",(e=>{this.debouncedOnChange(e)}))}_preprocessKeyEvent(e){const t=e.event,s=v(t),n=this.tree,r=this.getPluginOption("trigger"),l=t.target&&t.target.closest("input,[contenteditable]");if(n.logDebug(`_preprocessKeyEvent: ${s}`),l){switch(s){case"Enter":return this._stopEditTitle(!0,{event:t}),!1;case"Escape":return this._stopEditTitle(!1,{event:t}),!1}return!1}if(n.navMode===P.row||0===n.activeColIdx){switch(s){case"Enter":if(r.indexOf("macEnter")>=0&&i)return this.startEditTitle(),!1;break;case"F2":if(r.indexOf("F2")>=0)return this.startEditTitle(),!1}return!0}return!0}isEditingTitle(e){return e?this.curEditNode===e:!!this.curEditNode}startEditTitle(e){e=null!=e?e:this.tree.getActiveNode();const t=this.getPluginOption("validity"),i=this.getPluginOption("select");if(!e)return;this.tree.logDebug(`startEditTitle(node=${e})`);let s=e._callEvent("edit.beforeEdit");if(!1===s)return void e.logInfo("beforeEdit canceled operation.");if(!s){s=`<input type=text class="wb-input-edit" value="${d(e.title)}" required autocorrect=off>`}const n=e.getColElem(0).querySelector(".wb-title");n.innerHTML=s;const r=n.firstElementChild;t&&r.addEventListener("keydown",(e=>{r.reportValidity()})),r.focus(),i&&r.select(),this.curEditNode=e,e._callEvent("edit.edit",{inputElem:r})}stopEditTitle(e){return this._stopEditTitle(e,{})}_stopEditTitle(e,t){const i=document.activeElement;let s=i?u(i):null;const n=this.curEditNode,r=!!t.forceClose,l=this.getPluginOption("validity");if(s&&this.getPluginOption("trim")&&(s=s.trim()),n)if(n.logDebug(`stopEditTitle(${e})`,t,i,s),e&&null!==s&&s!==n.title){const e=n.getColElem(0);this._applyChange("edit.apply",n,e,{oldValue:n.title,newValue:s,inputElem:i}).then((e=>{const t=i.validationMessage;if(l&&t&&!1!==e)throw new Error(`Edit apply validation failed for "${s}": ${t}.`);(r||!1!==e)&&(null==n||n.setTitle(s),this.curEditNode.render(),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus())})).catch((e=>{}))}else this.curEditNode.render(),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus();else this.tree.logDebug("stopEditTitle: not in edit mode.")}createNode(e="after",t,i){const s=this.tree;if(l(t=null!=t?t:s.getActiveNode(),"No node was passed, or no node is currently active."),e=e||"prependChild",null==i?i={title:""}:"string"==typeof i?i={title:i}:l(x(i)),("prependChild"===e||"appendChild"===e)&&(null==t?void 0:t.isExpandable(!0)))return void t.setExpanded().then((()=>{this.createNode(e,t,i)}));const n=t.addNode(i,e);n.addClass("wb-edit-new"),this.relatedNode=t,n.match=!0,n.makeVisible({noAnimation:!0}).then((()=>{this.startEditTitle(n)}))}}
60
+ /*!
61
+ * wunderbaum.ts
62
+ *
63
+ * A tree control.
64
+ *
65
+ * Copyright (c) 2021-2022, Martin Wendt (https://wwWendt.de).
66
+ * Released under the MIT license.
67
+ *
68
+ * @version v0.0.1-0
69
+ * @date Thu, 31 Mar 2022 10:19:39 GMT
70
+ */class se{constructor(e){this.extensionList=[],this.extensions={},this.keyMap=new Map,this.refKeyMap=new Map,this.viewNodes=new Set,this.activeNode=null,this.focusNode=null,this._disableUpdate=0,this._disableUpdateCount=0,this.types={},this.columns=[],this._columnsById={},this.changedSince=0,this.changes=new Set,this.changedNodes=new Set,this.filterMode=null,this.activeColIdx=0,this.navMode=P.row,this.lastQuicksearchTime=0,this.lastQuicksearchTerm="",this.lastClickTime=0,this._util=T,this.log=this.logDebug;let t=this.options=m({id:null,source:null,element:null,debugLevel:4,header:null,headerHeightPx:S,rowHeightPx:S,columns:null,types:null,escapeTitles:!0,showSpinner:!1,checkbox:!0,minExpandLevel:0,updateThrottleWait:200,skeleton:!1,navigationMode:O.startRow,quicksearch:!0,change:E,enhanceTitle:E,error:E,receive:E,strings:{loadError:"Error",loading:"Loading...",noData:"No data"}},e);const i=new X;this.ready=i.promise();let s=!1;if(this.ready.then((()=>{s=!0;try{this._callEvent("init")}catch(e){console.error("Exception inside `init(e)` event:",e)}})).catch((e=>{if(s)throw e;this._callEvent("init",{error:e})})),this.id=t.id||"wb_"+ ++se.sequence,this.root=new te(this,null,{key:"__root__"}),this._registerExtension(new Y(this)),this._registerExtension(new ie(this)),this._registerExtension(new B(this)),this._registerExtension(new J(this)),this._registerExtension(new G(this)),this.columns=t.columns,delete t.columns,!this.columns){let e="string"==typeof t.header?t.header:this.id;this.columns=[{id:"*",title:e,width:"*"}]}this.types=t.types||{},delete t.types;for(let e of Object.values(this.types))e.classes&&(e.classes=k(e.classes));1===this.columns.length&&(t.navigationMode=O.row),t.navigationMode!==O.cell&&t.navigationMode!==O.startCell||(this.navMode=P.cellNav),this._updateViewportThrottled=function(e,t=0,i={}){let s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return j(i)&&(s="leading"in i?!!i.leading:s,n="trailing"in i?!!i.trailing:n),$(e,t,{leading:s,trailing:n,maxWait:t})}((()=>{this._updateViewport()}),t.updateThrottleWait,{leading:!0,trailing:!0}),this.element=g(t.element),l(!!this.element,`Invalid 'element' option: ${t.element}`),this.element.classList.add("wunderbaum"),this.element.getAttribute("tabindex")||(this.element.tabIndex=0),this.element._wb_tree=this,this.headerElement=this.element.querySelector("div.wb-header");const n=null==t.header?this.columns.length>1:!!t.header;if(this.headerElement){l(!this.columns,"`opts.columns` must not be set if markup already contains a header"),this.columns=[];const e=this.headerElement.querySelector("div.wb-row");for(const t of e.querySelectorAll("div"))this.columns.push({id:t.dataset.id||null,text:""+t.textContent})}else if(n){const e="<span class='wb-col'></span>".repeat(this.columns.length);this.element.innerHTML=`\n <div class='wb-header'>\n <div class='wb-row'>\n ${e}\n </div>\n </div>`}else this.element.innerHTML="";this.element.innerHTML+='\n <div class="wb-scroll-container">\n <div class="wb-node-list"></div>\n </div>',this.scrollContainer=this.element.querySelector("div.wb-scroll-container"),this.nodeListElement=this.scrollContainer.querySelector("div.wb-node-list"),this.headerElement=this.element.querySelector("div.wb-header"),this.columns.length>1&&this.element.classList.add("wb-grid"),this._initExtensions(),t.source?(t.showSpinner&&(this.nodeListElement.innerHTML="<progress class='spinner'>loading...</progress>"),this.load(t.source).then((()=>{i.resolve()})).catch((e=>{i.reject(e)})).finally((()=>{var e;null===(e=this.element.querySelector("progress.spinner"))||void 0===e||e.remove(),this.element.classList.remove("wb-initializing")}))):i.resolve(),setTimeout((()=>{this.updateViewport()}),50),this.scrollContainer.addEventListener("scroll",(e=>{this.updateViewport()})),this.resizeObserver=new ResizeObserver((e=>{this.updateViewport(),console.log("ResizeObserver: Size changed",e)})),this.resizeObserver.observe(this.element),_(this.nodeListElement,"click","div.wb-row",(e=>{const t=se.getEventInfo(e),i=t.node;if(!1===this._callEvent("click",{event:e,node:i,info:t}))return this.lastClickTime=Date.now(),!1;if(i){const s=this.getOption("edit.trigger"),n=this.getOption("edit.slowClickDelay");s.indexOf("clickActive")>=0&&"title"===t.region&&i.isActive()&&(!n||Date.now()-this.lastClickTime<n)&&this._callMethod("edit.startEditTitle",i),t.colIdx>=0?i.setActive(!0,{colIdx:t.colIdx,event:e}):i.setActive(!0,{event:e}),t.region===I.expander?i.setExpanded(!i.isExpanded()):t.region===I.checkbox&&i.setSelected(!i.isSelected())}this.lastClickTime=Date.now()})),_(this.element,"keydown",(e=>{const t=se.getEventInfo(e),i=v(e);this._callHook("onKeyEvent",{event:e,node:t.node,info:t,eventName:i})})),_(this.element,"focusin focusout",(e=>{const t="focusin"===e.type;this._callEvent("focus",{flag:t,event:e}),t||this._callMethod("edit._stopEditTitle",!0,{event:e,forceClose:!0})}))}static getTree(e){if(e instanceof se)return e;if(e instanceof te)return e.tree;if(void 0===e&&(e=0),"number"==typeof e)e=document.querySelectorAll(".wunderbaum")[e];else if("string"==typeof e){for(let t of document.querySelectorAll(".wunderbaum")){const i=t._wb_tree;if(i&&i.id===e)return i}if(!(e=document.querySelector(e)))return null}else e.target&&(e=e.target);return l(e instanceof Element),e.matches(".wunderbaum")||(e=e.closest(".wunderbaum")),e&&e._wb_tree?e._wb_tree:null}static getNode(e){if(!e)return null;if(e instanceof te)return e;for(void 0!==e.target&&(e=e.target);e;){if(e._wb_node)return e._wb_node;e=e.parentElement}return null}_registerExtension(e){this.extensionList.push(e),this.extensions[e.id]=e}_initExtensions(){for(let e of this.extensionList)e.init()}_registerNode(e){let t=e.key;l(null!=t&&!this.keyMap.has(t)),this.keyMap.set(t,e);let i=e.refKey;if(i){let t=this.refKeyMap.get(i);t?t.add(e):this.refKeyMap.set(i,new Set)}}_unregisterNode(e){const t=e.refKey;if(t){const i=this.refKeyMap.get(t);i&&i.delete(e)&&!i.size&&this.refKeyMap.delete(t)}e.tree=null,e.parent=null,this.viewNodes.delete(e),e.removeMarkup()}_callHook(e,t={}){let i,s=m({},{tree:this,options:this.options,result:void 0},t);for(let t of this.extensionList){if(i=t[e].call(t,s),!1===i)break;void 0!==s.result&&(i=s.result)}return i}_callMethod(e,...t){const[i,s]=e.split("."),n=s?this.extensions[i]:this,r=n[s];if(r)return r.apply(n,t);this.logError(`Calling undefined method '${e}()'.`)}_callEvent(e,t){const[i,s]=e.split("."),n=this.options,r=s?n[i][s]:n[i];if(r)return r.call(this,m({name:e,tree:this,util:this._util},t))}_firstNodeInView(e=!0){let t,i;return t=e?Math.ceil(this.scrollContainer.scrollTop/S):Math.floor(this.scrollContainer.scrollTop/S),this.visitRows((e=>{if(e._rowIdx===t)return i=e,!1})),i}_lastNodeInView(e=!0){let t,i;return t=e?Math.floor((this.scrollContainer.scrollTop+this.scrollContainer.clientHeight)/S)-1:Math.ceil((this.scrollContainer.scrollTop+this.scrollContainer.clientHeight)/S)-1,this.visitRows((e=>{if(e._rowIdx===t)return i=e,!1})),i}_getPrevNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!0,start:e||this.getActiveNode()}),e}_getNextNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!1,start:e||this.getActiveNode()}),e}addChildren(e,t){return this.root.addChildren(e,t)}applyCommand(e,t,i){let s,n;switch(t instanceof te?s=t:(s=this.getActiveNode(),l(void 0===i),i=t),e){case"moveUp":n=s.getPrevSibling(),n&&(s.moveTo(n,"before"),s.setActive());break;case"moveDown":n=s.getNextSibling(),n&&(s.moveTo(n,"after"),s.setActive());break;case"indent":n=s.getPrevSibling(),n&&(s.moveTo(n,"appendChild"),n.setExpanded(),s.setActive());break;case"outdent":s.isTopLevel()||(s.moveTo(s.getParent(),"after"),s.setActive());break;case"remove":n=s.getPrevSibling()||s.getParent(),s.remove(),n&&n.setActive();break;case"addChild":this._callMethod("edit.createNode","prependChild");break;case"addSibling":this._callMethod("edit.createNode","after");break;case"rename":this._callMethod("edit.startEditTitle");break;case"down":case"first":case"last":case"left":case"pageDown":case"pageUp":case"parent":case"right":case"up":return s.navigate(e);default:a(`Unhandled command: '${e}'`)}}clear(){this.root.removeChildren(),this.root.children=null,this.keyMap.clear(),this.refKeyMap.clear(),this.viewNodes.clear(),this.activeNode=null,this.focusNode=null,this.changedSince=0,this.changes.clear(),this.changedNodes.clear(),this.updateViewport()}destroy(){this.logInfo("destroy()..."),this.clear(),this.resizeObserver.disconnect(),this.element.innerHTML="",this.element.outerHTML=this.element.outerHTML}getOption(e,t){let i,s=this.options;e.indexOf(".")>=0&&([i,e]=e.split("."),s=s[i]);let n=s[e];return"function"==typeof n&&(n=n({type:"resolve",tree:this})),null!=n?n:t}setOption(e,t){if(-1===e.indexOf("."))return void(this.options[e]=t);const i=e.split(".");this.extensions[i[0]].setPluginOption(i[1],t)}hasFocus(){return this.element.contains(document.activeElement)}runWithoutUpdate(e,t=null){try{return this.enableUpdate(!1),e()}finally{this.enableUpdate(!0)}}async expandAll(e=!0){const t=this.logTime("expandAll("+e+")");try{this.enableUpdate(!1),await this.root.expandAll(e)}finally{this.enableUpdate(!0),this.logTimeEnd(t)}}count(e=!1){return e?this.viewNodes.size:this.keyMap.size}_check(){let e=0;this.visit((t=>{e++})),this.keyMap.size!==e&&this.logWarn(`_check failed: ${this.keyMap.size} !== ${e}`)}findAll(e){return this.root.findAll(e)}findFirst(e){return this.root.findFirst(e)}findNextNode(e,t){let i=null,s=this.getFirstChild(),n="string"==typeof e?function(e){e=c(e);const t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}(e):e;function r(e){if(n(e)&&(i=e),i||e===t)return!1}return t=t||s,this.visitRows(r,{start:t,includeSelf:!1}),i||t===s||this.visitRows(r,{start:s,includeSelf:!0}),i}findRelatedNode(e,t,i=!1){let s=null,n=Math.floor(this.scrollContainer.clientHeight/S);switch(t){case"parent":e.parent&&e.parent.parent&&(s=e.parent);break;case"first":this.visit((function(e){if(e.isVisible())return s=e,!1}));break;case"last":this.visit((function(e){e.isVisible()&&(s=e)}));break;case"left":e.parent&&e.parent.parent&&(s=e.parent);break;case"right":e.children&&e.children.length&&(s=e.children[0]);break;case"up":s=this._getPrevNodeInView(e);break;case"down":s=this._getNextNodeInView(e);break;case"pageDown":let i=this._lastNodeInView();s=this.focusNode!==i?i:this._getNextNodeInView(e,n);break;case"pageUp":if(this.focusNode&&0===this.focusNode._rowIdx)s=this.focusNode;else{let t=this._firstNodeInView();s=this.focusNode!==t?t:this._getPrevNodeInView(e,n)}break;default:this.logWarn("Unknown relation '"+t+"'.")}return s}getActiveColElem(){return this.activeNode&&this.activeColIdx>=0?this.activeNode.getColElem(this.activeColIdx):null}getActiveNode(){return this.activeNode}getFirstChild(){return this.root.getFirstChild()}getFocusNode(){return this.focusNode}static getEventInfo(e){let t=e.target,i=t.classList,s=t.closest(".wb-col"),n=se.getNode(t),r={node:n,region:I.unknown,colDef:void 0,colIdx:-1,colId:void 0,colElem:s};if(i.contains("wb-title"))r.region=I.title;else if(i.contains("wb-expander"))r.region=!1===n.hasChildren()?I.prefix:I.expander;else if(i.contains("wb-checkbox"))r.region=I.checkbox;else if(i.contains("wb-icon"))r.region=I.icon;else if(i.contains("wb-node"))r.region=I.title;else{if(!s)return console.warn("getEventInfo(): not found",e,r),r;{r.region=I.column;const e=Array.prototype.indexOf.call(s.parentNode.children,s);r.colIdx=e}}return-1===r.colIdx&&(r.colIdx=0),r.colDef=n.tree.columns[r.colIdx],null!=r.colDef&&(r.colId=r.colDef.id),r}toString(){return"Wunderbaum<'"+this.id+"'>"}isEditing(){return this._callMethod("edit.isEditingTitle")}isLoading(){var e=!1;return this.root.visit((t=>{if(t._isLoading||t._requestId)return e=!0,!1}),!0),e}logDebug(...e){this.options.debugLevel>=4&&(Array.prototype.unshift.call(e,this.toString()),console.log.apply(console,e))}logError(...e){this.options.debugLevel>=1&&(Array.prototype.unshift.call(e,this.toString()),console.error.apply(console,e))}logInfo(...e){this.options.debugLevel>=3&&(Array.prototype.unshift.call(e,this.toString()),console.info.apply(console,e))}logTime(e){return this.options.debugLevel>=4&&console.time(this+": "+e),e}logTimeEnd(e){this.options.debugLevel>=4&&console.timeEnd(this+": "+e)}logWarn(...e){this.options.debugLevel>=2&&(Array.prototype.unshift.call(e,this.toString()),console.warn.apply(console,e))}render(e){const t=this.logTime("render");let i=0,s=0;let n=!1,r=null==e?void 0:e.startIdx,o=null==e?void 0:e.endIdx;const a=this.viewNodes;this.viewNodes=new Set;let d=this.viewNodes;l(null!=r&&null!=o),r%2&&r--,this.visitRows((function(e){const t=e._rowIdx;d.add(e),a.delete(e),t!==i&&(e._rowIdx=i,n=!0),i<r||i>o?(e._callEvent("discard"),e.removeMarkup()):e.render({top:s}),i++,s+=22}));for(const e of a)e._callEvent("discard"),e.removeMarkup();return this.nodeListElement.style.height=s+"px",this.logTimeEnd(t),n}renderHeader(){if(!this.headerElement)return;const e=this.headerElement.querySelector(".wb-row");l(e),e.innerHTML="<span class='wb-col'></span>".repeat(this.columns.length);for(let t=0;t<this.columns.length;t++){let i=this.columns[t],s=e.children[t];s.style.left=i._ofsPx+"px",s.style.width=i._widthPx+"px",s.textContent=i.title||i.id}}scrollTo(e){const t=e.node||this.getActiveNode();l(null!=t._rowIdx);const i=this.scrollContainer.scrollTop,s=this.scrollContainer.clientHeight,n=t._rowIdx*S;let r;n>i?n+S<i+s||(r=n-s+S-1):n<i&&(r=n+1),this.log("scrollTo("+n+"): "+i+" => "+r,s),null!=r&&(this.scrollContainer.scrollTop=r,this.updateViewport())}setCellMode(e){if(e===this.navMode)return;const t=this.navMode,i=e!==P.row;this.navMode=e,i&&t===P.row&&this.setColumn(0),this.element.classList.toggle("wb-cell-mode",i),this.element.classList.toggle("wb-cell-edit-mode",e===P.cellEdit),this.setModified(L.row,this.activeNode)}setColumn(e){if(l(this.navMode!==P.row),l(0<=e&&e<this.columns.length),this.activeColIdx=e,this.setModified(L.row,this.activeNode),this.headerElement)for(let t of this.headerElement.children){let i=0;for(let s of t.children)s.classList.toggle("wb-active",i++===e)}for(let t of this.nodeListElement.children){let i=0;for(let s of t.children)s.classList.toggle("wb-active",i++===e)}}setFocus(e=!0){e?this.element.focus():this.element.blur()}setModified(e,t,i){this.changedSince||(this.changedSince=Date.now()),this.changes.add(e),e===L.structure?this.changedNodes.clear():t&&!this.changes.has(L.structure)&&(this.changedNodes.size<10?this.changedNodes.add(t):(this.changes.add(L.structure),this.changedNodes.clear()))}setStatus(e,t,i){return this.root.setStatus(e,t,i)}updateColumns(e){let t=!1,i=this.element.clientWidth,s=0,n=0;this._columnsById={};for(let e of this.columns){this._columnsById[e.id]=e;let i=e.width;if(i&&"*"!==i)if("number"==typeof i)e._weight=i,s+=i;else if("string"==typeof i&&i.endsWith("px")){e._weight=0;let s=parseFloat(i.slice(0,-2));e._widthPx!=s&&(t=!0,e._widthPx=s),n+=s}else a("Invalid column width: "+i);else e._weight=1,s+=1}let r=Math.max(0,i-n),l=0;for(let e of this.columns){if(e._weight){let i=Math.max(4,r*e._weight/s);e._widthPx!=i&&(t=!0,e._widthPx=i)}e._ofsPx=l,l+=e._widthPx}t&&(this.renderHeader(),!1!==e.render&&this.render())}updateViewport(e=!1){this._updateViewportThrottled(),e&&this._updateViewportThrottled.flush()}_updateViewport(){if(this._disableUpdate)return;let e=this.scrollContainer.clientHeight;const t=this.options.headerHeightPx;let i=this.element.clientHeight-t,s=this.scrollContainer.scrollTop;Math.abs(e-i)>1&&(this.scrollContainer.style.height=i+"px",e=i),this.updateColumns({render:!1}),this.render({startIdx:Math.max(0,s/S-5),endIdx:Math.max(0,(s+e)/S+5)}),this._callEvent("update")}visit(e){return this.root.visit(e,!1)}visitRows(e,t){if(!this.root.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);let i,s,n,r,o,a,d=0,c=!1===(t=t||{}).includeSelf,h=!!t.includeHidden,u=!h&&"hide"===this.filterMode,p=t.start||this.root.children[0];for(n=p.parent;n;){for(o=n.children,s=o.indexOf(p)+d,l(s>=0,"Could not find "+p+" in parent's children: "+n),i=s;i<o.length;i++){if(p=o[i],p===a)return!1;if(!u||p.statusNodeType||p.match||p.subMatchCount){if(!c&&!1===e(p))return!1;if(c=!1,p.children&&p.children.length&&(h||p.expanded)&&(r=p.visit((function(t){return t!==a&&(!u||t.match||t.subMatchCount?!1!==e(t)&&(h||!t.children||t.expanded?void 0:"skip"):"skip")}),!1),!1===r))return!1}}p=n,n=n.parent,d=1,!n&&t.wrap&&(this.logDebug("visitRows(): wrap around"),l(t.start,"`wrap` option requires `start`"),a=t.start,t.wrap=!1,n=this.root,d=0)}return!0}_visitRowsUp(e,t){let i,s,n,r=!!t.includeHidden,l=t.start||this.root.children[0];if(!1!==t.includeSelf&&!1===e(l))return!1;for(;;){if(n=l.parent,i=n.children,i[0]===l){if(l=n,!l.parent)break;i=n.children}else for(s=i.indexOf(l),l=i[s-1];(r||l.expanded)&&l.children&&l.children.length;)i=l.children,n=l,l=i[i.length-1];if((r||l.isVisible())&&!1===e(l))return!1}return!0}load(e,t={}){this.clear();return(t.columns||e.columns)&&(this.columns=t.columns,this.renderHeader()),this.root.load(e)}enableUpdate(e){e?(l(this._disableUpdateCount>0),this._disableUpdateCount--,0===this._disableUpdateCount&&this.updateViewport()):this._disableUpdateCount++}clearFilter(){return this.extensions.filter.clearFilter()}isFilterActive(){return!!this.filterMode}updateFilter(){return this.extensions.filter.updateFilter()}}se.version="v0.0.1-0",se.sequence=0,se.util=T,e.Wunderbaum=se,Object.defineProperty(e,"__esModule",{value:!0})}));
71
+ //# sourceMappingURL=wunderbaum.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["build/wunderbaum.umd.js"],"names":["global","factory","exports","module","define","amd","globalThis","self","mar10","this","MOUSE_BUTTONS","0","1","2","3","4","5","isMac","nav","navigator","test","platform","_getUserInfo","REX_HTML","REX_TOOLTIP","ENTITY_MAP","&","<",">","\"","'","/","assert","cond","msg","Error","documentReady","callback","document","readyState","addEventListener","error","escapeHtml","s","replace","escapeRegex","extractHtmlText","indexOf","getValueFromElem","elem","coerce","tag","tagName","value","classList","contains","span","embeddedInput","querySelector","innerText","input","type","indeterminate","checked","valueAsDate","valueAsNumber","name","parentElement","undefined","elemFromHtml","html","t","createElement","innerHTML","trim","content","firstElementChild","_IGNORE_KEYS","Set","elemFromSelector","obj","eventToString","event","key","et","altKey","push","ctrlKey","metaKey","shiftKey","button","has","join","extend","args","i","length","arg","Object","prototype","hasOwnProperty","call","isArray","Array","isEmptyObject","keys","constructor","isFunction","isPlainObject","toString","noop","onEvent","rootElem","eventNames","selectorOrHandler","handlerOrNone","selector","handler","split","forEach","evn","e","target","matches","closest","overrideMethod","instance","methodName","ctx","prevSuper","prevSuperApply","prevFunc","_super","apply","_superApply","argsArray","getOption","opts","defaultValue","ext","toSet","val","set","c","add","util","freeze","__proto__","MAX_INT","Deferred","[object Object]","thens","catches","status","resolvedValue","rejectedError","cb","unshift","then","catch","documentReadyPromise","Promise","resolve","each","k","escapeTooltip","setValueToElem","setTimeoutPromise","ms","reject","setTimeout","err","sleep","async","toggleCheckbox","element","tristate","toLowerCase","ROW_HEIGHT","TEST_IMG","RegExp","ChangeType","NodeStatusType","TargetType","iconMap","loading","noData","expanderExpanded","expanderCollapsed","expanderLazy","checkChecked","checkUnchecked","checkUnknown","radioChecked","radioUnchecked","radioUnknown","folder","folderOpen","doc","NavigationModeOption","NavigationMode","KEY_TO_ACTION_DICT"," ","+","Add","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backspace","Divide","End","Home","Control+End","Control+Home","*","Multiply","PageDown","PageUp","-","Subtract","makeNodeTitleMatcher","node","title","WunderbaumExtension","tree","id","defaults","enabled","treeOpts","options","extensionOpts","getPluginOption","_a","flag","setPluginOption","data","freeGlobal","freeGlobalThis","freeSelf","root","Function","isObject","debounce","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","useRAF","requestAnimationFrame","TypeError","invokeFunc","time","thisArg","startTimer","pendingFunc","cancelAnimationFrame","shouldInvoke","timeSinceLastCall","timerExpired","Date","now","trailingEdge","timeSinceLastInvoke","timeWaiting","Math","min","remainingWait","debounced","isInvoking","leadingEdge","max","cancel","clearTimeout","cancelTimer","flush","pending","RE_START_MARKER","RE_END_MARTKER","FilterExtension","super","autoApply","autoExpand","counter","fuzzy","hideExpandedCounter","hideExpanders","highlight","leavesOnly","mode","lastFilterArgs","init","attachInput","queryInput","filterNodes","filter","branchMode","_opts","runWithoutUpdate","_applyFilterImpl","match","temp","start","count","escapeTitles","prevAutoCollapse","autoCollapse","hideMode","logInfo","clearFilter","map","reduce","a","b","re","reHighlight","text","res","_markFuzzyMatchedChars","titleWithHighlight","filterMode","arguments","toggle","subMatchCount","visit","setStatus","ok","children","matchedByBranch","parent","visitParents","p","expanded","setExpanded","noAnimation","noEvents","scrollIntoView","_filterAutoExpanded","_applyFilterNoUpdate","logWarn","enableUpdate","_rowElem","titleElem","textContent","_callEvent","subMatchBadge","remove","matchingIndices","_matchingArrIdx","_mIdx","textPoses","v","KeynavExtension","focusNode","eventName","handled","activate","autoActivate","navModeOption","navigationMode","logDebug","_callMethod","activeNode","getActiveNode","firstNode","getFirstChild","setActive","setFocus","getFocusNode","navMode","row","quicksearch","stamp","lastQuicksearchTime","lastQuicksearchTerm","matchNode","findNextNode","preventDefault","lazy","startRow","setCellMode","cellNav","setSelected","isSelected","navigate","activeColIdx","getActiveColElem","click","isExpandable","isExpanded","cellEdit","setColumn","cell","columns","LoggerExtension","ignoreEvents","prefix","extra","console","debug","DndExtension","autoExpandMS","multiSource","effectAllowed","dropEffectDefault","preventForeignNodes","preventLazyParents","preventNonNodes","preventRecursion","preventSameParent","preventVoidMoves","scroll","scrollSensitivity","scrollSpeed","sourceCopyHook","dragStart","dragDrag","dragEnd","dragEnter","dragOver","dragExpand","dragDrop","dragLeave","srcNode","lastTargetNode","lastEnterStamp","lastAllowedDropRegions","lastDropEffect","lastDropRegion","dndOpts","dnd","onDragEvent","bind","onDropEvent","ltn","removeClass","size","allowed","dy","offsetY","sp","scrollContainer","sensitivity","speed","scrolled","scrollTop","offsetTop","offsetHeight","pageY","scrollHeight","clientHeight","Wunderbaum","getNode","dataTransfer","nodeData","toDict","n","_org_key","treeId","json","JSON","stringify","setData","addClass","_leaveNode","targetNode","dt","dropEffect","_calcDropRegion","isStatusNode","regionSet","unifyDragover","autoScroll","region","_isLoading","toggleClass","stopPropagation","sourceNode","_promise","_resolve","_reject","reason","finally","NODE_PROPS","NODE_ATTRS","WunderbaumNode","_b","refKey","selected","extraClasses","_requestId","_errorInfo","_partsel","_partload","_rowIdx","sequence","statusNodeType","checkbox","colspan","icon","classes","entries","_registerNode","typeInfo","types","insertBefore","before","nodeList","child","subChildren","addChildren","redraw","concat","findDirectChild","pos","splice","setModified","structure","getNextSibling","cmd","applyCommand","className","cn","delete","matcher","ptr","cl","l","where","includeHidden","findRelatedNode","colIdx","findIndex","colElems","querySelectorAll","ac","idx","includeRoot","includeSelf","dtn","part","separator","path","isFunc","other","andCollapsed","hasChildren","hasFilter","parents","getParentList","source","response","requestId","prevParent","url","timerLabel","logTime","fetch","method","renderHeader","_loadSourceObject","logError","logTimeEnd","forceReload","wasExpanded","isUnloaded","isLoaded","resetLazy","load","updateViewport","render","debugLevel","log","info","warn","dfd","deferreds","len","effects","all","promise","targetParent","isDescendantOf","triggerModifyChild","makeVisible","removeMarkup","_unregisterNode","isRootNode","_wb_node","colInfosById","col","parentElem","replaceChild","iconSpan","appendChild","treeOptions","level","getLevel","nodeElem","titleSpan","rowDiv","checkboxSpan","expanderSpan","isNew","rowClasses","skeleton","ofsTitlePx","minExpandLevel","_createIcon","_ofsTitlePx","draggable","colElem","style","left","_ofsPx","width","_widthPx","top","vpWidth","clientWidth","_getRenderInfo","nodeListElement","removeChildren","recursive","dict","propName","scrollTo","prev","retrigger","noEvent","orgEvent","nextNode","prevNode","setDirty","_disableUpdate","loadLazy","message","details","statusNode","_setStatusNode","firstChild","addNode","_clearStatusNode","strings","tooltip","loadError","operation","modifyChild","EditExtension","minlength","maxlength","trigger","select","slowClickDelay","validity","beforeEdit","edit","curEditNode","relatedNode","debouncedOnChange","_onChange","getEventInfo","_applyChange","inputElem","inputValue","_stopEditTitle","startEditTitle","inputHtml","getColElem","reportValidity","focus","focusElem","activeElement","newValue","forceClose","oldValue","errMsg","validationMessage","setTitle","createNode","newNode","extensionList","extensions","keyMap","Map","refKeyMap","viewNodes","_disableUpdateCount","_columnsById","changedSince","changes","changedNodes","lastClickTime","_util","header","headerHeightPx","rowHeightPx","showSpinner","updateThrottleWait","change","enhanceTitle","receive","readyDeferred","ready","readyOk","_registerExtension","defaultName","values","startCell","_updateViewportThrottled","throttle","_updateViewport","getAttribute","tabIndex","_wb_tree","headerElement","wantHeader","rowElement","colDiv","dataset","coldivs","repeat","_initExtensions","resizeObserver","ResizeObserver","observe","isActive","expander","_callHook","el","treeElem","Element","extension","rk","rks","get","hook","d","complete","topIdx","ceil","floor","visitRows","bottomIdx","ofs","reverse","nodeOrOpts","refNode","getPrevSibling","moveTo","isTopLevel","getParent","clear","disconnect","outerHTML","parts","hint","expandAll","visible","findAll","findFirst","startNode","reMatch","makeNodeTitleStartMatcher","_checkNode","pageSize","isVisible","_getPrevNodeInView","_getNextNodeInView","bottomNode","_lastNodeInView","topNode","_firstNodeInView","parentCol","unknown","colDef","colId","column","parentNode","label","timeEnd","modified","startIdx","end","endIdx","obsoleteViewNodes","prevIdx","height","headerRow","curTop","nodeOfs","newTop","prevMode","cellMode","blur","totalWeight","fixedWidth","cw","_weight","endsWith","px","parseFloat","slice","restPx","ofsPx","immediate","headerHeight","wantHeight","abs","updateColumns","_visitRowsUp","nextIdx","siblings","stopNode","siblingOfs","skipFirstNode","checkFilter","wrap","updateFilter","version","defineProperty"],"mappings":"CAAC,SAAUA,EAAQC,GACE,iBAAZC,SAA0C,oBAAXC,OAAyBF,EAAQC,SACrD,mBAAXE,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,WAAYH,GACUA,GAA1ED,EAA+B,oBAAfM,WAA6BA,WAAaN,GAAUO,MAAqBC,MAAQ,IAHpG,CAIEC,MAAM,SAAWP,GAAW;;;;;KAQ5B,MAAMQ,EAAgB,CAClBC,EAAG,GACHC,EAAG,OACHC,EAAG,SACHC,EAAG,QACHC,EAAG,OACHC,EAAG,WAKDC,EAoEN,WACI,MAAMC,EAAMC,UAKZ,MAHY,CACRF,MAAO,MAAMG,KAAKF,EAAIG,WA1EbC,GAEML,MACjBM,EAAW,YACXC,EAAc,WACdC,EAAa,CACfC,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,SACLC,IAAK,QACLC,IAAK,UAqDT,SAASC,EAAOC,EAAMC,GAClB,IAAKD,EAED,MADAC,EAAMA,GAAO,oBACP,IAAIC,MAAMD,GAYxB,SAASE,EAAcC,GACS,YAAxBC,SAASC,WACTD,SAASE,iBAAiB,mBAAoBH,GAG9CA,IAwCR,SAASI,EAAMP,GACX,MAAM,IAAIC,MAAMD,GAGpB,SAASQ,EAAWC,GAChB,OAAQ,GAAKA,GAAGC,QAAQrB,GAAU,SAAUoB,GACxC,OAAOlB,EAAWkB,MAO1B,SAASE,EAAYF,GACjB,OAAQ,GAAKA,GAAGC,QAAQ,yBAA0B,QAStD,SAASE,EAAgBH,GAKrB,OAJIA,EAAEI,QAAQ,MAAQ,GAClBN,EAAM,mBAGHE,EAyBX,SAASK,EAAiBC,EAAMC,GAAS,GACrC,MAAMC,EAAMF,EAAKG,QACjB,IAAIC,EAAQ,KACZ,GAAY,SAARF,GAAkBF,EAAKK,UAAUC,SAAS,UAAW,CACrD,MAAMC,EAAOP,EACPQ,EAAgBD,EAAKE,cAAc,gBACzC,GAAID,EACA,OAAOT,EAAiBS,EAAeP,GAE3CM,EAAKG,UAAY,GAAKN,OAErB,GAAY,UAARF,EAAiB,CACtB,MAAMS,EAAQX,EAEd,OADaW,EAAMC,MAEf,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,QACD,MACJ,IAAK,WACDR,EAAQO,EAAME,cAAgB,KAAOF,EAAMG,QAC3C,MACJ,IAAK,OACL,IAAK,WACL,IAAK,iBACL,IAAK,QACL,IAAK,OACL,IAAK,OACDV,EAAQH,EAASU,EAAMI,YAAcJ,EAAMP,MAC3C,MACJ,IAAK,SACL,IAAK,QACDA,EAAQO,EAAMK,cACd,MACJ,IAAK,QACD,MAAMC,EAAON,EAAMM,KACbH,EAAUH,EAAMO,cAAcT,cAAc,eAAeQ,eACjEb,EAAQU,EAAUA,EAAQV,WAAQe,EAClC,MACJ,IAAK,OACL,QACIf,EAAQO,EAAMP,YAGrB,GAAY,WAARF,EAAkB,CAEvBE,EADeJ,EACAI,MAEnB,OAAOA,EAqEX,SAASgB,EAAaC,GAClB,MAAMC,EAAIjC,SAASkC,cAAc,YAEjC,OADAD,EAAEE,UAAYH,EAAKI,OACZH,EAAEI,QAAQC,kBAErB,MAAMC,EAAe,IAAIC,IAAI,CAAC,MAAO,UAAW,OAAQ,UAExD,SAASC,EAAiBC,GACtB,OAAKA,EAGc,iBAARA,EACA1C,SAASoB,cAAcsB,GAE3BA,EALI,KAaf,SAASC,EAAcC,GACnB,IAAIC,EAAMD,EAAMC,IAAKC,EAAKF,EAAMrB,KAAMlB,EAAI,GA2B1C,OA1BIuC,EAAMG,QACN1C,EAAE2C,KAAK,OAEPJ,EAAMK,SACN5C,EAAE2C,KAAK,WAEPJ,EAAMM,SACN7C,EAAE2C,KAAK,QAEPJ,EAAMO,UACN9C,EAAE2C,KAAK,SAEA,UAAPF,GAAyB,aAAPA,EAClBzC,EAAE2C,KAAK5E,EAAcwE,EAAMQ,QAAUN,GAEzB,UAAPA,EACLzC,EAAE2C,KAAKF,GAODP,EAAac,IAAIR,IACvBxC,EAAE2C,KAAKH,GAEJxC,EAAEiD,KAAK,KAElB,SAASC,KAAUC,GACf,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAKE,OAAQD,IAAK,CAClC,IAAIE,EAAMH,EAAKC,GACf,GAAW,MAAPE,EAGJ,IAAK,IAAId,KAAOc,EACRC,OAAOC,UAAUC,eAAeC,KAAKJ,EAAKd,KAC1CW,EAAK,GAAGX,GAAOc,EAAId,IAI/B,OAAOW,EAAK,GAEhB,SAASQ,EAAQtB,GACb,OAAOuB,MAAMD,QAAQtB,GAEzB,SAASwB,EAAcxB,GACnB,OAAmC,IAA5BkB,OAAOO,KAAKzB,GAAKgB,QAAgBhB,EAAI0B,cAAgBR,OAEhE,SAASS,EAAW3B,GAChB,MAAsB,mBAARA,EAElB,SAAS4B,EAAc5B,GACnB,MAA+C,oBAAxCkB,OAAOC,UAAUU,SAASR,KAAKrB,GAG1C,SAAS8B,KAAQhB,IACjB,SAASiB,EAAQC,EAAUC,EAAYC,EAAmBC,GACtD,IAAIC,EAAUC,EACdL,EAAWjC,EAAiBiC,GACxBG,GACAC,EAAWF,EACXG,EAAUF,IAGVC,EAAW,GACXC,EAAUH,GAEdD,EAAWK,MAAM,KAAKC,SAASC,IAC3BR,EAASxE,iBAAiBgF,GAAK,SAAUC,GACrC,IAAKL,EACD,OAAOC,EAAQI,GAEd,GAAIA,EAAEC,OAAQ,CACf,IAAIzE,EAAOwE,EAAEC,OACb,GAAIzE,EAAK0E,QAAQP,GACb,OAAOC,EAAQI,GAGnB,GADAxE,EAAOA,EAAK2E,QAAQR,GAChBnE,EACA,OAAOoE,EAAQI,UAkBnC,SAASI,EAAeC,EAAUC,EAAYV,EAASW,GACnD,IAAIC,EAAWC,EAAgB3H,EAAOyH,GAAOF,EAAUK,EAAWL,EAASC,GAAaK,EAAS,IAAItC,IAC1FqC,EAASE,MAAM9H,EAAMuF,GAC7BwC,EAAeC,GACPJ,EAASE,MAAM9H,EAAMgI,GAehCT,EAASC,GAbK,IAAIjC,KACd,IAKI,OAJAmC,EAAY1H,EAAK6H,OACjBF,EAAiB3H,EAAK+H,YACtB/H,EAAK6H,OAASA,EACd7H,EAAK+H,YAAcA,EACZjB,EAAQgB,MAAM9H,EAAMuF,GAE/B,QACIvF,EAAK6H,OAASH,EACd1H,EAAK+H,YAAcJ,IA8D/B,SAASM,EAAUC,EAAMvE,EAAMwE,GAC3B,IAAIC,EAEAF,GAAQvE,EAAKnB,QAAQ,MAAQ,KAC5B4F,EAAKzE,GAAQA,EAAKoD,MAAM,KACzBmB,EAAOA,EAAKE,IAEhB,IAAItF,EAAQoF,EAAOA,EAAKvE,GAAQ,KAEhC,OAAOb,MAAAA,EAAqCA,EAAQqF,EAGxD,SAASE,EAAMC,GACX,GAAIA,aAAe/D,IACf,OAAO+D,EAEX,GAAmB,iBAARA,EAAkB,CACzB,IAAIC,EAAM,IAAIhE,IACd,IAAK,MAAMiE,KAAKF,EAAIvB,MAAM,KACtBwB,EAAIE,IAAID,EAAErE,QAEd,OAAOoE,EAEX,GAAIvC,MAAMD,QAAQuC,GACd,OAAO,IAAI/D,IAAI+D,GAEnB,MAAM,IAAI1G,MAAM,kCAAoC0G,GASxD,IAAII,EAAoB/C,OAAOgD,OAAO,CACpCC,UAAW,KACXzI,cAAeA,EACf0I,QArhBc,iBAshBdnI,MAAOA,EACPoI,SAtgBF,MACIC,cACI7I,KAAK8I,MAAQ,GACb9I,KAAK+I,QAAU,GACf/I,KAAKgJ,OAAS,GAElBH,QAAQjG,GACJ,GAAI5C,KAAKgJ,OACL,MAAM,IAAItH,MAAM,mBAEpB1B,KAAKgJ,OAAS,WACdhJ,KAAKiJ,cAAgBrG,EACrB5C,KAAK8I,MAAMhC,SAAShD,GAAMA,EAAElB,KAC5B5C,KAAK8I,MAAQ,GAEjBD,OAAO7G,GACH,GAAIhC,KAAKgJ,OACL,MAAM,IAAItH,MAAM,mBAEpB1B,KAAKgJ,OAAS,WACdhJ,KAAKkJ,cAAgBlH,EACrBhC,KAAK+I,QAAQjC,SAASwB,GAAMA,EAAEtG,KAC9BhC,KAAK+I,QAAU,GAEnBF,KAAKM,GACc,aAAXH,OACAG,EAAGnJ,KAAKiJ,eAGRjJ,KAAK8I,MAAMM,QAAQD,GAG3BN,MAAMM,GACkB,aAAhBnJ,KAAKgJ,OACLG,EAAGnJ,KAAKkJ,eAGRlJ,KAAK+I,QAAQK,QAAQD,GAG7BN,UACI,MAAO,CACHQ,KAAMrJ,KAAKqJ,KACXC,MAAOtJ,KAAKsJ,SA4dtB/H,OAAQA,EACRI,cAAeA,EACf4H,qBAjcF,WACI,OAAO,IAAIC,SAASC,IAChB9H,EAAc8H,OAgcpBC,KArbF,SAAcnF,EAAK3C,GACf,GAAW,MAAP2C,EAEA,OAAOA,EAEX,IAAIgB,EAAShB,EAAIgB,OAAQD,EAAI,EAC7B,GAAsB,iBAAXC,EACP,KAAOD,EAAIC,IACkC,IAArC3D,EAASgE,KAAKrB,EAAIe,GAAIA,EAAGf,EAAIe,IADlBA,UAOnB,IAAK,IAAIqE,KAAKpF,EACV,IAAyC,IAArC3C,EAASgE,KAAKrB,EAAIe,GAAIqE,EAAGpF,EAAIoF,IAC7B,MAIZ,OAAOpF,GAkaTvC,MAAOA,EACPC,WAAYA,EACZG,YAAaA,EACbwH,cAjZF,SAAuB1H,GACnB,OAAQ,GAAKA,GAAGC,QAAQpB,GAAa,SAAUmB,GAC3C,OAAOlB,EAAWkB,OAgZxBG,gBAAiBA,EACjBE,iBAAkBA,EAClBsH,eAjTF,SAASA,EAAerH,EAAMI,GAC1B,MAAMF,EAAMF,EAAKG,QACjB,GAAY,SAARD,GAAkBF,EAAKK,UAAUC,SAAS,UAAW,CACrD,MAAMC,EAAOP,EACPQ,EAAgBD,EAAKE,cAAc,gBACzC,GAAID,EACA,OAAO6G,EAAe7G,EAAeJ,GAEzCG,EAAKG,UAAY,GAAKN,OAErB,GAAY,UAARF,EAAiB,CACtB,MAAMS,EAAQX,EAEd,OADaW,EAAMC,MAEf,IAAK,WACDD,EAAME,cAAyB,MAATT,EACtBO,EAAMG,UAAYV,EAClB,MACJ,IAAK,OACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,iBACDO,EAAMI,YAAcX,EACpB,MACJ,IAAK,SACL,IAAK,QACDO,EAAMK,cAAgBZ,EACtB,MACJ,IAAK,QACDrB,GAAO,EAAO,mBAMd,MACJ,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,QACD,MACJ,IAAK,OACL,QACI4B,EAAMD,UAAYN,QAGzB,GAAY,WAARF,EAAkB,CACRF,EACRI,MAAQA,IAgQrBgB,aAAcA,EACdU,iBAAkBA,EAClBE,cAAeA,EACfY,OAAQA,EACRS,QAASA,EACTE,cAAeA,EACfG,WAAYA,EACZC,cAAeA,EACfE,KAAMA,EACNC,QAASA,EACTc,eAAgBA,EAChB0C,kBAvHF,SAA2BlI,EAAUmI,GACjC,OAAO,IAAIP,SAAQ,CAACC,EAASO,KACzBC,YAAW,KACP,IACIR,EAAQ7H,EAASgG,MAAM9H,OAE3B,MAAOoK,GACHF,EAAOE,MAEZH,OA+GTI,MAlGFC,eAAqBL,GACjB,OAAO,IAAIP,SAASC,GAAYQ,WAAWR,EAASM,MAkGtDM,eA7FF,SAAwBC,EAAS1H,EAAO2H,GACpC,MAAMpH,EAAQmB,EAAiBgG,GAG/B,GAFA/I,EAAsB,aAAf4B,EAAMC,MACbmH,MAAAA,IAAuDA,EAAWpH,EAAMN,UAAUC,SAAS,gBAAkBK,EAAME,oBACrGM,IAAVf,EAAqB,CAErB,OADiBO,EAAME,cAAgB,KAAOF,EAAMG,SAEhD,KAAK,EACDV,GAAQ,EACR,MACJ,KAAK,EACDA,GAAQ2H,GAAW,KACnB,MACJ,KAAK,KACD3H,GAAQ,GAIpBO,EAAME,cAAyB,MAATT,EACtBO,EAAMG,UAAYV,GA2EpBmF,UAAWA,EACXI,MAAOA,EACP/E,KAxCF,SAAcmB,GACV,OAAOkB,OAAOC,UAAUU,SACnBR,KAAKrB,GACLpC,QAAQ,oBAAqB,MAC7BqI;;;;;KA4CT,MACMC,EAAa,GAIbC,EAAW,IAAIC,OAAO,SAC5B,IAAIC,EAOAC,EASAC,GAfJ,SAAWF,GACPA,EAAgB,IAAI,MACpBA,EAAgB,IAAI,MACpBA,EAAsB,UAAI,YAC1BA,EAAmB,OAAI,SAJ3B,CAKGA,IAAeA,EAAa,KAE/B,SAAWC,GACPA,EAAmB,GAAI,KACvBA,EAAwB,QAAI,UAC5BA,EAAsB,MAAI,QAC1BA,EAAuB,OAAI,SAJ/B,CAMGA,IAAmBA,EAAiB,KAGvC,SAAWC,GACPA,EAAoB,QAAI,GACxBA,EAAqB,SAAI,WACzBA,EAAmB,OAAI,SACvBA,EAAqB,SAAI,WACzBA,EAAiB,KAAI,OACrBA,EAAmB,OAAI,SACvBA,EAAkB,MAAI,QAP1B,CAQGA,IAAeA,EAAa,KAC/B,IAAIC,EAAU,CACV/I,MAAO,6BAEPgJ,QAAS,6BAGTC,OAAQ,wBACRC,iBAAkB,qBAElBC,kBAAmB,sBAEnBC,aAAc,8CAEdC,aAAc,qBACdC,eAAgB,eAChBC,aAAc,wBACdC,aAAc,oBACdC,eAAgB,eAChBC,aAAc,sBACdC,OAAQ,gBACRC,WAAY,qBACZC,IAAK,sBAET,IAAIC,EAOAC,GANJ,SAAWD,GACPA,EAA+B,SAAI,WACnCA,EAA2B,KAAI,OAC/BA,EAAgC,UAAI,YACpCA,EAA0B,IAAI,MAJlC,CAKGA,IAAyBA,EAAuB,KAEnD,SAAWC,GACPA,EAAoB,IAAI,MACxBA,EAAwB,QAAI,UAC5BA,EAAyB,SAAI,WAHjC,CAIGA,IAAmBA,EAAiB,KAEvC,MAAMC,EAAqB,CACvBC,IAAK,eACLC,IAAK,SACLC,IAAK,SACLC,UAAW,OACXC,UAAW,OACXC,WAAY,QACZC,QAAS,KACTC,UAAW,SACXlL,IAAK,cACLmL,OAAQ,cACRC,IAAK,UACLC,KAAM,WACNC,cAAe,OACfC,eAAgB,QAChBC,IAAK,YACLC,SAAU,YACVC,SAAU,WACVC,OAAQ,SACRC,IAAK,WACLC,SAAU,YAGd,SAASC,EAAqBlL,GAE1B,OADAA,EAAIE,EAAYF,EAAEsI,eACX,SAAU6C,GACb,OAAOA,EAAKC,MAAM9C,cAAclI,QAAQJ,IAAM;;;;;;AAiBtD,MAAMqL,EACF1E,YAAY2E,EAAMC,EAAIC,GAClB1N,KAAK2N,SAAU,EACf3N,KAAKwN,KAAOA,EACZxN,KAAKyN,GAAKA,EACVzN,KAAK4N,SAAWJ,EAAKK,QACrB,MAAM7F,EAAOwF,EAAKK,aACQlK,IAAtB3D,KAAK4N,SAASH,GACdzF,EAAKyF,GAAMzN,KAAK8N,cAAgB1I,EAAO,GAAIsI,IAI3C1N,KAAK8N,cAAgB1I,EAAO,GAAIsI,EAAU1F,EAAKyF,IAC/CzF,EAAKyF,GAAMzN,KAAK8N,eAEpB9N,KAAK2N,QAAU3N,KAAK+N,gBAAgB,WAAW,GAGnDlF,OACI7I,KAAKwN,KAAKlD,QAAQzH,UAAU0F,IAAI,UAAYvI,KAAKyN,IAgBrD5E,gBAAgBpF,EAAMwE,GAClB,IAAI+F,EACJ,OAA2C,QAAnCA,EAAKhO,KAAK8N,cAAcrK,UAA0B,IAAPuK,EAAgBA,EAAK/F,EAE5EY,gBAAgBpF,EAAMb,GAClB5C,KAAK8N,cAAcrK,GAAQb,EAE/BiG,WAAWoF,GAAO,GACd,OAAOjO,KAAKkO,gBAAgB,YAAaD,GAG7CpF,WAAWsF,IAGXtF,SAASsF;;;;;KAYb,MAAMC,EAA+B,iBAAX7O,QACX,OAAXA,QACAA,OAAOkG,SAAWA,QAClBlG,OAEE8O,EAAuC,iBAAfxO,YACX,OAAfA,YACAA,WAAW4F,QAAUA,QACrB5F,WAEEyO,EAA2B,iBAATxO,MAA8B,OAATA,MAAiBA,KAAK2F,SAAWA,QAAU3F,KAElFyO,EAAOF,GAAkBD,GAAcE,GAAYE,SAAS,cAATA,GAwBzD,SAASC,EAAS7L,GACd,MAAMQ,SAAcR,EACpB,OAAgB,MAATA,IAA2B,WAATQ,GAA8B,aAATA,GA+DlD,SAASsL,EAASC,EAAMC,EAAO,EAAGf,EAAU,IACxC,IAAIgB,EAAUC,EAAUC,EAASC,EAAQC,EAASC,EAC9CC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,MAAMC,GAAUX,GAAiB,IAATA,GAAoD,mBAA/BL,EAAKiB,sBAClD,GAAoB,mBAATb,EACP,MAAM,IAAIc,UAAU,uBASxB,SAASC,EAAWC,GAChB,MAAMtK,EAAOwJ,EACPe,EAAUd,EAIhB,OAHAD,EAAWC,OAAWnL,EACtBwL,EAAiBQ,EACjBX,EAASL,EAAK/G,MAAMgI,EAASvK,GACtB2J,EAEX,SAASa,EAAWC,EAAalB,GAC7B,OAAIW,GACAhB,EAAKwB,qBAAqBd,GACnBV,EAAKiB,sBAAsBM,IAE/B7F,WAAW6F,EAAalB,GAwBnC,SAASoB,EAAaL,GAClB,MAAMM,EAAoBN,EAAOT,EAKjC,YAAyBvL,IAAjBuL,GACJe,GAAqBrB,GACrBqB,EAAoB,GACnBZ,GAPuBM,EAAOR,GAOGJ,EAE1C,SAASmB,IACL,MAAMP,EAAOQ,KAAKC,MAClB,GAAIJ,EAAaL,GACb,OAAOU,EAAaV,GAGxBV,EAAUY,EAAWK,EAzBzB,SAAuBP,GACnB,MACMW,EAAsBX,EAAOR,EAC7BoB,EAAc3B,GAFMe,EAAOT,GAGjC,OAAOG,EACDmB,KAAKC,IAAIF,EAAaxB,EAAUuB,GAChCC,EAmB6BG,CAAcf,IAErD,SAASU,EAAaV,GAIlB,OAHAV,OAAUtL,EAGN2L,GAAYT,EACLa,EAAWC,IAEtBd,EAAWC,OAAWnL,EACfqL,GAeX,SAAS2B,KAAatL,GAClB,MAAMsK,EAAOQ,KAAKC,MACZQ,EAAaZ,EAAaL,GAIhC,GAHAd,EAAWxJ,EACXyJ,EAAW9O,KACXkP,EAAeS,EACXiB,EAAY,CACZ,QAAgBjN,IAAZsL,EACA,OAlEZ,SAAqBU,GAMjB,OAJAR,EAAiBQ,EAEjBV,EAAUY,EAAWK,EAActB,GAE5BQ,EAAUM,EAAWC,GAAQX,EA4DrB6B,CAAY3B,GAEvB,GAAIG,EAGA,OADAJ,EAAUY,EAAWK,EAActB,GAC5Bc,EAAWR,GAM1B,YAHgBvL,IAAZsL,IACAA,EAAUY,EAAWK,EAActB,IAEhCI,EAKX,OA9GAJ,GAAQA,GAAQ,EACZH,EAASZ,KACTuB,IAAYvB,EAAQuB,QACpBC,EAAS,YAAaxB,EACtBkB,EAAUM,EAASmB,KAAKM,KAAKjD,EAAQkB,SAAW,EAAGH,GAAQG,EAC3DO,EAAW,aAAczB,IAAYA,EAAQyB,SAAWA,GAsG5DqB,EAAUI,OAlCV,gBACoBpN,IAAZsL,GApDR,SAAqBxB,GACjB,GAAI8B,EACA,OAAOhB,EAAKwB,qBAAqBtC,GAErCuD,aAAavD,GAiDTwD,CAAYhC,GAEhBE,EAAiB,EACjBN,EAAWK,EAAeJ,EAAWG,OAAUtL,GA8BnDgN,EAAUO,MA5BV,WACI,YAAmBvN,IAAZsL,EAAwBD,EAASqB,EAAaF,KAAKC,QA4B9DO,EAAUQ,QA1BV,WACI,YAAmBxN,IAAZsL,GA0BJ0B;;;;;;AAwEX,MAEMS,EAAkB,IAAIzG,OAAOvI,EAFd,KAEyC,KACxDiP,EAAiB,IAAI1G,OAAOvI,EAFf,KAEwC,KAC3D,MAAMkP,UAAwB/D,EAC1B1E,YAAY2E,GACR+D,MAAM/D,EAAM,SAAU,CAClBgE,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,qBAAqB,EACrBC,eAAe,EACfC,WAAW,EACXC,YAAY,EACZC,KAAM,OACN/G,QAAQ,IAEZjL,KAAKiS,eAAiB,KAE1BpJ,OACI0I,MAAMW,OACN,IAAIC,EAAcnS,KAAK+N,gBAAgB,eACnCoE,IACAnS,KAAKoS,WAAa9N,EAAiB6N,GACnC7L,EAAQtG,KAAKoS,WAAY,QAAS1D,GAAU1H,IAExChH,KAAKqS,YAAYrS,KAAKoS,WAAWxP,MAAMqB,OAAQ,MAChD,OAGX4E,qBAAqByJ,EAAQC,EAAYC,GACrC,OAAOxS,KAAKwN,KAAKiF,kBAAiB,IACvBzS,KAAK0S,iBAAiBJ,EAAQC,EAAYC,KAGzD3J,iBAAiByJ,EAAQC,EAAYC,GACjC,IAAIG,EAAOC,EAAMC,EAAQ1C,KAAKC,MAAO0C,EAAQ,EAAGtF,EAAOxN,KAAKwN,KAAMI,EAAWJ,EAAKK,QAASkF,EAAenF,EAASmF,aAAcC,EAAmBpF,EAASqF,aAAcjL,EAAO5C,EAAO,GAAIwI,EAAS0E,OAAQE,GAAQU,EAAyB,SAAdlL,EAAKgK,KAAiBD,IAAe/J,EAAK+J,aAAeQ,EAE1R,GAAsB,iBAAXD,EAAqB,CAC5B,GAAe,KAAXA,EAGA,OAFA9E,EAAK2F,QAAQ,yEACbnT,KAAKoT,cAOLT,EAJA3K,EAAK2J,MAIGW,EACHzL,MAAM,IAINwM,IAAIjR,GACJkR,QAAO,SAAUC,EAAGC,GAGrB,OAAOD,EAAI,MAAQC,EAAI,MAAQA,IAChC,IAGKpR,EAAYkQ,GAExB,IAAImB,EAAK,IAAI9I,OAAOgI,EAAO,KACvBe,EAAc,IAAI/I,OAAOvI,EAAYkQ,GAAS,MAClDA,EAAUjF,IACN,IAAKA,EAAKC,MACN,OAAO,EAEX,IAAIqG,EAAOZ,EAAe1F,EAAKC,MAAQjL,EAAgBgL,EAAKC,OAExDsG,EAAMD,EAAKhB,MAAMc,GA+BrB,OA9BIG,GAAO5L,EAAK8J,YACRiB,GAEIH,EADA5K,EAAK2J,MACEkC,EAAuBF,EAAMC,EAAKb,GAKlCY,EAAKxR,QAAQuR,GAAa,SAAUxR,GACvC,MAlFX,IAkFiCA,EAjFnC,OAqFKmL,EAAKyG,mBAAqB7R,EAAW2Q,GAEhCzQ,QAAQiP,EAAiB,UACzBjP,QAAQkP,EAAgB,YAGzBrJ,EAAK2J,MACLtE,EAAKyG,mBAAqBD,EAAuBF,EAAMC,GAGvDvG,EAAKyG,mBAAqBH,EAAKxR,QAAQuR,GAAa,SAAUxR,GAC1D,MAAO,SAAWA,EAAI,gBAM7B0R,GA+DjB,OA5DApG,EAAKuG,WAAa/L,EAAKgK,KACvBhS,KAAKiS,eAAiB+B,UACtBxG,EAAKlD,QAAQzH,UAAUoR,OAAO,uBAAwBf,GACtD1F,EAAKlD,QAAQzH,UAAUoR,OAAO,qBAAsBf,GACpD1F,EAAKlD,QAAQzH,UAAUoR,OAAO,iCAAkCjM,EAAK6J,eAErErE,EAAKe,KAAK2F,cAAgB,EAC1B1G,EAAK2G,OAAO9G,WACDA,EAAKsF,aACLtF,EAAKyG,mBACZzG,EAAK6G,cAAgB,KAMzB1G,EAAK4G,UAAUvJ,EAAewJ,IAE9BzG,EAASqF,cAAe,EACxBzF,EAAK2G,OAAO9G,IACR,GAAI0E,GAA+B,MAAjB1E,EAAKiH,SACnB,OAEJ,IAAIV,EAAMtB,EAAOjF,GACjB,GAAY,SAARuG,EAIA,OAHAvG,EAAK8G,OAAM,SAAU7L,GACjBA,EAAEqK,OAAQ,KACX,GACI,OAEX,IAAI4B,GAAkB,GACjBhC,GAAsB,WAARqB,IAAqBvG,EAAKmH,OAAO7B,QAChDiB,GAAM,EACNW,GAAkB,GAElBX,IACAd,IACAzF,EAAKsF,OAAQ,EACbtF,EAAKoH,cAAcC,IACXA,IAAMrH,IACNqH,EAAER,eAAiB,IAGnBlM,EAAKyJ,YAAe8C,GAAoBG,EAAEC,WAC1CD,EAAEE,aAAY,EAAM,CAChBC,aAAa,EACbC,UAAU,EACVC,gBAAgB,IAEpBL,EAAEM,qBAAsB,MAE7B,OAGXpH,EAASqF,aAAeD,EACV,IAAVF,GAAe9K,EAAKiD,QAAUiI,GAC9B1F,EAAKe,KAAK6F,UAAUvJ,EAAeI,QAGvCuC,EAAK2F,QAAQ,WAAWR,YAAgBG,cAAkB3C,KAAKC,MAAQyC,SAChEC,EAOXjK,YAAYyJ,EAAQtK,GAChB,OAAOhI,KAAKiV,qBAAqB3C,GAAQ,EAAOtK,GAOpDa,eAAeyJ,EAAQtK,GACnB,OAAOhI,KAAKiV,qBAAqB3C,GAAQ,EAAMtK,GAOnDa,eACI,IAAI2E,EAAOxN,KAAKwN,KACZA,EAAKuG,YACL/T,KAAKiS,gBACLzE,EAAKK,QAAQyE,OAAOd,UACpBxR,KAAKiV,qBAAqBrN,MAAM5H,KAAMA,KAAKiS,gBAG3CzE,EAAK0H,QAAQ,qCASrBrM,cACI,IAAI2E,EAAOxN,KAAKwN,KAEhBuF,EAAevF,EAAKK,QAAQkF,aAE5BvF,EAAK2H,cAAa,GAIlB3H,EAAK4G,UAAUvJ,EAAewJ,WAEvB7G,EAAKe,KAAKoE,aACVnF,EAAKe,KAAK2F,cACjB1G,EAAK2G,OAAO9G,IACR,GAAIA,EAAKsF,OAAStF,EAAK+H,SAAU,CAE7B,IAAIC,EAAYhI,EAAK+H,SAASnS,cAAc,iBACxC8P,EACAsC,EAAUC,YAAcjI,EAAKC,MAG7B+H,EAAUrR,UAAYqJ,EAAKC,MAE/BD,EAAKkI,WAAW,eAAgB,CAAEF,UAAWA,WAE1ChI,EAAKsF,aACLtF,EAAK6G,qBACL7G,EAAKyG,mBACRzG,EAAKmI,gBACLnI,EAAKmI,cAAcC,gBACZpI,EAAKmI,eAEZnI,EAAK2H,qBAAuB3H,EAAKsH,UACjCtH,EAAKuH,aAAY,EAAO,CACpBC,aAAa,EACbC,UAAU,EACVC,gBAAgB,WAGjB1H,EAAK2H,uBAEhBxH,EAAKuG,WAAa,KAClB/T,KAAKiS,eAAiB,KACtBzE,EAAKlD,QAAQzH,UAAU4S,OAEvB,oBAAqB,sBAGrBjI,EAAK2H,cAAa,IAU1B,SAAStB,EAAuBF,EAAMzM,EAAS6L,GAAe,GAC1D,IAAI2C,EAAkB,GAEtB,IAAK,IAAIC,EAAkB,EAAGA,EAAkBzO,EAAQ3B,OAAQoQ,IAAmB,CAC/E,IAAIC,EAGJ1O,EAAQyO,GAAiBpQ,QACA,IAApBoQ,EAAwB,EAAI,IAC5BD,EAAgBA,EAAgBnQ,OAAS,IAAM,GACpDmQ,EAAgB7Q,KAAK+Q,GAGzB,IAAIC,EAAYlC,EAAK9M,MAAM,IAc3B,OAbIkM,EAEA2C,EAAgB5O,SAAQ,SAAUgP,GAC9BD,EAAUC,GAzRD,IAyRqBD,EAAUC,GAxRjC,OA6RXJ,EAAgB5O,SAAQ,SAAUgP,GAC9BD,EAAUC,GAAK,SAAWD,EAAUC,GAAK,aAI1CD,EAAU1Q,KAAK;;;;;KAQ1B,MAAM4Q,UAAwBxI,EAC1B1E,YAAY2E,GACR+D,MAAM/D,EAAM,SAAU,IAE1B3E,WAAWsF,GACP,IAA0D6H,EAAtDvR,EAAQ0J,EAAK1J,MAAOwR,EAAYzR,EAAcC,GAAmB4I,EAAOc,EAAKd,KAAMG,EAAOxN,KAAKwN,KAAMxF,EAAOmG,EAAKN,QAASqI,GAAU,EAAMC,GAAY1R,EAAMK,SAAWkD,EAAKoO,aAChL,MAAMC,EAAgBrO,EAAKsO,eAG3B,GAFA9I,EAAK+I,SAAS,eAAeN,MAEY,IAArCzI,EAAK+H,WAAW,UAAWpH,GAC3B,OAAO,EAGX,IAA2D,IAAvDX,EAAKgJ,YAAY,2BAA4BrI,GAC7C,OAAO,EAGX,IAAKd,EAAM,CACP,MAAMoJ,EAAajJ,EAAKkJ,gBAClBC,EAAYnJ,EAAKoJ,gBACvB,IAAKH,GAAcE,GAA2B,cAAdV,EAG5B,OAFAU,EAAUxD,QAAQ,sCAClBwD,EAAUE,YAGdb,EAAYS,GAAcE,EACtBX,IACAA,EAAUc,WACVzJ,EAAOG,EAAKuJ,eACZ1J,EAAK8F,QAAQ,yCAGrB,GAAI3F,EAAKwJ,UAAYjL,EAAekL,IAAK,CAErC,GAAIjP,EAAKkP,aACgB,IAArBjB,EAAU1Q,QACV,OAAO5E,KAAKsV,GAEd,CAEE,MAAMkB,EAAQhH,KAAKC,MACf+G,EAAQ3J,EAAK4J,oBAAsB,MACnC5J,EAAK6J,oBAAsB,IAE/B7J,EAAK4J,oBAAsBD,EAC3B3J,EAAK6J,qBAAuBpB,EAC5B,IAAIqB,EAAY9J,EAAK+J,aAAa/J,EAAK6J,oBAAqB7J,EAAKkJ,iBAKjE,OAJIY,GACAA,EAAUT,WAAU,EAAM,CAAEpS,MAAOA,SAEvCA,EAAM+S,iBAIV,OAAQvB,GACJ,IAAK,YACG5I,EAAKsH,WACLsB,EAAY,YAEhB,MACJ,IAAK,aACD,GAAK5I,EAAKsH,WAAatH,EAAKiH,WAAYjH,EAAKoK,MAGxC,GAAIpB,IAAkBvK,EAAqB4L,SAE5C,YADAlK,EAAKmK,YAAY5L,EAAe6L,cAHhC3B,EAAY,MASxB,OAAQA,GACJ,IAAK,IACL,IAAK,MAED5I,EAAKuH,aAAY,GACjB,MACJ,IAAK,IACL,IAAK,WACDvH,EAAKuH,aAAY,GACjB,MACJ,IAAK,IAIGvH,EAAKtF,UAAU,YACfsF,EAAKwK,aAAaxK,EAAKyK,cAGvBzK,EAAKwJ,WAAU,EAAM,CAAEpS,MAAOA,IAElC,MACJ,IAAK,QACD4I,EAAKwJ,WAAU,EAAM,CAAEpS,MAAOA,IAC9B,MACJ,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,UACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,cACL,IAAK,eACL,IAAK,WACL,IAAK,SACD4I,EAAK0K,SAAS9B,EAAW,CAAEE,SAAUA,EAAU1R,MAAOA,IACtD,MACJ,QACIyR,GAAU,QAKlB,OAAQD,GACJ,IAAK,IACD,GAA0B,IAAtBzI,EAAKwK,cAAsB3K,EAAKtF,UAAU,YAC1CsF,EAAKwK,aAAaxK,EAAKyK,cACvB5B,GAAU,MAET,CAED,MAAM1T,EAAOgL,EAAKyK,mBACZ9O,EAAK3G,MAAAA,OAAmC,EAASA,EAAKS,cAAc,wBAC1EkG,MAAAA,GAAwCA,EAAG+O,QAE/C,MACJ,IAAK,QACyB,IAAtB1K,EAAKwK,cAAsB3K,EAAK8K,iBAChC9K,EAAKuH,aAAavH,EAAK+K,cACvBlC,GAAU,GAEd,MACJ,IAAK,SACG1I,EAAKwJ,UAAYjL,EAAesM,UAChC7K,EAAKmK,YAAY5L,EAAe6L,SAChC1B,GAAU,GAEL1I,EAAKwJ,UAAYjL,EAAe6L,UACrCpK,EAAKmK,YAAY5L,EAAekL,KAChCf,GAAU,GAEd,MACJ,IAAK,YACG1I,EAAKwK,aAAe,GACpBxK,EAAK8K,UAAU9K,EAAKwK,aAAe,GACnC9B,GAAU,GAELG,IAAkBvK,EAAqByM,OAC5C/K,EAAKmK,YAAY5L,EAAekL,KAChCf,GAAU,GAEd,MACJ,IAAK,aACG1I,EAAKwK,aAAexK,EAAKgL,QAAQjT,OAAS,IAC1CiI,EAAK8K,UAAU9K,EAAKwK,aAAe,GACnC9B,GAAU,GAEd,MACJ,IAAK,YACL,IAAK,UACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,cACL,IAAK,eACL,IAAK,WACL,IAAK,SACD7I,EAAK0K,SAAS9B,EAAW,CAAEE,SAAUA,EAAU1R,MAAOA,IACtD,MACJ,QACIyR,GAAU,EAGlBA,GACAzR,EAAM+S;;;;;KAWlB,MAAMiB,UAAwBlL,EAC1B1E,YAAY2E,GACR+D,MAAM/D,EAAM,SAAU,IACtBxN,KAAK0Y,aAAe,IAAIrU,IAAI,CACxB,eACA,SACA,YAEJrE,KAAK2Y,OAASnL,EAAO,cAEzB3E,OACI,MAAM2E,EAAOxN,KAAKwN,KAElB,GAAIA,EAAKzF,UAAU,eAAiB,EAAG,CAEnC,MAAM2Q,EAAe1Y,KAAK0Y,aACpBC,EAAS3Y,KAAK2Y,OACpBvR,EAAeoG,EAAM,aAAa,SAAU/J,EAAMmV,GAC9C,GAAIF,EAAaxT,IAAIzB,GACjB,OAAO+J,EAAK3F,YAAYmM,WAE5B,IAAInB,EAAQ1C,KAAKC,MACjB,MAAMwD,EAAMpG,EAAK3F,YAAYmM,WAE7B,OADA6E,QAAQC,MAAM,GAAGH,iBAAsBlV,YAAe0M,KAAKC,MAAQyC,QAAamB,UAAU,IACnFJ,MAInB/K,WAAWsF,GAEP0K,QAAQC,MAAM,GAAG9Y,KAAK2Y,uBAAwBxK;;;;;KAqBtD,MAAM4K,UAAqBxL,EACvB1E,YAAY2E,GACR+D,MAAM/D,EAAM,MAAO,CACfwL,aAAc,KAKdC,aAAa,EACbC,cAAe,MAEfC,kBAAmB,OACnBC,qBAAqB,EACrBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAClBC,mBAAmB,EACnBC,kBAAkB,EAClBC,QAAQ,EACRC,kBAAmB,GACnBC,YAAa,EAEbC,eAAgB,KAEhBC,UAAW,KACXC,SAAU,KACVC,QAAS,KAETC,UAAW,KACXC,SAAU,KACVC,WAAY,KACZC,SAAU,KACVC,UAAW,OAGfra,KAAKsa,QAAU,KACfta,KAAKua,eAAiB,KACtBva,KAAKwa,eAAiB,EACtBxa,KAAKya,uBAAyB,KAC9Bza,KAAK0a,eAAiB,KACtB1a,KAAK2a,gBAAiB,EAE1B9R,OACI0I,MAAMW,OAON,MAAM1E,EAAOxN,KAAKwN,KACZoN,EAAUpN,EAAKK,QAAQgN,IAEzBD,EAAQd,WACRxT,EAAQkH,EAAKlD,QAAS,yBAA0BtK,KAAK8a,YAAYC,KAAK/a,OAGtE4a,EAAQX,WACR3T,EAAQkH,EAAKlD,QAAS,oCAAqCtK,KAAKgb,YAAYD,KAAK/a,OAIzF6I,aAEI,MAAMoS,EAAMjb,KAAKua,eACjBva,KAAKwa,eAAiB,EAClBS,IACAA,EAAIC,YAAY,4DAChBlb,KAAKua,eAAiB,MAI9B1R,cAAc+K,GACV,IAAY,IAARA,EACA,OAAO,EAEN,GAAIA,aAAevP,IACpB,OAAOuP,EAAIuH,KAAO,GAAIvH,EAErB,IAAY,IAARA,EACL,OAAO,IAAIvP,IAAI,CAAC,OAAQ,SAAU,UAEjC,GAAmB,iBAARuP,GAAoB/N,EAAQ+N,GAExC,OADAA,EAAMzL,EAAMyL,IACDuH,KAAO,GAAIvH,EAE1B,MAAM,IAAIlS,MAAM,uCAAyCkS,GAG7D/K,gBAAgB7B,EAAGoU,GACf,MAAMC,EAAKrU,EAAEsU,QACb,QAAKF,IAGqB,IAAjBA,EAAQD,KACNE,EAAK,IACN,SACAA,EAAK,KACD,QACA,OAEY,IAAjBD,EAAQD,MAAcC,EAAQlW,IAAI,QAChC,OAIAmW,EAAK5Q,GAAiB,QAAU,UAI/C5B,WAAWpE,GACP,IAAI+I,EAAOxN,KAAKwN,KAAMoN,EAAUpN,EAAKK,QAAQgN,IAAKU,EAAK/N,EAAKgO,gBAAiBC,EAAcb,EAAQjB,kBAAmB+B,EAAQd,EAAQhB,YAAa+B,EAAW,EAC9J,MAAMC,EAAYL,EAAGM,UACrB,GAAID,EAAYL,EAAGO,aAAerX,EAAMsX,MAAQN,EAAa,CAC3CF,EAAGS,aAAeT,EAAGU,aAAeL,EACtC,IACRL,EAAGK,UAAYD,EAAWC,EAAYF,QAGrCE,EAAY,GAAKnX,EAAMsX,MAAQH,EAAYH,IAChDF,EAAGK,UAAYD,EAAWC,EAAYF,GAK1C,OAAOC,EAEX9S,YAAY7B,GAER,MAAM4T,EAAU5a,KAAK4N,SAASiN,IACxBP,EAAU4B,GAAWC,QAAQnV,GACnC,GAAKsT,EAAL,CAOA,GAJe,SAAXtT,EAAE5D,MACFpD,KAAKwN,KAAK+I,SAAS,eAAiBvP,EAAE5D,KAAO,cAAgBkX,EAAStT,GAG3D,cAAXA,EAAE5D,KAAsB,CAExB4D,EAAEoV,aAAalD,cAAgB0B,EAAQ1B,cAGvC,IADYoB,EAAQ/E,WAAW,gBAAiB,CAAE9Q,MAAOuC,IAGrD,OADAA,EAAEwQ,kBACK,EAEX,IAAI6E,EAAW/B,EAAQgC,QAAO,GAAOC,IAEjCA,EAAEC,SAAWD,EAAE7X,WACR6X,EAAE7X,OAEb2X,EAASI,OAASnC,EAAQ9M,KAAKC,GAC/B,MAAMiP,EAAOC,KAAKC,UAAUP,GAC5BrV,EAAEoV,aAAaS,QArKN,+BAqK4BH,GAErC1V,EAAEoV,aAAaS,QAAQ,aAAcvC,EAAQhN,OAC7CtN,KAAKsa,QAAUA,EACfrQ,YAAW,KAGPqQ,EAAQwC,SAAS,oBAClB,OAGa,SAAX9V,EAAE5D,MACS,YAAX4D,EAAE5D,OACPkX,EAAQY,YAAY,kBACpBlb,KAAKsa,QAAU,KACXta,KAAKua,gBACLva,KAAK+c,cAGb,OAAO,GAEXlU,YAAY7B,GAER,MAAMgW,EAAad,GAAWC,QAAQnV,GAChC4T,EAAU5a,KAAK4N,SAASiN,IACxBoC,EAAKjW,EAAEoV,aACb,GAAKY,EAAL,CAeA,GAXe,aAAXhW,EAAE5D,MACFpD,KAAKwN,KAAK+I,SAAS,eACfvP,EAAE5D,KACF,gBACA4Z,EACA,UACCC,MAAAA,OAA+B,EAASA,EAAG/D,eAC5C,UACC+D,MAAAA,OAA+B,EAASA,EAAGC,YAAa,SAAWlW,EAAEsU,QAAS,QAAUtb,KAAKmd,gBAAgBnW,EAAGhH,KAAKya,wBAAyBzT,GAGxI,cAAXA,EAAE5D,KAAsB,CASxB,GARApD,KAAKya,uBAAyB,KAG1Bza,KAAKua,gBAAkBva,KAAKua,iBAAmByC,GAC/Chd,KAAK+c,aAET/c,KAAKua,eAAiByC,EACtBhd,KAAKwa,eAAiBrK,KAAKC,MAG1BwK,EAAQnB,kBAAoBuD,IAAehd,KAAKsa,SAC7C0C,EAAWI,eAEX,OADAH,EAAGC,WAAa,QACT,EAGX,IAAIG,EAAYL,EAAWzH,WAAW,gBAAiB,CAAE9Q,MAAOuC,IAGhE,OADAqW,EAAYrd,KAAKsd,cAAcD,GAC1BA,GAILrd,KAAKya,uBAAyB4C,EAC9Brd,KAAK0a,eAAiBuC,EAAGC,WACzBF,EAAWF,SAAS,kBACpB9V,EAAEwQ,kBACK,IAPHyF,EAAGC,WAAa,QACT,GASV,GAAe,aAAXlW,EAAE5D,KAAqB,CAC5BpD,KAAKud,WAAWvW,GAChB,MAAMwW,EAASxd,KAAKmd,gBAAgBnW,EAAGhH,KAAKya,wBAS5C,GARAza,KAAK2a,eAAiB6C,EAClB5C,EAAQ5B,aAAe,GACvBgE,EAAW7E,cAAa,KACvB6E,EAAWS,YACZtN,KAAKC,MAAQpQ,KAAKwa,eAAiBI,EAAQ5B,eACe,IAA1DgE,EAAWzH,WAAW,iBAAkB,CAAE9Q,MAAOuC,KACjDgW,EAAWpI,eAEV4I,EACD,OAQJ,OANAR,EAAWU,YAAY,eAA2B,SAAXF,GACvCR,EAAWU,YAAY,iBAA6B,WAAXF,GACzCR,EAAWU,YAAY,gBAA4B,UAAXF,GAGxCxW,EAAEwQ,kBACK,EAGS,cAAXxQ,EAAE5D,MACS,SAAX4D,EAAE5D,OACP4D,EAAE2W,kBACF3d,KAAK+c,aACLC,EAAWzH,WAAW,WAAY,CAC9B9Q,MAAOuC,EACPwW,OAAQxd,KAAK2a,eACbiD,WAAY5d,KAAKsa,gBA3ErBta,KAAK+c;;;;;KA2FjB,MAAMnU,EACFC,cACI7I,KAAK6d,SAAW,IAAIrU,SAAQ,CAACC,EAASO,KAClChK,KAAK8d,SAAWrU,EAChBzJ,KAAK+d,QAAU/T,KAIvBnB,QAAQjG,GACJ5C,KAAK8d,SAASlb,GAGlBiG,OAAOmV,GACHhe,KAAK+d,QAAQC,GAGjBnV,UACI,OAAO7I,KAAK6d,SAGhBhV,KAAKM,GACD,OAAOnJ,KAAK6d,SAASxU,KAAKF,GAG9BN,MAAMM,GACF,OAAOnJ,KAAK6d,SAASvU,MAAMH,GAG/BN,QAAQM,GACJ,OAAOnJ,KAAK6d,SAASI,QAAQ9U;;;;;KAUrC,MAAM+U,EAAa,IAAI7Z,IAAI,CAEvB,UACA,WACA,OACA,MACA,OACA,SACA,WACA,QACA,UACA,SAEE8Z,GAAa,IAAI9Z,IAAI,CACvB,WACA,WACA,eACA,SACA,OACA,cACA,MACA,OACA,UACA,aACA,SACA,WACA,iBACA,QACA,UACA,OACA,eACA,qBACA,uBAEJ,MAAM+Z,GACFvV,YAAY2E,EAAMgH,EAAQrG,GACtB,IAAIH,EAAIqQ,EAmCR,GAlCAre,KAAKse,YAAS3a,EACd3D,KAAKsU,SAAW,KAChBtU,KAAKyX,MAAO,EACZzX,KAAK2U,UAAW,EAChB3U,KAAKue,UAAW,EAEhBve,KAAKwe,aAAe,IAAIna,IAExBrE,KAAKmO,KAAO,GACZnO,KAAKyd,YAAa,EAClBzd,KAAKye,WAAa,EAClBze,KAAK0e,WAAa,KAClB1e,KAAK2e,UAAW,EAChB3e,KAAK4e,WAAY,EACjB5e,KAAKkU,cAAgB,EACrBlU,KAAK6e,QAAU,EACf7e,KAAKoV,cAAWzR,EAChBpC,GAAQiT,GAAUA,EAAOhH,OAASA,GAClCjM,GAAQ4M,EAAKmG,UACbtU,KAAKwN,KAAOA,EACZxN,KAAKwU,OAASA,EACdxU,KAAK0E,IAAM,IAA0B,QAAnBsJ,EAAKG,EAAKzJ,WAAwB,IAAPsJ,EAAgBA,IAAOoQ,GAAeU,UACnF9e,KAAKsN,MAAQ,IAA4B,QAArB+Q,EAAKlQ,EAAKb,aAA0B,IAAP+Q,EAAgBA,EAAK,IAAMre,KAAK0E,IAAM,KACxE,MAAfyJ,EAAKmQ,SAAkBte,KAAKse,OAAS,GAAKnQ,EAAKmQ,QACxB,MAAvBnQ,EAAK4Q,iBACE/e,KAAK+e,eAAiB,GAAK5Q,EAAK4Q,gBAE1B,MAAb5Q,EAAK/K,OAAgBpD,KAAKoD,KAAO,GAAK+K,EAAK/K,MAC1B,MAAjB+K,EAAK6Q,WAAoBhf,KAAKgf,WAAa7Q,EAAK6Q,UAChC,MAAhB7Q,EAAK8Q,UAAmBjf,KAAKif,UAAY9Q,EAAK8Q,SAC9Cjf,KAAK2U,UAA6B,IAAlBxG,EAAKwG,SACR,MAAbxG,EAAK+Q,OAAgBlf,KAAKkf,KAAO/Q,EAAK+Q,MACtClf,KAAKyX,MAAqB,IAAdtJ,EAAKsJ,KACjBzX,KAAKue,UAA6B,IAAlBpQ,EAAKoQ,SACjBpQ,EAAKgR,QACL,IAAK,MAAM7W,KAAK6F,EAAKgR,QAAQtY,MAAM,KAC/B7G,KAAKwe,aAAajW,IAAID,EAAErE,QAIhC,IAAK,MAAOS,EAAK9B,KAAU6C,OAAO2Z,QAAQjR,GACjC+P,EAAWhZ,IAAIR,KAChB1E,KAAKmO,KAAKzJ,GAAO9B,GAGrB4R,IAAWxU,KAAK+e,gBAEhBvR,EAAK6R,cAAcrf,MAO3B6I,WACI,MAAO,kBAAoB7I,KAAK0E,IAAM,KAAO1E,KAAKsN,MAAQ,KAuB9DzE,WAAWpF,EAAMmV,GACb,OAAO5Y,KAAKwN,KAAK+H,WAAW9R,EAAM2B,EAAO,CACrCiI,KAAMrN,KACNsf,SAAUtf,KAAKoD,KAAOpD,KAAKwN,KAAK+R,MAAMvf,KAAKoD,MAAQ,IACpDwV,IAWP/P,YAAYwT,EAAUxO,GAClB,IAAI2R,EAAe3R,EACbA,EAAQ4R,OACR,KAENC,EAAW,GACX,IACI1f,KAAKwN,KAAK2H,cAAa,GACnBhP,EAAckW,KACdA,EAAW,CAACA,IAEhB,IAAK,IAAIsD,KAAStD,EAAU,CACxB,IAAIuD,EAAcD,EAAMrL,gBACjBqL,EAAMrL,SACb,IAAIiI,EAAI,IAAI6B,GAAepe,KAAKwN,KAAMxN,KAAM2f,GAC5CD,EAAS7a,KAAK0X,GACVqD,GACArD,EAAEsD,YAAYD,EAAa,CAAEE,QAAQ,IAG7C,GAAK9f,KAAKsU,SAGL,GAAoB,MAAhBkL,GAAiD,IAAzBxf,KAAKsU,SAAS/O,OAC3CvF,KAAKsU,SAAWtU,KAAKsU,SAASyL,OAAOL,OAEpC,CAEDF,EAAexf,KAAKggB,gBAAgBR,GACpC,IAAIS,EAAMjgB,KAAKsU,SAAShS,QAAQkd,GAChCje,EAAO0e,GAAO,EAAG,0CAEjBjgB,KAAKsU,SAAS4L,OAAOD,EAAK,KAAMP,QAXhC1f,KAAKsU,SAAWoL,EAmBpB,OADA1f,KAAKwN,KAAK2S,YAAYvV,EAAWwV,UAAWpgB,MACrC0f,EAAS,GAEpB,QACI1f,KAAKwN,KAAK2H,cAAa,IAY/BtM,QAAQwT,EAAUrK,EAAO,SAIrB,OAHa,SAATA,IACAA,EAAO,SAEHA,GACJ,IAAK,QACD,OAAOhS,KAAKwU,OAAOqL,YAAYxD,EAAU,CACrCoD,OAAQzf,KAAKqgB,mBAErB,IAAK,SACD,OAAOrgB,KAAKwU,OAAOqL,YAAYxD,EAAU,CAAEoD,OAAQzf,OACvD,IAAK,aAGD,OAAOA,KAAK6f,YAAYxD,EAAU,CAAEoD,OAAQ,IAChD,IAAK,QACD,OAAOzf,KAAK6f,YAAYxD,GAEhC9a,GAAO,EAAO,iBAAmByQ,GAOrCnJ,aAAayX,EAAKtY,GACd,OAAOhI,KAAKwN,KAAK+S,aAAaD,EAAKtgB,KAAMgI,GAE7Ca,SAAS2X,GACSrY,EAAMqY,GACd1Z,SAAS2Z,IACX,IAAIzS,EACJhO,KAAKwe,aAAajW,IAAIkY,GACG,QAAxBzS,EAAKhO,KAAKoV,gBAA6B,IAAPpH,GAAyBA,EAAGnL,UAAU0F,IAAIkY,MAGnF5X,YAAY2X,GACMrY,EAAMqY,GACd1Z,SAAS2Z,IACX,IAAIzS,EACJhO,KAAKwe,aAAakC,OAAOD,GACA,QAAxBzS,EAAKhO,KAAKoV,gBAA6B,IAAPpH,GAAyBA,EAAGnL,UAAU4S,OAAOgL,MAGtF5X,YAAY2X,EAAWvS,GACL9F,EAAMqY,GACd1Z,SAAS2Z,IACX,IAAIzS,EACJC,EAAOjO,KAAKwe,aAAajW,IAAIkY,GAAMzgB,KAAKwe,aAAakC,OAAOD,GACnC,QAAxBzS,EAAKhO,KAAKoV,gBAA6B,IAAPpH,GAAyBA,EAAGnL,UAAUoR,OAAOwM,EAAIxS,MAI1FpF,gBAAgBoF,GAAO,GACnBjO,KAAKmU,OAAO9G,IACRA,EAAKuH,YAAY3G,MAQzBpF,QAAQ8J,GACJ,MAAMgO,EAAUza,EAAWyM,GACrBA,EACAvF,EAAqBuF,GACrBiB,EAAM,GAMZ,OALA5T,KAAKmU,OAAOoI,IACJoE,EAAQpE,IACR3I,EAAI/O,KAAK0X,MAGV3I,EAGX/K,gBAAgB+X,GACZ,IAAIC,EAAK7gB,KAAKsU,SACd,IAAKuM,EACD,OAAO,KACX,GAAmB,iBAARD,GACP,IAAK,IAAItb,EAAI,EAAGwb,EAAID,EAAGtb,OAAQD,EAAIwb,EAAGxb,IAClC,GAAIub,EAAGvb,GAAGZ,MAAQkc,EACd,OAAOC,EAAGvb,OAIjB,CAAA,GAAmB,iBAARsb,EACZ,OAAOC,EAAGD,GAET,GAAIA,EAAIpM,SAAWxU,KAEpB,OAAO4gB,EAEX,OAAO,KAOX/X,UAAU8J,GACN,MAAMgO,EAAUza,EAAWyM,GACrBA,EACAvF,EAAqBuF,GAC3B,IAAIiB,EAAM,KAOV,OANA5T,KAAKmU,OAAOoI,IACR,GAAIoE,EAAQpE,GAER,OADA3I,EAAM2I,GACC,KAGR3I,EAOX/K,gBAAgBkY,EAAOC,GAAgB,GACnC,OAAOhhB,KAAKwN,KAAKyT,gBAAgBjhB,KAAM+gB,EAAOC,GAKlDnY,WAAWqY,GACP,IAAIlT,EACkB,iBAAXkT,IACPA,EAASlhB,KAAKwN,KAAKgL,QAAQ2I,WAAWve,GAAUA,EAAM6K,KAAOyT,KAEjE,MAAME,EAAoC,QAAxBpT,EAAKhO,KAAKoV,gBAA6B,IAAPpH,OAAgB,EAASA,EAAGqT,iBAAiB,eAC/F,OAAOD,EAAWA,EAASF,GAAU,KAKzCrY,gBACI,OAAO7I,KAAKsU,SAAWtU,KAAKsU,SAAS,GAAK,KAK9CzL,eACI,OAAO7I,KAAKsU,SAAWtU,KAAKsU,SAAStU,KAAKsU,SAAS/O,OAAS,GAAK,KAGrEsD,WACI,IAAIvD,EAAI,EAAGoP,EAAI1U,KAAKwU,OACpB,KAAOE,GACHpP,IACAoP,EAAIA,EAAEF,OAEV,OAAOlP,EAGXuD,iBACI,IAAIyY,EAAKthB,KAAKwU,OAAOF,SACjBiN,EAAMD,EAAGhf,QAAQtC,MACrB,OAAOshB,EAAGC,EAAM,IAAM,KAG1B1Y,YAEI,OAAO7I,KAAKwU,OAMhB3L,cAAc2Y,GAAc,EAAOC,GAAc,GAC7C,IAAIX,EAAI,GAAIY,EAAMD,EAAczhB,KAAOA,KAAKwU,OAC5C,KAAOkN,IACCF,GAAeE,EAAIlN,SACnBsM,EAAE1X,QAAQsY,GAEdA,EAAMA,EAAIlN,OAEd,OAAOsM,EAOXjY,QAAQ4Y,GAAc,EAAME,EAAO,QAASC,EAAY,KAIpD,IAAIxZ,EAAKyZ,EAAO,GAAIC,EAAyB,mBAATH,EAUpC,OATA3hB,KAAKyU,cAAc8H,IACXA,EAAE/H,SACFpM,EAAM0Z,EACAH,EAAKpF,GACLA,EAAEoF,GACRE,EAAKzY,QAAQhB,MAGlBqZ,GACII,EAAK1c,KAAKyc,GAGrB/Y,iBACI,IAAIyY,EAAKthB,KAAKwU,OAAOF,SACjBiN,EAAMD,EAAGhf,QAAQtC,MACrB,OAAOshB,EAAGC,EAAM,IAAM,KAK1B1Y,cACI,GAAI7I,KAAKyX,KAAM,CACX,GAAqB,MAAjBzX,KAAKsU,SACL,OAEC,GAA6B,IAAzBtU,KAAKsU,SAAS/O,OACnB,OAAO,EAEN,GAA6B,IAAzBvF,KAAKsU,SAAS/O,QACnBvF,KAAKsU,SAAS,GAAG8I,eACjB,OAEJ,OAAO,EAEX,SAAUpd,KAAKsU,WAAYtU,KAAKsU,SAAS/O,QAG7CsD,WACI,OAAO7I,KAAKwN,KAAKiJ,aAAezW,KAKpC6I,UAAUkZ,GACN,OAAO/hB,KAAKwU,QAAUxU,KAAKwU,SAAWuN,EAK1ClZ,eAAekZ,GACX,IAAKA,GAASA,EAAMvU,OAASxN,KAAKwN,KAC9B,OAAO,EAGX,IADA,IAAIkH,EAAI1U,KAAKwU,OACNE,GAAG,CACN,GAAIA,IAAMqN,EACN,OAAO,EAEPrN,IAAMA,EAAEF,QACRxS,EAAM,0BAA4B0S,GAEtCA,EAAIA,EAAEF,OAEV,OAAO,EAMX3L,aAAamZ,GAAe,GACxB,SAAShiB,KAAKsU,UAActU,KAAK2U,UAAaqN,GAGlDnZ,YACI,OAAO7I,KAAKwN,KAAKgJ,YAAY,sBAAuBxW,MAGxD6I,aACI,QAAS7I,KAAK2U,SAGlB9L,iBACI,IAAI6L,EAAI1U,KAAKwU,OACb,OAAQE,GAAKA,EAAEJ,SAAS,KAAOtU,KAGnC6I,gBACI,IAAI6L,EAAI1U,KAAKwU,OACb,OAAQE,GAAKA,EAAEJ,SAASI,EAAEJ,SAAS/O,OAAS,KAAOvF,KAGvD6I,SACI,QAAS7I,KAAKyX,KAGlB5O,WACI,OAAQ7I,KAAKyX,WAA+B9T,IAAvB3D,KAAKiiB,cAG9BpZ,YACI,OAAO7I,KAAKyd,WAGhB5U,eACI,MAA+B,WAAxB7I,KAAK+e,eAGhBlW,aACI,QAAS7I,KAAK4e,UAGlB/V,YACI,OAAQ7I,KAAKue,YAAcve,KAAK2e,SAGpC9V,aACI,QAAS7I,KAAKoV,SAKlBvM,aACI,OAAO7I,KAAKwN,KAAKe,OAASvO,KAG9B6I,aACI,QAAS7I,KAAKue,SAKlB1V,eACI,QAAS7I,KAAK+e,eAGlBlW,aACI,OAAO7I,KAAKwN,KAAKe,OAASvO,KAAKwU,OAKnC3L,aAEI,YAA8BlF,IAAvB3D,KAAKiiB,cAKhBpZ,YACI,IAAIvD,EAAGwb,EAAGvE,EAAG2F,EAAqC,SAAzBliB,KAAKwN,KAAKuG,WAAuBoO,EAAUniB,KAAKoiB,eAAc,GAAO,GAI9F,GAAIF,IAAcliB,KAAK2S,QAAU3S,KAAKkU,cAElC,OAAO,EAEX,IAAK5O,EAAI,EAAGwb,EAAIqB,EAAQ5c,OAAQD,EAAIwb,EAAGxb,IAEnC,GADAiX,EAAI4F,EAAQ7c,IACPiX,EAAE5H,SAEH,OAAO,EAQf,OAAO,EAEX9L,kBAAkBwZ,GACd,MAAM7U,EAAOxN,KAAKwN,KAElBxN,KAAKuV,WAAW,UAAW,CAAE+M,SAAUD,IACnCxc,EAAQwc,KACRA,EAAS,CAAE/N,SAAU+N,IAEzB9gB,EAAO4E,EAAckc,IACrB9gB,EAAO8gB,EAAO/N,SAAU,gEACpB+N,EAAO9C,OAEPna,EAAOoI,EAAK+R,MAAO8C,EAAO9C,OAE9Bvf,KAAK6f,YAAYwC,EAAO/N,UACxBtU,KAAKuV,WAAW,QAGpB1M,WAAWwZ,GACP,MAAM7U,EAAOxN,KAAKwN,KAEZ+U,EAAYpS,KAAKC,MACjBoS,EAAaxiB,KAAKwU,OAClBiO,EAAwB,iBAAXJ,EAAsBA,EAASA,EAAOI,IAErDziB,KAAKye,YACLze,KAAKkV,QAAQ,2BAA2BqN,YAAoBviB,KAAKye,0BAGrEze,KAAKye,WAAa8D,EAClB,MAAMG,EAAalV,EAAKmV,QAAQ3iB,KAAO,WACvC,IACI,GAAKyiB,EAGA,CACDziB,KAAKoU,UAAUvJ,EAAeG,SAC9B,MAAMsX,QAAiBM,MAAMH,EAAK,CAAEI,OAAQ,QACvCP,EAASjO,IACVrS,EAAM,OAAOygB,cAAgBH,EAAStZ,WAAWsZ,KAErD,MAAMnU,QAAamU,EAAS5F,OAC5B,GAAI1c,KAAKye,YAAcze,KAAKye,WAAa8D,EAErC,YADAviB,KAAKkV,QAAQ,0BAA0BqN,cAAsBviB,KAAKye,0BAMtE,GAFIze,KAAKuW,SAAS,uCAAuCgM,KAErC,OAAhBviB,KAAKwU,QAAkC,OAAfgO,EAExB,YADAxiB,KAAKkV,QAAQ,oEAGjBlV,KAAKoU,UAAUvJ,EAAewJ,IAC1BlG,EAAKqK,UACLhL,EAAK2F,QAAQ,oBAAqBhF,EAAKqK,SACvCjX,GAAQvB,KAAKwU,QACbhH,EAAKgL,QAAUrK,EAAKqK,eACbrK,EAAKqK,QACZhL,EAAKsV,gBAET9iB,KAAK+iB,kBAAkB5U,QA5BvBnO,KAAK+iB,kBAAkBV,GA+B/B,MAAOrgB,GAIH,MAHAhC,KAAKgjB,SAAS,sBAAuBX,EAAQrgB,GAC7ChC,KAAKuV,WAAW,QAAS,CAAEvT,MAAOA,IAClChC,KAAKoU,UAAUvJ,EAAe7I,MAAO,GAAKA,GACpCA,EAEV,QACIhC,KAAKye,WAAa,EAClBjR,EAAKyV,WAAWP,IAIxB7Z,eAAeqa,GAAc,GACzB,MAAMC,EAAcnjB,KAAK2U,SAGzB,GAFApT,EAAOvB,KAAKyX,KAAM,+BAEbyL,GAAgBljB,KAAKojB,aAA1B,CAGIpjB,KAAKqjB,YACLrjB,KAAKsjB,YAITtjB,KAAKoU,UAAUvJ,EAAeG,SAC9B,IACI,MAAMqX,QAAeriB,KAAKuV,WAAW,YACrC,IAAe,IAAX8M,EAEA,YADAriB,KAAKoU,UAAUvJ,EAAewJ,IAGlC9S,EAAOsE,EAAQwc,IAAYA,GAAUA,EAAOI,IAAM,4EAC5CziB,KAAKujB,KAAKlB,GACZc,GACAnjB,KAAK2U,UAAW,EAChB3U,KAAKwN,KAAKgW,kBAGVxjB,KAAKyjB,SAGb,MAAOzc,GACHhH,KAAKoU,UAAUvJ,EAAe7I,MAAO,GAAKgF,KAMlD6B,OAAOxD,GACHrF,KAAKuW,SAAS3O,MAAM5H,KAAMqF,GAG9BwD,YAAYxD,GACJrF,KAAKwN,KAAKK,QAAQ6V,YAAc,IAChC5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQ8K,IAAI/b,MAAMiR,QAASxT,IAInCwD,YAAYxD,GACJrF,KAAKwN,KAAKK,QAAQ6V,YAAc,IAChC5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQ7W,MAAM4F,MAAMiR,QAASxT,IAIrCwD,WAAWxD,GACHrF,KAAKwN,KAAKK,QAAQ6V,YAAc,IAChC5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQ+K,KAAKhc,MAAMiR,QAASxT,IAIpCwD,WAAWxD,GACHrF,KAAKwN,KAAKK,QAAQ6V,YAAc,IAChC5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQgL,KAAKjc,MAAMiR,QAASxT,IAQpCwD,kBAAkBb,GACd,IAAI1C,EAAGwe,EAAM,IAAIlb,EAAYmb,EAAY,GAAI5B,EAAUniB,KAAKoiB,eAAc,GAAO,GAAQ4B,EAAM7B,EAAQ5c,OAAQ0e,IAAYjc,IAA6B,IAArBA,EAAK6M,aAAuB6E,IAAW1R,IAAgC,IAAxBA,EAAK+M,gBAEvL,IAAKzP,EAAI0e,EAAM,EAAG1e,GAAK,EAAGA,IAEtBye,EAAUlf,KAAKsd,EAAQ7c,GAAGsP,aAAY,EAAM5M,IAehD,OAbAwB,QAAQ0a,IAAIH,GAAW1a,MAAK,KAGpBqQ,EACA1Z,KAAK+U,eAAekP,GAAS5a,MAAK,KAE9Bya,EAAIra,aAIRqa,EAAIra,aAGLqa,EAAIK,UAGftb,OAAOmU,EAAYhL,EAAO,cAAeqB,GACxB,iBAATrB,IACIgL,EAAW1I,UAAY0I,EAAW1I,SAAS/O,QAC3CyM,EAAO,SACPgL,EAAaA,EAAW1I,SAAS,IAGjCtC,EAAO,eAGf,IAAIiO,EAAKzS,EAAOxN,KAAKwN,KAAMgV,EAAaxiB,KAAKwU,OAAQ4P,EAAwB,gBAATpS,EAAyBgL,EAAaA,EAAWxI,OACrH,GAAIxU,OAASgd,EAAb,CAaA,GAVUhd,KAAKwU,OAGN4P,EAAaC,eAAerkB,OACjCgC,EAAM,4CAHNA,EAAM,2BAKNoiB,IAAiB5B,GACjBA,EAAW8B,mBAAmB,SAAUtkB,MAGR,IAAhCA,KAAKwU,OAAOF,SAAS/O,OAAc,CACnC,GAAIvF,KAAKwU,SAAW4P,EAChB,OAEJpkB,KAAKwU,OAAOF,SAAWtU,KAAKwU,OAAOiD,KAAO,GAAK,KAC/CzX,KAAKwU,OAAOG,UAAW,OAGvBsL,EAAMjgB,KAAKwU,OAAOF,SAAShS,QAAQtC,MACnCuB,EAAO0e,GAAO,EAAG,yBACjBjgB,KAAKwU,OAAOF,SAAS4L,OAAOD,EAAK,GAIrC,GADAjgB,KAAKwU,OAAS4P,EACVA,EAAanC,cACb,OAAQjQ,GACJ,IAAK,cAEDoS,EAAa9P,SAASzP,KAAK7E,MAC3B,MACJ,IAAK,SAEDigB,EAAMmE,EAAa9P,SAAShS,QAAQ0a,GACpCzb,EAAO0e,GAAO,EAAG,yBACjBmE,EAAa9P,SAAS4L,OAAOD,EAAK,EAAGjgB,MACrC,MACJ,IAAK,QAEDigB,EAAMmE,EAAa9P,SAAShS,QAAQ0a,GACpCzb,EAAO0e,GAAO,EAAG,yBACjBmE,EAAa9P,SAAS4L,OAAOD,EAAM,EAAG,EAAGjgB,MACzC,MACJ,QACIgC,EAAM,gBAAkBgQ,QAIhCoS,EAAa9P,SAAW,CAACtU,MAGzBqT,GACA2J,EAAW7I,MAAMd,GAAK,GAEtB+Q,IAAiB5B,EACjB4B,EAAaE,mBAAmB,OAAQtkB,MAIxCokB,EAAaE,mBAAmB,MAAOtkB,MAGvCwN,IAASwP,EAAWxP,OAGpBxN,KAAKkV,QAAQ,sCACblV,KAAKmU,OAAM,SAAUoI,GAEjBA,EAAE/O,KAAOwP,EAAWxP,QACrB,IAEPA,EAAKgW,kBAgBT3a,eAAekY,EAAOlT,GAElBkT,EAAQ/U,EAAmB+U,IAAUA,EAErC,IAAI1T,EAAOrN,KAAKihB,gBAAgBF,GAChC,GAAI1T,EAAM,CAEN,IACIA,EAAKkX,YAAY,CAAExP,gBAAgB,IAEvC,MAAO/N,IAEP,OADAqG,EAAKyJ,YACwE,KAAxEjJ,MAAAA,OAAyC,EAASA,EAAQsI,UACpD3M,QAAQC,QAAQzJ,MAEpBqN,EAAKwJ,WAAU,EAAM,CAAEpS,MAAOoJ,MAAAA,OAAyC,EAASA,EAAQpJ,QAGnG,OADAzE,KAAKkV,QAAQ,gCAAkC6L,EAAQ,MAChDvX,QAAQC,QAAQzJ,MAG3B6I,SACI,MAAM2E,EAAOxN,KAAKwN,KACZyS,EAAMjgB,KAAKwU,OAAOF,SAAShS,QAAQtC,MACzCA,KAAKwU,OAAOF,SAAS4L,OAAOD,EAAK,GACjCjgB,KAAKmU,OAAOoI,IACRA,EAAEiI,eACFhX,EAAKiX,gBAAgBlI,MACtB,GAGP1T,iBACI,MAAM2E,EAAOxN,KAAKwN,KACbxN,KAAKsU,WAGN9G,EAAKiJ,YAAcjJ,EAAKiJ,WAAW4N,eAAerkB,OAClDwN,EAAKiJ,WAAWI,WAAU,GAE1BrJ,EAAKwI,WAAaxI,EAAKwI,UAAUqO,eAAerkB,QAChDwN,EAAKwI,UAAY,MAKrBhW,KAAKskB,mBAAmB,SAAU,MAClCtkB,KAAKmU,OAAOoI,IACR/O,EAAKiX,gBAAgBlI,MAErBvc,KAAKyX,KAELzX,KAAKsU,SAAW,GAGhBtU,KAAKsU,SAAW,KAGftU,KAAK0kB,eACN1kB,KAAK2U,UAAW,GAEpB3U,KAAKwN,KAAKgW,kBAGd3a,eACQ7I,KAAKoV,kBACEpV,KAAKoV,SAASuP,SACrB3kB,KAAKoV,SAASK,SACdzV,KAAKoV,cAAWzR,GAGxBkF,iBACI,IAAI+b,EAAe,GACfrD,EAAM,EACNH,EAAWphB,KAAKoV,SACbpV,KAAKoV,SAASiM,iBAAiB,eAChC,KACN,IAAK,IAAIwD,KAAO7kB,KAAKwN,KAAKgL,QACtBoM,EAAaC,EAAIpX,IAAM,CACnBA,GAAIoX,EAAIpX,GACR8T,IAAKA,EACL/e,KAAM4e,EAAWA,EAASG,GAAO,KACjCqC,KAAMiB,GAEVtD,IAEJ,OAAOqD,EAEX/b,YAAYic,EAAYC,GACpB,IAAIC,EACA9F,EAAOlf,KAAK+H,UAAU,QAO1B,OANI/H,KAAK0e,WACLQ,EAAOnU,EAAQ/I,MAEVhC,KAAKyd,aACVyB,EAAOnU,EAAQC,UAEN,IAATkU,EACO,MAES,iBAATA,IAEPA,EADKlf,KAAK+e,eACHhU,EAAQ/K,KAAK+e,gBAEf/e,KAAK2U,SACH5J,EAAQa,WAEV5L,KAAKsU,SACHvJ,EAAQY,OAGRZ,EAAQc,KAGfqT,EAAK5c,QAAQ,MAAQ,EAErB0iB,EAAWphB,EAAasb,GAEnBxU,EAAS/J,KAAKue,GAEnB8F,EAAWphB,EAAa,aAAasb,wBAIrC8F,EAAWnjB,SAASkC,cAAc,KAClCihB,EAASxE,UAAY,WAAatB,GAElC6F,EACAD,EAAWC,aAAaC,EAAUD,GAGlCD,EAAWG,YAAYD,GAGpBA,GAGXnc,OAAOb,GACH,MAAMwF,EAAOxN,KAAKwN,KACZ0X,EAAc1X,EAAKK,QACnBmR,GAA0C,IAA/Bhf,KAAK+H,UAAU,YAC1ByQ,EAAUhL,EAAKgL,QACf8G,EAAWtf,KAAKoD,KAAOoK,EAAK+R,MAAMvf,KAAKoD,MAAQ,KAC/C+hB,EAAQnlB,KAAKolB,WACnB,IAAI5iB,EACA6iB,EAEAC,EAEAN,EAHAO,EAASvlB,KAAKoV,SAEdoQ,EAAe,KAEfC,EAAe,KACnB,MAAMzN,EAAexK,EAAKwJ,UAAYjL,EAAekL,IAAM,KAAOzJ,EAAKwK,aAEjE0N,GAASH,EACfhkB,GAAQvB,KAAK0kB,cAEb,IAAIiB,EAAa,CAAC,UAgBlB,GAfA3lB,KAAK2U,UAAWgR,EAAW9gB,KAAK,eAChC7E,KAAKyX,MAAOkO,EAAW9gB,KAAK,WAC5B7E,KAAKue,UAAWoH,EAAW9gB,KAAK,eAChC7E,OAASwN,EAAKiJ,YAAakP,EAAW9gB,KAAK,aAC3C7E,OAASwN,EAAKwI,WAAY2P,EAAW9gB,KAAK,YAC1C7E,KAAK0e,YAAaiH,EAAW9gB,KAAK,YAClC7E,KAAKyd,YAAakI,EAAW9gB,KAAK,cAClC7E,KAAK+e,gBACC4G,EAAW9gB,KAAK,aAAe7E,KAAK+e,gBAE1C/e,KAAK2S,OAAQgT,EAAW9gB,KAAK,YAC7B7E,KAAKkU,eAAgByR,EAAW9gB,KAAK,eACrCqgB,EAAYU,UAAWD,EAAW9gB,KAAK,eAGnC0gB,EAEAF,EAAWE,EAAOtiB,cAAc,gBAChCqiB,EAAYD,EAASpiB,cAAc,iBACnCwiB,EAAeJ,EAASpiB,cAAc,iBACtCuiB,EAAeH,EAASpiB,cAAc,iBACtC+hB,EAAWK,EAASpiB,cAAc,iBAOjC,CACDsiB,EAAS1jB,SAASkC,cAAc,OAGhCwhB,EAAOZ,SAAW3kB,KAClBqlB,EAAWxjB,SAASkC,cAAc,QAClCshB,EAASxiB,UAAU0F,IAAI,UAAW,UAClCgd,EAAON,YAAYI,GACnB,IAAIQ,EAAa,EACb7G,IACAwG,EAAe3jB,SAASkC,cAAc,KACtCshB,EAASJ,YAAYO,GACrBK,GAnxEG,IAqxEP,IAAK,IAAIvgB,EAAI6f,EAAQ,EAAG7f,EAAI,EAAGA,IAC3B9C,EAAOX,SAASkC,cAAc,KAC9BvB,EAAKK,UAAU0F,IAAI,aACnB8c,EAASJ,YAAYziB,GACrBqjB,GAzxEG,GAgzEP,GArBIV,EAAQD,EAAYY,iBACpBL,EAAe5jB,SAASkC,cAAc,KACtCshB,EAASJ,YAAYQ,GACrBI,GA9xEG,IAgyEPb,EAAWhlB,KAAK+lB,YAAYV,GACxBL,IACAa,GAlyEG,IAoyEPP,EAAYzjB,SAASkC,cAAc,QACnCuhB,EAAUziB,UAAU0F,IAAI,YACxB8c,EAASJ,YAAYK,GACrBtlB,KAAKuV,WAAW,eAAgB,CAAE+P,UAAWA,IAG7CD,EAASW,YAAcH,EACnBrY,EAAKK,QAAQgN,IAAIf,YACjBuL,EAASY,WAAY,IAIpBjmB,KAAKif,SAAWzG,EAAQjT,OAAS,EAAG,CACrC,IAAI2b,EAAS,EACb,IAAK,IAAI2D,KAAOrM,EAAS,CAErB,IAAI0N,EADJhF,IAEe,MAAX2D,EAAIpX,GACJyY,EAAUb,GAGVa,EAAUrkB,SAASkC,cAAc,QACjCmiB,EAAQrjB,UAAU0F,IAAI,UAEtBgd,EAAON,YAAYiB,IAEnBhF,IAAWlJ,GACXkO,EAAQrjB,UAAU0F,IAAI,aAG1Bsc,EAAI1F,SAAU+G,EAAQrjB,UAAU0F,OAAOsc,EAAI1F,QAAQtY,MAAM,MACzDqf,EAAQC,MAAMC,KAAOvB,EAAIwB,OAAS,KAClCH,EAAQC,MAAMG,MAAQzB,EAAI0B,SAAW,KAEjCb,GAASb,EAAIhhB,MACW,iBAAbghB,EAAIhhB,OACXqiB,EAAQliB,UAAY6gB,EAAIhhB,QAqD5C,GA9CA0hB,EAAO/E,UAAYmF,EAAWxgB,KAAK,KAEnCogB,EAAO1iB,UAAU0F,OAAOvI,KAAKwe,cAEzBc,GAAYA,EAASH,SACrBoG,EAAO1iB,UAAU0F,OAAO+W,EAASH,SAGrCoG,EAAOY,MAAMK,IAAMxmB,KAAK6e,QAAUpU,EAAa,KAC3Cgb,IACIzlB,KAAKmY,cAAa,GACdnY,KAAK2U,SACL8Q,EAAajF,UAAY,eAAiBzV,EAAQG,iBAGlDua,EAAajF,UAAY,eAAiBzV,EAAQI,kBAGjDnL,KAAKyd,WACVgI,EAAajF,UAAY,eAAiBzV,EAAQC,QAE7ChL,KAAKyX,MAAyB,MAAjBzX,KAAKsU,SACvBmR,EAAajF,UAAY,eAAiBzV,EAAQK,aAGlDqa,EAAa5iB,UAAU0F,IAAI,cAG/Bid,IACIxlB,KAAKue,SACLiH,EAAahF,UAAY,eAAiBzV,EAAQM,aAGlDma,EAAahF,UAAY,eAAiBzV,EAAQO,gBAGtDtL,KAAK8T,mBACLwR,EAAUthB,UAAYhE,KAAK8T,mBAEtBtG,EAAKK,QAAQkF,aAClBuS,EAAUhQ,YAActV,KAAKsN,MAG7BgY,EAAUthB,UAAYhE,KAAKsN,OAG1B4X,EAAYU,SACb,GAAI5lB,KAAKif,QAAS,CACd,IAAIwH,EAAUjZ,EAAKlD,QAAQoc,YAC3BpB,EAAUa,MAAMG,MACZG,EAAUpB,EAASW,YAh4EjB,EAg4E+C,UAGrDV,EAAUa,MAAMG,MACZ9N,EAAQ,GAAG+N,SACPlB,EAASW,YAr4EX,EAu4EE,KAGhBhmB,KAAKoV,SAAWmQ,EACZvlB,KAAK+e,eACL/e,KAAKuV,WAAW,mBAAoB,CAChCmQ,MAAOA,EACPL,SAAUA,IAGTrlB,KAAKwU,QAEVxU,KAAKuV,WAAW,SAAU,CACtBmQ,MAAOA,EACPL,SAAUA,EACV/F,SAAUA,EACVsF,aAAc5kB,KAAK2mB,mBAK3BnZ,EAAKoZ,gBAAgB3B,YAAYM,GAOrC1c,YACI7I,KAAK6mB,iBACL7mB,KAAK2U,UAAW,EAChB3U,KAAKyX,MAAO,EACZzX,KAAKsU,SAAW,KAChBtU,KAAKwN,KAAKgW,iBAad3a,OAAOie,GAAY,EAAOllB,GACtB,MAAMmlB,EAAO,GAmBb,GAlBA5I,GAAWrX,SAASkgB,IAChB,MAAM5e,EAAMpI,KAAKgnB,GACb5e,aAAe/D,IAEf+D,EAAI+S,OACG4L,EAAKC,GAAYlhB,MAAMJ,UAAUP,KAAKS,KAAKwC,EAAIpC,OAAQ,OAGzDoC,IAAe,IAARA,GAAyB,IAARA,KAC7B2e,EAAKC,GAAY5e,MAGpBrC,EAAc/F,KAAKmO,QACpB4Y,EAAK5Y,KAAO/I,EAAO,GAAIpF,KAAKmO,MACxBpI,EAAcghB,EAAK5Y,cACZ4Y,EAAK5Y,MAGhBvM,EAAU,CACV,MAAMgS,EAAMhS,EAASmlB,EAAM/mB,MAC3B,IAAY,IAAR4T,EACA,OAAO,EAEC,SAARA,IACAkT,GAAY,GAGpB,GAAIA,GACIjhB,EAAQ7F,KAAKsU,UAAW,CACxByS,EAAKzS,SAAW,GAChB,IAAK,IAAIhP,EAAI,EAAGwb,EAAI9gB,KAAKsU,SAAS/O,OAAQD,EAAIwb,EAAGxb,IAAK,CAClD,MAAM+H,EAAOrN,KAAKsU,SAAShP,GAC3B,IAAK+H,EAAK+P,eAAgB,CACtB,MAAMxJ,EAAMvG,EAAKiP,QAAO,EAAM1a,IAClB,IAARgS,GACAmT,EAAKzS,SAASzP,KAAK+O,KAMvC,OAAOmT,EAgBXle,UAAUpF,EAAMwE,GACZ,IAAIuF,EAAOxN,KAAKwN,KACZxF,EAAOwF,EAAKK,QAEZpK,EAAKnB,QAAQ,MAAQ,KACpB0F,EAAMvE,GAAQA,EAAKoD,MAAM,MAE9B,IAAIjE,EAAQoF,EAAKvE,GAEjB,GAAqB,mBAAVb,EAAsB,CAC7B,IAAIgR,EAAMhR,EAAMgD,KAAK4H,EAAM,CACvBpK,KAAM,UACNoK,KAAMA,EACNH,KAAMrN,OAGV,QAAY2D,IAARiQ,EACA,OAAOA,EAIf,QAAmBjQ,IAAf3D,KAAKyD,GACL,OAAOzD,KAAKyD,GAGhB,IAAI6b,EAAWtf,KAAKoD,KAAOoK,EAAK+R,MAAMvf,KAAKoD,WAAQO,EAC/CiQ,EAAM0L,EAAWA,EAAS7b,QAAQE,EACtC,YAAYA,IAARiQ,EACOA,EAGJhR,MAAAA,EAAqCA,EAAQqF,EAExDY,qBAAqBgF,GACjB,OAAO7N,KAAKwN,KAAKyZ,SAASjnB,MAE9B6I,gBAAgBoF,GAAO,EAAMJ,GACzB,MAAML,EAAOxN,KAAKwN,KACZ0Z,EAAO1Z,EAAKiJ,WACZ0Q,EAAYtZ,MAAAA,OAAyC,EAASA,EAAQsZ,UAE5E,KADgBtZ,MAAAA,OAAyC,EAASA,EAAQuZ,SAC5D,CACV,IAAIC,EAAWxZ,MAAAA,OAAyC,EAASA,EAAQpJ,MACzE,GAAIwJ,GACA,GAAIiZ,IAASlnB,MAAQmnB,EAAW,CAC5B,IAGQ,KAHHD,MAAAA,OAAmC,EAASA,EAAK3R,WAAW,aAAc,CAC3E+R,SAAUtnB,KACVqnB,SAAUA,KAEV,OAEJ,IAGO,IAHHrnB,KAAKuV,WAAW,WAAY,CAC5BgS,SAAUL,EACVG,SAAUA,IAIV,OAFA7Z,EAAKiJ,WAAa,UAClByQ,MAAAA,GAA4CA,EAAKM,SAAS5c,EAAW5B,eAKxEke,IAASlnB,MAAQmnB,IACtBnnB,KAAKuV,WAAW,aAAc,CAAE+R,SAAU,KAAMD,SAAUA,IAG9DH,IAASlnB,OACTwN,EAAKiJ,WAAazW,KAClBknB,MAAAA,GAA4CA,EAAKM,SAAS5c,EAAW5B,QACrEhJ,KAAKwnB,SAAS5c,EAAW5B,SAEzB6E,GACkB,MAAlBA,EAAQqT,QACRrT,EAAQqT,SAAW1T,EAAKwK,cACxBxK,EAAKwJ,UAAYjL,EAAekL,KAChCzJ,EAAK8K,UAAUzK,EAAQqT,QAK3BlhB,KAAK+U,iBAETlM,SAASzF,GACDpD,KAAKwN,KAAKia,iBAGVrkB,IAASwH,EAAWwV,UACpBpgB,KAAKwN,KAAKgW,iBAELxjB,KAAKoV,UAEVpV,KAAKyjB,UAGb5a,kBAAkBoF,GAAO,EAAMJ,IAEtBI,GACDjO,KAAKoY,cACLpY,KAAKolB,WAAaplB,KAAK+H,UAAU,oBAChCA,EAAU8F,EAAS,SACpB7N,KAAKuW,SAAS,8BAGdtI,GAAQjO,KAAKyX,MAAyB,MAAjBzX,KAAKsU,gBACpBtU,KAAK0nB,WAEf1nB,KAAK2U,SAAW1G,EAChBjO,KAAKwnB,SAAS5c,EAAWwV,YAE7BvX,UACI,MAAM,IAAInH,MAAM,uBAGpBmH,SAASoF,GAAO,EAAMJ,GAClB,MAAMqZ,EAAOlnB,KAAKwN,KAAKwI,UACvBhW,KAAKwN,KAAKwI,UAAYhW,KACtBknB,MAAAA,GAA4CA,EAAKM,SAAS5c,EAAW5B,QACrEhJ,KAAKwnB,SAAS5c,EAAW5B,QAE7BH,YAAYoF,GAAO,EAAMJ,KAEfI,IADOjO,KAAKue,UAEdve,KAAKuV,WAAW,SAAU,CAAEtH,KAAMA,IAEtCjO,KAAKue,WAAatQ,EAClBjO,KAAKwnB,SAAS5c,EAAW5B,QAI7BH,UAAUG,EAAQ2e,EAASC,GACvB,IAAIpa,EAAOxN,KAAKwN,KACZqa,EAAa,KACjB,MAOMC,EAAkB3Z,IAIpB,IAAImG,EAAWtU,KAAKsU,SAChByT,EAAazT,EAAWA,EAAS,GAAK,KAM1C,OALA/S,EAAO4M,EAAK4Q,gBACZxd,GAAQwmB,IAAeA,EAAW3K,gBAClCyK,EAAa7nB,KAAKgoB,QAAQ7Z,EAAM,cAChC0Z,EAAWlV,OAAQ,EACnBnF,EAAK2S,YAAYvV,EAAWwV,WACrByH,GAGX,OArByB,MAErB,IAAIvT,EAAWtU,KAAKsU,SAChBA,GAAYA,EAAS/O,QAAU+O,EAAS,GAAG8I,gBAC3C9I,EAAS,GAAGmB,UAgBpBwS,GACQjf,GACJ,IAAK,KACDhJ,KAAKyd,YAAa,EAClBzd,KAAK0e,WAAa,KAClB,MACJ,IAAK,UAEI1e,KAAKwU,QACNsT,EAAe,CACX/I,eAAgB/V,EAChBsE,MAAOE,EAAKK,QAAQqa,QAAQld,SACvB2c,EAAU,KAAOA,EAAU,IAAM,IACtC3I,UAAU,EACVC,SAAS,EACTkJ,QAASP,IAGjB5nB,KAAKyd,YAAa,EAClBzd,KAAK0e,WAAa,KAElB,MACJ,IAAK,QACDoJ,EAAe,CACX/I,eAAgB/V,EAChBsE,MAAOE,EAAKK,QAAQqa,QAAQE,WACvBT,EAAU,KAAOA,EAAU,IAAM,IACtC3I,UAAU,EACVC,SAAS,EAETkJ,QAASP,IAEb5nB,KAAKyd,YAAa,EAClBzd,KAAK0e,WAAa,CAAEiJ,QAASA,EAASC,QAASA,GAC/C,MACJ,IAAK,SACDE,EAAe,CACX/I,eAAgB/V,EAChBsE,MAAOqa,GAAWna,EAAKK,QAAQqa,QAAQjd,OACvC+T,UAAU,EACVC,SAAS,EACTkJ,QAASP,IAEb5nB,KAAKyd,YAAa,EAClBzd,KAAK0e,WAAa,KAClB,MACJ,QACI1c,EAAM,uBAAyBgH,GAGvC,OADAwE,EAAKgW,iBACEqE,EAEXhf,SAASyE,GACLtN,KAAKsN,MAAQA,EACbtN,KAAKwnB,SAAS5c,EAAW5B,QAO7BH,mBAAmBwf,EAAW1I,EAAO/G,GAC5B5Y,KAAKwN,KAAKK,QAAQya,cAEnB3I,GAASA,EAAMnL,SAAWxU,MAC1BgC,EAAM,SAAW2d,EAAQ,sBAAwB3f,MAErDA,KAAKuV,WAAW,cAAenQ,EAAO,CAAEijB,UAAWA,EAAW1I,MAAOA,GAAS/G,KAOlF/P,cAAcwf,EAAWzP,GACrB5Y,KAAKwU,OAAO8P,mBAAmB+D,EAAWroB,KAAM4Y,GAUpD/P,MAAMjH,EAAU6f,GAAc,GAC1B,IAAInc,EAAGwb,EAAGlN,GAAM,EAAMU,EAAWtU,KAAKsU,SACtC,IAAoB,IAAhBmN,IACA7N,EAAMhS,EAAS5B,OACH,IAAR4T,GAAyB,SAARA,GACjB,OAAOA,EAGf,GAAIU,EACA,IAAKhP,EAAI,EAAGwb,EAAIxM,EAAS/O,OAAQD,EAAIwb,IACjClN,EAAMU,EAAShP,GAAG6O,MAAMvS,GAAU,IACtB,IAARgS,GAFgCtO,KAO5C,OAAOsO,EAQX/K,aAAajH,EAAU6f,GAAc,GACjC,GAAIA,IAAkC,IAAnB7f,EAAS5B,MACxB,OAAO,EAEX,IAAI0U,EAAI1U,KAAKwU,OACb,KAAOE,GAAG,CACN,IAAoB,IAAhB9S,EAAS8S,GACT,OAAO,EAEXA,EAAIA,EAAEF,OAEV,OAAO,EASX3L,cAAcjH,EAAU6f,GAAc,GAClC,IAAInc,EAAGwb,EAAGvE,EAAG+E,EAAKthB,KAAKwU,OAAOF,SAC9B,IAAKhP,EAAI,EAAGwb,EAAIQ,EAAG/b,OAAQD,EAAIwb,EAAGxb,IAE9B,GADAiX,EAAI+E,EAAGhc,IACHmc,GAAelF,IAAMvc,QACD,IAAhB4B,EAAS2a,GACT,OAAO,EAInB,OAAO,EAKX1T,YACI,QAAS7I,KAAKwN,KAAKuG,aAAe/T,KAAK2S,QAG/CyL,GAAeU,SAAW;;;;;;AAQ1B,MAAMyJ,WAAsBhb,EACxB1E,YAAY2E,GACR+D,MAAM/D,EAAM,OAAQ,CAChBkB,SAAU,IACV8Z,UAAW,EACXC,UAAW,KACXC,QAAS,GACTzkB,MAAM,EACN0kB,QAAQ,EACRC,eAAgB,IAChBC,UAAU,EAGVC,WAAY,KACZC,KAAM,KACNnhB,MAAO,OAEX5H,KAAKgpB,YAAc,KACnBhpB,KAAKipB,YAAc,KACnBjpB,KAAKkpB,kBAAoBxa,EAAS1O,KAAKmpB,UAAUpO,KAAK/a,MAAOA,KAAK+N,gBAAgB,aAKtFlF,aAAaoN,EAAW5I,EAAM6Y,EAAStN,GACnC,IAAIhF,EACJvG,EAAKsW,IAAI,gBAAgB1N,KAAc2C,GACvCsN,EAAQrjB,UAAU0F,IAAI,YACtB2d,EAAQrjB,UAAU4S,OAAO,YACzB,IACI7B,EAAMvG,EAAKkI,WAAWU,EAAW2C,GAErC,MAAO1O,GACHmD,EAAK2V,SAAS,YAAY/M,kBAA2B/L,GACrDgc,EAAQrjB,UAAU0F,IAAI,YACtB2d,EAAQrjB,UAAU4S,OAAO,YAc7B,OAXM7B,aAAepK,UACjBoK,EAAMpK,QAAQC,QAAQmK,IAE1BA,EACKtK,OAAOY,IACRmD,EAAK2V,SAAS,YAAY/M,kBAA2B/L,GACrDgc,EAAQrjB,UAAU0F,IAAI,eAErB0V,SAAQ,KACTiI,EAAQrjB,UAAU4S,OAAO,eAEtB7B,EAKX/K,UAAU7B,GAEN,MAAM4c,EAAO1H,GAAWkN,aAAapiB,GAC/BqG,EAAOuW,EAAKvW,KACZ6Y,EAAUtC,EAAKsC,QAChB7Y,GAAwB,IAAhBuW,EAAK1C,OAIlBlhB,KAAKqpB,aAAa,SAAUhc,EAAM6Y,EAAS,CACvCtC,KAAMA,EACNnf,MAAOuC,EACPsiB,UAAWtiB,EAAEC,OACbsiB,WAAYrN,GAAW1T,KAAKjG,iBAAiByE,EAAEC,UAP/CjH,KAAKwN,KAAKmW,IAAI,0DAatB9a,OACI0I,MAAMW,OACN5L,EAAQtG,KAAKwN,KAAKlD,QAAS,SAC3B,0CAA2CtD,IACvChH,KAAKkpB,kBAAkBliB,MAI/B6B,oBAAoBsF,GAChB,MAAM1J,EAAQ0J,EAAK1J,MACbwR,EAAYzR,EAAcC,GAC1B+I,EAAOxN,KAAKwN,KACZkb,EAAU1oB,KAAK+N,gBAAgB,WAC/Bub,EAAY7kB,EAAMwC,QAAUxC,EAAMwC,OAAOE,QAAQ,2BAIvD,GAFAqG,EAAK+I,SAAS,wBAAwBN,KAElCqT,EAAW,CAEX,OAAQrT,GACJ,IAAK,QAED,OADAjW,KAAKwpB,gBAAe,EAAM,CAAE/kB,MAAOA,KAC5B,EACX,IAAK,SAED,OADAzE,KAAKwpB,gBAAe,EAAO,CAAE/kB,MAAOA,KAC7B,EAIf,OAAO,EAGX,GAAI+I,EAAKwJ,UAAYjL,EAAekL,KAA6B,IAAtBzJ,EAAKwK,aAAoB,CAChE,OAAQ/B,GACJ,IAAK,QACD,GAAIyS,EAAQpmB,QAAQ,aAAe,GAAK9B,EAEpC,OADAR,KAAKypB,kBACE,EAEX,MACJ,IAAK,KACD,GAAIf,EAAQpmB,QAAQ,OAAS,EAGzB,OADAtC,KAAKypB,kBACE,EAInB,OAAO,EAEX,OAAO,EAGX5gB,eAAewE,GACX,OAAOA,EAAOrN,KAAKgpB,cAAgB3b,IAASrN,KAAKgpB,YAGrDngB,eAAewE,GACXA,EAAOA,MAAAA,EAAmCA,EAAOrN,KAAKwN,KAAKkJ,gBAC3D,MAAMmS,EAAW7oB,KAAK+N,gBAAgB,YAChC4a,EAAS3oB,KAAK+N,gBAAgB,UACpC,IAAKV,EACD,OAEJrN,KAAKwN,KAAK+I,SAAS,uBAAuBlJ,MAC1C,IAAIqc,EAAYrc,EAAKkI,WAAW,mBAChC,IAAkB,IAAdmU,EAEA,YADArc,EAAK8F,QAAQ,kCAIjB,IAAKuW,EAAW,CAEZA,EAAY,iDADEznB,EAAWoL,EAAKC,oCAGlC,MAAMgY,EAAYjY,EACbsc,WAAW,GACX1mB,cAAc,aACnBqiB,EAAUthB,UAAY0lB,EACtB,MAAMJ,EAAYhE,EAAUnhB,kBACxB0kB,GAEAS,EAAUvnB,iBAAiB,WAAYiF,IAC9BsiB,EAAUM,oBAGvBN,EAAUO,QACNlB,GACAW,EAAUX,SAEd3oB,KAAKgpB,YAAc3b,EACnBA,EAAKkI,WAAW,YAAa,CACzB+T,UAAWA,IAQnBzgB,cAAcjB,GACV,OAAO5H,KAAKwpB,eAAe5hB,EAAO,IAOtCiB,eAAejB,EAAOI,GAClB,MAAM8hB,EAAYjoB,SAASkoB,cAC3B,IAAIC,EAAWF,EAAYvnB,EAAiBunB,GAAa,KACzD,MAAMzc,EAAOrN,KAAKgpB,YACZiB,IAAejiB,EAAKiiB,WACpBpB,EAAW7oB,KAAK+N,gBAAgB,YAItC,GAHIic,GAAYhqB,KAAK+N,gBAAgB,UACjCic,EAAWA,EAAS/lB,QAEnBoJ,EAKL,GADAA,EAAKkJ,SAAS,iBAAiB3O,KAAUI,EAAM8hB,EAAWE,GACtDpiB,GAAsB,OAAboiB,GAAqBA,IAAa3c,EAAKC,MAAO,CACvD,MAAM4Y,EAAU7Y,EAAKsc,WAAW,GAChC3pB,KAAKqpB,aAAa,aAAchc,EAAM6Y,EAAS,CAC3CgE,SAAU7c,EAAKC,MACf0c,SAAUA,EACVV,UAAWQ,IAEVzgB,MAAMzG,IACP,MAAMunB,EAASL,EAAUM,kBACzB,GAAIvB,GAAYsB,IAAoB,IAAVvnB,EAEtB,MAAM,IAAIlB,MAAM,qCAAqCsoB,OAAcG,OAIlEF,IAAwB,IAAVrnB,KAInByK,MAAAA,GAA4CA,EAAKgd,SAASL,GAC1DhqB,KAAKgpB,YAAYvF,SACjBzjB,KAAKgpB,YAAc,KACnBhpB,KAAKipB,YAAc,KACnBjpB,KAAKwN,KAAKsJ,eAETxN,OAAOY,aAUZlK,KAAKgpB,YAAYvF,SACjBzjB,KAAKgpB,YAAc,KACnBhpB,KAAKipB,YAAc,KAEnBjpB,KAAKwN,KAAKsJ,gBA3CV9W,KAAKwN,KAAK+I,SAAS,oCAiD3B1N,WAAWmJ,EAAO,QAAS3E,EAAM6E,GAC7B,MAAM1E,EAAOxN,KAAKwN,KAelB,GAbAjM,EADA8L,EAAOA,MAAAA,EAAmCA,EAAOG,EAAKkJ,gBACzC,uDAEb1E,EAAOA,GAAQ,eACH,MAARE,EACAA,EAAO,CAAE5E,MAAO,IAEK,iBAAT4E,EACZA,EAAO,CAAE5E,MAAO4E,GAGhB3Q,EAAO4E,EAAc+L,KAGX,iBAATF,GAAoC,gBAATA,KAC3B3E,MAAAA,OAAmC,EAASA,EAAK8K,cAAa,IAI/D,YAHA9K,EAAKuH,cAAcvL,MAAK,KACpBrJ,KAAKsqB,WAAWtY,EAAM3E,EAAM6E,MAIpC,MAAMqY,EAAUld,EAAK2a,QAAQ9V,EAAMF,GACnCuY,EAAQzN,SAAS,eACjB9c,KAAKipB,YAAc5b,EAEnBkd,EAAQ5X,OAAQ,EAChB4X,EAAQhG,YAAY,CAAE1P,aAAa,IAAQxL,MAAK,KAC5CrJ,KAAKypB,eAAec;;;;;;;;;;;KAwBhC,MAAMrO,GACFrT,YAAYgF,GACR7N,KAAKwqB,cAAgB,GACrBxqB,KAAKyqB,WAAa,GAClBzqB,KAAK0qB,OAAS,IAAIC,IAClB3qB,KAAK4qB,UAAY,IAAID,IACrB3qB,KAAK6qB,UAAY,IAAIxmB,IAIrBrE,KAAKyW,WAAa,KAClBzW,KAAKgW,UAAY,KACjBhW,KAAKynB,eAAiB,EACtBznB,KAAK8qB,oBAAsB,EAE3B9qB,KAAKuf,MAAQ,GAEbvf,KAAKwY,QAAU,GACfxY,KAAK+qB,aAAe,GAEpB/qB,KAAKgrB,aAAe,EACpBhrB,KAAKirB,QAAU,IAAI5mB,IACnBrE,KAAKkrB,aAAe,IAAI7mB,IAExBrE,KAAK+T,WAAa,KAElB/T,KAAKgY,aAAe,EACpBhY,KAAKgX,QAAUjL,EAAekL,IAC9BjX,KAAKoX,oBAAsB,EAC3BpX,KAAKqX,oBAAsB,GAE3BrX,KAAKmrB,cAAgB,EAErBnrB,KAAKorB,MAAQ5iB,EAEbxI,KAAK2jB,IAAM3jB,KAAKuW,SAChB,IAAIvO,EAAQhI,KAAK6N,QAAUzI,EAAO,CAC9BqI,GAAI,KACJ4U,OAAQ,KACR/X,QAAS,KACToZ,WAnnGe,EAonGf2H,OAAQ,KACRC,eAAgB7gB,EAChB8gB,YAAa9gB,EACb+N,QAAS,KACT+G,MAAO,KACPxM,cAAc,EACdyY,aAAa,EACbxM,UAAU,EACV8G,eAAgB,EAChB2F,mBAAoB,IACpB7F,UAAU,EAEVtP,eAAgBxK,EAAqB4L,SACrCR,aAAa,EAEbwU,OAAQrlB,EACRslB,aAActlB,EACdrE,MAAOqE,EACPulB,QAASvlB,EAET6hB,QAAS,CACLE,UAAW,QACXpd,QAAS,aAETC,OAAQ,YAEb4C,GACH,MAAMge,EAAgB,IAAIjjB,EAC1B5I,KAAK8rB,MAAQD,EAAc1H,UAC3B,IAAI4H,GAAU,EAqCd,GApCA/rB,KAAK8rB,MACAziB,MAAK,KACN0iB,GAAU,EACV,IACI/rB,KAAKuV,WAAW,QAEpB,MAAOvT,GAGH6W,QAAQ7W,MAAM,oCAAqCA,OAGtDsH,OAAOY,IACR,GAAI6hB,EAGA,MAAM7hB,EAINlK,KAAKuV,WAAW,OAAQ,CAAEvT,MAAOkI,OAGzClK,KAAKyN,GAAKzF,EAAKyF,IAAM,SAAUyO,GAAW4C,SAC1C9e,KAAKuO,KAAO,IAAI6P,GAAepe,KAAM,KAAM,CACvC0E,IAAK,aAGT1E,KAAKgsB,mBAAmB,IAAIjW,EAAgB/V,OAC5CA,KAAKgsB,mBAAmB,IAAIzD,GAAcvoB,OAC1CA,KAAKgsB,mBAAmB,IAAI1a,EAAgBtR,OAC5CA,KAAKgsB,mBAAmB,IAAIjT,EAAa/Y,OACzCA,KAAKgsB,mBAAmB,IAAIvT,EAAgBzY,OAE5CA,KAAKwY,QAAUxQ,EAAKwQ,eACbxQ,EAAKwQ,SACPxY,KAAKwY,QAAS,CACf,IAAIyT,EAAqC,iBAAhBjkB,EAAKqjB,OAAsBrjB,EAAKqjB,OAASrrB,KAAKyN,GACvEzN,KAAKwY,QAAU,CAAC,CAAE/K,GAAI,IAAKH,MAAO2e,EAAa3F,MAAO,MAE1DtmB,KAAKuf,MAAQvX,EAAKuX,OAAS,UACpBvX,EAAKuX,MAEZ,IAAK,IAAIzb,KAAK2B,OAAOymB,OAAOlsB,KAAKuf,OACzBzb,EAAEqb,UACFrb,EAAEqb,QAAUhX,EAAMrE,EAAEqb,UAGA,IAAxBnf,KAAKwY,QAAQjT,SACbyC,EAAKsO,eAAiBxK,EAAqBmL,KAE3CjP,EAAKsO,iBAAmBxK,EAAqByM,MAC7CvQ,EAAKsO,iBAAmBxK,EAAqBqgB,YAC7CnsB,KAAKgX,QAAUjL,EAAe6L,SAElC5X,KAAKosB,yBA5wFb,SAAkBzd,EAAMC,EAAO,EAAGf,EAAU,IACxC,IAAIuB,GAAU,EACVE,GAAW,EACf,GAAoB,mBAATX,EACP,MAAM,IAAIc,UAAU,uBAMxB,OAJIhB,EAASZ,KACTuB,EAAU,YAAavB,IAAYA,EAAQuB,QAAUA,EACrDE,EAAW,aAAczB,IAAYA,EAAQyB,SAAWA,GAErDZ,EAASC,EAAMC,EAAM,CACxBQ,QAAAA,EACAE,SAAAA,EACAP,QAASH,IA+vFuByd,EAAS,KACrCrsB,KAAKssB,oBACNtkB,EAAKyjB,mBAAoB,CAAErc,SAAS,EAAME,UAAU,IAEvDtP,KAAKsK,QAAUhG,EAAiB0D,EAAKsC,SACrC/I,IAASvB,KAAKsK,QAAS,6BAA6BtC,EAAKsC,WACzDtK,KAAKsK,QAAQzH,UAAU0F,IAAI,cACtBvI,KAAKsK,QAAQiiB,aAAa,cAC3BvsB,KAAKsK,QAAQkiB,SAAW,GAG5BxsB,KAAKsK,QAAQmiB,SAAWzsB,KAExBA,KAAK0sB,cAAgB1sB,KAAKsK,QAAQrH,cAAc,iBAChD,MAAM0pB,EAA4B,MAAf3kB,EAAKqjB,OAAiBrrB,KAAKwY,QAAQjT,OAAS,IAAMyC,EAAKqjB,OAC1E,GAAIrrB,KAAK0sB,cAAe,CAEpBnrB,GAAQvB,KAAKwY,QAAS,sEACtBxY,KAAKwY,QAAU,GACf,MAAMoU,EAAa5sB,KAAK0sB,cAAczpB,cAAc,cACpD,IAAK,MAAM4pB,KAAUD,EAAWvL,iBAAiB,OAC7CrhB,KAAKwY,QAAQ3T,KAAK,CACd4I,GAAIof,EAAOC,QAAQrf,IAAM,KACzBkG,KAAM,GAAKkZ,EAAOvX,mBAIzB,GAAIqX,EAAY,CAEjB,MAAMI,EAAU,+BAA+BC,OAAOhtB,KAAKwY,QAAQjT,QACnEvF,KAAKsK,QAAQtG,UAAY,kFAGzB+oB,2CAMA/sB,KAAKsK,QAAQtG,UAAY,GAG7BhE,KAAKsK,QAAQtG,WAAa,oGAI1BhE,KAAKwb,gBAAkBxb,KAAKsK,QAAQrH,cAAc,2BAClDjD,KAAK4mB,gBAAkB5mB,KAAKwb,gBAAgBvY,cAAc,oBAC1DjD,KAAK0sB,cAAgB1sB,KAAKsK,QAAQrH,cAAc,iBAC5CjD,KAAKwY,QAAQjT,OAAS,GACtBvF,KAAKsK,QAAQzH,UAAU0F,IAAI,WAE/BvI,KAAKitB,kBAEDjlB,EAAKqa,QACDra,EAAKwjB,cACLxrB,KAAK4mB,gBAAgB5iB,UACjB,mDAERhE,KAAKujB,KAAKvb,EAAKqa,QACVhZ,MAAK,KACNwiB,EAAcpiB,aAEbH,OAAOtH,IACR6pB,EAAc7hB,OAAOhI,MAEpBic,SAAQ,KACT,IAAIjQ,EACsD,QAAzDA,EAAKhO,KAAKsK,QAAQrH,cAAc,2BAAwC,IAAP+K,GAAyBA,EAAGyH,SAC9FzV,KAAKsK,QAAQzH,UAAU4S,OAAO,uBAMlCoW,EAAcpiB,UAIlBQ,YAAW,KACPjK,KAAKwjB,mBACN,IAEHxjB,KAAKwb,gBAAgBzZ,iBAAiB,UAAWiF,IAC7ChH,KAAKwjB,oBAKTxjB,KAAKktB,eAAiB,IAAIC,gBAAgB/N,IACtCpf,KAAKwjB,iBACL3K,QAAQ8K,IAAI,+BAAgCvE,MAEhDpf,KAAKktB,eAAeE,QAAQptB,KAAKsK,SACjChE,EAAQtG,KAAK4mB,gBAAiB,QAAS,cAAe5f,IAClD,MAAM4c,EAAO1H,GAAWkN,aAAapiB,GAC/BqG,EAAOuW,EAAKvW,KAClB,IAAuE,IAAnErN,KAAKuV,WAAW,QAAS,CAAE9Q,MAAOuC,EAAGqG,KAAMA,EAAMuW,KAAMA,IAEvD,OADA5jB,KAAKmrB,cAAgBhb,KAAKC,OACnB,EAEX,GAAI/C,EAAM,CAEN,MAAMqb,EAAU1oB,KAAK+H,UAAU,gBACzB6gB,EAAiB5oB,KAAK+H,UAAU,uBAClC2gB,EAAQpmB,QAAQ,gBAAkB,GAClB,UAAhBshB,EAAKpG,QACLnQ,EAAKggB,cACHzE,GAAkBzY,KAAKC,MAAQpQ,KAAKmrB,cAAgBvC,IACtD5oB,KAAKwW,YAAY,sBAAuBnJ,GAExCuW,EAAK1C,QAAU,EACf7T,EAAKwJ,WAAU,EAAM,CAAEqK,OAAQ0C,EAAK1C,OAAQzc,MAAOuC,IAGnDqG,EAAKwJ,WAAU,EAAM,CAAEpS,MAAOuC,IAE9B4c,EAAKpG,SAAW1S,EAAWwiB,SAC3BjgB,EAAKuH,aAAavH,EAAK+K,cAElBwL,EAAKpG,SAAW1S,EAAWkU,UAChC3R,EAAKwK,aAAaxK,EAAKyK,cAK/B9X,KAAKmrB,cAAgBhb,KAAKC,SAE9B9J,EAAQtG,KAAKsK,QAAS,WAAYtD,IAC9B,MAAM4c,EAAO1H,GAAWkN,aAAapiB,GAC/BiP,EAAYzR,EAAcwC,GAChChH,KAAKutB,UAAU,aAAc,CACzB9oB,MAAOuC,EACPqG,KAAMuW,EAAKvW,KACXuW,KAAMA,EACN3N,UAAWA,OAGnB3P,EAAQtG,KAAKsK,QAAS,oBAAqBtD,IACvC,MAAMiH,EAAkB,YAAXjH,EAAE5D,KACfpD,KAAKuV,WAAW,QAAS,CAAEtH,KAAMA,EAAMxJ,MAAOuC,IACzCiH,GACDjO,KAAKwW,YAAY,uBAAuB,EAAM,CAC1C/R,MAAOuC,EACPijB,YAAY,OAmC5BphB,eAAe2kB,GACX,GAAIA,aAActR,GACd,OAAOsR,EAEN,GAAIA,aAAcpP,GACnB,OAAOoP,EAAGhgB,KAKd,QAHW7J,IAAP6pB,IACAA,EAAK,GAES,iBAAPA,EACPA,EAAK3rB,SAASwf,iBAAiB,eAAemM,QAE7C,GAAkB,iBAAPA,EAAiB,CAE7B,IAAK,IAAIC,KAAY5rB,SAASwf,iBAAiB,eAAgB,CAC3D,MAAM7T,EAAOigB,EAAShB,SACtB,GAAIjf,GAAQA,EAAKC,KAAO+f,EACpB,OAAOhgB,EAKf,KADAggB,EAAK3rB,SAASoB,cAAcuqB,IAExB,OAAO,UAGNA,EAAGvmB,SACRumB,EAAKA,EAAGvmB,QAMZ,OAJA1F,EAAOisB,aAAcE,SAChBF,EAAGtmB,QAAQ,iBACZsmB,EAAKA,EAAGrmB,QAAQ,gBAEhBqmB,GAAMA,EAAGf,SACFe,EAAGf,SAEP,KAMX5jB,eAAe2kB,GACX,IAAKA,EACD,OAAO,KAEN,GAAIA,aAAcpP,GACnB,OAAOoP,EAOX,SALuB7pB,IAAd6pB,EAAGvmB,SACRumB,EAAKA,EAAGvmB,QAILumB,GAAI,CACP,GAAIA,EAAG7I,SACH,OAAO6I,EAAG7I,SAEd6I,EAAKA,EAAG9pB,cAEZ,OAAO,KAGXmF,mBAAmB8kB,GACf3tB,KAAKwqB,cAAc3lB,KAAK8oB,GACxB3tB,KAAKyqB,WAAWkD,EAAUlgB,IAAMkgB,EAIpC9kB,kBACI,IAAK,IAAIX,KAAOlI,KAAKwqB,cACjBtiB,EAAIgK,OAIZrJ,cAAcwE,GACV,IAAI3I,EAAM2I,EAAK3I,IACfnD,EAAc,MAAPmD,IAAgB1E,KAAK0qB,OAAOxlB,IAAIR,IACvC1E,KAAK0qB,OAAOriB,IAAI3D,EAAK2I,GACrB,IAAIugB,EAAKvgB,EAAKiR,OACd,GAAIsP,EAAI,CACJ,IAAIC,EAAM7tB,KAAK4qB,UAAUkD,IAAIF,GACzBC,EACAA,EAAItlB,IAAI8E,GAGRrN,KAAK4qB,UAAUviB,IAAIulB,EAAI,IAAIvpB,MAKvCwE,gBAAgBwE,GACZ,MAAMugB,EAAKvgB,EAAKiR,OAChB,GAAIsP,EAAI,CACJ,MAAMC,EAAM7tB,KAAK4qB,UAAUkD,IAAIF,GAC3BC,GAAOA,EAAInN,OAAOrT,KAAUwgB,EAAI1S,MAEhCnb,KAAK4qB,UAAUlK,OAAOkN,GAI9BvgB,EAAKG,KAAO,KACZH,EAAKmH,OAAS,KAEdxU,KAAK6qB,UAAUnK,OAAOrT,GACtBA,EAAKmX,eAGT3b,UAAUklB,EAAM5f,EAAO,IACnB,IAAIyF,EACAoa,EAAI5oB,EAAO,GAAI,CAAEoI,KAAMxN,KAAM6N,QAAS7N,KAAK6N,QAASmB,YAAQrL,GAAawK,GAC7E,IAAK,IAAIjG,KAAOlI,KAAKwqB,cAAe,CAEhC,GADA5W,EAAM1L,EAAI6lB,GAAMnoB,KAAKsC,EAAK8lB,IACd,IAARpa,EACA,WAEajQ,IAAbqqB,EAAEhf,SACF4E,EAAMoa,EAAEhf,QAGhB,OAAO4E,EAQX/K,YAAYpF,KAAS4B,GACjB,MAAOqP,EAAG6H,GAAK9Y,EAAKoD,MAAM,KACpBtC,EAAMgY,EAAIvc,KAAKyqB,WAAW/V,GAAK1U,KAC/B2O,EAAOpK,EAAIgY,GACjB,GAAI5N,EACA,OAAOA,EAAK/G,MAAMrD,EAAKc,GAGvBrF,KAAKgjB,SAAS,6BAA6Bvf,SASnDoF,WAAWpF,EAAMmV,GACb,MAAOlE,EAAG6H,GAAK9Y,EAAKoD,MAAM,KACpBmB,EAAOhI,KAAK6N,QACZc,EAAO4N,EAAIvU,EAAK0M,GAAG6H,GAAKvU,EAAK0M,GACnC,GAAI/F,EACA,OAAOA,EAAK/I,KAAK5F,KAAMoF,EAAO,CAAE3B,KAAMA,EAAM+J,KAAMxN,KAAMwI,KAAMxI,KAAKorB,OAASxS,IAMpF/P,iBAAiBolB,GAAW,GACxB,IAAIC,EAAQ7gB,EAcZ,OAZI6gB,EADAD,EACSzd,KAAK2d,KAAKnuB,KAAKwb,gBAAgBI,UAAYnR,GAG3C+F,KAAK4d,MAAMpuB,KAAKwb,gBAAgBI,UAAYnR,GAGzDzK,KAAKquB,WAAW9R,IACZ,GAAIA,EAAEsC,UAAYqP,EAEd,OADA7gB,EAAOkP,GACA,KAGRlP,EAGXxE,gBAAgBolB,GAAW,GACvB,IAAIK,EAAWjhB,EAkBf,OAhBIihB,EADAL,EAEIzd,KAAK4d,OAAOpuB,KAAKwb,gBAAgBI,UAAY5b,KAAKwb,gBAAgBS,cAC9DxR,GAAc,EAIlB+F,KAAK2d,MAAMnuB,KAAKwb,gBAAgBI,UAAY5b,KAAKwb,gBAAgBS,cAC7DxR,GAAc,EAG1BzK,KAAKquB,WAAW9R,IACZ,GAAIA,EAAEsC,UAAYyP,EAEd,OADAjhB,EAAOkP,GACA,KAGRlP,EAGXxE,mBAAmBwE,EAAMkhB,EAAM,GAO3B,OANAvuB,KAAKquB,WAAW9R,IAEZ,GADAlP,EAAOkP,EACHgS,KAAS,EACT,OAAO,IAEZ,CAAEC,SAAS,EAAM3b,MAAOxF,GAAQrN,KAAK0W,kBACjCrJ,EAGXxE,mBAAmBwE,EAAMkhB,EAAM,GAO3B,OANAvuB,KAAKquB,WAAW9R,IAEZ,GADAlP,EAAOkP,EACHgS,KAAS,EACT,OAAO,IAEZ,CAAEC,SAAS,EAAO3b,MAAOxF,GAAQrN,KAAK0W,kBAClCrJ,EAEXxE,YAAYwT,EAAUxO,GAClB,OAAO7N,KAAKuO,KAAKsR,YAAYxD,EAAUxO,GAkB3ChF,aAAayX,EAAKmO,EAAYzmB,GAC1B,IACAqF,EAAMqhB,EAcN,OATID,aAAsBrQ,GACtB/Q,EAAOohB,GAGPphB,EAAOrN,KAAK0W,gBACZnV,OAAgBoC,IAATqE,GACPA,EAAOymB,GAGHnO,GAEJ,IAAK,SACDoO,EAAUrhB,EAAKshB,iBACXD,IACArhB,EAAKuhB,OAAOF,EAAS,UACrBrhB,EAAKwJ,aAET,MACJ,IAAK,WACD6X,EAAUrhB,EAAKgT,iBACXqO,IACArhB,EAAKuhB,OAAOF,EAAS,SACrBrhB,EAAKwJ,aAET,MACJ,IAAK,SACD6X,EAAUrhB,EAAKshB,iBACXD,IACArhB,EAAKuhB,OAAOF,EAAS,eACrBA,EAAQ9Z,cACRvH,EAAKwJ,aAET,MACJ,IAAK,UACIxJ,EAAKwhB,eACNxhB,EAAKuhB,OAAOvhB,EAAKyhB,YAAa,SAC9BzhB,EAAKwJ,aAET,MAEJ,IAAK,SACD6X,EAAUrhB,EAAKshB,kBAAoBthB,EAAKyhB,YACxCzhB,EAAKoI,SACDiZ,GACAA,EAAQ7X,YAEZ,MAEJ,IAAK,WACD7W,KAAKwW,YAAY,kBAAmB,gBACpC,MACJ,IAAK,aACDxW,KAAKwW,YAAY,kBAAmB,SACpC,MACJ,IAAK,SACDxW,KAAKwW,YAAY,uBACjB,MA0BJ,IAAK,OACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,KACD,OAAOnJ,EAAK0K,SAASuI,GACzB,QACIte,EAAM,uBAAuBse,OAIzCzX,QACI7I,KAAKuO,KAAKsY,iBACV7mB,KAAKuO,KAAK+F,SAAW,KACrBtU,KAAK0qB,OAAOqE,QACZ/uB,KAAK4qB,UAAUmE,QACf/uB,KAAK6qB,UAAUkE,QACf/uB,KAAKyW,WAAa,KAClBzW,KAAKgW,UAAY,KAKjBhW,KAAKgrB,aAAe,EACpBhrB,KAAKirB,QAAQ8D,QACb/uB,KAAKkrB,aAAa6D,QAQlB/uB,KAAKwjB,iBAST3a,UACI7I,KAAKmT,QAAQ,gBACbnT,KAAK+uB,QACL/uB,KAAKktB,eAAe8B,aACpBhvB,KAAKsK,QAAQtG,UAAY,GAEzBhE,KAAKsK,QAAQ2kB,UAAYjvB,KAAKsK,QAAQ2kB,UAU1CpmB,UAAUpF,EAAMwE,GACZ,IAAIC,EACAF,EAAOhI,KAAK6N,QAEZpK,EAAKnB,QAAQ,MAAQ,KACpB4F,EAAKzE,GAAQA,EAAKoD,MAAM,KACzBmB,EAAOA,EAAKE,IAEhB,IAAItF,EAAQoF,EAAKvE,GAMjB,MAJqB,mBAAVb,IACPA,EAAQA,EAAM,CAAEQ,KAAM,UAAWoK,KAAMxN,QAGpC4C,MAAAA,EAAqCA,EAAQqF,EAOxDY,UAAUpF,EAAMb,GACZ,IAA2B,IAAvBa,EAAKnB,QAAQ,KAQb,YAPAtC,KAAK6N,QAAQpK,GAAQb,GASzB,MAAMssB,EAAQzrB,EAAKoD,MAAM,KACb7G,KAAKyqB,WAAWyE,EAAM,IAC9BhhB,gBAAgBghB,EAAM,GAAItsB,GAGlCiG,WACI,OAAO7I,KAAKsK,QAAQxH,SAASjB,SAASkoB,eAG1ClhB,iBAAiB8F,EAAMwgB,EAAO,MAI1B,IAEI,OADAnvB,KAAKmV,cAAa,GACXxG,IAEX,QACI3O,KAAKmV,cAAa,IAO1BtM,gBAAgBoF,GAAO,GACnB,MAAMvL,EAAM1C,KAAK2iB,QAAQ,aAAe1U,EAAO,KAC/C,IACIjO,KAAKmV,cAAa,SACZnV,KAAKuO,KAAK6gB,UAAUnhB,GAE9B,QACIjO,KAAKmV,cAAa,GAClBnV,KAAKijB,WAAWvgB,IAIxBmG,MAAMwmB,GAAU,GACZ,OAAIA,EACOrvB,KAAK6qB,UAAU1P,KAEnBnb,KAAK0qB,OAAOvP,KAGvBtS,SACI,IAAIvD,EAAI,EACRtF,KAAKmU,OAAOoI,IACRjX,OAEAtF,KAAK0qB,OAAOvP,OAAS7V,GACrBtF,KAAKkV,QAAQ,kBAAkBlV,KAAK0qB,OAAOvP,YAAY7V,KAU/DuD,QAAQ8J,GACJ,OAAO3S,KAAKuO,KAAK+gB,QAAQ3c,GAQ7B9J,UAAU8J,GACN,OAAO3S,KAAKuO,KAAKghB,UAAU5c,GAK/B9J,aAAa8J,EAAO6c,GAEhB,IAAI5b,EAAM,KAAM+C,EAAY3W,KAAK4W,gBAC7B+J,EAA2B,iBAAVhO,EAzwH7B,SAAmCzQ,GAC/BA,EAAIE,EAAYF,GAChB,MAAMutB,EAAU,IAAI9kB,OAAO,IAAMzI,EAAG,KACpC,OAAO,SAAUmL,GACb,OAAOoiB,EAAQ9uB,KAAK0M,EAAKC,QAqwHiBoiB,CAA0B/c,GAASA,EAE7E,SAASgd,EAAWpT,GAKhB,GAHIoE,EAAQpE,KACR3I,EAAM2I,GAEN3I,GAAO2I,IAAMiT,EACb,OAAO,EAcf,OArBAA,EAAYA,GAAa7Y,EAUzB3W,KAAKquB,UAAUsB,EAAY,CACvB9c,MAAO2c,EACP/N,aAAa,IAGZ7N,GAAO4b,IAAc7Y,GACtB3W,KAAKquB,UAAUsB,EAAY,CACvB9c,MAAO8D,EACP8K,aAAa,IAGd7N,EAUX/K,gBAAgBwE,EAAM0T,EAAOC,GAAgB,GACzC,IAAIpN,EAAM,KACNgc,EAAWpf,KAAK4d,MAAMpuB,KAAKwb,gBAAgBS,aAAexR,GAC9D,OAAQsW,GACJ,IAAK,SACG1T,EAAKmH,QAAUnH,EAAKmH,OAAOA,SAC3BZ,EAAMvG,EAAKmH,QAEf,MACJ,IAAK,QAEDxU,KAAKmU,OAAM,SAAUoI,GACjB,GAAIA,EAAEsT,YAEF,OADAjc,EAAM2I,GACC,KAGf,MACJ,IAAK,OACDvc,KAAKmU,OAAM,SAAUoI,GAEbA,EAAEsT,cACFjc,EAAM2I,MAGd,MACJ,IAAK,OACGlP,EAAKmH,QAAUnH,EAAKmH,OAAOA,SAC3BZ,EAAMvG,EAAKmH,QAOf,MACJ,IAAK,QACGnH,EAAKiH,UAAYjH,EAAKiH,SAAS/O,SAC/BqO,EAAMvG,EAAKiH,SAAS,IAYxB,MACJ,IAAK,KACDV,EAAM5T,KAAK8vB,mBAAmBziB,GAC9B,MACJ,IAAK,OACDuG,EAAM5T,KAAK+vB,mBAAmB1iB,GAC9B,MACJ,IAAK,WACD,IAAI2iB,EAAahwB,KAAKiwB,kBAGlBrc,EADA5T,KAAKgW,YAAcga,EACbA,EAGAhwB,KAAK+vB,mBAAmB1iB,EAAMuiB,GAExC,MACJ,IAAK,SACD,GAAI5vB,KAAKgW,WAAwC,IAA3BhW,KAAKgW,UAAU6I,QACjCjL,EAAM5T,KAAKgW,cAEV,CACD,IAAIka,EAAUlwB,KAAKmwB,mBAEfvc,EADA5T,KAAKgW,YAAcka,EACbA,EAGAlwB,KAAK8vB,mBAAmBziB,EAAMuiB,GAG5C,MACJ,QACI5vB,KAAKkV,QAAQ,qBAAuB6L,EAAQ,MAEpD,OAAOnN,EAKX/K,mBACI,OAAI7I,KAAKyW,YAAczW,KAAKgY,cAAgB,EACjChY,KAAKyW,WAAWkT,WAAW3pB,KAAKgY,cAEpC,KAKXnP,gBACI,OAAO7I,KAAKyW,WAKhB5N,gBACI,OAAO7I,KAAKuO,KAAKqI,gBAKrB/N,eACI,OAAO7I,KAAKgW,UAQhBnN,oBAAoBpE,GAChB,IAAIwC,EAASxC,EAAMwC,OAAQ4Z,EAAK5Z,EAAOpE,UAAWutB,EAAYnpB,EAAOE,QAAQ,WAAYkG,EAAO6O,GAAWC,QAAQlV,GAAS2M,EAAM,CAC9HvG,KAAMA,EACNmQ,OAAQ1S,EAAWulB,QACnBC,YAAQ3sB,EACRud,QAAS,EACTqP,WAAO5sB,EACPuiB,QAASkK,GAEb,GAAIvP,EAAG/d,SAAS,YACZ8Q,EAAI4J,OAAS1S,EAAWwC,WAEvB,GAAIuT,EAAG/d,SAAS,eACjB8Q,EAAI4J,QACuB,IAAvBnQ,EAAK4U,cAA0BnX,EAAW6N,OAAS7N,EAAWwiB,cAEjE,GAAIzM,EAAG/d,SAAS,eACjB8Q,EAAI4J,OAAS1S,EAAWkU,cAEvB,GAAI6B,EAAG/d,SAAS,WAEjB8Q,EAAI4J,OAAS1S,EAAWoU,UAEvB,GAAI2B,EAAG/d,SAAS,WACjB8Q,EAAI4J,OAAS1S,EAAWwC,UAEvB,CAAA,IAAI8iB,EAQL,OADAvX,QAAQgL,KAAK,4BAA6Bpf,EAAOmP,GAC1CA,EARS,CAChBA,EAAI4J,OAAS1S,EAAW0lB,OACxB,MAAMjP,EAAMzb,MAAMJ,UAAUpD,QAAQsD,KAAKwqB,EAAUK,WAAWnc,SAAU8b,GACxExc,EAAIsN,OAASK,GAajB,OANoB,IAAhB3N,EAAIsN,SACJtN,EAAIsN,OAAS,GAEjBtN,EAAI0c,OAASjjB,EAAKG,KAAKgL,QAAQ5E,EAAIsN,QACrB,MAAdtN,EAAI0c,SAAkB1c,EAAI2c,MAAQ3c,EAAI0c,OAAO7iB,IAEtCmG,EAcX/K,WACI,MAAO,eAAiB7I,KAAKyN,GAAK,KAGtC5E,YACI,OAAO7I,KAAKwW,YAAY,uBAI5B3N,YACI,IAAI+K,GAAM,EAQV,OAPA5T,KAAKuO,KAAK4F,OAAOoI,IAEb,GAAIA,EAAEkB,YAAclB,EAAEkC,WAElB,OADA7K,GAAM,GACC,KAEZ,GACIA,EAGX/K,YAAYxD,GACJrF,KAAK6N,QAAQ6V,YAAc,IAC3B5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQ8K,IAAI/b,MAAMiR,QAASxT,IAInCwD,YAAYxD,GACJrF,KAAK6N,QAAQ6V,YAAc,IAC3B5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQ7W,MAAM4F,MAAMiR,QAASxT,IAIrCwD,WAAWxD,GACHrF,KAAK6N,QAAQ6V,YAAc,IAC3B5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQ+K,KAAKhc,MAAMiR,QAASxT,IAIpCwD,QAAQ6nB,GAIJ,OAHI1wB,KAAK6N,QAAQ6V,YAAc,GAC3B7K,QAAQlJ,KAAK3P,KAAO,KAAO0wB,GAExBA,EAGX7nB,WAAW6nB,GACH1wB,KAAK6N,QAAQ6V,YAAc,GAC3B7K,QAAQ8X,QAAQ3wB,KAAO,KAAO0wB,GAItC7nB,WAAWxD,GACHrF,KAAK6N,QAAQ6V,YAAc,IAC3B5d,MAAMJ,UAAU0D,QAAQxD,KAAKP,EAAMrF,KAAKoG,YACxCyS,QAAQgL,KAAKjc,MAAMiR,QAASxT,IAIpCwD,OAAOb,GACH,MAAM0oB,EAAQ1wB,KAAK2iB,QAAQ,UAC3B,IAAIpB,EAAM,EACNiF,EAAM,EAEV,IAAIoK,GAAW,EACX/d,EAAQ7K,MAAAA,OAAmC,EAASA,EAAK6oB,SACzDC,EAAM9oB,MAAAA,OAAmC,EAASA,EAAK+oB,OAC3D,MAAMC,EAAoBhxB,KAAK6qB,UAC/B7qB,KAAK6qB,UAAY,IAAIxmB,IACrB,IAAIwmB,EAAY7qB,KAAK6qB,UAErBtpB,EAAgB,MAATsR,GAAwB,MAAPie,GAGpBje,EAAQ,GACRA,IAEJ7S,KAAKquB,WAAU,SAAUhhB,GACrB,MAAM4jB,EAAU5jB,EAAKwR,QACrBgM,EAAUtiB,IAAI8E,GACd2jB,EAAkBtQ,OAAOrT,GACrB4jB,IAAY1P,IACZlU,EAAKwR,QAAU0C,EACfqP,GAAW,GAEXrP,EAAM1O,GAAS0O,EAAMuP,GACrBzjB,EAAKkI,WAAW,WAChBlI,EAAKmX,gBAILnX,EAAKoW,OAAO,CAAE+C,IAAKA,IAEvBjF,IACAiF,GA/BW/b,MAiCf,IAAK,MAAM8c,KAAYyJ,EACnBzJ,EAAShS,WAAW,WACpBgS,EAAS/C,eAMb,OAHAxkB,KAAK4mB,gBAAgBT,MAAM+K,OAAc1K,EAAM,KAE/CxmB,KAAKijB,WAAWyN,GACTE,EAGX/nB,eACI,IAAK7I,KAAK0sB,cACN,OAEJ,MAAMyE,EAAYnxB,KAAK0sB,cAAczpB,cAAc,WACnD1B,EAAO4vB,GACPA,EAAUntB,UAAY,+BAA+BgpB,OAAOhtB,KAAKwY,QAAQjT,QACzE,IAAK,IAAID,EAAI,EAAGA,EAAItF,KAAKwY,QAAQjT,OAAQD,IAAK,CAC1C,IAAIuf,EAAM7kB,KAAKwY,QAAQlT,GACnB4gB,EAAUiL,EAAU7c,SAAShP,GACjC4gB,EAAQC,MAAMC,KAAOvB,EAAIwB,OAAS,KAClCH,EAAQC,MAAMG,MAAQzB,EAAI0B,SAAW,KACrCL,EAAQ5Q,YAAcuP,EAAIvX,OAASuX,EAAIpX,IAW/C5E,SAASb,GACL,MACMqF,EAAOrF,EAAKqF,MAAQrN,KAAK0W,gBAC/BnV,EAAuB,MAAhB8L,EAAKwR,SACZ,MAAMuS,EAASpxB,KAAKwb,gBAAgBI,UAC9BsV,EAASlxB,KAAKwb,gBAAgBS,aAC9BoV,EAAUhkB,EAAKwR,QAAUpU,EAC/B,IAAI6mB,EACAD,EAAUD,EACNC,EAAU5mB,EAAa2mB,EAASF,IAGhCI,EAASD,EAAUH,EAASzmB,EAXrB,GAcN4mB,EAAUD,IAEfE,EAASD,EAhBE,GAkBfrxB,KAAK2jB,IAAI,YAAc0N,EAAU,MAAQD,EAAS,OAASE,EAAQJ,GACrD,MAAVI,IACAtxB,KAAKwb,gBAAgBI,UAAY0V,EACjCtxB,KAAKwjB,kBAIb3a,YAAYmJ,GAGR,GAAIA,IAAShS,KAAKgX,QACd,OAEJ,MAAMua,EAAWvxB,KAAKgX,QAChBwa,EAAWxf,IAASjG,EAAekL,IACzCjX,KAAKgX,QAAUhF,EACXwf,GAAYD,IAAaxlB,EAAekL,KACxCjX,KAAKsY,UAAU,GAEnBtY,KAAKsK,QAAQzH,UAAUoR,OAAO,eAAgBud,GAC9CxxB,KAAKsK,QAAQzH,UAAUoR,OAAO,oBAAqBjC,IAASjG,EAAesM,UAC3ErY,KAAKmgB,YAAYvV,EAAWqM,IAAKjX,KAAKyW,YAG1C5N,UAAUqY,GAON,GANA3f,EAAOvB,KAAKgX,UAAYjL,EAAekL,KACvC1V,EAAO,GAAK2f,GAAUA,EAASlhB,KAAKwY,QAAQjT,QAC5CvF,KAAKgY,aAAekJ,EAEpBlhB,KAAKmgB,YAAYvV,EAAWqM,IAAKjX,KAAKyW,YAElCzW,KAAK0sB,cACL,IAAK,IAAInH,KAAUvlB,KAAK0sB,cAAcpY,SAAU,CAE5C,IAAIhP,EAAI,EACR,IAAK,IAAIunB,KAAUtH,EAAOjR,SACtBuY,EAAOhqB,UAAUoR,OAAO,YAAa3O,MAAQ4b,GAKzD,IAAK,IAAIqE,KAAUvlB,KAAK4mB,gBAAgBtS,SAAU,CAC9C,IAAIhP,EAAI,EACR,IAAK,IAAIunB,KAAUtH,EAAOjR,SACtBuY,EAAOhqB,UAAUoR,OAAO,YAAa3O,MAAQ4b,IAKzDrY,SAASoF,GAAO,GACRA,EACAjO,KAAKsK,QAAQuf,QAGb7pB,KAAKsK,QAAQmnB,OAIrB5oB,YAAY6iB,EAAQre,EAAMQ,GACjB7N,KAAKgrB,eACNhrB,KAAKgrB,aAAe7a,KAAKC,OAE7BpQ,KAAKirB,QAAQ1iB,IAAImjB,GACbA,IAAW9gB,EAAWwV,UACtBpgB,KAAKkrB,aAAa6D,QAEb1hB,IAASrN,KAAKirB,QAAQ/lB,IAAI0F,EAAWwV,aACtCpgB,KAAKkrB,aAAa/P,KAjtCR,GAktCVnb,KAAKkrB,aAAa3iB,IAAI8E,IAGtBrN,KAAKirB,QAAQ1iB,IAAIqC,EAAWwV,WAC5BpgB,KAAKkrB,aAAa6D,UAK9BlmB,UAAUG,EAAQ2e,EAASC,GACvB,OAAO5nB,KAAKuO,KAAK6F,UAAUpL,EAAQ2e,EAASC,GAGhD/e,cAAcb,GACV,IAAI4oB,GAAW,EAEXnK,EAAUzmB,KAAKsK,QAAQoc,YACvBgL,EAAc,EACdC,EAAa,EAEjB3xB,KAAK+qB,aAAe,GACpB,IAAK,IAAIlG,KAAO7kB,KAAKwY,QAAS,CAC1BxY,KAAK+qB,aAAalG,EAAIpX,IAAMoX,EAC5B,IAAI+M,EAAK/M,EAAIyB,MACb,GAAKsL,GAAa,MAAPA,EAIN,GAAkB,iBAAPA,EACZ/M,EAAIgN,QAAUD,EACdF,GAAeE,OAEd,GAAkB,iBAAPA,GAAmBA,EAAGE,SAAS,MAAO,CAClDjN,EAAIgN,QAAU,EACd,IAAIE,EAAKC,WAAWJ,EAAGK,MAAM,GAAI,IAC7BpN,EAAI0B,UAAYwL,IAChBnB,GAAW,EACX/L,EAAI0B,SAAWwL,GAEnBJ,GAAcI,OAGd/vB,EAAM,yBAA2B4vB,QAjBjC/M,EAAIgN,QAAU,EACdH,GAAe,EAoBvB,IAAIQ,EAAS1hB,KAAKM,IAAI,EAAG2V,EAAUkL,GAC/BQ,EAAQ,EACZ,IAAK,IAAItN,KAAO7kB,KAAKwY,QAAS,CAC1B,GAAIqM,EAAIgN,QAAS,CACb,IAAIE,EAAKvhB,KAAKM,IAnCP,EAmCsBohB,EAASrN,EAAIgN,QAAWH,GACjD7M,EAAI0B,UAAYwL,IAChBnB,GAAW,EACX/L,EAAI0B,SAAWwL,GAGvBlN,EAAIwB,OAAS8L,EACbA,GAAStN,EAAI0B,SAMbqK,IACA5wB,KAAK8iB,gBACe,IAAhB9a,EAAKyb,QACLzjB,KAAKyjB,UAKjB5a,eAAeupB,GAAY,GAGvBpyB,KAAKosB,2BACDgG,GACApyB,KAAKosB,yBAAyBlb,QAGtCrI,kBACI,GAAI7I,KAAKynB,eACL,OAEJ,IAAIyJ,EAASlxB,KAAKwb,gBAAgBS,aAIlC,MAAMoW,EAAeryB,KAAK6N,QAAQyd,eAClC,IAAIgH,EAAatyB,KAAKsK,QAAQ2R,aAAeoW,EACzC9D,EAAMvuB,KAAKwb,gBAAgBI,UAC3BpL,KAAK+hB,IAAIrB,EAASoB,GAAc,IAEhCtyB,KAAKwb,gBAAgB2K,MAAM+K,OAASoB,EAAa,KACjDpB,EAASoB,GAEbtyB,KAAKwyB,cAAc,CAAE/O,QAAQ,IAC7BzjB,KAAKyjB,OAAO,CACRoN,SAAUrgB,KAAKM,IAAI,EAAGyd,EAAM9jB,EAp3IZ,GAq3IhBsmB,OAAQvgB,KAAKM,IAAI,GAAIyd,EAAM2C,GAAUzmB,EAr3IrB,KAu3IpBzK,KAAKuV,WAAW,UAQpB1M,MAAMjH,GACF,OAAO5B,KAAKuO,KAAK4F,MAAMvS,GAAU,GAarCiH,UAAUjH,EAAUoG,GAChB,IAAKhI,KAAKuO,KAAK0T,cACX,OAAO,EAEX,GAAIja,GAAQA,EAAKwmB,QAEb,cADOxmB,EAAKwmB,QACLxuB,KAAKyyB,aAAa7wB,EAAUoG,GAGvC,IAAI1C,EAAGotB,EAASle,EAAQZ,EAAK+e,EAAUC,EAAUC,EAAa,EAAGC,GAAqC,KADtG9qB,EAAOA,GAAQ,IACuEyZ,YAAuBT,IAAkBhZ,EAAKgZ,cAAe+R,GAAe/R,GAAqC,SAApBhhB,KAAK+T,WAAuB1G,EAAOrF,EAAK6K,OAAS7S,KAAKuO,KAAK+F,SAAS,GAEvP,IADAE,EAASnH,EAAKmH,OACPA,GAAQ,CAKX,IAHAme,EAAWne,EAAOF,SAClBoe,EAAUC,EAASrwB,QAAQ+K,GAAQwlB,EACnCtxB,EAAOmxB,GAAW,EAAG,kBAAoBrlB,EAAO,0BAA4BmH,GACvElP,EAAIotB,EAASptB,EAAIqtB,EAASptB,OAAQD,IAAK,CAExC,GADA+H,EAAOslB,EAASrtB,GACZ+H,IAASulB,EACT,OAAO,EAEX,IAAIG,GACC1lB,EAAK0R,gBACL1R,EAAKsF,OACLtF,EAAK6G,cAHV,CAMA,IAAK4e,IAAoC,IAAnBlxB,EAASyL,GAC3B,OAAO,EAIX,GAFAylB,GAAgB,EAEZzlB,EAAKiH,UACLjH,EAAKiH,SAAS/O,SACbyb,GAAiB3T,EAAKsH,YACvBf,EAAMvG,EAAK8G,OAAM,SAAUoI,GACvB,OAAIA,IAAMqW,KAGNG,GAAgBxW,EAAE5J,OAAU4J,EAAErI,eAGd,IAAhBtS,EAAS2a,KAGRyE,IAAiBzE,EAAEjI,UAAaiI,EAAE5H,cAAvC,EACW,QANA,WAQZ,IACS,IAARf,GACA,OAAO,GAKnBvG,EAAOmH,EACPA,EAASA,EAAOA,OAChBqe,EAAa,GACRre,GAAUxM,EAAKgrB,OAChBhzB,KAAKuW,SAAS,4BACdhV,EAAOyG,EAAK6K,MAAO,kCACnB+f,EAAW5qB,EAAK6K,MAChB7K,EAAKgrB,MAAO,EACZxe,EAASxU,KAAKuO,KACdskB,EAAa,GAGrB,OAAO,EAKXhqB,aAAajH,EAAUoG,GACnB,IAAIsM,EAAUiN,EAAK/M,EAAQwM,IAAkBhZ,EAAKgZ,cAAe3T,EAAOrF,EAAK6K,OAAS7S,KAAKuO,KAAK+F,SAAS,GACzG,IAAyB,IAArBtM,EAAKyZ,cACkB,IAAnB7f,EAASyL,GACT,OAAO,EAGf,OAAa,CAGT,GAFAmH,EAASnH,EAAKmH,OACdF,EAAWE,EAAOF,SACdA,EAAS,KAAOjH,EAAM,CAGtB,GADAA,EAAOmH,GACFnH,EAAKmH,OACN,MAEJF,EAAWE,EAAOF,cAOlB,IAHAiN,EAAMjN,EAAShS,QAAQ+K,GACvBA,EAAOiH,EAASiN,EAAM,IAEdP,GAAiB3T,EAAKsH,WAC1BtH,EAAKiH,UACLjH,EAAKiH,SAAS/O,QACd+O,EAAWjH,EAAKiH,SAChBE,EAASnH,EACTA,EAAOiH,EAASA,EAAS/O,OAAS,GAI1C,IAAKyb,GAAkB3T,EAAKwiB,eAGL,IAAnBjuB,EAASyL,GACT,OAAO,EAGf,OAAO,EAGXxE,KAAKwZ,EAAQxU,EAAU,IACnB7N,KAAK+uB,QAOL,OANgBlhB,EAAQ2K,SAAW6J,EAAO7J,WAEtCxY,KAAKwY,QAAU3K,EAAQ2K,QACvBxY,KAAK8iB,gBAGF9iB,KAAKuO,KAAKgV,KAAKlB,GAK1BxZ,aAAaoF,GAWLA,GACA1M,EAAOvB,KAAK8qB,oBAAsB,GAClC9qB,KAAK8qB,sBAC4B,IAA7B9qB,KAAK8qB,qBACL9qB,KAAKwjB,kBAITxjB,KAAK8qB,sBAabjiB,cACI,OAAO7I,KAAKyqB,WAAWnY,OAAOc,cAOlCvK,iBACI,QAAS7I,KAAK+T,WAOlBlL,eACI,OAAO7I,KAAKyqB,WAAWnY,OAAO2gB,gBAGtC/W,GAAWgX,QAAU,WACrBhX,GAAW4C,SAAW,EACtB5C,GAAW1T,KAAOA,EAElB/I,EAAQyc,WAAaA,GAErBzW,OAAO0tB,eAAe1zB,EAAS,aAAc,CAAEmD,OAAO"}
package/package.json ADDED
@@ -0,0 +1,123 @@
1
+ {
2
+ "name": "wunderbaum",
3
+ "version": "0.0.1-0",
4
+ "title": "A tree control.",
5
+ "description": "JavaScript tree/grid/treegrid control.",
6
+ "main": "dist/wunderbaum.umd.js",
7
+ "types": "dist/wunderbaum.d.ts",
8
+ "module": "dist/wunderbaum.esm.min.js",
9
+ "homepage": "https://github.com/mar10/wunderbaum",
10
+ "author": {
11
+ "name": "Martin Wendt",
12
+ "url": "http://careers.stackoverflow.com/martin-wendt"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/mar10/wunderbaum"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/mar10/wunderbaum/issues"
20
+ },
21
+ "license": "MIT",
22
+ "licenses": [
23
+ {
24
+ "type": "MIT",
25
+ "url": "https://raw.githubusercontent.com/mar10/wunderbaum/master/LICENSE.txt"
26
+ }
27
+ ],
28
+ "exports": {
29
+ ".": {
30
+ "require": "./dist/wunderbaum.umd.min.js",
31
+ "import": "./dist/wunderbaum.esm.min.js"
32
+ }
33
+ },
34
+ "files": [
35
+ "src",
36
+ "dist"
37
+ ],
38
+ "keywords": [
39
+ "grid",
40
+ "tree",
41
+ "treegrid",
42
+ "typescript",
43
+ "plugin",
44
+ "control"
45
+ ],
46
+ "devDependencies": {
47
+ "@rollup/plugin-typescript": "^6.1.0",
48
+ "@types/jest": "^26.0.15",
49
+ "concurrently": "^6.0.0",
50
+ "eslint": "^7.8.1",
51
+ "eslint-config-jquery": "^3.0.0",
52
+ "eslint-config-prettier": "^6.11.0",
53
+ "eslint-plugin-prettier": "^3.1.4",
54
+ "grunt": "^1.1.0",
55
+ "grunt-contrib-connect": "^2.0.0",
56
+ "grunt-contrib-qunit": "^4.0.0",
57
+ "grunt-contrib-watch": "^1.1.0",
58
+ "grunt-exec": "^3.0.0",
59
+ "grunt-yabs": "^1.3.0",
60
+ "http-server": "^0.12.3",
61
+ "node-sass": "^5.0.0",
62
+ "nodemon": "^2.0.7",
63
+ "prettier": "^2.1.2",
64
+ "pretty-quick": "^3.1.0",
65
+ "qunit": "^2.18.0",
66
+ "rollup": "^2.32.1",
67
+ "rollup-plugin-modify": "^3.0.0",
68
+ "rollup-plugin-scss": "^2.6.1",
69
+ "terser": "^5.3.8",
70
+ "ts-jest": "^26.4.3",
71
+ "ts-node": "^9.1.1",
72
+ "tslib": "^2.0.3",
73
+ "typedoc": "^0.22.5",
74
+ "typescript": "^4.1.5"
75
+ },
76
+ "nodemonConfig": {
77
+ "watch": [
78
+ "src/"
79
+ ],
80
+ "ext": "ts,scss",
81
+ "exec": "npm run build:js -s",
82
+ "ignore": [
83
+ "node_modules/",
84
+ ".git",
85
+ "test/*",
86
+ "docs/*"
87
+ ],
88
+ "delay": "2500"
89
+ },
90
+ "scripts": {
91
+ "test": "grunt ci --verbose",
92
+ "testNEW": "http-server test -p 8080 && grunt ci --verbose",
93
+ "docs": "typedoc && touch docs/api/.nojekyll",
94
+ "format": "prettier src -w",
95
+ "lint": "prettier src --check",
96
+ "build:types": "tsc -t esnext --moduleResolution node -d --emitDeclarationOnly --outFile build/wunderbaum.d.ts src/wunderbaum.ts",
97
+ "build:js": "rollup -c rollup.config.js",
98
+ "build:minjs:umd": "terser build/wunderbaum.umd.js --compress --mangle --source-map \"url='wunderbaum.umd.min.js.map'\" --output build/wunderbaum.umd.min.js",
99
+ "build:minjs:esm": "terser build/wunderbaum.esm.js --compress --mangle --source-map \"url='wunderbaum.esm.min.js.map'\" --output build/wunderbaum.esm.min.js",
100
+ "build:minjs": "npm run build:minjs:esm -s && npm run build:minjs:umd -s",
101
+ "build:format": "prettier src -w",
102
+ "build": "npm run build:format && npm run build:js -s && npm run build:minjs -s && npm run build:types -s && npm run docs",
103
+ "make_dist": "npm run build && rm dist/*.* ; cp build/*.* dist",
104
+ "watch:umd": "nodemon --watch src --ext 'ts' -x \"npm run build:minjs\"",
105
+ "watch": "nodemon",
106
+ "serve": "http-server test -p 8080 -o /",
107
+ "dev": "concurrently \"http-server . -p 8080 -o /docs/demo \" \"nodemon\""
108
+ },
109
+ "npmName": "wunderbaum",
110
+ "npmFileMap": [
111
+ {
112
+ "basePath": "dist",
113
+ "files": [
114
+ "wunderbaum.esm.js",
115
+ "wunderbaum.esm.min.js",
116
+ "wunderbaum.esm.min.js.map",
117
+ "wunderbaum.umd.js",
118
+ "wunderbaum.umd.min.js",
119
+ "wunderbaum.umd.min.js.map"
120
+ ]
121
+ }
122
+ ]
123
+ }