django-smartbase-admin 1.0.38__py3-none-any.whl → 1.0.42__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. django_smartbase_admin/actions/admin_action_list.py +5 -0
  2. django_smartbase_admin/admin/admin_base.py +1 -1
  3. django_smartbase_admin/admin/widgets.py +52 -5
  4. django_smartbase_admin/engine/dashboard.py +5 -1
  5. django_smartbase_admin/engine/field_formatter.py +25 -15
  6. django_smartbase_admin/engine/filter_widgets.py +41 -6
  7. django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
  8. django_smartbase_admin/static/sb_admin/dist/main_style.css +1 -1
  9. django_smartbase_admin/static/sb_admin/dist/table.js +1 -1
  10. django_smartbase_admin/static/sb_admin/js/sbadmin_prepopulated_fields_init.js +25 -0
  11. django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css +6 -0
  12. django_smartbase_admin/static/sb_admin/src/js/autocomplete.js +7 -7
  13. django_smartbase_admin/static/sb_admin/src/js/main.js +2 -0
  14. django_smartbase_admin/static/sb_admin/src/js/radio.js +31 -0
  15. django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js +50 -1
  16. django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js +7 -0
  17. django_smartbase_admin/templates/sb_admin/actions/change_form.html +7 -2
  18. django_smartbase_admin/templates/sb_admin/actions/list.html +1 -1
  19. django_smartbase_admin/templates/sb_admin/components/filters.html +1 -0
  20. django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html +1 -14
  21. django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html +2 -1
  22. django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html +3 -1
  23. django_smartbase_admin/templatetags/sb_admin_tags.py +30 -0
  24. {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.42.dist-info}/METADATA +1 -1
  25. {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.42.dist-info}/RECORD +27 -25
  26. {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.42.dist-info}/LICENSE.md +0 -0
  27. {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.42.dist-info}/WHEEL +0 -0
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see table.js.LICENSE.txt */
2
- (()=>{var e={2705:(e,t,i)=>{var n=i(5639).Symbol;e.exports=n},4239:(e,t,i)=>{var n=i(2705),s=i(9607),o=i(2333),r="[object Null]",a="[object Undefined]",l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:r:l&&l in Object(e)?s(e):o(e)}},7561:(e,t,i)=>{var n=i(7990),s=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(s,""):e}},1957:(e,t,i)=>{var n="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;e.exports=n},9607:(e,t,i)=>{var n=i(2705),s=Object.prototype,o=s.hasOwnProperty,r=s.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),i=e[a];try{e[a]=void 0;var n=!0}catch(e){}var s=r.call(e);return n&&(t?e[a]=i:delete e[a]),s}},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,i)=>{var n=i(1957),s="object"==typeof self&&self&&self.Object===Object&&self,o=n||s||Function("return this")();e.exports=o},7990:e=>{var t=/\s/;e.exports=function(e){for(var i=e.length;i--&&t.test(e.charAt(i)););return i}},3279:(e,t,i)=>{var n=i(3218),s=i(7771),o=i(4841),r="Expected a function",a=Math.max,l=Math.min;e.exports=function(e,t,i){var h,u,c,d,p,m,g=0,f=!1,b=!1,v=!0;if("function"!=typeof e)throw new TypeError(r);function w(t){var i=h,n=u;return h=u=void 0,g=t,d=e.apply(n,i)}function C(e){var i=e-m;return void 0===m||i>=t||i<0||b&&e-g>=c}function y(){var e=s();if(C(e))return E(e);p=setTimeout(y,function(e){var i=t-(e-m);return b?l(i,c-(e-g)):i}(e))}function E(e){return p=void 0,v&&h?w(e):(h=u=void 0,d)}function R(){var e=s(),i=C(e);if(h=arguments,u=this,m=e,i){if(void 0===p)return function(e){return g=e,p=setTimeout(y,t),f?w(e):d}(m);if(b)return clearTimeout(p),p=setTimeout(y,t),w(m)}return void 0===p&&(p=setTimeout(y,t)),d}return t=o(t)||0,n(i)&&(f=!!i.leading,c=(b="maxWait"in i)?a(o(i.maxWait)||0,t):c,v="trailing"in i?!!i.trailing:v),R.cancel=function(){void 0!==p&&clearTimeout(p),g=0,h=m=u=p=void 0},R.flush=function(){return void 0===p?d:E(s())},R}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,i)=>{var n=i(4239),s=i(7005),o="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||s(e)&&n(e)==o}},6486:function(e,t,i){var n;e=i.nmd(e),function(){var s,o="Expected a function",r="__lodash_hash_undefined__",a="__lodash_placeholder__",l=16,h=32,u=64,c=128,d=256,p=1/0,m=9007199254740991,g=NaN,f=4294967295,b=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",l],["flip",512],["partial",h],["partialRight",u],["rearg",d]],v="[object Arguments]",w="[object Array]",C="[object Boolean]",y="[object Date]",E="[object Error]",R="[object Function]",_="[object GeneratorFunction]",T="[object Map]",x="[object Number]",S="[object Object]",M="[object Promise]",L="[object RegExp]",k="[object Set]",D="[object String]",A="[object Symbol]",P="[object WeakMap]",O="[object ArrayBuffer]",F="[object DataView]",z="[object Float32Array]",H="[object Float64Array]",N="[object Int8Array]",I="[object Int16Array]",B="[object Int32Array]",V="[object Uint8Array]",W="[object Uint8ClampedArray]",j="[object Uint16Array]",U="[object Uint32Array]",G=/\b__p \+= '';/g,q=/\b(__p \+=) '' \+/g,X=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,J=/[&<>"']/g,$=RegExp(Y.source),K=RegExp(J.source),Z=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ie=/^\w*$/,ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,se=/[\\^$.*+?()[\]{}|]/g,oe=RegExp(se.source),re=/^\s+/,ae=/\s/,le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,he=/\{\n\/\* \[wrapped with (.+)\] \*/,ue=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,de=/[()=,{}\[\]\/\s]/,pe=/\\(\\)?/g,me=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ge=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,we=/^0o[0-7]+$/i,Ce=/^(?:0|[1-9]\d*)$/,ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ee=/($^)/,Re=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",Te="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xe="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\ufe0e\\ufe0f",ke="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",De="['’]",Ae="["+_e+"]",Pe="["+ke+"]",Oe="["+Te+"]",Fe="\\d+",ze="["+xe+"]",He="["+Se+"]",Ne="[^"+_e+ke+Fe+xe+Se+Me+"]",Ie="\\ud83c[\\udffb-\\udfff]",Be="[^"+_e+"]",Ve="(?:\\ud83c[\\udde6-\\uddff]){2}",We="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Me+"]",Ue="\\u200d",Ge="(?:"+He+"|"+Ne+")",qe="(?:"+je+"|"+Ne+")",Xe="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Je="(?:"+Oe+"|"+Ie+")"+"?",$e="["+Le+"]?",Ke=$e+Je+("(?:"+Ue+"(?:"+[Be,Ve,We].join("|")+")"+$e+Je+")*"),Ze="(?:"+[ze,Ve,We].join("|")+")"+Ke,Qe="(?:"+[Be+Oe+"?",Oe,Ve,We,Ae].join("|")+")",et=RegExp(De,"g"),tt=RegExp(Oe,"g"),it=RegExp(Ie+"(?="+Ie+")|"+Qe+Ke,"g"),nt=RegExp([je+"?"+He+"+"+Xe+"(?="+[Pe,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[Pe,je+Ge,"$"].join("|")+")",je+"?"+Ge+"+"+Xe,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Fe,Ze].join("|"),"g"),st=RegExp("["+Ue+_e+Te+Le+"]"),ot=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,rt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],at=-1,lt={};lt[z]=lt[H]=lt[N]=lt[I]=lt[B]=lt[V]=lt[W]=lt[j]=lt[U]=!0,lt[v]=lt[w]=lt[O]=lt[C]=lt[F]=lt[y]=lt[E]=lt[R]=lt[T]=lt[x]=lt[S]=lt[L]=lt[k]=lt[D]=lt[P]=!1;var ht={};ht[v]=ht[w]=ht[O]=ht[F]=ht[C]=ht[y]=ht[z]=ht[H]=ht[N]=ht[I]=ht[B]=ht[T]=ht[x]=ht[S]=ht[L]=ht[k]=ht[D]=ht[A]=ht[V]=ht[W]=ht[j]=ht[U]=!0,ht[E]=ht[R]=ht[P]=!1;var ut={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ct=parseFloat,dt=parseInt,pt="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,mt="object"==typeof self&&self&&self.Object===Object&&self,gt=pt||mt||Function("return this")(),ft=t&&!t.nodeType&&t,bt=ft&&e&&!e.nodeType&&e,vt=bt&&bt.exports===ft,wt=vt&&pt.process,Ct=function(){try{var e=bt&&bt.require&&bt.require("util").types;return e||wt&&wt.binding&&wt.binding("util")}catch(e){}}(),yt=Ct&&Ct.isArrayBuffer,Et=Ct&&Ct.isDate,Rt=Ct&&Ct.isMap,_t=Ct&&Ct.isRegExp,Tt=Ct&&Ct.isSet,xt=Ct&&Ct.isTypedArray;function St(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}function Mt(e,t,i,n){for(var s=-1,o=null==e?0:e.length;++s<o;){var r=e[s];t(n,r,i(r),e)}return n}function Lt(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}function kt(e,t){for(var i=null==e?0:e.length;i--&&!1!==t(e[i],i,e););return e}function Dt(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(!t(e[i],i,e))return!1;return!0}function At(e,t){for(var i=-1,n=null==e?0:e.length,s=0,o=[];++i<n;){var r=e[i];t(r,i,e)&&(o[s++]=r)}return o}function Pt(e,t){return!!(null==e?0:e.length)&&jt(e,t,0)>-1}function Ot(e,t,i){for(var n=-1,s=null==e?0:e.length;++n<s;)if(i(t,e[n]))return!0;return!1}function Ft(e,t){for(var i=-1,n=null==e?0:e.length,s=Array(n);++i<n;)s[i]=t(e[i],i,e);return s}function zt(e,t){for(var i=-1,n=t.length,s=e.length;++i<n;)e[s+i]=t[i];return e}function Ht(e,t,i,n){var s=-1,o=null==e?0:e.length;for(n&&o&&(i=e[++s]);++s<o;)i=t(i,e[s],s,e);return i}function Nt(e,t,i,n){var s=null==e?0:e.length;for(n&&s&&(i=e[--s]);s--;)i=t(i,e[s],s,e);return i}function It(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}var Bt=Xt("length");function Vt(e,t,i){var n;return i(e,(function(e,i,s){if(t(e,i,s))return n=i,!1})),n}function Wt(e,t,i,n){for(var s=e.length,o=i+(n?1:-1);n?o--:++o<s;)if(t(e[o],o,e))return o;return-1}function jt(e,t,i){return t==t?function(e,t,i){var n=i-1,s=e.length;for(;++n<s;)if(e[n]===t)return n;return-1}(e,t,i):Wt(e,Gt,i)}function Ut(e,t,i,n){for(var s=i-1,o=e.length;++s<o;)if(n(e[s],t))return s;return-1}function Gt(e){return e!=e}function qt(e,t){var i=null==e?0:e.length;return i?$t(e,t)/i:g}function Xt(e){return function(t){return null==t?s:t[e]}}function Yt(e){return function(t){return null==e?s:e[t]}}function Jt(e,t,i,n,s){return s(e,(function(e,s,o){i=n?(n=!1,e):t(i,e,s,o)})),i}function $t(e,t){for(var i,n=-1,o=e.length;++n<o;){var r=t(e[n]);r!==s&&(i=i===s?r:i+r)}return i}function Kt(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}function Zt(e){return e?e.slice(0,gi(e)+1).replace(re,""):e}function Qt(e){return function(t){return e(t)}}function ei(e,t){return Ft(t,(function(t){return e[t]}))}function ti(e,t){return e.has(t)}function ii(e,t){for(var i=-1,n=e.length;++i<n&&jt(t,e[i],0)>-1;);return i}function ni(e,t){for(var i=e.length;i--&&jt(t,e[i],0)>-1;);return i}var si=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),oi=Yt({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function ri(e){return"\\"+ut[e]}function ai(e){return st.test(e)}function li(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}function hi(e,t){return function(i){return e(t(i))}}function ui(e,t){for(var i=-1,n=e.length,s=0,o=[];++i<n;){var r=e[i];r!==t&&r!==a||(e[i]=a,o[s++]=i)}return o}function ci(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}function di(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=[e,e]})),i}function pi(e){return ai(e)?function(e){var t=it.lastIndex=0;for(;it.test(e);)++t;return t}(e):Bt(e)}function mi(e){return ai(e)?function(e){return e.match(it)||[]}(e):function(e){return e.split("")}(e)}function gi(e){for(var t=e.length;t--&&ae.test(e.charAt(t)););return t}var fi=Yt({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var bi=function e(t){var i,n=(t=null==t?gt:bi.defaults(gt.Object(),t,bi.pick(gt,rt))).Array,ae=t.Date,_e=t.Error,Te=t.Function,xe=t.Math,Se=t.Object,Me=t.RegExp,Le=t.String,ke=t.TypeError,De=n.prototype,Ae=Te.prototype,Pe=Se.prototype,Oe=t["__core-js_shared__"],Fe=Ae.toString,ze=Pe.hasOwnProperty,He=0,Ne=(i=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",Ie=Pe.toString,Be=Fe.call(Se),Ve=gt._,We=Me("^"+Fe.call(ze).replace(se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=vt?t.Buffer:s,Ue=t.Symbol,Ge=t.Uint8Array,qe=je?je.allocUnsafe:s,Xe=hi(Se.getPrototypeOf,Se),Ye=Se.create,Je=Pe.propertyIsEnumerable,$e=De.splice,Ke=Ue?Ue.isConcatSpreadable:s,Ze=Ue?Ue.iterator:s,Qe=Ue?Ue.toStringTag:s,it=function(){try{var e=po(Se,"defineProperty");return e({},"",{}),e}catch(e){}}(),st=t.clearTimeout!==gt.clearTimeout&&t.clearTimeout,ut=ae&&ae.now!==gt.Date.now&&ae.now,pt=t.setTimeout!==gt.setTimeout&&t.setTimeout,mt=xe.ceil,ft=xe.floor,bt=Se.getOwnPropertySymbols,wt=je?je.isBuffer:s,Ct=t.isFinite,Bt=De.join,Yt=hi(Se.keys,Se),vi=xe.max,wi=xe.min,Ci=ae.now,yi=t.parseInt,Ei=xe.random,Ri=De.reverse,_i=po(t,"DataView"),Ti=po(t,"Map"),xi=po(t,"Promise"),Si=po(t,"Set"),Mi=po(t,"WeakMap"),Li=po(Se,"create"),ki=Mi&&new Mi,Di={},Ai=Io(_i),Pi=Io(Ti),Oi=Io(xi),Fi=Io(Si),zi=Io(Mi),Hi=Ue?Ue.prototype:s,Ni=Hi?Hi.valueOf:s,Ii=Hi?Hi.toString:s;function Bi(e){if(ia(e)&&!Gr(e)&&!(e instanceof Ui)){if(e instanceof ji)return e;if(ze.call(e,"__wrapped__"))return Bo(e)}return new ji(e)}var Vi=function(){function e(){}return function(t){if(!ta(t))return{};if(Ye)return Ye(t);e.prototype=t;var i=new e;return e.prototype=s,i}}();function Wi(){}function ji(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=s}function Ui(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Gi(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function qi(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function Xi(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function Yi(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new Xi;++t<i;)this.add(e[t])}function Ji(e){var t=this.__data__=new qi(e);this.size=t.size}function $i(e,t){var i=Gr(e),n=!i&&Ur(e),s=!i&&!n&&Jr(e),o=!i&&!n&&!s&&ua(e),r=i||n||s||o,a=r?Kt(e.length,Le):[],l=a.length;for(var h in e)!t&&!ze.call(e,h)||r&&("length"==h||s&&("offset"==h||"parent"==h)||o&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||Co(h,l))||a.push(h);return a}function Ki(e){var t=e.length;return t?e[Jn(0,t-1)]:s}function Zi(e,t){return zo(ks(e),ln(t,0,e.length))}function Qi(e){return zo(ks(e))}function en(e,t,i){(i!==s&&!Vr(e[t],i)||i===s&&!(t in e))&&rn(e,t,i)}function tn(e,t,i){var n=e[t];ze.call(e,t)&&Vr(n,i)&&(i!==s||t in e)||rn(e,t,i)}function nn(e,t){for(var i=e.length;i--;)if(Vr(e[i][0],t))return i;return-1}function sn(e,t,i,n){return pn(e,(function(e,s,o){t(n,e,i(e),o)})),n}function on(e,t){return e&&Ds(t,Aa(t),e)}function rn(e,t,i){"__proto__"==t&&it?it(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}function an(e,t){for(var i=-1,o=t.length,r=n(o),a=null==e;++i<o;)r[i]=a?s:Sa(e,t[i]);return r}function ln(e,t,i){return e==e&&(i!==s&&(e=e<=i?e:i),t!==s&&(e=e>=t?e:t)),e}function hn(e,t,i,n,o,r){var a,l=1&t,h=2&t,u=4&t;if(i&&(a=o?i(e,n,o,r):i(e)),a!==s)return a;if(!ta(e))return e;var c=Gr(e);if(c){if(a=function(e){var t=e.length,i=new e.constructor(t);t&&"string"==typeof e[0]&&ze.call(e,"index")&&(i.index=e.index,i.input=e.input);return i}(e),!l)return ks(e,a)}else{var d=fo(e),p=d==R||d==_;if(Jr(e))return _s(e,l);if(d==S||d==v||p&&!o){if(a=h||p?{}:vo(e),!l)return h?function(e,t){return Ds(e,go(e),t)}(e,function(e,t){return e&&Ds(t,Pa(t),e)}(a,e)):function(e,t){return Ds(e,mo(e),t)}(e,on(a,e))}else{if(!ht[d])return o?e:{};a=function(e,t,i){var n=e.constructor;switch(t){case O:return Ts(e);case C:case y:return new n(+e);case F:return function(e,t){var i=t?Ts(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}(e,i);case z:case H:case N:case I:case B:case V:case W:case j:case U:return xs(e,i);case T:return new n;case x:case D:return new n(e);case L:return function(e){var t=new e.constructor(e.source,ge.exec(e));return t.lastIndex=e.lastIndex,t}(e);case k:return new n;case A:return s=e,Ni?Se(Ni.call(s)):{}}var s}(e,d,l)}}r||(r=new Ji);var m=r.get(e);if(m)return m;r.set(e,a),aa(e)?e.forEach((function(n){a.add(hn(n,t,i,n,e,r))})):na(e)&&e.forEach((function(n,s){a.set(s,hn(n,t,i,s,e,r))}));var g=c?s:(u?h?oo:so:h?Pa:Aa)(e);return Lt(g||e,(function(n,s){g&&(n=e[s=n]),tn(a,s,hn(n,t,i,s,e,r))})),a}function un(e,t,i){var n=i.length;if(null==e)return!n;for(e=Se(e);n--;){var o=i[n],r=t[o],a=e[o];if(a===s&&!(o in e)||!r(a))return!1}return!0}function cn(e,t,i){if("function"!=typeof e)throw new ke(o);return Ao((function(){e.apply(s,i)}),t)}function dn(e,t,i,n){var s=-1,o=Pt,r=!0,a=e.length,l=[],h=t.length;if(!a)return l;i&&(t=Ft(t,Qt(i))),n?(o=Ot,r=!1):t.length>=200&&(o=ti,r=!1,t=new Yi(t));e:for(;++s<a;){var u=e[s],c=null==i?u:i(u);if(u=n||0!==u?u:0,r&&c==c){for(var d=h;d--;)if(t[d]===c)continue e;l.push(u)}else o(t,c,n)||l.push(u)}return l}Bi.templateSettings={escape:Z,evaluate:Q,interpolate:ee,variable:"",imports:{_:Bi}},Bi.prototype=Wi.prototype,Bi.prototype.constructor=Bi,ji.prototype=Vi(Wi.prototype),ji.prototype.constructor=ji,Ui.prototype=Vi(Wi.prototype),Ui.prototype.constructor=Ui,Gi.prototype.clear=function(){this.__data__=Li?Li(null):{},this.size=0},Gi.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Gi.prototype.get=function(e){var t=this.__data__;if(Li){var i=t[e];return i===r?s:i}return ze.call(t,e)?t[e]:s},Gi.prototype.has=function(e){var t=this.__data__;return Li?t[e]!==s:ze.call(t,e)},Gi.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=Li&&t===s?r:t,this},qi.prototype.clear=function(){this.__data__=[],this.size=0},qi.prototype.delete=function(e){var t=this.__data__,i=nn(t,e);return!(i<0)&&(i==t.length-1?t.pop():$e.call(t,i,1),--this.size,!0)},qi.prototype.get=function(e){var t=this.__data__,i=nn(t,e);return i<0?s:t[i][1]},qi.prototype.has=function(e){return nn(this.__data__,e)>-1},qi.prototype.set=function(e,t){var i=this.__data__,n=nn(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},Xi.prototype.clear=function(){this.size=0,this.__data__={hash:new Gi,map:new(Ti||qi),string:new Gi}},Xi.prototype.delete=function(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t},Xi.prototype.get=function(e){return uo(this,e).get(e)},Xi.prototype.has=function(e){return uo(this,e).has(e)},Xi.prototype.set=function(e,t){var i=uo(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},Yi.prototype.add=Yi.prototype.push=function(e){return this.__data__.set(e,r),this},Yi.prototype.has=function(e){return this.__data__.has(e)},Ji.prototype.clear=function(){this.__data__=new qi,this.size=0},Ji.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},Ji.prototype.get=function(e){return this.__data__.get(e)},Ji.prototype.has=function(e){return this.__data__.has(e)},Ji.prototype.set=function(e,t){var i=this.__data__;if(i instanceof qi){var n=i.__data__;if(!Ti||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new Xi(n)}return i.set(e,t),this.size=i.size,this};var pn=Os(yn),mn=Os(En,!0);function gn(e,t){var i=!0;return pn(e,(function(e,n,s){return i=!!t(e,n,s)})),i}function fn(e,t,i){for(var n=-1,o=e.length;++n<o;){var r=e[n],a=t(r);if(null!=a&&(l===s?a==a&&!ha(a):i(a,l)))var l=a,h=r}return h}function bn(e,t){var i=[];return pn(e,(function(e,n,s){t(e,n,s)&&i.push(e)})),i}function vn(e,t,i,n,s){var o=-1,r=e.length;for(i||(i=wo),s||(s=[]);++o<r;){var a=e[o];t>0&&i(a)?t>1?vn(a,t-1,i,n,s):zt(s,a):n||(s[s.length]=a)}return s}var wn=Fs(),Cn=Fs(!0);function yn(e,t){return e&&wn(e,t,Aa)}function En(e,t){return e&&Cn(e,t,Aa)}function Rn(e,t){return At(t,(function(t){return Zr(e[t])}))}function _n(e,t){for(var i=0,n=(t=Cs(t,e)).length;null!=e&&i<n;)e=e[No(t[i++])];return i&&i==n?e:s}function Tn(e,t,i){var n=t(e);return Gr(e)?n:zt(n,i(e))}function xn(e){return null==e?e===s?"[object Undefined]":"[object Null]":Qe&&Qe in Se(e)?function(e){var t=ze.call(e,Qe),i=e[Qe];try{e[Qe]=s;var n=!0}catch(e){}var o=Ie.call(e);n&&(t?e[Qe]=i:delete e[Qe]);return o}(e):function(e){return Ie.call(e)}(e)}function Sn(e,t){return e>t}function Mn(e,t){return null!=e&&ze.call(e,t)}function Ln(e,t){return null!=e&&t in Se(e)}function kn(e,t,i){for(var o=i?Ot:Pt,r=e[0].length,a=e.length,l=a,h=n(a),u=1/0,c=[];l--;){var d=e[l];l&&t&&(d=Ft(d,Qt(t))),u=wi(d.length,u),h[l]=!i&&(t||r>=120&&d.length>=120)?new Yi(l&&d):s}d=e[0];var p=-1,m=h[0];e:for(;++p<r&&c.length<u;){var g=d[p],f=t?t(g):g;if(g=i||0!==g?g:0,!(m?ti(m,f):o(c,f,i))){for(l=a;--l;){var b=h[l];if(!(b?ti(b,f):o(e[l],f,i)))continue e}m&&m.push(f),c.push(g)}}return c}function Dn(e,t,i){var n=null==(e=Lo(e,t=Cs(t,e)))?e:e[No(Ko(t))];return null==n?s:St(n,e,i)}function An(e){return ia(e)&&xn(e)==v}function Pn(e,t,i,n,o){return e===t||(null==e||null==t||!ia(e)&&!ia(t)?e!=e&&t!=t:function(e,t,i,n,o,r){var a=Gr(e),l=Gr(t),h=a?w:fo(e),u=l?w:fo(t),c=(h=h==v?S:h)==S,d=(u=u==v?S:u)==S,p=h==u;if(p&&Jr(e)){if(!Jr(t))return!1;a=!0,c=!1}if(p&&!c)return r||(r=new Ji),a||ua(e)?io(e,t,i,n,o,r):function(e,t,i,n,s,o,r){switch(i){case F:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case O:return!(e.byteLength!=t.byteLength||!o(new Ge(e),new Ge(t)));case C:case y:case x:return Vr(+e,+t);case E:return e.name==t.name&&e.message==t.message;case L:case D:return e==t+"";case T:var a=li;case k:var l=1&n;if(a||(a=ci),e.size!=t.size&&!l)return!1;var h=r.get(e);if(h)return h==t;n|=2,r.set(e,t);var u=io(a(e),a(t),n,s,o,r);return r.delete(e),u;case A:if(Ni)return Ni.call(e)==Ni.call(t)}return!1}(e,t,h,i,n,o,r);if(!(1&i)){var m=c&&ze.call(e,"__wrapped__"),g=d&&ze.call(t,"__wrapped__");if(m||g){var f=m?e.value():e,b=g?t.value():t;return r||(r=new Ji),o(f,b,i,n,r)}}if(!p)return!1;return r||(r=new Ji),function(e,t,i,n,o,r){var a=1&i,l=so(e),h=l.length,u=so(t),c=u.length;if(h!=c&&!a)return!1;var d=h;for(;d--;){var p=l[d];if(!(a?p in t:ze.call(t,p)))return!1}var m=r.get(e),g=r.get(t);if(m&&g)return m==t&&g==e;var f=!0;r.set(e,t),r.set(t,e);var b=a;for(;++d<h;){var v=e[p=l[d]],w=t[p];if(n)var C=a?n(w,v,p,t,e,r):n(v,w,p,e,t,r);if(!(C===s?v===w||o(v,w,i,n,r):C)){f=!1;break}b||(b="constructor"==p)}if(f&&!b){var y=e.constructor,E=t.constructor;y==E||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof E&&E instanceof E||(f=!1)}return r.delete(e),r.delete(t),f}(e,t,i,n,o,r)}(e,t,i,n,Pn,o))}function On(e,t,i,n){var o=i.length,r=o,a=!n;if(null==e)return!r;for(e=Se(e);o--;){var l=i[o];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<r;){var h=(l=i[o])[0],u=e[h],c=l[1];if(a&&l[2]){if(u===s&&!(h in e))return!1}else{var d=new Ji;if(n)var p=n(u,c,h,e,t,d);if(!(p===s?Pn(c,u,3,n,d):p))return!1}}return!0}function Fn(e){return!(!ta(e)||(t=e,Ne&&Ne in t))&&(Zr(e)?We:ve).test(Io(e));var t}function zn(e){return"function"==typeof e?e:null==e?sl:"object"==typeof e?Gr(e)?Wn(e[0],e[1]):Vn(e):pl(e)}function Hn(e){if(!To(e))return Yt(e);var t=[];for(var i in Se(e))ze.call(e,i)&&"constructor"!=i&&t.push(i);return t}function Nn(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var i in Se(e))t.push(i);return t}(e);var t=To(e),i=[];for(var n in e)("constructor"!=n||!t&&ze.call(e,n))&&i.push(n);return i}function In(e,t){return e<t}function Bn(e,t){var i=-1,s=Xr(e)?n(e.length):[];return pn(e,(function(e,n,o){s[++i]=t(e,n,o)})),s}function Vn(e){var t=co(e);return 1==t.length&&t[0][2]?So(t[0][0],t[0][1]):function(i){return i===e||On(i,e,t)}}function Wn(e,t){return Eo(e)&&xo(t)?So(No(e),t):function(i){var n=Sa(i,e);return n===s&&n===t?Ma(i,e):Pn(t,n,3)}}function jn(e,t,i,n,o){e!==t&&wn(t,(function(r,a){if(o||(o=new Ji),ta(r))!function(e,t,i,n,o,r,a){var l=ko(e,i),h=ko(t,i),u=a.get(h);if(u)return void en(e,i,u);var c=r?r(l,h,i+"",e,t,a):s,d=c===s;if(d){var p=Gr(h),m=!p&&Jr(h),g=!p&&!m&&ua(h);c=h,p||m||g?Gr(l)?c=l:Yr(l)?c=ks(l):m?(d=!1,c=_s(h,!0)):g?(d=!1,c=xs(h,!0)):c=[]:oa(h)||Ur(h)?(c=l,Ur(l)?c=va(l):ta(l)&&!Zr(l)||(c=vo(h))):d=!1}d&&(a.set(h,c),o(c,h,n,r,a),a.delete(h));en(e,i,c)}(e,t,a,i,jn,n,o);else{var l=n?n(ko(e,a),r,a+"",e,t,o):s;l===s&&(l=r),en(e,a,l)}}),Pa)}function Un(e,t){var i=e.length;if(i)return Co(t+=t<0?i:0,i)?e[t]:s}function Gn(e,t,i){t=t.length?Ft(t,(function(e){return Gr(e)?function(t){return _n(t,1===e.length?e[0]:e)}:e})):[sl];var n=-1;t=Ft(t,Qt(ho()));var s=Bn(e,(function(e,i,s){var o=Ft(t,(function(t){return t(e)}));return{criteria:o,index:++n,value:e}}));return function(e,t){var i=e.length;for(e.sort(t);i--;)e[i]=e[i].value;return e}(s,(function(e,t){return function(e,t,i){var n=-1,s=e.criteria,o=t.criteria,r=s.length,a=i.length;for(;++n<r;){var l=Ss(s[n],o[n]);if(l)return n>=a?l:l*("desc"==i[n]?-1:1)}return e.index-t.index}(e,t,i)}))}function qn(e,t,i){for(var n=-1,s=t.length,o={};++n<s;){var r=t[n],a=_n(e,r);i(a,r)&&es(o,Cs(r,e),a)}return o}function Xn(e,t,i,n){var s=n?Ut:jt,o=-1,r=t.length,a=e;for(e===t&&(t=ks(t)),i&&(a=Ft(e,Qt(i)));++o<r;)for(var l=0,h=t[o],u=i?i(h):h;(l=s(a,u,l,n))>-1;)a!==e&&$e.call(a,l,1),$e.call(e,l,1);return e}function Yn(e,t){for(var i=e?t.length:0,n=i-1;i--;){var s=t[i];if(i==n||s!==o){var o=s;Co(s)?$e.call(e,s,1):ds(e,s)}}return e}function Jn(e,t){return e+ft(Ei()*(t-e+1))}function $n(e,t){var i="";if(!e||t<1||t>m)return i;do{t%2&&(i+=e),(t=ft(t/2))&&(e+=e)}while(t);return i}function Kn(e,t){return Po(Mo(e,t,sl),e+"")}function Zn(e){return Ki(Va(e))}function Qn(e,t){var i=Va(e);return zo(i,ln(t,0,i.length))}function es(e,t,i,n){if(!ta(e))return e;for(var o=-1,r=(t=Cs(t,e)).length,a=r-1,l=e;null!=l&&++o<r;){var h=No(t[o]),u=i;if("__proto__"===h||"constructor"===h||"prototype"===h)return e;if(o!=a){var c=l[h];(u=n?n(c,h,l):s)===s&&(u=ta(c)?c:Co(t[o+1])?[]:{})}tn(l,h,u),l=l[h]}return e}var ts=ki?function(e,t){return ki.set(e,t),e}:sl,is=it?function(e,t){return it(e,"toString",{configurable:!0,enumerable:!1,value:tl(t),writable:!0})}:sl;function ns(e){return zo(Va(e))}function ss(e,t,i){var s=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(i=i>o?o:i)<0&&(i+=o),o=t>i?0:i-t>>>0,t>>>=0;for(var r=n(o);++s<o;)r[s]=e[s+t];return r}function os(e,t){var i;return pn(e,(function(e,n,s){return!(i=t(e,n,s))})),!!i}function rs(e,t,i){var n=0,s=null==e?n:e.length;if("number"==typeof t&&t==t&&s<=2147483647){for(;n<s;){var o=n+s>>>1,r=e[o];null!==r&&!ha(r)&&(i?r<=t:r<t)?n=o+1:s=o}return s}return as(e,t,sl,i)}function as(e,t,i,n){var o=0,r=null==e?0:e.length;if(0===r)return 0;for(var a=(t=i(t))!=t,l=null===t,h=ha(t),u=t===s;o<r;){var c=ft((o+r)/2),d=i(e[c]),p=d!==s,m=null===d,g=d==d,f=ha(d);if(a)var b=n||g;else b=u?g&&(n||p):l?g&&p&&(n||!m):h?g&&p&&!m&&(n||!f):!m&&!f&&(n?d<=t:d<t);b?o=c+1:r=c}return wi(r,4294967294)}function ls(e,t){for(var i=-1,n=e.length,s=0,o=[];++i<n;){var r=e[i],a=t?t(r):r;if(!i||!Vr(a,l)){var l=a;o[s++]=0===r?0:r}}return o}function hs(e){return"number"==typeof e?e:ha(e)?g:+e}function us(e){if("string"==typeof e)return e;if(Gr(e))return Ft(e,us)+"";if(ha(e))return Ii?Ii.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function cs(e,t,i){var n=-1,s=Pt,o=e.length,r=!0,a=[],l=a;if(i)r=!1,s=Ot;else if(o>=200){var h=t?null:$s(e);if(h)return ci(h);r=!1,s=ti,l=new Yi}else l=t?[]:a;e:for(;++n<o;){var u=e[n],c=t?t(u):u;if(u=i||0!==u?u:0,r&&c==c){for(var d=l.length;d--;)if(l[d]===c)continue e;t&&l.push(c),a.push(u)}else s(l,c,i)||(l!==a&&l.push(c),a.push(u))}return a}function ds(e,t){return null==(e=Lo(e,t=Cs(t,e)))||delete e[No(Ko(t))]}function ps(e,t,i,n){return es(e,t,i(_n(e,t)),n)}function ms(e,t,i,n){for(var s=e.length,o=n?s:-1;(n?o--:++o<s)&&t(e[o],o,e););return i?ss(e,n?0:o,n?o+1:s):ss(e,n?o+1:0,n?s:o)}function gs(e,t){var i=e;return i instanceof Ui&&(i=i.value()),Ht(t,(function(e,t){return t.func.apply(t.thisArg,zt([e],t.args))}),i)}function fs(e,t,i){var s=e.length;if(s<2)return s?cs(e[0]):[];for(var o=-1,r=n(s);++o<s;)for(var a=e[o],l=-1;++l<s;)l!=o&&(r[o]=dn(r[o]||a,e[l],t,i));return cs(vn(r,1),t,i)}function bs(e,t,i){for(var n=-1,o=e.length,r=t.length,a={};++n<o;){var l=n<r?t[n]:s;i(a,e[n],l)}return a}function vs(e){return Yr(e)?e:[]}function ws(e){return"function"==typeof e?e:sl}function Cs(e,t){return Gr(e)?e:Eo(e,t)?[e]:Ho(wa(e))}var ys=Kn;function Es(e,t,i){var n=e.length;return i=i===s?n:i,!t&&i>=n?e:ss(e,t,i)}var Rs=st||function(e){return gt.clearTimeout(e)};function _s(e,t){if(t)return e.slice();var i=e.length,n=qe?qe(i):new e.constructor(i);return e.copy(n),n}function Ts(e){var t=new e.constructor(e.byteLength);return new Ge(t).set(new Ge(e)),t}function xs(e,t){var i=t?Ts(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function Ss(e,t){if(e!==t){var i=e!==s,n=null===e,o=e==e,r=ha(e),a=t!==s,l=null===t,h=t==t,u=ha(t);if(!l&&!u&&!r&&e>t||r&&a&&h&&!l&&!u||n&&a&&h||!i&&h||!o)return 1;if(!n&&!r&&!u&&e<t||u&&i&&o&&!n&&!r||l&&i&&o||!a&&o||!h)return-1}return 0}function Ms(e,t,i,s){for(var o=-1,r=e.length,a=i.length,l=-1,h=t.length,u=vi(r-a,0),c=n(h+u),d=!s;++l<h;)c[l]=t[l];for(;++o<a;)(d||o<r)&&(c[i[o]]=e[o]);for(;u--;)c[l++]=e[o++];return c}function Ls(e,t,i,s){for(var o=-1,r=e.length,a=-1,l=i.length,h=-1,u=t.length,c=vi(r-l,0),d=n(c+u),p=!s;++o<c;)d[o]=e[o];for(var m=o;++h<u;)d[m+h]=t[h];for(;++a<l;)(p||o<r)&&(d[m+i[a]]=e[o++]);return d}function ks(e,t){var i=-1,s=e.length;for(t||(t=n(s));++i<s;)t[i]=e[i];return t}function Ds(e,t,i,n){var o=!i;i||(i={});for(var r=-1,a=t.length;++r<a;){var l=t[r],h=n?n(i[l],e[l],l,i,e):s;h===s&&(h=e[l]),o?rn(i,l,h):tn(i,l,h)}return i}function As(e,t){return function(i,n){var s=Gr(i)?Mt:sn,o=t?t():{};return s(i,e,ho(n,2),o)}}function Ps(e){return Kn((function(t,i){var n=-1,o=i.length,r=o>1?i[o-1]:s,a=o>2?i[2]:s;for(r=e.length>3&&"function"==typeof r?(o--,r):s,a&&yo(i[0],i[1],a)&&(r=o<3?s:r,o=1),t=Se(t);++n<o;){var l=i[n];l&&e(t,l,n,r)}return t}))}function Os(e,t){return function(i,n){if(null==i)return i;if(!Xr(i))return e(i,n);for(var s=i.length,o=t?s:-1,r=Se(i);(t?o--:++o<s)&&!1!==n(r[o],o,r););return i}}function Fs(e){return function(t,i,n){for(var s=-1,o=Se(t),r=n(t),a=r.length;a--;){var l=r[e?a:++s];if(!1===i(o[l],l,o))break}return t}}function zs(e){return function(t){var i=ai(t=wa(t))?mi(t):s,n=i?i[0]:t.charAt(0),o=i?Es(i,1).join(""):t.slice(1);return n[e]()+o}}function Hs(e){return function(t){return Ht(Za(Ua(t).replace(et,"")),e,"")}}function Ns(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var i=Vi(e.prototype),n=e.apply(i,t);return ta(n)?n:i}}function Is(e){return function(t,i,n){var o=Se(t);if(!Xr(t)){var r=ho(i,3);t=Aa(t),i=function(e){return r(o[e],e,o)}}var a=e(t,i,n);return a>-1?o[r?t[a]:a]:s}}function Bs(e){return no((function(t){var i=t.length,n=i,r=ji.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if("function"!=typeof a)throw new ke(o);if(r&&!l&&"wrapper"==ao(a))var l=new ji([],!0)}for(n=l?n:i;++n<i;){var h=ao(a=t[n]),u="wrapper"==h?ro(a):s;l=u&&Ro(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[ao(u[0])].apply(l,u[3]):1==a.length&&Ro(a)?l[h]():l.thru(a)}return function(){var e=arguments,n=e[0];if(l&&1==e.length&&Gr(n))return l.plant(n).value();for(var s=0,o=i?t[s].apply(this,e):n;++s<i;)o=t[s].call(this,o);return o}}))}function Vs(e,t,i,o,r,a,l,h,u,d){var p=t&c,m=1&t,g=2&t,f=24&t,b=512&t,v=g?s:Ns(e);return function c(){for(var w=arguments.length,C=n(w),y=w;y--;)C[y]=arguments[y];if(f)var E=lo(c),R=function(e,t){for(var i=e.length,n=0;i--;)e[i]===t&&++n;return n}(C,E);if(o&&(C=Ms(C,o,r,f)),a&&(C=Ls(C,a,l,f)),w-=R,f&&w<d){var _=ui(C,E);return Ys(e,t,Vs,c.placeholder,i,C,_,h,u,d-w)}var T=m?i:this,x=g?T[e]:e;return w=C.length,h?C=function(e,t){var i=e.length,n=wi(t.length,i),o=ks(e);for(;n--;){var r=t[n];e[n]=Co(r,i)?o[r]:s}return e}(C,h):b&&w>1&&C.reverse(),p&&u<w&&(C.length=u),this&&this!==gt&&this instanceof c&&(x=v||Ns(x)),x.apply(T,C)}}function Ws(e,t){return function(i,n){return function(e,t,i,n){return yn(e,(function(e,s,o){t(n,i(e),s,o)})),n}(i,e,t(n),{})}}function js(e,t){return function(i,n){var o;if(i===s&&n===s)return t;if(i!==s&&(o=i),n!==s){if(o===s)return n;"string"==typeof i||"string"==typeof n?(i=us(i),n=us(n)):(i=hs(i),n=hs(n)),o=e(i,n)}return o}}function Us(e){return no((function(t){return t=Ft(t,Qt(ho())),Kn((function(i){var n=this;return e(t,(function(e){return St(e,n,i)}))}))}))}function Gs(e,t){var i=(t=t===s?" ":us(t)).length;if(i<2)return i?$n(t,e):t;var n=$n(t,mt(e/pi(t)));return ai(t)?Es(mi(n),0,e).join(""):n.slice(0,e)}function qs(e){return function(t,i,o){return o&&"number"!=typeof o&&yo(t,i,o)&&(i=o=s),t=ma(t),i===s?(i=t,t=0):i=ma(i),function(e,t,i,s){for(var o=-1,r=vi(mt((t-e)/(i||1)),0),a=n(r);r--;)a[s?r:++o]=e,e+=i;return a}(t,i,o=o===s?t<i?1:-1:ma(o),e)}}function Xs(e){return function(t,i){return"string"==typeof t&&"string"==typeof i||(t=ba(t),i=ba(i)),e(t,i)}}function Ys(e,t,i,n,o,r,a,l,c,d){var p=8&t;t|=p?h:u,4&(t&=~(p?u:h))||(t&=-4);var m=[e,t,o,p?r:s,p?a:s,p?s:r,p?s:a,l,c,d],g=i.apply(s,m);return Ro(e)&&Do(g,m),g.placeholder=n,Oo(g,e,t)}function Js(e){var t=xe[e];return function(e,i){if(e=ba(e),(i=null==i?0:wi(ga(i),292))&&Ct(e)){var n=(wa(e)+"e").split("e");return+((n=(wa(t(n[0]+"e"+(+n[1]+i)))+"e").split("e"))[0]+"e"+(+n[1]-i))}return t(e)}}var $s=Si&&1/ci(new Si([,-0]))[1]==p?function(e){return new Si(e)}:hl;function Ks(e){return function(t){var i=fo(t);return i==T?li(t):i==k?di(t):function(e,t){return Ft(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Zs(e,t,i,r,p,m,g,f){var b=2&t;if(!b&&"function"!=typeof e)throw new ke(o);var v=r?r.length:0;if(v||(t&=-97,r=p=s),g=g===s?g:vi(ga(g),0),f=f===s?f:ga(f),v-=p?p.length:0,t&u){var w=r,C=p;r=p=s}var y=b?s:ro(e),E=[e,t,i,r,p,w,C,m,g,f];if(y&&function(e,t){var i=e[1],n=t[1],s=i|n,o=s<131,r=n==c&&8==i||n==c&&i==d&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==i;if(!o&&!r)return e;1&n&&(e[2]=t[2],s|=1&i?0:4);var l=t[3];if(l){var h=e[3];e[3]=h?Ms(h,l,t[4]):l,e[4]=h?ui(e[3],a):t[4]}(l=t[5])&&(h=e[5],e[5]=h?Ls(h,l,t[6]):l,e[6]=h?ui(e[5],a):t[6]);(l=t[7])&&(e[7]=l);n&c&&(e[8]=null==e[8]?t[8]:wi(e[8],t[8]));null==e[9]&&(e[9]=t[9]);e[0]=t[0],e[1]=s}(E,y),e=E[0],t=E[1],i=E[2],r=E[3],p=E[4],!(f=E[9]=E[9]===s?b?0:e.length:vi(E[9]-v,0))&&24&t&&(t&=-25),t&&1!=t)R=8==t||t==l?function(e,t,i){var o=Ns(e);return function r(){for(var a=arguments.length,l=n(a),h=a,u=lo(r);h--;)l[h]=arguments[h];var c=a<3&&l[0]!==u&&l[a-1]!==u?[]:ui(l,u);return(a-=c.length)<i?Ys(e,t,Vs,r.placeholder,s,l,c,s,s,i-a):St(this&&this!==gt&&this instanceof r?o:e,this,l)}}(e,t,f):t!=h&&33!=t||p.length?Vs.apply(s,E):function(e,t,i,s){var o=1&t,r=Ns(e);return function t(){for(var a=-1,l=arguments.length,h=-1,u=s.length,c=n(u+l),d=this&&this!==gt&&this instanceof t?r:e;++h<u;)c[h]=s[h];for(;l--;)c[h++]=arguments[++a];return St(d,o?i:this,c)}}(e,t,i,r);else var R=function(e,t,i){var n=1&t,s=Ns(e);return function t(){return(this&&this!==gt&&this instanceof t?s:e).apply(n?i:this,arguments)}}(e,t,i);return Oo((y?ts:Do)(R,E),e,t)}function Qs(e,t,i,n){return e===s||Vr(e,Pe[i])&&!ze.call(n,i)?t:e}function eo(e,t,i,n,o,r){return ta(e)&&ta(t)&&(r.set(t,e),jn(e,t,s,eo,r),r.delete(t)),e}function to(e){return oa(e)?s:e}function io(e,t,i,n,o,r){var a=1&i,l=e.length,h=t.length;if(l!=h&&!(a&&h>l))return!1;var u=r.get(e),c=r.get(t);if(u&&c)return u==t&&c==e;var d=-1,p=!0,m=2&i?new Yi:s;for(r.set(e,t),r.set(t,e);++d<l;){var g=e[d],f=t[d];if(n)var b=a?n(f,g,d,t,e,r):n(g,f,d,e,t,r);if(b!==s){if(b)continue;p=!1;break}if(m){if(!It(t,(function(e,t){if(!ti(m,t)&&(g===e||o(g,e,i,n,r)))return m.push(t)}))){p=!1;break}}else if(g!==f&&!o(g,f,i,n,r)){p=!1;break}}return r.delete(e),r.delete(t),p}function no(e){return Po(Mo(e,s,qo),e+"")}function so(e){return Tn(e,Aa,mo)}function oo(e){return Tn(e,Pa,go)}var ro=ki?function(e){return ki.get(e)}:hl;function ao(e){for(var t=e.name+"",i=Di[t],n=ze.call(Di,t)?i.length:0;n--;){var s=i[n],o=s.func;if(null==o||o==e)return s.name}return t}function lo(e){return(ze.call(Bi,"placeholder")?Bi:e).placeholder}function ho(){var e=Bi.iteratee||ol;return e=e===ol?zn:e,arguments.length?e(arguments[0],arguments[1]):e}function uo(e,t){var i,n,s=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?s["string"==typeof t?"string":"hash"]:s.map}function co(e){for(var t=Aa(e),i=t.length;i--;){var n=t[i],s=e[n];t[i]=[n,s,xo(s)]}return t}function po(e,t){var i=function(e,t){return null==e?s:e[t]}(e,t);return Fn(i)?i:s}var mo=bt?function(e){return null==e?[]:(e=Se(e),At(bt(e),(function(t){return Je.call(e,t)})))}:fl,go=bt?function(e){for(var t=[];e;)zt(t,mo(e)),e=Xe(e);return t}:fl,fo=xn;function bo(e,t,i){for(var n=-1,s=(t=Cs(t,e)).length,o=!1;++n<s;){var r=No(t[n]);if(!(o=null!=e&&i(e,r)))break;e=e[r]}return o||++n!=s?o:!!(s=null==e?0:e.length)&&ea(s)&&Co(r,s)&&(Gr(e)||Ur(e))}function vo(e){return"function"!=typeof e.constructor||To(e)?{}:Vi(Xe(e))}function wo(e){return Gr(e)||Ur(e)||!!(Ke&&e&&e[Ke])}function Co(e,t){var i=typeof e;return!!(t=null==t?m:t)&&("number"==i||"symbol"!=i&&Ce.test(e))&&e>-1&&e%1==0&&e<t}function yo(e,t,i){if(!ta(i))return!1;var n=typeof t;return!!("number"==n?Xr(i)&&Co(t,i.length):"string"==n&&t in i)&&Vr(i[t],e)}function Eo(e,t){if(Gr(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!ha(e))||(ie.test(e)||!te.test(e)||null!=t&&e in Se(t))}function Ro(e){var t=ao(e),i=Bi[t];if("function"!=typeof i||!(t in Ui.prototype))return!1;if(e===i)return!0;var n=ro(i);return!!n&&e===n[0]}(_i&&fo(new _i(new ArrayBuffer(1)))!=F||Ti&&fo(new Ti)!=T||xi&&fo(xi.resolve())!=M||Si&&fo(new Si)!=k||Mi&&fo(new Mi)!=P)&&(fo=function(e){var t=xn(e),i=t==S?e.constructor:s,n=i?Io(i):"";if(n)switch(n){case Ai:return F;case Pi:return T;case Oi:return M;case Fi:return k;case zi:return P}return t});var _o=Oe?Zr:bl;function To(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Pe)}function xo(e){return e==e&&!ta(e)}function So(e,t){return function(i){return null!=i&&(i[e]===t&&(t!==s||e in Se(i)))}}function Mo(e,t,i){return t=vi(t===s?e.length-1:t,0),function(){for(var s=arguments,o=-1,r=vi(s.length-t,0),a=n(r);++o<r;)a[o]=s[t+o];o=-1;for(var l=n(t+1);++o<t;)l[o]=s[o];return l[t]=i(a),St(e,this,l)}}function Lo(e,t){return t.length<2?e:_n(e,ss(t,0,-1))}function ko(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var Do=Fo(ts),Ao=pt||function(e,t){return gt.setTimeout(e,t)},Po=Fo(is);function Oo(e,t,i){var n=t+"";return Po(e,function(e,t){var i=t.length;if(!i)return e;var n=i-1;return t[n]=(i>1?"& ":"")+t[n],t=t.join(i>2?", ":" "),e.replace(le,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return Lt(b,(function(i){var n="_."+i[0];t&i[1]&&!Pt(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(he);return t?t[1].split(ue):[]}(n),i)))}function Fo(e){var t=0,i=0;return function(){var n=Ci(),o=16-(n-i);if(i=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(s,arguments)}}function zo(e,t){var i=-1,n=e.length,o=n-1;for(t=t===s?n:t;++i<t;){var r=Jn(i,o),a=e[r];e[r]=e[i],e[i]=a}return e.length=t,e}var Ho=function(e){var t=Fr(e,(function(e){return 500===i.size&&i.clear(),e})),i=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ne,(function(e,i,n,s){t.push(n?s.replace(pe,"$1"):i||e)})),t}));function No(e){if("string"==typeof e||ha(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Io(e){if(null!=e){try{return Fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Bo(e){if(e instanceof Ui)return e.clone();var t=new ji(e.__wrapped__,e.__chain__);return t.__actions__=ks(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Vo=Kn((function(e,t){return Yr(e)?dn(e,vn(t,1,Yr,!0)):[]})),Wo=Kn((function(e,t){var i=Ko(t);return Yr(i)&&(i=s),Yr(e)?dn(e,vn(t,1,Yr,!0),ho(i,2)):[]})),jo=Kn((function(e,t){var i=Ko(t);return Yr(i)&&(i=s),Yr(e)?dn(e,vn(t,1,Yr,!0),s,i):[]}));function Uo(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var s=null==i?0:ga(i);return s<0&&(s=vi(n+s,0)),Wt(e,ho(t,3),s)}function Go(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var o=n-1;return i!==s&&(o=ga(i),o=i<0?vi(n+o,0):wi(o,n-1)),Wt(e,ho(t,3),o,!0)}function qo(e){return(null==e?0:e.length)?vn(e,1):[]}function Xo(e){return e&&e.length?e[0]:s}var Yo=Kn((function(e){var t=Ft(e,vs);return t.length&&t[0]===e[0]?kn(t):[]})),Jo=Kn((function(e){var t=Ko(e),i=Ft(e,vs);return t===Ko(i)?t=s:i.pop(),i.length&&i[0]===e[0]?kn(i,ho(t,2)):[]})),$o=Kn((function(e){var t=Ko(e),i=Ft(e,vs);return(t="function"==typeof t?t:s)&&i.pop(),i.length&&i[0]===e[0]?kn(i,s,t):[]}));function Ko(e){var t=null==e?0:e.length;return t?e[t-1]:s}var Zo=Kn(Qo);function Qo(e,t){return e&&e.length&&t&&t.length?Xn(e,t):e}var er=no((function(e,t){var i=null==e?0:e.length,n=an(e,t);return Yn(e,Ft(t,(function(e){return Co(e,i)?+e:e})).sort(Ss)),n}));function tr(e){return null==e?e:Ri.call(e)}var ir=Kn((function(e){return cs(vn(e,1,Yr,!0))})),nr=Kn((function(e){var t=Ko(e);return Yr(t)&&(t=s),cs(vn(e,1,Yr,!0),ho(t,2))})),sr=Kn((function(e){var t=Ko(e);return t="function"==typeof t?t:s,cs(vn(e,1,Yr,!0),s,t)}));function or(e){if(!e||!e.length)return[];var t=0;return e=At(e,(function(e){if(Yr(e))return t=vi(e.length,t),!0})),Kt(t,(function(t){return Ft(e,Xt(t))}))}function rr(e,t){if(!e||!e.length)return[];var i=or(e);return null==t?i:Ft(i,(function(e){return St(t,s,e)}))}var ar=Kn((function(e,t){return Yr(e)?dn(e,t):[]})),lr=Kn((function(e){return fs(At(e,Yr))})),hr=Kn((function(e){var t=Ko(e);return Yr(t)&&(t=s),fs(At(e,Yr),ho(t,2))})),ur=Kn((function(e){var t=Ko(e);return t="function"==typeof t?t:s,fs(At(e,Yr),s,t)})),cr=Kn(or);var dr=Kn((function(e){var t=e.length,i=t>1?e[t-1]:s;return i="function"==typeof i?(e.pop(),i):s,rr(e,i)}));function pr(e){var t=Bi(e);return t.__chain__=!0,t}function mr(e,t){return t(e)}var gr=no((function(e){var t=e.length,i=t?e[0]:0,n=this.__wrapped__,o=function(t){return an(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Ui&&Co(i)?((n=n.slice(i,+i+(t?1:0))).__actions__.push({func:mr,args:[o],thisArg:s}),new ji(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(s),e}))):this.thru(o)}));var fr=As((function(e,t,i){ze.call(e,i)?++e[i]:rn(e,i,1)}));var br=Is(Uo),vr=Is(Go);function wr(e,t){return(Gr(e)?Lt:pn)(e,ho(t,3))}function Cr(e,t){return(Gr(e)?kt:mn)(e,ho(t,3))}var yr=As((function(e,t,i){ze.call(e,i)?e[i].push(t):rn(e,i,[t])}));var Er=Kn((function(e,t,i){var s=-1,o="function"==typeof t,r=Xr(e)?n(e.length):[];return pn(e,(function(e){r[++s]=o?St(t,e,i):Dn(e,t,i)})),r})),Rr=As((function(e,t,i){rn(e,i,t)}));function _r(e,t){return(Gr(e)?Ft:Bn)(e,ho(t,3))}var Tr=As((function(e,t,i){e[i?0:1].push(t)}),(function(){return[[],[]]}));var xr=Kn((function(e,t){if(null==e)return[];var i=t.length;return i>1&&yo(e,t[0],t[1])?t=[]:i>2&&yo(t[0],t[1],t[2])&&(t=[t[0]]),Gn(e,vn(t,1),[])})),Sr=ut||function(){return gt.Date.now()};function Mr(e,t,i){return t=i?s:t,t=e&&null==t?e.length:t,Zs(e,c,s,s,s,s,t)}function Lr(e,t){var i;if("function"!=typeof t)throw new ke(o);return e=ga(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=s),i}}var kr=Kn((function(e,t,i){var n=1;if(i.length){var s=ui(i,lo(kr));n|=h}return Zs(e,n,t,i,s)})),Dr=Kn((function(e,t,i){var n=3;if(i.length){var s=ui(i,lo(Dr));n|=h}return Zs(t,n,e,i,s)}));function Ar(e,t,i){var n,r,a,l,h,u,c=0,d=!1,p=!1,m=!0;if("function"!=typeof e)throw new ke(o);function g(t){var i=n,o=r;return n=r=s,c=t,l=e.apply(o,i)}function f(e){var i=e-u;return u===s||i>=t||i<0||p&&e-c>=a}function b(){var e=Sr();if(f(e))return v(e);h=Ao(b,function(e){var i=t-(e-u);return p?wi(i,a-(e-c)):i}(e))}function v(e){return h=s,m&&n?g(e):(n=r=s,l)}function w(){var e=Sr(),i=f(e);if(n=arguments,r=this,u=e,i){if(h===s)return function(e){return c=e,h=Ao(b,t),d?g(e):l}(u);if(p)return Rs(h),h=Ao(b,t),g(u)}return h===s&&(h=Ao(b,t)),l}return t=ba(t)||0,ta(i)&&(d=!!i.leading,a=(p="maxWait"in i)?vi(ba(i.maxWait)||0,t):a,m="trailing"in i?!!i.trailing:m),w.cancel=function(){h!==s&&Rs(h),c=0,n=u=r=h=s},w.flush=function(){return h===s?l:v(Sr())},w}var Pr=Kn((function(e,t){return cn(e,1,t)})),Or=Kn((function(e,t,i){return cn(e,ba(t)||0,i)}));function Fr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ke(o);var i=function(){var n=arguments,s=t?t.apply(this,n):n[0],o=i.cache;if(o.has(s))return o.get(s);var r=e.apply(this,n);return i.cache=o.set(s,r)||o,r};return i.cache=new(Fr.Cache||Xi),i}function zr(e){if("function"!=typeof e)throw new ke(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Fr.Cache=Xi;var Hr=ys((function(e,t){var i=(t=1==t.length&&Gr(t[0])?Ft(t[0],Qt(ho())):Ft(vn(t,1),Qt(ho()))).length;return Kn((function(n){for(var s=-1,o=wi(n.length,i);++s<o;)n[s]=t[s].call(this,n[s]);return St(e,this,n)}))})),Nr=Kn((function(e,t){var i=ui(t,lo(Nr));return Zs(e,h,s,t,i)})),Ir=Kn((function(e,t){var i=ui(t,lo(Ir));return Zs(e,u,s,t,i)})),Br=no((function(e,t){return Zs(e,d,s,s,s,t)}));function Vr(e,t){return e===t||e!=e&&t!=t}var Wr=Xs(Sn),jr=Xs((function(e,t){return e>=t})),Ur=An(function(){return arguments}())?An:function(e){return ia(e)&&ze.call(e,"callee")&&!Je.call(e,"callee")},Gr=n.isArray,qr=yt?Qt(yt):function(e){return ia(e)&&xn(e)==O};function Xr(e){return null!=e&&ea(e.length)&&!Zr(e)}function Yr(e){return ia(e)&&Xr(e)}var Jr=wt||bl,$r=Et?Qt(Et):function(e){return ia(e)&&xn(e)==y};function Kr(e){if(!ia(e))return!1;var t=xn(e);return t==E||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!oa(e)}function Zr(e){if(!ta(e))return!1;var t=xn(e);return t==R||t==_||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Qr(e){return"number"==typeof e&&e==ga(e)}function ea(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=m}function ta(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ia(e){return null!=e&&"object"==typeof e}var na=Rt?Qt(Rt):function(e){return ia(e)&&fo(e)==T};function sa(e){return"number"==typeof e||ia(e)&&xn(e)==x}function oa(e){if(!ia(e)||xn(e)!=S)return!1;var t=Xe(e);if(null===t)return!0;var i=ze.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&Fe.call(i)==Be}var ra=_t?Qt(_t):function(e){return ia(e)&&xn(e)==L};var aa=Tt?Qt(Tt):function(e){return ia(e)&&fo(e)==k};function la(e){return"string"==typeof e||!Gr(e)&&ia(e)&&xn(e)==D}function ha(e){return"symbol"==typeof e||ia(e)&&xn(e)==A}var ua=xt?Qt(xt):function(e){return ia(e)&&ea(e.length)&&!!lt[xn(e)]};var ca=Xs(In),da=Xs((function(e,t){return e<=t}));function pa(e){if(!e)return[];if(Xr(e))return la(e)?mi(e):ks(e);if(Ze&&e[Ze])return function(e){for(var t,i=[];!(t=e.next()).done;)i.push(t.value);return i}(e[Ze]());var t=fo(e);return(t==T?li:t==k?ci:Va)(e)}function ma(e){return e?(e=ba(e))===p||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ga(e){var t=ma(e),i=t%1;return t==t?i?t-i:t:0}function fa(e){return e?ln(ga(e),0,f):0}function ba(e){if("number"==typeof e)return e;if(ha(e))return g;if(ta(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var i=be.test(e);return i||we.test(e)?dt(e.slice(2),i?2:8):fe.test(e)?g:+e}function va(e){return Ds(e,Pa(e))}function wa(e){return null==e?"":us(e)}var Ca=Ps((function(e,t){if(To(t)||Xr(t))Ds(t,Aa(t),e);else for(var i in t)ze.call(t,i)&&tn(e,i,t[i])})),ya=Ps((function(e,t){Ds(t,Pa(t),e)})),Ea=Ps((function(e,t,i,n){Ds(t,Pa(t),e,n)})),Ra=Ps((function(e,t,i,n){Ds(t,Aa(t),e,n)})),_a=no(an);var Ta=Kn((function(e,t){e=Se(e);var i=-1,n=t.length,o=n>2?t[2]:s;for(o&&yo(t[0],t[1],o)&&(n=1);++i<n;)for(var r=t[i],a=Pa(r),l=-1,h=a.length;++l<h;){var u=a[l],c=e[u];(c===s||Vr(c,Pe[u])&&!ze.call(e,u))&&(e[u]=r[u])}return e})),xa=Kn((function(e){return e.push(s,eo),St(Fa,s,e)}));function Sa(e,t,i){var n=null==e?s:_n(e,t);return n===s?i:n}function Ma(e,t){return null!=e&&bo(e,t,Ln)}var La=Ws((function(e,t,i){null!=t&&"function"!=typeof t.toString&&(t=Ie.call(t)),e[t]=i}),tl(sl)),ka=Ws((function(e,t,i){null!=t&&"function"!=typeof t.toString&&(t=Ie.call(t)),ze.call(e,t)?e[t].push(i):e[t]=[i]}),ho),Da=Kn(Dn);function Aa(e){return Xr(e)?$i(e):Hn(e)}function Pa(e){return Xr(e)?$i(e,!0):Nn(e)}var Oa=Ps((function(e,t,i){jn(e,t,i)})),Fa=Ps((function(e,t,i,n){jn(e,t,i,n)})),za=no((function(e,t){var i={};if(null==e)return i;var n=!1;t=Ft(t,(function(t){return t=Cs(t,e),n||(n=t.length>1),t})),Ds(e,oo(e),i),n&&(i=hn(i,7,to));for(var s=t.length;s--;)ds(i,t[s]);return i}));var Ha=no((function(e,t){return null==e?{}:function(e,t){return qn(e,t,(function(t,i){return Ma(e,i)}))}(e,t)}));function Na(e,t){if(null==e)return{};var i=Ft(oo(e),(function(e){return[e]}));return t=ho(t),qn(e,i,(function(e,i){return t(e,i[0])}))}var Ia=Ks(Aa),Ba=Ks(Pa);function Va(e){return null==e?[]:ei(e,Aa(e))}var Wa=Hs((function(e,t,i){return t=t.toLowerCase(),e+(i?ja(t):t)}));function ja(e){return Ka(wa(e).toLowerCase())}function Ua(e){return(e=wa(e))&&e.replace(ye,si).replace(tt,"")}var Ga=Hs((function(e,t,i){return e+(i?"-":"")+t.toLowerCase()})),qa=Hs((function(e,t,i){return e+(i?" ":"")+t.toLowerCase()})),Xa=zs("toLowerCase");var Ya=Hs((function(e,t,i){return e+(i?"_":"")+t.toLowerCase()}));var Ja=Hs((function(e,t,i){return e+(i?" ":"")+Ka(t)}));var $a=Hs((function(e,t,i){return e+(i?" ":"")+t.toUpperCase()})),Ka=zs("toUpperCase");function Za(e,t,i){return e=wa(e),(t=i?s:t)===s?function(e){return ot.test(e)}(e)?function(e){return e.match(nt)||[]}(e):function(e){return e.match(ce)||[]}(e):e.match(t)||[]}var Qa=Kn((function(e,t){try{return St(e,s,t)}catch(e){return Kr(e)?e:new _e(e)}})),el=no((function(e,t){return Lt(t,(function(t){t=No(t),rn(e,t,kr(e[t],e))})),e}));function tl(e){return function(){return e}}var il=Bs(),nl=Bs(!0);function sl(e){return e}function ol(e){return zn("function"==typeof e?e:hn(e,1))}var rl=Kn((function(e,t){return function(i){return Dn(i,e,t)}})),al=Kn((function(e,t){return function(i){return Dn(e,i,t)}}));function ll(e,t,i){var n=Aa(t),s=Rn(t,n);null!=i||ta(t)&&(s.length||!n.length)||(i=t,t=e,e=this,s=Rn(t,Aa(t)));var o=!(ta(i)&&"chain"in i&&!i.chain),r=Zr(e);return Lt(s,(function(i){var n=t[i];e[i]=n,r&&(e.prototype[i]=function(){var t=this.__chain__;if(o||t){var i=e(this.__wrapped__);return(i.__actions__=ks(this.__actions__)).push({func:n,args:arguments,thisArg:e}),i.__chain__=t,i}return n.apply(e,zt([this.value()],arguments))})})),e}function hl(){}var ul=Us(Ft),cl=Us(Dt),dl=Us(It);function pl(e){return Eo(e)?Xt(No(e)):function(e){return function(t){return _n(t,e)}}(e)}var ml=qs(),gl=qs(!0);function fl(){return[]}function bl(){return!1}var vl=js((function(e,t){return e+t}),0),wl=Js("ceil"),Cl=js((function(e,t){return e/t}),1),yl=Js("floor");var El,Rl=js((function(e,t){return e*t}),1),_l=Js("round"),Tl=js((function(e,t){return e-t}),0);return Bi.after=function(e,t){if("function"!=typeof t)throw new ke(o);return e=ga(e),function(){if(--e<1)return t.apply(this,arguments)}},Bi.ary=Mr,Bi.assign=Ca,Bi.assignIn=ya,Bi.assignInWith=Ea,Bi.assignWith=Ra,Bi.at=_a,Bi.before=Lr,Bi.bind=kr,Bi.bindAll=el,Bi.bindKey=Dr,Bi.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Gr(e)?e:[e]},Bi.chain=pr,Bi.chunk=function(e,t,i){t=(i?yo(e,t,i):t===s)?1:vi(ga(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var r=0,a=0,l=n(mt(o/t));r<o;)l[a++]=ss(e,r,r+=t);return l},Bi.compact=function(e){for(var t=-1,i=null==e?0:e.length,n=0,s=[];++t<i;){var o=e[t];o&&(s[n++]=o)}return s},Bi.concat=function(){var e=arguments.length;if(!e)return[];for(var t=n(e-1),i=arguments[0],s=e;s--;)t[s-1]=arguments[s];return zt(Gr(i)?ks(i):[i],vn(t,1))},Bi.cond=function(e){var t=null==e?0:e.length,i=ho();return e=t?Ft(e,(function(e){if("function"!=typeof e[1])throw new ke(o);return[i(e[0]),e[1]]})):[],Kn((function(i){for(var n=-1;++n<t;){var s=e[n];if(St(s[0],this,i))return St(s[1],this,i)}}))},Bi.conforms=function(e){return function(e){var t=Aa(e);return function(i){return un(i,e,t)}}(hn(e,1))},Bi.constant=tl,Bi.countBy=fr,Bi.create=function(e,t){var i=Vi(e);return null==t?i:on(i,t)},Bi.curry=function e(t,i,n){var o=Zs(t,8,s,s,s,s,s,i=n?s:i);return o.placeholder=e.placeholder,o},Bi.curryRight=function e(t,i,n){var o=Zs(t,l,s,s,s,s,s,i=n?s:i);return o.placeholder=e.placeholder,o},Bi.debounce=Ar,Bi.defaults=Ta,Bi.defaultsDeep=xa,Bi.defer=Pr,Bi.delay=Or,Bi.difference=Vo,Bi.differenceBy=Wo,Bi.differenceWith=jo,Bi.drop=function(e,t,i){var n=null==e?0:e.length;return n?ss(e,(t=i||t===s?1:ga(t))<0?0:t,n):[]},Bi.dropRight=function(e,t,i){var n=null==e?0:e.length;return n?ss(e,0,(t=n-(t=i||t===s?1:ga(t)))<0?0:t):[]},Bi.dropRightWhile=function(e,t){return e&&e.length?ms(e,ho(t,3),!0,!0):[]},Bi.dropWhile=function(e,t){return e&&e.length?ms(e,ho(t,3),!0):[]},Bi.fill=function(e,t,i,n){var o=null==e?0:e.length;return o?(i&&"number"!=typeof i&&yo(e,t,i)&&(i=0,n=o),function(e,t,i,n){var o=e.length;for((i=ga(i))<0&&(i=-i>o?0:o+i),(n=n===s||n>o?o:ga(n))<0&&(n+=o),n=i>n?0:fa(n);i<n;)e[i++]=t;return e}(e,t,i,n)):[]},Bi.filter=function(e,t){return(Gr(e)?At:bn)(e,ho(t,3))},Bi.flatMap=function(e,t){return vn(_r(e,t),1)},Bi.flatMapDeep=function(e,t){return vn(_r(e,t),p)},Bi.flatMapDepth=function(e,t,i){return i=i===s?1:ga(i),vn(_r(e,t),i)},Bi.flatten=qo,Bi.flattenDeep=function(e){return(null==e?0:e.length)?vn(e,p):[]},Bi.flattenDepth=function(e,t){return(null==e?0:e.length)?vn(e,t=t===s?1:ga(t)):[]},Bi.flip=function(e){return Zs(e,512)},Bi.flow=il,Bi.flowRight=nl,Bi.fromPairs=function(e){for(var t=-1,i=null==e?0:e.length,n={};++t<i;){var s=e[t];n[s[0]]=s[1]}return n},Bi.functions=function(e){return null==e?[]:Rn(e,Aa(e))},Bi.functionsIn=function(e){return null==e?[]:Rn(e,Pa(e))},Bi.groupBy=yr,Bi.initial=function(e){return(null==e?0:e.length)?ss(e,0,-1):[]},Bi.intersection=Yo,Bi.intersectionBy=Jo,Bi.intersectionWith=$o,Bi.invert=La,Bi.invertBy=ka,Bi.invokeMap=Er,Bi.iteratee=ol,Bi.keyBy=Rr,Bi.keys=Aa,Bi.keysIn=Pa,Bi.map=_r,Bi.mapKeys=function(e,t){var i={};return t=ho(t,3),yn(e,(function(e,n,s){rn(i,t(e,n,s),e)})),i},Bi.mapValues=function(e,t){var i={};return t=ho(t,3),yn(e,(function(e,n,s){rn(i,n,t(e,n,s))})),i},Bi.matches=function(e){return Vn(hn(e,1))},Bi.matchesProperty=function(e,t){return Wn(e,hn(t,1))},Bi.memoize=Fr,Bi.merge=Oa,Bi.mergeWith=Fa,Bi.method=rl,Bi.methodOf=al,Bi.mixin=ll,Bi.negate=zr,Bi.nthArg=function(e){return e=ga(e),Kn((function(t){return Un(t,e)}))},Bi.omit=za,Bi.omitBy=function(e,t){return Na(e,zr(ho(t)))},Bi.once=function(e){return Lr(2,e)},Bi.orderBy=function(e,t,i,n){return null==e?[]:(Gr(t)||(t=null==t?[]:[t]),Gr(i=n?s:i)||(i=null==i?[]:[i]),Gn(e,t,i))},Bi.over=ul,Bi.overArgs=Hr,Bi.overEvery=cl,Bi.overSome=dl,Bi.partial=Nr,Bi.partialRight=Ir,Bi.partition=Tr,Bi.pick=Ha,Bi.pickBy=Na,Bi.property=pl,Bi.propertyOf=function(e){return function(t){return null==e?s:_n(e,t)}},Bi.pull=Zo,Bi.pullAll=Qo,Bi.pullAllBy=function(e,t,i){return e&&e.length&&t&&t.length?Xn(e,t,ho(i,2)):e},Bi.pullAllWith=function(e,t,i){return e&&e.length&&t&&t.length?Xn(e,t,s,i):e},Bi.pullAt=er,Bi.range=ml,Bi.rangeRight=gl,Bi.rearg=Br,Bi.reject=function(e,t){return(Gr(e)?At:bn)(e,zr(ho(t,3)))},Bi.remove=function(e,t){var i=[];if(!e||!e.length)return i;var n=-1,s=[],o=e.length;for(t=ho(t,3);++n<o;){var r=e[n];t(r,n,e)&&(i.push(r),s.push(n))}return Yn(e,s),i},Bi.rest=function(e,t){if("function"!=typeof e)throw new ke(o);return Kn(e,t=t===s?t:ga(t))},Bi.reverse=tr,Bi.sampleSize=function(e,t,i){return t=(i?yo(e,t,i):t===s)?1:ga(t),(Gr(e)?Zi:Qn)(e,t)},Bi.set=function(e,t,i){return null==e?e:es(e,t,i)},Bi.setWith=function(e,t,i,n){return n="function"==typeof n?n:s,null==e?e:es(e,t,i,n)},Bi.shuffle=function(e){return(Gr(e)?Qi:ns)(e)},Bi.slice=function(e,t,i){var n=null==e?0:e.length;return n?(i&&"number"!=typeof i&&yo(e,t,i)?(t=0,i=n):(t=null==t?0:ga(t),i=i===s?n:ga(i)),ss(e,t,i)):[]},Bi.sortBy=xr,Bi.sortedUniq=function(e){return e&&e.length?ls(e):[]},Bi.sortedUniqBy=function(e,t){return e&&e.length?ls(e,ho(t,2)):[]},Bi.split=function(e,t,i){return i&&"number"!=typeof i&&yo(e,t,i)&&(t=i=s),(i=i===s?f:i>>>0)?(e=wa(e))&&("string"==typeof t||null!=t&&!ra(t))&&!(t=us(t))&&ai(e)?Es(mi(e),0,i):e.split(t,i):[]},Bi.spread=function(e,t){if("function"!=typeof e)throw new ke(o);return t=null==t?0:vi(ga(t),0),Kn((function(i){var n=i[t],s=Es(i,0,t);return n&&zt(s,n),St(e,this,s)}))},Bi.tail=function(e){var t=null==e?0:e.length;return t?ss(e,1,t):[]},Bi.take=function(e,t,i){return e&&e.length?ss(e,0,(t=i||t===s?1:ga(t))<0?0:t):[]},Bi.takeRight=function(e,t,i){var n=null==e?0:e.length;return n?ss(e,(t=n-(t=i||t===s?1:ga(t)))<0?0:t,n):[]},Bi.takeRightWhile=function(e,t){return e&&e.length?ms(e,ho(t,3),!1,!0):[]},Bi.takeWhile=function(e,t){return e&&e.length?ms(e,ho(t,3)):[]},Bi.tap=function(e,t){return t(e),e},Bi.throttle=function(e,t,i){var n=!0,s=!0;if("function"!=typeof e)throw new ke(o);return ta(i)&&(n="leading"in i?!!i.leading:n,s="trailing"in i?!!i.trailing:s),Ar(e,t,{leading:n,maxWait:t,trailing:s})},Bi.thru=mr,Bi.toArray=pa,Bi.toPairs=Ia,Bi.toPairsIn=Ba,Bi.toPath=function(e){return Gr(e)?Ft(e,No):ha(e)?[e]:ks(Ho(wa(e)))},Bi.toPlainObject=va,Bi.transform=function(e,t,i){var n=Gr(e),s=n||Jr(e)||ua(e);if(t=ho(t,4),null==i){var o=e&&e.constructor;i=s?n?new o:[]:ta(e)&&Zr(o)?Vi(Xe(e)):{}}return(s?Lt:yn)(e,(function(e,n,s){return t(i,e,n,s)})),i},Bi.unary=function(e){return Mr(e,1)},Bi.union=ir,Bi.unionBy=nr,Bi.unionWith=sr,Bi.uniq=function(e){return e&&e.length?cs(e):[]},Bi.uniqBy=function(e,t){return e&&e.length?cs(e,ho(t,2)):[]},Bi.uniqWith=function(e,t){return t="function"==typeof t?t:s,e&&e.length?cs(e,s,t):[]},Bi.unset=function(e,t){return null==e||ds(e,t)},Bi.unzip=or,Bi.unzipWith=rr,Bi.update=function(e,t,i){return null==e?e:ps(e,t,ws(i))},Bi.updateWith=function(e,t,i,n){return n="function"==typeof n?n:s,null==e?e:ps(e,t,ws(i),n)},Bi.values=Va,Bi.valuesIn=function(e){return null==e?[]:ei(e,Pa(e))},Bi.without=ar,Bi.words=Za,Bi.wrap=function(e,t){return Nr(ws(t),e)},Bi.xor=lr,Bi.xorBy=hr,Bi.xorWith=ur,Bi.zip=cr,Bi.zipObject=function(e,t){return bs(e||[],t||[],tn)},Bi.zipObjectDeep=function(e,t){return bs(e||[],t||[],es)},Bi.zipWith=dr,Bi.entries=Ia,Bi.entriesIn=Ba,Bi.extend=ya,Bi.extendWith=Ea,ll(Bi,Bi),Bi.add=vl,Bi.attempt=Qa,Bi.camelCase=Wa,Bi.capitalize=ja,Bi.ceil=wl,Bi.clamp=function(e,t,i){return i===s&&(i=t,t=s),i!==s&&(i=(i=ba(i))==i?i:0),t!==s&&(t=(t=ba(t))==t?t:0),ln(ba(e),t,i)},Bi.clone=function(e){return hn(e,4)},Bi.cloneDeep=function(e){return hn(e,5)},Bi.cloneDeepWith=function(e,t){return hn(e,5,t="function"==typeof t?t:s)},Bi.cloneWith=function(e,t){return hn(e,4,t="function"==typeof t?t:s)},Bi.conformsTo=function(e,t){return null==t||un(e,t,Aa(t))},Bi.deburr=Ua,Bi.defaultTo=function(e,t){return null==e||e!=e?t:e},Bi.divide=Cl,Bi.endsWith=function(e,t,i){e=wa(e),t=us(t);var n=e.length,o=i=i===s?n:ln(ga(i),0,n);return(i-=t.length)>=0&&e.slice(i,o)==t},Bi.eq=Vr,Bi.escape=function(e){return(e=wa(e))&&K.test(e)?e.replace(J,oi):e},Bi.escapeRegExp=function(e){return(e=wa(e))&&oe.test(e)?e.replace(se,"\\$&"):e},Bi.every=function(e,t,i){var n=Gr(e)?Dt:gn;return i&&yo(e,t,i)&&(t=s),n(e,ho(t,3))},Bi.find=br,Bi.findIndex=Uo,Bi.findKey=function(e,t){return Vt(e,ho(t,3),yn)},Bi.findLast=vr,Bi.findLastIndex=Go,Bi.findLastKey=function(e,t){return Vt(e,ho(t,3),En)},Bi.floor=yl,Bi.forEach=wr,Bi.forEachRight=Cr,Bi.forIn=function(e,t){return null==e?e:wn(e,ho(t,3),Pa)},Bi.forInRight=function(e,t){return null==e?e:Cn(e,ho(t,3),Pa)},Bi.forOwn=function(e,t){return e&&yn(e,ho(t,3))},Bi.forOwnRight=function(e,t){return e&&En(e,ho(t,3))},Bi.get=Sa,Bi.gt=Wr,Bi.gte=jr,Bi.has=function(e,t){return null!=e&&bo(e,t,Mn)},Bi.hasIn=Ma,Bi.head=Xo,Bi.identity=sl,Bi.includes=function(e,t,i,n){e=Xr(e)?e:Va(e),i=i&&!n?ga(i):0;var s=e.length;return i<0&&(i=vi(s+i,0)),la(e)?i<=s&&e.indexOf(t,i)>-1:!!s&&jt(e,t,i)>-1},Bi.indexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var s=null==i?0:ga(i);return s<0&&(s=vi(n+s,0)),jt(e,t,s)},Bi.inRange=function(e,t,i){return t=ma(t),i===s?(i=t,t=0):i=ma(i),function(e,t,i){return e>=wi(t,i)&&e<vi(t,i)}(e=ba(e),t,i)},Bi.invoke=Da,Bi.isArguments=Ur,Bi.isArray=Gr,Bi.isArrayBuffer=qr,Bi.isArrayLike=Xr,Bi.isArrayLikeObject=Yr,Bi.isBoolean=function(e){return!0===e||!1===e||ia(e)&&xn(e)==C},Bi.isBuffer=Jr,Bi.isDate=$r,Bi.isElement=function(e){return ia(e)&&1===e.nodeType&&!oa(e)},Bi.isEmpty=function(e){if(null==e)return!0;if(Xr(e)&&(Gr(e)||"string"==typeof e||"function"==typeof e.splice||Jr(e)||ua(e)||Ur(e)))return!e.length;var t=fo(e);if(t==T||t==k)return!e.size;if(To(e))return!Hn(e).length;for(var i in e)if(ze.call(e,i))return!1;return!0},Bi.isEqual=function(e,t){return Pn(e,t)},Bi.isEqualWith=function(e,t,i){var n=(i="function"==typeof i?i:s)?i(e,t):s;return n===s?Pn(e,t,s,i):!!n},Bi.isError=Kr,Bi.isFinite=function(e){return"number"==typeof e&&Ct(e)},Bi.isFunction=Zr,Bi.isInteger=Qr,Bi.isLength=ea,Bi.isMap=na,Bi.isMatch=function(e,t){return e===t||On(e,t,co(t))},Bi.isMatchWith=function(e,t,i){return i="function"==typeof i?i:s,On(e,t,co(t),i)},Bi.isNaN=function(e){return sa(e)&&e!=+e},Bi.isNative=function(e){if(_o(e))throw new _e("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Fn(e)},Bi.isNil=function(e){return null==e},Bi.isNull=function(e){return null===e},Bi.isNumber=sa,Bi.isObject=ta,Bi.isObjectLike=ia,Bi.isPlainObject=oa,Bi.isRegExp=ra,Bi.isSafeInteger=function(e){return Qr(e)&&e>=-9007199254740991&&e<=m},Bi.isSet=aa,Bi.isString=la,Bi.isSymbol=ha,Bi.isTypedArray=ua,Bi.isUndefined=function(e){return e===s},Bi.isWeakMap=function(e){return ia(e)&&fo(e)==P},Bi.isWeakSet=function(e){return ia(e)&&"[object WeakSet]"==xn(e)},Bi.join=function(e,t){return null==e?"":Bt.call(e,t)},Bi.kebabCase=Ga,Bi.last=Ko,Bi.lastIndexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var o=n;return i!==s&&(o=(o=ga(i))<0?vi(n+o,0):wi(o,n-1)),t==t?function(e,t,i){for(var n=i+1;n--;)if(e[n]===t)return n;return n}(e,t,o):Wt(e,Gt,o,!0)},Bi.lowerCase=qa,Bi.lowerFirst=Xa,Bi.lt=ca,Bi.lte=da,Bi.max=function(e){return e&&e.length?fn(e,sl,Sn):s},Bi.maxBy=function(e,t){return e&&e.length?fn(e,ho(t,2),Sn):s},Bi.mean=function(e){return qt(e,sl)},Bi.meanBy=function(e,t){return qt(e,ho(t,2))},Bi.min=function(e){return e&&e.length?fn(e,sl,In):s},Bi.minBy=function(e,t){return e&&e.length?fn(e,ho(t,2),In):s},Bi.stubArray=fl,Bi.stubFalse=bl,Bi.stubObject=function(){return{}},Bi.stubString=function(){return""},Bi.stubTrue=function(){return!0},Bi.multiply=Rl,Bi.nth=function(e,t){return e&&e.length?Un(e,ga(t)):s},Bi.noConflict=function(){return gt._===this&&(gt._=Ve),this},Bi.noop=hl,Bi.now=Sr,Bi.pad=function(e,t,i){e=wa(e);var n=(t=ga(t))?pi(e):0;if(!t||n>=t)return e;var s=(t-n)/2;return Gs(ft(s),i)+e+Gs(mt(s),i)},Bi.padEnd=function(e,t,i){e=wa(e);var n=(t=ga(t))?pi(e):0;return t&&n<t?e+Gs(t-n,i):e},Bi.padStart=function(e,t,i){e=wa(e);var n=(t=ga(t))?pi(e):0;return t&&n<t?Gs(t-n,i)+e:e},Bi.parseInt=function(e,t,i){return i||null==t?t=0:t&&(t=+t),yi(wa(e).replace(re,""),t||0)},Bi.random=function(e,t,i){if(i&&"boolean"!=typeof i&&yo(e,t,i)&&(t=i=s),i===s&&("boolean"==typeof t?(i=t,t=s):"boolean"==typeof e&&(i=e,e=s)),e===s&&t===s?(e=0,t=1):(e=ma(e),t===s?(t=e,e=0):t=ma(t)),e>t){var n=e;e=t,t=n}if(i||e%1||t%1){var o=Ei();return wi(e+o*(t-e+ct("1e-"+((o+"").length-1))),t)}return Jn(e,t)},Bi.reduce=function(e,t,i){var n=Gr(e)?Ht:Jt,s=arguments.length<3;return n(e,ho(t,4),i,s,pn)},Bi.reduceRight=function(e,t,i){var n=Gr(e)?Nt:Jt,s=arguments.length<3;return n(e,ho(t,4),i,s,mn)},Bi.repeat=function(e,t,i){return t=(i?yo(e,t,i):t===s)?1:ga(t),$n(wa(e),t)},Bi.replace=function(){var e=arguments,t=wa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Bi.result=function(e,t,i){var n=-1,o=(t=Cs(t,e)).length;for(o||(o=1,e=s);++n<o;){var r=null==e?s:e[No(t[n])];r===s&&(n=o,r=i),e=Zr(r)?r.call(e):r}return e},Bi.round=_l,Bi.runInContext=e,Bi.sample=function(e){return(Gr(e)?Ki:Zn)(e)},Bi.size=function(e){if(null==e)return 0;if(Xr(e))return la(e)?pi(e):e.length;var t=fo(e);return t==T||t==k?e.size:Hn(e).length},Bi.snakeCase=Ya,Bi.some=function(e,t,i){var n=Gr(e)?It:os;return i&&yo(e,t,i)&&(t=s),n(e,ho(t,3))},Bi.sortedIndex=function(e,t){return rs(e,t)},Bi.sortedIndexBy=function(e,t,i){return as(e,t,ho(i,2))},Bi.sortedIndexOf=function(e,t){var i=null==e?0:e.length;if(i){var n=rs(e,t);if(n<i&&Vr(e[n],t))return n}return-1},Bi.sortedLastIndex=function(e,t){return rs(e,t,!0)},Bi.sortedLastIndexBy=function(e,t,i){return as(e,t,ho(i,2),!0)},Bi.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var i=rs(e,t,!0)-1;if(Vr(e[i],t))return i}return-1},Bi.startCase=Ja,Bi.startsWith=function(e,t,i){return e=wa(e),i=null==i?0:ln(ga(i),0,e.length),t=us(t),e.slice(i,i+t.length)==t},Bi.subtract=Tl,Bi.sum=function(e){return e&&e.length?$t(e,sl):0},Bi.sumBy=function(e,t){return e&&e.length?$t(e,ho(t,2)):0},Bi.template=function(e,t,i){var n=Bi.templateSettings;i&&yo(e,t,i)&&(t=s),e=wa(e),t=Ea({},t,n,Qs);var o,r,a=Ea({},t.imports,n.imports,Qs),l=Aa(a),h=ei(a,l),u=0,c=t.interpolate||Ee,d="__p += '",p=Me((t.escape||Ee).source+"|"+c.source+"|"+(c===ee?me:Ee).source+"|"+(t.evaluate||Ee).source+"|$","g"),m="//# sourceURL="+(ze.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++at+"]")+"\n";e.replace(p,(function(t,i,n,s,a,l){return n||(n=s),d+=e.slice(u,l).replace(Re,ri),i&&(o=!0,d+="' +\n__e("+i+") +\n'"),a&&(r=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),d+="';\n";var g=ze.call(t,"variable")&&t.variable;if(g){if(de.test(g))throw new _e("Invalid `variable` option passed into `_.template`")}else d="with (obj) {\n"+d+"\n}\n";d=(r?d.replace(G,""):d).replace(q,"$1").replace(X,"$1;"),d="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(r?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var f=Qa((function(){return Te(l,m+"return "+d).apply(s,h)}));if(f.source=d,Kr(f))throw f;return f},Bi.times=function(e,t){if((e=ga(e))<1||e>m)return[];var i=f,n=wi(e,f);t=ho(t),e-=f;for(var s=Kt(n,t);++i<e;)t(i);return s},Bi.toFinite=ma,Bi.toInteger=ga,Bi.toLength=fa,Bi.toLower=function(e){return wa(e).toLowerCase()},Bi.toNumber=ba,Bi.toSafeInteger=function(e){return e?ln(ga(e),-9007199254740991,m):0===e?e:0},Bi.toString=wa,Bi.toUpper=function(e){return wa(e).toUpperCase()},Bi.trim=function(e,t,i){if((e=wa(e))&&(i||t===s))return Zt(e);if(!e||!(t=us(t)))return e;var n=mi(e),o=mi(t);return Es(n,ii(n,o),ni(n,o)+1).join("")},Bi.trimEnd=function(e,t,i){if((e=wa(e))&&(i||t===s))return e.slice(0,gi(e)+1);if(!e||!(t=us(t)))return e;var n=mi(e);return Es(n,0,ni(n,mi(t))+1).join("")},Bi.trimStart=function(e,t,i){if((e=wa(e))&&(i||t===s))return e.replace(re,"");if(!e||!(t=us(t)))return e;var n=mi(e);return Es(n,ii(n,mi(t))).join("")},Bi.truncate=function(e,t){var i=30,n="...";if(ta(t)){var o="separator"in t?t.separator:o;i="length"in t?ga(t.length):i,n="omission"in t?us(t.omission):n}var r=(e=wa(e)).length;if(ai(e)){var a=mi(e);r=a.length}if(i>=r)return e;var l=i-pi(n);if(l<1)return n;var h=a?Es(a,0,l).join(""):e.slice(0,l);if(o===s)return h+n;if(a&&(l+=h.length-l),ra(o)){if(e.slice(l).search(o)){var u,c=h;for(o.global||(o=Me(o.source,wa(ge.exec(o))+"g")),o.lastIndex=0;u=o.exec(c);)var d=u.index;h=h.slice(0,d===s?l:d)}}else if(e.indexOf(us(o),l)!=l){var p=h.lastIndexOf(o);p>-1&&(h=h.slice(0,p))}return h+n},Bi.unescape=function(e){return(e=wa(e))&&$.test(e)?e.replace(Y,fi):e},Bi.uniqueId=function(e){var t=++He;return wa(e)+t},Bi.upperCase=$a,Bi.upperFirst=Ka,Bi.each=wr,Bi.eachRight=Cr,Bi.first=Xo,ll(Bi,(El={},yn(Bi,(function(e,t){ze.call(Bi.prototype,t)||(El[t]=e)})),El),{chain:!1}),Bi.VERSION="4.17.21",Lt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Bi[e].placeholder=Bi})),Lt(["drop","take"],(function(e,t){Ui.prototype[e]=function(i){i=i===s?1:vi(ga(i),0);var n=this.__filtered__&&!t?new Ui(this):this.clone();return n.__filtered__?n.__takeCount__=wi(i,n.__takeCount__):n.__views__.push({size:wi(i,f),type:e+(n.__dir__<0?"Right":"")}),n},Ui.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Lt(["filter","map","takeWhile"],(function(e,t){var i=t+1,n=1==i||3==i;Ui.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ho(e,3),type:i}),t.__filtered__=t.__filtered__||n,t}})),Lt(["head","last"],(function(e,t){var i="take"+(t?"Right":"");Ui.prototype[e]=function(){return this[i](1).value()[0]}})),Lt(["initial","tail"],(function(e,t){var i="drop"+(t?"":"Right");Ui.prototype[e]=function(){return this.__filtered__?new Ui(this):this[i](1)}})),Ui.prototype.compact=function(){return this.filter(sl)},Ui.prototype.find=function(e){return this.filter(e).head()},Ui.prototype.findLast=function(e){return this.reverse().find(e)},Ui.prototype.invokeMap=Kn((function(e,t){return"function"==typeof e?new Ui(this):this.map((function(i){return Dn(i,e,t)}))})),Ui.prototype.reject=function(e){return this.filter(zr(ho(e)))},Ui.prototype.slice=function(e,t){e=ga(e);var i=this;return i.__filtered__&&(e>0||t<0)?new Ui(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==s&&(i=(t=ga(t))<0?i.dropRight(-t):i.take(t-e)),i)},Ui.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ui.prototype.toArray=function(){return this.take(f)},yn(Ui.prototype,(function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=Bi[n?"take"+("last"==t?"Right":""):t],r=n||/^find/.test(t);o&&(Bi.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,l=t instanceof Ui,h=a[0],u=l||Gr(t),c=function(e){var t=o.apply(Bi,zt([e],a));return n&&d?t[0]:t};u&&i&&"function"==typeof h&&1!=h.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,m=r&&!d,g=l&&!p;if(!r&&u){t=g?t:new Ui(this);var f=e.apply(t,a);return f.__actions__.push({func:mr,args:[c],thisArg:s}),new ji(f,d)}return m&&g?e.apply(this,a):(f=this.thru(c),m?n?f.value()[0]:f.value():f)})})),Lt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=De[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);Bi.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var s=this.value();return t.apply(Gr(s)?s:[],e)}return this[i]((function(i){return t.apply(Gr(i)?i:[],e)}))}})),yn(Ui.prototype,(function(e,t){var i=Bi[t];if(i){var n=i.name+"";ze.call(Di,n)||(Di[n]=[]),Di[n].push({name:t,func:i})}})),Di[Vs(s,2).name]=[{name:"wrapper",func:s}],Ui.prototype.clone=function(){var e=new Ui(this.__wrapped__);return e.__actions__=ks(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ks(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ks(this.__views__),e},Ui.prototype.reverse=function(){if(this.__filtered__){var e=new Ui(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Ui.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,i=Gr(e),n=t<0,s=i?e.length:0,o=function(e,t,i){var n=-1,s=i.length;for(;++n<s;){var o=i[n],r=o.size;switch(o.type){case"drop":e+=r;break;case"dropRight":t-=r;break;case"take":t=wi(t,e+r);break;case"takeRight":e=vi(e,t-r)}}return{start:e,end:t}}(0,s,this.__views__),r=o.start,a=o.end,l=a-r,h=n?a:r-1,u=this.__iteratees__,c=u.length,d=0,p=wi(l,this.__takeCount__);if(!i||!n&&s==l&&p==l)return gs(e,this.__actions__);var m=[];e:for(;l--&&d<p;){for(var g=-1,f=e[h+=t];++g<c;){var b=u[g],v=b.iteratee,w=b.type,C=v(f);if(2==w)f=C;else if(!C){if(1==w)continue e;break e}}m[d++]=f}return m},Bi.prototype.at=gr,Bi.prototype.chain=function(){return pr(this)},Bi.prototype.commit=function(){return new ji(this.value(),this.__chain__)},Bi.prototype.next=function(){this.__values__===s&&(this.__values__=pa(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?s:this.__values__[this.__index__++]}},Bi.prototype.plant=function(e){for(var t,i=this;i instanceof Wi;){var n=Bo(i);n.__index__=0,n.__values__=s,t?o.__wrapped__=n:t=n;var o=n;i=i.__wrapped__}return o.__wrapped__=e,t},Bi.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Ui){var t=e;return this.__actions__.length&&(t=new Ui(this)),(t=t.reverse()).__actions__.push({func:mr,args:[tr],thisArg:s}),new ji(t,this.__chain__)}return this.thru(tr)},Bi.prototype.toJSON=Bi.prototype.valueOf=Bi.prototype.value=function(){return gs(this.__wrapped__,this.__actions__)},Bi.prototype.first=Bi.prototype.head,Ze&&(Bi.prototype[Ze]=function(){return this}),Bi}();gt._=bi,(n=function(){return bi}.call(t,i,t,e))===s||(e.exports=n)}.call(this)},7771:(e,t,i)=>{var n=i(5639);e.exports=function(){return n.Date.now()}},4841:(e,t,i)=>{var n=i(7561),s=i(3218),o=i(3448),r=NaN,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,h=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return r;if(s(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=s(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var i=l.test(e);return i||h.test(e)?u(e.slice(2),i?2:8):a.test(e)?r:+e}}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.loaded=!0,o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{"use strict";class e{constructor(e){this.table=e}reloadData(e,t,i){return this.table.dataLoader.load(e,void 0,void 0,void 0,t,i)}langText(){return this.table.modules.localize.getText(...arguments)}langBind(){return this.table.modules.localize.bind(...arguments)}langLocale(){return this.table.modules.localize.getLocale(...arguments)}commsConnections(){return this.table.modules.comms.getConnections(...arguments)}commsSend(){return this.table.modules.comms.send(...arguments)}layoutMode(){return this.table.modules.layout.getMode()}layoutRefresh(e){return this.table.modules.layout.layout(e)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(e){return this.table.eventBus.subscribed(e)}subscriptionChange(){return this.table.eventBus.subscriptionChange(...arguments)}dispatch(){return this.table.eventBus.dispatch(...arguments)}chain(){return this.table.eventBus.chain(...arguments)}confirm(){return this.table.eventBus.confirm(...arguments)}dispatchExternal(){return this.table.externalEvents.dispatch(...arguments)}subscribedExternal(e){return this.table.externalEvents.subscribed(e)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(e){return this.table.options[e]}setOption(e,t){return void 0!==t&&(this.table.options[e]=t),this.table.options[e]}deprecationCheck(e,t,i){return this.table.deprecationAdvisor.check(e,t,i)}deprecationCheckMsg(e,t){return this.table.deprecationAdvisor.checkMsg(e,t)}deprecationMsg(e){return this.table.deprecationAdvisor.msg(e)}module(e){return this.table.module(e)}}class t{static elVisible(e){return!(e.offsetWidth<=0&&e.offsetHeight<=0)}static elOffset(e){var t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset-document.documentElement.clientTop,left:t.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(e,t,i){var n,s=e?t.split(e):[t],o=s.length;for(let e=0;e<o&&(n=i=i[s[e]],i);e++);return n}static deepClone(e,t,i=[]){var n={}.__proto__,s=[].__proto__;for(var o in t||(t=Object.assign(Array.isArray(e)?[]:{},e)),e){let r,a,l=e[o];null==l||"object"!=typeof l||l.__proto__!==n&&l.__proto__!==s||(r=i.findIndex((e=>e.subject===l)),r>-1?t[o]=i[r].copy:(a=Object.assign(Array.isArray(l)?[]:{},l),i.unshift({subject:l,copy:a}),t[o]=this.deepClone(l,a,i)))}return t}}let n=class i extends e{constructor(e,t,i){super(e),this.element=t,this.container=this._lookupContainer(),this.parent=i,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var e=this.table.options.popupContainer;return"string"==typeof e?(e=document.querySelector(e))||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)"):!0===e&&(e=this.table.element),e&&!this._checkContainerIsParent(e)&&(e=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),e||(e=document.body),e}_checkContainerIsParent(e,t=this.table.element){return e===t||!!t.parentNode&&this._checkContainerIsParent(e,t.parentNode)}renderCallback(e){this.renderedCallback=e}containerEventCoords(e){var i=!(e instanceof MouseEvent),n=i?e.touches[0].pageX:e.pageX,s=i?e.touches[0].pageY:e.pageY;if(this.container!==document.body){let e=t.elOffset(this.container);n-=e.left,s-=e.top}return{x:n,y:s}}elementPositionCoords(e,i="right"){var n,s,o,r=t.elOffset(e);switch(this.container!==document.body&&(n=t.elOffset(this.container),r.left-=n.left,r.top-=n.top),i){case"right":s=r.left+e.offsetWidth,o=r.top-1;break;case"bottom":s=r.left,o=r.top+e.offsetHeight;break;case"left":s=r.left,o=r.top-1;break;case"top":s=r.left,o=r.top;break;case"center":s=r.left+e.offsetWidth/2,o=r.top+e.offsetHeight/2}return{x:s,y:o,offset:r}}show(e,t){var i,n,s,o,r;return this.destroyed||this.table.destroyed||(e instanceof HTMLElement?(s=e,o=(r=this.elementPositionCoords(e,t)).offset,i=r.x,n=r.y):"number"==typeof e?(o={top:0,left:0},i=e,n=t):(i=(r=this.containerEventCoords(e)).x,n=r.y,this.reversedX=!1),this.element.style.top=n+"px",this.element.style.left=i+"px",this.container.appendChild(this.element),"function"==typeof this.renderedCallback&&this.renderedCallback(),this._fitToScreen(i,n,s,o,t),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",(e=>{e.stopPropagation()}))),this}_fitToScreen(e,t,i,n,s){var o=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;if((e+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",this.element.style.right=i?this.container.offsetWidth-n.left+"px":this.container.offsetWidth-e+"px",this.reversedX=!0),t+this.element.offsetHeight>Math.max(this.container.offsetHeight,o?this.container.scrollHeight:0))if(i)if("bottom"===s)this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-i.offsetHeight-1+"px";else this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+i.offsetHeight+1+"px";else this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+"px"}isVisible(){return this.visible}hideOnBlur(e){return this.blurable=!0,this.visible&&(setTimeout((()=>{this.visible&&(this.table.rowManager.element.addEventListener("scroll",this.blurEvent),this.subscribe("cell-editing",this.blurEvent),document.body.addEventListener("click",this.blurEvent),document.body.addEventListener("contextmenu",this.blurEvent),document.body.addEventListener("mousedown",this.blurEvent),window.addEventListener("resize",this.blurEvent),document.body.addEventListener("keydown",this.escEvent),this.blurEventsBound=!0)}),100),this.blurCallback=e),this}_escapeCheck(e){27==e.keyCode&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(e=!1){return this.visible&&this.hideable&&(this.blurable&&this.blurEventsBound&&(document.body.removeEventListener("keydown",this.escEvent),document.body.removeEventListener("click",this.blurEvent),document.body.removeEventListener("contextmenu",this.blurEvent),document.body.removeEventListener("mousedown",this.blurEvent),window.removeEventListener("resize",this.blurEvent),this.table.rowManager.element.removeEventListener("scroll",this.blurEvent),this.unsubscribe("cell-editing",this.blurEvent),this.blurEventsBound=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!e&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(e){return this.childPopup&&this.childPopup.hide(),this.childPopup=new i(this.table,e,this),this.childPopup}};class s extends e{constructor(e,t){super(e),this._handler=null}initialize(){}registerTableOption(e,t){this.table.optionsList.register(e,t)}registerColumnOption(e,t){this.table.columnManager.optionsList.register(e,t)}registerTableFunction(e,t){void 0===this.table[e]?this.table[e]=(...i)=>(this.table.initGuard(e),t(...i)):console.warn("Unable to bind table function, name already in use",e)}registerComponentFunction(e,t,i){return this.table.componentFunctionBinder.bind(e,t,i)}registerDataHandler(e,t){this.table.rowManager.registerDataPipelineHandler(e,t),this._handler=e}registerDisplayHandler(e,t){this.table.rowManager.registerDisplayPipelineHandler(e,t),this._handler=e}displayRows(e){var t,i=this.table.rowManager.displayRows.length-1;if(this._handler&&(t=this.table.rowManager.displayPipeline.findIndex((e=>e.handler===this._handler)))>-1&&(i=t),e&&(i+=e),this._handler)return i>-1?this.table.rowManager.getDisplayRows(i):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(e,t){t||(t=this._handler),t&&this.table.rowManager.refreshActiveData(t,!1,e)}footerAppend(e){return this.table.footerManager.append(e)}footerPrepend(e){return this.table.footerManager.prepend(e)}footerRemove(e){return this.table.footerManager.remove(e)}popup(e,t){return new n(this.table,e,t)}alert(e,t){return this.table.alertManager.alert(e,t)}clearAlert(){return this.table.alertManager.clear()}}var o={rownum:function(e,t,i,n,s,o){return o.getPosition()}};class r extends s{static moduleName="accessor";static accessors=o;constructor(e){super(e),this.allowedTypes=["","data","download","clipboard","print","htmlOutput"],this.registerColumnOption("accessor"),this.registerColumnOption("accessorParams"),this.registerColumnOption("accessorData"),this.registerColumnOption("accessorDataParams"),this.registerColumnOption("accessorDownload"),this.registerColumnOption("accessorDownloadParams"),this.registerColumnOption("accessorClipboard"),this.registerColumnOption("accessorClipboardParams"),this.registerColumnOption("accessorPrint"),this.registerColumnOption("accessorPrintParams"),this.registerColumnOption("accessorHtmlOutput"),this.registerColumnOption("accessorHtmlOutputParams")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-retrieve",this.transformRow.bind(this))}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach((n=>{var s,o="accessor"+(n.charAt(0).toUpperCase()+n.slice(1));e.definition[o]&&(s=this.lookupAccessor(e.definition[o]))&&(t=!0,i[o]={accessor:s,params:e.definition[o+"Params"]||{}})})),t&&(e.modules.accessor=i)}lookupAccessor(e){var t=!1;switch(typeof e){case"string":r.accessors[e]?t=r.accessors[e]:console.warn("Accessor Error - No such accessor found, ignoring: ",e);break;case"function":t=e}return t}transformRow(e,i){var n="accessor"+(i.charAt(0).toUpperCase()+i.slice(1)),s=e.getComponent(),o=t.deepClone(e.data||{});return this.table.columnManager.traverse((function(e){var t,r,a,l;e.modules.accessor&&(r=e.modules.accessor[n]||e.modules.accessor.accessor||!1)&&"undefined"!=(t=e.getFieldValue(o))&&(l=e.getComponent(),a="function"==typeof r.params?r.params(t,o,i,l,s):r.params,e.setFieldValue(o,r.accessor(t,o,i,a,l,s)))})),o}}var a={method:"GET"};function l(e,t){var i=[];if(t=t||"",Array.isArray(e))e.forEach(((e,n)=>{i=i.concat(l(e,t?t+"["+n+"]":n))}));else if("object"==typeof e)for(var n in e)i=i.concat(l(e[n],t?t+"["+n+"]":n));else i.push({key:t,value:e});return i}function h(e){var t=l(e),i=[];return t.forEach((function(e){i.push(encodeURIComponent(e.key)+"="+encodeURIComponent(e.value))})),i.join("&")}function u(e,t,i){return e&&i&&Object.keys(i).length&&(t.method&&"get"!=t.method.toLowerCase()||(t.method="get",e+=(e.includes("?")?"&":"?")+h(i))),e}function c(e,t,i){var n;return new Promise(((s,o)=>{if(e=this.urlGenerator.call(this.table,e,t,i),"GET"!=t.method.toUpperCase())if(n="object"==typeof this.table.options.ajaxContentType?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType]){for(var r in n.headers)t.headers||(t.headers={}),void 0===t.headers[r]&&(t.headers[r]=n.headers[r]);t.body=n.body.call(this,e,t,i)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType);e?(void 0===t.headers&&(t.headers={}),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),void 0===t.headers["X-Requested-With"]&&(t.headers["X-Requested-With"]="XMLHttpRequest"),void 0===t.mode&&(t.mode="cors"),"cors"==t.mode?(void 0===t.headers.Origin&&(t.headers.Origin=window.location.origin),void 0===t.credentials&&(t.credentials="same-origin")):void 0===t.credentials&&(t.credentials="include"),fetch(e,t).then((e=>{e.ok?e.json().then((e=>{s(e)})).catch((e=>{o(e),console.warn("Ajax Load Error - Invalid JSON returned",e)})):(console.error("Ajax Load Error - Connection Error: "+e.status,e.statusText),o(e))})).catch((e=>{console.error("Ajax Load Error - Connection Error: ",e),o(e)}))):(console.warn("Ajax Load Error - No URL Set"),s([]))}))}function d(e,t){var i=[];if(t=t||"",Array.isArray(e))e.forEach(((e,n)=>{i=i.concat(d(e,t?t+"["+n+"]":n))}));else if("object"==typeof e)for(var n in e)i=i.concat(d(e[n],t?t+"["+n+"]":n));else i.push({key:t,value:e});return i}var p={json:{headers:{"Content-Type":"application/json"},body:function(e,t,i){return JSON.stringify(i)}},form:{headers:{},body:function(e,t,i){var n=d(i),s=new FormData;return n.forEach((function(e){s.append(e.key,e.value)})),s}}};class m extends s{static moduleName="ajax";static defaultConfig=a;static defaultURLGenerator=u;static defaultLoaderPromise=c;static contentTypeFormatters=p;constructor(e){super(e),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",(function(){})),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=m.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||m.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||m.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction("getAjaxUrl",this.getUrl.bind(this)),this.subscribe("data-loading",this.requestDataCheck.bind(this)),this.subscribe("data-params",this.requestParams.bind(this)),this.subscribe("data-load",this.requestData.bind(this))}requestParams(e,t,i,n){var s=this.table.options.ajaxParams;return s&&("function"==typeof s&&(s=s.call(this.table)),n=Object.assign(Object.assign({},s),n)),n}requestDataCheck(e,t,i,n){return!((e||!this.url)&&"string"!=typeof e)}requestData(e,t,i,n,s){var o;return!s&&this.requestDataCheck(e)?(e&&this.setUrl(e),o=this.generateConfig(i),this.sendRequest(this.url,t,o)):s}setDefaultConfig(e={}){this.config=Object.assign({},m.defaultConfig),"string"==typeof e?this.config.method=e:Object.assign(this.config,e)}generateConfig(e={}){var t=Object.assign({},this.config);return"string"==typeof e?t.method=e:Object.assign(t,e),t}setUrl(e){this.url=e}getUrl(){return this.url}sendRequest(e,t,i){return!1!==this.table.options.ajaxRequesting.call(this.table,e,t)?this.loaderPromise(e,i,t).then((i=>(this.table.options.ajaxResponse&&(i=this.table.options.ajaxResponse.call(this.table,e,t,i)),i))):Promise.reject()}}var g={replace:function(e){return this.table.setData(e)},update:function(e){return this.table.updateOrAddData(e)},insert:function(e){return this.table.addData(e)}},f={table:function(e){var t=[],i=!0,n=this.table.columnManager.columns,s=[],o=[];return(e=e.split("\n")).forEach((function(e){t.push(e.split("\t"))})),!(!t.length||1===t.length&&t[0].length<2)&&(t[0].forEach((function(e){var t=n.find((function(t){return e&&t.definition.title&&e.trim()&&t.definition.title.trim()===e.trim()}));t?s.push(t):i=!1})),i||(i=!0,s=[],t[0].forEach((function(e){var t=n.find((function(t){return e&&t.field&&e.trim()&&t.field.trim()===e.trim()}));t?s.push(t):i=!1})),i||(s=this.table.columnManager.columnsByIndex)),i&&t.shift(),t.forEach((function(e){var t={};e.forEach((function(e,i){s[i]&&(t[s[i].field]=e)})),o.push(t)})),o)}},b={keybindings:{bindings:{copyToClipboard:["ctrl + 67","meta + 67"]},actions:{copyToClipboard:function(e){this.table.modules.edit.currentCell||this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}}}};class v extends s{static moduleName="clipboard";static moduleExtensions=b;static pasteActions=g;static pasteParsers=f;constructor(e){super(e),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),this.registerTableOption("clipboardCopyRowRange","active"),this.registerTableOption("clipboardPasteParser","table"),this.registerTableOption("clipboardPasteAction","insert"),this.registerColumnOption("clipboard"),this.registerColumnOption("titleClipboard")}initialize(){this.mode=this.table.options.clipboard,this.rowRange=this.table.options.clipboardCopyRowRange,!0!==this.mode&&"copy"!==this.mode||this.table.element.addEventListener("copy",(e=>{var t,i,n;this.blocked||(e.preventDefault(),this.customSelection?(t=this.customSelection,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t))):(n=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),t=(i=this.table.modules.export.generateHTMLTable(n))?this.generatePlainContent(n):"",this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t),i=this.table.options.clipboardCopyFormatter("html",i))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",t):e.clipboardData&&e.clipboardData.setData?(e.clipboardData.setData("text/plain",t),i&&e.clipboardData.setData("text/html",i)):e.originalEvent&&e.originalEvent.clipboardData.setData&&(e.originalEvent.clipboardData.setData("text/plain",t),i&&e.originalEvent.clipboardData.setData("text/html",i)),this.dispatchExternal("clipboardCopied",t,i),this.reset())})),!0!==this.mode&&"paste"!==this.mode||this.table.element.addEventListener("paste",(e=>{this.paste(e)})),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(e){var t=[];return e.forEach((e=>{var i=[];e.columns.forEach((t=>{var n="";if(t)if("group"===e.type&&(t.value=t.component.getKey()),null===t.value)n="";else switch(typeof t.value){case"object":n=JSON.stringify(t.value);break;case"undefined":n="";break;default:n=t.value}i.push(n)})),t.push(i.join("\t"))})),t.join("\n")}copy(e,t){var i,n;this.blocked=!1,this.customSelection=!1,!0!==this.mode&&"copy"!==this.mode||(this.rowRange=e||this.table.options.clipboardCopyRowRange,void 0!==window.getSelection&&void 0!==document.createRange?((e=document.createRange()).selectNodeContents(this.table.element),(i=window.getSelection()).toString()&&t&&(this.customSelection=i.toString()),i.removeAllRanges(),i.addRange(e)):void 0!==document.selection&&void 0!==document.body.createTextRange&&((n=document.body.createTextRange()).moveToElementText(this.table.element),n.select()),document.execCommand("copy"),i&&i.removeAllRanges())}setPasteAction(e){switch(typeof e){case"string":this.pasteAction=v.pasteActions[e],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",e);break;case"function":this.pasteAction=e}}setPasteParser(e){switch(typeof e){case"string":this.pasteParser=v.pasteParsers[e],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",e);break;case"function":this.pasteParser=e}}paste(e){var t,i,n;this.checkPasteOrigin(e)&&(t=this.getPasteData(e),(i=this.pasteParser.call(this,t))?(e.preventDefault(),this.table.modExists("mutator")&&(i=this.mutateData(i)),n=this.pasteAction.call(this,i),this.dispatchExternal("clipboardPasted",t,i,n)):this.dispatchExternal("clipboardPasteError",t))}mutateData(e){var t=[];return Array.isArray(e)?e.forEach((e=>{t.push(this.table.modules.mutator.transformRow(e,"clipboard"))})):t=e,t}checkPasteOrigin(e){var t=!0;return!this.confirm("clipboard-paste",[e])&&["DIV","SPAN"].includes(e.target.tagName)||(t=!1),t}getPasteData(e){var t;return window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?t=e.clipboardData.getData("text/plain"):e.originalEvent&&e.originalEvent.clipboardData.getData&&(t=e.originalEvent.clipboardData.getData("text/plain")),t}}class w{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._row.table.componentFunctionBinder.handle("row",e._row,t)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var e=[];return this._row.getCells().forEach((function(t){e.push(t.getComponent())})),e}getCell(e){var t=this._row.getCell(e);return!!t&&t.getComponent()}_getSelf(){return this._row}}class C{constructor(e){return this._cell=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._cell.table.componentFunctionBinder.handle("cell",e._cell,t)}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(e){return this._cell.row.getData(e)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(e,t){void 0===t&&(t=!0),this._cell.setValue(e,t)}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue())}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue)}checkHeight(){this._cell.checkHeight()}getTable(){return this._cell.table}_getSelf(){return this._cell}}class y extends e{constructor(e,t){super(e.table),this.table=e.table,this.column=e,this.row=t,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,this.build()}build(){this.generateElement(),this.setWidth(),this._configureCell(),this.setValueActual(this.column.getFieldValue(this.row.data)),this.initialValue=this.value}generateElement(){this.element=document.createElement("div"),this.element.className="tabulator-cell",this.element.setAttribute("role","gridcell"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var e=this.element,t=this.column.getField();(e.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(e.style.display="inline-flex",e.style.alignItems={top:"flex-start",bottom:"flex-end",middle:"center"}[this.column.vertAlign]||"",this.column.hozAlign&&(e.style.justifyContent={left:"flex-start",right:"flex-end",center:"center"}[this.column.hozAlign]||"")),t&&e.setAttribute("tabulator-field",t),this.column.definition.cssClass)&&this.column.definition.cssClass.split(" ").forEach((t=>{e.classList.add(t)}));this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var e;switch(typeof(e=this.chain("cell-format",this,null,(()=>this.element.innerHTML=this.value)))){case"object":if(e instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(e)}else this.element.innerHTML="",null!=e&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",e);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=e}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(e){return this.loaded||(this.loaded=!0,e||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(e,t,i){this.setValueProcessData(e,t,i)&&(this.dispatch("cell-value-updated",this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal("cellEdited",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()))}setValueProcessData(e,t,i){var n=!1;return(this.value!==e||i)&&(n=!0,t&&(e=this.chain("cell-value-changing",[this,e],null,e))),this.setValueActual(e),n&&this.dispatch("cell-value-changed",this),n}setValueActual(e){this.oldValue=this.value,this.value=e,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,e),this.dispatch("cell-value-save-after",this),this.loaded&&this.layoutElement()}layoutElement(){this._generateContents(),this.dispatch("cell-layout",this)}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled}clearWidth(){this.width="",this.element.style.width=""}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled}checkHeight(){this.row.reinitializeHeight()}clearHeight(){this.element.style.height="",this.height=null,this.dispatch("cell-height",this,"")}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch("cell-height",this,this.row.heightStyled)}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?"inline-flex":""}hide(){this.element.style.display="none"}delete(){this.dispatch("cell-delete",this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new C(this)),this.component}}class E{constructor(e){return this._column=e,this.type="ColumnComponent",new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._column.table.componentFunctionBinder.handle("column",e._column,t)}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var e=[];return this._column.cells.forEach((function(t){e.push(t.getComponent())})),e}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach((function(e){e.show()})):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach((function(e){e.hide()})):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var e=[];return this._column.columns.length&&this._column.columns.forEach((function(t){e.push(t.getComponent())})),e}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(e,t){return this._column.table.columnManager.scrollToColumn(this._column,e,t)}getTable(){return this._column.table}move(e,t){var i=this._column.table.columnManager.findColumn(e);i?this._column.table.columnManager.moveColumn(this._column,i,t):console.warn("Move Error - No matching column found:",i)}getNextColumn(){var e=this._column.nextColumn();return!!e&&e.getComponent()}getPrevColumn(){var e=this._column.prevColumn();return!!e&&e.getComponent()}updateDefinition(e){return this._column.updateDefinition(e)}getWidth(){return this._column.getWidth()}setWidth(e){var t;return t=!0===e?this._column.reinitializeWidth(!0):this._column.setWidth(e),this._column.table.columnManager.rerenderColumns(!0),t}}var R={title:void 0,field:void 0,columns:void 0,visible:void 0,hozAlign:void 0,vertAlign:void 0,width:void 0,minWidth:40,maxWidth:void 0,maxInitialWidth:void 0,cssClass:void 0,variableHeight:void 0,headerVertical:void 0,headerHozAlign:void 0,headerWordWrap:!1,editableTitle:void 0};class _ extends e{static defaultOptionList=R;constructor(e,t,i){super(t.table),this.definition=e,this.parent=t,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=i,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,this.mapDefinitions(),this.setField(this.definition.field),this.modules={},this.width=null,this.widthStyled="",this.maxWidth=null,this.maxWidthStyled="",this.maxInitialWidth=null,this.minWidth=null,this.minWidthStyled="",this.widthFixed=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach(((e,t)=>{var i=new _(e,this);this.attachColumn(i)})),this.checkColumnVisibility()):t.registerColumnField(this),this._initialize()}createElement(){var e=document.createElement("div");switch(e.classList.add("tabulator-col"),e.setAttribute("role","columnheader"),e.setAttribute("aria-sort","none"),this.isRowHeader&&e.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":e.style.justifyContent="center";break;case"bottom":e.style.justifyContent="flex-end"}return e}createGroupElement(){var e=document.createElement("div");return e.classList.add("tabulator-col-group-cols"),e}mapDefinitions(){var e=this.table.options.columnDefaults;if(e)for(let t in e)void 0===this.definition[t]&&(this.definition[t]=e[t]);this.definition=this.table.columnManager.optionsList.generate(_.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach((e=>{-1===_.defaultOptionList.indexOf(e)&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",e)}))}setField(e){this.field=e,this.fieldStructure=e?this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator):[e]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(e){this.parent.registerColumnPosition(e)}registerColumnField(e){this.parent.registerColumnField(e)}reRegisterPosition(){this.isGroup?this.columns.forEach((function(e){e.reRegisterPosition()})):this.registerColumnPosition(this)}_initialize(){for(var e=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);e.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),"flip"===e.headerVertical&&this.element.classList.add("tabulator-col-vertical-flip")),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch("column-init",this)}_buildColumnHeader(){var e=this.definition;(this.dispatch("column-layout",this),void 0!==e.visible&&(e.visible?this.show(!0):this.hide(!0)),e.cssClass)&&e.cssClass.split(" ").forEach((e=>{this.element.classList.add(e)}));e.field&&this.element.setAttribute("tabulator-field",e.field),this.setMinWidth(parseInt(e.minWidth)),e.maxInitialWidth&&(this.maxInitialWidth=parseInt(e.maxInitialWidth)),e.maxWidth&&this.setMaxWidth(parseInt(e.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var e=document.createElement("div");return e.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),e.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),e}_buildColumnHeaderTitle(){var e=this.definition,t=document.createElement("div");if(t.classList.add("tabulator-col-title"),e.headerWordWrap&&t.classList.add("tabulator-col-title-wrap"),e.editableTitle){var i=document.createElement("input");i.classList.add("tabulator-title-editor"),i.addEventListener("click",(e=>{e.stopPropagation(),i.focus()})),i.addEventListener("mousedown",(e=>{e.stopPropagation()})),i.addEventListener("change",(()=>{e.title=i.value,this.dispatchExternal("columnTitleChanged",this.getComponent())})),t.appendChild(i),e.field?this.langBind("columns|"+e.field,(t=>{i.value=t||e.title||"&nbsp;"})):i.value=e.title||"&nbsp;"}else e.field?this.langBind("columns|"+e.field,(i=>{this._formatColumnHeaderTitle(t,i||e.title||"&nbsp;")})):this._formatColumnHeaderTitle(t,e.title||"&nbsp;");return t}_formatColumnHeaderTitle(e,t){var i=this.chain("column-format",[this,t,e],null,(()=>t));switch(typeof i){case"object":i instanceof Node?e.appendChild(i):(e.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",i));break;case"undefined":e.innerHTML="";break;default:e.innerHTML=i}}_buildGroupHeader(){(this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass)&&this.definition.cssClass.split(" ").forEach((e=>{this.element.classList.add(e)}));this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(e){return e[this.field]}_getNestedData(e){var t,i=e,n=this.fieldStructure,s=n.length;for(let e=0;e<s&&(t=i=i[n[e]],i);e++);return t}_setFlatData(e,t){this.field&&(e[this.field]=t)}_setNestedData(e,t){var i=e,n=this.fieldStructure,s=n.length;for(let e=0;e<s;e++)if(e==s-1)i[n[e]]=t;else{if(!i[n[e]]){if(void 0===t)break;i[n[e]]={}}i=i[n[e]]}}attachColumn(e){this.groupElement?(this.columns.push(e),this.groupElement.appendChild(e.getElement()),e.columnRendered()):console.warn("Column Warning - Column being attached to another column instead of column group")}verticalAlign(e,t){var i=this.parent.isGroup?this.parent.getGroupElement().clientHeight:t||this.parent.getHeadersElement().clientHeight;this.element.style.height=i+"px",this.dispatch("column-height",this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=i-this.contentElement.offsetHeight+"px"),this.columns.forEach((function(t){t.verticalAlign(e)}))}clearVerticalAlign(){this.element.style.paddingTop="",this.element.style.height="",this.element.style.minHeight="",this.groupElement.style.minHeight="",this.columns.forEach((function(e){e.clearVerticalAlign()})),this.dispatch("column-height",this,"")}getElement(){return this.element}getGroupElement(){return this.groupElement}getField(){return this.field}getTitleDownload(){return this.titleDownload}getFirstColumn(){return this.isGroup?!!this.columns.length&&this.columns[0].getFirstColumn():this}getLastColumn(){return this.isGroup?!!this.columns.length&&this.columns[this.columns.length-1].getLastColumn():this}getColumns(e){var t=[];return e?this.columns.forEach((e=>{t.push(e),t=t.concat(e.getColumns(!0))})):t=this.columns,t}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(e){var t=[];return this.isGroup&&e&&(this.columns.forEach((function(e){t.push(e.getDefinition(!0))})),this.definition.columns=t),this.definition}checkColumnVisibility(){var e=!1;this.columns.forEach((function(t){t.visible&&(e=!0)})),e?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(e,t){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(e){e.show()})),this.isGroup||null!==this.width||this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(e,t){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(e){e.hide()})),this.dispatch("column-hide",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var e=0;this.contentElement&&this.columns.length&&(this.columns.forEach((function(t){t.visible&&(e+=t.getWidth())})),this.contentElement.style.maxWidth=e-1+"px",this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(e){var t=this.columns.indexOf(e);t>-1&&this.columns.splice(t,1),this.columns.length||this.delete()}setWidth(e){this.widthFixed=!0,this.setWidthActual(e)}setWidthActual(e){isNaN(e)&&(e=Math.floor(this.table.element.clientWidth/100*parseInt(e))),e=Math.max(this.minWidth,e),this.maxWidth&&(e=Math.min(this.maxWidth,e)),this.width=e,this.widthStyled=e?e+"px":"",this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach((function(e){e.setWidth()})),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch("column-width",this),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var e=[];this.cells.forEach((function(t){t.row.heightInitialized&&(null!==t.row.getElement().offsetParent?(e.push(t.row),t.row.clearCellHeight()):t.row.heightInitialized=!1)})),e.forEach((function(e){e.calcHeight()})),e.forEach((function(e){e.setCellHeight()}))}getWidth(){var e=0;return this.isGroup?this.columns.forEach((function(t){t.visible&&(e+=t.getWidth())})):e=this.width,e}getLeftOffset(){var e=this.element.offsetLeft;return this.parent.isGroup&&(e+=this.parent.getLeftOffset()),e}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(e){this.maxWidth&&e>this.maxWidth&&(e=this.maxWidth,console.warn("the minWidth ("+e+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")")),this.minWidth=e,this.minWidthStyled=e?e+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach((function(e){e.setMinWidth()}))}setMaxWidth(e){this.minWidth&&e<this.minWidth&&(e=this.minWidth,console.warn("the maxWidth ("+e+"px) for column '"+this.field+"' cannot be smaller that its minWidth ("+this.minWidthStyled+")")),this.maxWidth=e,this.maxWidthStyled=e?e+"px":"",this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach((function(e){e.setMaxWidth()}))}delete(){return new Promise(((e,t)=>{this.isGroup&&this.columns.forEach((function(e){e.delete()})),this.dispatch("column-delete",this);var i=this.cells.length;for(let e=0;e<i;e++)this.cells[0].delete();this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.contentElement=!1,this.titleElement=!1,this.groupElement=!1,this.parent.isGroup&&this.parent.removeChild(this),this.table.columnManager.deregisterColumn(this),this.table.columnManager.rerenderColumns(!0),this.dispatch("column-deleted",this),e()}))}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch("column-rendered",this)}generateCell(e){var t=new y(this,e);return this.cells.push(t),t}nextColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1&&this._nextVisibleColumn(e+1)}_nextVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._nextVisibleColumn(e+1)}prevColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1&&this._prevVisibleColumn(e-1)}_prevVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._prevVisibleColumn(e-1)}reinitializeWidth(e){this.widthFixed=!1,void 0===this.definition.width||e||this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(e),this.dispatch("column-width-fit-after",this)}fitToData(e){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach((e=>{e.clearWidth()})));var t=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach((e=>{var i=e.getWidth();i>t&&(t=i)})),t)){var i=t+1;this.maxInitialWidth&&!e&&(i=Math.min(i,this.maxInitialWidth)),this.setWidthActual(i)}}}updateDefinition(e){var t;return this.isGroup||this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(t=Object.assign({},this.getDefinition()),t=Object.assign(t,e),this.table.columnManager.addColumn(t,!1,this).then((e=>(t.field==this.field&&(this.field=!1),this.delete().then((()=>e.getComponent()))))))}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}getComponent(){return this.component||(this.component=new E(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof _&&this.parent.getComponent()}}class T{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._row.table.componentFunctionBinder.handle("row",e._row,t)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getCells(){var e=[];return this._row.getCells().forEach((function(t){e.push(t.getComponent())})),e}getCell(e){var t=this._row.getCell(e);return!!t&&t.getComponent()}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(e){return this._row.watchPosition(e)}delete(){return this._row.delete()}scrollTo(e,t){return this._row.table.rowManager.scrollToRow(this._row,e,t)}move(e,t){this._row.moveToRow(e,t)}update(e){return this._row.updateData(e)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var e=this._row.nextRow();return e?e.getComponent():e}getPrevRow(){var e=this._row.prevRow();return e?e.getComponent():e}}class x extends e{constructor(e,t,i="row"){super(t.table),this.parent=t,this.data={},this.type=i,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(e)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var e=document.createElement("div");e.classList.add("tabulator-row"),e.setAttribute("role","row"),this.element=e}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}generateElement(){this.createElement(),this.dispatch("row-init",this)}generateCells(){this.cells=this.table.columnManager.generateCells(this)}initialize(e,t){if(this.create(),!this.initialized||e){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,t),e&&this.normalizeHeight(),this.dispatch("row-layout",this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch("row-layout-after",this)}else this.table.columnManager.renderer.rerenderRowCells(this,t)}rendered(){this.cells.forEach((e=>{e.cellRendered()}))}reinitializeHeight(){this.heightInitialized=!1,this.element&&null!==this.element.offsetParent&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(e){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&null!==this.element.offsetParent&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(e){var t=0,i=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(i=this.calcMinHeight(),t=this.calcMaxHeight(),this.height=e?Math.max(t,i):this.manualHeight?this.height:Math.max(t,i)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var e=0;return this.cells.forEach((function(t){var i=t.getHeight();i>e&&(e=i)})),e}setCellHeight(){this.cells.forEach((function(e){e.setHeight()})),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach((function(e){e.clearHeight()}))}normalizeHeight(e){e&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(e),this.setCellHeight()}setHeight(e,t){(this.height!=e||t)&&(this.manualHeight=!0,this.height=e,this.heightStyled=e?e+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}setData(e){this.data=this.chain("row-data-init-before",[this,e],void 0,e),this.dispatch("row-data-init-after",this)}updateData(e){var i,n=this.element&&t.elVisible(this.element),s={};return new Promise(((t,o)=>{"string"==typeof e&&(e=JSON.parse(e)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(s=Object.assign(s,this.data),s=Object.assign(s,e)),i=this.chain("row-data-changing",[this,s,e],null,e);for(let e in i)this.data[e]=i[e];this.dispatch("row-data-save-after",this);for(let t in e){this.table.columnManager.getColumnsByFieldRoot(t).forEach((e=>{let t=this.getCell(e.getField());if(t){let s=e.getFieldValue(i);t.getValue()!==s&&(t.setValueProcessData(s),n&&t.cellRendered())}}))}n?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,n,e),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),t()}))}getData(e){return e?this.chain("row-data-retrieve",[this,e],null,this.data):this.data}getCell(e){return e=this.table.columnManager.findColumn(e),this.initialized||0!==this.cells.length||this.generateCells(),this.cells.find((function(t){return t.column===e}))}getCellIndex(e){return this.cells.findIndex((function(t){return t===e}))}findCell(e){return this.cells.find((t=>t.element===e))}getCells(){return this.initialized||0!==this.cells.length||this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(e,t){var i=this.table.rowManager.findRow(e);i?(this.table.rowManager.moveRowActual(this,i,!t),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",e)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(e){this.detachModules(),this.table.rowManager.deleteRow(this,e),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var e=this.cells.length;for(let t=0;t<e;t++)this.cells[0].delete()}wipe(){if(this.detachModules(),this.deleteCells(),this.element){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.parentNode&&this.element.parentNode.removeChild(this.element)}this.element=!1,this.modules={}}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return!!this.isDisplayed()&&this.position}setPosition(e){e!=this.position&&(this.position=e,this.positionWatchers.forEach((e=>{e(this.position)})))}watchPosition(e){this.positionWatchers.push(e),e(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new T(this)),this.component}}var S={avg:function(e,t,i){var n=0,s=void 0!==i.precision?i.precision:2;return e.length&&(n=e.reduce((function(e,t){return Number(e)+Number(t)})),n/=e.length,n=!1!==s?n.toFixed(s):n),parseFloat(n).toString()},max:function(e,t,i){var n=null,s=void 0!==i.precision&&i.precision;return e.forEach((function(e){((e=Number(e))>n||null===n)&&(n=e)})),null!==n?!1!==s?n.toFixed(s):n:""},min:function(e,t,i){var n=null,s=void 0!==i.precision&&i.precision;return e.forEach((function(e){((e=Number(e))<n||null===n)&&(n=e)})),null!==n?!1!==s?n.toFixed(s):n:""},sum:function(e,t,i){var n=0,s=void 0!==i.precision&&i.precision;return e.length&&e.forEach((function(e){e=Number(e),n+=isNaN(e)?0:Number(e)})),!1!==s?n.toFixed(s):n},concat:function(e,t,i){var n=0;return e.length&&(n=e.reduce((function(e,t){return String(e)+String(t)}))),n},count:function(e,t,i){var n=0;return e.length&&e.forEach((function(e){e&&n++})),n},unique:function(e,t,i){var n=e.filter(((t,i)=>(e||0===t)&&e.indexOf(t)===i));return n.length}};class M extends s{static moduleName="columnCalcs";static calculations=S;constructor(e){super(e),this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.blocked=!1,this.recalcAfterBlock=!1,this.registerTableOption("columnCalcs",!0),this.registerColumnOption("topCalc"),this.registerColumnOption("topCalcParams"),this.registerColumnOption("topCalcFormatter"),this.registerColumnOption("topCalcFormatterParams"),this.registerColumnOption("bottomCalc"),this.registerColumnOption("bottomCalcParams"),this.registerColumnOption("bottomCalcFormatter"),this.registerColumnOption("bottomCalcFormatterParams")}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-calcs-holder"),e}initialize(){this.genColumn=new _({field:"value"},this),this.subscribe("cell-value-changed",this.cellValueChanged.bind(this)),this.subscribe("column-init",this.initializeColumnCheck.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("column-moved",this.recalcActiveRows.bind(this)),this.subscribe("column-add",this.recalcActiveRows.bind(this)),this.subscribe("data-refreshed",this.recalcActiveRowsRefresh.bind(this)),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this)),this.subscribe("redraw-blocked",this.blockRedraw.bind(this)),this.subscribe("redraw-restored",this.restoreRedraw.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this)),this.registerTableFunction("getCalcResults",this.getResults.bind(this)),this.registerTableFunction("recalc",this.userRecalc.bind(this)),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px"}tableRedraw(e){this.recalc(this.table.rowManager.activeRows),e&&this.redraw()}blockRedraw(){this.blocked=!0,this.recalcAfterBlock=!1}restoreRedraw(){this.blocked=!1,this.recalcAfterBlock&&(this.recalcAfterBlock=!1,this.recalcActiveRowsRefresh())}userRecalc(){this.recalc(this.table.rowManager.activeRows)}blockCheck(){return this.blocked&&(this.recalcAfterBlock=!0),this.blocked}visibleRows(e,t){return this.topRow&&t.unshift(this.topRow),this.botRow&&t.push(this.botRow),t}rowsUpdated(e){this.table.options.groupBy?this.recalcRowGroup(e):this.recalcActiveRows()}recalcActiveRowsRefresh(){this.table.options.groupBy&&this.table.options.dataTreeStartExpanded&&this.table.options.dataTree?this.recalcAll():this.recalcActiveRows()}recalcActiveRows(){this.recalc(this.table.rowManager.activeRows)}cellValueChanged(e){(e.column.definition.topCalc||e.column.definition.bottomCalc)&&(this.table.options.groupBy?("table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs||this.recalcActiveRows(),"table"!=this.table.options.columnCalcs&&this.recalcRowGroup(e.row)):this.recalcActiveRows())}initializeColumnCheck(e){(e.definition.topCalc||e.definition.bottomCalc)&&this.initializeColumn(e)}initializeColumn(e){var t=e.definition,i={topCalcParams:t.topCalcParams||{},botCalcParams:t.bottomCalcParams||{}};if(t.topCalc){switch(typeof t.topCalc){case"string":M.calculations[t.topCalc]?i.topCalc=M.calculations[t.topCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.topCalc);break;case"function":i.topCalc=t.topCalc}i.topCalc&&(e.modules.columnCalcs=i,this.topCalcs.push(e),"group"!=this.table.options.columnCalcs&&this.initializeTopRow())}if(t.bottomCalc){switch(typeof t.bottomCalc){case"string":M.calculations[t.bottomCalc]?i.botCalc=M.calculations[t.bottomCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.bottomCalc);break;case"function":i.botCalc=t.bottomCalc}i.botCalc&&(e.modules.columnCalcs=i,this.botCalcs.push(e),"group"!=this.table.options.columnCalcs&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var e=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),e=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),e=!0),e&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var e=document.createDocumentFragment();this.topInitialized||(e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=!0)}scrollHorizontal(e){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=e)}recalc(e){var t,i;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(t=this.rowsToData(e),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),i=this.generateRow("top",t),this.topRow=i;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(i.getElement()),i.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),i=this.generateRow("bottom",t),this.botRow=i;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(i.getElement()),i.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(e){this.recalcGroup(this.table.modules.groupRows.getRowGroup(e))}recalcAll(){(this.topCalcs.length||this.botCalcs.length)&&("group"!==this.table.options.columnCalcs&&this.recalcActiveRows(),this.table.options.groupBy&&"table"!==this.table.options.columnCalcs&&this.table.modules.groupRows.getChildGroups().forEach((e=>{this.recalcGroup(e)})))}recalcGroup(e){var t,i;this.blockCheck()||e&&e.calcs&&(e.calcs.bottom&&(t=this.rowsToData(e.rows),i=this.generateRowData("bottom",t),e.calcs.bottom.updateData(i),e.calcs.bottom.reinitialize()),e.calcs.top&&(t=this.rowsToData(e.rows),i=this.generateRowData("top",t),e.calcs.top.updateData(i),e.calcs.top.reinitialize()))}generateTopRow(e){return this.generateRow("top",this.rowsToData(e))}generateBottomRow(e){return this.generateRow("bottom",this.rowsToData(e))}rowsToData(e){var t=[],i=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,n=this.table.modules.dataTree;return e.forEach((e=>{t.push(e.getData()),i&&e.modules.dataTree?.open&&this.rowsToData(n.getFilteredTreeChildren(e)).forEach((i=>{t.push(e)}))})),t}generateRow(e,t){var i,n=this.generateRowData(e,t);return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),i=new x(n,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),i.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+e),i.component=!1,i.getComponent=()=>(i.component||(i.component=new w(i)),i.component),i.generateCells=()=>{var t=[];this.table.columnManager.columnsByIndex.forEach((n=>{this.genColumn.setField(n.getField()),this.genColumn.hozAlign=n.hozAlign,n.definition[e+"CalcFormatter"]&&this.table.modExists("format")?this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter(n.definition[e+"CalcFormatter"]),params:n.definition[e+"CalcFormatterParams"]||{}}:this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=n.definition.cssClass;var s=new y(this.genColumn,i);s.getElement(),s.column=n,s.setWidth(),n.cells.push(s),t.push(s),n.visible||s.hide()})),i.cells=t},i}generateRowData(e,t){var i,n,s={},o="top"==e?this.topCalcs:this.botCalcs,r="top"==e?"topCalc":"botCalc";return o.forEach((function(e){var o=[];e.modules.columnCalcs&&e.modules.columnCalcs[r]&&(t.forEach((function(t){o.push(e.getFieldValue(t))})),n=r+"Params",i="function"==typeof e.modules.columnCalcs[n]?e.modules.columnCalcs[n](o,t):e.modules.columnCalcs[n],e.setFieldValue(s,e.modules.columnCalcs[r](o,t,i)))})),s}hasTopCalcs(){return!!this.topCalcs.length}hasBottomCalcs(){return!!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)}getResults(){var e={};return this.table.options.groupBy&&this.table.modExists("groupRows")?this.table.modules.groupRows.getGroups(!0).forEach((t=>{e[t.getKey()]=this.getGroupResults(t)})):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e}getGroupResults(e){var t=e._getSelf(),i=e.getSubGroups(),n={};return i.forEach((e=>{n[e.getKey()]=this.getGroupResults(e)})),{top:t.calcs.top?t.calcs.top.getData():{},bottom:t.calcs.bottom?t.calcs.bottom.getData():{},groups:n}}adjustForScrollbar(e){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=e+"px":this.botElement.style.paddingRight=e+"px")}}var L={csv:function(e,t={},i){var n=t.delimiter?t.delimiter:",",s=[],o=[];e.forEach((e=>{var t=[];switch(e.type){case"group":console.warn("Download Warning - CSV downloader cannot process row groups");break;case"calc":console.warn("Download Warning - CSV downloader cannot process column calculations");break;case"header":e.columns.forEach(((e,t)=>{e&&1===e.depth&&(o[t]=void 0===e.value||null===e.value?"":'"'+String(e.value).split('"').join('""')+'"')}));break;case"row":e.columns.forEach((e=>{if(e){switch(typeof e.value){case"object":e.value=null!==e.value?JSON.stringify(e.value):"";break;case"undefined":e.value=""}t.push('"'+String(e.value).split('"').join('""')+'"')}})),s.push(t.join(n))}})),o.length&&s.unshift(o.join(n)),s=s.join("\n"),t.bom&&(s="\ufeff"+s),i(s,"text/csv")},json:function(e,t,i){var n=[];e.forEach((e=>{var t={};switch(e.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":e.columns.forEach((e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)})),n.push(t)}})),i(n=JSON.stringify(n,null,"\t"),"application/json")},jsonLines:function(e,t,i){const n=[];e.forEach((e=>{const t={};switch(e.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":e.columns.forEach((e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)})),n.push(JSON.stringify(t))}})),i(n.join("\n"),"application/x-ndjson")},pdf:function(e,t={},i){var n=[],s=[],o={},r=t.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},a=t.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},l=t.jsPDF||{},h=t.title?t.title:"";function u(e,t){var i=[];return e.columns.forEach((e=>{var n;if(e){switch(typeof e.value){case"object":e.value=null!==e.value?JSON.stringify(e.value):"";break;case"undefined":e.value=""}n={content:e.value,colSpan:e.width,rowSpan:e.height},t&&(n.styles=t),i.push(n)}})),i}l.orientation||(l.orientation=t.orientation||"landscape"),l.unit||(l.unit="pt"),e.forEach((e=>{switch(e.type){case"header":n.push(u(e));break;case"group":s.push(u(e,r));break;case"calc":s.push(u(e,a));break;case"row":s.push(u(e))}}));var c=new jspdf.jsPDF(l);t.autoTable&&(o="function"==typeof t.autoTable?t.autoTable(c)||{}:t.autoTable),h&&(o.didDrawPage=function(e){c.text(h,40,30)}),o.head=n,o.body=s,c.autoTable(o),t.documentProcessing&&t.documentProcessing(c),i(c.output("arraybuffer"),"application/pdf")},xlsx:function(t,i,n){var s=i.sheetName||"Sheet1",o=XLSX.utils.book_new(),r=new e(this),a=!("compress"in i)||i.compress,l=i.writeOptions||{bookType:"xlsx",bookSST:!0,compression:a};function h(){var e=[],i=[],n={},s={s:{c:0,r:0},e:{c:t[0]?t[0].columns.reduce(((e,t)=>e+(t&&t.width?t.width:1)),0):0,r:t.length}};return t.forEach(((t,n)=>{var s=[];t.columns.forEach((function(e,t){e?(s.push(e.value instanceof Date||"object"!=typeof e.value?e.value:JSON.stringify(e.value)),(e.width>1||e.height>-1)&&(e.height>1||e.width>1)&&i.push({s:{r:n,c:t},e:{r:n+e.height-1,c:t+e.width-1}})):s.push("")})),e.push(s)})),XLSX.utils.sheet_add_aoa(n,e),n["!ref"]=XLSX.utils.encode_range(s),i.length&&(n["!merges"]=i),n}if(l.type="binary",o.SheetNames=[],o.Sheets={},i.sheetOnly)n(h());else{if(i.sheets)for(var u in i.sheets)!0===i.sheets[u]?(o.SheetNames.push(u),o.Sheets[u]=h()):(o.SheetNames.push(u),r.commsSend(i.sheets[u],"download","intercept",{type:"xlsx",options:{sheetOnly:!0},active:this.active,intercept:function(e){o.Sheets[u]=e}}));else o.SheetNames.push(s),o.Sheets[s]=h();i.documentProcessing&&(o=i.documentProcessing(o)),n(function(e){for(var t=new ArrayBuffer(e.length),i=new Uint8Array(t),n=0;n!=e.length;++n)i[n]=255&e.charCodeAt(n);return t}(XLSX.write(o,l)),"application/octet-stream")}},html:function(e,t,i){this.modExists("export",!0)&&i(this.modules.export.generateHTMLTable(e),"text/html")}};class k extends s{static moduleName="download";static downloaders=L;constructor(e){super(e),this.registerTableOption("downloadEncoder",(function(e,t){return new Blob([e],{type:t})})),this.registerTableOption("downloadConfig",{}),this.registerTableOption("downloadRowRange","active"),this.registerColumnOption("download"),this.registerColumnOption("titleDownload")}initialize(){this.deprecatedOptionsCheck(),this.registerTableFunction("download",this.download.bind(this)),this.registerTableFunction("downloadToTab",this.downloadToTab.bind(this))}deprecatedOptionsCheck(){}downloadToTab(e,t,i,n){this.download(e,t,i,n,!0)}download(e,t,i,n,s){var o=!1;if("function"==typeof e?o=e:k.downloaders[e]?o=k.downloaders[e]:console.warn("Download Error - No such download type found: ",e),o){var r=this.generateExportList(n);o.call(this.table,r,i||{},function(i,n){s?!0===s?this.triggerDownload(i,n,e,t,!0):s(i):this.triggerDownload(i,n,e,t)}.bind(this))}}generateExportList(e){var t=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,e||this.table.options.downloadRowRange,"download"),i=this.table.options.groupHeaderDownload;return i&&!Array.isArray(i)&&(i=[i]),t.forEach((e=>{var t;"group"===e.type&&(t=e.columns[0],i&&i[e.indent]&&(t.value=i[e.indent](t.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)))})),t}triggerDownload(e,t,i,n,s){var o=document.createElement("a"),r=this.table.options.downloadEncoder(e,t);r&&(s?window.open(window.URL.createObjectURL(r)):(n=n||"Tabulator."+("function"==typeof i?"txt":i),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(r,n):(o.setAttribute("href",window.URL.createObjectURL(r)),o.setAttribute("download",n),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o))),this.dispatchExternal("downloadComplete"))}commsReceived(e,t,i){if("intercept"===t)this.download(i.type,"",i.options,i.active,i.intercept)}}function D(e,t){var i=t.mask,n=void 0!==t.maskLetterChar?t.maskLetterChar:"A",s=void 0!==t.maskNumberChar?t.maskNumberChar:"9",o=void 0!==t.maskWildcardChar?t.maskWildcardChar:"*";function r(t){var a=i[t];void 0!==a&&a!==o&&a!==n&&a!==s&&(e.value=e.value+""+a,r(t+1))}e.addEventListener("keydown",(t=>{var r=e.value.length,a=t.key;if(t.keyCode>46&&!t.ctrlKey&&!t.metaKey){if(r>=i.length)return t.preventDefault(),t.stopPropagation(),!1;switch(i[r]){case n:if(a.toUpperCase()==a.toLowerCase())return t.preventDefault(),t.stopPropagation(),!1;break;case s:if(isNaN(a))return t.preventDefault(),t.stopPropagation(),!1;break;case o:break;default:if(a!==i[r])return t.preventDefault(),t.stopPropagation(),!1}}})),e.addEventListener("keyup",(i=>{i.keyCode>46&&t.maskAutoFill&&r(e.value.length)})),e.placeholder||(e.placeholder=i),t.maskAutoFill&&r(e.value.length)}let A=class{constructor(e,t,i,n,s,o){this.edit=e,this.table=e.table,this.cell=t,this.params=this._initializeParams(o),this.data=[],this.displayItems=[],this.currentItems=[],this.focusedItem=null,this.input=this._createInputElement(),this.listEl=this._createListElement(),this.initialValues=null,this.isFilter="header"===t.getType(),this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=!0,this.actions={success:n,cancel:s},this._deprecatedOptionsCheck(),this._initializeValue(),i(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var e=this.cell.getValue();void 0===e&&void 0!==this.params.defaultValue&&(e=this.params.defaultValue),this.initialValues=this.params.multiselect?e:[e],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen())}_onRendered(){var e=this.cell.getElement();function t(e){e.stopPropagation()}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:!0})),e.addEventListener("click",t),setTimeout((()=>{e.removeEventListener("click",t)}),1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this))}_createListElement(){var e=document.createElement("div");return e.classList.add("tabulator-edit-list"),e.addEventListener("mousedown",this._preventBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e}_setListWidth(){var e=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=e.offsetWidth+"px",this.params.maxWidth&&(!0===this.params.maxWidth?this.listEl.style.maxWidth=e.offsetWidth+"px":"number"==typeof this.params.maxWidth?this.listEl.style.maxWidth=this.params.maxWidth+"px":this.listEl.style.maxWidth=this.params.maxWidth)}_createInputElement(){var e=this.params.elementAttributes,t=document.createElement("input");if(t.setAttribute("type",this.params.clearable?"search":"text"),t.style.padding="4px",t.style.width="100%",t.style.boxSizing="border-box",this.params.autocomplete||(t.style.cursor="default",t.style.caretColor="transparent"),e&&"object"==typeof e)for(let i in e)"+"==i.charAt(0)?(i=i.slice(1),t.setAttribute(i,t.getAttribute(i)+e["+"+i])):t.setAttribute(i,e[i]);return this.params.mask&&D(t,this.params),this._bindInputEvents(t),t}_initializeParams(e){var t,i=["values","valuesURL","valuesLookup"];return(e=Object.assign({},e)).verticalNavigation=e.verticalNavigation||"editor",e.placeholderLoading=void 0===e.placeholderLoading?"Searching ...":e.placeholderLoading,e.placeholderEmpty=void 0===e.placeholderEmpty?"No Results Found":e.placeholderEmpty,e.filterDelay=void 0===e.filterDelay?300:e.filterDelay,e.emptyValue=Object.keys(e).includes("emptyValue")?e.emptyValue:"",(t=Object.keys(e).filter((e=>i.includes(e))).length)?t>1&&console.warn("list editor config error - only one of the values, valuesURL, or valuesLookup options can be set on the same editor"):console.warn("list editor config error - either the values, valuesURL, or valuesLookup option must be set"),e.autocomplete?e.multiselect&&(e.multiselect=!1,console.warn("list editor config error - multiselect option is not available when autocomplete is enabled")):(e.freetext&&(e.freetext=!1,console.warn("list editor config error - freetext option is only available when autocomplete is enabled")),e.filterFunc&&(e.filterFunc=!1,console.warn("list editor config error - filterFunc option is only available when autocomplete is enabled")),e.filterRemote&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option is only available when autocomplete is enabled")),e.mask&&(e.mask=!1,console.warn("list editor config error - mask option is only available when autocomplete is enabled")),e.allowEmpty&&(e.allowEmpty=!1,console.warn("list editor config error - allowEmpty option is only available when autocomplete is enabled")),e.listOnEmpty&&(e.listOnEmpty=!1,console.warn("list editor config error - listOnEmpty option is only available when autocomplete is enabled"))),e.filterRemote&&"function"!=typeof e.valuesLookup&&!e.valuesURL&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option should only be used when values list is populated from a remote source")),e}_bindInputEvents(e){e.addEventListener("focus",this._inputFocus.bind(this)),e.addEventListener("click",this._inputClick.bind(this)),e.addEventListener("blur",this._inputBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&e.addEventListener("keyup",this._inputKeyUp.bind(this))}_inputFocus(e){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout((()=>{this.rebuildOptionsList()}),this.params.filterDelay)):this._filterList()}_inputClick(e){e.stopPropagation()}_inputBlur(e){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(e){switch(e.keyCode){case 38:this._keyUp(e);break;case 40:this._keyDown(e);break;case 37:case 39:this._keySide(e);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(e);break;case 9:this._keyTab(e);break;default:this._keySelectLetter(e)}}_inputKeyUp(e){switch(e.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(e)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout((()=>{this.popup&&this.popup.restoreHide()}),10)}_preventBlur(){this.blurable=!1,setTimeout((()=>{this.blurable=!0}),10)}_keyTab(e){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(e){var t=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&t)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t>0&&this._focusItem(this.displayItems[t-1]))}_keyDown(e){var t=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&t<this.displayItems.length-1)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t<this.displayItems.length-1&&(-1==t?this._focusItem(this.displayItems[0]):this._focusItem(this.displayItems[t+1])))}_keySide(e){this.params.autocomplete||(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}_keyEnter(e){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem)}_keyEsc(e){this._cancel()}_keyHomeEnd(e){this.params.autocomplete&&e.stopImmediatePropagation()}_keySelectLetter(e){this.params.autocomplete||(e.preventDefault(),e.keyCode>=38&&e.keyCode<=90&&this._scrollToValue(e.keyCode))}_keyAutoCompLetter(e){this._filter(),this.lastAction="typing",this.typing=!0}_scrollToValue(e){clearTimeout(this.filterTimeout);var t=String.fromCharCode(e).toLowerCase();this.filterTerm+=t.toLowerCase();var i=this.displayItems.find((e=>void 0!==e.label&&e.label.toLowerCase().startsWith(this.filterTerm)));i&&this._focusItem(i),this.filterTimeout=setTimeout((()=>{this.filterTerm=""}),800)}_focusItem(e){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=e,e&&e.element&&(e.element.classList.add("focused"),e.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch((e=>{Number.isInteger(e)||console.error("List generation error",e)}))}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(e){var t=[],i=++this.listIteration;return this.filtered=!1,this.params.values?t=this.params.values:this.params.valuesURL?t=this._ajaxRequest(this.params.valuesURL,this.input.value):"function"==typeof this.params.valuesLookup?t=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(t=this._uniqueColumnValues(this.params.valuesLookupField)),t instanceof Promise?(e||this._addPlaceholder(this.params.placeholderLoading),t.then().then((e=>this.listIteration===i?this._parseList(e):Promise.reject(i)))):Promise.resolve(this._parseList(t))}_addPlaceholder(e){var t=document.createElement("div");"function"==typeof e&&(e=e(this.cell.getComponent(),this.listEl)),e&&(this._clearList(),e instanceof HTMLElement?t=e:(t.classList.add("tabulator-edit-list-placeholder"),t.innerHTML=e),this.listEl.appendChild(t),this._showList())}_ajaxRequest(e,t){return e=u(e,{},this.params.filterRemote?{term:t}:{}),fetch(e).then((e=>e.ok?e.json().catch((e=>(console.warn("List Ajax Load Error - Invalid JSON returned",e),Promise.reject(e)))):(console.error("List Ajax Load Error - Connection Error: "+e.status,e.statusText),Promise.reject(e)))).catch((e=>(console.error("List Ajax Load Error - Connection Error: ",e),Promise.reject(e))))}_uniqueColumnValues(e){var t,i={},n=this.table.getData(this.params.valuesLookup);return(t=e?this.table.columnManager.getColumnByField(e):this.cell.getColumn()._getSelf())?n.forEach((e=>{var n=t.getFieldValue(e);null!=n&&""!==n&&(i[n]=!0)})):(console.warn("unable to find matching column to create select lookup list:",e),i=[]),Object.keys(i)}_parseList(e){var t=[];return Array.isArray(e)||(e=Object.entries(e).map((([e,t])=>({label:t,value:e})))),e.forEach((e=>{"object"!=typeof e&&(e={label:e,value:e}),this._parseListItem(e,t,0)})),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction="typing"),this.data=t,t}_parseListItem(e,t,i){var n={};e.options?n=this._parseListGroup(e,i+1):(n={label:e.label,value:e.value,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,selected:!1,visible:!0,level:i,original:e},this.initialValues&&this.initialValues.indexOf(e.value)>-1&&this._chooseItem(n,!0)),t.push(n)}_parseListGroup(e,t){var i={label:e.label,group:!0,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,visible:!0,level:t,options:[],original:e};return e.options.forEach((e=>{this._parseListItem(e,i.options,t)})),i}_sortOptions(e){var t;return this.params.sort&&(t="function"==typeof this.params.sort?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(t,e)),e}_sortGroup(e,t){t.sort(((t,i)=>e(t.label,i.label,t.value,i.value,t.original,i.original))),t.forEach((t=>{t.group&&this._sortGroup(e,t.options)}))}_defaultSortFunction(e,t){var i,n,s,o,r,a=0,l=/(\d+)|(\D+)/g,h=/\d/,u=0;if("desc"===this.params.sort&&([e,t]=[t,e]),e||0===e){if(t||0===t){if(isFinite(e)&&isFinite(t))return e-t;if((i=String(e).toLowerCase())===(n=String(t).toLowerCase()))return 0;if(!h.test(i)||!h.test(n))return i>n?1:-1;for(i=i.match(l),n=n.match(l),r=i.length>n.length?n.length:i.length;a<r;)if((s=i[a])!==(o=n[a++]))return isFinite(s)&&isFinite(o)?("0"===s.charAt(0)&&(s="."+s),"0"===o.charAt(0)&&(o="."+o),s-o):s>o?1:-1;return i.length>n.length}u=1}else u=t||0===t?-1:0;return u}_filterOptions(){var e=this.params.filterFunc||this._defaultFilterFunc,t=this.input.value;return t?(this.filtered=!0,this.data.forEach((i=>{this._filterItem(e,t,i)}))):this.filtered=!1,this.data}_filterItem(e,t,i){var n=!1;return i.group?(i.options.forEach((i=>{this._filterItem(e,t,i)&&(n=!0)})),i.visible=n):i.visible=e(t,i.label,i.value,i.original),i.visible}_defaultFilterFunc(e,t,i,n){return e=String(e).toLowerCase(),null!=t&&(String(t).toLowerCase().indexOf(e)>-1||String(i).toLowerCase().indexOf(e)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(e){this._clearList(),e.forEach((e=>{this._buildItem(e)})),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(e){var t,i=e.element;if(!this.filtered||e.visible){if(!i){if((i=document.createElement("div")).tabIndex=0,(t=this.params.itemFormatter?this.params.itemFormatter(e.label,e.value,e.original,i):e.label)instanceof HTMLElement?i.appendChild(t):i.innerHTML=t,e.group?i.classList.add("tabulator-edit-list-group"):i.classList.add("tabulator-edit-list-item"),i.classList.add("tabulator-edit-list-group-level-"+e.level),e.elementAttributes&&"object"==typeof e.elementAttributes)for(let t in e.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),i.setAttribute(t,this.input.getAttribute(t)+e.elementAttributes["+"+t])):i.setAttribute(t,e.elementAttributes[t]);e.group?i.addEventListener("click",this._groupClick.bind(this,e)):i.addEventListener("click",this._itemClick.bind(this,e)),i.addEventListener("mousedown",this._preventBlur.bind(this)),e.element=i}this._styleItem(e),this.listEl.appendChild(i),e.group?e.options.forEach((e=>{this._buildItem(e)})):this.displayItems.push(e)}}_showList(){var e=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&""===this.input.value&&!this.params.listOnEmpty)return void(this.popup&&this.popup.hide(!0));this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),e||setTimeout((()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))}),10)}}_styleItem(e){e&&e.element&&(e.selected?e.element.classList.add("active"):e.element.classList.remove("active"))}_itemClick(e,t){t.stopPropagation(),this._chooseItem(e)}_groupClick(e,t){t.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach((e=>{e.selected=!1,this._styleItem(e)})),this.currentItems=[],this.focusedItem=null}_chooseItem(e,t){var i;this.typing=!1,this.params.multiselect?((i=this.currentItems.indexOf(e))>-1?(this.currentItems.splice(i,1),e.selected=!1):(this.currentItems.push(e),e.selected=!0),this.input.value=this.currentItems.map((e=>e.label)).join(","),this._styleItem(e)):(this.currentItems=[e],e.selected=!0,this.input.value=e.label,this._styleItem(e),t||this._resolveValue()),this._focusItem(e)}_resolveValue(e){var t,i;if(this.popup&&this.popup.hide(!0),this.params.multiselect)t=this.currentItems.map((e=>e.value));else if(e&&this.params.autocomplete&&this.typing){if(!(this.params.freetext||this.params.allowEmpty&&""===this.input.value))return void this.actions.cancel();t=this.input.value}else t=this.currentItems[0]?this.currentItems[0].value:null==(i=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues)||""===i?i:this.params.emptyValue;""===t&&(t=this.params.emptyValue),this.actions.success(t),this.isFilter&&(this.initialValues=t&&!Array.isArray(t)?[t]:t,this.currentItems=[])}};var P={input:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input");if(r.setAttribute("type",s.search?"search":"text"),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function a(e){null==o&&""!==r.value||r.value!==o?i(r.value)&&(o=r.value):n()}return r.value=void 0!==o?o:"",t((function(){"cell"===e.getType()&&(r.focus({preventScroll:!0}),r.style.height="100%",s.selectContents&&r.select())})),r.addEventListener("change",a),r.addEventListener("blur",a),r.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:a();break;case 27:n();break;case 35:case 36:e.stopPropagation()}})),s.mask&&D(r,s),r},textarea:function(e,t,i,n,s){var o=e.getValue(),r=s.verticalNavigation||"hybrid",a=String(null!=o?o:""),l=document.createElement("textarea"),h=0;if(l.style.display="block",l.style.padding="2px",l.style.height="100%",l.style.width="100%",l.style.boxSizing="border-box",l.style.whiteSpace="pre-wrap",l.style.resize="none",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),l.setAttribute(e,l.getAttribute(e)+s.elementAttributes["+"+e])):l.setAttribute(e,s.elementAttributes[e]);function u(t){null==o&&""!==l.value||l.value!==o?(i(l.value)&&(o=l.value),setTimeout((function(){e.getRow().normalizeHeight()}),300)):n()}return l.value=a,t((function(){"cell"===e.getType()&&(l.focus({preventScroll:!0}),l.style.height="100%",l.scrollHeight,l.style.height=l.scrollHeight+"px",e.getRow().normalizeHeight(),s.selectContents&&l.select())})),l.addEventListener("change",u),l.addEventListener("blur",u),l.addEventListener("keyup",(function(){l.style.height="";var t=l.scrollHeight;l.style.height=t+"px",t!=h&&(h=t,e.getRow().normalizeHeight())})),l.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:e.shiftKey&&s.shiftEnterSubmit&&u();break;case 27:n();break;case 38:("editor"==r||"hybrid"==r&&l.selectionStart)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 40:("editor"==r||"hybrid"==r&&l.selectionStart!==l.value.length)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation()}})),s.mask&&D(l,s),l},number:function(e,t,i,n,s){var o=e.getValue(),r=s.verticalNavigation||"editor",a=document.createElement("input");if(a.setAttribute("type","number"),void 0!==s.max&&a.setAttribute("max",s.max),void 0!==s.min&&a.setAttribute("min",s.min),void 0!==s.step&&a.setAttribute("step",s.step),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),a.setAttribute(e,a.getAttribute(e)+s.elementAttributes["+"+e])):a.setAttribute(e,s.elementAttributes[e]);a.value=o;var l=function(e){h()};function h(){var e=a.value;isNaN(e)||""===e||(e=Number(e)),e!==o?i(e)&&(o=e):n()}return t((function(){"cell"===e.getType()&&(a.removeEventListener("blur",l),a.focus({preventScroll:!0}),a.style.height="100%",a.addEventListener("blur",l),s.selectContents&&a.select())})),a.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:h();break;case 27:n();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation()}})),s.mask&&D(a,s),a},range:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input");if(r.setAttribute("type","range"),void 0!==s.max&&r.setAttribute("max",s.max),void 0!==s.min&&r.setAttribute("min",s.min),void 0!==s.step&&r.setAttribute("step",s.step),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function a(){var e=r.value;isNaN(e)||""===e||(e=Number(e)),e!=o?i(e)&&(o=e):n()}return r.value=o,t((function(){"cell"===e.getType()&&(r.focus({preventScroll:!0}),r.style.height="100%")})),r.addEventListener("blur",(function(e){a()})),r.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:a();break;case 27:n()}})),r},date:function(e,t,i,n,s){var o=s.format,r=s.verticalNavigation||"editor",a=o?window.DateTime||luxon.DateTime:null,l=e.getValue(),h=document.createElement("input");function u(e){return(a.isDateTime(e)?e:"iso"===o?a.fromISO(String(e)):a.fromFormat(String(e),o)).toFormat("yyyy-MM-dd")}if(h.type="date",h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",s.max&&h.setAttribute("max",o?u(s.max):s.max),s.min&&h.setAttribute("min",o?u(s.min):s.min),s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),h.setAttribute(e,h.getAttribute(e)+s.elementAttributes["+"+e])):h.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=h.value;if(null==l&&""!==t||t!==l){if(t&&o)switch(e=a.fromFormat(String(t),"yyyy-MM-dd"),o){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(o)}i(t)&&(l=h.value)}else n()}return l=void 0!==l?l:"",o&&(a?l=u(l):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),h.value=l,t((function(){"cell"===e.getType()&&(h.focus({preventScroll:!0}),h.style.height="100%",s.selectContents&&h.select())})),h.addEventListener("blur",(function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==h)&&c()})),h.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation())}})),h},time:function(e,t,i,n,s){var o,r=s.format,a=s.verticalNavigation||"editor",l=r?window.DateTime||luxon.DateTime:null,h=e.getValue(),u=document.createElement("input");if(u.type="time",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+s.elementAttributes["+"+e])):u.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=u.value;if(null==h&&""!==t||t!==h){if(t&&r)switch(e=l.fromFormat(String(t),"hh:mm"),r){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(r)}i(t)&&(h=u.value)}else n()}return h=void 0!==h?h:"",r&&(l?(o=l.isDateTime(h)?h:"iso"===r?l.fromISO(String(h)):l.fromFormat(String(h),r),h=o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=h,t((function(){"cell"==e.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",s.selectContents&&u.select())})),u.addEventListener("blur",(function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==a&&(e.stopImmediatePropagation(),e.stopPropagation())}})),u},datetime:function(e,t,i,n,s){var o,r=s.format,a=s.verticalNavigation||"editor",l=r?window.DateTime||luxon.DateTime:null,h=e.getValue(),u=document.createElement("input");if(u.type="datetime-local",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+s.elementAttributes["+"+e])):u.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=u.value;if(null==h&&""!==t||t!==h){if(t&&r)switch(e=l.fromISO(String(t)),r){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(r)}i(t)&&(h=u.value)}else n()}return h=void 0!==h?h:"",r&&(l?(o=l.isDateTime(h)?h:"iso"===r?l.fromISO(String(h)):l.fromFormat(String(h),r),h=o.toFormat("yyyy-MM-dd")+"T"+o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=h,t((function(){"cell"===e.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",s.selectContents&&u.select())})),u.addEventListener("blur",(function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==a&&(e.stopImmediatePropagation(),e.stopPropagation())}})),u},list:function(e,t,i,n,s){return new A(this,e,t,i,n,s).input},star:function(e,t,i,n,s){var o=this,r=e.getElement(),a=e.getValue(),l=r.getElementsByTagName("svg").length||5,h=r.getElementsByTagName("svg")[0]?r.getElementsByTagName("svg")[0].getAttribute("width"):14,u=[],c=document.createElement("div"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");function p(e){u.forEach((function(t,i){i<e?("ie"==o.table.browser?t.setAttribute("class","tabulator-star-active"):t.classList.replace("tabulator-star-inactive","tabulator-star-active"),t.innerHTML='<polygon fill="#488CE9" stroke="#014AAE" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>'):("ie"==o.table.browser?t.setAttribute("class","tabulator-star-inactive"):t.classList.replace("tabulator-star-active","tabulator-star-inactive"),t.innerHTML='<polygon fill="#010155" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>')}))}function m(e){var t=document.createElement("span"),n=d.cloneNode(!0);u.push(n),t.addEventListener("mouseenter",(function(t){t.stopPropagation(),t.stopImmediatePropagation(),p(e)})),t.addEventListener("mousemove",(function(e){e.stopPropagation(),e.stopImmediatePropagation()})),t.addEventListener("click",(function(t){t.stopPropagation(),t.stopImmediatePropagation(),i(e),r.blur()})),t.appendChild(n),c.appendChild(t)}function g(e){a=e,p(e)}if(r.style.whiteSpace="nowrap",r.style.overflow="hidden",r.style.textOverflow="ellipsis",c.style.verticalAlign="middle",c.style.display="inline-block",c.style.padding="4px",d.setAttribute("width",h),d.setAttribute("height",h),d.setAttribute("viewBox","0 0 512 512"),d.setAttribute("xml:space","preserve"),d.style.padding="0 1px",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),c.setAttribute(e,c.getAttribute(e)+s.elementAttributes["+"+e])):c.setAttribute(e,s.elementAttributes[e]);for(var f=1;f<=l;f++)m(f);return p(a=Math.min(parseInt(a),l)),c.addEventListener("mousemove",(function(e){p(0)})),c.addEventListener("click",(function(e){i(0)})),r.addEventListener("blur",(function(e){n()})),r.addEventListener("keydown",(function(e){switch(e.keyCode){case 39:g(a+1);break;case 37:g(a-1);break;case 13:i(a);break;case 27:n()}})),c},progress:function(e,t,i,n,s){var o,r,a=e.getElement(),l=void 0===s.max?a.getElementsByTagName("div")[0]&&a.getElementsByTagName("div")[0].getAttribute("max")||100:s.max,h=void 0===s.min?a.getElementsByTagName("div")[0]&&a.getElementsByTagName("div")[0].getAttribute("min")||0:s.min,u=(l-h)/100,c=e.getValue()||0,d=document.createElement("div"),p=document.createElement("div");function m(){var e=window.getComputedStyle(a,null),t=u*Math.round(p.offsetWidth/((a.clientWidth-parseInt(e.getPropertyValue("padding-left"))-parseInt(e.getPropertyValue("padding-right")))/100))+h;i(t),a.setAttribute("aria-valuenow",t),a.setAttribute("aria-label",c)}if(d.style.position="absolute",d.style.right="0",d.style.top="0",d.style.bottom="0",d.style.width="5px",d.classList.add("tabulator-progress-handle"),p.style.display="inline-block",p.style.position="relative",p.style.height="100%",p.style.backgroundColor="#488CE9",p.style.maxWidth="100%",p.style.minWidth="0%",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),p.setAttribute(e,p.getAttribute(e)+s.elementAttributes["+"+e])):p.setAttribute(e,s.elementAttributes[e]);return a.style.padding="4px 4px",c=Math.min(parseFloat(c),l),c=Math.max(parseFloat(c),h),c=Math.round((c-h)/u),p.style.width=c+"%",a.setAttribute("aria-valuemin",h),a.setAttribute("aria-valuemax",l),p.appendChild(d),d.addEventListener("mousedown",(function(e){o=e.screenX,r=p.offsetWidth})),d.addEventListener("mouseover",(function(){d.style.cursor="ew-resize"})),a.addEventListener("mousemove",(function(e){o&&(p.style.width=r+e.screenX-o+"px")})),a.addEventListener("mouseup",(function(e){o&&(e.stopPropagation(),e.stopImmediatePropagation(),o=!1,r=!1,m())})),a.addEventListener("keydown",(function(e){switch(e.keyCode){case 39:e.preventDefault(),p.style.width=p.clientWidth+a.clientWidth/100+"px";break;case 37:e.preventDefault(),p.style.width=p.clientWidth-a.clientWidth/100+"px";break;case 9:case 13:m();break;case 27:n()}})),a.addEventListener("blur",(function(){n()})),p},tickCross:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input"),a=s.tristate,l=void 0===s.indeterminateValue?null:s.indeterminateValue,h=!1,u=Object.keys(s).includes("trueValue"),c=Object.keys(s).includes("falseValue");if(r.setAttribute("type","checkbox"),r.style.marginTop="5px",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function d(e){var t=r.checked;return u&&t?t=s.trueValue:c&&!t&&(t=s.falseValue),a?e?h?l:t:r.checked&&!h?(r.checked=!1,r.indeterminate=!0,h=!0,l):(h=!1,t):t}return r.value=o,!a||void 0!==o&&o!==l&&""!==o||(h=!0,r.indeterminate=!0),"firefox"!=this.table.browser&&"safari"!=this.table.browser&&t((function(){"cell"===e.getType()&&r.focus({preventScroll:!0})})),r.checked=u?o===s.trueValue:!0===o||"true"===o||"True"===o||1===o,r.addEventListener("change",(function(e){i(d())})),r.addEventListener("blur",(function(e){i(d(!0))})),r.addEventListener("keydown",(function(e){13==e.keyCode&&i(d()),27==e.keyCode&&n()})),r}};class O extends s{static moduleName="edit";static editors=P;constructor(e){super(e),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=O.editors,this.registerTableOption("editTriggerEvent","focus"),this.registerTableOption("editorEmptyValue"),this.registerTableOption("editorEmptyValueFunc",this.emptyValueCheck.bind(this)),this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("editorEmptyValue"),this.registerColumnOption("editorEmptyValueFunc"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),this.registerTableFunction("getEditedCells",this.getEditedCells.bind(this)),this.registerTableFunction("clearCellEdited",this.clearCellEdited.bind(this)),this.registerTableFunction("navigatePrev",this.navigatePrev.bind(this)),this.registerTableFunction("navigateNext",this.navigateNext.bind(this)),this.registerTableFunction("navigateLeft",this.navigateLeft.bind(this)),this.registerTableFunction("navigateRight",this.navigateRight.bind(this)),this.registerTableFunction("navigateUp",this.navigateUp.bind(this)),this.registerTableFunction("navigateDown",this.navigateDown.bind(this)),this.registerComponentFunction("cell","isEdited",this.cellIsEdited.bind(this)),this.registerComponentFunction("cell","clearEdited",this.clearEdited.bind(this)),this.registerComponentFunction("cell","edit",this.editCell.bind(this)),this.registerComponentFunction("cell","cancelEdit",this.cellCancelEdit.bind(this)),this.registerComponentFunction("cell","navigatePrev",this.navigatePrev.bind(this)),this.registerComponentFunction("cell","navigateNext",this.navigateNext.bind(this)),this.registerComponentFunction("cell","navigateLeft",this.navigateLeft.bind(this)),this.registerComponentFunction("cell","navigateRight",this.navigateRight.bind(this)),this.registerComponentFunction("cell","navigateUp",this.navigateUp.bind(this)),this.registerComponentFunction("cell","navigateDown",this.navigateDown.bind(this))}initialize(){this.subscribe("cell-init",this.bindEditor.bind(this)),this.subscribe("cell-delete",this.clearEdited.bind(this)),this.subscribe("cell-value-changed",this.updateCellClass.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("column-delete",this.columnDeleteCheck.bind(this)),this.subscribe("row-deleting",this.rowDeleteCheck.bind(this)),this.subscribe("row-layout",this.rowEditableCheck.bind(this)),this.subscribe("data-refreshing",this.cancelEdit.bind(this)),this.subscribe("clipboard-paste",this.pasteBlocker.bind(this)),this.subscribe("keybinding-nav-prev",this.navigatePrev.bind(this,void 0)),this.subscribe("keybinding-nav-next",this.keybindingNavigateNext.bind(this)),this.subscribe("keybinding-nav-up",this.navigateUp.bind(this,void 0)),this.subscribe("keybinding-nav-down",this.navigateDown.bind(this,void 0)),Object.keys(this.table.options).includes("editorEmptyValue")&&(this.convertEmptyValues=!0)}pasteBlocker(e){if(this.currentCell)return!0}keybindingNavigateNext(e){var t=this.currentCell,i=this.options("tabEndNewRow");t&&(this.navigateNext(t,e)||i&&(t.getElement().firstChild.blur(),this.invalidEdit||(i=!0===i?this.table.addRow({}):"function"==typeof i?this.table.addRow(i(t.row.getComponent())):this.table.addRow(Object.assign({},i))).then((()=>{setTimeout((()=>{t.getComponent().navigateNext()}))}))))}cellIsEdited(e){return!!e.modules.edit&&e.modules.edit.edited}cellCancelEdit(e){e===this.currentCell?this.table.modules.edit.cancelEdit():console.warn("Cancel Editor Error - This cell is not currently being edited ")}updateCellClass(e){this.allowEdit(e)?e.getElement().classList.add("tabulator-editable"):e.getElement().classList.remove("tabulator-editable")}clearCellEdited(e){e||(e=this.table.modules.edit.getEditedCells()),Array.isArray(e)||(e=[e]),e.forEach((e=>{this.table.modules.edit.clearEdited(e._getSelf())}))}navigatePrev(e=this.currentCell,t){var i,n;if(e){if(t&&t.preventDefault(),i=this.navigateLeft())return!0;if((n=this.table.rowManager.prevDisplayRow(e.row,!0))&&(i=this.findPrevEditableCell(n,n.cells.length)))return i.getComponent().edit(),!0}return!1}navigateNext(e=this.currentCell,t){var i,n;if(e){if(t&&t.preventDefault(),i=this.navigateRight())return!0;if((n=this.table.rowManager.nextDisplayRow(e.row,!0))&&(i=this.findNextEditableCell(n,-1)))return i.getComponent().edit(),!0}return!1}navigateLeft(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.findPrevEditableCell(e.row,i)))&&(n.getComponent().edit(),!0)}navigateRight(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.findNextEditableCell(e.row,i)))&&(n.getComponent().edit(),!0)}navigateUp(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.table.rowManager.prevDisplayRow(e.row,!0)))&&(n.cells[i].getComponent().edit(),!0)}navigateDown(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.table.rowManager.nextDisplayRow(e.row,!0)))&&(n.cells[i].getComponent().edit(),!0)}findNextEditableCell(e,i){var n=!1;if(i<e.cells.length-1)for(var s=i+1;s<e.cells.length;s++){let i=e.cells[s];if(i.column.modules.edit&&t.elVisible(i.getElement())){if(this.allowEdit(i)){n=i;break}}}return n}findPrevEditableCell(e,i){var n=!1;if(i>0)for(var s=i-1;s>=0;s--){let i=e.cells[s];if(i.column.modules.edit&&t.elVisible(i.getElement())){if(this.allowEdit(i)){n=i;break}}}return n}initializeColumnCheck(e){void 0!==e.definition.editor&&this.initializeColumn(e)}columnDeleteCheck(e){this.currentCell&&this.currentCell.column===e&&this.cancelEdit()}rowDeleteCheck(e){this.currentCell&&this.currentCell.row===e&&this.cancelEdit()}rowEditableCheck(e){e.getCells().forEach((e=>{e.column.modules.edit&&"function"==typeof e.column.modules.edit.check&&this.updateCellClass(e)}))}initializeColumn(e){var t=Object.keys(e.definition).includes("editorEmptyValue"),i={editor:!1,blocked:!1,check:e.definition.editable,params:e.definition.editorParams||{},convertEmptyValues:t,editorEmptyValue:e.definition.editorEmptyValue,editorEmptyValueFunc:e.definition.editorEmptyValueFunc};switch(typeof e.definition.editor){case"string":this.editors[e.definition.editor]?i.editor=this.editors[e.definition.editor]:console.warn("Editor Error - No such editor found: ",e.definition.editor);break;case"function":i.editor=e.definition.editor;break;case"boolean":!0===e.definition.editor&&("function"!=typeof e.definition.formatter?this.editors[e.definition.formatter]?i.editor=this.editors[e.definition.formatter]:i.editor=this.editors.input:console.warn("Editor Error - Cannot auto lookup editor for a custom formatter: ",e.definition.formatter))}i.editor&&(e.modules.edit=i)}getCurrentCell(){return!!this.currentCell&&this.currentCell.getComponent()}clearEditor(e){var t,i=this.currentCell;if(this.invalidEdit=!1,i){for(this.currentCell=!1,t=i.getElement(),this.dispatch("edit-editor-clear",i,e),t.classList.remove("tabulator-editing");t.firstChild;)t.removeChild(t.firstChild);i.row.getElement().classList.remove("tabulator-editing"),i.table.element.classList.remove("tabulator-editing")}}cancelEdit(){if(this.currentCell){var e=this.currentCell,t=this.currentCell.getComponent();this.clearEditor(!0),e.setValueActual(e.getValue()),e.cellRendered(),("textarea"==e.column.definition.editor||e.column.definition.variableHeight)&&e.row.normalizeHeight(!0),e.column.definition.cellEditCancelled&&e.column.definition.cellEditCancelled.call(this.table,t),this.dispatch("edit-cancelled",e),this.dispatchExternal("cellEditCancelled",t)}}bindEditor(e){if(e.column.modules.edit){var t=this,i=e.getElement(!0);this.updateCellClass(e),i.setAttribute("tabindex",0),i.addEventListener("mousedown",(function(e){2===e.button?e.preventDefault():t.mouseClick=!0})),"dblclick"===this.options("editTriggerEvent")&&i.addEventListener("dblclick",(function(n){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,n,!1))})),"focus"!==this.options("editTriggerEvent")&&"click"!==this.options("editTriggerEvent")||i.addEventListener("click",(function(n){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,n,!1))})),"focus"===this.options("editTriggerEvent")&&i.addEventListener("focus",(function(i){t.recursionBlock||t.edit(e,i,!1)}))}}focusCellNoEvent(e,t){this.recursionBlock=!0,t&&"ie"===this.table.browser||e.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(e,t){this.focusCellNoEvent(e),this.edit(e,!1,t)}focusScrollAdjust(e){if("virtual"==this.table.rowManager.getRenderMode()){var t=this.table.rowManager.element.scrollTop,i=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,n=e.row.getElement();n.offsetTop<t?this.table.rowManager.element.scrollTop-=t-n.offsetTop:n.offsetTop+n.offsetHeight>i&&(this.table.rowManager.element.scrollTop+=n.offsetTop+n.offsetHeight-i);var s=this.table.rowManager.element.scrollLeft,o=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,r=e.getElement();this.table.modExists("frozenColumns")&&(s+=parseInt(this.table.modules.frozenColumns.leftMargin||0),o-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),"virtual"===this.table.options.renderHorizontal&&(s-=parseInt(this.table.columnManager.renderer.vDomPadLeft),o-=parseInt(this.table.columnManager.renderer.vDomPadLeft)),r.offsetLeft<s?this.table.rowManager.element.scrollLeft-=s-r.offsetLeft:r.offsetLeft+r.offsetWidth>o&&(this.table.rowManager.element.scrollLeft+=r.offsetLeft+r.offsetWidth-o)}}allowEdit(e){var t=!!e.column.modules.edit;if(e.column.modules.edit)switch(typeof e.column.modules.edit.check){case"function":e.row.initialized&&(t=e.column.modules.edit.check(e.getComponent()));break;case"string":t=!!e.row.data[e.column.modules.edit.check];break;case"boolean":t=e.column.modules.edit.check}return t}edit(e,t,i){var n,s,o,r=this,a=function(){},l=e.getElement(),h=!1;if(!this.currentCell){if(e.column.modules.edit.blocked)return this.mouseClick=!1,this.blur(l),!1;if(t&&t.stopPropagation(),this.allowEdit(e)||i){if(r.cancelEdit(),r.currentCell=e,this.focusScrollAdjust(e),s=e.getComponent(),this.mouseClick&&(this.mouseClick=!1,e.column.definition.cellClick&&e.column.definition.cellClick.call(this.table,t,s)),e.column.definition.cellEditing&&e.column.definition.cellEditing.call(this.table,s),this.dispatch("cell-editing",e),this.dispatchExternal("cellEditing",s),o="function"==typeof e.column.modules.edit.params?e.column.modules.edit.params(s):e.column.modules.edit.params,n=e.column.modules.edit.editor.call(r,s,(function(e){a=e}),(function(t){if(r.currentCell===e&&!h){var i=r.chain("edit-success",[e,t],!0,!0);return!0===i||"highlight"===r.table.options.validationMode?(h=!0,r.clearEditor(),e.modules.edit||(e.modules.edit={}),e.modules.edit.edited=!0,-1==r.editedCells.indexOf(e)&&r.editedCells.push(e),t=r.transformEmptyValues(t,e),e.setValue(t,!0),!0===i):(h=!0,r.invalidEdit=!0,r.focusCellNoEvent(e,!0),a(),setTimeout((()=>{h=!1}),10),!1)}}),(function(){r.currentCell!==e||h||r.cancelEdit()}),o),!this.currentCell||!1===n)return this.blur(l),!1;if(!(n instanceof Node))return console.warn("Edit Error - Editor should return an instance of Node, the editor returned:",n),this.blur(l),!1;for(l.classList.add("tabulator-editing"),e.row.getElement().classList.add("tabulator-editing"),e.table.element.classList.add("tabulator-editing");l.firstChild;)l.removeChild(l.firstChild);l.appendChild(n),a();for(var u=l.children,c=0;c<u.length;c++)u[c].addEventListener("click",(function(e){e.stopPropagation()}));return!0}return this.mouseClick=!1,this.blur(l),!1}this.invalidEdit||this.currentCell===e||this.cancelEdit()}emptyValueCheck(e){return""===e||null==e}transformEmptyValues(e,t){var i,n=t.column.modules.edit;return(n.convertEmptyValues||this.convertEmptyValues)&&(i=n.editorEmptyValueFunc||this.options("editorEmptyValueFunc"))&&i(e)&&(e=n.convertEmptyValues?n.editorEmptyValue:this.options("editorEmptyValue")),e}blur(e){this.confirm("edit-blur",[e])||e.blur()}getEditedCells(){var e=[];return this.editedCells.forEach((t=>{e.push(t.getComponent())})),e}clearEdited(e){var t;e.modules.edit&&e.modules.edit.edited&&(e.modules.edit.edited=!1,this.dispatch("edit-edited-clear",e)),(t=this.editedCells.indexOf(e))>-1&&this.editedCells.splice(t,1)}}class F{constructor(e,t,i,n){this.type=e,this.columns=t,this.component=i||!1,this.indent=n||0}}class z{constructor(e,t,i,n,s){this.value=e,this.component=t||!1,this.width=i,this.height=n,this.depth=s}}var H={},N={visible:function(){return this.rowManager.getVisibleRows(!1,!0)},all:function(){return this.rowManager.rows},selected:function(){return this.modules.selectRow.selectedRows},active:function(){return this.options.pagination?this.rowManager.getDisplayRows(this.rowManager.displayRows.length-2):this.rowManager.getDisplayRows()}};class I extends s{static moduleName="export";static columnLookups=H;static rowLookups=N;constructor(e){super(e),this.config={},this.cloneTableStyle=!0,this.colVisProp="",this.colVisPropAttach="",this.registerTableOption("htmlOutputConfig",!1),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput")}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this))}generateExportList(e,t,i,n){var s,o,r,a;return this.cloneTableStyle=t,this.config=e||{},this.colVisProp=n,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),(a=I.columnLookups[i])&&(r=(r=a.call(this.table)).filter((e=>this.columnVisCheck(e)))),s=!1!==this.config.columnHeaders?this.headersToExportRows(this.generateColumnGroupHeaders(r)):[],r&&(r=r.map((e=>e.getComponent()))),o=this.bodyToExportRows(this.rowLookup(i),r),s.concat(o)}generateTable(e,t,i,n){var s=this.generateExportList(e,t,i,n);return this.generateTableElement(s)}rowLookup(e){var t,i=[];return"function"==typeof e?e.call(this.table).forEach((e=>{(e=this.table.rowManager.findRow(e))&&i.push(e)})):(t=I.rowLookups[e]||I.rowLookups.active,i=t.call(this.table)),Object.assign([],i)}generateColumnGroupHeaders(e){var t=[];return e||(e=!1!==this.config.columnGroups?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),e.forEach((e=>{var i=this.processColumnGroup(e);i&&t.push(i)})),t}processColumnGroup(e){var t=e.columns,i=0,n={title:e.definition["title"+this.colVisPropAttach]||e.definition.title,column:e,depth:1};if(t.length){if(n.subGroups=[],n.width=0,t.forEach((e=>{var t=this.processColumnGroup(e);t&&(n.width+=t.width,n.subGroups.push(t),t.depth>i&&(i=t.depth))})),n.depth+=i,!n.width)return!1}else{if(!this.columnVisCheck(e))return!1;n.width=1}return n}columnVisCheck(e){var t=e.definition[this.colVisProp];return(!1!==this.config.rowHeaders||!e.isRowHeader)&&("function"==typeof t&&(t=t.call(this.table,e.getComponent())),!1===t||!0===t?t:e.visible&&e.field)}headersToExportRows(e){var t=[],i=0,n=[];function s(e,n){var o=i-n;if(void 0===t[n]&&(t[n]=[]),e.height=e.subGroups?1:o-e.depth+1,t[n].push(e),e.height>1)for(let i=1;i<e.height;i++)void 0===t[n+i]&&(t[n+i]=[]),t[n+i].push(!1);if(e.width>1)for(let i=1;i<e.width;i++)t[n].push(!1);e.subGroups&&e.subGroups.forEach((function(e){s(e,n+1)}))}return e.forEach((function(e){e.depth>i&&(i=e.depth)})),e.forEach((function(e){s(e,0)})),t.forEach((e=>{var t=[];e.forEach((e=>{if(e){let i=void 0===e.title?"":e.title;t.push(new z(i,e.column.getComponent(),e.width,e.height,e.depth))}else t.push(null)})),n.push(new F("header",t))})),n}bodyToExportRows(e,t=[]){var i=[];return 0===t.length&&this.table.columnManager.columnsByIndex.forEach((e=>{this.columnVisCheck(e)&&t.push(e.getComponent())})),!1!==this.config.columnCalcs&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&e.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&e.push(this.table.modules.columnCalcs.botRow)),(e=e.filter((e=>{switch(e.type){case"group":return!1!==this.config.rowGroups;case"calc":return!1!==this.config.columnCalcs;case"row":return!(this.table.options.dataTree&&!1===this.config.dataTree&&e.modules.dataTree.parent)}return!0}))).forEach(((e,n)=>{var s=e.getData(this.colVisProp),o=[],r=0;switch(e.type){case"group":r=e.level,o.push(new z(e.key,e.getComponent(),t.length,1));break;case"calc":case"row":t.forEach((e=>{o.push(new z(e._column.getFieldValue(s),e,1,1))})),this.table.options.dataTree&&!1!==this.config.dataTree&&(r=e.modules.dataTree.index)}i.push(new F(e.type,o,e.getComponent(),r))})),i}generateTableElement(e){var t=document.createElement("table"),i=document.createElement("thead"),n=document.createElement("tbody"),s=this.lookupTableStyles(),o=this.table.options["rowFormatter"+this.colVisPropAttach],r={};return r.rowFormatter=null!==o?o:this.table.options.rowFormatter,this.table.options.dataTree&&!1!==this.config.dataTree&&this.table.modExists("columnCalcs")&&(r.treeElementField=this.table.modules.dataTree.elementField),r.groupHeader=this.table.options["groupHeader"+this.colVisPropAttach],r.groupHeader&&!Array.isArray(r.groupHeader)&&(r.groupHeader=[r.groupHeader]),t.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),i,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),e.length>1e3&&console.warn("It may take a long time to render an HTML table with more than 1000 rows"),e.forEach(((e,t)=>{let o;switch(e.type){case"header":i.appendChild(this.generateHeaderElement(e,r,s));break;case"group":n.appendChild(this.generateGroupElement(e,r,s));break;case"calc":n.appendChild(this.generateCalcElement(e,r,s));break;case"row":o=this.generateRowElement(e,r,s),this.mapElementStyles(t%2&&s.evenRow?s.evenRow:s.oddRow,o,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),n.appendChild(o)}})),i.innerHTML&&t.appendChild(i),t.appendChild(n),this.mapElementStyles(this.table.element,t,["border-top","border-left","border-right","border-bottom"]),t}lookupTableStyles(){var e={};return this.cloneTableStyle&&window.getComputedStyle&&(e.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),e.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),e.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),e.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),e.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],e.firstRow&&(e.styleCells=e.firstRow.getElementsByClassName("tabulator-cell"),e.styleRowHeader=e.firstRow.getElementsByClassName("tabulator-row-header")[0],e.firstCell=e.styleCells[0],e.lastCell=e.styleCells[e.styleCells.length-1])),e}generateHeaderElement(e,t,i){var n=document.createElement("tr");return e.columns.forEach((e=>{if(e){var t=document.createElement("th"),i=e.component._column.definition.cssClass?e.component._column.definition.cssClass.split(" "):[];t.colSpan=e.width,t.rowSpan=e.height,t.innerHTML=e.value,this.cloneTableStyle&&(t.style.boxSizing="border-box"),i.forEach((function(e){t.classList.add(e)})),this.mapElementStyles(e.component.getElement(),t,["text-align","border-left","border-right","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(e.component._column.contentElement,t,["padding-top","padding-left","padding-right","padding-bottom"]),e.component._column.visible?this.mapElementStyles(e.component.getElement(),t,["width"]):e.component._column.definition.width&&(t.style.width=e.component._column.definition.width+"px"),e.component._column.parent&&e.component._column.parent.isGroup?this.mapElementStyles(e.component._column.parent.groupElement,t,["border-top"]):this.mapElementStyles(e.component.getElement(),t,["border-top"]),e.component._column.isGroup?this.mapElementStyles(e.component.getElement(),t,["border-bottom"]):this.mapElementStyles(this.table.columnManager.getElement(),t,["border-bottom"]),n.appendChild(t)}})),n}generateGroupElement(e,t,i){var n=document.createElement("tr"),s=document.createElement("td"),o=e.columns[0];return n.classList.add("tabulator-print-table-row"),t.groupHeader&&t.groupHeader[e.indent]?o.value=t.groupHeader[e.indent](o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component):!1!==t.groupHeader&&(o.value=e.component._group.generator(o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)),s.colSpan=o.width,s.innerHTML=o.value,n.classList.add("tabulator-print-table-group"),n.classList.add("tabulator-group-level-"+e.indent),o.component.isVisible()&&n.classList.add("tabulator-group-visible"),this.mapElementStyles(i.firstGroup,n,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(i.firstGroup,s,["padding-top","padding-left","padding-right","padding-bottom"]),n.appendChild(s),n}generateCalcElement(e,t,i){var n=this.generateRowElement(e,t,i);return n.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(i.calcRow,n,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),n}generateRowElement(e,t,i){var n=document.createElement("tr");if(n.classList.add("tabulator-print-table-row"),e.columns.forEach(((s,o)=>{if(s){var r,a,l=document.createElement("td"),h=s.component._column,u=this.table,c=u.columnManager.findColumnIndex(h),d=s.value,p={modules:{},getValue:function(){return d},getField:function(){return h.definition.field},getElement:function(){return l},getType:function(){return"cell"},getColumn:function(){return h.getComponent()},getData:function(){return e.component.getData()},getRow:function(){return e.component},getTable:function(){return u},getComponent:function(){return p},column:h};if((h.definition.cssClass?h.definition.cssClass.split(" "):[]).forEach((function(e){l.classList.add(e)})),this.table.modExists("format")&&!1!==this.config.formatCells)d=this.table.modules.format.formatExportValue(p,this.colVisProp);else switch(typeof d){case"object":d=null!==d?JSON.stringify(d):"";break;case"undefined":d=""}d instanceof Node?l.appendChild(d):l.innerHTML=d,a=["padding-top","padding-left","padding-right","padding-bottom","border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","text-align"],h.isRowHeader?(r=i.styleRowHeader,a.push("background-color")):r=i.styleCells&&i.styleCells[c]?i.styleCells[c]:i.firstCell,r&&(this.mapElementStyles(r,l,a),h.definition.align&&(l.style.textAlign=h.definition.align)),this.table.options.dataTree&&!1!==this.config.dataTree&&(t.treeElementField&&t.treeElementField==h.field||!t.treeElementField&&0==o)&&(e.component._row.modules.dataTree.controlEl&&l.insertBefore(e.component._row.modules.dataTree.controlEl.cloneNode(!0),l.firstChild),e.component._row.modules.dataTree.branchEl&&l.insertBefore(e.component._row.modules.dataTree.branchEl.cloneNode(!0),l.firstChild)),n.appendChild(l),p.modules.format&&p.modules.format.renderedCallback&&p.modules.format.renderedCallback()}})),t.rowFormatter&&"row"===e.type&&!1!==this.config.formatCells){Object.assign(e.component).getElement=function(){return n},t.rowFormatter(e.component)}return n}generateHTMLTable(e){var t=document.createElement("div");return t.appendChild(this.generateTableElement(e)),t.innerHTML}getHtml(e,t,i,n){var s=this.generateExportList(i||this.table.options.htmlOutputConfig,t,e,n||"htmlOutput");return this.generateHTMLTable(s)}mapElementStyles(e,t,i){if(this.cloneTableStyle&&e&&t){var n={"background-color":"backgroundColor",color:"fontColor",width:"width","font-weight":"fontWeight","font-family":"fontFamily","font-size":"fontSize","text-align":"textAlign","border-top":"borderTop","border-left":"borderLeft","border-right":"borderRight","border-bottom":"borderBottom","padding-top":"paddingTop","padding-left":"paddingLeft","padding-right":"paddingRight","padding-bottom":"paddingBottom"};if(window.getComputedStyle){var s=window.getComputedStyle(e);i.forEach((function(e){t.style[n[e]]||(t.style[n[e]]=s.getPropertyValue(e))}))}}}}var B={"=":function(e,t,i,n){return t==e},"<":function(e,t,i,n){return t<e},"<=":function(e,t,i,n){return t<=e},">":function(e,t,i,n){return t>e},">=":function(e,t,i,n){return t>=e},"!=":function(e,t,i,n){return t!=e},regex:function(e,t,i,n){return"string"==typeof e&&(e=new RegExp(e)),e.test(t)},like:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().indexOf(e.toLowerCase())>-1},keywords:function(e,t,i,n){var s=e.toLowerCase().split(void 0===n.separator?" ":n.separator),o=String(null==t?"":t).toLowerCase(),r=[];return s.forEach((e=>{o.includes(e)&&r.push(!0)})),n.matchAll?r.length===s.length:!!r.length},starts:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().startsWith(e.toLowerCase())},ends:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().endsWith(e.toLowerCase())},in:function(e,t,i,n){return Array.isArray(e)?!e.length||e.indexOf(t)>-1:(console.warn("Filter Error - filter value is not an array:",e),!1)}};class V extends s{static moduleName="filter";static filters=B;constructor(e){super(e),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=!1,this.tableInitialized=!1,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",!1),this.registerTableOption("initialHeaderFilter",!1),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",!1),this.registerColumnOption("headerFilter"),this.registerColumnOption("headerFilterPlaceholder"),this.registerColumnOption("headerFilterParams"),this.registerColumnOption("headerFilterEmptyCheck"),this.registerColumnOption("headerFilterFunc"),this.registerColumnOption("headerFilterFuncParams"),this.registerColumnOption("headerFilterLiveFilter"),this.registerTableFunction("searchRows",this.searchRows.bind(this)),this.registerTableFunction("searchData",this.searchData.bind(this)),this.registerTableFunction("setFilter",this.userSetFilter.bind(this)),this.registerTableFunction("refreshFilter",this.userRefreshFilter.bind(this)),this.registerTableFunction("addFilter",this.userAddFilter.bind(this)),this.registerTableFunction("getFilters",this.getFilters.bind(this)),this.registerTableFunction("setHeaderFilterFocus",this.userSetHeaderFilterFocus.bind(this)),this.registerTableFunction("getHeaderFilterValue",this.userGetHeaderFilterValue.bind(this)),this.registerTableFunction("setHeaderFilterValue",this.userSetHeaderFilterValue.bind(this)),this.registerTableFunction("getHeaderFilters",this.getHeaderFilters.bind(this)),this.registerTableFunction("removeFilter",this.userRemoveFilter.bind(this)),this.registerTableFunction("clearFilter",this.userClearFilter.bind(this)),this.registerTableFunction("clearHeaderFilter",this.userClearHeaderFilter.bind(this)),this.registerComponentFunction("column","headerFilterFocus",this.setHeaderFilterFocus.bind(this)),this.registerComponentFunction("column","reloadHeaderFilter",this.reloadHeaderFilter.bind(this)),this.registerComponentFunction("column","getHeaderFilterValue",this.getHeaderFilterValue.bind(this)),this.registerComponentFunction("column","setHeaderFilterValue",this.setHeaderFilterValue.bind(this))}initialize(){this.subscribe("column-init",this.initializeColumnHeaderFilter.bind(this)),this.subscribe("column-width-fit-before",this.hideHeaderFilterElements.bind(this)),this.subscribe("column-width-fit-after",this.showHeaderFilterElements.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.subscribe("placeholder",this.generatePlaceholder.bind(this)),"remote"===this.table.options.filterMode&&this.subscribe("data-params",this.remoteFilterParams.bind(this)),this.registerDataHandler(this.filter.bind(this),10)}tableBuilt(){this.table.options.initialFilter&&this.setFilter(this.table.options.initialFilter),this.table.options.initialHeaderFilter&&this.table.options.initialHeaderFilter.forEach((e=>{var t=this.table.columnManager.findColumn(e.field);if(!t)return console.warn("Column Filter Error - No matching column found:",e.field),!1;this.setHeaderFilterValue(t,e.value)})),this.tableInitialized=!0}remoteFilterParams(e,t,i,n){return n.filter=this.getFilters(!0,!0),n}generatePlaceholder(e){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(e,t,i,n){this.setFilter(e,t,i,n),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(e,t,i,n){this.addFilter(e,t,i,n),this.refreshFilter()}userSetHeaderFilterFocus(e){var t=this.table.columnManager.findColumn(e);if(!t)return console.warn("Column Filter Focus Error - No matching column found:",e),!1;this.setHeaderFilterFocus(t)}userGetHeaderFilterValue(e){var t=this.table.columnManager.findColumn(e);if(t)return this.getHeaderFilterValue(t);console.warn("Column Filter Error - No matching column found:",e)}userSetHeaderFilterValue(e,t){var i=this.table.columnManager.findColumn(e);if(!i)return console.warn("Column Filter Error - No matching column found:",e),!1;this.setHeaderFilterValue(i,t)}userRemoveFilter(e,t,i){this.removeFilter(e,t,i),this.refreshFilter()}userClearFilter(e){this.clearFilter(e),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(e,t,i){return this.search("rows",e,t,i)}searchData(e,t,i){return this.search("data",e,t,i)}initializeColumnHeaderFilter(e){e.definition.headerFilter&&this.initializeColumn(e)}initializeColumn(e,t){var i=this,n=e.getField();e.modules.filter={success:function(t){var s,o="input"==e.modules.filter.tagType&&"text"==e.modules.filter.attrType||"textarea"==e.modules.filter.tagType?"partial":"match",r="",a="";if(void 0===e.modules.filter.prevSuccess||e.modules.filter.prevSuccess!==t){if(e.modules.filter.prevSuccess=t,e.modules.filter.emptyFunc(t))delete i.headerFilters[n];else{switch(e.modules.filter.value=t,typeof e.definition.headerFilterFunc){case"string":V.filters[e.definition.headerFilterFunc]?(r=e.definition.headerFilterFunc,s=function(i){var n=e.definition.headerFilterFuncParams||{},s=e.getFieldValue(i);return n="function"==typeof n?n(t,s,i):n,V.filters[e.definition.headerFilterFunc](t,s,i,n)}):console.warn("Header Filter Error - Matching filter function not found: ",e.definition.headerFilterFunc);break;case"function":r=s=function(i){var n=e.definition.headerFilterFuncParams||{},s=e.getFieldValue(i);return n="function"==typeof n?n(t,s,i):n,e.definition.headerFilterFunc(t,s,i,n)}}if(!s)if("partial"===o)s=function(i){var n=e.getFieldValue(i);return null!=n&&String(n).toLowerCase().indexOf(String(t).toLowerCase())>-1},r="like";else s=function(i){return e.getFieldValue(i)==t},r="=";i.headerFilters[n]={value:t,func:s,type:r}}e.modules.filter.value=t,a=JSON.stringify(i.headerFilters),i.prevHeaderFilterChangeCheck!==a&&(i.prevHeaderFilterChangeCheck=a,i.trackChanges(),i.refreshFilter())}return!0},attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(e)}generateHeaderFilterElement(e,t,i){var n,s,o,r,a,l,h,u,c=this,d=e.modules.filter.success,p=e.getField();if(e.modules.filter.value=t,e.modules.filter.headerElement&&e.modules.filter.headerElement.parentNode&&e.contentElement.removeChild(e.modules.filter.headerElement.parentNode),p){switch(e.modules.filter.emptyFunc=e.definition.headerFilterEmptyCheck||function(e){return!e&&0!==e},(n=document.createElement("div")).classList.add("tabulator-header-filter"),typeof e.definition.headerFilter){case"string":c.table.modules.edit.editors[e.definition.headerFilter]?(s=c.table.modules.edit.editors[e.definition.headerFilter],"tick"!==e.definition.headerFilter&&"tickCross"!==e.definition.headerFilter||e.definition.headerFilterEmptyCheck||(e.modules.filter.emptyFunc=function(e){return!0!==e&&!1!==e})):console.warn("Filter Error - Cannot build header filter, No such editor found: ",e.definition.editor);break;case"function":s=e.definition.headerFilter;break;case"boolean":e.modules.edit&&e.modules.edit.editor?s=e.modules.edit.editor:e.definition.formatter&&c.table.modules.edit.editors[e.definition.formatter]?(s=c.table.modules.edit.editors[e.definition.formatter],"tick"!==e.definition.formatter&&"tickCross"!==e.definition.formatter||e.definition.headerFilterEmptyCheck||(e.modules.filter.emptyFunc=function(e){return!0!==e&&!1!==e})):s=c.table.modules.edit.editors.input}if(s){if(r={getValue:function(){return void 0!==t?t:""},getField:function(){return e.definition.field},getElement:function(){return n},getColumn:function(){return e.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return{normalizeHeight:function(){}}}},h="function"==typeof(h=e.definition.headerFilterParams||{})?h.call(c.table,r):h,!(o=s.call(this.table.modules.edit,r,(function(e){u=e}),d,(function(){}),h)))return void console.warn("Filter Error - Cannot add filter to "+p+" column, editor returned a value of false");if(!(o instanceof Node))return void console.warn("Filter Error - Cannot add filter to "+p+" column, editor should return an instance of Node, the editor returned:",o);c.langBind("headerFilters|columns|"+e.definition.field,(function(t){o.setAttribute("placeholder",void 0!==t&&t?t:e.definition.headerFilterPlaceholder||c.langText("headerFilters|default"))})),o.addEventListener("click",(function(e){e.stopPropagation(),o.focus()})),o.addEventListener("focus",(e=>{var t=this.table.columnManager.contentsElement.scrollLeft;t!==this.table.rowManager.element.scrollLeft&&(this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})),a=!1,l=function(e){a&&clearTimeout(a),a=setTimeout((function(){d(o.value)}),c.table.options.headerFilterLiveFilterDelay)},e.modules.filter.headerElement=o,e.modules.filter.attrType=o.hasAttribute("type")?o.getAttribute("type").toLowerCase():"",e.modules.filter.tagType=o.tagName.toLowerCase(),!1!==e.definition.headerFilterLiveFilter&&("autocomplete"!==e.definition.headerFilter&&"tickCross"!==e.definition.headerFilter&&("autocomplete"!==e.definition.editor&&"tickCross"!==e.definition.editor||!0!==e.definition.headerFilter)&&(o.addEventListener("keyup",l),o.addEventListener("search",l),"number"==e.modules.filter.attrType&&o.addEventListener("change",(function(e){d(o.value)})),"text"==e.modules.filter.attrType&&"ie"!==this.table.browser&&o.setAttribute("type","search")),"input"!=e.modules.filter.tagType&&"select"!=e.modules.filter.tagType&&"textarea"!=e.modules.filter.tagType||o.addEventListener("mousedown",(function(e){e.stopPropagation()}))),n.appendChild(o),e.contentElement.appendChild(n),i||c.headerFilterColumns.push(e),u&&u()}}else console.warn("Filter Error - Cannot add header filter, column has no field set:",e.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach((function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="none")}))}showHeaderFilterElements(){this.headerFilterColumns.forEach((function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="")}))}setHeaderFilterFocus(e){e.modules.filter&&e.modules.filter.headerElement?e.modules.filter.headerElement.focus():console.warn("Column Filter Focus Error - No header filter set on column:",e.getField())}getHeaderFilterValue(e){if(e.modules.filter&&e.modules.filter.headerElement)return e.modules.filter.value;console.warn("Column Filter Error - No header filter set on column:",e.getField())}setHeaderFilterValue(e,t){e&&(e.modules.filter&&e.modules.filter.headerElement?(this.generateHeaderFilterElement(e,t,!0),e.modules.filter.success(t)):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}reloadHeaderFilter(e){e&&(e.modules.filter&&e.modules.filter.headerElement?this.generateHeaderFilterElement(e,e.modules.filter.value,!0):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}refreshFilter(){this.tableInitialized&&("remote"===this.table.options.filterMode?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch("filter-changed")}hasChanged(){var e=this.changed;return this.changed=!1,e}setFilter(e,t,i,n){this.filterList=[],Array.isArray(e)||(e=[{field:e,type:t,value:i,params:n}]),this.addFilter(e)}addFilter(e,t,i,n){var s=!1;Array.isArray(e)||(e=[{field:e,type:t,value:i,params:n}]),e.forEach((e=>{(e=this.findFilter(e))&&(this.filterList.push(e),s=!0)})),s&&this.trackChanges()}findFilter(e){var t;if(Array.isArray(e))return this.findSubFilters(e);var i=!1;return"function"==typeof e.field?i=function(t){return e.field(t,e.type||{})}:V.filters[e.type]?i=(t=this.table.columnManager.getColumnByField(e.field))?function(i){return V.filters[e.type](e.value,t.getFieldValue(i),i,e.params||{})}:function(t){return V.filters[e.type](e.value,t[e.field],t,e.params||{})}:console.warn("Filter Error - No such filter type found, ignoring: ",e.type),e.func=i,!!e.func&&e}findSubFilters(e){var t=[];return e.forEach((e=>{(e=this.findFilter(e))&&t.push(e)})),!!t.length&&t}getFilters(e,t){var i=[];return e&&(i=this.getHeaderFilters()),t&&i.forEach((function(e){"function"==typeof e.type&&(e.type="function")})),i=i.concat(this.filtersToArray(this.filterList,t))}filtersToArray(e,t){var i=[];return e.forEach((e=>{var n;Array.isArray(e)?i.push(this.filtersToArray(e,t)):(n={field:e.field,type:e.type,value:e.value},t&&"function"==typeof n.type&&(n.type="function"),i.push(n))})),i}getHeaderFilters(){var e=[];for(var t in this.headerFilters)e.push({field:t,type:this.headerFilters[t].type,value:this.headerFilters[t].value});return e}removeFilter(e,t,i){Array.isArray(e)||(e=[{field:e,type:t,value:i}]),e.forEach((e=>{var t=-1;(t="object"==typeof e.field?this.filterList.findIndex((t=>e===t)):this.filterList.findIndex((t=>e.field===t.field&&e.type===t.type&&e.value===t.value)))>-1?this.filterList.splice(t,1):console.warn("Filter Error - No matching filter type found, ignoring: ",e.type)})),this.trackChanges()}clearFilter(e){this.filterList=[],e&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach((e=>{void 0!==e.modules.filter.value&&delete e.modules.filter.value,e.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(e)})),this.trackChanges()}search(e,t,i,n){var s=[],o=[];return Array.isArray(t)||(t=[{field:t,type:i,value:n}]),t.forEach((e=>{(e=this.findFilter(e))&&o.push(e)})),this.table.rowManager.rows.forEach((t=>{var i=!0;o.forEach((e=>{this.filterRecurse(e,t.getData())||(i=!1)})),i&&s.push("data"===e?t.getData("data"):t.getComponent())})),s}filter(e,t){var i=[],n=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(!0)),"remote"!==this.table.options.filterMode&&(this.filterList.length||Object.keys(this.headerFilters).length)?e.forEach((e=>{this.filterRow(e)&&i.push(e)})):i=e.slice(0),this.subscribedExternal("dataFiltered")&&(i.forEach((e=>{n.push(e.getComponent())})),this.dispatchExternal("dataFiltered",this.getFilters(!0),n)),i}filterRow(e,t){var i=!0,n=e.getData();for(var s in this.filterList.forEach((e=>{this.filterRecurse(e,n)||(i=!1)})),this.headerFilters)this.headerFilters[s].func(n)||(i=!1);return i}filterRecurse(e,t){var i=!1;return Array.isArray(e)?e.forEach((e=>{this.filterRecurse(e,t)&&(i=!0)})):i=e.func(t),i}}var W={plaintext:function(e,t,i){return this.emptyToSpace(this.sanitizeHTML(e.getValue()))},html:function(e,t,i){return e.getValue()},textarea:function(e,t,i){return e.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(e.getValue()))},money:function(e,t,i){var n,s,o,r,a,l=parseFloat(e.getValue()),h="",u=t.decimal||".",c=t.thousand||",",d=t.negativeSign||"-",p=t.symbol||"",m=!!t.symbolAfter,g=void 0!==t.precision?t.precision:2;if(isNaN(l))return this.emptyToSpace(this.sanitizeHTML(e.getValue()));if(l<0&&(l=Math.abs(l),h=d),n=!1!==g?l.toFixed(g):l,s=(n=String(n).split("."))[0],o=n.length>1?u+n[1]:"",!1!==t.thousand)for(r=/(\d+)(\d{3})/;r.test(s);)s=s.replace(r,"$1"+c+"$2");return a=s+o,!0===h?(a="("+a+")",m?a+p:p+a):m?h+a+p:h+p+a},link:function(e,i,n){var s,o=e.getValue(),r=i.urlPrefix||"",a=i.download,l=o,h=document.createElement("a");if(i.labelField&&(s=e.getData(),l=function e(t,i){var n=i[t.shift()];return t.length&&"object"==typeof n?e(t,n):n}(i.labelField.split(this.table.options.nestedFieldSeparator),s)),i.label)switch(typeof i.label){case"string":l=i.label;break;case"function":l=i.label(e)}if(l){if(i.urlField&&(s=e.getData(),o=t.retrieveNestedData(this.table.options.nestedFieldSeparator,i.urlField,s)),i.url)switch(typeof i.url){case"string":o=i.url;break;case"function":o=i.url(e)}return h.setAttribute("href",r+o),i.target&&h.setAttribute("target",i.target),i.download&&(a="function"==typeof a?a(e):!0===a?"":a,h.setAttribute("download",a)),h.innerHTML=this.emptyToSpace(this.sanitizeHTML(l)),h}return"&nbsp;"},image:function(e,t,i){var n=document.createElement("img"),s=e.getValue();switch(t.urlPrefix&&(s=t.urlPrefix+e.getValue()),t.urlSuffix&&(s+=t.urlSuffix),n.setAttribute("src",s),typeof t.height){case"number":n.style.height=t.height+"px";break;case"string":n.style.height=t.height}switch(typeof t.width){case"number":n.style.width=t.width+"px";break;case"string":n.style.width=t.width}return n.addEventListener("load",(function(){e.getRow().normalizeHeight()})),n},tickCross:function(e,t,i){var n=e.getValue(),s=e.getElement(),o=t.allowEmpty,r=t.allowTruthy,a=Object.keys(t).includes("trueValue"),l=void 0!==t.tickElement?t.tickElement:'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>',h=void 0!==t.crossElement?t.crossElement:'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>';return a&&n===t.trueValue||!a&&(r&&n||!0===n||"true"===n||"True"===n||1===n||"1"===n)?(s.setAttribute("aria-checked",!0),l||""):!o||"null"!==n&&""!==n&&null!=n?(s.setAttribute("aria-checked",!1),h||""):(s.setAttribute("aria-checked","mixed"),"")},datetime:function(e,t,i){var n,s=window.DateTime||luxon.DateTime,o=t.inputFormat||"yyyy-MM-dd HH:mm:ss",r=t.outputFormat||"dd/MM/yyyy HH:mm:ss",a=void 0!==t.invalidPlaceholder?t.invalidPlaceholder:"",l=e.getValue();if(void 0!==s)return(n=s.isDateTime(l)?l:"iso"===o?s.fromISO(String(l)):s.fromFormat(String(l),o)).isValid?(t.timezone&&(n=n.setZone(t.timezone)),n.toFormat(r)):!0!==a&&l?"function"==typeof a?a(l):a:l;console.error("Format Error - 'datetime' formatter is dependant on luxon.js")},datetimediff:function(e,t,i){var n,s=window.DateTime||luxon.DateTime,o=t.inputFormat||"yyyy-MM-dd HH:mm:ss",r=void 0!==t.invalidPlaceholder?t.invalidPlaceholder:"",a=void 0!==t.suffix&&t.suffix,l=void 0!==t.unit?t.unit:"days",h=void 0!==t.humanize&&t.humanize,u=void 0!==t.date?t.date:s.now(),c=e.getValue();if(void 0!==s)return(n=s.isDateTime(c)?c:"iso"===o?s.fromISO(String(c)):s.fromFormat(String(c),o)).isValid?h?n.diff(u,l).toHuman()+(a?" "+a:""):parseInt(n.diff(u,l)[l])+(a?" "+a:""):!0===r?c:"function"==typeof r?r(c):r;console.error("Format Error - 'datetimediff' formatter is dependant on luxon.js")},lookup:function(e,t,i){var n=e.getValue();return void 0===t[n]?(console.warn("Missing display value for "+n),n):t[n]},star:function(e,t,i){var n=e.getValue(),s=e.getElement(),o=t&&t.stars?t.stars:5,r=document.createElement("span"),a=document.createElementNS("http://www.w3.org/2000/svg","svg");r.style.verticalAlign="middle",a.setAttribute("width","14"),a.setAttribute("height","14"),a.setAttribute("viewBox","0 0 512 512"),a.setAttribute("xml:space","preserve"),a.style.padding="0 1px",n=n&&!isNaN(n)?parseInt(n):0,n=Math.max(0,Math.min(n,o));for(var l=1;l<=o;l++){var h=a.cloneNode(!0);h.innerHTML=l<=n?'<polygon fill="#FFEA00" stroke="#C1AB60" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>':'<polygon fill="#D2D2D2" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>',r.appendChild(h)}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",n),r},traffic:function(e,t,i){var n,s,o=this.sanitizeHTML(e.getValue())||0,r=document.createElement("span"),a=t&&t.max?t.max:100,l=t&&t.min?t.min:0,h=t&&void 0!==t.color?t.color:["red","orange","green"],u="#666666";if(!isNaN(o)&&void 0!==e.getValue()){switch(r.classList.add("tabulator-traffic-light"),s=parseFloat(o)<=a?parseFloat(o):a,s=parseFloat(s)>=l?parseFloat(s):l,n=(a-l)/100,s=Math.round((s-l)/n),typeof h){case"string":u=h;break;case"function":u=h(o);break;case"object":if(Array.isArray(h)){var c=100/h.length,d=Math.floor(s/c);d=Math.min(d,h.length-1),u=h[d=Math.max(d,0)];break}}return r.style.backgroundColor=u,r}},progress:function(e,t={},i){var n,s,o,r,a,l=this.sanitizeHTML(e.getValue())||0,h=e.getElement(),u=t.max?t.max:100,c=t.min?t.min:0,d=t.legendAlign?t.legendAlign:"center";switch(s=parseFloat(l)<=u?parseFloat(l):u,s=parseFloat(s)>=c?parseFloat(s):c,n=(u-c)/100,s=Math.round((s-c)/n),typeof t.color){case"string":o=t.color;break;case"function":o=t.color(l);break;case"object":if(Array.isArray(t.color)){let e=100/t.color.length,i=Math.floor(s/e);i=Math.min(i,t.color.length-1),i=Math.max(i,0),o=t.color[i];break}default:o="#2DC214"}switch(typeof t.legend){case"string":r=t.legend;break;case"function":r=t.legend(l);break;case"boolean":r=l;break;default:r=!1}switch(typeof t.legendColor){case"string":a=t.legendColor;break;case"function":a=t.legendColor(l);break;case"object":if(Array.isArray(t.legendColor)){let e=100/t.legendColor.length,i=Math.floor(s/e);i=Math.min(i,t.legendColor.length-1),i=Math.max(i,0),a=t.legendColor[i]}break;default:a="#000"}h.style.minWidth="30px",h.style.position="relative",h.setAttribute("aria-label",s);var p=document.createElement("div");p.style.display="inline-block",p.style.width=s+"%",p.style.backgroundColor=o,p.style.height="100%",p.setAttribute("data-max",u),p.setAttribute("data-min",c);var m=document.createElement("div");if(m.style.position="relative",m.style.width="100%",m.style.height="100%",r){var g=document.createElement("div");g.style.position="absolute",g.style.top=0,g.style.left=0,g.style.textAlign=d,g.style.width="100%",g.style.color=a,g.innerHTML=r}return i((function(){if(!(e instanceof C)){var t=document.createElement("div");t.style.position="absolute",t.style.top="4px",t.style.bottom="4px",t.style.left="4px",t.style.right="4px",h.appendChild(t),h=t}h.appendChild(m),m.appendChild(p),r&&m.appendChild(g)})),""},color:function(e,t,i){return e.getElement().style.backgroundColor=this.sanitizeHTML(e.getValue()),""},buttonTick:function(e,t,i){return'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>'},buttonCross:function(e,t,i){return'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>'},toggle:function(e,t,i){var n,s,o=e.getValue(),r=t.size||15,a=r+"px",l=!t.hasOwnProperty("onValue")||t.onValue,h=!!t.hasOwnProperty("offValue")&&t.offValue,u=t.onTruthy?o:o===l;return(n=document.createElement("div")).classList.add("tabulator-toggle"),u?(n.classList.add("tabulator-toggle-on"),n.style.flexDirection="row-reverse",t.onColor&&(n.style.background=t.onColor)):t.offColor&&(n.style.background=t.offColor),n.style.width=2.5*r+"px",n.style.borderRadius=a,t.clickable&&n.addEventListener("click",(t=>{e.setValue(u?h:l)})),(s=document.createElement("div")).classList.add("tabulator-toggle-switch"),s.style.height=a,s.style.width=a,s.style.borderRadius=a,n.appendChild(s),n},rownum:function(e,t,i){var n=document.createElement("span"),s=e.getRow(),o=e.getTable();return s.watchPosition((e=>{t.relativeToPage&&(e+=o.modules.page.getPageSize()*(o.modules.page.getPage()-1)),n.innerText=e})),n},handle:function(e,t,i){return e.getElement().classList.add("tabulator-row-handle"),"<div class='tabulator-row-handle-box'><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div></div>"}};class j extends s{static moduleName="format";static formatters=W;constructor(e){super(e),this.registerColumnOption("formatter"),this.registerColumnOption("formatterParams"),this.registerColumnOption("formatterPrint"),this.registerColumnOption("formatterPrintParams"),this.registerColumnOption("formatterClipboard"),this.registerColumnOption("formatterClipboardParams"),this.registerColumnOption("formatterHtmlOutput"),this.registerColumnOption("formatterHtmlOutputParams"),this.registerColumnOption("titleFormatter"),this.registerColumnOption("titleFormatterParams")}initialize(){this.subscribe("cell-format",this.formatValue.bind(this)),this.subscribe("cell-rendered",this.cellRendered.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-format",this.formatHeader.bind(this))}initializeColumn(e){e.modules.format=this.lookupFormatter(e,""),void 0!==e.definition.formatterPrint&&(e.modules.format.print=this.lookupFormatter(e,"Print")),void 0!==e.definition.formatterClipboard&&(e.modules.format.clipboard=this.lookupFormatter(e,"Clipboard")),void 0!==e.definition.formatterHtmlOutput&&(e.modules.format.htmlOutput=this.lookupFormatter(e,"HtmlOutput"))}lookupFormatter(e,t){var i={params:e.definition["formatter"+t+"Params"]||{}},n=e.definition["formatter"+t];switch(typeof n){case"string":j.formatters[n]?i.formatter=j.formatters[n]:(console.warn("Formatter Error - No such formatter found: ",n),i.formatter=j.formatters.plaintext);break;case"function":i.formatter=n;break;default:i.formatter=j.formatters.plaintext}return i}cellRendered(e){e.modules.format&&e.modules.format.renderedCallback&&!e.modules.format.rendered&&(e.modules.format.renderedCallback(),e.modules.format.rendered=!0)}formatHeader(e,t,i){var n,s,o,r;return e.definition.titleFormatter?(n=this.getFormatter(e.definition.titleFormatter),o=t=>{e.titleFormatterRendered=t},r={getValue:function(){return t},getElement:function(){return i},getType:function(){return"header"},getColumn:function(){return e.getComponent()},getTable:()=>this.table},s="function"==typeof(s=e.definition.titleFormatterParams||{})?s():s,n.call(this,r,s,o)):t}formatValue(e){var t=e.getComponent(),i="function"==typeof e.column.modules.format.params?e.column.modules.format.params(t):e.column.modules.format.params;return e.column.modules.format.formatter.call(this,t,i,(function(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1}))}formatExportValue(e,t){var i,n=e.column.modules.format[t];if(n){function s(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1}return i="function"==typeof n.params?n.params(e.getComponent()):n.params,n.formatter.call(this,e.getComponent(),i,s)}return this.formatValue(e)}sanitizeHTML(e){if(e){var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(e).replace(/[&<>"'`=/]/g,(function(e){return t[e]}))}return e}emptyToSpace(e){return null==e||""===e?"&nbsp;":e}getFormatter(e){switch(typeof e){case"string":j.formatters[e]?e=j.formatters[e]:(console.warn("Formatter Error - No such formatter found: ",e),e=j.formatters.plaintext);break;case"function":break;default:e=j.formatters.plaintext}return e}}class U{constructor(e){return this._group=e,this.type="GroupComponent",new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._group.groupManager.table.componentFunctionBinder.handle("group",e._group,t)}})}getKey(){return this._group.key}getField(){return this._group.field}getElement(){return this._group.element}getRows(){return this._group.getRows(!0)}getSubGroups(){return this._group.getSubGroups(!0)}getParentGroup(){return!!this._group.parent&&this._group.parent.getComponent()}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(e,t){return this._group.groupManager.table.rowManager.scrollToRow(this._group,e,t)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}}class G{constructor(e,t,i,n,s,o,r){this.groupManager=e,this.parent=t,this.key=n,this.level=i,this.field=s,this.hasSubGroups=i<e.groupIDLookups.length-1,this.addRow=this.hasSubGroups?this._addRowToGroup:this._addRow,this.type="group",this.old=r,this.rows=[],this.groups=[],this.groupList=[],this.generator=o,this.element=!1,this.elementContents=!1,this.height=0,this.outerHeight=0,this.initialized=!1,this.calcs={},this.initialized=!1,this.modules={},this.arrowElement=!1,this.visible=r?r.visible:void 0!==e.startOpen[i]?e.startOpen[i]:e.startOpen[0],this.component=null,this.createElements(),this.addBindings(),this.createValueGroups()}wipe(e){e||(this.groupList.length?this.groupList.forEach((function(e){e.wipe()})):this.rows.forEach((e=>{e.modules&&delete e.modules.group}))),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var e=document.createElement("div");e.classList.add("tabulator-arrow"),this.element=document.createElement("div"),this.element.classList.add("tabulator-row"),this.element.classList.add("tabulator-group"),this.element.classList.add("tabulator-group-level-"+this.level),this.element.setAttribute("role","rowgroup"),this.arrowElement=document.createElement("div"),this.arrowElement.classList.add("tabulator-group-toggle"),this.arrowElement.appendChild(e),!1!==this.groupManager.table.options.movableRows&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var e=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[e]&&this.groupManager.allowedValues[e].forEach((t=>{this._createGroup(t,e)}))}addBindings(){this.groupManager.table.options.groupToggleElement&&("arrow"==this.groupManager.table.options.groupToggleElement?this.arrowElement:this.element).addEventListener("click",(e=>{"arrow"===this.groupManager.table.options.groupToggleElement&&(e.stopPropagation(),e.stopImmediatePropagation()),setTimeout((()=>{this.toggleVisibility()}))}))}_createGroup(e,t){var i=t+"_"+e,n=new G(this.groupManager,this,t,e,this.groupManager.groupIDLookups[t].field,this.groupManager.headerGenerator[t]||this.groupManager.headerGenerator[0],!!this.old&&this.old.groups[i]);this.groups[i]=n,this.groupList.push(n)}_addRowToGroup(e){var t=this.level+1;if(this.hasSubGroups){var i=this.groupManager.groupIDLookups[t].func(e.getData()),n=t+"_"+i;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]?this.groups[n]&&this.groups[n].addRow(e):(this.groups[n]||this._createGroup(i,t),this.groups[n].addRow(e))}}_addRow(e){this.rows.push(e),e.modules.group=this}insertRow(e,t,i){var n=this.conformRowData({});e.updateData(n);var s=this.rows.indexOf(t);s>-1?i?this.rows.splice(s+1,0,e):this.rows.splice(s,0,e):i?this.rows.push(e):this.rows.unshift(e),e.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(e){this.arrowElement&&(this.arrowElement.style.marginLeft=e,this.groupList.forEach((function(t){t.scrollHeader(e)})))}getRowIndex(e){}conformRowData(e){return this.field?e[this.field]=this.key:console.warn("Data Conforming Error - Cannot conform row data to match new group as groupBy is a function"),this.parent&&(e=this.parent.conformRowData(e)),e}removeRow(e){var t=this.rows.indexOf(e),i=e.getElement();t>-1&&this.rows.splice(t,1),this.groupManager.table.options.groupValues||this.rows.length?(i.parentNode&&i.parentNode.removeChild(i),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this))):(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0))}removeGroup(e){var t,i=e.level+"_"+e.key;this.groups[i]&&(delete this.groups[i],(t=this.groupList.indexOf(e))>-1&&this.groupList.splice(t,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var e=[];return e.push(this),this._visSet(),this.calcs.top&&(this.calcs.top.detachElement(),this.calcs.top.deleteCells()),this.calcs.bottom&&(this.calcs.bottom.detachElement(),this.calcs.bottom.deleteCells()),this.visible?this.groupList.length?this.groupList.forEach((function(t){e=e.concat(t.getHeadersAndRows())})):("table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),e=e.concat(this.rows),"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))):this.groupList.length||"table"==this.groupManager.table.options.columnCalcs||this.groupManager.table.modExists("columnCalcs")&&(this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))),e}getData(e,t){var i=[];return this._visSet(),(!e||e&&this.visible)&&this.rows.forEach((e=>{i.push(e.getData(t||"data"))})),i}getRowCount(){var e=0;return this.groupList.length?this.groupList.forEach((t=>{e+=t.getRowCount()})):e=this.rows.length,e}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination||(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach((e=>{e.getHeadersAndRows().forEach((e=>{e.detachElement()}))})):this.rows.forEach((e=>{var t=e.getElement();t.parentNode.removeChild(t)}))),this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!1)}show(){if(this.visible=!0,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination)this.groupManager.updateGroupRows(!0);else{this.element.classList.add("tabulator-group-visible");var e=this.generateElement();this.groupList.length?this.groupList.forEach((t=>{t.getHeadersAndRows().forEach((t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i}))})):this.rows.forEach((t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i})),this.groupManager.updateGroupRows(!0)}this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!0)}_visSet(){var e=[];"function"==typeof this.visible&&(this.rows.forEach((function(t){e.push(t.getData())})),this.visible=this.visible(this.key,this.getRowCount(),e,this.getComponent()))}getRowGroup(e){var t=!1;return this.groupList.length?this.groupList.forEach((function(i){var n=i.getRowGroup(e);n&&(t=n)})):this.rows.find((function(t){return t===e}))&&(t=this),t}getSubGroups(e){var t=[];return this.groupList.forEach((function(i){t.push(e?i.getComponent():i)})),t}getRows(e,t){var i=[];return t&&this.groupList.length?this.groupList.forEach((n=>{i=i.concat(n.getRows(e,t))})):this.rows.forEach((function(t){i.push(e?t.getComponent():t)})),i}generateGroupHeaderContents(){var e=[];for(this.getRows(!1,!0).forEach((function(t){e.push(t.getData())})),this.elementContents=this.generator(this.key,this.getRowCount(),e,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);"string"==typeof this.elementContents?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(e=[]){return e.unshift(this.key),this.parent&&this.parent.getPath(e),e}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var e=0;e<this.element.childNodes.length;++e)this.element.childNodes[e].parentNode.removeChild(this.element.childNodes[e]);return this.generateGroupHeaderContents(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}normalizeHeight(){this.setHeight(this.element.clientHeight)}initialize(e){this.initialized&&!e||(this.normalizeHeight(),this.initialized=!0)}reinitialize(){this.initialized=!1,this.height=0,t.elVisible(this.element)&&this.initialize(!0)}setHeight(e){this.height!=e&&(this.height=e,this.outerHeight=this.element.offsetHeight)}getHeight(){return this.outerHeight}getGroup(){return this}reinitializeHeight(){}calcHeight(){}setCellHeight(){}clearCellHeight(){}deinitializeHeight(){}rendered(){}getComponent(){return this.component||(this.component=new U(this)),this.component}}var q={cellEdit:function(e){e.component.setValueProcessData(e.data.oldValue),e.component.cellRendered()},rowAdd:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowMove:function(e){var t=e.data.posFrom-e.data.posTo>0;this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posFrom),t),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},X={cellEdit:function(e){e.component.setValueProcessData(e.data.newValue),e.component.cellRendered()},rowAdd:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(e){this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posTo),e.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},Y={keybindings:{bindings:{undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"]},actions:{undo:function(e){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(e.preventDefault(),this.table.modules.history.undo()))},redo:function(e){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(e.preventDefault(),this.table.modules.history.redo()))}}}};class J extends s{static moduleName="history";static moduleExtensions=Y;static undoers=q;static redoers=X;constructor(e){super(e),this.history=[],this.index=-1,this.registerTableOption("history",!1)}initialize(){this.table.options.history&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("cell-delete",this.clearComponentHistory.bind(this)),this.subscribe("row-delete",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clear.bind(this)),this.subscribe("row-added",this.rowAdded.bind(this)),this.subscribe("row-move",this.rowMoved.bind(this))),this.registerTableFunction("undo",this.undo.bind(this)),this.registerTableFunction("redo",this.redo.bind(this)),this.registerTableFunction("getHistoryUndoSize",this.getHistoryUndoSize.bind(this)),this.registerTableFunction("getHistoryRedoSize",this.getHistoryRedoSize.bind(this)),this.registerTableFunction("clearHistory",this.clear.bind(this))}rowMoved(e,t,i){this.action("rowMove",e,{posFrom:e.getPosition(),posTo:t.getPosition(),to:t,after:i})}rowAdded(e,t,i,n){this.action("rowAdd",e,{data:t,pos:i,index:n})}rowDeleted(e){var t,i;this.table.options.groupBy?(t=(i=e.getComponent().getGroup()._getSelf().rows).indexOf(e))&&(t=i[t-1]):(t=e.table.rowManager.getRowIndex(e))&&(t=e.table.rowManager.rows[t-1]),this.action("rowDelete",e,{data:e.getData(),pos:!t,index:t})}cellUpdated(e){this.action("cellEdit",e,{oldValue:e.oldValue,newValue:e.value})}clear(){this.history=[],this.index=-1}action(e,t,i){this.history=this.history.slice(0,this.index+1),this.history.push({type:e,component:t,data:i}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(e){var t=this.history.findIndex((function(t){return t.component===e}));t>-1&&(this.history.splice(t,1),t<=this.index&&this.index--,this.clearComponentHistory(e))}undo(){if(this.index>-1){let e=this.history[this.index];return J.undoers[e.type].call(this,e),this.index--,this.dispatchExternal("historyUndo",e.type,e.component.getComponent(),e.data),!0}return console.warn(this.options("history")?"History Undo Error - No more history to undo":"History module not enabled"),!1}redo(){if(this.history.length-1>this.index){this.index++;let e=this.history[this.index];return J.redoers[e.type].call(this,e),this.dispatchExternal("historyRedo",e.type,e.component.getComponent(),e.data),!0}return console.warn(this.options("history")?"History Redo Error - No more history to redo":"History module not enabled"),!1}_rebindRow(e,t){this.history.forEach((function(i){if(i.component instanceof x)i.component===e&&(i.component=t);else if(i.component instanceof y&&i.component.row===e){var n=i.component.column.getField();n&&(i.component=t.getCell(n))}}))}}var K={csv:function(e){var t=[],i=0,n=0,s=!1;for(let o=0;o<e.length;o++){let r=e[o],a=e[o+1];t[i]||(t[i]=[]),t[i][n]||(t[i][n]=""),'"'==r&&s&&'"'==a?(t[i][n]+=r,o++):'"'!=r?","!=r||s?"\r"!=r||"\n"!=a||s?"\r"!=r&&"\n"!=r||s?t[i][n]+=r:(n=0,i++):(n=0,i++,o++):n++:s=!s}return t},json:function(e){try{return JSON.parse(e)}catch(e){return console.warn("JSON Import Error - File contents is invalid JSON",e),Promise.reject()}},array:function(e){return e},xlsx:function(e,t){var i=XLSX.read(e),n=i.Sheets[i.SheetNames[0]];return XLSX.utils.sheet_to_json(n,{})}};class Z extends s{static moduleName="import";static importers=K;constructor(e){super(e),this.registerTableOption("importFormat"),this.registerTableOption("importReader","text")}initialize(){this.registerTableFunction("import",this.importFromFile.bind(this)),this.table.options.importFormat&&(this.subscribe("data-loading",this.loadDataCheck.bind(this),10),this.subscribe("data-load",this.loadData.bind(this),10))}loadDataCheck(e){return this.table.options.importFormat&&("string"==typeof e||Array.isArray(e)&&e.length&&Array.isArray(e))}loadData(e,t,i,n,s){return this.importData(this.lookupImporter(),e).then(this.structureData.bind(this)).catch((e=>(console.error("Import Error:",e||"Unable to import data"),Promise.reject(e))))}lookupImporter(e){var t;return e||(e=this.table.options.importFormat),(t="string"==typeof e?Z.importers[e]:e)||console.error("Import Error - Importer not found:",e),t}importFromFile(e,t,i){var n=this.lookupImporter(e);if(n)return this.pickFile(t,i).then(this.importData.bind(this,n)).then(this.structureData.bind(this)).then(this.setData.bind(this)).catch((e=>(this.dispatch("import-error",e),this.dispatchExternal("importError",e),console.error("Import Error:",e||"Unable to import file"),Promise.reject(e))))}pickFile(e,t){return new Promise(((i,n)=>{var s=document.createElement("input");s.type="file",s.accept=e,s.addEventListener("change",(e=>{var o=s.files[0],r=new FileReader;switch(this.dispatch("import-importing",s.files),this.dispatchExternal("importImporting",s.files),t||this.table.options.importReader){case"buffer":r.readAsArrayBuffer(o);break;case"binary":r.readAsBinaryString(o);break;case"url":r.readAsDataURL(o);break;default:r.readAsText(o)}r.onload=e=>{i(r.result)},r.onerror=e=>{console.warn("File Load Error - Unable to read file"),n()}})),this.dispatch("import-choose"),this.dispatchExternal("importChoose"),s.click()}))}importData(e,t){var i=e.call(this.table,t);return i instanceof Promise?i:i?Promise.resolve(i):Promise.reject()}structureData(e){return Array.isArray(e)&&e.length&&Array.isArray(e[0])?this.table.options.autoColumns?this.structureArrayToObject(e):this.structureArrayToColumns(e):e}structureArrayToObject(e){var t=e.shift();return e.map((e=>{var i={};return t.forEach(((t,n)=>{i[t]=e[n]})),i}))}structureArrayToColumns(e){var t=[],i=this.table.getColumns();return i[0]&&e[0][0]&&i[0].getDefinition().title===e[0][0]&&e.shift(),e.forEach((e=>{var n={};e.forEach(((e,t)=>{var s=i[t];s&&(n[s.getField()]=e)})),t.push(n)})),t}setData(e){return this.dispatch("import-imported",e),this.dispatchExternal("importImported",e),this.table.setData(e)}}var Q={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35},ee={keyBlock:function(e){e.stopPropagation(),e.preventDefault()},scrollPageUp:function(e){var t=this.table.rowManager,i=t.scrollTop-t.element.clientHeight;e.preventDefault(),t.displayRowsCount&&(i>=0?t.element.scrollTop=i:t.scrollToRow(t.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(e){var t=this.table.rowManager,i=t.scrollTop+t.element.clientHeight,n=t.element.scrollHeight;e.preventDefault(),t.displayRowsCount&&(i<=n?t.element.scrollTop=i:t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1]),this.table.element.focus()},navPrev:function(e){this.dispatch("keybinding-nav-prev",e)},navNext:function(e){this.dispatch("keybinding-nav-next",e)},navLeft:function(e){this.dispatch("keybinding-nav-left",e)},navRight:function(e){this.dispatch("keybinding-nav-right",e)},navUp:function(e){this.dispatch("keybinding-nav-up",e)},navDown:function(e){this.dispatch("keybinding-nav-down",e)}};class te extends s{static moduleName="keybindings";static bindings=Q;static actions=ee;constructor(e){super(e),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=!1,this.keydownBinding=!1,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",!1)}initialize(){var e=this.table.options.keybindings,t={};this.watchKeys={},this.pressedKeys=[],!1!==e&&(Object.assign(t,te.bindings),Object.assign(t,e),this.mapBindings(t),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this))}mapBindings(e){for(let t in e)te.actions[t]?e[t]&&("object"!=typeof e[t]&&(e[t]=[e[t]]),e[t].forEach((e=>{(Array.isArray(e)?e:[e]).forEach((e=>{this.mapBinding(t,e)}))}))):console.warn("Key Binding Error - no such action:",t)}mapBinding(e,t){var i={action:te.actions[e],keys:[],ctrl:!1,shift:!1,meta:!1};t.toString().toLowerCase().split(" ").join("").split("+").forEach((e=>{switch(e){case"ctrl":i.ctrl=!0;break;case"shift":i.shift=!0;break;case"meta":i.meta=!0;break;default:e=isNaN(e)?e.toUpperCase().charCodeAt(0):parseInt(e),i.keys.push(e),this.watchKeys[e]||(this.watchKeys[e]=[]),this.watchKeys[e].push(i)}}))}bindEvents(){var e=this;this.keyupBinding=function(t){var i=t.keyCode,n=e.watchKeys[i];n&&(e.pressedKeys.push(i),n.forEach((function(i){e.checkBinding(t,i)})))},this.keydownBinding=function(t){var i=t.keyCode;if(e.watchKeys[i]){var n=e.pressedKeys.indexOf(i);n>-1&&e.pressedKeys.splice(n,1)}},this.table.element.addEventListener("keydown",this.keyupBinding),this.table.element.addEventListener("keyup",this.keydownBinding)}clearBindings(){this.keyupBinding&&this.table.element.removeEventListener("keydown",this.keyupBinding),this.keydownBinding&&this.table.element.removeEventListener("keyup",this.keydownBinding)}checkBinding(e,t){var i=!0;return e.ctrlKey==t.ctrl&&e.shiftKey==t.shift&&e.metaKey==t.meta&&(t.keys.forEach((e=>{-1==this.pressedKeys.indexOf(e)&&(i=!1)})),i&&t.action.call(this,e),!0)}}var ie={delete:function(e,t,i){e.delete()}},ne={insert:function(e,t,i){return this.table.addRow(e.getData(),void 0,t),!0},add:function(e,t,i){return this.table.addRow(e.getData()),!0},update:function(e,t,i){return!!t&&(t.update(e.getData()),!0)},replace:function(e,t,i){return!!t&&(this.table.addRow(e.getData(),void 0,t),t.delete(),!0)}};class se extends s{static moduleName="moveRow";static senders=ie;static receivers=ne;constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connectionSelectorsTables=!1,this.connectionSelectorsElements=!1,this.connectionElements=[],this.connections=[],this.connectedTable=!1,this.connectedRow=!1,this.registerTableOption("movableRows",!1),this.registerTableOption("movableRowsConnectedTables",!1),this.registerTableOption("movableRowsConnectedElements",!1),this.registerTableOption("movableRowsSender",!1),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle")}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-row"),e.classList.add("tabulator-row-placeholder"),e}initialize(){this.table.options.movableRows&&(this.connectionSelectorsTables=this.table.options.movableRowsConnectedTables,this.connectionSelectorsElements=this.table.options.movableRowsConnectedElements,this.connection=this.connectionSelectorsTables||this.connectionSelectorsElements,this.subscribe("cell-init",this.initializeCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)))}initializeGroupHeader(e){var i=this,n={};n.mouseup=function(t){i.tableRowDrop(t,e)}.bind(i),n.mousemove=function(n){var s;n.pageY-t.elOffset(e.element).top+i.table.rowManager.element.scrollTop>e.getHeight()/2?i.toRow===e&&i.toRowAfter||((s=e.getElement()).parentNode.insertBefore(i.placeholderElement,s.nextSibling),i.moveRow(e,!0)):(i.toRow!==e||i.toRowAfter)&&(s=e.getElement()).previousSibling&&(s.parentNode.insertBefore(i.placeholderElement,s),i.moveRow(e,!1))}.bind(i),e.modules.moveRow=n}initializeRow(e){var i,n=this,s={};s.mouseup=function(t){n.tableRowDrop(t,e)}.bind(n),s.mousemove=function(i){var s=e.getElement();i.pageY-t.elOffset(s).top+n.table.rowManager.element.scrollTop>e.getHeight()/2?n.toRow===e&&n.toRowAfter||(s.parentNode.insertBefore(n.placeholderElement,s.nextSibling),n.moveRow(e,!0)):(n.toRow!==e||n.toRowAfter)&&(s.parentNode.insertBefore(n.placeholderElement,s),n.moveRow(e,!1))}.bind(n),this.hasHandle||((i=e.getElement()).addEventListener("mousedown",(function(t){1===t.which&&(n.checkTimeout=setTimeout((function(){n.startMove(t,e)}),n.checkPeriod))})),i.addEventListener("mouseup",(function(e){1===e.which&&n.checkTimeout&&clearTimeout(n.checkTimeout)})),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=s}initializeColumn(e){e.definition.rowHandle&&!1!==this.table.options.movableRows&&(this.hasHandle=!0)}initializeCell(e){if(e.column.definition.rowHandle&&!1!==this.table.options.movableRows){var t=this,i=e.getElement(!0);i.addEventListener("mousedown",(function(i){1===i.which&&(t.checkTimeout=setTimeout((function(){t.startMove(i,e.row)}),t.checkPeriod))})),i.addEventListener("mouseup",(function(e){1===e.which&&t.checkTimeout&&clearTimeout(t.checkTimeout)})),this.bindTouchEvents(e.row,i)}}bindTouchEvents(e,t){var i,n,s,o,r,a,l=!1;t.addEventListener("touchstart",(t=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,i=e.nextRow(),s=i?i.getHeight()/2:0,n=e.prevRow(),o=n?n.getHeight()/2:0,r=0,a=0,l=!1,this.startMove(t,e)}),this.checkPeriod)}),{passive:!0}),this.moving,this.toRow,this.toRowAfter,t.addEventListener("touchmove",(t=>{var h,u;this.moving&&(t.preventDefault(),this.moveHover(t),l||(l=t.touches[0].pageY),(h=t.touches[0].pageY-l)>0?i&&h-r>s&&(u=i)!==e&&(l=t.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveRow(u,!0)):n&&-h-a>o&&(u=n)!==e&&(l=t.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveRow(u,!1)),u&&(i=u.nextRow(),r=s,s=i?i.getHeight()/2:0,n=u.prevRow(),a=o,o=n?n.getHeight()/2:0))})),t.addEventListener("touchend",(e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(e),this.touchMove=!1)}))}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach((e=>{("row"===e.type||"group"===e.type)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveRow.mousemove)}))}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach((e=>{("row"===e.type||"group"===e.type)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveRow.mousemove)}))}startMove(e,t){var i=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(t)):(i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i)),this.hoverElement=i.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),this.connection?(document.body.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this.hoverElement.style.width=this.table.element.clientWidth+"px",this.hoverElement.style.whiteSpace="nowrap",this.hoverElement.style.overflow="hidden",this.hoverElement.style.pointerEvents="none"):(this.table.rowManager.getTableElement().appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this._bindMouseMove()),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove),this.dispatchExternal("rowMoving",t.getComponent()),this.moveHover(e)}setStartPosition(e,t){var i,n,s=this.touchMove?e.touches[0].pageX:e.pageX,o=this.touchMove?e.touches[0].pageY:e.pageY;i=t.getElement(),this.connection?(n=i.getBoundingClientRect(),this.startX=n.left-s+window.pageXOffset,this.startY=n.top-o+window.pageYOffset):this.startY=o-i.getBoundingClientRect().top}endMove(e){e&&1!==e.which&&!this.touchMove||(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement)),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toRow?this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter):this.dispatchExternal("rowMoveCancelled",this.moving.getComponent()),this.moving=!1,this.toRow=!1,this.toRowAfter=!1,document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove),this.connection&&(this.table.element.classList.remove("tabulator-movingrow-sending"),this.disconnectFromTables()))}moveRow(e,t){this.toRow=e,this.toRowAfter=t}moveHover(e){this.connection?this.moveHoverConnections.call(this,e):this.moveHoverTable.call(this,e)}moveHoverTable(e){var t=this.table.rowManager.getElement(),i=t.scrollTop,n=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+i;this.hoverElement.style.top=Math.min(n-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px"}moveHoverConnections(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?e.touches[0].pageY:e.pageY)+"px"}elementRowDrop(e,t,i){this.dispatchExternal("movableRowsElementDrop",e,t,!!i&&i.getComponent())}connectToTables(e){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",t),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:e})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach((e=>{"string"==typeof e?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(e))):this.connectionElements.push(e)})),this.connectionElements.forEach((e=>{var t=t=>{this.elementRowDrop(t,e,this.moving)};e.addEventListener("mouseup",t),e.tabulatorElementDropEvent=t,e.classList.add("tabulator-movingrow-receiving")})))}disconnectFromTables(){var e;this.connectionSelectorsTables&&(e=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",e),this.commsSend(this.connectionSelectorsTables,"moveRow","disconnect")),this.connectionElements.forEach((e=>{e.classList.remove("tabulator-movingrow-receiving"),e.removeEventListener("mouseup",e.tabulatorElementDropEvent),delete e.tabulatorElementDropEvent}))}connect(e,t){return this.connectedTable?(console.warn("Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((e=>{"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().addEventListener("mouseup",e.modules.moveRow.mouseup)})),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",t,e),!0)}disconnect(e){e===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((e=>{"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().removeEventListener("mouseup",e.modules.moveRow.mouseup)})),this.table.element.removeEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStop",e)):console.warn("Move Row Error - trying to disconnect from non connected table")}dropComplete(e,t,i){var n=!1;if(i){switch(typeof this.table.options.movableRowsSender){case"string":n=se.senders[this.table.options.movableRowsSender];break;case"function":n=this.table.options.movableRowsSender}n?n.call(this,this.moving?this.moving.getComponent():void 0,t?t.getComponent():void 0,e):this.table.options.movableRowsSender&&console.warn("Mover Row Error - no matching sender found:",this.table.options.movableRowsSender),this.dispatchExternal("movableRowsSent",this.moving.getComponent(),t?t.getComponent():void 0,e)}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),t?t.getComponent():void 0,e);this.endMove()}tableRowDrop(e,t){var i=!1,n=!1;switch(e.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case"string":i=se.receivers[this.table.options.movableRowsReceiver];break;case"function":i=this.table.options.movableRowsReceiver}i?n=i.call(this,this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):console.warn("Mover Row Error - no matching receiver found:",this.table.options.movableRowsReceiver),n?this.dispatchExternal("movableRowsReceived",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):this.dispatchExternal("movableRowsReceivedFailed",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:t,success:n})}commsReceived(e,t,i){switch(t){case"connect":return this.connect(e,i.row);case"disconnect":return this.disconnect(e);case"dropcomplete":return this.dropComplete(e,i.row,i.success)}}}var oe={};class re extends s{static moduleName="mutator";static mutators=oe;constructor(e){super(e),this.allowedTypes=["","data","edit","clipboard"],this.enabled=!0,this.registerColumnOption("mutator"),this.registerColumnOption("mutatorParams"),this.registerColumnOption("mutatorData"),this.registerColumnOption("mutatorDataParams"),this.registerColumnOption("mutatorEdit"),this.registerColumnOption("mutatorEditParams"),this.registerColumnOption("mutatorClipboard"),this.registerColumnOption("mutatorClipboardParams"),this.registerColumnOption("mutateLink")}initialize(){this.subscribe("cell-value-changing",this.transformCell.bind(this)),this.subscribe("cell-value-changed",this.mutateLink.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-init-before",this.rowDataChanged.bind(this)),this.subscribe("row-data-changing",this.rowDataChanged.bind(this))}rowDataChanged(e,t,i){return this.transformRow(t,"data",i)}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach((n=>{var s,o="mutator"+(n.charAt(0).toUpperCase()+n.slice(1));e.definition[o]&&(s=this.lookupMutator(e.definition[o]))&&(t=!0,i[o]={mutator:s,params:e.definition[o+"Params"]||{}})})),t&&(e.modules.mutate=i)}lookupMutator(e){var t=!1;switch(typeof e){case"string":re.mutators[e]?t=re.mutators[e]:console.warn("Mutator Error - No such mutator found, ignoring: ",e);break;case"function":t=e}return t}transformRow(e,t,i){var n,s="mutator"+(t.charAt(0).toUpperCase()+t.slice(1));return this.enabled&&this.table.columnManager.traverse((o=>{var r,a,l;o.modules.mutate&&(r=o.modules.mutate[s]||o.modules.mutate.mutator||!1)&&(n=o.getFieldValue(void 0!==i?i:e),("data"==t&&!i||void 0!==n)&&(l=o.getComponent(),a="function"==typeof r.params?r.params(n,e,t,l):r.params,o.setFieldValue(e,r.mutator(n,e,t,a,l))))})),e}transformCell(e,t){if(e.column.modules.mutate){var i=e.column.modules.mutate.mutatorEdit||e.column.modules.mutate.mutator||!1,n={};if(i)return n=Object.assign(n,e.row.getData()),e.column.setFieldValue(n,t),i.mutator(t,n,"edit",i.params,e.getComponent())}return t}mutateLink(e){var t=e.column.definition.mutateLink;t&&(Array.isArray(t)||(t=[t]),t.forEach((t=>{var i=e.row.getCell(t);i&&i.setValue(i.getValue(),!0,!0)})))}enable(){this.enabled=!0}disable(){this.enabled=!1}}var ae={rows:function(e,t,i,n,s){var o=document.createElement("span"),r=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(e=>{r.innerHTML=e})),this.table.modules.localize.langBind("pagination|counter|of",(e=>{l.innerHTML=e})),this.table.modules.localize.langBind("pagination|counter|rows",(e=>{u.innerHTML=e})),n?(a.innerHTML=" "+t+"-"+Math.min(t+e-1,n)+" ",h.innerHTML=" "+n+" ",o.appendChild(r),o.appendChild(a),o.appendChild(l),o.appendChild(h),o.appendChild(u)):(a.innerHTML=" 0 ",o.appendChild(r),o.appendChild(a),o.appendChild(u)),o},pages:function(e,t,i,n,s){var o=document.createElement("span"),r=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(e=>{r.innerHTML=e})),a.innerHTML=" "+i+" ",this.table.modules.localize.langBind("pagination|counter|of",(e=>{l.innerHTML=e})),h.innerHTML=" "+s+" ",this.table.modules.localize.langBind("pagination|counter|pages",(e=>{u.innerHTML=e})),o.appendChild(r),o.appendChild(a),o.appendChild(l),o.appendChild(h),o.appendChild(u),o}};class le extends s{static moduleName="page";static pageCounters=ae;constructor(e){super(e),this.mode="local",this.progressiveLoad=!1,this.element=null,this.pageCounterElement=null,this.pageCounter=null,this.size=0,this.page=1,this.count=5,this.max=1,this.remoteRowCountEstimate=null,this.initialLoad=!0,this.dataChanging=!1,this.pageSizes=[],this.registerTableOption("pagination",!1),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",!1),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",!1),this.registerTableOption("paginationCounterElement",!1),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",!1),this.registerTableOption("paginationElement",!1),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("progressiveLoad",!1),this.registerTableOption("progressiveLoadDelay",0),this.registerTableOption("progressiveLoadScrollMargin",0),this.registerTableFunction("setMaxPage",this.setMaxPage.bind(this)),this.registerTableFunction("setPage",this.setPage.bind(this)),this.registerTableFunction("setPageToRow",this.userSetPageToRow.bind(this)),this.registerTableFunction("setPageSize",this.userSetPageSize.bind(this)),this.registerTableFunction("getPageSize",this.getPageSize.bind(this)),this.registerTableFunction("previousPage",this.previousPage.bind(this)),this.registerTableFunction("nextPage",this.nextPage.bind(this)),this.registerTableFunction("getPage",this.getPage.bind(this)),this.registerTableFunction("getPageMax",this.getPageMax.bind(this)),this.registerComponentFunction("row","pageTo",this.setPageToRow.bind(this))}initialize(){this.table.options.pagination?(this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("footer-redraw",this.footerRedraw.bind(this)),"page"==this.table.options.paginationAddRow&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),"remote"===this.table.options.paginationMode&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&console.error("Progressive Load Error - Pagination and progressive load cannot be used at the same time"),this.registerDisplayHandler(this.restOnRenderBefore.bind(this),40),this.registerDisplayHandler(this.getRows.bind(this),50),this.createElements(),this.initializePageCounter(),this.initializePaginator()):this.table.options.progressiveLoad&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.initializeProgressive(this.table.options.progressiveLoad),"scroll"===this.table.options.progressiveLoad&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)))}rowAddingPosition(e,t){var i,n=this.table.rowManager,s=n.getDisplayRows();return t?s.length?i=s[0]:n.activeRows.length&&(i=n.activeRows[n.activeRows.length-1],t=!1):s.length&&(i=s[s.length-1],t=!(s.length<this.size)),{index:i,top:t}}calculatePageSizes(){var e,t;this.table.options.paginationSize?this.size=this.table.options.paginationSize:((e=document.createElement("div")).classList.add("tabulator-row"),e.style.visibility="hidden",(t=document.createElement("div")).classList.add("tabulator-cell"),t.innerHTML="Page Row Test",e.appendChild(t),this.table.rowManager.getTableElement().appendChild(e),this.size=Math.floor(this.table.rowManager.getElement().clientHeight/e.offsetHeight),this.table.rowManager.getTableElement().removeChild(e)),this.dispatchExternal("pageSizeChanged",this.size),this.generatePageSizeSelectList()}initialLoadComplete(){this.initialLoad=!1}remotePageParams(e,t,i,n){return this.initialLoad||(this.progressiveLoad&&!i||!this.progressiveLoad&&!this.dataChanging)&&this.reset(!0),n.page=this.page,this.size&&(n.size=this.size),n}userSetPageToRow(e){return this.table.options.pagination&&(e=this.table.rowManager.findRow(e))?this.setPageToRow(e):Promise.reject()}userSetPageSize(e){return!!this.table.options.pagination&&(this.setPageSize(e),this.setPage(1))}scrollVertical(e,t){var i;t||this.table.dataLoader.loading||(i=this.table.rowManager.getElement()).scrollHeight-i.clientHeight-e<(this.table.options.progressiveLoadScrollMargin||2*i.clientHeight)&&this.nextPage().catch((()=>{}))}restOnRenderBefore(e,t){return t||"local"===this.mode&&this.reset(),e}rowsUpdated(){this.refreshData(!0,"all")}createElements(){var e;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),(e=document.createElement("button")).classList.add("tabulator-page"),e.setAttribute("type","button"),e.setAttribute("role","button"),e.setAttribute("aria-label",""),e.setAttribute("title",""),this.firstBut=e.cloneNode(!0),this.firstBut.setAttribute("data-page","first"),this.prevBut=e.cloneNode(!0),this.prevBut.setAttribute("data-page","prev"),this.nextBut=e.cloneNode(!0),this.nextBut.setAttribute("data-page","next"),this.lastBut=e.cloneNode(!0),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"))}generatePageSizeSelectList(){var e=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))e=this.table.options.paginationSizeSelector,this.pageSizes=e,-1==this.pageSizes.indexOf(this.size)&&e.unshift(this.size);else if(-1==this.pageSizes.indexOf(this.size)){e=[];for(let t=1;t<5;t++)e.push(this.size*t);this.pageSizes=e}else e=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);e.forEach((e=>{var t=document.createElement("option");t.value=e,!0===e?this.langBind("pagination|all",(function(e){t.innerHTML=e})):t.innerHTML=e,this.pageSizeSelect.appendChild(t)})),this.pageSizeSelect.value=this.size}}initializePageCounter(){var e=this.table.options.paginationCounter,t=null;e&&((t="function"==typeof e?e:le.pageCounters[e])?(this.pageCounter=t,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")):console.warn("Pagination Error - No such page counter found: ",e))}initializePaginator(e){var t,i;e||(this.langBind("pagination|first",(e=>{this.firstBut.innerHTML=e})),this.langBind("pagination|first_title",(e=>{this.firstBut.setAttribute("aria-label",e),this.firstBut.setAttribute("title",e)})),this.langBind("pagination|prev",(e=>{this.prevBut.innerHTML=e})),this.langBind("pagination|prev_title",(e=>{this.prevBut.setAttribute("aria-label",e),this.prevBut.setAttribute("title",e)})),this.langBind("pagination|next",(e=>{this.nextBut.innerHTML=e})),this.langBind("pagination|next_title",(e=>{this.nextBut.setAttribute("aria-label",e),this.nextBut.setAttribute("title",e)})),this.langBind("pagination|last",(e=>{this.lastBut.innerHTML=e})),this.langBind("pagination|last_title",(e=>{this.lastBut.setAttribute("aria-label",e),this.lastBut.setAttribute("title",e)})),this.firstBut.addEventListener("click",(()=>{this.setPage(1)})),this.prevBut.addEventListener("click",(()=>{this.previousPage()})),this.nextBut.addEventListener("click",(()=>{this.nextPage()})),this.lastBut.addEventListener("click",(()=>{this.setPage(this.max)})),this.table.options.paginationElement&&(this.element=this.table.options.paginationElement),this.pageSizeSelect&&(t=document.createElement("label"),this.langBind("pagination|page_size",(e=>{this.pageSizeSelect.setAttribute("aria-label",e),this.pageSizeSelect.setAttribute("title",e),t.innerHTML=e})),this.element.appendChild(t),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",(e=>{this.setPageSize("true"==this.pageSizeSelect.value||this.pageSizeSelect.value),this.setPage(1)}))),this.element.appendChild(this.firstBut),this.element.appendChild(this.prevBut),this.element.appendChild(this.pagesElement),this.element.appendChild(this.nextBut),this.element.appendChild(this.lastBut),this.table.options.paginationElement||(this.table.options.paginationCounter&&(this.table.options.paginationCounterElement?this.table.options.paginationCounterElement instanceof HTMLElement?this.table.options.paginationCounterElement.appendChild(this.pageCounterElement):"string"==typeof this.table.options.paginationCounterElement&&((i=document.querySelector(this.table.options.paginationCounterElement))?i.appendChild(this.pageCounterElement):console.warn("Pagination Error - Unable to find element matching paginationCounterElement selector:",this.table.options.paginationCounterElement)):this.footerAppend(this.pageCounterElement)),this.footerAppend(this.element)),this.page=this.table.options.paginationInitialPage,this.count=this.table.options.paginationButtonCount),this.mode=this.table.options.paginationMode}initializeProgressive(e){this.initializePaginator(!0),this.mode="progressive_"+e,this.progressiveLoad=!0}trackChanges(){this.dispatch("page-changed")}setMaxRows(e){this.max=e?!0===this.size?1:Math.ceil(e/this.size):1,this.page>this.max&&(this.page=this.max)}reset(e){this.initialLoad||("local"==this.mode||e)&&(this.page=1,this.trackChanges())}setMaxPage(e){e=parseInt(e),this.max=e||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(e){switch(e){case"first":return this.setPage(1);case"prev":return this.previousPage();case"next":return this.nextPage();case"last":return this.setPage(this.max)}return(e=parseInt(e))>0&&e<=this.max||"local"!==this.mode?(this.page=e,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Requested page is out of range of 1 - "+this.max+":",e),Promise.reject())}setPageToRow(e){var t=this.displayRows(-1).indexOf(e);if(t>-1){var i=!0===this.size?1:Math.ceil((t+1)/this.size);return this.setPage(i)}return console.warn("Pagination Error - Requested row is not visible"),Promise.reject()}setPageSize(e){!0!==e&&(e=parseInt(e)),e>0&&(this.size=e,this.dispatchExternal("pageSizeChanged",e)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(e,t,i){var n;if(this.pageCounter)switch("remote"===this.mode&&(t=this.size,i=(this.page-1)*this.size+1,e=this.remoteRowCountEstimate),typeof(n=this.pageCounter.call(this,t,i,this.page,e,this.max))){case"object":if(n instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(n)}else this.pageCounterElement.innerHTML="",null!=n&&console.warn("Page Counter Error - Page Counter has returned a type of object, the only valid page counter object return is an instance of Node, the page counter returned:",n);break;case"undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=n}}_setPageButtons(){let e=Math.floor((this.count-1)/2),t=Math.ceil((this.count-1)/2),i=this.max-this.page+e+1<this.count?this.max-this.count+1:Math.max(this.page-e,1),n=this.page<=t?Math.min(this.count,this.max):Math.min(this.page+t,this.max);for(;this.pagesElement.firstChild;)this.pagesElement.removeChild(this.pagesElement.firstChild);1==this.page?(this.firstBut.disabled=!0,this.prevBut.disabled=!0):(this.firstBut.disabled=!1,this.prevBut.disabled=!1),this.page==this.max?(this.lastBut.disabled=!0,this.nextBut.disabled=!0):(this.lastBut.disabled=!1,this.nextBut.disabled=!1);for(let e=i;e<=n;e++)e>0&&e<=this.max&&this.pagesElement.appendChild(this._generatePageButton(e));this.footerRedraw()}_generatePageButton(e){var t=document.createElement("button");return t.classList.add("tabulator-page"),e==this.page&&t.classList.add("active"),t.setAttribute("type","button"),t.setAttribute("role","button"),this.langBind("pagination|page_title",(i=>{t.setAttribute("aria-label",i+" "+e),t.setAttribute("title",i+" "+e)})),t.setAttribute("data-page",e),t.textContent=e,t.addEventListener("click",(t=>{this.setPage(e)})),t}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Previous page would be less than page 1:",0),Promise.reject())}nextPage(){return this.page<this.max?(this.page++,this.trackChanges(),this.trigger()):(this.progressiveLoad||console.warn("Pagination Error - Next page would be greater than maximum page of "+this.max+":",this.max+1),Promise.reject())}getPage(){return this.page}getPageMax(){return this.max}getPageSize(e){return this.size}getMode(){return this.mode}getRows(e){var t,i,n,s,o=0,r=e.filter((e=>"row"===e.type));if("local"==this.mode){t=[],this.setMaxRows(e.length),!0===this.size?(i=0,n=e.length):n=(i=this.size*(this.page-1))+parseInt(this.size),this._setPageButtons();for(let r=i;r<n;r++){let i=e[r];i&&(t.push(i),"row"===i.type&&(s||(s=i),o++))}return this._setPageCounter(r.length,o,s?r.indexOf(s)+1:0),t}return this._setPageButtons(),this._setPageCounter(r.length),e.slice(0)}trigger(){var e;switch(this.mode){case"local":return e=this.table.rowManager.scrollLeft,this.refreshData(),this.table.rowManager.scrollHorizontal(e),this.dispatchExternal("pageLoaded",this.getPage()),Promise.resolve();case"remote":return this.dataChanging=!0,this.reloadData(null).finally((()=>{this.dataChanging=!1}));case"progressive_load":case"progressive_scroll":return this.reloadData(null,!0);default:return console.warn("Pagination Error - no such pagination mode:",this.mode),Promise.reject()}}_parseRemoteData(e){var t;if(void 0===e.last_page&&console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").last_page||"last_page")+"' property"),e.data){if(this.max=parseInt(e.last_page)||1,this.remoteRowCountEstimate=void 0!==e.last_row?e.last_row:e.last_page*this.size-(this.page==e.last_page?this.size-e.data.length:0),this.progressiveLoad){switch(this.mode){case"progressive_load":1==this.page?this.table.rowManager.setData(e.data,!1,1==this.page):this.table.rowManager.addRows(e.data),this.page<this.max&&setTimeout((()=>{this.nextPage()}),this.table.options.progressiveLoadDelay);break;case"progressive_scroll":e=1===this.page?e.data:this.table.rowManager.getData().concat(e.data),this.table.rowManager.setData(e,1!==this.page,1==this.page),t=this.table.options.progressiveLoadScrollMargin||2*this.table.rowManager.element.clientHeight,this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+t&&this.page<this.max&&setTimeout((()=>{this.nextPage()}))}return!1}this.dispatchExternal("pageLoaded",this.getPage())}else console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").data||"data")+"' property");return e.data}footerRedraw(){var e=this.table.footerManager.containerElement;Math.ceil(e.clientWidth)-e.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(e.clientWidth)-e.scrollWidth<0&&(this.pagesElement.style.display="none"))}}var he={local:function(e,t){var i=localStorage.getItem(e+"-"+t);return!!i&&JSON.parse(i)},cookie:function(e,t){var i,n,s=document.cookie,o=e+"-"+t,r=s.indexOf(o+"=");return r>-1&&((i=(s=s.slice(r)).indexOf(";"))>-1&&(s=s.slice(0,i)),n=s.replace(o+"=","")),!!n&&JSON.parse(n)}},ue={local:function(e,t,i){localStorage.setItem(e+"-"+t,JSON.stringify(i))},cookie:function(e,t,i){var n=new Date;n.setDate(n.getDate()+1e4),document.cookie=e+"-"+t+"="+JSON.stringify(i)+"; expires="+n.toUTCString()}};class ce extends s{static moduleName="persistence";static moduleInitOrder=-10;static readers=he;static writers=ue;constructor(e){super(e),this.mode="",this.id="",this.defWatcherBlock=!1,this.config={},this.readFunc=!1,this.writeFunc=!1,this.registerTableOption("persistence",!1),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",!0),this.registerTableOption("persistenceReaderFunc",!1),this.registerTableOption("persistenceWriterFunc",!1)}localStorageTest(){var e="_tabulator_test";try{return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}initialize(){if(this.table.options.persistence){var e,t=this.table.options.persistenceMode,i=this.table.options.persistenceID;this.mode=!0!==t?t:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?"function"==typeof this.table.options.persistenceReaderFunc?this.readFunc=this.table.options.persistenceReaderFunc:ce.readers[this.table.options.persistenceReaderFunc]?this.readFunc=ce.readers[this.table.options.persistenceReaderFunc]:console.warn("Persistence Read Error - invalid reader set",this.table.options.persistenceReaderFunc):ce.readers[this.mode]?this.readFunc=ce.readers[this.mode]:console.warn("Persistence Read Error - invalid reader set",this.mode),this.table.options.persistenceWriterFunc?"function"==typeof this.table.options.persistenceWriterFunc?this.writeFunc=this.table.options.persistenceWriterFunc:ce.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=ce.writers[this.table.options.persistenceWriterFunc]:console.warn("Persistence Write Error - invalid reader set",this.table.options.persistenceWriterFunc):ce.writers[this.mode]?this.writeFunc=ce.writers[this.mode]:console.warn("Persistence Write Error - invalid writer set",this.mode),this.id="tabulator-"+(i||this.table.element.getAttribute("id")||""),this.config={sort:!0===this.table.options.persistence||this.table.options.persistence.sort,filter:!0===this.table.options.persistence||this.table.options.persistence.filter,headerFilter:!0===this.table.options.persistence||this.table.options.persistence.headerFilter,group:!0===this.table.options.persistence||this.table.options.persistence.group,page:!0===this.table.options.persistence||this.table.options.persistence.page,columns:!0===this.table.options.persistence?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(e=this.retrieveData("page"))&&(void 0===e.paginationSize||!0!==this.config.page&&!this.config.page.size||(this.table.options.paginationSize=e.paginationSize),void 0===e.paginationInitialPage||!0!==this.config.page&&!this.config.page.page||(this.table.options.paginationInitialPage=e.paginationInitialPage)),this.config.group&&(e=this.retrieveData("group"))&&(void 0===e.groupBy||!0!==this.config.group&&!this.config.group.groupBy||(this.table.options.groupBy=e.groupBy),void 0===e.groupStartOpen||!0!==this.config.group&&!this.config.group.groupStartOpen||(this.table.options.groupStartOpen=e.groupStartOpen),void 0===e.groupHeader||!0!==this.config.group&&!this.config.group.groupHeader||(this.table.options.groupHeader=e.groupHeader)),this.config.columns&&(this.table.options.columns=this.load("columns",this.table.options.columns),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-show",this.save.bind(this,"columns")),this.subscribe("column-hide",this.save.bind(this,"columns")),this.subscribe("column-moved",this.save.bind(this,"columns"))),this.subscribe("table-built",this.tableBuilt.bind(this),0),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("filter-changed",this.eventSave.bind(this,"filter")),this.subscribe("filter-changed",this.eventSave.bind(this,"headerFilter")),this.subscribe("sort-changed",this.eventSave.bind(this,"sort")),this.subscribe("group-changed",this.eventSave.bind(this,"group")),this.subscribe("page-changed",this.eventSave.bind(this,"page")),this.subscribe("column-resized",this.eventSave.bind(this,"columns")),this.subscribe("column-width",this.eventSave.bind(this,"columns")),this.subscribe("layout-refreshed",this.eventSave.bind(this,"columns"))}this.registerTableFunction("getColumnLayout",this.getColumnLayout.bind(this)),this.registerTableFunction("setColumnLayout",this.setColumnLayout.bind(this))}eventSave(e){this.config[e]&&this.save(e)}tableBuilt(){var e,t,i;this.config.sort&&!1==!(e=this.load("sort"))&&(this.table.options.initialSort=e),this.config.filter&&!1==!(t=this.load("filter"))&&(this.table.options.initialFilter=t),this.config.headerFilter&&!1==!(i=this.load("headerFilter"))&&(this.table.options.initialHeaderFilter=i)}tableRedraw(e){e&&this.config.columns&&this.save("columns")}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(e){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,e,!0)),!0}initializeColumn(e){var t;this.config.columns&&(this.defWatcherBlock=!0,t=e.getDefinition(),(!0===this.config.columns?Object.keys(t):this.config.columns).forEach((e=>{var i=Object.getOwnPropertyDescriptor(t,e),n=t[e];i&&Object.defineProperty(t,e,{set:e=>{n=e,this.defWatcherBlock||this.save("columns"),i.set&&i.set(e)},get:()=>(i.get&&i.get(),n)})})),this.defWatcherBlock=!1)}load(e,t){var i=this.retrieveData(e);return t&&(i=i?this.mergeDefinition(t,i):t),i}retrieveData(e){return!!this.readFunc&&this.readFunc(this.id,e)}mergeDefinition(e,t,i){var n=[];return(t=t||[]).forEach(((t,s)=>{var o,r=this._findColumn(e,t);r&&(i?o=Object.keys(t):!0===this.config.columns||null==this.config.columns?(o=Object.keys(r)).push("width"):o=this.config.columns,o.forEach((e=>{"columns"!==e&&void 0!==t[e]&&(r[e]=t[e])})),r.columns&&(r.columns=this.mergeDefinition(r.columns,t.columns)),n.push(r))})),e.forEach(((e,i)=>{this._findColumn(t,e)||(n.length>i?n.splice(i,0,e):n.push(e))})),n}_findColumn(e,t){var i=t.columns?"group":t.field?"field":"object";return e.find((function(e){switch(i){case"group":return e.title===t.title&&e.columns.length===t.columns.length;case"field":return e.field===t.field;case"object":return e===t}}))}save(e){var t={};switch(e){case"columns":t=this.parseColumns(this.table.columnManager.getColumns());break;case"filter":t=this.table.modules.filter.getFilters();break;case"headerFilter":t=this.table.modules.filter.getHeaderFilters();break;case"sort":t=this.validateSorters(this.table.modules.sort.getSort());break;case"group":t=this.getGroupConfig();break;case"page":t=this.getPageConfig()}this.writeFunc&&this.writeFunc(this.id,e,t)}validateSorters(e){return e.forEach((function(e){e.column=e.field,delete e.field})),e}getGroupConfig(){var e={};return this.config.group&&((!0===this.config.group||this.config.group.groupBy)&&(e.groupBy=this.table.options.groupBy),(!0===this.config.group||this.config.group.groupStartOpen)&&(e.groupStartOpen=this.table.options.groupStartOpen),(!0===this.config.group||this.config.group.groupHeader)&&(e.groupHeader=this.table.options.groupHeader)),e}getPageConfig(){var e={};return this.config.page&&((!0===this.config.page||this.config.page.size)&&(e.paginationSize=this.table.modules.page.getPageSize()),(!0===this.config.page||this.config.page.page)&&(e.paginationInitialPage=this.table.modules.page.getPage())),e}parseColumns(e){var t=[],i=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return e.forEach((e=>{var n,s={},o=e.getDefinition();e.isGroup?(s.title=o.title,s.columns=this.parseColumns(e.getColumns())):(s.field=e.getField(),!0===this.config.columns||null==this.config.columns?((n=Object.keys(o)).push("width"),n.push("visible")):n=this.config.columns,n.forEach((t=>{switch(t){case"width":s.width=e.getWidth();break;case"visible":s.visible=e.visible;break;default:"function"!=typeof o[t]&&-1===i.indexOf(t)&&(s[t]=o[t])}}))),t.push(s)})),t}}var de={format:{formatters:{responsiveCollapse:function(e,t,i){var n=document.createElement("div"),s=e.getRow()._row.modules.responsiveLayout;function o(e){var t=s.element;s.open=e,t&&(s.open?(n.classList.add("open"),t.style.display=""):(n.classList.remove("open"),t.style.display="none"))}return n.classList.add("tabulator-responsive-collapse-toggle"),n.innerHTML='<svg class=\'tabulator-responsive-collapse-toggle-open\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n <line y1="7" x1="12" y2="17" x2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>\n\n<svg class=\'tabulator-responsive-collapse-toggle-close\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>',e.getElement().classList.add("tabulator-row-handle"),n.addEventListener("click",(function(t){t.stopImmediatePropagation(),o(!s.open),e.getTable().rowManager.adjustTableSize()})),o(s.open),n}}}};var pe={format:{formatters:{rowSelection:function(e,t,i){var n=document.createElement("input"),s=!1;if(n.type="checkbox",n.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",!0))if(n.addEventListener("click",(e=>{e.stopPropagation()})),"function"==typeof e.getRow){var o=e.getRow();o instanceof T?(n.addEventListener("change",(e=>{"click"===this.table.options.selectableRowsRangeMode&&s?s=!1:o.toggleSelect()})),"click"===this.table.options.selectableRowsRangeMode&&n.addEventListener("click",(e=>{s=!0,this.table.modules.selectRow.handleComplexRowClick(o._row,e)})),n.checked=o.isSelected&&o.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(o,n)):n=""}else n.addEventListener("change",(e=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(t.rowRange)})),this.table.modules.selectRow.registerHeaderSelectCheckbox(n);return n}}}};class me{constructor(e){return this._range=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._range.table.componentFunctionBinder.handle("range",e._range,t)}})}getElement(){return this._range.element}getData(){return this._range.getData()}getCells(){return this._range.getCells(!0)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map((e=>e.getComponent()))}getColumns(){return this._range.getColumns().map((e=>e.getComponent()))}getBounds(){return this._range.getBounds()}getTopEdge(){return this._range.top}getBottomEdge(){return this._range.bottom}getLeftEdge(){return this._range.left}getRightEdge(){return this._range.right}setBounds(e,t){this._range.destroyedGuard("setBounds")&&this._range.setBounds(e?e._cell:e,t?t._cell:t)}setStartBound(e){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(e?e._cell:e),this._range.rangeManager.layoutElement())}setEndBound(e){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(e?e._cell:e),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues()}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(!0)}}class ge extends e{constructor(e,t,i,n){super(e),this.rangeManager=t,this.element=null,this.initialized=!1,this.initializing={start:!1,end:!1},this.destroyed=!1,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=e,this.start={row:0,col:0},this.end={row:0,col:0},this.rangeManager.rowHeader&&(this.left=1,this.right=1,this.start.col=1,this.end.col=1),this.initElement(),setTimeout((()=>{this.initBounds(i,n)}))}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range")}initBounds(e,t){this._updateMinMax(),e&&this.setBounds(e,t||e)}setStart(e,t){this.start.row===e&&this.start.col===t||(this.start.row=e,this.start.col=t,this.initializing.start=!0,this._updateMinMax())}setEnd(e,t){this.end.row===e&&this.end.col===t||(this.end.row=e,this.end.col=t,this.initializing.end=!0,this._updateMinMax())}setBounds(e,t,i){e&&this.setStartBound(e),this.setEndBound(t||e),this.rangeManager.layoutElement(i)}setStartBound(e){var t,i;"column"===e.type?this.rangeManager.columnSelection&&this.setStart(0,e.getPosition()-1):(t=e.row.position-1,i=e.column.getPosition()-1,e.column===this.rangeManager.rowHeader?this.setStart(t,1):this.setStart(t,i))}setEndBound(e){var t,i,n,s=this._getTableRows().length;"column"===e.type?this.rangeManager.columnSelection&&("column"===this.rangeManager.selecting?this.setEnd(s-1,e.getPosition()-1):"cell"===this.rangeManager.selecting&&this.setEnd(0,e.getPosition()-1)):(t=e.row.position-1,i=e.column.getPosition()-1,n=e.column===this.rangeManager.rowHeader,"row"===this.rangeManager.selecting?this.setEnd(t,this._getTableColumns().length-1):"row"!==this.rangeManager.selecting&&n?this.setEnd(t,0):"column"===this.rangeManager.selecting?this.setEnd(s-1,i):this.setEnd(t,i))}_updateMinMax(){this.top=Math.min(this.start.row,this.end.row),this.bottom=Math.max(this.start.row,this.end.row),this.left=Math.min(this.start.col,this.end.col),this.right=Math.max(this.start.col,this.end.col),this.initialized?this.dispatchExternal("rangeChanged",this.getComponent()):this.initializing.start&&this.initializing.end&&(this.initialized=!0,this.dispatchExternal("rangeAdded",this.getComponent()))}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows().filter((e=>"row"===e.type))}layout(){var e,t,i,n,s,o,r,a,l,h,u=this.table.rowManager.renderer.vDomTop,c=this.table.rowManager.renderer.vDomBottom,d=this.table.columnManager.renderer.leftCol,p=this.table.columnManager.renderer.rightCol;"virtual"===this.table.options.renderHorizontal&&this.rangeManager.rowHeader&&(p+=1),null==u&&(u=0),null==c&&(c=1/0),null==d&&(d=0),null==p&&(p=1/0),this.overlaps(d,u,p,c)&&(e=Math.max(this.top,u),t=Math.min(this.bottom,c),i=Math.max(this.left,d),n=Math.min(this.right,p),s=this.rangeManager.getCell(e,i),o=this.rangeManager.getCell(t,n),r=s.getElement(),a=o.getElement(),l=s.row.getElement(),h=o.row.getElement(),this.element.classList.add("tabulator-range-active"),this.table.rtl?(this.element.style.right=l.offsetWidth-r.offsetLeft-r.offsetWidth+"px",this.element.style.width=r.offsetLeft+r.offsetWidth-a.offsetLeft+"px"):(this.element.style.left=l.offsetLeft+r.offsetLeft+"px",this.element.style.width=a.offsetLeft+a.offsetWidth-r.offsetLeft+"px"),this.element.style.top=l.offsetTop+"px",this.element.style.height=h.offsetTop+h.offsetHeight-l.offsetTop+"px")}atTopLeft(e){return e.row.position-1===this.top&&e.column.getPosition()-1===this.left}atBottomRight(e){return e.row.position-1===this.bottom&&e.column.getPosition()-1===this.right}occupies(e){return this.occupiesRow(e.row)&&this.occupiesColumn(e.column)}occupiesRow(e){return this.top<=e.position-1&&e.position-1<=this.bottom}occupiesColumn(e){return this.left<=e.getPosition()-1&&e.getPosition()-1<=this.right}overlaps(e,t,i,n){return!(this.left>i||e>this.right||this.top>n||t>this.bottom)}getData(){var e=[],t=this.getRows(),i=this.getColumns();return t.forEach((t=>{var n=t.getData(),s={};i.forEach((e=>{s[e.field]=n[e.field]})),e.push(s)})),e}getCells(e,t){var i=[],n=this.getRows(),s=this.getColumns();return e?i=n.map((e=>{var i=[];return e.getCells().forEach((e=>{s.includes(e.column)&&i.push(t?e.getComponent():e)})),i})):n.forEach((e=>{e.getCells().forEach((e=>{s.includes(e.column)&&i.push(t?e.getComponent():e)}))})),i}getStructuredCells(){return this.getCells(!0,!0)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var e=this.getCells(),t=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),e.forEach((e=>{e.setValue(t)})),this.table.restoreRedraw()}getBounds(e){var t=this.getCells(!1,e),i={start:null,end:null};return t.length?(i.start=t[0],i.end=t[t.length-1]):console.warn("No bounds defined on range"),i}getComponent(){return this.component||(this.component=new me(this)),this.component}destroy(e){this.destroyed=!0,this.element.remove(),e&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent())}destroyedGuard(e){return this.destroyed&&console.warn("You cannot call the "+e+" function on a destroyed range"),!this.destroyed}}var fe={keybindings:{bindings:{rangeJumpUp:["ctrl + 38","meta + 38"],rangeJumpDown:["ctrl + 40","meta + 40"],rangeJumpLeft:["ctrl + 37","meta + 37"],rangeJumpRight:["ctrl + 39","meta + 39"],rangeExpandUp:"shift + 38",rangeExpandDown:"shift + 40",rangeExpandLeft:"shift + 37",rangeExpandRight:"shift + 39",rangeExpandJumpUp:["ctrl + shift + 38","meta + shift + 38"],rangeExpandJumpDown:["ctrl + shift + 40","meta + shift + 40"],rangeExpandJumpLeft:["ctrl + shift + 37","meta + shift + 37"],rangeExpandJumpRight:["ctrl + shift + 39","meta + shift + 39"]},actions:{rangeJumpLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!0,!1)},rangeJumpRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!0,!1)},rangeJumpUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!0,!1)},rangeJumpDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!0,!1)},rangeExpandLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!1,!0)},rangeExpandRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!1,!0)},rangeExpandUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!1,!0)},rangeExpandDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!1,!0)},rangeExpandJumpLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!0,!0)},rangeExpandJumpRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!0,!0)},rangeExpandJumpUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!0,!0)},rangeExpandJumpDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!0,!0)}}},clipboard:{pasteActions:{range:function(e){var t,i,n,s,o,r=[],a=this.table.modules.selectRange.activeRange,l=!1;return o=e.length,a&&(i=(t=a.getBounds()).start,t.start===t.end&&(l=!0),i&&(n=(r=this.table.rowManager.activeRows.slice()).indexOf(i.row),s=l?e.length:r.indexOf(t.end.row)-n+1,n>-1&&(this.table.blockRedraw(),(r=r.slice(n,n+s)).forEach(((t,i)=>{t.updateData(e[i%o])})),this.table.restoreRedraw()))),r}},pasteParsers:{range:function(e){var t,i,n,s,o,r=[],a=[],l=this.table.modules.selectRange.activeRange,h=!1;return!!(l&&(i=(t=l.getBounds()).start,t.start===t.end&&(h=!0),i&&((e=e.split("\n")).forEach((function(e){r.push(e.split("\t"))})),r.length&&(o=(s=this.table.columnManager.getVisibleColumnsByIndex()).indexOf(i.column))>-1)))&&(n=h?r[0].length:s.indexOf(t.end.column)-o+1,s=s.slice(o,o+n),r.forEach((e=>{var t={},i=e.length;s.forEach((function(n,s){t[n.field]=e[s%i]})),a.push(t)})),a)}}},export:{columnLookups:{range:function(){var e=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&e.unshift(this.columnManager.rowHeader),e}},rowLookups:{range:function(){return this.modules.selectRange.selectedRows()}}}};function be(e,t,i,n,s,o,r){var a=window.DateTime||luxon.DateTime,l=r.format||"dd/MM/yyyy HH:mm:ss",h=r.alignEmptyValues,u=0;if(void 0!==a){if(a.isDateTime(e)||(e="iso"===l?a.fromISO(String(e)):a.fromFormat(String(e),l)),a.isDateTime(t)||(t="iso"===l?a.fromISO(String(t)):a.fromFormat(String(t),l)),e.isValid){if(t.isValid)return e-t;u=1}else u=t.isValid?-1:0;return("top"===h&&"desc"===o||"bottom"===h&&"asc"===o)&&(u*=-1),u}console.error("Sort Error - 'datetime' sorter is dependant on luxon.js")}var ve={number:function(e,t,i,n,s,o,r){var a=r.alignEmptyValues,l=r.decimalSeparator,h=r.thousandSeparator,u=0;if(e=String(e),t=String(t),h&&(e=e.split(h).join(""),t=t.split(h).join("")),l&&(e=e.split(l).join("."),t=t.split(l).join(".")),e=parseFloat(e),t=parseFloat(t),isNaN(e))u=isNaN(t)?0:-1;else{if(!isNaN(t))return e-t;u=1}return("top"===a&&"desc"===o||"bottom"===a&&"asc"===o)&&(u*=-1),u},string:function(e,t,i,n,s,o,r){var a,l=r.alignEmptyValues,h=0;if(e){if(t){switch(typeof r.locale){case"boolean":r.locale&&(a=this.langLocale());break;case"string":a=r.locale}return String(e).toLowerCase().localeCompare(String(t).toLowerCase(),a)}h=1}else h=t?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(h*=-1),h},date:function(e,t,i,n,s,o,r){return r.format||(r.format="dd/MM/yyyy"),be.call(this,e,t,i,n,s,o,r)},time:function(e,t,i,n,s,o,r){return r.format||(r.format="HH:mm"),be.call(this,e,t,i,n,s,o,r)},datetime:be,boolean:function(e,t,i,n,s,o,r){return(!0===e||"true"===e||"True"===e||1===e?1:0)-(!0===t||"true"===t||"True"===t||1===t?1:0)},array:function(e,t,i,n,s,o,r){var a=r.type||"length",l=r.alignEmptyValues,h=0;function u(e){var t;switch(a){case"length":t=e.length;break;case"sum":t=e.reduce((function(e,t){return e+t}));break;case"max":t=Math.max.apply(null,e);break;case"min":t=Math.min.apply(null,e);break;case"avg":t=e.reduce((function(e,t){return e+t}))/e.length}return t}if(Array.isArray(e)){if(Array.isArray(t))return u(t)-u(e);h=1}else h=Array.isArray(t)?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(h*=-1),h},exists:function(e,t,i,n,s,o,r){return(void 0===e?0:1)-(void 0===t?0:1)},alphanum:function(e,t,i,n,s,o,r){var a,l,h,u,c,d=0,p=/(\d+)|(\D+)/g,m=/\d/,g=r.alignEmptyValues,f=0;if(e||0===e){if(t||0===t){if(isFinite(e)&&isFinite(t))return e-t;if((a=String(e).toLowerCase())===(l=String(t).toLowerCase()))return 0;if(!m.test(a)||!m.test(l))return a>l?1:-1;for(a=a.match(p),l=l.match(p),c=a.length>l.length?l.length:a.length;d<c;)if((h=a[d])!==(u=l[d++]))return isFinite(h)&&isFinite(u)?("0"===h.charAt(0)&&(h="."+h),"0"===u.charAt(0)&&(u="."+u),h-u):h>u?1:-1;return a.length>l.length}f=1}else f=t||0===t?-1:0;return("top"===g&&"desc"===o||"bottom"===g&&"asc"===o)&&(f*=-1),f}};class we extends s{static moduleName="sort";static sorters=ve;constructor(e){super(e),this.sortList=[],this.changed=!1,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",!1),this.registerTableOption("columnHeaderSortMulti",!0),this.registerTableOption("sortOrderReverse",!1),this.registerTableOption("headerSortElement","<div class='tabulator-arrow'></div>"),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",!0),this.registerColumnOption("headerSortStartingDir"),this.registerColumnOption("headerSortTristate")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.registerDataHandler(this.sort.bind(this),20),this.registerTableFunction("setSort",this.userSetSort.bind(this)),this.registerTableFunction("getSorters",this.getSort.bind(this)),this.registerTableFunction("clearSort",this.clearSort.bind(this)),"remote"===this.table.options.sortMode&&this.subscribe("data-params",this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(e,t,i,n){var s=this.getSort();return s.forEach((e=>{delete e.column})),n.sort=s,n}userSetSort(e,t){this.setSort(e,t),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(e){var t,i,n=!1;switch(typeof e.definition.sorter){case"string":we.sorters[e.definition.sorter]?n=we.sorters[e.definition.sorter]:console.warn("Sort Error - No such sorter found: ",e.definition.sorter);break;case"function":n=e.definition.sorter}if(e.modules.sort={sorter:n,dir:"none",params:e.definition.sorterParams||{},startingDir:e.definition.headerSortStartingDir||"asc",tristate:e.definition.headerSortTristate},!1!==e.definition.headerSort){if((t=e.getElement()).classList.add("tabulator-sortable"),(i=document.createElement("div")).classList.add("tabulator-col-sorter"),"icon"===this.table.options.headerSortClickElement)i.classList.add("tabulator-col-sorter-element");else t.classList.add("tabulator-col-sorter-element");switch(this.table.options.headerSortElement){case"function":break;case"object":i.appendChild(this.table.options.headerSortElement);break;default:i.innerHTML=this.table.options.headerSortElement}e.titleHolderElement.appendChild(i),e.modules.sort.element=i,this.setColumnHeaderSortIcon(e,"none"),"icon"===this.table.options.headerSortClickElement&&i.addEventListener("mousedown",(e=>{e.stopPropagation()})),("icon"===this.table.options.headerSortClickElement?i:t).addEventListener("click",(t=>{var i="",n=[],s=!1;if(e.modules.sort){if(e.modules.sort.tristate)i="none"==e.modules.sort.dir?e.modules.sort.startingDir:e.modules.sort.dir==e.modules.sort.startingDir?"asc"==e.modules.sort.dir?"desc":"asc":"none";else switch(e.modules.sort.dir){case"asc":i="desc";break;case"desc":i="asc";break;default:i=e.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(t.shiftKey||t.ctrlKey)?(s=(n=this.getSort()).findIndex((t=>t.field===e.getField())),s>-1?(n[s].dir=i,s=n.splice(s,1)[0],"none"!=i&&n.push(s)):"none"!=i&&n.push({column:e,dir:i}),this.setSort(n)):"none"==i?this.clear():this.setSort(e,i),this.refreshSort()}}))}}refreshSort(){"remote"===this.table.options.sortMode?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var e=this.changed;return this.changed=!1,e}getSort(){var e=[];return this.sortList.forEach((function(t){t.column&&e.push({column:t.column.getComponent(),field:t.column.getField(),dir:t.dir})})),e}setSort(e,t){var i=this,n=[];Array.isArray(e)||(e=[{column:e,dir:t}]),e.forEach((function(e){var t;(t=i.table.columnManager.findColumn(e.column))?(e.column=t,n.push(e),i.changed=!0):console.warn("Sort Warning - Sort field does not exist and is being ignored: ",e.column)})),i.sortList=n,this.dispatch("sort-changed")}clear(){this.setSort([])}findSorter(e){var t,i=this.table.rowManager.activeRows[0],n="string";if(i&&(i=i.getData(),e.getField()))switch(typeof(t=e.getFieldValue(i))){case"undefined":n="string";break;case"boolean":n="boolean";break;default:isNaN(t)||""===t?t.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(n="alphanum"):n="number"}return we.sorters[n]}sort(e,t){var i=this,n=this.table.options.sortOrderReverse?i.sortList.slice().reverse():i.sortList,s=[],o=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",i.getSort()),t||i.clearColumnHeaders(),"remote"!==this.table.options.sortMode?(n.forEach((function(e,n){var o;e.column&&((o=e.column.modules.sort)&&(o.sorter||(o.sorter=i.findSorter(e.column)),e.params="function"==typeof o.params?o.params(e.column.getComponent(),e.dir):o.params,s.push(e)),t||i.setColumnHeader(e.column,e.dir))})),s.length&&i._sortItems(e,s)):t||n.forEach((function(e,t){i.setColumnHeader(e.column,e.dir)})),this.subscribedExternal("dataSorted")&&(e.forEach((e=>{o.push(e.getComponent())})),this.dispatchExternal("dataSorted",i.getSort(),o)),e}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach((e=>{e.modules.sort&&(e.modules.sort.dir="none",e.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(e,"none"))}))}setColumnHeader(e,t){e.modules.sort.dir=t,e.getElement().setAttribute("aria-sort","asc"===t?"ascending":"descending"),this.setColumnHeaderSortIcon(e,t)}setColumnHeaderSortIcon(e,t){var i,n=e.modules.sort.element;if(e.definition.headerSort&&"function"==typeof this.table.options.headerSortElement){for(;n.firstChild;)n.removeChild(n.firstChild);"object"==typeof(i=this.table.options.headerSortElement.call(this.table,e.getComponent(),t))?n.appendChild(i):n.innerHTML=i}}_sortItems(e,t){var i=t.length-1;e.sort(((e,n)=>{for(var s,o=i;o>=0;o--){let i=t[o];if(0!==(s=this._sortRow(e,n,i.column,i.dir,i.params)))break}return s}))}_sortRow(e,t,i,n,s){var o,r,a="asc"==n?e:t,l="asc"==n?t:e;return e=void 0!==(e=i.getFieldValue(a.getData()))?e:"",t=void 0!==(t=i.getFieldValue(l.getData()))?t:"",o=a.getComponent(),r=l.getComponent(),i.modules.sort.sorter.call(this,e,t,o,r,i.getComponent(),n,s)}}class Ce{constructor(e,t){this.columnCount=e,this.rowCount=t,this.columnString=[],this.columns=[],this.rows=[]}genColumns(e){var t=Math.max(this.columnCount,Math.max(...e.map((e=>e.length))));this.columnString=[],this.columns=[];for(let e=1;e<=t;e++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(""));return this.columns}genRows(e){var t=Math.max(this.rowCount,e.length);this.rows=[];for(let e=1;e<=t;e++)this.rows.push(e);return this.rows}incrementChar(e){let t=this.columnString[e];t?"Z"!==t?this.columnString[e]=String.fromCharCode(this.columnString[e].charCodeAt(0)+1):(this.columnString[e]="A",e?this.incrementChar(e-1):this.columnString.push("A")):this.columnString.push("A")}setRowCount(e){this.rowCount=e}setColumnCount(e){this.columnCount=e}}class ye{constructor(e){return this._sheet=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._sheet.table.componentFunctionBinder.handle("sheet",e._sheet,t)}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(e){return this._sheet.setData(e)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(e){return this._sheet.setTitle(e)}setRows(e){return this._sheet.setRows(e)}setColumns(e){return this._sheet.setColumns(e)}}class Ee extends e{constructor(e,t){super(e.table),this.spreadsheetManager=e,this.definition=t,this.title=this.definition.title||"",this.key=this.definition.key||this.definition.title,this.rowCount=this.definition.rows,this.columnCount=this.definition.columns,this.data=this.definition.data||[],this.element=null,this.isActive=!1,this.grid=new Ce(this.columnCount,this.rowCount),this.defaultColumnDefinition={width:100,headerHozAlign:"center",headerSort:!1},this.columnDefinition=Object.assign(this.defaultColumnDefinition,this.options("spreadsheetColumnDefinition")),this.columnDefs=[],this.rowDefs=[],this.columnFields=[],this.columns=[],this.rows=[],this.scrollTop=null,this.scrollLeft=null,this.initialize(),this.dispatchExternal("sheetAdded",this.getComponent())}initialize(){this.initializeElement(),this.initializeColumns(),this.initializeRows()}reinitialize(){this.initializeColumns(),this.initializeRows()}initializeElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tab"),this.element.innerText=this.title,this.element.addEventListener("click",(()=>{this.spreadsheetManager.loadSheet(this)}))}initializeColumns(){this.grid.setColumnCount(this.columnCount),this.columnFields=this.grid.genColumns(this.data),this.columnDefs=[],this.columnFields.forEach((e=>{var t=Object.assign({},this.columnDefinition);t.field=e,t.title=e,this.columnDefs.push(t)}))}initializeRows(){var e;this.grid.setRowCount(this.rowCount),e=this.grid.genRows(this.data),this.rowDefs=[],e.forEach(((e,t)=>{var i={_id:e},n=this.data[t];n&&n.forEach(((e,t)=>{var n=this.columnFields[t];n&&(i[n]=e)})),this.rowDefs.push(i)}))}unload(){this.isActive=!1,this.scrollTop=this.table.rowManager.scrollTop,this.scrollLeft=this.table.rowManager.scrollLeft,this.data=this.getData(!0),this.element.classList.remove("tabulator-spreadsheet-tab-active")}load(){var e=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),e&&null!==this.scrollTop&&(this.table.rowManager.element.scrollLeft=this.scrollLeft,this.table.rowManager.element.scrollTop=this.scrollTop),this.element.classList.add("tabulator-spreadsheet-tab-active"),this.dispatchExternal("sheetLoaded",this.getComponent())}getComponent(){return new ye(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(e){var t,i,n,s=[];return this.rowDefs.forEach((e=>{var t=[];this.columnFields.forEach((i=>{t.push(e[i])})),s.push(t)})),e||this.options("spreadsheetOutputFull")||(t=s.map((e=>e.findLastIndex((e=>void 0!==e))+1)),i=Math.max(...t),n=t.findLastIndex((e=>e>0))+1,s=(s=s.slice(0,n)).map((e=>e.slice(0,i)))),s}setData(e){this.data=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(e){this.title=e,this.element.innerText=e,this.dispatchExternal("sheetUpdated",this.getComponent())}setRows(e){this.rowCount=e,this.initializeRows(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}setColumns(e){this.columnCount=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}remove(){this.spreadsheetManager.removeSheet(this)}destroy(){this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.dispatchExternal("sheetRemoved",this.getComponent())}active(){this.spreadsheetManager.loadSheet(this)}}var Re={integer:function(e,t,i){return""===t||null==t||(t=Number(t),!isNaN(t)&&isFinite(t)&&Math.floor(t)===t)},float:function(e,t,i){return""===t||null==t||(t=Number(t),!isNaN(t)&&isFinite(t)&&t%1!=0)},numeric:function(e,t,i){return""===t||null==t||!isNaN(t)},string:function(e,t,i){return""===t||null==t||isNaN(t)},alphanumeric:function(e,t,i){return""===t||null==t||new RegExp(/^[a-z0-9]+$/i).test(t)},max:function(e,t,i){return""===t||null==t||parseFloat(t)<=i},min:function(e,t,i){return""===t||null==t||parseFloat(t)>=i},starts:function(e,t,i){return""===t||null==t||String(t).toLowerCase().startsWith(String(i).toLowerCase())},ends:function(e,t,i){return""===t||null==t||String(t).toLowerCase().endsWith(String(i).toLowerCase())},minLength:function(e,t,i){return""===t||null==t||String(t).length>=i},maxLength:function(e,t,i){return""===t||null==t||String(t).length<=i},in:function(e,t,i){return""===t||null==t||("string"==typeof i&&(i=i.split("|")),i.indexOf(t)>-1)},regex:function(e,t,i){return""===t||null==t||new RegExp(i).test(t)},unique:function(e,t,i){if(""===t||null==t)return!0;var n=!0,s=e.getData(),o=e.getColumn()._getSelf();return this.table.rowManager.rows.forEach((function(e){var i=e.getData();i!==s&&t==o.getFieldValue(i)&&(n=!1)})),n},required:function(e,t,i){return""!==t&&null!=t}};class _e extends s{static moduleName="validate";static validators=Re;constructor(e){super(e),this.invalidCells=[],this.registerTableOption("validationMode","blocking"),this.registerColumnOption("validator"),this.registerTableFunction("getInvalidCells",this.getInvalidCells.bind(this)),this.registerTableFunction("clearCellValidation",this.userClearCellValidation.bind(this)),this.registerTableFunction("validate",this.userValidate.bind(this)),this.registerComponentFunction("cell","isValid",this.cellIsValid.bind(this)),this.registerComponentFunction("cell","clearValidation",this.clearValidation.bind(this)),this.registerComponentFunction("cell","validate",this.cellValidate.bind(this)),this.registerComponentFunction("column","validate",this.columnValidate.bind(this)),this.registerComponentFunction("row","validate",this.rowValidate.bind(this))}initialize(){this.subscribe("cell-delete",this.clearValidation.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("edit-success",this.editValidate.bind(this)),this.subscribe("edit-editor-clear",this.editorClear.bind(this)),this.subscribe("edit-edited-clear",this.editedClear.bind(this))}editValidate(e,t,i){var n="manual"===this.table.options.validationMode||this.validate(e.column.modules.validate,e,t);return!0!==n&&setTimeout((()=>{e.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",e.getComponent(),t,n)})),n}editorClear(e,t){t&&e.column.modules.validate&&this.cellValidate(e),e.getElement().classList.remove("tabulator-validation-fail")}editedClear(e){e.modules.validate&&(e.modules.validate.invalid=!1)}cellIsValid(e){return e.modules.validate&&e.modules.validate.invalid||!0}cellValidate(e){return this.validate(e.column.modules.validate,e,e.getValue())}columnValidate(e){var t=[];return e.cells.forEach((e=>{!0!==this.cellValidate(e)&&t.push(e.getComponent())})),!t.length||t}rowValidate(e){var t=[];return e.cells.forEach((e=>{!0!==this.cellValidate(e)&&t.push(e.getComponent())})),!t.length||t}userClearCellValidation(e){e||(e=this.getInvalidCells()),Array.isArray(e)||(e=[e]),e.forEach((e=>{this.clearValidation(e._getSelf())}))}userValidate(e){var t=[];return this.table.rowManager.rows.forEach((e=>{var i=(e=e.getComponent()).validate();!0!==i&&(t=t.concat(i))})),!t.length||t}initializeColumnCheck(e){void 0!==e.definition.validator&&this.initializeColumn(e)}initializeColumn(e){var t,i=this,n=[];e.definition.validator&&(Array.isArray(e.definition.validator)?e.definition.validator.forEach((e=>{(t=i._extractValidator(e))&&n.push(t)})):(t=this._extractValidator(e.definition.validator))&&n.push(t),e.modules.validate=!!n.length&&n)}_extractValidator(e){var t,i,n;switch(typeof e){case"string":return(n=e.indexOf(":"))>-1?(t=e.substring(0,n),i=e.substring(n+1)):t=e,this._buildValidator(t,i);case"function":return this._buildValidator(e);case"object":return this._buildValidator(e.type,e.parameters)}}_buildValidator(e,t){var i="function"==typeof e?e:_e.validators[e];return i?{type:"function"==typeof e?"function":e,func:i,params:t}:(console.warn("Validator Setup Error - No matching validator found:",e),!1)}validate(e,t,i){var n=this,s=[],o=this.invalidCells.indexOf(t);return e&&e.forEach((e=>{e.func.call(n,t.getComponent(),i,e.params)||s.push({type:e.type,parameters:e.params})})),t.modules.validate||(t.modules.validate={}),s.length?(t.modules.validate.invalid=s,"manual"!==this.table.options.validationMode&&t.getElement().classList.add("tabulator-validation-fail"),-1==o&&this.invalidCells.push(t)):(t.modules.validate.invalid=!1,t.getElement().classList.remove("tabulator-validation-fail"),o>-1&&this.invalidCells.splice(o,1)),!s.length||s}getInvalidCells(){var e=[];return this.invalidCells.forEach((t=>{e.push(t.getComponent())})),e}clearValidation(e){var t;e.modules.validate&&e.modules.validate.invalid&&(e.getElement().classList.remove("tabulator-validation-fail"),e.modules.validate.invalid=!1,(t=this.invalidCells.indexOf(e))>-1&&this.invalidCells.splice(t,1))}}var Te=Object.freeze({__proto__:null,AccessorModule:r,AjaxModule:m,ClipboardModule:v,ColumnCalcsModule:M,DataTreeModule:class extends s{static moduleName="dataTree";constructor(e){super(e),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=!1,this.startOpen=function(){},this.registerTableOption("dataTree",!1),this.registerTableOption("dataTreeFilter",!0),this.registerTableOption("dataTreeSort",!0),this.registerTableOption("dataTreeElementColumn",!1),this.registerTableOption("dataTreeBranchElement",!0),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",!1),this.registerTableOption("dataTreeExpandElement",!1),this.registerTableOption("dataTreeStartExpanded",!1),this.registerTableOption("dataTreeChildColumnCalcs",!1),this.registerTableOption("dataTreeSelectPropagate",!1),this.registerComponentFunction("row","treeCollapse",this.collapseRow.bind(this)),this.registerComponentFunction("row","treeExpand",this.expandRow.bind(this)),this.registerComponentFunction("row","treeToggle",this.toggleRow.bind(this)),this.registerComponentFunction("row","getTreeParent",this.getTreeParent.bind(this)),this.registerComponentFunction("row","getTreeChildren",this.getRowChildren.bind(this)),this.registerComponentFunction("row","addTreeChild",this.addTreeChildRow.bind(this)),this.registerComponentFunction("row","isTreeExpanded",this.isRowExpanded.bind(this))}initialize(){if(this.table.options.dataTree){var e=null,t=this.table.options;switch(this.field=t.dataTreeChildField,this.indent=t.dataTreeChildIndent,this.options("movableRows")&&console.warn("The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior"),t.dataTreeBranchElement?!0===t.dataTreeBranchElement?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):"string"==typeof t.dataTreeBranchElement?((e=document.createElement("div")).innerHTML=t.dataTreeBranchElement,this.branchEl=e.firstChild):this.branchEl=t.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),t.dataTreeCollapseElement?"string"==typeof t.dataTreeCollapseElement?((e=document.createElement("div")).innerHTML=t.dataTreeCollapseElement,this.collapseEl=e.firstChild):this.collapseEl=t.dataTreeCollapseElement:(this.collapseEl=document.createElement("div"),this.collapseEl.classList.add("tabulator-data-tree-control"),this.collapseEl.tabIndex=0,this.collapseEl.innerHTML="<div class='tabulator-data-tree-control-collapse'></div>"),t.dataTreeExpandElement?"string"==typeof t.dataTreeExpandElement?((e=document.createElement("div")).innerHTML=t.dataTreeExpandElement,this.expandEl=e.firstChild):this.expandEl=t.dataTreeExpandElement:(this.expandEl=document.createElement("div"),this.expandEl.classList.add("tabulator-data-tree-control"),this.expandEl.tabIndex=0,this.expandEl.innerHTML="<div class='tabulator-data-tree-control-expand'></div>"),typeof t.dataTreeStartExpanded){case"boolean":this.startOpen=function(e,i){return t.dataTreeStartExpanded};break;case"function":this.startOpen=t.dataTreeStartExpanded;break;default:this.startOpen=function(e,i){return t.dataTreeStartExpanded[i]}}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleted",this.rowDelete.bind(this),0),this.subscribe("row-data-changed",this.rowDataChanged.bind(this),10),this.subscribe("cell-value-updated",this.cellValueChanged.bind(this)),this.subscribe("edit-cancelled",this.cellValueChanged.bind(this)),this.subscribe("column-moving-rows",this.columnMoving.bind(this)),this.subscribe("table-built",this.initializeElementField.bind(this)),this.subscribe("table-redrawing",this.tableRedrawing.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),30)}}tableRedrawing(e){e&&this.table.rowManager.getRows().forEach((e=>{this.reinitializeRowChildren(e)}))}initializeElementField(){var e=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||!!e&&e.field}getRowChildren(e){return this.getTreeChildren(e,!0)}columnMoving(){var e=[];return this.table.rowManager.rows.forEach((t=>{e=e.concat(this.getTreeChildren(t,!1,!0))})),e}rowDataChanged(e,t,i){this.redrawNeeded(i)&&(this.initializeRow(e),t&&(this.layoutRow(e),this.refreshData(!0)))}cellValueChanged(e){e.column.getField()===this.elementField&&this.layoutRow(e.row)}initializeRow(e){var t=e.getData()[this.field],i=Array.isArray(t),n=i||!i&&"object"==typeof t&&null!==t;!n&&e.modules.dataTree&&e.modules.dataTree.branchEl&&e.modules.dataTree.branchEl.parentNode.removeChild(e.modules.dataTree.branchEl),!n&&e.modules.dataTree&&e.modules.dataTree.controlEl&&e.modules.dataTree.controlEl.parentNode.removeChild(e.modules.dataTree.controlEl),e.modules.dataTree={index:e.modules.dataTree?e.modules.dataTree.index:0,open:!!n&&(e.modules.dataTree?e.modules.dataTree.open:this.startOpen(e.getComponent(),0)),controlEl:!(!e.modules.dataTree||!n)&&e.modules.dataTree.controlEl,branchEl:!(!e.modules.dataTree||!n)&&e.modules.dataTree.branchEl,parent:!!e.modules.dataTree&&e.modules.dataTree.parent,children:n}}reinitializeRowChildren(e){this.getTreeChildren(e,!1,!0).forEach((function(e){e.reinitialize(!0)}))}layoutRow(e){var t=(this.elementField?e.getCell(this.elementField):e.getCells()[0]).getElement(),i=e.modules.dataTree;i.branchEl&&(i.branchEl.parentNode&&i.branchEl.parentNode.removeChild(i.branchEl),i.branchEl=!1),i.controlEl&&(i.controlEl.parentNode&&i.controlEl.parentNode.removeChild(i.controlEl),i.controlEl=!1),this.generateControlElement(e,t),e.getElement().classList.add("tabulator-tree-level-"+i.index),i.index&&(this.branchEl?(i.branchEl=this.branchEl.cloneNode(!0),t.insertBefore(i.branchEl,t.firstChild),this.table.rtl?i.branchEl.style.marginRight=(i.branchEl.offsetWidth+i.branchEl.style.marginLeft)*(i.index-1)+i.index*this.indent+"px":i.branchEl.style.marginLeft=(i.branchEl.offsetWidth+i.branchEl.style.marginRight)*(i.index-1)+i.index*this.indent+"px"):this.table.rtl?t.style.paddingRight=parseInt(window.getComputedStyle(t,null).getPropertyValue("padding-right"))+i.index*this.indent+"px":t.style.paddingLeft=parseInt(window.getComputedStyle(t,null).getPropertyValue("padding-left"))+i.index*this.indent+"px")}generateControlElement(e,t){var i=e.modules.dataTree,n=i.controlEl;t=t||e.getCells()[0].getElement(),!1!==i.children&&(i.open?(i.controlEl=this.collapseEl.cloneNode(!0),i.controlEl.addEventListener("click",(t=>{t.stopPropagation(),this.collapseRow(e)}))):(i.controlEl=this.expandEl.cloneNode(!0),i.controlEl.addEventListener("click",(t=>{t.stopPropagation(),this.expandRow(e)}))),i.controlEl.addEventListener("mousedown",(e=>{e.stopPropagation()})),n&&n.parentNode===t?n.parentNode.replaceChild(i.controlEl,n):t.insertBefore(i.controlEl,t.firstChild))}getRows(e){var t=[];return e.forEach(((e,i)=>{var n;t.push(e),e instanceof x&&(e.create(),(n=e.modules.dataTree).index||!1===n.children||this.getChildren(e,!1,!0).forEach((e=>{e.create(),t.push(e)})))})),t}getChildren(e,t,i){var n=e.modules.dataTree,s=[],o=[];return!1!==n.children&&(n.open||t)&&(Array.isArray(n.children)||(n.children=this.generateChildren(e)),s=this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(n.children):n.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(s,i),s.forEach((e=>{o.push(e),this.getChildren(e,!1,!0).forEach((e=>{o.push(e)}))}))),o}generateChildren(e){var t=[],i=e.getData()[this.field];return Array.isArray(i)||(i=[i]),i.forEach((i=>{var n=new x(i||{},this.table.rowManager);n.create(),n.modules.dataTree.index=e.modules.dataTree.index+1,n.modules.dataTree.parent=e,n.modules.dataTree.children&&(n.modules.dataTree.open=this.startOpen(n.getComponent(),n.modules.dataTree.index)),t.push(n)})),t}expandRow(e,t){var i=e.modules.dataTree;!1!==i.children&&(i.open=!0,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowExpanded",e.getComponent(),e.modules.dataTree.index))}collapseRow(e){var t=e.modules.dataTree;!1!==t.children&&(t.open=!1,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowCollapsed",e.getComponent(),e.modules.dataTree.index))}toggleRow(e){var t=e.modules.dataTree;!1!==t.children&&(t.open?this.collapseRow(e):this.expandRow(e))}isRowExpanded(e){return e.modules.dataTree.open}getTreeParent(e){return!!e.modules.dataTree.parent&&e.modules.dataTree.parent.getComponent()}getTreeParentRoot(e){return e.modules.dataTree&&e.modules.dataTree.parent?this.getTreeParentRoot(e.modules.dataTree.parent):e}getFilteredTreeChildren(e){var t=e.modules.dataTree,i=[];return t.children&&(Array.isArray(t.children)||(t.children=this.generateChildren(e)),(this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(t.children):t.children).forEach((e=>{e instanceof x&&i.push(e)}))),i}rowDelete(e){var t,i=e.modules.dataTree.parent;i&&(!1!==(t=this.findChildIndex(e,i))&&i.data[this.field].splice(t,1),i.data[this.field].length||delete i.data[this.field],this.initializeRow(i),this.layoutRow(i)),this.refreshData(!0)}addTreeChildRow(e,t,i,n){var s=!1;"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e.data[this.field])||(e.data[this.field]=[],e.modules.dataTree.open=this.startOpen(e.getComponent(),e.modules.dataTree.index)),void 0!==n&&!1!==(s=this.findChildIndex(n,e))&&e.data[this.field].splice(i?s:s+1,0,t),!1===s&&(i?e.data[this.field].unshift(t):e.data[this.field].push(t)),this.initializeRow(e),this.layoutRow(e),this.refreshData(!0)}findChildIndex(e,t){var i=!1;return"object"==typeof e?e instanceof x?i=e.data:e instanceof T?i=e._getSelf().data:"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?t.modules.dataTree&&(i=t.modules.dataTree.children.find((t=>t instanceof x&&t.element===e)))&&(i=i.data):null===e&&(i=!1):i=void 0!==e&&t.data[this.field].find((t=>t.data[this.table.options.index]==e)),i&&(Array.isArray(t.data[this.field])&&(i=t.data[this.field].indexOf(i)),-1==i&&(i=!1)),i}getTreeChildren(e,t,i){var n=e.modules.dataTree,s=[];return n&&n.children&&(Array.isArray(n.children)||(n.children=this.generateChildren(e)),n.children.forEach((e=>{e instanceof x&&(s.push(t?e.getComponent():e),i&&this.getTreeChildren(e,t,i).forEach((e=>{s.push(e)})))}))),s}getChildField(){return this.field}redrawNeeded(e){return!!this.field&&void 0!==e[this.field]||!!this.elementField&&void 0!==e[this.elementField]}},DownloadModule:k,EditModule:O,ExportModule:I,FilterModule:V,FormatModule:j,FrozenColumnsModule:class extends s{static moduleName="frozenColumns";constructor(e){super(e),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=!1,this.blocked=!0,this.registerColumnOption("frozen")}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=!1}initialize(){this.subscribe("cell-layout",this.layoutCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-width",this.layout.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("table-layout",this.layout.bind(this)),this.subscribe("columns-loading",this.reset.bind(this)),this.subscribe("column-add",this.reinitializeColumns.bind(this)),this.subscribe("column-deleted",this.reinitializeColumns.bind(this)),this.subscribe("column-hide",this.reinitializeColumns.bind(this)),this.subscribe("column-show",this.reinitializeColumns.bind(this)),this.subscribe("columns-loaded",this.reinitializeColumns.bind(this)),this.subscribe("table-redraw",this.layout.bind(this)),this.subscribe("layout-refreshing",this.blockLayout.bind(this)),this.subscribe("layout-refreshed",this.unblockLayout.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this))}blockLayout(){this.blocked=!0}unblockLayout(){this.blocked=!1}layoutCell(e){this.layoutElement(e.element,e.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach((e=>{this.initializeColumn(e)})),this.layout()}initializeColumn(e){var t={margin:0,edge:!1};e.isGroup||(this.frozenCheck(e)?(t.position=this.initializationMode,"left"==this.initializationMode?this.leftColumns.push(e):this.rightColumns.unshift(e),this.active=!0,e.modules.frozen=t):this.initializationMode="right")}frozenCheck(e){return e.parent.isGroup&&e.definition.frozen&&console.warn("Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups"),e.parent.isGroup?this.frozenCheck(e.parent):e.definition.frozen}layoutCalcRows(){this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&this.table.modules.columnCalcs.topRow&&this.layoutRow(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&this.table.modules.columnCalcs.botRow&&this.layoutRow(this.table.modules.columnCalcs.botRow),this.table.modExists("groupRows")&&this.layoutGroupCalcs(this.table.modules.groupRows.getGroups()))}layoutGroupCalcs(e){e.forEach((e=>{e.calcs.top&&this.layoutRow(e.calcs.top),e.calcs.bottom&&this.layoutRow(e.calcs.bottom),e.groupList&&e.groupList.length&&this.layoutGroupCalcs(e.groupList)}))}layoutColumnPosition(e){var t=[],i=0,n=0;this.leftColumns.forEach(((n,s)=>{if(n.modules.frozen.marginValue=i,n.modules.frozen.margin=n.modules.frozen.marginValue+"px",n.visible&&(i+=n.getWidth()),s==this.leftColumns.length-1?n.modules.frozen.edge=!0:n.modules.frozen.edge=!1,n.parent.isGroup){var o=this.getColGroupParentElement(n);t.includes(o)||(this.layoutElement(o,n),t.push(o)),o.classList.toggle("tabulator-frozen-left",n.modules.frozen.edge&&"left"===n.modules.frozen.position),o.classList.toggle("tabulator-frozen-right",n.modules.frozen.edge&&"right"===n.modules.frozen.position)}else this.layoutElement(n.getElement(),n);e&&n.cells.forEach((e=>{this.layoutElement(e.getElement(!0),n)}))})),this.rightColumns.forEach(((t,i)=>{t.modules.frozen.marginValue=n,t.modules.frozen.margin=t.modules.frozen.marginValue+"px",t.visible&&(n+=t.getWidth()),i==this.rightColumns.length-1?t.modules.frozen.edge=!0:t.modules.frozen.edge=!1,t.parent.isGroup?this.layoutElement(this.getColGroupParentElement(t),t):this.layoutElement(t.getElement(),t),e&&t.cells.forEach((e=>{this.layoutElement(e.getElement(!0),t)}))}))}getColGroupParentElement(e){return e.parent.isGroup?this.getColGroupParentElement(e.parent):e.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var e=this.table.rowManager.getVisibleRows(!0);this.table.rowManager.getRows().filter((t=>!e.includes(t))).forEach((e=>{e.deinitialize()})),e.forEach((e=>{"row"===e.type&&this.layoutRow(e)}))}layoutRow(e){"fitDataFill"===this.table.options.layout&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach((t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)})),this.rightColumns.forEach((t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)}))}layoutElement(e,t){var i;t.modules.frozen&&e&&(e.style.position="sticky",i=this.table.rtl?"left"===t.modules.frozen.position?"right":"left":t.modules.frozen.position,e.style[i]=t.modules.frozen.margin,e.classList.add("tabulator-frozen"),e.classList.toggle("tabulator-frozen-left",t.modules.frozen.edge&&"left"===t.modules.frozen.position),e.classList.toggle("tabulator-frozen-right",t.modules.frozen.edge&&"right"===t.modules.frozen.position))}adjustForScrollbar(e){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+e+"px)")}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(e,t){var i=0;for(let n=0;n<t;n++)e[n].visible&&(i+=e[n].getWidth());return i}},FrozenRowsModule:class extends s{static moduleName="frozenRows";constructor(e){super(e),this.topElement=document.createElement("div"),this.rows=[],this.registerComponentFunction("row","freeze",this.freezeRow.bind(this)),this.registerComponentFunction("row","unfreeze",this.unfreezeRow.bind(this)),this.registerComponentFunction("row","isFrozen",this.isRowFrozen.bind(this)),this.registerTableOption("frozenRowsField","id"),this.registerTableOption("frozenRows",!1)}initialize(){var e=document.createDocumentFragment();this.rows=[],this.topElement.classList.add("tabulator-frozen-rows-holder"),e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.subscribe("row-deleting",this.detachRow.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),10),this.table.options.frozenRows&&(this.subscribe("data-processed",this.initializeRows.bind(this)),this.subscribe("row-added",this.initializeRow.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this))),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px"}initializeRows(){this.table.rowManager.getRows().forEach((e=>{this.initializeRow(e)}))}initializeRow(e){var t=this.table.options.frozenRows,i=typeof t;"number"===i?e.getPosition()&&e.getPosition()+this.rows.length<=t&&this.freezeRow(e):"function"===i?t.call(this.table,e.getComponent())&&this.freezeRow(e):Array.isArray(t)&&t.includes(e.data[this.options("frozenRowsField")])&&this.freezeRow(e)}isRowFrozen(e){return this.rows.indexOf(e)>-1}isFrozen(){return!!this.rows.length}visibleRows(e,t){return this.rows.forEach((e=>{t.push(e)})),t}getRows(e){var t=e.slice(0);return this.rows.forEach((function(e){var i=t.indexOf(e);i>-1&&t.splice(i,1)})),t}freezeRow(e){e.modules.frozen?console.warn("Freeze Error - Row is already frozen"):(e.modules.frozen=!0,this.topElement.appendChild(e.getElement()),e.initialize(),e.normalizeHeight(),this.rows.push(e),this.refreshData(!1,"display"),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(e){e.modules.frozen?(e.modules.frozen=!1,this.detachRow(e),this.table.rowManager.adjustTableSize(),this.refreshData(!1,"display"),this.rows.length&&this.styleRows()):console.warn("Freeze Error - Row is already unfrozen")}detachRow(e){var t=this.rows.indexOf(e);if(t>-1){var i=e.getElement();i.parentNode&&i.parentNode.removeChild(i),this.rows.splice(t,1)}}styleRows(e){this.rows.forEach(((e,t)=>{this.table.rowManager.styleRow(e,t)}))}},GroupRowsModule:class extends s{static moduleName="groupRows";constructor(e){super(e),this.groupIDLookups=!1,this.startOpen=[function(){return!1}],this.headerGenerator=[function(){return""}],this.groupList=[],this.allowedValues=!1,this.groups={},this.displayHandler=this.getRows.bind(this),this.blockRedraw=!1,this.registerTableOption("groupBy",!1),this.registerTableOption("groupStartOpen",!0),this.registerTableOption("groupValues",!1),this.registerTableOption("groupUpdateOnCellEdit",!1),this.registerTableOption("groupHeader",!1),this.registerTableOption("groupHeaderPrint",null),this.registerTableOption("groupHeaderClipboard",null),this.registerTableOption("groupHeaderHtmlOutput",null),this.registerTableOption("groupHeaderDownload",null),this.registerTableOption("groupToggleElement","arrow"),this.registerTableOption("groupClosedShowCalcs",!1),this.registerTableFunction("setGroupBy",this.setGroupBy.bind(this)),this.registerTableFunction("setGroupValues",this.setGroupValues.bind(this)),this.registerTableFunction("setGroupStartOpen",this.setGroupStartOpen.bind(this)),this.registerTableFunction("setGroupHeader",this.setGroupHeader.bind(this)),this.registerTableFunction("getGroups",this.userGetGroups.bind(this)),this.registerTableFunction("getGroupedData",this.userGetGroupedData.bind(this)),this.registerComponentFunction("row","getGroup",this.rowGetGroup.bind(this))}initialize(){this.subscribe("table-destroy",this._blockRedrawing.bind(this)),this.subscribe("rows-wipe",this._blockRedrawing.bind(this)),this.subscribe("rows-wiped",this._restore_redrawing.bind(this)),this.table.options.groupBy&&(this.table.options.groupUpdateOnCellEdit&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("row-data-changed",this.reassignRowToGroup.bind(this),0)),this.subscribe("table-built",this.configureGroupSetup.bind(this)),this.subscribe("row-deleting",this.rowDeleting.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHeaders.bind(this)),this.subscribe("rows-wipe",this.wipe.bind(this)),this.subscribe("rows-added",this.rowsUpdated.bind(this)),this.subscribe("row-moving",this.rowMoving.bind(this)),this.subscribe("row-adding-index",this.rowAddingIndex.bind(this)),this.subscribe("rows-sample",this.rowSample.bind(this)),this.subscribe("render-virtual-fill",this.virtualRenderFill.bind(this)),this.registerDisplayHandler(this.displayHandler,20),this.initialized=!0)}_blockRedrawing(){this.blockRedraw=!0}_restore_redrawing(){this.blockRedraw=!1}configureGroupSetup(){if(this.table.options.groupBy){var e=this.table.options.groupBy,t=this.table.options.groupStartOpen,i=this.table.options.groupHeader;if(this.allowedValues=this.table.options.groupValues,Array.isArray(e)&&Array.isArray(i)&&e.length>i.length&&console.warn("Error creating group headers, groupHeader array is shorter than groupBy array"),this.headerGenerator=[function(){return""}],this.startOpen=[function(){return!1}],this.langBind("groups|item",((e,t)=>{this.headerGenerator[0]=(i,n,s)=>(void 0===i?"":i)+"<span>("+n+" "+(1===n?e:t.groups.items)+")</span>"})),this.groupIDLookups=[],e)this.table.modExists("columnCalcs")&&"table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs&&this.table.modules.columnCalcs.removeCalcs();else if(this.table.modExists("columnCalcs")&&"group"!=this.table.options.columnCalcs)this.table.columnManager.getRealColumns().forEach((e=>{e.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),e.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()}));Array.isArray(e)||(e=[e]),e.forEach(((e,t)=>{var i,n;i="function"==typeof e?e:(n=this.table.columnManager.getColumnByField(e))?function(e){return n.getFieldValue(e)}:function(t){return t[e]},this.groupIDLookups.push({field:"function"!=typeof e&&e,func:i,values:!!this.allowedValues&&this.allowedValues[t]})})),t&&(Array.isArray(t)||(t=[t]),t.forEach((e=>{})),this.startOpen=t),i&&(this.headerGenerator=Array.isArray(i)?i:[i])}else this.groupList=[],this.groups={}}rowSample(e,t){if(this.table.options.groupBy){var i=this.getGroups(!1)[0];t.push(i.getRows(!1)[0])}return t}virtualRenderFill(){var e=this.table.rowManager.tableElement,t=this.table.rowManager.getVisibleRows();if(!this.table.options.groupBy)return t;t=t.filter((e=>"group"!==e.type)),e.style.minWidth=t.length?"":this.table.columnManager.getWidth()+"px"}rowAddingIndex(e,t,i){if(this.table.options.groupBy){this.assignRowToGroup(e);var n=e.modules.group.rows;return n.length>1&&(!t||t&&-1==n.indexOf(t)?i?n[0]!==e&&(t=n[0],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):n[n.length-1]!==e&&(t=n[n.length-1],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)),t}}trackChanges(){this.dispatch("group-changed")}setGroupBy(e){this.table.options.groupBy=e,this.initialized||this.initialize(),this.configureGroupSetup(),!e&&this.table.modExists("columnCalcs")&&!0===this.table.options.columnCalcs&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(e){this.table.options.groupValues=e,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(e){this.table.options.groupStartOpen=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}setGroupHeader(e){this.table.options.groupHeader=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}userGetGroups(e){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(e){return!!e.modules.group&&e.modules.group.getComponent()}rowMoving(e,t,i){if(this.table.options.groupBy){!i&&t instanceof G&&(t=this.table.rowManager.prevDisplayRow(e)||t);var n=t instanceof G?t:t.modules.group,s=e instanceof G?e:e.modules.group;n===s?this.table.rowManager.moveRowInArray(n.rows,e,t,i):(s&&s.removeRow(e),n.insertRow(e,t,i))}}rowDeleting(e){this.table.options.groupBy&&e.modules.group&&e.modules.group.removeRow(e)}rowsUpdated(e){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(e){this.table.options.groupBy&&this.reassignRowToGroup(e.row)}getRows(e){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(e),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(!0)),this.updateGroupRows()):e.slice(0)}getGroups(e){var t=[];return this.groupList.forEach((function(i){t.push(e?i.getComponent():i)})),t}getChildGroups(e){var t=[];return e||(e=this),e.groupList.forEach((e=>{e.groupList.length?t=t.concat(this.getChildGroups(e)):t.push(e)})),t}wipe(){this.table.options.groupBy&&(this.groupList.forEach((function(e){e.wipe()})),this.groupList=[],this.groups={})}pullGroupListData(e){var t=[];return e.forEach((e=>{var i={level:0,rowCount:0,headerContent:""},n=[];e.hasSubGroups?(n=this.pullGroupListData(e.groupList),i.level=e.level,i.rowCount=n.length-e.groupList.length,i.headerContent=e.generator(e.key,i.rowCount,e.rows,e),t.push(i),t=t.concat(n)):(i.level=e.level,i.headerContent=e.generator(e.key,e.rows.length,e.rows,e),i.rowCount=e.getRows().length,t.push(i),e.getRows().forEach((e=>{t.push(e.getData("data"))})))})),t}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(e){var t=!1;return this.options("dataTree")&&(e=this.table.modules.dataTree.getTreeParentRoot(e)),this.groupList.forEach((i=>{var n=i.getRowGroup(e);n&&(t=n)})),t}countGroups(){return this.groupList.length}generateGroups(e){var t=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach((e=>{this.createGroup(e,0,t)})),e.forEach((e=>{this.assignRowToExistingGroup(e,t)}))):e.forEach((e=>{this.assignRowToGroup(e,t)})),Object.values(t).forEach((e=>{e.wipe(!0)}))}createGroup(e,t,i){var n,s=t+"_"+e;i=i||[],n=new G(this,!1,t,e,this.groupIDLookups[0].field,this.headerGenerator[0],i[s]),this.groups[s]=n,this.groupList.push(n)}assignRowToExistingGroup(e,t){var i="0_"+this.groupIDLookups[0].func(e.getData());this.groups[i]&&this.groups[i].addRow(e)}assignRowToGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),n=!this.groups["0_"+i];return n&&this.createGroup(i,0,t),this.groups["0_"+i].addRow(e),!n}reassignRowToGroup(e){if("row"===e.type){var t,i=e.modules.group,n=i.getPath(),s=this.getExpectedPath(e);t=n.length==s.length&&n.every(((e,t)=>e===s[t])),t||(i.removeRow(e),this.assignRowToGroup(e,this.groups),this.refreshData(!0))}}getExpectedPath(e){var t=[],i=e.getData();return this.groupIDLookups.forEach((e=>{t.push(e.func(i))})),t}updateGroupRows(e){var t=[];return this.blockRedraw||(this.groupList.forEach((e=>{t=t.concat(e.getHeadersAndRows())})),e&&this.refreshData(!0)),t}scrollHeaders(e){this.table.options.groupBy&&("virtual"===this.table.options.renderHorizontal&&(e-=this.table.columnManager.renderer.vDomPadLeft),e+="px",this.groupList.forEach((t=>{t.scrollHeader(e)})))}removeGroup(e){var t,i=e.level+"_"+e.key;this.groups[i]&&(delete this.groups[i],(t=this.groupList.indexOf(e))>-1&&this.groupList.splice(t,1))}checkBasicModeGroupHeaderWidth(){var e=this.table.rowManager.tableElement,t=!0;this.table.rowManager.getDisplayRows().forEach(((i,n)=>{this.table.rowManager.styleRow(i,n),e.appendChild(i.getElement()),i.initialize(!0),"group"!==i.type&&(t=!1)})),e.style.minWidth=t?this.table.columnManager.getWidth()+"px":""}},HistoryModule:J,HtmlTableImportModule:class extends s{static moduleName="htmlTableImport";constructor(e){super(e),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&"TABLE"===this.table.originalElement.tagName&&(this.table.originalElement.childNodes.length?this.parseTable():console.warn("Unable to parse data from empty table tag, Tabulator should be initialized on a div tag unless importing data from a table element."))}parseTable(){var e=this.table.originalElement,t=this.table.options,i=e.getElementsByTagName("th"),n=e.getElementsByTagName("tbody")[0],s=[];this.hasIndex=!1,this.dispatchExternal("htmlImporting"),n=n?n.getElementsByTagName("tr"):[],this._extractOptions(e,t),i.length?this._extractHeaders(i,n):this._generateBlankHeaders(i,n);for(var o=0;o<n.length;o++){var r=n[o].getElementsByTagName("td"),a={};this.hasIndex||(a[t.index]=o);for(var l=0;l<r.length;l++){var h=r[l];void 0!==this.fieldIndex[l]&&(a[this.fieldIndex[l]]=h.innerHTML)}s.push(a)}t.data=s,this.dispatchExternal("htmlImported")}_extractOptions(e,t,i){var n=e.attributes,s=i?Object.keys(i):Object.keys(t),o={};for(var r in s.forEach((e=>{o[e.toLowerCase()]=e})),n){var a,l=n[r];l&&"object"==typeof l&&l.name&&0===l.name.indexOf("tabulator-")&&(a=l.name.replace("tabulator-",""),void 0!==o[a]&&(t[o[a]]=this._attribValue(l.value)))}}_attribValue(e){return"true"===e||"false"!==e&&e}_findCol(e){return this.table.options.columns.find((t=>t.title===e))||!1}_extractHeaders(e,t){for(var i=0;i<e.length;i++){var n,s=e[i],o=!1,r=this._findCol(s.textContent);r?o=!0:r={title:s.textContent.trim()},r.field||(r.field=s.textContent.trim().toLowerCase().replaceAll(" ","_")),(n=s.getAttribute("width"))&&!r.width&&(r.width=n),this._extractOptions(s,r,this.table.columnManager.optionsList.registeredDefaults),this.fieldIndex[i]=r.field,r.field==this.table.options.index&&(this.hasIndex=!0),o||this.table.options.columns.push(r)}}_generateBlankHeaders(e,t){for(var i=0;i<e.length;i++){var n=e[i],s={title:"",field:"col"+i};this.fieldIndex[i]=s.field;var o=n.getAttribute("width");o&&(s.width=o),this.table.options.columns.push(s)}}},ImportModule:Z,InteractionModule:class extends s{static moduleName="interaction";constructor(e){super(e),this.eventMap={rowClick:"row-click",rowDblClick:"row-dblclick",rowContext:"row-contextmenu",rowMouseEnter:"row-mouseenter",rowMouseLeave:"row-mouseleave",rowMouseOver:"row-mouseover",rowMouseOut:"row-mouseout",rowMouseMove:"row-mousemove",rowMouseDown:"row-mousedown",rowMouseUp:"row-mouseup",rowTap:"row",rowDblTap:"row",rowTapHold:"row",cellClick:"cell-click",cellDblClick:"cell-dblclick",cellContext:"cell-contextmenu",cellMouseEnter:"cell-mouseenter",cellMouseLeave:"cell-mouseleave",cellMouseOver:"cell-mouseover",cellMouseOut:"cell-mouseout",cellMouseMove:"cell-mousemove",cellMouseDown:"cell-mousedown",cellMouseUp:"cell-mouseup",cellTap:"cell",cellDblTap:"cell",cellTapHold:"cell",headerClick:"column-click",headerDblClick:"column-dblclick",headerContext:"column-contextmenu",headerMouseEnter:"column-mouseenter",headerMouseLeave:"column-mouseleave",headerMouseOver:"column-mouseover",headerMouseOut:"column-mouseout",headerMouseMove:"column-mousemove",headerMouseDown:"column-mousedown",headerMouseUp:"column-mouseup",headerTap:"column",headerDblTap:"column",headerTapHold:"column",groupClick:"group-click",groupDblClick:"group-dblclick",groupContext:"group-contextmenu",groupMouseEnter:"group-mouseenter",groupMouseLeave:"group-mouseleave",groupMouseOver:"group-mouseover",groupMouseOut:"group-mouseout",groupMouseMove:"group-mousemove",groupMouseDown:"group-mousedown",groupMouseUp:"group-mouseup",groupTap:"group",groupDblTap:"group",groupTapHold:"group"},this.subscribers={},this.touchSubscribers={},this.columnSubscribers={},this.touchWatchers={row:{tap:null,tapDbl:null,tapHold:null},cell:{tap:null,tapDbl:null,tapHold:null},column:{tap:null,tapDbl:null,tapHold:null},group:{tap:null,tapDbl:null,tapHold:null}},this.registerColumnOption("headerClick"),this.registerColumnOption("headerDblClick"),this.registerColumnOption("headerContext"),this.registerColumnOption("headerMouseEnter"),this.registerColumnOption("headerMouseLeave"),this.registerColumnOption("headerMouseOver"),this.registerColumnOption("headerMouseOut"),this.registerColumnOption("headerMouseMove"),this.registerColumnOption("headerMouseDown"),this.registerColumnOption("headerMouseUp"),this.registerColumnOption("headerTap"),this.registerColumnOption("headerDblTap"),this.registerColumnOption("headerTapHold"),this.registerColumnOption("cellClick"),this.registerColumnOption("cellDblClick"),this.registerColumnOption("cellContext"),this.registerColumnOption("cellMouseEnter"),this.registerColumnOption("cellMouseLeave"),this.registerColumnOption("cellMouseOver"),this.registerColumnOption("cellMouseOut"),this.registerColumnOption("cellMouseMove"),this.registerColumnOption("cellMouseDown"),this.registerColumnOption("cellMouseUp"),this.registerColumnOption("cellTap"),this.registerColumnOption("cellDblTap"),this.registerColumnOption("cellTapHold")}initialize(){this.initializeExternalEvents(),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("cell-dblclick",this.cellContentsSelectionFixer.bind(this)),this.subscribe("scroll-horizontal",this.clearTouchWatchers.bind(this)),this.subscribe("scroll-vertical",this.clearTouchWatchers.bind(this))}clearTouchWatchers(){Object.values(this.touchWatchers).forEach((e=>{for(let t in e)e[t]=null}))}cellContentsSelectionFixer(e,t){var i;if(!this.table.modExists("edit")||this.table.modules.edit.currentCell!==t){e.preventDefault();try{document.selection?((i=document.body.createTextRange()).moveToElementText(t.getElement()),i.select()):window.getSelection&&((i=document.createRange()).selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i))}catch(e){}}}initializeExternalEvents(){for(let e in this.eventMap)this.subscriptionChangeExternal(e,this.subscriptionChanged.bind(this,e))}subscriptionChanged(e,t){t?this.subscribers[e]||(this.eventMap[e].includes("-")?(this.subscribers[e]=this.handle.bind(this,e),this.subscribe(this.eventMap[e],this.subscribers[e])):this.subscribeTouchEvents(e)):this.eventMap[e].includes("-")?!this.subscribers[e]||this.columnSubscribers[e]||this.subscribedExternal(e)||(this.unsubscribe(this.eventMap[e],this.subscribers[e]),delete this.subscribers[e]):this.unsubscribeTouchEvents(e)}subscribeTouchEvents(e){var t=this.eventMap[e];this.touchSubscribers[t+"-touchstart"]||(this.touchSubscribers[t+"-touchstart"]=this.handleTouch.bind(this,t,"start"),this.touchSubscribers[t+"-touchend"]=this.handleTouch.bind(this,t,"end"),this.subscribe(t+"-touchstart",this.touchSubscribers[t+"-touchstart"]),this.subscribe(t+"-touchend",this.touchSubscribers[t+"-touchend"])),this.subscribers[e]=!0}unsubscribeTouchEvents(e){var t=!0,i=this.eventMap[e];if(this.subscribers[e]&&!this.subscribedExternal(e)){delete this.subscribers[e];for(let e in this.eventMap)this.eventMap[e]===i&&this.subscribers[e]&&(t=!1);t&&(this.unsubscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.unsubscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"]),delete this.touchSubscribers[i+"-touchstart"],delete this.touchSubscribers[i+"-touchend"])}}initializeColumn(e){var t=e.definition;for(let i in this.eventMap)t[i]&&(this.subscriptionChanged(i,!0),this.columnSubscribers[i]||(this.columnSubscribers[i]=[]),this.columnSubscribers[i].push(e))}handle(e,t,i){this.dispatchEvent(e,t,i)}handleTouch(e,t,i,n){var s=this.touchWatchers[e];switch("column"===e&&(e="header"),t){case"start":s.tap=!0,clearTimeout(s.tapHold),s.tapHold=setTimeout((()=>{clearTimeout(s.tapHold),s.tapHold=null,s.tap=null,clearTimeout(s.tapDbl),s.tapDbl=null,this.dispatchEvent(e+"TapHold",i,n)}),1e3);break;case"end":s.tap&&(s.tap=null,this.dispatchEvent(e+"Tap",i,n)),s.tapDbl?(clearTimeout(s.tapDbl),s.tapDbl=null,this.dispatchEvent(e+"DblTap",i,n)):s.tapDbl=setTimeout((()=>{clearTimeout(s.tapDbl),s.tapDbl=null}),300),clearTimeout(s.tapHold),s.tapHold=null}}dispatchEvent(e,t,i){var n,s=i.getComponent();this.columnSubscribers[e]&&(i instanceof y?n=i.column.definition[e]:i instanceof _&&(n=i.definition[e]),n&&n(t,s)),this.dispatchExternal(e,t,s)}},KeybindingsModule:te,MenuModule:class extends s{static moduleName="menu";constructor(e){super(e),this.menuContainer=null,this.nestedMenuBlock=!1,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("rowContextMenu",!1),this.registerTableOption("rowClickMenu",!1),this.registerTableOption("rowDblClickMenu",!1),this.registerTableOption("groupContextMenu",!1),this.registerTableOption("groupClickMenu",!1),this.registerTableOption("groupDblClickMenu",!1),this.registerColumnOption("headerContextMenu"),this.registerColumnOption("headerClickMenu"),this.registerColumnOption("headerDblClickMenu"),this.registerColumnOption("headerMenu"),this.registerColumnOption("headerMenuIcon"),this.registerColumnOption("contextMenu"),this.registerColumnOption("clickMenu"),this.registerColumnOption("dblClickMenu")}initialize(){this.deprecatedOptionsCheck(),this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeRowWatchers(){this.table.options.rowContextMenu&&(this.subscribe("row-contextmenu",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu)),this.table.on("rowTapHold",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu))),this.table.options.rowClickMenu&&this.subscribe("row-click",this.loadMenuEvent.bind(this,this.table.options.rowClickMenu)),this.table.options.rowDblClickMenu&&this.subscribe("row-dblclick",this.loadMenuEvent.bind(this,this.table.options.rowDblClickMenu))}initializeGroupWatchers(){this.table.options.groupContextMenu&&(this.subscribe("group-contextmenu",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu)),this.table.on("groupTapHold",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu))),this.table.options.groupClickMenu&&this.subscribe("group-click",this.loadMenuEvent.bind(this,this.table.options.groupClickMenu)),this.table.options.groupDblClickMenu&&this.subscribe("group-dblclick",this.loadMenuEvent.bind(this,this.table.options.groupDblClickMenu))}initializeColumn(e){var t=e.definition;t.headerContextMenu&&!this.columnSubscribers.headerContextMenu&&(this.columnSubscribers.headerContextMenu=this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextMenu),this.table.on("headerTapHold",this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"))),t.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),t.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),t.headerMenu&&this.initializeColumnHeaderMenu(e),t.contextMenu&&!this.columnSubscribers.contextMenu&&(this.columnSubscribers.contextMenu=this.loadMenuTableCellEvent.bind(this,"contextMenu"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextMenu),this.table.on("cellTapHold",this.loadMenuTableCellEvent.bind(this,"contextMenu"))),t.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),t.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(e){var t,i=e.definition.headerMenuIcon;(t=document.createElement("span")).classList.add("tabulator-header-popup-button"),i?("function"==typeof i&&(i=i(e.getComponent())),i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i):t.innerHTML="&vellip;",t.addEventListener("click",(t=>{t.stopPropagation(),t.preventDefault(),this.loadMenuEvent(e.definition.headerMenu,t,e)})),e.titleElement.insertBefore(t,e.titleElement.firstChild)}loadMenuTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadMenuEvent(i.column.definition[e],t,i)}loadMenuTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadMenuEvent(i.definition[e],t,i)}loadMenuEvent(e,t,i){i._group?i=i._group:i._row&&(i=i._row),e="function"==typeof e?e.call(this.table,t,i.getComponent()):e,this.loadMenu(t,i,e)}loadMenu(e,t,i,n,s){var o,r=!(e instanceof MouseEvent),a=document.createElement("div");if(a.classList.add("tabulator-menu"),r||e.preventDefault(),i&&i.length){if(n)o=s.child(a);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout((()=>{this.nestedMenuBlock=!1}),100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=o=this.popup(a)}i.forEach((e=>{var i=document.createElement("div"),n=e.label,s=e.disabled;e.separator?i.classList.add("tabulator-menu-separator"):(i.classList.add("tabulator-menu-item"),"function"==typeof n&&(n=n.call(this.table,t.getComponent())),n instanceof Node?i.appendChild(n):i.innerHTML=n,"function"==typeof s&&(s=s.call(this.table,t.getComponent())),s?(i.classList.add("tabulator-menu-item-disabled"),i.addEventListener("click",(e=>{e.stopPropagation()}))):e.menu&&e.menu.length?i.addEventListener("click",(n=>{n.stopPropagation(),this.loadMenu(n,t,e.menu,i,o)})):e.action&&i.addEventListener("click",(i=>{e.action(i,t.getComponent())})),e.menu&&e.menu.length&&i.classList.add("tabulator-menu-item-submenu")),a.appendChild(i)})),a.addEventListener("click",(e=>{this.rootPopup&&this.rootPopup.hide()})),o.show(n||e),o===this.rootPopup&&(this.rootPopup.hideOnBlur((()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",i,o),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null)})),this.currentComponent=t,this.dispatch("menu-opened",i,o),this.dispatchExternal("menuOpened",t.getComponent()))}}},MoveColumnsModule:class extends s{static moduleName="moveColumn";constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=250,this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=!1,this.touchMove=!1,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",!1)}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-col"),e.classList.add("tabulator-col-placeholder"),e}initialize(){this.table.options.movableColumns&&(this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("alert-show",this.abortMove.bind(this)))}abortMove(){clearTimeout(this.checkTimeout)}initializeColumn(e){var i,n=this,s={};e.modules.frozen||e.isGroup||e.isRowHeader||(i=e.getElement(),s.mousemove=function(s){e.parent===n.moving.parent&&((n.touchMove?s.touches[0].pageX:s.pageX)-t.elOffset(i).left+n.table.columnManager.contentsElement.scrollLeft>e.getWidth()/2?n.toCol===e&&n.toColAfter||(i.parentNode.insertBefore(n.placeholderElement,i.nextSibling),n.moveColumn(e,!0)):(n.toCol!==e||n.toColAfter)&&(i.parentNode.insertBefore(n.placeholderElement,i),n.moveColumn(e,!1)))}.bind(n),i.addEventListener("mousedown",(function(t){n.touchMove=!1,1===t.which&&(n.checkTimeout=setTimeout((function(){n.startMove(t,e)}),n.checkPeriod))})),i.addEventListener("mouseup",(function(e){1===e.which&&n.checkTimeout&&clearTimeout(n.checkTimeout)})),n.bindTouchEvents(e)),e.modules.moveColumn=s}bindTouchEvents(e){var t,i,n,s,o,r,a=e.getElement(),l=!1;a.addEventListener("touchstart",(a=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,t=e.nextColumn(),n=t?t.getWidth()/2:0,i=e.prevColumn(),s=i?i.getWidth()/2:0,o=0,r=0,l=!1,this.startMove(a,e)}),this.checkPeriod)}),{passive:!0}),a.addEventListener("touchmove",(a=>{var h,u;this.moving&&(this.moveHover(a),l||(l=a.touches[0].pageX),(h=a.touches[0].pageX-l)>0?t&&h-o>n&&(u=t)!==e&&(l=a.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveColumn(u,!0)):i&&-h-r>s&&(u=i)!==e&&(l=a.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveColumn(u,!1)),u&&(t=u.nextColumn(),o=n,n=t?t.getWidth()/2:0,i=u.prevColumn(),r=s,s=i?i.getWidth()/2:0))}),{passive:!0}),a.addEventListener("touchend",(e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(e)}))}startMove(e,i){var n=i.getElement(),s=this.table.columnManager.getContentsElement(),o=this.table.columnManager.getHeadersElement();this.moving=i,this.startX=(this.touchMove?e.touches[0].pageX:e.pageX)-t.elOffset(n).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=i.getWidth()+"px",this.placeholderElement.style.height=i.getHeight()+"px",n.parentNode.insertBefore(this.placeholderElement,n),n.parentNode.removeChild(n),this.hoverElement=n.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),s.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.bottom=s.clientHeight-o.offsetHeight+"px",this.touchMove||(this._bindMouseMove(),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove)),this.moveHover(e)}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(e){e.modules.moveColumn.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveColumn.mousemove)}))}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(e){e.modules.moveColumn.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveColumn.mousemove)}))}moveColumn(e,t){var i=this.moving.getCells();this.toCol=e,this.toColAfter=t,t?e.getCells().forEach((function(e,t){var n=e.getElement(!0);n.parentNode&&i[t]&&n.parentNode.insertBefore(i[t].getElement(),n.nextSibling)})):e.getCells().forEach((function(e,t){var n=e.getElement(!0);n.parentNode&&i[t]&&n.parentNode.insertBefore(i[t].getElement(),n)}))}endMove(e){(1===e.which||this.touchMove)&&(this._unbindMouseMove(),this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toCol&&this.table.columnManager.moveColumnActual(this.moving,this.toCol,this.toColAfter),this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)))}moveHover(e){var i,n=this.table.columnManager.getContentsElement(),s=n.scrollLeft,o=(this.touchMove?e.touches[0].pageX:e.pageX)-t.elOffset(n).left+s;this.hoverElement.style.left=o-this.startX+"px",o-s<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.max(0,s-5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1))),s+n.clientWidth-o<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.min(n.clientWidth,s+5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1)))}},MoveRowsModule:se,MutatorModule:re,PageModule:le,PersistenceModule:ce,PopupModule:class extends s{static moduleName="popup";constructor(e){super(e),this.columnSubscribers={},this.registerTableOption("rowContextPopup",!1),this.registerTableOption("rowClickPopup",!1),this.registerTableOption("rowDblClickPopup",!1),this.registerTableOption("groupContextPopup",!1),this.registerTableOption("groupClickPopup",!1),this.registerTableOption("groupDblClickPopup",!1),this.registerColumnOption("headerContextPopup"),this.registerColumnOption("headerClickPopup"),this.registerColumnOption("headerDblClickPopup"),this.registerColumnOption("headerPopup"),this.registerColumnOption("headerPopupIcon"),this.registerColumnOption("contextPopup"),this.registerColumnOption("clickPopup"),this.registerColumnOption("dblClickPopup"),this.registerComponentFunction("cell","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("column","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("row","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("group","popup",this._componentPopupCall.bind(this))}initialize(){this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}_componentPopupCall(e,t,i){this.loadPopupEvent(t,null,e,i)}initializeRowWatchers(){this.table.options.rowContextPopup&&(this.subscribe("row-contextmenu",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup)),this.table.on("rowTapHold",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup))),this.table.options.rowClickPopup&&this.subscribe("row-click",this.loadPopupEvent.bind(this,this.table.options.rowClickPopup)),this.table.options.rowDblClickPopup&&this.subscribe("row-dblclick",this.loadPopupEvent.bind(this,this.table.options.rowDblClickPopup))}initializeGroupWatchers(){this.table.options.groupContextPopup&&(this.subscribe("group-contextmenu",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup)),this.table.on("groupTapHold",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup))),this.table.options.groupClickPopup&&this.subscribe("group-click",this.loadPopupEvent.bind(this,this.table.options.groupClickPopup)),this.table.options.groupDblClickPopup&&this.subscribe("group-dblclick",this.loadPopupEvent.bind(this,this.table.options.groupDblClickPopup))}initializeColumn(e){var t=e.definition;t.headerContextPopup&&!this.columnSubscribers.headerContextPopup&&(this.columnSubscribers.headerContextPopup=this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextPopup),this.table.on("headerTapHold",this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"))),t.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),t.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),t.headerPopup&&this.initializeColumnHeaderPopup(e),t.contextPopup&&!this.columnSubscribers.contextPopup&&(this.columnSubscribers.contextPopup=this.loadPopupTableCellEvent.bind(this,"contextPopup"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextPopup),this.table.on("cellTapHold",this.loadPopupTableCellEvent.bind(this,"contextPopup"))),t.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),t.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(e){var t,i=e.definition.headerPopupIcon;(t=document.createElement("span")).classList.add("tabulator-header-popup-button"),i?("function"==typeof i&&(i=i(e.getComponent())),i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i):t.innerHTML="&vellip;",t.addEventListener("click",(t=>{t.stopPropagation(),t.preventDefault(),this.loadPopupEvent(e.definition.headerPopup,t,e)})),e.titleElement.insertBefore(t,e.titleElement.firstChild)}loadPopupTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadPopupEvent(i.column.definition[e],t,i)}loadPopupTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadPopupEvent(i.definition[e],t,i)}loadPopupEvent(e,t,i,n){var s;i._group?i=i._group:i._row&&(i=i._row),e="function"==typeof e?e.call(this.table,t,i.getComponent(),(function(e){s=e})):e,this.loadPopup(t,i,e,s,n)}loadPopup(e,t,i,n,s){var o,r,a=!(e instanceof MouseEvent);i instanceof HTMLElement?o=i:(o=document.createElement("div")).innerHTML=i,o.classList.add("tabulator-popup"),o.addEventListener("click",(e=>{e.stopPropagation()})),a||e.preventDefault(),r=this.popup(o),"function"==typeof n&&r.renderCallback(n),e?r.show(e):r.show(t.getElement(),s||"center"),r.hideOnBlur((()=>{this.dispatchExternal("popupClosed",t.getComponent())})),this.dispatchExternal("popupOpened",t.getComponent())}},PrintModule:class extends s{static moduleName="print";constructor(e){super(e),this.element=!1,this.manualBlock=!1,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",!1),this.registerTableOption("printFormatter",!1),this.registerTableOption("printHeader",!1),this.registerTableOption("printFooter",!1),this.registerTableOption("printStyled",!0),this.registerTableOption("printRowRange","visible"),this.registerTableOption("printConfig",{}),this.registerColumnOption("print"),this.registerColumnOption("titlePrint")}initialize(){this.table.options.printAsHtml&&(this.beforeprintEventHandler=this.replaceTable.bind(this),this.afterprintEventHandler=this.cleanup.bind(this),window.addEventListener("beforeprint",this.beforeprintEventHandler),window.addEventListener("afterprint",this.afterprintEventHandler),this.subscribe("table-destroy",this.destroy.bind(this))),this.registerTableFunction("print",this.printFullscreen.bind(this))}destroy(){this.table.options.printAsHtml&&(window.removeEventListener("beforeprint",this.beforeprintEventHandler),window.removeEventListener("afterprint",this.afterprintEventHandler))}replaceTable(){this.manualBlock||(this.element=document.createElement("div"),this.element.classList.add("tabulator-print-table"),this.element.appendChild(this.table.modules.export.generateTable(this.table.options.printConfig,this.table.options.printStyled,this.table.options.printRowRange,"print")),this.table.element.style.display="none",this.table.element.parentNode.insertBefore(this.element,this.table.element))}cleanup(){document.body.classList.remove("tabulator-print-fullscreen-hide"),this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.table.element.style.display="")}printFullscreen(e,t,i){var n,s,o=window.scrollX,r=window.scrollY,a=document.createElement("div"),l=document.createElement("div"),h=this.table.modules.export.generateTable(void 0!==i?i:this.table.options.printConfig,void 0!==t?t:this.table.options.printStyled,e||this.table.options.printRowRange,"print");this.manualBlock=!0,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(a.classList.add("tabulator-print-header"),"string"==typeof(n="function"==typeof this.table.options.printHeader?this.table.options.printHeader.call(this.table):this.table.options.printHeader)?a.innerHTML=n:a.appendChild(n),this.element.appendChild(a)),this.element.appendChild(h),this.table.options.printFooter&&(l.classList.add("tabulator-print-footer"),"string"==typeof(s="function"==typeof this.table.options.printFooter?this.table.options.printFooter.call(this.table):this.table.options.printFooter)?l.innerHTML=s:l.appendChild(s),this.element.appendChild(l)),document.body.classList.add("tabulator-print-fullscreen-hide"),document.body.appendChild(this.element),this.table.options.printFormatter&&this.table.options.printFormatter(this.element,h),window.print(),this.cleanup(),window.scrollTo(o,r),this.manualBlock=!1}},ReactiveDataModule:class extends s{static moduleName="reactiveData";constructor(e){super(e),this.data=!1,this.blocked=!1,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",!1)}initialize(){this.table.options.reactiveData&&(this.subscribe("cell-value-save-before",this.block.bind(this,"cellsave")),this.subscribe("cell-value-save-after",this.unblock.bind(this,"cellsave")),this.subscribe("row-data-save-before",this.block.bind(this,"rowsave")),this.subscribe("row-data-save-after",this.unblock.bind(this,"rowsave")),this.subscribe("row-data-init-after",this.watchRow.bind(this)),this.subscribe("data-processing",this.watchData.bind(this)),this.subscribe("table-destroy",this.unwatchData.bind(this)))}watchData(e){var t,i=this;this.currentVersion++,t=this.currentVersion,this.unwatchData(),this.data=e,this.origFuncs.push=e.push,Object.defineProperty(this.data,"push",{enumerable:!1,configurable:!0,value:function(){var n,s=Array.from(arguments);return i.blocked||t!==i.currentVersion||(i.block("data-push"),s.forEach((e=>{i.table.rowManager.addRowActual(e,!1)})),n=i.origFuncs.push.apply(e,arguments),i.unblock("data-push")),n}}),this.origFuncs.unshift=e.unshift,Object.defineProperty(this.data,"unshift",{enumerable:!1,configurable:!0,value:function(){var n,s=Array.from(arguments);return i.blocked||t!==i.currentVersion||(i.block("data-unshift"),s.forEach((e=>{i.table.rowManager.addRowActual(e,!0)})),n=i.origFuncs.unshift.apply(e,arguments),i.unblock("data-unshift")),n}}),this.origFuncs.shift=e.shift,Object.defineProperty(this.data,"shift",{enumerable:!1,configurable:!0,value:function(){var n,s;return i.blocked||t!==i.currentVersion||(i.block("data-shift"),i.data.length&&(n=i.table.rowManager.getRowFromDataObject(i.data[0]))&&n.deleteActual(),s=i.origFuncs.shift.call(e),i.unblock("data-shift")),s}}),this.origFuncs.pop=e.pop,Object.defineProperty(this.data,"pop",{enumerable:!1,configurable:!0,value:function(){var n,s;return i.blocked||t!==i.currentVersion||(i.block("data-pop"),i.data.length&&(n=i.table.rowManager.getRowFromDataObject(i.data[i.data.length-1]))&&n.deleteActual(),s=i.origFuncs.pop.call(e),i.unblock("data-pop")),s}}),this.origFuncs.splice=e.splice,Object.defineProperty(this.data,"splice",{enumerable:!1,configurable:!0,value:function(){var n,s,o=Array.from(arguments),r=o[0]<0?e.length+o[0]:o[0],a=o[1],l=!!o[2]&&o.slice(2);if(!i.blocked&&t===i.currentVersion){if(i.block("data-splice"),l&&((n=!!e[r]&&i.table.rowManager.getRowFromDataObject(e[r]))?l.forEach((e=>{i.table.rowManager.addRowActual(e,!0,n,!0)})):(l=l.slice().reverse()).forEach((e=>{i.table.rowManager.addRowActual(e,!0,!1,!0)}))),0!==a){var h=e.slice(r,void 0===o[1]?o[1]:r+a);h.forEach(((e,t)=>{var n=i.table.rowManager.getRowFromDataObject(e);n&&n.deleteActual(t!==h.length-1)}))}(l||0!==a)&&i.table.rowManager.reRenderInPosition(),s=i.origFuncs.splice.apply(e,arguments),i.unblock("data-splice")}return s}})}unwatchData(){if(!1!==this.data)for(var e in this.origFuncs)Object.defineProperty(this.data,e,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(e){var t=e.getData();for(var i in t)this.watchKey(e,t,i);this.table.options.dataTree&&this.watchTreeChildren(e)}watchTreeChildren(e){var t=this,i=e.getData()[this.table.options.dataTreeChildField],n={};i&&(n.push=i.push,Object.defineProperty(i,"push",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-push");var s=n.push.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-push")}return s}}),n.unshift=i.unshift,Object.defineProperty(i,"unshift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-unshift");var s=n.unshift.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-unshift")}return s}}),n.shift=i.shift,Object.defineProperty(i,"shift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-shift");var s=n.shift.call(i);this.rebuildTree(e),t.unblock("tree-shift")}return s}}),n.pop=i.pop,Object.defineProperty(i,"pop",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-pop");var s=n.pop.call(i);this.rebuildTree(e),t.unblock("tree-pop")}return s}}),n.splice=i.splice,Object.defineProperty(i,"splice",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-splice");var s=n.splice.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-splice")}return s}}))}rebuildTree(e){this.table.modules.dataTree.initializeRow(e),this.table.modules.dataTree.layoutRow(e),this.table.rowManager.refreshActiveData("tree",!1,!0)}watchKey(e,t,i){var n=this,s=Object.getOwnPropertyDescriptor(t,i),o=t[i],r=this.currentVersion;Object.defineProperty(t,i,{set:t=>{if(o=t,!n.blocked&&r===n.currentVersion){n.block("key");var a={};a[i]=t,e.updateData(a),n.unblock("key")}s.set&&s.set(t)},get:()=>(s.get&&s.get(),o)})}unwatchRow(e){var t=e.getData();for(var i in t)Object.defineProperty(t,i,{value:t[i]})}block(e){this.blocked||(this.blocked=e)}unblock(e){this.blocked===e&&(this.blocked=!1)}},ResizeColumnsModule:class extends s{static moduleName="resizeColumns";constructor(e){super(e),this.startColumn=!1,this.startX=!1,this.startWidth=!1,this.latestX=!1,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=!1,this.registerColumnOption("resizable",!0),this.registerTableOption("resizableColumnFit",!1),this.registerTableOption("resizableColumnGuide",!1)}initialize(){this.subscribe("column-rendered",this.layoutColumnHeader.bind(this))}initializeEventWatchers(){this.initialized||(this.subscribe("cell-rendered",this.layoutCellHandles.bind(this)),this.subscribe("cell-delete",this.deInitializeComponent.bind(this)),this.subscribe("cell-height",this.resizeHandle.bind(this)),this.subscribe("column-moved",this.columnLayoutUpdated.bind(this)),this.subscribe("column-hide",this.deInitializeColumn.bind(this)),this.subscribe("column-show",this.columnLayoutUpdated.bind(this)),this.subscribe("column-width",this.columnWidthUpdated.bind(this)),this.subscribe("column-delete",this.deInitializeComponent.bind(this)),this.subscribe("column-height",this.resizeHandle.bind(this)),this.initialized=!0)}layoutCellHandles(e){"row"===e.row.type&&(this.deInitializeComponent(e),this.initializeColumn("cell",e,e.column,e.element))}layoutColumnHeader(e){e.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(e),this.initializeColumn("header",e,e,e.element))}columnLayoutUpdated(e){var t=e.prevColumn();this.reinitializeColumn(e),t&&this.reinitializeColumn(t)}columnWidthUpdated(e){e.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(e)?this.table.modules.frozenColumns.leftColumns.forEach((e=>{this.reinitializeColumn(e)})):this.table.modules.frozenColumns.rightColumns.includes(e)&&this.table.modules.frozenColumns.rightColumns.forEach((e=>{this.reinitializeColumn(e)})))}frozenColumnOffset(e){var t=!1;return e.modules.frozen&&(t=e.modules.frozen.marginValue,"left"===e.modules.frozen.position?t+=e.getWidth()-3:t&&(t-=3)),!1!==t&&t+"px"}reinitializeColumn(e){var t=this.frozenColumnOffset(e);e.cells.forEach((i=>{i.modules.resize&&i.modules.resize.handleEl&&(t&&(i.modules.resize.handleEl.style[e.modules.frozen.position]=t,i.modules.resize.handleEl.style["z-index"]=11),i.element.after(i.modules.resize.handleEl))})),e.modules.resize&&e.modules.resize.handleEl&&(t&&(e.modules.resize.handleEl.style[e.modules.frozen.position]=t),e.element.after(e.modules.resize.handleEl))}initializeColumn(e,t,i,n){var s=this,o=i.definition.resizable,r={},a=i.getLastColumn();if("header"===e&&(r={variableHeight:"textarea"==i.definition.formatter||i.definition.variableHeight}),(!0===o||o==e)&&this._checkResizability(a)){var l=document.createElement("span");l.className="tabulator-col-resize-handle",l.addEventListener("click",(function(e){e.stopPropagation()}));var h=function(e){s.startColumn=i,s.initialNextColumn=s.nextColumn=a.nextColumn(),s._mouseDown(e,a,l)};l.addEventListener("mousedown",h),l.addEventListener("touchstart",h,{passive:!0}),l.addEventListener("dblclick",(e=>{var t=a.getWidth();e.stopPropagation(),a.reinitializeWidth(!0),t!==a.getWidth()&&(s.dispatch("column-resized",a),s.dispatchExternal("columnResized",a.getComponent()))})),i.modules.frozen&&(l.style.position="sticky",l.style[i.modules.frozen.position]=this.frozenColumnOffset(i)),r.handleEl=l,n.parentNode&&i.visible&&n.after(l)}t.modules.resize=r}deInitializeColumn(e){this.deInitializeComponent(e),e.cells.forEach((e=>{this.deInitializeComponent(e)}))}deInitializeComponent(e){var t;e.modules.resize&&(t=e.modules.resize.handleEl)&&t.parentElement&&t.parentElement.removeChild(t)}resizeHandle(e,t){e.modules.resize&&e.modules.resize.handleEl&&(e.modules.resize.handleEl.style.height=t)}resize(e,t){var i,n,s=void 0===e.clientX?e.touches[0].clientX:e.clientX,o=s-this.startX,r=s-this.latestX;if(this.latestX=s,this.table.rtl&&(o=-o,r=-r),i=t.width==t.minWidth||t.width==t.maxWidth,t.setWidth(this.startWidth+o),n=t.width==t.minWidth||t.width==t.maxWidth,r<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&(!i||!n)){let e=this.nextColumn.getWidth();r>0&&e<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-r)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights()}calcGuidePosition(e,t,i){var n=void 0===e.clientX?e.touches[0].clientX:e.clientX,s=i.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,o=this.table.element.getBoundingClientRect().x,r=t.element.getBoundingClientRect().left-o,a=n-this.startX,l=Math.max(s+a,r+t.minWidth);return t.maxWidth&&(l=Math.min(l,r+t.maxWidth)),l}_checkResizability(e){return e.definition.resizable}_mouseDown(e,t,i){var n,s=this;function o(e){s.table.options.resizableColumnGuide?n.style.left=s.calcGuidePosition(e,t,i)+"px":s.resize(e,t)}function r(e){s.table.options.resizableColumnGuide&&(s.resize(e,t),n.remove()),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!1),s.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights(),document.body.removeEventListener("mouseup",r),document.body.removeEventListener("mousemove",o),i.removeEventListener("touchmove",o),i.removeEventListener("touchend",r),s.table.element.classList.remove("tabulator-block-select"),s.startWidth!==t.getWidth()&&(s.table.columnManager.verticalAlignHeaders(),s.dispatch("column-resized",t),s.dispatchExternal("columnResized",t.getComponent()))}this.dispatchExternal("columnResizing",t.getComponent()),s.table.options.resizableColumnGuide&&((n=document.createElement("span")).classList.add("tabulator-col-resize-guide"),s.table.element.appendChild(n),setTimeout((()=>{n.style.left=s.calcGuidePosition(e,t,i)+"px"}))),s.table.element.classList.add("tabulator-block-select"),e.stopPropagation(),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!0),s.startX=void 0===e.clientX?e.touches[0].clientX:e.clientX,s.latestX=s.startX,s.startWidth=t.getWidth(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",r),i.addEventListener("touchmove",o,{passive:!0}),i.addEventListener("touchend",r)}},ResizeRowsModule:class extends s{static moduleName="resizeRows";constructor(e){super(e),this.startColumn=!1,this.startY=!1,this.startHeight=!1,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",!1),this.registerTableOption("resizableRowGuide",!1)}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this))}initializeRow(e){var t=this,i=e.getElement(),n=document.createElement("div");n.className="tabulator-row-resize-handle";var s=document.createElement("div");s.className="tabulator-row-resize-handle prev",n.addEventListener("click",(function(e){e.stopPropagation()}));var o=function(i){t.startRow=e,t._mouseDown(i,e,n)};n.addEventListener("mousedown",o),n.addEventListener("touchstart",o,{passive:!0}),s.addEventListener("click",(function(e){e.stopPropagation()}));var r=function(i){var n=t.table.rowManager.prevDisplayRow(e);n&&(t.startRow=n,t._mouseDown(i,n,s))};s.addEventListener("mousedown",r),s.addEventListener("touchstart",r,{passive:!0}),i.appendChild(n),i.appendChild(s)}resize(e,t){t.setHeight(this.startHeight+((void 0===e.screenY?e.touches[0].screenY:e.screenY)-this.startY))}calcGuidePosition(e,t,i){var n=void 0===e.screenY?e.touches[0].screenY:e.screenY,s=i.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,o=this.table.element.getBoundingClientRect().y,r=t.element.getBoundingClientRect().top-o,a=n-this.startY;return Math.max(s+a,r)}_mouseDown(e,t,i){var n,s=this;function o(e){s.table.options.resizableRowGuide?n.style.top=s.calcGuidePosition(e,t,i)+"px":s.resize(e,t)}function r(e){s.table.options.resizableRowGuide&&(s.resize(e,t),n.remove()),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",o),i.removeEventListener("touchmove",o),i.removeEventListener("touchend",r),s.table.element.classList.remove("tabulator-block-select"),s.dispatchExternal("rowResized",t.getComponent())}s.dispatchExternal("rowResizing",t.getComponent()),s.table.options.resizableRowGuide&&((n=document.createElement("span")).classList.add("tabulator-row-resize-guide"),s.table.element.appendChild(n),setTimeout((()=>{n.style.top=s.calcGuidePosition(e,t,i)+"px"}))),s.table.element.classList.add("tabulator-block-select"),e.stopPropagation(),s.startY=void 0===e.screenY?e.touches[0].screenY:e.screenY,s.startHeight=t.getHeight(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",r),i.addEventListener("touchmove",o,{passive:!0}),i.addEventListener("touchend",r)}},ResizeTableModule:class extends s{static moduleName="resizeTable";constructor(e){super(e),this.binding=!1,this.visibilityObserver=!1,this.resizeObserver=!1,this.containerObserver=!1,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=!1,this.visible=!1,this.initialized=!1,this.initialRedraw=!1,this.registerTableOption("autoResize",!0)}initialize(){if(this.table.options.autoResize){var e,t=this.table;this.tableHeight=t.element.clientHeight,this.tableWidth=t.element.clientWidth,t.element.parentNode&&(this.containerHeight=t.element.parentNode.clientHeight,this.containerWidth=t.element.parentNode.clientWidth),"undefined"!=typeof IntersectionObserver&&"undefined"!=typeof ResizeObserver&&"virtual"===t.rowManager.getRenderMode()?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver((e=>{if(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell)){var i=Math.floor(e[0].contentRect.height),n=Math.floor(e[0].contentRect.width);this.tableHeight==i&&this.tableWidth==n||(this.tableHeight=i,this.tableWidth=n,t.element.parentNode&&(this.containerHeight=t.element.parentNode.clientHeight,this.containerWidth=t.element.parentNode.clientWidth),this.redrawTable())}})),this.resizeObserver.observe(t.element),e=window.getComputedStyle(t.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(e.getPropertyValue("max-height")||e.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver((e=>{if(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell)){var i=Math.floor(e[0].contentRect.height),n=Math.floor(e[0].contentRect.width);this.containerHeight==i&&this.containerWidth==n||(this.containerHeight=i,this.containerWidth=n,this.tableHeight=t.element.clientHeight,this.tableWidth=t.element.clientWidth),this.redrawTable()}})),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell))&&(t.columnManager.rerenderColumns(!0),t.redraw())},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver((e=>{this.visible=e[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)})),this.visibilityObserver.observe(this.table.element)}redrawTable(e){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(e))}tableResized(){this.table.rowManager.redraw()}clearBindings(){this.binding&&window.removeEventListener("resize",this.binding),this.resizeObserver&&this.resizeObserver.unobserve(this.table.element),this.visibilityObserver&&this.visibilityObserver.unobserve(this.table.element),this.containerObserver&&this.containerObserver.unobserve(this.table.element.parentNode)}},ResponsiveLayoutModule:class extends s{static moduleName="responsiveLayout";static moduleExtensions=de;constructor(e){super(e),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=!0,this.collapseHandleColumn=!1,this.registerTableOption("responsiveLayout",!1),this.registerTableOption("responsiveLayoutCollapseStartOpen",!0),this.registerTableOption("responsiveLayoutCollapseUseFormatters",!0),this.registerTableOption("responsiveLayoutCollapseFormatter",!1),this.registerColumnOption("responsive")}initialize(){this.table.options.responsiveLayout&&(this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-show",this.updateColumnVisibility.bind(this)),this.subscribe("column-hide",this.updateColumnVisibility.bind(this)),this.subscribe("columns-loaded",this.initializeResponsivity.bind(this)),this.subscribe("column-moved",this.initializeResponsivity.bind(this)),this.subscribe("column-add",this.initializeResponsivity.bind(this)),this.subscribe("column-delete",this.initializeResponsivity.bind(this)),this.subscribe("table-redrawing",this.tableRedraw.bind(this)),"collapse"===this.table.options.responsiveLayout&&(this.subscribe("row-data-changed",this.generateCollapsedRowContent.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout",this.layoutRow.bind(this))))}tableRedraw(e){-1===["fitColumns","fitDataStretch"].indexOf(this.layoutMode())&&(e||this.update())}initializeResponsivity(){var e=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&(this.collapseFormatter=this.collapseFormatter.bind(this.table)),this.table.columnManager.columnsByIndex.forEach(((t,i)=>{t.modules.responsive&&t.modules.responsive.order&&t.modules.responsive.visible&&(t.modules.responsive.index=i,e.push(t),t.visible||"collapse"!==this.mode||this.hiddenColumns.push(t))})),e=(e=e.reverse()).sort(((e,t)=>t.modules.responsive.order-e.modules.responsive.order||t.modules.responsive.index-e.modules.responsive.index)),this.columns=e,"collapse"===this.mode&&this.generateCollapsedContent();for(let e of this.table.columnManager.columnsByIndex)if("responsiveCollapse"==e.definition.formatter){this.collapseHandleColumn=e;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(e){var t=e.getDefinition();e.modules.responsive={order:void 0===t.responsive?1:t.responsive,visible:!1!==t.visible}}initializeRow(e){var t;"calc"!==e.type&&((t=document.createElement("div")).classList.add("tabulator-responsive-collapse"),e.modules.responsiveLayout={element:t,open:this.collapseStartOpen},this.collapseStartOpen||(t.style.display="none"))}layoutRow(e){var t=e.getElement();e.modules.responsiveLayout&&(t.appendChild(e.modules.responsiveLayout.element),this.generateCollapsedRowContent(e))}updateColumnVisibility(e,t){!t&&e.modules.responsive&&(e.modules.responsive.visible=e.visible,this.initializeResponsivity())}hideColumn(e){var t=this.hiddenColumns.length;e.hide(!1,!0),"collapse"===this.mode&&(this.hiddenColumns.unshift(e),this.generateCollapsedContent(),this.collapseHandleColumn&&!t&&this.collapseHandleColumn.show())}showColumn(e){var t;e.show(!1,!0),e.setWidth(e.getWidth()),"collapse"===this.mode&&((t=this.hiddenColumns.indexOf(e))>-1&&this.hiddenColumns.splice(t,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var e=!0;e;){let t="fitColumns"==this.table.modules.layout.getMode()?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),i=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-t;if(i<0){let t=this.columns[this.index];t?(this.hideColumn(t),this.index++):e=!1}else{let t=this.columns[this.index-1];t&&i>0&&i>=t.getWidth()?(this.showColumn(t),this.index--):e=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){this.table.rowManager.getDisplayRows().forEach((e=>{this.generateCollapsedRowContent(e)}))}generateCollapsedRowContent(e){var t,i;if(e.modules.responsiveLayout){for(t=e.modules.responsiveLayout.element;t.firstChild;)t.removeChild(t.firstChild);(i=this.collapseFormatter(this.generateCollapsedRowData(e)))&&t.appendChild(i),e.calcHeight(!0)}}generateCollapsedRowData(e){var t,i=e.getData(),n=[];return this.hiddenColumns.forEach((s=>{var o=s.getFieldValue(i);if(s.definition.title&&s.field)if(s.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){function r(e){e()}t={value:!1,data:{},getValue:function(){return o},getData:function(){return i},getType:function(){return"cell"},getElement:function(){return document.createElement("div")},getRow:function(){return e.getComponent()},getColumn:function(){return s.getComponent()},getTable:()=>this.table},n.push({field:s.field,title:s.definition.title,value:s.modules.format.formatter.call(this.table.modules.format,t,s.modules.format.params,r)})}else n.push({field:s.field,title:s.definition.title,value:o})})),n}formatCollapsedData(e){var t=document.createElement("table");return e.forEach((e=>{var i,n=document.createElement("tr"),s=document.createElement("td"),o=document.createElement("td"),r=document.createElement("strong");s.appendChild(r),this.modules.localize.bind("columns|"+e.field,(function(t){r.innerHTML=t||e.title})),e.value instanceof Node?((i=document.createElement("div")).appendChild(e.value),o.appendChild(i)):o.innerHTML=e.value,n.appendChild(s),n.appendChild(o),t.appendChild(n)})),Object.keys(e).length?t:""}},SelectRangeModule:class extends s{static moduleName="selectRange";static moduleInitOrder=1;static moduleExtensions=fe;constructor(e){super(e),this.selecting="cell",this.mousedown=!1,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=!1,this.rowSelection=!1,this.maxRanges=0,this.activeRange=!1,this.blockKeydown=!1,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",!1),this.registerTableOption("selectableRangeColumns",!1),this.registerTableOption("selectableRangeRows",!1),this.registerTableOption("selectableRangeClearCells",!1),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableFunction("getRangesData",this.getRangesData.bind(this)),this.registerTableFunction("getRanges",this.getRanges.bind(this)),this.registerTableFunction("addRange",this.addRangeFromComponent.bind(this)),this.registerComponentFunction("cell","getRanges",this.cellGetRanges.bind(this)),this.registerComponentFunction("row","getRanges",this.rowGetRanges.bind(this)),this.registerComponentFunction("column","getRanges",this.colGetRanges.bind(this))}initialize(){this.options("selectableRange")&&(this.options("selectableRows")?console.warn("SelectRange functionality cannot be used in conjunction with row selection"):(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()),this.options("columns").findIndex((e=>e.frozen))>0&&console.warn("Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior."),this.options("columns").filter((e=>e.frozen))>1&&console.warn("Having multiple frozen columns with selectRange option may result in unpredictable behavior."))}initializeTable(){this.overlay=document.createElement("div"),this.overlay.classList.add("tabulator-range-overlay"),this.rangeContainer=document.createElement("div"),this.rangeContainer.classList.add("tabulator-range-container"),this.activeRangeCellElement=document.createElement("div"),this.activeRangeCellElement.classList.add("tabulator-range-cell-active"),this.overlay.appendChild(this.rangeContainer),this.overlay.appendChild(this.activeRangeCellElement),this.table.rowManager.element.addEventListener("keydown",this.keyDownEvent),this.resetRanges(),this.table.rowManager.element.appendChild(this.overlay),this.table.columnManager.element.setAttribute("tabindex",0),this.table.element.classList.add("tabulator-ranges")}initializeWatchers(){this.columnSelection=this.options("selectableRangeColumns"),this.rowSelection=this.options("selectableRangeRows"),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-mousedown",this.handleColumnMouseDown.bind(this)),this.subscribe("column-mousemove",this.handleColumnMouseMove.bind(this)),this.subscribe("column-resized",this.handleColumnResized.bind(this)),this.subscribe("column-width",this.layoutChange.bind(this)),this.subscribe("column-height",this.layoutChange.bind(this)),this.subscribe("column-resized",this.layoutChange.bind(this)),this.subscribe("columns-loaded",this.updateHeaderColumn.bind(this)),this.subscribe("cell-height",this.layoutChange.bind(this)),this.subscribe("cell-rendered",this.renderCell.bind(this)),this.subscribe("cell-mousedown",this.handleCellMouseDown.bind(this)),this.subscribe("cell-mousemove",this.handleCellMouseMove.bind(this)),this.subscribe("cell-click",this.handleCellClick.bind(this)),this.subscribe("cell-editing",this.handleEditingCell.bind(this)),this.subscribe("page-changed",this.redraw.bind(this)),this.subscribe("scroll-vertical",this.layoutChange.bind(this)),this.subscribe("scroll-horizontal",this.layoutChange.bind(this)),this.subscribe("data-destroy",this.tableDestroyed.bind(this)),this.subscribe("data-processed",this.resetRanges.bind(this)),this.subscribe("table-layout",this.layoutElement.bind(this)),this.subscribe("table-redraw",this.redraw.bind(this)),this.subscribe("table-destroy",this.tableDestroyed.bind(this)),this.subscribe("edit-editor-clear",this.finishEditingCell.bind(this)),this.subscribe("edit-blur",this.restoreFocus.bind(this)),this.subscribe("keybinding-nav-prev",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-next",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-left",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-right",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-up",this.keyNavigate.bind(this,"up")),this.subscribe("keybinding-nav-down",this.keyNavigate.bind(this,"down")),this.subscribe("keybinding-nav-range",this.keyNavigateRange.bind(this))}initializeColumn(e){this.columnSelection&&e.definition.headerSort&&"icon"!==this.options("headerSortClickElement")&&console.warn("Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'."),e.modules.edit}updateHeaderColumn(){var e;this.rowSelection&&(this.rowHeader=this.table.columnManager.getVisibleColumnsByIndex()[0],this.rowHeader&&(this.rowHeader.definition.cssClass=this.rowHeader.definition.cssClass+" tabulator-range-row-header",this.rowHeader.definition.headerSort&&console.warn("Using column headerSort with selectableRangeRows option may result in unpredictable behavior"),this.rowHeader.definition.editor&&console.warn("Using column editor with selectableRangeRows option may result in unpredictable behavior"))),this.table.modules.frozenColumns&&this.table.modules.frozenColumns.active&&((e=this.table.modules.frozenColumns.getFrozenColumns()).length>1||1===e.length&&e[0]!==this.rowHeader)&&console.warn("Using frozen columns that are not the range header in combination with the selectRange option may result in unpredictable behavior")}getRanges(){return this.ranges.map((e=>e.getComponent()))}getRangesData(){return this.ranges.map((e=>e.getData()))}addRangeFromComponent(e,t){return e=e?e._cell:null,t=t?t._cell:null,this.addRange(e,t)}cellGetRanges(e){var t=[];return t=e.column===this.rowHeader?this.ranges.filter((t=>t.occupiesRow(e.row))):this.ranges.filter((t=>t.occupies(e))),t.map((e=>e.getComponent()))}rowGetRanges(e){var t=this.ranges.filter((t=>t.occupiesRow(e)));return t.map((e=>e.getComponent()))}colGetRanges(e){var t=this.ranges.filter((t=>t.occupiesColumn(e)));return t.map((e=>e.getComponent()))}_handleMouseUp(e){this.mousedown=!1,document.removeEventListener("mouseup",this.mouseUpEvent)}_handleKeyDown(e){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if("Enter"===e.key){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),e.preventDefault()}"Backspace"!==e.key&&"Delete"!==e.key||!this.options("selectableRangeClearCells")||this.activeRange&&this.activeRange.clearValues()}}initializeFocus(e){var t;try{document.selection?((t=document.body.createTextRange()).moveToElementText(e.getElement()),t.select()):window.getSelection&&((t=document.createRange()).selectNode(e.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(t))}catch(e){}}restoreFocus(e){return this.table.rowManager.element.focus(),!0}handleColumnResized(e){var t;"column"!==this.selecting&&"all"!==this.selecting||(t=this.ranges.some((t=>t.occupiesColumn(e))),t&&this.ranges.forEach((t=>{t.getColumns(!0).forEach((t=>{t!==e&&t.setWidth(e.width)}))})))}handleColumnMouseDown(e,t){(2!==e.button||"column"!==this.selecting&&"all"!==this.selecting||!this.activeRange.occupiesColumn(t))&&(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleColumnMouseMove(e,t){t!==this.rowHeader&&this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,t,!0)}renderCell(e){var t=e.getElement(),i=this.ranges.findIndex((t=>t.occupies(e)));t.classList.toggle("tabulator-range-selected",-1!==i),t.classList.toggle("tabulator-range-only-cell-selected",1===this.ranges.length&&this.ranges[0].atTopLeft(e)&&this.ranges[0].atBottomRight(e)),t.dataset.range=i}handleCellMouseDown(e,t){2===e.button&&(this.activeRange.occupies(t)||("row"===this.selecting||"all"===this.selecting)&&this.activeRange.occupiesRow(t.row))||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleCellMouseMove(e,t){this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,t,!0)}handleCellClick(e,t){this.initializeFocus(t)}handleEditingCell(e){this.activeRange&&this.activeRange.setBounds(e)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout((()=>{this.blockKeydown=!1}),10)}keyNavigate(e,t){this.navigate(!1,!1,e)&&t.preventDefault()}keyNavigateRange(e,t,i,n){this.navigate(i,n,t)&&e.preventDefault()}navigate(e,t,i){var n,s,o,r,a,l,h;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter((e=>e===this.activeRange?(e.setEnd(e.start.row,e.start.col),!0):(e.destroy(),!1)))),s=this.activeRange,r=(o=t?s.end:s.start).row,a=o.col,e)switch(i){case"left":a=this.findJumpCellLeft(s.start.row,o.col);break;case"right":a=this.findJumpCellRight(s.start.row,o.col);break;case"up":r=this.findJumpCellUp(o.row,s.start.col);break;case"down":r=this.findJumpCellDown(o.row,s.start.col)}else{if(t&&("row"===this.selecting&&("left"===i||"right"===i)||"column"===this.selecting&&("up"===i||"down"===i)))return;switch(i){case"left":a=Math.max(a-1,0);break;case"right":a=Math.min(a+1,this.getTableColumns().length-1);break;case"up":r=Math.max(r-1,0);break;case"down":r=Math.min(r+1,this.getTableRows().length-1)}}return n=a!==o.col||r!==o.row,t||s.setStart(r,a),s.setEnd(r,a),t||(this.selecting="cell"),n?(l=this.getRowByRangePos(s.end.row),h=this.getColumnByRangePos(s.end.col),"left"!==i&&"right"!==i||null!==h.getElement().parentNode?"up"!==i&&"down"!==i||null!==l.getElement().parentNode?this.autoScroll(s,l.getElement(),h.getElement()):l.getComponent().scrollTo(void 0,!1):h.getComponent().scrollTo(void 0,!1),this.layoutElement(),!0):void 0}rangeRemoved(e){this.ranges=this.ranges.filter((t=>t!==e)),this.activeRange===e&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpCell(e,t,i,n){var s;t&&(e=e.reverse());for(let t of e){let e=t.getValue();if(i){if(s=t,e)break}else if(n){if(s=t,e)break}else{if(!e)break;s=t}}return s}findJumpCellLeft(e,t){var i=this.getRowByRangePos(e).cells.filter((e=>e.column.visible)),n=!i[t].getValue(),s=!!i[t]&&!i[t].getValue(),o=t,r=this.rowHeader?i.slice(1,t):i.slice(0,t),a=this.findJumpCell(r,!0,n,s);return a&&(o=a.column.getPosition()-1),o}findJumpCellRight(e,t){var i=this.getRowByRangePos(e).cells.filter((e=>e.column.visible)),n=!i[t].getValue(),s=!!i[t+1]&&!i[t+1].getValue(),o=t,r=this.findJumpCell(i.slice(t+1,i.length),!1,n,s);return r&&(o=r.column.getPosition()-1),o}findJumpCellUp(e,t){var i=this.getColumnByRangePos(t).cells.filter((e=>this.table.rowManager.activeRows.includes(e.row))),n=!i[e].getValue(),s=!!i[e-1]&&!i[e-1].getValue(),o=e,r=this.findJumpCell(i.slice(0,o),!0,n,s);return r&&(o=r.row.position-1),o}findJumpCellDown(e,t){var i=this.getColumnByRangePos(t).cells.filter((e=>this.table.rowManager.activeRows.includes(e.row))),n=!i[e].getValue(),s=!!i[e+1]&&!i[e+1].getValue(),o=e,r=this.findJumpCell(i.slice(o+1,i.length),!1,n,s);return r&&(o=r.row.position-1),o}newSelection(e,t){var i;if("column"===t.type){if(!this.columnSelection)return;if(t===this.rowHeader){i=this.resetRanges(),this.selecting="all";var n,s=this.getCell(-1,-1);return n=this.rowHeader?this.getCell(0,1):this.getCell(0,0),void i.setBounds(n,s)}this.selecting="column"}else t.column===this.rowHeader?this.selecting="row":this.selecting="cell";e.shiftKey?this.activeRange.setBounds(!1,t):e.ctrlKey?this.addRange().setBounds(t):this.resetRanges().setBounds(t)}autoScroll(e,t,i){var n,s,o,r,a,l=this.table.rowManager.element;void 0===t&&(t=this.getRowByRangePos(e.end.row).getElement()),void 0===i&&(i=this.getColumnByRangePos(e.end.col).getElement()),this.rowHeader&&(n=this.rowHeader.getElement()),s={left:i.offsetLeft,right:i.offsetLeft+i.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight},o={left:l.scrollLeft,right:Math.ceil(l.scrollLeft+l.clientWidth),top:l.scrollTop,bottom:l.scrollTop+l.offsetHeight-this.table.rowManager.scrollbarWidth},n&&(o.left+=n.offsetWidth),r=o.left<s.left&&s.left<o.right&&o.left<s.right&&s.right<o.right,a=o.top<s.top&&s.top<o.bottom&&o.top<s.bottom&&s.bottom<o.bottom,r||(s.left<o.left?(l.scrollLeft=s.left,n&&(l.scrollLeft-=n.offsetWidth)):s.right>o.right&&(l.scrollLeft=s.right-l.clientWidth)),a||(s.top<o.top?l.scrollTop=s.top:s.bottom>o.bottom&&(l.scrollTop=s.bottom-l.clientHeight))}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(e){e&&(this.selecting="cell",this.resetRanges(),this.layoutElement())}layoutElement(e){(e?this.table.rowManager.getVisibleRows(!0):this.table.rowManager.getRows()).forEach((e=>{"row"===e.type&&(this.layoutRow(e),e.cells.forEach((e=>this.renderCell(e))))})),this.getTableColumns().forEach((e=>{this.layoutColumn(e)})),this.layoutRanges()}layoutRow(e){var t=e.getElement(),i=!1,n=this.ranges.some((t=>t.occupiesRow(e)));"row"===this.selecting?i=n:"all"===this.selecting&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",n)}layoutColumn(e){var t=e.getElement(),i=!1,n=this.ranges.some((t=>t.occupiesColumn(e)));"column"===this.selecting?i=n:"all"===this.selecting&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",n)}layoutRanges(){var e,t,i;this.table.initialized&&(e=this.getActiveCell())&&(t=e.getElement(),i=e.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=i.offsetWidth-t.offsetLeft-t.offsetWidth+"px":this.activeRangeCellElement.style.left=i.offsetLeft+t.offsetLeft+"px",this.activeRangeCellElement.style.top=i.offsetTop+"px",this.activeRangeCellElement.style.width=t.offsetWidth+"px",this.activeRangeCellElement.style.height=i.offsetHeight+"px",this.ranges.forEach((e=>e.layout())),this.overlay.style.visibility="visible")}getCell(e,t){var i;return t<0&&(t=this.getTableColumns().length+t)<0?null:(e<0&&(e=this.getTableRows().length+e),(i=this.table.rowManager.getRowFromPosition(e+1))?i.getCells(!1,!0).filter((e=>e.column.visible))[t]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(e){return this.getTableRows()[e]}getColumnByRangePos(e){return this.getTableColumns()[e]}getTableRows(){return this.table.rowManager.getDisplayRows().filter((e=>"row"===e.type))}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(e,t){var i;return!0!==this.maxRanges&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),i=new ge(this.table,this,e,t),this.activeRange=i,this.ranges.push(i),this.rangeContainer.appendChild(i.element),i}resetRanges(){var e,t,i;return this.ranges.forEach((e=>e.destroy())),this.ranges=[],e=this.addRange(),this.table.rowManager.activeRows.length&&(i=this.table.rowManager.activeRows[0].cells.filter((e=>e.column.visible)),(t=i[this.rowHeader?1:0])&&(e.setBounds(t),this.initializeFocus(t))),e}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent)}selectedRows(e){return e?this.activeRange.getRows().map((e=>e.getComponent())):this.activeRange.getRows()}selectedColumns(e){return e?this.activeRange.getColumns().map((e=>e.getComponent())):this.activeRange.getColumns()}},SelectRowModule:class extends s{static moduleName="selectRow";static moduleExtensions=pe;constructor(e){super(e),this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",!0),this.registerTableOption("selectableRowsPersistence",!0),this.registerTableOption("selectableRowsCheck",(function(e,t){return!0})),this.registerTableFunction("selectRow",this.selectRows.bind(this)),this.registerTableFunction("deselectRow",this.deselectRows.bind(this)),this.registerTableFunction("toggleSelectRow",this.toggleRow.bind(this)),this.registerTableFunction("getSelectedRows",this.getSelectedRows.bind(this)),this.registerTableFunction("getSelectedData",this.getSelectedData.bind(this)),this.registerComponentFunction("row","select",this.selectRows.bind(this)),this.registerComponentFunction("row","deselect",this.deselectRows.bind(this)),this.registerComponentFunction("row","toggleSelect",this.toggleRow.bind(this)),this.registerComponentFunction("row","isSelected",this.isRowSelected.bind(this))}initialize(){this.deprecatedOptionsCheck(),"highlight"===this.table.options.selectableRows&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),!1!==this.table.options.selectableRows&&(this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-deleting",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clearSelectionData.bind(this)),this.subscribe("rows-retrieve",this.rowRetrieve.bind(this)),this.table.options.selectableRows&&!this.table.options.selectableRowsPersistence&&this.subscribe("data-refreshing",this.deselectRows.bind(this)))}deprecatedOptionsCheck(){}rowRetrieve(e,t){return"selected"===e?this.selectedRows:t}rowDeleted(e){this._deselectRow(e,!0)}clearSelectionData(e){var t=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],t&&!0!==e&&this._rowSelectionChanged()}initializeRow(e){var t=this,i=t.checkRowSelectability(e),n=e.getElement(),s=function(){setTimeout((function(){t.selecting=!1}),50),document.body.removeEventListener("mouseup",s)};e.modules.select={selected:!1},n.classList.toggle("tabulator-selectable",i),n.classList.toggle("tabulator-unselectable",!i),t.checkRowSelectability(e)&&t.table.options.selectableRows&&"highlight"!=t.table.options.selectableRows&&("click"===t.table.options.selectableRowsRangeMode?n.addEventListener("click",this.handleComplexRowClick.bind(this,e)):(n.addEventListener("click",(function(i){t.table.modExists("edit")&&t.table.modules.edit.getCurrentCell()||t.table._clearSelection(),t.selecting||t.toggleRow(e)})),n.addEventListener("mousedown",(function(i){if(i.shiftKey)return t.table._clearSelection(),t.selecting=!0,t.selectPrev=[],document.body.addEventListener("mouseup",s),document.body.addEventListener("keyup",s),t.toggleRow(e),!1})),n.addEventListener("mouseenter",(function(i){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]))})),n.addEventListener("mouseout",(function(i){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e))}))))}handleComplexRowClick(e,t){if(t.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||e;var i=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),n=this.table.rowManager.getDisplayRowIndex(e),s=i<=n?i:n,o=i>=n?i:n,r=this.table.rowManager.getDisplayRows().slice(0).splice(s,o-s+1);t.ctrlKey||t.metaKey?(r.forEach((t=>{t!==this.lastClickedRow&&(!0===this.table.options.selectableRows||this.isRowSelected(e)||this.selectedRows.length<this.table.options.selectableRows)&&this.toggleRow(t)})),this.lastClickedRow=e):(this.deselectRows(void 0,!0),!0!==this.table.options.selectableRows&&r.length>this.table.options.selectableRows&&(r=r.slice(0,this.table.options.selectableRows)),this.selectRows(r)),this.table._clearSelection()}else t.ctrlKey||t.metaKey?(this.toggleRow(e),this.lastClickedRow=e):(this.deselectRows(void 0,!0),this.selectRows(e),this.lastClickedRow=e)}checkRowSelectability(e){return!(!e||"row"!==e.type)&&this.table.options.selectableRowsCheck.call(this.table,e.getComponent())}toggleRow(e){this.checkRowSelectability(e)&&(e.modules.select&&e.modules.select.selected?this._deselectRow(e):this._selectRow(e))}selectRows(e){var t,i,n=[];switch(typeof e){case"undefined":t=this.table.rowManager.rows;break;case"number":t=this.table.rowManager.findRow(e);break;case"string":(t=this.table.rowManager.findRow(e))||(t=this.table.rowManager.getRows(e));break;default:t=e}Array.isArray(t)?t.length&&(t.forEach((e=>{(i=this._selectRow(e,!0,!0))&&n.push(i)})),this._rowSelectionChanged(!1,n)):t&&this._selectRow(t,!1,!0)}_selectRow(e,t,i){if(!isNaN(this.table.options.selectableRows)&&!0!==this.table.options.selectableRows&&!i&&this.selectedRows.length>=this.table.options.selectableRows){if(!this.table.options.selectableRowsRollingSelection)return!1;this._deselectRow(this.selectedRows[0])}var n=this.table.rowManager.findRow(e);if(n){if(-1==this.selectedRows.indexOf(n))return n.getElement().classList.add("tabulator-selected"),n.modules.select||(n.modules.select={}),n.modules.select.selected=!0,n.modules.select.checkboxEl&&(n.modules.select.checkboxEl.checked=!0),this.selectedRows.push(n),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(n,!0),this.dispatchExternal("rowSelected",n.getComponent()),this._rowSelectionChanged(t,n),n}else t||console.warn("Selection Error - No such row found, ignoring selection:"+e)}isRowSelected(e){return-1!==this.selectedRows.indexOf(e)}deselectRows(e,t){var i,n,s=[];switch(typeof e){case"undefined":i=Object.assign([],this.selectedRows);break;case"number":i=this.table.rowManager.findRow(e);break;case"string":(i=this.table.rowManager.findRow(e))||(i=this.table.rowManager.getRows(e));break;default:i=e}Array.isArray(i)?i.length&&(i.forEach((e=>{(n=this._deselectRow(e,!0,!0))&&s.push(n)})),this._rowSelectionChanged(t,[],s)):i&&this._deselectRow(i,t,!0)}_deselectRow(e,t){var i,n,s=this,o=s.table.rowManager.findRow(e);if(o){if((i=s.selectedRows.findIndex((function(e){return e==o})))>-1)return(n=o.getElement())&&n.classList.remove("tabulator-selected"),o.modules.select||(o.modules.select={}),o.modules.select.selected=!1,o.modules.select.checkboxEl&&(o.modules.select.checkboxEl.checked=!1),s.selectedRows.splice(i,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(o,!1),this.dispatchExternal("rowDeselected",o.getComponent()),s._rowSelectionChanged(t,void 0,o),o}else t||console.warn("Deselection Error - No such row found, ignoring selection:"+e)}getSelectedData(){var e=[];return this.selectedRows.forEach((function(t){e.push(t.getData())})),e}getSelectedRows(){var e=[];return this.selectedRows.forEach((function(t){e.push(t.getComponent())})),e}_rowSelectionChanged(e,t=[],i=[]){this.headerCheckboxElement&&(0===this.selectedRows.length?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=!0,this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),e||(Array.isArray(t)||(t=[t]),t=t.map((e=>e.getComponent())),Array.isArray(i)||(i=[i]),i=i.map((e=>e.getComponent())),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),t,i))}registerRowSelectCheckbox(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t}registerHeaderSelectCheckbox(e){this.headerCheckboxElement=e}childRowSelection(e,t){var i=this.table.modules.dataTree.getChildren(e,!0,!0);if(t)for(let e of i)this._selectRow(e,!0);else for(let e of i)this._deselectRow(e,!0)}},SortModule:we,SpreadsheetModule:class extends s{static moduleName="spreadsheet";constructor(e){super(e),this.sheets=[],this.element=null,this.registerTableOption("spreadsheet",!1),this.registerTableOption("spreadsheetRows",50),this.registerTableOption("spreadsheetColumns",50),this.registerTableOption("spreadsheetColumnDefinition",{}),this.registerTableOption("spreadsheetOutputFull",!1),this.registerTableOption("spreadsheetData",!1),this.registerTableOption("spreadsheetSheets",!1),this.registerTableOption("spreadsheetSheetTabs",!1),this.registerTableOption("spreadsheetSheetTabsElement",!1),this.registerTableFunction("setSheets",this.setSheets.bind(this)),this.registerTableFunction("addSheet",this.addSheet.bind(this)),this.registerTableFunction("getSheets",this.getSheets.bind(this)),this.registerTableFunction("getSheetDefinitions",this.getSheetDefinitions.bind(this)),this.registerTableFunction("setSheetData",this.setSheetData.bind(this)),this.registerTableFunction("getSheet",this.getSheet.bind(this)),this.registerTableFunction("getSheetData",this.getSheetData.bind(this)),this.registerTableFunction("clearSheet",this.clearSheet.bind(this)),this.registerTableFunction("removeSheet",this.removeSheetFunc.bind(this)),this.registerTableFunction("activeSheet",this.activeSheetFunc.bind(this))}initialize(){this.options("spreadsheet")&&(this.subscribe("table-initialized",this.tableInitialized.bind(this)),this.subscribe("data-loaded",this.loadRemoteData.bind(this)),this.table.options.index="_id",this.options("spreadsheetData")&&this.options("spreadsheetSheets")&&(console.warn("You cannot use spreadsheetData and spreadsheetSheets at the same time, ignoring spreadsheetData"),this.table.options.spreadsheetData=!1),this.compatibilityCheck(),this.options("spreadsheetSheetTabs")&&this.initializeTabset())}compatibilityCheck(){this.options("data")&&console.warn("Do not use the data option when working with spreadsheets, use either spreadsheetData or spreadsheetSheets to pass data into the table"),this.options("pagination")&&console.warn("The spreadsheet module is not compatible with the pagination module"),this.options("groupBy")&&console.warn("The spreadsheet module is not compatible with the row grouping module"),this.options("responsiveCollapse")&&console.warn("The spreadsheet module is not compatible with the responsive collapse module")}initializeTabset(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tabs");var e=this.options("spreadsheetSheetTabsElement");!e||e instanceof HTMLElement||(e=document.querySelector(e))||console.warn("Unable to find element matching spreadsheetSheetTabsElement selector:",this.options("spreadsheetSheetTabsElement")),e?e.appendChild(this.element):this.footerAppend(this.element)}tableInitialized(){this.sheets.length?this.loadSheet(this.sheets[0]):this.options("spreadsheetSheets")?this.loadSheets(this.options("spreadsheetSheets")):this.options("spreadsheetData")&&this.loadData(this.options("spreadsheetData"))}loadRemoteData(e,t,i){return console.log("data",e,t,i),Array.isArray(e)?(this.table.dataLoader.clearAlert(),this.dispatchExternal("dataLoaded",e),!e.length||Array.isArray(e[0])?this.loadData(e):this.loadSheets(e)):console.error("Spreadsheet Loading Error - Unable to process remote data due to invalid data type \nExpecting: array \nReceived: ",typeof e,"\nData: ",e),!1}loadData(e){var t={data:e};this.loadSheet(this.newSheet(t))}destroySheets(){this.sheets.forEach((e=>{e.destroy()})),this.sheets=[],this.activeSheet=null}loadSheets(e){Array.isArray(e)||(e=[]),this.destroySheets(),e.forEach((e=>{this.newSheet(e)})),this.loadSheet(this.sheets[0])}loadSheet(e){this.activeSheet!==e&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=e,e.load())}newSheet(e={}){var t;return e.rows||(e.rows=this.options("spreadsheetRows")),e.columns||(e.columns=this.options("spreadsheetColumns")),t=new Ee(this,e),this.sheets.push(t),this.element&&this.element.appendChild(t.element),t}removeSheet(e){var t,i=this.sheets.indexOf(e);this.sheets.length>1?i>-1&&(this.sheets.splice(i,1),e.destroy(),this.activeSheet===e&&((t=this.sheets[i-1]||this.sheets[0])?this.loadSheet(t):this.activeSheet=null)):console.warn("Unable to remove sheet, at least one sheet must be active")}lookupSheet(e){return e?e instanceof Ee?e:e instanceof ye?e._sheet:this.sheets.find((t=>t.key===e))||!1:this.activeSheet}setSheets(e){return this.loadSheets(e),this.getSheets()}addSheet(e){return this.newSheet(e).getComponent()}getSheetDefinitions(){return this.sheets.map((e=>e.getDefinition()))}getSheets(){return this.sheets.map((e=>e.getComponent()))}getSheet(e){var t=this.lookupSheet(e);return!!t&&t.getComponent()}setSheetData(e,t){e&&!t&&(t=e,e=!1);var i=this.lookupSheet(e);return!!i&&i.setData(t)}getSheetData(e){var t=this.lookupSheet(e);return!!t&&t.getData()}clearSheet(e){var t=this.lookupSheet(e);return!!t&&t.clear()}removeSheetFunc(e){var t=this.lookupSheet(e);t&&this.removeSheet(t)}activeSheetFunc(e){var t=this.lookupSheet(e);return!!t&&this.loadSheet(t)}},TooltipModule:class extends s{static moduleName="tooltip";constructor(e){super(e),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip")}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeColumn(e){e.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=!0,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),e.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=!0,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")))}mousemoveCheck(e,t,i){var n="tooltip"===e?i.column.definition.tooltip:i.definition.headerTooltip;n&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,t,i,n),this.table.options.tooltipDelay))}mouseoutCheck(e,t,i){this.popupInstance||this.clearPopup()}clearPopup(e,t,i){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(e,t,i){var n,s,o;"function"==typeof i&&(i=i(e,t.getComponent(),(function(e){s=e}))),i instanceof HTMLElement?n=i:(n=document.createElement("div"),!0===i&&(t instanceof y?i=t.value:t.definition.field?this.langBind("columns|"+t.definition.field,(e=>{n.innerHTML=i=e||t.definition.title})):i=t.definition.title),n.innerHTML=i),(i||0===i||!1===i)&&(n.classList.add("tabulator-tooltip"),n.addEventListener("mousemove",(e=>e.preventDefault())),this.popupInstance=this.popup(n),"function"==typeof s&&this.popupInstance.renderCallback(s),o=this.popupInstance.containerEventCoords(e),this.popupInstance.show(o.x+15,o.y+15).hideOnBlur((()=>{this.dispatchExternal("TooltipClosed",t.getComponent()),this.popupInstance=null})),this.dispatchExternal("TooltipOpened",t.getComponent()))}},ValidateModule:_e}),xe={debugEventsExternal:!1,debugEventsInternal:!1,debugInvalidOptions:!0,debugInvalidComponentFuncs:!0,debugInitialization:!0,debugDeprecation:!0,height:!1,minHeight:!1,maxHeight:!1,columnHeaderVertAlign:"top",popupContainer:!1,columns:[],columnDefaults:{},rowHeader:!1,data:!1,autoColumns:!1,autoColumnsDefinitions:!1,nestedFieldSeparator:".",footerElement:!1,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:!0,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:!0,scrollToColumnPosition:"left",scrollToColumnIfVisible:!0,rowFormatter:!1,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:!1,dataLoader:!0,dataLoaderLoading:!1,dataLoaderError:!1,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{}};class Se{constructor(e,t,i={}){this.table=e,this.msgType=t,this.registeredDefaults=Object.assign({},i)}register(e,t){this.registeredDefaults[e]=t}generate(e,t={}){var i=Object.assign({},this.registeredDefaults),n=this.table.options.debugInvalidOptions||!0===t.debugInvalidOptions;Object.assign(i,e);for(let e in t)i.hasOwnProperty(e)||(n&&console.warn("Invalid "+this.msgType+" option:",e),i[e]=t.key);for(let e in i)e in t?i[e]=t[e]:Array.isArray(i[e])?i[e]=Object.assign([],i[e]):"object"==typeof i[e]&&null!==i[e]?i[e]=Object.assign({},i[e]):void 0===i[e]&&delete i[e];return i}}class Me extends e{constructor(e){super(e),this.elementVertical=e.rowManager.element,this.elementHorizontal=e.columnManager.element,this.tableElement=e.rowManager.tableElement,this.verticalFillMode="fit"}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(e){}renderRows(){}renderColumns(){}rerenderRows(e){e&&e()}rerenderColumns(e,t){}renderRowCells(e){}rerenderRowCells(e,t){}scrollColumns(e,t){}scrollRows(e,t){}resize(){}scrollToRow(e){}scrollToRowNearestTop(e){}visibleRows(e){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(e){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(e,i,n){var s=this.rows().indexOf(e),o=e.getElement(),r=0;return new Promise(((a,l)=>{if(s>-1){if(void 0===n&&(n=this.table.options.scrollToRowIfVisible),!n&&t.elVisible(o)&&(r=t.elOffset(o).top-t.elOffset(this.elementVertical).top)>0&&r<this.elementVertical.clientHeight-o.offsetHeight)return a(),!1;switch(void 0===i&&(i=this.table.options.scrollToRowPosition),"nearest"===i&&(i=this.scrollToRowNearestTop(e)?"top":"bottom"),this.scrollToRow(e),i){case"middle":case"center":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop+(o.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-o.offsetTop)/2:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case"bottom":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-o.offsetTop)+o.offsetHeight:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight+o.offsetHeight;break;case"top":this.elementVertical.scrollTop=o.offsetTop}a()}else console.warn("Scroll Error - Row not visible"),l("Scroll Error - Row not visible")}))}}class Le extends Me{constructor(e){super(e)}renderRowCells(e,t){const i=document.createDocumentFragment();e.cells.forEach((e=>{i.appendChild(e.getElement())})),e.element.appendChild(i),t||e.cells.forEach((e=>{e.cellRendered()}))}reinitializeColumnWidths(e){e.forEach((function(e){e.reinitializeWidth()}))}}class ke extends Me{constructor(e){super(e),this.leftCol=0,this.rightCol=0,this.scrollLeft=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0,this.fitDataColAvg=0,this.windowBuffer=200,this.visibleRows=null,this.initialized=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){"fitDataTable"==this.options("layout")&&console.warn("Horizontal Virtual DOM is not compatible with fitDataTable layout mode"),this.options("responsiveLayout")&&console.warn("Horizontal Virtual DOM is not compatible with responsive columns"),this.options("rtl")&&console.warn("Horizontal Virtual DOM is not currently compatible with RTL text direction")}layoutCheck(){this.isFitData=this.options("layout").startsWith("fitData")}vertScrollListen(){this.subscribe("scroll-vertical",this.clearVisRowCache.bind(this)),this.subscribe("data-refreshed",this.clearVisRowCache.bind(this))}clearVisRowCache(){this.visibleRows=null}renderColumns(e,t){this.dataChange()}scrollColumns(e,t){this.scrollLeft!=e&&(this.scrollLeft=e,this.scroll(e-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var e=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach((t=>{if(t.visible){var i=t.getWidth();i>e&&(e=i)}})),this.windowBuffer=2*e}rerenderColumns(e,t){var i={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},n=0;e&&!this.initialized||(this.clear(),this.calcWindowBuffer(),this.scrollLeft=this.elementVertical.scrollLeft,this.vDomScrollPosLeft=this.scrollLeft-this.windowBuffer,this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,this.table.columnManager.columnsByIndex.forEach((e=>{var t,i={};e.visible&&(e.modules.frozen||(t=e.getWidth(),i.leftPos=n,i.rightPos=n+t,i.width=t,this.isFitData&&(i.fitDataCheck=!e.modules.vdomHoz||e.modules.vdomHoz.fitDataCheck),n+t>this.vDomScrollPosLeft&&n<this.vDomScrollPosRight?(-1==this.leftCol&&(this.leftCol=this.columns.length,this.vDomPadLeft=n),this.rightCol=this.columns.length):-1!==this.leftCol&&(this.vDomPadRight+=t),this.columns.push(e),e.modules.vdomHoz=i,n+=t))})),this.tableElement.style.paddingLeft=this.vDomPadLeft+"px",this.tableElement.style.paddingRight=this.vDomPadRight+"px",this.initialized=!0,t||e&&!this.reinitChanged(i)||this.reinitializeRows(),this.elementVertical.scrollLeft=this.scrollLeft)}renderRowCells(e){if(this.initialized)this.initializeRow(e);else{const t=document.createDocumentFragment();e.cells.forEach((e=>{t.appendChild(e.getElement())})),e.element.appendChild(t),e.cells.forEach((e=>{e.cellRendered()}))}}rerenderRowCells(e,t){this.reinitializeRow(e,t)}reinitializeColumnWidths(e){for(let e=this.leftCol;e<=this.rightCol;e++)this.columns[e].reinitializeWidth()}deinitialize(){this.initialized=!1}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0}dataChange(){var e,t,i=!1;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach((e=>{!e.definition.width&&e.visible&&(i=!0)})),i&&this.table.rowManager.getDisplayRows().length&&(this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,e=this.chain("rows-sample",[1],[],(()=>this.table.rowManager.getDisplayRows()))[0])){t=e.getElement(),e.generateCells(),this.tableElement.appendChild(t);for(let i=0;i<e.cells.length;i++){let n=e.cells[i];t.appendChild(n.getElement()),n.column.reinitializeWidth()}t.parentNode.removeChild(t),this.rerenderColumns(!1,!0)}}else"fitColumns"===this.options("layout")&&(this.layoutRefresh(),this.rerenderColumns(!1,!0))}reinitChanged(e){var t=!0;return e.cols.length!==this.columns.length||e.leftCol!==this.leftCol||e.rightCol!==this.rightCol||(e.cols.forEach(((e,i)=>{e!==this.columns[i]&&(t=!1)})),!t)}reinitializeRows(){var e=this.getVisibleRows(),t=this.table.rowManager.getRows().filter((t=>!e.includes(t)));e.forEach((e=>{this.reinitializeRow(e,!0)})),t.forEach((e=>{e.deinitialize()}))}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(e){this.vDomScrollPosLeft+=e,this.vDomScrollPosRight+=e,Math.abs(e)>this.windowBuffer/2?this.rerenderColumns():e>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(e,t,i){for(let n=e;n<t;n++){let e=this.columns[n];e.modules.vdomHoz.leftPos+=i,e.modules.vdomHoz.rightPos+=i}}addColRight(){for(var e=!1,t=!0;t;){let i=this.columns[this.rightCol+1];i&&i.modules.vdomHoz.leftPos<=this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.rightCol]).getElement().nextSibling),t.cellRendered()}})),this.fitDataColActualWidthCheck(i),this.rightCol++,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.rightCol=this.rightCol)})),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=i.getWidth()):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}addColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol-1];if(i)if(i.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.leftCol]).getElement()),t.cellRendered()}})),this.leftCol--,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.leftCol=this.leftCol)})),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=i.getWidth();let t=this.fitDataColActualWidthCheck(i);t&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+t,this.vDomPadRight-=t)}else t=!1;else t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}removeColRight(){for(var e=!1,t=!0;t;){let i=this.columns[this.rightCol];i&&i.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn("Could not removeColRight",e.message)}}})),this.vDomPadRight+=i.getWidth(),this.rightCol--,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.rightCol=this.rightCol)}))):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}removeColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol];i&&i.modules.vdomHoz.rightPos<this.vDomScrollPosLeft?(e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn("Could not removeColLeft",e.message)}}})),this.vDomPadLeft+=i.getWidth(),this.leftCol++,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.leftCol=this.leftCol)}))):t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}fitDataColActualWidthCheck(e){var t,i;return e.modules.vdomHoz.fitDataCheck&&(e.reinitializeWidth(),(i=(t=e.getWidth())-e.modules.vdomHoz.width)&&(e.modules.vdomHoz.rightPos+=i,e.modules.vdomHoz.width=t,this.colPositionAdjust(this.columns.indexOf(e)+1,this.columns.length,i)),e.modules.vdomHoz.fitDataCheck=!1),i}initializeRow(e){if("group"!==e.type){e.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach((t=>{this.appendCell(e,t)}));for(let t=this.leftCol;t<=this.rightCol;t++)this.appendCell(e,this.columns[t]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach((t=>{this.appendCell(e,t)}))}}appendCell(e,t){if(t&&t.visible){let i=e.getCell(t);e.getElement().appendChild(i.getElement()),i.cellRendered()}}reinitializeRow(e,t){if("group"!==e.type&&(t||!e.modules.vdomHoz||e.modules.vdomHoz.leftCol!==this.leftCol||e.modules.vdomHoz.rightCol!==this.rightCol)){for(var i=e.getElement();i.firstChild;)i.removeChild(i.firstChild);this.initializeRow(e)}}}class De extends e{constructor(e){super(e),this.blockHozScrollEvent=!1,this.headersElement=null,this.contentsElement=null,this.rowHeader=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new Se(this.table,"column definition",R),this.redrawBlock=!1,this.redrawBlockUpdate=null,this.renderer=null}initialize(){this.initializeRenderer(),this.headersElement=this.createHeadersElement(),this.contentsElement=this.createHeaderContentsElement(),this.element=this.createHeaderElement(),this.contentsElement.insertBefore(this.headersElement,this.contentsElement.firstChild),this.element.insertBefore(this.contentsElement,this.element.firstChild),this.initializeScrollWheelWatcher(),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("scrollbar-vertical",this.padVerticalScrollbar.bind(this))}padVerticalScrollbar(e){this.table.rtl?this.headersElement.style.marginLeft=e+"px":this.headersElement.style.marginRight=e+"px"}initializeRenderer(){var e,t={virtual:ke,basic:Le};(e="string"==typeof this.table.options.renderHorizontal?t[this.table.options.renderHorizontal]:this.table.options.renderHorizontal)?(this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error("Unable to find matching renderer:",this.table.options.renderHorizontal)}createHeadersElement(){var e=document.createElement("div");return e.classList.add("tabulator-headers"),e.setAttribute("role","row"),e}createHeaderContentsElement(){var e=document.createElement("div");return e.classList.add("tabulator-header-contents"),e.setAttribute("role","rowgroup"),e}createHeaderElement(){var e=document.createElement("div");return e.classList.add("tabulator-header"),e.setAttribute("role","rowgroup"),this.table.options.headerVisible||e.classList.add("tabulator-header-hidden"),e}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(e){this.contentsElement.scrollLeft=e,this.scrollLeft=e,this.renderer.scrollColumns(e)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",(e=>{var t;e.deltaX&&(t=this.contentsElement.scrollLeft+e.deltaX,this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))}))}generateColumnsFromRowData(e){var t=[],i={},n="full"===this.table.options.autoColumns?e:[e[0]],s=this.table.options.autoColumnsDefinitions;if(e&&e.length){if(n.forEach((e=>{Object.keys(e).forEach(((n,s)=>{let o,r=e[n];i[n]?!0!==i[n]&&void 0!==r&&(i[n].sorter=this.calculateSorterFromValue(r),i[n]=!0):(o={field:n,title:n,sorter:this.calculateSorterFromValue(r)},t.splice(s,0,o),i[n]=void 0!==r||o)}))})),s)switch(typeof s){case"function":this.table.options.columns=s.call(this.table,t);break;case"object":Array.isArray(s)?t.forEach((e=>{var t=s.find((t=>t.field===e.field));t&&Object.assign(e,t)})):t.forEach((e=>{s[e.field]&&Object.assign(e,s[e.field])})),this.table.options.columns=t}else this.table.options.columns=t;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(e){var t;switch(typeof e){case"undefined":t="string";break;case"boolean":t="boolean";break;case"number":t="number";break;case"object":t=Array.isArray(e)?"array":"string";break;default:t=isNaN(e)||""===e?e.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?"alphanum":"string":"number"}return t}setColumns(e,t){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),this.dispatchExternal("columnsLoading"),this.table.options.rowHeader&&(this.rowHeader=new _(!0===this.table.options.rowHeader?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),e.forEach(((e,t)=>{this._addColumn(e)})),this._reIndexColumns(),this.dispatch("columns-loaded"),this.subscribedExternal("columnsLoaded")&&this.dispatchExternal("columnsLoaded",this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(e,t,i){var n=new _(e,this),s=n.getElement(),o=i?this.findColumnIndex(i):i;if(!t||!this.rowHeader||i&&i!==this.rowHeader||(t=!1,i=this.rowHeader,o=0),i&&o>-1){var r=i.getTopColumn(),a=this.columns.indexOf(r),l=r.getElement();t?(this.columns.splice(a,0,n),l.parentNode.insertBefore(s,l)):(this.columns.splice(a+1,0,n),l.parentNode.insertBefore(s,l.nextSibling))}else t?(this.columns.unshift(n),this.headersElement.insertBefore(n.getElement(),this.headersElement.firstChild)):(this.columns.push(n),this.headersElement.appendChild(n.getElement()));return n.columnRendered(),n}registerColumnField(e){e.definition.field&&(this.columnsByField[e.definition.field]=e)}registerColumnPosition(e){this.columnsByIndex.push(e)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach((function(e){e.reRegisterPosition()}))}verticalAlignHeaders(){var e=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach((e=>{e.clearVerticalAlign()})),this.columns.forEach((t=>{var i=t.getHeight();i>e&&(e=i)})),this.headersElement.style.height=e+"px",this.columns.forEach((t=>{t.verticalAlign(this.table.options.columnHeaderVertAlign,e)})),this.table.rowManager.adjustTableSize())}findColumn(e){var t;if("object"!=typeof e)return this.columnsByField[e]||!1;if(e instanceof _)return e;if(e instanceof E)return e._getSelf()||!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement){return t=[],this.columns.forEach((e=>{t.push(e),t=t.concat(e.getColumns(!0))})),t.find((t=>t.element===e))||!1}return!1}getColumnByField(e){return this.columnsByField[e]}getColumnsByFieldRoot(e){var t=[];return Object.keys(this.columnsByField).forEach((i=>{(this.table.options.nestedFieldSeparator?i.split(this.table.options.nestedFieldSeparator)[0]:i)===e&&t.push(this.columnsByField[i])})),t}getColumnByIndex(e){return this.columnsByIndex[e]}getFirstVisibleColumn(){var e=this.columnsByIndex.findIndex((e=>e.visible));return e>-1&&this.columnsByIndex[e]}getVisibleColumnsByIndex(){return this.columnsByIndex.filter((e=>e.visible))}getColumns(){return this.columns}findColumnIndex(e){return this.columnsByIndex.findIndex((t=>e===t))}getRealColumns(){return this.columnsByIndex}traverse(e){this.columnsByIndex.forEach(((t,i)=>{e(t,i)}))}getDefinitions(e){var t=[];return this.columnsByIndex.forEach((i=>{(!e||e&&i.visible)&&t.push(i.getDefinition())})),t}getDefinitionTree(){var e=[];return this.columns.forEach((t=>{e.push(t.getDefinition(!0))})),e}getComponents(e){var t=[];return(e?this.columns:this.columnsByIndex).forEach((e=>{t.push(e.getComponent())})),t}getWidth(){var e=0;return this.columnsByIndex.forEach((t=>{t.visible&&(e+=t.getWidth())})),e}moveColumn(e,t,i){t.element.parentNode.insertBefore(e.element,t.element),i&&t.element.parentNode.insertBefore(t.element,e.element),this.moveColumnActual(e,t,i),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(e,t,i){e.parent.isGroup?this._moveColumnInArray(e.parent.columns,e,t,i):this._moveColumnInArray(this.columns,e,t,i),this._moveColumnInArray(this.columnsByIndex,e,t,i,!0),this.rerenderColumns(!0),this.dispatch("column-moved",e,t,i),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",e.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(e,t,i,n,s){var o,r=e.indexOf(t);r>-1&&(e.splice(r,1),(o=e.indexOf(i))>-1?n&&(o+=1):o=r,e.splice(o,0,t),s&&(this.chain("column-moving-rows",[t,i,n],null,[])||[]).concat(this.table.rowManager.rows).forEach((function(e){if(e.cells.length){var t=e.cells.splice(r,1)[0];e.cells.splice(o,0,t)}})))}scrollToColumn(e,t,i){var n=0,s=e.getLeftOffset(),o=0,r=e.getElement();return new Promise(((a,l)=>{if(void 0===t&&(t=this.table.options.scrollToColumnPosition),void 0===i&&(i=this.table.options.scrollToColumnIfVisible),e.visible){switch(t){case"middle":case"center":o=-this.element.clientWidth/2;break;case"right":o=r.clientWidth-this.headersElement.clientWidth}if(!i&&s>0&&s+r.offsetWidth<this.element.clientWidth)return!1;n=s+o,n=Math.max(Math.min(n,this.table.rowManager.element.scrollWidth-this.table.rowManager.element.clientWidth),0),this.table.rowManager.scrollHorizontal(n),this.scrollHorizontal(n),a()}else console.warn("Scroll Error - Column not visible"),l("Scroll Error - Column not visible")}))}generateCells(e){var t=[];return this.columnsByIndex.forEach((i=>{t.push(i.generateCell(e))})),t}getFlexBaseWidth(){var e=this.table.element.clientWidth,t=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(e-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach((function(i){var n,s,o;i.visible&&(n=i.definition.width||0,s=parseInt(i.minWidth),o="string"==typeof n?n.indexOf("%")>-1?e/100*parseInt(n):parseInt(n):n,t+=o>s?o:s)})),t}addColumn(e,t,i){return new Promise(((n,s)=>{var o=this._addColumn(e,t,i);this._reIndexColumns(),this.dispatch("column-add",e,t,i),"fitColumns"!=this.layoutMode()&&o.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),n(o)}))}deregisterColumn(e){var t,i=e.getField();i&&delete this.columnsByField[i],(t=this.columnsByIndex.indexOf(e))>-1&&this.columnsByIndex.splice(t,1),(t=this.columns.indexOf(e))>-1&&this.columns.splice(t,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(e,t){this.redrawBlock?(!1===e||!0===e&&null===this.redrawBlockUpdate)&&(this.redrawBlockUpdate=e):this.renderer.rerenderColumns(e,t)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(e){t.elVisible(this.element)&&this.verticalAlignHeaders(),e&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",e)||this.layoutRefresh(e),this.dispatch("table-redraw",e),this.table.footerManager.redraw()}}class Ae extends Me{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.scrollTop=0,e.scrollLeft=0,e.style.minWidth="",e.style.minHeight="",e.style.display="",e.style.visibility=""}renderRows(){var e=this.tableElement,t=!0,i=document.createDocumentFragment(),n=this.rows();n.forEach(((e,n)=>{this.styleRow(e,n),e.initialize(!1,!0),"group"!==e.type&&(t=!1),i.appendChild(e.getElement())})),e.appendChild(i),n.forEach((e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)})),n.forEach((e=>{e.heightInitialized||e.setCellHeight()})),e.style.minWidth=t?this.table.columnManager.getWidth()+"px":""}rerenderRows(e){this.clearRows(),e&&e(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(e){var i=t.elOffset(e.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-i)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-i))}scrollToRow(e){var i=e.getElement();this.elementVertical.scrollTop=t.elOffset(i).top-t.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(e){return this.rows()}}class Pe extends Me{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.vDomRowHeight=20,this.vDomTop=0,this.vDomBottom=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomMaxRenderChain=90,this.vDomWindowBuffer=0,this.vDomWindowMinTotalRows=20,this.vDomWindowMinMarginRows=5,this.vDomTopNewRows=[],this.vDomBottomNewRows=[]}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.style.paddingTop="",e.style.paddingBottom="",e.style.minHeight="",e.style.display="",e.style.visibility="",this.elementVertical.scrollTop=0,this.elementVertical.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0,this.vDomTop=0,this.vDomBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0}renderRows(){this._virtualRenderFill()}rerenderRows(e){for(var t=this.elementVertical.scrollTop,i=!1,n=!1,s=this.table.rowManager.scrollLeft,o=this.rows(),r=this.vDomTop;r<=this.vDomBottom;r++)if(o[r]){var a=t-o[r].getElement().offsetTop;if(!(!1===n||Math.abs(a)<n))break;n=a,i=r}o.forEach((e=>{e.deinitializeHeight()})),e&&e(),this.rows().length?this._virtualRenderFill(!1===i?this.rows.length-1:i,!0,n||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(s)}scrollColumns(e){this.table.rowManager.scrollHorizontal(e)}scrollRows(e,t){var i=e-this.vDomScrollPosTop,n=e-this.vDomScrollPosBottom,s=2*this.vDomWindowBuffer,o=this.rows();if(this.scrollTop=e,-i>s||n>s){var r=this.table.rowManager.scrollLeft;this._virtualRenderFill(Math.floor(this.elementVertical.scrollTop/this.elementVertical.scrollHeight*o.length)),this.scrollColumns(r)}else t?(i<0&&this._addTopRow(o,-i),n<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(o,-n):this.vDomScrollPosBottom=this.scrollTop)):(n>=0&&this._addBottomRow(o,n),i>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(o,i):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(e){var t=this.rows().indexOf(e);return!(Math.abs(this.vDomTop-t)>Math.abs(this.vDomBottom-t))}scrollToRow(e){var t=this.rows().indexOf(e);t>-1&&this._virtualRenderFill(t,!0)}visibleRows(e){var t=this.elementVertical.scrollTop,i=this.elementVertical.clientHeight+t,n=!1,s=0,o=0,r=this.rows();if(e)s=this.vDomTop,o=this.vDomBottom;else for(var a=this.vDomTop;a<=this.vDomBottom;a++)if(r[a])if(n){if(!(i-r[a].getElement().offsetTop>=0))break;o=a}else if(t-r[a].getElement().offsetTop>=0)s=a;else{if(n=!0,!(i-r[a].getElement().offsetTop>=0))break;o=a}return r.slice(s,o+1)}_virtualRenderFill(e,i,n){var s,o,r=this.tableElement,a=this.elementVertical,l=0,h=0,u=0,c=0,d=0,p=0,m=this.rows(),g=m.length,f=0,b=[],v=0,w=0,C=this.table.rowManager.fixedHeight,y=this.elementVertical.clientHeight,E=this.table.options.rowHeight,R=!0;if(n=n||0,e=e||0){for(;r.firstChild;)r.removeChild(r.firstChild);(c=(g-e+1)*this.vDomRowHeight)<y&&(e-=Math.ceil((y-c)/this.vDomRowHeight))<0&&(e=0),e-=l=Math.min(Math.max(Math.floor(this.vDomWindowBuffer/this.vDomRowHeight),this.vDomWindowMinMarginRows),e)}else this.clear();if(g&&t.elVisible(this.elementVertical)){for(this.vDomTop=e,this.vDomBottom=e-1,C||this.table.options.maxHeight?(E&&(w=y/E+this.vDomWindowBuffer/E),w=Math.max(this.vDomWindowMinTotalRows,Math.ceil(w))):w=g;(w==g||h<=y+this.vDomWindowBuffer||v<this.vDomWindowMinTotalRows)&&this.vDomBottom<g-1;){for(b=[],o=document.createDocumentFragment(),p=0;p<w&&this.vDomBottom<g-1;)s=m[f=this.vDomBottom+1],this.styleRow(s,f),s.initialize(!1,!0),s.heightInitialized||this.table.options.rowHeight||s.clearCellHeight(),o.appendChild(s.getElement()),b.push(s),this.vDomBottom++,p++;if(!b.length)break;r.appendChild(o),b.forEach((e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)})),b.forEach((e=>{e.heightInitialized||e.setCellHeight()})),b.forEach((e=>{u=e.getHeight(),v<l?d+=u:h+=u,u>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*u),v++})),R=this.table.rowManager.adjustTableSize(),y=this.elementVertical.clientHeight,R&&(C||this.table.options.maxHeight)&&(E=h/v,w=Math.max(this.vDomWindowMinTotalRows,Math.ceil(y/E+this.vDomWindowBuffer/E)))}e?(this.vDomTopPad=i?this.vDomRowHeight*this.vDomTop+n:this.scrollTop-d,this.vDomBottomPad=this.vDomBottom==g-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-h-d,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((h+d)/v),this.vDomBottomPad=this.vDomRowHeight*(g-this.vDomBottom-1),this.vDomScrollHeight=d+h+this.vDomBottomPad-y),r.style.paddingTop=this.vDomTopPad+"px",r.style.paddingBottom=this.vDomBottomPad+"px",i&&(this.scrollTop=this.vDomTopPad+d+n-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-y:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-y),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&i&&(this.scrollTop+=this.elementVertical.offsetHeight-y),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,a.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill")}}_addTopRow(e,t){for(var i=this.tableElement,n=[],s=0,o=this.vDomTop-1,r=0,a=!0;a;)if(this.vDomTop){let l,h,u=e[o];u&&r<this.vDomMaxRenderChain?(l=u.getHeight()||this.vDomRowHeight,h=u.initialized,t>=l?(this.styleRow(u,o),i.insertBefore(u.getElement(),i.firstChild),u.initialized&&u.heightInitialized||n.push(u),u.initialize(),h||(l=u.getElement().offsetHeight,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*l)),t-=l,s+=l,this.vDomTop--,o--,r++):a=!1):a=!1}else a=!1;for(let e of n)e.clearCellHeight();this._quickNormalizeRowHeight(n),s&&(this.vDomTopPad-=s,this.vDomTopPad<0&&(this.vDomTopPad=o*this.vDomRowHeight),o<1&&(this.vDomTopPad=0),i.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=s)}_removeTopRow(e,t){for(var i=[],n=0,s=0,o=!0;o;){let r,a=e[this.vDomTop];a&&s<this.vDomMaxRenderChain?(r=a.getHeight()||this.vDomRowHeight,t>=r?(this.vDomTop++,t-=r,n+=r,i.push(a),s++):o=!1):o=!1}for(let e of i){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}n&&(this.vDomTopPad+=n,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?n:n+this.vDomWindowBuffer)}_addBottomRow(e,t){for(var i=this.tableElement,n=[],s=0,o=this.vDomBottom+1,r=0,a=!0;a;){let l,h,u=e[o];u&&r<this.vDomMaxRenderChain?(l=u.getHeight()||this.vDomRowHeight,h=u.initialized,t>=l?(this.styleRow(u,o),i.appendChild(u.getElement()),u.initialized&&u.heightInitialized||n.push(u),u.initialize(),h||(l=u.getElement().offsetHeight,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*l)),t-=l,s+=l,this.vDomBottom++,o++,r++):a=!1):a=!1}for(let e of n)e.clearCellHeight();this._quickNormalizeRowHeight(n),s&&(this.vDomBottomPad-=s,(this.vDomBottomPad<0||o==e.length-1)&&(this.vDomBottomPad=0),i.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=s)}_removeBottomRow(e,t){for(var i=[],n=0,s=0,o=!0;o;){let r,a=e[this.vDomBottom];a&&s<this.vDomMaxRenderChain?(r=a.getHeight()||this.vDomRowHeight,t>=r?(this.vDomBottom--,t-=r,n+=r,i.push(a),s++):o=!1):o=!1}for(let e of i){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}n&&(this.vDomBottomPad+=n,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=n)}_quickNormalizeRowHeight(e){for(let t of e)t.calcHeight();for(let t of e)t.setCellHeight()}}class Oe extends e{constructor(e){super(e),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=!1,this.renderMode="virtual",this.fixedHeight=!1,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=!1,this.redrawBlockRestoreConfig=!1,this.redrawBlockRenderInPosition=!1,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null}createHolderElement(){var e=document.createElement("div");return e.classList.add("tabulator-tableholder"),e.setAttribute("tabindex",0),e}createTableElement(){var e=document.createElement("div");return e.classList.add("tabulator-table"),e.setAttribute("role","rowgroup"),e}initializePlaceholder(){var e=this.table.options.placeholder;if("function"==typeof e&&(e=e.call(this.table)),e=this.chain("placeholder",[e],e,e)||e){let t=document.createElement("div");if(t.classList.add("tabulator-placeholder"),"string"==typeof e){let i=document.createElement("div");i.classList.add("tabulator-placeholder-contents"),i.innerHTML=e,t.appendChild(i),this.placeholderContents=i}else"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?(t.appendChild(e),this.placeholderContents=e):(console.warn("Invalid placeholder provided, must be string or HTML Element",e),this.el=null);this.placeholder=t}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener("scroll",(()=>{var e=this.element.scrollLeft,t=this.scrollLeft>e,i=this.element.scrollTop,n=this.scrollTop>i;this.scrollLeft!=e&&(this.scrollLeft=e,this.dispatch("scroll-horizontal",e,t),this.dispatchExternal("scrollHorizontal",e,t),this._positionPlaceholder()),this.scrollTop!=i&&(this.scrollTop=i,this.renderer.scrollRows(i,n),this.dispatch("scroll-vertical",i,n),this.dispatchExternal("scrollVertical",i,n))}))}findRow(e){if("object"!=typeof e){if(void 0===e)return!1;return this.rows.find((t=>t.data[this.table.options.index]==e))||!1}if(e instanceof x)return e;if(e instanceof T)return e._getSelf()||!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement){return this.rows.find((t=>t.getElement()===e))||!1}return!1}getRowFromDataObject(e){return this.rows.find((t=>t.data===e))||!1}getRowFromPosition(e){return this.getDisplayRows().find((t=>"row"===t.type&&t.getPosition()===e&&t.isDisplayed()))}scrollToRow(e,t,i){return this.renderer.scrollToRowPosition(e,t,i)}setData(e,t,i){return new Promise(((n,s)=>{t&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(e,!0):this.reRenderInPosition((()=>{this._setDataActual(e)})):(this.table.options.autoColumns&&i&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(e),this.resetScroll(),this._setDataActual(e)),n()}))}_setDataActual(e,t){this.dispatchExternal("dataProcessing",e),this._wipeElements(),Array.isArray(e)?(this.dispatch("data-processing",e),e.forEach(((e,t)=>{if(e&&"object"==typeof e){var i=new x(e,this);this.rows.push(i)}else console.warn("Data Loading Warning - Invalid row data detected and ignored, expecting object but received:",e)})),this.refreshActiveData(!1,!1,t),this.dispatch("data-processed",e),this.dispatchExternal("dataProcessed",e)):console.error("Data Loading Error - Unable to process data due to invalid data type \nExpecting: array \nReceived: ",typeof e,"\nData: ",e)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped")}destroy(){this.rows.forEach((e=>{e.wipe()})),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(e,t){var i=this.rows.indexOf(e),n=this.activeRows.indexOf(e);n>-1&&this.activeRows.splice(n,1),i>-1&&this.rows.splice(i,1),this.setActiveRows(this.activeRows),this.displayRowIterator((t=>{var i=t.indexOf(e);i>-1&&t.splice(i,1)})),t||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",e.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData())}addRow(e,t,i,n){return this.addRowActual(e,t,i,n)}addRows(e,t,i,n){var s=[];return new Promise(((o,r)=>{t=this.findAddRowPos(t),Array.isArray(e)||(e=[e]),(void 0===i&&t||void 0!==i&&!t)&&e.reverse(),e.forEach(((e,n)=>{var o=this.addRow(e,t,i,!0);s.push(o),this.dispatch("row-added",o,e,t,i)})),this.refreshActiveData(!!n&&"displayPipeline",!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),o(s)}))}findAddRowPos(e){return void 0===e&&(e=this.table.options.addRowPos),"pos"===e&&(e=!0),"bottom"===e&&(e=!1),e}addRowActual(e,t,i,n){var s,o,r=e instanceof x?e:new x(e||{},this),a=this.findAddRowPos(t),l=-1;return i||(o=this.chain("row-adding-position",[r,a],null,{index:i,top:a}),i=o.index,a=o.top),void 0!==i&&(i=this.findRow(i)),(i=this.chain("row-adding-index",[r,i,a],null,i))&&(l=this.rows.indexOf(i)),i&&l>-1?(s=this.activeRows.indexOf(i),this.displayRowIterator((function(e){var t=e.indexOf(i);t>-1&&e.splice(a?t:t+1,0,r)})),s>-1&&this.activeRows.splice(a?s:s+1,0,r),this.rows.splice(a?l:l+1,0,r)):a?(this.displayRowIterator((function(e){e.unshift(r)})),this.activeRows.unshift(r),this.rows.unshift(r)):(this.displayRowIterator((function(e){e.push(r)})),this.activeRows.push(r),this.rows.push(r)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",r.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),n||this.reRenderInPosition(),r}moveRow(e,t,i){this.dispatch("row-move",e,t,i),this.moveRowActual(e,t,i),this.regenerateRowPositions(),this.dispatch("row-moved",e,t,i),this.dispatchExternal("rowMoved",e.getComponent())}moveRowActual(e,t,i){this.moveRowInArray(this.rows,e,t,i),this.moveRowInArray(this.activeRows,e,t,i),this.displayRowIterator((n=>{this.moveRowInArray(n,e,t,i)})),this.dispatch("row-moving",e,t,i)}moveRowInArray(e,t,i,n){var s,o,r;if(t!==i&&((s=e.indexOf(t))>-1&&(e.splice(s,1),(o=e.indexOf(i))>-1?n?e.splice(o+1,0,t):e.splice(o,0,t):e.splice(s,0,t)),e===this.getDisplayRows())){r=o>s?o:s+1;for(let t=s<o?s:o;t<=r;t++)e[t]&&this.styleRow(e[t],t)}}clearData(){this.setData([])}getRowIndex(e){return this.findRowIndex(e,this.rows)}getDisplayRowIndex(e){var t=this.getDisplayRows().indexOf(e);return t>-1&&t}nextDisplayRow(e,t){var i=this.getDisplayRowIndex(e),n=!1;return!1!==i&&i<this.displayRowsCount-1&&(n=this.getDisplayRows()[i+1]),!n||n instanceof x&&"row"==n.type?n:this.nextDisplayRow(n,t)}prevDisplayRow(e,t){var i=this.getDisplayRowIndex(e),n=!1;return i&&(n=this.getDisplayRows()[i-1]),!t||!n||n instanceof x&&"row"==n.type?n:this.prevDisplayRow(n,t)}findRowIndex(e,t){var i;return!!((e=this.findRow(e))&&(i=t.indexOf(e))>-1)&&i}getData(e,t){var i=[];return this.getRows(e).forEach((function(e){"row"==e.type&&i.push(e.getData(t||"data"))})),i}getComponents(e){var t=[];return this.getRows(e).forEach((function(e){t.push(e.getComponent())})),t}getDataCount(e){return this.getRows(e).length}scrollHorizontal(e){this.scrollLeft=e,this.element.scrollLeft=e,this.dispatch("scroll-horizontal",e)}registerDataPipelineHandler(e,t){void 0!==t?(this.dataPipeline.push({handler:e,priority:t}),this.dataPipeline.sort(((e,t)=>e.priority-t.priority))):console.error("Data pipeline handlers must have a priority in order to be registered")}registerDisplayPipelineHandler(e,t){void 0!==t?(this.displayPipeline.push({handler:e,priority:t}),this.displayPipeline.sort(((e,t)=>e.priority-t.priority))):console.error("Display pipeline handlers must have a priority in order to be registered")}refreshActiveData(e,i,n){var s=this.table,o="",r=0,a=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if("function"==typeof e)if((r=this.dataPipeline.findIndex((t=>t.handler===e)))>-1)o="dataPipeline",i&&(r==this.dataPipeline.length-1?o="display":r++);else{if(!((r=this.displayPipeline.findIndex((t=>t.handler===e)))>-1))return void console.error("Unable to refresh data, invalid handler provided",e);o="displayPipeline",i&&(r==this.displayPipeline.length-1?o="end":r++)}else o=e||"all",r=0;if(this.redrawBlock)return void((!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===o&&r<this.redrawBlockRestoreConfig.index||a.indexOf(o)<a.indexOf(this.redrawBlockRestoreConfig.stage)))&&(this.redrawBlockRestoreConfig={handler:e,skipStage:i,renderInPosition:n,stage:o,index:r}));t.elVisible(this.element)?n?this.reRenderInPosition(this.refreshPipelines.bind(this,e,o,r,n)):(this.refreshPipelines(e,o,r,n),e||this.table.columnManager.renderer.renderColumns(),this.renderTable(),s.options.layoutColumnsOnNewData&&this.table.columnManager.redraw(!0)):this.refreshPipelines(e,o,r,n),this.dispatch("data-refreshed")}}refreshPipelines(e,t,i,n){switch(this.dispatch("data-refreshing"),e&&this.activeRowsPipeline[0]||(this.activeRowsPipeline[0]=this.rows.slice(0)),t){case"all":case"dataPipeline":for(let e=i;e<this.dataPipeline.length;e++){let t=this.dataPipeline[e].handler(this.activeRowsPipeline[e].slice(0));this.activeRowsPipeline[e+1]=t||this.activeRowsPipeline[e].slice(0)}this.setActiveRows(this.activeRowsPipeline[this.dataPipeline.length]);case"display":i=0,this.resetDisplayRows();case"displayPipeline":for(let e=i;e<this.displayPipeline.length;e++){let t=this.displayPipeline[e].handler((e?this.getDisplayRows(e-1):this.activeRows).slice(0),n);this.setDisplayRows(t||this.getDisplayRows(e-1).slice(0),e)}case"end":this.regenerateRowPositions()}this.getDisplayRows().length&&this._clearPlaceholder()}regenerateRowPositions(){var e=this.getDisplayRows(),t=1;e.forEach((e=>{"row"===e.type&&(e.setPosition(t),t++)}))}setActiveRows(e){this.activeRows=this.activeRows=Object.assign([],e),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(e,t){this.displayRows[t]=e,t==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(e){return void 0===e?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[e]||[]}getVisibleRows(e,t){var i=Object.assign([],this.renderer.visibleRows(!t));return e&&(i=this.chain("rows-visible",[t],i,i)),i}displayRowIterator(e){this.activeRowsPipeline.forEach(e),this.displayRows.forEach(e),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(e){var t=[];switch(e){case"active":t=this.activeRows;break;case"display":t=this.table.rowManager.getDisplayRows();break;case"visible":t=this.getVisibleRows(!1,!0);break;default:t=this.chain("rows-retrieve",e,null,this.rows)||this.rows}return t}reRenderInPosition(e){this.redrawBlock?e?e():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(e),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"))}scrollBarCheck(){var e=0;this.element.scrollHeight>this.element.clientHeight&&(e=this.element.offsetWidth-this.element.clientWidth),e!==this.scrollbarWidth&&(this.scrollbarWidth=e,this.dispatch("scrollbar-vertical",e))}initializeRenderer(){var e,t={virtual:Pe,basic:Ae};(e="string"==typeof this.table.options.renderVertical?t[this.table.options.renderVertical]:this.table.options.renderVertical)?(this.renderMode=this.table.options.renderVertical,this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize(),!this.table.element.clientHeight&&!this.table.options.height||this.table.options.minHeight&&this.table.options.maxHeight?this.fixedHeight=!1:this.fixedHeight=!0):console.error("Unable to find matching renderer:",this.table.options.renderVertical)}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=!1,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(!0))):this.renderEmptyScroll(),this.fixedHeight||this.adjustTableSize(),this.dispatch("table-layout"),this.displayRowsCount||this._showPlaceholder(),this.scrollBarCheck(),this.dispatchExternal("renderComplete")}renderEmptyScroll(){this.placeholder?this.tableElement.style.display="none":this.tableElement.style.minWidth=this.table.columnManager.getWidth()+"px"}_clearTable(){this._clearPlaceholder(),this.scrollTop=0,this.scrollLeft=0,this.renderer.clearRows()}tableEmpty(){this.renderEmptyScroll(),this._showPlaceholder()}checkPlaceholder(){this.displayRowsCount?this._clearPlaceholder():this.tableEmpty()}_showPlaceholder(){this.placeholder&&(this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.initializePlaceholder(),this.placeholder.setAttribute("tabulator-render-mode",this.renderMode),this.getElement().appendChild(this.placeholder),this._positionPlaceholder(),this.adjustTableSize())}_clearPlaceholder(){this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.tableElement.style.minWidth="",this.tableElement.style.display=""}_positionPlaceholder(){this.placeholder&&this.placeholder.parentNode&&(this.placeholder.style.width=this.table.columnManager.getWidth()+"px",this.placeholderContents.style.width=this.table.rowManager.element.clientWidth+"px",this.placeholderContents.style.marginLeft=this.scrollLeft+"px")}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}normalizeHeight(){this.activeRows.forEach((function(e){e.normalizeHeight()}))}adjustTableSize(){let e,t=this.element.clientHeight,i=!1;if("fill"===this.renderer.verticalFillMode){let n=Math.floor(this.table.columnManager.getElement().getBoundingClientRect().height+(this.table.footerManager&&this.table.footerManager.active&&!this.table.footerManager.external?this.table.footerManager.getElement().getBoundingClientRect().height:0));if(this.fixedHeight){e=isNaN(this.table.options.minHeight)?this.table.options.minHeight:this.table.options.minHeight+"px";const t="calc(100% - "+n+"px)";this.element.style.minHeight=e||"calc(100% - "+n+"px)",this.element.style.height=t,this.element.style.maxHeight=t}else this.element.style.height="",this.element.style.height=this.table.element.clientHeight-n+"px",this.element.scrollTop=this.scrollTop;this.renderer.resize(),this.fixedHeight||t==this.element.clientHeight||(i=!0,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),i}reinitialize(){this.rows.forEach((function(e){e.reinitialize(!0)}))}blockRedraw(){this.redrawBlock=!0,this.redrawBlockRestoreConfig=!1}restoreRedraw(){this.redrawBlock=!1,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=!1):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=!1}redraw(e){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,e?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,"ie"===this.table.browser){var e=document.createEvent("Event");e.initEvent("scroll",!1,!0),this.element.dispatchEvent(e)}else this.element.dispatchEvent(new Event("scroll"))}}class Fe extends e{constructor(e){super(e),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer"),e}createContainerElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer-contents"),this.element.appendChild(e),e}initializeElement(){if(this.table.options.footerElement)if("string"==typeof this.table.options.footerElement)"<"===this.table.options.footerElement[0]?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement));else this.element=this.table.options.footerElement}getElement(){return this.element}append(e){this.activate(),this.containerElement.appendChild(e),this.table.rowManager.adjustTableSize()}prepend(e){this.activate(),this.element.insertBefore(e,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(e){e.parentNode.removeChild(e),this.deactivate()}deactivate(e){this.element.firstChild&&!e||(this.external||this.element.parentNode.removeChild(this.element),this.active=!1)}activate(){this.active||(this.active=!0,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""))}redraw(){this.dispatch("footer-redraw")}}class ze extends e{constructor(e){super(e),this.el=null,this.abortClasses=["tabulator-headers","tabulator-table"],this.previousTargets={},this.listeners=["click","dblclick","contextmenu","mouseenter","mouseleave","mouseover","mouseout","mousemove","mouseup","mousedown","touchstart","touchend"],this.componentMap={"tabulator-cell":"cell","tabulator-row":"row","tabulator-group":"group","tabulator-col":"column"},this.pseudoTrackers={row:{subscriber:null,target:null},cell:{subscriber:null,target:null},group:{subscriber:null,target:null},column:{subscriber:null,target:null}},this.pseudoTracking=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var e={};this.listeners.forEach((t=>{e[t]={handler:null,components:[]}})),this.listeners=e}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach((e=>{this.pseudoTrackers[e].subscriber=this.pseudoMouseEnter.bind(this,e),this.subscribe(e+"-mouseover",this.pseudoTrackers[e].subscriber)})),this.pseudoTracking=!0}pseudoMouseEnter(e,t,i){this.pseudoTrackers[e].target!==i&&(this.pseudoTrackers[e].target&&this.dispatch(e+"-mouseleave",t,this.pseudoTrackers[e].target),this.pseudoMouseLeave(e,t),this.pseudoTrackers[e].target=i,this.dispatch(e+"-mouseenter",t,i))}pseudoMouseLeave(e,t){var i=Object.keys(this.pseudoTrackers),n={row:["cell"],cell:["row"]};(i=i.filter((t=>{var i=n[e];return t!==e&&(!i||i&&!i.includes(t))}))).forEach((e=>{var i=this.pseudoTrackers[e].target;this.pseudoTrackers[e].target&&(this.dispatch(e+"-mouseleave",t,i),this.pseudoTrackers[e].target=null)}))}bindSubscriptionWatchers(){var e=Object.keys(this.listeners),t=Object.values(this.componentMap);for(let i of t)for(let t of e){let e=i+"-"+t;this.subscriptionChange(e,this.subscriptionChanged.bind(this,i,t))}this.subscribe("table-destroy",this.clearWatchers.bind(this))}subscriptionChanged(e,t,i){var n=this.listeners[t].components,s=n.indexOf(e),o=!1;i?-1===s&&(n.push(e),o=!0):this.subscribed(e+"-"+t)||s>-1&&(n.splice(s,1),o=!0),"mouseenter"!==t&&"mouseleave"!==t||this.pseudoTracking||this.bindPseudoEvents(),o&&this.updateEventListeners()}updateEventListeners(){for(let e in this.listeners){let t=this.listeners[e];t.components.length?t.handler||(t.handler=this.track.bind(this,e),this.el.addEventListener(e,t.handler)):t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}track(e,t){var i=t.composedPath&&t.composedPath()||t.path,n=this.findTargets(i);n=this.bindComponents(e,n),this.triggerEvents(e,t,n),!this.pseudoTracking||"mouseover"!=e&&"mouseleave"!=e||Object.keys(n).length||this.pseudoMouseLeave("none",t)}findTargets(e){var t={};let i=Object.keys(this.componentMap);for(let n of e){let e=n.classList?[...n.classList]:[];if(e.filter((e=>this.abortClasses.includes(e))).length)break;let s=e.filter((e=>i.includes(e)));for(let e of s)t[this.componentMap[e]]||(t[this.componentMap[e]]=n)}return t.group&&t.group===t.row&&delete t.row,t}bindComponents(e,t){var i=Object.keys(t).reverse(),n=this.listeners[e],s={},o={};for(let e of i){let i,r=t[e],a=this.previousTargets[e];if(a&&a.target===r)i=a.component;else switch(e){case"row":case"group":if(n.components.includes("row")||n.components.includes("cell")||n.components.includes("group")){i=this.table.rowManager.getVisibleRows(!0).find((e=>e.getElement()===r)),t.row&&t.row.parentNode&&t.row.parentNode.closest(".tabulator-row")&&(t[e]=!1)}break;case"column":n.components.includes("column")&&(i=this.table.columnManager.findColumn(r));break;case"cell":n.components.includes("cell")&&(s.row instanceof x?i=s.row.findCell(r):t.row&&console.warn("Event Target Lookup Error - The row this cell is attached to cannot be found, has the table been reinitialized without being destroyed first?"))}i&&(s[e]=i,o[e]={target:r,component:i})}return this.previousTargets=o,s}triggerEvents(e,t,i){var n=this.listeners[e];for(let s in i)i[s]&&n.components.includes(s)&&this.dispatch(s+"-"+e,t,i[s])}clearWatchers(){for(let e in this.listeners){let t=this.listeners[e];t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}}class He{constructor(e){this.table=e,this.bindings={}}bind(e,t,i){this.bindings[e]||(this.bindings[e]={}),this.bindings[e][t]?console.warn("Unable to bind component handler, a matching function name is already bound",e,t,i):this.bindings[e][t]=i}handle(e,t,i){if(this.bindings[e]&&this.bindings[e][i]&&"function"==typeof this.bindings[e][i].bind)return this.bindings[e][i].bind(null,t);"then"===i||"string"!=typeof i||i.startsWith("_")||this.table.options.debugInvalidComponentFuncs&&console.error("The "+e+" component does not have a "+i+" function, have you checked that you have the correct Tabulator module installed?")}}class Ne extends e{constructor(e){super(e),this.requestOrder=0,this.loading=!1}initialize(){}load(e,t,i,n,s,o){var r=++this.requestOrder;return this.table.destroyed?Promise.resolve():(this.dispatchExternal("dataLoading",e),!e||0!=e.indexOf("{")&&0!=e.indexOf("[")||(e=JSON.parse(e)),this.confirm("data-loading",[e,t,i,s])?(this.loading=!0,s||this.alertLoader(),t=this.chain("data-params",[e,i,s],t||{},t||{}),t=this.mapParams(t,this.table.options.dataSendParams),this.chain("data-load",[e,t,i,s],!1,Promise.resolve([])).then((e=>{if(this.table.destroyed)console.warn("Data Load Response Blocked - Table has been destroyed");else{Array.isArray(e)||"object"!=typeof e||(e=this.mapParams(e,this.objectInvert(this.table.options.dataReceiveParams)));var t=this.chain("data-loaded",[e],null,e);r==this.requestOrder?(this.clearAlert(),!1!==t&&(this.dispatchExternal("dataLoaded",t),this.table.rowManager.setData(t,n,void 0===o?!n:o))):console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made")}})).catch((e=>{console.error("Data Load Error: ",e),this.dispatchExternal("dataLoadError",e),s||this.alertError(),setTimeout((()=>{this.clearAlert()}),this.table.options.dataLoaderErrorTimeout)})).finally((()=>{this.loading=!1}))):(this.dispatchExternal("dataLoaded",e),e||(e=[]),this.table.rowManager.setData(e,n,void 0===o?!n:o),Promise.resolve()))}mapParams(e,t){var i={};for(let n in e)i[t.hasOwnProperty(n)?t[n]:n]=e[n];return i}objectInvert(e){var t={};for(let i in e)t[e[i]]=i;return t}blockActiveLoad(){this.requestOrder++}alertLoader(){("function"==typeof this.table.options.dataLoader?this.table.options.dataLoader():this.table.options.dataLoader)&&this.table.alertManager.alert(this.table.options.dataLoaderLoading||this.langText("data|loading"))}alertError(){this.table.alertManager.alert(this.table.options.dataLoaderError||this.langText("data|error"),"error")}clearAlert(){this.table.alertManager.clear()}}class Ie{constructor(e,t,i){this.table=e,this.events={},this.optionsList=t||{},this.subscriptionNotifiers={},this.dispatch=i?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=i}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t){if(!((i=this.events[e].findIndex((e=>e===t)))>-1))return void console.warn("Cannot remove event, no matching event found:",e,t);this.events[e].splice(i,1)}else delete this.events[e];this._notifySubscriptionChange(e,!1)}else console.warn("Cannot remove event, no events set on:",e)}subscribed(e){return this.events[e]&&this.events[e].length}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach((e=>{e(t)}))}_dispatch(){var e,t=Array.from(arguments),i=t.shift();return this.events[i]&&this.events[i].forEach(((i,n)=>{let s=i.apply(this.table,t);n||(e=s)})),e}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="ExternalEvent:"+e[0],(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}}class Be{constructor(e){this.events={},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=e?this._debugChain.bind(this):this._chain.bind(this),this.confirm=e?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=e}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t,i=1e4){this.events[e]||(this.events[e]=[]),this.events[e].push({callback:t,priority:i}),this.events[e].sort(((e,t)=>e.priority-t.priority)),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t){if(!((i=this.events[e].findIndex((e=>e.callback===t)))>-1))return void console.warn("Cannot remove event, no matching event found:",e,t);this.events[e].splice(i,1)}this._notifySubscriptionChange(e,!1)}else console.warn("Cannot remove event, no events set on:",e)}subscribed(e){return this.events[e]&&this.events[e].length}_chain(e,t,i,n){var s=i;return Array.isArray(t)||(t=[t]),this.subscribed(e)?(this.events[e].forEach(((e,i)=>{s=e.callback.apply(this,t.concat([s]))})),s):"function"==typeof n?n():n}_confirm(e,t){var i=!1;return Array.isArray(t)||(t=[t]),this.subscribed(e)&&this.events[e].forEach(((e,n)=>{e.callback.apply(this,t)&&(i=!0)})),i}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach((e=>{e(t)}))}_dispatch(){var e=Array.from(arguments),t=e.shift();this.events[t]&&this.events[t].forEach((t=>{t.callback.apply(this,e)}))}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}_debugChain(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._chain(...arguments)}_debugConfirm(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._confirm(...arguments)}}class Ve extends e{constructor(e){super(e)}_warnUser(){this.options("debugDeprecation")&&console.warn(...arguments)}check(e,t,i){var n="";return void 0===this.options(e)||(n="Deprecated Setup Option - Use of the %c"+e+"%c option is now deprecated",t?(n=n+", Please use the %c"+t+"%c option instead",this._warnUser(n,"font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),i&&(this.table.options[t]=this.table.options[e])):this._warnUser(n,"font-weight: bold;","font-weight: normal;"),!1)}checkMsg(e,t){return void 0===this.options(e)||(this._warnUser("%cDeprecated Setup Option - Use of the %c"+e+" %c option is now deprecated, "+t,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),!1)}msg(e){this._warnUser(e)}}function We(e,t){e.forEach((function(e){e.reinitializeWidth()})),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}var je={fitData:function(e,t){t&&this.table.columnManager.renderer.reinitializeColumnWidths(e),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitDataFill:We,fitDataTable:We,fitDataStretch:function(e,t){var i=0,n=this.table.rowManager.element.clientWidth,s=0,o=!1;e.forEach(((e,t)=>{e.widthFixed||e.reinitializeWidth(),(this.table.options.responsiveLayout?e.modules.responsive.visible:e.visible)&&(o=e),e.visible&&(i+=e.getWidth())})),o?(s=n-i+o.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&(o.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?o.setWidth(s):o.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitColumns:function(e,t){var i,n,s=this.table.rowManager.element.getBoundingClientRect().width,o=0,r=0,a=0,l=[],h=[],u=0,c=0;function d(e){return"string"==typeof e?e.indexOf("%")>-1?s/100*parseInt(e):parseInt(e):e}function p(e,t,i,n){var s=[],o=0,r=0,l=0,h=a,u=0,c=0,m=[];function g(e){return i*(e.column.definition.widthGrow||1)}function f(e){return d(e.width)-i*(e.column.definition.widthShrink||0)}return e.forEach((function(e,o){var r=n?f(e):g(e);e.column.minWidth>=r?s.push(e):e.column.maxWidth&&e.column.maxWidth<r?(e.width=e.column.maxWidth,t-=e.column.maxWidth,(h-=n?e.column.definition.widthShrink||1:e.column.definition.widthGrow||1)&&(i=Math.floor(t/h))):(m.push(e),c+=n?e.column.definition.widthShrink||1:e.column.definition.widthGrow||1)})),s.length?(s.forEach((function(e){o+=n?e.width-e.column.minWidth:e.column.minWidth,e.width=e.column.minWidth})),r=t-o,l=c?Math.floor(r/c):r,u=p(m,r,l,n)):(u=c?t-Math.floor(t/c)*c:t,m.forEach((function(e){e.width=n?f(e):g(e)}))),u}this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update(),this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(s-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),e.forEach((function(e){var t,i,n;e.visible&&(t=e.definition.width,i=parseInt(e.minWidth),t?(n=d(t),o+=n>i?n:i,e.definition.widthShrink&&(h.push({column:e,width:n>i?n:i}),u+=e.definition.widthShrink)):(l.push({column:e,width:0}),a+=e.definition.widthGrow||1))})),r=s-o,i=Math.floor(r/a),c=p(l,r,i,!1),l.length&&c>0&&(l[l.length-1].width+=c),l.forEach((function(e){r-=e.width})),(n=Math.abs(c)+r)>0&&u&&(c=p(h,n,Math.floor(n/u),!0)),c&&h.length&&(h[h.length-1].width-=c),l.forEach((function(e){e.column.setWidth(e.width)})),h.forEach((function(e){e.column.setWidth(e.width)}))}};class Ue extends s{static moduleName="layout";static modes=je;constructor(e){super(e,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",!1),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink")}initialize(){var e=this.table.options.layout;Ue.modes[e]?this.mode=e:(console.warn("Layout Error - invalid mode set, defaulting to 'fitData' : "+e),this.mode="fitData"),this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this))}initializeColumn(e){e.definition.widthGrow&&(e.definition.widthGrow=Number(e.definition.widthGrow)),e.definition.widthShrink&&(e.definition.widthShrink=Number(e.definition.widthShrink))}getMode(){return this.mode}layout(e){this.dispatch("layout-refreshing"),Ue.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,e),this.dispatch("layout-refreshed")}}var Ge={default:{groups:{item:"item",items:"items"},columns:{},data:{loading:"Loading",error:"Error"},pagination:{page_size:"Page Size",page_title:"Show Page",first:"First",first_title:"First Page",last:"Last",last_title:"Last Page",prev:"Prev",prev_title:"Prev Page",next:"Next",next_title:"Next Page",all:"All",counter:{showing:"Showing",of:"of",rows:"rows",pages:"pages"}},headerFilters:{default:"filter column...",columns:{}}}};class qe extends s{static moduleName="localize";static langs=Ge;constructor(e){super(e),this.locale="default",this.lang=!1,this.bindings={},this.langList={},this.registerTableOption("locale",!1),this.registerTableOption("langs",{})}initialize(){this.langList=t.deepClone(qe.langs),!1!==this.table.options.columnDefaults.headerFilterPlaceholder&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);for(let e in this.table.options.langs)this.installLang(e,this.table.options.langs[e]);this.setLocale(this.table.options.locale),this.registerTableFunction("setLocale",this.setLocale.bind(this)),this.registerTableFunction("getLocale",this.getLocale.bind(this)),this.registerTableFunction("getLang",this.getLang.bind(this))}setHeaderFilterPlaceholder(e){this.langList.default.headerFilters.default=e}installLang(e,t){this.langList[e]?this._setLangProp(this.langList[e],t):this.langList[e]=t}_setLangProp(e,t){for(let i in t)e[i]&&"object"==typeof e[i]?this._setLangProp(e[i],t[i]):e[i]=t[i]}setLocale(e){if(!0===(e=e||"default")&&navigator.language&&(e=navigator.language.toLowerCase()),e&&!this.langList[e]){let t=e.split("-")[0];this.langList[t]?(console.warn("Localization Error - Exact matching locale not found, using closest match: ",e,t),e=t):(console.warn("Localization Error - Matching locale not found, using default: ",e),e="default")}this.locale=e,this.lang=t.deepClone(this.langList.default||{}),"default"!=e&&function e(t,i){for(var n in t)"object"==typeof t[n]?(i[n]||(i[n]={}),e(t[n],i[n])):i[n]=t[n]}(this.langList[e],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings()}getLocale(e){return this.locale}getLang(e){return e?this.langList[e]:this.lang}getText(e,t){var i=(t?e+"|"+t:e).split("|");return this._getLangElement(i,this.locale)||""}_getLangElement(e,t){var i=this.lang;return e.forEach((function(e){var t;i&&(t=i[e],i=void 0!==t&&t)})),i}bind(e,t){this.bindings[e]||(this.bindings[e]=[]),this.bindings[e].push(t),t(this.getText(e),this.lang)}_executeBindings(){for(let e in this.bindings)this.bindings[e].forEach((t=>{t(this.getText(e),this.lang)}))}}var Xe=Object.freeze({__proto__:null,CommsModule:class extends s{static moduleName="comms";constructor(e){super(e)}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this))}getConnections(e){var t=[];return this.table.constructor.registry.lookupTable(e).forEach((e=>{this.table!==e&&t.push(e)})),t}send(e,t,i,n){var s=this.getConnections(e);s.forEach((e=>{e.tableComms(this.table.element,t,i,n)})),!s.length&&e&&console.warn("Table Connection Error - No tables matching selector found",e)}receive(e,t,i,n){if(this.table.modExists(t))return this.table.modules[t].commsReceived(e,i,n);console.warn("Inter-table Comms Error - no such module:",t)}},LayoutModule:Ue,LocalizeModule:qe});class Ye{static registry={tables:[],register(e){Ye.registry.tables.push(e)},deregister(e){var t=Ye.registry.tables.indexOf(e);t>-1&&Ye.registry.tables.splice(t,1)},lookupTable(e,t){var i,n,s=[];if("string"==typeof e){if((i=document.querySelectorAll(e)).length)for(var o=0;o<i.length;o++)(n=Ye.registry.matchElement(i[o]))&&s.push(n)}else"undefined"!=typeof HTMLElement&&e instanceof HTMLElement||e instanceof Ye?(n=Ye.registry.matchElement(e))&&s.push(n):Array.isArray(e)?e.forEach((function(e){s=s.concat(Ye.registry.lookupTable(e))})):t||console.warn("Table Connection Error - Invalid Selector",e);return s},matchElement:e=>Ye.registry.tables.find((function(t){return e instanceof Ye?t===e:t.element===e}))};static findTable(e){var t=Ye.registry.lookupTable(e,!0);return!(Array.isArray(t)&&!t.length)&&t}}class Je extends Ye{static moduleBindings={};static moduleExtensions={};static modulesRegistered=!1;static defaultModules=!1;constructor(){super()}static initializeModuleBinder(e){Je.modulesRegistered||(Je.modulesRegistered=!0,Je._registerModules(Xe,!0),e&&Je._registerModules(e))}static _extendModule(e,t,i){if(Je.moduleBindings[e]){var n=Je.moduleBindings[e][t];if(n)if("object"==typeof i)for(let e in i)n[e]=i[e];else console.warn("Module Error - Invalid value type, it must be an object");else console.warn("Module Error - property does not exist:",t)}else console.warn("Module Error - module does not exist:",e)}static _registerModules(e,t){var i=Object.values(e);t&&i.forEach((e=>{e.prototype.moduleCore=!0})),Je._registerModule(i)}static _registerModule(e){Array.isArray(e)||(e=[e]),e.forEach((e=>{Je._registerModuleBinding(e),Je._registerModuleExtensions(e)}))}static _registerModuleBinding(e){e.moduleName?Je.moduleBindings[e.moduleName]=e:console.error("Unable to bind module, no moduleName defined",e.moduleName)}static _registerModuleExtensions(e){var t=e.moduleExtensions;if(e.moduleExtensions)for(let e in t){let i=t[e];if(Je.moduleBindings[e])for(let t in i)Je._extendModule(e,t,i[t]);else{Je.moduleExtensions[e]||(Je.moduleExtensions[e]={});for(let t in i)Je.moduleExtensions[e][t]||(Je.moduleExtensions[e][t]={}),Object.assign(Je.moduleExtensions[e][t],i[t])}}Je._extendModuleFromQueue(e)}static _extendModuleFromQueue(e){var t=Je.moduleExtensions[e.moduleName];if(t)for(let i in t)Je._extendModule(e.moduleName,i,t[i])}_bindModules(){var e=[],t=[],i=[];for(var n in this.modules={},Je.moduleBindings){let s=Je.moduleBindings[n],o=new s(this);this.modules[n]=o,s.prototype.moduleCore?this.modulesCore.push(o):s.moduleInitOrder?s.moduleInitOrder<0?e.push(o):t.push(o):i.push(o)}e.sort(((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1)),t.sort(((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1)),this.modulesRegular=e.concat(i.concat(t))}}class $e extends e{constructor(e){super(e),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert"),e}_createMsgElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert-msg"),e.setAttribute("role","alert"),e}_typeClass(){return"tabulator-alert-state-"+this.type}alert(e,t="msg"){if(e){for(this.clear(),this.dispatch("alert-show",t),this.type=t;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),"function"==typeof e&&(e=e()),e instanceof HTMLElement?this.msgElement.appendChild(e):this.msgElement.innerHTML=e,this.table.element.appendChild(this.element)}}clear(){this.dispatch("alert-hide",this.type),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.msgElement.classList.remove(this._typeClass())}}class Ke extends Je{static defaultOptions=xe;static extendModule(){Ke.initializeModuleBinder(),Ke._extendModule(...arguments)}static registerModule(){Ke.initializeModuleBinder(),Ke._registerModule(...arguments)}constructor(e,t,i){super(),Ke.initializeModuleBinder(i),this.options={},this.columnManager=null,this.rowManager=null,this.footerManager=null,this.alertManager=null,this.vdomHoz=null,this.externalEvents=null,this.eventBus=null,this.interactionMonitor=!1,this.browser="",this.browserSlow=!1,this.browserMobile=!1,this.rtl=!1,this.originalElement=null,this.componentFunctionBinder=new He(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new Ve(this),this.optionsList=new Se(this,"table constructor"),this.initialized=!1,this.destroyed=!1,this.initializeElement(e)&&(this.initializeCoreSystems(t),setTimeout((()=>{this._create()}))),this.constructor.registry.register(this)}initializeElement(e){return"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?(this.element=e,!0):"string"==typeof e?(this.element=document.querySelector(e),!!this.element||(console.error("Tabulator Creation Error - no element found matching selector: ",e),!1)):(console.error("Tabulator Creation Error - Invalid element provided:",e),!1)}initializeCoreSystems(e){this.columnManager=new De(this),this.rowManager=new Oe(this),this.footerManager=new Fe(this),this.dataLoader=new Ne(this),this.alertManager=new $e(this),this._bindModules(),this.options=this.optionsList.generate(Ke.defaultOptions,e),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new Ie(this,this.options,this.options.debugEventsExternal),this.eventBus=new Be(this.options.debugEventsInternal),this.interactionMonitor=new ze(this),this.dataLoader.initialize(),this.footerManager.initialize()}_mapDeprecatedFunctionality(){}_clearSelection(){this.element.classList.add("tabulator-block-select"),window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty(),this.element.classList.remove("tabulator-block-select")}_create(){this.externalEvents.dispatch("tableBuilding"),this.eventBus.dispatch("table-building"),this._rtlCheck(),this._buildElement(),this._initializeTable(),this.initialized=!0,this._loadInitialData().finally((()=>{this.eventBus.dispatch("table-initialized"),this.externalEvents.dispatch("tableBuilt")}))}_rtlCheck(){var e=window.getComputedStyle(this.element);switch(this.options.textDirection){case"auto":if("rtl"!==e.direction)break;case"rtl":this.element.classList.add("tabulator-rtl"),this.rtl=!0;break;case"ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=!1}}_clearObjectPointers(){this.options.columns=this.options.columns.slice(0),Array.isArray(this.options.data)&&!this.options.reactiveData&&(this.options.data=this.options.data.slice(0))}_buildElement(){var e,t=this.element,i=this.options;if("TABLE"===t.tagName){this.originalElement=this.element,e=document.createElement("div");var n=t.attributes;for(var s in n)"object"==typeof n[s]&&e.setAttribute(n[s].name,n[s].value);t.parentNode.replaceChild(e,t),this.element=t=e}for(t.classList.add("tabulator"),t.setAttribute("role","grid");t.firstChild;)t.removeChild(t.firstChild);i.height&&(i.height=isNaN(i.height)?i.height:i.height+"px",t.style.height=i.height),!1!==i.minHeight&&(i.minHeight=isNaN(i.minHeight)?i.minHeight:i.minHeight+"px",t.style.minHeight=i.minHeight),!1!==i.maxHeight&&(i.maxHeight=isNaN(i.maxHeight)?i.maxHeight:i.maxHeight+"px",t.style.maxHeight=i.maxHeight)}_initializeTable(){var e=this.element,t=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach((e=>{e.initialize()})),e.appendChild(this.columnManager.getElement()),e.appendChild(this.rowManager.getElement()),t.footerElement&&this.footerManager.activate(),t.autoColumns&&t.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach((e=>{e.initialize()})),this.columnManager.setColumns(t.columns),this.eventBus.dispatch("table-built")}_loadInitialData(){return this.dataLoader.load(this.options.data).finally((()=>{this.columnManager.verticalAlignHeaders()}))}destroy(){var e=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();e.firstChild;)e.removeChild(e.firstChild);e.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed")}_detectBrowser(){var e=navigator.userAgent||navigator.vendor||window.opera;e.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=!0):e.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=!0):e.indexOf("Firefox")>-1?(this.browser="firefox",this.browserSlow=!1):e.indexOf("Mac OS")>-1?(this.browser="safari",this.browserSlow=!1):(this.browser="other",this.browserSlow=!1),this.browserMobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.slice(0,4))}initGuard(e,t){var i,n;return this.options.debugInitialization&&!this.initialized&&(e||(e=" "==(n="Error"==(i=(new Error).stack.split("\n"))[0]?i[2]:i[1])[0]?n.trim().split(" ")[1].split(".")[1]:n.trim().split("@")[0]),console.warn("Table Not Initialized - Calling the "+e+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(t?" "+t:""))),this.initialized}blockRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-blocking"),this.rowManager.blockRedraw(),this.columnManager.blockRedraw(),this.eventBus.dispatch("redraw-blocked")}restoreRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-restoring"),this.rowManager.restoreRedraw(),this.columnManager.restoreRedraw(),this.eventBus.dispatch("redraw-restored")}setData(e,t,i){return this.initGuard(!1,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(e,t,i,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(e){return this.rowManager.getData(e)}getDataCount(e){return this.rowManager.getDataCount(e)}replaceData(e,t,i){return this.initGuard(),this.dataLoader.load(e,t,i,!0,!0)}updateData(e){var t=0;return this.initGuard(),new Promise(((i,n)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e&&e.length>0?e.forEach((e=>{var s=this.rowManager.findRow(e[this.options.index]);s?(t++,s.updateData(e).then((()=>{--t||i()})).catch((t=>{n("Update Error - Unable to update row",e,t)}))):n("Update Error - Unable to find row",e)})):(console.warn("Update Error - No data provided"),n("Update Error - No data provided"))}))}addData(e,t,i){return this.initGuard(),new Promise(((n,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e?this.rowManager.addRows(e,t,i).then((e=>{var t=[];e.forEach((function(e){t.push(e.getComponent())})),n(t)})):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))}))}updateOrAddData(e){var t=[],i=0;return this.initGuard(),new Promise(((n,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e&&e.length>0?e.forEach((e=>{var s=this.rowManager.findRow(e[this.options.index]);i++,s?s.updateData(e).then((()=>{i--,t.push(s.getComponent()),i||n(t)})):this.rowManager.addRows(e).then((e=>{i--,t.push(e[0].getComponent()),i||n(t)}))})):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))}))}getRow(e){var t=this.rowManager.findRow(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}getRowFromPosition(e){var t=this.rowManager.getRowFromPosition(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}deleteRow(e){var t=[];this.initGuard(),Array.isArray(e)||(e=[e]);for(let i of e){let e=this.rowManager.findRow(i,!0);if(!e)return console.error("Delete Error - No matching row found:",i),Promise.reject("Delete Error - No matching row found");t.push(e)}return t.sort(((e,t)=>this.rowManager.rows.indexOf(e)>this.rowManager.rows.indexOf(t)?1:-1)),t.forEach((e=>{e.delete()})),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(e,t,i){return this.initGuard(),"string"==typeof e&&(e=JSON.parse(e)),this.rowManager.addRows(e,t,i,!0).then((e=>e[0].getComponent()))}updateOrAddRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),i?i.updateData(t).then((()=>i.getComponent())):this.rowManager.addRows(t).then((e=>e[0].getComponent()))}updateRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),i?i.updateData(t).then((()=>Promise.resolve(i.getComponent()))):(console.warn("Update Error - No matching row found:",e),Promise.reject("Update Error - No matching row found"))}scrollToRow(e,t,i){var n=this.rowManager.findRow(e);return n?this.rowManager.scrollToRow(n,t,i):(console.warn("Scroll Error - No matching row found:",e),Promise.reject("Scroll Error - No matching row found"))}moveRow(e,t,i){var n=this.rowManager.findRow(e);this.initGuard(),n?n.moveToRow(t,i):console.warn("Move Error - No matching row found:",e)}getRows(e){return this.rowManager.getComponents(e)}getRowPosition(e){var t=this.rowManager.findRow(e);return t?t.getPosition():(console.warn("Position Error - No matching row found:",e),!1)}setColumns(e){this.initGuard(!1,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(e)}getColumns(e){return this.columnManager.getComponents(e)}getColumn(e){var t=this.columnManager.findColumn(e);return t?t.getComponent():(console.warn("Find Error - No matching column found:",e),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Show Error - No matching column found:",e),!1;t.show()}hideColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Hide Error - No matching column found:",e),!1;t.hide()}toggleColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Visibility Toggle Error - No matching column found:",e),!1;t.visible?t.hide():t.show()}addColumn(e,t,i){var n=this.columnManager.findColumn(i);return this.initGuard(),this.columnManager.addColumn(e,t,n).then((e=>e.getComponent()))}deleteColumn(e){var t=this.columnManager.findColumn(e);return this.initGuard(),t?t.delete():(console.warn("Column Delete Error - No matching column found:",e),Promise.reject())}updateColumnDefinition(e,t){var i=this.columnManager.findColumn(e);return this.initGuard(),i?i.updateDefinition(t):(console.warn("Column Update Error - No matching column found:",e),Promise.reject())}moveColumn(e,t,i){var n=this.columnManager.findColumn(e),s=this.columnManager.findColumn(t);this.initGuard(),n?s?this.columnManager.moveColumn(n,s,i):console.warn("Move Error - No matching column found:",s):console.warn("Move Error - No matching column found:",e)}scrollToColumn(e,t,i){return new Promise(((n,s)=>{var o=this.columnManager.findColumn(e);return o?this.columnManager.scrollToColumn(o,t,i):(console.warn("Scroll Error - No matching column found:",e),Promise.reject("Scroll Error - No matching column found"))}))}redraw(e){this.initGuard(),this.columnManager.redraw(e),this.rowManager.redraw(e)}setHeight(e){this.options.height=isNaN(e)?e:e+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(e,t){this.externalEvents.subscribe(e,t)}off(e,t){this.externalEvents.unsubscribe(e,t)}dispatchEvent(){Array.from(arguments).shift(),this.externalEvents.dispatch(...arguments)}alert(e,t){this.initGuard(),this.alertManager.alert(e,t)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(e,t){return!!this.modules[e]||(t&&console.error("Tabulator Module Not Installed: "+e),!1)}module(e){var t=this.modules[e];return t||console.error("Tabulator module not installed: "+e),t}}var Ze=Ke;var Qe=class extends Ze{static extendModule(){Ze.initializeModuleBinder(Te),Ze._extendModule(...arguments)}static registerModule(){Ze.initializeModuleBinder(Te),Ze._registerModule(...arguments)}constructor(e,t,i){super(e,t,Te)}};class et{constructor(e){this.table=e}beforeDefaultColumns(){return[]}requiresHeader(){return!1}afterUrlStateUpdate(){}loadFromUrl(){}loadFromUrlAfterInit(){}afterInit(){}getUrlParams(){}beforeRefreshTableDataIfNotUrlLoad(){}modifyTabulatorOptions(e){return e}getUrlParamsForSave(){return this.getUrlParams()}}var tt=i(6486);function it(e,t,i){return t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t),t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const nt=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["w-24","h-24"];const i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.classList.add(...t);const n=document.createElementNS("http://www.w3.org/2000/svg","use");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",`#${e}`),i.append(n),i},st=(e,t)=>{document.querySelectorAll(e).forEach((e=>{e.addEventListener("change",t),e.addEventListener("keypress",(t=>{if(13===t.keyCode)return e.blur(),t.preventDefault(),e.focus(),!0})),e.addEventListener("SBAutocompleteChange",t)}))},ot=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:", ";const i=[],n=Object.values(e);let s=!1;for(let[e,t]of n.entries()){if(e===window.sb_admin_const.MULTISELECT_FILTER_MAX_CHOICES_SHOWN)break;if(!(n.length>1&&t.value===window.sb_admin_const.SELECT_ALL_KEYWORD)){if(e===window.sb_admin_const.MULTISELECT_FILTER_MAX_CHOICES_SHOWN-2&&n[e+2]){i.push(t.label),s=!0;break}i.push(t.label)}}let o=i.join(t);return s&&(o=o.substring(0,o.length),o+="... +"+(n.length-window.sb_admin_const.MULTISELECT_FILTER_MAX_CHOICES_SHOWN+1)),o},rt=e=>{const t=e.dataset.filterId||e.id,i=e.dataset.labelSeparator||", ",n=document.querySelector(`#${t}-value`);if(!n)return;const s=e.dataset.label;if(s)return n.innerHTML=s,n;const o=(e=>{try{return JSON.parse(e)}catch(e){}return e})(e.value);if(""===e.value||"[]"===e.value)return e.dataset.emptyLabel?n.innerHTML=e.dataset.emptyLabel:n.innerHTML="",n;if("object"==typeof o)n.innerHTML=ot(o,i);else try{n.innerHTML=e.options[e.selectedIndex].text}catch(t){const i=document.querySelector(`label[for=${e.id}]`);if(i)n.innerHTML=i.innerText;else{let t;try{t=document.querySelector(`label[for=${e.id}_${e.value}]`)}catch(e){t=null}n.innerHTML=t?t.innerText:o}}return n};var at=i(3279),lt=i.n(at);function ht(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function ut(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?ht(Object(i),!0).forEach((function(t){dt(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):ht(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function ct(e){return ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ct(e)}function dt(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function pt(){return pt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},pt.apply(this,arguments)}function mt(e,t){if(null==e)return{};var i,n,s=function(e,t){if(null==e)return{};var i,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)i=o[n],t.indexOf(i)>=0||(s[i]=e[i]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)i=o[n],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(s[i]=e[i])}return s}function gt(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var ft=gt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),bt=gt(/Edge/i),vt=gt(/firefox/i),wt=gt(/safari/i)&&!gt(/chrome/i)&&!gt(/android/i),Ct=gt(/iP(ad|od|hone)/i),yt=gt(/chrome/i)&&gt(/android/i),Et={capture:!1,passive:!1};function Rt(e,t,i){e.addEventListener(t,i,!ft&&Et)}function _t(e,t,i){e.removeEventListener(t,i,!ft&&Et)}function Tt(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function xt(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function St(e,t,i,n){if(e){i=i||document;do{if(null!=t&&(">"===t[0]?e.parentNode===i&&Tt(e,t):Tt(e,t))||n&&e===i)return e;if(e===i)break}while(e=xt(e))}return null}var Mt,Lt=/\s+/g;function kt(e,t,i){if(e&&t)if(e.classList)e.classList[i?"add":"remove"](t);else{var n=(" "+e.className+" ").replace(Lt," ").replace(" "+t+" "," ");e.className=(n+(i?" "+t:"")).replace(Lt," ")}}function Dt(e,t,i){var n=e&&e.style;if(n){if(void 0===i)return document.defaultView&&document.defaultView.getComputedStyle?i=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(i=e.currentStyle),void 0===t?i:i[t];t in n||-1!==t.indexOf("webkit")||(t="-webkit-"+t),n[t]=i+("string"==typeof i?"":"px")}}function At(e,t){var i="";if("string"==typeof e)i=e;else do{var n=Dt(e,"transform");n&&"none"!==n&&(i=n+" "+i)}while(!t&&(e=e.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(i)}function Pt(e,t,i){if(e){var n=e.getElementsByTagName(t),s=0,o=n.length;if(i)for(;s<o;s++)i(n[s],s);return n}return[]}function Ot(){var e=document.scrollingElement;return e||document.documentElement}function Ft(e,t,i,n,s){if(e.getBoundingClientRect||e===window){var o,r,a,l,h,u,c;if(e!==window&&e.parentNode&&e!==Ot()?(r=(o=e.getBoundingClientRect()).top,a=o.left,l=o.bottom,h=o.right,u=o.height,c=o.width):(r=0,a=0,l=window.innerHeight,h=window.innerWidth,u=window.innerHeight,c=window.innerWidth),(t||i)&&e!==window&&(s=s||e.parentNode,!ft))do{if(s&&s.getBoundingClientRect&&("none"!==Dt(s,"transform")||i&&"static"!==Dt(s,"position"))){var d=s.getBoundingClientRect();r-=d.top+parseInt(Dt(s,"border-top-width")),a-=d.left+parseInt(Dt(s,"border-left-width")),l=r+o.height,h=a+o.width;break}}while(s=s.parentNode);if(n&&e!==window){var p=At(s||e),m=p&&p.a,g=p&&p.d;p&&(l=(r/=g)+(u/=g),h=(a/=m)+(c/=m))}return{top:r,left:a,bottom:l,right:h,width:c,height:u}}}function zt(e,t,i){for(var n=Vt(e,!0),s=Ft(e)[t];n;){var o=Ft(n)[i];if(!("top"===i||"left"===i?s>=o:s<=o))return n;if(n===Ot())break;n=Vt(n,!1)}return!1}function Ht(e,t,i,n){for(var s=0,o=0,r=e.children;o<r.length;){if("none"!==r[o].style.display&&r[o]!==Gi.ghost&&(n||r[o]!==Gi.dragged)&&St(r[o],i.draggable,e,!1)){if(s===t)return r[o];s++}o++}return null}function Nt(e,t){for(var i=e.lastElementChild;i&&(i===Gi.ghost||"none"===Dt(i,"display")||t&&!Tt(i,t));)i=i.previousElementSibling;return i||null}function It(e,t){var i=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)"TEMPLATE"===e.nodeName.toUpperCase()||e===Gi.clone||t&&!Tt(e,t)||i++;return i}function Bt(e){var t=0,i=0,n=Ot();if(e)do{var s=At(e),o=s.a,r=s.d;t+=e.scrollLeft*o,i+=e.scrollTop*r}while(e!==n&&(e=e.parentNode));return[t,i]}function Vt(e,t){if(!e||!e.getBoundingClientRect)return Ot();var i=e,n=!1;do{if(i.clientWidth<i.scrollWidth||i.clientHeight<i.scrollHeight){var s=Dt(i);if(i.clientWidth<i.scrollWidth&&("auto"==s.overflowX||"scroll"==s.overflowX)||i.clientHeight<i.scrollHeight&&("auto"==s.overflowY||"scroll"==s.overflowY)){if(!i.getBoundingClientRect||i===document.body)return Ot();if(n||t)return i;n=!0}}}while(i=i.parentNode);return Ot()}function Wt(e,t){return Math.round(e.top)===Math.round(t.top)&&Math.round(e.left)===Math.round(t.left)&&Math.round(e.height)===Math.round(t.height)&&Math.round(e.width)===Math.round(t.width)}function jt(e,t){return function(){if(!Mt){var i=arguments;1===i.length?e.call(this,i[0]):e.apply(this,i),Mt=setTimeout((function(){Mt=void 0}),t)}}}function Ut(e,t,i){e.scrollLeft+=t,e.scrollTop+=i}function Gt(e){var t=window.Polymer,i=window.jQuery||window.Zepto;return t&&t.dom?t.dom(e).cloneNode(!0):i?i(e).clone(!0)[0]:e.cloneNode(!0)}var qt="Sortable"+(new Date).getTime();function Xt(){var e,t=[];return{captureAnimationState:function(){(t=[],this.options.animation)&&[].slice.call(this.el.children).forEach((function(e){if("none"!==Dt(e,"display")&&e!==Gi.ghost){t.push({target:e,rect:Ft(e)});var i=ut({},t[t.length-1].rect);if(e.thisAnimationDuration){var n=At(e,!0);n&&(i.top-=n.f,i.left-=n.e)}e.fromRect=i}}))},addAnimationState:function(e){t.push(e)},removeAnimationState:function(e){t.splice(function(e,t){for(var i in e)if(e.hasOwnProperty(i))for(var n in t)if(t.hasOwnProperty(n)&&t[n]===e[i][n])return Number(i);return-1}(t,{target:e}),1)},animateAll:function(i){var n=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof i&&i());var s=!1,o=0;t.forEach((function(e){var t=0,i=e.target,r=i.fromRect,a=Ft(i),l=i.prevFromRect,h=i.prevToRect,u=e.rect,c=At(i,!0);c&&(a.top-=c.f,a.left-=c.e),i.toRect=a,i.thisAnimationDuration&&Wt(l,a)&&!Wt(r,a)&&(u.top-a.top)/(u.left-a.left)==(r.top-a.top)/(r.left-a.left)&&(t=function(e,t,i,n){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-i.top,2)+Math.pow(t.left-i.left,2))*n.animation}(u,l,h,n.options)),Wt(a,r)||(i.prevFromRect=r,i.prevToRect=a,t||(t=n.options.animation),n.animate(i,u,a,t)),t&&(s=!0,o=Math.max(o,t),clearTimeout(i.animationResetTimer),i.animationResetTimer=setTimeout((function(){i.animationTime=0,i.prevFromRect=null,i.fromRect=null,i.prevToRect=null,i.thisAnimationDuration=null}),t),i.thisAnimationDuration=t)})),clearTimeout(e),s?e=setTimeout((function(){"function"==typeof i&&i()}),o):"function"==typeof i&&i(),t=[]},animate:function(e,t,i,n){if(n){Dt(e,"transition",""),Dt(e,"transform","");var s=At(this.el),o=s&&s.a,r=s&&s.d,a=(t.left-i.left)/(o||1),l=(t.top-i.top)/(r||1);e.animatingX=!!a,e.animatingY=!!l,Dt(e,"transform","translate3d("+a+"px,"+l+"px,0)"),this.forRepaintDummy=function(e){return e.offsetWidth}(e),Dt(e,"transition","transform "+n+"ms"+(this.options.easing?" "+this.options.easing:"")),Dt(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout((function(){Dt(e,"transition",""),Dt(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1}),n)}}}}var Yt=[],Jt={initializeByDefault:!0},$t={mount:function(e){for(var t in Jt)Jt.hasOwnProperty(t)&&!(t in e)&&(e[t]=Jt[t]);Yt.forEach((function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")})),Yt.push(e)},pluginEvent:function(e,t,i){var n=this;this.eventCanceled=!1,i.cancel=function(){n.eventCanceled=!0};var s=e+"Global";Yt.forEach((function(n){t[n.pluginName]&&(t[n.pluginName][s]&&t[n.pluginName][s](ut({sortable:t},i)),t.options[n.pluginName]&&t[n.pluginName][e]&&t[n.pluginName][e](ut({sortable:t},i)))}))},initializePlugins:function(e,t,i,n){for(var s in Yt.forEach((function(n){var s=n.pluginName;if(e.options[s]||n.initializeByDefault){var o=new n(e,t,e.options);o.sortable=e,o.options=e.options,e[s]=o,pt(i,o.defaults)}})),e.options)if(e.options.hasOwnProperty(s)){var o=this.modifyOption(e,s,e.options[s]);void 0!==o&&(e.options[s]=o)}},getEventProperties:function(e,t){var i={};return Yt.forEach((function(n){"function"==typeof n.eventProperties&&pt(i,n.eventProperties.call(t[n.pluginName],e))})),i},modifyOption:function(e,t,i){var n;return Yt.forEach((function(s){e[s.pluginName]&&s.optionListeners&&"function"==typeof s.optionListeners[t]&&(n=s.optionListeners[t].call(e[s.pluginName],i))})),n}};function Kt(e){var t=e.sortable,i=e.rootEl,n=e.name,s=e.targetEl,o=e.cloneEl,r=e.toEl,a=e.fromEl,l=e.oldIndex,h=e.newIndex,u=e.oldDraggableIndex,c=e.newDraggableIndex,d=e.originalEvent,p=e.putSortable,m=e.extraEventProperties;if(t=t||i&&i[qt]){var g,f=t.options,b="on"+n.charAt(0).toUpperCase()+n.substr(1);!window.CustomEvent||ft||bt?(g=document.createEvent("Event")).initEvent(n,!0,!0):g=new CustomEvent(n,{bubbles:!0,cancelable:!0}),g.to=r||i,g.from=a||i,g.item=s||i,g.clone=o,g.oldIndex=l,g.newIndex=h,g.oldDraggableIndex=u,g.newDraggableIndex=c,g.originalEvent=d,g.pullMode=p?p.lastPutMode:void 0;var v=ut(ut({},m),$t.getEventProperties(n,t));for(var w in v)g[w]=v[w];i&&i.dispatchEvent(g),f[b]&&f[b].call(t,g)}}var Zt=["evt"],Qt=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.evt,s=mt(i,Zt);$t.pluginEvent.bind(Gi)(e,t,ut({dragEl:ti,parentEl:ii,ghostEl:ni,rootEl:si,nextEl:oi,lastDownEl:ri,cloneEl:ai,cloneHidden:li,dragStarted:yi,putSortable:mi,activeSortable:Gi.active,originalEvent:n,oldIndex:hi,oldDraggableIndex:ci,newIndex:ui,newDraggableIndex:di,hideGhostForTarget:Vi,unhideGhostForTarget:Wi,cloneNowHidden:function(){li=!0},cloneNowShown:function(){li=!1},dispatchSortableEvent:function(e){ei({sortable:t,name:e,originalEvent:n})}},s))};function ei(e){Kt(ut({putSortable:mi,cloneEl:ai,targetEl:ti,rootEl:si,oldIndex:hi,oldDraggableIndex:ci,newIndex:ui,newDraggableIndex:di},e))}var ti,ii,ni,si,oi,ri,ai,li,hi,ui,ci,di,pi,mi,gi,fi,bi,vi,wi,Ci,yi,Ei,Ri,_i,Ti,xi=!1,Si=!1,Mi=[],Li=!1,ki=!1,Di=[],Ai=!1,Pi=[],Oi="undefined"!=typeof document,Fi=Ct,zi=bt||ft?"cssFloat":"float",Hi=Oi&&!yt&&!Ct&&"draggable"in document.createElement("div"),Ni=function(){if(Oi){if(ft)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),Ii=function(e,t){var i=Dt(e),n=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),s=Ht(e,0,t),o=Ht(e,1,t),r=s&&Dt(s),a=o&&Dt(o),l=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+Ft(s).width,h=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Ft(o).width;if("flex"===i.display)return"column"===i.flexDirection||"column-reverse"===i.flexDirection?"vertical":"horizontal";if("grid"===i.display)return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&r.float&&"none"!==r.float){var u="left"===r.float?"left":"right";return!o||"both"!==a.clear&&a.clear!==u?"horizontal":"vertical"}return s&&("block"===r.display||"flex"===r.display||"table"===r.display||"grid"===r.display||l>=n&&"none"===i[zi]||o&&"none"===i[zi]&&l+h>n)?"vertical":"horizontal"},Bi=function(e){function t(e,i){return function(n,s,o,r){var a=n.options.group.name&&s.options.group.name&&n.options.group.name===s.options.group.name;if(null==e&&(i||a))return!0;if(null==e||!1===e)return!1;if(i&&"clone"===e)return e;if("function"==typeof e)return t(e(n,s,o,r),i)(n,s,o,r);var l=(i?n:s).options.group.name;return!0===e||"string"==typeof e&&e===l||e.join&&e.indexOf(l)>-1}}var i={},n=e.group;n&&"object"==ct(n)||(n={name:n}),i.name=n.name,i.checkPull=t(n.pull,!0),i.checkPut=t(n.put),i.revertClone=n.revertClone,e.group=i},Vi=function(){!Ni&&ni&&Dt(ni,"display","none")},Wi=function(){!Ni&&ni&&Dt(ni,"display","")};Oi&&!yt&&document.addEventListener("click",(function(e){if(Si)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Si=!1,!1}),!0);var ji=function(e){if(ti){e=e.touches?e.touches[0]:e;var t=(s=e.clientX,o=e.clientY,Mi.some((function(e){var t=e[qt].options.emptyInsertThreshold;if(t&&!Nt(e)){var i=Ft(e),n=s>=i.left-t&&s<=i.right+t,a=o>=i.top-t&&o<=i.bottom+t;return n&&a?r=e:void 0}})),r);if(t){var i={};for(var n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[qt]._onDragOver(i)}}var s,o,r},Ui=function(e){ti&&ti.parentNode[qt]._isOutsideThisEl(e.target)};function Gi(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=pt({},t),e[qt]=this;var i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ii(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Gi.supportPointer&&"PointerEvent"in window&&!wt,emptyInsertThreshold:5};for(var n in $t.initializePlugins(this,e,i),i)!(n in t)&&(t[n]=i[n]);for(var s in Bi(t),this)"_"===s.charAt(0)&&"function"==typeof this[s]&&(this[s]=this[s].bind(this));this.nativeDraggable=!t.forceFallback&&Hi,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Rt(e,"pointerdown",this._onTapStart):(Rt(e,"mousedown",this._onTapStart),Rt(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Rt(e,"dragover",this),Rt(e,"dragenter",this)),Mi.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),pt(this,Xt())}function qi(e,t,i,n,s,o,r,a){var l,h,u=e[qt],c=u.options.onMove;return!window.CustomEvent||ft||bt?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=t,l.from=e,l.dragged=i,l.draggedRect=n,l.related=s||t,l.relatedRect=o||Ft(t),l.willInsertAfter=a,l.originalEvent=r,e.dispatchEvent(l),c&&(h=c.call(u,l,r)),h}function Xi(e){e.draggable=!1}function Yi(){Ai=!1}function Ji(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,i=t.length,n=0;i--;)n+=t.charCodeAt(i);return n.toString(36)}function $i(e){return setTimeout(e,0)}function Ki(e){return clearTimeout(e)}Gi.prototype={constructor:Gi,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(Ei=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,ti):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,n=this.options,s=n.preventOnFilter,o=e.type,r=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,a=(r||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||a,h=n.filter;if(function(e){Pi.length=0;var t=e.getElementsByTagName("input"),i=t.length;for(;i--;){var n=t[i];n.checked&&Pi.push(n)}}(i),!ti&&!(/mousedown|pointerdown/.test(o)&&0!==e.button||n.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!wt||!a||"SELECT"!==a.tagName.toUpperCase())&&!((a=St(a,n.draggable,i,!1))&&a.animated||ri===a)){if(hi=It(a),ci=It(a,n.draggable),"function"==typeof h){if(h.call(this,e,a,this))return ei({sortable:t,rootEl:l,name:"filter",targetEl:a,toEl:i,fromEl:i}),Qt("filter",t,{evt:e}),void(s&&e.cancelable&&e.preventDefault())}else if(h&&(h=h.split(",").some((function(n){if(n=St(l,n.trim(),i,!1))return ei({sortable:t,rootEl:n,name:"filter",targetEl:a,fromEl:i,toEl:i}),Qt("filter",t,{evt:e}),!0}))))return void(s&&e.cancelable&&e.preventDefault());n.handle&&!St(l,n.handle,i,!1)||this._prepareDragStart(e,r,a)}}},_prepareDragStart:function(e,t,i){var n,s=this,o=s.el,r=s.options,a=o.ownerDocument;if(i&&!ti&&i.parentNode===o){var l=Ft(i);if(si=o,ii=(ti=i).parentNode,oi=ti.nextSibling,ri=i,pi=r.group,Gi.dragged=ti,gi={target:ti,clientX:(t||e).clientX,clientY:(t||e).clientY},wi=gi.clientX-l.left,Ci=gi.clientY-l.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,ti.style["will-change"]="all",n=function(){Qt("delayEnded",s,{evt:e}),Gi.eventCanceled?s._onDrop():(s._disableDelayedDragEvents(),!vt&&s.nativeDraggable&&(ti.draggable=!0),s._triggerDragStart(e,t),ei({sortable:s,name:"choose",originalEvent:e}),kt(ti,r.chosenClass,!0))},r.ignore.split(",").forEach((function(e){Pt(ti,e.trim(),Xi)})),Rt(a,"dragover",ji),Rt(a,"mousemove",ji),Rt(a,"touchmove",ji),Rt(a,"mouseup",s._onDrop),Rt(a,"touchend",s._onDrop),Rt(a,"touchcancel",s._onDrop),vt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,ti.draggable=!0),Qt("delayStart",this,{evt:e}),!r.delay||r.delayOnTouchOnly&&!t||this.nativeDraggable&&(bt||ft))n();else{if(Gi.eventCanceled)return void this._onDrop();Rt(a,"mouseup",s._disableDelayedDrag),Rt(a,"touchend",s._disableDelayedDrag),Rt(a,"touchcancel",s._disableDelayedDrag),Rt(a,"mousemove",s._delayedDragTouchMoveHandler),Rt(a,"touchmove",s._delayedDragTouchMoveHandler),r.supportPointer&&Rt(a,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(n,r.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){ti&&Xi(ti),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;_t(e,"mouseup",this._disableDelayedDrag),_t(e,"touchend",this._disableDelayedDrag),_t(e,"touchcancel",this._disableDelayedDrag),_t(e,"mousemove",this._delayedDragTouchMoveHandler),_t(e,"touchmove",this._delayedDragTouchMoveHandler),_t(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?Rt(document,"pointermove",this._onTouchMove):Rt(document,t?"touchmove":"mousemove",this._onTouchMove):(Rt(ti,"dragend",this),Rt(si,"dragstart",this._onDragStart));try{document.selection?$i((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(xi=!1,si&&ti){Qt("dragStarted",this,{evt:t}),this.nativeDraggable&&Rt(document,"dragover",Ui);var i=this.options;!e&&kt(ti,i.dragClass,!1),kt(ti,i.ghostClass,!0),Gi.active=this,e&&this._appendGhost(),ei({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(fi){this._lastX=fi.clientX,this._lastY=fi.clientY,Vi();for(var e=document.elementFromPoint(fi.clientX,fi.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(fi.clientX,fi.clientY))!==t;)t=e;if(ti.parentNode[qt]._isOutsideThisEl(e),t)do{if(t[qt]){if(t[qt]._onDragOver({clientX:fi.clientX,clientY:fi.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Wi()}},_onTouchMove:function(e){if(gi){var t=this.options,i=t.fallbackTolerance,n=t.fallbackOffset,s=e.touches?e.touches[0]:e,o=ni&&At(ni,!0),r=ni&&o&&o.a,a=ni&&o&&o.d,l=Fi&&Ti&&Bt(Ti),h=(s.clientX-gi.clientX+n.x)/(r||1)+(l?l[0]-Di[0]:0)/(r||1),u=(s.clientY-gi.clientY+n.y)/(a||1)+(l?l[1]-Di[1]:0)/(a||1);if(!Gi.active&&!xi){if(i&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))<i)return;this._onDragStart(e,!0)}if(ni){o?(o.e+=h-(bi||0),o.f+=u-(vi||0)):o={a:1,b:0,c:0,d:1,e:h,f:u};var c="matrix(".concat(o.a,",").concat(o.b,",").concat(o.c,",").concat(o.d,",").concat(o.e,",").concat(o.f,")");Dt(ni,"webkitTransform",c),Dt(ni,"mozTransform",c),Dt(ni,"msTransform",c),Dt(ni,"transform",c),bi=h,vi=u,fi=s}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!ni){var e=this.options.fallbackOnBody?document.body:si,t=Ft(ti,!0,Fi,!0,e),i=this.options;if(Fi){for(Ti=e;"static"===Dt(Ti,"position")&&"none"===Dt(Ti,"transform")&&Ti!==document;)Ti=Ti.parentNode;Ti!==document.body&&Ti!==document.documentElement?(Ti===document&&(Ti=Ot()),t.top+=Ti.scrollTop,t.left+=Ti.scrollLeft):Ti=Ot(),Di=Bt(Ti)}kt(ni=ti.cloneNode(!0),i.ghostClass,!1),kt(ni,i.fallbackClass,!0),kt(ni,i.dragClass,!0),Dt(ni,"transition",""),Dt(ni,"transform",""),Dt(ni,"box-sizing","border-box"),Dt(ni,"margin",0),Dt(ni,"top",t.top),Dt(ni,"left",t.left),Dt(ni,"width",t.width),Dt(ni,"height",t.height),Dt(ni,"opacity","0.8"),Dt(ni,"position",Fi?"absolute":"fixed"),Dt(ni,"zIndex","100000"),Dt(ni,"pointerEvents","none"),Gi.ghost=ni,e.appendChild(ni),Dt(ni,"transform-origin",wi/parseInt(ni.style.width)*100+"% "+Ci/parseInt(ni.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,n=e.dataTransfer,s=i.options;Qt("dragStart",this,{evt:e}),Gi.eventCanceled?this._onDrop():(Qt("setupClone",this),Gi.eventCanceled||((ai=Gt(ti)).removeAttribute("id"),ai.draggable=!1,ai.style["will-change"]="",this._hideClone(),kt(ai,this.options.chosenClass,!1),Gi.clone=ai),i.cloneId=$i((function(){Qt("clone",i),Gi.eventCanceled||(i.options.removeCloneOnHide||si.insertBefore(ai,ti),i._hideClone(),ei({sortable:i,name:"clone"}))})),!t&&kt(ti,s.dragClass,!0),t?(Si=!0,i._loopId=setInterval(i._emulateDragOver,50)):(_t(document,"mouseup",i._onDrop),_t(document,"touchend",i._onDrop),_t(document,"touchcancel",i._onDrop),n&&(n.effectAllowed="move",s.setData&&s.setData.call(i,n,ti)),Rt(document,"drop",i),Dt(ti,"transform","translateZ(0)")),xi=!0,i._dragStartId=$i(i._dragStarted.bind(i,t,e)),Rt(document,"selectstart",i),yi=!0,wt&&Dt(document.body,"user-select","none"))},_onDragOver:function(e){var t,i,n,s,o=this.el,r=e.target,a=this.options,l=a.group,h=Gi.active,u=pi===l,c=a.sort,d=mi||h,p=this,m=!1;if(!Ai){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),r=St(r,a.draggable,o,!0),L("dragOver"),Gi.eventCanceled)return m;if(ti.contains(e.target)||r.animated&&r.animatingX&&r.animatingY||p._ignoreWhileAnimating===r)return D(!1);if(Si=!1,h&&!a.disabled&&(u?c||(n=ii!==si):mi===this||(this.lastPutMode=pi.checkPull(this,h,ti,e))&&l.checkPut(this,h,ti,e))){if(s="vertical"===this._getDirection(e,r),t=Ft(ti),L("dragOverValid"),Gi.eventCanceled)return m;if(n)return ii=si,k(),this._hideClone(),L("revert"),Gi.eventCanceled||(oi?si.insertBefore(ti,oi):si.appendChild(ti)),D(!0);var g=Nt(o,a.draggable);if(!g||function(e,t,i){var n=Ft(Nt(i.el,i.options.draggable)),s=10;return t?e.clientX>n.right+s||e.clientX<=n.right&&e.clientY>n.bottom&&e.clientX>=n.left:e.clientX>n.right&&e.clientY>n.top||e.clientX<=n.right&&e.clientY>n.bottom+s}(e,s,this)&&!g.animated){if(g===ti)return D(!1);if(g&&o===e.target&&(r=g),r&&(i=Ft(r)),!1!==qi(si,o,ti,t,r,i,e,!!r))return k(),g&&g.nextSibling?o.insertBefore(ti,g.nextSibling):o.appendChild(ti),ii=o,A(),D(!0)}else if(g&&function(e,t,i){var n=Ft(Ht(i.el,0,i.options,!0)),s=10;return t?e.clientX<n.left-s||e.clientY<n.top&&e.clientX<n.right:e.clientY<n.top-s||e.clientY<n.bottom&&e.clientX<n.left}(e,s,this)){var f=Ht(o,0,a,!0);if(f===ti)return D(!1);if(i=Ft(r=f),!1!==qi(si,o,ti,t,r,i,e,!1))return k(),o.insertBefore(ti,f),ii=o,A(),D(!0)}else if(r.parentNode===o){i=Ft(r);var b,v,w,C=ti.parentNode!==o,y=!function(e,t,i){var n=i?e.left:e.top,s=i?e.right:e.bottom,o=i?e.width:e.height,r=i?t.left:t.top,a=i?t.right:t.bottom,l=i?t.width:t.height;return n===r||s===a||n+o/2===r+l/2}(ti.animated&&ti.toRect||t,r.animated&&r.toRect||i,s),E=s?"top":"left",R=zt(r,"top","top")||zt(ti,"top","top"),_=R?R.scrollTop:void 0;if(Ei!==r&&(v=i[E],Li=!1,ki=!y&&a.invertSwap||C),b=function(e,t,i,n,s,o,r,a){var l=n?e.clientY:e.clientX,h=n?i.height:i.width,u=n?i.top:i.left,c=n?i.bottom:i.right,d=!1;if(!r)if(a&&_i<h*s){if(!Li&&(1===Ri?l>u+h*o/2:l<c-h*o/2)&&(Li=!0),Li)d=!0;else if(1===Ri?l<u+_i:l>c-_i)return-Ri}else if(l>u+h*(1-s)/2&&l<c-h*(1-s)/2)return function(e){return It(ti)<It(e)?1:-1}(t);if((d=d||r)&&(l<u+h*o/2||l>c-h*o/2))return l>u+h/2?1:-1;return 0}(e,r,i,s,y?1:a.swapThreshold,null==a.invertedSwapThreshold?a.swapThreshold:a.invertedSwapThreshold,ki,Ei===r),0!==b){var T=It(ti);do{T-=b,w=ii.children[T]}while(w&&("none"===Dt(w,"display")||w===ni))}if(0===b||w===r)return D(!1);Ei=r,Ri=b;var x=r.nextElementSibling,S=!1,M=qi(si,o,ti,t,r,i,e,S=1===b);if(!1!==M)return 1!==M&&-1!==M||(S=1===M),Ai=!0,setTimeout(Yi,30),k(),S&&!x?o.appendChild(ti):r.parentNode.insertBefore(ti,S?x:r),R&&Ut(R,0,_-R.scrollTop),ii=ti.parentNode,void 0===v||ki||(_i=Math.abs(v-Ft(r)[E])),A(),D(!0)}if(o.contains(ti))return D(!1)}return!1}function L(a,l){Qt(a,p,ut({evt:e,isOwner:u,axis:s?"vertical":"horizontal",revert:n,dragRect:t,targetRect:i,canSort:c,fromSortable:d,target:r,completed:D,onMove:function(i,n){return qi(si,o,ti,t,i,Ft(i),e,n)},changed:A},l))}function k(){L("dragOverAnimationCapture"),p.captureAnimationState(),p!==d&&d.captureAnimationState()}function D(t){return L("dragOverCompleted",{insertion:t}),t&&(u?h._hideClone():h._showClone(p),p!==d&&(kt(ti,mi?mi.options.ghostClass:h.options.ghostClass,!1),kt(ti,a.ghostClass,!0)),mi!==p&&p!==Gi.active?mi=p:p===Gi.active&&mi&&(mi=null),d===p&&(p._ignoreWhileAnimating=r),p.animateAll((function(){L("dragOverAnimationComplete"),p._ignoreWhileAnimating=null})),p!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(r===ti&&!ti.animated||r===o&&!r.animated)&&(Ei=null),a.dragoverBubble||e.rootEl||r===document||(ti.parentNode[qt]._isOutsideThisEl(e.target),!t&&ji(e)),!a.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function A(){ui=It(ti),di=It(ti,a.draggable),ei({sortable:p,name:"change",toEl:o,newIndex:ui,newDraggableIndex:di,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){_t(document,"mousemove",this._onTouchMove),_t(document,"touchmove",this._onTouchMove),_t(document,"pointermove",this._onTouchMove),_t(document,"dragover",ji),_t(document,"mousemove",ji),_t(document,"touchmove",ji)},_offUpEvents:function(){var e=this.el.ownerDocument;_t(e,"mouseup",this._onDrop),_t(e,"touchend",this._onDrop),_t(e,"pointerup",this._onDrop),_t(e,"touchcancel",this._onDrop),_t(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;ui=It(ti),di=It(ti,i.draggable),Qt("drop",this,{evt:e}),ii=ti&&ti.parentNode,ui=It(ti),di=It(ti,i.draggable),Gi.eventCanceled||(xi=!1,ki=!1,Li=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ki(this.cloneId),Ki(this._dragStartId),this.nativeDraggable&&(_t(document,"drop",this),_t(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),wt&&Dt(document.body,"user-select",""),Dt(ti,"transform",""),e&&(yi&&(e.cancelable&&e.preventDefault(),!i.dropBubble&&e.stopPropagation()),ni&&ni.parentNode&&ni.parentNode.removeChild(ni),(si===ii||mi&&"clone"!==mi.lastPutMode)&&ai&&ai.parentNode&&ai.parentNode.removeChild(ai),ti&&(this.nativeDraggable&&_t(ti,"dragend",this),Xi(ti),ti.style["will-change"]="",yi&&!xi&&kt(ti,mi?mi.options.ghostClass:this.options.ghostClass,!1),kt(ti,this.options.chosenClass,!1),ei({sortable:this,name:"unchoose",toEl:ii,newIndex:null,newDraggableIndex:null,originalEvent:e}),si!==ii?(ui>=0&&(ei({rootEl:ii,name:"add",toEl:ii,fromEl:si,originalEvent:e}),ei({sortable:this,name:"remove",toEl:ii,originalEvent:e}),ei({rootEl:ii,name:"sort",toEl:ii,fromEl:si,originalEvent:e}),ei({sortable:this,name:"sort",toEl:ii,originalEvent:e})),mi&&mi.save()):ui!==hi&&ui>=0&&(ei({sortable:this,name:"update",toEl:ii,originalEvent:e}),ei({sortable:this,name:"sort",toEl:ii,originalEvent:e})),Gi.active&&(null!=ui&&-1!==ui||(ui=hi,di=ci),ei({sortable:this,name:"end",toEl:ii,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Qt("nulling",this),si=ti=ii=ni=oi=ai=ri=li=gi=fi=yi=ui=di=hi=ci=Ei=Ri=mi=pi=Gi.dragged=Gi.ghost=Gi.clone=Gi.active=null,Pi.forEach((function(e){e.checked=!0})),Pi.length=bi=vi=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":ti&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],i=this.el.children,n=0,s=i.length,o=this.options;n<s;n++)St(e=i[n],o.draggable,this.el,!1)&&t.push(e.getAttribute(o.dataIdAttr)||Ji(e));return t},sort:function(e,t){var i={},n=this.el;this.toArray().forEach((function(e,t){var s=n.children[t];St(s,this.options.draggable,n,!1)&&(i[e]=s)}),this),t&&this.captureAnimationState(),e.forEach((function(e){i[e]&&(n.removeChild(i[e]),n.appendChild(i[e]))})),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return St(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(void 0===t)return i[e];var n=$t.modifyOption(this,e,t);i[e]=void 0!==n?n:t,"group"===e&&Bi(i)},destroy:function(){Qt("destroy",this);var e=this.el;e[qt]=null,_t(e,"mousedown",this._onTapStart),_t(e,"touchstart",this._onTapStart),_t(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(_t(e,"dragover",this),_t(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),(function(e){e.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),Mi.splice(Mi.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!li){if(Qt("hideClone",this),Gi.eventCanceled)return;Dt(ai,"display","none"),this.options.removeCloneOnHide&&ai.parentNode&&ai.parentNode.removeChild(ai),li=!0}},_showClone:function(e){if("clone"===e.lastPutMode){if(li){if(Qt("showClone",this),Gi.eventCanceled)return;ti.parentNode!=si||this.options.group.revertClone?oi?si.insertBefore(ai,oi):si.appendChild(ai):si.insertBefore(ai,ti),this.options.group.revertClone&&this.animate(ti,ai),Dt(ai,"display",""),li=!1}}else this._hideClone()}},Oi&&Rt(document,"touchmove",(function(e){(Gi.active||xi)&&e.cancelable&&e.preventDefault()})),Gi.utils={on:Rt,off:_t,css:Dt,find:Pt,is:function(e,t){return!!St(e,t,e,!1)},extend:function(e,t){if(e&&t)for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},throttle:jt,closest:St,toggleClass:kt,clone:Gt,index:It,nextTick:$i,cancelNextTick:Ki,detectDirection:Ii,getChild:Ht},Gi.get=function(e){return e[qt]},Gi.mount=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t[0].constructor===Array&&(t=t[0]),t.forEach((function(e){if(!e.prototype||!e.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(e));e.utils&&(Gi.utils=ut(ut({},Gi.utils),e.utils)),$t.mount(e)}))},Gi.create=function(e,t){return new Gi(e,t)},Gi.version="1.15.0";var Zi,Qi,en,tn,nn,sn,on=[],rn=!1;function an(){on.forEach((function(e){clearInterval(e.pid)})),on=[]}function ln(){clearInterval(sn)}var hn=jt((function(e,t,i,n){if(t.scroll){var s,o=(e.touches?e.touches[0]:e).clientX,r=(e.touches?e.touches[0]:e).clientY,a=t.scrollSensitivity,l=t.scrollSpeed,h=Ot(),u=!1;Qi!==i&&(Qi=i,an(),Zi=t.scroll,s=t.scrollFn,!0===Zi&&(Zi=Vt(i,!0)));var c=0,d=Zi;do{var p=d,m=Ft(p),g=m.top,f=m.bottom,b=m.left,v=m.right,w=m.width,C=m.height,y=void 0,E=void 0,R=p.scrollWidth,_=p.scrollHeight,T=Dt(p),x=p.scrollLeft,S=p.scrollTop;p===h?(y=w<R&&("auto"===T.overflowX||"scroll"===T.overflowX||"visible"===T.overflowX),E=C<_&&("auto"===T.overflowY||"scroll"===T.overflowY||"visible"===T.overflowY)):(y=w<R&&("auto"===T.overflowX||"scroll"===T.overflowX),E=C<_&&("auto"===T.overflowY||"scroll"===T.overflowY));var M=y&&(Math.abs(v-o)<=a&&x+w<R)-(Math.abs(b-o)<=a&&!!x),L=E&&(Math.abs(f-r)<=a&&S+C<_)-(Math.abs(g-r)<=a&&!!S);if(!on[c])for(var k=0;k<=c;k++)on[k]||(on[k]={});on[c].vx==M&&on[c].vy==L&&on[c].el===p||(on[c].el=p,on[c].vx=M,on[c].vy=L,clearInterval(on[c].pid),0==M&&0==L||(u=!0,on[c].pid=setInterval(function(){n&&0===this.layer&&Gi.active._onTouchMove(nn);var t=on[this.layer].vy?on[this.layer].vy*l:0,i=on[this.layer].vx?on[this.layer].vx*l:0;"function"==typeof s&&"continue"!==s.call(Gi.dragged.parentNode[qt],i,t,e,nn,on[this.layer].el)||Ut(on[this.layer].el,i,t)}.bind({layer:c}),24))),c++}while(t.bubbleScroll&&d!==h&&(d=Vt(d,!1)));rn=u}}),30),un=function(e){var t=e.originalEvent,i=e.putSortable,n=e.dragEl,s=e.activeSortable,o=e.dispatchSortableEvent,r=e.hideGhostForTarget,a=e.unhideGhostForTarget;if(t){var l=i||s;r();var h=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,u=document.elementFromPoint(h.clientX,h.clientY);a(),l&&!l.el.contains(u)&&(o("spill"),this.onSpill({dragEl:n,putSortable:i}))}};function cn(){}function dn(){}cn.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,i=e.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var n=Ht(this.sortable.el,this.startIndex,this.options);n?this.sortable.el.insertBefore(t,n):this.sortable.el.appendChild(t),this.sortable.animateAll(),i&&i.animateAll()},drop:un},pt(cn,{pluginName:"revertOnSpill"}),dn.prototype={onSpill:function(e){var t=e.dragEl,i=e.putSortable||this.sortable;i.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),i.animateAll()},drop:un},pt(dn,{pluginName:"removeOnSpill"});Gi.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?Rt(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Rt(document,"pointermove",this._handleFallbackAutoScroll):t.touches?Rt(document,"touchmove",this._handleFallbackAutoScroll):Rt(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?_t(document,"dragover",this._handleAutoScroll):(_t(document,"pointermove",this._handleFallbackAutoScroll),_t(document,"touchmove",this._handleFallbackAutoScroll),_t(document,"mousemove",this._handleFallbackAutoScroll)),ln(),an(),clearTimeout(Mt),Mt=void 0},nulling:function(){nn=Qi=Zi=rn=sn=en=tn=null,on.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var i=this,n=(e.touches?e.touches[0]:e).clientX,s=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(n,s);if(nn=e,t||this.options.forceAutoScrollFallback||bt||ft||wt){hn(e,this.options,o,t);var r=Vt(o,!0);!rn||sn&&n===en&&s===tn||(sn&&ln(),sn=setInterval((function(){var o=Vt(document.elementFromPoint(n,s),!0);o!==r&&(r=o,an()),hn(e,i.options,o,t)}),10),en=n,tn=s)}else{if(!this.options.bubbleScroll||Vt(o,!0)===Ot())return void an();hn(e,this.options,Vt(o,!1),!1)}}},pt(e,{pluginName:"scroll",initializeByDefault:!0})}),Gi.mount(dn,cn);const pn=Gi;var mn=function(e,t,i){return i.months[t?"shorthand":"longhand"][e]};const gn=e=>{const t=document.createElement("div");t.classList.add("flatpickr-custom-views-wrapper");const i=document.createElement("div");i.classList.add("flatpickr-custom-months-view","hidden");const n=document.createElement("div");n.classList.add("flatpickr-custom-years-view","hidden"),t.append(i),t.append(n);let s=null;const o=e=>{switch(e){case"months":i.classList.remove("hidden"),n.classList.add("hidden");break;case"years":i.classList.add("hidden"),n.classList.remove("hidden"),s.parentNode.scrollTop=5088;break;default:i.classList.add("hidden"),n.classList.add("hidden")}},r=t=>{e.changeMonth(parseInt(t.target.dataset.month),!1),c(),d(),o()},a=t=>{e.changeYear(parseInt(t.target.dataset.year),!1),c(),d(),o("months")},l=(e,t)=>t[0]&&t[1]?t[0]<=e&&e<=t[1]:t[0]===e,h=(t,i,n)=>n[0]&&n[1]?n[0]===n[1]?n[0]===e.currentYear&&(i[0]<=t&&t<=i[1]):n[0]===e.currentYear&&t>=i[0]||(n[0]<e.currentYear&&e.currentYear<n[1]||n[1]===e.currentYear&&t<=i[1]):!(!n[0]||n[1]||n[0]!==e.currentYear||t!==i[0]),u=t=>{const i=document.createElement("div");return i.classList.add("flatpickr-back"),i.textContent="Back",e._bind(i,"click",(e=>{e.preventDefault(),e.stopPropagation(),o(t)})),i},c=()=>{i.innerHTML="";const t=e.monthNav.cloneNode(!0),n=t.querySelector(".flatpickr-current-month");n.innerHTML=e.currentYear,e._bind(n,"click",(()=>{o("years")}));const s=t.querySelector(".flatpickr-prev-month"),a=t.querySelector(".flatpickr-next-month");s.replaceChildren(nt("Left-small")),a.replaceChildren(nt("Right-small")),e._bind(s,"click",(t=>{t.preventDefault(),t.stopPropagation(),e.changeYear(e.currentYear-1),c(),d()})),e._bind(a,"click",(t=>{t.preventDefault(),t.stopPropagation(),e.changeYear(e.currentYear+1),c(),d()}));const l=e.innerContainer.cloneNode(!0);l.querySelector(".flatpickr-weekdays").remove();const p=l.querySelector(".dayContainer");p.innerHTML="";const m=e.selectedDates.map((e=>e.getMonth())),g=e.selectedDates.map((e=>e.getFullYear()));for(let t=0;t<12;t++){const i=document.createElement("span");i.classList.add("flatpickr-day","flatpickr-month"),t===e.now.getMonth()&&e.currentYear===e.now.getFullYear()&&i.classList.add("today"),h(t,m,g)&&i.classList.add("selected"),i.textContent=mn(t,e.shorthand,e.l10n),i.dataset.month=t.toString(),i.addEventListener("click",r),p.appendChild(i)}i.append(t),i.append(l),i.append(u())},d=()=>{n.innerHTML="";const t=e.monthNav.cloneNode(!0);t.querySelector(".flatpickr-current-month").innerHTML=e.currentYear,t.querySelector(".flatpickr-prev-month").remove(),t.querySelector(".flatpickr-next-month").remove();const i=e.innerContainer.cloneNode(!0);i.querySelector(".flatpickr-weekdays").remove(),i.querySelector(".flatpickr-days").classList.add("h-full","-mr-8");const o=i.querySelector(".dayContainer");o.classList.add("overflow-auto","custom-scrollbar"),o.innerHTML="";const r=e.now.getFullYear(),h=e.selectedDates.map((e=>e.getFullYear()));for(let t=r-100;t<=r+100;t++){const i=document.createElement("span");i.classList.add("flatpickr-day","flatpickr-year"),t===e.now.getFullYear()&&(i.classList.add("today"),s=i),l(t,h)&&i.classList.add("selected"),i.textContent=t.toString(),i.dataset.year=t.toString(),i.addEventListener("click",a),o.appendChild(i)}n.append(t),n.append(i),n.append(u("months"))},p=()=>{const t=e.monthNav.querySelector(".flatpickr-current-month");return t.innerHTML="",t.textContent=`${mn(e.currentMonth,e.shorthand,e.l10n)} ${e.currentYear}`,t};if(e.config.noCalendar)return{};return{onReady:()=>{e.monthNav.parentNode.insertBefore(t,e.monthNav),e._bind(p(),"click",(e=>{e.preventDefault(),e.stopPropagation(),o("months")})),c(),d()},onChange:[p,c,d],onMonthChange:p,onYearChange:p}},fn=e=>{const t=(t,i,n)=>{const s=JSON.parse(t.value),o=new Date;o.setDate(o.getDate()+s[0]);const r=new Date;r.setDate(r.getDate()+s[1]),e.setDate([o,r],!1,e.config.dateFormat),i.forEach(((e,i)=>{JSON.stringify(e.value)===t.value&&(document.getElementById(`${n}_range${i}`).checked=!0,t.dataset.label=e.label)}))};return{onReady:()=>{const i=document.getElementById(e.element.dataset.sbadminDatepickerRealInputId),n=i.id,s=i.value,o=document.createElement("div"),r=JSON.parse(e.element.dataset.sbadminDatepickerShortcuts);o.classList.add("flatpickr-shortcuts"),o.addEventListener("change",(t=>{const n=t.target.value;i.value=n,i.dataset.label=t.target.nextElementSibling.innerText,i.dispatchEvent(new Event("change"));const s=r[t.target.dataset.index].value,o=new Date;o.setDate(o.getDate()+s[0]);const a=new Date;a.setDate(a.getDate()+s[1]),e.setDate([o,a],!1,e.config.dateFormat)})),r.forEach(((e,t)=>{const r=JSON.stringify(e.value)===s;r&&(i.dataset.label=e.label),o.append(((e,t,i,n,s,o)=>{const r=document.createElement("label");r.classList.add("relative","block","px-12","py-8"),r.setAttribute("for",e);const a=document.createElement("label");a.innerText=n,a.setAttribute("for",e);const l=document.createElement("input");return l.id=e,l.name=t,l.value=i,l.type="radio",l.classList.add("radio","radio-list","flatpickr-shortcut"),l.checked=s,l.dataset.index=o,r.append(l),r.append(a),r})(`${n}_range${t}`,`${n}_shortcut`,JSON.stringify(e.value),e.label,r,t))})),e.calendarContainer.prepend(o),i.value&&t(i,r,n),i.addEventListener("SBTableFilterFormLoad",(()=>{try{t(i,r,n)}catch{e.setDate(i.value,!1,e.config.dateFormat)}}))},onChange:(e,t,i)=>{const n=i.element.parentElement.querySelector("input.flatpickr-shortcut:checked");n&&(n.checked=!1)}}};class bn extends s{constructor(e){super(e)}initialize(){this.table.SBTable&&this.subscribe("data-params",((e,t,i,n)=>(this.table.SBTable.lastTableParams=n,"POST"===this.table.SBTable.tabulatorOptions.ajaxConfig.method?this.table.SBTable.getAllUrlParams():{})),10001)}}var vn,wn,Cn;vn=bn,Cn="sb_ajax_params_tabulator_modifier",wn=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(wn="moduleName"),wn in vn?Object.defineProperty(vn,wn,{value:Cn,enumerable:!0,configurable:!0,writable:!0}):vn[wn]=Cn;window.SBAdminTableClass=class{constructor(e){this.initOptions=e,this.moduleInstances=this.initModules(e.modules),this.viewId=e.viewId,this.filterFormId=e.filterFormId,this.advancedFilterId=e.advancedFilterId,this.columnWidgetId=e.columnWidgetId,this.paginationWidgetId=e.paginationWidgetId,this.pageSizeWidgetId=e.pageSizeWidgetId,this.baseViewUrl=e.baseViewUrl,this.tableElSelector=e.tableElSelector,this.tableAjaxUrl=e.tableAjaxUrl,this.tableDataEditUrl=e.tableDataEditUrl,this.tableActionMoveUrl=e.tableActionMoveUrl,this.tableDetailUrl=e.tableDetailUrl,this.defaultColumnData=e.defaultColumnData,this.tableColumns=this.initDefaultColumns(e.tableColumns),this.tableIdColumnName=e.tableIdColumnName,this.tableInitialSort=e.tableInitialSort,this.tableInitialPage=e.tableInitialPage||1,this.tableInitialPageSize=e.tableInitialPageSize,this.tableHistoryEnabled=e.tableHistoryEnabled,this.constants=e.constants,this.tabulatorOptions=e.tabulatorOptions,this.tableInitializeSort=this.tableInitialSort,this.tableInitializePage=this.tableInitialPage,this.tableInitializePageSize=this.tableInitialPageSize,this.loadFromUrl(),this.buildTabulatorTable(),this.afterInit()}afterInit(){var e;const t=this;window.addEventListener("popstate",(()=>{t.loadFromUrl()})),this.tabulator.on("tableBuilt",(()=>{t.loadFromUrlAfterInit(),t.callModuleAction("afterInit")})),null===(e=document.getElementById("table-selected-rows-bar-select-all"))||void 0===e||e.addEventListener("change",(()=>{document.getElementById("row-select-all").click()}))}getAllParamsFromUrl(){const e=window.location.search,t=new URLSearchParams(e),i=document.querySelector(`.js-view-button[data-view-id="${t.get("selectedView")}"]`);let n;return n=i?{[this.viewId]:JSON.parse(i.dataset.params)}:JSON.parse(t.get(this.constants.BASE_PARAMS_NAME))||{},n}getParamsFromUrl(){return this.getAllParamsFromUrl()[this.viewId]||{}}loadFromUrl(){this.loadingFromUrl=!0,this.callModuleAction("loadFromUrl"),this.tabulator&&(this.loadFromUrlAfterInit(),this.tabulator.setData())}refreshTableDataIfNotUrlLoad(){this.loadingFromUrl||(this.callModuleAction("beforeRefreshTableDataIfNotUrlLoad"),this.tabulator.element.style.height=`${this.tabulator.element.offsetHeight}px`,this.tabulator.setData().finally((()=>{this.tabulator.element.style.height=this.tabulator.options.height})))}isFiltered(){const e=this.getUrlParams()[this.constants.FILTER_DATA_NAME];return void 0!==e&&Object.values(e).some((e=>e))}loadFromUrlAfterInit(){window.htmx.process(this.tabulator.rowManager.tableElement),this.tabulator.on("dataProcessed",(e=>{window.htmx.process(this.tabulator.rowManager.tableElement),document.body.dispatchEvent(new CustomEvent("tableDataProcessed",{detail:{data:e,isFiltered:this.isFiltered()}}))})),this.callModuleAction("loadFromUrlAfterInit"),document.body.dispatchEvent(new CustomEvent("tableDataProcessed",{detail:{data:this.tabulator.getData(),isFiltered:this.isFiltered()}}))}initModules(e){let t={};return e.forEach((e=>{const i=window.SBAdminTableModulesClass[e];t[e]=new i(this)})),t}initDefaultColumns(e){e=[...this.callModuleAction("beforeDefaultColumns"),...e],this.tableInitialColumnsByField={},this.tableInitialColumnsOrder=[];const t=[];return e.forEach((e=>{t.push({...this.defaultColumnData,...e}),this.tableInitialColumnsByField[e.field]=JSON.parse(JSON.stringify(e)),this.tableInitialColumnsOrder.push(e.field)})),t}callModuleAction(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];let s=null,o=[],r=!1;return Object.values(this.moduleInstances).forEach((function(t){let n={};try{n=t[e](...i)}catch(e){console.warn(e)}Array.isArray(n)?(r=!0,o.push(...n)):"boolean"==typeof n?(null===s&&(s=!1),s=s||n):(null===s&&(s={}),s={...n,...s})})),r?o:s}updateUrlState(){this.loadingFromUrl||(this.tableHistoryEnabled&&history.pushState({},"",this.baseViewUrl+this.getUrlParamsString()),this.callModuleAction("afterUrlStateUpdate"),document.dispatchEvent(new CustomEvent("SBAdminTableNewURL"))),this.loadingFromUrl=!1}getAllUrlParams(){const e=this.getAllParamsFromUrl();return e[this.viewId]=this.getUrlParams(),e}getUrlParams(){return this.callModuleAction("getUrlParams")}getUrlParamsForSave(){return this.callModuleAction("getUrlParamsForSave")}getUrlParamsStringForSave(){let e=this.getUrlParamsForSave();return JSON.stringify(e)}paramsObjectToUrlString(e){return"?"+this.constants.BASE_PARAMS_NAME+"="+encodeURIComponent(JSON.stringify(e))}getUrlParamsString(){let e=this.getAllUrlParams();return this.paramsObjectToUrlString(e)}ajaxUrlGenerator(){return this.updateUrlState(),"POST"===this.tabulatorOptions.ajaxConfig.method?this.tableAjaxUrl:this.tableAjaxUrl+this.getUrlParamsString()}buildTabulatorTable(){this.lastTableParams={},Qe.extendModule("format","formatters",{detail_link:function(t){const i=t.getData()[e.tableIdColumnName];let n=t.getValue();return n||(n="-"),"<a href='"+e.tableDetailUrl.replace(e.constants.OBJECT_ID_PLACEHOLDER,i)+"'>"+n+"</a>"}}),this.defaultRowSelectionFormatter=Qe.moduleBindings.format.formatters.rowSelection;const e=this;class t extends Qe.moduleBindings.responsiveLayout{update(){}}Qe.moduleBindings.responsiveLayout=t;this.callModuleAction("requiresHeader")||(document.getElementById(this.viewId+"-tabulator-header").style.display="none");class i extends Me{render(){}}"no-render"===this.tabulatorOptions.renderVertical&&(this.tabulatorOptions.renderVertical=i),"no-render"===this.tabulatorOptions.renderHorizontal&&(this.tabulatorOptions.renderHorizontal=i);let n={columns:this.tableColumns,ajaxURL:this.tableAjaxUrl,initialSort:this.tableInitializeSort,paginationInitialPage:this.tableInitializePage,paginationSize:this.tableInitializePageSize,ajaxURLGenerator:(e,t,i)=>this.ajaxUrlGenerator(e,t,i),dataSendParams:{size:this.constants.TABLE_PARAMS_SIZE_NAME,page:this.constants.TABLE_PARAMS_PAGE_NAME,sort:this.constants.TABLE_PARAMS_SORT_NAME},...this.tabulatorOptions};"POST"===n.ajaxConfig.method&&(this.tableHistoryEnabled=!1),n.ajaxConfig.headers["X-CSRFToken"]=window.csrf_token,n.ajaxConfig.headers["X-TabulatorRequest"]=!0,n=this.callModuleAction("modifyTabulatorOptions",n),Qe.registerModule(bn),this.tabulator=new Qe(this.tableElSelector,n),this.tabulator.SBTable=this,document.addEventListener(window.sb_admin_const.TABLE_RELOAD_DATA_EVENT_NAME,(function(){e.refreshTableDataIfNotUrlLoad()})),document.addEventListener(window.sb_admin_const.TABLE_UPDATE_ROW_DATA_EVENT_NAME,(function(t){t.detail&&t.detail.rowData&&e.tabulator.updateData(t.detail.rowData)}))}executeListAction(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=this.getUrlParamsString();if("POST"===this.tabulatorOptions.ajaxConfig.method){const t=new URLSearchParams(n);let i={"Content-Type":"application/json","X-TabulatorRequest":!0};i={...i,...JSON.parse(document.body.getAttribute("hx-headers"))};let s="";fetch(e,{method:"POST",headers:i,body:JSON.stringify(JSON.parse(t.get(this.constants.BASE_PARAMS_NAME))||{})}).then((function(e){if(!e.ok)throw new Error("Network response was not ok "+e.statusText);e.redirected&&(window.location.href=e.url);const t=e.headers.get("Content-Disposition").split(";");return s=t[1].split("=")[1],e.blob()})).then((function(e){const t=window.URL.createObjectURL(e),i=document.createElement("a");i.style.display="none",i.href=t,i.download=s,document.body.appendChild(i),i.click(),window.URL.revokeObjectURL(t)})).catch((function(e){console.error("There was a problem with the fetch operation:",e)}))}else t||(e+=n),i?window.open(e,"_blank"):window.location.href=e}},window.SBAdminTableModulesClass={viewsModule:class extends et{constructor(){super(...arguments),it(this,"COMPARE_IGNORE_KEYS",["filterData.sb_selected_filter_type"])}requiresHeader(){return!0}filterParamsForCompare(e){return this.COMPARE_IGNORE_KEYS.forEach((t=>{(0,tt.unset)(e,t)})),e}refreshViewButtons(){const e=JSON.stringify(this.filterParamsForCompare(JSON.parse(this.table.getUrlParamsStringForSave()))),t=decodeURI(e);let i=document.getElementById("save-view-modal-button");this.selectedViewParams=this.table.getAllParamsFromUrl()[this.table.viewId];let n=JSON.stringify(this.filterParamsForCompare(this.selectedViewParams)),s=null;i&&(i.disabled=!0),document.querySelectorAll(".js-view-button").forEach((e=>{if(!e.dataset.params)return;const o=JSON.stringify(this.filterParamsForCompare(JSON.parse(e.dataset.params))),r=o===t,a=n===o;e.classList.remove("active"),e.classList.remove("changed"),!this.selectedViewParams&&r&&(e.classList.add("active"),s=e,this.selectedViewParams=JSON.parse(e.dataset.params)),a&&(s=e,e.classList.add("active")),a&&!r&&this.selectedViewParams&&(i&&(i.disabled=!1),e.classList.add("changed"))})),s||i&&(i.disabled=!1),document.querySelector("#"+this.table.constants.URL_PARAMS_NAME).value=t}afterUrlStateUpdate(){this.refreshViewButtons()}loadFromUrlAfterInit(){this.refreshViewButtons()}openView(e,t,i){if(t&&!e.target.closest("svg")){if("POST"===this.table.tabulatorOptions.ajaxConfig.method){const e={selectedView:i};let t=window.location.pathname;i&&(t+="?"+new URLSearchParams(e).toString()),history.pushState({},"",t)}else{const e=JSON.parse(t)||{},i=this.table.getAllUrlParams();i[this.table.viewId]=e,history.pushState({},"",window.location.pathname+this.table.paramsObjectToUrlString(i))}this.table.loadFromUrl()}}},selectionModule:class extends et{constructor(e){super(e),this.tableSelectedRows=new Set,this.tableDeselectedRows=new Set}setSelectedRows(e,t){if(this.tableSelectionInitialisation)return;let i=document.querySelector("#"+this.table.constants.SELECTED_ROWS_KWARG_NAME+"_info");const n=document.querySelector("#"+this.table.constants.SELECTED_ROWS_KWARG_NAME+"_bar");if(this.tableSelectedRows=e,this.tableDeselectedRows=t,e!==this.table.constants.SELECT_ALL_KEYWORD)i.innerHTML=window.sb_admin_translation_strings.selected.replace("${value}",e.size),e.size>0?(n.classList.add("show"),document.getElementById("table-selected-rows-bar-select-all").checked=!0):(document.getElementById("table-selected-rows-bar-select-all").checked=!1,n.classList.remove("show"));else{const e=this.table.tabulator.modules.page.remoteRowCountEstimate-t.size;i.innerHTML=window.sb_admin_translation_strings.selected.replace("${value}",e)}}selectAllData(){this.table.tabulator.selectRow("all"),this.setSelectedRows(this.table.constants.SELECT_ALL_KEYWORD,new Set),document.body.dispatchEvent(new CustomEvent("treeSelectAllRows"))}selectNoData(){this.table.tabulator.deselectRow(),this.setSelectedRows(new Set,new Set),document.body.dispatchEvent(new CustomEvent("treeDeselectAllRows"))}rowSelectionFormatter(e,t,i,n){let s=this.table.defaultRowSelectionFormatter.bind(e)(t,i,n),o=!1;s.setAttribute("aria-label","Select Row"),s.classList.add("checkbox");const r=document.createElement("label"),a=document.createElement("label");if(a.classList.add("row-select-wrapper"),"function"==typeof t.getRow){let e=t.getRow(),i=this.tableSelectedRows===this.table.constants.SELECT_ALL_KEYWORD&&!this.tableDeselectedRows.has(e.getData()[this.table.tableIdColumnName]),n=this.tableSelectedRows!==this.table.constants.SELECT_ALL_KEYWORD&&this.tableSelectedRows.has(e.getData()[this.table.tableIdColumnName]);o=i||n,o&&(this.tableSelectionInitialisation=!0,e.toggleSelect(),this.tableSelectionInitialisation=!1);const l=e.getData();s.setAttribute("id",`row-select-${l[this.table.tableIdColumnName]}`),s.setAttribute("name",`row-select-${this.table.viewId}`),r.setAttribute("for",`row-select-${l[this.table.tableIdColumnName]}`),a.setAttribute("for",`row-select-${l[this.table.tableIdColumnName]}`)}else s.setAttribute("id","row-select-all"),r.setAttribute("for","row-select-all"),a.setAttribute("for","row-select-all"),t.getElement().style="overflow: visible;";return a.append(s),a.append(r),a}beforeDefaultColumns(){const e=this;return[{field:"__selection",formatter:function(t,i,n){return e.rowSelectionFormatter(this,t,i,n)},titleFormatter:function(t,i,n){return e.rowSelectionFormatter(this,t,i,n)},visible:!0,headerSort:!1,width:"52"}]}getSelectionHandler(e){return t=>{let i=this.tableSelectedRows,n=this.tableDeselectedRows;"rowDeselected"===e&&(i===this.table.constants.SELECT_ALL_KEYWORD?n.add(t.getData()[this.table.tableIdColumnName]):i.delete(t.getData()[this.table.tableIdColumnName])),"rowSelected"===e&&(i===this.table.constants.SELECT_ALL_KEYWORD?n.delete(t.getData()[this.table.tableIdColumnName]):i.add(t.getData()[this.table.tableIdColumnName])),this.setSelectedRows(i,n)}}getUrlParams(){const e={},t={},i=this.table.constants.SELECT_ALL_KEYWORD===this.tableSelectedRows?this.tableSelectedRows:Array.from(this.tableSelectedRows),n=Array.from(this.tableDeselectedRows);return i.length>0&&(t[this.table.constants.SELECTED_ROWS_KWARG_NAME]=i),n.length>0&&(t[this.table.constants.DESELECTED_ROWS_KWARG_NAME]=n),(i.length>0||n.length>0)&&(e[this.table.constants.SELECTION_DATA_NAME]=t),e}getUrlParamsForSave(){return{}}afterInit(){this.table.tabulator.on("rowSelected",this.getSelectionHandler("rowSelected")),this.table.tabulator.on("rowDeselected",this.getSelectionHandler("rowDeselected")),this.table.tabulator.on("rowSelectionChanged",(e=>{0===e.length&&document.body.dispatchEvent(new CustomEvent("treeDeselectAllRows"))})),document.body.addEventListener("treeRowSelected",(e=>{const t=this.table.tabulator.getSelectedData().map((e=>e.id)),i=e.detail.data,n=new Set(e.detail.data),s=t.filter((e=>!n.has(e)));this.table.tabulator.deselectRow(s),this.table.tabulator.selectRow(i)}))}loadFromUrlAfterInit(){this.selectNoData()}beforeRefreshTableDataIfNotUrlLoad(){this.selectNoData()}},columnDisplayModule:class extends et{constructor(e){super(e),this.defaultVisible=!0,this.defaultCollapsed=!1}requiresHeader(){return!0}handleColumnVisibility(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t?e.show():e.hide(),t&&i&&this.table.tabulator.modules.responsiveLayout.hideColumn(e),t&&!i&&this.table.tabulator.modules.responsiveLayout.showColumn(e),!t&&i&&(this.table.tabulator.modules.responsiveLayout.showColumn(e),e.hide()),n||(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field]||(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field]={}),this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME]=t,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME]=i,this.table.refreshTableDataIfNotUrlLoad())}createCheckbox(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["checkbox"];const n=document.createElement("div");n.classList.add("relative");const s=document.createElement("label"),o=document.createElement("input");return o.id=e,o.name=o.id,o.type="checkbox",o.classList.add(...i),o.checked=t,s.htmlFor=o.id,n.appendChild(o),n.appendChild(s),[n,o,s]}refreshColumnWidget(){const e=this.table.tabulator.getColumns(!0),t=document.querySelector(`#${this.table.columnWidgetId}`);t&&(t.innerHTML="",e.forEach((e=>{const i=e._getSelf(),n=this.table.viewId+"_"+i.field,s=document.createElement("li"),o=i.getDefinition().title;o||(s.style="display: none");const[r,a]=this.createCheckbox(n+"_visible",this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][i.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME],["checkbox","js-select-all-item"]),[l,h,u]=this.createCheckbox(n+"_collapsed",this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][i.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME],["checkbox","checkbox-icon"]);l.classList.add("ml-auto"),u.appendChild(nt("Pin",["w-16","h-16"])),u.appendChild(nt("Pin Filled",["w-16","h-16"])),a.addEventListener("change",lt()((()=>{this.handleColumnVisibility(i,a.checked,h.checked)}),200)),h.addEventListener("change",lt()((()=>{this.handleColumnVisibility(i,a.checked,h.checked)}),200));const c=document.createElement("div");c.classList.add("ml-8","-mr-8"),c.innerHTML='<div class="js-drag-handle cursor-pointer ml-auto"><svg class="w-20 h-20 text-dark-400"><use xlink:href="#Drag"></use></svg></div>';const d=document.createElement("div");d.classList.add("line-clamp-1","mr-4"),d.innerHTML=o,s.appendChild(r),s.appendChild(d),s.appendChild(l),s.appendChild(c),t.appendChild(s)})),this.sortable=new pn(t,{handle:".js-drag-handle",animation:150,ghostClass:"bg-primary-50",onEnd:e=>{let t=e.oldIndex,i=e.newIndex,n=this.table.tabulator.getColumns(),s=n[t],o=n[i];s.move(o,t<i),this.table.updateUrlState()}}))}sortColumns(e,t){if(!(t&&t.order&&t[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]))return e;let i=[];return t.order.forEach((n=>{e.forEach((e=>{e.field===n&&(i.push(e),e.visible=void 0!==t[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][n]?t[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][n][this.table.constants.COLUMNS_DATA_VISIBLE_NAME]:this.defaultVisible)}))})),i}getUrlParams(){const e={};if(this.table.tabulator){const t=[],i={};this.table.tabulator.getColumns().forEach((e=>{t.push(e.getField())})),t.toString()!==this.table.tableInitialColumnsOrder.toString()&&(e[this.table.constants.COLUMNS_DATA_NAME]=e[this.table.constants.COLUMNS_DATA_NAME]||{},e[this.table.constants.COLUMNS_DATA_NAME][this.table.constants.COLUMNS_DATA_ORDER_NAME]=t),Object.keys(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]).forEach((e=>{const t=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e],n=this.table.tableInitialColumnsByField[e]||{},s=n.visible,o=n.collapsed||!1,r=t[this.table.constants.COLUMNS_DATA_COLLAPSED_NAME]||!1;(t[this.table.constants.COLUMNS_DATA_VISIBLE_NAME]!==s||r!==o)&&(i[e]=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e])})),Object.keys(i).length>0&&(e[this.table.constants.COLUMNS_DATA_NAME]=e[this.table.constants.COLUMNS_DATA_NAME]||{},e[this.table.constants.COLUMNS_DATA_NAME][this.table.constants.COLUMNS_DATA_COLUMNS_NAME]=i)}return e}loadFromUrl(){const e=this.table.getParamsFromUrl();this.columnsData=e[this.table.constants.COLUMNS_DATA_NAME]||{},this.columnsData[this.table.constants.COLUMNS_DATA_ORDER_NAME]=this.columnsData[this.table.constants.COLUMNS_DATA_ORDER_NAME]||this.table.tableInitialColumnsOrder,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]||{};const t={},i=JSON.parse(JSON.stringify(this.table.tableInitialColumnsByField));Object.keys(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]).forEach((e=>{t[e]=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e]})),Object.keys(i).forEach((e=>{this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e]=t[e]||i[e]})),this.table.tabulator?this.table.tabulator.setColumns(this.sortColumns(this.table.tableColumns,this.columnsData)):this.table.tableColumns=this.sortColumns(this.table.tableColumns,this.columnsData)}loadFromUrlAfterInit(){this.table.tabulator.getColumns().forEach((e=>{const t=e._getSelf();void 0===this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field]&&(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field]={},this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME]=void 0!==t.visible?t.visible:this.defaultVisible,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME]=void 0!==t.collapsed?t.collapsed:this.defaultCollapsed)})),this.table.tabulator.getColumns().forEach((e=>{const t=e._getSelf();this.handleColumnVisibility(t,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME],this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME],!0)})),this.refreshColumnWidget()}},filterModule:class extends et{requiresHeader(){return!0}afterInit(){st(`[form=${this.table.filterFormId}]`,(e=>{this.table.refreshTableDataIfNotUrlLoad(),this.filterInputValueChanged(e.target)}))}loadFromUrl(){const e=this.table.getParamsFromUrl()[this.table.constants.FILTER_DATA_NAME];document.querySelector(`#${this.table.filterFormId}`).reset(),document.querySelectorAll(`[form=${this.table.filterFormId}]`).forEach((e=>{const t=e.closest(".filter-wrapper");t?t.hasAttribute("data-all-filters-visible")||this.hideFilter(t.getAttribute("data-filter-input-name")):this.hideFilter(e.getAttribute("name"),!1)})),e&&Object.entries(e).forEach((e=>{let t=this.getFormField(e[0]);t&&(this.showFilter(e[0],!1),t.value=e[1],t.dispatchEvent(new CustomEvent("SBTableFilterFormLoad")),this.filterInputValueChanged(t))}))}getFormField(e){return document.querySelector(`#${this.table.viewId}-${e}`)}filterInputValueChanged(e){const t=rt(e);t&&this.changeFilterButtonState(t)}changeFilterButtonState(e){const t=e.closest("button");e.innerHTML?t.classList.remove("empty"):t.classList.add("empty")}getUrlParams(){const e={},t=document.querySelector(`#${this.table.filterFormId}`),i=new FormData(t).entries(),n={};for(const[e,t]of i)n[e]=t;return Object.keys(n).length>0&&(e[this.table.constants.FILTER_DATA_NAME]=n),e}focusOnFilterInput(e){setTimeout((()=>{var t;e.children[0].click(),null===(t=e.querySelector('input:not([type="hidden"])'))||void 0===t||t.focus()}),100)}showFilter(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.getFormField(e),n=document.querySelector(`#${this.table.viewId}-${e}-wrapper`);n&&(!t||n&&n.classList.contains("hidden")?(i.disabled=!1,n.classList.remove("hidden"),t&&this.focusOnFilterInput(n),this.table.refreshTableDataIfNotUrlLoad()):this.focusOnFilterInput(n))}hideFilter(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.getFormField(e),n=document.querySelector(`#${this.table.viewId}-${e}-wrapper`);i&&(i.value="",n&&t&&(n.classList.add("hidden"),i.disabled=!0),i.dispatchEvent(new Event("change")),i.dispatchEvent(new CustomEvent("clear")),this.table.refreshTableDataIfNotUrlLoad())}clearFilter(e){const t=this.getFormField(e);t.value="",t.dispatchEvent(new Event("change")),t.dispatchEvent(new CustomEvent("clear",{detail:{refresh:!0}})),this.table.refreshTableDataIfNotUrlLoad()}},advancedFilterModule:class extends et{constructor(e){super(e),this.componentInitMap={".js-autocomplete":(e,t,i)=>{window.SBAdmin.autocomplete.initAutocomplete(i)},".js-simple-multiselect":(e,t,i)=>{window.SBAdmin.multiselect.initMultiselect(i),i.dispatchEvent(new CustomEvent("SBTableFilterFormLoad"))},".js-range":(e,t,i)=>{window.SBAdmin.range.initRange(i),i.dispatchEvent(new CustomEvent("SBTableFilterFormLoad"))},".js-datepicker-dynamic":(e,t,i)=>{this.dateOperatorUpdate(e,t,i)}},this.afterUpdateRuleOperatorFunctions={".js-range":this.rangeOperatorUpdate,".js-datepicker-dynamic":this.dateOperatorUpdate.bind(this)}}loadFromUrl(){var e;const t={condition:"AND",rules:[{empty:!0}]};let i=this.table.getParamsFromUrl()[this.table.constants.ADVANCED_FILTER_DATA_NAME];null!==(e=i)&&void 0!==e&&e.rules&&0!==i.rules.length||(i=t),document.querySelectorAll(".js-datepicker-dynamic").forEach((e=>{this.destroyDatePicker(e)})),window.dispatchEvent(new CustomEvent("SBinitOrUpdateQueryBuilder",{detail:{SBTable:this,filterData:i}}))}afterInit(){document.addEventListener("click",(e=>{e.target.closest("[data-execute]")&&this.table.refreshTableDataIfNotUrlLoad()}))}initFilters(e,t){const i=t.$el[0];Object.keys(this.componentInitMap).forEach((e=>{const n=i.querySelector(e);n&&this.componentInitMap[e](t,i,n)})),i.querySelectorAll(`[form=${this.table.advancedFilterId}]`).forEach((e=>{rt(e)})),st(`[form=${this.table.advancedFilterId}]`,(e=>{rt(e.target)}))}afterUpdateRuleOperator(e,t){const i=t.$el[0];Object.keys(this.afterUpdateRuleOperatorFunctions).forEach((e=>{const n=i.querySelector(e);n&&this.afterUpdateRuleOperatorFunctions[e](t,i,n)}))}getUrlParams(){const e=document.querySelector(`#${this.table.advancedFilterId}`),t=$(e).queryBuilder("getRules",{allow_invalid:!0,skip_empty:!0});return{[this.table.constants.ADVANCED_FILTER_DATA_NAME]:t}}rangeOperatorUpdate(e,t,i){const n=t.querySelector(`[name=${i.id}_to]`);["between","not_between"].includes(e.operator.type)?n.classList.remove("hidden"):n.classList.contains("hidden")||n.classList.add("hidden")}destroyDatePicker(e){var t;if(e._flatpickr)return null===(t=e._flatpickr.calendarContainer)||void 0===t||t.remove(),e._flatpickr.clear(),e._flatpickr.destroy(),void(e._flatpickr=void 0);const i=window.bootstrap5.Dropdown.getInstance(e);var n;i&&(i.dispose(),e.removeAttribute("data-bs-toggle"),null===(n=e.nextElementSibling)||void 0===n||n.remove(),e.readOnly=!1,e.value="")}dateOperatorUpdate(e,t,i){let n={inline:!1,mode:"single",allowInput:!0,plugins:[gn,fn]};["between","not_between","in_the_last","in_the_next"].includes(e.operator.type)&&(n.mode="range"),this.destroyDatePicker(i);const s=JSON.parse(i.dataset.sbadminDatepickerShortcutsDict);i.dataset.sbadminDatepickerShortcuts=JSON.stringify(s[e.operator.type]||[]),["in_the_last","in_the_next"].includes(e.operator.type)?window.SBAdmin.datepicker.initShortcutsDropdown(i,{},n):window.SBAdmin.datepicker.initFlatPickr(i,{},n)}},tableParamsModule:class extends et{loadFromUrl(){const e=this.table.getParamsFromUrl()[this.table.constants.TABLE_PARAMS_NAME];let t=this.table.tableInitialSort,i=this.table.tableInitialPage,n=this.table.tableInitialPageSize;e&&(t=e[this.table.constants.TABLE_PARAMS_SORT_NAME]||t,i=e.page||i,n=e.size||n),t=this.getSortDataFromSorters(t),this.table.tabulator?(this.table.tabulator.modules.sort.setSort(t),this.table.tabulator.modules.page.size=n,this.table.tabulator.modules.page.page=i):(this.table.tableInitializeSort=t,this.table.tableInitializePage=i,this.table.tableInitializePageSize=n)}getSortDataFromSorters(e){let t=[];return null==e||e.forEach((e=>{t.push({column:e.field||e.column.field,dir:e.dir})})),t}getUrlParams(){const e={},t={};this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SIZE_NAME]!==this.table.tableInitialPageSize&&(t[this.table.constants.TABLE_PARAMS_SIZE_NAME]=this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SIZE_NAME]),this.table.lastTableParams[this.table.constants.TABLE_PARAMS_PAGE_NAME]!==this.table.tableInitialPage&&(t[this.table.constants.TABLE_PARAMS_PAGE_NAME]=this.table.lastTableParams[this.table.constants.TABLE_PARAMS_PAGE_NAME]);const i=this.getSortDataFromSorters(this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SORT_NAME]),n=this.getSortDataFromSorters(this.table.tableInitialSort);return i.length>0&&JSON.stringify(i)!==JSON.stringify(n)&&(t[this.table.constants.TABLE_PARAMS_SORT_NAME]=this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SORT_NAME]),Object.keys(t).length>0&&(e[this.table.constants.TABLE_PARAMS_NAME]=t),e}getUrlParamsForSave(){const e={},t=this.getUrlParams()[this.table.constants.TABLE_PARAMS_NAME];return t&&(delete t[this.table.constants.TABLE_PARAMS_PAGE_NAME],e[this.table.constants.TABLE_PARAMS_NAME]=t),e}loadFromUrlAfterInit(){const e=document.querySelector(`#${this.table.paginationWidgetId}`),t=document.querySelector(`#${this.table.pageSizeWidgetId}`);this.createPagination(e),this.createPageSize(t),this.table.tabulator.on("dataProcessed",(()=>{this.createPagination(e),this.createPageSize(t)}))}createPaginationButton(e,t,i){const n=document.createElement("button");return e instanceof Node?n.appendChild(e):n.innerHTML=e,n.type="button",n.classList.add("tabulator-page"),t?(n.onclick=t,i&&n.classList.add("active"),n):(n.disabled=!0,n)}createPaginationButtonsFromRange(e,t,i,n){Array.from({length:e},t).forEach((e=>{i.appendChild(this.createPaginationButton(e,(()=>{this.table.tabulator.setPage(e)}),e===n))}))}createPagination(e){if(!e)return;const t=this.table.tabulator.getPageMax(),i=this.table.tabulator.getPage(),n=this.table.tabulator.getPageSize();e.innerHTML="";const s=document.createElement("div");s.classList.add("max-xs:text-12");const o=this.table.tabulator.getDataCount();if(o>0){const e=n*(i-1)+1,t=n===o?n*i:n*(i-1)+this.table.tabulator.getDataCount();s.innerHTML=window.sb_admin_translation_strings.page.replace("${from}",e).replace("${to}",t).replace("${total}",this.table.tabulator.modules.page.remoteRowCountEstimate)}else s.innerHTML=window.sb_admin_translation_strings.page_empty;if(e.appendChild(s),1===t)return;const r=document.createElement("div");r.classList.add("tabulator-paginator"),e.appendChild(r);const a=this.createPaginationButton(nt("Left",["w-20","h-20"]),(()=>{this.table.tabulator.setPage(i-1)}));a.disabled=1===i,r.appendChild(a);const l=this.table.constants.PAGINATION_ACTIVE_RANGE;t>l+1?i>=l?(r.appendChild(this.createPaginationButton(1,(()=>{this.table.tabulator.setPage(1)}))),r.appendChild(this.createPaginationButton(nt("More",["w-20","h-20","mt-8"]))),i>t-l+1?this.createPaginationButtonsFromRange(l,((e,i)=>i+1+t-l),r,i):(this.createPaginationButtonsFromRange(l,((e,t)=>t+i-Math.floor(l/2)),r,i),r.appendChild(this.createPaginationButton(nt("More",["w-20","h-20","mt-8"]))),r.appendChild(this.createPaginationButton(t,(()=>{this.table.tabulator.setPage(t)}))))):(this.createPaginationButtonsFromRange(l,((e,t)=>t+1),r,i),r.appendChild(this.createPaginationButton(nt("More",["w-20","h-20","mt-8"]))),r.appendChild(this.createPaginationButton(t,(()=>{this.table.tabulator.setPage(t)})))):this.createPaginationButtonsFromRange(t,((e,t)=>t+1),r,i);const h=this.createPaginationButton(nt("Right",["w-20","h-20"]),(()=>{this.table.tabulator.setPage(i+1)}));h.disabled=i===t,r.appendChild(h)}createPageSize(e){if(!e)return;e.innerHTML="";const t=document.createElement("div");t.classList.add("relative");const i=document.createElement("ul");i.classList.add("dropdown-menu","dropdown-menu-end"),i.style.maxWidth="120px",this.table.constants.PAGE_SIZE_OPTIONS.forEach((e=>{const t=document.createElement("li");t.classList.add("dropdown-menu-link"),t.innerHTML=e,t.onclick=()=>{this.table.tabulator.setPageSize(e)},i.appendChild(t)})),t.appendChild(this.createPageSizeDropdownButton(this.table.tabulator.getPageSize())),t.appendChild(i),e.appendChild(t)}createPageSizeDropdownButton(e){const t=document.createElement("button");t.type="button",t.classList.add("btn","px-10","font-normal","sm:min-w-84"),t.setAttribute("data-bs-toggle","dropdown"),t.setAttribute("aria-expanded","false"),t.setAttribute("data-bs-offset","[0,8]");const i=document.createElement("span");return i.innerHTML=e,t.appendChild(i),t.appendChild(nt("Down",["w-20","h-20","ml-8"])),t}},detailViewModule:class extends et{afterInit(){this.table.tabulator.on("rowClick",((e,t)=>{e.target.closest(".row-select-wrapper")||e.target.closest(".row-prevent-click")||(window.location=this.table.tableDetailUrl.replace(this.table.constants.OBJECT_ID_PLACEHOLDER,t.getData()[this.table.tableIdColumnName])+"?_changelist_filters="+encodeURIComponent(this.table.getUrlParamsString().replace("?"+this.table.constants.BASE_PARAMS_NAME+"=",this.table.constants.BASE_PARAMS_NAME+"=")))}))}},movableColumnsModule:class extends et{dragFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.reorder}"><svg class="w-16 h-16"><use xlink:href="#Hamburger-button"></use></svg></div>`}getRowPosition(e){return(e.getTable().getPage()-1)*e.getTable().getPageSize()+e.getPosition(!0)}getPagePositions(e){const t=e.getPage(),i=e.getPageSize();return{startPosition:(t-1)*i,endPosition:t*i}}isPositionInPage(e,t){return t>=e.startPosition&&t<e.endPosition}maxRowPosition(e){return e.modules.page.remoteRowCountEstimate}moveRowToPosition(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(t<=0)return;const n=e.getTable(),s=t-1;t>this.maxRowPosition(n)&&(t=this.maxRowPosition(n));let o=!0;t>this.getRowPosition(e)&&(o=!1),null!==i&&(o=i);const r=n.getPageSize(),a=this.getPagePositions(n),l=this.isPositionInPage(a,s),h=s-a.startPosition;if(!l){let i=Math.floor(s/r)+1;n.setPage(i),this.moveRowAfterNewData={rowData:e.getData(),newRowPosition:t,up:o}}l&&(n.moveRow(e,n.getRows()[h],o),this.rowMoved(e))}rownumEdited(e){const t=e.getValue();this.moveRowToPosition(e.getRow(),t)}rownumFormatter(e){const t=this.getRowPosition(e.getRow());return e.getRow()._getSelf().oldPosition=t,t}arrowUpFirstFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.first}"><svg class="w-16 h-16"><use xlink:href="#Double-up"></use></svg></div>`}arrowUpFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.up}"><svg class="w-16 h-16"><use xlink:href="#Up"></use></svg></div>`}arrowDownFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.down}"><svg class="w-16 h-16"><use xlink:href="#Down"></use></svg></div>`}arrowDownLastFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.last}"><svg class="w-16 h-16"><use xlink:href="#Double-down"></use></svg></div>`}arrowUpMove(e){this.moveRowToPosition(e.getRow(),this.getRowPosition(e.getRow())-1)}arrowUpFirstMove(e){this.moveRowToPosition(e.getRow(),1)}arrowDownMove(e){this.moveRowToPosition(e.getRow(),this.getRowPosition(e.getRow())+1)}arrowDownLastMove(e){this.moveRowToPosition(e.getRow(),this.maxRowPosition(e.getTable()))}beforeDefaultColumns(){return[{rowHandle:!0,formatter:this.dragFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowUpFirstMove(t)},formatter:this.arrowUpFirstFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowUpMove(t)},formatter:this.arrowUpFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowDownMove(t)},formatter:this.arrowDownFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowDownLastMove(t)},formatter:this.arrowDownLastFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{formatter:e=>this.rownumFormatter(e),headerSort:!1,visible:!0,editor:"input",cellEdited:e=>{this.rownumEdited(e)}}]}modifyTabulatorOptions(e){return e.movableRows=!0,e}rowMoved(e){const t=e.getData()[this.table.tableIdColumnName],i=e._getSelf().oldPosition;let n=e.getPosition(!0),s=null;const o=e.getNextRow();o&&(s=o.getData()[this.table.tableIdColumnName]);const r=i<n?i:n,a=i>n?i:n;this.table.tabulator.getRows().forEach((e=>{const t=e.getPosition(!0);t>=r&&t<=a&&e.reformat()}));const l=new FormData;l.set("currentRowId",t),l.set("replacedRowId",s),fetch(this.table.tableActionMoveUrl,{method:"POST",headers:{"X-CSRFToken":window.csrf_token},body:l}).then((e=>e.json())).then((e=>{console.log(e)}))}afterInit(){this.table.tabulator.on("rowMoved",(e=>{this.rowMoved(e)})),this.table.tabulator.on("dataProcessed",(()=>{this.moveRowAfterNewData&&this.table.tabulator.addRow(this.moveRowAfterNewData.rowData).then((e=>{this.moveRowToPosition(e,this.moveRowAfterNewData.newRowPosition,this.moveRowAfterNewData.up);const t=this.table.tabulator.getRows();!0===this.moveRowAfterNewData.up?t[t.length-1].delete():t[0].delete(),this.moveRowAfterNewData=null}))}))}},dataEditModule:class extends et{afterInit(){this.table.tabulator.on("cellEdited",(e=>{const t=e.getRow().getData()[this.table.tableIdColumnName],i=new FormData;i.set("currentRowId",t),i.set("columnFieldName",e.getColumn().getField()),i.set("cellValue",e.getValue()),window.htmx.ajax("POST",this.table.tableDataEditUrl,{swap:"none",values:{currentRowId:t,columnFieldName:e.getColumn().getField(),cellValue:e.getValue()}})}))}},fullTextSearchModule:class extends et{loadFromUrl(){var e;if(this.searchInputEl=document.getElementById(`${this.table.viewId}-${this.table.constants.TABLE_PARAMS_FULL_TEXT_SEARCH}`),!this.searchInputEl)return;const t=null===(e=this.table.getParamsFromUrl()[this.table.constants.FILTER_DATA_NAME])||void 0===e?void 0:e[this.table.constants.TABLE_PARAMS_FULL_TEXT_SEARCH];this.searchInputEl.value=t||""}},headerTabsModule:class extends et{afterInit(){const e=document.querySelector(".js-filters-options"),t=document.querySelector(`[name=${this.table.constants.TABLE_PARAMS_SELECTED_FILTER_TYPE}]`);e&&t&&e.querySelectorAll('[data-bs-toggle="tab"]').forEach((e=>{e.addEventListener("show.bs.tab",(e=>{"tab_saved_views"!==e.target.id&&(t.value=e.target.id)}))}))}beforeRefreshTableDataIfNotUrlLoad(){const e=document.querySelectorAll(".tabulator-custom-header .tab-pane"),t=document.querySelector(`[name=${this.table.constants.TABLE_PARAMS_SELECTED_FILTER_TYPE}]`);if(e.forEach((e=>{t.value!==e.getAttribute("aria-labelledby")&&e.querySelectorAll(`[form=${this.table.filterFormId}]`).forEach((e=>{e!==t&&(e.value="",rt(e),e.dispatchEvent(new CustomEvent("clearSelectedItems")))}))})),"tab_advanced_filters"!==t.value){const e=document.querySelector(`#${this.table.advancedFilterId}`),t={condition:"AND",rules:[{empty:!0}]};$(e).queryBuilder("setRules",t)}}loadFromUrlAfterInit(){const e=document.querySelector(`[name=${this.table.constants.TABLE_PARAMS_SELECTED_FILTER_TYPE}]`);if(!e)return;if("tab_saved_views"!==document.querySelector(".js-filters-options").querySelector('[data-bs-toggle="tab"].active').id){if(""===e.value){const t=document.querySelector(".js-filters-options");e.value=t.querySelector('[data-bs-toggle="tab"]').id}document.getElementById(e.value).click()}window.location.search.includes("tabCreated")&&(e.value="tab_saved_views",document.getElementById(e.value).click())}}}})()})();
2
+ (()=>{var e={2705:(e,t,i)=>{var n=i(5639).Symbol;e.exports=n},4239:(e,t,i)=>{var n=i(2705),s=i(9607),o=i(2333),r="[object Null]",a="[object Undefined]",l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:r:l&&l in Object(e)?s(e):o(e)}},7561:(e,t,i)=>{var n=i(7990),s=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(s,""):e}},1957:(e,t,i)=>{var n="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;e.exports=n},9607:(e,t,i)=>{var n=i(2705),s=Object.prototype,o=s.hasOwnProperty,r=s.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),i=e[a];try{e[a]=void 0;var n=!0}catch(e){}var s=r.call(e);return n&&(t?e[a]=i:delete e[a]),s}},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,i)=>{var n=i(1957),s="object"==typeof self&&self&&self.Object===Object&&self,o=n||s||Function("return this")();e.exports=o},7990:e=>{var t=/\s/;e.exports=function(e){for(var i=e.length;i--&&t.test(e.charAt(i)););return i}},3279:(e,t,i)=>{var n=i(3218),s=i(7771),o=i(4841),r="Expected a function",a=Math.max,l=Math.min;e.exports=function(e,t,i){var h,u,c,d,p,m,g=0,f=!1,b=!1,v=!0;if("function"!=typeof e)throw new TypeError(r);function w(t){var i=h,n=u;return h=u=void 0,g=t,d=e.apply(n,i)}function C(e){var i=e-m;return void 0===m||i>=t||i<0||b&&e-g>=c}function y(){var e=s();if(C(e))return E(e);p=setTimeout(y,function(e){var i=t-(e-m);return b?l(i,c-(e-g)):i}(e))}function E(e){return p=void 0,v&&h?w(e):(h=u=void 0,d)}function R(){var e=s(),i=C(e);if(h=arguments,u=this,m=e,i){if(void 0===p)return function(e){return g=e,p=setTimeout(y,t),f?w(e):d}(m);if(b)return clearTimeout(p),p=setTimeout(y,t),w(m)}return void 0===p&&(p=setTimeout(y,t)),d}return t=o(t)||0,n(i)&&(f=!!i.leading,c=(b="maxWait"in i)?a(o(i.maxWait)||0,t):c,v="trailing"in i?!!i.trailing:v),R.cancel=function(){void 0!==p&&clearTimeout(p),g=0,h=m=u=p=void 0},R.flush=function(){return void 0===p?d:E(s())},R}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,i)=>{var n=i(4239),s=i(7005),o="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||s(e)&&n(e)==o}},6486:function(e,t,i){var n;e=i.nmd(e),function(){var s,o="Expected a function",r="__lodash_hash_undefined__",a="__lodash_placeholder__",l=16,h=32,u=64,c=128,d=256,p=1/0,m=9007199254740991,g=NaN,f=4294967295,b=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",l],["flip",512],["partial",h],["partialRight",u],["rearg",d]],v="[object Arguments]",w="[object Array]",C="[object Boolean]",y="[object Date]",E="[object Error]",R="[object Function]",_="[object GeneratorFunction]",T="[object Map]",x="[object Number]",S="[object Object]",M="[object Promise]",L="[object RegExp]",k="[object Set]",D="[object String]",A="[object Symbol]",P="[object WeakMap]",O="[object ArrayBuffer]",F="[object DataView]",z="[object Float32Array]",H="[object Float64Array]",N="[object Int8Array]",I="[object Int16Array]",B="[object Int32Array]",V="[object Uint8Array]",W="[object Uint8ClampedArray]",j="[object Uint16Array]",U="[object Uint32Array]",G=/\b__p \+= '';/g,q=/\b(__p \+=) '' \+/g,X=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,J=/[&<>"']/g,$=RegExp(Y.source),K=RegExp(J.source),Z=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ie=/^\w*$/,ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,se=/[\\^$.*+?()[\]{}|]/g,oe=RegExp(se.source),re=/^\s+/,ae=/\s/,le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,he=/\{\n\/\* \[wrapped with (.+)\] \*/,ue=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,de=/[()=,{}\[\]\/\s]/,pe=/\\(\\)?/g,me=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ge=/\w*$/,fe=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,ve=/^\[object .+?Constructor\]$/,we=/^0o[0-7]+$/i,Ce=/^(?:0|[1-9]\d*)$/,ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ee=/($^)/,Re=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",Te="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xe="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",Me="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\ufe0e\\ufe0f",ke="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",De="['’]",Ae="["+_e+"]",Pe="["+ke+"]",Oe="["+Te+"]",Fe="\\d+",ze="["+xe+"]",He="["+Se+"]",Ne="[^"+_e+ke+Fe+xe+Se+Me+"]",Ie="\\ud83c[\\udffb-\\udfff]",Be="[^"+_e+"]",Ve="(?:\\ud83c[\\udde6-\\uddff]){2}",We="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Me+"]",Ue="\\u200d",Ge="(?:"+He+"|"+Ne+")",qe="(?:"+je+"|"+Ne+")",Xe="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Je="(?:"+Oe+"|"+Ie+")"+"?",$e="["+Le+"]?",Ke=$e+Je+("(?:"+Ue+"(?:"+[Be,Ve,We].join("|")+")"+$e+Je+")*"),Ze="(?:"+[ze,Ve,We].join("|")+")"+Ke,Qe="(?:"+[Be+Oe+"?",Oe,Ve,We,Ae].join("|")+")",et=RegExp(De,"g"),tt=RegExp(Oe,"g"),it=RegExp(Ie+"(?="+Ie+")|"+Qe+Ke,"g"),nt=RegExp([je+"?"+He+"+"+Xe+"(?="+[Pe,je,"$"].join("|")+")",qe+"+"+Ye+"(?="+[Pe,je+Ge,"$"].join("|")+")",je+"?"+Ge+"+"+Xe,je+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Fe,Ze].join("|"),"g"),st=RegExp("["+Ue+_e+Te+Le+"]"),ot=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,rt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],at=-1,lt={};lt[z]=lt[H]=lt[N]=lt[I]=lt[B]=lt[V]=lt[W]=lt[j]=lt[U]=!0,lt[v]=lt[w]=lt[O]=lt[C]=lt[F]=lt[y]=lt[E]=lt[R]=lt[T]=lt[x]=lt[S]=lt[L]=lt[k]=lt[D]=lt[P]=!1;var ht={};ht[v]=ht[w]=ht[O]=ht[F]=ht[C]=ht[y]=ht[z]=ht[H]=ht[N]=ht[I]=ht[B]=ht[T]=ht[x]=ht[S]=ht[L]=ht[k]=ht[D]=ht[A]=ht[V]=ht[W]=ht[j]=ht[U]=!0,ht[E]=ht[R]=ht[P]=!1;var ut={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ct=parseFloat,dt=parseInt,pt="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,mt="object"==typeof self&&self&&self.Object===Object&&self,gt=pt||mt||Function("return this")(),ft=t&&!t.nodeType&&t,bt=ft&&e&&!e.nodeType&&e,vt=bt&&bt.exports===ft,wt=vt&&pt.process,Ct=function(){try{var e=bt&&bt.require&&bt.require("util").types;return e||wt&&wt.binding&&wt.binding("util")}catch(e){}}(),yt=Ct&&Ct.isArrayBuffer,Et=Ct&&Ct.isDate,Rt=Ct&&Ct.isMap,_t=Ct&&Ct.isRegExp,Tt=Ct&&Ct.isSet,xt=Ct&&Ct.isTypedArray;function St(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}function Mt(e,t,i,n){for(var s=-1,o=null==e?0:e.length;++s<o;){var r=e[s];t(n,r,i(r),e)}return n}function Lt(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}function kt(e,t){for(var i=null==e?0:e.length;i--&&!1!==t(e[i],i,e););return e}function Dt(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(!t(e[i],i,e))return!1;return!0}function At(e,t){for(var i=-1,n=null==e?0:e.length,s=0,o=[];++i<n;){var r=e[i];t(r,i,e)&&(o[s++]=r)}return o}function Pt(e,t){return!!(null==e?0:e.length)&&jt(e,t,0)>-1}function Ot(e,t,i){for(var n=-1,s=null==e?0:e.length;++n<s;)if(i(t,e[n]))return!0;return!1}function Ft(e,t){for(var i=-1,n=null==e?0:e.length,s=Array(n);++i<n;)s[i]=t(e[i],i,e);return s}function zt(e,t){for(var i=-1,n=t.length,s=e.length;++i<n;)e[s+i]=t[i];return e}function Ht(e,t,i,n){var s=-1,o=null==e?0:e.length;for(n&&o&&(i=e[++s]);++s<o;)i=t(i,e[s],s,e);return i}function Nt(e,t,i,n){var s=null==e?0:e.length;for(n&&s&&(i=e[--s]);s--;)i=t(i,e[s],s,e);return i}function It(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}var Bt=Xt("length");function Vt(e,t,i){var n;return i(e,(function(e,i,s){if(t(e,i,s))return n=i,!1})),n}function Wt(e,t,i,n){for(var s=e.length,o=i+(n?1:-1);n?o--:++o<s;)if(t(e[o],o,e))return o;return-1}function jt(e,t,i){return t==t?function(e,t,i){var n=i-1,s=e.length;for(;++n<s;)if(e[n]===t)return n;return-1}(e,t,i):Wt(e,Gt,i)}function Ut(e,t,i,n){for(var s=i-1,o=e.length;++s<o;)if(n(e[s],t))return s;return-1}function Gt(e){return e!=e}function qt(e,t){var i=null==e?0:e.length;return i?$t(e,t)/i:g}function Xt(e){return function(t){return null==t?s:t[e]}}function Yt(e){return function(t){return null==e?s:e[t]}}function Jt(e,t,i,n,s){return s(e,(function(e,s,o){i=n?(n=!1,e):t(i,e,s,o)})),i}function $t(e,t){for(var i,n=-1,o=e.length;++n<o;){var r=t(e[n]);r!==s&&(i=i===s?r:i+r)}return i}function Kt(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}function Zt(e){return e?e.slice(0,gi(e)+1).replace(re,""):e}function Qt(e){return function(t){return e(t)}}function ei(e,t){return Ft(t,(function(t){return e[t]}))}function ti(e,t){return e.has(t)}function ii(e,t){for(var i=-1,n=e.length;++i<n&&jt(t,e[i],0)>-1;);return i}function ni(e,t){for(var i=e.length;i--&&jt(t,e[i],0)>-1;);return i}var si=Yt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),oi=Yt({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function ri(e){return"\\"+ut[e]}function ai(e){return st.test(e)}function li(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}function hi(e,t){return function(i){return e(t(i))}}function ui(e,t){for(var i=-1,n=e.length,s=0,o=[];++i<n;){var r=e[i];r!==t&&r!==a||(e[i]=a,o[s++]=i)}return o}function ci(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}function di(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=[e,e]})),i}function pi(e){return ai(e)?function(e){var t=it.lastIndex=0;for(;it.test(e);)++t;return t}(e):Bt(e)}function mi(e){return ai(e)?function(e){return e.match(it)||[]}(e):function(e){return e.split("")}(e)}function gi(e){for(var t=e.length;t--&&ae.test(e.charAt(t)););return t}var fi=Yt({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var bi=function e(t){var i,n=(t=null==t?gt:bi.defaults(gt.Object(),t,bi.pick(gt,rt))).Array,ae=t.Date,_e=t.Error,Te=t.Function,xe=t.Math,Se=t.Object,Me=t.RegExp,Le=t.String,ke=t.TypeError,De=n.prototype,Ae=Te.prototype,Pe=Se.prototype,Oe=t["__core-js_shared__"],Fe=Ae.toString,ze=Pe.hasOwnProperty,He=0,Ne=(i=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",Ie=Pe.toString,Be=Fe.call(Se),Ve=gt._,We=Me("^"+Fe.call(ze).replace(se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=vt?t.Buffer:s,Ue=t.Symbol,Ge=t.Uint8Array,qe=je?je.allocUnsafe:s,Xe=hi(Se.getPrototypeOf,Se),Ye=Se.create,Je=Pe.propertyIsEnumerable,$e=De.splice,Ke=Ue?Ue.isConcatSpreadable:s,Ze=Ue?Ue.iterator:s,Qe=Ue?Ue.toStringTag:s,it=function(){try{var e=po(Se,"defineProperty");return e({},"",{}),e}catch(e){}}(),st=t.clearTimeout!==gt.clearTimeout&&t.clearTimeout,ut=ae&&ae.now!==gt.Date.now&&ae.now,pt=t.setTimeout!==gt.setTimeout&&t.setTimeout,mt=xe.ceil,ft=xe.floor,bt=Se.getOwnPropertySymbols,wt=je?je.isBuffer:s,Ct=t.isFinite,Bt=De.join,Yt=hi(Se.keys,Se),vi=xe.max,wi=xe.min,Ci=ae.now,yi=t.parseInt,Ei=xe.random,Ri=De.reverse,_i=po(t,"DataView"),Ti=po(t,"Map"),xi=po(t,"Promise"),Si=po(t,"Set"),Mi=po(t,"WeakMap"),Li=po(Se,"create"),ki=Mi&&new Mi,Di={},Ai=Io(_i),Pi=Io(Ti),Oi=Io(xi),Fi=Io(Si),zi=Io(Mi),Hi=Ue?Ue.prototype:s,Ni=Hi?Hi.valueOf:s,Ii=Hi?Hi.toString:s;function Bi(e){if(ia(e)&&!Gr(e)&&!(e instanceof Ui)){if(e instanceof ji)return e;if(ze.call(e,"__wrapped__"))return Bo(e)}return new ji(e)}var Vi=function(){function e(){}return function(t){if(!ta(t))return{};if(Ye)return Ye(t);e.prototype=t;var i=new e;return e.prototype=s,i}}();function Wi(){}function ji(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=s}function Ui(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=f,this.__views__=[]}function Gi(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function qi(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function Xi(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function Yi(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new Xi;++t<i;)this.add(e[t])}function Ji(e){var t=this.__data__=new qi(e);this.size=t.size}function $i(e,t){var i=Gr(e),n=!i&&Ur(e),s=!i&&!n&&Jr(e),o=!i&&!n&&!s&&ua(e),r=i||n||s||o,a=r?Kt(e.length,Le):[],l=a.length;for(var h in e)!t&&!ze.call(e,h)||r&&("length"==h||s&&("offset"==h||"parent"==h)||o&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||Co(h,l))||a.push(h);return a}function Ki(e){var t=e.length;return t?e[Jn(0,t-1)]:s}function Zi(e,t){return zo(ks(e),ln(t,0,e.length))}function Qi(e){return zo(ks(e))}function en(e,t,i){(i!==s&&!Vr(e[t],i)||i===s&&!(t in e))&&rn(e,t,i)}function tn(e,t,i){var n=e[t];ze.call(e,t)&&Vr(n,i)&&(i!==s||t in e)||rn(e,t,i)}function nn(e,t){for(var i=e.length;i--;)if(Vr(e[i][0],t))return i;return-1}function sn(e,t,i,n){return pn(e,(function(e,s,o){t(n,e,i(e),o)})),n}function on(e,t){return e&&Ds(t,Aa(t),e)}function rn(e,t,i){"__proto__"==t&&it?it(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}function an(e,t){for(var i=-1,o=t.length,r=n(o),a=null==e;++i<o;)r[i]=a?s:Sa(e,t[i]);return r}function ln(e,t,i){return e==e&&(i!==s&&(e=e<=i?e:i),t!==s&&(e=e>=t?e:t)),e}function hn(e,t,i,n,o,r){var a,l=1&t,h=2&t,u=4&t;if(i&&(a=o?i(e,n,o,r):i(e)),a!==s)return a;if(!ta(e))return e;var c=Gr(e);if(c){if(a=function(e){var t=e.length,i=new e.constructor(t);t&&"string"==typeof e[0]&&ze.call(e,"index")&&(i.index=e.index,i.input=e.input);return i}(e),!l)return ks(e,a)}else{var d=fo(e),p=d==R||d==_;if(Jr(e))return _s(e,l);if(d==S||d==v||p&&!o){if(a=h||p?{}:vo(e),!l)return h?function(e,t){return Ds(e,go(e),t)}(e,function(e,t){return e&&Ds(t,Pa(t),e)}(a,e)):function(e,t){return Ds(e,mo(e),t)}(e,on(a,e))}else{if(!ht[d])return o?e:{};a=function(e,t,i){var n=e.constructor;switch(t){case O:return Ts(e);case C:case y:return new n(+e);case F:return function(e,t){var i=t?Ts(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}(e,i);case z:case H:case N:case I:case B:case V:case W:case j:case U:return xs(e,i);case T:return new n;case x:case D:return new n(e);case L:return function(e){var t=new e.constructor(e.source,ge.exec(e));return t.lastIndex=e.lastIndex,t}(e);case k:return new n;case A:return s=e,Ni?Se(Ni.call(s)):{}}var s}(e,d,l)}}r||(r=new Ji);var m=r.get(e);if(m)return m;r.set(e,a),aa(e)?e.forEach((function(n){a.add(hn(n,t,i,n,e,r))})):na(e)&&e.forEach((function(n,s){a.set(s,hn(n,t,i,s,e,r))}));var g=c?s:(u?h?oo:so:h?Pa:Aa)(e);return Lt(g||e,(function(n,s){g&&(n=e[s=n]),tn(a,s,hn(n,t,i,s,e,r))})),a}function un(e,t,i){var n=i.length;if(null==e)return!n;for(e=Se(e);n--;){var o=i[n],r=t[o],a=e[o];if(a===s&&!(o in e)||!r(a))return!1}return!0}function cn(e,t,i){if("function"!=typeof e)throw new ke(o);return Ao((function(){e.apply(s,i)}),t)}function dn(e,t,i,n){var s=-1,o=Pt,r=!0,a=e.length,l=[],h=t.length;if(!a)return l;i&&(t=Ft(t,Qt(i))),n?(o=Ot,r=!1):t.length>=200&&(o=ti,r=!1,t=new Yi(t));e:for(;++s<a;){var u=e[s],c=null==i?u:i(u);if(u=n||0!==u?u:0,r&&c==c){for(var d=h;d--;)if(t[d]===c)continue e;l.push(u)}else o(t,c,n)||l.push(u)}return l}Bi.templateSettings={escape:Z,evaluate:Q,interpolate:ee,variable:"",imports:{_:Bi}},Bi.prototype=Wi.prototype,Bi.prototype.constructor=Bi,ji.prototype=Vi(Wi.prototype),ji.prototype.constructor=ji,Ui.prototype=Vi(Wi.prototype),Ui.prototype.constructor=Ui,Gi.prototype.clear=function(){this.__data__=Li?Li(null):{},this.size=0},Gi.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Gi.prototype.get=function(e){var t=this.__data__;if(Li){var i=t[e];return i===r?s:i}return ze.call(t,e)?t[e]:s},Gi.prototype.has=function(e){var t=this.__data__;return Li?t[e]!==s:ze.call(t,e)},Gi.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=Li&&t===s?r:t,this},qi.prototype.clear=function(){this.__data__=[],this.size=0},qi.prototype.delete=function(e){var t=this.__data__,i=nn(t,e);return!(i<0)&&(i==t.length-1?t.pop():$e.call(t,i,1),--this.size,!0)},qi.prototype.get=function(e){var t=this.__data__,i=nn(t,e);return i<0?s:t[i][1]},qi.prototype.has=function(e){return nn(this.__data__,e)>-1},qi.prototype.set=function(e,t){var i=this.__data__,n=nn(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},Xi.prototype.clear=function(){this.size=0,this.__data__={hash:new Gi,map:new(Ti||qi),string:new Gi}},Xi.prototype.delete=function(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t},Xi.prototype.get=function(e){return uo(this,e).get(e)},Xi.prototype.has=function(e){return uo(this,e).has(e)},Xi.prototype.set=function(e,t){var i=uo(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},Yi.prototype.add=Yi.prototype.push=function(e){return this.__data__.set(e,r),this},Yi.prototype.has=function(e){return this.__data__.has(e)},Ji.prototype.clear=function(){this.__data__=new qi,this.size=0},Ji.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},Ji.prototype.get=function(e){return this.__data__.get(e)},Ji.prototype.has=function(e){return this.__data__.has(e)},Ji.prototype.set=function(e,t){var i=this.__data__;if(i instanceof qi){var n=i.__data__;if(!Ti||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new Xi(n)}return i.set(e,t),this.size=i.size,this};var pn=Os(yn),mn=Os(En,!0);function gn(e,t){var i=!0;return pn(e,(function(e,n,s){return i=!!t(e,n,s)})),i}function fn(e,t,i){for(var n=-1,o=e.length;++n<o;){var r=e[n],a=t(r);if(null!=a&&(l===s?a==a&&!ha(a):i(a,l)))var l=a,h=r}return h}function bn(e,t){var i=[];return pn(e,(function(e,n,s){t(e,n,s)&&i.push(e)})),i}function vn(e,t,i,n,s){var o=-1,r=e.length;for(i||(i=wo),s||(s=[]);++o<r;){var a=e[o];t>0&&i(a)?t>1?vn(a,t-1,i,n,s):zt(s,a):n||(s[s.length]=a)}return s}var wn=Fs(),Cn=Fs(!0);function yn(e,t){return e&&wn(e,t,Aa)}function En(e,t){return e&&Cn(e,t,Aa)}function Rn(e,t){return At(t,(function(t){return Zr(e[t])}))}function _n(e,t){for(var i=0,n=(t=Cs(t,e)).length;null!=e&&i<n;)e=e[No(t[i++])];return i&&i==n?e:s}function Tn(e,t,i){var n=t(e);return Gr(e)?n:zt(n,i(e))}function xn(e){return null==e?e===s?"[object Undefined]":"[object Null]":Qe&&Qe in Se(e)?function(e){var t=ze.call(e,Qe),i=e[Qe];try{e[Qe]=s;var n=!0}catch(e){}var o=Ie.call(e);n&&(t?e[Qe]=i:delete e[Qe]);return o}(e):function(e){return Ie.call(e)}(e)}function Sn(e,t){return e>t}function Mn(e,t){return null!=e&&ze.call(e,t)}function Ln(e,t){return null!=e&&t in Se(e)}function kn(e,t,i){for(var o=i?Ot:Pt,r=e[0].length,a=e.length,l=a,h=n(a),u=1/0,c=[];l--;){var d=e[l];l&&t&&(d=Ft(d,Qt(t))),u=wi(d.length,u),h[l]=!i&&(t||r>=120&&d.length>=120)?new Yi(l&&d):s}d=e[0];var p=-1,m=h[0];e:for(;++p<r&&c.length<u;){var g=d[p],f=t?t(g):g;if(g=i||0!==g?g:0,!(m?ti(m,f):o(c,f,i))){for(l=a;--l;){var b=h[l];if(!(b?ti(b,f):o(e[l],f,i)))continue e}m&&m.push(f),c.push(g)}}return c}function Dn(e,t,i){var n=null==(e=Lo(e,t=Cs(t,e)))?e:e[No(Ko(t))];return null==n?s:St(n,e,i)}function An(e){return ia(e)&&xn(e)==v}function Pn(e,t,i,n,o){return e===t||(null==e||null==t||!ia(e)&&!ia(t)?e!=e&&t!=t:function(e,t,i,n,o,r){var a=Gr(e),l=Gr(t),h=a?w:fo(e),u=l?w:fo(t),c=(h=h==v?S:h)==S,d=(u=u==v?S:u)==S,p=h==u;if(p&&Jr(e)){if(!Jr(t))return!1;a=!0,c=!1}if(p&&!c)return r||(r=new Ji),a||ua(e)?io(e,t,i,n,o,r):function(e,t,i,n,s,o,r){switch(i){case F:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case O:return!(e.byteLength!=t.byteLength||!o(new Ge(e),new Ge(t)));case C:case y:case x:return Vr(+e,+t);case E:return e.name==t.name&&e.message==t.message;case L:case D:return e==t+"";case T:var a=li;case k:var l=1&n;if(a||(a=ci),e.size!=t.size&&!l)return!1;var h=r.get(e);if(h)return h==t;n|=2,r.set(e,t);var u=io(a(e),a(t),n,s,o,r);return r.delete(e),u;case A:if(Ni)return Ni.call(e)==Ni.call(t)}return!1}(e,t,h,i,n,o,r);if(!(1&i)){var m=c&&ze.call(e,"__wrapped__"),g=d&&ze.call(t,"__wrapped__");if(m||g){var f=m?e.value():e,b=g?t.value():t;return r||(r=new Ji),o(f,b,i,n,r)}}if(!p)return!1;return r||(r=new Ji),function(e,t,i,n,o,r){var a=1&i,l=so(e),h=l.length,u=so(t),c=u.length;if(h!=c&&!a)return!1;var d=h;for(;d--;){var p=l[d];if(!(a?p in t:ze.call(t,p)))return!1}var m=r.get(e),g=r.get(t);if(m&&g)return m==t&&g==e;var f=!0;r.set(e,t),r.set(t,e);var b=a;for(;++d<h;){var v=e[p=l[d]],w=t[p];if(n)var C=a?n(w,v,p,t,e,r):n(v,w,p,e,t,r);if(!(C===s?v===w||o(v,w,i,n,r):C)){f=!1;break}b||(b="constructor"==p)}if(f&&!b){var y=e.constructor,E=t.constructor;y==E||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof E&&E instanceof E||(f=!1)}return r.delete(e),r.delete(t),f}(e,t,i,n,o,r)}(e,t,i,n,Pn,o))}function On(e,t,i,n){var o=i.length,r=o,a=!n;if(null==e)return!r;for(e=Se(e);o--;){var l=i[o];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<r;){var h=(l=i[o])[0],u=e[h],c=l[1];if(a&&l[2]){if(u===s&&!(h in e))return!1}else{var d=new Ji;if(n)var p=n(u,c,h,e,t,d);if(!(p===s?Pn(c,u,3,n,d):p))return!1}}return!0}function Fn(e){return!(!ta(e)||(t=e,Ne&&Ne in t))&&(Zr(e)?We:ve).test(Io(e));var t}function zn(e){return"function"==typeof e?e:null==e?sl:"object"==typeof e?Gr(e)?Wn(e[0],e[1]):Vn(e):pl(e)}function Hn(e){if(!To(e))return Yt(e);var t=[];for(var i in Se(e))ze.call(e,i)&&"constructor"!=i&&t.push(i);return t}function Nn(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var i in Se(e))t.push(i);return t}(e);var t=To(e),i=[];for(var n in e)("constructor"!=n||!t&&ze.call(e,n))&&i.push(n);return i}function In(e,t){return e<t}function Bn(e,t){var i=-1,s=Xr(e)?n(e.length):[];return pn(e,(function(e,n,o){s[++i]=t(e,n,o)})),s}function Vn(e){var t=co(e);return 1==t.length&&t[0][2]?So(t[0][0],t[0][1]):function(i){return i===e||On(i,e,t)}}function Wn(e,t){return Eo(e)&&xo(t)?So(No(e),t):function(i){var n=Sa(i,e);return n===s&&n===t?Ma(i,e):Pn(t,n,3)}}function jn(e,t,i,n,o){e!==t&&wn(t,(function(r,a){if(o||(o=new Ji),ta(r))!function(e,t,i,n,o,r,a){var l=ko(e,i),h=ko(t,i),u=a.get(h);if(u)return void en(e,i,u);var c=r?r(l,h,i+"",e,t,a):s,d=c===s;if(d){var p=Gr(h),m=!p&&Jr(h),g=!p&&!m&&ua(h);c=h,p||m||g?Gr(l)?c=l:Yr(l)?c=ks(l):m?(d=!1,c=_s(h,!0)):g?(d=!1,c=xs(h,!0)):c=[]:oa(h)||Ur(h)?(c=l,Ur(l)?c=va(l):ta(l)&&!Zr(l)||(c=vo(h))):d=!1}d&&(a.set(h,c),o(c,h,n,r,a),a.delete(h));en(e,i,c)}(e,t,a,i,jn,n,o);else{var l=n?n(ko(e,a),r,a+"",e,t,o):s;l===s&&(l=r),en(e,a,l)}}),Pa)}function Un(e,t){var i=e.length;if(i)return Co(t+=t<0?i:0,i)?e[t]:s}function Gn(e,t,i){t=t.length?Ft(t,(function(e){return Gr(e)?function(t){return _n(t,1===e.length?e[0]:e)}:e})):[sl];var n=-1;t=Ft(t,Qt(ho()));var s=Bn(e,(function(e,i,s){var o=Ft(t,(function(t){return t(e)}));return{criteria:o,index:++n,value:e}}));return function(e,t){var i=e.length;for(e.sort(t);i--;)e[i]=e[i].value;return e}(s,(function(e,t){return function(e,t,i){var n=-1,s=e.criteria,o=t.criteria,r=s.length,a=i.length;for(;++n<r;){var l=Ss(s[n],o[n]);if(l)return n>=a?l:l*("desc"==i[n]?-1:1)}return e.index-t.index}(e,t,i)}))}function qn(e,t,i){for(var n=-1,s=t.length,o={};++n<s;){var r=t[n],a=_n(e,r);i(a,r)&&es(o,Cs(r,e),a)}return o}function Xn(e,t,i,n){var s=n?Ut:jt,o=-1,r=t.length,a=e;for(e===t&&(t=ks(t)),i&&(a=Ft(e,Qt(i)));++o<r;)for(var l=0,h=t[o],u=i?i(h):h;(l=s(a,u,l,n))>-1;)a!==e&&$e.call(a,l,1),$e.call(e,l,1);return e}function Yn(e,t){for(var i=e?t.length:0,n=i-1;i--;){var s=t[i];if(i==n||s!==o){var o=s;Co(s)?$e.call(e,s,1):ds(e,s)}}return e}function Jn(e,t){return e+ft(Ei()*(t-e+1))}function $n(e,t){var i="";if(!e||t<1||t>m)return i;do{t%2&&(i+=e),(t=ft(t/2))&&(e+=e)}while(t);return i}function Kn(e,t){return Po(Mo(e,t,sl),e+"")}function Zn(e){return Ki(Va(e))}function Qn(e,t){var i=Va(e);return zo(i,ln(t,0,i.length))}function es(e,t,i,n){if(!ta(e))return e;for(var o=-1,r=(t=Cs(t,e)).length,a=r-1,l=e;null!=l&&++o<r;){var h=No(t[o]),u=i;if("__proto__"===h||"constructor"===h||"prototype"===h)return e;if(o!=a){var c=l[h];(u=n?n(c,h,l):s)===s&&(u=ta(c)?c:Co(t[o+1])?[]:{})}tn(l,h,u),l=l[h]}return e}var ts=ki?function(e,t){return ki.set(e,t),e}:sl,is=it?function(e,t){return it(e,"toString",{configurable:!0,enumerable:!1,value:tl(t),writable:!0})}:sl;function ns(e){return zo(Va(e))}function ss(e,t,i){var s=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(i=i>o?o:i)<0&&(i+=o),o=t>i?0:i-t>>>0,t>>>=0;for(var r=n(o);++s<o;)r[s]=e[s+t];return r}function os(e,t){var i;return pn(e,(function(e,n,s){return!(i=t(e,n,s))})),!!i}function rs(e,t,i){var n=0,s=null==e?n:e.length;if("number"==typeof t&&t==t&&s<=2147483647){for(;n<s;){var o=n+s>>>1,r=e[o];null!==r&&!ha(r)&&(i?r<=t:r<t)?n=o+1:s=o}return s}return as(e,t,sl,i)}function as(e,t,i,n){var o=0,r=null==e?0:e.length;if(0===r)return 0;for(var a=(t=i(t))!=t,l=null===t,h=ha(t),u=t===s;o<r;){var c=ft((o+r)/2),d=i(e[c]),p=d!==s,m=null===d,g=d==d,f=ha(d);if(a)var b=n||g;else b=u?g&&(n||p):l?g&&p&&(n||!m):h?g&&p&&!m&&(n||!f):!m&&!f&&(n?d<=t:d<t);b?o=c+1:r=c}return wi(r,4294967294)}function ls(e,t){for(var i=-1,n=e.length,s=0,o=[];++i<n;){var r=e[i],a=t?t(r):r;if(!i||!Vr(a,l)){var l=a;o[s++]=0===r?0:r}}return o}function hs(e){return"number"==typeof e?e:ha(e)?g:+e}function us(e){if("string"==typeof e)return e;if(Gr(e))return Ft(e,us)+"";if(ha(e))return Ii?Ii.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function cs(e,t,i){var n=-1,s=Pt,o=e.length,r=!0,a=[],l=a;if(i)r=!1,s=Ot;else if(o>=200){var h=t?null:$s(e);if(h)return ci(h);r=!1,s=ti,l=new Yi}else l=t?[]:a;e:for(;++n<o;){var u=e[n],c=t?t(u):u;if(u=i||0!==u?u:0,r&&c==c){for(var d=l.length;d--;)if(l[d]===c)continue e;t&&l.push(c),a.push(u)}else s(l,c,i)||(l!==a&&l.push(c),a.push(u))}return a}function ds(e,t){return null==(e=Lo(e,t=Cs(t,e)))||delete e[No(Ko(t))]}function ps(e,t,i,n){return es(e,t,i(_n(e,t)),n)}function ms(e,t,i,n){for(var s=e.length,o=n?s:-1;(n?o--:++o<s)&&t(e[o],o,e););return i?ss(e,n?0:o,n?o+1:s):ss(e,n?o+1:0,n?s:o)}function gs(e,t){var i=e;return i instanceof Ui&&(i=i.value()),Ht(t,(function(e,t){return t.func.apply(t.thisArg,zt([e],t.args))}),i)}function fs(e,t,i){var s=e.length;if(s<2)return s?cs(e[0]):[];for(var o=-1,r=n(s);++o<s;)for(var a=e[o],l=-1;++l<s;)l!=o&&(r[o]=dn(r[o]||a,e[l],t,i));return cs(vn(r,1),t,i)}function bs(e,t,i){for(var n=-1,o=e.length,r=t.length,a={};++n<o;){var l=n<r?t[n]:s;i(a,e[n],l)}return a}function vs(e){return Yr(e)?e:[]}function ws(e){return"function"==typeof e?e:sl}function Cs(e,t){return Gr(e)?e:Eo(e,t)?[e]:Ho(wa(e))}var ys=Kn;function Es(e,t,i){var n=e.length;return i=i===s?n:i,!t&&i>=n?e:ss(e,t,i)}var Rs=st||function(e){return gt.clearTimeout(e)};function _s(e,t){if(t)return e.slice();var i=e.length,n=qe?qe(i):new e.constructor(i);return e.copy(n),n}function Ts(e){var t=new e.constructor(e.byteLength);return new Ge(t).set(new Ge(e)),t}function xs(e,t){var i=t?Ts(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function Ss(e,t){if(e!==t){var i=e!==s,n=null===e,o=e==e,r=ha(e),a=t!==s,l=null===t,h=t==t,u=ha(t);if(!l&&!u&&!r&&e>t||r&&a&&h&&!l&&!u||n&&a&&h||!i&&h||!o)return 1;if(!n&&!r&&!u&&e<t||u&&i&&o&&!n&&!r||l&&i&&o||!a&&o||!h)return-1}return 0}function Ms(e,t,i,s){for(var o=-1,r=e.length,a=i.length,l=-1,h=t.length,u=vi(r-a,0),c=n(h+u),d=!s;++l<h;)c[l]=t[l];for(;++o<a;)(d||o<r)&&(c[i[o]]=e[o]);for(;u--;)c[l++]=e[o++];return c}function Ls(e,t,i,s){for(var o=-1,r=e.length,a=-1,l=i.length,h=-1,u=t.length,c=vi(r-l,0),d=n(c+u),p=!s;++o<c;)d[o]=e[o];for(var m=o;++h<u;)d[m+h]=t[h];for(;++a<l;)(p||o<r)&&(d[m+i[a]]=e[o++]);return d}function ks(e,t){var i=-1,s=e.length;for(t||(t=n(s));++i<s;)t[i]=e[i];return t}function Ds(e,t,i,n){var o=!i;i||(i={});for(var r=-1,a=t.length;++r<a;){var l=t[r],h=n?n(i[l],e[l],l,i,e):s;h===s&&(h=e[l]),o?rn(i,l,h):tn(i,l,h)}return i}function As(e,t){return function(i,n){var s=Gr(i)?Mt:sn,o=t?t():{};return s(i,e,ho(n,2),o)}}function Ps(e){return Kn((function(t,i){var n=-1,o=i.length,r=o>1?i[o-1]:s,a=o>2?i[2]:s;for(r=e.length>3&&"function"==typeof r?(o--,r):s,a&&yo(i[0],i[1],a)&&(r=o<3?s:r,o=1),t=Se(t);++n<o;){var l=i[n];l&&e(t,l,n,r)}return t}))}function Os(e,t){return function(i,n){if(null==i)return i;if(!Xr(i))return e(i,n);for(var s=i.length,o=t?s:-1,r=Se(i);(t?o--:++o<s)&&!1!==n(r[o],o,r););return i}}function Fs(e){return function(t,i,n){for(var s=-1,o=Se(t),r=n(t),a=r.length;a--;){var l=r[e?a:++s];if(!1===i(o[l],l,o))break}return t}}function zs(e){return function(t){var i=ai(t=wa(t))?mi(t):s,n=i?i[0]:t.charAt(0),o=i?Es(i,1).join(""):t.slice(1);return n[e]()+o}}function Hs(e){return function(t){return Ht(Za(Ua(t).replace(et,"")),e,"")}}function Ns(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var i=Vi(e.prototype),n=e.apply(i,t);return ta(n)?n:i}}function Is(e){return function(t,i,n){var o=Se(t);if(!Xr(t)){var r=ho(i,3);t=Aa(t),i=function(e){return r(o[e],e,o)}}var a=e(t,i,n);return a>-1?o[r?t[a]:a]:s}}function Bs(e){return no((function(t){var i=t.length,n=i,r=ji.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if("function"!=typeof a)throw new ke(o);if(r&&!l&&"wrapper"==ao(a))var l=new ji([],!0)}for(n=l?n:i;++n<i;){var h=ao(a=t[n]),u="wrapper"==h?ro(a):s;l=u&&Ro(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[ao(u[0])].apply(l,u[3]):1==a.length&&Ro(a)?l[h]():l.thru(a)}return function(){var e=arguments,n=e[0];if(l&&1==e.length&&Gr(n))return l.plant(n).value();for(var s=0,o=i?t[s].apply(this,e):n;++s<i;)o=t[s].call(this,o);return o}}))}function Vs(e,t,i,o,r,a,l,h,u,d){var p=t&c,m=1&t,g=2&t,f=24&t,b=512&t,v=g?s:Ns(e);return function c(){for(var w=arguments.length,C=n(w),y=w;y--;)C[y]=arguments[y];if(f)var E=lo(c),R=function(e,t){for(var i=e.length,n=0;i--;)e[i]===t&&++n;return n}(C,E);if(o&&(C=Ms(C,o,r,f)),a&&(C=Ls(C,a,l,f)),w-=R,f&&w<d){var _=ui(C,E);return Ys(e,t,Vs,c.placeholder,i,C,_,h,u,d-w)}var T=m?i:this,x=g?T[e]:e;return w=C.length,h?C=function(e,t){var i=e.length,n=wi(t.length,i),o=ks(e);for(;n--;){var r=t[n];e[n]=Co(r,i)?o[r]:s}return e}(C,h):b&&w>1&&C.reverse(),p&&u<w&&(C.length=u),this&&this!==gt&&this instanceof c&&(x=v||Ns(x)),x.apply(T,C)}}function Ws(e,t){return function(i,n){return function(e,t,i,n){return yn(e,(function(e,s,o){t(n,i(e),s,o)})),n}(i,e,t(n),{})}}function js(e,t){return function(i,n){var o;if(i===s&&n===s)return t;if(i!==s&&(o=i),n!==s){if(o===s)return n;"string"==typeof i||"string"==typeof n?(i=us(i),n=us(n)):(i=hs(i),n=hs(n)),o=e(i,n)}return o}}function Us(e){return no((function(t){return t=Ft(t,Qt(ho())),Kn((function(i){var n=this;return e(t,(function(e){return St(e,n,i)}))}))}))}function Gs(e,t){var i=(t=t===s?" ":us(t)).length;if(i<2)return i?$n(t,e):t;var n=$n(t,mt(e/pi(t)));return ai(t)?Es(mi(n),0,e).join(""):n.slice(0,e)}function qs(e){return function(t,i,o){return o&&"number"!=typeof o&&yo(t,i,o)&&(i=o=s),t=ma(t),i===s?(i=t,t=0):i=ma(i),function(e,t,i,s){for(var o=-1,r=vi(mt((t-e)/(i||1)),0),a=n(r);r--;)a[s?r:++o]=e,e+=i;return a}(t,i,o=o===s?t<i?1:-1:ma(o),e)}}function Xs(e){return function(t,i){return"string"==typeof t&&"string"==typeof i||(t=ba(t),i=ba(i)),e(t,i)}}function Ys(e,t,i,n,o,r,a,l,c,d){var p=8&t;t|=p?h:u,4&(t&=~(p?u:h))||(t&=-4);var m=[e,t,o,p?r:s,p?a:s,p?s:r,p?s:a,l,c,d],g=i.apply(s,m);return Ro(e)&&Do(g,m),g.placeholder=n,Oo(g,e,t)}function Js(e){var t=xe[e];return function(e,i){if(e=ba(e),(i=null==i?0:wi(ga(i),292))&&Ct(e)){var n=(wa(e)+"e").split("e");return+((n=(wa(t(n[0]+"e"+(+n[1]+i)))+"e").split("e"))[0]+"e"+(+n[1]-i))}return t(e)}}var $s=Si&&1/ci(new Si([,-0]))[1]==p?function(e){return new Si(e)}:hl;function Ks(e){return function(t){var i=fo(t);return i==T?li(t):i==k?di(t):function(e,t){return Ft(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Zs(e,t,i,r,p,m,g,f){var b=2&t;if(!b&&"function"!=typeof e)throw new ke(o);var v=r?r.length:0;if(v||(t&=-97,r=p=s),g=g===s?g:vi(ga(g),0),f=f===s?f:ga(f),v-=p?p.length:0,t&u){var w=r,C=p;r=p=s}var y=b?s:ro(e),E=[e,t,i,r,p,w,C,m,g,f];if(y&&function(e,t){var i=e[1],n=t[1],s=i|n,o=s<131,r=n==c&&8==i||n==c&&i==d&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==i;if(!o&&!r)return e;1&n&&(e[2]=t[2],s|=1&i?0:4);var l=t[3];if(l){var h=e[3];e[3]=h?Ms(h,l,t[4]):l,e[4]=h?ui(e[3],a):t[4]}(l=t[5])&&(h=e[5],e[5]=h?Ls(h,l,t[6]):l,e[6]=h?ui(e[5],a):t[6]);(l=t[7])&&(e[7]=l);n&c&&(e[8]=null==e[8]?t[8]:wi(e[8],t[8]));null==e[9]&&(e[9]=t[9]);e[0]=t[0],e[1]=s}(E,y),e=E[0],t=E[1],i=E[2],r=E[3],p=E[4],!(f=E[9]=E[9]===s?b?0:e.length:vi(E[9]-v,0))&&24&t&&(t&=-25),t&&1!=t)R=8==t||t==l?function(e,t,i){var o=Ns(e);return function r(){for(var a=arguments.length,l=n(a),h=a,u=lo(r);h--;)l[h]=arguments[h];var c=a<3&&l[0]!==u&&l[a-1]!==u?[]:ui(l,u);return(a-=c.length)<i?Ys(e,t,Vs,r.placeholder,s,l,c,s,s,i-a):St(this&&this!==gt&&this instanceof r?o:e,this,l)}}(e,t,f):t!=h&&33!=t||p.length?Vs.apply(s,E):function(e,t,i,s){var o=1&t,r=Ns(e);return function t(){for(var a=-1,l=arguments.length,h=-1,u=s.length,c=n(u+l),d=this&&this!==gt&&this instanceof t?r:e;++h<u;)c[h]=s[h];for(;l--;)c[h++]=arguments[++a];return St(d,o?i:this,c)}}(e,t,i,r);else var R=function(e,t,i){var n=1&t,s=Ns(e);return function t(){return(this&&this!==gt&&this instanceof t?s:e).apply(n?i:this,arguments)}}(e,t,i);return Oo((y?ts:Do)(R,E),e,t)}function Qs(e,t,i,n){return e===s||Vr(e,Pe[i])&&!ze.call(n,i)?t:e}function eo(e,t,i,n,o,r){return ta(e)&&ta(t)&&(r.set(t,e),jn(e,t,s,eo,r),r.delete(t)),e}function to(e){return oa(e)?s:e}function io(e,t,i,n,o,r){var a=1&i,l=e.length,h=t.length;if(l!=h&&!(a&&h>l))return!1;var u=r.get(e),c=r.get(t);if(u&&c)return u==t&&c==e;var d=-1,p=!0,m=2&i?new Yi:s;for(r.set(e,t),r.set(t,e);++d<l;){var g=e[d],f=t[d];if(n)var b=a?n(f,g,d,t,e,r):n(g,f,d,e,t,r);if(b!==s){if(b)continue;p=!1;break}if(m){if(!It(t,(function(e,t){if(!ti(m,t)&&(g===e||o(g,e,i,n,r)))return m.push(t)}))){p=!1;break}}else if(g!==f&&!o(g,f,i,n,r)){p=!1;break}}return r.delete(e),r.delete(t),p}function no(e){return Po(Mo(e,s,qo),e+"")}function so(e){return Tn(e,Aa,mo)}function oo(e){return Tn(e,Pa,go)}var ro=ki?function(e){return ki.get(e)}:hl;function ao(e){for(var t=e.name+"",i=Di[t],n=ze.call(Di,t)?i.length:0;n--;){var s=i[n],o=s.func;if(null==o||o==e)return s.name}return t}function lo(e){return(ze.call(Bi,"placeholder")?Bi:e).placeholder}function ho(){var e=Bi.iteratee||ol;return e=e===ol?zn:e,arguments.length?e(arguments[0],arguments[1]):e}function uo(e,t){var i,n,s=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?s["string"==typeof t?"string":"hash"]:s.map}function co(e){for(var t=Aa(e),i=t.length;i--;){var n=t[i],s=e[n];t[i]=[n,s,xo(s)]}return t}function po(e,t){var i=function(e,t){return null==e?s:e[t]}(e,t);return Fn(i)?i:s}var mo=bt?function(e){return null==e?[]:(e=Se(e),At(bt(e),(function(t){return Je.call(e,t)})))}:fl,go=bt?function(e){for(var t=[];e;)zt(t,mo(e)),e=Xe(e);return t}:fl,fo=xn;function bo(e,t,i){for(var n=-1,s=(t=Cs(t,e)).length,o=!1;++n<s;){var r=No(t[n]);if(!(o=null!=e&&i(e,r)))break;e=e[r]}return o||++n!=s?o:!!(s=null==e?0:e.length)&&ea(s)&&Co(r,s)&&(Gr(e)||Ur(e))}function vo(e){return"function"!=typeof e.constructor||To(e)?{}:Vi(Xe(e))}function wo(e){return Gr(e)||Ur(e)||!!(Ke&&e&&e[Ke])}function Co(e,t){var i=typeof e;return!!(t=null==t?m:t)&&("number"==i||"symbol"!=i&&Ce.test(e))&&e>-1&&e%1==0&&e<t}function yo(e,t,i){if(!ta(i))return!1;var n=typeof t;return!!("number"==n?Xr(i)&&Co(t,i.length):"string"==n&&t in i)&&Vr(i[t],e)}function Eo(e,t){if(Gr(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!ha(e))||(ie.test(e)||!te.test(e)||null!=t&&e in Se(t))}function Ro(e){var t=ao(e),i=Bi[t];if("function"!=typeof i||!(t in Ui.prototype))return!1;if(e===i)return!0;var n=ro(i);return!!n&&e===n[0]}(_i&&fo(new _i(new ArrayBuffer(1)))!=F||Ti&&fo(new Ti)!=T||xi&&fo(xi.resolve())!=M||Si&&fo(new Si)!=k||Mi&&fo(new Mi)!=P)&&(fo=function(e){var t=xn(e),i=t==S?e.constructor:s,n=i?Io(i):"";if(n)switch(n){case Ai:return F;case Pi:return T;case Oi:return M;case Fi:return k;case zi:return P}return t});var _o=Oe?Zr:bl;function To(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Pe)}function xo(e){return e==e&&!ta(e)}function So(e,t){return function(i){return null!=i&&(i[e]===t&&(t!==s||e in Se(i)))}}function Mo(e,t,i){return t=vi(t===s?e.length-1:t,0),function(){for(var s=arguments,o=-1,r=vi(s.length-t,0),a=n(r);++o<r;)a[o]=s[t+o];o=-1;for(var l=n(t+1);++o<t;)l[o]=s[o];return l[t]=i(a),St(e,this,l)}}function Lo(e,t){return t.length<2?e:_n(e,ss(t,0,-1))}function ko(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var Do=Fo(ts),Ao=pt||function(e,t){return gt.setTimeout(e,t)},Po=Fo(is);function Oo(e,t,i){var n=t+"";return Po(e,function(e,t){var i=t.length;if(!i)return e;var n=i-1;return t[n]=(i>1?"& ":"")+t[n],t=t.join(i>2?", ":" "),e.replace(le,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return Lt(b,(function(i){var n="_."+i[0];t&i[1]&&!Pt(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(he);return t?t[1].split(ue):[]}(n),i)))}function Fo(e){var t=0,i=0;return function(){var n=Ci(),o=16-(n-i);if(i=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(s,arguments)}}function zo(e,t){var i=-1,n=e.length,o=n-1;for(t=t===s?n:t;++i<t;){var r=Jn(i,o),a=e[r];e[r]=e[i],e[i]=a}return e.length=t,e}var Ho=function(e){var t=Fr(e,(function(e){return 500===i.size&&i.clear(),e})),i=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ne,(function(e,i,n,s){t.push(n?s.replace(pe,"$1"):i||e)})),t}));function No(e){if("string"==typeof e||ha(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Io(e){if(null!=e){try{return Fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Bo(e){if(e instanceof Ui)return e.clone();var t=new ji(e.__wrapped__,e.__chain__);return t.__actions__=ks(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Vo=Kn((function(e,t){return Yr(e)?dn(e,vn(t,1,Yr,!0)):[]})),Wo=Kn((function(e,t){var i=Ko(t);return Yr(i)&&(i=s),Yr(e)?dn(e,vn(t,1,Yr,!0),ho(i,2)):[]})),jo=Kn((function(e,t){var i=Ko(t);return Yr(i)&&(i=s),Yr(e)?dn(e,vn(t,1,Yr,!0),s,i):[]}));function Uo(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var s=null==i?0:ga(i);return s<0&&(s=vi(n+s,0)),Wt(e,ho(t,3),s)}function Go(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var o=n-1;return i!==s&&(o=ga(i),o=i<0?vi(n+o,0):wi(o,n-1)),Wt(e,ho(t,3),o,!0)}function qo(e){return(null==e?0:e.length)?vn(e,1):[]}function Xo(e){return e&&e.length?e[0]:s}var Yo=Kn((function(e){var t=Ft(e,vs);return t.length&&t[0]===e[0]?kn(t):[]})),Jo=Kn((function(e){var t=Ko(e),i=Ft(e,vs);return t===Ko(i)?t=s:i.pop(),i.length&&i[0]===e[0]?kn(i,ho(t,2)):[]})),$o=Kn((function(e){var t=Ko(e),i=Ft(e,vs);return(t="function"==typeof t?t:s)&&i.pop(),i.length&&i[0]===e[0]?kn(i,s,t):[]}));function Ko(e){var t=null==e?0:e.length;return t?e[t-1]:s}var Zo=Kn(Qo);function Qo(e,t){return e&&e.length&&t&&t.length?Xn(e,t):e}var er=no((function(e,t){var i=null==e?0:e.length,n=an(e,t);return Yn(e,Ft(t,(function(e){return Co(e,i)?+e:e})).sort(Ss)),n}));function tr(e){return null==e?e:Ri.call(e)}var ir=Kn((function(e){return cs(vn(e,1,Yr,!0))})),nr=Kn((function(e){var t=Ko(e);return Yr(t)&&(t=s),cs(vn(e,1,Yr,!0),ho(t,2))})),sr=Kn((function(e){var t=Ko(e);return t="function"==typeof t?t:s,cs(vn(e,1,Yr,!0),s,t)}));function or(e){if(!e||!e.length)return[];var t=0;return e=At(e,(function(e){if(Yr(e))return t=vi(e.length,t),!0})),Kt(t,(function(t){return Ft(e,Xt(t))}))}function rr(e,t){if(!e||!e.length)return[];var i=or(e);return null==t?i:Ft(i,(function(e){return St(t,s,e)}))}var ar=Kn((function(e,t){return Yr(e)?dn(e,t):[]})),lr=Kn((function(e){return fs(At(e,Yr))})),hr=Kn((function(e){var t=Ko(e);return Yr(t)&&(t=s),fs(At(e,Yr),ho(t,2))})),ur=Kn((function(e){var t=Ko(e);return t="function"==typeof t?t:s,fs(At(e,Yr),s,t)})),cr=Kn(or);var dr=Kn((function(e){var t=e.length,i=t>1?e[t-1]:s;return i="function"==typeof i?(e.pop(),i):s,rr(e,i)}));function pr(e){var t=Bi(e);return t.__chain__=!0,t}function mr(e,t){return t(e)}var gr=no((function(e){var t=e.length,i=t?e[0]:0,n=this.__wrapped__,o=function(t){return an(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Ui&&Co(i)?((n=n.slice(i,+i+(t?1:0))).__actions__.push({func:mr,args:[o],thisArg:s}),new ji(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(s),e}))):this.thru(o)}));var fr=As((function(e,t,i){ze.call(e,i)?++e[i]:rn(e,i,1)}));var br=Is(Uo),vr=Is(Go);function wr(e,t){return(Gr(e)?Lt:pn)(e,ho(t,3))}function Cr(e,t){return(Gr(e)?kt:mn)(e,ho(t,3))}var yr=As((function(e,t,i){ze.call(e,i)?e[i].push(t):rn(e,i,[t])}));var Er=Kn((function(e,t,i){var s=-1,o="function"==typeof t,r=Xr(e)?n(e.length):[];return pn(e,(function(e){r[++s]=o?St(t,e,i):Dn(e,t,i)})),r})),Rr=As((function(e,t,i){rn(e,i,t)}));function _r(e,t){return(Gr(e)?Ft:Bn)(e,ho(t,3))}var Tr=As((function(e,t,i){e[i?0:1].push(t)}),(function(){return[[],[]]}));var xr=Kn((function(e,t){if(null==e)return[];var i=t.length;return i>1&&yo(e,t[0],t[1])?t=[]:i>2&&yo(t[0],t[1],t[2])&&(t=[t[0]]),Gn(e,vn(t,1),[])})),Sr=ut||function(){return gt.Date.now()};function Mr(e,t,i){return t=i?s:t,t=e&&null==t?e.length:t,Zs(e,c,s,s,s,s,t)}function Lr(e,t){var i;if("function"!=typeof t)throw new ke(o);return e=ga(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=s),i}}var kr=Kn((function(e,t,i){var n=1;if(i.length){var s=ui(i,lo(kr));n|=h}return Zs(e,n,t,i,s)})),Dr=Kn((function(e,t,i){var n=3;if(i.length){var s=ui(i,lo(Dr));n|=h}return Zs(t,n,e,i,s)}));function Ar(e,t,i){var n,r,a,l,h,u,c=0,d=!1,p=!1,m=!0;if("function"!=typeof e)throw new ke(o);function g(t){var i=n,o=r;return n=r=s,c=t,l=e.apply(o,i)}function f(e){var i=e-u;return u===s||i>=t||i<0||p&&e-c>=a}function b(){var e=Sr();if(f(e))return v(e);h=Ao(b,function(e){var i=t-(e-u);return p?wi(i,a-(e-c)):i}(e))}function v(e){return h=s,m&&n?g(e):(n=r=s,l)}function w(){var e=Sr(),i=f(e);if(n=arguments,r=this,u=e,i){if(h===s)return function(e){return c=e,h=Ao(b,t),d?g(e):l}(u);if(p)return Rs(h),h=Ao(b,t),g(u)}return h===s&&(h=Ao(b,t)),l}return t=ba(t)||0,ta(i)&&(d=!!i.leading,a=(p="maxWait"in i)?vi(ba(i.maxWait)||0,t):a,m="trailing"in i?!!i.trailing:m),w.cancel=function(){h!==s&&Rs(h),c=0,n=u=r=h=s},w.flush=function(){return h===s?l:v(Sr())},w}var Pr=Kn((function(e,t){return cn(e,1,t)})),Or=Kn((function(e,t,i){return cn(e,ba(t)||0,i)}));function Fr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ke(o);var i=function(){var n=arguments,s=t?t.apply(this,n):n[0],o=i.cache;if(o.has(s))return o.get(s);var r=e.apply(this,n);return i.cache=o.set(s,r)||o,r};return i.cache=new(Fr.Cache||Xi),i}function zr(e){if("function"!=typeof e)throw new ke(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Fr.Cache=Xi;var Hr=ys((function(e,t){var i=(t=1==t.length&&Gr(t[0])?Ft(t[0],Qt(ho())):Ft(vn(t,1),Qt(ho()))).length;return Kn((function(n){for(var s=-1,o=wi(n.length,i);++s<o;)n[s]=t[s].call(this,n[s]);return St(e,this,n)}))})),Nr=Kn((function(e,t){var i=ui(t,lo(Nr));return Zs(e,h,s,t,i)})),Ir=Kn((function(e,t){var i=ui(t,lo(Ir));return Zs(e,u,s,t,i)})),Br=no((function(e,t){return Zs(e,d,s,s,s,t)}));function Vr(e,t){return e===t||e!=e&&t!=t}var Wr=Xs(Sn),jr=Xs((function(e,t){return e>=t})),Ur=An(function(){return arguments}())?An:function(e){return ia(e)&&ze.call(e,"callee")&&!Je.call(e,"callee")},Gr=n.isArray,qr=yt?Qt(yt):function(e){return ia(e)&&xn(e)==O};function Xr(e){return null!=e&&ea(e.length)&&!Zr(e)}function Yr(e){return ia(e)&&Xr(e)}var Jr=wt||bl,$r=Et?Qt(Et):function(e){return ia(e)&&xn(e)==y};function Kr(e){if(!ia(e))return!1;var t=xn(e);return t==E||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!oa(e)}function Zr(e){if(!ta(e))return!1;var t=xn(e);return t==R||t==_||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Qr(e){return"number"==typeof e&&e==ga(e)}function ea(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=m}function ta(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ia(e){return null!=e&&"object"==typeof e}var na=Rt?Qt(Rt):function(e){return ia(e)&&fo(e)==T};function sa(e){return"number"==typeof e||ia(e)&&xn(e)==x}function oa(e){if(!ia(e)||xn(e)!=S)return!1;var t=Xe(e);if(null===t)return!0;var i=ze.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&Fe.call(i)==Be}var ra=_t?Qt(_t):function(e){return ia(e)&&xn(e)==L};var aa=Tt?Qt(Tt):function(e){return ia(e)&&fo(e)==k};function la(e){return"string"==typeof e||!Gr(e)&&ia(e)&&xn(e)==D}function ha(e){return"symbol"==typeof e||ia(e)&&xn(e)==A}var ua=xt?Qt(xt):function(e){return ia(e)&&ea(e.length)&&!!lt[xn(e)]};var ca=Xs(In),da=Xs((function(e,t){return e<=t}));function pa(e){if(!e)return[];if(Xr(e))return la(e)?mi(e):ks(e);if(Ze&&e[Ze])return function(e){for(var t,i=[];!(t=e.next()).done;)i.push(t.value);return i}(e[Ze]());var t=fo(e);return(t==T?li:t==k?ci:Va)(e)}function ma(e){return e?(e=ba(e))===p||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ga(e){var t=ma(e),i=t%1;return t==t?i?t-i:t:0}function fa(e){return e?ln(ga(e),0,f):0}function ba(e){if("number"==typeof e)return e;if(ha(e))return g;if(ta(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Zt(e);var i=be.test(e);return i||we.test(e)?dt(e.slice(2),i?2:8):fe.test(e)?g:+e}function va(e){return Ds(e,Pa(e))}function wa(e){return null==e?"":us(e)}var Ca=Ps((function(e,t){if(To(t)||Xr(t))Ds(t,Aa(t),e);else for(var i in t)ze.call(t,i)&&tn(e,i,t[i])})),ya=Ps((function(e,t){Ds(t,Pa(t),e)})),Ea=Ps((function(e,t,i,n){Ds(t,Pa(t),e,n)})),Ra=Ps((function(e,t,i,n){Ds(t,Aa(t),e,n)})),_a=no(an);var Ta=Kn((function(e,t){e=Se(e);var i=-1,n=t.length,o=n>2?t[2]:s;for(o&&yo(t[0],t[1],o)&&(n=1);++i<n;)for(var r=t[i],a=Pa(r),l=-1,h=a.length;++l<h;){var u=a[l],c=e[u];(c===s||Vr(c,Pe[u])&&!ze.call(e,u))&&(e[u]=r[u])}return e})),xa=Kn((function(e){return e.push(s,eo),St(Fa,s,e)}));function Sa(e,t,i){var n=null==e?s:_n(e,t);return n===s?i:n}function Ma(e,t){return null!=e&&bo(e,t,Ln)}var La=Ws((function(e,t,i){null!=t&&"function"!=typeof t.toString&&(t=Ie.call(t)),e[t]=i}),tl(sl)),ka=Ws((function(e,t,i){null!=t&&"function"!=typeof t.toString&&(t=Ie.call(t)),ze.call(e,t)?e[t].push(i):e[t]=[i]}),ho),Da=Kn(Dn);function Aa(e){return Xr(e)?$i(e):Hn(e)}function Pa(e){return Xr(e)?$i(e,!0):Nn(e)}var Oa=Ps((function(e,t,i){jn(e,t,i)})),Fa=Ps((function(e,t,i,n){jn(e,t,i,n)})),za=no((function(e,t){var i={};if(null==e)return i;var n=!1;t=Ft(t,(function(t){return t=Cs(t,e),n||(n=t.length>1),t})),Ds(e,oo(e),i),n&&(i=hn(i,7,to));for(var s=t.length;s--;)ds(i,t[s]);return i}));var Ha=no((function(e,t){return null==e?{}:function(e,t){return qn(e,t,(function(t,i){return Ma(e,i)}))}(e,t)}));function Na(e,t){if(null==e)return{};var i=Ft(oo(e),(function(e){return[e]}));return t=ho(t),qn(e,i,(function(e,i){return t(e,i[0])}))}var Ia=Ks(Aa),Ba=Ks(Pa);function Va(e){return null==e?[]:ei(e,Aa(e))}var Wa=Hs((function(e,t,i){return t=t.toLowerCase(),e+(i?ja(t):t)}));function ja(e){return Ka(wa(e).toLowerCase())}function Ua(e){return(e=wa(e))&&e.replace(ye,si).replace(tt,"")}var Ga=Hs((function(e,t,i){return e+(i?"-":"")+t.toLowerCase()})),qa=Hs((function(e,t,i){return e+(i?" ":"")+t.toLowerCase()})),Xa=zs("toLowerCase");var Ya=Hs((function(e,t,i){return e+(i?"_":"")+t.toLowerCase()}));var Ja=Hs((function(e,t,i){return e+(i?" ":"")+Ka(t)}));var $a=Hs((function(e,t,i){return e+(i?" ":"")+t.toUpperCase()})),Ka=zs("toUpperCase");function Za(e,t,i){return e=wa(e),(t=i?s:t)===s?function(e){return ot.test(e)}(e)?function(e){return e.match(nt)||[]}(e):function(e){return e.match(ce)||[]}(e):e.match(t)||[]}var Qa=Kn((function(e,t){try{return St(e,s,t)}catch(e){return Kr(e)?e:new _e(e)}})),el=no((function(e,t){return Lt(t,(function(t){t=No(t),rn(e,t,kr(e[t],e))})),e}));function tl(e){return function(){return e}}var il=Bs(),nl=Bs(!0);function sl(e){return e}function ol(e){return zn("function"==typeof e?e:hn(e,1))}var rl=Kn((function(e,t){return function(i){return Dn(i,e,t)}})),al=Kn((function(e,t){return function(i){return Dn(e,i,t)}}));function ll(e,t,i){var n=Aa(t),s=Rn(t,n);null!=i||ta(t)&&(s.length||!n.length)||(i=t,t=e,e=this,s=Rn(t,Aa(t)));var o=!(ta(i)&&"chain"in i&&!i.chain),r=Zr(e);return Lt(s,(function(i){var n=t[i];e[i]=n,r&&(e.prototype[i]=function(){var t=this.__chain__;if(o||t){var i=e(this.__wrapped__);return(i.__actions__=ks(this.__actions__)).push({func:n,args:arguments,thisArg:e}),i.__chain__=t,i}return n.apply(e,zt([this.value()],arguments))})})),e}function hl(){}var ul=Us(Ft),cl=Us(Dt),dl=Us(It);function pl(e){return Eo(e)?Xt(No(e)):function(e){return function(t){return _n(t,e)}}(e)}var ml=qs(),gl=qs(!0);function fl(){return[]}function bl(){return!1}var vl=js((function(e,t){return e+t}),0),wl=Js("ceil"),Cl=js((function(e,t){return e/t}),1),yl=Js("floor");var El,Rl=js((function(e,t){return e*t}),1),_l=Js("round"),Tl=js((function(e,t){return e-t}),0);return Bi.after=function(e,t){if("function"!=typeof t)throw new ke(o);return e=ga(e),function(){if(--e<1)return t.apply(this,arguments)}},Bi.ary=Mr,Bi.assign=Ca,Bi.assignIn=ya,Bi.assignInWith=Ea,Bi.assignWith=Ra,Bi.at=_a,Bi.before=Lr,Bi.bind=kr,Bi.bindAll=el,Bi.bindKey=Dr,Bi.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Gr(e)?e:[e]},Bi.chain=pr,Bi.chunk=function(e,t,i){t=(i?yo(e,t,i):t===s)?1:vi(ga(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var r=0,a=0,l=n(mt(o/t));r<o;)l[a++]=ss(e,r,r+=t);return l},Bi.compact=function(e){for(var t=-1,i=null==e?0:e.length,n=0,s=[];++t<i;){var o=e[t];o&&(s[n++]=o)}return s},Bi.concat=function(){var e=arguments.length;if(!e)return[];for(var t=n(e-1),i=arguments[0],s=e;s--;)t[s-1]=arguments[s];return zt(Gr(i)?ks(i):[i],vn(t,1))},Bi.cond=function(e){var t=null==e?0:e.length,i=ho();return e=t?Ft(e,(function(e){if("function"!=typeof e[1])throw new ke(o);return[i(e[0]),e[1]]})):[],Kn((function(i){for(var n=-1;++n<t;){var s=e[n];if(St(s[0],this,i))return St(s[1],this,i)}}))},Bi.conforms=function(e){return function(e){var t=Aa(e);return function(i){return un(i,e,t)}}(hn(e,1))},Bi.constant=tl,Bi.countBy=fr,Bi.create=function(e,t){var i=Vi(e);return null==t?i:on(i,t)},Bi.curry=function e(t,i,n){var o=Zs(t,8,s,s,s,s,s,i=n?s:i);return o.placeholder=e.placeholder,o},Bi.curryRight=function e(t,i,n){var o=Zs(t,l,s,s,s,s,s,i=n?s:i);return o.placeholder=e.placeholder,o},Bi.debounce=Ar,Bi.defaults=Ta,Bi.defaultsDeep=xa,Bi.defer=Pr,Bi.delay=Or,Bi.difference=Vo,Bi.differenceBy=Wo,Bi.differenceWith=jo,Bi.drop=function(e,t,i){var n=null==e?0:e.length;return n?ss(e,(t=i||t===s?1:ga(t))<0?0:t,n):[]},Bi.dropRight=function(e,t,i){var n=null==e?0:e.length;return n?ss(e,0,(t=n-(t=i||t===s?1:ga(t)))<0?0:t):[]},Bi.dropRightWhile=function(e,t){return e&&e.length?ms(e,ho(t,3),!0,!0):[]},Bi.dropWhile=function(e,t){return e&&e.length?ms(e,ho(t,3),!0):[]},Bi.fill=function(e,t,i,n){var o=null==e?0:e.length;return o?(i&&"number"!=typeof i&&yo(e,t,i)&&(i=0,n=o),function(e,t,i,n){var o=e.length;for((i=ga(i))<0&&(i=-i>o?0:o+i),(n=n===s||n>o?o:ga(n))<0&&(n+=o),n=i>n?0:fa(n);i<n;)e[i++]=t;return e}(e,t,i,n)):[]},Bi.filter=function(e,t){return(Gr(e)?At:bn)(e,ho(t,3))},Bi.flatMap=function(e,t){return vn(_r(e,t),1)},Bi.flatMapDeep=function(e,t){return vn(_r(e,t),p)},Bi.flatMapDepth=function(e,t,i){return i=i===s?1:ga(i),vn(_r(e,t),i)},Bi.flatten=qo,Bi.flattenDeep=function(e){return(null==e?0:e.length)?vn(e,p):[]},Bi.flattenDepth=function(e,t){return(null==e?0:e.length)?vn(e,t=t===s?1:ga(t)):[]},Bi.flip=function(e){return Zs(e,512)},Bi.flow=il,Bi.flowRight=nl,Bi.fromPairs=function(e){for(var t=-1,i=null==e?0:e.length,n={};++t<i;){var s=e[t];n[s[0]]=s[1]}return n},Bi.functions=function(e){return null==e?[]:Rn(e,Aa(e))},Bi.functionsIn=function(e){return null==e?[]:Rn(e,Pa(e))},Bi.groupBy=yr,Bi.initial=function(e){return(null==e?0:e.length)?ss(e,0,-1):[]},Bi.intersection=Yo,Bi.intersectionBy=Jo,Bi.intersectionWith=$o,Bi.invert=La,Bi.invertBy=ka,Bi.invokeMap=Er,Bi.iteratee=ol,Bi.keyBy=Rr,Bi.keys=Aa,Bi.keysIn=Pa,Bi.map=_r,Bi.mapKeys=function(e,t){var i={};return t=ho(t,3),yn(e,(function(e,n,s){rn(i,t(e,n,s),e)})),i},Bi.mapValues=function(e,t){var i={};return t=ho(t,3),yn(e,(function(e,n,s){rn(i,n,t(e,n,s))})),i},Bi.matches=function(e){return Vn(hn(e,1))},Bi.matchesProperty=function(e,t){return Wn(e,hn(t,1))},Bi.memoize=Fr,Bi.merge=Oa,Bi.mergeWith=Fa,Bi.method=rl,Bi.methodOf=al,Bi.mixin=ll,Bi.negate=zr,Bi.nthArg=function(e){return e=ga(e),Kn((function(t){return Un(t,e)}))},Bi.omit=za,Bi.omitBy=function(e,t){return Na(e,zr(ho(t)))},Bi.once=function(e){return Lr(2,e)},Bi.orderBy=function(e,t,i,n){return null==e?[]:(Gr(t)||(t=null==t?[]:[t]),Gr(i=n?s:i)||(i=null==i?[]:[i]),Gn(e,t,i))},Bi.over=ul,Bi.overArgs=Hr,Bi.overEvery=cl,Bi.overSome=dl,Bi.partial=Nr,Bi.partialRight=Ir,Bi.partition=Tr,Bi.pick=Ha,Bi.pickBy=Na,Bi.property=pl,Bi.propertyOf=function(e){return function(t){return null==e?s:_n(e,t)}},Bi.pull=Zo,Bi.pullAll=Qo,Bi.pullAllBy=function(e,t,i){return e&&e.length&&t&&t.length?Xn(e,t,ho(i,2)):e},Bi.pullAllWith=function(e,t,i){return e&&e.length&&t&&t.length?Xn(e,t,s,i):e},Bi.pullAt=er,Bi.range=ml,Bi.rangeRight=gl,Bi.rearg=Br,Bi.reject=function(e,t){return(Gr(e)?At:bn)(e,zr(ho(t,3)))},Bi.remove=function(e,t){var i=[];if(!e||!e.length)return i;var n=-1,s=[],o=e.length;for(t=ho(t,3);++n<o;){var r=e[n];t(r,n,e)&&(i.push(r),s.push(n))}return Yn(e,s),i},Bi.rest=function(e,t){if("function"!=typeof e)throw new ke(o);return Kn(e,t=t===s?t:ga(t))},Bi.reverse=tr,Bi.sampleSize=function(e,t,i){return t=(i?yo(e,t,i):t===s)?1:ga(t),(Gr(e)?Zi:Qn)(e,t)},Bi.set=function(e,t,i){return null==e?e:es(e,t,i)},Bi.setWith=function(e,t,i,n){return n="function"==typeof n?n:s,null==e?e:es(e,t,i,n)},Bi.shuffle=function(e){return(Gr(e)?Qi:ns)(e)},Bi.slice=function(e,t,i){var n=null==e?0:e.length;return n?(i&&"number"!=typeof i&&yo(e,t,i)?(t=0,i=n):(t=null==t?0:ga(t),i=i===s?n:ga(i)),ss(e,t,i)):[]},Bi.sortBy=xr,Bi.sortedUniq=function(e){return e&&e.length?ls(e):[]},Bi.sortedUniqBy=function(e,t){return e&&e.length?ls(e,ho(t,2)):[]},Bi.split=function(e,t,i){return i&&"number"!=typeof i&&yo(e,t,i)&&(t=i=s),(i=i===s?f:i>>>0)?(e=wa(e))&&("string"==typeof t||null!=t&&!ra(t))&&!(t=us(t))&&ai(e)?Es(mi(e),0,i):e.split(t,i):[]},Bi.spread=function(e,t){if("function"!=typeof e)throw new ke(o);return t=null==t?0:vi(ga(t),0),Kn((function(i){var n=i[t],s=Es(i,0,t);return n&&zt(s,n),St(e,this,s)}))},Bi.tail=function(e){var t=null==e?0:e.length;return t?ss(e,1,t):[]},Bi.take=function(e,t,i){return e&&e.length?ss(e,0,(t=i||t===s?1:ga(t))<0?0:t):[]},Bi.takeRight=function(e,t,i){var n=null==e?0:e.length;return n?ss(e,(t=n-(t=i||t===s?1:ga(t)))<0?0:t,n):[]},Bi.takeRightWhile=function(e,t){return e&&e.length?ms(e,ho(t,3),!1,!0):[]},Bi.takeWhile=function(e,t){return e&&e.length?ms(e,ho(t,3)):[]},Bi.tap=function(e,t){return t(e),e},Bi.throttle=function(e,t,i){var n=!0,s=!0;if("function"!=typeof e)throw new ke(o);return ta(i)&&(n="leading"in i?!!i.leading:n,s="trailing"in i?!!i.trailing:s),Ar(e,t,{leading:n,maxWait:t,trailing:s})},Bi.thru=mr,Bi.toArray=pa,Bi.toPairs=Ia,Bi.toPairsIn=Ba,Bi.toPath=function(e){return Gr(e)?Ft(e,No):ha(e)?[e]:ks(Ho(wa(e)))},Bi.toPlainObject=va,Bi.transform=function(e,t,i){var n=Gr(e),s=n||Jr(e)||ua(e);if(t=ho(t,4),null==i){var o=e&&e.constructor;i=s?n?new o:[]:ta(e)&&Zr(o)?Vi(Xe(e)):{}}return(s?Lt:yn)(e,(function(e,n,s){return t(i,e,n,s)})),i},Bi.unary=function(e){return Mr(e,1)},Bi.union=ir,Bi.unionBy=nr,Bi.unionWith=sr,Bi.uniq=function(e){return e&&e.length?cs(e):[]},Bi.uniqBy=function(e,t){return e&&e.length?cs(e,ho(t,2)):[]},Bi.uniqWith=function(e,t){return t="function"==typeof t?t:s,e&&e.length?cs(e,s,t):[]},Bi.unset=function(e,t){return null==e||ds(e,t)},Bi.unzip=or,Bi.unzipWith=rr,Bi.update=function(e,t,i){return null==e?e:ps(e,t,ws(i))},Bi.updateWith=function(e,t,i,n){return n="function"==typeof n?n:s,null==e?e:ps(e,t,ws(i),n)},Bi.values=Va,Bi.valuesIn=function(e){return null==e?[]:ei(e,Pa(e))},Bi.without=ar,Bi.words=Za,Bi.wrap=function(e,t){return Nr(ws(t),e)},Bi.xor=lr,Bi.xorBy=hr,Bi.xorWith=ur,Bi.zip=cr,Bi.zipObject=function(e,t){return bs(e||[],t||[],tn)},Bi.zipObjectDeep=function(e,t){return bs(e||[],t||[],es)},Bi.zipWith=dr,Bi.entries=Ia,Bi.entriesIn=Ba,Bi.extend=ya,Bi.extendWith=Ea,ll(Bi,Bi),Bi.add=vl,Bi.attempt=Qa,Bi.camelCase=Wa,Bi.capitalize=ja,Bi.ceil=wl,Bi.clamp=function(e,t,i){return i===s&&(i=t,t=s),i!==s&&(i=(i=ba(i))==i?i:0),t!==s&&(t=(t=ba(t))==t?t:0),ln(ba(e),t,i)},Bi.clone=function(e){return hn(e,4)},Bi.cloneDeep=function(e){return hn(e,5)},Bi.cloneDeepWith=function(e,t){return hn(e,5,t="function"==typeof t?t:s)},Bi.cloneWith=function(e,t){return hn(e,4,t="function"==typeof t?t:s)},Bi.conformsTo=function(e,t){return null==t||un(e,t,Aa(t))},Bi.deburr=Ua,Bi.defaultTo=function(e,t){return null==e||e!=e?t:e},Bi.divide=Cl,Bi.endsWith=function(e,t,i){e=wa(e),t=us(t);var n=e.length,o=i=i===s?n:ln(ga(i),0,n);return(i-=t.length)>=0&&e.slice(i,o)==t},Bi.eq=Vr,Bi.escape=function(e){return(e=wa(e))&&K.test(e)?e.replace(J,oi):e},Bi.escapeRegExp=function(e){return(e=wa(e))&&oe.test(e)?e.replace(se,"\\$&"):e},Bi.every=function(e,t,i){var n=Gr(e)?Dt:gn;return i&&yo(e,t,i)&&(t=s),n(e,ho(t,3))},Bi.find=br,Bi.findIndex=Uo,Bi.findKey=function(e,t){return Vt(e,ho(t,3),yn)},Bi.findLast=vr,Bi.findLastIndex=Go,Bi.findLastKey=function(e,t){return Vt(e,ho(t,3),En)},Bi.floor=yl,Bi.forEach=wr,Bi.forEachRight=Cr,Bi.forIn=function(e,t){return null==e?e:wn(e,ho(t,3),Pa)},Bi.forInRight=function(e,t){return null==e?e:Cn(e,ho(t,3),Pa)},Bi.forOwn=function(e,t){return e&&yn(e,ho(t,3))},Bi.forOwnRight=function(e,t){return e&&En(e,ho(t,3))},Bi.get=Sa,Bi.gt=Wr,Bi.gte=jr,Bi.has=function(e,t){return null!=e&&bo(e,t,Mn)},Bi.hasIn=Ma,Bi.head=Xo,Bi.identity=sl,Bi.includes=function(e,t,i,n){e=Xr(e)?e:Va(e),i=i&&!n?ga(i):0;var s=e.length;return i<0&&(i=vi(s+i,0)),la(e)?i<=s&&e.indexOf(t,i)>-1:!!s&&jt(e,t,i)>-1},Bi.indexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var s=null==i?0:ga(i);return s<0&&(s=vi(n+s,0)),jt(e,t,s)},Bi.inRange=function(e,t,i){return t=ma(t),i===s?(i=t,t=0):i=ma(i),function(e,t,i){return e>=wi(t,i)&&e<vi(t,i)}(e=ba(e),t,i)},Bi.invoke=Da,Bi.isArguments=Ur,Bi.isArray=Gr,Bi.isArrayBuffer=qr,Bi.isArrayLike=Xr,Bi.isArrayLikeObject=Yr,Bi.isBoolean=function(e){return!0===e||!1===e||ia(e)&&xn(e)==C},Bi.isBuffer=Jr,Bi.isDate=$r,Bi.isElement=function(e){return ia(e)&&1===e.nodeType&&!oa(e)},Bi.isEmpty=function(e){if(null==e)return!0;if(Xr(e)&&(Gr(e)||"string"==typeof e||"function"==typeof e.splice||Jr(e)||ua(e)||Ur(e)))return!e.length;var t=fo(e);if(t==T||t==k)return!e.size;if(To(e))return!Hn(e).length;for(var i in e)if(ze.call(e,i))return!1;return!0},Bi.isEqual=function(e,t){return Pn(e,t)},Bi.isEqualWith=function(e,t,i){var n=(i="function"==typeof i?i:s)?i(e,t):s;return n===s?Pn(e,t,s,i):!!n},Bi.isError=Kr,Bi.isFinite=function(e){return"number"==typeof e&&Ct(e)},Bi.isFunction=Zr,Bi.isInteger=Qr,Bi.isLength=ea,Bi.isMap=na,Bi.isMatch=function(e,t){return e===t||On(e,t,co(t))},Bi.isMatchWith=function(e,t,i){return i="function"==typeof i?i:s,On(e,t,co(t),i)},Bi.isNaN=function(e){return sa(e)&&e!=+e},Bi.isNative=function(e){if(_o(e))throw new _e("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Fn(e)},Bi.isNil=function(e){return null==e},Bi.isNull=function(e){return null===e},Bi.isNumber=sa,Bi.isObject=ta,Bi.isObjectLike=ia,Bi.isPlainObject=oa,Bi.isRegExp=ra,Bi.isSafeInteger=function(e){return Qr(e)&&e>=-9007199254740991&&e<=m},Bi.isSet=aa,Bi.isString=la,Bi.isSymbol=ha,Bi.isTypedArray=ua,Bi.isUndefined=function(e){return e===s},Bi.isWeakMap=function(e){return ia(e)&&fo(e)==P},Bi.isWeakSet=function(e){return ia(e)&&"[object WeakSet]"==xn(e)},Bi.join=function(e,t){return null==e?"":Bt.call(e,t)},Bi.kebabCase=Ga,Bi.last=Ko,Bi.lastIndexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var o=n;return i!==s&&(o=(o=ga(i))<0?vi(n+o,0):wi(o,n-1)),t==t?function(e,t,i){for(var n=i+1;n--;)if(e[n]===t)return n;return n}(e,t,o):Wt(e,Gt,o,!0)},Bi.lowerCase=qa,Bi.lowerFirst=Xa,Bi.lt=ca,Bi.lte=da,Bi.max=function(e){return e&&e.length?fn(e,sl,Sn):s},Bi.maxBy=function(e,t){return e&&e.length?fn(e,ho(t,2),Sn):s},Bi.mean=function(e){return qt(e,sl)},Bi.meanBy=function(e,t){return qt(e,ho(t,2))},Bi.min=function(e){return e&&e.length?fn(e,sl,In):s},Bi.minBy=function(e,t){return e&&e.length?fn(e,ho(t,2),In):s},Bi.stubArray=fl,Bi.stubFalse=bl,Bi.stubObject=function(){return{}},Bi.stubString=function(){return""},Bi.stubTrue=function(){return!0},Bi.multiply=Rl,Bi.nth=function(e,t){return e&&e.length?Un(e,ga(t)):s},Bi.noConflict=function(){return gt._===this&&(gt._=Ve),this},Bi.noop=hl,Bi.now=Sr,Bi.pad=function(e,t,i){e=wa(e);var n=(t=ga(t))?pi(e):0;if(!t||n>=t)return e;var s=(t-n)/2;return Gs(ft(s),i)+e+Gs(mt(s),i)},Bi.padEnd=function(e,t,i){e=wa(e);var n=(t=ga(t))?pi(e):0;return t&&n<t?e+Gs(t-n,i):e},Bi.padStart=function(e,t,i){e=wa(e);var n=(t=ga(t))?pi(e):0;return t&&n<t?Gs(t-n,i)+e:e},Bi.parseInt=function(e,t,i){return i||null==t?t=0:t&&(t=+t),yi(wa(e).replace(re,""),t||0)},Bi.random=function(e,t,i){if(i&&"boolean"!=typeof i&&yo(e,t,i)&&(t=i=s),i===s&&("boolean"==typeof t?(i=t,t=s):"boolean"==typeof e&&(i=e,e=s)),e===s&&t===s?(e=0,t=1):(e=ma(e),t===s?(t=e,e=0):t=ma(t)),e>t){var n=e;e=t,t=n}if(i||e%1||t%1){var o=Ei();return wi(e+o*(t-e+ct("1e-"+((o+"").length-1))),t)}return Jn(e,t)},Bi.reduce=function(e,t,i){var n=Gr(e)?Ht:Jt,s=arguments.length<3;return n(e,ho(t,4),i,s,pn)},Bi.reduceRight=function(e,t,i){var n=Gr(e)?Nt:Jt,s=arguments.length<3;return n(e,ho(t,4),i,s,mn)},Bi.repeat=function(e,t,i){return t=(i?yo(e,t,i):t===s)?1:ga(t),$n(wa(e),t)},Bi.replace=function(){var e=arguments,t=wa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Bi.result=function(e,t,i){var n=-1,o=(t=Cs(t,e)).length;for(o||(o=1,e=s);++n<o;){var r=null==e?s:e[No(t[n])];r===s&&(n=o,r=i),e=Zr(r)?r.call(e):r}return e},Bi.round=_l,Bi.runInContext=e,Bi.sample=function(e){return(Gr(e)?Ki:Zn)(e)},Bi.size=function(e){if(null==e)return 0;if(Xr(e))return la(e)?pi(e):e.length;var t=fo(e);return t==T||t==k?e.size:Hn(e).length},Bi.snakeCase=Ya,Bi.some=function(e,t,i){var n=Gr(e)?It:os;return i&&yo(e,t,i)&&(t=s),n(e,ho(t,3))},Bi.sortedIndex=function(e,t){return rs(e,t)},Bi.sortedIndexBy=function(e,t,i){return as(e,t,ho(i,2))},Bi.sortedIndexOf=function(e,t){var i=null==e?0:e.length;if(i){var n=rs(e,t);if(n<i&&Vr(e[n],t))return n}return-1},Bi.sortedLastIndex=function(e,t){return rs(e,t,!0)},Bi.sortedLastIndexBy=function(e,t,i){return as(e,t,ho(i,2),!0)},Bi.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var i=rs(e,t,!0)-1;if(Vr(e[i],t))return i}return-1},Bi.startCase=Ja,Bi.startsWith=function(e,t,i){return e=wa(e),i=null==i?0:ln(ga(i),0,e.length),t=us(t),e.slice(i,i+t.length)==t},Bi.subtract=Tl,Bi.sum=function(e){return e&&e.length?$t(e,sl):0},Bi.sumBy=function(e,t){return e&&e.length?$t(e,ho(t,2)):0},Bi.template=function(e,t,i){var n=Bi.templateSettings;i&&yo(e,t,i)&&(t=s),e=wa(e),t=Ea({},t,n,Qs);var o,r,a=Ea({},t.imports,n.imports,Qs),l=Aa(a),h=ei(a,l),u=0,c=t.interpolate||Ee,d="__p += '",p=Me((t.escape||Ee).source+"|"+c.source+"|"+(c===ee?me:Ee).source+"|"+(t.evaluate||Ee).source+"|$","g"),m="//# sourceURL="+(ze.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++at+"]")+"\n";e.replace(p,(function(t,i,n,s,a,l){return n||(n=s),d+=e.slice(u,l).replace(Re,ri),i&&(o=!0,d+="' +\n__e("+i+") +\n'"),a&&(r=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),d+="';\n";var g=ze.call(t,"variable")&&t.variable;if(g){if(de.test(g))throw new _e("Invalid `variable` option passed into `_.template`")}else d="with (obj) {\n"+d+"\n}\n";d=(r?d.replace(G,""):d).replace(q,"$1").replace(X,"$1;"),d="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(r?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var f=Qa((function(){return Te(l,m+"return "+d).apply(s,h)}));if(f.source=d,Kr(f))throw f;return f},Bi.times=function(e,t){if((e=ga(e))<1||e>m)return[];var i=f,n=wi(e,f);t=ho(t),e-=f;for(var s=Kt(n,t);++i<e;)t(i);return s},Bi.toFinite=ma,Bi.toInteger=ga,Bi.toLength=fa,Bi.toLower=function(e){return wa(e).toLowerCase()},Bi.toNumber=ba,Bi.toSafeInteger=function(e){return e?ln(ga(e),-9007199254740991,m):0===e?e:0},Bi.toString=wa,Bi.toUpper=function(e){return wa(e).toUpperCase()},Bi.trim=function(e,t,i){if((e=wa(e))&&(i||t===s))return Zt(e);if(!e||!(t=us(t)))return e;var n=mi(e),o=mi(t);return Es(n,ii(n,o),ni(n,o)+1).join("")},Bi.trimEnd=function(e,t,i){if((e=wa(e))&&(i||t===s))return e.slice(0,gi(e)+1);if(!e||!(t=us(t)))return e;var n=mi(e);return Es(n,0,ni(n,mi(t))+1).join("")},Bi.trimStart=function(e,t,i){if((e=wa(e))&&(i||t===s))return e.replace(re,"");if(!e||!(t=us(t)))return e;var n=mi(e);return Es(n,ii(n,mi(t))).join("")},Bi.truncate=function(e,t){var i=30,n="...";if(ta(t)){var o="separator"in t?t.separator:o;i="length"in t?ga(t.length):i,n="omission"in t?us(t.omission):n}var r=(e=wa(e)).length;if(ai(e)){var a=mi(e);r=a.length}if(i>=r)return e;var l=i-pi(n);if(l<1)return n;var h=a?Es(a,0,l).join(""):e.slice(0,l);if(o===s)return h+n;if(a&&(l+=h.length-l),ra(o)){if(e.slice(l).search(o)){var u,c=h;for(o.global||(o=Me(o.source,wa(ge.exec(o))+"g")),o.lastIndex=0;u=o.exec(c);)var d=u.index;h=h.slice(0,d===s?l:d)}}else if(e.indexOf(us(o),l)!=l){var p=h.lastIndexOf(o);p>-1&&(h=h.slice(0,p))}return h+n},Bi.unescape=function(e){return(e=wa(e))&&$.test(e)?e.replace(Y,fi):e},Bi.uniqueId=function(e){var t=++He;return wa(e)+t},Bi.upperCase=$a,Bi.upperFirst=Ka,Bi.each=wr,Bi.eachRight=Cr,Bi.first=Xo,ll(Bi,(El={},yn(Bi,(function(e,t){ze.call(Bi.prototype,t)||(El[t]=e)})),El),{chain:!1}),Bi.VERSION="4.17.21",Lt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Bi[e].placeholder=Bi})),Lt(["drop","take"],(function(e,t){Ui.prototype[e]=function(i){i=i===s?1:vi(ga(i),0);var n=this.__filtered__&&!t?new Ui(this):this.clone();return n.__filtered__?n.__takeCount__=wi(i,n.__takeCount__):n.__views__.push({size:wi(i,f),type:e+(n.__dir__<0?"Right":"")}),n},Ui.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Lt(["filter","map","takeWhile"],(function(e,t){var i=t+1,n=1==i||3==i;Ui.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ho(e,3),type:i}),t.__filtered__=t.__filtered__||n,t}})),Lt(["head","last"],(function(e,t){var i="take"+(t?"Right":"");Ui.prototype[e]=function(){return this[i](1).value()[0]}})),Lt(["initial","tail"],(function(e,t){var i="drop"+(t?"":"Right");Ui.prototype[e]=function(){return this.__filtered__?new Ui(this):this[i](1)}})),Ui.prototype.compact=function(){return this.filter(sl)},Ui.prototype.find=function(e){return this.filter(e).head()},Ui.prototype.findLast=function(e){return this.reverse().find(e)},Ui.prototype.invokeMap=Kn((function(e,t){return"function"==typeof e?new Ui(this):this.map((function(i){return Dn(i,e,t)}))})),Ui.prototype.reject=function(e){return this.filter(zr(ho(e)))},Ui.prototype.slice=function(e,t){e=ga(e);var i=this;return i.__filtered__&&(e>0||t<0)?new Ui(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==s&&(i=(t=ga(t))<0?i.dropRight(-t):i.take(t-e)),i)},Ui.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ui.prototype.toArray=function(){return this.take(f)},yn(Ui.prototype,(function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=Bi[n?"take"+("last"==t?"Right":""):t],r=n||/^find/.test(t);o&&(Bi.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,l=t instanceof Ui,h=a[0],u=l||Gr(t),c=function(e){var t=o.apply(Bi,zt([e],a));return n&&d?t[0]:t};u&&i&&"function"==typeof h&&1!=h.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,m=r&&!d,g=l&&!p;if(!r&&u){t=g?t:new Ui(this);var f=e.apply(t,a);return f.__actions__.push({func:mr,args:[c],thisArg:s}),new ji(f,d)}return m&&g?e.apply(this,a):(f=this.thru(c),m?n?f.value()[0]:f.value():f)})})),Lt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=De[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);Bi.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var s=this.value();return t.apply(Gr(s)?s:[],e)}return this[i]((function(i){return t.apply(Gr(i)?i:[],e)}))}})),yn(Ui.prototype,(function(e,t){var i=Bi[t];if(i){var n=i.name+"";ze.call(Di,n)||(Di[n]=[]),Di[n].push({name:t,func:i})}})),Di[Vs(s,2).name]=[{name:"wrapper",func:s}],Ui.prototype.clone=function(){var e=new Ui(this.__wrapped__);return e.__actions__=ks(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ks(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ks(this.__views__),e},Ui.prototype.reverse=function(){if(this.__filtered__){var e=new Ui(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Ui.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,i=Gr(e),n=t<0,s=i?e.length:0,o=function(e,t,i){var n=-1,s=i.length;for(;++n<s;){var o=i[n],r=o.size;switch(o.type){case"drop":e+=r;break;case"dropRight":t-=r;break;case"take":t=wi(t,e+r);break;case"takeRight":e=vi(e,t-r)}}return{start:e,end:t}}(0,s,this.__views__),r=o.start,a=o.end,l=a-r,h=n?a:r-1,u=this.__iteratees__,c=u.length,d=0,p=wi(l,this.__takeCount__);if(!i||!n&&s==l&&p==l)return gs(e,this.__actions__);var m=[];e:for(;l--&&d<p;){for(var g=-1,f=e[h+=t];++g<c;){var b=u[g],v=b.iteratee,w=b.type,C=v(f);if(2==w)f=C;else if(!C){if(1==w)continue e;break e}}m[d++]=f}return m},Bi.prototype.at=gr,Bi.prototype.chain=function(){return pr(this)},Bi.prototype.commit=function(){return new ji(this.value(),this.__chain__)},Bi.prototype.next=function(){this.__values__===s&&(this.__values__=pa(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?s:this.__values__[this.__index__++]}},Bi.prototype.plant=function(e){for(var t,i=this;i instanceof Wi;){var n=Bo(i);n.__index__=0,n.__values__=s,t?o.__wrapped__=n:t=n;var o=n;i=i.__wrapped__}return o.__wrapped__=e,t},Bi.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Ui){var t=e;return this.__actions__.length&&(t=new Ui(this)),(t=t.reverse()).__actions__.push({func:mr,args:[tr],thisArg:s}),new ji(t,this.__chain__)}return this.thru(tr)},Bi.prototype.toJSON=Bi.prototype.valueOf=Bi.prototype.value=function(){return gs(this.__wrapped__,this.__actions__)},Bi.prototype.first=Bi.prototype.head,Ze&&(Bi.prototype[Ze]=function(){return this}),Bi}();gt._=bi,(n=function(){return bi}.call(t,i,t,e))===s||(e.exports=n)}.call(this)},7771:(e,t,i)=>{var n=i(5639);e.exports=function(){return n.Date.now()}},4841:(e,t,i)=>{var n=i(7561),s=i(3218),o=i(3448),r=NaN,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,h=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return r;if(s(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=s(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var i=l.test(e);return i||h.test(e)?u(e.slice(2),i?2:8):a.test(e)?r:+e}}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.loaded=!0,o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{"use strict";class e{constructor(e){this.table=e}reloadData(e,t,i){return this.table.dataLoader.load(e,void 0,void 0,void 0,t,i)}langText(){return this.table.modules.localize.getText(...arguments)}langBind(){return this.table.modules.localize.bind(...arguments)}langLocale(){return this.table.modules.localize.getLocale(...arguments)}commsConnections(){return this.table.modules.comms.getConnections(...arguments)}commsSend(){return this.table.modules.comms.send(...arguments)}layoutMode(){return this.table.modules.layout.getMode()}layoutRefresh(e){return this.table.modules.layout.layout(e)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(e){return this.table.eventBus.subscribed(e)}subscriptionChange(){return this.table.eventBus.subscriptionChange(...arguments)}dispatch(){return this.table.eventBus.dispatch(...arguments)}chain(){return this.table.eventBus.chain(...arguments)}confirm(){return this.table.eventBus.confirm(...arguments)}dispatchExternal(){return this.table.externalEvents.dispatch(...arguments)}subscribedExternal(e){return this.table.externalEvents.subscribed(e)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(e){return this.table.options[e]}setOption(e,t){return void 0!==t&&(this.table.options[e]=t),this.table.options[e]}deprecationCheck(e,t,i){return this.table.deprecationAdvisor.check(e,t,i)}deprecationCheckMsg(e,t){return this.table.deprecationAdvisor.checkMsg(e,t)}deprecationMsg(e){return this.table.deprecationAdvisor.msg(e)}module(e){return this.table.module(e)}}class t{static elVisible(e){return!(e.offsetWidth<=0&&e.offsetHeight<=0)}static elOffset(e){var t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset-document.documentElement.clientTop,left:t.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(e,t,i){var n,s=e?t.split(e):[t],o=s.length;for(let e=0;e<o&&(n=i=i[s[e]],i);e++);return n}static deepClone(e,t,i=[]){var n={}.__proto__,s=[].__proto__;for(var o in t||(t=Object.assign(Array.isArray(e)?[]:{},e)),e){let r,a,l=e[o];null==l||"object"!=typeof l||l.__proto__!==n&&l.__proto__!==s||(r=i.findIndex((e=>e.subject===l)),r>-1?t[o]=i[r].copy:(a=Object.assign(Array.isArray(l)?[]:{},l),i.unshift({subject:l,copy:a}),t[o]=this.deepClone(l,a,i)))}return t}}let n=class i extends e{constructor(e,t,i){super(e),this.element=t,this.container=this._lookupContainer(),this.parent=i,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var e=this.table.options.popupContainer;return"string"==typeof e?(e=document.querySelector(e))||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)"):!0===e&&(e=this.table.element),e&&!this._checkContainerIsParent(e)&&(e=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),e||(e=document.body),e}_checkContainerIsParent(e,t=this.table.element){return e===t||!!t.parentNode&&this._checkContainerIsParent(e,t.parentNode)}renderCallback(e){this.renderedCallback=e}containerEventCoords(e){var i=!(e instanceof MouseEvent),n=i?e.touches[0].pageX:e.pageX,s=i?e.touches[0].pageY:e.pageY;if(this.container!==document.body){let e=t.elOffset(this.container);n-=e.left,s-=e.top}return{x:n,y:s}}elementPositionCoords(e,i="right"){var n,s,o,r=t.elOffset(e);switch(this.container!==document.body&&(n=t.elOffset(this.container),r.left-=n.left,r.top-=n.top),i){case"right":s=r.left+e.offsetWidth,o=r.top-1;break;case"bottom":s=r.left,o=r.top+e.offsetHeight;break;case"left":s=r.left,o=r.top-1;break;case"top":s=r.left,o=r.top;break;case"center":s=r.left+e.offsetWidth/2,o=r.top+e.offsetHeight/2}return{x:s,y:o,offset:r}}show(e,t){var i,n,s,o,r;return this.destroyed||this.table.destroyed||(e instanceof HTMLElement?(s=e,o=(r=this.elementPositionCoords(e,t)).offset,i=r.x,n=r.y):"number"==typeof e?(o={top:0,left:0},i=e,n=t):(i=(r=this.containerEventCoords(e)).x,n=r.y,this.reversedX=!1),this.element.style.top=n+"px",this.element.style.left=i+"px",this.container.appendChild(this.element),"function"==typeof this.renderedCallback&&this.renderedCallback(),this._fitToScreen(i,n,s,o,t),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",(e=>{e.stopPropagation()}))),this}_fitToScreen(e,t,i,n,s){var o=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;if((e+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",this.element.style.right=i?this.container.offsetWidth-n.left+"px":this.container.offsetWidth-e+"px",this.reversedX=!0),t+this.element.offsetHeight>Math.max(this.container.offsetHeight,o?this.container.scrollHeight:0))if(i)if("bottom"===s)this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-i.offsetHeight-1+"px";else this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+i.offsetHeight+1+"px";else this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+"px"}isVisible(){return this.visible}hideOnBlur(e){return this.blurable=!0,this.visible&&(setTimeout((()=>{this.visible&&(this.table.rowManager.element.addEventListener("scroll",this.blurEvent),this.subscribe("cell-editing",this.blurEvent),document.body.addEventListener("click",this.blurEvent),document.body.addEventListener("contextmenu",this.blurEvent),document.body.addEventListener("mousedown",this.blurEvent),window.addEventListener("resize",this.blurEvent),document.body.addEventListener("keydown",this.escEvent),this.blurEventsBound=!0)}),100),this.blurCallback=e),this}_escapeCheck(e){27==e.keyCode&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(e=!1){return this.visible&&this.hideable&&(this.blurable&&this.blurEventsBound&&(document.body.removeEventListener("keydown",this.escEvent),document.body.removeEventListener("click",this.blurEvent),document.body.removeEventListener("contextmenu",this.blurEvent),document.body.removeEventListener("mousedown",this.blurEvent),window.removeEventListener("resize",this.blurEvent),this.table.rowManager.element.removeEventListener("scroll",this.blurEvent),this.unsubscribe("cell-editing",this.blurEvent),this.blurEventsBound=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!e&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(e){return this.childPopup&&this.childPopup.hide(),this.childPopup=new i(this.table,e,this),this.childPopup}};class s extends e{constructor(e,t){super(e),this._handler=null}initialize(){}registerTableOption(e,t){this.table.optionsList.register(e,t)}registerColumnOption(e,t){this.table.columnManager.optionsList.register(e,t)}registerTableFunction(e,t){void 0===this.table[e]?this.table[e]=(...i)=>(this.table.initGuard(e),t(...i)):console.warn("Unable to bind table function, name already in use",e)}registerComponentFunction(e,t,i){return this.table.componentFunctionBinder.bind(e,t,i)}registerDataHandler(e,t){this.table.rowManager.registerDataPipelineHandler(e,t),this._handler=e}registerDisplayHandler(e,t){this.table.rowManager.registerDisplayPipelineHandler(e,t),this._handler=e}displayRows(e){var t,i=this.table.rowManager.displayRows.length-1;if(this._handler&&(t=this.table.rowManager.displayPipeline.findIndex((e=>e.handler===this._handler)))>-1&&(i=t),e&&(i+=e),this._handler)return i>-1?this.table.rowManager.getDisplayRows(i):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(e,t){t||(t=this._handler),t&&this.table.rowManager.refreshActiveData(t,!1,e)}footerAppend(e){return this.table.footerManager.append(e)}footerPrepend(e){return this.table.footerManager.prepend(e)}footerRemove(e){return this.table.footerManager.remove(e)}popup(e,t){return new n(this.table,e,t)}alert(e,t){return this.table.alertManager.alert(e,t)}clearAlert(){return this.table.alertManager.clear()}}var o={rownum:function(e,t,i,n,s,o){return o.getPosition()}};class r extends s{static moduleName="accessor";static accessors=o;constructor(e){super(e),this.allowedTypes=["","data","download","clipboard","print","htmlOutput"],this.registerColumnOption("accessor"),this.registerColumnOption("accessorParams"),this.registerColumnOption("accessorData"),this.registerColumnOption("accessorDataParams"),this.registerColumnOption("accessorDownload"),this.registerColumnOption("accessorDownloadParams"),this.registerColumnOption("accessorClipboard"),this.registerColumnOption("accessorClipboardParams"),this.registerColumnOption("accessorPrint"),this.registerColumnOption("accessorPrintParams"),this.registerColumnOption("accessorHtmlOutput"),this.registerColumnOption("accessorHtmlOutputParams")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-retrieve",this.transformRow.bind(this))}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach((n=>{var s,o="accessor"+(n.charAt(0).toUpperCase()+n.slice(1));e.definition[o]&&(s=this.lookupAccessor(e.definition[o]))&&(t=!0,i[o]={accessor:s,params:e.definition[o+"Params"]||{}})})),t&&(e.modules.accessor=i)}lookupAccessor(e){var t=!1;switch(typeof e){case"string":r.accessors[e]?t=r.accessors[e]:console.warn("Accessor Error - No such accessor found, ignoring: ",e);break;case"function":t=e}return t}transformRow(e,i){var n="accessor"+(i.charAt(0).toUpperCase()+i.slice(1)),s=e.getComponent(),o=t.deepClone(e.data||{});return this.table.columnManager.traverse((function(e){var t,r,a,l;e.modules.accessor&&(r=e.modules.accessor[n]||e.modules.accessor.accessor||!1)&&"undefined"!=(t=e.getFieldValue(o))&&(l=e.getComponent(),a="function"==typeof r.params?r.params(t,o,i,l,s):r.params,e.setFieldValue(o,r.accessor(t,o,i,a,l,s)))})),o}}var a={method:"GET"};function l(e,t){var i=[];if(t=t||"",Array.isArray(e))e.forEach(((e,n)=>{i=i.concat(l(e,t?t+"["+n+"]":n))}));else if("object"==typeof e)for(var n in e)i=i.concat(l(e[n],t?t+"["+n+"]":n));else i.push({key:t,value:e});return i}function h(e){var t=l(e),i=[];return t.forEach((function(e){i.push(encodeURIComponent(e.key)+"="+encodeURIComponent(e.value))})),i.join("&")}function u(e,t,i){return e&&i&&Object.keys(i).length&&(t.method&&"get"!=t.method.toLowerCase()||(t.method="get",e+=(e.includes("?")?"&":"?")+h(i))),e}function c(e,t,i){var n;return new Promise(((s,o)=>{if(e=this.urlGenerator.call(this.table,e,t,i),"GET"!=t.method.toUpperCase())if(n="object"==typeof this.table.options.ajaxContentType?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType]){for(var r in n.headers)t.headers||(t.headers={}),void 0===t.headers[r]&&(t.headers[r]=n.headers[r]);t.body=n.body.call(this,e,t,i)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType);e?(void 0===t.headers&&(t.headers={}),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),void 0===t.headers["X-Requested-With"]&&(t.headers["X-Requested-With"]="XMLHttpRequest"),void 0===t.mode&&(t.mode="cors"),"cors"==t.mode?(void 0===t.headers.Origin&&(t.headers.Origin=window.location.origin),void 0===t.credentials&&(t.credentials="same-origin")):void 0===t.credentials&&(t.credentials="include"),fetch(e,t).then((e=>{e.ok?e.json().then((e=>{s(e)})).catch((e=>{o(e),console.warn("Ajax Load Error - Invalid JSON returned",e)})):(console.error("Ajax Load Error - Connection Error: "+e.status,e.statusText),o(e))})).catch((e=>{console.error("Ajax Load Error - Connection Error: ",e),o(e)}))):(console.warn("Ajax Load Error - No URL Set"),s([]))}))}function d(e,t){var i=[];if(t=t||"",Array.isArray(e))e.forEach(((e,n)=>{i=i.concat(d(e,t?t+"["+n+"]":n))}));else if("object"==typeof e)for(var n in e)i=i.concat(d(e[n],t?t+"["+n+"]":n));else i.push({key:t,value:e});return i}var p={json:{headers:{"Content-Type":"application/json"},body:function(e,t,i){return JSON.stringify(i)}},form:{headers:{},body:function(e,t,i){var n=d(i),s=new FormData;return n.forEach((function(e){s.append(e.key,e.value)})),s}}};class m extends s{static moduleName="ajax";static defaultConfig=a;static defaultURLGenerator=u;static defaultLoaderPromise=c;static contentTypeFormatters=p;constructor(e){super(e),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",(function(){})),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=m.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||m.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||m.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction("getAjaxUrl",this.getUrl.bind(this)),this.subscribe("data-loading",this.requestDataCheck.bind(this)),this.subscribe("data-params",this.requestParams.bind(this)),this.subscribe("data-load",this.requestData.bind(this))}requestParams(e,t,i,n){var s=this.table.options.ajaxParams;return s&&("function"==typeof s&&(s=s.call(this.table)),n=Object.assign(Object.assign({},s),n)),n}requestDataCheck(e,t,i,n){return!((e||!this.url)&&"string"!=typeof e)}requestData(e,t,i,n,s){var o;return!s&&this.requestDataCheck(e)?(e&&this.setUrl(e),o=this.generateConfig(i),this.sendRequest(this.url,t,o)):s}setDefaultConfig(e={}){this.config=Object.assign({},m.defaultConfig),"string"==typeof e?this.config.method=e:Object.assign(this.config,e)}generateConfig(e={}){var t=Object.assign({},this.config);return"string"==typeof e?t.method=e:Object.assign(t,e),t}setUrl(e){this.url=e}getUrl(){return this.url}sendRequest(e,t,i){return!1!==this.table.options.ajaxRequesting.call(this.table,e,t)?this.loaderPromise(e,i,t).then((i=>(this.table.options.ajaxResponse&&(i=this.table.options.ajaxResponse.call(this.table,e,t,i)),i))):Promise.reject()}}var g={replace:function(e){return this.table.setData(e)},update:function(e){return this.table.updateOrAddData(e)},insert:function(e){return this.table.addData(e)}},f={table:function(e){var t=[],i=!0,n=this.table.columnManager.columns,s=[],o=[];return(e=e.split("\n")).forEach((function(e){t.push(e.split("\t"))})),!(!t.length||1===t.length&&t[0].length<2)&&(t[0].forEach((function(e){var t=n.find((function(t){return e&&t.definition.title&&e.trim()&&t.definition.title.trim()===e.trim()}));t?s.push(t):i=!1})),i||(i=!0,s=[],t[0].forEach((function(e){var t=n.find((function(t){return e&&t.field&&e.trim()&&t.field.trim()===e.trim()}));t?s.push(t):i=!1})),i||(s=this.table.columnManager.columnsByIndex)),i&&t.shift(),t.forEach((function(e){var t={};e.forEach((function(e,i){s[i]&&(t[s[i].field]=e)})),o.push(t)})),o)}},b={keybindings:{bindings:{copyToClipboard:["ctrl + 67","meta + 67"]},actions:{copyToClipboard:function(e){this.table.modules.edit.currentCell||this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}}}};class v extends s{static moduleName="clipboard";static moduleExtensions=b;static pasteActions=g;static pasteParsers=f;constructor(e){super(e),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),this.registerTableOption("clipboardCopyRowRange","active"),this.registerTableOption("clipboardPasteParser","table"),this.registerTableOption("clipboardPasteAction","insert"),this.registerColumnOption("clipboard"),this.registerColumnOption("titleClipboard")}initialize(){this.mode=this.table.options.clipboard,this.rowRange=this.table.options.clipboardCopyRowRange,!0!==this.mode&&"copy"!==this.mode||this.table.element.addEventListener("copy",(e=>{var t,i,n;this.blocked||(e.preventDefault(),this.customSelection?(t=this.customSelection,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t))):(n=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),t=(i=this.table.modules.export.generateHTMLTable(n))?this.generatePlainContent(n):"",this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t),i=this.table.options.clipboardCopyFormatter("html",i))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",t):e.clipboardData&&e.clipboardData.setData?(e.clipboardData.setData("text/plain",t),i&&e.clipboardData.setData("text/html",i)):e.originalEvent&&e.originalEvent.clipboardData.setData&&(e.originalEvent.clipboardData.setData("text/plain",t),i&&e.originalEvent.clipboardData.setData("text/html",i)),this.dispatchExternal("clipboardCopied",t,i),this.reset())})),!0!==this.mode&&"paste"!==this.mode||this.table.element.addEventListener("paste",(e=>{this.paste(e)})),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(e){var t=[];return e.forEach((e=>{var i=[];e.columns.forEach((t=>{var n="";if(t)if("group"===e.type&&(t.value=t.component.getKey()),null===t.value)n="";else switch(typeof t.value){case"object":n=JSON.stringify(t.value);break;case"undefined":n="";break;default:n=t.value}i.push(n)})),t.push(i.join("\t"))})),t.join("\n")}copy(e,t){var i,n;this.blocked=!1,this.customSelection=!1,!0!==this.mode&&"copy"!==this.mode||(this.rowRange=e||this.table.options.clipboardCopyRowRange,void 0!==window.getSelection&&void 0!==document.createRange?((e=document.createRange()).selectNodeContents(this.table.element),(i=window.getSelection()).toString()&&t&&(this.customSelection=i.toString()),i.removeAllRanges(),i.addRange(e)):void 0!==document.selection&&void 0!==document.body.createTextRange&&((n=document.body.createTextRange()).moveToElementText(this.table.element),n.select()),document.execCommand("copy"),i&&i.removeAllRanges())}setPasteAction(e){switch(typeof e){case"string":this.pasteAction=v.pasteActions[e],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",e);break;case"function":this.pasteAction=e}}setPasteParser(e){switch(typeof e){case"string":this.pasteParser=v.pasteParsers[e],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",e);break;case"function":this.pasteParser=e}}paste(e){var t,i,n;this.checkPasteOrigin(e)&&(t=this.getPasteData(e),(i=this.pasteParser.call(this,t))?(e.preventDefault(),this.table.modExists("mutator")&&(i=this.mutateData(i)),n=this.pasteAction.call(this,i),this.dispatchExternal("clipboardPasted",t,i,n)):this.dispatchExternal("clipboardPasteError",t))}mutateData(e){var t=[];return Array.isArray(e)?e.forEach((e=>{t.push(this.table.modules.mutator.transformRow(e,"clipboard"))})):t=e,t}checkPasteOrigin(e){var t=!0;return!this.confirm("clipboard-paste",[e])&&["DIV","SPAN"].includes(e.target.tagName)||(t=!1),t}getPasteData(e){var t;return window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?t=e.clipboardData.getData("text/plain"):e.originalEvent&&e.originalEvent.clipboardData.getData&&(t=e.originalEvent.clipboardData.getData("text/plain")),t}}class w{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._row.table.componentFunctionBinder.handle("row",e._row,t)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var e=[];return this._row.getCells().forEach((function(t){e.push(t.getComponent())})),e}getCell(e){var t=this._row.getCell(e);return!!t&&t.getComponent()}_getSelf(){return this._row}}class C{constructor(e){return this._cell=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._cell.table.componentFunctionBinder.handle("cell",e._cell,t)}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(e){return this._cell.row.getData(e)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(e,t){void 0===t&&(t=!0),this._cell.setValue(e,t)}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue())}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue)}checkHeight(){this._cell.checkHeight()}getTable(){return this._cell.table}_getSelf(){return this._cell}}class y extends e{constructor(e,t){super(e.table),this.table=e.table,this.column=e,this.row=t,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,this.build()}build(){this.generateElement(),this.setWidth(),this._configureCell(),this.setValueActual(this.column.getFieldValue(this.row.data)),this.initialValue=this.value}generateElement(){this.element=document.createElement("div"),this.element.className="tabulator-cell",this.element.setAttribute("role","gridcell"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var e=this.element,t=this.column.getField();(e.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(e.style.display="inline-flex",e.style.alignItems={top:"flex-start",bottom:"flex-end",middle:"center"}[this.column.vertAlign]||"",this.column.hozAlign&&(e.style.justifyContent={left:"flex-start",right:"flex-end",center:"center"}[this.column.hozAlign]||"")),t&&e.setAttribute("tabulator-field",t),this.column.definition.cssClass)&&this.column.definition.cssClass.split(" ").forEach((t=>{e.classList.add(t)}));this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var e;switch(typeof(e=this.chain("cell-format",this,null,(()=>this.element.innerHTML=this.value)))){case"object":if(e instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(e)}else this.element.innerHTML="",null!=e&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",e);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=e}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(e){return this.loaded||(this.loaded=!0,e||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(e,t,i){this.setValueProcessData(e,t,i)&&(this.dispatch("cell-value-updated",this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal("cellEdited",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()))}setValueProcessData(e,t,i){var n=!1;return(this.value!==e||i)&&(n=!0,t&&(e=this.chain("cell-value-changing",[this,e],null,e))),this.setValueActual(e),n&&this.dispatch("cell-value-changed",this),n}setValueActual(e){this.oldValue=this.value,this.value=e,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,e),this.dispatch("cell-value-save-after",this),this.loaded&&this.layoutElement()}layoutElement(){this._generateContents(),this.dispatch("cell-layout",this)}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled}clearWidth(){this.width="",this.element.style.width=""}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled}checkHeight(){this.row.reinitializeHeight()}clearHeight(){this.element.style.height="",this.height=null,this.dispatch("cell-height",this,"")}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch("cell-height",this,this.row.heightStyled)}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?"inline-flex":""}hide(){this.element.style.display="none"}delete(){this.dispatch("cell-delete",this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new C(this)),this.component}}class E{constructor(e){return this._column=e,this.type="ColumnComponent",new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._column.table.componentFunctionBinder.handle("column",e._column,t)}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var e=[];return this._column.cells.forEach((function(t){e.push(t.getComponent())})),e}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach((function(e){e.show()})):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach((function(e){e.hide()})):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var e=[];return this._column.columns.length&&this._column.columns.forEach((function(t){e.push(t.getComponent())})),e}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(e,t){return this._column.table.columnManager.scrollToColumn(this._column,e,t)}getTable(){return this._column.table}move(e,t){var i=this._column.table.columnManager.findColumn(e);i?this._column.table.columnManager.moveColumn(this._column,i,t):console.warn("Move Error - No matching column found:",i)}getNextColumn(){var e=this._column.nextColumn();return!!e&&e.getComponent()}getPrevColumn(){var e=this._column.prevColumn();return!!e&&e.getComponent()}updateDefinition(e){return this._column.updateDefinition(e)}getWidth(){return this._column.getWidth()}setWidth(e){var t;return t=!0===e?this._column.reinitializeWidth(!0):this._column.setWidth(e),this._column.table.columnManager.rerenderColumns(!0),t}}var R={title:void 0,field:void 0,columns:void 0,visible:void 0,hozAlign:void 0,vertAlign:void 0,width:void 0,minWidth:40,maxWidth:void 0,maxInitialWidth:void 0,cssClass:void 0,variableHeight:void 0,headerVertical:void 0,headerHozAlign:void 0,headerWordWrap:!1,editableTitle:void 0};class _ extends e{static defaultOptionList=R;constructor(e,t,i){super(t.table),this.definition=e,this.parent=t,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=i,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,this.mapDefinitions(),this.setField(this.definition.field),this.modules={},this.width=null,this.widthStyled="",this.maxWidth=null,this.maxWidthStyled="",this.maxInitialWidth=null,this.minWidth=null,this.minWidthStyled="",this.widthFixed=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach(((e,t)=>{var i=new _(e,this);this.attachColumn(i)})),this.checkColumnVisibility()):t.registerColumnField(this),this._initialize()}createElement(){var e=document.createElement("div");switch(e.classList.add("tabulator-col"),e.setAttribute("role","columnheader"),e.setAttribute("aria-sort","none"),this.isRowHeader&&e.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":e.style.justifyContent="center";break;case"bottom":e.style.justifyContent="flex-end"}return e}createGroupElement(){var e=document.createElement("div");return e.classList.add("tabulator-col-group-cols"),e}mapDefinitions(){var e=this.table.options.columnDefaults;if(e)for(let t in e)void 0===this.definition[t]&&(this.definition[t]=e[t]);this.definition=this.table.columnManager.optionsList.generate(_.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach((e=>{-1===_.defaultOptionList.indexOf(e)&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",e)}))}setField(e){this.field=e,this.fieldStructure=e?this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator):[e]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(e){this.parent.registerColumnPosition(e)}registerColumnField(e){this.parent.registerColumnField(e)}reRegisterPosition(){this.isGroup?this.columns.forEach((function(e){e.reRegisterPosition()})):this.registerColumnPosition(this)}_initialize(){for(var e=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);e.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),"flip"===e.headerVertical&&this.element.classList.add("tabulator-col-vertical-flip")),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch("column-init",this)}_buildColumnHeader(){var e=this.definition;(this.dispatch("column-layout",this),void 0!==e.visible&&(e.visible?this.show(!0):this.hide(!0)),e.cssClass)&&e.cssClass.split(" ").forEach((e=>{this.element.classList.add(e)}));e.field&&this.element.setAttribute("tabulator-field",e.field),this.setMinWidth(parseInt(e.minWidth)),e.maxInitialWidth&&(this.maxInitialWidth=parseInt(e.maxInitialWidth)),e.maxWidth&&this.setMaxWidth(parseInt(e.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var e=document.createElement("div");return e.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),e.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),e}_buildColumnHeaderTitle(){var e=this.definition,t=document.createElement("div");if(t.classList.add("tabulator-col-title"),e.headerWordWrap&&t.classList.add("tabulator-col-title-wrap"),e.editableTitle){var i=document.createElement("input");i.classList.add("tabulator-title-editor"),i.addEventListener("click",(e=>{e.stopPropagation(),i.focus()})),i.addEventListener("mousedown",(e=>{e.stopPropagation()})),i.addEventListener("change",(()=>{e.title=i.value,this.dispatchExternal("columnTitleChanged",this.getComponent())})),t.appendChild(i),e.field?this.langBind("columns|"+e.field,(t=>{i.value=t||e.title||"&nbsp;"})):i.value=e.title||"&nbsp;"}else e.field?this.langBind("columns|"+e.field,(i=>{this._formatColumnHeaderTitle(t,i||e.title||"&nbsp;")})):this._formatColumnHeaderTitle(t,e.title||"&nbsp;");return t}_formatColumnHeaderTitle(e,t){var i=this.chain("column-format",[this,t,e],null,(()=>t));switch(typeof i){case"object":i instanceof Node?e.appendChild(i):(e.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",i));break;case"undefined":e.innerHTML="";break;default:e.innerHTML=i}}_buildGroupHeader(){(this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass)&&this.definition.cssClass.split(" ").forEach((e=>{this.element.classList.add(e)}));this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(e){return e[this.field]}_getNestedData(e){var t,i=e,n=this.fieldStructure,s=n.length;for(let e=0;e<s&&(t=i=i[n[e]],i);e++);return t}_setFlatData(e,t){this.field&&(e[this.field]=t)}_setNestedData(e,t){var i=e,n=this.fieldStructure,s=n.length;for(let e=0;e<s;e++)if(e==s-1)i[n[e]]=t;else{if(!i[n[e]]){if(void 0===t)break;i[n[e]]={}}i=i[n[e]]}}attachColumn(e){this.groupElement?(this.columns.push(e),this.groupElement.appendChild(e.getElement()),e.columnRendered()):console.warn("Column Warning - Column being attached to another column instead of column group")}verticalAlign(e,t){var i=this.parent.isGroup?this.parent.getGroupElement().clientHeight:t||this.parent.getHeadersElement().clientHeight;this.element.style.height=i+"px",this.dispatch("column-height",this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=i-this.contentElement.offsetHeight+"px"),this.columns.forEach((function(t){t.verticalAlign(e)}))}clearVerticalAlign(){this.element.style.paddingTop="",this.element.style.height="",this.element.style.minHeight="",this.groupElement.style.minHeight="",this.columns.forEach((function(e){e.clearVerticalAlign()})),this.dispatch("column-height",this,"")}getElement(){return this.element}getGroupElement(){return this.groupElement}getField(){return this.field}getTitleDownload(){return this.titleDownload}getFirstColumn(){return this.isGroup?!!this.columns.length&&this.columns[0].getFirstColumn():this}getLastColumn(){return this.isGroup?!!this.columns.length&&this.columns[this.columns.length-1].getLastColumn():this}getColumns(e){var t=[];return e?this.columns.forEach((e=>{t.push(e),t=t.concat(e.getColumns(!0))})):t=this.columns,t}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(e){var t=[];return this.isGroup&&e&&(this.columns.forEach((function(e){t.push(e.getDefinition(!0))})),this.definition.columns=t),this.definition}checkColumnVisibility(){var e=!1;this.columns.forEach((function(t){t.visible&&(e=!0)})),e?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(e,t){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(e){e.show()})),this.isGroup||null!==this.width||this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(e,t){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(e){e.hide()})),this.dispatch("column-hide",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var e=0;this.contentElement&&this.columns.length&&(this.columns.forEach((function(t){t.visible&&(e+=t.getWidth())})),this.contentElement.style.maxWidth=e-1+"px",this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(e){var t=this.columns.indexOf(e);t>-1&&this.columns.splice(t,1),this.columns.length||this.delete()}setWidth(e){this.widthFixed=!0,this.setWidthActual(e)}setWidthActual(e){isNaN(e)&&(e=Math.floor(this.table.element.clientWidth/100*parseInt(e))),e=Math.max(this.minWidth,e),this.maxWidth&&(e=Math.min(this.maxWidth,e)),this.width=e,this.widthStyled=e?e+"px":"",this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach((function(e){e.setWidth()})),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch("column-width",this),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var e=[];this.cells.forEach((function(t){t.row.heightInitialized&&(null!==t.row.getElement().offsetParent?(e.push(t.row),t.row.clearCellHeight()):t.row.heightInitialized=!1)})),e.forEach((function(e){e.calcHeight()})),e.forEach((function(e){e.setCellHeight()}))}getWidth(){var e=0;return this.isGroup?this.columns.forEach((function(t){t.visible&&(e+=t.getWidth())})):e=this.width,e}getLeftOffset(){var e=this.element.offsetLeft;return this.parent.isGroup&&(e+=this.parent.getLeftOffset()),e}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(e){this.maxWidth&&e>this.maxWidth&&(e=this.maxWidth,console.warn("the minWidth ("+e+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")")),this.minWidth=e,this.minWidthStyled=e?e+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach((function(e){e.setMinWidth()}))}setMaxWidth(e){this.minWidth&&e<this.minWidth&&(e=this.minWidth,console.warn("the maxWidth ("+e+"px) for column '"+this.field+"' cannot be smaller that its minWidth ("+this.minWidthStyled+")")),this.maxWidth=e,this.maxWidthStyled=e?e+"px":"",this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach((function(e){e.setMaxWidth()}))}delete(){return new Promise(((e,t)=>{this.isGroup&&this.columns.forEach((function(e){e.delete()})),this.dispatch("column-delete",this);var i=this.cells.length;for(let e=0;e<i;e++)this.cells[0].delete();this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.contentElement=!1,this.titleElement=!1,this.groupElement=!1,this.parent.isGroup&&this.parent.removeChild(this),this.table.columnManager.deregisterColumn(this),this.table.columnManager.rerenderColumns(!0),this.dispatch("column-deleted",this),e()}))}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch("column-rendered",this)}generateCell(e){var t=new y(this,e);return this.cells.push(t),t}nextColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1&&this._nextVisibleColumn(e+1)}_nextVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._nextVisibleColumn(e+1)}prevColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1&&this._prevVisibleColumn(e-1)}_prevVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._prevVisibleColumn(e-1)}reinitializeWidth(e){this.widthFixed=!1,void 0===this.definition.width||e||this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(e),this.dispatch("column-width-fit-after",this)}fitToData(e){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach((e=>{e.clearWidth()})));var t=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach((e=>{var i=e.getWidth();i>t&&(t=i)})),t)){var i=t+1;this.maxInitialWidth&&!e&&(i=Math.min(i,this.maxInitialWidth)),this.setWidthActual(i)}}}updateDefinition(e){var t;return this.isGroup||this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(t=Object.assign({},this.getDefinition()),t=Object.assign(t,e),this.table.columnManager.addColumn(t,!1,this).then((e=>(t.field==this.field&&(this.field=!1),this.delete().then((()=>e.getComponent()))))))}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}getComponent(){return this.component||(this.component=new E(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof _&&this.parent.getComponent()}}class T{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._row.table.componentFunctionBinder.handle("row",e._row,t)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getCells(){var e=[];return this._row.getCells().forEach((function(t){e.push(t.getComponent())})),e}getCell(e){var t=this._row.getCell(e);return!!t&&t.getComponent()}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(e){return this._row.watchPosition(e)}delete(){return this._row.delete()}scrollTo(e,t){return this._row.table.rowManager.scrollToRow(this._row,e,t)}move(e,t){this._row.moveToRow(e,t)}update(e){return this._row.updateData(e)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var e=this._row.nextRow();return e?e.getComponent():e}getPrevRow(){var e=this._row.prevRow();return e?e.getComponent():e}}class x extends e{constructor(e,t,i="row"){super(t.table),this.parent=t,this.data={},this.type=i,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(e)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var e=document.createElement("div");e.classList.add("tabulator-row"),e.setAttribute("role","row"),this.element=e}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}generateElement(){this.createElement(),this.dispatch("row-init",this)}generateCells(){this.cells=this.table.columnManager.generateCells(this)}initialize(e,t){if(this.create(),!this.initialized||e){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,t),e&&this.normalizeHeight(),this.dispatch("row-layout",this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch("row-layout-after",this)}else this.table.columnManager.renderer.rerenderRowCells(this,t)}rendered(){this.cells.forEach((e=>{e.cellRendered()}))}reinitializeHeight(){this.heightInitialized=!1,this.element&&null!==this.element.offsetParent&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(e){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&null!==this.element.offsetParent&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(e){var t=0,i=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(i=this.calcMinHeight(),t=this.calcMaxHeight(),this.height=e?Math.max(t,i):this.manualHeight?this.height:Math.max(t,i)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var e=0;return this.cells.forEach((function(t){var i=t.getHeight();i>e&&(e=i)})),e}setCellHeight(){this.cells.forEach((function(e){e.setHeight()})),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach((function(e){e.clearHeight()}))}normalizeHeight(e){e&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(e),this.setCellHeight()}setHeight(e,t){(this.height!=e||t)&&(this.manualHeight=!0,this.height=e,this.heightStyled=e?e+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}setData(e){this.data=this.chain("row-data-init-before",[this,e],void 0,e),this.dispatch("row-data-init-after",this)}updateData(e){var i,n=this.element&&t.elVisible(this.element),s={};return new Promise(((t,o)=>{"string"==typeof e&&(e=JSON.parse(e)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(s=Object.assign(s,this.data),s=Object.assign(s,e)),i=this.chain("row-data-changing",[this,s,e],null,e);for(let e in i)this.data[e]=i[e];this.dispatch("row-data-save-after",this);for(let t in e){this.table.columnManager.getColumnsByFieldRoot(t).forEach((e=>{let t=this.getCell(e.getField());if(t){let s=e.getFieldValue(i);t.getValue()!==s&&(t.setValueProcessData(s),n&&t.cellRendered())}}))}n?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,n,e),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),t()}))}getData(e){return e?this.chain("row-data-retrieve",[this,e],null,this.data):this.data}getCell(e){return e=this.table.columnManager.findColumn(e),this.initialized||0!==this.cells.length||this.generateCells(),this.cells.find((function(t){return t.column===e}))}getCellIndex(e){return this.cells.findIndex((function(t){return t===e}))}findCell(e){return this.cells.find((t=>t.element===e))}getCells(){return this.initialized||0!==this.cells.length||this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(e,t){var i=this.table.rowManager.findRow(e);i?(this.table.rowManager.moveRowActual(this,i,!t),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",e)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(e){this.detachModules(),this.table.rowManager.deleteRow(this,e),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var e=this.cells.length;for(let t=0;t<e;t++)this.cells[0].delete()}wipe(){if(this.detachModules(),this.deleteCells(),this.element){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.parentNode&&this.element.parentNode.removeChild(this.element)}this.element=!1,this.modules={}}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return!!this.isDisplayed()&&this.position}setPosition(e){e!=this.position&&(this.position=e,this.positionWatchers.forEach((e=>{e(this.position)})))}watchPosition(e){this.positionWatchers.push(e),e(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new T(this)),this.component}}var S={avg:function(e,t,i){var n=0,s=void 0!==i.precision?i.precision:2;return e.length&&(n=e.reduce((function(e,t){return Number(e)+Number(t)})),n/=e.length,n=!1!==s?n.toFixed(s):n),parseFloat(n).toString()},max:function(e,t,i){var n=null,s=void 0!==i.precision&&i.precision;return e.forEach((function(e){((e=Number(e))>n||null===n)&&(n=e)})),null!==n?!1!==s?n.toFixed(s):n:""},min:function(e,t,i){var n=null,s=void 0!==i.precision&&i.precision;return e.forEach((function(e){((e=Number(e))<n||null===n)&&(n=e)})),null!==n?!1!==s?n.toFixed(s):n:""},sum:function(e,t,i){var n=0,s=void 0!==i.precision&&i.precision;return e.length&&e.forEach((function(e){e=Number(e),n+=isNaN(e)?0:Number(e)})),!1!==s?n.toFixed(s):n},concat:function(e,t,i){var n=0;return e.length&&(n=e.reduce((function(e,t){return String(e)+String(t)}))),n},count:function(e,t,i){var n=0;return e.length&&e.forEach((function(e){e&&n++})),n},unique:function(e,t,i){var n=e.filter(((t,i)=>(e||0===t)&&e.indexOf(t)===i));return n.length}};class M extends s{static moduleName="columnCalcs";static calculations=S;constructor(e){super(e),this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.blocked=!1,this.recalcAfterBlock=!1,this.registerTableOption("columnCalcs",!0),this.registerColumnOption("topCalc"),this.registerColumnOption("topCalcParams"),this.registerColumnOption("topCalcFormatter"),this.registerColumnOption("topCalcFormatterParams"),this.registerColumnOption("bottomCalc"),this.registerColumnOption("bottomCalcParams"),this.registerColumnOption("bottomCalcFormatter"),this.registerColumnOption("bottomCalcFormatterParams")}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-calcs-holder"),e}initialize(){this.genColumn=new _({field:"value"},this),this.subscribe("cell-value-changed",this.cellValueChanged.bind(this)),this.subscribe("column-init",this.initializeColumnCheck.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("column-moved",this.recalcActiveRows.bind(this)),this.subscribe("column-add",this.recalcActiveRows.bind(this)),this.subscribe("data-refreshed",this.recalcActiveRowsRefresh.bind(this)),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this)),this.subscribe("redraw-blocked",this.blockRedraw.bind(this)),this.subscribe("redraw-restored",this.restoreRedraw.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this)),this.registerTableFunction("getCalcResults",this.getResults.bind(this)),this.registerTableFunction("recalc",this.userRecalc.bind(this)),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px"}tableRedraw(e){this.recalc(this.table.rowManager.activeRows),e&&this.redraw()}blockRedraw(){this.blocked=!0,this.recalcAfterBlock=!1}restoreRedraw(){this.blocked=!1,this.recalcAfterBlock&&(this.recalcAfterBlock=!1,this.recalcActiveRowsRefresh())}userRecalc(){this.recalc(this.table.rowManager.activeRows)}blockCheck(){return this.blocked&&(this.recalcAfterBlock=!0),this.blocked}visibleRows(e,t){return this.topRow&&t.unshift(this.topRow),this.botRow&&t.push(this.botRow),t}rowsUpdated(e){this.table.options.groupBy?this.recalcRowGroup(e):this.recalcActiveRows()}recalcActiveRowsRefresh(){this.table.options.groupBy&&this.table.options.dataTreeStartExpanded&&this.table.options.dataTree?this.recalcAll():this.recalcActiveRows()}recalcActiveRows(){this.recalc(this.table.rowManager.activeRows)}cellValueChanged(e){(e.column.definition.topCalc||e.column.definition.bottomCalc)&&(this.table.options.groupBy?("table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs||this.recalcActiveRows(),"table"!=this.table.options.columnCalcs&&this.recalcRowGroup(e.row)):this.recalcActiveRows())}initializeColumnCheck(e){(e.definition.topCalc||e.definition.bottomCalc)&&this.initializeColumn(e)}initializeColumn(e){var t=e.definition,i={topCalcParams:t.topCalcParams||{},botCalcParams:t.bottomCalcParams||{}};if(t.topCalc){switch(typeof t.topCalc){case"string":M.calculations[t.topCalc]?i.topCalc=M.calculations[t.topCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.topCalc);break;case"function":i.topCalc=t.topCalc}i.topCalc&&(e.modules.columnCalcs=i,this.topCalcs.push(e),"group"!=this.table.options.columnCalcs&&this.initializeTopRow())}if(t.bottomCalc){switch(typeof t.bottomCalc){case"string":M.calculations[t.bottomCalc]?i.botCalc=M.calculations[t.bottomCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.bottomCalc);break;case"function":i.botCalc=t.bottomCalc}i.botCalc&&(e.modules.columnCalcs=i,this.botCalcs.push(e),"group"!=this.table.options.columnCalcs&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var e=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),e=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),e=!0),e&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var e=document.createDocumentFragment();this.topInitialized||(e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=!0)}scrollHorizontal(e){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=e)}recalc(e){var t,i;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(t=this.rowsToData(e),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),i=this.generateRow("top",t),this.topRow=i;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(i.getElement()),i.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),i=this.generateRow("bottom",t),this.botRow=i;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(i.getElement()),i.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(e){this.recalcGroup(this.table.modules.groupRows.getRowGroup(e))}recalcAll(){(this.topCalcs.length||this.botCalcs.length)&&("group"!==this.table.options.columnCalcs&&this.recalcActiveRows(),this.table.options.groupBy&&"table"!==this.table.options.columnCalcs&&this.table.modules.groupRows.getChildGroups().forEach((e=>{this.recalcGroup(e)})))}recalcGroup(e){var t,i;this.blockCheck()||e&&e.calcs&&(e.calcs.bottom&&(t=this.rowsToData(e.rows),i=this.generateRowData("bottom",t),e.calcs.bottom.updateData(i),e.calcs.bottom.reinitialize()),e.calcs.top&&(t=this.rowsToData(e.rows),i=this.generateRowData("top",t),e.calcs.top.updateData(i),e.calcs.top.reinitialize()))}generateTopRow(e){return this.generateRow("top",this.rowsToData(e))}generateBottomRow(e){return this.generateRow("bottom",this.rowsToData(e))}rowsToData(e){var t=[],i=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,n=this.table.modules.dataTree;return e.forEach((e=>{t.push(e.getData()),i&&e.modules.dataTree?.open&&this.rowsToData(n.getFilteredTreeChildren(e)).forEach((i=>{t.push(e)}))})),t}generateRow(e,t){var i,n=this.generateRowData(e,t);return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),i=new x(n,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),i.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+e),i.component=!1,i.getComponent=()=>(i.component||(i.component=new w(i)),i.component),i.generateCells=()=>{var t=[];this.table.columnManager.columnsByIndex.forEach((n=>{this.genColumn.setField(n.getField()),this.genColumn.hozAlign=n.hozAlign,n.definition[e+"CalcFormatter"]&&this.table.modExists("format")?this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter(n.definition[e+"CalcFormatter"]),params:n.definition[e+"CalcFormatterParams"]||{}}:this.genColumn.modules.format={formatter:this.table.modules.format.getFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=n.definition.cssClass;var s=new y(this.genColumn,i);s.getElement(),s.column=n,s.setWidth(),n.cells.push(s),t.push(s),n.visible||s.hide()})),i.cells=t},i}generateRowData(e,t){var i,n,s={},o="top"==e?this.topCalcs:this.botCalcs,r="top"==e?"topCalc":"botCalc";return o.forEach((function(e){var o=[];e.modules.columnCalcs&&e.modules.columnCalcs[r]&&(t.forEach((function(t){o.push(e.getFieldValue(t))})),n=r+"Params",i="function"==typeof e.modules.columnCalcs[n]?e.modules.columnCalcs[n](o,t):e.modules.columnCalcs[n],e.setFieldValue(s,e.modules.columnCalcs[r](o,t,i)))})),s}hasTopCalcs(){return!!this.topCalcs.length}hasBottomCalcs(){return!!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)}getResults(){var e={};return this.table.options.groupBy&&this.table.modExists("groupRows")?this.table.modules.groupRows.getGroups(!0).forEach((t=>{e[t.getKey()]=this.getGroupResults(t)})):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e}getGroupResults(e){var t=e._getSelf(),i=e.getSubGroups(),n={};return i.forEach((e=>{n[e.getKey()]=this.getGroupResults(e)})),{top:t.calcs.top?t.calcs.top.getData():{},bottom:t.calcs.bottom?t.calcs.bottom.getData():{},groups:n}}adjustForScrollbar(e){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=e+"px":this.botElement.style.paddingRight=e+"px")}}var L={csv:function(e,t={},i){var n=t.delimiter?t.delimiter:",",s=[],o=[];e.forEach((e=>{var t=[];switch(e.type){case"group":console.warn("Download Warning - CSV downloader cannot process row groups");break;case"calc":console.warn("Download Warning - CSV downloader cannot process column calculations");break;case"header":e.columns.forEach(((e,t)=>{e&&1===e.depth&&(o[t]=void 0===e.value||null===e.value?"":'"'+String(e.value).split('"').join('""')+'"')}));break;case"row":e.columns.forEach((e=>{if(e){switch(typeof e.value){case"object":e.value=null!==e.value?JSON.stringify(e.value):"";break;case"undefined":e.value=""}t.push('"'+String(e.value).split('"').join('""')+'"')}})),s.push(t.join(n))}})),o.length&&s.unshift(o.join(n)),s=s.join("\n"),t.bom&&(s="\ufeff"+s),i(s,"text/csv")},json:function(e,t,i){var n=[];e.forEach((e=>{var t={};switch(e.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":e.columns.forEach((e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)})),n.push(t)}})),i(n=JSON.stringify(n,null,"\t"),"application/json")},jsonLines:function(e,t,i){const n=[];e.forEach((e=>{const t={};switch(e.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":e.columns.forEach((e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)})),n.push(JSON.stringify(t))}})),i(n.join("\n"),"application/x-ndjson")},pdf:function(e,t={},i){var n=[],s=[],o={},r=t.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},a=t.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},l=t.jsPDF||{},h=t.title?t.title:"";function u(e,t){var i=[];return e.columns.forEach((e=>{var n;if(e){switch(typeof e.value){case"object":e.value=null!==e.value?JSON.stringify(e.value):"";break;case"undefined":e.value=""}n={content:e.value,colSpan:e.width,rowSpan:e.height},t&&(n.styles=t),i.push(n)}})),i}l.orientation||(l.orientation=t.orientation||"landscape"),l.unit||(l.unit="pt"),e.forEach((e=>{switch(e.type){case"header":n.push(u(e));break;case"group":s.push(u(e,r));break;case"calc":s.push(u(e,a));break;case"row":s.push(u(e))}}));var c=new jspdf.jsPDF(l);t.autoTable&&(o="function"==typeof t.autoTable?t.autoTable(c)||{}:t.autoTable),h&&(o.didDrawPage=function(e){c.text(h,40,30)}),o.head=n,o.body=s,c.autoTable(o),t.documentProcessing&&t.documentProcessing(c),i(c.output("arraybuffer"),"application/pdf")},xlsx:function(t,i,n){var s=i.sheetName||"Sheet1",o=XLSX.utils.book_new(),r=new e(this),a=!("compress"in i)||i.compress,l=i.writeOptions||{bookType:"xlsx",bookSST:!0,compression:a};function h(){var e=[],i=[],n={},s={s:{c:0,r:0},e:{c:t[0]?t[0].columns.reduce(((e,t)=>e+(t&&t.width?t.width:1)),0):0,r:t.length}};return t.forEach(((t,n)=>{var s=[];t.columns.forEach((function(e,t){e?(s.push(e.value instanceof Date||"object"!=typeof e.value?e.value:JSON.stringify(e.value)),(e.width>1||e.height>-1)&&(e.height>1||e.width>1)&&i.push({s:{r:n,c:t},e:{r:n+e.height-1,c:t+e.width-1}})):s.push("")})),e.push(s)})),XLSX.utils.sheet_add_aoa(n,e),n["!ref"]=XLSX.utils.encode_range(s),i.length&&(n["!merges"]=i),n}if(l.type="binary",o.SheetNames=[],o.Sheets={},i.sheetOnly)n(h());else{if(i.sheets)for(var u in i.sheets)!0===i.sheets[u]?(o.SheetNames.push(u),o.Sheets[u]=h()):(o.SheetNames.push(u),r.commsSend(i.sheets[u],"download","intercept",{type:"xlsx",options:{sheetOnly:!0},active:this.active,intercept:function(e){o.Sheets[u]=e}}));else o.SheetNames.push(s),o.Sheets[s]=h();i.documentProcessing&&(o=i.documentProcessing(o)),n(function(e){for(var t=new ArrayBuffer(e.length),i=new Uint8Array(t),n=0;n!=e.length;++n)i[n]=255&e.charCodeAt(n);return t}(XLSX.write(o,l)),"application/octet-stream")}},html:function(e,t,i){this.modExists("export",!0)&&i(this.modules.export.generateHTMLTable(e),"text/html")}};class k extends s{static moduleName="download";static downloaders=L;constructor(e){super(e),this.registerTableOption("downloadEncoder",(function(e,t){return new Blob([e],{type:t})})),this.registerTableOption("downloadConfig",{}),this.registerTableOption("downloadRowRange","active"),this.registerColumnOption("download"),this.registerColumnOption("titleDownload")}initialize(){this.deprecatedOptionsCheck(),this.registerTableFunction("download",this.download.bind(this)),this.registerTableFunction("downloadToTab",this.downloadToTab.bind(this))}deprecatedOptionsCheck(){}downloadToTab(e,t,i,n){this.download(e,t,i,n,!0)}download(e,t,i,n,s){var o=!1;if("function"==typeof e?o=e:k.downloaders[e]?o=k.downloaders[e]:console.warn("Download Error - No such download type found: ",e),o){var r=this.generateExportList(n);o.call(this.table,r,i||{},function(i,n){s?!0===s?this.triggerDownload(i,n,e,t,!0):s(i):this.triggerDownload(i,n,e,t)}.bind(this))}}generateExportList(e){var t=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,e||this.table.options.downloadRowRange,"download"),i=this.table.options.groupHeaderDownload;return i&&!Array.isArray(i)&&(i=[i]),t.forEach((e=>{var t;"group"===e.type&&(t=e.columns[0],i&&i[e.indent]&&(t.value=i[e.indent](t.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)))})),t}triggerDownload(e,t,i,n,s){var o=document.createElement("a"),r=this.table.options.downloadEncoder(e,t);r&&(s?window.open(window.URL.createObjectURL(r)):(n=n||"Tabulator."+("function"==typeof i?"txt":i),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(r,n):(o.setAttribute("href",window.URL.createObjectURL(r)),o.setAttribute("download",n),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o))),this.dispatchExternal("downloadComplete"))}commsReceived(e,t,i){if("intercept"===t)this.download(i.type,"",i.options,i.active,i.intercept)}}function D(e,t){var i=t.mask,n=void 0!==t.maskLetterChar?t.maskLetterChar:"A",s=void 0!==t.maskNumberChar?t.maskNumberChar:"9",o=void 0!==t.maskWildcardChar?t.maskWildcardChar:"*";function r(t){var a=i[t];void 0!==a&&a!==o&&a!==n&&a!==s&&(e.value=e.value+""+a,r(t+1))}e.addEventListener("keydown",(t=>{var r=e.value.length,a=t.key;if(t.keyCode>46&&!t.ctrlKey&&!t.metaKey){if(r>=i.length)return t.preventDefault(),t.stopPropagation(),!1;switch(i[r]){case n:if(a.toUpperCase()==a.toLowerCase())return t.preventDefault(),t.stopPropagation(),!1;break;case s:if(isNaN(a))return t.preventDefault(),t.stopPropagation(),!1;break;case o:break;default:if(a!==i[r])return t.preventDefault(),t.stopPropagation(),!1}}})),e.addEventListener("keyup",(i=>{i.keyCode>46&&t.maskAutoFill&&r(e.value.length)})),e.placeholder||(e.placeholder=i),t.maskAutoFill&&r(e.value.length)}let A=class{constructor(e,t,i,n,s,o){this.edit=e,this.table=e.table,this.cell=t,this.params=this._initializeParams(o),this.data=[],this.displayItems=[],this.currentItems=[],this.focusedItem=null,this.input=this._createInputElement(),this.listEl=this._createListElement(),this.initialValues=null,this.isFilter="header"===t.getType(),this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=!0,this.actions={success:n,cancel:s},this._deprecatedOptionsCheck(),this._initializeValue(),i(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var e=this.cell.getValue();void 0===e&&void 0!==this.params.defaultValue&&(e=this.params.defaultValue),this.initialValues=this.params.multiselect?e:[e],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen())}_onRendered(){var e=this.cell.getElement();function t(e){e.stopPropagation()}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:!0})),e.addEventListener("click",t),setTimeout((()=>{e.removeEventListener("click",t)}),1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this))}_createListElement(){var e=document.createElement("div");return e.classList.add("tabulator-edit-list"),e.addEventListener("mousedown",this._preventBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e}_setListWidth(){var e=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=e.offsetWidth+"px",this.params.maxWidth&&(!0===this.params.maxWidth?this.listEl.style.maxWidth=e.offsetWidth+"px":"number"==typeof this.params.maxWidth?this.listEl.style.maxWidth=this.params.maxWidth+"px":this.listEl.style.maxWidth=this.params.maxWidth)}_createInputElement(){var e=this.params.elementAttributes,t=document.createElement("input");if(t.setAttribute("type",this.params.clearable?"search":"text"),t.style.padding="4px",t.style.width="100%",t.style.boxSizing="border-box",this.params.autocomplete||(t.style.cursor="default",t.style.caretColor="transparent"),e&&"object"==typeof e)for(let i in e)"+"==i.charAt(0)?(i=i.slice(1),t.setAttribute(i,t.getAttribute(i)+e["+"+i])):t.setAttribute(i,e[i]);return this.params.mask&&D(t,this.params),this._bindInputEvents(t),t}_initializeParams(e){var t,i=["values","valuesURL","valuesLookup"];return(e=Object.assign({},e)).verticalNavigation=e.verticalNavigation||"editor",e.placeholderLoading=void 0===e.placeholderLoading?"Searching ...":e.placeholderLoading,e.placeholderEmpty=void 0===e.placeholderEmpty?"No Results Found":e.placeholderEmpty,e.filterDelay=void 0===e.filterDelay?300:e.filterDelay,e.emptyValue=Object.keys(e).includes("emptyValue")?e.emptyValue:"",(t=Object.keys(e).filter((e=>i.includes(e))).length)?t>1&&console.warn("list editor config error - only one of the values, valuesURL, or valuesLookup options can be set on the same editor"):console.warn("list editor config error - either the values, valuesURL, or valuesLookup option must be set"),e.autocomplete?e.multiselect&&(e.multiselect=!1,console.warn("list editor config error - multiselect option is not available when autocomplete is enabled")):(e.freetext&&(e.freetext=!1,console.warn("list editor config error - freetext option is only available when autocomplete is enabled")),e.filterFunc&&(e.filterFunc=!1,console.warn("list editor config error - filterFunc option is only available when autocomplete is enabled")),e.filterRemote&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option is only available when autocomplete is enabled")),e.mask&&(e.mask=!1,console.warn("list editor config error - mask option is only available when autocomplete is enabled")),e.allowEmpty&&(e.allowEmpty=!1,console.warn("list editor config error - allowEmpty option is only available when autocomplete is enabled")),e.listOnEmpty&&(e.listOnEmpty=!1,console.warn("list editor config error - listOnEmpty option is only available when autocomplete is enabled"))),e.filterRemote&&"function"!=typeof e.valuesLookup&&!e.valuesURL&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option should only be used when values list is populated from a remote source")),e}_bindInputEvents(e){e.addEventListener("focus",this._inputFocus.bind(this)),e.addEventListener("click",this._inputClick.bind(this)),e.addEventListener("blur",this._inputBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&e.addEventListener("keyup",this._inputKeyUp.bind(this))}_inputFocus(e){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout((()=>{this.rebuildOptionsList()}),this.params.filterDelay)):this._filterList()}_inputClick(e){e.stopPropagation()}_inputBlur(e){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(e){switch(e.keyCode){case 38:this._keyUp(e);break;case 40:this._keyDown(e);break;case 37:case 39:this._keySide(e);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(e);break;case 9:this._keyTab(e);break;default:this._keySelectLetter(e)}}_inputKeyUp(e){switch(e.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(e)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout((()=>{this.popup&&this.popup.restoreHide()}),10)}_preventBlur(){this.blurable=!1,setTimeout((()=>{this.blurable=!0}),10)}_keyTab(e){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(e){var t=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&t)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t>0&&this._focusItem(this.displayItems[t-1]))}_keyDown(e){var t=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&t<this.displayItems.length-1)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t<this.displayItems.length-1&&(-1==t?this._focusItem(this.displayItems[0]):this._focusItem(this.displayItems[t+1])))}_keySide(e){this.params.autocomplete||(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}_keyEnter(e){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem)}_keyEsc(e){this._cancel()}_keyHomeEnd(e){this.params.autocomplete&&e.stopImmediatePropagation()}_keySelectLetter(e){this.params.autocomplete||(e.preventDefault(),e.keyCode>=38&&e.keyCode<=90&&this._scrollToValue(e.keyCode))}_keyAutoCompLetter(e){this._filter(),this.lastAction="typing",this.typing=!0}_scrollToValue(e){clearTimeout(this.filterTimeout);var t=String.fromCharCode(e).toLowerCase();this.filterTerm+=t.toLowerCase();var i=this.displayItems.find((e=>void 0!==e.label&&e.label.toLowerCase().startsWith(this.filterTerm)));i&&this._focusItem(i),this.filterTimeout=setTimeout((()=>{this.filterTerm=""}),800)}_focusItem(e){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=e,e&&e.element&&(e.element.classList.add("focused"),e.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch((e=>{Number.isInteger(e)||console.error("List generation error",e)}))}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(e){var t=[],i=++this.listIteration;return this.filtered=!1,this.params.values?t=this.params.values:this.params.valuesURL?t=this._ajaxRequest(this.params.valuesURL,this.input.value):"function"==typeof this.params.valuesLookup?t=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(t=this._uniqueColumnValues(this.params.valuesLookupField)),t instanceof Promise?(e||this._addPlaceholder(this.params.placeholderLoading),t.then().then((e=>this.listIteration===i?this._parseList(e):Promise.reject(i)))):Promise.resolve(this._parseList(t))}_addPlaceholder(e){var t=document.createElement("div");"function"==typeof e&&(e=e(this.cell.getComponent(),this.listEl)),e&&(this._clearList(),e instanceof HTMLElement?t=e:(t.classList.add("tabulator-edit-list-placeholder"),t.innerHTML=e),this.listEl.appendChild(t),this._showList())}_ajaxRequest(e,t){return e=u(e,{},this.params.filterRemote?{term:t}:{}),fetch(e).then((e=>e.ok?e.json().catch((e=>(console.warn("List Ajax Load Error - Invalid JSON returned",e),Promise.reject(e)))):(console.error("List Ajax Load Error - Connection Error: "+e.status,e.statusText),Promise.reject(e)))).catch((e=>(console.error("List Ajax Load Error - Connection Error: ",e),Promise.reject(e))))}_uniqueColumnValues(e){var t,i={},n=this.table.getData(this.params.valuesLookup);return(t=e?this.table.columnManager.getColumnByField(e):this.cell.getColumn()._getSelf())?n.forEach((e=>{var n=t.getFieldValue(e);null!=n&&""!==n&&(i[n]=!0)})):(console.warn("unable to find matching column to create select lookup list:",e),i=[]),Object.keys(i)}_parseList(e){var t=[];return Array.isArray(e)||(e=Object.entries(e).map((([e,t])=>({label:t,value:e})))),e.forEach((e=>{"object"!=typeof e&&(e={label:e,value:e}),this._parseListItem(e,t,0)})),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction="typing"),this.data=t,t}_parseListItem(e,t,i){var n={};e.options?n=this._parseListGroup(e,i+1):(n={label:e.label,value:e.value,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,selected:!1,visible:!0,level:i,original:e},this.initialValues&&this.initialValues.indexOf(e.value)>-1&&this._chooseItem(n,!0)),t.push(n)}_parseListGroup(e,t){var i={label:e.label,group:!0,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,visible:!0,level:t,options:[],original:e};return e.options.forEach((e=>{this._parseListItem(e,i.options,t)})),i}_sortOptions(e){var t;return this.params.sort&&(t="function"==typeof this.params.sort?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(t,e)),e}_sortGroup(e,t){t.sort(((t,i)=>e(t.label,i.label,t.value,i.value,t.original,i.original))),t.forEach((t=>{t.group&&this._sortGroup(e,t.options)}))}_defaultSortFunction(e,t){var i,n,s,o,r,a=0,l=/(\d+)|(\D+)/g,h=/\d/,u=0;if("desc"===this.params.sort&&([e,t]=[t,e]),e||0===e){if(t||0===t){if(isFinite(e)&&isFinite(t))return e-t;if((i=String(e).toLowerCase())===(n=String(t).toLowerCase()))return 0;if(!h.test(i)||!h.test(n))return i>n?1:-1;for(i=i.match(l),n=n.match(l),r=i.length>n.length?n.length:i.length;a<r;)if((s=i[a])!==(o=n[a++]))return isFinite(s)&&isFinite(o)?("0"===s.charAt(0)&&(s="."+s),"0"===o.charAt(0)&&(o="."+o),s-o):s>o?1:-1;return i.length>n.length}u=1}else u=t||0===t?-1:0;return u}_filterOptions(){var e=this.params.filterFunc||this._defaultFilterFunc,t=this.input.value;return t?(this.filtered=!0,this.data.forEach((i=>{this._filterItem(e,t,i)}))):this.filtered=!1,this.data}_filterItem(e,t,i){var n=!1;return i.group?(i.options.forEach((i=>{this._filterItem(e,t,i)&&(n=!0)})),i.visible=n):i.visible=e(t,i.label,i.value,i.original),i.visible}_defaultFilterFunc(e,t,i,n){return e=String(e).toLowerCase(),null!=t&&(String(t).toLowerCase().indexOf(e)>-1||String(i).toLowerCase().indexOf(e)>-1)}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(e){this._clearList(),e.forEach((e=>{this._buildItem(e)})),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(e){var t,i=e.element;if(!this.filtered||e.visible){if(!i){if((i=document.createElement("div")).tabIndex=0,(t=this.params.itemFormatter?this.params.itemFormatter(e.label,e.value,e.original,i):e.label)instanceof HTMLElement?i.appendChild(t):i.innerHTML=t,e.group?i.classList.add("tabulator-edit-list-group"):i.classList.add("tabulator-edit-list-item"),i.classList.add("tabulator-edit-list-group-level-"+e.level),e.elementAttributes&&"object"==typeof e.elementAttributes)for(let t in e.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),i.setAttribute(t,this.input.getAttribute(t)+e.elementAttributes["+"+t])):i.setAttribute(t,e.elementAttributes[t]);e.group?i.addEventListener("click",this._groupClick.bind(this,e)):i.addEventListener("click",this._itemClick.bind(this,e)),i.addEventListener("mousedown",this._preventBlur.bind(this)),e.element=i}this._styleItem(e),this.listEl.appendChild(i),e.group?e.options.forEach((e=>{this._buildItem(e)})):this.displayItems.push(e)}}_showList(){var e=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&""===this.input.value&&!this.params.listOnEmpty)return void(this.popup&&this.popup.hide(!0));this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),e||setTimeout((()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))}),10)}}_styleItem(e){e&&e.element&&(e.selected?e.element.classList.add("active"):e.element.classList.remove("active"))}_itemClick(e,t){t.stopPropagation(),this._chooseItem(e)}_groupClick(e,t){t.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach((e=>{e.selected=!1,this._styleItem(e)})),this.currentItems=[],this.focusedItem=null}_chooseItem(e,t){var i;this.typing=!1,this.params.multiselect?((i=this.currentItems.indexOf(e))>-1?(this.currentItems.splice(i,1),e.selected=!1):(this.currentItems.push(e),e.selected=!0),this.input.value=this.currentItems.map((e=>e.label)).join(","),this._styleItem(e)):(this.currentItems=[e],e.selected=!0,this.input.value=e.label,this._styleItem(e),t||this._resolveValue()),this._focusItem(e)}_resolveValue(e){var t,i;if(this.popup&&this.popup.hide(!0),this.params.multiselect)t=this.currentItems.map((e=>e.value));else if(e&&this.params.autocomplete&&this.typing){if(!(this.params.freetext||this.params.allowEmpty&&""===this.input.value))return void this.actions.cancel();t=this.input.value}else t=this.currentItems[0]?this.currentItems[0].value:null==(i=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues)||""===i?i:this.params.emptyValue;""===t&&(t=this.params.emptyValue),this.actions.success(t),this.isFilter&&(this.initialValues=t&&!Array.isArray(t)?[t]:t,this.currentItems=[])}};var P={input:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input");if(r.setAttribute("type",s.search?"search":"text"),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function a(e){null==o&&""!==r.value||r.value!==o?i(r.value)&&(o=r.value):n()}return r.value=void 0!==o?o:"",t((function(){"cell"===e.getType()&&(r.focus({preventScroll:!0}),r.style.height="100%",s.selectContents&&r.select())})),r.addEventListener("change",a),r.addEventListener("blur",a),r.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:a();break;case 27:n();break;case 35:case 36:e.stopPropagation()}})),s.mask&&D(r,s),r},textarea:function(e,t,i,n,s){var o=e.getValue(),r=s.verticalNavigation||"hybrid",a=String(null!=o?o:""),l=document.createElement("textarea"),h=0;if(l.style.display="block",l.style.padding="2px",l.style.height="100%",l.style.width="100%",l.style.boxSizing="border-box",l.style.whiteSpace="pre-wrap",l.style.resize="none",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),l.setAttribute(e,l.getAttribute(e)+s.elementAttributes["+"+e])):l.setAttribute(e,s.elementAttributes[e]);function u(t){null==o&&""!==l.value||l.value!==o?(i(l.value)&&(o=l.value),setTimeout((function(){e.getRow().normalizeHeight()}),300)):n()}return l.value=a,t((function(){"cell"===e.getType()&&(l.focus({preventScroll:!0}),l.style.height="100%",l.scrollHeight,l.style.height=l.scrollHeight+"px",e.getRow().normalizeHeight(),s.selectContents&&l.select())})),l.addEventListener("change",u),l.addEventListener("blur",u),l.addEventListener("keyup",(function(){l.style.height="";var t=l.scrollHeight;l.style.height=t+"px",t!=h&&(h=t,e.getRow().normalizeHeight())})),l.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:e.shiftKey&&s.shiftEnterSubmit&&u();break;case 27:n();break;case 38:("editor"==r||"hybrid"==r&&l.selectionStart)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 40:("editor"==r||"hybrid"==r&&l.selectionStart!==l.value.length)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation()}})),s.mask&&D(l,s),l},number:function(e,t,i,n,s){var o=e.getValue(),r=s.verticalNavigation||"editor",a=document.createElement("input");if(a.setAttribute("type","number"),void 0!==s.max&&a.setAttribute("max",s.max),void 0!==s.min&&a.setAttribute("min",s.min),void 0!==s.step&&a.setAttribute("step",s.step),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),a.setAttribute(e,a.getAttribute(e)+s.elementAttributes["+"+e])):a.setAttribute(e,s.elementAttributes[e]);a.value=o;var l=function(e){h()};function h(){var e=a.value;isNaN(e)||""===e||(e=Number(e)),e!==o?i(e)&&(o=e):n()}return t((function(){"cell"===e.getType()&&(a.removeEventListener("blur",l),a.focus({preventScroll:!0}),a.style.height="100%",a.addEventListener("blur",l),s.selectContents&&a.select())})),a.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:h();break;case 27:n();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation()}})),s.mask&&D(a,s),a},range:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input");if(r.setAttribute("type","range"),void 0!==s.max&&r.setAttribute("max",s.max),void 0!==s.min&&r.setAttribute("min",s.min),void 0!==s.step&&r.setAttribute("step",s.step),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function a(){var e=r.value;isNaN(e)||""===e||(e=Number(e)),e!=o?i(e)&&(o=e):n()}return r.value=o,t((function(){"cell"===e.getType()&&(r.focus({preventScroll:!0}),r.style.height="100%")})),r.addEventListener("blur",(function(e){a()})),r.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:a();break;case 27:n()}})),r},date:function(e,t,i,n,s){var o=s.format,r=s.verticalNavigation||"editor",a=o?window.DateTime||luxon.DateTime:null,l=e.getValue(),h=document.createElement("input");function u(e){return(a.isDateTime(e)?e:"iso"===o?a.fromISO(String(e)):a.fromFormat(String(e),o)).toFormat("yyyy-MM-dd")}if(h.type="date",h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",s.max&&h.setAttribute("max",o?u(s.max):s.max),s.min&&h.setAttribute("min",o?u(s.min):s.min),s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),h.setAttribute(e,h.getAttribute(e)+s.elementAttributes["+"+e])):h.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=h.value;if(null==l&&""!==t||t!==l){if(t&&o)switch(e=a.fromFormat(String(t),"yyyy-MM-dd"),o){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(o)}i(t)&&(l=h.value)}else n()}return l=void 0!==l?l:"",o&&(a?l=u(l):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),h.value=l,t((function(){"cell"===e.getType()&&(h.focus({preventScroll:!0}),h.style.height="100%",s.selectContents&&h.select())})),h.addEventListener("blur",(function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==h)&&c()})),h.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation())}})),h},time:function(e,t,i,n,s){var o,r=s.format,a=s.verticalNavigation||"editor",l=r?window.DateTime||luxon.DateTime:null,h=e.getValue(),u=document.createElement("input");if(u.type="time",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+s.elementAttributes["+"+e])):u.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=u.value;if(null==h&&""!==t||t!==h){if(t&&r)switch(e=l.fromFormat(String(t),"hh:mm"),r){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(r)}i(t)&&(h=u.value)}else n()}return h=void 0!==h?h:"",r&&(l?(o=l.isDateTime(h)?h:"iso"===r?l.fromISO(String(h)):l.fromFormat(String(h),r),h=o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=h,t((function(){"cell"==e.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",s.selectContents&&u.select())})),u.addEventListener("blur",(function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==a&&(e.stopImmediatePropagation(),e.stopPropagation())}})),u},datetime:function(e,t,i,n,s){var o,r=s.format,a=s.verticalNavigation||"editor",l=r?window.DateTime||luxon.DateTime:null,h=e.getValue(),u=document.createElement("input");if(u.type="datetime-local",u.style.padding="4px",u.style.width="100%",u.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+s.elementAttributes["+"+e])):u.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=u.value;if(null==h&&""!==t||t!==h){if(t&&r)switch(e=l.fromISO(String(t)),r){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(r)}i(t)&&(h=u.value)}else n()}return h=void 0!==h?h:"",r&&(l?(o=l.isDateTime(h)?h:"iso"===r?l.fromISO(String(h)):l.fromFormat(String(h),r),h=o.toFormat("yyyy-MM-dd")+"T"+o.toFormat("HH:mm")):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),u.value=h,t((function(){"cell"===e.getType()&&(u.focus({preventScroll:!0}),u.style.height="100%",s.selectContents&&u.select())})),u.addEventListener("blur",(function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==u)&&c()})),u.addEventListener("keydown",(function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==a&&(e.stopImmediatePropagation(),e.stopPropagation())}})),u},list:function(e,t,i,n,s){return new A(this,e,t,i,n,s).input},star:function(e,t,i,n,s){var o=this,r=e.getElement(),a=e.getValue(),l=r.getElementsByTagName("svg").length||5,h=r.getElementsByTagName("svg")[0]?r.getElementsByTagName("svg")[0].getAttribute("width"):14,u=[],c=document.createElement("div"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");function p(e){u.forEach((function(t,i){i<e?("ie"==o.table.browser?t.setAttribute("class","tabulator-star-active"):t.classList.replace("tabulator-star-inactive","tabulator-star-active"),t.innerHTML='<polygon fill="#488CE9" stroke="#014AAE" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>'):("ie"==o.table.browser?t.setAttribute("class","tabulator-star-inactive"):t.classList.replace("tabulator-star-active","tabulator-star-inactive"),t.innerHTML='<polygon fill="#010155" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>')}))}function m(e){var t=document.createElement("span"),n=d.cloneNode(!0);u.push(n),t.addEventListener("mouseenter",(function(t){t.stopPropagation(),t.stopImmediatePropagation(),p(e)})),t.addEventListener("mousemove",(function(e){e.stopPropagation(),e.stopImmediatePropagation()})),t.addEventListener("click",(function(t){t.stopPropagation(),t.stopImmediatePropagation(),i(e),r.blur()})),t.appendChild(n),c.appendChild(t)}function g(e){a=e,p(e)}if(r.style.whiteSpace="nowrap",r.style.overflow="hidden",r.style.textOverflow="ellipsis",c.style.verticalAlign="middle",c.style.display="inline-block",c.style.padding="4px",d.setAttribute("width",h),d.setAttribute("height",h),d.setAttribute("viewBox","0 0 512 512"),d.setAttribute("xml:space","preserve"),d.style.padding="0 1px",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),c.setAttribute(e,c.getAttribute(e)+s.elementAttributes["+"+e])):c.setAttribute(e,s.elementAttributes[e]);for(var f=1;f<=l;f++)m(f);return p(a=Math.min(parseInt(a),l)),c.addEventListener("mousemove",(function(e){p(0)})),c.addEventListener("click",(function(e){i(0)})),r.addEventListener("blur",(function(e){n()})),r.addEventListener("keydown",(function(e){switch(e.keyCode){case 39:g(a+1);break;case 37:g(a-1);break;case 13:i(a);break;case 27:n()}})),c},progress:function(e,t,i,n,s){var o,r,a=e.getElement(),l=void 0===s.max?a.getElementsByTagName("div")[0]&&a.getElementsByTagName("div")[0].getAttribute("max")||100:s.max,h=void 0===s.min?a.getElementsByTagName("div")[0]&&a.getElementsByTagName("div")[0].getAttribute("min")||0:s.min,u=(l-h)/100,c=e.getValue()||0,d=document.createElement("div"),p=document.createElement("div");function m(){var e=window.getComputedStyle(a,null),t=u*Math.round(p.offsetWidth/((a.clientWidth-parseInt(e.getPropertyValue("padding-left"))-parseInt(e.getPropertyValue("padding-right")))/100))+h;i(t),a.setAttribute("aria-valuenow",t),a.setAttribute("aria-label",c)}if(d.style.position="absolute",d.style.right="0",d.style.top="0",d.style.bottom="0",d.style.width="5px",d.classList.add("tabulator-progress-handle"),p.style.display="inline-block",p.style.position="relative",p.style.height="100%",p.style.backgroundColor="#488CE9",p.style.maxWidth="100%",p.style.minWidth="0%",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),p.setAttribute(e,p.getAttribute(e)+s.elementAttributes["+"+e])):p.setAttribute(e,s.elementAttributes[e]);return a.style.padding="4px 4px",c=Math.min(parseFloat(c),l),c=Math.max(parseFloat(c),h),c=Math.round((c-h)/u),p.style.width=c+"%",a.setAttribute("aria-valuemin",h),a.setAttribute("aria-valuemax",l),p.appendChild(d),d.addEventListener("mousedown",(function(e){o=e.screenX,r=p.offsetWidth})),d.addEventListener("mouseover",(function(){d.style.cursor="ew-resize"})),a.addEventListener("mousemove",(function(e){o&&(p.style.width=r+e.screenX-o+"px")})),a.addEventListener("mouseup",(function(e){o&&(e.stopPropagation(),e.stopImmediatePropagation(),o=!1,r=!1,m())})),a.addEventListener("keydown",(function(e){switch(e.keyCode){case 39:e.preventDefault(),p.style.width=p.clientWidth+a.clientWidth/100+"px";break;case 37:e.preventDefault(),p.style.width=p.clientWidth-a.clientWidth/100+"px";break;case 9:case 13:m();break;case 27:n()}})),a.addEventListener("blur",(function(){n()})),p},tickCross:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input"),a=s.tristate,l=void 0===s.indeterminateValue?null:s.indeterminateValue,h=!1,u=Object.keys(s).includes("trueValue"),c=Object.keys(s).includes("falseValue");if(r.setAttribute("type","checkbox"),r.style.marginTop="5px",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function d(e){var t=r.checked;return u&&t?t=s.trueValue:c&&!t&&(t=s.falseValue),a?e?h?l:t:r.checked&&!h?(r.checked=!1,r.indeterminate=!0,h=!0,l):(h=!1,t):t}return r.value=o,!a||void 0!==o&&o!==l&&""!==o||(h=!0,r.indeterminate=!0),"firefox"!=this.table.browser&&"safari"!=this.table.browser&&t((function(){"cell"===e.getType()&&r.focus({preventScroll:!0})})),r.checked=u?o===s.trueValue:!0===o||"true"===o||"True"===o||1===o,r.addEventListener("change",(function(e){i(d())})),r.addEventListener("blur",(function(e){i(d(!0))})),r.addEventListener("keydown",(function(e){13==e.keyCode&&i(d()),27==e.keyCode&&n()})),r}};class O extends s{static moduleName="edit";static editors=P;constructor(e){super(e),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=O.editors,this.registerTableOption("editTriggerEvent","focus"),this.registerTableOption("editorEmptyValue"),this.registerTableOption("editorEmptyValueFunc",this.emptyValueCheck.bind(this)),this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("editorEmptyValue"),this.registerColumnOption("editorEmptyValueFunc"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),this.registerTableFunction("getEditedCells",this.getEditedCells.bind(this)),this.registerTableFunction("clearCellEdited",this.clearCellEdited.bind(this)),this.registerTableFunction("navigatePrev",this.navigatePrev.bind(this)),this.registerTableFunction("navigateNext",this.navigateNext.bind(this)),this.registerTableFunction("navigateLeft",this.navigateLeft.bind(this)),this.registerTableFunction("navigateRight",this.navigateRight.bind(this)),this.registerTableFunction("navigateUp",this.navigateUp.bind(this)),this.registerTableFunction("navigateDown",this.navigateDown.bind(this)),this.registerComponentFunction("cell","isEdited",this.cellIsEdited.bind(this)),this.registerComponentFunction("cell","clearEdited",this.clearEdited.bind(this)),this.registerComponentFunction("cell","edit",this.editCell.bind(this)),this.registerComponentFunction("cell","cancelEdit",this.cellCancelEdit.bind(this)),this.registerComponentFunction("cell","navigatePrev",this.navigatePrev.bind(this)),this.registerComponentFunction("cell","navigateNext",this.navigateNext.bind(this)),this.registerComponentFunction("cell","navigateLeft",this.navigateLeft.bind(this)),this.registerComponentFunction("cell","navigateRight",this.navigateRight.bind(this)),this.registerComponentFunction("cell","navigateUp",this.navigateUp.bind(this)),this.registerComponentFunction("cell","navigateDown",this.navigateDown.bind(this))}initialize(){this.subscribe("cell-init",this.bindEditor.bind(this)),this.subscribe("cell-delete",this.clearEdited.bind(this)),this.subscribe("cell-value-changed",this.updateCellClass.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("column-delete",this.columnDeleteCheck.bind(this)),this.subscribe("row-deleting",this.rowDeleteCheck.bind(this)),this.subscribe("row-layout",this.rowEditableCheck.bind(this)),this.subscribe("data-refreshing",this.cancelEdit.bind(this)),this.subscribe("clipboard-paste",this.pasteBlocker.bind(this)),this.subscribe("keybinding-nav-prev",this.navigatePrev.bind(this,void 0)),this.subscribe("keybinding-nav-next",this.keybindingNavigateNext.bind(this)),this.subscribe("keybinding-nav-up",this.navigateUp.bind(this,void 0)),this.subscribe("keybinding-nav-down",this.navigateDown.bind(this,void 0)),Object.keys(this.table.options).includes("editorEmptyValue")&&(this.convertEmptyValues=!0)}pasteBlocker(e){if(this.currentCell)return!0}keybindingNavigateNext(e){var t=this.currentCell,i=this.options("tabEndNewRow");t&&(this.navigateNext(t,e)||i&&(t.getElement().firstChild.blur(),this.invalidEdit||(i=!0===i?this.table.addRow({}):"function"==typeof i?this.table.addRow(i(t.row.getComponent())):this.table.addRow(Object.assign({},i))).then((()=>{setTimeout((()=>{t.getComponent().navigateNext()}))}))))}cellIsEdited(e){return!!e.modules.edit&&e.modules.edit.edited}cellCancelEdit(e){e===this.currentCell?this.table.modules.edit.cancelEdit():console.warn("Cancel Editor Error - This cell is not currently being edited ")}updateCellClass(e){this.allowEdit(e)?e.getElement().classList.add("tabulator-editable"):e.getElement().classList.remove("tabulator-editable")}clearCellEdited(e){e||(e=this.table.modules.edit.getEditedCells()),Array.isArray(e)||(e=[e]),e.forEach((e=>{this.table.modules.edit.clearEdited(e._getSelf())}))}navigatePrev(e=this.currentCell,t){var i,n;if(e){if(t&&t.preventDefault(),i=this.navigateLeft())return!0;if((n=this.table.rowManager.prevDisplayRow(e.row,!0))&&(i=this.findPrevEditableCell(n,n.cells.length)))return i.getComponent().edit(),!0}return!1}navigateNext(e=this.currentCell,t){var i,n;if(e){if(t&&t.preventDefault(),i=this.navigateRight())return!0;if((n=this.table.rowManager.nextDisplayRow(e.row,!0))&&(i=this.findNextEditableCell(n,-1)))return i.getComponent().edit(),!0}return!1}navigateLeft(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.findPrevEditableCell(e.row,i)))&&(n.getComponent().edit(),!0)}navigateRight(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.findNextEditableCell(e.row,i)))&&(n.getComponent().edit(),!0)}navigateUp(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.table.rowManager.prevDisplayRow(e.row,!0)))&&(n.cells[i].getComponent().edit(),!0)}navigateDown(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.table.rowManager.nextDisplayRow(e.row,!0)))&&(n.cells[i].getComponent().edit(),!0)}findNextEditableCell(e,i){var n=!1;if(i<e.cells.length-1)for(var s=i+1;s<e.cells.length;s++){let i=e.cells[s];if(i.column.modules.edit&&t.elVisible(i.getElement())){if(this.allowEdit(i)){n=i;break}}}return n}findPrevEditableCell(e,i){var n=!1;if(i>0)for(var s=i-1;s>=0;s--){let i=e.cells[s];if(i.column.modules.edit&&t.elVisible(i.getElement())){if(this.allowEdit(i)){n=i;break}}}return n}initializeColumnCheck(e){void 0!==e.definition.editor&&this.initializeColumn(e)}columnDeleteCheck(e){this.currentCell&&this.currentCell.column===e&&this.cancelEdit()}rowDeleteCheck(e){this.currentCell&&this.currentCell.row===e&&this.cancelEdit()}rowEditableCheck(e){e.getCells().forEach((e=>{e.column.modules.edit&&"function"==typeof e.column.modules.edit.check&&this.updateCellClass(e)}))}initializeColumn(e){var t=Object.keys(e.definition).includes("editorEmptyValue"),i={editor:!1,blocked:!1,check:e.definition.editable,params:e.definition.editorParams||{},convertEmptyValues:t,editorEmptyValue:e.definition.editorEmptyValue,editorEmptyValueFunc:e.definition.editorEmptyValueFunc};switch(typeof e.definition.editor){case"string":this.editors[e.definition.editor]?i.editor=this.editors[e.definition.editor]:console.warn("Editor Error - No such editor found: ",e.definition.editor);break;case"function":i.editor=e.definition.editor;break;case"boolean":!0===e.definition.editor&&("function"!=typeof e.definition.formatter?this.editors[e.definition.formatter]?i.editor=this.editors[e.definition.formatter]:i.editor=this.editors.input:console.warn("Editor Error - Cannot auto lookup editor for a custom formatter: ",e.definition.formatter))}i.editor&&(e.modules.edit=i)}getCurrentCell(){return!!this.currentCell&&this.currentCell.getComponent()}clearEditor(e){var t,i=this.currentCell;if(this.invalidEdit=!1,i){for(this.currentCell=!1,t=i.getElement(),this.dispatch("edit-editor-clear",i,e),t.classList.remove("tabulator-editing");t.firstChild;)t.removeChild(t.firstChild);i.row.getElement().classList.remove("tabulator-editing"),i.table.element.classList.remove("tabulator-editing")}}cancelEdit(){if(this.currentCell){var e=this.currentCell,t=this.currentCell.getComponent();this.clearEditor(!0),e.setValueActual(e.getValue()),e.cellRendered(),("textarea"==e.column.definition.editor||e.column.definition.variableHeight)&&e.row.normalizeHeight(!0),e.column.definition.cellEditCancelled&&e.column.definition.cellEditCancelled.call(this.table,t),this.dispatch("edit-cancelled",e),this.dispatchExternal("cellEditCancelled",t)}}bindEditor(e){if(e.column.modules.edit){var t=this,i=e.getElement(!0);this.updateCellClass(e),i.setAttribute("tabindex",0),i.addEventListener("mousedown",(function(e){2===e.button?e.preventDefault():t.mouseClick=!0})),"dblclick"===this.options("editTriggerEvent")&&i.addEventListener("dblclick",(function(n){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,n,!1))})),"focus"!==this.options("editTriggerEvent")&&"click"!==this.options("editTriggerEvent")||i.addEventListener("click",(function(n){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,n,!1))})),"focus"===this.options("editTriggerEvent")&&i.addEventListener("focus",(function(i){t.recursionBlock||t.edit(e,i,!1)}))}}focusCellNoEvent(e,t){this.recursionBlock=!0,t&&"ie"===this.table.browser||e.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(e,t){this.focusCellNoEvent(e),this.edit(e,!1,t)}focusScrollAdjust(e){if("virtual"==this.table.rowManager.getRenderMode()){var t=this.table.rowManager.element.scrollTop,i=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,n=e.row.getElement();n.offsetTop<t?this.table.rowManager.element.scrollTop-=t-n.offsetTop:n.offsetTop+n.offsetHeight>i&&(this.table.rowManager.element.scrollTop+=n.offsetTop+n.offsetHeight-i);var s=this.table.rowManager.element.scrollLeft,o=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,r=e.getElement();this.table.modExists("frozenColumns")&&(s+=parseInt(this.table.modules.frozenColumns.leftMargin||0),o-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),"virtual"===this.table.options.renderHorizontal&&(s-=parseInt(this.table.columnManager.renderer.vDomPadLeft),o-=parseInt(this.table.columnManager.renderer.vDomPadLeft)),r.offsetLeft<s?this.table.rowManager.element.scrollLeft-=s-r.offsetLeft:r.offsetLeft+r.offsetWidth>o&&(this.table.rowManager.element.scrollLeft+=r.offsetLeft+r.offsetWidth-o)}}allowEdit(e){var t=!!e.column.modules.edit;if(e.column.modules.edit)switch(typeof e.column.modules.edit.check){case"function":e.row.initialized&&(t=e.column.modules.edit.check(e.getComponent()));break;case"string":t=!!e.row.data[e.column.modules.edit.check];break;case"boolean":t=e.column.modules.edit.check}return t}edit(e,t,i){var n,s,o,r=this,a=function(){},l=e.getElement(),h=!1;if(!this.currentCell){if(e.column.modules.edit.blocked)return this.mouseClick=!1,this.blur(l),!1;if(t&&t.stopPropagation(),this.allowEdit(e)||i){if(r.cancelEdit(),r.currentCell=e,this.focusScrollAdjust(e),s=e.getComponent(),this.mouseClick&&(this.mouseClick=!1,e.column.definition.cellClick&&e.column.definition.cellClick.call(this.table,t,s)),e.column.definition.cellEditing&&e.column.definition.cellEditing.call(this.table,s),this.dispatch("cell-editing",e),this.dispatchExternal("cellEditing",s),o="function"==typeof e.column.modules.edit.params?e.column.modules.edit.params(s):e.column.modules.edit.params,n=e.column.modules.edit.editor.call(r,s,(function(e){a=e}),(function(t){if(r.currentCell===e&&!h){var i=r.chain("edit-success",[e,t],!0,!0);return!0===i||"highlight"===r.table.options.validationMode?(h=!0,r.clearEditor(),e.modules.edit||(e.modules.edit={}),e.modules.edit.edited=!0,-1==r.editedCells.indexOf(e)&&r.editedCells.push(e),t=r.transformEmptyValues(t,e),e.setValue(t,!0),!0===i):(h=!0,r.invalidEdit=!0,r.focusCellNoEvent(e,!0),a(),setTimeout((()=>{h=!1}),10),!1)}}),(function(){r.currentCell!==e||h||r.cancelEdit()}),o),!this.currentCell||!1===n)return this.blur(l),!1;if(!(n instanceof Node))return console.warn("Edit Error - Editor should return an instance of Node, the editor returned:",n),this.blur(l),!1;for(l.classList.add("tabulator-editing"),e.row.getElement().classList.add("tabulator-editing"),e.table.element.classList.add("tabulator-editing");l.firstChild;)l.removeChild(l.firstChild);l.appendChild(n),a();for(var u=l.children,c=0;c<u.length;c++)u[c].addEventListener("click",(function(e){e.stopPropagation()}));return!0}return this.mouseClick=!1,this.blur(l),!1}this.invalidEdit||this.currentCell===e||this.cancelEdit()}emptyValueCheck(e){return""===e||null==e}transformEmptyValues(e,t){var i,n=t.column.modules.edit;return(n.convertEmptyValues||this.convertEmptyValues)&&(i=n.editorEmptyValueFunc||this.options("editorEmptyValueFunc"))&&i(e)&&(e=n.convertEmptyValues?n.editorEmptyValue:this.options("editorEmptyValue")),e}blur(e){this.confirm("edit-blur",[e])||e.blur()}getEditedCells(){var e=[];return this.editedCells.forEach((t=>{e.push(t.getComponent())})),e}clearEdited(e){var t;e.modules.edit&&e.modules.edit.edited&&(e.modules.edit.edited=!1,this.dispatch("edit-edited-clear",e)),(t=this.editedCells.indexOf(e))>-1&&this.editedCells.splice(t,1)}}class F{constructor(e,t,i,n){this.type=e,this.columns=t,this.component=i||!1,this.indent=n||0}}class z{constructor(e,t,i,n,s){this.value=e,this.component=t||!1,this.width=i,this.height=n,this.depth=s}}var H={},N={visible:function(){return this.rowManager.getVisibleRows(!1,!0)},all:function(){return this.rowManager.rows},selected:function(){return this.modules.selectRow.selectedRows},active:function(){return this.options.pagination?this.rowManager.getDisplayRows(this.rowManager.displayRows.length-2):this.rowManager.getDisplayRows()}};class I extends s{static moduleName="export";static columnLookups=H;static rowLookups=N;constructor(e){super(e),this.config={},this.cloneTableStyle=!0,this.colVisProp="",this.colVisPropAttach="",this.registerTableOption("htmlOutputConfig",!1),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput")}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this))}generateExportList(e,t,i,n){var s,o,r,a;return this.cloneTableStyle=t,this.config=e||{},this.colVisProp=n,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),(a=I.columnLookups[i])&&(r=(r=a.call(this.table)).filter((e=>this.columnVisCheck(e)))),s=!1!==this.config.columnHeaders?this.headersToExportRows(this.generateColumnGroupHeaders(r)):[],r&&(r=r.map((e=>e.getComponent()))),o=this.bodyToExportRows(this.rowLookup(i),r),s.concat(o)}generateTable(e,t,i,n){var s=this.generateExportList(e,t,i,n);return this.generateTableElement(s)}rowLookup(e){var t,i=[];return"function"==typeof e?e.call(this.table).forEach((e=>{(e=this.table.rowManager.findRow(e))&&i.push(e)})):(t=I.rowLookups[e]||I.rowLookups.active,i=t.call(this.table)),Object.assign([],i)}generateColumnGroupHeaders(e){var t=[];return e||(e=!1!==this.config.columnGroups?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),e.forEach((e=>{var i=this.processColumnGroup(e);i&&t.push(i)})),t}processColumnGroup(e){var t=e.columns,i=0,n={title:e.definition["title"+this.colVisPropAttach]||e.definition.title,column:e,depth:1};if(t.length){if(n.subGroups=[],n.width=0,t.forEach((e=>{var t=this.processColumnGroup(e);t&&(n.width+=t.width,n.subGroups.push(t),t.depth>i&&(i=t.depth))})),n.depth+=i,!n.width)return!1}else{if(!this.columnVisCheck(e))return!1;n.width=1}return n}columnVisCheck(e){var t=e.definition[this.colVisProp];return(!1!==this.config.rowHeaders||!e.isRowHeader)&&("function"==typeof t&&(t=t.call(this.table,e.getComponent())),!1===t||!0===t?t:e.visible&&e.field)}headersToExportRows(e){var t=[],i=0,n=[];function s(e,n){var o=i-n;if(void 0===t[n]&&(t[n]=[]),e.height=e.subGroups?1:o-e.depth+1,t[n].push(e),e.height>1)for(let i=1;i<e.height;i++)void 0===t[n+i]&&(t[n+i]=[]),t[n+i].push(!1);if(e.width>1)for(let i=1;i<e.width;i++)t[n].push(!1);e.subGroups&&e.subGroups.forEach((function(e){s(e,n+1)}))}return e.forEach((function(e){e.depth>i&&(i=e.depth)})),e.forEach((function(e){s(e,0)})),t.forEach((e=>{var t=[];e.forEach((e=>{if(e){let i=void 0===e.title?"":e.title;t.push(new z(i,e.column.getComponent(),e.width,e.height,e.depth))}else t.push(null)})),n.push(new F("header",t))})),n}bodyToExportRows(e,t=[]){var i=[];return 0===t.length&&this.table.columnManager.columnsByIndex.forEach((e=>{this.columnVisCheck(e)&&t.push(e.getComponent())})),!1!==this.config.columnCalcs&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&e.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&e.push(this.table.modules.columnCalcs.botRow)),(e=e.filter((e=>{switch(e.type){case"group":return!1!==this.config.rowGroups;case"calc":return!1!==this.config.columnCalcs;case"row":return!(this.table.options.dataTree&&!1===this.config.dataTree&&e.modules.dataTree.parent)}return!0}))).forEach(((e,n)=>{var s=e.getData(this.colVisProp),o=[],r=0;switch(e.type){case"group":r=e.level,o.push(new z(e.key,e.getComponent(),t.length,1));break;case"calc":case"row":t.forEach((e=>{o.push(new z(e._column.getFieldValue(s),e,1,1))})),this.table.options.dataTree&&!1!==this.config.dataTree&&(r=e.modules.dataTree.index)}i.push(new F(e.type,o,e.getComponent(),r))})),i}generateTableElement(e){var t=document.createElement("table"),i=document.createElement("thead"),n=document.createElement("tbody"),s=this.lookupTableStyles(),o=this.table.options["rowFormatter"+this.colVisPropAttach],r={};return r.rowFormatter=null!==o?o:this.table.options.rowFormatter,this.table.options.dataTree&&!1!==this.config.dataTree&&this.table.modExists("columnCalcs")&&(r.treeElementField=this.table.modules.dataTree.elementField),r.groupHeader=this.table.options["groupHeader"+this.colVisPropAttach],r.groupHeader&&!Array.isArray(r.groupHeader)&&(r.groupHeader=[r.groupHeader]),t.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),i,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),e.length>1e3&&console.warn("It may take a long time to render an HTML table with more than 1000 rows"),e.forEach(((e,t)=>{let o;switch(e.type){case"header":i.appendChild(this.generateHeaderElement(e,r,s));break;case"group":n.appendChild(this.generateGroupElement(e,r,s));break;case"calc":n.appendChild(this.generateCalcElement(e,r,s));break;case"row":o=this.generateRowElement(e,r,s),this.mapElementStyles(t%2&&s.evenRow?s.evenRow:s.oddRow,o,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),n.appendChild(o)}})),i.innerHTML&&t.appendChild(i),t.appendChild(n),this.mapElementStyles(this.table.element,t,["border-top","border-left","border-right","border-bottom"]),t}lookupTableStyles(){var e={};return this.cloneTableStyle&&window.getComputedStyle&&(e.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),e.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),e.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),e.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),e.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],e.firstRow&&(e.styleCells=e.firstRow.getElementsByClassName("tabulator-cell"),e.styleRowHeader=e.firstRow.getElementsByClassName("tabulator-row-header")[0],e.firstCell=e.styleCells[0],e.lastCell=e.styleCells[e.styleCells.length-1])),e}generateHeaderElement(e,t,i){var n=document.createElement("tr");return e.columns.forEach((e=>{if(e){var t=document.createElement("th"),i=e.component._column.definition.cssClass?e.component._column.definition.cssClass.split(" "):[];t.colSpan=e.width,t.rowSpan=e.height,t.innerHTML=e.value,this.cloneTableStyle&&(t.style.boxSizing="border-box"),i.forEach((function(e){t.classList.add(e)})),this.mapElementStyles(e.component.getElement(),t,["text-align","border-left","border-right","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(e.component._column.contentElement,t,["padding-top","padding-left","padding-right","padding-bottom"]),e.component._column.visible?this.mapElementStyles(e.component.getElement(),t,["width"]):e.component._column.definition.width&&(t.style.width=e.component._column.definition.width+"px"),e.component._column.parent&&e.component._column.parent.isGroup?this.mapElementStyles(e.component._column.parent.groupElement,t,["border-top"]):this.mapElementStyles(e.component.getElement(),t,["border-top"]),e.component._column.isGroup?this.mapElementStyles(e.component.getElement(),t,["border-bottom"]):this.mapElementStyles(this.table.columnManager.getElement(),t,["border-bottom"]),n.appendChild(t)}})),n}generateGroupElement(e,t,i){var n=document.createElement("tr"),s=document.createElement("td"),o=e.columns[0];return n.classList.add("tabulator-print-table-row"),t.groupHeader&&t.groupHeader[e.indent]?o.value=t.groupHeader[e.indent](o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component):!1!==t.groupHeader&&(o.value=e.component._group.generator(o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)),s.colSpan=o.width,s.innerHTML=o.value,n.classList.add("tabulator-print-table-group"),n.classList.add("tabulator-group-level-"+e.indent),o.component.isVisible()&&n.classList.add("tabulator-group-visible"),this.mapElementStyles(i.firstGroup,n,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(i.firstGroup,s,["padding-top","padding-left","padding-right","padding-bottom"]),n.appendChild(s),n}generateCalcElement(e,t,i){var n=this.generateRowElement(e,t,i);return n.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(i.calcRow,n,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),n}generateRowElement(e,t,i){var n=document.createElement("tr");if(n.classList.add("tabulator-print-table-row"),e.columns.forEach(((s,o)=>{if(s){var r,a,l=document.createElement("td"),h=s.component._column,u=this.table,c=u.columnManager.findColumnIndex(h),d=s.value,p={modules:{},getValue:function(){return d},getField:function(){return h.definition.field},getElement:function(){return l},getType:function(){return"cell"},getColumn:function(){return h.getComponent()},getData:function(){return e.component.getData()},getRow:function(){return e.component},getTable:function(){return u},getComponent:function(){return p},column:h};if((h.definition.cssClass?h.definition.cssClass.split(" "):[]).forEach((function(e){l.classList.add(e)})),this.table.modExists("format")&&!1!==this.config.formatCells)d=this.table.modules.format.formatExportValue(p,this.colVisProp);else switch(typeof d){case"object":d=null!==d?JSON.stringify(d):"";break;case"undefined":d=""}d instanceof Node?l.appendChild(d):l.innerHTML=d,a=["padding-top","padding-left","padding-right","padding-bottom","border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","text-align"],h.isRowHeader?(r=i.styleRowHeader,a.push("background-color")):r=i.styleCells&&i.styleCells[c]?i.styleCells[c]:i.firstCell,r&&(this.mapElementStyles(r,l,a),h.definition.align&&(l.style.textAlign=h.definition.align)),this.table.options.dataTree&&!1!==this.config.dataTree&&(t.treeElementField&&t.treeElementField==h.field||!t.treeElementField&&0==o)&&(e.component._row.modules.dataTree.controlEl&&l.insertBefore(e.component._row.modules.dataTree.controlEl.cloneNode(!0),l.firstChild),e.component._row.modules.dataTree.branchEl&&l.insertBefore(e.component._row.modules.dataTree.branchEl.cloneNode(!0),l.firstChild)),n.appendChild(l),p.modules.format&&p.modules.format.renderedCallback&&p.modules.format.renderedCallback()}})),t.rowFormatter&&"row"===e.type&&!1!==this.config.formatCells){Object.assign(e.component).getElement=function(){return n},t.rowFormatter(e.component)}return n}generateHTMLTable(e){var t=document.createElement("div");return t.appendChild(this.generateTableElement(e)),t.innerHTML}getHtml(e,t,i,n){var s=this.generateExportList(i||this.table.options.htmlOutputConfig,t,e,n||"htmlOutput");return this.generateHTMLTable(s)}mapElementStyles(e,t,i){if(this.cloneTableStyle&&e&&t){var n={"background-color":"backgroundColor",color:"fontColor",width:"width","font-weight":"fontWeight","font-family":"fontFamily","font-size":"fontSize","text-align":"textAlign","border-top":"borderTop","border-left":"borderLeft","border-right":"borderRight","border-bottom":"borderBottom","padding-top":"paddingTop","padding-left":"paddingLeft","padding-right":"paddingRight","padding-bottom":"paddingBottom"};if(window.getComputedStyle){var s=window.getComputedStyle(e);i.forEach((function(e){t.style[n[e]]||(t.style[n[e]]=s.getPropertyValue(e))}))}}}}var B={"=":function(e,t,i,n){return t==e},"<":function(e,t,i,n){return t<e},"<=":function(e,t,i,n){return t<=e},">":function(e,t,i,n){return t>e},">=":function(e,t,i,n){return t>=e},"!=":function(e,t,i,n){return t!=e},regex:function(e,t,i,n){return"string"==typeof e&&(e=new RegExp(e)),e.test(t)},like:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().indexOf(e.toLowerCase())>-1},keywords:function(e,t,i,n){var s=e.toLowerCase().split(void 0===n.separator?" ":n.separator),o=String(null==t?"":t).toLowerCase(),r=[];return s.forEach((e=>{o.includes(e)&&r.push(!0)})),n.matchAll?r.length===s.length:!!r.length},starts:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().startsWith(e.toLowerCase())},ends:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().endsWith(e.toLowerCase())},in:function(e,t,i,n){return Array.isArray(e)?!e.length||e.indexOf(t)>-1:(console.warn("Filter Error - filter value is not an array:",e),!1)}};class V extends s{static moduleName="filter";static filters=B;constructor(e){super(e),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=!1,this.tableInitialized=!1,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",!1),this.registerTableOption("initialHeaderFilter",!1),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",!1),this.registerColumnOption("headerFilter"),this.registerColumnOption("headerFilterPlaceholder"),this.registerColumnOption("headerFilterParams"),this.registerColumnOption("headerFilterEmptyCheck"),this.registerColumnOption("headerFilterFunc"),this.registerColumnOption("headerFilterFuncParams"),this.registerColumnOption("headerFilterLiveFilter"),this.registerTableFunction("searchRows",this.searchRows.bind(this)),this.registerTableFunction("searchData",this.searchData.bind(this)),this.registerTableFunction("setFilter",this.userSetFilter.bind(this)),this.registerTableFunction("refreshFilter",this.userRefreshFilter.bind(this)),this.registerTableFunction("addFilter",this.userAddFilter.bind(this)),this.registerTableFunction("getFilters",this.getFilters.bind(this)),this.registerTableFunction("setHeaderFilterFocus",this.userSetHeaderFilterFocus.bind(this)),this.registerTableFunction("getHeaderFilterValue",this.userGetHeaderFilterValue.bind(this)),this.registerTableFunction("setHeaderFilterValue",this.userSetHeaderFilterValue.bind(this)),this.registerTableFunction("getHeaderFilters",this.getHeaderFilters.bind(this)),this.registerTableFunction("removeFilter",this.userRemoveFilter.bind(this)),this.registerTableFunction("clearFilter",this.userClearFilter.bind(this)),this.registerTableFunction("clearHeaderFilter",this.userClearHeaderFilter.bind(this)),this.registerComponentFunction("column","headerFilterFocus",this.setHeaderFilterFocus.bind(this)),this.registerComponentFunction("column","reloadHeaderFilter",this.reloadHeaderFilter.bind(this)),this.registerComponentFunction("column","getHeaderFilterValue",this.getHeaderFilterValue.bind(this)),this.registerComponentFunction("column","setHeaderFilterValue",this.setHeaderFilterValue.bind(this))}initialize(){this.subscribe("column-init",this.initializeColumnHeaderFilter.bind(this)),this.subscribe("column-width-fit-before",this.hideHeaderFilterElements.bind(this)),this.subscribe("column-width-fit-after",this.showHeaderFilterElements.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.subscribe("placeholder",this.generatePlaceholder.bind(this)),"remote"===this.table.options.filterMode&&this.subscribe("data-params",this.remoteFilterParams.bind(this)),this.registerDataHandler(this.filter.bind(this),10)}tableBuilt(){this.table.options.initialFilter&&this.setFilter(this.table.options.initialFilter),this.table.options.initialHeaderFilter&&this.table.options.initialHeaderFilter.forEach((e=>{var t=this.table.columnManager.findColumn(e.field);if(!t)return console.warn("Column Filter Error - No matching column found:",e.field),!1;this.setHeaderFilterValue(t,e.value)})),this.tableInitialized=!0}remoteFilterParams(e,t,i,n){return n.filter=this.getFilters(!0,!0),n}generatePlaceholder(e){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(e,t,i,n){this.setFilter(e,t,i,n),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(e,t,i,n){this.addFilter(e,t,i,n),this.refreshFilter()}userSetHeaderFilterFocus(e){var t=this.table.columnManager.findColumn(e);if(!t)return console.warn("Column Filter Focus Error - No matching column found:",e),!1;this.setHeaderFilterFocus(t)}userGetHeaderFilterValue(e){var t=this.table.columnManager.findColumn(e);if(t)return this.getHeaderFilterValue(t);console.warn("Column Filter Error - No matching column found:",e)}userSetHeaderFilterValue(e,t){var i=this.table.columnManager.findColumn(e);if(!i)return console.warn("Column Filter Error - No matching column found:",e),!1;this.setHeaderFilterValue(i,t)}userRemoveFilter(e,t,i){this.removeFilter(e,t,i),this.refreshFilter()}userClearFilter(e){this.clearFilter(e),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(e,t,i){return this.search("rows",e,t,i)}searchData(e,t,i){return this.search("data",e,t,i)}initializeColumnHeaderFilter(e){e.definition.headerFilter&&this.initializeColumn(e)}initializeColumn(e,t){var i=this,n=e.getField();e.modules.filter={success:function(t){var s,o="input"==e.modules.filter.tagType&&"text"==e.modules.filter.attrType||"textarea"==e.modules.filter.tagType?"partial":"match",r="",a="";if(void 0===e.modules.filter.prevSuccess||e.modules.filter.prevSuccess!==t){if(e.modules.filter.prevSuccess=t,e.modules.filter.emptyFunc(t))delete i.headerFilters[n];else{switch(e.modules.filter.value=t,typeof e.definition.headerFilterFunc){case"string":V.filters[e.definition.headerFilterFunc]?(r=e.definition.headerFilterFunc,s=function(i){var n=e.definition.headerFilterFuncParams||{},s=e.getFieldValue(i);return n="function"==typeof n?n(t,s,i):n,V.filters[e.definition.headerFilterFunc](t,s,i,n)}):console.warn("Header Filter Error - Matching filter function not found: ",e.definition.headerFilterFunc);break;case"function":r=s=function(i){var n=e.definition.headerFilterFuncParams||{},s=e.getFieldValue(i);return n="function"==typeof n?n(t,s,i):n,e.definition.headerFilterFunc(t,s,i,n)}}if(!s)if("partial"===o)s=function(i){var n=e.getFieldValue(i);return null!=n&&String(n).toLowerCase().indexOf(String(t).toLowerCase())>-1},r="like";else s=function(i){return e.getFieldValue(i)==t},r="=";i.headerFilters[n]={value:t,func:s,type:r}}e.modules.filter.value=t,a=JSON.stringify(i.headerFilters),i.prevHeaderFilterChangeCheck!==a&&(i.prevHeaderFilterChangeCheck=a,i.trackChanges(),i.refreshFilter())}return!0},attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(e)}generateHeaderFilterElement(e,t,i){var n,s,o,r,a,l,h,u,c=this,d=e.modules.filter.success,p=e.getField();if(e.modules.filter.value=t,e.modules.filter.headerElement&&e.modules.filter.headerElement.parentNode&&e.contentElement.removeChild(e.modules.filter.headerElement.parentNode),p){switch(e.modules.filter.emptyFunc=e.definition.headerFilterEmptyCheck||function(e){return!e&&0!==e},(n=document.createElement("div")).classList.add("tabulator-header-filter"),typeof e.definition.headerFilter){case"string":c.table.modules.edit.editors[e.definition.headerFilter]?(s=c.table.modules.edit.editors[e.definition.headerFilter],"tick"!==e.definition.headerFilter&&"tickCross"!==e.definition.headerFilter||e.definition.headerFilterEmptyCheck||(e.modules.filter.emptyFunc=function(e){return!0!==e&&!1!==e})):console.warn("Filter Error - Cannot build header filter, No such editor found: ",e.definition.editor);break;case"function":s=e.definition.headerFilter;break;case"boolean":e.modules.edit&&e.modules.edit.editor?s=e.modules.edit.editor:e.definition.formatter&&c.table.modules.edit.editors[e.definition.formatter]?(s=c.table.modules.edit.editors[e.definition.formatter],"tick"!==e.definition.formatter&&"tickCross"!==e.definition.formatter||e.definition.headerFilterEmptyCheck||(e.modules.filter.emptyFunc=function(e){return!0!==e&&!1!==e})):s=c.table.modules.edit.editors.input}if(s){if(r={getValue:function(){return void 0!==t?t:""},getField:function(){return e.definition.field},getElement:function(){return n},getColumn:function(){return e.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return{normalizeHeight:function(){}}}},h="function"==typeof(h=e.definition.headerFilterParams||{})?h.call(c.table,r):h,!(o=s.call(this.table.modules.edit,r,(function(e){u=e}),d,(function(){}),h)))return void console.warn("Filter Error - Cannot add filter to "+p+" column, editor returned a value of false");if(!(o instanceof Node))return void console.warn("Filter Error - Cannot add filter to "+p+" column, editor should return an instance of Node, the editor returned:",o);c.langBind("headerFilters|columns|"+e.definition.field,(function(t){o.setAttribute("placeholder",void 0!==t&&t?t:e.definition.headerFilterPlaceholder||c.langText("headerFilters|default"))})),o.addEventListener("click",(function(e){e.stopPropagation(),o.focus()})),o.addEventListener("focus",(e=>{var t=this.table.columnManager.contentsElement.scrollLeft;t!==this.table.rowManager.element.scrollLeft&&(this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})),a=!1,l=function(e){a&&clearTimeout(a),a=setTimeout((function(){d(o.value)}),c.table.options.headerFilterLiveFilterDelay)},e.modules.filter.headerElement=o,e.modules.filter.attrType=o.hasAttribute("type")?o.getAttribute("type").toLowerCase():"",e.modules.filter.tagType=o.tagName.toLowerCase(),!1!==e.definition.headerFilterLiveFilter&&("autocomplete"!==e.definition.headerFilter&&"tickCross"!==e.definition.headerFilter&&("autocomplete"!==e.definition.editor&&"tickCross"!==e.definition.editor||!0!==e.definition.headerFilter)&&(o.addEventListener("keyup",l),o.addEventListener("search",l),"number"==e.modules.filter.attrType&&o.addEventListener("change",(function(e){d(o.value)})),"text"==e.modules.filter.attrType&&"ie"!==this.table.browser&&o.setAttribute("type","search")),"input"!=e.modules.filter.tagType&&"select"!=e.modules.filter.tagType&&"textarea"!=e.modules.filter.tagType||o.addEventListener("mousedown",(function(e){e.stopPropagation()}))),n.appendChild(o),e.contentElement.appendChild(n),i||c.headerFilterColumns.push(e),u&&u()}}else console.warn("Filter Error - Cannot add header filter, column has no field set:",e.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach((function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="none")}))}showHeaderFilterElements(){this.headerFilterColumns.forEach((function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="")}))}setHeaderFilterFocus(e){e.modules.filter&&e.modules.filter.headerElement?e.modules.filter.headerElement.focus():console.warn("Column Filter Focus Error - No header filter set on column:",e.getField())}getHeaderFilterValue(e){if(e.modules.filter&&e.modules.filter.headerElement)return e.modules.filter.value;console.warn("Column Filter Error - No header filter set on column:",e.getField())}setHeaderFilterValue(e,t){e&&(e.modules.filter&&e.modules.filter.headerElement?(this.generateHeaderFilterElement(e,t,!0),e.modules.filter.success(t)):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}reloadHeaderFilter(e){e&&(e.modules.filter&&e.modules.filter.headerElement?this.generateHeaderFilterElement(e,e.modules.filter.value,!0):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}refreshFilter(){this.tableInitialized&&("remote"===this.table.options.filterMode?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch("filter-changed")}hasChanged(){var e=this.changed;return this.changed=!1,e}setFilter(e,t,i,n){this.filterList=[],Array.isArray(e)||(e=[{field:e,type:t,value:i,params:n}]),this.addFilter(e)}addFilter(e,t,i,n){var s=!1;Array.isArray(e)||(e=[{field:e,type:t,value:i,params:n}]),e.forEach((e=>{(e=this.findFilter(e))&&(this.filterList.push(e),s=!0)})),s&&this.trackChanges()}findFilter(e){var t;if(Array.isArray(e))return this.findSubFilters(e);var i=!1;return"function"==typeof e.field?i=function(t){return e.field(t,e.type||{})}:V.filters[e.type]?i=(t=this.table.columnManager.getColumnByField(e.field))?function(i){return V.filters[e.type](e.value,t.getFieldValue(i),i,e.params||{})}:function(t){return V.filters[e.type](e.value,t[e.field],t,e.params||{})}:console.warn("Filter Error - No such filter type found, ignoring: ",e.type),e.func=i,!!e.func&&e}findSubFilters(e){var t=[];return e.forEach((e=>{(e=this.findFilter(e))&&t.push(e)})),!!t.length&&t}getFilters(e,t){var i=[];return e&&(i=this.getHeaderFilters()),t&&i.forEach((function(e){"function"==typeof e.type&&(e.type="function")})),i=i.concat(this.filtersToArray(this.filterList,t))}filtersToArray(e,t){var i=[];return e.forEach((e=>{var n;Array.isArray(e)?i.push(this.filtersToArray(e,t)):(n={field:e.field,type:e.type,value:e.value},t&&"function"==typeof n.type&&(n.type="function"),i.push(n))})),i}getHeaderFilters(){var e=[];for(var t in this.headerFilters)e.push({field:t,type:this.headerFilters[t].type,value:this.headerFilters[t].value});return e}removeFilter(e,t,i){Array.isArray(e)||(e=[{field:e,type:t,value:i}]),e.forEach((e=>{var t=-1;(t="object"==typeof e.field?this.filterList.findIndex((t=>e===t)):this.filterList.findIndex((t=>e.field===t.field&&e.type===t.type&&e.value===t.value)))>-1?this.filterList.splice(t,1):console.warn("Filter Error - No matching filter type found, ignoring: ",e.type)})),this.trackChanges()}clearFilter(e){this.filterList=[],e&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach((e=>{void 0!==e.modules.filter.value&&delete e.modules.filter.value,e.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(e)})),this.trackChanges()}search(e,t,i,n){var s=[],o=[];return Array.isArray(t)||(t=[{field:t,type:i,value:n}]),t.forEach((e=>{(e=this.findFilter(e))&&o.push(e)})),this.table.rowManager.rows.forEach((t=>{var i=!0;o.forEach((e=>{this.filterRecurse(e,t.getData())||(i=!1)})),i&&s.push("data"===e?t.getData("data"):t.getComponent())})),s}filter(e,t){var i=[],n=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(!0)),"remote"!==this.table.options.filterMode&&(this.filterList.length||Object.keys(this.headerFilters).length)?e.forEach((e=>{this.filterRow(e)&&i.push(e)})):i=e.slice(0),this.subscribedExternal("dataFiltered")&&(i.forEach((e=>{n.push(e.getComponent())})),this.dispatchExternal("dataFiltered",this.getFilters(!0),n)),i}filterRow(e,t){var i=!0,n=e.getData();for(var s in this.filterList.forEach((e=>{this.filterRecurse(e,n)||(i=!1)})),this.headerFilters)this.headerFilters[s].func(n)||(i=!1);return i}filterRecurse(e,t){var i=!1;return Array.isArray(e)?e.forEach((e=>{this.filterRecurse(e,t)&&(i=!0)})):i=e.func(t),i}}var W={plaintext:function(e,t,i){return this.emptyToSpace(this.sanitizeHTML(e.getValue()))},html:function(e,t,i){return e.getValue()},textarea:function(e,t,i){return e.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(e.getValue()))},money:function(e,t,i){var n,s,o,r,a,l=parseFloat(e.getValue()),h="",u=t.decimal||".",c=t.thousand||",",d=t.negativeSign||"-",p=t.symbol||"",m=!!t.symbolAfter,g=void 0!==t.precision?t.precision:2;if(isNaN(l))return this.emptyToSpace(this.sanitizeHTML(e.getValue()));if(l<0&&(l=Math.abs(l),h=d),n=!1!==g?l.toFixed(g):l,s=(n=String(n).split("."))[0],o=n.length>1?u+n[1]:"",!1!==t.thousand)for(r=/(\d+)(\d{3})/;r.test(s);)s=s.replace(r,"$1"+c+"$2");return a=s+o,!0===h?(a="("+a+")",m?a+p:p+a):m?h+a+p:h+p+a},link:function(e,i,n){var s,o=e.getValue(),r=i.urlPrefix||"",a=i.download,l=o,h=document.createElement("a");if(i.labelField&&(s=e.getData(),l=function e(t,i){var n=i[t.shift()];return t.length&&"object"==typeof n?e(t,n):n}(i.labelField.split(this.table.options.nestedFieldSeparator),s)),i.label)switch(typeof i.label){case"string":l=i.label;break;case"function":l=i.label(e)}if(l){if(i.urlField&&(s=e.getData(),o=t.retrieveNestedData(this.table.options.nestedFieldSeparator,i.urlField,s)),i.url)switch(typeof i.url){case"string":o=i.url;break;case"function":o=i.url(e)}return h.setAttribute("href",r+o),i.target&&h.setAttribute("target",i.target),i.download&&(a="function"==typeof a?a(e):!0===a?"":a,h.setAttribute("download",a)),h.innerHTML=this.emptyToSpace(this.sanitizeHTML(l)),h}return"&nbsp;"},image:function(e,t,i){var n=document.createElement("img"),s=e.getValue();switch(t.urlPrefix&&(s=t.urlPrefix+e.getValue()),t.urlSuffix&&(s+=t.urlSuffix),n.setAttribute("src",s),typeof t.height){case"number":n.style.height=t.height+"px";break;case"string":n.style.height=t.height}switch(typeof t.width){case"number":n.style.width=t.width+"px";break;case"string":n.style.width=t.width}return n.addEventListener("load",(function(){e.getRow().normalizeHeight()})),n},tickCross:function(e,t,i){var n=e.getValue(),s=e.getElement(),o=t.allowEmpty,r=t.allowTruthy,a=Object.keys(t).includes("trueValue"),l=void 0!==t.tickElement?t.tickElement:'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>',h=void 0!==t.crossElement?t.crossElement:'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>';return a&&n===t.trueValue||!a&&(r&&n||!0===n||"true"===n||"True"===n||1===n||"1"===n)?(s.setAttribute("aria-checked",!0),l||""):!o||"null"!==n&&""!==n&&null!=n?(s.setAttribute("aria-checked",!1),h||""):(s.setAttribute("aria-checked","mixed"),"")},datetime:function(e,t,i){var n,s=window.DateTime||luxon.DateTime,o=t.inputFormat||"yyyy-MM-dd HH:mm:ss",r=t.outputFormat||"dd/MM/yyyy HH:mm:ss",a=void 0!==t.invalidPlaceholder?t.invalidPlaceholder:"",l=e.getValue();if(void 0!==s)return(n=s.isDateTime(l)?l:"iso"===o?s.fromISO(String(l)):s.fromFormat(String(l),o)).isValid?(t.timezone&&(n=n.setZone(t.timezone)),n.toFormat(r)):!0!==a&&l?"function"==typeof a?a(l):a:l;console.error("Format Error - 'datetime' formatter is dependant on luxon.js")},datetimediff:function(e,t,i){var n,s=window.DateTime||luxon.DateTime,o=t.inputFormat||"yyyy-MM-dd HH:mm:ss",r=void 0!==t.invalidPlaceholder?t.invalidPlaceholder:"",a=void 0!==t.suffix&&t.suffix,l=void 0!==t.unit?t.unit:"days",h=void 0!==t.humanize&&t.humanize,u=void 0!==t.date?t.date:s.now(),c=e.getValue();if(void 0!==s)return(n=s.isDateTime(c)?c:"iso"===o?s.fromISO(String(c)):s.fromFormat(String(c),o)).isValid?h?n.diff(u,l).toHuman()+(a?" "+a:""):parseInt(n.diff(u,l)[l])+(a?" "+a:""):!0===r?c:"function"==typeof r?r(c):r;console.error("Format Error - 'datetimediff' formatter is dependant on luxon.js")},lookup:function(e,t,i){var n=e.getValue();return void 0===t[n]?(console.warn("Missing display value for "+n),n):t[n]},star:function(e,t,i){var n=e.getValue(),s=e.getElement(),o=t&&t.stars?t.stars:5,r=document.createElement("span"),a=document.createElementNS("http://www.w3.org/2000/svg","svg");r.style.verticalAlign="middle",a.setAttribute("width","14"),a.setAttribute("height","14"),a.setAttribute("viewBox","0 0 512 512"),a.setAttribute("xml:space","preserve"),a.style.padding="0 1px",n=n&&!isNaN(n)?parseInt(n):0,n=Math.max(0,Math.min(n,o));for(var l=1;l<=o;l++){var h=a.cloneNode(!0);h.innerHTML=l<=n?'<polygon fill="#FFEA00" stroke="#C1AB60" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>':'<polygon fill="#D2D2D2" stroke="#686868" stroke-width="37.6152" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="259.216,29.942 330.27,173.919 489.16,197.007 374.185,309.08 401.33,467.31 259.216,392.612 117.104,467.31 144.25,309.08 29.274,197.007 188.165,173.919 "/>',r.appendChild(h)}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",n),r},traffic:function(e,t,i){var n,s,o=this.sanitizeHTML(e.getValue())||0,r=document.createElement("span"),a=t&&t.max?t.max:100,l=t&&t.min?t.min:0,h=t&&void 0!==t.color?t.color:["red","orange","green"],u="#666666";if(!isNaN(o)&&void 0!==e.getValue()){switch(r.classList.add("tabulator-traffic-light"),s=parseFloat(o)<=a?parseFloat(o):a,s=parseFloat(s)>=l?parseFloat(s):l,n=(a-l)/100,s=Math.round((s-l)/n),typeof h){case"string":u=h;break;case"function":u=h(o);break;case"object":if(Array.isArray(h)){var c=100/h.length,d=Math.floor(s/c);d=Math.min(d,h.length-1),u=h[d=Math.max(d,0)];break}}return r.style.backgroundColor=u,r}},progress:function(e,t={},i){var n,s,o,r,a,l=this.sanitizeHTML(e.getValue())||0,h=e.getElement(),u=t.max?t.max:100,c=t.min?t.min:0,d=t.legendAlign?t.legendAlign:"center";switch(s=parseFloat(l)<=u?parseFloat(l):u,s=parseFloat(s)>=c?parseFloat(s):c,n=(u-c)/100,s=Math.round((s-c)/n),typeof t.color){case"string":o=t.color;break;case"function":o=t.color(l);break;case"object":if(Array.isArray(t.color)){let e=100/t.color.length,i=Math.floor(s/e);i=Math.min(i,t.color.length-1),i=Math.max(i,0),o=t.color[i];break}default:o="#2DC214"}switch(typeof t.legend){case"string":r=t.legend;break;case"function":r=t.legend(l);break;case"boolean":r=l;break;default:r=!1}switch(typeof t.legendColor){case"string":a=t.legendColor;break;case"function":a=t.legendColor(l);break;case"object":if(Array.isArray(t.legendColor)){let e=100/t.legendColor.length,i=Math.floor(s/e);i=Math.min(i,t.legendColor.length-1),i=Math.max(i,0),a=t.legendColor[i]}break;default:a="#000"}h.style.minWidth="30px",h.style.position="relative",h.setAttribute("aria-label",s);var p=document.createElement("div");p.style.display="inline-block",p.style.width=s+"%",p.style.backgroundColor=o,p.style.height="100%",p.setAttribute("data-max",u),p.setAttribute("data-min",c);var m=document.createElement("div");if(m.style.position="relative",m.style.width="100%",m.style.height="100%",r){var g=document.createElement("div");g.style.position="absolute",g.style.top=0,g.style.left=0,g.style.textAlign=d,g.style.width="100%",g.style.color=a,g.innerHTML=r}return i((function(){if(!(e instanceof C)){var t=document.createElement("div");t.style.position="absolute",t.style.top="4px",t.style.bottom="4px",t.style.left="4px",t.style.right="4px",h.appendChild(t),h=t}h.appendChild(m),m.appendChild(p),r&&m.appendChild(g)})),""},color:function(e,t,i){return e.getElement().style.backgroundColor=this.sanitizeHTML(e.getValue()),""},buttonTick:function(e,t,i){return'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#2DC214" clip-rule="evenodd" d="M21.652,3.211c-0.293-0.295-0.77-0.295-1.061,0L9.41,14.34 c-0.293,0.297-0.771,0.297-1.062,0L3.449,9.351C3.304,9.203,3.114,9.13,2.923,9.129C2.73,9.128,2.534,9.201,2.387,9.351 l-2.165,1.946C0.078,11.445,0,11.63,0,11.823c0,0.194,0.078,0.397,0.223,0.544l4.94,5.184c0.292,0.296,0.771,0.776,1.062,1.07 l2.124,2.141c0.292,0.293,0.769,0.293,1.062,0l14.366-14.34c0.293-0.294,0.293-0.777,0-1.071L21.652,3.211z" fill-rule="evenodd"/></svg>'},buttonCross:function(e,t,i){return'<svg enable-background="new 0 0 24 24" height="14" width="14" viewBox="0 0 24 24" xml:space="preserve" ><path fill="#CE1515" d="M22.245,4.015c0.313,0.313,0.313,0.826,0,1.139l-6.276,6.27c-0.313,0.312-0.313,0.826,0,1.14l6.273,6.272 c0.313,0.313,0.313,0.826,0,1.14l-2.285,2.277c-0.314,0.312-0.828,0.312-1.142,0l-6.271-6.271c-0.313-0.313-0.828-0.313-1.141,0 l-6.276,6.267c-0.313,0.313-0.828,0.313-1.141,0l-2.282-2.28c-0.313-0.313-0.313-0.826,0-1.14l6.278-6.269 c0.313-0.312,0.313-0.826,0-1.14L1.709,5.147c-0.314-0.313-0.314-0.827,0-1.14l2.284-2.278C4.308,1.417,4.821,1.417,5.135,1.73 L11.405,8c0.314,0.314,0.828,0.314,1.141,0.001l6.276-6.267c0.312-0.312,0.826-0.312,1.141,0L22.245,4.015z"/></svg>'},toggle:function(e,t,i){var n,s,o=e.getValue(),r=t.size||15,a=r+"px",l=!t.hasOwnProperty("onValue")||t.onValue,h=!!t.hasOwnProperty("offValue")&&t.offValue,u=t.onTruthy?o:o===l;return(n=document.createElement("div")).classList.add("tabulator-toggle"),u?(n.classList.add("tabulator-toggle-on"),n.style.flexDirection="row-reverse",t.onColor&&(n.style.background=t.onColor)):t.offColor&&(n.style.background=t.offColor),n.style.width=2.5*r+"px",n.style.borderRadius=a,t.clickable&&n.addEventListener("click",(t=>{e.setValue(u?h:l)})),(s=document.createElement("div")).classList.add("tabulator-toggle-switch"),s.style.height=a,s.style.width=a,s.style.borderRadius=a,n.appendChild(s),n},rownum:function(e,t,i){var n=document.createElement("span"),s=e.getRow(),o=e.getTable();return s.watchPosition((e=>{t.relativeToPage&&(e+=o.modules.page.getPageSize()*(o.modules.page.getPage()-1)),n.innerText=e})),n},handle:function(e,t,i){return e.getElement().classList.add("tabulator-row-handle"),"<div class='tabulator-row-handle-box'><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div><div class='tabulator-row-handle-bar'></div></div>"}};class j extends s{static moduleName="format";static formatters=W;constructor(e){super(e),this.registerColumnOption("formatter"),this.registerColumnOption("formatterParams"),this.registerColumnOption("formatterPrint"),this.registerColumnOption("formatterPrintParams"),this.registerColumnOption("formatterClipboard"),this.registerColumnOption("formatterClipboardParams"),this.registerColumnOption("formatterHtmlOutput"),this.registerColumnOption("formatterHtmlOutputParams"),this.registerColumnOption("titleFormatter"),this.registerColumnOption("titleFormatterParams")}initialize(){this.subscribe("cell-format",this.formatValue.bind(this)),this.subscribe("cell-rendered",this.cellRendered.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-format",this.formatHeader.bind(this))}initializeColumn(e){e.modules.format=this.lookupFormatter(e,""),void 0!==e.definition.formatterPrint&&(e.modules.format.print=this.lookupFormatter(e,"Print")),void 0!==e.definition.formatterClipboard&&(e.modules.format.clipboard=this.lookupFormatter(e,"Clipboard")),void 0!==e.definition.formatterHtmlOutput&&(e.modules.format.htmlOutput=this.lookupFormatter(e,"HtmlOutput"))}lookupFormatter(e,t){var i={params:e.definition["formatter"+t+"Params"]||{}},n=e.definition["formatter"+t];switch(typeof n){case"string":j.formatters[n]?i.formatter=j.formatters[n]:(console.warn("Formatter Error - No such formatter found: ",n),i.formatter=j.formatters.plaintext);break;case"function":i.formatter=n;break;default:i.formatter=j.formatters.plaintext}return i}cellRendered(e){e.modules.format&&e.modules.format.renderedCallback&&!e.modules.format.rendered&&(e.modules.format.renderedCallback(),e.modules.format.rendered=!0)}formatHeader(e,t,i){var n,s,o,r;return e.definition.titleFormatter?(n=this.getFormatter(e.definition.titleFormatter),o=t=>{e.titleFormatterRendered=t},r={getValue:function(){return t},getElement:function(){return i},getType:function(){return"header"},getColumn:function(){return e.getComponent()},getTable:()=>this.table},s="function"==typeof(s=e.definition.titleFormatterParams||{})?s():s,n.call(this,r,s,o)):t}formatValue(e){var t=e.getComponent(),i="function"==typeof e.column.modules.format.params?e.column.modules.format.params(t):e.column.modules.format.params;return e.column.modules.format.formatter.call(this,t,i,(function(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1}))}formatExportValue(e,t){var i,n=e.column.modules.format[t];if(n){function s(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1}return i="function"==typeof n.params?n.params(e.getComponent()):n.params,n.formatter.call(this,e.getComponent(),i,s)}return this.formatValue(e)}sanitizeHTML(e){if(e){var t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(e).replace(/[&<>"'`=/]/g,(function(e){return t[e]}))}return e}emptyToSpace(e){return null==e||""===e?"&nbsp;":e}getFormatter(e){switch(typeof e){case"string":j.formatters[e]?e=j.formatters[e]:(console.warn("Formatter Error - No such formatter found: ",e),e=j.formatters.plaintext);break;case"function":break;default:e=j.formatters.plaintext}return e}}class U{constructor(e){return this._group=e,this.type="GroupComponent",new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._group.groupManager.table.componentFunctionBinder.handle("group",e._group,t)}})}getKey(){return this._group.key}getField(){return this._group.field}getElement(){return this._group.element}getRows(){return this._group.getRows(!0)}getSubGroups(){return this._group.getSubGroups(!0)}getParentGroup(){return!!this._group.parent&&this._group.parent.getComponent()}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(e,t){return this._group.groupManager.table.rowManager.scrollToRow(this._group,e,t)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}}class G{constructor(e,t,i,n,s,o,r){this.groupManager=e,this.parent=t,this.key=n,this.level=i,this.field=s,this.hasSubGroups=i<e.groupIDLookups.length-1,this.addRow=this.hasSubGroups?this._addRowToGroup:this._addRow,this.type="group",this.old=r,this.rows=[],this.groups=[],this.groupList=[],this.generator=o,this.element=!1,this.elementContents=!1,this.height=0,this.outerHeight=0,this.initialized=!1,this.calcs={},this.initialized=!1,this.modules={},this.arrowElement=!1,this.visible=r?r.visible:void 0!==e.startOpen[i]?e.startOpen[i]:e.startOpen[0],this.component=null,this.createElements(),this.addBindings(),this.createValueGroups()}wipe(e){e||(this.groupList.length?this.groupList.forEach((function(e){e.wipe()})):this.rows.forEach((e=>{e.modules&&delete e.modules.group}))),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var e=document.createElement("div");e.classList.add("tabulator-arrow"),this.element=document.createElement("div"),this.element.classList.add("tabulator-row"),this.element.classList.add("tabulator-group"),this.element.classList.add("tabulator-group-level-"+this.level),this.element.setAttribute("role","rowgroup"),this.arrowElement=document.createElement("div"),this.arrowElement.classList.add("tabulator-group-toggle"),this.arrowElement.appendChild(e),!1!==this.groupManager.table.options.movableRows&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var e=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[e]&&this.groupManager.allowedValues[e].forEach((t=>{this._createGroup(t,e)}))}addBindings(){this.groupManager.table.options.groupToggleElement&&("arrow"==this.groupManager.table.options.groupToggleElement?this.arrowElement:this.element).addEventListener("click",(e=>{"arrow"===this.groupManager.table.options.groupToggleElement&&(e.stopPropagation(),e.stopImmediatePropagation()),setTimeout((()=>{this.toggleVisibility()}))}))}_createGroup(e,t){var i=t+"_"+e,n=new G(this.groupManager,this,t,e,this.groupManager.groupIDLookups[t].field,this.groupManager.headerGenerator[t]||this.groupManager.headerGenerator[0],!!this.old&&this.old.groups[i]);this.groups[i]=n,this.groupList.push(n)}_addRowToGroup(e){var t=this.level+1;if(this.hasSubGroups){var i=this.groupManager.groupIDLookups[t].func(e.getData()),n=t+"_"+i;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]?this.groups[n]&&this.groups[n].addRow(e):(this.groups[n]||this._createGroup(i,t),this.groups[n].addRow(e))}}_addRow(e){this.rows.push(e),e.modules.group=this}insertRow(e,t,i){var n=this.conformRowData({});e.updateData(n);var s=this.rows.indexOf(t);s>-1?i?this.rows.splice(s+1,0,e):this.rows.splice(s,0,e):i?this.rows.push(e):this.rows.unshift(e),e.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(e){this.arrowElement&&(this.arrowElement.style.marginLeft=e,this.groupList.forEach((function(t){t.scrollHeader(e)})))}getRowIndex(e){}conformRowData(e){return this.field?e[this.field]=this.key:console.warn("Data Conforming Error - Cannot conform row data to match new group as groupBy is a function"),this.parent&&(e=this.parent.conformRowData(e)),e}removeRow(e){var t=this.rows.indexOf(e),i=e.getElement();t>-1&&this.rows.splice(t,1),this.groupManager.table.options.groupValues||this.rows.length?(i.parentNode&&i.parentNode.removeChild(i),this.groupManager.blockRedraw||(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this))):(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0))}removeGroup(e){var t,i=e.level+"_"+e.key;this.groups[i]&&(delete this.groups[i],(t=this.groupList.indexOf(e))>-1&&this.groupList.splice(t,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var e=[];return e.push(this),this._visSet(),this.calcs.top&&(this.calcs.top.detachElement(),this.calcs.top.deleteCells()),this.calcs.bottom&&(this.calcs.bottom.detachElement(),this.calcs.bottom.deleteCells()),this.visible?this.groupList.length?this.groupList.forEach((function(t){e=e.concat(t.getHeadersAndRows())})):("table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),e=e.concat(this.rows),"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))):this.groupList.length||"table"==this.groupManager.table.options.columnCalcs||this.groupManager.table.modExists("columnCalcs")&&(this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))),e}getData(e,t){var i=[];return this._visSet(),(!e||e&&this.visible)&&this.rows.forEach((e=>{i.push(e.getData(t||"data"))})),i}getRowCount(){var e=0;return this.groupList.length?this.groupList.forEach((t=>{e+=t.getRowCount()})):e=this.rows.length,e}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination||(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach((e=>{e.getHeadersAndRows().forEach((e=>{e.detachElement()}))})):this.rows.forEach((e=>{var t=e.getElement();t.parentNode.removeChild(t)}))),this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!1)}show(){if(this.visible=!0,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination)this.groupManager.updateGroupRows(!0);else{this.element.classList.add("tabulator-group-visible");var e=this.generateElement();this.groupList.length?this.groupList.forEach((t=>{t.getHeadersAndRows().forEach((t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i}))})):this.rows.forEach((t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i})),this.groupManager.updateGroupRows(!0)}this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!0)}_visSet(){var e=[];"function"==typeof this.visible&&(this.rows.forEach((function(t){e.push(t.getData())})),this.visible=this.visible(this.key,this.getRowCount(),e,this.getComponent()))}getRowGroup(e){var t=!1;return this.groupList.length?this.groupList.forEach((function(i){var n=i.getRowGroup(e);n&&(t=n)})):this.rows.find((function(t){return t===e}))&&(t=this),t}getSubGroups(e){var t=[];return this.groupList.forEach((function(i){t.push(e?i.getComponent():i)})),t}getRows(e,t){var i=[];return t&&this.groupList.length?this.groupList.forEach((n=>{i=i.concat(n.getRows(e,t))})):this.rows.forEach((function(t){i.push(e?t.getComponent():t)})),i}generateGroupHeaderContents(){var e=[];for(this.getRows(!1,!0).forEach((function(t){e.push(t.getData())})),this.elementContents=this.generator(this.key,this.getRowCount(),e,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);"string"==typeof this.elementContents?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(e=[]){return e.unshift(this.key),this.parent&&this.parent.getPath(e),e}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var e=0;e<this.element.childNodes.length;++e)this.element.childNodes[e].parentNode.removeChild(this.element.childNodes[e]);return this.generateGroupHeaderContents(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}normalizeHeight(){this.setHeight(this.element.clientHeight)}initialize(e){this.initialized&&!e||(this.normalizeHeight(),this.initialized=!0)}reinitialize(){this.initialized=!1,this.height=0,t.elVisible(this.element)&&this.initialize(!0)}setHeight(e){this.height!=e&&(this.height=e,this.outerHeight=this.element.offsetHeight)}getHeight(){return this.outerHeight}getGroup(){return this}reinitializeHeight(){}calcHeight(){}setCellHeight(){}clearCellHeight(){}deinitializeHeight(){}rendered(){}getComponent(){return this.component||(this.component=new U(this)),this.component}}var q={cellEdit:function(e){e.component.setValueProcessData(e.data.oldValue),e.component.cellRendered()},rowAdd:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowMove:function(e){var t=e.data.posFrom-e.data.posTo>0;this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posFrom),t),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},X={cellEdit:function(e){e.component.setValueProcessData(e.data.newValue),e.component.cellRendered()},rowAdd:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(e){this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posTo),e.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},Y={keybindings:{bindings:{undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"]},actions:{undo:function(e){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(e.preventDefault(),this.table.modules.history.undo()))},redo:function(e){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&(this.table.modules.edit.currentCell||(e.preventDefault(),this.table.modules.history.redo()))}}}};class J extends s{static moduleName="history";static moduleExtensions=Y;static undoers=q;static redoers=X;constructor(e){super(e),this.history=[],this.index=-1,this.registerTableOption("history",!1)}initialize(){this.table.options.history&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("cell-delete",this.clearComponentHistory.bind(this)),this.subscribe("row-delete",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clear.bind(this)),this.subscribe("row-added",this.rowAdded.bind(this)),this.subscribe("row-move",this.rowMoved.bind(this))),this.registerTableFunction("undo",this.undo.bind(this)),this.registerTableFunction("redo",this.redo.bind(this)),this.registerTableFunction("getHistoryUndoSize",this.getHistoryUndoSize.bind(this)),this.registerTableFunction("getHistoryRedoSize",this.getHistoryRedoSize.bind(this)),this.registerTableFunction("clearHistory",this.clear.bind(this))}rowMoved(e,t,i){this.action("rowMove",e,{posFrom:e.getPosition(),posTo:t.getPosition(),to:t,after:i})}rowAdded(e,t,i,n){this.action("rowAdd",e,{data:t,pos:i,index:n})}rowDeleted(e){var t,i;this.table.options.groupBy?(t=(i=e.getComponent().getGroup()._getSelf().rows).indexOf(e))&&(t=i[t-1]):(t=e.table.rowManager.getRowIndex(e))&&(t=e.table.rowManager.rows[t-1]),this.action("rowDelete",e,{data:e.getData(),pos:!t,index:t})}cellUpdated(e){this.action("cellEdit",e,{oldValue:e.oldValue,newValue:e.value})}clear(){this.history=[],this.index=-1}action(e,t,i){this.history=this.history.slice(0,this.index+1),this.history.push({type:e,component:t,data:i}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(e){var t=this.history.findIndex((function(t){return t.component===e}));t>-1&&(this.history.splice(t,1),t<=this.index&&this.index--,this.clearComponentHistory(e))}undo(){if(this.index>-1){let e=this.history[this.index];return J.undoers[e.type].call(this,e),this.index--,this.dispatchExternal("historyUndo",e.type,e.component.getComponent(),e.data),!0}return console.warn(this.options("history")?"History Undo Error - No more history to undo":"History module not enabled"),!1}redo(){if(this.history.length-1>this.index){this.index++;let e=this.history[this.index];return J.redoers[e.type].call(this,e),this.dispatchExternal("historyRedo",e.type,e.component.getComponent(),e.data),!0}return console.warn(this.options("history")?"History Redo Error - No more history to redo":"History module not enabled"),!1}_rebindRow(e,t){this.history.forEach((function(i){if(i.component instanceof x)i.component===e&&(i.component=t);else if(i.component instanceof y&&i.component.row===e){var n=i.component.column.getField();n&&(i.component=t.getCell(n))}}))}}var K={csv:function(e){var t=[],i=0,n=0,s=!1;for(let o=0;o<e.length;o++){let r=e[o],a=e[o+1];t[i]||(t[i]=[]),t[i][n]||(t[i][n]=""),'"'==r&&s&&'"'==a?(t[i][n]+=r,o++):'"'!=r?","!=r||s?"\r"!=r||"\n"!=a||s?"\r"!=r&&"\n"!=r||s?t[i][n]+=r:(n=0,i++):(n=0,i++,o++):n++:s=!s}return t},json:function(e){try{return JSON.parse(e)}catch(e){return console.warn("JSON Import Error - File contents is invalid JSON",e),Promise.reject()}},array:function(e){return e},xlsx:function(e,t){var i=XLSX.read(e),n=i.Sheets[i.SheetNames[0]];return XLSX.utils.sheet_to_json(n,{})}};class Z extends s{static moduleName="import";static importers=K;constructor(e){super(e),this.registerTableOption("importFormat"),this.registerTableOption("importReader","text")}initialize(){this.registerTableFunction("import",this.importFromFile.bind(this)),this.table.options.importFormat&&(this.subscribe("data-loading",this.loadDataCheck.bind(this),10),this.subscribe("data-load",this.loadData.bind(this),10))}loadDataCheck(e){return this.table.options.importFormat&&("string"==typeof e||Array.isArray(e)&&e.length&&Array.isArray(e))}loadData(e,t,i,n,s){return this.importData(this.lookupImporter(),e).then(this.structureData.bind(this)).catch((e=>(console.error("Import Error:",e||"Unable to import data"),Promise.reject(e))))}lookupImporter(e){var t;return e||(e=this.table.options.importFormat),(t="string"==typeof e?Z.importers[e]:e)||console.error("Import Error - Importer not found:",e),t}importFromFile(e,t,i){var n=this.lookupImporter(e);if(n)return this.pickFile(t,i).then(this.importData.bind(this,n)).then(this.structureData.bind(this)).then(this.setData.bind(this)).catch((e=>(this.dispatch("import-error",e),this.dispatchExternal("importError",e),console.error("Import Error:",e||"Unable to import file"),Promise.reject(e))))}pickFile(e,t){return new Promise(((i,n)=>{var s=document.createElement("input");s.type="file",s.accept=e,s.addEventListener("change",(e=>{var o=s.files[0],r=new FileReader;switch(this.dispatch("import-importing",s.files),this.dispatchExternal("importImporting",s.files),t||this.table.options.importReader){case"buffer":r.readAsArrayBuffer(o);break;case"binary":r.readAsBinaryString(o);break;case"url":r.readAsDataURL(o);break;default:r.readAsText(o)}r.onload=e=>{i(r.result)},r.onerror=e=>{console.warn("File Load Error - Unable to read file"),n()}})),this.dispatch("import-choose"),this.dispatchExternal("importChoose"),s.click()}))}importData(e,t){var i=e.call(this.table,t);return i instanceof Promise?i:i?Promise.resolve(i):Promise.reject()}structureData(e){return Array.isArray(e)&&e.length&&Array.isArray(e[0])?this.table.options.autoColumns?this.structureArrayToObject(e):this.structureArrayToColumns(e):e}structureArrayToObject(e){var t=e.shift();return e.map((e=>{var i={};return t.forEach(((t,n)=>{i[t]=e[n]})),i}))}structureArrayToColumns(e){var t=[],i=this.table.getColumns();return i[0]&&e[0][0]&&i[0].getDefinition().title===e[0][0]&&e.shift(),e.forEach((e=>{var n={};e.forEach(((e,t)=>{var s=i[t];s&&(n[s.getField()]=e)})),t.push(n)})),t}setData(e){return this.dispatch("import-imported",e),this.dispatchExternal("importImported",e),this.table.setData(e)}}var Q={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35},ee={keyBlock:function(e){e.stopPropagation(),e.preventDefault()},scrollPageUp:function(e){var t=this.table.rowManager,i=t.scrollTop-t.element.clientHeight;e.preventDefault(),t.displayRowsCount&&(i>=0?t.element.scrollTop=i:t.scrollToRow(t.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(e){var t=this.table.rowManager,i=t.scrollTop+t.element.clientHeight,n=t.element.scrollHeight;e.preventDefault(),t.displayRowsCount&&(i<=n?t.element.scrollTop=i:t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1]),this.table.element.focus()},navPrev:function(e){this.dispatch("keybinding-nav-prev",e)},navNext:function(e){this.dispatch("keybinding-nav-next",e)},navLeft:function(e){this.dispatch("keybinding-nav-left",e)},navRight:function(e){this.dispatch("keybinding-nav-right",e)},navUp:function(e){this.dispatch("keybinding-nav-up",e)},navDown:function(e){this.dispatch("keybinding-nav-down",e)}};class te extends s{static moduleName="keybindings";static bindings=Q;static actions=ee;constructor(e){super(e),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=!1,this.keydownBinding=!1,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",!1)}initialize(){var e=this.table.options.keybindings,t={};this.watchKeys={},this.pressedKeys=[],!1!==e&&(Object.assign(t,te.bindings),Object.assign(t,e),this.mapBindings(t),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this))}mapBindings(e){for(let t in e)te.actions[t]?e[t]&&("object"!=typeof e[t]&&(e[t]=[e[t]]),e[t].forEach((e=>{(Array.isArray(e)?e:[e]).forEach((e=>{this.mapBinding(t,e)}))}))):console.warn("Key Binding Error - no such action:",t)}mapBinding(e,t){var i={action:te.actions[e],keys:[],ctrl:!1,shift:!1,meta:!1};t.toString().toLowerCase().split(" ").join("").split("+").forEach((e=>{switch(e){case"ctrl":i.ctrl=!0;break;case"shift":i.shift=!0;break;case"meta":i.meta=!0;break;default:e=isNaN(e)?e.toUpperCase().charCodeAt(0):parseInt(e),i.keys.push(e),this.watchKeys[e]||(this.watchKeys[e]=[]),this.watchKeys[e].push(i)}}))}bindEvents(){var e=this;this.keyupBinding=function(t){var i=t.keyCode,n=e.watchKeys[i];n&&(e.pressedKeys.push(i),n.forEach((function(i){e.checkBinding(t,i)})))},this.keydownBinding=function(t){var i=t.keyCode;if(e.watchKeys[i]){var n=e.pressedKeys.indexOf(i);n>-1&&e.pressedKeys.splice(n,1)}},this.table.element.addEventListener("keydown",this.keyupBinding),this.table.element.addEventListener("keyup",this.keydownBinding)}clearBindings(){this.keyupBinding&&this.table.element.removeEventListener("keydown",this.keyupBinding),this.keydownBinding&&this.table.element.removeEventListener("keyup",this.keydownBinding)}checkBinding(e,t){var i=!0;return e.ctrlKey==t.ctrl&&e.shiftKey==t.shift&&e.metaKey==t.meta&&(t.keys.forEach((e=>{-1==this.pressedKeys.indexOf(e)&&(i=!1)})),i&&t.action.call(this,e),!0)}}var ie={delete:function(e,t,i){e.delete()}},ne={insert:function(e,t,i){return this.table.addRow(e.getData(),void 0,t),!0},add:function(e,t,i){return this.table.addRow(e.getData()),!0},update:function(e,t,i){return!!t&&(t.update(e.getData()),!0)},replace:function(e,t,i){return!!t&&(this.table.addRow(e.getData(),void 0,t),t.delete(),!0)}};class se extends s{static moduleName="moveRow";static senders=ie;static receivers=ne;constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connectionSelectorsTables=!1,this.connectionSelectorsElements=!1,this.connectionElements=[],this.connections=[],this.connectedTable=!1,this.connectedRow=!1,this.registerTableOption("movableRows",!1),this.registerTableOption("movableRowsConnectedTables",!1),this.registerTableOption("movableRowsConnectedElements",!1),this.registerTableOption("movableRowsSender",!1),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle")}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-row"),e.classList.add("tabulator-row-placeholder"),e}initialize(){this.table.options.movableRows&&(this.connectionSelectorsTables=this.table.options.movableRowsConnectedTables,this.connectionSelectorsElements=this.table.options.movableRowsConnectedElements,this.connection=this.connectionSelectorsTables||this.connectionSelectorsElements,this.subscribe("cell-init",this.initializeCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)))}initializeGroupHeader(e){var i=this,n={};n.mouseup=function(t){i.tableRowDrop(t,e)}.bind(i),n.mousemove=function(n){var s;n.pageY-t.elOffset(e.element).top+i.table.rowManager.element.scrollTop>e.getHeight()/2?i.toRow===e&&i.toRowAfter||((s=e.getElement()).parentNode.insertBefore(i.placeholderElement,s.nextSibling),i.moveRow(e,!0)):(i.toRow!==e||i.toRowAfter)&&(s=e.getElement()).previousSibling&&(s.parentNode.insertBefore(i.placeholderElement,s),i.moveRow(e,!1))}.bind(i),e.modules.moveRow=n}initializeRow(e){var i,n=this,s={};s.mouseup=function(t){n.tableRowDrop(t,e)}.bind(n),s.mousemove=function(i){var s=e.getElement();i.pageY-t.elOffset(s).top+n.table.rowManager.element.scrollTop>e.getHeight()/2?n.toRow===e&&n.toRowAfter||(s.parentNode.insertBefore(n.placeholderElement,s.nextSibling),n.moveRow(e,!0)):(n.toRow!==e||n.toRowAfter)&&(s.parentNode.insertBefore(n.placeholderElement,s),n.moveRow(e,!1))}.bind(n),this.hasHandle||((i=e.getElement()).addEventListener("mousedown",(function(t){1===t.which&&(n.checkTimeout=setTimeout((function(){n.startMove(t,e)}),n.checkPeriod))})),i.addEventListener("mouseup",(function(e){1===e.which&&n.checkTimeout&&clearTimeout(n.checkTimeout)})),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=s}initializeColumn(e){e.definition.rowHandle&&!1!==this.table.options.movableRows&&(this.hasHandle=!0)}initializeCell(e){if(e.column.definition.rowHandle&&!1!==this.table.options.movableRows){var t=this,i=e.getElement(!0);i.addEventListener("mousedown",(function(i){1===i.which&&(t.checkTimeout=setTimeout((function(){t.startMove(i,e.row)}),t.checkPeriod))})),i.addEventListener("mouseup",(function(e){1===e.which&&t.checkTimeout&&clearTimeout(t.checkTimeout)})),this.bindTouchEvents(e.row,i)}}bindTouchEvents(e,t){var i,n,s,o,r,a,l=!1;t.addEventListener("touchstart",(t=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,i=e.nextRow(),s=i?i.getHeight()/2:0,n=e.prevRow(),o=n?n.getHeight()/2:0,r=0,a=0,l=!1,this.startMove(t,e)}),this.checkPeriod)}),{passive:!0}),this.moving,this.toRow,this.toRowAfter,t.addEventListener("touchmove",(t=>{var h,u;this.moving&&(t.preventDefault(),this.moveHover(t),l||(l=t.touches[0].pageY),(h=t.touches[0].pageY-l)>0?i&&h-r>s&&(u=i)!==e&&(l=t.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveRow(u,!0)):n&&-h-a>o&&(u=n)!==e&&(l=t.touches[0].pageY,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveRow(u,!1)),u&&(i=u.nextRow(),r=s,s=i?i.getHeight()/2:0,n=u.prevRow(),a=o,o=n?n.getHeight()/2:0))})),t.addEventListener("touchend",(e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(e),this.touchMove=!1)}))}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach((e=>{("row"===e.type||"group"===e.type)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveRow.mousemove)}))}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach((e=>{("row"===e.type||"group"===e.type)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveRow.mousemove)}))}startMove(e,t){var i=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(t)):(i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i)),this.hoverElement=i.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),this.connection?(document.body.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this.hoverElement.style.width=this.table.element.clientWidth+"px",this.hoverElement.style.whiteSpace="nowrap",this.hoverElement.style.overflow="hidden",this.hoverElement.style.pointerEvents="none"):(this.table.rowManager.getTableElement().appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this._bindMouseMove()),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove),this.dispatchExternal("rowMoving",t.getComponent()),this.moveHover(e)}setStartPosition(e,t){var i,n,s=this.touchMove?e.touches[0].pageX:e.pageX,o=this.touchMove?e.touches[0].pageY:e.pageY;i=t.getElement(),this.connection?(n=i.getBoundingClientRect(),this.startX=n.left-s+window.pageXOffset,this.startY=n.top-o+window.pageYOffset):this.startY=o-i.getBoundingClientRect().top}endMove(e){e&&1!==e.which&&!this.touchMove||(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement)),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toRow?this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter):this.dispatchExternal("rowMoveCancelled",this.moving.getComponent()),this.moving=!1,this.toRow=!1,this.toRowAfter=!1,document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove),this.connection&&(this.table.element.classList.remove("tabulator-movingrow-sending"),this.disconnectFromTables()))}moveRow(e,t){this.toRow=e,this.toRowAfter=t}moveHover(e){this.connection?this.moveHoverConnections.call(this,e):this.moveHoverTable.call(this,e)}moveHoverTable(e){var t=this.table.rowManager.getElement(),i=t.scrollTop,n=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+i;this.hoverElement.style.top=Math.min(n-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px"}moveHoverConnections(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?e.touches[0].pageY:e.pageY)+"px"}elementRowDrop(e,t,i){this.dispatchExternal("movableRowsElementDrop",e,t,!!i&&i.getComponent())}connectToTables(e){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",t),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:e})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach((e=>{"string"==typeof e?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(e))):this.connectionElements.push(e)})),this.connectionElements.forEach((e=>{var t=t=>{this.elementRowDrop(t,e,this.moving)};e.addEventListener("mouseup",t),e.tabulatorElementDropEvent=t,e.classList.add("tabulator-movingrow-receiving")})))}disconnectFromTables(){var e;this.connectionSelectorsTables&&(e=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",e),this.commsSend(this.connectionSelectorsTables,"moveRow","disconnect")),this.connectionElements.forEach((e=>{e.classList.remove("tabulator-movingrow-receiving"),e.removeEventListener("mouseup",e.tabulatorElementDropEvent),delete e.tabulatorElementDropEvent}))}connect(e,t){return this.connectedTable?(console.warn("Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((e=>{"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().addEventListener("mouseup",e.modules.moveRow.mouseup)})),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",t,e),!0)}disconnect(e){e===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach((e=>{"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().removeEventListener("mouseup",e.modules.moveRow.mouseup)})),this.table.element.removeEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStop",e)):console.warn("Move Row Error - trying to disconnect from non connected table")}dropComplete(e,t,i){var n=!1;if(i){switch(typeof this.table.options.movableRowsSender){case"string":n=se.senders[this.table.options.movableRowsSender];break;case"function":n=this.table.options.movableRowsSender}n?n.call(this,this.moving?this.moving.getComponent():void 0,t?t.getComponent():void 0,e):this.table.options.movableRowsSender&&console.warn("Mover Row Error - no matching sender found:",this.table.options.movableRowsSender),this.dispatchExternal("movableRowsSent",this.moving.getComponent(),t?t.getComponent():void 0,e)}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),t?t.getComponent():void 0,e);this.endMove()}tableRowDrop(e,t){var i=!1,n=!1;switch(e.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case"string":i=se.receivers[this.table.options.movableRowsReceiver];break;case"function":i=this.table.options.movableRowsReceiver}i?n=i.call(this,this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):console.warn("Mover Row Error - no matching receiver found:",this.table.options.movableRowsReceiver),n?this.dispatchExternal("movableRowsReceived",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):this.dispatchExternal("movableRowsReceivedFailed",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:t,success:n})}commsReceived(e,t,i){switch(t){case"connect":return this.connect(e,i.row);case"disconnect":return this.disconnect(e);case"dropcomplete":return this.dropComplete(e,i.row,i.success)}}}var oe={};class re extends s{static moduleName="mutator";static mutators=oe;constructor(e){super(e),this.allowedTypes=["","data","edit","clipboard"],this.enabled=!0,this.registerColumnOption("mutator"),this.registerColumnOption("mutatorParams"),this.registerColumnOption("mutatorData"),this.registerColumnOption("mutatorDataParams"),this.registerColumnOption("mutatorEdit"),this.registerColumnOption("mutatorEditParams"),this.registerColumnOption("mutatorClipboard"),this.registerColumnOption("mutatorClipboardParams"),this.registerColumnOption("mutateLink")}initialize(){this.subscribe("cell-value-changing",this.transformCell.bind(this)),this.subscribe("cell-value-changed",this.mutateLink.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-init-before",this.rowDataChanged.bind(this)),this.subscribe("row-data-changing",this.rowDataChanged.bind(this))}rowDataChanged(e,t,i){return this.transformRow(t,"data",i)}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach((n=>{var s,o="mutator"+(n.charAt(0).toUpperCase()+n.slice(1));e.definition[o]&&(s=this.lookupMutator(e.definition[o]))&&(t=!0,i[o]={mutator:s,params:e.definition[o+"Params"]||{}})})),t&&(e.modules.mutate=i)}lookupMutator(e){var t=!1;switch(typeof e){case"string":re.mutators[e]?t=re.mutators[e]:console.warn("Mutator Error - No such mutator found, ignoring: ",e);break;case"function":t=e}return t}transformRow(e,t,i){var n,s="mutator"+(t.charAt(0).toUpperCase()+t.slice(1));return this.enabled&&this.table.columnManager.traverse((o=>{var r,a,l;o.modules.mutate&&(r=o.modules.mutate[s]||o.modules.mutate.mutator||!1)&&(n=o.getFieldValue(void 0!==i?i:e),("data"==t&&!i||void 0!==n)&&(l=o.getComponent(),a="function"==typeof r.params?r.params(n,e,t,l):r.params,o.setFieldValue(e,r.mutator(n,e,t,a,l))))})),e}transformCell(e,t){if(e.column.modules.mutate){var i=e.column.modules.mutate.mutatorEdit||e.column.modules.mutate.mutator||!1,n={};if(i)return n=Object.assign(n,e.row.getData()),e.column.setFieldValue(n,t),i.mutator(t,n,"edit",i.params,e.getComponent())}return t}mutateLink(e){var t=e.column.definition.mutateLink;t&&(Array.isArray(t)||(t=[t]),t.forEach((t=>{var i=e.row.getCell(t);i&&i.setValue(i.getValue(),!0,!0)})))}enable(){this.enabled=!0}disable(){this.enabled=!1}}var ae={rows:function(e,t,i,n,s){var o=document.createElement("span"),r=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(e=>{r.innerHTML=e})),this.table.modules.localize.langBind("pagination|counter|of",(e=>{l.innerHTML=e})),this.table.modules.localize.langBind("pagination|counter|rows",(e=>{u.innerHTML=e})),n?(a.innerHTML=" "+t+"-"+Math.min(t+e-1,n)+" ",h.innerHTML=" "+n+" ",o.appendChild(r),o.appendChild(a),o.appendChild(l),o.appendChild(h),o.appendChild(u)):(a.innerHTML=" 0 ",o.appendChild(r),o.appendChild(a),o.appendChild(u)),o},pages:function(e,t,i,n,s){var o=document.createElement("span"),r=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),u=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",(e=>{r.innerHTML=e})),a.innerHTML=" "+i+" ",this.table.modules.localize.langBind("pagination|counter|of",(e=>{l.innerHTML=e})),h.innerHTML=" "+s+" ",this.table.modules.localize.langBind("pagination|counter|pages",(e=>{u.innerHTML=e})),o.appendChild(r),o.appendChild(a),o.appendChild(l),o.appendChild(h),o.appendChild(u),o}};class le extends s{static moduleName="page";static pageCounters=ae;constructor(e){super(e),this.mode="local",this.progressiveLoad=!1,this.element=null,this.pageCounterElement=null,this.pageCounter=null,this.size=0,this.page=1,this.count=5,this.max=1,this.remoteRowCountEstimate=null,this.initialLoad=!0,this.dataChanging=!1,this.pageSizes=[],this.registerTableOption("pagination",!1),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",!1),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",!1),this.registerTableOption("paginationCounterElement",!1),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",!1),this.registerTableOption("paginationElement",!1),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("progressiveLoad",!1),this.registerTableOption("progressiveLoadDelay",0),this.registerTableOption("progressiveLoadScrollMargin",0),this.registerTableFunction("setMaxPage",this.setMaxPage.bind(this)),this.registerTableFunction("setPage",this.setPage.bind(this)),this.registerTableFunction("setPageToRow",this.userSetPageToRow.bind(this)),this.registerTableFunction("setPageSize",this.userSetPageSize.bind(this)),this.registerTableFunction("getPageSize",this.getPageSize.bind(this)),this.registerTableFunction("previousPage",this.previousPage.bind(this)),this.registerTableFunction("nextPage",this.nextPage.bind(this)),this.registerTableFunction("getPage",this.getPage.bind(this)),this.registerTableFunction("getPageMax",this.getPageMax.bind(this)),this.registerComponentFunction("row","pageTo",this.setPageToRow.bind(this))}initialize(){this.table.options.pagination?(this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("footer-redraw",this.footerRedraw.bind(this)),"page"==this.table.options.paginationAddRow&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),"remote"===this.table.options.paginationMode&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&console.error("Progressive Load Error - Pagination and progressive load cannot be used at the same time"),this.registerDisplayHandler(this.restOnRenderBefore.bind(this),40),this.registerDisplayHandler(this.getRows.bind(this),50),this.createElements(),this.initializePageCounter(),this.initializePaginator()):this.table.options.progressiveLoad&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.initializeProgressive(this.table.options.progressiveLoad),"scroll"===this.table.options.progressiveLoad&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)))}rowAddingPosition(e,t){var i,n=this.table.rowManager,s=n.getDisplayRows();return t?s.length?i=s[0]:n.activeRows.length&&(i=n.activeRows[n.activeRows.length-1],t=!1):s.length&&(i=s[s.length-1],t=!(s.length<this.size)),{index:i,top:t}}calculatePageSizes(){var e,t;this.table.options.paginationSize?this.size=this.table.options.paginationSize:((e=document.createElement("div")).classList.add("tabulator-row"),e.style.visibility="hidden",(t=document.createElement("div")).classList.add("tabulator-cell"),t.innerHTML="Page Row Test",e.appendChild(t),this.table.rowManager.getTableElement().appendChild(e),this.size=Math.floor(this.table.rowManager.getElement().clientHeight/e.offsetHeight),this.table.rowManager.getTableElement().removeChild(e)),this.dispatchExternal("pageSizeChanged",this.size),this.generatePageSizeSelectList()}initialLoadComplete(){this.initialLoad=!1}remotePageParams(e,t,i,n){return this.initialLoad||(this.progressiveLoad&&!i||!this.progressiveLoad&&!this.dataChanging)&&this.reset(!0),n.page=this.page,this.size&&(n.size=this.size),n}userSetPageToRow(e){return this.table.options.pagination&&(e=this.table.rowManager.findRow(e))?this.setPageToRow(e):Promise.reject()}userSetPageSize(e){return!!this.table.options.pagination&&(this.setPageSize(e),this.setPage(1))}scrollVertical(e,t){var i;t||this.table.dataLoader.loading||(i=this.table.rowManager.getElement()).scrollHeight-i.clientHeight-e<(this.table.options.progressiveLoadScrollMargin||2*i.clientHeight)&&this.nextPage().catch((()=>{}))}restOnRenderBefore(e,t){return t||"local"===this.mode&&this.reset(),e}rowsUpdated(){this.refreshData(!0,"all")}createElements(){var e;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),(e=document.createElement("button")).classList.add("tabulator-page"),e.setAttribute("type","button"),e.setAttribute("role","button"),e.setAttribute("aria-label",""),e.setAttribute("title",""),this.firstBut=e.cloneNode(!0),this.firstBut.setAttribute("data-page","first"),this.prevBut=e.cloneNode(!0),this.prevBut.setAttribute("data-page","prev"),this.nextBut=e.cloneNode(!0),this.nextBut.setAttribute("data-page","next"),this.lastBut=e.cloneNode(!0),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"))}generatePageSizeSelectList(){var e=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))e=this.table.options.paginationSizeSelector,this.pageSizes=e,-1==this.pageSizes.indexOf(this.size)&&e.unshift(this.size);else if(-1==this.pageSizes.indexOf(this.size)){e=[];for(let t=1;t<5;t++)e.push(this.size*t);this.pageSizes=e}else e=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);e.forEach((e=>{var t=document.createElement("option");t.value=e,!0===e?this.langBind("pagination|all",(function(e){t.innerHTML=e})):t.innerHTML=e,this.pageSizeSelect.appendChild(t)})),this.pageSizeSelect.value=this.size}}initializePageCounter(){var e=this.table.options.paginationCounter,t=null;e&&((t="function"==typeof e?e:le.pageCounters[e])?(this.pageCounter=t,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")):console.warn("Pagination Error - No such page counter found: ",e))}initializePaginator(e){var t,i;e||(this.langBind("pagination|first",(e=>{this.firstBut.innerHTML=e})),this.langBind("pagination|first_title",(e=>{this.firstBut.setAttribute("aria-label",e),this.firstBut.setAttribute("title",e)})),this.langBind("pagination|prev",(e=>{this.prevBut.innerHTML=e})),this.langBind("pagination|prev_title",(e=>{this.prevBut.setAttribute("aria-label",e),this.prevBut.setAttribute("title",e)})),this.langBind("pagination|next",(e=>{this.nextBut.innerHTML=e})),this.langBind("pagination|next_title",(e=>{this.nextBut.setAttribute("aria-label",e),this.nextBut.setAttribute("title",e)})),this.langBind("pagination|last",(e=>{this.lastBut.innerHTML=e})),this.langBind("pagination|last_title",(e=>{this.lastBut.setAttribute("aria-label",e),this.lastBut.setAttribute("title",e)})),this.firstBut.addEventListener("click",(()=>{this.setPage(1)})),this.prevBut.addEventListener("click",(()=>{this.previousPage()})),this.nextBut.addEventListener("click",(()=>{this.nextPage()})),this.lastBut.addEventListener("click",(()=>{this.setPage(this.max)})),this.table.options.paginationElement&&(this.element=this.table.options.paginationElement),this.pageSizeSelect&&(t=document.createElement("label"),this.langBind("pagination|page_size",(e=>{this.pageSizeSelect.setAttribute("aria-label",e),this.pageSizeSelect.setAttribute("title",e),t.innerHTML=e})),this.element.appendChild(t),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",(e=>{this.setPageSize("true"==this.pageSizeSelect.value||this.pageSizeSelect.value),this.setPage(1)}))),this.element.appendChild(this.firstBut),this.element.appendChild(this.prevBut),this.element.appendChild(this.pagesElement),this.element.appendChild(this.nextBut),this.element.appendChild(this.lastBut),this.table.options.paginationElement||(this.table.options.paginationCounter&&(this.table.options.paginationCounterElement?this.table.options.paginationCounterElement instanceof HTMLElement?this.table.options.paginationCounterElement.appendChild(this.pageCounterElement):"string"==typeof this.table.options.paginationCounterElement&&((i=document.querySelector(this.table.options.paginationCounterElement))?i.appendChild(this.pageCounterElement):console.warn("Pagination Error - Unable to find element matching paginationCounterElement selector:",this.table.options.paginationCounterElement)):this.footerAppend(this.pageCounterElement)),this.footerAppend(this.element)),this.page=this.table.options.paginationInitialPage,this.count=this.table.options.paginationButtonCount),this.mode=this.table.options.paginationMode}initializeProgressive(e){this.initializePaginator(!0),this.mode="progressive_"+e,this.progressiveLoad=!0}trackChanges(){this.dispatch("page-changed")}setMaxRows(e){this.max=e?!0===this.size?1:Math.ceil(e/this.size):1,this.page>this.max&&(this.page=this.max)}reset(e){this.initialLoad||("local"==this.mode||e)&&(this.page=1,this.trackChanges())}setMaxPage(e){e=parseInt(e),this.max=e||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(e){switch(e){case"first":return this.setPage(1);case"prev":return this.previousPage();case"next":return this.nextPage();case"last":return this.setPage(this.max)}return(e=parseInt(e))>0&&e<=this.max||"local"!==this.mode?(this.page=e,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Requested page is out of range of 1 - "+this.max+":",e),Promise.reject())}setPageToRow(e){var t=this.displayRows(-1).indexOf(e);if(t>-1){var i=!0===this.size?1:Math.ceil((t+1)/this.size);return this.setPage(i)}return console.warn("Pagination Error - Requested row is not visible"),Promise.reject()}setPageSize(e){!0!==e&&(e=parseInt(e)),e>0&&(this.size=e,this.dispatchExternal("pageSizeChanged",e)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(e,t,i){var n;if(this.pageCounter)switch("remote"===this.mode&&(t=this.size,i=(this.page-1)*this.size+1,e=this.remoteRowCountEstimate),typeof(n=this.pageCounter.call(this,t,i,this.page,e,this.max))){case"object":if(n instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(n)}else this.pageCounterElement.innerHTML="",null!=n&&console.warn("Page Counter Error - Page Counter has returned a type of object, the only valid page counter object return is an instance of Node, the page counter returned:",n);break;case"undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=n}}_setPageButtons(){let e=Math.floor((this.count-1)/2),t=Math.ceil((this.count-1)/2),i=this.max-this.page+e+1<this.count?this.max-this.count+1:Math.max(this.page-e,1),n=this.page<=t?Math.min(this.count,this.max):Math.min(this.page+t,this.max);for(;this.pagesElement.firstChild;)this.pagesElement.removeChild(this.pagesElement.firstChild);1==this.page?(this.firstBut.disabled=!0,this.prevBut.disabled=!0):(this.firstBut.disabled=!1,this.prevBut.disabled=!1),this.page==this.max?(this.lastBut.disabled=!0,this.nextBut.disabled=!0):(this.lastBut.disabled=!1,this.nextBut.disabled=!1);for(let e=i;e<=n;e++)e>0&&e<=this.max&&this.pagesElement.appendChild(this._generatePageButton(e));this.footerRedraw()}_generatePageButton(e){var t=document.createElement("button");return t.classList.add("tabulator-page"),e==this.page&&t.classList.add("active"),t.setAttribute("type","button"),t.setAttribute("role","button"),this.langBind("pagination|page_title",(i=>{t.setAttribute("aria-label",i+" "+e),t.setAttribute("title",i+" "+e)})),t.setAttribute("data-page",e),t.textContent=e,t.addEventListener("click",(t=>{this.setPage(e)})),t}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Previous page would be less than page 1:",0),Promise.reject())}nextPage(){return this.page<this.max?(this.page++,this.trackChanges(),this.trigger()):(this.progressiveLoad||console.warn("Pagination Error - Next page would be greater than maximum page of "+this.max+":",this.max+1),Promise.reject())}getPage(){return this.page}getPageMax(){return this.max}getPageSize(e){return this.size}getMode(){return this.mode}getRows(e){var t,i,n,s,o=0,r=e.filter((e=>"row"===e.type));if("local"==this.mode){t=[],this.setMaxRows(e.length),!0===this.size?(i=0,n=e.length):n=(i=this.size*(this.page-1))+parseInt(this.size),this._setPageButtons();for(let r=i;r<n;r++){let i=e[r];i&&(t.push(i),"row"===i.type&&(s||(s=i),o++))}return this._setPageCounter(r.length,o,s?r.indexOf(s)+1:0),t}return this._setPageButtons(),this._setPageCounter(r.length),e.slice(0)}trigger(){var e;switch(this.mode){case"local":return e=this.table.rowManager.scrollLeft,this.refreshData(),this.table.rowManager.scrollHorizontal(e),this.dispatchExternal("pageLoaded",this.getPage()),Promise.resolve();case"remote":return this.dataChanging=!0,this.reloadData(null).finally((()=>{this.dataChanging=!1}));case"progressive_load":case"progressive_scroll":return this.reloadData(null,!0);default:return console.warn("Pagination Error - no such pagination mode:",this.mode),Promise.reject()}}_parseRemoteData(e){var t;if(void 0===e.last_page&&console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").last_page||"last_page")+"' property"),e.data){if(this.max=parseInt(e.last_page)||1,this.remoteRowCountEstimate=void 0!==e.last_row?e.last_row:e.last_page*this.size-(this.page==e.last_page?this.size-e.data.length:0),this.progressiveLoad){switch(this.mode){case"progressive_load":1==this.page?this.table.rowManager.setData(e.data,!1,1==this.page):this.table.rowManager.addRows(e.data),this.page<this.max&&setTimeout((()=>{this.nextPage()}),this.table.options.progressiveLoadDelay);break;case"progressive_scroll":e=1===this.page?e.data:this.table.rowManager.getData().concat(e.data),this.table.rowManager.setData(e,1!==this.page,1==this.page),t=this.table.options.progressiveLoadScrollMargin||2*this.table.rowManager.element.clientHeight,this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+t&&this.page<this.max&&setTimeout((()=>{this.nextPage()}))}return!1}this.dispatchExternal("pageLoaded",this.getPage())}else console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").data||"data")+"' property");return e.data}footerRedraw(){var e=this.table.footerManager.containerElement;Math.ceil(e.clientWidth)-e.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(e.clientWidth)-e.scrollWidth<0&&(this.pagesElement.style.display="none"))}}var he={local:function(e,t){var i=localStorage.getItem(e+"-"+t);return!!i&&JSON.parse(i)},cookie:function(e,t){var i,n,s=document.cookie,o=e+"-"+t,r=s.indexOf(o+"=");return r>-1&&((i=(s=s.slice(r)).indexOf(";"))>-1&&(s=s.slice(0,i)),n=s.replace(o+"=","")),!!n&&JSON.parse(n)}},ue={local:function(e,t,i){localStorage.setItem(e+"-"+t,JSON.stringify(i))},cookie:function(e,t,i){var n=new Date;n.setDate(n.getDate()+1e4),document.cookie=e+"-"+t+"="+JSON.stringify(i)+"; expires="+n.toUTCString()}};class ce extends s{static moduleName="persistence";static moduleInitOrder=-10;static readers=he;static writers=ue;constructor(e){super(e),this.mode="",this.id="",this.defWatcherBlock=!1,this.config={},this.readFunc=!1,this.writeFunc=!1,this.registerTableOption("persistence",!1),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",!0),this.registerTableOption("persistenceReaderFunc",!1),this.registerTableOption("persistenceWriterFunc",!1)}localStorageTest(){var e="_tabulator_test";try{return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}initialize(){if(this.table.options.persistence){var e,t=this.table.options.persistenceMode,i=this.table.options.persistenceID;this.mode=!0!==t?t:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?"function"==typeof this.table.options.persistenceReaderFunc?this.readFunc=this.table.options.persistenceReaderFunc:ce.readers[this.table.options.persistenceReaderFunc]?this.readFunc=ce.readers[this.table.options.persistenceReaderFunc]:console.warn("Persistence Read Error - invalid reader set",this.table.options.persistenceReaderFunc):ce.readers[this.mode]?this.readFunc=ce.readers[this.mode]:console.warn("Persistence Read Error - invalid reader set",this.mode),this.table.options.persistenceWriterFunc?"function"==typeof this.table.options.persistenceWriterFunc?this.writeFunc=this.table.options.persistenceWriterFunc:ce.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=ce.writers[this.table.options.persistenceWriterFunc]:console.warn("Persistence Write Error - invalid reader set",this.table.options.persistenceWriterFunc):ce.writers[this.mode]?this.writeFunc=ce.writers[this.mode]:console.warn("Persistence Write Error - invalid writer set",this.mode),this.id="tabulator-"+(i||this.table.element.getAttribute("id")||""),this.config={sort:!0===this.table.options.persistence||this.table.options.persistence.sort,filter:!0===this.table.options.persistence||this.table.options.persistence.filter,headerFilter:!0===this.table.options.persistence||this.table.options.persistence.headerFilter,group:!0===this.table.options.persistence||this.table.options.persistence.group,page:!0===this.table.options.persistence||this.table.options.persistence.page,columns:!0===this.table.options.persistence?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(e=this.retrieveData("page"))&&(void 0===e.paginationSize||!0!==this.config.page&&!this.config.page.size||(this.table.options.paginationSize=e.paginationSize),void 0===e.paginationInitialPage||!0!==this.config.page&&!this.config.page.page||(this.table.options.paginationInitialPage=e.paginationInitialPage)),this.config.group&&(e=this.retrieveData("group"))&&(void 0===e.groupBy||!0!==this.config.group&&!this.config.group.groupBy||(this.table.options.groupBy=e.groupBy),void 0===e.groupStartOpen||!0!==this.config.group&&!this.config.group.groupStartOpen||(this.table.options.groupStartOpen=e.groupStartOpen),void 0===e.groupHeader||!0!==this.config.group&&!this.config.group.groupHeader||(this.table.options.groupHeader=e.groupHeader)),this.config.columns&&(this.table.options.columns=this.load("columns",this.table.options.columns),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-show",this.save.bind(this,"columns")),this.subscribe("column-hide",this.save.bind(this,"columns")),this.subscribe("column-moved",this.save.bind(this,"columns"))),this.subscribe("table-built",this.tableBuilt.bind(this),0),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("filter-changed",this.eventSave.bind(this,"filter")),this.subscribe("filter-changed",this.eventSave.bind(this,"headerFilter")),this.subscribe("sort-changed",this.eventSave.bind(this,"sort")),this.subscribe("group-changed",this.eventSave.bind(this,"group")),this.subscribe("page-changed",this.eventSave.bind(this,"page")),this.subscribe("column-resized",this.eventSave.bind(this,"columns")),this.subscribe("column-width",this.eventSave.bind(this,"columns")),this.subscribe("layout-refreshed",this.eventSave.bind(this,"columns"))}this.registerTableFunction("getColumnLayout",this.getColumnLayout.bind(this)),this.registerTableFunction("setColumnLayout",this.setColumnLayout.bind(this))}eventSave(e){this.config[e]&&this.save(e)}tableBuilt(){var e,t,i;this.config.sort&&!1==!(e=this.load("sort"))&&(this.table.options.initialSort=e),this.config.filter&&!1==!(t=this.load("filter"))&&(this.table.options.initialFilter=t),this.config.headerFilter&&!1==!(i=this.load("headerFilter"))&&(this.table.options.initialHeaderFilter=i)}tableRedraw(e){e&&this.config.columns&&this.save("columns")}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(e){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,e,!0)),!0}initializeColumn(e){var t;this.config.columns&&(this.defWatcherBlock=!0,t=e.getDefinition(),(!0===this.config.columns?Object.keys(t):this.config.columns).forEach((e=>{var i=Object.getOwnPropertyDescriptor(t,e),n=t[e];i&&Object.defineProperty(t,e,{set:e=>{n=e,this.defWatcherBlock||this.save("columns"),i.set&&i.set(e)},get:()=>(i.get&&i.get(),n)})})),this.defWatcherBlock=!1)}load(e,t){var i=this.retrieveData(e);return t&&(i=i?this.mergeDefinition(t,i):t),i}retrieveData(e){return!!this.readFunc&&this.readFunc(this.id,e)}mergeDefinition(e,t,i){var n=[];return(t=t||[]).forEach(((t,s)=>{var o,r=this._findColumn(e,t);r&&(i?o=Object.keys(t):!0===this.config.columns||null==this.config.columns?(o=Object.keys(r)).push("width"):o=this.config.columns,o.forEach((e=>{"columns"!==e&&void 0!==t[e]&&(r[e]=t[e])})),r.columns&&(r.columns=this.mergeDefinition(r.columns,t.columns)),n.push(r))})),e.forEach(((e,i)=>{this._findColumn(t,e)||(n.length>i?n.splice(i,0,e):n.push(e))})),n}_findColumn(e,t){var i=t.columns?"group":t.field?"field":"object";return e.find((function(e){switch(i){case"group":return e.title===t.title&&e.columns.length===t.columns.length;case"field":return e.field===t.field;case"object":return e===t}}))}save(e){var t={};switch(e){case"columns":t=this.parseColumns(this.table.columnManager.getColumns());break;case"filter":t=this.table.modules.filter.getFilters();break;case"headerFilter":t=this.table.modules.filter.getHeaderFilters();break;case"sort":t=this.validateSorters(this.table.modules.sort.getSort());break;case"group":t=this.getGroupConfig();break;case"page":t=this.getPageConfig()}this.writeFunc&&this.writeFunc(this.id,e,t)}validateSorters(e){return e.forEach((function(e){e.column=e.field,delete e.field})),e}getGroupConfig(){var e={};return this.config.group&&((!0===this.config.group||this.config.group.groupBy)&&(e.groupBy=this.table.options.groupBy),(!0===this.config.group||this.config.group.groupStartOpen)&&(e.groupStartOpen=this.table.options.groupStartOpen),(!0===this.config.group||this.config.group.groupHeader)&&(e.groupHeader=this.table.options.groupHeader)),e}getPageConfig(){var e={};return this.config.page&&((!0===this.config.page||this.config.page.size)&&(e.paginationSize=this.table.modules.page.getPageSize()),(!0===this.config.page||this.config.page.page)&&(e.paginationInitialPage=this.table.modules.page.getPage())),e}parseColumns(e){var t=[],i=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return e.forEach((e=>{var n,s={},o=e.getDefinition();e.isGroup?(s.title=o.title,s.columns=this.parseColumns(e.getColumns())):(s.field=e.getField(),!0===this.config.columns||null==this.config.columns?((n=Object.keys(o)).push("width"),n.push("visible")):n=this.config.columns,n.forEach((t=>{switch(t){case"width":s.width=e.getWidth();break;case"visible":s.visible=e.visible;break;default:"function"!=typeof o[t]&&-1===i.indexOf(t)&&(s[t]=o[t])}}))),t.push(s)})),t}}var de={format:{formatters:{responsiveCollapse:function(e,t,i){var n=document.createElement("div"),s=e.getRow()._row.modules.responsiveLayout;function o(e){var t=s.element;s.open=e,t&&(s.open?(n.classList.add("open"),t.style.display=""):(n.classList.remove("open"),t.style.display="none"))}return n.classList.add("tabulator-responsive-collapse-toggle"),n.innerHTML='<svg class=\'tabulator-responsive-collapse-toggle-open\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n <line y1="7" x1="12" y2="17" x2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>\n\n<svg class=\'tabulator-responsive-collapse-toggle-close\' viewbox="0 0 24 24">\n <line x1="7" y1="12" x2="17" y2="12" fill="none" stroke-width="3" stroke-linecap="round" />\n</svg>',e.getElement().classList.add("tabulator-row-handle"),n.addEventListener("click",(function(t){t.stopImmediatePropagation(),o(!s.open),e.getTable().rowManager.adjustTableSize()})),o(s.open),n}}}};var pe={format:{formatters:{rowSelection:function(e,t,i){var n=document.createElement("input"),s=!1;if(n.type="checkbox",n.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",!0))if(n.addEventListener("click",(e=>{e.stopPropagation()})),"function"==typeof e.getRow){var o=e.getRow();o instanceof T?(n.addEventListener("change",(e=>{"click"===this.table.options.selectableRowsRangeMode&&s?s=!1:o.toggleSelect()})),"click"===this.table.options.selectableRowsRangeMode&&n.addEventListener("click",(e=>{s=!0,this.table.modules.selectRow.handleComplexRowClick(o._row,e)})),n.checked=o.isSelected&&o.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(o,n)):n=""}else n.addEventListener("change",(e=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(t.rowRange)})),this.table.modules.selectRow.registerHeaderSelectCheckbox(n);return n}}}};class me{constructor(e){return this._range=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._range.table.componentFunctionBinder.handle("range",e._range,t)}})}getElement(){return this._range.element}getData(){return this._range.getData()}getCells(){return this._range.getCells(!0)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map((e=>e.getComponent()))}getColumns(){return this._range.getColumns().map((e=>e.getComponent()))}getBounds(){return this._range.getBounds()}getTopEdge(){return this._range.top}getBottomEdge(){return this._range.bottom}getLeftEdge(){return this._range.left}getRightEdge(){return this._range.right}setBounds(e,t){this._range.destroyedGuard("setBounds")&&this._range.setBounds(e?e._cell:e,t?t._cell:t)}setStartBound(e){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(e?e._cell:e),this._range.rangeManager.layoutElement())}setEndBound(e){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(e?e._cell:e),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues()}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(!0)}}class ge extends e{constructor(e,t,i,n){super(e),this.rangeManager=t,this.element=null,this.initialized=!1,this.initializing={start:!1,end:!1},this.destroyed=!1,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=e,this.start={row:0,col:0},this.end={row:0,col:0},this.rangeManager.rowHeader&&(this.left=1,this.right=1,this.start.col=1,this.end.col=1),this.initElement(),setTimeout((()=>{this.initBounds(i,n)}))}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range")}initBounds(e,t){this._updateMinMax(),e&&this.setBounds(e,t||e)}setStart(e,t){this.start.row===e&&this.start.col===t||(this.start.row=e,this.start.col=t,this.initializing.start=!0,this._updateMinMax())}setEnd(e,t){this.end.row===e&&this.end.col===t||(this.end.row=e,this.end.col=t,this.initializing.end=!0,this._updateMinMax())}setBounds(e,t,i){e&&this.setStartBound(e),this.setEndBound(t||e),this.rangeManager.layoutElement(i)}setStartBound(e){var t,i;"column"===e.type?this.rangeManager.columnSelection&&this.setStart(0,e.getPosition()-1):(t=e.row.position-1,i=e.column.getPosition()-1,e.column===this.rangeManager.rowHeader?this.setStart(t,1):this.setStart(t,i))}setEndBound(e){var t,i,n,s=this._getTableRows().length;"column"===e.type?this.rangeManager.columnSelection&&("column"===this.rangeManager.selecting?this.setEnd(s-1,e.getPosition()-1):"cell"===this.rangeManager.selecting&&this.setEnd(0,e.getPosition()-1)):(t=e.row.position-1,i=e.column.getPosition()-1,n=e.column===this.rangeManager.rowHeader,"row"===this.rangeManager.selecting?this.setEnd(t,this._getTableColumns().length-1):"row"!==this.rangeManager.selecting&&n?this.setEnd(t,0):"column"===this.rangeManager.selecting?this.setEnd(s-1,i):this.setEnd(t,i))}_updateMinMax(){this.top=Math.min(this.start.row,this.end.row),this.bottom=Math.max(this.start.row,this.end.row),this.left=Math.min(this.start.col,this.end.col),this.right=Math.max(this.start.col,this.end.col),this.initialized?this.dispatchExternal("rangeChanged",this.getComponent()):this.initializing.start&&this.initializing.end&&(this.initialized=!0,this.dispatchExternal("rangeAdded",this.getComponent()))}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows().filter((e=>"row"===e.type))}layout(){var e,t,i,n,s,o,r,a,l,h,u=this.table.rowManager.renderer.vDomTop,c=this.table.rowManager.renderer.vDomBottom,d=this.table.columnManager.renderer.leftCol,p=this.table.columnManager.renderer.rightCol;"virtual"===this.table.options.renderHorizontal&&this.rangeManager.rowHeader&&(p+=1),null==u&&(u=0),null==c&&(c=1/0),null==d&&(d=0),null==p&&(p=1/0),this.overlaps(d,u,p,c)&&(e=Math.max(this.top,u),t=Math.min(this.bottom,c),i=Math.max(this.left,d),n=Math.min(this.right,p),s=this.rangeManager.getCell(e,i),o=this.rangeManager.getCell(t,n),r=s.getElement(),a=o.getElement(),l=s.row.getElement(),h=o.row.getElement(),this.element.classList.add("tabulator-range-active"),this.table.rtl?(this.element.style.right=l.offsetWidth-r.offsetLeft-r.offsetWidth+"px",this.element.style.width=r.offsetLeft+r.offsetWidth-a.offsetLeft+"px"):(this.element.style.left=l.offsetLeft+r.offsetLeft+"px",this.element.style.width=a.offsetLeft+a.offsetWidth-r.offsetLeft+"px"),this.element.style.top=l.offsetTop+"px",this.element.style.height=h.offsetTop+h.offsetHeight-l.offsetTop+"px")}atTopLeft(e){return e.row.position-1===this.top&&e.column.getPosition()-1===this.left}atBottomRight(e){return e.row.position-1===this.bottom&&e.column.getPosition()-1===this.right}occupies(e){return this.occupiesRow(e.row)&&this.occupiesColumn(e.column)}occupiesRow(e){return this.top<=e.position-1&&e.position-1<=this.bottom}occupiesColumn(e){return this.left<=e.getPosition()-1&&e.getPosition()-1<=this.right}overlaps(e,t,i,n){return!(this.left>i||e>this.right||this.top>n||t>this.bottom)}getData(){var e=[],t=this.getRows(),i=this.getColumns();return t.forEach((t=>{var n=t.getData(),s={};i.forEach((e=>{s[e.field]=n[e.field]})),e.push(s)})),e}getCells(e,t){var i=[],n=this.getRows(),s=this.getColumns();return e?i=n.map((e=>{var i=[];return e.getCells().forEach((e=>{s.includes(e.column)&&i.push(t?e.getComponent():e)})),i})):n.forEach((e=>{e.getCells().forEach((e=>{s.includes(e.column)&&i.push(t?e.getComponent():e)}))})),i}getStructuredCells(){return this.getCells(!0,!0)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var e=this.getCells(),t=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),e.forEach((e=>{e.setValue(t)})),this.table.restoreRedraw()}getBounds(e){var t=this.getCells(!1,e),i={start:null,end:null};return t.length?(i.start=t[0],i.end=t[t.length-1]):console.warn("No bounds defined on range"),i}getComponent(){return this.component||(this.component=new me(this)),this.component}destroy(e){this.destroyed=!0,this.element.remove(),e&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent())}destroyedGuard(e){return this.destroyed&&console.warn("You cannot call the "+e+" function on a destroyed range"),!this.destroyed}}var fe={keybindings:{bindings:{rangeJumpUp:["ctrl + 38","meta + 38"],rangeJumpDown:["ctrl + 40","meta + 40"],rangeJumpLeft:["ctrl + 37","meta + 37"],rangeJumpRight:["ctrl + 39","meta + 39"],rangeExpandUp:"shift + 38",rangeExpandDown:"shift + 40",rangeExpandLeft:"shift + 37",rangeExpandRight:"shift + 39",rangeExpandJumpUp:["ctrl + shift + 38","meta + shift + 38"],rangeExpandJumpDown:["ctrl + shift + 40","meta + shift + 40"],rangeExpandJumpLeft:["ctrl + shift + 37","meta + shift + 37"],rangeExpandJumpRight:["ctrl + shift + 39","meta + shift + 39"]},actions:{rangeJumpLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!0,!1)},rangeJumpRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!0,!1)},rangeJumpUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!0,!1)},rangeJumpDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!0,!1)},rangeExpandLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!1,!0)},rangeExpandRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!1,!0)},rangeExpandUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!1,!0)},rangeExpandDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!1,!0)},rangeExpandJumpLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!0,!0)},rangeExpandJumpRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!0,!0)},rangeExpandJumpUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!0,!0)},rangeExpandJumpDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!0,!0)}}},clipboard:{pasteActions:{range:function(e){var t,i,n,s,o,r=[],a=this.table.modules.selectRange.activeRange,l=!1;return o=e.length,a&&(i=(t=a.getBounds()).start,t.start===t.end&&(l=!0),i&&(n=(r=this.table.rowManager.activeRows.slice()).indexOf(i.row),s=l?e.length:r.indexOf(t.end.row)-n+1,n>-1&&(this.table.blockRedraw(),(r=r.slice(n,n+s)).forEach(((t,i)=>{t.updateData(e[i%o])})),this.table.restoreRedraw()))),r}},pasteParsers:{range:function(e){var t,i,n,s,o,r=[],a=[],l=this.table.modules.selectRange.activeRange,h=!1;return!!(l&&(i=(t=l.getBounds()).start,t.start===t.end&&(h=!0),i&&((e=e.split("\n")).forEach((function(e){r.push(e.split("\t"))})),r.length&&(o=(s=this.table.columnManager.getVisibleColumnsByIndex()).indexOf(i.column))>-1)))&&(n=h?r[0].length:s.indexOf(t.end.column)-o+1,s=s.slice(o,o+n),r.forEach((e=>{var t={},i=e.length;s.forEach((function(n,s){t[n.field]=e[s%i]})),a.push(t)})),a)}}},export:{columnLookups:{range:function(){var e=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&e.unshift(this.columnManager.rowHeader),e}},rowLookups:{range:function(){return this.modules.selectRange.selectedRows()}}}};function be(e,t,i,n,s,o,r){var a=window.DateTime||luxon.DateTime,l=r.format||"dd/MM/yyyy HH:mm:ss",h=r.alignEmptyValues,u=0;if(void 0!==a){if(a.isDateTime(e)||(e="iso"===l?a.fromISO(String(e)):a.fromFormat(String(e),l)),a.isDateTime(t)||(t="iso"===l?a.fromISO(String(t)):a.fromFormat(String(t),l)),e.isValid){if(t.isValid)return e-t;u=1}else u=t.isValid?-1:0;return("top"===h&&"desc"===o||"bottom"===h&&"asc"===o)&&(u*=-1),u}console.error("Sort Error - 'datetime' sorter is dependant on luxon.js")}var ve={number:function(e,t,i,n,s,o,r){var a=r.alignEmptyValues,l=r.decimalSeparator,h=r.thousandSeparator,u=0;if(e=String(e),t=String(t),h&&(e=e.split(h).join(""),t=t.split(h).join("")),l&&(e=e.split(l).join("."),t=t.split(l).join(".")),e=parseFloat(e),t=parseFloat(t),isNaN(e))u=isNaN(t)?0:-1;else{if(!isNaN(t))return e-t;u=1}return("top"===a&&"desc"===o||"bottom"===a&&"asc"===o)&&(u*=-1),u},string:function(e,t,i,n,s,o,r){var a,l=r.alignEmptyValues,h=0;if(e){if(t){switch(typeof r.locale){case"boolean":r.locale&&(a=this.langLocale());break;case"string":a=r.locale}return String(e).toLowerCase().localeCompare(String(t).toLowerCase(),a)}h=1}else h=t?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(h*=-1),h},date:function(e,t,i,n,s,o,r){return r.format||(r.format="dd/MM/yyyy"),be.call(this,e,t,i,n,s,o,r)},time:function(e,t,i,n,s,o,r){return r.format||(r.format="HH:mm"),be.call(this,e,t,i,n,s,o,r)},datetime:be,boolean:function(e,t,i,n,s,o,r){return(!0===e||"true"===e||"True"===e||1===e?1:0)-(!0===t||"true"===t||"True"===t||1===t?1:0)},array:function(e,t,i,n,s,o,r){var a=r.type||"length",l=r.alignEmptyValues,h=0;function u(e){var t;switch(a){case"length":t=e.length;break;case"sum":t=e.reduce((function(e,t){return e+t}));break;case"max":t=Math.max.apply(null,e);break;case"min":t=Math.min.apply(null,e);break;case"avg":t=e.reduce((function(e,t){return e+t}))/e.length}return t}if(Array.isArray(e)){if(Array.isArray(t))return u(t)-u(e);h=1}else h=Array.isArray(t)?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(h*=-1),h},exists:function(e,t,i,n,s,o,r){return(void 0===e?0:1)-(void 0===t?0:1)},alphanum:function(e,t,i,n,s,o,r){var a,l,h,u,c,d=0,p=/(\d+)|(\D+)/g,m=/\d/,g=r.alignEmptyValues,f=0;if(e||0===e){if(t||0===t){if(isFinite(e)&&isFinite(t))return e-t;if((a=String(e).toLowerCase())===(l=String(t).toLowerCase()))return 0;if(!m.test(a)||!m.test(l))return a>l?1:-1;for(a=a.match(p),l=l.match(p),c=a.length>l.length?l.length:a.length;d<c;)if((h=a[d])!==(u=l[d++]))return isFinite(h)&&isFinite(u)?("0"===h.charAt(0)&&(h="."+h),"0"===u.charAt(0)&&(u="."+u),h-u):h>u?1:-1;return a.length>l.length}f=1}else f=t||0===t?-1:0;return("top"===g&&"desc"===o||"bottom"===g&&"asc"===o)&&(f*=-1),f}};class we extends s{static moduleName="sort";static sorters=ve;constructor(e){super(e),this.sortList=[],this.changed=!1,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",!1),this.registerTableOption("columnHeaderSortMulti",!0),this.registerTableOption("sortOrderReverse",!1),this.registerTableOption("headerSortElement","<div class='tabulator-arrow'></div>"),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",!0),this.registerColumnOption("headerSortStartingDir"),this.registerColumnOption("headerSortTristate")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.registerDataHandler(this.sort.bind(this),20),this.registerTableFunction("setSort",this.userSetSort.bind(this)),this.registerTableFunction("getSorters",this.getSort.bind(this)),this.registerTableFunction("clearSort",this.clearSort.bind(this)),"remote"===this.table.options.sortMode&&this.subscribe("data-params",this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(e,t,i,n){var s=this.getSort();return s.forEach((e=>{delete e.column})),n.sort=s,n}userSetSort(e,t){this.setSort(e,t),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(e){var t,i,n=!1;switch(typeof e.definition.sorter){case"string":we.sorters[e.definition.sorter]?n=we.sorters[e.definition.sorter]:console.warn("Sort Error - No such sorter found: ",e.definition.sorter);break;case"function":n=e.definition.sorter}if(e.modules.sort={sorter:n,dir:"none",params:e.definition.sorterParams||{},startingDir:e.definition.headerSortStartingDir||"asc",tristate:e.definition.headerSortTristate},!1!==e.definition.headerSort){if((t=e.getElement()).classList.add("tabulator-sortable"),(i=document.createElement("div")).classList.add("tabulator-col-sorter"),"icon"===this.table.options.headerSortClickElement)i.classList.add("tabulator-col-sorter-element");else t.classList.add("tabulator-col-sorter-element");switch(this.table.options.headerSortElement){case"function":break;case"object":i.appendChild(this.table.options.headerSortElement);break;default:i.innerHTML=this.table.options.headerSortElement}e.titleHolderElement.appendChild(i),e.modules.sort.element=i,this.setColumnHeaderSortIcon(e,"none"),"icon"===this.table.options.headerSortClickElement&&i.addEventListener("mousedown",(e=>{e.stopPropagation()})),("icon"===this.table.options.headerSortClickElement?i:t).addEventListener("click",(t=>{var i="",n=[],s=!1;if(e.modules.sort){if(e.modules.sort.tristate)i="none"==e.modules.sort.dir?e.modules.sort.startingDir:e.modules.sort.dir==e.modules.sort.startingDir?"asc"==e.modules.sort.dir?"desc":"asc":"none";else switch(e.modules.sort.dir){case"asc":i="desc";break;case"desc":i="asc";break;default:i=e.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(t.shiftKey||t.ctrlKey)?(s=(n=this.getSort()).findIndex((t=>t.field===e.getField())),s>-1?(n[s].dir=i,s=n.splice(s,1)[0],"none"!=i&&n.push(s)):"none"!=i&&n.push({column:e,dir:i}),this.setSort(n)):"none"==i?this.clear():this.setSort(e,i),this.refreshSort()}}))}}refreshSort(){"remote"===this.table.options.sortMode?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var e=this.changed;return this.changed=!1,e}getSort(){var e=[];return this.sortList.forEach((function(t){t.column&&e.push({column:t.column.getComponent(),field:t.column.getField(),dir:t.dir})})),e}setSort(e,t){var i=this,n=[];Array.isArray(e)||(e=[{column:e,dir:t}]),e.forEach((function(e){var t;(t=i.table.columnManager.findColumn(e.column))?(e.column=t,n.push(e),i.changed=!0):console.warn("Sort Warning - Sort field does not exist and is being ignored: ",e.column)})),i.sortList=n,this.dispatch("sort-changed")}clear(){this.setSort([])}findSorter(e){var t,i=this.table.rowManager.activeRows[0],n="string";if(i&&(i=i.getData(),e.getField()))switch(typeof(t=e.getFieldValue(i))){case"undefined":n="string";break;case"boolean":n="boolean";break;default:isNaN(t)||""===t?t.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(n="alphanum"):n="number"}return we.sorters[n]}sort(e,t){var i=this,n=this.table.options.sortOrderReverse?i.sortList.slice().reverse():i.sortList,s=[],o=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",i.getSort()),t||i.clearColumnHeaders(),"remote"!==this.table.options.sortMode?(n.forEach((function(e,n){var o;e.column&&((o=e.column.modules.sort)&&(o.sorter||(o.sorter=i.findSorter(e.column)),e.params="function"==typeof o.params?o.params(e.column.getComponent(),e.dir):o.params,s.push(e)),t||i.setColumnHeader(e.column,e.dir))})),s.length&&i._sortItems(e,s)):t||n.forEach((function(e,t){i.setColumnHeader(e.column,e.dir)})),this.subscribedExternal("dataSorted")&&(e.forEach((e=>{o.push(e.getComponent())})),this.dispatchExternal("dataSorted",i.getSort(),o)),e}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach((e=>{e.modules.sort&&(e.modules.sort.dir="none",e.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(e,"none"))}))}setColumnHeader(e,t){e.modules.sort.dir=t,e.getElement().setAttribute("aria-sort","asc"===t?"ascending":"descending"),this.setColumnHeaderSortIcon(e,t)}setColumnHeaderSortIcon(e,t){var i,n=e.modules.sort.element;if(e.definition.headerSort&&"function"==typeof this.table.options.headerSortElement){for(;n.firstChild;)n.removeChild(n.firstChild);"object"==typeof(i=this.table.options.headerSortElement.call(this.table,e.getComponent(),t))?n.appendChild(i):n.innerHTML=i}}_sortItems(e,t){var i=t.length-1;e.sort(((e,n)=>{for(var s,o=i;o>=0;o--){let i=t[o];if(0!==(s=this._sortRow(e,n,i.column,i.dir,i.params)))break}return s}))}_sortRow(e,t,i,n,s){var o,r,a="asc"==n?e:t,l="asc"==n?t:e;return e=void 0!==(e=i.getFieldValue(a.getData()))?e:"",t=void 0!==(t=i.getFieldValue(l.getData()))?t:"",o=a.getComponent(),r=l.getComponent(),i.modules.sort.sorter.call(this,e,t,o,r,i.getComponent(),n,s)}}class Ce{constructor(e,t){this.columnCount=e,this.rowCount=t,this.columnString=[],this.columns=[],this.rows=[]}genColumns(e){var t=Math.max(this.columnCount,Math.max(...e.map((e=>e.length))));this.columnString=[],this.columns=[];for(let e=1;e<=t;e++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(""));return this.columns}genRows(e){var t=Math.max(this.rowCount,e.length);this.rows=[];for(let e=1;e<=t;e++)this.rows.push(e);return this.rows}incrementChar(e){let t=this.columnString[e];t?"Z"!==t?this.columnString[e]=String.fromCharCode(this.columnString[e].charCodeAt(0)+1):(this.columnString[e]="A",e?this.incrementChar(e-1):this.columnString.push("A")):this.columnString.push("A")}setRowCount(e){this.rowCount=e}setColumnCount(e){this.columnCount=e}}class ye{constructor(e){return this._sheet=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._sheet.table.componentFunctionBinder.handle("sheet",e._sheet,t)}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(e){return this._sheet.setData(e)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(e){return this._sheet.setTitle(e)}setRows(e){return this._sheet.setRows(e)}setColumns(e){return this._sheet.setColumns(e)}}class Ee extends e{constructor(e,t){super(e.table),this.spreadsheetManager=e,this.definition=t,this.title=this.definition.title||"",this.key=this.definition.key||this.definition.title,this.rowCount=this.definition.rows,this.columnCount=this.definition.columns,this.data=this.definition.data||[],this.element=null,this.isActive=!1,this.grid=new Ce(this.columnCount,this.rowCount),this.defaultColumnDefinition={width:100,headerHozAlign:"center",headerSort:!1},this.columnDefinition=Object.assign(this.defaultColumnDefinition,this.options("spreadsheetColumnDefinition")),this.columnDefs=[],this.rowDefs=[],this.columnFields=[],this.columns=[],this.rows=[],this.scrollTop=null,this.scrollLeft=null,this.initialize(),this.dispatchExternal("sheetAdded",this.getComponent())}initialize(){this.initializeElement(),this.initializeColumns(),this.initializeRows()}reinitialize(){this.initializeColumns(),this.initializeRows()}initializeElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tab"),this.element.innerText=this.title,this.element.addEventListener("click",(()=>{this.spreadsheetManager.loadSheet(this)}))}initializeColumns(){this.grid.setColumnCount(this.columnCount),this.columnFields=this.grid.genColumns(this.data),this.columnDefs=[],this.columnFields.forEach((e=>{var t=Object.assign({},this.columnDefinition);t.field=e,t.title=e,this.columnDefs.push(t)}))}initializeRows(){var e;this.grid.setRowCount(this.rowCount),e=this.grid.genRows(this.data),this.rowDefs=[],e.forEach(((e,t)=>{var i={_id:e},n=this.data[t];n&&n.forEach(((e,t)=>{var n=this.columnFields[t];n&&(i[n]=e)})),this.rowDefs.push(i)}))}unload(){this.isActive=!1,this.scrollTop=this.table.rowManager.scrollTop,this.scrollLeft=this.table.rowManager.scrollLeft,this.data=this.getData(!0),this.element.classList.remove("tabulator-spreadsheet-tab-active")}load(){var e=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),e&&null!==this.scrollTop&&(this.table.rowManager.element.scrollLeft=this.scrollLeft,this.table.rowManager.element.scrollTop=this.scrollTop),this.element.classList.add("tabulator-spreadsheet-tab-active"),this.dispatchExternal("sheetLoaded",this.getComponent())}getComponent(){return new ye(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(e){var t,i,n,s=[];return this.rowDefs.forEach((e=>{var t=[];this.columnFields.forEach((i=>{t.push(e[i])})),s.push(t)})),e||this.options("spreadsheetOutputFull")||(t=s.map((e=>e.findLastIndex((e=>void 0!==e))+1)),i=Math.max(...t),n=t.findLastIndex((e=>e>0))+1,s=(s=s.slice(0,n)).map((e=>e.slice(0,i)))),s}setData(e){this.data=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(e){this.title=e,this.element.innerText=e,this.dispatchExternal("sheetUpdated",this.getComponent())}setRows(e){this.rowCount=e,this.initializeRows(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}setColumns(e){this.columnCount=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}remove(){this.spreadsheetManager.removeSheet(this)}destroy(){this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.dispatchExternal("sheetRemoved",this.getComponent())}active(){this.spreadsheetManager.loadSheet(this)}}var Re={integer:function(e,t,i){return""===t||null==t||(t=Number(t),!isNaN(t)&&isFinite(t)&&Math.floor(t)===t)},float:function(e,t,i){return""===t||null==t||(t=Number(t),!isNaN(t)&&isFinite(t)&&t%1!=0)},numeric:function(e,t,i){return""===t||null==t||!isNaN(t)},string:function(e,t,i){return""===t||null==t||isNaN(t)},alphanumeric:function(e,t,i){return""===t||null==t||new RegExp(/^[a-z0-9]+$/i).test(t)},max:function(e,t,i){return""===t||null==t||parseFloat(t)<=i},min:function(e,t,i){return""===t||null==t||parseFloat(t)>=i},starts:function(e,t,i){return""===t||null==t||String(t).toLowerCase().startsWith(String(i).toLowerCase())},ends:function(e,t,i){return""===t||null==t||String(t).toLowerCase().endsWith(String(i).toLowerCase())},minLength:function(e,t,i){return""===t||null==t||String(t).length>=i},maxLength:function(e,t,i){return""===t||null==t||String(t).length<=i},in:function(e,t,i){return""===t||null==t||("string"==typeof i&&(i=i.split("|")),i.indexOf(t)>-1)},regex:function(e,t,i){return""===t||null==t||new RegExp(i).test(t)},unique:function(e,t,i){if(""===t||null==t)return!0;var n=!0,s=e.getData(),o=e.getColumn()._getSelf();return this.table.rowManager.rows.forEach((function(e){var i=e.getData();i!==s&&t==o.getFieldValue(i)&&(n=!1)})),n},required:function(e,t,i){return""!==t&&null!=t}};class _e extends s{static moduleName="validate";static validators=Re;constructor(e){super(e),this.invalidCells=[],this.registerTableOption("validationMode","blocking"),this.registerColumnOption("validator"),this.registerTableFunction("getInvalidCells",this.getInvalidCells.bind(this)),this.registerTableFunction("clearCellValidation",this.userClearCellValidation.bind(this)),this.registerTableFunction("validate",this.userValidate.bind(this)),this.registerComponentFunction("cell","isValid",this.cellIsValid.bind(this)),this.registerComponentFunction("cell","clearValidation",this.clearValidation.bind(this)),this.registerComponentFunction("cell","validate",this.cellValidate.bind(this)),this.registerComponentFunction("column","validate",this.columnValidate.bind(this)),this.registerComponentFunction("row","validate",this.rowValidate.bind(this))}initialize(){this.subscribe("cell-delete",this.clearValidation.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("edit-success",this.editValidate.bind(this)),this.subscribe("edit-editor-clear",this.editorClear.bind(this)),this.subscribe("edit-edited-clear",this.editedClear.bind(this))}editValidate(e,t,i){var n="manual"===this.table.options.validationMode||this.validate(e.column.modules.validate,e,t);return!0!==n&&setTimeout((()=>{e.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",e.getComponent(),t,n)})),n}editorClear(e,t){t&&e.column.modules.validate&&this.cellValidate(e),e.getElement().classList.remove("tabulator-validation-fail")}editedClear(e){e.modules.validate&&(e.modules.validate.invalid=!1)}cellIsValid(e){return e.modules.validate&&e.modules.validate.invalid||!0}cellValidate(e){return this.validate(e.column.modules.validate,e,e.getValue())}columnValidate(e){var t=[];return e.cells.forEach((e=>{!0!==this.cellValidate(e)&&t.push(e.getComponent())})),!t.length||t}rowValidate(e){var t=[];return e.cells.forEach((e=>{!0!==this.cellValidate(e)&&t.push(e.getComponent())})),!t.length||t}userClearCellValidation(e){e||(e=this.getInvalidCells()),Array.isArray(e)||(e=[e]),e.forEach((e=>{this.clearValidation(e._getSelf())}))}userValidate(e){var t=[];return this.table.rowManager.rows.forEach((e=>{var i=(e=e.getComponent()).validate();!0!==i&&(t=t.concat(i))})),!t.length||t}initializeColumnCheck(e){void 0!==e.definition.validator&&this.initializeColumn(e)}initializeColumn(e){var t,i=this,n=[];e.definition.validator&&(Array.isArray(e.definition.validator)?e.definition.validator.forEach((e=>{(t=i._extractValidator(e))&&n.push(t)})):(t=this._extractValidator(e.definition.validator))&&n.push(t),e.modules.validate=!!n.length&&n)}_extractValidator(e){var t,i,n;switch(typeof e){case"string":return(n=e.indexOf(":"))>-1?(t=e.substring(0,n),i=e.substring(n+1)):t=e,this._buildValidator(t,i);case"function":return this._buildValidator(e);case"object":return this._buildValidator(e.type,e.parameters)}}_buildValidator(e,t){var i="function"==typeof e?e:_e.validators[e];return i?{type:"function"==typeof e?"function":e,func:i,params:t}:(console.warn("Validator Setup Error - No matching validator found:",e),!1)}validate(e,t,i){var n=this,s=[],o=this.invalidCells.indexOf(t);return e&&e.forEach((e=>{e.func.call(n,t.getComponent(),i,e.params)||s.push({type:e.type,parameters:e.params})})),t.modules.validate||(t.modules.validate={}),s.length?(t.modules.validate.invalid=s,"manual"!==this.table.options.validationMode&&t.getElement().classList.add("tabulator-validation-fail"),-1==o&&this.invalidCells.push(t)):(t.modules.validate.invalid=!1,t.getElement().classList.remove("tabulator-validation-fail"),o>-1&&this.invalidCells.splice(o,1)),!s.length||s}getInvalidCells(){var e=[];return this.invalidCells.forEach((t=>{e.push(t.getComponent())})),e}clearValidation(e){var t;e.modules.validate&&e.modules.validate.invalid&&(e.getElement().classList.remove("tabulator-validation-fail"),e.modules.validate.invalid=!1,(t=this.invalidCells.indexOf(e))>-1&&this.invalidCells.splice(t,1))}}var Te=Object.freeze({__proto__:null,AccessorModule:r,AjaxModule:m,ClipboardModule:v,ColumnCalcsModule:M,DataTreeModule:class extends s{static moduleName="dataTree";constructor(e){super(e),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=!1,this.startOpen=function(){},this.registerTableOption("dataTree",!1),this.registerTableOption("dataTreeFilter",!0),this.registerTableOption("dataTreeSort",!0),this.registerTableOption("dataTreeElementColumn",!1),this.registerTableOption("dataTreeBranchElement",!0),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",!1),this.registerTableOption("dataTreeExpandElement",!1),this.registerTableOption("dataTreeStartExpanded",!1),this.registerTableOption("dataTreeChildColumnCalcs",!1),this.registerTableOption("dataTreeSelectPropagate",!1),this.registerComponentFunction("row","treeCollapse",this.collapseRow.bind(this)),this.registerComponentFunction("row","treeExpand",this.expandRow.bind(this)),this.registerComponentFunction("row","treeToggle",this.toggleRow.bind(this)),this.registerComponentFunction("row","getTreeParent",this.getTreeParent.bind(this)),this.registerComponentFunction("row","getTreeChildren",this.getRowChildren.bind(this)),this.registerComponentFunction("row","addTreeChild",this.addTreeChildRow.bind(this)),this.registerComponentFunction("row","isTreeExpanded",this.isRowExpanded.bind(this))}initialize(){if(this.table.options.dataTree){var e=null,t=this.table.options;switch(this.field=t.dataTreeChildField,this.indent=t.dataTreeChildIndent,this.options("movableRows")&&console.warn("The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior"),t.dataTreeBranchElement?!0===t.dataTreeBranchElement?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):"string"==typeof t.dataTreeBranchElement?((e=document.createElement("div")).innerHTML=t.dataTreeBranchElement,this.branchEl=e.firstChild):this.branchEl=t.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),t.dataTreeCollapseElement?"string"==typeof t.dataTreeCollapseElement?((e=document.createElement("div")).innerHTML=t.dataTreeCollapseElement,this.collapseEl=e.firstChild):this.collapseEl=t.dataTreeCollapseElement:(this.collapseEl=document.createElement("div"),this.collapseEl.classList.add("tabulator-data-tree-control"),this.collapseEl.tabIndex=0,this.collapseEl.innerHTML="<div class='tabulator-data-tree-control-collapse'></div>"),t.dataTreeExpandElement?"string"==typeof t.dataTreeExpandElement?((e=document.createElement("div")).innerHTML=t.dataTreeExpandElement,this.expandEl=e.firstChild):this.expandEl=t.dataTreeExpandElement:(this.expandEl=document.createElement("div"),this.expandEl.classList.add("tabulator-data-tree-control"),this.expandEl.tabIndex=0,this.expandEl.innerHTML="<div class='tabulator-data-tree-control-expand'></div>"),typeof t.dataTreeStartExpanded){case"boolean":this.startOpen=function(e,i){return t.dataTreeStartExpanded};break;case"function":this.startOpen=t.dataTreeStartExpanded;break;default:this.startOpen=function(e,i){return t.dataTreeStartExpanded[i]}}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleted",this.rowDelete.bind(this),0),this.subscribe("row-data-changed",this.rowDataChanged.bind(this),10),this.subscribe("cell-value-updated",this.cellValueChanged.bind(this)),this.subscribe("edit-cancelled",this.cellValueChanged.bind(this)),this.subscribe("column-moving-rows",this.columnMoving.bind(this)),this.subscribe("table-built",this.initializeElementField.bind(this)),this.subscribe("table-redrawing",this.tableRedrawing.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),30)}}tableRedrawing(e){e&&this.table.rowManager.getRows().forEach((e=>{this.reinitializeRowChildren(e)}))}initializeElementField(){var e=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||!!e&&e.field}getRowChildren(e){return this.getTreeChildren(e,!0)}columnMoving(){var e=[];return this.table.rowManager.rows.forEach((t=>{e=e.concat(this.getTreeChildren(t,!1,!0))})),e}rowDataChanged(e,t,i){this.redrawNeeded(i)&&(this.initializeRow(e),t&&(this.layoutRow(e),this.refreshData(!0)))}cellValueChanged(e){e.column.getField()===this.elementField&&this.layoutRow(e.row)}initializeRow(e){var t=e.getData()[this.field],i=Array.isArray(t),n=i||!i&&"object"==typeof t&&null!==t;!n&&e.modules.dataTree&&e.modules.dataTree.branchEl&&e.modules.dataTree.branchEl.parentNode.removeChild(e.modules.dataTree.branchEl),!n&&e.modules.dataTree&&e.modules.dataTree.controlEl&&e.modules.dataTree.controlEl.parentNode.removeChild(e.modules.dataTree.controlEl),e.modules.dataTree={index:e.modules.dataTree?e.modules.dataTree.index:0,open:!!n&&(e.modules.dataTree?e.modules.dataTree.open:this.startOpen(e.getComponent(),0)),controlEl:!(!e.modules.dataTree||!n)&&e.modules.dataTree.controlEl,branchEl:!(!e.modules.dataTree||!n)&&e.modules.dataTree.branchEl,parent:!!e.modules.dataTree&&e.modules.dataTree.parent,children:n}}reinitializeRowChildren(e){this.getTreeChildren(e,!1,!0).forEach((function(e){e.reinitialize(!0)}))}layoutRow(e){var t=(this.elementField?e.getCell(this.elementField):e.getCells()[0]).getElement(),i=e.modules.dataTree;i.branchEl&&(i.branchEl.parentNode&&i.branchEl.parentNode.removeChild(i.branchEl),i.branchEl=!1),i.controlEl&&(i.controlEl.parentNode&&i.controlEl.parentNode.removeChild(i.controlEl),i.controlEl=!1),this.generateControlElement(e,t),e.getElement().classList.add("tabulator-tree-level-"+i.index),i.index&&(this.branchEl?(i.branchEl=this.branchEl.cloneNode(!0),t.insertBefore(i.branchEl,t.firstChild),this.table.rtl?i.branchEl.style.marginRight=(i.branchEl.offsetWidth+i.branchEl.style.marginLeft)*(i.index-1)+i.index*this.indent+"px":i.branchEl.style.marginLeft=(i.branchEl.offsetWidth+i.branchEl.style.marginRight)*(i.index-1)+i.index*this.indent+"px"):this.table.rtl?t.style.paddingRight=parseInt(window.getComputedStyle(t,null).getPropertyValue("padding-right"))+i.index*this.indent+"px":t.style.paddingLeft=parseInt(window.getComputedStyle(t,null).getPropertyValue("padding-left"))+i.index*this.indent+"px")}generateControlElement(e,t){var i=e.modules.dataTree,n=i.controlEl;t=t||e.getCells()[0].getElement(),!1!==i.children&&(i.open?(i.controlEl=this.collapseEl.cloneNode(!0),i.controlEl.addEventListener("click",(t=>{t.stopPropagation(),this.collapseRow(e)}))):(i.controlEl=this.expandEl.cloneNode(!0),i.controlEl.addEventListener("click",(t=>{t.stopPropagation(),this.expandRow(e)}))),i.controlEl.addEventListener("mousedown",(e=>{e.stopPropagation()})),n&&n.parentNode===t?n.parentNode.replaceChild(i.controlEl,n):t.insertBefore(i.controlEl,t.firstChild))}getRows(e){var t=[];return e.forEach(((e,i)=>{var n;t.push(e),e instanceof x&&(e.create(),(n=e.modules.dataTree).index||!1===n.children||this.getChildren(e,!1,!0).forEach((e=>{e.create(),t.push(e)})))})),t}getChildren(e,t,i){var n=e.modules.dataTree,s=[],o=[];return!1!==n.children&&(n.open||t)&&(Array.isArray(n.children)||(n.children=this.generateChildren(e)),s=this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(n.children):n.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(s,i),s.forEach((e=>{o.push(e),this.getChildren(e,!1,!0).forEach((e=>{o.push(e)}))}))),o}generateChildren(e){var t=[],i=e.getData()[this.field];return Array.isArray(i)||(i=[i]),i.forEach((i=>{var n=new x(i||{},this.table.rowManager);n.create(),n.modules.dataTree.index=e.modules.dataTree.index+1,n.modules.dataTree.parent=e,n.modules.dataTree.children&&(n.modules.dataTree.open=this.startOpen(n.getComponent(),n.modules.dataTree.index)),t.push(n)})),t}expandRow(e,t){var i=e.modules.dataTree;!1!==i.children&&(i.open=!0,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowExpanded",e.getComponent(),e.modules.dataTree.index))}collapseRow(e){var t=e.modules.dataTree;!1!==t.children&&(t.open=!1,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowCollapsed",e.getComponent(),e.modules.dataTree.index))}toggleRow(e){var t=e.modules.dataTree;!1!==t.children&&(t.open?this.collapseRow(e):this.expandRow(e))}isRowExpanded(e){return e.modules.dataTree.open}getTreeParent(e){return!!e.modules.dataTree.parent&&e.modules.dataTree.parent.getComponent()}getTreeParentRoot(e){return e.modules.dataTree&&e.modules.dataTree.parent?this.getTreeParentRoot(e.modules.dataTree.parent):e}getFilteredTreeChildren(e){var t=e.modules.dataTree,i=[];return t.children&&(Array.isArray(t.children)||(t.children=this.generateChildren(e)),(this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(t.children):t.children).forEach((e=>{e instanceof x&&i.push(e)}))),i}rowDelete(e){var t,i=e.modules.dataTree.parent;i&&(!1!==(t=this.findChildIndex(e,i))&&i.data[this.field].splice(t,1),i.data[this.field].length||delete i.data[this.field],this.initializeRow(i),this.layoutRow(i)),this.refreshData(!0)}addTreeChildRow(e,t,i,n){var s=!1;"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e.data[this.field])||(e.data[this.field]=[],e.modules.dataTree.open=this.startOpen(e.getComponent(),e.modules.dataTree.index)),void 0!==n&&!1!==(s=this.findChildIndex(n,e))&&e.data[this.field].splice(i?s:s+1,0,t),!1===s&&(i?e.data[this.field].unshift(t):e.data[this.field].push(t)),this.initializeRow(e),this.layoutRow(e),this.refreshData(!0)}findChildIndex(e,t){var i=!1;return"object"==typeof e?e instanceof x?i=e.data:e instanceof T?i=e._getSelf().data:"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?t.modules.dataTree&&(i=t.modules.dataTree.children.find((t=>t instanceof x&&t.element===e)))&&(i=i.data):null===e&&(i=!1):i=void 0!==e&&t.data[this.field].find((t=>t.data[this.table.options.index]==e)),i&&(Array.isArray(t.data[this.field])&&(i=t.data[this.field].indexOf(i)),-1==i&&(i=!1)),i}getTreeChildren(e,t,i){var n=e.modules.dataTree,s=[];return n&&n.children&&(Array.isArray(n.children)||(n.children=this.generateChildren(e)),n.children.forEach((e=>{e instanceof x&&(s.push(t?e.getComponent():e),i&&this.getTreeChildren(e,t,i).forEach((e=>{s.push(e)})))}))),s}getChildField(){return this.field}redrawNeeded(e){return!!this.field&&void 0!==e[this.field]||!!this.elementField&&void 0!==e[this.elementField]}},DownloadModule:k,EditModule:O,ExportModule:I,FilterModule:V,FormatModule:j,FrozenColumnsModule:class extends s{static moduleName="frozenColumns";constructor(e){super(e),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=!1,this.blocked=!0,this.registerColumnOption("frozen")}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=!1}initialize(){this.subscribe("cell-layout",this.layoutCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-width",this.layout.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("table-layout",this.layout.bind(this)),this.subscribe("columns-loading",this.reset.bind(this)),this.subscribe("column-add",this.reinitializeColumns.bind(this)),this.subscribe("column-deleted",this.reinitializeColumns.bind(this)),this.subscribe("column-hide",this.reinitializeColumns.bind(this)),this.subscribe("column-show",this.reinitializeColumns.bind(this)),this.subscribe("columns-loaded",this.reinitializeColumns.bind(this)),this.subscribe("table-redraw",this.layout.bind(this)),this.subscribe("layout-refreshing",this.blockLayout.bind(this)),this.subscribe("layout-refreshed",this.unblockLayout.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this))}blockLayout(){this.blocked=!0}unblockLayout(){this.blocked=!1}layoutCell(e){this.layoutElement(e.element,e.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach((e=>{this.initializeColumn(e)})),this.layout()}initializeColumn(e){var t={margin:0,edge:!1};e.isGroup||(this.frozenCheck(e)?(t.position=this.initializationMode,"left"==this.initializationMode?this.leftColumns.push(e):this.rightColumns.unshift(e),this.active=!0,e.modules.frozen=t):this.initializationMode="right")}frozenCheck(e){return e.parent.isGroup&&e.definition.frozen&&console.warn("Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups"),e.parent.isGroup?this.frozenCheck(e.parent):e.definition.frozen}layoutCalcRows(){this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&this.table.modules.columnCalcs.topRow&&this.layoutRow(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&this.table.modules.columnCalcs.botRow&&this.layoutRow(this.table.modules.columnCalcs.botRow),this.table.modExists("groupRows")&&this.layoutGroupCalcs(this.table.modules.groupRows.getGroups()))}layoutGroupCalcs(e){e.forEach((e=>{e.calcs.top&&this.layoutRow(e.calcs.top),e.calcs.bottom&&this.layoutRow(e.calcs.bottom),e.groupList&&e.groupList.length&&this.layoutGroupCalcs(e.groupList)}))}layoutColumnPosition(e){var t=[],i=0,n=0;this.leftColumns.forEach(((n,s)=>{if(n.modules.frozen.marginValue=i,n.modules.frozen.margin=n.modules.frozen.marginValue+"px",n.visible&&(i+=n.getWidth()),s==this.leftColumns.length-1?n.modules.frozen.edge=!0:n.modules.frozen.edge=!1,n.parent.isGroup){var o=this.getColGroupParentElement(n);t.includes(o)||(this.layoutElement(o,n),t.push(o)),o.classList.toggle("tabulator-frozen-left",n.modules.frozen.edge&&"left"===n.modules.frozen.position),o.classList.toggle("tabulator-frozen-right",n.modules.frozen.edge&&"right"===n.modules.frozen.position)}else this.layoutElement(n.getElement(),n);e&&n.cells.forEach((e=>{this.layoutElement(e.getElement(!0),n)}))})),this.rightColumns.forEach(((t,i)=>{t.modules.frozen.marginValue=n,t.modules.frozen.margin=t.modules.frozen.marginValue+"px",t.visible&&(n+=t.getWidth()),i==this.rightColumns.length-1?t.modules.frozen.edge=!0:t.modules.frozen.edge=!1,t.parent.isGroup?this.layoutElement(this.getColGroupParentElement(t),t):this.layoutElement(t.getElement(),t),e&&t.cells.forEach((e=>{this.layoutElement(e.getElement(!0),t)}))}))}getColGroupParentElement(e){return e.parent.isGroup?this.getColGroupParentElement(e.parent):e.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var e=this.table.rowManager.getVisibleRows(!0);this.table.rowManager.getRows().filter((t=>!e.includes(t))).forEach((e=>{e.deinitialize()})),e.forEach((e=>{"row"===e.type&&this.layoutRow(e)}))}layoutRow(e){"fitDataFill"===this.table.options.layout&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach((t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)})),this.rightColumns.forEach((t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)}))}layoutElement(e,t){var i;t.modules.frozen&&e&&(e.style.position="sticky",i=this.table.rtl?"left"===t.modules.frozen.position?"right":"left":t.modules.frozen.position,e.style[i]=t.modules.frozen.margin,e.classList.add("tabulator-frozen"),e.classList.toggle("tabulator-frozen-left",t.modules.frozen.edge&&"left"===t.modules.frozen.position),e.classList.toggle("tabulator-frozen-right",t.modules.frozen.edge&&"right"===t.modules.frozen.position))}adjustForScrollbar(e){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+e+"px)")}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(e,t){var i=0;for(let n=0;n<t;n++)e[n].visible&&(i+=e[n].getWidth());return i}},FrozenRowsModule:class extends s{static moduleName="frozenRows";constructor(e){super(e),this.topElement=document.createElement("div"),this.rows=[],this.registerComponentFunction("row","freeze",this.freezeRow.bind(this)),this.registerComponentFunction("row","unfreeze",this.unfreezeRow.bind(this)),this.registerComponentFunction("row","isFrozen",this.isRowFrozen.bind(this)),this.registerTableOption("frozenRowsField","id"),this.registerTableOption("frozenRows",!1)}initialize(){var e=document.createDocumentFragment();this.rows=[],this.topElement.classList.add("tabulator-frozen-rows-holder"),e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.subscribe("row-deleting",this.detachRow.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),10),this.table.options.frozenRows&&(this.subscribe("data-processed",this.initializeRows.bind(this)),this.subscribe("row-added",this.initializeRow.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this))),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px"}initializeRows(){this.table.rowManager.getRows().forEach((e=>{this.initializeRow(e)}))}initializeRow(e){var t=this.table.options.frozenRows,i=typeof t;"number"===i?e.getPosition()&&e.getPosition()+this.rows.length<=t&&this.freezeRow(e):"function"===i?t.call(this.table,e.getComponent())&&this.freezeRow(e):Array.isArray(t)&&t.includes(e.data[this.options("frozenRowsField")])&&this.freezeRow(e)}isRowFrozen(e){return this.rows.indexOf(e)>-1}isFrozen(){return!!this.rows.length}visibleRows(e,t){return this.rows.forEach((e=>{t.push(e)})),t}getRows(e){var t=e.slice(0);return this.rows.forEach((function(e){var i=t.indexOf(e);i>-1&&t.splice(i,1)})),t}freezeRow(e){e.modules.frozen?console.warn("Freeze Error - Row is already frozen"):(e.modules.frozen=!0,this.topElement.appendChild(e.getElement()),e.initialize(),e.normalizeHeight(),this.rows.push(e),this.refreshData(!1,"display"),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(e){e.modules.frozen?(e.modules.frozen=!1,this.detachRow(e),this.table.rowManager.adjustTableSize(),this.refreshData(!1,"display"),this.rows.length&&this.styleRows()):console.warn("Freeze Error - Row is already unfrozen")}detachRow(e){var t=this.rows.indexOf(e);if(t>-1){var i=e.getElement();i.parentNode&&i.parentNode.removeChild(i),this.rows.splice(t,1)}}styleRows(e){this.rows.forEach(((e,t)=>{this.table.rowManager.styleRow(e,t)}))}},GroupRowsModule:class extends s{static moduleName="groupRows";constructor(e){super(e),this.groupIDLookups=!1,this.startOpen=[function(){return!1}],this.headerGenerator=[function(){return""}],this.groupList=[],this.allowedValues=!1,this.groups={},this.displayHandler=this.getRows.bind(this),this.blockRedraw=!1,this.registerTableOption("groupBy",!1),this.registerTableOption("groupStartOpen",!0),this.registerTableOption("groupValues",!1),this.registerTableOption("groupUpdateOnCellEdit",!1),this.registerTableOption("groupHeader",!1),this.registerTableOption("groupHeaderPrint",null),this.registerTableOption("groupHeaderClipboard",null),this.registerTableOption("groupHeaderHtmlOutput",null),this.registerTableOption("groupHeaderDownload",null),this.registerTableOption("groupToggleElement","arrow"),this.registerTableOption("groupClosedShowCalcs",!1),this.registerTableFunction("setGroupBy",this.setGroupBy.bind(this)),this.registerTableFunction("setGroupValues",this.setGroupValues.bind(this)),this.registerTableFunction("setGroupStartOpen",this.setGroupStartOpen.bind(this)),this.registerTableFunction("setGroupHeader",this.setGroupHeader.bind(this)),this.registerTableFunction("getGroups",this.userGetGroups.bind(this)),this.registerTableFunction("getGroupedData",this.userGetGroupedData.bind(this)),this.registerComponentFunction("row","getGroup",this.rowGetGroup.bind(this))}initialize(){this.subscribe("table-destroy",this._blockRedrawing.bind(this)),this.subscribe("rows-wipe",this._blockRedrawing.bind(this)),this.subscribe("rows-wiped",this._restore_redrawing.bind(this)),this.table.options.groupBy&&(this.table.options.groupUpdateOnCellEdit&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("row-data-changed",this.reassignRowToGroup.bind(this),0)),this.subscribe("table-built",this.configureGroupSetup.bind(this)),this.subscribe("row-deleting",this.rowDeleting.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHeaders.bind(this)),this.subscribe("rows-wipe",this.wipe.bind(this)),this.subscribe("rows-added",this.rowsUpdated.bind(this)),this.subscribe("row-moving",this.rowMoving.bind(this)),this.subscribe("row-adding-index",this.rowAddingIndex.bind(this)),this.subscribe("rows-sample",this.rowSample.bind(this)),this.subscribe("render-virtual-fill",this.virtualRenderFill.bind(this)),this.registerDisplayHandler(this.displayHandler,20),this.initialized=!0)}_blockRedrawing(){this.blockRedraw=!0}_restore_redrawing(){this.blockRedraw=!1}configureGroupSetup(){if(this.table.options.groupBy){var e=this.table.options.groupBy,t=this.table.options.groupStartOpen,i=this.table.options.groupHeader;if(this.allowedValues=this.table.options.groupValues,Array.isArray(e)&&Array.isArray(i)&&e.length>i.length&&console.warn("Error creating group headers, groupHeader array is shorter than groupBy array"),this.headerGenerator=[function(){return""}],this.startOpen=[function(){return!1}],this.langBind("groups|item",((e,t)=>{this.headerGenerator[0]=(i,n,s)=>(void 0===i?"":i)+"<span>("+n+" "+(1===n?e:t.groups.items)+")</span>"})),this.groupIDLookups=[],e)this.table.modExists("columnCalcs")&&"table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs&&this.table.modules.columnCalcs.removeCalcs();else if(this.table.modExists("columnCalcs")&&"group"!=this.table.options.columnCalcs)this.table.columnManager.getRealColumns().forEach((e=>{e.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),e.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()}));Array.isArray(e)||(e=[e]),e.forEach(((e,t)=>{var i,n;i="function"==typeof e?e:(n=this.table.columnManager.getColumnByField(e))?function(e){return n.getFieldValue(e)}:function(t){return t[e]},this.groupIDLookups.push({field:"function"!=typeof e&&e,func:i,values:!!this.allowedValues&&this.allowedValues[t]})})),t&&(Array.isArray(t)||(t=[t]),t.forEach((e=>{})),this.startOpen=t),i&&(this.headerGenerator=Array.isArray(i)?i:[i])}else this.groupList=[],this.groups={}}rowSample(e,t){if(this.table.options.groupBy){var i=this.getGroups(!1)[0];t.push(i.getRows(!1)[0])}return t}virtualRenderFill(){var e=this.table.rowManager.tableElement,t=this.table.rowManager.getVisibleRows();if(!this.table.options.groupBy)return t;t=t.filter((e=>"group"!==e.type)),e.style.minWidth=t.length?"":this.table.columnManager.getWidth()+"px"}rowAddingIndex(e,t,i){if(this.table.options.groupBy){this.assignRowToGroup(e);var n=e.modules.group.rows;return n.length>1&&(!t||t&&-1==n.indexOf(t)?i?n[0]!==e&&(t=n[0],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):n[n.length-1]!==e&&(t=n[n.length-1],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)),t}}trackChanges(){this.dispatch("group-changed")}setGroupBy(e){this.table.options.groupBy=e,this.initialized||this.initialize(),this.configureGroupSetup(),!e&&this.table.modExists("columnCalcs")&&!0===this.table.options.columnCalcs&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(e){this.table.options.groupValues=e,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(e){this.table.options.groupStartOpen=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}setGroupHeader(e){this.table.options.groupHeader=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}userGetGroups(e){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(e){return!!e.modules.group&&e.modules.group.getComponent()}rowMoving(e,t,i){if(this.table.options.groupBy){!i&&t instanceof G&&(t=this.table.rowManager.prevDisplayRow(e)||t);var n=t instanceof G?t:t.modules.group,s=e instanceof G?e:e.modules.group;n===s?this.table.rowManager.moveRowInArray(n.rows,e,t,i):(s&&s.removeRow(e),n.insertRow(e,t,i))}}rowDeleting(e){this.table.options.groupBy&&e.modules.group&&e.modules.group.removeRow(e)}rowsUpdated(e){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(e){this.table.options.groupBy&&this.reassignRowToGroup(e.row)}getRows(e){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(e),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(!0)),this.updateGroupRows()):e.slice(0)}getGroups(e){var t=[];return this.groupList.forEach((function(i){t.push(e?i.getComponent():i)})),t}getChildGroups(e){var t=[];return e||(e=this),e.groupList.forEach((e=>{e.groupList.length?t=t.concat(this.getChildGroups(e)):t.push(e)})),t}wipe(){this.table.options.groupBy&&(this.groupList.forEach((function(e){e.wipe()})),this.groupList=[],this.groups={})}pullGroupListData(e){var t=[];return e.forEach((e=>{var i={level:0,rowCount:0,headerContent:""},n=[];e.hasSubGroups?(n=this.pullGroupListData(e.groupList),i.level=e.level,i.rowCount=n.length-e.groupList.length,i.headerContent=e.generator(e.key,i.rowCount,e.rows,e),t.push(i),t=t.concat(n)):(i.level=e.level,i.headerContent=e.generator(e.key,e.rows.length,e.rows,e),i.rowCount=e.getRows().length,t.push(i),e.getRows().forEach((e=>{t.push(e.getData("data"))})))})),t}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(e){var t=!1;return this.options("dataTree")&&(e=this.table.modules.dataTree.getTreeParentRoot(e)),this.groupList.forEach((i=>{var n=i.getRowGroup(e);n&&(t=n)})),t}countGroups(){return this.groupList.length}generateGroups(e){var t=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach((e=>{this.createGroup(e,0,t)})),e.forEach((e=>{this.assignRowToExistingGroup(e,t)}))):e.forEach((e=>{this.assignRowToGroup(e,t)})),Object.values(t).forEach((e=>{e.wipe(!0)}))}createGroup(e,t,i){var n,s=t+"_"+e;i=i||[],n=new G(this,!1,t,e,this.groupIDLookups[0].field,this.headerGenerator[0],i[s]),this.groups[s]=n,this.groupList.push(n)}assignRowToExistingGroup(e,t){var i="0_"+this.groupIDLookups[0].func(e.getData());this.groups[i]&&this.groups[i].addRow(e)}assignRowToGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),n=!this.groups["0_"+i];return n&&this.createGroup(i,0,t),this.groups["0_"+i].addRow(e),!n}reassignRowToGroup(e){if("row"===e.type){var t,i=e.modules.group,n=i.getPath(),s=this.getExpectedPath(e);t=n.length==s.length&&n.every(((e,t)=>e===s[t])),t||(i.removeRow(e),this.assignRowToGroup(e,this.groups),this.refreshData(!0))}}getExpectedPath(e){var t=[],i=e.getData();return this.groupIDLookups.forEach((e=>{t.push(e.func(i))})),t}updateGroupRows(e){var t=[];return this.blockRedraw||(this.groupList.forEach((e=>{t=t.concat(e.getHeadersAndRows())})),e&&this.refreshData(!0)),t}scrollHeaders(e){this.table.options.groupBy&&("virtual"===this.table.options.renderHorizontal&&(e-=this.table.columnManager.renderer.vDomPadLeft),e+="px",this.groupList.forEach((t=>{t.scrollHeader(e)})))}removeGroup(e){var t,i=e.level+"_"+e.key;this.groups[i]&&(delete this.groups[i],(t=this.groupList.indexOf(e))>-1&&this.groupList.splice(t,1))}checkBasicModeGroupHeaderWidth(){var e=this.table.rowManager.tableElement,t=!0;this.table.rowManager.getDisplayRows().forEach(((i,n)=>{this.table.rowManager.styleRow(i,n),e.appendChild(i.getElement()),i.initialize(!0),"group"!==i.type&&(t=!1)})),e.style.minWidth=t?this.table.columnManager.getWidth()+"px":""}},HistoryModule:J,HtmlTableImportModule:class extends s{static moduleName="htmlTableImport";constructor(e){super(e),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&"TABLE"===this.table.originalElement.tagName&&(this.table.originalElement.childNodes.length?this.parseTable():console.warn("Unable to parse data from empty table tag, Tabulator should be initialized on a div tag unless importing data from a table element."))}parseTable(){var e=this.table.originalElement,t=this.table.options,i=e.getElementsByTagName("th"),n=e.getElementsByTagName("tbody")[0],s=[];this.hasIndex=!1,this.dispatchExternal("htmlImporting"),n=n?n.getElementsByTagName("tr"):[],this._extractOptions(e,t),i.length?this._extractHeaders(i,n):this._generateBlankHeaders(i,n);for(var o=0;o<n.length;o++){var r=n[o].getElementsByTagName("td"),a={};this.hasIndex||(a[t.index]=o);for(var l=0;l<r.length;l++){var h=r[l];void 0!==this.fieldIndex[l]&&(a[this.fieldIndex[l]]=h.innerHTML)}s.push(a)}t.data=s,this.dispatchExternal("htmlImported")}_extractOptions(e,t,i){var n=e.attributes,s=i?Object.keys(i):Object.keys(t),o={};for(var r in s.forEach((e=>{o[e.toLowerCase()]=e})),n){var a,l=n[r];l&&"object"==typeof l&&l.name&&0===l.name.indexOf("tabulator-")&&(a=l.name.replace("tabulator-",""),void 0!==o[a]&&(t[o[a]]=this._attribValue(l.value)))}}_attribValue(e){return"true"===e||"false"!==e&&e}_findCol(e){return this.table.options.columns.find((t=>t.title===e))||!1}_extractHeaders(e,t){for(var i=0;i<e.length;i++){var n,s=e[i],o=!1,r=this._findCol(s.textContent);r?o=!0:r={title:s.textContent.trim()},r.field||(r.field=s.textContent.trim().toLowerCase().replaceAll(" ","_")),(n=s.getAttribute("width"))&&!r.width&&(r.width=n),this._extractOptions(s,r,this.table.columnManager.optionsList.registeredDefaults),this.fieldIndex[i]=r.field,r.field==this.table.options.index&&(this.hasIndex=!0),o||this.table.options.columns.push(r)}}_generateBlankHeaders(e,t){for(var i=0;i<e.length;i++){var n=e[i],s={title:"",field:"col"+i};this.fieldIndex[i]=s.field;var o=n.getAttribute("width");o&&(s.width=o),this.table.options.columns.push(s)}}},ImportModule:Z,InteractionModule:class extends s{static moduleName="interaction";constructor(e){super(e),this.eventMap={rowClick:"row-click",rowDblClick:"row-dblclick",rowContext:"row-contextmenu",rowMouseEnter:"row-mouseenter",rowMouseLeave:"row-mouseleave",rowMouseOver:"row-mouseover",rowMouseOut:"row-mouseout",rowMouseMove:"row-mousemove",rowMouseDown:"row-mousedown",rowMouseUp:"row-mouseup",rowTap:"row",rowDblTap:"row",rowTapHold:"row",cellClick:"cell-click",cellDblClick:"cell-dblclick",cellContext:"cell-contextmenu",cellMouseEnter:"cell-mouseenter",cellMouseLeave:"cell-mouseleave",cellMouseOver:"cell-mouseover",cellMouseOut:"cell-mouseout",cellMouseMove:"cell-mousemove",cellMouseDown:"cell-mousedown",cellMouseUp:"cell-mouseup",cellTap:"cell",cellDblTap:"cell",cellTapHold:"cell",headerClick:"column-click",headerDblClick:"column-dblclick",headerContext:"column-contextmenu",headerMouseEnter:"column-mouseenter",headerMouseLeave:"column-mouseleave",headerMouseOver:"column-mouseover",headerMouseOut:"column-mouseout",headerMouseMove:"column-mousemove",headerMouseDown:"column-mousedown",headerMouseUp:"column-mouseup",headerTap:"column",headerDblTap:"column",headerTapHold:"column",groupClick:"group-click",groupDblClick:"group-dblclick",groupContext:"group-contextmenu",groupMouseEnter:"group-mouseenter",groupMouseLeave:"group-mouseleave",groupMouseOver:"group-mouseover",groupMouseOut:"group-mouseout",groupMouseMove:"group-mousemove",groupMouseDown:"group-mousedown",groupMouseUp:"group-mouseup",groupTap:"group",groupDblTap:"group",groupTapHold:"group"},this.subscribers={},this.touchSubscribers={},this.columnSubscribers={},this.touchWatchers={row:{tap:null,tapDbl:null,tapHold:null},cell:{tap:null,tapDbl:null,tapHold:null},column:{tap:null,tapDbl:null,tapHold:null},group:{tap:null,tapDbl:null,tapHold:null}},this.registerColumnOption("headerClick"),this.registerColumnOption("headerDblClick"),this.registerColumnOption("headerContext"),this.registerColumnOption("headerMouseEnter"),this.registerColumnOption("headerMouseLeave"),this.registerColumnOption("headerMouseOver"),this.registerColumnOption("headerMouseOut"),this.registerColumnOption("headerMouseMove"),this.registerColumnOption("headerMouseDown"),this.registerColumnOption("headerMouseUp"),this.registerColumnOption("headerTap"),this.registerColumnOption("headerDblTap"),this.registerColumnOption("headerTapHold"),this.registerColumnOption("cellClick"),this.registerColumnOption("cellDblClick"),this.registerColumnOption("cellContext"),this.registerColumnOption("cellMouseEnter"),this.registerColumnOption("cellMouseLeave"),this.registerColumnOption("cellMouseOver"),this.registerColumnOption("cellMouseOut"),this.registerColumnOption("cellMouseMove"),this.registerColumnOption("cellMouseDown"),this.registerColumnOption("cellMouseUp"),this.registerColumnOption("cellTap"),this.registerColumnOption("cellDblTap"),this.registerColumnOption("cellTapHold")}initialize(){this.initializeExternalEvents(),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("cell-dblclick",this.cellContentsSelectionFixer.bind(this)),this.subscribe("scroll-horizontal",this.clearTouchWatchers.bind(this)),this.subscribe("scroll-vertical",this.clearTouchWatchers.bind(this))}clearTouchWatchers(){Object.values(this.touchWatchers).forEach((e=>{for(let t in e)e[t]=null}))}cellContentsSelectionFixer(e,t){var i;if(!this.table.modExists("edit")||this.table.modules.edit.currentCell!==t){e.preventDefault();try{document.selection?((i=document.body.createTextRange()).moveToElementText(t.getElement()),i.select()):window.getSelection&&((i=document.createRange()).selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i))}catch(e){}}}initializeExternalEvents(){for(let e in this.eventMap)this.subscriptionChangeExternal(e,this.subscriptionChanged.bind(this,e))}subscriptionChanged(e,t){t?this.subscribers[e]||(this.eventMap[e].includes("-")?(this.subscribers[e]=this.handle.bind(this,e),this.subscribe(this.eventMap[e],this.subscribers[e])):this.subscribeTouchEvents(e)):this.eventMap[e].includes("-")?!this.subscribers[e]||this.columnSubscribers[e]||this.subscribedExternal(e)||(this.unsubscribe(this.eventMap[e],this.subscribers[e]),delete this.subscribers[e]):this.unsubscribeTouchEvents(e)}subscribeTouchEvents(e){var t=this.eventMap[e];this.touchSubscribers[t+"-touchstart"]||(this.touchSubscribers[t+"-touchstart"]=this.handleTouch.bind(this,t,"start"),this.touchSubscribers[t+"-touchend"]=this.handleTouch.bind(this,t,"end"),this.subscribe(t+"-touchstart",this.touchSubscribers[t+"-touchstart"]),this.subscribe(t+"-touchend",this.touchSubscribers[t+"-touchend"])),this.subscribers[e]=!0}unsubscribeTouchEvents(e){var t=!0,i=this.eventMap[e];if(this.subscribers[e]&&!this.subscribedExternal(e)){delete this.subscribers[e];for(let e in this.eventMap)this.eventMap[e]===i&&this.subscribers[e]&&(t=!1);t&&(this.unsubscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.unsubscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"]),delete this.touchSubscribers[i+"-touchstart"],delete this.touchSubscribers[i+"-touchend"])}}initializeColumn(e){var t=e.definition;for(let i in this.eventMap)t[i]&&(this.subscriptionChanged(i,!0),this.columnSubscribers[i]||(this.columnSubscribers[i]=[]),this.columnSubscribers[i].push(e))}handle(e,t,i){this.dispatchEvent(e,t,i)}handleTouch(e,t,i,n){var s=this.touchWatchers[e];switch("column"===e&&(e="header"),t){case"start":s.tap=!0,clearTimeout(s.tapHold),s.tapHold=setTimeout((()=>{clearTimeout(s.tapHold),s.tapHold=null,s.tap=null,clearTimeout(s.tapDbl),s.tapDbl=null,this.dispatchEvent(e+"TapHold",i,n)}),1e3);break;case"end":s.tap&&(s.tap=null,this.dispatchEvent(e+"Tap",i,n)),s.tapDbl?(clearTimeout(s.tapDbl),s.tapDbl=null,this.dispatchEvent(e+"DblTap",i,n)):s.tapDbl=setTimeout((()=>{clearTimeout(s.tapDbl),s.tapDbl=null}),300),clearTimeout(s.tapHold),s.tapHold=null}}dispatchEvent(e,t,i){var n,s=i.getComponent();this.columnSubscribers[e]&&(i instanceof y?n=i.column.definition[e]:i instanceof _&&(n=i.definition[e]),n&&n(t,s)),this.dispatchExternal(e,t,s)}},KeybindingsModule:te,MenuModule:class extends s{static moduleName="menu";constructor(e){super(e),this.menuContainer=null,this.nestedMenuBlock=!1,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("rowContextMenu",!1),this.registerTableOption("rowClickMenu",!1),this.registerTableOption("rowDblClickMenu",!1),this.registerTableOption("groupContextMenu",!1),this.registerTableOption("groupClickMenu",!1),this.registerTableOption("groupDblClickMenu",!1),this.registerColumnOption("headerContextMenu"),this.registerColumnOption("headerClickMenu"),this.registerColumnOption("headerDblClickMenu"),this.registerColumnOption("headerMenu"),this.registerColumnOption("headerMenuIcon"),this.registerColumnOption("contextMenu"),this.registerColumnOption("clickMenu"),this.registerColumnOption("dblClickMenu")}initialize(){this.deprecatedOptionsCheck(),this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeRowWatchers(){this.table.options.rowContextMenu&&(this.subscribe("row-contextmenu",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu)),this.table.on("rowTapHold",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu))),this.table.options.rowClickMenu&&this.subscribe("row-click",this.loadMenuEvent.bind(this,this.table.options.rowClickMenu)),this.table.options.rowDblClickMenu&&this.subscribe("row-dblclick",this.loadMenuEvent.bind(this,this.table.options.rowDblClickMenu))}initializeGroupWatchers(){this.table.options.groupContextMenu&&(this.subscribe("group-contextmenu",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu)),this.table.on("groupTapHold",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu))),this.table.options.groupClickMenu&&this.subscribe("group-click",this.loadMenuEvent.bind(this,this.table.options.groupClickMenu)),this.table.options.groupDblClickMenu&&this.subscribe("group-dblclick",this.loadMenuEvent.bind(this,this.table.options.groupDblClickMenu))}initializeColumn(e){var t=e.definition;t.headerContextMenu&&!this.columnSubscribers.headerContextMenu&&(this.columnSubscribers.headerContextMenu=this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextMenu),this.table.on("headerTapHold",this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"))),t.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),t.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),t.headerMenu&&this.initializeColumnHeaderMenu(e),t.contextMenu&&!this.columnSubscribers.contextMenu&&(this.columnSubscribers.contextMenu=this.loadMenuTableCellEvent.bind(this,"contextMenu"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextMenu),this.table.on("cellTapHold",this.loadMenuTableCellEvent.bind(this,"contextMenu"))),t.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),t.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(e){var t,i=e.definition.headerMenuIcon;(t=document.createElement("span")).classList.add("tabulator-header-popup-button"),i?("function"==typeof i&&(i=i(e.getComponent())),i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i):t.innerHTML="&vellip;",t.addEventListener("click",(t=>{t.stopPropagation(),t.preventDefault(),this.loadMenuEvent(e.definition.headerMenu,t,e)})),e.titleElement.insertBefore(t,e.titleElement.firstChild)}loadMenuTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadMenuEvent(i.column.definition[e],t,i)}loadMenuTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadMenuEvent(i.definition[e],t,i)}loadMenuEvent(e,t,i){i._group?i=i._group:i._row&&(i=i._row),e="function"==typeof e?e.call(this.table,t,i.getComponent()):e,this.loadMenu(t,i,e)}loadMenu(e,t,i,n,s){var o,r=!(e instanceof MouseEvent),a=document.createElement("div");if(a.classList.add("tabulator-menu"),r||e.preventDefault(),i&&i.length){if(n)o=s.child(a);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout((()=>{this.nestedMenuBlock=!1}),100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=o=this.popup(a)}i.forEach((e=>{var i=document.createElement("div"),n=e.label,s=e.disabled;e.separator?i.classList.add("tabulator-menu-separator"):(i.classList.add("tabulator-menu-item"),"function"==typeof n&&(n=n.call(this.table,t.getComponent())),n instanceof Node?i.appendChild(n):i.innerHTML=n,"function"==typeof s&&(s=s.call(this.table,t.getComponent())),s?(i.classList.add("tabulator-menu-item-disabled"),i.addEventListener("click",(e=>{e.stopPropagation()}))):e.menu&&e.menu.length?i.addEventListener("click",(n=>{n.stopPropagation(),this.loadMenu(n,t,e.menu,i,o)})):e.action&&i.addEventListener("click",(i=>{e.action(i,t.getComponent())})),e.menu&&e.menu.length&&i.classList.add("tabulator-menu-item-submenu")),a.appendChild(i)})),a.addEventListener("click",(e=>{this.rootPopup&&this.rootPopup.hide()})),o.show(n||e),o===this.rootPopup&&(this.rootPopup.hideOnBlur((()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",i,o),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null)})),this.currentComponent=t,this.dispatch("menu-opened",i,o),this.dispatchExternal("menuOpened",t.getComponent()))}}},MoveColumnsModule:class extends s{static moduleName="moveColumn";constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=250,this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=!1,this.touchMove=!1,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",!1)}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-col"),e.classList.add("tabulator-col-placeholder"),e}initialize(){this.table.options.movableColumns&&(this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("alert-show",this.abortMove.bind(this)))}abortMove(){clearTimeout(this.checkTimeout)}initializeColumn(e){var i,n=this,s={};e.modules.frozen||e.isGroup||e.isRowHeader||(i=e.getElement(),s.mousemove=function(s){e.parent===n.moving.parent&&((n.touchMove?s.touches[0].pageX:s.pageX)-t.elOffset(i).left+n.table.columnManager.contentsElement.scrollLeft>e.getWidth()/2?n.toCol===e&&n.toColAfter||(i.parentNode.insertBefore(n.placeholderElement,i.nextSibling),n.moveColumn(e,!0)):(n.toCol!==e||n.toColAfter)&&(i.parentNode.insertBefore(n.placeholderElement,i),n.moveColumn(e,!1)))}.bind(n),i.addEventListener("mousedown",(function(t){n.touchMove=!1,1===t.which&&(n.checkTimeout=setTimeout((function(){n.startMove(t,e)}),n.checkPeriod))})),i.addEventListener("mouseup",(function(e){1===e.which&&n.checkTimeout&&clearTimeout(n.checkTimeout)})),n.bindTouchEvents(e)),e.modules.moveColumn=s}bindTouchEvents(e){var t,i,n,s,o,r,a=e.getElement(),l=!1;a.addEventListener("touchstart",(a=>{this.checkTimeout=setTimeout((()=>{this.touchMove=!0,t=e.nextColumn(),n=t?t.getWidth()/2:0,i=e.prevColumn(),s=i?i.getWidth()/2:0,o=0,r=0,l=!1,this.startMove(a,e)}),this.checkPeriod)}),{passive:!0}),a.addEventListener("touchmove",(a=>{var h,u;this.moving&&(this.moveHover(a),l||(l=a.touches[0].pageX),(h=a.touches[0].pageX-l)>0?t&&h-o>n&&(u=t)!==e&&(l=a.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement().nextSibling),this.moveColumn(u,!0)):i&&-h-r>s&&(u=i)!==e&&(l=a.touches[0].pageX,u.getElement().parentNode.insertBefore(this.placeholderElement,u.getElement()),this.moveColumn(u,!1)),u&&(t=u.nextColumn(),o=n,n=t?t.getWidth()/2:0,i=u.prevColumn(),r=s,s=i?i.getWidth()/2:0))}),{passive:!0}),a.addEventListener("touchend",(e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(e)}))}startMove(e,i){var n=i.getElement(),s=this.table.columnManager.getContentsElement(),o=this.table.columnManager.getHeadersElement();this.moving=i,this.startX=(this.touchMove?e.touches[0].pageX:e.pageX)-t.elOffset(n).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=i.getWidth()+"px",this.placeholderElement.style.height=i.getHeight()+"px",n.parentNode.insertBefore(this.placeholderElement,n),n.parentNode.removeChild(n),this.hoverElement=n.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),s.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.bottom=s.clientHeight-o.offsetHeight+"px",this.touchMove||(this._bindMouseMove(),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove)),this.moveHover(e)}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(e){e.modules.moveColumn.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveColumn.mousemove)}))}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach((function(e){e.modules.moveColumn.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveColumn.mousemove)}))}moveColumn(e,t){var i=this.moving.getCells();this.toCol=e,this.toColAfter=t,t?e.getCells().forEach((function(e,t){var n=e.getElement(!0);n.parentNode&&i[t]&&n.parentNode.insertBefore(i[t].getElement(),n.nextSibling)})):e.getCells().forEach((function(e,t){var n=e.getElement(!0);n.parentNode&&i[t]&&n.parentNode.insertBefore(i[t].getElement(),n)}))}endMove(e){(1===e.which||this.touchMove)&&(this._unbindMouseMove(),this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toCol&&this.table.columnManager.moveColumnActual(this.moving,this.toCol,this.toColAfter),this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)))}moveHover(e){var i,n=this.table.columnManager.getContentsElement(),s=n.scrollLeft,o=(this.touchMove?e.touches[0].pageX:e.pageX)-t.elOffset(n).left+s;this.hoverElement.style.left=o-this.startX+"px",o-s<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.max(0,s-5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1))),s+n.clientWidth-o<this.autoScrollMargin&&(this.autoScrollTimeout||(this.autoScrollTimeout=setTimeout((()=>{i=Math.min(n.clientWidth,s+5),this.table.rowManager.getElement().scrollLeft=i,this.autoScrollTimeout=!1}),1)))}},MoveRowsModule:se,MutatorModule:re,PageModule:le,PersistenceModule:ce,PopupModule:class extends s{static moduleName="popup";constructor(e){super(e),this.columnSubscribers={},this.registerTableOption("rowContextPopup",!1),this.registerTableOption("rowClickPopup",!1),this.registerTableOption("rowDblClickPopup",!1),this.registerTableOption("groupContextPopup",!1),this.registerTableOption("groupClickPopup",!1),this.registerTableOption("groupDblClickPopup",!1),this.registerColumnOption("headerContextPopup"),this.registerColumnOption("headerClickPopup"),this.registerColumnOption("headerDblClickPopup"),this.registerColumnOption("headerPopup"),this.registerColumnOption("headerPopupIcon"),this.registerColumnOption("contextPopup"),this.registerColumnOption("clickPopup"),this.registerColumnOption("dblClickPopup"),this.registerComponentFunction("cell","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("column","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("row","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("group","popup",this._componentPopupCall.bind(this))}initialize(){this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}_componentPopupCall(e,t,i){this.loadPopupEvent(t,null,e,i)}initializeRowWatchers(){this.table.options.rowContextPopup&&(this.subscribe("row-contextmenu",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup)),this.table.on("rowTapHold",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup))),this.table.options.rowClickPopup&&this.subscribe("row-click",this.loadPopupEvent.bind(this,this.table.options.rowClickPopup)),this.table.options.rowDblClickPopup&&this.subscribe("row-dblclick",this.loadPopupEvent.bind(this,this.table.options.rowDblClickPopup))}initializeGroupWatchers(){this.table.options.groupContextPopup&&(this.subscribe("group-contextmenu",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup)),this.table.on("groupTapHold",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup))),this.table.options.groupClickPopup&&this.subscribe("group-click",this.loadPopupEvent.bind(this,this.table.options.groupClickPopup)),this.table.options.groupDblClickPopup&&this.subscribe("group-dblclick",this.loadPopupEvent.bind(this,this.table.options.groupDblClickPopup))}initializeColumn(e){var t=e.definition;t.headerContextPopup&&!this.columnSubscribers.headerContextPopup&&(this.columnSubscribers.headerContextPopup=this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextPopup),this.table.on("headerTapHold",this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"))),t.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),t.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),t.headerPopup&&this.initializeColumnHeaderPopup(e),t.contextPopup&&!this.columnSubscribers.contextPopup&&(this.columnSubscribers.contextPopup=this.loadPopupTableCellEvent.bind(this,"contextPopup"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextPopup),this.table.on("cellTapHold",this.loadPopupTableCellEvent.bind(this,"contextPopup"))),t.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),t.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(e){var t,i=e.definition.headerPopupIcon;(t=document.createElement("span")).classList.add("tabulator-header-popup-button"),i?("function"==typeof i&&(i=i(e.getComponent())),i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i):t.innerHTML="&vellip;",t.addEventListener("click",(t=>{t.stopPropagation(),t.preventDefault(),this.loadPopupEvent(e.definition.headerPopup,t,e)})),e.titleElement.insertBefore(t,e.titleElement.firstChild)}loadPopupTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadPopupEvent(i.column.definition[e],t,i)}loadPopupTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadPopupEvent(i.definition[e],t,i)}loadPopupEvent(e,t,i,n){var s;i._group?i=i._group:i._row&&(i=i._row),e="function"==typeof e?e.call(this.table,t,i.getComponent(),(function(e){s=e})):e,this.loadPopup(t,i,e,s,n)}loadPopup(e,t,i,n,s){var o,r,a=!(e instanceof MouseEvent);i instanceof HTMLElement?o=i:(o=document.createElement("div")).innerHTML=i,o.classList.add("tabulator-popup"),o.addEventListener("click",(e=>{e.stopPropagation()})),a||e.preventDefault(),r=this.popup(o),"function"==typeof n&&r.renderCallback(n),e?r.show(e):r.show(t.getElement(),s||"center"),r.hideOnBlur((()=>{this.dispatchExternal("popupClosed",t.getComponent())})),this.dispatchExternal("popupOpened",t.getComponent())}},PrintModule:class extends s{static moduleName="print";constructor(e){super(e),this.element=!1,this.manualBlock=!1,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",!1),this.registerTableOption("printFormatter",!1),this.registerTableOption("printHeader",!1),this.registerTableOption("printFooter",!1),this.registerTableOption("printStyled",!0),this.registerTableOption("printRowRange","visible"),this.registerTableOption("printConfig",{}),this.registerColumnOption("print"),this.registerColumnOption("titlePrint")}initialize(){this.table.options.printAsHtml&&(this.beforeprintEventHandler=this.replaceTable.bind(this),this.afterprintEventHandler=this.cleanup.bind(this),window.addEventListener("beforeprint",this.beforeprintEventHandler),window.addEventListener("afterprint",this.afterprintEventHandler),this.subscribe("table-destroy",this.destroy.bind(this))),this.registerTableFunction("print",this.printFullscreen.bind(this))}destroy(){this.table.options.printAsHtml&&(window.removeEventListener("beforeprint",this.beforeprintEventHandler),window.removeEventListener("afterprint",this.afterprintEventHandler))}replaceTable(){this.manualBlock||(this.element=document.createElement("div"),this.element.classList.add("tabulator-print-table"),this.element.appendChild(this.table.modules.export.generateTable(this.table.options.printConfig,this.table.options.printStyled,this.table.options.printRowRange,"print")),this.table.element.style.display="none",this.table.element.parentNode.insertBefore(this.element,this.table.element))}cleanup(){document.body.classList.remove("tabulator-print-fullscreen-hide"),this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.table.element.style.display="")}printFullscreen(e,t,i){var n,s,o=window.scrollX,r=window.scrollY,a=document.createElement("div"),l=document.createElement("div"),h=this.table.modules.export.generateTable(void 0!==i?i:this.table.options.printConfig,void 0!==t?t:this.table.options.printStyled,e||this.table.options.printRowRange,"print");this.manualBlock=!0,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(a.classList.add("tabulator-print-header"),"string"==typeof(n="function"==typeof this.table.options.printHeader?this.table.options.printHeader.call(this.table):this.table.options.printHeader)?a.innerHTML=n:a.appendChild(n),this.element.appendChild(a)),this.element.appendChild(h),this.table.options.printFooter&&(l.classList.add("tabulator-print-footer"),"string"==typeof(s="function"==typeof this.table.options.printFooter?this.table.options.printFooter.call(this.table):this.table.options.printFooter)?l.innerHTML=s:l.appendChild(s),this.element.appendChild(l)),document.body.classList.add("tabulator-print-fullscreen-hide"),document.body.appendChild(this.element),this.table.options.printFormatter&&this.table.options.printFormatter(this.element,h),window.print(),this.cleanup(),window.scrollTo(o,r),this.manualBlock=!1}},ReactiveDataModule:class extends s{static moduleName="reactiveData";constructor(e){super(e),this.data=!1,this.blocked=!1,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",!1)}initialize(){this.table.options.reactiveData&&(this.subscribe("cell-value-save-before",this.block.bind(this,"cellsave")),this.subscribe("cell-value-save-after",this.unblock.bind(this,"cellsave")),this.subscribe("row-data-save-before",this.block.bind(this,"rowsave")),this.subscribe("row-data-save-after",this.unblock.bind(this,"rowsave")),this.subscribe("row-data-init-after",this.watchRow.bind(this)),this.subscribe("data-processing",this.watchData.bind(this)),this.subscribe("table-destroy",this.unwatchData.bind(this)))}watchData(e){var t,i=this;this.currentVersion++,t=this.currentVersion,this.unwatchData(),this.data=e,this.origFuncs.push=e.push,Object.defineProperty(this.data,"push",{enumerable:!1,configurable:!0,value:function(){var n,s=Array.from(arguments);return i.blocked||t!==i.currentVersion||(i.block("data-push"),s.forEach((e=>{i.table.rowManager.addRowActual(e,!1)})),n=i.origFuncs.push.apply(e,arguments),i.unblock("data-push")),n}}),this.origFuncs.unshift=e.unshift,Object.defineProperty(this.data,"unshift",{enumerable:!1,configurable:!0,value:function(){var n,s=Array.from(arguments);return i.blocked||t!==i.currentVersion||(i.block("data-unshift"),s.forEach((e=>{i.table.rowManager.addRowActual(e,!0)})),n=i.origFuncs.unshift.apply(e,arguments),i.unblock("data-unshift")),n}}),this.origFuncs.shift=e.shift,Object.defineProperty(this.data,"shift",{enumerable:!1,configurable:!0,value:function(){var n,s;return i.blocked||t!==i.currentVersion||(i.block("data-shift"),i.data.length&&(n=i.table.rowManager.getRowFromDataObject(i.data[0]))&&n.deleteActual(),s=i.origFuncs.shift.call(e),i.unblock("data-shift")),s}}),this.origFuncs.pop=e.pop,Object.defineProperty(this.data,"pop",{enumerable:!1,configurable:!0,value:function(){var n,s;return i.blocked||t!==i.currentVersion||(i.block("data-pop"),i.data.length&&(n=i.table.rowManager.getRowFromDataObject(i.data[i.data.length-1]))&&n.deleteActual(),s=i.origFuncs.pop.call(e),i.unblock("data-pop")),s}}),this.origFuncs.splice=e.splice,Object.defineProperty(this.data,"splice",{enumerable:!1,configurable:!0,value:function(){var n,s,o=Array.from(arguments),r=o[0]<0?e.length+o[0]:o[0],a=o[1],l=!!o[2]&&o.slice(2);if(!i.blocked&&t===i.currentVersion){if(i.block("data-splice"),l&&((n=!!e[r]&&i.table.rowManager.getRowFromDataObject(e[r]))?l.forEach((e=>{i.table.rowManager.addRowActual(e,!0,n,!0)})):(l=l.slice().reverse()).forEach((e=>{i.table.rowManager.addRowActual(e,!0,!1,!0)}))),0!==a){var h=e.slice(r,void 0===o[1]?o[1]:r+a);h.forEach(((e,t)=>{var n=i.table.rowManager.getRowFromDataObject(e);n&&n.deleteActual(t!==h.length-1)}))}(l||0!==a)&&i.table.rowManager.reRenderInPosition(),s=i.origFuncs.splice.apply(e,arguments),i.unblock("data-splice")}return s}})}unwatchData(){if(!1!==this.data)for(var e in this.origFuncs)Object.defineProperty(this.data,e,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(e){var t=e.getData();for(var i in t)this.watchKey(e,t,i);this.table.options.dataTree&&this.watchTreeChildren(e)}watchTreeChildren(e){var t=this,i=e.getData()[this.table.options.dataTreeChildField],n={};i&&(n.push=i.push,Object.defineProperty(i,"push",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-push");var s=n.push.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-push")}return s}}),n.unshift=i.unshift,Object.defineProperty(i,"unshift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-unshift");var s=n.unshift.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-unshift")}return s}}),n.shift=i.shift,Object.defineProperty(i,"shift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-shift");var s=n.shift.call(i);this.rebuildTree(e),t.unblock("tree-shift")}return s}}),n.pop=i.pop,Object.defineProperty(i,"pop",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-pop");var s=n.pop.call(i);this.rebuildTree(e),t.unblock("tree-pop")}return s}}),n.splice=i.splice,Object.defineProperty(i,"splice",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-splice");var s=n.splice.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-splice")}return s}}))}rebuildTree(e){this.table.modules.dataTree.initializeRow(e),this.table.modules.dataTree.layoutRow(e),this.table.rowManager.refreshActiveData("tree",!1,!0)}watchKey(e,t,i){var n=this,s=Object.getOwnPropertyDescriptor(t,i),o=t[i],r=this.currentVersion;Object.defineProperty(t,i,{set:t=>{if(o=t,!n.blocked&&r===n.currentVersion){n.block("key");var a={};a[i]=t,e.updateData(a),n.unblock("key")}s.set&&s.set(t)},get:()=>(s.get&&s.get(),o)})}unwatchRow(e){var t=e.getData();for(var i in t)Object.defineProperty(t,i,{value:t[i]})}block(e){this.blocked||(this.blocked=e)}unblock(e){this.blocked===e&&(this.blocked=!1)}},ResizeColumnsModule:class extends s{static moduleName="resizeColumns";constructor(e){super(e),this.startColumn=!1,this.startX=!1,this.startWidth=!1,this.latestX=!1,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=!1,this.registerColumnOption("resizable",!0),this.registerTableOption("resizableColumnFit",!1),this.registerTableOption("resizableColumnGuide",!1)}initialize(){this.subscribe("column-rendered",this.layoutColumnHeader.bind(this))}initializeEventWatchers(){this.initialized||(this.subscribe("cell-rendered",this.layoutCellHandles.bind(this)),this.subscribe("cell-delete",this.deInitializeComponent.bind(this)),this.subscribe("cell-height",this.resizeHandle.bind(this)),this.subscribe("column-moved",this.columnLayoutUpdated.bind(this)),this.subscribe("column-hide",this.deInitializeColumn.bind(this)),this.subscribe("column-show",this.columnLayoutUpdated.bind(this)),this.subscribe("column-width",this.columnWidthUpdated.bind(this)),this.subscribe("column-delete",this.deInitializeComponent.bind(this)),this.subscribe("column-height",this.resizeHandle.bind(this)),this.initialized=!0)}layoutCellHandles(e){"row"===e.row.type&&(this.deInitializeComponent(e),this.initializeColumn("cell",e,e.column,e.element))}layoutColumnHeader(e){e.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(e),this.initializeColumn("header",e,e,e.element))}columnLayoutUpdated(e){var t=e.prevColumn();this.reinitializeColumn(e),t&&this.reinitializeColumn(t)}columnWidthUpdated(e){e.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(e)?this.table.modules.frozenColumns.leftColumns.forEach((e=>{this.reinitializeColumn(e)})):this.table.modules.frozenColumns.rightColumns.includes(e)&&this.table.modules.frozenColumns.rightColumns.forEach((e=>{this.reinitializeColumn(e)})))}frozenColumnOffset(e){var t=!1;return e.modules.frozen&&(t=e.modules.frozen.marginValue,"left"===e.modules.frozen.position?t+=e.getWidth()-3:t&&(t-=3)),!1!==t&&t+"px"}reinitializeColumn(e){var t=this.frozenColumnOffset(e);e.cells.forEach((i=>{i.modules.resize&&i.modules.resize.handleEl&&(t&&(i.modules.resize.handleEl.style[e.modules.frozen.position]=t,i.modules.resize.handleEl.style["z-index"]=11),i.element.after(i.modules.resize.handleEl))})),e.modules.resize&&e.modules.resize.handleEl&&(t&&(e.modules.resize.handleEl.style[e.modules.frozen.position]=t),e.element.after(e.modules.resize.handleEl))}initializeColumn(e,t,i,n){var s=this,o=i.definition.resizable,r={},a=i.getLastColumn();if("header"===e&&(r={variableHeight:"textarea"==i.definition.formatter||i.definition.variableHeight}),(!0===o||o==e)&&this._checkResizability(a)){var l=document.createElement("span");l.className="tabulator-col-resize-handle",l.addEventListener("click",(function(e){e.stopPropagation()}));var h=function(e){s.startColumn=i,s.initialNextColumn=s.nextColumn=a.nextColumn(),s._mouseDown(e,a,l)};l.addEventListener("mousedown",h),l.addEventListener("touchstart",h,{passive:!0}),l.addEventListener("dblclick",(e=>{var t=a.getWidth();e.stopPropagation(),a.reinitializeWidth(!0),t!==a.getWidth()&&(s.dispatch("column-resized",a),s.dispatchExternal("columnResized",a.getComponent()))})),i.modules.frozen&&(l.style.position="sticky",l.style[i.modules.frozen.position]=this.frozenColumnOffset(i)),r.handleEl=l,n.parentNode&&i.visible&&n.after(l)}t.modules.resize=r}deInitializeColumn(e){this.deInitializeComponent(e),e.cells.forEach((e=>{this.deInitializeComponent(e)}))}deInitializeComponent(e){var t;e.modules.resize&&(t=e.modules.resize.handleEl)&&t.parentElement&&t.parentElement.removeChild(t)}resizeHandle(e,t){e.modules.resize&&e.modules.resize.handleEl&&(e.modules.resize.handleEl.style.height=t)}resize(e,t){var i,n,s=void 0===e.clientX?e.touches[0].clientX:e.clientX,o=s-this.startX,r=s-this.latestX;if(this.latestX=s,this.table.rtl&&(o=-o,r=-r),i=t.width==t.minWidth||t.width==t.maxWidth,t.setWidth(this.startWidth+o),n=t.width==t.minWidth||t.width==t.maxWidth,r<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&(!i||!n)){let e=this.nextColumn.getWidth();r>0&&e<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-r)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights()}calcGuidePosition(e,t,i){var n=void 0===e.clientX?e.touches[0].clientX:e.clientX,s=i.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,o=this.table.element.getBoundingClientRect().x,r=t.element.getBoundingClientRect().left-o,a=n-this.startX,l=Math.max(s+a,r+t.minWidth);return t.maxWidth&&(l=Math.min(l,r+t.maxWidth)),l}_checkResizability(e){return e.definition.resizable}_mouseDown(e,t,i){var n,s=this;function o(e){s.table.options.resizableColumnGuide?n.style.left=s.calcGuidePosition(e,t,i)+"px":s.resize(e,t)}function r(e){s.table.options.resizableColumnGuide&&(s.resize(e,t),n.remove()),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!1),s.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights(),document.body.removeEventListener("mouseup",r),document.body.removeEventListener("mousemove",o),i.removeEventListener("touchmove",o),i.removeEventListener("touchend",r),s.table.element.classList.remove("tabulator-block-select"),s.startWidth!==t.getWidth()&&(s.table.columnManager.verticalAlignHeaders(),s.dispatch("column-resized",t),s.dispatchExternal("columnResized",t.getComponent()))}this.dispatchExternal("columnResizing",t.getComponent()),s.table.options.resizableColumnGuide&&((n=document.createElement("span")).classList.add("tabulator-col-resize-guide"),s.table.element.appendChild(n),setTimeout((()=>{n.style.left=s.calcGuidePosition(e,t,i)+"px"}))),s.table.element.classList.add("tabulator-block-select"),e.stopPropagation(),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!0),s.startX=void 0===e.clientX?e.touches[0].clientX:e.clientX,s.latestX=s.startX,s.startWidth=t.getWidth(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",r),i.addEventListener("touchmove",o,{passive:!0}),i.addEventListener("touchend",r)}},ResizeRowsModule:class extends s{static moduleName="resizeRows";constructor(e){super(e),this.startColumn=!1,this.startY=!1,this.startHeight=!1,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",!1),this.registerTableOption("resizableRowGuide",!1)}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this))}initializeRow(e){var t=this,i=e.getElement(),n=document.createElement("div");n.className="tabulator-row-resize-handle";var s=document.createElement("div");s.className="tabulator-row-resize-handle prev",n.addEventListener("click",(function(e){e.stopPropagation()}));var o=function(i){t.startRow=e,t._mouseDown(i,e,n)};n.addEventListener("mousedown",o),n.addEventListener("touchstart",o,{passive:!0}),s.addEventListener("click",(function(e){e.stopPropagation()}));var r=function(i){var n=t.table.rowManager.prevDisplayRow(e);n&&(t.startRow=n,t._mouseDown(i,n,s))};s.addEventListener("mousedown",r),s.addEventListener("touchstart",r,{passive:!0}),i.appendChild(n),i.appendChild(s)}resize(e,t){t.setHeight(this.startHeight+((void 0===e.screenY?e.touches[0].screenY:e.screenY)-this.startY))}calcGuidePosition(e,t,i){var n=void 0===e.screenY?e.touches[0].screenY:e.screenY,s=i.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,o=this.table.element.getBoundingClientRect().y,r=t.element.getBoundingClientRect().top-o,a=n-this.startY;return Math.max(s+a,r)}_mouseDown(e,t,i){var n,s=this;function o(e){s.table.options.resizableRowGuide?n.style.top=s.calcGuidePosition(e,t,i)+"px":s.resize(e,t)}function r(e){s.table.options.resizableRowGuide&&(s.resize(e,t),n.remove()),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",o),i.removeEventListener("touchmove",o),i.removeEventListener("touchend",r),s.table.element.classList.remove("tabulator-block-select"),s.dispatchExternal("rowResized",t.getComponent())}s.dispatchExternal("rowResizing",t.getComponent()),s.table.options.resizableRowGuide&&((n=document.createElement("span")).classList.add("tabulator-row-resize-guide"),s.table.element.appendChild(n),setTimeout((()=>{n.style.top=s.calcGuidePosition(e,t,i)+"px"}))),s.table.element.classList.add("tabulator-block-select"),e.stopPropagation(),s.startY=void 0===e.screenY?e.touches[0].screenY:e.screenY,s.startHeight=t.getHeight(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",r),i.addEventListener("touchmove",o,{passive:!0}),i.addEventListener("touchend",r)}},ResizeTableModule:class extends s{static moduleName="resizeTable";constructor(e){super(e),this.binding=!1,this.visibilityObserver=!1,this.resizeObserver=!1,this.containerObserver=!1,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=!1,this.visible=!1,this.initialized=!1,this.initialRedraw=!1,this.registerTableOption("autoResize",!0)}initialize(){if(this.table.options.autoResize){var e,t=this.table;this.tableHeight=t.element.clientHeight,this.tableWidth=t.element.clientWidth,t.element.parentNode&&(this.containerHeight=t.element.parentNode.clientHeight,this.containerWidth=t.element.parentNode.clientWidth),"undefined"!=typeof IntersectionObserver&&"undefined"!=typeof ResizeObserver&&"virtual"===t.rowManager.getRenderMode()?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver((e=>{if(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell)){var i=Math.floor(e[0].contentRect.height),n=Math.floor(e[0].contentRect.width);this.tableHeight==i&&this.tableWidth==n||(this.tableHeight=i,this.tableWidth=n,t.element.parentNode&&(this.containerHeight=t.element.parentNode.clientHeight,this.containerWidth=t.element.parentNode.clientWidth),this.redrawTable())}})),this.resizeObserver.observe(t.element),e=window.getComputedStyle(t.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(e.getPropertyValue("max-height")||e.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver((e=>{if(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell)){var i=Math.floor(e[0].contentRect.height),n=Math.floor(e[0].contentRect.width);this.containerHeight==i&&this.containerWidth==n||(this.containerHeight=i,this.containerWidth=n,this.tableHeight=t.element.clientHeight,this.tableWidth=t.element.clientWidth),this.redrawTable()}})),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell))&&(t.columnManager.rerenderColumns(!0),t.redraw())},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver((e=>{this.visible=e[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)})),this.visibilityObserver.observe(this.table.element)}redrawTable(e){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(e))}tableResized(){this.table.rowManager.redraw()}clearBindings(){this.binding&&window.removeEventListener("resize",this.binding),this.resizeObserver&&this.resizeObserver.unobserve(this.table.element),this.visibilityObserver&&this.visibilityObserver.unobserve(this.table.element),this.containerObserver&&this.containerObserver.unobserve(this.table.element.parentNode)}},ResponsiveLayoutModule:class extends s{static moduleName="responsiveLayout";static moduleExtensions=de;constructor(e){super(e),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=!0,this.collapseHandleColumn=!1,this.registerTableOption("responsiveLayout",!1),this.registerTableOption("responsiveLayoutCollapseStartOpen",!0),this.registerTableOption("responsiveLayoutCollapseUseFormatters",!0),this.registerTableOption("responsiveLayoutCollapseFormatter",!1),this.registerColumnOption("responsive")}initialize(){this.table.options.responsiveLayout&&(this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-show",this.updateColumnVisibility.bind(this)),this.subscribe("column-hide",this.updateColumnVisibility.bind(this)),this.subscribe("columns-loaded",this.initializeResponsivity.bind(this)),this.subscribe("column-moved",this.initializeResponsivity.bind(this)),this.subscribe("column-add",this.initializeResponsivity.bind(this)),this.subscribe("column-delete",this.initializeResponsivity.bind(this)),this.subscribe("table-redrawing",this.tableRedraw.bind(this)),"collapse"===this.table.options.responsiveLayout&&(this.subscribe("row-data-changed",this.generateCollapsedRowContent.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout",this.layoutRow.bind(this))))}tableRedraw(e){-1===["fitColumns","fitDataStretch"].indexOf(this.layoutMode())&&(e||this.update())}initializeResponsivity(){var e=[];this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&(this.collapseFormatter=this.collapseFormatter.bind(this.table)),this.table.columnManager.columnsByIndex.forEach(((t,i)=>{t.modules.responsive&&t.modules.responsive.order&&t.modules.responsive.visible&&(t.modules.responsive.index=i,e.push(t),t.visible||"collapse"!==this.mode||this.hiddenColumns.push(t))})),e=(e=e.reverse()).sort(((e,t)=>t.modules.responsive.order-e.modules.responsive.order||t.modules.responsive.index-e.modules.responsive.index)),this.columns=e,"collapse"===this.mode&&this.generateCollapsedContent();for(let e of this.table.columnManager.columnsByIndex)if("responsiveCollapse"==e.definition.formatter){this.collapseHandleColumn=e;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(e){var t=e.getDefinition();e.modules.responsive={order:void 0===t.responsive?1:t.responsive,visible:!1!==t.visible}}initializeRow(e){var t;"calc"!==e.type&&((t=document.createElement("div")).classList.add("tabulator-responsive-collapse"),e.modules.responsiveLayout={element:t,open:this.collapseStartOpen},this.collapseStartOpen||(t.style.display="none"))}layoutRow(e){var t=e.getElement();e.modules.responsiveLayout&&(t.appendChild(e.modules.responsiveLayout.element),this.generateCollapsedRowContent(e))}updateColumnVisibility(e,t){!t&&e.modules.responsive&&(e.modules.responsive.visible=e.visible,this.initializeResponsivity())}hideColumn(e){var t=this.hiddenColumns.length;e.hide(!1,!0),"collapse"===this.mode&&(this.hiddenColumns.unshift(e),this.generateCollapsedContent(),this.collapseHandleColumn&&!t&&this.collapseHandleColumn.show())}showColumn(e){var t;e.show(!1,!0),e.setWidth(e.getWidth()),"collapse"===this.mode&&((t=this.hiddenColumns.indexOf(e))>-1&&this.hiddenColumns.splice(t,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var e=!0;e;){let t="fitColumns"==this.table.modules.layout.getMode()?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),i=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-t;if(i<0){let t=this.columns[this.index];t?(this.hideColumn(t),this.index++):e=!1}else{let t=this.columns[this.index-1];t&&i>0&&i>=t.getWidth()?(this.showColumn(t),this.index--):e=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){this.table.rowManager.getDisplayRows().forEach((e=>{this.generateCollapsedRowContent(e)}))}generateCollapsedRowContent(e){var t,i;if(e.modules.responsiveLayout){for(t=e.modules.responsiveLayout.element;t.firstChild;)t.removeChild(t.firstChild);(i=this.collapseFormatter(this.generateCollapsedRowData(e)))&&t.appendChild(i),e.calcHeight(!0)}}generateCollapsedRowData(e){var t,i=e.getData(),n=[];return this.hiddenColumns.forEach((s=>{var o=s.getFieldValue(i);if(s.definition.title&&s.field)if(s.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters){function r(e){e()}t={value:!1,data:{},getValue:function(){return o},getData:function(){return i},getType:function(){return"cell"},getElement:function(){return document.createElement("div")},getRow:function(){return e.getComponent()},getColumn:function(){return s.getComponent()},getTable:()=>this.table},n.push({field:s.field,title:s.definition.title,value:s.modules.format.formatter.call(this.table.modules.format,t,s.modules.format.params,r)})}else n.push({field:s.field,title:s.definition.title,value:o})})),n}formatCollapsedData(e){var t=document.createElement("table");return e.forEach((e=>{var i,n=document.createElement("tr"),s=document.createElement("td"),o=document.createElement("td"),r=document.createElement("strong");s.appendChild(r),this.modules.localize.bind("columns|"+e.field,(function(t){r.innerHTML=t||e.title})),e.value instanceof Node?((i=document.createElement("div")).appendChild(e.value),o.appendChild(i)):o.innerHTML=e.value,n.appendChild(s),n.appendChild(o),t.appendChild(n)})),Object.keys(e).length?t:""}},SelectRangeModule:class extends s{static moduleName="selectRange";static moduleInitOrder=1;static moduleExtensions=fe;constructor(e){super(e),this.selecting="cell",this.mousedown=!1,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=!1,this.rowSelection=!1,this.maxRanges=0,this.activeRange=!1,this.blockKeydown=!1,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",!1),this.registerTableOption("selectableRangeColumns",!1),this.registerTableOption("selectableRangeRows",!1),this.registerTableOption("selectableRangeClearCells",!1),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableFunction("getRangesData",this.getRangesData.bind(this)),this.registerTableFunction("getRanges",this.getRanges.bind(this)),this.registerTableFunction("addRange",this.addRangeFromComponent.bind(this)),this.registerComponentFunction("cell","getRanges",this.cellGetRanges.bind(this)),this.registerComponentFunction("row","getRanges",this.rowGetRanges.bind(this)),this.registerComponentFunction("column","getRanges",this.colGetRanges.bind(this))}initialize(){this.options("selectableRange")&&(this.options("selectableRows")?console.warn("SelectRange functionality cannot be used in conjunction with row selection"):(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()),this.options("columns").findIndex((e=>e.frozen))>0&&console.warn("Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior."),this.options("columns").filter((e=>e.frozen))>1&&console.warn("Having multiple frozen columns with selectRange option may result in unpredictable behavior."))}initializeTable(){this.overlay=document.createElement("div"),this.overlay.classList.add("tabulator-range-overlay"),this.rangeContainer=document.createElement("div"),this.rangeContainer.classList.add("tabulator-range-container"),this.activeRangeCellElement=document.createElement("div"),this.activeRangeCellElement.classList.add("tabulator-range-cell-active"),this.overlay.appendChild(this.rangeContainer),this.overlay.appendChild(this.activeRangeCellElement),this.table.rowManager.element.addEventListener("keydown",this.keyDownEvent),this.resetRanges(),this.table.rowManager.element.appendChild(this.overlay),this.table.columnManager.element.setAttribute("tabindex",0),this.table.element.classList.add("tabulator-ranges")}initializeWatchers(){this.columnSelection=this.options("selectableRangeColumns"),this.rowSelection=this.options("selectableRangeRows"),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-mousedown",this.handleColumnMouseDown.bind(this)),this.subscribe("column-mousemove",this.handleColumnMouseMove.bind(this)),this.subscribe("column-resized",this.handleColumnResized.bind(this)),this.subscribe("column-width",this.layoutChange.bind(this)),this.subscribe("column-height",this.layoutChange.bind(this)),this.subscribe("column-resized",this.layoutChange.bind(this)),this.subscribe("columns-loaded",this.updateHeaderColumn.bind(this)),this.subscribe("cell-height",this.layoutChange.bind(this)),this.subscribe("cell-rendered",this.renderCell.bind(this)),this.subscribe("cell-mousedown",this.handleCellMouseDown.bind(this)),this.subscribe("cell-mousemove",this.handleCellMouseMove.bind(this)),this.subscribe("cell-click",this.handleCellClick.bind(this)),this.subscribe("cell-editing",this.handleEditingCell.bind(this)),this.subscribe("page-changed",this.redraw.bind(this)),this.subscribe("scroll-vertical",this.layoutChange.bind(this)),this.subscribe("scroll-horizontal",this.layoutChange.bind(this)),this.subscribe("data-destroy",this.tableDestroyed.bind(this)),this.subscribe("data-processed",this.resetRanges.bind(this)),this.subscribe("table-layout",this.layoutElement.bind(this)),this.subscribe("table-redraw",this.redraw.bind(this)),this.subscribe("table-destroy",this.tableDestroyed.bind(this)),this.subscribe("edit-editor-clear",this.finishEditingCell.bind(this)),this.subscribe("edit-blur",this.restoreFocus.bind(this)),this.subscribe("keybinding-nav-prev",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-next",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-left",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-right",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-up",this.keyNavigate.bind(this,"up")),this.subscribe("keybinding-nav-down",this.keyNavigate.bind(this,"down")),this.subscribe("keybinding-nav-range",this.keyNavigateRange.bind(this))}initializeColumn(e){this.columnSelection&&e.definition.headerSort&&"icon"!==this.options("headerSortClickElement")&&console.warn("Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'."),e.modules.edit}updateHeaderColumn(){var e;this.rowSelection&&(this.rowHeader=this.table.columnManager.getVisibleColumnsByIndex()[0],this.rowHeader&&(this.rowHeader.definition.cssClass=this.rowHeader.definition.cssClass+" tabulator-range-row-header",this.rowHeader.definition.headerSort&&console.warn("Using column headerSort with selectableRangeRows option may result in unpredictable behavior"),this.rowHeader.definition.editor&&console.warn("Using column editor with selectableRangeRows option may result in unpredictable behavior"))),this.table.modules.frozenColumns&&this.table.modules.frozenColumns.active&&((e=this.table.modules.frozenColumns.getFrozenColumns()).length>1||1===e.length&&e[0]!==this.rowHeader)&&console.warn("Using frozen columns that are not the range header in combination with the selectRange option may result in unpredictable behavior")}getRanges(){return this.ranges.map((e=>e.getComponent()))}getRangesData(){return this.ranges.map((e=>e.getData()))}addRangeFromComponent(e,t){return e=e?e._cell:null,t=t?t._cell:null,this.addRange(e,t)}cellGetRanges(e){var t=[];return t=e.column===this.rowHeader?this.ranges.filter((t=>t.occupiesRow(e.row))):this.ranges.filter((t=>t.occupies(e))),t.map((e=>e.getComponent()))}rowGetRanges(e){var t=this.ranges.filter((t=>t.occupiesRow(e)));return t.map((e=>e.getComponent()))}colGetRanges(e){var t=this.ranges.filter((t=>t.occupiesColumn(e)));return t.map((e=>e.getComponent()))}_handleMouseUp(e){this.mousedown=!1,document.removeEventListener("mouseup",this.mouseUpEvent)}_handleKeyDown(e){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if("Enter"===e.key){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),e.preventDefault()}"Backspace"!==e.key&&"Delete"!==e.key||!this.options("selectableRangeClearCells")||this.activeRange&&this.activeRange.clearValues()}}initializeFocus(e){var t;try{document.selection?((t=document.body.createTextRange()).moveToElementText(e.getElement()),t.select()):window.getSelection&&((t=document.createRange()).selectNode(e.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(t))}catch(e){}}restoreFocus(e){return this.table.rowManager.element.focus(),!0}handleColumnResized(e){var t;"column"!==this.selecting&&"all"!==this.selecting||(t=this.ranges.some((t=>t.occupiesColumn(e))),t&&this.ranges.forEach((t=>{t.getColumns(!0).forEach((t=>{t!==e&&t.setWidth(e.width)}))})))}handleColumnMouseDown(e,t){(2!==e.button||"column"!==this.selecting&&"all"!==this.selecting||!this.activeRange.occupiesColumn(t))&&(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleColumnMouseMove(e,t){t!==this.rowHeader&&this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,t,!0)}renderCell(e){var t=e.getElement(),i=this.ranges.findIndex((t=>t.occupies(e)));t.classList.toggle("tabulator-range-selected",-1!==i),t.classList.toggle("tabulator-range-only-cell-selected",1===this.ranges.length&&this.ranges[0].atTopLeft(e)&&this.ranges[0].atBottomRight(e)),t.dataset.range=i}handleCellMouseDown(e,t){2===e.button&&(this.activeRange.occupies(t)||("row"===this.selecting||"all"===this.selecting)&&this.activeRange.occupiesRow(t.row))||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleCellMouseMove(e,t){this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,t,!0)}handleCellClick(e,t){this.initializeFocus(t)}handleEditingCell(e){this.activeRange&&this.activeRange.setBounds(e)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout((()=>{this.blockKeydown=!1}),10)}keyNavigate(e,t){this.navigate(!1,!1,e)&&t.preventDefault()}keyNavigateRange(e,t,i,n){this.navigate(i,n,t)&&e.preventDefault()}navigate(e,t,i){var n,s,o,r,a,l,h;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter((e=>e===this.activeRange?(e.setEnd(e.start.row,e.start.col),!0):(e.destroy(),!1)))),s=this.activeRange,r=(o=t?s.end:s.start).row,a=o.col,e)switch(i){case"left":a=this.findJumpCellLeft(s.start.row,o.col);break;case"right":a=this.findJumpCellRight(s.start.row,o.col);break;case"up":r=this.findJumpCellUp(o.row,s.start.col);break;case"down":r=this.findJumpCellDown(o.row,s.start.col)}else{if(t&&("row"===this.selecting&&("left"===i||"right"===i)||"column"===this.selecting&&("up"===i||"down"===i)))return;switch(i){case"left":a=Math.max(a-1,0);break;case"right":a=Math.min(a+1,this.getTableColumns().length-1);break;case"up":r=Math.max(r-1,0);break;case"down":r=Math.min(r+1,this.getTableRows().length-1)}}return n=a!==o.col||r!==o.row,t||s.setStart(r,a),s.setEnd(r,a),t||(this.selecting="cell"),n?(l=this.getRowByRangePos(s.end.row),h=this.getColumnByRangePos(s.end.col),"left"!==i&&"right"!==i||null!==h.getElement().parentNode?"up"!==i&&"down"!==i||null!==l.getElement().parentNode?this.autoScroll(s,l.getElement(),h.getElement()):l.getComponent().scrollTo(void 0,!1):h.getComponent().scrollTo(void 0,!1),this.layoutElement(),!0):void 0}rangeRemoved(e){this.ranges=this.ranges.filter((t=>t!==e)),this.activeRange===e&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpCell(e,t,i,n){var s;t&&(e=e.reverse());for(let t of e){let e=t.getValue();if(i){if(s=t,e)break}else if(n){if(s=t,e)break}else{if(!e)break;s=t}}return s}findJumpCellLeft(e,t){var i=this.getRowByRangePos(e).cells.filter((e=>e.column.visible)),n=!i[t].getValue(),s=!!i[t]&&!i[t].getValue(),o=t,r=this.rowHeader?i.slice(1,t):i.slice(0,t),a=this.findJumpCell(r,!0,n,s);return a&&(o=a.column.getPosition()-1),o}findJumpCellRight(e,t){var i=this.getRowByRangePos(e).cells.filter((e=>e.column.visible)),n=!i[t].getValue(),s=!!i[t+1]&&!i[t+1].getValue(),o=t,r=this.findJumpCell(i.slice(t+1,i.length),!1,n,s);return r&&(o=r.column.getPosition()-1),o}findJumpCellUp(e,t){var i=this.getColumnByRangePos(t).cells.filter((e=>this.table.rowManager.activeRows.includes(e.row))),n=!i[e].getValue(),s=!!i[e-1]&&!i[e-1].getValue(),o=e,r=this.findJumpCell(i.slice(0,o),!0,n,s);return r&&(o=r.row.position-1),o}findJumpCellDown(e,t){var i=this.getColumnByRangePos(t).cells.filter((e=>this.table.rowManager.activeRows.includes(e.row))),n=!i[e].getValue(),s=!!i[e+1]&&!i[e+1].getValue(),o=e,r=this.findJumpCell(i.slice(o+1,i.length),!1,n,s);return r&&(o=r.row.position-1),o}newSelection(e,t){var i;if("column"===t.type){if(!this.columnSelection)return;if(t===this.rowHeader){i=this.resetRanges(),this.selecting="all";var n,s=this.getCell(-1,-1);return n=this.rowHeader?this.getCell(0,1):this.getCell(0,0),void i.setBounds(n,s)}this.selecting="column"}else t.column===this.rowHeader?this.selecting="row":this.selecting="cell";e.shiftKey?this.activeRange.setBounds(!1,t):e.ctrlKey?this.addRange().setBounds(t):this.resetRanges().setBounds(t)}autoScroll(e,t,i){var n,s,o,r,a,l=this.table.rowManager.element;void 0===t&&(t=this.getRowByRangePos(e.end.row).getElement()),void 0===i&&(i=this.getColumnByRangePos(e.end.col).getElement()),this.rowHeader&&(n=this.rowHeader.getElement()),s={left:i.offsetLeft,right:i.offsetLeft+i.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight},o={left:l.scrollLeft,right:Math.ceil(l.scrollLeft+l.clientWidth),top:l.scrollTop,bottom:l.scrollTop+l.offsetHeight-this.table.rowManager.scrollbarWidth},n&&(o.left+=n.offsetWidth),r=o.left<s.left&&s.left<o.right&&o.left<s.right&&s.right<o.right,a=o.top<s.top&&s.top<o.bottom&&o.top<s.bottom&&s.bottom<o.bottom,r||(s.left<o.left?(l.scrollLeft=s.left,n&&(l.scrollLeft-=n.offsetWidth)):s.right>o.right&&(l.scrollLeft=s.right-l.clientWidth)),a||(s.top<o.top?l.scrollTop=s.top:s.bottom>o.bottom&&(l.scrollTop=s.bottom-l.clientHeight))}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(e){e&&(this.selecting="cell",this.resetRanges(),this.layoutElement())}layoutElement(e){(e?this.table.rowManager.getVisibleRows(!0):this.table.rowManager.getRows()).forEach((e=>{"row"===e.type&&(this.layoutRow(e),e.cells.forEach((e=>this.renderCell(e))))})),this.getTableColumns().forEach((e=>{this.layoutColumn(e)})),this.layoutRanges()}layoutRow(e){var t=e.getElement(),i=!1,n=this.ranges.some((t=>t.occupiesRow(e)));"row"===this.selecting?i=n:"all"===this.selecting&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",n)}layoutColumn(e){var t=e.getElement(),i=!1,n=this.ranges.some((t=>t.occupiesColumn(e)));"column"===this.selecting?i=n:"all"===this.selecting&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",n)}layoutRanges(){var e,t,i;this.table.initialized&&(e=this.getActiveCell())&&(t=e.getElement(),i=e.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=i.offsetWidth-t.offsetLeft-t.offsetWidth+"px":this.activeRangeCellElement.style.left=i.offsetLeft+t.offsetLeft+"px",this.activeRangeCellElement.style.top=i.offsetTop+"px",this.activeRangeCellElement.style.width=t.offsetWidth+"px",this.activeRangeCellElement.style.height=i.offsetHeight+"px",this.ranges.forEach((e=>e.layout())),this.overlay.style.visibility="visible")}getCell(e,t){var i;return t<0&&(t=this.getTableColumns().length+t)<0?null:(e<0&&(e=this.getTableRows().length+e),(i=this.table.rowManager.getRowFromPosition(e+1))?i.getCells(!1,!0).filter((e=>e.column.visible))[t]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(e){return this.getTableRows()[e]}getColumnByRangePos(e){return this.getTableColumns()[e]}getTableRows(){return this.table.rowManager.getDisplayRows().filter((e=>"row"===e.type))}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(e,t){var i;return!0!==this.maxRanges&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),i=new ge(this.table,this,e,t),this.activeRange=i,this.ranges.push(i),this.rangeContainer.appendChild(i.element),i}resetRanges(){var e,t,i;return this.ranges.forEach((e=>e.destroy())),this.ranges=[],e=this.addRange(),this.table.rowManager.activeRows.length&&(i=this.table.rowManager.activeRows[0].cells.filter((e=>e.column.visible)),(t=i[this.rowHeader?1:0])&&(e.setBounds(t),this.initializeFocus(t))),e}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent)}selectedRows(e){return e?this.activeRange.getRows().map((e=>e.getComponent())):this.activeRange.getRows()}selectedColumns(e){return e?this.activeRange.getColumns().map((e=>e.getComponent())):this.activeRange.getColumns()}},SelectRowModule:class extends s{static moduleName="selectRow";static moduleExtensions=pe;constructor(e){super(e),this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",!0),this.registerTableOption("selectableRowsPersistence",!0),this.registerTableOption("selectableRowsCheck",(function(e,t){return!0})),this.registerTableFunction("selectRow",this.selectRows.bind(this)),this.registerTableFunction("deselectRow",this.deselectRows.bind(this)),this.registerTableFunction("toggleSelectRow",this.toggleRow.bind(this)),this.registerTableFunction("getSelectedRows",this.getSelectedRows.bind(this)),this.registerTableFunction("getSelectedData",this.getSelectedData.bind(this)),this.registerComponentFunction("row","select",this.selectRows.bind(this)),this.registerComponentFunction("row","deselect",this.deselectRows.bind(this)),this.registerComponentFunction("row","toggleSelect",this.toggleRow.bind(this)),this.registerComponentFunction("row","isSelected",this.isRowSelected.bind(this))}initialize(){this.deprecatedOptionsCheck(),"highlight"===this.table.options.selectableRows&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),!1!==this.table.options.selectableRows&&(this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-deleting",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clearSelectionData.bind(this)),this.subscribe("rows-retrieve",this.rowRetrieve.bind(this)),this.table.options.selectableRows&&!this.table.options.selectableRowsPersistence&&this.subscribe("data-refreshing",this.deselectRows.bind(this)))}deprecatedOptionsCheck(){}rowRetrieve(e,t){return"selected"===e?this.selectedRows:t}rowDeleted(e){this._deselectRow(e,!0)}clearSelectionData(e){var t=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],t&&!0!==e&&this._rowSelectionChanged()}initializeRow(e){var t=this,i=t.checkRowSelectability(e),n=e.getElement(),s=function(){setTimeout((function(){t.selecting=!1}),50),document.body.removeEventListener("mouseup",s)};e.modules.select={selected:!1},n.classList.toggle("tabulator-selectable",i),n.classList.toggle("tabulator-unselectable",!i),t.checkRowSelectability(e)&&t.table.options.selectableRows&&"highlight"!=t.table.options.selectableRows&&("click"===t.table.options.selectableRowsRangeMode?n.addEventListener("click",this.handleComplexRowClick.bind(this,e)):(n.addEventListener("click",(function(i){t.table.modExists("edit")&&t.table.modules.edit.getCurrentCell()||t.table._clearSelection(),t.selecting||t.toggleRow(e)})),n.addEventListener("mousedown",(function(i){if(i.shiftKey)return t.table._clearSelection(),t.selecting=!0,t.selectPrev=[],document.body.addEventListener("mouseup",s),document.body.addEventListener("keyup",s),t.toggleRow(e),!1})),n.addEventListener("mouseenter",(function(i){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]))})),n.addEventListener("mouseout",(function(i){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e))}))))}handleComplexRowClick(e,t){if(t.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||e;var i=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),n=this.table.rowManager.getDisplayRowIndex(e),s=i<=n?i:n,o=i>=n?i:n,r=this.table.rowManager.getDisplayRows().slice(0).splice(s,o-s+1);t.ctrlKey||t.metaKey?(r.forEach((t=>{t!==this.lastClickedRow&&(!0===this.table.options.selectableRows||this.isRowSelected(e)||this.selectedRows.length<this.table.options.selectableRows)&&this.toggleRow(t)})),this.lastClickedRow=e):(this.deselectRows(void 0,!0),!0!==this.table.options.selectableRows&&r.length>this.table.options.selectableRows&&(r=r.slice(0,this.table.options.selectableRows)),this.selectRows(r)),this.table._clearSelection()}else t.ctrlKey||t.metaKey?(this.toggleRow(e),this.lastClickedRow=e):(this.deselectRows(void 0,!0),this.selectRows(e),this.lastClickedRow=e)}checkRowSelectability(e){return!(!e||"row"!==e.type)&&this.table.options.selectableRowsCheck.call(this.table,e.getComponent())}toggleRow(e){this.checkRowSelectability(e)&&(e.modules.select&&e.modules.select.selected?this._deselectRow(e):this._selectRow(e))}selectRows(e){var t,i,n=[];switch(typeof e){case"undefined":t=this.table.rowManager.rows;break;case"number":t=this.table.rowManager.findRow(e);break;case"string":(t=this.table.rowManager.findRow(e))||(t=this.table.rowManager.getRows(e));break;default:t=e}Array.isArray(t)?t.length&&(t.forEach((e=>{(i=this._selectRow(e,!0,!0))&&n.push(i)})),this._rowSelectionChanged(!1,n)):t&&this._selectRow(t,!1,!0)}_selectRow(e,t,i){if(!isNaN(this.table.options.selectableRows)&&!0!==this.table.options.selectableRows&&!i&&this.selectedRows.length>=this.table.options.selectableRows){if(!this.table.options.selectableRowsRollingSelection)return!1;this._deselectRow(this.selectedRows[0])}var n=this.table.rowManager.findRow(e);if(n){if(-1==this.selectedRows.indexOf(n))return n.getElement().classList.add("tabulator-selected"),n.modules.select||(n.modules.select={}),n.modules.select.selected=!0,n.modules.select.checkboxEl&&(n.modules.select.checkboxEl.checked=!0),this.selectedRows.push(n),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(n,!0),this.dispatchExternal("rowSelected",n.getComponent()),this._rowSelectionChanged(t,n),n}else t||console.warn("Selection Error - No such row found, ignoring selection:"+e)}isRowSelected(e){return-1!==this.selectedRows.indexOf(e)}deselectRows(e,t){var i,n,s=[];switch(typeof e){case"undefined":i=Object.assign([],this.selectedRows);break;case"number":i=this.table.rowManager.findRow(e);break;case"string":(i=this.table.rowManager.findRow(e))||(i=this.table.rowManager.getRows(e));break;default:i=e}Array.isArray(i)?i.length&&(i.forEach((e=>{(n=this._deselectRow(e,!0,!0))&&s.push(n)})),this._rowSelectionChanged(t,[],s)):i&&this._deselectRow(i,t,!0)}_deselectRow(e,t){var i,n,s=this,o=s.table.rowManager.findRow(e);if(o){if((i=s.selectedRows.findIndex((function(e){return e==o})))>-1)return(n=o.getElement())&&n.classList.remove("tabulator-selected"),o.modules.select||(o.modules.select={}),o.modules.select.selected=!1,o.modules.select.checkboxEl&&(o.modules.select.checkboxEl.checked=!1),s.selectedRows.splice(i,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(o,!1),this.dispatchExternal("rowDeselected",o.getComponent()),s._rowSelectionChanged(t,void 0,o),o}else t||console.warn("Deselection Error - No such row found, ignoring selection:"+e)}getSelectedData(){var e=[];return this.selectedRows.forEach((function(t){e.push(t.getData())})),e}getSelectedRows(){var e=[];return this.selectedRows.forEach((function(t){e.push(t.getComponent())})),e}_rowSelectionChanged(e,t=[],i=[]){this.headerCheckboxElement&&(0===this.selectedRows.length?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=!0,this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),e||(Array.isArray(t)||(t=[t]),t=t.map((e=>e.getComponent())),Array.isArray(i)||(i=[i]),i=i.map((e=>e.getComponent())),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),t,i))}registerRowSelectCheckbox(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t}registerHeaderSelectCheckbox(e){this.headerCheckboxElement=e}childRowSelection(e,t){var i=this.table.modules.dataTree.getChildren(e,!0,!0);if(t)for(let e of i)this._selectRow(e,!0);else for(let e of i)this._deselectRow(e,!0)}},SortModule:we,SpreadsheetModule:class extends s{static moduleName="spreadsheet";constructor(e){super(e),this.sheets=[],this.element=null,this.registerTableOption("spreadsheet",!1),this.registerTableOption("spreadsheetRows",50),this.registerTableOption("spreadsheetColumns",50),this.registerTableOption("spreadsheetColumnDefinition",{}),this.registerTableOption("spreadsheetOutputFull",!1),this.registerTableOption("spreadsheetData",!1),this.registerTableOption("spreadsheetSheets",!1),this.registerTableOption("spreadsheetSheetTabs",!1),this.registerTableOption("spreadsheetSheetTabsElement",!1),this.registerTableFunction("setSheets",this.setSheets.bind(this)),this.registerTableFunction("addSheet",this.addSheet.bind(this)),this.registerTableFunction("getSheets",this.getSheets.bind(this)),this.registerTableFunction("getSheetDefinitions",this.getSheetDefinitions.bind(this)),this.registerTableFunction("setSheetData",this.setSheetData.bind(this)),this.registerTableFunction("getSheet",this.getSheet.bind(this)),this.registerTableFunction("getSheetData",this.getSheetData.bind(this)),this.registerTableFunction("clearSheet",this.clearSheet.bind(this)),this.registerTableFunction("removeSheet",this.removeSheetFunc.bind(this)),this.registerTableFunction("activeSheet",this.activeSheetFunc.bind(this))}initialize(){this.options("spreadsheet")&&(this.subscribe("table-initialized",this.tableInitialized.bind(this)),this.subscribe("data-loaded",this.loadRemoteData.bind(this)),this.table.options.index="_id",this.options("spreadsheetData")&&this.options("spreadsheetSheets")&&(console.warn("You cannot use spreadsheetData and spreadsheetSheets at the same time, ignoring spreadsheetData"),this.table.options.spreadsheetData=!1),this.compatibilityCheck(),this.options("spreadsheetSheetTabs")&&this.initializeTabset())}compatibilityCheck(){this.options("data")&&console.warn("Do not use the data option when working with spreadsheets, use either spreadsheetData or spreadsheetSheets to pass data into the table"),this.options("pagination")&&console.warn("The spreadsheet module is not compatible with the pagination module"),this.options("groupBy")&&console.warn("The spreadsheet module is not compatible with the row grouping module"),this.options("responsiveCollapse")&&console.warn("The spreadsheet module is not compatible with the responsive collapse module")}initializeTabset(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tabs");var e=this.options("spreadsheetSheetTabsElement");!e||e instanceof HTMLElement||(e=document.querySelector(e))||console.warn("Unable to find element matching spreadsheetSheetTabsElement selector:",this.options("spreadsheetSheetTabsElement")),e?e.appendChild(this.element):this.footerAppend(this.element)}tableInitialized(){this.sheets.length?this.loadSheet(this.sheets[0]):this.options("spreadsheetSheets")?this.loadSheets(this.options("spreadsheetSheets")):this.options("spreadsheetData")&&this.loadData(this.options("spreadsheetData"))}loadRemoteData(e,t,i){return console.log("data",e,t,i),Array.isArray(e)?(this.table.dataLoader.clearAlert(),this.dispatchExternal("dataLoaded",e),!e.length||Array.isArray(e[0])?this.loadData(e):this.loadSheets(e)):console.error("Spreadsheet Loading Error - Unable to process remote data due to invalid data type \nExpecting: array \nReceived: ",typeof e,"\nData: ",e),!1}loadData(e){var t={data:e};this.loadSheet(this.newSheet(t))}destroySheets(){this.sheets.forEach((e=>{e.destroy()})),this.sheets=[],this.activeSheet=null}loadSheets(e){Array.isArray(e)||(e=[]),this.destroySheets(),e.forEach((e=>{this.newSheet(e)})),this.loadSheet(this.sheets[0])}loadSheet(e){this.activeSheet!==e&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=e,e.load())}newSheet(e={}){var t;return e.rows||(e.rows=this.options("spreadsheetRows")),e.columns||(e.columns=this.options("spreadsheetColumns")),t=new Ee(this,e),this.sheets.push(t),this.element&&this.element.appendChild(t.element),t}removeSheet(e){var t,i=this.sheets.indexOf(e);this.sheets.length>1?i>-1&&(this.sheets.splice(i,1),e.destroy(),this.activeSheet===e&&((t=this.sheets[i-1]||this.sheets[0])?this.loadSheet(t):this.activeSheet=null)):console.warn("Unable to remove sheet, at least one sheet must be active")}lookupSheet(e){return e?e instanceof Ee?e:e instanceof ye?e._sheet:this.sheets.find((t=>t.key===e))||!1:this.activeSheet}setSheets(e){return this.loadSheets(e),this.getSheets()}addSheet(e){return this.newSheet(e).getComponent()}getSheetDefinitions(){return this.sheets.map((e=>e.getDefinition()))}getSheets(){return this.sheets.map((e=>e.getComponent()))}getSheet(e){var t=this.lookupSheet(e);return!!t&&t.getComponent()}setSheetData(e,t){e&&!t&&(t=e,e=!1);var i=this.lookupSheet(e);return!!i&&i.setData(t)}getSheetData(e){var t=this.lookupSheet(e);return!!t&&t.getData()}clearSheet(e){var t=this.lookupSheet(e);return!!t&&t.clear()}removeSheetFunc(e){var t=this.lookupSheet(e);t&&this.removeSheet(t)}activeSheetFunc(e){var t=this.lookupSheet(e);return!!t&&this.loadSheet(t)}},TooltipModule:class extends s{static moduleName="tooltip";constructor(e){super(e),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip")}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeColumn(e){e.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=!0,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),e.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=!0,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")))}mousemoveCheck(e,t,i){var n="tooltip"===e?i.column.definition.tooltip:i.definition.headerTooltip;n&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,t,i,n),this.table.options.tooltipDelay))}mouseoutCheck(e,t,i){this.popupInstance||this.clearPopup()}clearPopup(e,t,i){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(e,t,i){var n,s,o;"function"==typeof i&&(i=i(e,t.getComponent(),(function(e){s=e}))),i instanceof HTMLElement?n=i:(n=document.createElement("div"),!0===i&&(t instanceof y?i=t.value:t.definition.field?this.langBind("columns|"+t.definition.field,(e=>{n.innerHTML=i=e||t.definition.title})):i=t.definition.title),n.innerHTML=i),(i||0===i||!1===i)&&(n.classList.add("tabulator-tooltip"),n.addEventListener("mousemove",(e=>e.preventDefault())),this.popupInstance=this.popup(n),"function"==typeof s&&this.popupInstance.renderCallback(s),o=this.popupInstance.containerEventCoords(e),this.popupInstance.show(o.x+15,o.y+15).hideOnBlur((()=>{this.dispatchExternal("TooltipClosed",t.getComponent()),this.popupInstance=null})),this.dispatchExternal("TooltipOpened",t.getComponent()))}},ValidateModule:_e}),xe={debugEventsExternal:!1,debugEventsInternal:!1,debugInvalidOptions:!0,debugInvalidComponentFuncs:!0,debugInitialization:!0,debugDeprecation:!0,height:!1,minHeight:!1,maxHeight:!1,columnHeaderVertAlign:"top",popupContainer:!1,columns:[],columnDefaults:{},rowHeader:!1,data:!1,autoColumns:!1,autoColumnsDefinitions:!1,nestedFieldSeparator:".",footerElement:!1,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:!0,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:!0,scrollToColumnPosition:"left",scrollToColumnIfVisible:!0,rowFormatter:!1,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:!1,dataLoader:!0,dataLoaderLoading:!1,dataLoaderError:!1,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{}};class Se{constructor(e,t,i={}){this.table=e,this.msgType=t,this.registeredDefaults=Object.assign({},i)}register(e,t){this.registeredDefaults[e]=t}generate(e,t={}){var i=Object.assign({},this.registeredDefaults),n=this.table.options.debugInvalidOptions||!0===t.debugInvalidOptions;Object.assign(i,e);for(let e in t)i.hasOwnProperty(e)||(n&&console.warn("Invalid "+this.msgType+" option:",e),i[e]=t.key);for(let e in i)e in t?i[e]=t[e]:Array.isArray(i[e])?i[e]=Object.assign([],i[e]):"object"==typeof i[e]&&null!==i[e]?i[e]=Object.assign({},i[e]):void 0===i[e]&&delete i[e];return i}}class Me extends e{constructor(e){super(e),this.elementVertical=e.rowManager.element,this.elementHorizontal=e.columnManager.element,this.tableElement=e.rowManager.tableElement,this.verticalFillMode="fit"}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(e){}renderRows(){}renderColumns(){}rerenderRows(e){e&&e()}rerenderColumns(e,t){}renderRowCells(e){}rerenderRowCells(e,t){}scrollColumns(e,t){}scrollRows(e,t){}resize(){}scrollToRow(e){}scrollToRowNearestTop(e){}visibleRows(e){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(e){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(e,i,n){var s=this.rows().indexOf(e),o=e.getElement(),r=0;return new Promise(((a,l)=>{if(s>-1){if(void 0===n&&(n=this.table.options.scrollToRowIfVisible),!n&&t.elVisible(o)&&(r=t.elOffset(o).top-t.elOffset(this.elementVertical).top)>0&&r<this.elementVertical.clientHeight-o.offsetHeight)return a(),!1;switch(void 0===i&&(i=this.table.options.scrollToRowPosition),"nearest"===i&&(i=this.scrollToRowNearestTop(e)?"top":"bottom"),this.scrollToRow(e),i){case"middle":case"center":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop+(o.offsetTop-this.elementVertical.scrollTop)-(this.elementVertical.scrollHeight-o.offsetTop)/2:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight/2;break;case"bottom":this.elementVertical.scrollHeight-this.elementVertical.scrollTop==this.elementVertical.clientHeight?this.elementVertical.scrollTop=this.elementVertical.scrollTop-(this.elementVertical.scrollHeight-o.offsetTop)+o.offsetHeight:this.elementVertical.scrollTop=this.elementVertical.scrollTop-this.elementVertical.clientHeight+o.offsetHeight;break;case"top":this.elementVertical.scrollTop=o.offsetTop}a()}else console.warn("Scroll Error - Row not visible"),l("Scroll Error - Row not visible")}))}}class Le extends Me{constructor(e){super(e)}renderRowCells(e,t){const i=document.createDocumentFragment();e.cells.forEach((e=>{i.appendChild(e.getElement())})),e.element.appendChild(i),t||e.cells.forEach((e=>{e.cellRendered()}))}reinitializeColumnWidths(e){e.forEach((function(e){e.reinitializeWidth()}))}}class ke extends Me{constructor(e){super(e),this.leftCol=0,this.rightCol=0,this.scrollLeft=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0,this.fitDataColAvg=0,this.windowBuffer=200,this.visibleRows=null,this.initialized=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){"fitDataTable"==this.options("layout")&&console.warn("Horizontal Virtual DOM is not compatible with fitDataTable layout mode"),this.options("responsiveLayout")&&console.warn("Horizontal Virtual DOM is not compatible with responsive columns"),this.options("rtl")&&console.warn("Horizontal Virtual DOM is not currently compatible with RTL text direction")}layoutCheck(){this.isFitData=this.options("layout").startsWith("fitData")}vertScrollListen(){this.subscribe("scroll-vertical",this.clearVisRowCache.bind(this)),this.subscribe("data-refreshed",this.clearVisRowCache.bind(this))}clearVisRowCache(){this.visibleRows=null}renderColumns(e,t){this.dataChange()}scrollColumns(e,t){this.scrollLeft!=e&&(this.scrollLeft=e,this.scroll(e-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var e=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach((t=>{if(t.visible){var i=t.getWidth();i>e&&(e=i)}})),this.windowBuffer=2*e}rerenderColumns(e,t){var i={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},n=0;e&&!this.initialized||(this.clear(),this.calcWindowBuffer(),this.scrollLeft=this.elementVertical.scrollLeft,this.vDomScrollPosLeft=this.scrollLeft-this.windowBuffer,this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,this.table.columnManager.columnsByIndex.forEach((e=>{var t,i={};e.visible&&(e.modules.frozen||(t=e.getWidth(),i.leftPos=n,i.rightPos=n+t,i.width=t,this.isFitData&&(i.fitDataCheck=!e.modules.vdomHoz||e.modules.vdomHoz.fitDataCheck),n+t>this.vDomScrollPosLeft&&n<this.vDomScrollPosRight?(-1==this.leftCol&&(this.leftCol=this.columns.length,this.vDomPadLeft=n),this.rightCol=this.columns.length):-1!==this.leftCol&&(this.vDomPadRight+=t),this.columns.push(e),e.modules.vdomHoz=i,n+=t))})),this.tableElement.style.paddingLeft=this.vDomPadLeft+"px",this.tableElement.style.paddingRight=this.vDomPadRight+"px",this.initialized=!0,t||e&&!this.reinitChanged(i)||this.reinitializeRows(),this.elementVertical.scrollLeft=this.scrollLeft)}renderRowCells(e){if(this.initialized)this.initializeRow(e);else{const t=document.createDocumentFragment();e.cells.forEach((e=>{t.appendChild(e.getElement())})),e.element.appendChild(t),e.cells.forEach((e=>{e.cellRendered()}))}}rerenderRowCells(e,t){this.reinitializeRow(e,t)}reinitializeColumnWidths(e){for(let e=this.leftCol;e<=this.rightCol;e++)this.columns[e].reinitializeWidth()}deinitialize(){this.initialized=!1}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0}dataChange(){var e,t,i=!1;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach((e=>{!e.definition.width&&e.visible&&(i=!0)})),i&&this.table.rowManager.getDisplayRows().length&&(this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,e=this.chain("rows-sample",[1],[],(()=>this.table.rowManager.getDisplayRows()))[0])){t=e.getElement(),e.generateCells(),this.tableElement.appendChild(t);for(let i=0;i<e.cells.length;i++){let n=e.cells[i];t.appendChild(n.getElement()),n.column.reinitializeWidth()}t.parentNode.removeChild(t),this.rerenderColumns(!1,!0)}}else"fitColumns"===this.options("layout")&&(this.layoutRefresh(),this.rerenderColumns(!1,!0))}reinitChanged(e){var t=!0;return e.cols.length!==this.columns.length||e.leftCol!==this.leftCol||e.rightCol!==this.rightCol||(e.cols.forEach(((e,i)=>{e!==this.columns[i]&&(t=!1)})),!t)}reinitializeRows(){var e=this.getVisibleRows(),t=this.table.rowManager.getRows().filter((t=>!e.includes(t)));e.forEach((e=>{this.reinitializeRow(e,!0)})),t.forEach((e=>{e.deinitialize()}))}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(e){this.vDomScrollPosLeft+=e,this.vDomScrollPosRight+=e,Math.abs(e)>this.windowBuffer/2?this.rerenderColumns():e>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(e,t,i){for(let n=e;n<t;n++){let e=this.columns[n];e.modules.vdomHoz.leftPos+=i,e.modules.vdomHoz.rightPos+=i}}addColRight(){for(var e=!1,t=!0;t;){let i=this.columns[this.rightCol+1];i&&i.modules.vdomHoz.leftPos<=this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.rightCol]).getElement().nextSibling),t.cellRendered()}})),this.fitDataColActualWidthCheck(i),this.rightCol++,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.rightCol=this.rightCol)})),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=i.getWidth()):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}addColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol-1];if(i)if(i.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.leftCol]).getElement()),t.cellRendered()}})),this.leftCol--,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.leftCol=this.leftCol)})),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=i.getWidth();let t=this.fitDataColActualWidthCheck(i);t&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+t,this.vDomPadRight-=t)}else t=!1;else t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}removeColRight(){for(var e=!1,t=!0;t;){let i=this.columns[this.rightCol];i&&i.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn("Could not removeColRight",e.message)}}})),this.vDomPadRight+=i.getWidth(),this.rightCol--,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.rightCol=this.rightCol)}))):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}removeColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol];i&&i.modules.vdomHoz.rightPos<this.vDomScrollPosLeft?(e=!0,this.getVisibleRows().forEach((e=>{if("group"!==e.type){var t=e.getCell(i);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn("Could not removeColLeft",e.message)}}})),this.vDomPadLeft+=i.getWidth(),this.leftCol++,this.getVisibleRows().forEach((e=>{"group"!==e.type&&(e.modules.vdomHoz.leftCol=this.leftCol)}))):t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}fitDataColActualWidthCheck(e){var t,i;return e.modules.vdomHoz.fitDataCheck&&(e.reinitializeWidth(),(i=(t=e.getWidth())-e.modules.vdomHoz.width)&&(e.modules.vdomHoz.rightPos+=i,e.modules.vdomHoz.width=t,this.colPositionAdjust(this.columns.indexOf(e)+1,this.columns.length,i)),e.modules.vdomHoz.fitDataCheck=!1),i}initializeRow(e){if("group"!==e.type){e.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach((t=>{this.appendCell(e,t)}));for(let t=this.leftCol;t<=this.rightCol;t++)this.appendCell(e,this.columns[t]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach((t=>{this.appendCell(e,t)}))}}appendCell(e,t){if(t&&t.visible){let i=e.getCell(t);e.getElement().appendChild(i.getElement()),i.cellRendered()}}reinitializeRow(e,t){if("group"!==e.type&&(t||!e.modules.vdomHoz||e.modules.vdomHoz.leftCol!==this.leftCol||e.modules.vdomHoz.rightCol!==this.rightCol)){for(var i=e.getElement();i.firstChild;)i.removeChild(i.firstChild);this.initializeRow(e)}}}class De extends e{constructor(e){super(e),this.blockHozScrollEvent=!1,this.headersElement=null,this.contentsElement=null,this.rowHeader=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new Se(this.table,"column definition",R),this.redrawBlock=!1,this.redrawBlockUpdate=null,this.renderer=null}initialize(){this.initializeRenderer(),this.headersElement=this.createHeadersElement(),this.contentsElement=this.createHeaderContentsElement(),this.element=this.createHeaderElement(),this.contentsElement.insertBefore(this.headersElement,this.contentsElement.firstChild),this.element.insertBefore(this.contentsElement,this.element.firstChild),this.initializeScrollWheelWatcher(),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("scrollbar-vertical",this.padVerticalScrollbar.bind(this))}padVerticalScrollbar(e){this.table.rtl?this.headersElement.style.marginLeft=e+"px":this.headersElement.style.marginRight=e+"px"}initializeRenderer(){var e,t={virtual:ke,basic:Le};(e="string"==typeof this.table.options.renderHorizontal?t[this.table.options.renderHorizontal]:this.table.options.renderHorizontal)?(this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error("Unable to find matching renderer:",this.table.options.renderHorizontal)}createHeadersElement(){var e=document.createElement("div");return e.classList.add("tabulator-headers"),e.setAttribute("role","row"),e}createHeaderContentsElement(){var e=document.createElement("div");return e.classList.add("tabulator-header-contents"),e.setAttribute("role","rowgroup"),e}createHeaderElement(){var e=document.createElement("div");return e.classList.add("tabulator-header"),e.setAttribute("role","rowgroup"),this.table.options.headerVisible||e.classList.add("tabulator-header-hidden"),e}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(e){this.contentsElement.scrollLeft=e,this.scrollLeft=e,this.renderer.scrollColumns(e)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",(e=>{var t;e.deltaX&&(t=this.contentsElement.scrollLeft+e.deltaX,this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))}))}generateColumnsFromRowData(e){var t=[],i={},n="full"===this.table.options.autoColumns?e:[e[0]],s=this.table.options.autoColumnsDefinitions;if(e&&e.length){if(n.forEach((e=>{Object.keys(e).forEach(((n,s)=>{let o,r=e[n];i[n]?!0!==i[n]&&void 0!==r&&(i[n].sorter=this.calculateSorterFromValue(r),i[n]=!0):(o={field:n,title:n,sorter:this.calculateSorterFromValue(r)},t.splice(s,0,o),i[n]=void 0!==r||o)}))})),s)switch(typeof s){case"function":this.table.options.columns=s.call(this.table,t);break;case"object":Array.isArray(s)?t.forEach((e=>{var t=s.find((t=>t.field===e.field));t&&Object.assign(e,t)})):t.forEach((e=>{s[e.field]&&Object.assign(e,s[e.field])})),this.table.options.columns=t}else this.table.options.columns=t;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(e){var t;switch(typeof e){case"undefined":t="string";break;case"boolean":t="boolean";break;case"number":t="number";break;case"object":t=Array.isArray(e)?"array":"string";break;default:t=isNaN(e)||""===e?e.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?"alphanum":"string":"number"}return t}setColumns(e,t){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),this.dispatchExternal("columnsLoading"),this.table.options.rowHeader&&(this.rowHeader=new _(!0===this.table.options.rowHeader?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),e.forEach(((e,t)=>{this._addColumn(e)})),this._reIndexColumns(),this.dispatch("columns-loaded"),this.subscribedExternal("columnsLoaded")&&this.dispatchExternal("columnsLoaded",this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(e,t,i){var n=new _(e,this),s=n.getElement(),o=i?this.findColumnIndex(i):i;if(!t||!this.rowHeader||i&&i!==this.rowHeader||(t=!1,i=this.rowHeader,o=0),i&&o>-1){var r=i.getTopColumn(),a=this.columns.indexOf(r),l=r.getElement();t?(this.columns.splice(a,0,n),l.parentNode.insertBefore(s,l)):(this.columns.splice(a+1,0,n),l.parentNode.insertBefore(s,l.nextSibling))}else t?(this.columns.unshift(n),this.headersElement.insertBefore(n.getElement(),this.headersElement.firstChild)):(this.columns.push(n),this.headersElement.appendChild(n.getElement()));return n.columnRendered(),n}registerColumnField(e){e.definition.field&&(this.columnsByField[e.definition.field]=e)}registerColumnPosition(e){this.columnsByIndex.push(e)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach((function(e){e.reRegisterPosition()}))}verticalAlignHeaders(){var e=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach((e=>{e.clearVerticalAlign()})),this.columns.forEach((t=>{var i=t.getHeight();i>e&&(e=i)})),this.headersElement.style.height=e+"px",this.columns.forEach((t=>{t.verticalAlign(this.table.options.columnHeaderVertAlign,e)})),this.table.rowManager.adjustTableSize())}findColumn(e){var t;if("object"!=typeof e)return this.columnsByField[e]||!1;if(e instanceof _)return e;if(e instanceof E)return e._getSelf()||!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement){return t=[],this.columns.forEach((e=>{t.push(e),t=t.concat(e.getColumns(!0))})),t.find((t=>t.element===e))||!1}return!1}getColumnByField(e){return this.columnsByField[e]}getColumnsByFieldRoot(e){var t=[];return Object.keys(this.columnsByField).forEach((i=>{(this.table.options.nestedFieldSeparator?i.split(this.table.options.nestedFieldSeparator)[0]:i)===e&&t.push(this.columnsByField[i])})),t}getColumnByIndex(e){return this.columnsByIndex[e]}getFirstVisibleColumn(){var e=this.columnsByIndex.findIndex((e=>e.visible));return e>-1&&this.columnsByIndex[e]}getVisibleColumnsByIndex(){return this.columnsByIndex.filter((e=>e.visible))}getColumns(){return this.columns}findColumnIndex(e){return this.columnsByIndex.findIndex((t=>e===t))}getRealColumns(){return this.columnsByIndex}traverse(e){this.columnsByIndex.forEach(((t,i)=>{e(t,i)}))}getDefinitions(e){var t=[];return this.columnsByIndex.forEach((i=>{(!e||e&&i.visible)&&t.push(i.getDefinition())})),t}getDefinitionTree(){var e=[];return this.columns.forEach((t=>{e.push(t.getDefinition(!0))})),e}getComponents(e){var t=[];return(e?this.columns:this.columnsByIndex).forEach((e=>{t.push(e.getComponent())})),t}getWidth(){var e=0;return this.columnsByIndex.forEach((t=>{t.visible&&(e+=t.getWidth())})),e}moveColumn(e,t,i){t.element.parentNode.insertBefore(e.element,t.element),i&&t.element.parentNode.insertBefore(t.element,e.element),this.moveColumnActual(e,t,i),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(e,t,i){e.parent.isGroup?this._moveColumnInArray(e.parent.columns,e,t,i):this._moveColumnInArray(this.columns,e,t,i),this._moveColumnInArray(this.columnsByIndex,e,t,i,!0),this.rerenderColumns(!0),this.dispatch("column-moved",e,t,i),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",e.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(e,t,i,n,s){var o,r=e.indexOf(t);r>-1&&(e.splice(r,1),(o=e.indexOf(i))>-1?n&&(o+=1):o=r,e.splice(o,0,t),s&&(this.chain("column-moving-rows",[t,i,n],null,[])||[]).concat(this.table.rowManager.rows).forEach((function(e){if(e.cells.length){var t=e.cells.splice(r,1)[0];e.cells.splice(o,0,t)}})))}scrollToColumn(e,t,i){var n=0,s=e.getLeftOffset(),o=0,r=e.getElement();return new Promise(((a,l)=>{if(void 0===t&&(t=this.table.options.scrollToColumnPosition),void 0===i&&(i=this.table.options.scrollToColumnIfVisible),e.visible){switch(t){case"middle":case"center":o=-this.element.clientWidth/2;break;case"right":o=r.clientWidth-this.headersElement.clientWidth}if(!i&&s>0&&s+r.offsetWidth<this.element.clientWidth)return!1;n=s+o,n=Math.max(Math.min(n,this.table.rowManager.element.scrollWidth-this.table.rowManager.element.clientWidth),0),this.table.rowManager.scrollHorizontal(n),this.scrollHorizontal(n),a()}else console.warn("Scroll Error - Column not visible"),l("Scroll Error - Column not visible")}))}generateCells(e){var t=[];return this.columnsByIndex.forEach((i=>{t.push(i.generateCell(e))})),t}getFlexBaseWidth(){var e=this.table.element.clientWidth,t=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(e-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach((function(i){var n,s,o;i.visible&&(n=i.definition.width||0,s=parseInt(i.minWidth),o="string"==typeof n?n.indexOf("%")>-1?e/100*parseInt(n):parseInt(n):n,t+=o>s?o:s)})),t}addColumn(e,t,i){return new Promise(((n,s)=>{var o=this._addColumn(e,t,i);this._reIndexColumns(),this.dispatch("column-add",e,t,i),"fitColumns"!=this.layoutMode()&&o.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),n(o)}))}deregisterColumn(e){var t,i=e.getField();i&&delete this.columnsByField[i],(t=this.columnsByIndex.indexOf(e))>-1&&this.columnsByIndex.splice(t,1),(t=this.columns.indexOf(e))>-1&&this.columns.splice(t,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(e,t){this.redrawBlock?(!1===e||!0===e&&null===this.redrawBlockUpdate)&&(this.redrawBlockUpdate=e):this.renderer.rerenderColumns(e,t)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(e){t.elVisible(this.element)&&this.verticalAlignHeaders(),e&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",e)||this.layoutRefresh(e),this.dispatch("table-redraw",e),this.table.footerManager.redraw()}}class Ae extends Me{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.scrollTop=0,e.scrollLeft=0,e.style.minWidth="",e.style.minHeight="",e.style.display="",e.style.visibility=""}renderRows(){var e=this.tableElement,t=!0,i=document.createDocumentFragment(),n=this.rows();n.forEach(((e,n)=>{this.styleRow(e,n),e.initialize(!1,!0),"group"!==e.type&&(t=!1),i.appendChild(e.getElement())})),e.appendChild(i),n.forEach((e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)})),n.forEach((e=>{e.heightInitialized||e.setCellHeight()})),e.style.minWidth=t?this.table.columnManager.getWidth()+"px":""}rerenderRows(e){this.clearRows(),e&&e(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(e){var i=t.elOffset(e.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-i)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-i))}scrollToRow(e){var i=e.getElement();this.elementVertical.scrollTop=t.elOffset(i).top-t.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(e){return this.rows()}}class Pe extends Me{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.vDomRowHeight=20,this.vDomTop=0,this.vDomBottom=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomMaxRenderChain=90,this.vDomWindowBuffer=0,this.vDomWindowMinTotalRows=20,this.vDomWindowMinMarginRows=5,this.vDomTopNewRows=[],this.vDomBottomNewRows=[]}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.style.paddingTop="",e.style.paddingBottom="",e.style.minHeight="",e.style.display="",e.style.visibility="",this.elementVertical.scrollTop=0,this.elementVertical.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0,this.vDomTop=0,this.vDomBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0}renderRows(){this._virtualRenderFill()}rerenderRows(e){for(var t=this.elementVertical.scrollTop,i=!1,n=!1,s=this.table.rowManager.scrollLeft,o=this.rows(),r=this.vDomTop;r<=this.vDomBottom;r++)if(o[r]){var a=t-o[r].getElement().offsetTop;if(!(!1===n||Math.abs(a)<n))break;n=a,i=r}o.forEach((e=>{e.deinitializeHeight()})),e&&e(),this.rows().length?this._virtualRenderFill(!1===i?this.rows.length-1:i,!0,n||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(s)}scrollColumns(e){this.table.rowManager.scrollHorizontal(e)}scrollRows(e,t){var i=e-this.vDomScrollPosTop,n=e-this.vDomScrollPosBottom,s=2*this.vDomWindowBuffer,o=this.rows();if(this.scrollTop=e,-i>s||n>s){var r=this.table.rowManager.scrollLeft;this._virtualRenderFill(Math.floor(this.elementVertical.scrollTop/this.elementVertical.scrollHeight*o.length)),this.scrollColumns(r)}else t?(i<0&&this._addTopRow(o,-i),n<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(o,-n):this.vDomScrollPosBottom=this.scrollTop)):(n>=0&&this._addBottomRow(o,n),i>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(o,i):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(e){var t=this.rows().indexOf(e);return!(Math.abs(this.vDomTop-t)>Math.abs(this.vDomBottom-t))}scrollToRow(e){var t=this.rows().indexOf(e);t>-1&&this._virtualRenderFill(t,!0)}visibleRows(e){var t=this.elementVertical.scrollTop,i=this.elementVertical.clientHeight+t,n=!1,s=0,o=0,r=this.rows();if(e)s=this.vDomTop,o=this.vDomBottom;else for(var a=this.vDomTop;a<=this.vDomBottom;a++)if(r[a])if(n){if(!(i-r[a].getElement().offsetTop>=0))break;o=a}else if(t-r[a].getElement().offsetTop>=0)s=a;else{if(n=!0,!(i-r[a].getElement().offsetTop>=0))break;o=a}return r.slice(s,o+1)}_virtualRenderFill(e,i,n){var s,o,r=this.tableElement,a=this.elementVertical,l=0,h=0,u=0,c=0,d=0,p=0,m=this.rows(),g=m.length,f=0,b=[],v=0,w=0,C=this.table.rowManager.fixedHeight,y=this.elementVertical.clientHeight,E=this.table.options.rowHeight,R=!0;if(n=n||0,e=e||0){for(;r.firstChild;)r.removeChild(r.firstChild);(c=(g-e+1)*this.vDomRowHeight)<y&&(e-=Math.ceil((y-c)/this.vDomRowHeight))<0&&(e=0),e-=l=Math.min(Math.max(Math.floor(this.vDomWindowBuffer/this.vDomRowHeight),this.vDomWindowMinMarginRows),e)}else this.clear();if(g&&t.elVisible(this.elementVertical)){for(this.vDomTop=e,this.vDomBottom=e-1,C||this.table.options.maxHeight?(E&&(w=y/E+this.vDomWindowBuffer/E),w=Math.max(this.vDomWindowMinTotalRows,Math.ceil(w))):w=g;(w==g||h<=y+this.vDomWindowBuffer||v<this.vDomWindowMinTotalRows)&&this.vDomBottom<g-1;){for(b=[],o=document.createDocumentFragment(),p=0;p<w&&this.vDomBottom<g-1;)s=m[f=this.vDomBottom+1],this.styleRow(s,f),s.initialize(!1,!0),s.heightInitialized||this.table.options.rowHeight||s.clearCellHeight(),o.appendChild(s.getElement()),b.push(s),this.vDomBottom++,p++;if(!b.length)break;r.appendChild(o),b.forEach((e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)})),b.forEach((e=>{e.heightInitialized||e.setCellHeight()})),b.forEach((e=>{u=e.getHeight(),v<l?d+=u:h+=u,u>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*u),v++})),R=this.table.rowManager.adjustTableSize(),y=this.elementVertical.clientHeight,R&&(C||this.table.options.maxHeight)&&(E=h/v,w=Math.max(this.vDomWindowMinTotalRows,Math.ceil(y/E+this.vDomWindowBuffer/E)))}e?(this.vDomTopPad=i?this.vDomRowHeight*this.vDomTop+n:this.scrollTop-d,this.vDomBottomPad=this.vDomBottom==g-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-h-d,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((h+d)/v),this.vDomBottomPad=this.vDomRowHeight*(g-this.vDomBottom-1),this.vDomScrollHeight=d+h+this.vDomBottomPad-y),r.style.paddingTop=this.vDomTopPad+"px",r.style.paddingBottom=this.vDomBottomPad+"px",i&&(this.scrollTop=this.vDomTopPad+d+n-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-y:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-y),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&i&&(this.scrollTop+=this.elementVertical.offsetHeight-y),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,a.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill")}}_addTopRow(e,t){for(var i=this.tableElement,n=[],s=0,o=this.vDomTop-1,r=0,a=!0;a;)if(this.vDomTop){let l,h,u=e[o];u&&r<this.vDomMaxRenderChain?(l=u.getHeight()||this.vDomRowHeight,h=u.initialized,t>=l?(this.styleRow(u,o),i.insertBefore(u.getElement(),i.firstChild),u.initialized&&u.heightInitialized||n.push(u),u.initialize(),h||(l=u.getElement().offsetHeight,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*l)),t-=l,s+=l,this.vDomTop--,o--,r++):a=!1):a=!1}else a=!1;for(let e of n)e.clearCellHeight();this._quickNormalizeRowHeight(n),s&&(this.vDomTopPad-=s,this.vDomTopPad<0&&(this.vDomTopPad=o*this.vDomRowHeight),o<1&&(this.vDomTopPad=0),i.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=s)}_removeTopRow(e,t){for(var i=[],n=0,s=0,o=!0;o;){let r,a=e[this.vDomTop];a&&s<this.vDomMaxRenderChain?(r=a.getHeight()||this.vDomRowHeight,t>=r?(this.vDomTop++,t-=r,n+=r,i.push(a),s++):o=!1):o=!1}for(let e of i){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}n&&(this.vDomTopPad+=n,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?n:n+this.vDomWindowBuffer)}_addBottomRow(e,t){for(var i=this.tableElement,n=[],s=0,o=this.vDomBottom+1,r=0,a=!0;a;){let l,h,u=e[o];u&&r<this.vDomMaxRenderChain?(l=u.getHeight()||this.vDomRowHeight,h=u.initialized,t>=l?(this.styleRow(u,o),i.appendChild(u.getElement()),u.initialized&&u.heightInitialized||n.push(u),u.initialize(),h||(l=u.getElement().offsetHeight,l>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*l)),t-=l,s+=l,this.vDomBottom++,o++,r++):a=!1):a=!1}for(let e of n)e.clearCellHeight();this._quickNormalizeRowHeight(n),s&&(this.vDomBottomPad-=s,(this.vDomBottomPad<0||o==e.length-1)&&(this.vDomBottomPad=0),i.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=s)}_removeBottomRow(e,t){for(var i=[],n=0,s=0,o=!0;o;){let r,a=e[this.vDomBottom];a&&s<this.vDomMaxRenderChain?(r=a.getHeight()||this.vDomRowHeight,t>=r?(this.vDomBottom--,t-=r,n+=r,i.push(a),s++):o=!1):o=!1}for(let e of i){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}n&&(this.vDomBottomPad+=n,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=n)}_quickNormalizeRowHeight(e){for(let t of e)t.calcHeight();for(let t of e)t.setCellHeight()}}class Oe extends e{constructor(e){super(e),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=!1,this.renderMode="virtual",this.fixedHeight=!1,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=!1,this.redrawBlockRestoreConfig=!1,this.redrawBlockRenderInPosition=!1,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null}createHolderElement(){var e=document.createElement("div");return e.classList.add("tabulator-tableholder"),e.setAttribute("tabindex",0),e}createTableElement(){var e=document.createElement("div");return e.classList.add("tabulator-table"),e.setAttribute("role","rowgroup"),e}initializePlaceholder(){var e=this.table.options.placeholder;if("function"==typeof e&&(e=e.call(this.table)),e=this.chain("placeholder",[e],e,e)||e){let t=document.createElement("div");if(t.classList.add("tabulator-placeholder"),"string"==typeof e){let i=document.createElement("div");i.classList.add("tabulator-placeholder-contents"),i.innerHTML=e,t.appendChild(i),this.placeholderContents=i}else"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?(t.appendChild(e),this.placeholderContents=e):(console.warn("Invalid placeholder provided, must be string or HTML Element",e),this.el=null);this.placeholder=t}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener("scroll",(()=>{var e=this.element.scrollLeft,t=this.scrollLeft>e,i=this.element.scrollTop,n=this.scrollTop>i;this.scrollLeft!=e&&(this.scrollLeft=e,this.dispatch("scroll-horizontal",e,t),this.dispatchExternal("scrollHorizontal",e,t),this._positionPlaceholder()),this.scrollTop!=i&&(this.scrollTop=i,this.renderer.scrollRows(i,n),this.dispatch("scroll-vertical",i,n),this.dispatchExternal("scrollVertical",i,n))}))}findRow(e){if("object"!=typeof e){if(void 0===e)return!1;return this.rows.find((t=>t.data[this.table.options.index]==e))||!1}if(e instanceof x)return e;if(e instanceof T)return e._getSelf()||!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement){return this.rows.find((t=>t.getElement()===e))||!1}return!1}getRowFromDataObject(e){return this.rows.find((t=>t.data===e))||!1}getRowFromPosition(e){return this.getDisplayRows().find((t=>"row"===t.type&&t.getPosition()===e&&t.isDisplayed()))}scrollToRow(e,t,i){return this.renderer.scrollToRowPosition(e,t,i)}setData(e,t,i){return new Promise(((n,s)=>{t&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(e,!0):this.reRenderInPosition((()=>{this._setDataActual(e)})):(this.table.options.autoColumns&&i&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(e),this.resetScroll(),this._setDataActual(e)),n()}))}_setDataActual(e,t){this.dispatchExternal("dataProcessing",e),this._wipeElements(),Array.isArray(e)?(this.dispatch("data-processing",e),e.forEach(((e,t)=>{if(e&&"object"==typeof e){var i=new x(e,this);this.rows.push(i)}else console.warn("Data Loading Warning - Invalid row data detected and ignored, expecting object but received:",e)})),this.refreshActiveData(!1,!1,t),this.dispatch("data-processed",e),this.dispatchExternal("dataProcessed",e)):console.error("Data Loading Error - Unable to process data due to invalid data type \nExpecting: array \nReceived: ",typeof e,"\nData: ",e)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped")}destroy(){this.rows.forEach((e=>{e.wipe()})),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(e,t){var i=this.rows.indexOf(e),n=this.activeRows.indexOf(e);n>-1&&this.activeRows.splice(n,1),i>-1&&this.rows.splice(i,1),this.setActiveRows(this.activeRows),this.displayRowIterator((t=>{var i=t.indexOf(e);i>-1&&t.splice(i,1)})),t||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",e.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData())}addRow(e,t,i,n){return this.addRowActual(e,t,i,n)}addRows(e,t,i,n){var s=[];return new Promise(((o,r)=>{t=this.findAddRowPos(t),Array.isArray(e)||(e=[e]),(void 0===i&&t||void 0!==i&&!t)&&e.reverse(),e.forEach(((e,n)=>{var o=this.addRow(e,t,i,!0);s.push(o),this.dispatch("row-added",o,e,t,i)})),this.refreshActiveData(!!n&&"displayPipeline",!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),o(s)}))}findAddRowPos(e){return void 0===e&&(e=this.table.options.addRowPos),"pos"===e&&(e=!0),"bottom"===e&&(e=!1),e}addRowActual(e,t,i,n){var s,o,r=e instanceof x?e:new x(e||{},this),a=this.findAddRowPos(t),l=-1;return i||(o=this.chain("row-adding-position",[r,a],null,{index:i,top:a}),i=o.index,a=o.top),void 0!==i&&(i=this.findRow(i)),(i=this.chain("row-adding-index",[r,i,a],null,i))&&(l=this.rows.indexOf(i)),i&&l>-1?(s=this.activeRows.indexOf(i),this.displayRowIterator((function(e){var t=e.indexOf(i);t>-1&&e.splice(a?t:t+1,0,r)})),s>-1&&this.activeRows.splice(a?s:s+1,0,r),this.rows.splice(a?l:l+1,0,r)):a?(this.displayRowIterator((function(e){e.unshift(r)})),this.activeRows.unshift(r),this.rows.unshift(r)):(this.displayRowIterator((function(e){e.push(r)})),this.activeRows.push(r),this.rows.push(r)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",r.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),n||this.reRenderInPosition(),r}moveRow(e,t,i){this.dispatch("row-move",e,t,i),this.moveRowActual(e,t,i),this.regenerateRowPositions(),this.dispatch("row-moved",e,t,i),this.dispatchExternal("rowMoved",e.getComponent())}moveRowActual(e,t,i){this.moveRowInArray(this.rows,e,t,i),this.moveRowInArray(this.activeRows,e,t,i),this.displayRowIterator((n=>{this.moveRowInArray(n,e,t,i)})),this.dispatch("row-moving",e,t,i)}moveRowInArray(e,t,i,n){var s,o,r;if(t!==i&&((s=e.indexOf(t))>-1&&(e.splice(s,1),(o=e.indexOf(i))>-1?n?e.splice(o+1,0,t):e.splice(o,0,t):e.splice(s,0,t)),e===this.getDisplayRows())){r=o>s?o:s+1;for(let t=s<o?s:o;t<=r;t++)e[t]&&this.styleRow(e[t],t)}}clearData(){this.setData([])}getRowIndex(e){return this.findRowIndex(e,this.rows)}getDisplayRowIndex(e){var t=this.getDisplayRows().indexOf(e);return t>-1&&t}nextDisplayRow(e,t){var i=this.getDisplayRowIndex(e),n=!1;return!1!==i&&i<this.displayRowsCount-1&&(n=this.getDisplayRows()[i+1]),!n||n instanceof x&&"row"==n.type?n:this.nextDisplayRow(n,t)}prevDisplayRow(e,t){var i=this.getDisplayRowIndex(e),n=!1;return i&&(n=this.getDisplayRows()[i-1]),!t||!n||n instanceof x&&"row"==n.type?n:this.prevDisplayRow(n,t)}findRowIndex(e,t){var i;return!!((e=this.findRow(e))&&(i=t.indexOf(e))>-1)&&i}getData(e,t){var i=[];return this.getRows(e).forEach((function(e){"row"==e.type&&i.push(e.getData(t||"data"))})),i}getComponents(e){var t=[];return this.getRows(e).forEach((function(e){t.push(e.getComponent())})),t}getDataCount(e){return this.getRows(e).length}scrollHorizontal(e){this.scrollLeft=e,this.element.scrollLeft=e,this.dispatch("scroll-horizontal",e)}registerDataPipelineHandler(e,t){void 0!==t?(this.dataPipeline.push({handler:e,priority:t}),this.dataPipeline.sort(((e,t)=>e.priority-t.priority))):console.error("Data pipeline handlers must have a priority in order to be registered")}registerDisplayPipelineHandler(e,t){void 0!==t?(this.displayPipeline.push({handler:e,priority:t}),this.displayPipeline.sort(((e,t)=>e.priority-t.priority))):console.error("Display pipeline handlers must have a priority in order to be registered")}refreshActiveData(e,i,n){var s=this.table,o="",r=0,a=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if("function"==typeof e)if((r=this.dataPipeline.findIndex((t=>t.handler===e)))>-1)o="dataPipeline",i&&(r==this.dataPipeline.length-1?o="display":r++);else{if(!((r=this.displayPipeline.findIndex((t=>t.handler===e)))>-1))return void console.error("Unable to refresh data, invalid handler provided",e);o="displayPipeline",i&&(r==this.displayPipeline.length-1?o="end":r++)}else o=e||"all",r=0;if(this.redrawBlock)return void((!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===o&&r<this.redrawBlockRestoreConfig.index||a.indexOf(o)<a.indexOf(this.redrawBlockRestoreConfig.stage)))&&(this.redrawBlockRestoreConfig={handler:e,skipStage:i,renderInPosition:n,stage:o,index:r}));t.elVisible(this.element)?n?this.reRenderInPosition(this.refreshPipelines.bind(this,e,o,r,n)):(this.refreshPipelines(e,o,r,n),e||this.table.columnManager.renderer.renderColumns(),this.renderTable(),s.options.layoutColumnsOnNewData&&this.table.columnManager.redraw(!0)):this.refreshPipelines(e,o,r,n),this.dispatch("data-refreshed")}}refreshPipelines(e,t,i,n){switch(this.dispatch("data-refreshing"),e&&this.activeRowsPipeline[0]||(this.activeRowsPipeline[0]=this.rows.slice(0)),t){case"all":case"dataPipeline":for(let e=i;e<this.dataPipeline.length;e++){let t=this.dataPipeline[e].handler(this.activeRowsPipeline[e].slice(0));this.activeRowsPipeline[e+1]=t||this.activeRowsPipeline[e].slice(0)}this.setActiveRows(this.activeRowsPipeline[this.dataPipeline.length]);case"display":i=0,this.resetDisplayRows();case"displayPipeline":for(let e=i;e<this.displayPipeline.length;e++){let t=this.displayPipeline[e].handler((e?this.getDisplayRows(e-1):this.activeRows).slice(0),n);this.setDisplayRows(t||this.getDisplayRows(e-1).slice(0),e)}case"end":this.regenerateRowPositions()}this.getDisplayRows().length&&this._clearPlaceholder()}regenerateRowPositions(){var e=this.getDisplayRows(),t=1;e.forEach((e=>{"row"===e.type&&(e.setPosition(t),t++)}))}setActiveRows(e){this.activeRows=this.activeRows=Object.assign([],e),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(e,t){this.displayRows[t]=e,t==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(e){return void 0===e?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[e]||[]}getVisibleRows(e,t){var i=Object.assign([],this.renderer.visibleRows(!t));return e&&(i=this.chain("rows-visible",[t],i,i)),i}displayRowIterator(e){this.activeRowsPipeline.forEach(e),this.displayRows.forEach(e),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(e){var t=[];switch(e){case"active":t=this.activeRows;break;case"display":t=this.table.rowManager.getDisplayRows();break;case"visible":t=this.getVisibleRows(!1,!0);break;default:t=this.chain("rows-retrieve",e,null,this.rows)||this.rows}return t}reRenderInPosition(e){this.redrawBlock?e?e():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(e),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"))}scrollBarCheck(){var e=0;this.element.scrollHeight>this.element.clientHeight&&(e=this.element.offsetWidth-this.element.clientWidth),e!==this.scrollbarWidth&&(this.scrollbarWidth=e,this.dispatch("scrollbar-vertical",e))}initializeRenderer(){var e,t={virtual:Pe,basic:Ae};(e="string"==typeof this.table.options.renderVertical?t[this.table.options.renderVertical]:this.table.options.renderVertical)?(this.renderMode=this.table.options.renderVertical,this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize(),!this.table.element.clientHeight&&!this.table.options.height||this.table.options.minHeight&&this.table.options.maxHeight?this.fixedHeight=!1:this.fixedHeight=!0):console.error("Unable to find matching renderer:",this.table.options.renderVertical)}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=!1,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(!0))):this.renderEmptyScroll(),this.fixedHeight||this.adjustTableSize(),this.dispatch("table-layout"),this.displayRowsCount||this._showPlaceholder(),this.scrollBarCheck(),this.dispatchExternal("renderComplete")}renderEmptyScroll(){this.placeholder?this.tableElement.style.display="none":this.tableElement.style.minWidth=this.table.columnManager.getWidth()+"px"}_clearTable(){this._clearPlaceholder(),this.scrollTop=0,this.scrollLeft=0,this.renderer.clearRows()}tableEmpty(){this.renderEmptyScroll(),this._showPlaceholder()}checkPlaceholder(){this.displayRowsCount?this._clearPlaceholder():this.tableEmpty()}_showPlaceholder(){this.placeholder&&(this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.initializePlaceholder(),this.placeholder.setAttribute("tabulator-render-mode",this.renderMode),this.getElement().appendChild(this.placeholder),this._positionPlaceholder(),this.adjustTableSize())}_clearPlaceholder(){this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.tableElement.style.minWidth="",this.tableElement.style.display=""}_positionPlaceholder(){this.placeholder&&this.placeholder.parentNode&&(this.placeholder.style.width=this.table.columnManager.getWidth()+"px",this.placeholderContents.style.width=this.table.rowManager.element.clientWidth+"px",this.placeholderContents.style.marginLeft=this.scrollLeft+"px")}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}normalizeHeight(){this.activeRows.forEach((function(e){e.normalizeHeight()}))}adjustTableSize(){let e,t=this.element.clientHeight,i=!1;if("fill"===this.renderer.verticalFillMode){let n=Math.floor(this.table.columnManager.getElement().getBoundingClientRect().height+(this.table.footerManager&&this.table.footerManager.active&&!this.table.footerManager.external?this.table.footerManager.getElement().getBoundingClientRect().height:0));if(this.fixedHeight){e=isNaN(this.table.options.minHeight)?this.table.options.minHeight:this.table.options.minHeight+"px";const t="calc(100% - "+n+"px)";this.element.style.minHeight=e||"calc(100% - "+n+"px)",this.element.style.height=t,this.element.style.maxHeight=t}else this.element.style.height="",this.element.style.height=this.table.element.clientHeight-n+"px",this.element.scrollTop=this.scrollTop;this.renderer.resize(),this.fixedHeight||t==this.element.clientHeight||(i=!0,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),i}reinitialize(){this.rows.forEach((function(e){e.reinitialize(!0)}))}blockRedraw(){this.redrawBlock=!0,this.redrawBlockRestoreConfig=!1}restoreRedraw(){this.redrawBlock=!1,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=!1):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=!1}redraw(e){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,e?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,"ie"===this.table.browser){var e=document.createEvent("Event");e.initEvent("scroll",!1,!0),this.element.dispatchEvent(e)}else this.element.dispatchEvent(new Event("scroll"))}}class Fe extends e{constructor(e){super(e),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer"),e}createContainerElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer-contents"),this.element.appendChild(e),e}initializeElement(){if(this.table.options.footerElement)if("string"==typeof this.table.options.footerElement)"<"===this.table.options.footerElement[0]?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement));else this.element=this.table.options.footerElement}getElement(){return this.element}append(e){this.activate(),this.containerElement.appendChild(e),this.table.rowManager.adjustTableSize()}prepend(e){this.activate(),this.element.insertBefore(e,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(e){e.parentNode.removeChild(e),this.deactivate()}deactivate(e){this.element.firstChild&&!e||(this.external||this.element.parentNode.removeChild(this.element),this.active=!1)}activate(){this.active||(this.active=!0,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""))}redraw(){this.dispatch("footer-redraw")}}class ze extends e{constructor(e){super(e),this.el=null,this.abortClasses=["tabulator-headers","tabulator-table"],this.previousTargets={},this.listeners=["click","dblclick","contextmenu","mouseenter","mouseleave","mouseover","mouseout","mousemove","mouseup","mousedown","touchstart","touchend"],this.componentMap={"tabulator-cell":"cell","tabulator-row":"row","tabulator-group":"group","tabulator-col":"column"},this.pseudoTrackers={row:{subscriber:null,target:null},cell:{subscriber:null,target:null},group:{subscriber:null,target:null},column:{subscriber:null,target:null}},this.pseudoTracking=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var e={};this.listeners.forEach((t=>{e[t]={handler:null,components:[]}})),this.listeners=e}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach((e=>{this.pseudoTrackers[e].subscriber=this.pseudoMouseEnter.bind(this,e),this.subscribe(e+"-mouseover",this.pseudoTrackers[e].subscriber)})),this.pseudoTracking=!0}pseudoMouseEnter(e,t,i){this.pseudoTrackers[e].target!==i&&(this.pseudoTrackers[e].target&&this.dispatch(e+"-mouseleave",t,this.pseudoTrackers[e].target),this.pseudoMouseLeave(e,t),this.pseudoTrackers[e].target=i,this.dispatch(e+"-mouseenter",t,i))}pseudoMouseLeave(e,t){var i=Object.keys(this.pseudoTrackers),n={row:["cell"],cell:["row"]};(i=i.filter((t=>{var i=n[e];return t!==e&&(!i||i&&!i.includes(t))}))).forEach((e=>{var i=this.pseudoTrackers[e].target;this.pseudoTrackers[e].target&&(this.dispatch(e+"-mouseleave",t,i),this.pseudoTrackers[e].target=null)}))}bindSubscriptionWatchers(){var e=Object.keys(this.listeners),t=Object.values(this.componentMap);for(let i of t)for(let t of e){let e=i+"-"+t;this.subscriptionChange(e,this.subscriptionChanged.bind(this,i,t))}this.subscribe("table-destroy",this.clearWatchers.bind(this))}subscriptionChanged(e,t,i){var n=this.listeners[t].components,s=n.indexOf(e),o=!1;i?-1===s&&(n.push(e),o=!0):this.subscribed(e+"-"+t)||s>-1&&(n.splice(s,1),o=!0),"mouseenter"!==t&&"mouseleave"!==t||this.pseudoTracking||this.bindPseudoEvents(),o&&this.updateEventListeners()}updateEventListeners(){for(let e in this.listeners){let t=this.listeners[e];t.components.length?t.handler||(t.handler=this.track.bind(this,e),this.el.addEventListener(e,t.handler)):t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}track(e,t){var i=t.composedPath&&t.composedPath()||t.path,n=this.findTargets(i);n=this.bindComponents(e,n),this.triggerEvents(e,t,n),!this.pseudoTracking||"mouseover"!=e&&"mouseleave"!=e||Object.keys(n).length||this.pseudoMouseLeave("none",t)}findTargets(e){var t={};let i=Object.keys(this.componentMap);for(let n of e){let e=n.classList?[...n.classList]:[];if(e.filter((e=>this.abortClasses.includes(e))).length)break;let s=e.filter((e=>i.includes(e)));for(let e of s)t[this.componentMap[e]]||(t[this.componentMap[e]]=n)}return t.group&&t.group===t.row&&delete t.row,t}bindComponents(e,t){var i=Object.keys(t).reverse(),n=this.listeners[e],s={},o={};for(let e of i){let i,r=t[e],a=this.previousTargets[e];if(a&&a.target===r)i=a.component;else switch(e){case"row":case"group":if(n.components.includes("row")||n.components.includes("cell")||n.components.includes("group")){i=this.table.rowManager.getVisibleRows(!0).find((e=>e.getElement()===r)),t.row&&t.row.parentNode&&t.row.parentNode.closest(".tabulator-row")&&(t[e]=!1)}break;case"column":n.components.includes("column")&&(i=this.table.columnManager.findColumn(r));break;case"cell":n.components.includes("cell")&&(s.row instanceof x?i=s.row.findCell(r):t.row&&console.warn("Event Target Lookup Error - The row this cell is attached to cannot be found, has the table been reinitialized without being destroyed first?"))}i&&(s[e]=i,o[e]={target:r,component:i})}return this.previousTargets=o,s}triggerEvents(e,t,i){var n=this.listeners[e];for(let s in i)i[s]&&n.components.includes(s)&&this.dispatch(s+"-"+e,t,i[s])}clearWatchers(){for(let e in this.listeners){let t=this.listeners[e];t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}}class He{constructor(e){this.table=e,this.bindings={}}bind(e,t,i){this.bindings[e]||(this.bindings[e]={}),this.bindings[e][t]?console.warn("Unable to bind component handler, a matching function name is already bound",e,t,i):this.bindings[e][t]=i}handle(e,t,i){if(this.bindings[e]&&this.bindings[e][i]&&"function"==typeof this.bindings[e][i].bind)return this.bindings[e][i].bind(null,t);"then"===i||"string"!=typeof i||i.startsWith("_")||this.table.options.debugInvalidComponentFuncs&&console.error("The "+e+" component does not have a "+i+" function, have you checked that you have the correct Tabulator module installed?")}}class Ne extends e{constructor(e){super(e),this.requestOrder=0,this.loading=!1}initialize(){}load(e,t,i,n,s,o){var r=++this.requestOrder;return this.table.destroyed?Promise.resolve():(this.dispatchExternal("dataLoading",e),!e||0!=e.indexOf("{")&&0!=e.indexOf("[")||(e=JSON.parse(e)),this.confirm("data-loading",[e,t,i,s])?(this.loading=!0,s||this.alertLoader(),t=this.chain("data-params",[e,i,s],t||{},t||{}),t=this.mapParams(t,this.table.options.dataSendParams),this.chain("data-load",[e,t,i,s],!1,Promise.resolve([])).then((e=>{if(this.table.destroyed)console.warn("Data Load Response Blocked - Table has been destroyed");else{Array.isArray(e)||"object"!=typeof e||(e=this.mapParams(e,this.objectInvert(this.table.options.dataReceiveParams)));var t=this.chain("data-loaded",[e],null,e);r==this.requestOrder?(this.clearAlert(),!1!==t&&(this.dispatchExternal("dataLoaded",t),this.table.rowManager.setData(t,n,void 0===o?!n:o))):console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made")}})).catch((e=>{console.error("Data Load Error: ",e),this.dispatchExternal("dataLoadError",e),s||this.alertError(),setTimeout((()=>{this.clearAlert()}),this.table.options.dataLoaderErrorTimeout)})).finally((()=>{this.loading=!1}))):(this.dispatchExternal("dataLoaded",e),e||(e=[]),this.table.rowManager.setData(e,n,void 0===o?!n:o),Promise.resolve()))}mapParams(e,t){var i={};for(let n in e)i[t.hasOwnProperty(n)?t[n]:n]=e[n];return i}objectInvert(e){var t={};for(let i in e)t[e[i]]=i;return t}blockActiveLoad(){this.requestOrder++}alertLoader(){("function"==typeof this.table.options.dataLoader?this.table.options.dataLoader():this.table.options.dataLoader)&&this.table.alertManager.alert(this.table.options.dataLoaderLoading||this.langText("data|loading"))}alertError(){this.table.alertManager.alert(this.table.options.dataLoaderError||this.langText("data|error"),"error")}clearAlert(){this.table.alertManager.clear()}}class Ie{constructor(e,t,i){this.table=e,this.events={},this.optionsList=t||{},this.subscriptionNotifiers={},this.dispatch=i?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=i}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t){if(!((i=this.events[e].findIndex((e=>e===t)))>-1))return void console.warn("Cannot remove event, no matching event found:",e,t);this.events[e].splice(i,1)}else delete this.events[e];this._notifySubscriptionChange(e,!1)}else console.warn("Cannot remove event, no events set on:",e)}subscribed(e){return this.events[e]&&this.events[e].length}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach((e=>{e(t)}))}_dispatch(){var e,t=Array.from(arguments),i=t.shift();return this.events[i]&&this.events[i].forEach(((i,n)=>{let s=i.apply(this.table,t);n||(e=s)})),e}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="ExternalEvent:"+e[0],(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}}class Be{constructor(e){this.events={},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=e?this._debugChain.bind(this):this._chain.bind(this),this.confirm=e?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=e}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t,i=1e4){this.events[e]||(this.events[e]=[]),this.events[e].push({callback:t,priority:i}),this.events[e].sort(((e,t)=>e.priority-t.priority)),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t){if(!((i=this.events[e].findIndex((e=>e.callback===t)))>-1))return void console.warn("Cannot remove event, no matching event found:",e,t);this.events[e].splice(i,1)}this._notifySubscriptionChange(e,!1)}else console.warn("Cannot remove event, no events set on:",e)}subscribed(e){return this.events[e]&&this.events[e].length}_chain(e,t,i,n){var s=i;return Array.isArray(t)||(t=[t]),this.subscribed(e)?(this.events[e].forEach(((e,i)=>{s=e.callback.apply(this,t.concat([s]))})),s):"function"==typeof n?n():n}_confirm(e,t){var i=!1;return Array.isArray(t)||(t=[t]),this.subscribed(e)&&this.events[e].forEach(((e,n)=>{e.callback.apply(this,t)&&(i=!0)})),i}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach((e=>{e(t)}))}_dispatch(){var e=Array.from(arguments),t=e.shift();this.events[t]&&this.events[t].forEach((t=>{t.callback.apply(this,e)}))}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}_debugChain(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._chain(...arguments)}_debugConfirm(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._confirm(...arguments)}}class Ve extends e{constructor(e){super(e)}_warnUser(){this.options("debugDeprecation")&&console.warn(...arguments)}check(e,t,i){var n="";return void 0===this.options(e)||(n="Deprecated Setup Option - Use of the %c"+e+"%c option is now deprecated",t?(n=n+", Please use the %c"+t+"%c option instead",this._warnUser(n,"font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),i&&(this.table.options[t]=this.table.options[e])):this._warnUser(n,"font-weight: bold;","font-weight: normal;"),!1)}checkMsg(e,t){return void 0===this.options(e)||(this._warnUser("%cDeprecated Setup Option - Use of the %c"+e+" %c option is now deprecated, "+t,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),!1)}msg(e){this._warnUser(e)}}function We(e,t){e.forEach((function(e){e.reinitializeWidth()})),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}var je={fitData:function(e,t){t&&this.table.columnManager.renderer.reinitializeColumnWidths(e),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitDataFill:We,fitDataTable:We,fitDataStretch:function(e,t){var i=0,n=this.table.rowManager.element.clientWidth,s=0,o=!1;e.forEach(((e,t)=>{e.widthFixed||e.reinitializeWidth(),(this.table.options.responsiveLayout?e.modules.responsive.visible:e.visible)&&(o=e),e.visible&&(i+=e.getWidth())})),o?(s=n-i+o.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&(o.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?o.setWidth(s):o.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitColumns:function(e,t){var i,n,s=this.table.rowManager.element.getBoundingClientRect().width,o=0,r=0,a=0,l=[],h=[],u=0,c=0;function d(e){return"string"==typeof e?e.indexOf("%")>-1?s/100*parseInt(e):parseInt(e):e}function p(e,t,i,n){var s=[],o=0,r=0,l=0,h=a,u=0,c=0,m=[];function g(e){return i*(e.column.definition.widthGrow||1)}function f(e){return d(e.width)-i*(e.column.definition.widthShrink||0)}return e.forEach((function(e,o){var r=n?f(e):g(e);e.column.minWidth>=r?s.push(e):e.column.maxWidth&&e.column.maxWidth<r?(e.width=e.column.maxWidth,t-=e.column.maxWidth,(h-=n?e.column.definition.widthShrink||1:e.column.definition.widthGrow||1)&&(i=Math.floor(t/h))):(m.push(e),c+=n?e.column.definition.widthShrink||1:e.column.definition.widthGrow||1)})),s.length?(s.forEach((function(e){o+=n?e.width-e.column.minWidth:e.column.minWidth,e.width=e.column.minWidth})),r=t-o,l=c?Math.floor(r/c):r,u=p(m,r,l,n)):(u=c?t-Math.floor(t/c)*c:t,m.forEach((function(e){e.width=n?f(e):g(e)}))),u}this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update(),this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(s-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),e.forEach((function(e){var t,i,n;e.visible&&(t=e.definition.width,i=parseInt(e.minWidth),t?(n=d(t),o+=n>i?n:i,e.definition.widthShrink&&(h.push({column:e,width:n>i?n:i}),u+=e.definition.widthShrink)):(l.push({column:e,width:0}),a+=e.definition.widthGrow||1))})),r=s-o,i=Math.floor(r/a),c=p(l,r,i,!1),l.length&&c>0&&(l[l.length-1].width+=c),l.forEach((function(e){r-=e.width})),(n=Math.abs(c)+r)>0&&u&&(c=p(h,n,Math.floor(n/u),!0)),c&&h.length&&(h[h.length-1].width-=c),l.forEach((function(e){e.column.setWidth(e.width)})),h.forEach((function(e){e.column.setWidth(e.width)}))}};class Ue extends s{static moduleName="layout";static modes=je;constructor(e){super(e,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",!1),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink")}initialize(){var e=this.table.options.layout;Ue.modes[e]?this.mode=e:(console.warn("Layout Error - invalid mode set, defaulting to 'fitData' : "+e),this.mode="fitData"),this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this))}initializeColumn(e){e.definition.widthGrow&&(e.definition.widthGrow=Number(e.definition.widthGrow)),e.definition.widthShrink&&(e.definition.widthShrink=Number(e.definition.widthShrink))}getMode(){return this.mode}layout(e){this.dispatch("layout-refreshing"),Ue.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,e),this.dispatch("layout-refreshed")}}var Ge={default:{groups:{item:"item",items:"items"},columns:{},data:{loading:"Loading",error:"Error"},pagination:{page_size:"Page Size",page_title:"Show Page",first:"First",first_title:"First Page",last:"Last",last_title:"Last Page",prev:"Prev",prev_title:"Prev Page",next:"Next",next_title:"Next Page",all:"All",counter:{showing:"Showing",of:"of",rows:"rows",pages:"pages"}},headerFilters:{default:"filter column...",columns:{}}}};class qe extends s{static moduleName="localize";static langs=Ge;constructor(e){super(e),this.locale="default",this.lang=!1,this.bindings={},this.langList={},this.registerTableOption("locale",!1),this.registerTableOption("langs",{})}initialize(){this.langList=t.deepClone(qe.langs),!1!==this.table.options.columnDefaults.headerFilterPlaceholder&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);for(let e in this.table.options.langs)this.installLang(e,this.table.options.langs[e]);this.setLocale(this.table.options.locale),this.registerTableFunction("setLocale",this.setLocale.bind(this)),this.registerTableFunction("getLocale",this.getLocale.bind(this)),this.registerTableFunction("getLang",this.getLang.bind(this))}setHeaderFilterPlaceholder(e){this.langList.default.headerFilters.default=e}installLang(e,t){this.langList[e]?this._setLangProp(this.langList[e],t):this.langList[e]=t}_setLangProp(e,t){for(let i in t)e[i]&&"object"==typeof e[i]?this._setLangProp(e[i],t[i]):e[i]=t[i]}setLocale(e){if(!0===(e=e||"default")&&navigator.language&&(e=navigator.language.toLowerCase()),e&&!this.langList[e]){let t=e.split("-")[0];this.langList[t]?(console.warn("Localization Error - Exact matching locale not found, using closest match: ",e,t),e=t):(console.warn("Localization Error - Matching locale not found, using default: ",e),e="default")}this.locale=e,this.lang=t.deepClone(this.langList.default||{}),"default"!=e&&function e(t,i){for(var n in t)"object"==typeof t[n]?(i[n]||(i[n]={}),e(t[n],i[n])):i[n]=t[n]}(this.langList[e],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings()}getLocale(e){return this.locale}getLang(e){return e?this.langList[e]:this.lang}getText(e,t){var i=(t?e+"|"+t:e).split("|");return this._getLangElement(i,this.locale)||""}_getLangElement(e,t){var i=this.lang;return e.forEach((function(e){var t;i&&(t=i[e],i=void 0!==t&&t)})),i}bind(e,t){this.bindings[e]||(this.bindings[e]=[]),this.bindings[e].push(t),t(this.getText(e),this.lang)}_executeBindings(){for(let e in this.bindings)this.bindings[e].forEach((t=>{t(this.getText(e),this.lang)}))}}var Xe=Object.freeze({__proto__:null,CommsModule:class extends s{static moduleName="comms";constructor(e){super(e)}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this))}getConnections(e){var t=[];return this.table.constructor.registry.lookupTable(e).forEach((e=>{this.table!==e&&t.push(e)})),t}send(e,t,i,n){var s=this.getConnections(e);s.forEach((e=>{e.tableComms(this.table.element,t,i,n)})),!s.length&&e&&console.warn("Table Connection Error - No tables matching selector found",e)}receive(e,t,i,n){if(this.table.modExists(t))return this.table.modules[t].commsReceived(e,i,n);console.warn("Inter-table Comms Error - no such module:",t)}},LayoutModule:Ue,LocalizeModule:qe});class Ye{static registry={tables:[],register(e){Ye.registry.tables.push(e)},deregister(e){var t=Ye.registry.tables.indexOf(e);t>-1&&Ye.registry.tables.splice(t,1)},lookupTable(e,t){var i,n,s=[];if("string"==typeof e){if((i=document.querySelectorAll(e)).length)for(var o=0;o<i.length;o++)(n=Ye.registry.matchElement(i[o]))&&s.push(n)}else"undefined"!=typeof HTMLElement&&e instanceof HTMLElement||e instanceof Ye?(n=Ye.registry.matchElement(e))&&s.push(n):Array.isArray(e)?e.forEach((function(e){s=s.concat(Ye.registry.lookupTable(e))})):t||console.warn("Table Connection Error - Invalid Selector",e);return s},matchElement:e=>Ye.registry.tables.find((function(t){return e instanceof Ye?t===e:t.element===e}))};static findTable(e){var t=Ye.registry.lookupTable(e,!0);return!(Array.isArray(t)&&!t.length)&&t}}class Je extends Ye{static moduleBindings={};static moduleExtensions={};static modulesRegistered=!1;static defaultModules=!1;constructor(){super()}static initializeModuleBinder(e){Je.modulesRegistered||(Je.modulesRegistered=!0,Je._registerModules(Xe,!0),e&&Je._registerModules(e))}static _extendModule(e,t,i){if(Je.moduleBindings[e]){var n=Je.moduleBindings[e][t];if(n)if("object"==typeof i)for(let e in i)n[e]=i[e];else console.warn("Module Error - Invalid value type, it must be an object");else console.warn("Module Error - property does not exist:",t)}else console.warn("Module Error - module does not exist:",e)}static _registerModules(e,t){var i=Object.values(e);t&&i.forEach((e=>{e.prototype.moduleCore=!0})),Je._registerModule(i)}static _registerModule(e){Array.isArray(e)||(e=[e]),e.forEach((e=>{Je._registerModuleBinding(e),Je._registerModuleExtensions(e)}))}static _registerModuleBinding(e){e.moduleName?Je.moduleBindings[e.moduleName]=e:console.error("Unable to bind module, no moduleName defined",e.moduleName)}static _registerModuleExtensions(e){var t=e.moduleExtensions;if(e.moduleExtensions)for(let e in t){let i=t[e];if(Je.moduleBindings[e])for(let t in i)Je._extendModule(e,t,i[t]);else{Je.moduleExtensions[e]||(Je.moduleExtensions[e]={});for(let t in i)Je.moduleExtensions[e][t]||(Je.moduleExtensions[e][t]={}),Object.assign(Je.moduleExtensions[e][t],i[t])}}Je._extendModuleFromQueue(e)}static _extendModuleFromQueue(e){var t=Je.moduleExtensions[e.moduleName];if(t)for(let i in t)Je._extendModule(e.moduleName,i,t[i])}_bindModules(){var e=[],t=[],i=[];for(var n in this.modules={},Je.moduleBindings){let s=Je.moduleBindings[n],o=new s(this);this.modules[n]=o,s.prototype.moduleCore?this.modulesCore.push(o):s.moduleInitOrder?s.moduleInitOrder<0?e.push(o):t.push(o):i.push(o)}e.sort(((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1)),t.sort(((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1)),this.modulesRegular=e.concat(i.concat(t))}}class $e extends e{constructor(e){super(e),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert"),e}_createMsgElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert-msg"),e.setAttribute("role","alert"),e}_typeClass(){return"tabulator-alert-state-"+this.type}alert(e,t="msg"){if(e){for(this.clear(),this.dispatch("alert-show",t),this.type=t;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),"function"==typeof e&&(e=e()),e instanceof HTMLElement?this.msgElement.appendChild(e):this.msgElement.innerHTML=e,this.table.element.appendChild(this.element)}}clear(){this.dispatch("alert-hide",this.type),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.msgElement.classList.remove(this._typeClass())}}class Ke extends Je{static defaultOptions=xe;static extendModule(){Ke.initializeModuleBinder(),Ke._extendModule(...arguments)}static registerModule(){Ke.initializeModuleBinder(),Ke._registerModule(...arguments)}constructor(e,t,i){super(),Ke.initializeModuleBinder(i),this.options={},this.columnManager=null,this.rowManager=null,this.footerManager=null,this.alertManager=null,this.vdomHoz=null,this.externalEvents=null,this.eventBus=null,this.interactionMonitor=!1,this.browser="",this.browserSlow=!1,this.browserMobile=!1,this.rtl=!1,this.originalElement=null,this.componentFunctionBinder=new He(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new Ve(this),this.optionsList=new Se(this,"table constructor"),this.initialized=!1,this.destroyed=!1,this.initializeElement(e)&&(this.initializeCoreSystems(t),setTimeout((()=>{this._create()}))),this.constructor.registry.register(this)}initializeElement(e){return"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?(this.element=e,!0):"string"==typeof e?(this.element=document.querySelector(e),!!this.element||(console.error("Tabulator Creation Error - no element found matching selector: ",e),!1)):(console.error("Tabulator Creation Error - Invalid element provided:",e),!1)}initializeCoreSystems(e){this.columnManager=new De(this),this.rowManager=new Oe(this),this.footerManager=new Fe(this),this.dataLoader=new Ne(this),this.alertManager=new $e(this),this._bindModules(),this.options=this.optionsList.generate(Ke.defaultOptions,e),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new Ie(this,this.options,this.options.debugEventsExternal),this.eventBus=new Be(this.options.debugEventsInternal),this.interactionMonitor=new ze(this),this.dataLoader.initialize(),this.footerManager.initialize()}_mapDeprecatedFunctionality(){}_clearSelection(){this.element.classList.add("tabulator-block-select"),window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty(),this.element.classList.remove("tabulator-block-select")}_create(){this.externalEvents.dispatch("tableBuilding"),this.eventBus.dispatch("table-building"),this._rtlCheck(),this._buildElement(),this._initializeTable(),this.initialized=!0,this._loadInitialData().finally((()=>{this.eventBus.dispatch("table-initialized"),this.externalEvents.dispatch("tableBuilt")}))}_rtlCheck(){var e=window.getComputedStyle(this.element);switch(this.options.textDirection){case"auto":if("rtl"!==e.direction)break;case"rtl":this.element.classList.add("tabulator-rtl"),this.rtl=!0;break;case"ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=!1}}_clearObjectPointers(){this.options.columns=this.options.columns.slice(0),Array.isArray(this.options.data)&&!this.options.reactiveData&&(this.options.data=this.options.data.slice(0))}_buildElement(){var e,t=this.element,i=this.options;if("TABLE"===t.tagName){this.originalElement=this.element,e=document.createElement("div");var n=t.attributes;for(var s in n)"object"==typeof n[s]&&e.setAttribute(n[s].name,n[s].value);t.parentNode.replaceChild(e,t),this.element=t=e}for(t.classList.add("tabulator"),t.setAttribute("role","grid");t.firstChild;)t.removeChild(t.firstChild);i.height&&(i.height=isNaN(i.height)?i.height:i.height+"px",t.style.height=i.height),!1!==i.minHeight&&(i.minHeight=isNaN(i.minHeight)?i.minHeight:i.minHeight+"px",t.style.minHeight=i.minHeight),!1!==i.maxHeight&&(i.maxHeight=isNaN(i.maxHeight)?i.maxHeight:i.maxHeight+"px",t.style.maxHeight=i.maxHeight)}_initializeTable(){var e=this.element,t=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach((e=>{e.initialize()})),e.appendChild(this.columnManager.getElement()),e.appendChild(this.rowManager.getElement()),t.footerElement&&this.footerManager.activate(),t.autoColumns&&t.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach((e=>{e.initialize()})),this.columnManager.setColumns(t.columns),this.eventBus.dispatch("table-built")}_loadInitialData(){return this.dataLoader.load(this.options.data).finally((()=>{this.columnManager.verticalAlignHeaders()}))}destroy(){var e=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();e.firstChild;)e.removeChild(e.firstChild);e.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed")}_detectBrowser(){var e=navigator.userAgent||navigator.vendor||window.opera;e.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=!0):e.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=!0):e.indexOf("Firefox")>-1?(this.browser="firefox",this.browserSlow=!1):e.indexOf("Mac OS")>-1?(this.browser="safari",this.browserSlow=!1):(this.browser="other",this.browserSlow=!1),this.browserMobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.slice(0,4))}initGuard(e,t){var i,n;return this.options.debugInitialization&&!this.initialized&&(e||(e=" "==(n="Error"==(i=(new Error).stack.split("\n"))[0]?i[2]:i[1])[0]?n.trim().split(" ")[1].split(".")[1]:n.trim().split("@")[0]),console.warn("Table Not Initialized - Calling the "+e+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(t?" "+t:""))),this.initialized}blockRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-blocking"),this.rowManager.blockRedraw(),this.columnManager.blockRedraw(),this.eventBus.dispatch("redraw-blocked")}restoreRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-restoring"),this.rowManager.restoreRedraw(),this.columnManager.restoreRedraw(),this.eventBus.dispatch("redraw-restored")}setData(e,t,i){return this.initGuard(!1,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(e,t,i,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(e){return this.rowManager.getData(e)}getDataCount(e){return this.rowManager.getDataCount(e)}replaceData(e,t,i){return this.initGuard(),this.dataLoader.load(e,t,i,!0,!0)}updateData(e){var t=0;return this.initGuard(),new Promise(((i,n)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e&&e.length>0?e.forEach((e=>{var s=this.rowManager.findRow(e[this.options.index]);s?(t++,s.updateData(e).then((()=>{--t||i()})).catch((t=>{n("Update Error - Unable to update row",e,t)}))):n("Update Error - Unable to find row",e)})):(console.warn("Update Error - No data provided"),n("Update Error - No data provided"))}))}addData(e,t,i){return this.initGuard(),new Promise(((n,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e?this.rowManager.addRows(e,t,i).then((e=>{var t=[];e.forEach((function(e){t.push(e.getComponent())})),n(t)})):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))}))}updateOrAddData(e){var t=[],i=0;return this.initGuard(),new Promise(((n,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e&&e.length>0?e.forEach((e=>{var s=this.rowManager.findRow(e[this.options.index]);i++,s?s.updateData(e).then((()=>{i--,t.push(s.getComponent()),i||n(t)})):this.rowManager.addRows(e).then((e=>{i--,t.push(e[0].getComponent()),i||n(t)}))})):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))}))}getRow(e){var t=this.rowManager.findRow(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}getRowFromPosition(e){var t=this.rowManager.getRowFromPosition(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}deleteRow(e){var t=[];this.initGuard(),Array.isArray(e)||(e=[e]);for(let i of e){let e=this.rowManager.findRow(i,!0);if(!e)return console.error("Delete Error - No matching row found:",i),Promise.reject("Delete Error - No matching row found");t.push(e)}return t.sort(((e,t)=>this.rowManager.rows.indexOf(e)>this.rowManager.rows.indexOf(t)?1:-1)),t.forEach((e=>{e.delete()})),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(e,t,i){return this.initGuard(),"string"==typeof e&&(e=JSON.parse(e)),this.rowManager.addRows(e,t,i,!0).then((e=>e[0].getComponent()))}updateOrAddRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),i?i.updateData(t).then((()=>i.getComponent())):this.rowManager.addRows(t).then((e=>e[0].getComponent()))}updateRow(e,t){var i=this.rowManager.findRow(e);return this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),i?i.updateData(t).then((()=>Promise.resolve(i.getComponent()))):(console.warn("Update Error - No matching row found:",e),Promise.reject("Update Error - No matching row found"))}scrollToRow(e,t,i){var n=this.rowManager.findRow(e);return n?this.rowManager.scrollToRow(n,t,i):(console.warn("Scroll Error - No matching row found:",e),Promise.reject("Scroll Error - No matching row found"))}moveRow(e,t,i){var n=this.rowManager.findRow(e);this.initGuard(),n?n.moveToRow(t,i):console.warn("Move Error - No matching row found:",e)}getRows(e){return this.rowManager.getComponents(e)}getRowPosition(e){var t=this.rowManager.findRow(e);return t?t.getPosition():(console.warn("Position Error - No matching row found:",e),!1)}setColumns(e){this.initGuard(!1,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(e)}getColumns(e){return this.columnManager.getComponents(e)}getColumn(e){var t=this.columnManager.findColumn(e);return t?t.getComponent():(console.warn("Find Error - No matching column found:",e),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Show Error - No matching column found:",e),!1;t.show()}hideColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Hide Error - No matching column found:",e),!1;t.hide()}toggleColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Visibility Toggle Error - No matching column found:",e),!1;t.visible?t.hide():t.show()}addColumn(e,t,i){var n=this.columnManager.findColumn(i);return this.initGuard(),this.columnManager.addColumn(e,t,n).then((e=>e.getComponent()))}deleteColumn(e){var t=this.columnManager.findColumn(e);return this.initGuard(),t?t.delete():(console.warn("Column Delete Error - No matching column found:",e),Promise.reject())}updateColumnDefinition(e,t){var i=this.columnManager.findColumn(e);return this.initGuard(),i?i.updateDefinition(t):(console.warn("Column Update Error - No matching column found:",e),Promise.reject())}moveColumn(e,t,i){var n=this.columnManager.findColumn(e),s=this.columnManager.findColumn(t);this.initGuard(),n?s?this.columnManager.moveColumn(n,s,i):console.warn("Move Error - No matching column found:",s):console.warn("Move Error - No matching column found:",e)}scrollToColumn(e,t,i){return new Promise(((n,s)=>{var o=this.columnManager.findColumn(e);return o?this.columnManager.scrollToColumn(o,t,i):(console.warn("Scroll Error - No matching column found:",e),Promise.reject("Scroll Error - No matching column found"))}))}redraw(e){this.initGuard(),this.columnManager.redraw(e),this.rowManager.redraw(e)}setHeight(e){this.options.height=isNaN(e)?e:e+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(e,t){this.externalEvents.subscribe(e,t)}off(e,t){this.externalEvents.unsubscribe(e,t)}dispatchEvent(){Array.from(arguments).shift(),this.externalEvents.dispatch(...arguments)}alert(e,t){this.initGuard(),this.alertManager.alert(e,t)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(e,t){return!!this.modules[e]||(t&&console.error("Tabulator Module Not Installed: "+e),!1)}module(e){var t=this.modules[e];return t||console.error("Tabulator module not installed: "+e),t}}var Ze=Ke;var Qe=class extends Ze{static extendModule(){Ze.initializeModuleBinder(Te),Ze._extendModule(...arguments)}static registerModule(){Ze.initializeModuleBinder(Te),Ze._registerModule(...arguments)}constructor(e,t,i){super(e,t,Te)}};class et{constructor(e){this.table=e}beforeDefaultColumns(){return[]}requiresHeader(){return!1}afterUrlStateUpdate(){}loadFromUrl(){}loadFromUrlAfterInit(){}afterInit(){}getUrlParams(){}beforeRefreshTableDataIfNotUrlLoad(){}modifyTabulatorOptions(e){return e}getUrlParamsForSave(){return this.getUrlParams()}}var tt=i(6486);function it(e,t,i){return t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t),t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const nt=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["w-24","h-24"];const i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.classList.add(...t);const n=document.createElementNS("http://www.w3.org/2000/svg","use");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",`#${e}`),i.append(n),i},st=(e,t)=>{document.querySelectorAll(e).forEach((e=>{e.addEventListener("change",t),e.addEventListener("keypress",(t=>{if(13===t.keyCode)return e.blur(),t.preventDefault(),e.focus(),!0})),e.addEventListener("SBAutocompleteChange",t)}))},ot=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:", ";const i=[],n=Object.values(e);let s=!1;for(let[e,t]of n.entries()){if(e===window.sb_admin_const.MULTISELECT_FILTER_MAX_CHOICES_SHOWN)break;if(!(n.length>1&&t.value===window.sb_admin_const.SELECT_ALL_KEYWORD)){if(e===window.sb_admin_const.MULTISELECT_FILTER_MAX_CHOICES_SHOWN-2&&n[e+2]){i.push(t.label),s=!0;break}i.push(t.label)}}let o=i.join(t);return s&&(o=o.substring(0,o.length),o+="... +"+(n.length-window.sb_admin_const.MULTISELECT_FILTER_MAX_CHOICES_SHOWN+1)),o},rt=e=>{const t=e.dataset.filterId||e.id,i=e.dataset.labelSeparator||", ",n=document.querySelector(`#${t}-value`);if(!n)return;const s=e.dataset.label;if(s)return n.innerHTML=s,n;const o=(e=>{try{return JSON.parse(e)}catch(e){}return e})(e.value);if(""===e.value||"[]"===e.value)return e.dataset.emptyLabel?n.innerHTML=e.dataset.emptyLabel:n.innerHTML="",n;if("object"==typeof o)n.innerHTML=ot(o,i);else try{n.innerHTML=e.options[e.selectedIndex].text}catch(t){const i=document.querySelector(`label[for=${e.id}]`);if(i)n.innerHTML=i.innerText;else{let t;try{t=document.querySelector(`label[for=${e.id}_${e.value}]`)}catch(e){t=null}n.innerHTML=t?t.innerText:o}}return n};var at=i(3279),lt=i.n(at);function ht(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function ut(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?ht(Object(i),!0).forEach((function(t){dt(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):ht(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function ct(e){return ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ct(e)}function dt(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function pt(){return pt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},pt.apply(this,arguments)}function mt(e,t){if(null==e)return{};var i,n,s=function(e,t){if(null==e)return{};var i,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)i=o[n],t.indexOf(i)>=0||(s[i]=e[i]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)i=o[n],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(s[i]=e[i])}return s}function gt(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var ft=gt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),bt=gt(/Edge/i),vt=gt(/firefox/i),wt=gt(/safari/i)&&!gt(/chrome/i)&&!gt(/android/i),Ct=gt(/iP(ad|od|hone)/i),yt=gt(/chrome/i)&&gt(/android/i),Et={capture:!1,passive:!1};function Rt(e,t,i){e.addEventListener(t,i,!ft&&Et)}function _t(e,t,i){e.removeEventListener(t,i,!ft&&Et)}function Tt(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function xt(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function St(e,t,i,n){if(e){i=i||document;do{if(null!=t&&(">"===t[0]?e.parentNode===i&&Tt(e,t):Tt(e,t))||n&&e===i)return e;if(e===i)break}while(e=xt(e))}return null}var Mt,Lt=/\s+/g;function kt(e,t,i){if(e&&t)if(e.classList)e.classList[i?"add":"remove"](t);else{var n=(" "+e.className+" ").replace(Lt," ").replace(" "+t+" "," ");e.className=(n+(i?" "+t:"")).replace(Lt," ")}}function Dt(e,t,i){var n=e&&e.style;if(n){if(void 0===i)return document.defaultView&&document.defaultView.getComputedStyle?i=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(i=e.currentStyle),void 0===t?i:i[t];t in n||-1!==t.indexOf("webkit")||(t="-webkit-"+t),n[t]=i+("string"==typeof i?"":"px")}}function At(e,t){var i="";if("string"==typeof e)i=e;else do{var n=Dt(e,"transform");n&&"none"!==n&&(i=n+" "+i)}while(!t&&(e=e.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(i)}function Pt(e,t,i){if(e){var n=e.getElementsByTagName(t),s=0,o=n.length;if(i)for(;s<o;s++)i(n[s],s);return n}return[]}function Ot(){var e=document.scrollingElement;return e||document.documentElement}function Ft(e,t,i,n,s){if(e.getBoundingClientRect||e===window){var o,r,a,l,h,u,c;if(e!==window&&e.parentNode&&e!==Ot()?(r=(o=e.getBoundingClientRect()).top,a=o.left,l=o.bottom,h=o.right,u=o.height,c=o.width):(r=0,a=0,l=window.innerHeight,h=window.innerWidth,u=window.innerHeight,c=window.innerWidth),(t||i)&&e!==window&&(s=s||e.parentNode,!ft))do{if(s&&s.getBoundingClientRect&&("none"!==Dt(s,"transform")||i&&"static"!==Dt(s,"position"))){var d=s.getBoundingClientRect();r-=d.top+parseInt(Dt(s,"border-top-width")),a-=d.left+parseInt(Dt(s,"border-left-width")),l=r+o.height,h=a+o.width;break}}while(s=s.parentNode);if(n&&e!==window){var p=At(s||e),m=p&&p.a,g=p&&p.d;p&&(l=(r/=g)+(u/=g),h=(a/=m)+(c/=m))}return{top:r,left:a,bottom:l,right:h,width:c,height:u}}}function zt(e,t,i){for(var n=Vt(e,!0),s=Ft(e)[t];n;){var o=Ft(n)[i];if(!("top"===i||"left"===i?s>=o:s<=o))return n;if(n===Ot())break;n=Vt(n,!1)}return!1}function Ht(e,t,i,n){for(var s=0,o=0,r=e.children;o<r.length;){if("none"!==r[o].style.display&&r[o]!==Gi.ghost&&(n||r[o]!==Gi.dragged)&&St(r[o],i.draggable,e,!1)){if(s===t)return r[o];s++}o++}return null}function Nt(e,t){for(var i=e.lastElementChild;i&&(i===Gi.ghost||"none"===Dt(i,"display")||t&&!Tt(i,t));)i=i.previousElementSibling;return i||null}function It(e,t){var i=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)"TEMPLATE"===e.nodeName.toUpperCase()||e===Gi.clone||t&&!Tt(e,t)||i++;return i}function Bt(e){var t=0,i=0,n=Ot();if(e)do{var s=At(e),o=s.a,r=s.d;t+=e.scrollLeft*o,i+=e.scrollTop*r}while(e!==n&&(e=e.parentNode));return[t,i]}function Vt(e,t){if(!e||!e.getBoundingClientRect)return Ot();var i=e,n=!1;do{if(i.clientWidth<i.scrollWidth||i.clientHeight<i.scrollHeight){var s=Dt(i);if(i.clientWidth<i.scrollWidth&&("auto"==s.overflowX||"scroll"==s.overflowX)||i.clientHeight<i.scrollHeight&&("auto"==s.overflowY||"scroll"==s.overflowY)){if(!i.getBoundingClientRect||i===document.body)return Ot();if(n||t)return i;n=!0}}}while(i=i.parentNode);return Ot()}function Wt(e,t){return Math.round(e.top)===Math.round(t.top)&&Math.round(e.left)===Math.round(t.left)&&Math.round(e.height)===Math.round(t.height)&&Math.round(e.width)===Math.round(t.width)}function jt(e,t){return function(){if(!Mt){var i=arguments;1===i.length?e.call(this,i[0]):e.apply(this,i),Mt=setTimeout((function(){Mt=void 0}),t)}}}function Ut(e,t,i){e.scrollLeft+=t,e.scrollTop+=i}function Gt(e){var t=window.Polymer,i=window.jQuery||window.Zepto;return t&&t.dom?t.dom(e).cloneNode(!0):i?i(e).clone(!0)[0]:e.cloneNode(!0)}var qt="Sortable"+(new Date).getTime();function Xt(){var e,t=[];return{captureAnimationState:function(){(t=[],this.options.animation)&&[].slice.call(this.el.children).forEach((function(e){if("none"!==Dt(e,"display")&&e!==Gi.ghost){t.push({target:e,rect:Ft(e)});var i=ut({},t[t.length-1].rect);if(e.thisAnimationDuration){var n=At(e,!0);n&&(i.top-=n.f,i.left-=n.e)}e.fromRect=i}}))},addAnimationState:function(e){t.push(e)},removeAnimationState:function(e){t.splice(function(e,t){for(var i in e)if(e.hasOwnProperty(i))for(var n in t)if(t.hasOwnProperty(n)&&t[n]===e[i][n])return Number(i);return-1}(t,{target:e}),1)},animateAll:function(i){var n=this;if(!this.options.animation)return clearTimeout(e),void("function"==typeof i&&i());var s=!1,o=0;t.forEach((function(e){var t=0,i=e.target,r=i.fromRect,a=Ft(i),l=i.prevFromRect,h=i.prevToRect,u=e.rect,c=At(i,!0);c&&(a.top-=c.f,a.left-=c.e),i.toRect=a,i.thisAnimationDuration&&Wt(l,a)&&!Wt(r,a)&&(u.top-a.top)/(u.left-a.left)==(r.top-a.top)/(r.left-a.left)&&(t=function(e,t,i,n){return Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))/Math.sqrt(Math.pow(t.top-i.top,2)+Math.pow(t.left-i.left,2))*n.animation}(u,l,h,n.options)),Wt(a,r)||(i.prevFromRect=r,i.prevToRect=a,t||(t=n.options.animation),n.animate(i,u,a,t)),t&&(s=!0,o=Math.max(o,t),clearTimeout(i.animationResetTimer),i.animationResetTimer=setTimeout((function(){i.animationTime=0,i.prevFromRect=null,i.fromRect=null,i.prevToRect=null,i.thisAnimationDuration=null}),t),i.thisAnimationDuration=t)})),clearTimeout(e),s?e=setTimeout((function(){"function"==typeof i&&i()}),o):"function"==typeof i&&i(),t=[]},animate:function(e,t,i,n){if(n){Dt(e,"transition",""),Dt(e,"transform","");var s=At(this.el),o=s&&s.a,r=s&&s.d,a=(t.left-i.left)/(o||1),l=(t.top-i.top)/(r||1);e.animatingX=!!a,e.animatingY=!!l,Dt(e,"transform","translate3d("+a+"px,"+l+"px,0)"),this.forRepaintDummy=function(e){return e.offsetWidth}(e),Dt(e,"transition","transform "+n+"ms"+(this.options.easing?" "+this.options.easing:"")),Dt(e,"transform","translate3d(0,0,0)"),"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=setTimeout((function(){Dt(e,"transition",""),Dt(e,"transform",""),e.animated=!1,e.animatingX=!1,e.animatingY=!1}),n)}}}}var Yt=[],Jt={initializeByDefault:!0},$t={mount:function(e){for(var t in Jt)Jt.hasOwnProperty(t)&&!(t in e)&&(e[t]=Jt[t]);Yt.forEach((function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")})),Yt.push(e)},pluginEvent:function(e,t,i){var n=this;this.eventCanceled=!1,i.cancel=function(){n.eventCanceled=!0};var s=e+"Global";Yt.forEach((function(n){t[n.pluginName]&&(t[n.pluginName][s]&&t[n.pluginName][s](ut({sortable:t},i)),t.options[n.pluginName]&&t[n.pluginName][e]&&t[n.pluginName][e](ut({sortable:t},i)))}))},initializePlugins:function(e,t,i,n){for(var s in Yt.forEach((function(n){var s=n.pluginName;if(e.options[s]||n.initializeByDefault){var o=new n(e,t,e.options);o.sortable=e,o.options=e.options,e[s]=o,pt(i,o.defaults)}})),e.options)if(e.options.hasOwnProperty(s)){var o=this.modifyOption(e,s,e.options[s]);void 0!==o&&(e.options[s]=o)}},getEventProperties:function(e,t){var i={};return Yt.forEach((function(n){"function"==typeof n.eventProperties&&pt(i,n.eventProperties.call(t[n.pluginName],e))})),i},modifyOption:function(e,t,i){var n;return Yt.forEach((function(s){e[s.pluginName]&&s.optionListeners&&"function"==typeof s.optionListeners[t]&&(n=s.optionListeners[t].call(e[s.pluginName],i))})),n}};function Kt(e){var t=e.sortable,i=e.rootEl,n=e.name,s=e.targetEl,o=e.cloneEl,r=e.toEl,a=e.fromEl,l=e.oldIndex,h=e.newIndex,u=e.oldDraggableIndex,c=e.newDraggableIndex,d=e.originalEvent,p=e.putSortable,m=e.extraEventProperties;if(t=t||i&&i[qt]){var g,f=t.options,b="on"+n.charAt(0).toUpperCase()+n.substr(1);!window.CustomEvent||ft||bt?(g=document.createEvent("Event")).initEvent(n,!0,!0):g=new CustomEvent(n,{bubbles:!0,cancelable:!0}),g.to=r||i,g.from=a||i,g.item=s||i,g.clone=o,g.oldIndex=l,g.newIndex=h,g.oldDraggableIndex=u,g.newDraggableIndex=c,g.originalEvent=d,g.pullMode=p?p.lastPutMode:void 0;var v=ut(ut({},m),$t.getEventProperties(n,t));for(var w in v)g[w]=v[w];i&&i.dispatchEvent(g),f[b]&&f[b].call(t,g)}}var Zt=["evt"],Qt=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.evt,s=mt(i,Zt);$t.pluginEvent.bind(Gi)(e,t,ut({dragEl:ti,parentEl:ii,ghostEl:ni,rootEl:si,nextEl:oi,lastDownEl:ri,cloneEl:ai,cloneHidden:li,dragStarted:yi,putSortable:mi,activeSortable:Gi.active,originalEvent:n,oldIndex:hi,oldDraggableIndex:ci,newIndex:ui,newDraggableIndex:di,hideGhostForTarget:Vi,unhideGhostForTarget:Wi,cloneNowHidden:function(){li=!0},cloneNowShown:function(){li=!1},dispatchSortableEvent:function(e){ei({sortable:t,name:e,originalEvent:n})}},s))};function ei(e){Kt(ut({putSortable:mi,cloneEl:ai,targetEl:ti,rootEl:si,oldIndex:hi,oldDraggableIndex:ci,newIndex:ui,newDraggableIndex:di},e))}var ti,ii,ni,si,oi,ri,ai,li,hi,ui,ci,di,pi,mi,gi,fi,bi,vi,wi,Ci,yi,Ei,Ri,_i,Ti,xi=!1,Si=!1,Mi=[],Li=!1,ki=!1,Di=[],Ai=!1,Pi=[],Oi="undefined"!=typeof document,Fi=Ct,zi=bt||ft?"cssFloat":"float",Hi=Oi&&!yt&&!Ct&&"draggable"in document.createElement("div"),Ni=function(){if(Oi){if(ft)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),Ii=function(e,t){var i=Dt(e),n=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),s=Ht(e,0,t),o=Ht(e,1,t),r=s&&Dt(s),a=o&&Dt(o),l=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+Ft(s).width,h=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Ft(o).width;if("flex"===i.display)return"column"===i.flexDirection||"column-reverse"===i.flexDirection?"vertical":"horizontal";if("grid"===i.display)return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&r.float&&"none"!==r.float){var u="left"===r.float?"left":"right";return!o||"both"!==a.clear&&a.clear!==u?"horizontal":"vertical"}return s&&("block"===r.display||"flex"===r.display||"table"===r.display||"grid"===r.display||l>=n&&"none"===i[zi]||o&&"none"===i[zi]&&l+h>n)?"vertical":"horizontal"},Bi=function(e){function t(e,i){return function(n,s,o,r){var a=n.options.group.name&&s.options.group.name&&n.options.group.name===s.options.group.name;if(null==e&&(i||a))return!0;if(null==e||!1===e)return!1;if(i&&"clone"===e)return e;if("function"==typeof e)return t(e(n,s,o,r),i)(n,s,o,r);var l=(i?n:s).options.group.name;return!0===e||"string"==typeof e&&e===l||e.join&&e.indexOf(l)>-1}}var i={},n=e.group;n&&"object"==ct(n)||(n={name:n}),i.name=n.name,i.checkPull=t(n.pull,!0),i.checkPut=t(n.put),i.revertClone=n.revertClone,e.group=i},Vi=function(){!Ni&&ni&&Dt(ni,"display","none")},Wi=function(){!Ni&&ni&&Dt(ni,"display","")};Oi&&!yt&&document.addEventListener("click",(function(e){if(Si)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Si=!1,!1}),!0);var ji=function(e){if(ti){e=e.touches?e.touches[0]:e;var t=(s=e.clientX,o=e.clientY,Mi.some((function(e){var t=e[qt].options.emptyInsertThreshold;if(t&&!Nt(e)){var i=Ft(e),n=s>=i.left-t&&s<=i.right+t,a=o>=i.top-t&&o<=i.bottom+t;return n&&a?r=e:void 0}})),r);if(t){var i={};for(var n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[qt]._onDragOver(i)}}var s,o,r},Ui=function(e){ti&&ti.parentNode[qt]._isOutsideThisEl(e.target)};function Gi(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=pt({},t),e[qt]=this;var i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ii(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Gi.supportPointer&&"PointerEvent"in window&&!wt,emptyInsertThreshold:5};for(var n in $t.initializePlugins(this,e,i),i)!(n in t)&&(t[n]=i[n]);for(var s in Bi(t),this)"_"===s.charAt(0)&&"function"==typeof this[s]&&(this[s]=this[s].bind(this));this.nativeDraggable=!t.forceFallback&&Hi,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Rt(e,"pointerdown",this._onTapStart):(Rt(e,"mousedown",this._onTapStart),Rt(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Rt(e,"dragover",this),Rt(e,"dragenter",this)),Mi.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),pt(this,Xt())}function qi(e,t,i,n,s,o,r,a){var l,h,u=e[qt],c=u.options.onMove;return!window.CustomEvent||ft||bt?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=t,l.from=e,l.dragged=i,l.draggedRect=n,l.related=s||t,l.relatedRect=o||Ft(t),l.willInsertAfter=a,l.originalEvent=r,e.dispatchEvent(l),c&&(h=c.call(u,l,r)),h}function Xi(e){e.draggable=!1}function Yi(){Ai=!1}function Ji(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,i=t.length,n=0;i--;)n+=t.charCodeAt(i);return n.toString(36)}function $i(e){return setTimeout(e,0)}function Ki(e){return clearTimeout(e)}Gi.prototype={constructor:Gi,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(Ei=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,ti):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,n=this.options,s=n.preventOnFilter,o=e.type,r=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,a=(r||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||a,h=n.filter;if(function(e){Pi.length=0;var t=e.getElementsByTagName("input"),i=t.length;for(;i--;){var n=t[i];n.checked&&Pi.push(n)}}(i),!ti&&!(/mousedown|pointerdown/.test(o)&&0!==e.button||n.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!wt||!a||"SELECT"!==a.tagName.toUpperCase())&&!((a=St(a,n.draggable,i,!1))&&a.animated||ri===a)){if(hi=It(a),ci=It(a,n.draggable),"function"==typeof h){if(h.call(this,e,a,this))return ei({sortable:t,rootEl:l,name:"filter",targetEl:a,toEl:i,fromEl:i}),Qt("filter",t,{evt:e}),void(s&&e.cancelable&&e.preventDefault())}else if(h&&(h=h.split(",").some((function(n){if(n=St(l,n.trim(),i,!1))return ei({sortable:t,rootEl:n,name:"filter",targetEl:a,fromEl:i,toEl:i}),Qt("filter",t,{evt:e}),!0}))))return void(s&&e.cancelable&&e.preventDefault());n.handle&&!St(l,n.handle,i,!1)||this._prepareDragStart(e,r,a)}}},_prepareDragStart:function(e,t,i){var n,s=this,o=s.el,r=s.options,a=o.ownerDocument;if(i&&!ti&&i.parentNode===o){var l=Ft(i);if(si=o,ii=(ti=i).parentNode,oi=ti.nextSibling,ri=i,pi=r.group,Gi.dragged=ti,gi={target:ti,clientX:(t||e).clientX,clientY:(t||e).clientY},wi=gi.clientX-l.left,Ci=gi.clientY-l.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,ti.style["will-change"]="all",n=function(){Qt("delayEnded",s,{evt:e}),Gi.eventCanceled?s._onDrop():(s._disableDelayedDragEvents(),!vt&&s.nativeDraggable&&(ti.draggable=!0),s._triggerDragStart(e,t),ei({sortable:s,name:"choose",originalEvent:e}),kt(ti,r.chosenClass,!0))},r.ignore.split(",").forEach((function(e){Pt(ti,e.trim(),Xi)})),Rt(a,"dragover",ji),Rt(a,"mousemove",ji),Rt(a,"touchmove",ji),Rt(a,"mouseup",s._onDrop),Rt(a,"touchend",s._onDrop),Rt(a,"touchcancel",s._onDrop),vt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,ti.draggable=!0),Qt("delayStart",this,{evt:e}),!r.delay||r.delayOnTouchOnly&&!t||this.nativeDraggable&&(bt||ft))n();else{if(Gi.eventCanceled)return void this._onDrop();Rt(a,"mouseup",s._disableDelayedDrag),Rt(a,"touchend",s._disableDelayedDrag),Rt(a,"touchcancel",s._disableDelayedDrag),Rt(a,"mousemove",s._delayedDragTouchMoveHandler),Rt(a,"touchmove",s._delayedDragTouchMoveHandler),r.supportPointer&&Rt(a,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(n,r.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){ti&&Xi(ti),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;_t(e,"mouseup",this._disableDelayedDrag),_t(e,"touchend",this._disableDelayedDrag),_t(e,"touchcancel",this._disableDelayedDrag),_t(e,"mousemove",this._delayedDragTouchMoveHandler),_t(e,"touchmove",this._delayedDragTouchMoveHandler),_t(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?Rt(document,"pointermove",this._onTouchMove):Rt(document,t?"touchmove":"mousemove",this._onTouchMove):(Rt(ti,"dragend",this),Rt(si,"dragstart",this._onDragStart));try{document.selection?$i((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(xi=!1,si&&ti){Qt("dragStarted",this,{evt:t}),this.nativeDraggable&&Rt(document,"dragover",Ui);var i=this.options;!e&&kt(ti,i.dragClass,!1),kt(ti,i.ghostClass,!0),Gi.active=this,e&&this._appendGhost(),ei({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(fi){this._lastX=fi.clientX,this._lastY=fi.clientY,Vi();for(var e=document.elementFromPoint(fi.clientX,fi.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(fi.clientX,fi.clientY))!==t;)t=e;if(ti.parentNode[qt]._isOutsideThisEl(e),t)do{if(t[qt]){if(t[qt]._onDragOver({clientX:fi.clientX,clientY:fi.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Wi()}},_onTouchMove:function(e){if(gi){var t=this.options,i=t.fallbackTolerance,n=t.fallbackOffset,s=e.touches?e.touches[0]:e,o=ni&&At(ni,!0),r=ni&&o&&o.a,a=ni&&o&&o.d,l=Fi&&Ti&&Bt(Ti),h=(s.clientX-gi.clientX+n.x)/(r||1)+(l?l[0]-Di[0]:0)/(r||1),u=(s.clientY-gi.clientY+n.y)/(a||1)+(l?l[1]-Di[1]:0)/(a||1);if(!Gi.active&&!xi){if(i&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))<i)return;this._onDragStart(e,!0)}if(ni){o?(o.e+=h-(bi||0),o.f+=u-(vi||0)):o={a:1,b:0,c:0,d:1,e:h,f:u};var c="matrix(".concat(o.a,",").concat(o.b,",").concat(o.c,",").concat(o.d,",").concat(o.e,",").concat(o.f,")");Dt(ni,"webkitTransform",c),Dt(ni,"mozTransform",c),Dt(ni,"msTransform",c),Dt(ni,"transform",c),bi=h,vi=u,fi=s}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!ni){var e=this.options.fallbackOnBody?document.body:si,t=Ft(ti,!0,Fi,!0,e),i=this.options;if(Fi){for(Ti=e;"static"===Dt(Ti,"position")&&"none"===Dt(Ti,"transform")&&Ti!==document;)Ti=Ti.parentNode;Ti!==document.body&&Ti!==document.documentElement?(Ti===document&&(Ti=Ot()),t.top+=Ti.scrollTop,t.left+=Ti.scrollLeft):Ti=Ot(),Di=Bt(Ti)}kt(ni=ti.cloneNode(!0),i.ghostClass,!1),kt(ni,i.fallbackClass,!0),kt(ni,i.dragClass,!0),Dt(ni,"transition",""),Dt(ni,"transform",""),Dt(ni,"box-sizing","border-box"),Dt(ni,"margin",0),Dt(ni,"top",t.top),Dt(ni,"left",t.left),Dt(ni,"width",t.width),Dt(ni,"height",t.height),Dt(ni,"opacity","0.8"),Dt(ni,"position",Fi?"absolute":"fixed"),Dt(ni,"zIndex","100000"),Dt(ni,"pointerEvents","none"),Gi.ghost=ni,e.appendChild(ni),Dt(ni,"transform-origin",wi/parseInt(ni.style.width)*100+"% "+Ci/parseInt(ni.style.height)*100+"%")}},_onDragStart:function(e,t){var i=this,n=e.dataTransfer,s=i.options;Qt("dragStart",this,{evt:e}),Gi.eventCanceled?this._onDrop():(Qt("setupClone",this),Gi.eventCanceled||((ai=Gt(ti)).removeAttribute("id"),ai.draggable=!1,ai.style["will-change"]="",this._hideClone(),kt(ai,this.options.chosenClass,!1),Gi.clone=ai),i.cloneId=$i((function(){Qt("clone",i),Gi.eventCanceled||(i.options.removeCloneOnHide||si.insertBefore(ai,ti),i._hideClone(),ei({sortable:i,name:"clone"}))})),!t&&kt(ti,s.dragClass,!0),t?(Si=!0,i._loopId=setInterval(i._emulateDragOver,50)):(_t(document,"mouseup",i._onDrop),_t(document,"touchend",i._onDrop),_t(document,"touchcancel",i._onDrop),n&&(n.effectAllowed="move",s.setData&&s.setData.call(i,n,ti)),Rt(document,"drop",i),Dt(ti,"transform","translateZ(0)")),xi=!0,i._dragStartId=$i(i._dragStarted.bind(i,t,e)),Rt(document,"selectstart",i),yi=!0,wt&&Dt(document.body,"user-select","none"))},_onDragOver:function(e){var t,i,n,s,o=this.el,r=e.target,a=this.options,l=a.group,h=Gi.active,u=pi===l,c=a.sort,d=mi||h,p=this,m=!1;if(!Ai){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),r=St(r,a.draggable,o,!0),L("dragOver"),Gi.eventCanceled)return m;if(ti.contains(e.target)||r.animated&&r.animatingX&&r.animatingY||p._ignoreWhileAnimating===r)return D(!1);if(Si=!1,h&&!a.disabled&&(u?c||(n=ii!==si):mi===this||(this.lastPutMode=pi.checkPull(this,h,ti,e))&&l.checkPut(this,h,ti,e))){if(s="vertical"===this._getDirection(e,r),t=Ft(ti),L("dragOverValid"),Gi.eventCanceled)return m;if(n)return ii=si,k(),this._hideClone(),L("revert"),Gi.eventCanceled||(oi?si.insertBefore(ti,oi):si.appendChild(ti)),D(!0);var g=Nt(o,a.draggable);if(!g||function(e,t,i){var n=Ft(Nt(i.el,i.options.draggable)),s=10;return t?e.clientX>n.right+s||e.clientX<=n.right&&e.clientY>n.bottom&&e.clientX>=n.left:e.clientX>n.right&&e.clientY>n.top||e.clientX<=n.right&&e.clientY>n.bottom+s}(e,s,this)&&!g.animated){if(g===ti)return D(!1);if(g&&o===e.target&&(r=g),r&&(i=Ft(r)),!1!==qi(si,o,ti,t,r,i,e,!!r))return k(),g&&g.nextSibling?o.insertBefore(ti,g.nextSibling):o.appendChild(ti),ii=o,A(),D(!0)}else if(g&&function(e,t,i){var n=Ft(Ht(i.el,0,i.options,!0)),s=10;return t?e.clientX<n.left-s||e.clientY<n.top&&e.clientX<n.right:e.clientY<n.top-s||e.clientY<n.bottom&&e.clientX<n.left}(e,s,this)){var f=Ht(o,0,a,!0);if(f===ti)return D(!1);if(i=Ft(r=f),!1!==qi(si,o,ti,t,r,i,e,!1))return k(),o.insertBefore(ti,f),ii=o,A(),D(!0)}else if(r.parentNode===o){i=Ft(r);var b,v,w,C=ti.parentNode!==o,y=!function(e,t,i){var n=i?e.left:e.top,s=i?e.right:e.bottom,o=i?e.width:e.height,r=i?t.left:t.top,a=i?t.right:t.bottom,l=i?t.width:t.height;return n===r||s===a||n+o/2===r+l/2}(ti.animated&&ti.toRect||t,r.animated&&r.toRect||i,s),E=s?"top":"left",R=zt(r,"top","top")||zt(ti,"top","top"),_=R?R.scrollTop:void 0;if(Ei!==r&&(v=i[E],Li=!1,ki=!y&&a.invertSwap||C),b=function(e,t,i,n,s,o,r,a){var l=n?e.clientY:e.clientX,h=n?i.height:i.width,u=n?i.top:i.left,c=n?i.bottom:i.right,d=!1;if(!r)if(a&&_i<h*s){if(!Li&&(1===Ri?l>u+h*o/2:l<c-h*o/2)&&(Li=!0),Li)d=!0;else if(1===Ri?l<u+_i:l>c-_i)return-Ri}else if(l>u+h*(1-s)/2&&l<c-h*(1-s)/2)return function(e){return It(ti)<It(e)?1:-1}(t);if((d=d||r)&&(l<u+h*o/2||l>c-h*o/2))return l>u+h/2?1:-1;return 0}(e,r,i,s,y?1:a.swapThreshold,null==a.invertedSwapThreshold?a.swapThreshold:a.invertedSwapThreshold,ki,Ei===r),0!==b){var T=It(ti);do{T-=b,w=ii.children[T]}while(w&&("none"===Dt(w,"display")||w===ni))}if(0===b||w===r)return D(!1);Ei=r,Ri=b;var x=r.nextElementSibling,S=!1,M=qi(si,o,ti,t,r,i,e,S=1===b);if(!1!==M)return 1!==M&&-1!==M||(S=1===M),Ai=!0,setTimeout(Yi,30),k(),S&&!x?o.appendChild(ti):r.parentNode.insertBefore(ti,S?x:r),R&&Ut(R,0,_-R.scrollTop),ii=ti.parentNode,void 0===v||ki||(_i=Math.abs(v-Ft(r)[E])),A(),D(!0)}if(o.contains(ti))return D(!1)}return!1}function L(a,l){Qt(a,p,ut({evt:e,isOwner:u,axis:s?"vertical":"horizontal",revert:n,dragRect:t,targetRect:i,canSort:c,fromSortable:d,target:r,completed:D,onMove:function(i,n){return qi(si,o,ti,t,i,Ft(i),e,n)},changed:A},l))}function k(){L("dragOverAnimationCapture"),p.captureAnimationState(),p!==d&&d.captureAnimationState()}function D(t){return L("dragOverCompleted",{insertion:t}),t&&(u?h._hideClone():h._showClone(p),p!==d&&(kt(ti,mi?mi.options.ghostClass:h.options.ghostClass,!1),kt(ti,a.ghostClass,!0)),mi!==p&&p!==Gi.active?mi=p:p===Gi.active&&mi&&(mi=null),d===p&&(p._ignoreWhileAnimating=r),p.animateAll((function(){L("dragOverAnimationComplete"),p._ignoreWhileAnimating=null})),p!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(r===ti&&!ti.animated||r===o&&!r.animated)&&(Ei=null),a.dragoverBubble||e.rootEl||r===document||(ti.parentNode[qt]._isOutsideThisEl(e.target),!t&&ji(e)),!a.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function A(){ui=It(ti),di=It(ti,a.draggable),ei({sortable:p,name:"change",toEl:o,newIndex:ui,newDraggableIndex:di,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){_t(document,"mousemove",this._onTouchMove),_t(document,"touchmove",this._onTouchMove),_t(document,"pointermove",this._onTouchMove),_t(document,"dragover",ji),_t(document,"mousemove",ji),_t(document,"touchmove",ji)},_offUpEvents:function(){var e=this.el.ownerDocument;_t(e,"mouseup",this._onDrop),_t(e,"touchend",this._onDrop),_t(e,"pointerup",this._onDrop),_t(e,"touchcancel",this._onDrop),_t(document,"selectstart",this)},_onDrop:function(e){var t=this.el,i=this.options;ui=It(ti),di=It(ti,i.draggable),Qt("drop",this,{evt:e}),ii=ti&&ti.parentNode,ui=It(ti),di=It(ti,i.draggable),Gi.eventCanceled||(xi=!1,ki=!1,Li=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ki(this.cloneId),Ki(this._dragStartId),this.nativeDraggable&&(_t(document,"drop",this),_t(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),wt&&Dt(document.body,"user-select",""),Dt(ti,"transform",""),e&&(yi&&(e.cancelable&&e.preventDefault(),!i.dropBubble&&e.stopPropagation()),ni&&ni.parentNode&&ni.parentNode.removeChild(ni),(si===ii||mi&&"clone"!==mi.lastPutMode)&&ai&&ai.parentNode&&ai.parentNode.removeChild(ai),ti&&(this.nativeDraggable&&_t(ti,"dragend",this),Xi(ti),ti.style["will-change"]="",yi&&!xi&&kt(ti,mi?mi.options.ghostClass:this.options.ghostClass,!1),kt(ti,this.options.chosenClass,!1),ei({sortable:this,name:"unchoose",toEl:ii,newIndex:null,newDraggableIndex:null,originalEvent:e}),si!==ii?(ui>=0&&(ei({rootEl:ii,name:"add",toEl:ii,fromEl:si,originalEvent:e}),ei({sortable:this,name:"remove",toEl:ii,originalEvent:e}),ei({rootEl:ii,name:"sort",toEl:ii,fromEl:si,originalEvent:e}),ei({sortable:this,name:"sort",toEl:ii,originalEvent:e})),mi&&mi.save()):ui!==hi&&ui>=0&&(ei({sortable:this,name:"update",toEl:ii,originalEvent:e}),ei({sortable:this,name:"sort",toEl:ii,originalEvent:e})),Gi.active&&(null!=ui&&-1!==ui||(ui=hi,di=ci),ei({sortable:this,name:"end",toEl:ii,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Qt("nulling",this),si=ti=ii=ni=oi=ai=ri=li=gi=fi=yi=ui=di=hi=ci=Ei=Ri=mi=pi=Gi.dragged=Gi.ghost=Gi.clone=Gi.active=null,Pi.forEach((function(e){e.checked=!0})),Pi.length=bi=vi=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":ti&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],i=this.el.children,n=0,s=i.length,o=this.options;n<s;n++)St(e=i[n],o.draggable,this.el,!1)&&t.push(e.getAttribute(o.dataIdAttr)||Ji(e));return t},sort:function(e,t){var i={},n=this.el;this.toArray().forEach((function(e,t){var s=n.children[t];St(s,this.options.draggable,n,!1)&&(i[e]=s)}),this),t&&this.captureAnimationState(),e.forEach((function(e){i[e]&&(n.removeChild(i[e]),n.appendChild(i[e]))})),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return St(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var i=this.options;if(void 0===t)return i[e];var n=$t.modifyOption(this,e,t);i[e]=void 0!==n?n:t,"group"===e&&Bi(i)},destroy:function(){Qt("destroy",this);var e=this.el;e[qt]=null,_t(e,"mousedown",this._onTapStart),_t(e,"touchstart",this._onTapStart),_t(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(_t(e,"dragover",this),_t(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),(function(e){e.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),Mi.splice(Mi.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!li){if(Qt("hideClone",this),Gi.eventCanceled)return;Dt(ai,"display","none"),this.options.removeCloneOnHide&&ai.parentNode&&ai.parentNode.removeChild(ai),li=!0}},_showClone:function(e){if("clone"===e.lastPutMode){if(li){if(Qt("showClone",this),Gi.eventCanceled)return;ti.parentNode!=si||this.options.group.revertClone?oi?si.insertBefore(ai,oi):si.appendChild(ai):si.insertBefore(ai,ti),this.options.group.revertClone&&this.animate(ti,ai),Dt(ai,"display",""),li=!1}}else this._hideClone()}},Oi&&Rt(document,"touchmove",(function(e){(Gi.active||xi)&&e.cancelable&&e.preventDefault()})),Gi.utils={on:Rt,off:_t,css:Dt,find:Pt,is:function(e,t){return!!St(e,t,e,!1)},extend:function(e,t){if(e&&t)for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},throttle:jt,closest:St,toggleClass:kt,clone:Gt,index:It,nextTick:$i,cancelNextTick:Ki,detectDirection:Ii,getChild:Ht},Gi.get=function(e){return e[qt]},Gi.mount=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t[0].constructor===Array&&(t=t[0]),t.forEach((function(e){if(!e.prototype||!e.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(e));e.utils&&(Gi.utils=ut(ut({},Gi.utils),e.utils)),$t.mount(e)}))},Gi.create=function(e,t){return new Gi(e,t)},Gi.version="1.15.0";var Zi,Qi,en,tn,nn,sn,on=[],rn=!1;function an(){on.forEach((function(e){clearInterval(e.pid)})),on=[]}function ln(){clearInterval(sn)}var hn=jt((function(e,t,i,n){if(t.scroll){var s,o=(e.touches?e.touches[0]:e).clientX,r=(e.touches?e.touches[0]:e).clientY,a=t.scrollSensitivity,l=t.scrollSpeed,h=Ot(),u=!1;Qi!==i&&(Qi=i,an(),Zi=t.scroll,s=t.scrollFn,!0===Zi&&(Zi=Vt(i,!0)));var c=0,d=Zi;do{var p=d,m=Ft(p),g=m.top,f=m.bottom,b=m.left,v=m.right,w=m.width,C=m.height,y=void 0,E=void 0,R=p.scrollWidth,_=p.scrollHeight,T=Dt(p),x=p.scrollLeft,S=p.scrollTop;p===h?(y=w<R&&("auto"===T.overflowX||"scroll"===T.overflowX||"visible"===T.overflowX),E=C<_&&("auto"===T.overflowY||"scroll"===T.overflowY||"visible"===T.overflowY)):(y=w<R&&("auto"===T.overflowX||"scroll"===T.overflowX),E=C<_&&("auto"===T.overflowY||"scroll"===T.overflowY));var M=y&&(Math.abs(v-o)<=a&&x+w<R)-(Math.abs(b-o)<=a&&!!x),L=E&&(Math.abs(f-r)<=a&&S+C<_)-(Math.abs(g-r)<=a&&!!S);if(!on[c])for(var k=0;k<=c;k++)on[k]||(on[k]={});on[c].vx==M&&on[c].vy==L&&on[c].el===p||(on[c].el=p,on[c].vx=M,on[c].vy=L,clearInterval(on[c].pid),0==M&&0==L||(u=!0,on[c].pid=setInterval(function(){n&&0===this.layer&&Gi.active._onTouchMove(nn);var t=on[this.layer].vy?on[this.layer].vy*l:0,i=on[this.layer].vx?on[this.layer].vx*l:0;"function"==typeof s&&"continue"!==s.call(Gi.dragged.parentNode[qt],i,t,e,nn,on[this.layer].el)||Ut(on[this.layer].el,i,t)}.bind({layer:c}),24))),c++}while(t.bubbleScroll&&d!==h&&(d=Vt(d,!1)));rn=u}}),30),un=function(e){var t=e.originalEvent,i=e.putSortable,n=e.dragEl,s=e.activeSortable,o=e.dispatchSortableEvent,r=e.hideGhostForTarget,a=e.unhideGhostForTarget;if(t){var l=i||s;r();var h=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,u=document.elementFromPoint(h.clientX,h.clientY);a(),l&&!l.el.contains(u)&&(o("spill"),this.onSpill({dragEl:n,putSortable:i}))}};function cn(){}function dn(){}cn.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,i=e.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var n=Ht(this.sortable.el,this.startIndex,this.options);n?this.sortable.el.insertBefore(t,n):this.sortable.el.appendChild(t),this.sortable.animateAll(),i&&i.animateAll()},drop:un},pt(cn,{pluginName:"revertOnSpill"}),dn.prototype={onSpill:function(e){var t=e.dragEl,i=e.putSortable||this.sortable;i.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),i.animateAll()},drop:un},pt(dn,{pluginName:"removeOnSpill"});Gi.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?Rt(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Rt(document,"pointermove",this._handleFallbackAutoScroll):t.touches?Rt(document,"touchmove",this._handleFallbackAutoScroll):Rt(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?_t(document,"dragover",this._handleAutoScroll):(_t(document,"pointermove",this._handleFallbackAutoScroll),_t(document,"touchmove",this._handleFallbackAutoScroll),_t(document,"mousemove",this._handleFallbackAutoScroll)),ln(),an(),clearTimeout(Mt),Mt=void 0},nulling:function(){nn=Qi=Zi=rn=sn=en=tn=null,on.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var i=this,n=(e.touches?e.touches[0]:e).clientX,s=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(n,s);if(nn=e,t||this.options.forceAutoScrollFallback||bt||ft||wt){hn(e,this.options,o,t);var r=Vt(o,!0);!rn||sn&&n===en&&s===tn||(sn&&ln(),sn=setInterval((function(){var o=Vt(document.elementFromPoint(n,s),!0);o!==r&&(r=o,an()),hn(e,i.options,o,t)}),10),en=n,tn=s)}else{if(!this.options.bubbleScroll||Vt(o,!0)===Ot())return void an();hn(e,this.options,Vt(o,!1),!1)}}},pt(e,{pluginName:"scroll",initializeByDefault:!0})}),Gi.mount(dn,cn);const pn=Gi;var mn=function(e,t,i){return i.months[t?"shorthand":"longhand"][e]};const gn=e=>{const t=document.createElement("div");t.classList.add("flatpickr-custom-views-wrapper");const i=document.createElement("div");i.classList.add("flatpickr-custom-months-view","hidden");const n=document.createElement("div");n.classList.add("flatpickr-custom-years-view","hidden"),t.append(i),t.append(n);let s=null;const o=e=>{switch(e){case"months":i.classList.remove("hidden"),n.classList.add("hidden");break;case"years":i.classList.add("hidden"),n.classList.remove("hidden"),s.parentNode.scrollTop=5088;break;default:i.classList.add("hidden"),n.classList.add("hidden")}},r=t=>{e.changeMonth(parseInt(t.target.dataset.month),!1),c(),d(),o()},a=t=>{e.changeYear(parseInt(t.target.dataset.year),!1),c(),d(),o("months")},l=(e,t)=>t[0]&&t[1]?t[0]<=e&&e<=t[1]:t[0]===e,h=(t,i,n)=>n[0]&&n[1]?n[0]===n[1]?n[0]===e.currentYear&&(i[0]<=t&&t<=i[1]):n[0]===e.currentYear&&t>=i[0]||(n[0]<e.currentYear&&e.currentYear<n[1]||n[1]===e.currentYear&&t<=i[1]):!(!n[0]||n[1]||n[0]!==e.currentYear||t!==i[0]),u=t=>{const i=document.createElement("div");return i.classList.add("flatpickr-back"),i.textContent="Back",e._bind(i,"click",(e=>{e.preventDefault(),e.stopPropagation(),o(t)})),i},c=()=>{i.innerHTML="";const t=e.monthNav.cloneNode(!0),n=t.querySelector(".flatpickr-current-month");n.innerHTML=e.currentYear,e._bind(n,"click",(()=>{o("years")}));const s=t.querySelector(".flatpickr-prev-month"),a=t.querySelector(".flatpickr-next-month");s.replaceChildren(nt("Left-small")),a.replaceChildren(nt("Right-small")),e._bind(s,"click",(t=>{t.preventDefault(),t.stopPropagation(),e.changeYear(e.currentYear-1),c(),d()})),e._bind(a,"click",(t=>{t.preventDefault(),t.stopPropagation(),e.changeYear(e.currentYear+1),c(),d()}));const l=e.innerContainer.cloneNode(!0);l.querySelector(".flatpickr-weekdays").remove();const p=l.querySelector(".dayContainer");p.innerHTML="";const m=e.selectedDates.map((e=>e.getMonth())),g=e.selectedDates.map((e=>e.getFullYear()));for(let t=0;t<12;t++){const i=document.createElement("span");i.classList.add("flatpickr-day","flatpickr-month"),t===e.now.getMonth()&&e.currentYear===e.now.getFullYear()&&i.classList.add("today"),h(t,m,g)&&i.classList.add("selected"),i.textContent=mn(t,e.shorthand,e.l10n),i.dataset.month=t.toString(),i.addEventListener("click",r),p.appendChild(i)}i.append(t),i.append(l),i.append(u())},d=()=>{n.innerHTML="";const t=e.monthNav.cloneNode(!0);t.querySelector(".flatpickr-current-month").innerHTML=e.currentYear,t.querySelector(".flatpickr-prev-month").remove(),t.querySelector(".flatpickr-next-month").remove();const i=e.innerContainer.cloneNode(!0);i.querySelector(".flatpickr-weekdays").remove(),i.querySelector(".flatpickr-days").classList.add("h-full","-mr-8");const o=i.querySelector(".dayContainer");o.classList.add("overflow-auto","custom-scrollbar"),o.innerHTML="";const r=e.now.getFullYear(),h=e.selectedDates.map((e=>e.getFullYear()));for(let t=r-100;t<=r+100;t++){const i=document.createElement("span");i.classList.add("flatpickr-day","flatpickr-year"),t===e.now.getFullYear()&&(i.classList.add("today"),s=i),l(t,h)&&i.classList.add("selected"),i.textContent=t.toString(),i.dataset.year=t.toString(),i.addEventListener("click",a),o.appendChild(i)}n.append(t),n.append(i),n.append(u("months"))},p=()=>{const t=e.monthNav.querySelector(".flatpickr-current-month");return t.innerHTML="",t.textContent=`${mn(e.currentMonth,e.shorthand,e.l10n)} ${e.currentYear}`,t};if(e.config.noCalendar)return{};return{onReady:()=>{e.monthNav.parentNode.insertBefore(t,e.monthNav),e._bind(p(),"click",(e=>{e.preventDefault(),e.stopPropagation(),o("months")})),c(),d()},onChange:[p,c,d],onMonthChange:p,onYearChange:p}},fn=e=>{const t=(t,i,n)=>{const s=JSON.parse(t.value),o=new Date;o.setDate(o.getDate()+s[0]);const r=new Date;r.setDate(r.getDate()+s[1]),e.setDate([o,r],!1,e.config.dateFormat),i.forEach(((e,i)=>{JSON.stringify(e.value)===t.value&&(document.getElementById(`${n}_range${i}`).checked=!0,t.dataset.label=e.label)}))};return{onReady:()=>{const i=document.getElementById(e.element.dataset.sbadminDatepickerRealInputId),n=i.id,s=i.value,o=document.createElement("div"),r=JSON.parse(e.element.dataset.sbadminDatepickerShortcuts);o.classList.add("flatpickr-shortcuts"),o.addEventListener("change",(t=>{const n=t.target.value;i.value=n,i.dataset.label=t.target.nextElementSibling.innerText,i.dispatchEvent(new Event("change"));const s=r[t.target.dataset.index].value,o=new Date;o.setDate(o.getDate()+s[0]);const a=new Date;a.setDate(a.getDate()+s[1]),e.setDate([o,a],!1,e.config.dateFormat)})),r.forEach(((e,t)=>{const r=JSON.stringify(e.value)===s;r&&(i.dataset.label=e.label),o.append(((e,t,i,n,s,o)=>{const r=document.createElement("label");r.classList.add("relative","block","px-12","py-8"),r.setAttribute("for",e);const a=document.createElement("label");a.innerText=n,a.setAttribute("for",e);const l=document.createElement("input");return l.id=e,l.name=t,l.value=i,l.type="radio",l.classList.add("radio","radio-list","flatpickr-shortcut"),l.checked=s,l.dataset.index=o,r.append(l),r.append(a),r})(`${n}_range${t}`,`${n}_shortcut`,JSON.stringify(e.value),e.label,r,t))})),e.calendarContainer.prepend(o),i.value&&t(i,r,n),i.addEventListener("SBTableFilterFormLoad",(()=>{try{t(i,r,n)}catch{e.setDate(i.value,!1,e.config.dateFormat)}}))},onChange:(e,t,i)=>{const n=i.element.parentElement.querySelector("input.flatpickr-shortcut:checked");n&&(n.checked=!1)}}};class bn extends s{constructor(e){super(e)}initialize(){this.table.SBTable&&this.subscribe("data-params",((e,t,i,n)=>(this.table.SBTable.lastTableParams=n,"POST"===this.table.SBTable.tabulatorOptions.ajaxConfig.method?this.table.SBTable.getAllUrlParams():{})),10001)}}var vn,wn,Cn;vn=bn,Cn="sb_ajax_params_tabulator_modifier",wn=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(wn="moduleName"),wn in vn?Object.defineProperty(vn,wn,{value:Cn,enumerable:!0,configurable:!0,writable:!0}):vn[wn]=Cn;window.SBAdminTableClass=class{constructor(e){this.initOptions=e,this.moduleInstances=this.initModules(e.modules),this.viewId=e.viewId,this.filterFormId=e.filterFormId,this.advancedFilterId=e.advancedFilterId,this.columnWidgetId=e.columnWidgetId,this.paginationWidgetId=e.paginationWidgetId,this.pageSizeWidgetId=e.pageSizeWidgetId,this.baseViewUrl=e.baseViewUrl,this.tableElSelector=e.tableElSelector,this.tableAjaxUrl=e.tableAjaxUrl,this.tableDataEditUrl=e.tableDataEditUrl,this.tableActionMoveUrl=e.tableActionMoveUrl,this.tableDetailUrl=e.tableDetailUrl,this.defaultColumnData=e.defaultColumnData,this.tableColumns=this.initDefaultColumns(e.tableColumns),this.tableIdColumnName=e.tableIdColumnName,this.tableInitialSort=e.tableInitialSort,this.tableInitialPage=e.tableInitialPage||1,this.tableInitialPageSize=e.tableInitialPageSize,this.tableHistoryEnabled=e.tableHistoryEnabled,this.constants=e.constants,this.tabulatorOptions=e.tabulatorOptions,this.tableInitializeSort=this.tableInitialSort,this.tableInitializePage=this.tableInitialPage,this.tableInitializePageSize=this.tableInitialPageSize,this.loadFromUrl(),this.buildTabulatorTable(),this.afterInit()}afterInit(){var e;const t=this;window.addEventListener("popstate",(()=>{t.loadFromUrl()})),this.tabulator.on("tableBuilt",(()=>{t.loadFromUrlAfterInit(),t.callModuleAction("afterInit")})),null===(e=document.getElementById("table-selected-rows-bar-select-all"))||void 0===e||e.addEventListener("change",(()=>{document.getElementById("row-select-all").click()}))}getAllParamsFromUrl(){const e=window.location.search,t=new URLSearchParams(e),i=document.querySelector(`.js-view-button[data-view-id="${t.get("selectedView")}"]`);let n;return n=i?{[this.viewId]:JSON.parse(i.dataset.params)}:JSON.parse(t.get(this.constants.BASE_PARAMS_NAME))||{},n}getParamsFromUrl(){return this.getAllParamsFromUrl()[this.viewId]||{}}loadFromUrl(){this.loadingFromUrl=!0,this.callModuleAction("loadFromUrl"),this.tabulator&&(this.loadFromUrlAfterInit(),this.tabulator.setData())}refreshTableDataIfNotUrlLoad(){this.loadingFromUrl||(this.callModuleAction("beforeRefreshTableDataIfNotUrlLoad"),this.tabulator.element.style.height=`${this.tabulator.element.offsetHeight}px`,this.tabulator.setData().finally((()=>{this.tabulator.element.style.height=this.tabulator.options.height})))}isFiltered(){const e=this.getUrlParams()[this.constants.FILTER_DATA_NAME];return void 0!==e&&Object.values(e).some((e=>e))}loadFromUrlAfterInit(){window.htmx.process(this.tabulator.rowManager.tableElement),this.tabulator.on("dataProcessed",(e=>{window.htmx.process(this.tabulator.rowManager.tableElement),document.body.dispatchEvent(new CustomEvent("tableDataProcessed",{detail:{data:e,isFiltered:this.isFiltered()}}))})),this.callModuleAction("loadFromUrlAfterInit"),document.body.dispatchEvent(new CustomEvent("tableDataProcessed",{detail:{data:this.tabulator.getData(),isFiltered:this.isFiltered()}}))}initModules(e){let t={};return e.forEach((e=>{const i=window.SBAdminTableModulesClass[e];t[e]=new i(this)})),t}initDefaultColumns(e){e=[...this.callModuleAction("beforeDefaultColumns"),...e],this.tableInitialColumnsByField={},this.tableInitialColumnsOrder=[];const t=[];return e.forEach((e=>{t.push({...this.defaultColumnData,...e}),this.tableInitialColumnsByField[e.field]=JSON.parse(JSON.stringify(e)),this.tableInitialColumnsOrder.push(e.field)})),t}callModuleAction(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];let s=null,o=[],r=!1;return Object.values(this.moduleInstances).forEach((function(t){let n={};try{n=t[e](...i)}catch(e){console.warn(e)}Array.isArray(n)?(r=!0,o.push(...n)):"boolean"==typeof n?(null===s&&(s=!1),s=s||n):(null===s&&(s={}),s={...n,...s})})),r?o:s}updateUrlState(){this.loadingFromUrl||(this.tableHistoryEnabled&&history.pushState({},"",this.baseViewUrl+this.getUrlParamsString()),this.callModuleAction("afterUrlStateUpdate"),document.dispatchEvent(new CustomEvent("SBAdminTableNewURL"))),this.loadingFromUrl=!1}getAllUrlParams(){const e=this.getAllParamsFromUrl();return e[this.viewId]=this.getUrlParams(),e}getUrlParams(){return this.callModuleAction("getUrlParams")}getUrlParamsForSave(){return this.callModuleAction("getUrlParamsForSave")}getUrlParamsStringForSave(){let e=this.getUrlParamsForSave();return JSON.stringify(e)}paramsObjectToUrlString(e){return"?"+this.constants.BASE_PARAMS_NAME+"="+encodeURIComponent(JSON.stringify(e))}getUrlParamsString(){let e=this.getAllUrlParams();return this.paramsObjectToUrlString(e)}ajaxUrlGenerator(){return this.updateUrlState(),"POST"===this.tabulatorOptions.ajaxConfig.method?this.tableAjaxUrl:this.tableAjaxUrl+this.getUrlParamsString()}buildTabulatorTable(){this.lastTableParams={},Qe.extendModule("format","formatters",{detail_link:function(t){const i=t.getData()[e.tableIdColumnName];let n=t.getValue();return n||(n="-"),"<a href='"+e.tableDetailUrl.replace(e.constants.OBJECT_ID_PLACEHOLDER,i)+"'>"+n+"</a>"}}),this.defaultRowSelectionFormatter=Qe.moduleBindings.format.formatters.rowSelection;const e=this;class t extends Qe.moduleBindings.responsiveLayout{update(){}}Qe.moduleBindings.responsiveLayout=t;this.callModuleAction("requiresHeader")||(document.getElementById(this.viewId+"-tabulator-header").style.display="none");class i extends Me{render(){}}"no-render"===this.tabulatorOptions.renderVertical&&(this.tabulatorOptions.renderVertical=i),"no-render"===this.tabulatorOptions.renderHorizontal&&(this.tabulatorOptions.renderHorizontal=i);let n={columns:this.tableColumns,ajaxURL:this.tableAjaxUrl,initialSort:this.tableInitializeSort,paginationInitialPage:this.tableInitializePage,paginationSize:this.tableInitializePageSize,ajaxURLGenerator:(e,t,i)=>this.ajaxUrlGenerator(e,t,i),dataSendParams:{size:this.constants.TABLE_PARAMS_SIZE_NAME,page:this.constants.TABLE_PARAMS_PAGE_NAME,sort:this.constants.TABLE_PARAMS_SORT_NAME},...this.tabulatorOptions};"POST"===n.ajaxConfig.method&&(this.tableHistoryEnabled=!1),n.ajaxConfig.headers["X-CSRFToken"]=window.csrf_token,n.ajaxConfig.headers["X-TabulatorRequest"]=!0,n=this.callModuleAction("modifyTabulatorOptions",n),Qe.registerModule(bn),this.tabulator=new Qe(this.tableElSelector,n),this.tabulator.SBTable=this,document.addEventListener(window.sb_admin_const.TABLE_RELOAD_DATA_EVENT_NAME,(function(){e.refreshTableDataIfNotUrlLoad()})),document.addEventListener(window.sb_admin_const.TABLE_UPDATE_ROW_DATA_EVENT_NAME,(function(t){t.detail&&t.detail.rowData&&e.tabulator.updateData(t.detail.rowData)}))}executeListAction(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=this.getUrlParamsString();if("POST"===this.tabulatorOptions.ajaxConfig.method){const t=new URLSearchParams(n);let i={"Content-Type":"application/json","X-TabulatorRequest":!0};i={...i,...JSON.parse(document.body.getAttribute("hx-headers"))};let s="";fetch(e,{method:"POST",headers:i,body:JSON.stringify(JSON.parse(t.get(this.constants.BASE_PARAMS_NAME))||{})}).then((function(e){if(!e.ok)throw new Error("Network response was not ok "+e.statusText);e.redirected&&(window.location.href=e.url);const t=e.headers.get("Content-Disposition").split(";");return s=t[1].split("=")[1],e.blob()})).then((function(e){const t=window.URL.createObjectURL(e),i=document.createElement("a");i.style.display="none",i.href=t,i.download=s,document.body.appendChild(i),i.click(),window.URL.revokeObjectURL(t)})).catch((function(e){console.error("There was a problem with the fetch operation:",e)}))}else t||(e+=n),i?window.open(e,"_blank"):window.location.href=e}},window.SBAdminTableModulesClass={viewsModule:class extends et{constructor(){super(...arguments),it(this,"COMPARE_IGNORE_KEYS",["filterData.sb_selected_filter_type"])}requiresHeader(){return!0}filterParamsForCompare(e){return this.COMPARE_IGNORE_KEYS.forEach((t=>{(0,tt.unset)(e,t)})),e}refreshViewButtons(){const e=JSON.stringify(this.filterParamsForCompare(JSON.parse(this.table.getUrlParamsStringForSave()))),t=decodeURI(e);let i=document.getElementById("save-view-modal-button");this.selectedViewParams=this.table.getAllParamsFromUrl()[this.table.viewId];let n=JSON.stringify(this.filterParamsForCompare(this.selectedViewParams)),s=null;i&&(i.disabled=!0),document.querySelectorAll(".js-view-button").forEach((e=>{if(!e.dataset.params)return;const o=JSON.stringify(this.filterParamsForCompare(JSON.parse(e.dataset.params))),r=o===t,a=n===o;e.classList.remove("active"),e.classList.remove("changed"),!this.selectedViewParams&&r&&(e.classList.add("active"),s=e,this.selectedViewParams=JSON.parse(e.dataset.params)),a&&(s=e,e.classList.add("active")),a&&!r&&this.selectedViewParams&&(i&&(i.disabled=!1),e.classList.add("changed"))})),s||i&&(i.disabled=!1),document.querySelector("#"+this.table.constants.URL_PARAMS_NAME).value=t}afterUrlStateUpdate(){this.refreshViewButtons()}loadFromUrlAfterInit(){this.refreshViewButtons()}openView(e,t,i){if(t&&!e.target.closest("svg")){if("POST"===this.table.tabulatorOptions.ajaxConfig.method){const e={selectedView:i};let t=window.location.pathname;i&&(t+="?"+new URLSearchParams(e).toString()),history.pushState({},"",t)}else{const e=JSON.parse(t)||{},i=this.table.getAllUrlParams();i[this.table.viewId]=e,history.pushState({},"",window.location.pathname+this.table.paramsObjectToUrlString(i))}this.table.loadFromUrl()}}},selectionModule:class extends et{constructor(e){super(e),this.tableSelectedRows=new Set,this.tableDeselectedRows=new Set}setSelectedRows(e,t){if(this.tableSelectionInitialisation)return;let i=document.querySelector("#"+this.table.constants.SELECTED_ROWS_KWARG_NAME+"_info");const n=document.querySelector("#"+this.table.constants.SELECTED_ROWS_KWARG_NAME+"_bar");if(this.tableSelectedRows=e,this.tableDeselectedRows=t,e!==this.table.constants.SELECT_ALL_KEYWORD)i.innerHTML=window.sb_admin_translation_strings.selected.replace("${value}",e.size),e.size>0?(n.classList.add("show"),document.getElementById("table-selected-rows-bar-select-all").checked=!0):(document.getElementById("table-selected-rows-bar-select-all").checked=!1,n.classList.remove("show"));else{const e=this.table.tabulator.modules.page.remoteRowCountEstimate-t.size;i.innerHTML=window.sb_admin_translation_strings.selected.replace("${value}",e)}}selectAllData(){this.table.tabulator.selectRow("all"),this.setSelectedRows(this.table.constants.SELECT_ALL_KEYWORD,new Set),document.body.dispatchEvent(new CustomEvent("treeSelectAllRows"))}selectNoData(){this.table.tabulator.deselectRow(),this.setSelectedRows(new Set,new Set),document.body.dispatchEvent(new CustomEvent("treeDeselectAllRows"))}rowSelectionFormatter(e,t,i,n){let s=this.table.defaultRowSelectionFormatter.bind(e)(t,i,n),o=!1;s.setAttribute("aria-label","Select Row"),s.classList.add("checkbox");const r=document.createElement("label"),a=document.createElement("label");if(a.classList.add("row-select-wrapper"),"function"==typeof t.getRow){let e=t.getRow(),i=this.tableSelectedRows===this.table.constants.SELECT_ALL_KEYWORD&&!this.tableDeselectedRows.has(e.getData()[this.table.tableIdColumnName]),n=this.tableSelectedRows!==this.table.constants.SELECT_ALL_KEYWORD&&this.tableSelectedRows.has(e.getData()[this.table.tableIdColumnName]);o=i||n,o&&(this.tableSelectionInitialisation=!0,e.toggleSelect(),this.tableSelectionInitialisation=!1);const l=e.getData();s.setAttribute("id",`row-select-${l[this.table.tableIdColumnName]}`),s.setAttribute("name",`row-select-${this.table.viewId}`),r.setAttribute("for",`row-select-${l[this.table.tableIdColumnName]}`),a.setAttribute("for",`row-select-${l[this.table.tableIdColumnName]}`)}else s.setAttribute("id","row-select-all"),r.setAttribute("for","row-select-all"),a.setAttribute("for","row-select-all"),t.getElement().style="overflow: visible;";return a.append(s),a.append(r),a}beforeDefaultColumns(){const e=this;return[{field:"__selection",formatter:function(t,i,n){return e.rowSelectionFormatter(this,t,i,n)},titleFormatter:function(t,i,n){return e.rowSelectionFormatter(this,t,i,n)},visible:!0,headerSort:!1,width:"52"}]}getSelectionHandler(e){return t=>{let i=this.tableSelectedRows,n=this.tableDeselectedRows;"rowDeselected"===e&&(i===this.table.constants.SELECT_ALL_KEYWORD?n.add(t.getData()[this.table.tableIdColumnName]):i.delete(t.getData()[this.table.tableIdColumnName])),"rowSelected"===e&&(i===this.table.constants.SELECT_ALL_KEYWORD?n.delete(t.getData()[this.table.tableIdColumnName]):i.add(t.getData()[this.table.tableIdColumnName])),this.setSelectedRows(i,n)}}getUrlParams(){const e={},t={},i=this.table.constants.SELECT_ALL_KEYWORD===this.tableSelectedRows?this.tableSelectedRows:Array.from(this.tableSelectedRows),n=Array.from(this.tableDeselectedRows);return i.length>0&&(t[this.table.constants.SELECTED_ROWS_KWARG_NAME]=i),n.length>0&&(t[this.table.constants.DESELECTED_ROWS_KWARG_NAME]=n),(i.length>0||n.length>0)&&(e[this.table.constants.SELECTION_DATA_NAME]=t),e}getUrlParamsForSave(){return{}}afterInit(){this.table.tabulator.on("rowSelected",this.getSelectionHandler("rowSelected")),this.table.tabulator.on("rowDeselected",this.getSelectionHandler("rowDeselected")),this.table.tabulator.on("rowSelectionChanged",(e=>{0===e.length&&document.body.dispatchEvent(new CustomEvent("treeDeselectAllRows"))})),document.body.addEventListener("treeRowSelected",(e=>{const t=this.table.tabulator.getSelectedData().map((e=>e.id)),i=e.detail.data,n=new Set(e.detail.data),s=t.filter((e=>!n.has(e)));this.table.tabulator.deselectRow(s),this.table.tabulator.selectRow(i)}))}loadFromUrlAfterInit(){this.selectNoData()}beforeRefreshTableDataIfNotUrlLoad(){this.selectNoData()}},columnDisplayModule:class extends et{constructor(e){super(e),this.defaultVisible=!0,this.defaultCollapsed=!1}requiresHeader(){return!0}handleColumnVisibility(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t?e.show():e.hide(),t&&i&&this.table.tabulator.modules.responsiveLayout.hideColumn(e),t&&!i&&this.table.tabulator.modules.responsiveLayout.showColumn(e),!t&&i&&(this.table.tabulator.modules.responsiveLayout.showColumn(e),e.hide()),n||(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field]||(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field]={}),this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME]=t,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME]=i,this.table.refreshTableDataIfNotUrlLoad())}createCheckbox(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["checkbox"];const n=document.createElement("div");n.classList.add("relative");const s=document.createElement("label"),o=document.createElement("input");return o.id=e,o.name=o.id,o.type="checkbox",o.classList.add(...i),o.checked=t,s.htmlFor=o.id,n.appendChild(o),n.appendChild(s),[n,o,s]}refreshColumnWidget(){const e=this.table.tabulator.getColumns(!0),t=document.querySelector(`#${this.table.columnWidgetId}`);t&&(t.innerHTML="",e.forEach((e=>{const i=e._getSelf(),n=this.table.viewId+"_"+i.field,s=document.createElement("li"),o=i.getDefinition().title;o||(s.style="display: none");const[r,a]=this.createCheckbox(n+"_visible",this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][i.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME],["checkbox","js-select-all-item"]),[l,h,u]=this.createCheckbox(n+"_collapsed",this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][i.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME],["checkbox","checkbox-icon"]);l.classList.add("ml-auto"),u.appendChild(nt("Pin",["w-16","h-16"])),u.appendChild(nt("Pin Filled",["w-16","h-16"])),a.addEventListener("change",lt()((()=>{this.handleColumnVisibility(i,a.checked,h.checked)}),200)),h.addEventListener("change",lt()((()=>{this.handleColumnVisibility(i,a.checked,h.checked)}),200));const c=document.createElement("div");c.classList.add("ml-8","-mr-8"),c.innerHTML='<div class="js-drag-handle cursor-pointer ml-auto"><svg class="w-20 h-20 text-dark-400"><use xlink:href="#Drag"></use></svg></div>';const d=document.createElement("div");d.classList.add("line-clamp-1","mr-4"),d.innerHTML=o,s.appendChild(r),s.appendChild(d),s.appendChild(l),s.appendChild(c),t.appendChild(s)})),this.sortable=new pn(t,{handle:".js-drag-handle",animation:150,ghostClass:"bg-primary-50",onEnd:e=>{let t=e.oldIndex,i=e.newIndex,n=this.table.tabulator.getColumns(),s=n[t],o=n[i];s.move(o,t<i),this.table.updateUrlState()}}))}sortColumns(e,t){if(!(t&&t.order&&t[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]))return e;let i=[];return t.order.forEach((n=>{e.forEach((e=>{e.field===n&&(i.push(e),e.visible=void 0!==t[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][n]?t[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][n][this.table.constants.COLUMNS_DATA_VISIBLE_NAME]:this.defaultVisible)}))})),i}getUrlParams(){const e={};if(this.table.tabulator){const t=[],i={};this.table.tabulator.getColumns().forEach((e=>{t.push(e.getField())})),t.toString()!==this.table.tableInitialColumnsOrder.toString()&&(e[this.table.constants.COLUMNS_DATA_NAME]=e[this.table.constants.COLUMNS_DATA_NAME]||{},e[this.table.constants.COLUMNS_DATA_NAME][this.table.constants.COLUMNS_DATA_ORDER_NAME]=t),Object.keys(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]).forEach((e=>{const t=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e],n=this.table.tableInitialColumnsByField[e]||{},s=n.visible,o=n.collapsed||!1,r=t[this.table.constants.COLUMNS_DATA_COLLAPSED_NAME]||!1;(t[this.table.constants.COLUMNS_DATA_VISIBLE_NAME]!==s||r!==o)&&(i[e]=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e])})),Object.keys(i).length>0&&(e[this.table.constants.COLUMNS_DATA_NAME]=e[this.table.constants.COLUMNS_DATA_NAME]||{},e[this.table.constants.COLUMNS_DATA_NAME][this.table.constants.COLUMNS_DATA_COLUMNS_NAME]=i)}return e}loadFromUrl(){const e=this.table.getParamsFromUrl();this.columnsData=e[this.table.constants.COLUMNS_DATA_NAME]||{},this.columnsData[this.table.constants.COLUMNS_DATA_ORDER_NAME]=this.columnsData[this.table.constants.COLUMNS_DATA_ORDER_NAME]||this.table.tableInitialColumnsOrder,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]||{};const t={},i=JSON.parse(JSON.stringify(this.table.tableInitialColumnsByField));Object.keys(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME]).forEach((e=>{t[e]=this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e]})),Object.keys(i).forEach((e=>{this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][e]=t[e]||i[e]})),this.table.tabulator?this.table.tabulator.setColumns(this.sortColumns(this.table.tableColumns,this.columnsData)):this.table.tableColumns=this.sortColumns(this.table.tableColumns,this.columnsData)}loadFromUrlAfterInit(){this.table.tabulator.getColumns().forEach((e=>{const t=e._getSelf();void 0===this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field]&&(this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field]={},this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME]=void 0!==t.visible?t.visible:this.defaultVisible,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME]=void 0!==t.collapsed?t.collapsed:this.defaultCollapsed)})),this.table.tabulator.getColumns().forEach((e=>{const t=e._getSelf();this.handleColumnVisibility(t,this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_VISIBLE_NAME],this.columnsData[this.table.constants.COLUMNS_DATA_COLUMNS_NAME][t.field][this.table.constants.COLUMNS_DATA_COLLAPSED_NAME],!0)})),this.refreshColumnWidget()}},filterModule:class extends et{requiresHeader(){return!0}afterInit(){st(`[form=${this.table.filterFormId}]`,(e=>{this.table.refreshTableDataIfNotUrlLoad(),this.filterInputValueChanged(e.target)}))}loadFromUrl(){const e=this.table.getParamsFromUrl()[this.table.constants.FILTER_DATA_NAME];document.querySelector(`#${this.table.filterFormId}`).reset(),document.querySelectorAll(`[form=${this.table.filterFormId}]`).forEach((e=>{const t=e.closest(".filter-wrapper");t?t.hasAttribute("data-all-filters-visible")||this.hideFilter(t.getAttribute("data-filter-input-name")):this.hideFilter(e.getAttribute("name"),!1)})),e&&Object.entries(e).forEach((e=>{let t=this.getFormField(e[0]);t&&(this.showFilter(e[0],!1),t.value=e[1],t.dispatchEvent(new CustomEvent("SBTableFilterFormLoad")),this.filterInputValueChanged(t))}))}getFormField(e){return document.querySelector(`#${this.table.viewId}-${e}`)}hideDropdown(e){var t,i,n,s;"1"===(null==e||null===(t=e.dataset)||void 0===t?void 0:t.sbadminCloseOnChange)&&(null===(i=window.bootstrap5)||void 0===i||null===(n=i.Dropdown)||void 0===n||null===(s=n.getInstance(e))||void 0===s||s.hide())}filterInputValueChanged(e){const t=rt(e);t&&this.changeFilterButtonState(t)}changeFilterButtonState(e){const t=e.closest("button");this.hideDropdown(t),e.innerHTML?t.classList.remove("empty"):t.classList.add("empty")}getUrlParams(){const e={},t=document.querySelector(`#${this.table.filterFormId}`),i=new FormData(t).entries(),n={};for(const[e,t]of i)n[e]=t;return Object.keys(n).length>0&&(e[this.table.constants.FILTER_DATA_NAME]=n),e}focusOnFilterInput(e){setTimeout((()=>{var t;e.children[0].click(),null===(t=e.querySelector('input:not([type="hidden"])'))||void 0===t||t.focus()}),100)}showFilter(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.getFormField(e),n=document.querySelector(`#${this.table.viewId}-${e}-wrapper`);n&&(!t||n&&n.classList.contains("hidden")?(i.disabled=!1,n.classList.remove("hidden"),t&&this.focusOnFilterInput(n),this.table.refreshTableDataIfNotUrlLoad()):this.focusOnFilterInput(n))}hideFilter(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.getFormField(e),n=document.querySelector(`#${this.table.viewId}-${e}-wrapper`);i&&(i.value="",n&&t&&(n.classList.add("hidden"),i.disabled=!0),i.dispatchEvent(new Event("change")),i.dispatchEvent(new CustomEvent("clear")),this.table.refreshTableDataIfNotUrlLoad())}clearFilter(e){const t=this.getFormField(e);t.value="",t.dispatchEvent(new Event("change")),t.dispatchEvent(new CustomEvent("clear",{detail:{refresh:!0}})),this.table.refreshTableDataIfNotUrlLoad()}},advancedFilterModule:class extends et{constructor(e){super(e),this.componentInitMap={".js-autocomplete":(e,t,i)=>{window.SBAdmin.autocomplete.initAutocomplete(i)},".js-simple-multiselect":(e,t,i)=>{window.SBAdmin.multiselect.initMultiselect(i),i.dispatchEvent(new CustomEvent("SBTableFilterFormLoad"))},".js-range":(e,t,i)=>{window.SBAdmin.range.initRange(i),i.dispatchEvent(new CustomEvent("SBTableFilterFormLoad"))},".js-datepicker-dynamic":(e,t,i)=>{this.dateOperatorUpdate(e,t,i)}},this.afterUpdateRuleOperatorFunctions={".js-range":this.rangeOperatorUpdate,".js-datepicker-dynamic":this.dateOperatorUpdate.bind(this)}}loadFromUrl(){var e;const t={condition:"AND",rules:[{empty:!0}]};let i=this.table.getParamsFromUrl()[this.table.constants.ADVANCED_FILTER_DATA_NAME];null!==(e=i)&&void 0!==e&&e.rules&&0!==i.rules.length||(i=t),document.querySelectorAll(".js-datepicker-dynamic").forEach((e=>{this.destroyDatePicker(e)})),window.dispatchEvent(new CustomEvent("SBinitOrUpdateQueryBuilder",{detail:{SBTable:this,filterData:i}}))}afterInit(){document.addEventListener("click",(e=>{e.target.closest("[data-execute]")&&this.table.refreshTableDataIfNotUrlLoad()}))}initFilters(e,t){const i=t.$el[0];Object.keys(this.componentInitMap).forEach((e=>{const n=i.querySelector(e);n&&this.componentInitMap[e](t,i,n)})),i.querySelectorAll(`[form=${this.table.advancedFilterId}]`).forEach((e=>{rt(e)})),st(`[form=${this.table.advancedFilterId}]`,(e=>{rt(e.target)}))}afterUpdateRuleOperator(e,t){const i=t.$el[0];Object.keys(this.afterUpdateRuleOperatorFunctions).forEach((e=>{const n=i.querySelector(e);n&&this.afterUpdateRuleOperatorFunctions[e](t,i,n)}))}getUrlParams(){const e=document.querySelector(`#${this.table.advancedFilterId}`),t=$(e).queryBuilder("getRules",{allow_invalid:!0,skip_empty:!0});return{[this.table.constants.ADVANCED_FILTER_DATA_NAME]:t}}rangeOperatorUpdate(e,t,i){const n=t.querySelector(`[name=${i.id}_to]`);["between","not_between"].includes(e.operator.type)?n.classList.remove("hidden"):n.classList.contains("hidden")||n.classList.add("hidden")}destroyDatePicker(e){var t;if(e._flatpickr)return null===(t=e._flatpickr.calendarContainer)||void 0===t||t.remove(),e._flatpickr.clear(),e._flatpickr.destroy(),void(e._flatpickr=void 0);const i=window.bootstrap5.Dropdown.getInstance(e);var n;i&&(i.dispose(),e.removeAttribute("data-bs-toggle"),null===(n=e.nextElementSibling)||void 0===n||n.remove(),e.readOnly=!1,e.value="")}dateOperatorUpdate(e,t,i){let n={inline:!1,mode:"single",allowInput:!0,plugins:[gn,fn]};["between","not_between","in_the_last","in_the_next"].includes(e.operator.type)&&(n.mode="range"),this.destroyDatePicker(i);const s=JSON.parse(i.dataset.sbadminDatepickerShortcutsDict);i.dataset.sbadminDatepickerShortcuts=JSON.stringify(s[e.operator.type]||[]),["in_the_last","in_the_next"].includes(e.operator.type)?window.SBAdmin.datepicker.initShortcutsDropdown(i,{},n):window.SBAdmin.datepicker.initFlatPickr(i,{},n)}},tableParamsModule:class extends et{loadFromUrl(){const e=this.table.getParamsFromUrl()[this.table.constants.TABLE_PARAMS_NAME];let t=this.table.tableInitialSort,i=this.table.tableInitialPage,n=this.table.tableInitialPageSize;e&&(t=e[this.table.constants.TABLE_PARAMS_SORT_NAME]||t,i=e.page||i,n=e.size||n),t=this.getSortDataFromSorters(t),this.table.tabulator?(this.table.tabulator.modules.sort.setSort(t),this.table.tabulator.modules.page.size=n,this.table.tabulator.modules.page.page=i):(this.table.tableInitializeSort=t,this.table.tableInitializePage=i,this.table.tableInitializePageSize=n)}getSortDataFromSorters(e){let t=[];return null==e||e.forEach((e=>{t.push({column:e.field||e.column.field,dir:e.dir})})),t}getUrlParams(){const e={},t={};this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SIZE_NAME]!==this.table.tableInitialPageSize&&(t[this.table.constants.TABLE_PARAMS_SIZE_NAME]=this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SIZE_NAME]),this.table.lastTableParams[this.table.constants.TABLE_PARAMS_PAGE_NAME]!==this.table.tableInitialPage&&(t[this.table.constants.TABLE_PARAMS_PAGE_NAME]=this.table.lastTableParams[this.table.constants.TABLE_PARAMS_PAGE_NAME]);const i=this.getSortDataFromSorters(this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SORT_NAME]),n=this.getSortDataFromSorters(this.table.tableInitialSort);return i.length>0&&JSON.stringify(i)!==JSON.stringify(n)&&(t[this.table.constants.TABLE_PARAMS_SORT_NAME]=this.table.lastTableParams[this.table.constants.TABLE_PARAMS_SORT_NAME]),Object.keys(t).length>0&&(e[this.table.constants.TABLE_PARAMS_NAME]=t),e}getUrlParamsForSave(){const e={},t=this.getUrlParams()[this.table.constants.TABLE_PARAMS_NAME];return t&&(delete t[this.table.constants.TABLE_PARAMS_PAGE_NAME],e[this.table.constants.TABLE_PARAMS_NAME]=t),e}loadFromUrlAfterInit(){const e=document.querySelector(`#${this.table.paginationWidgetId}`),t=document.querySelector(`#${this.table.pageSizeWidgetId}`);this.createPagination(e),this.createPageSize(t),this.table.tabulator.on("dataProcessed",(()=>{this.createPagination(e),this.createPageSize(t)}))}createPaginationButton(e,t,i){const n=document.createElement("button");return e instanceof Node?n.appendChild(e):n.innerHTML=e,n.type="button",n.classList.add("tabulator-page"),t?(n.onclick=t,i&&n.classList.add("active"),n):(n.disabled=!0,n)}createPaginationButtonsFromRange(e,t,i,n){Array.from({length:e},t).forEach((e=>{i.appendChild(this.createPaginationButton(e,(()=>{this.table.tabulator.setPage(e)}),e===n))}))}createPagination(e){if(!e)return;const t=this.table.tabulator.getPageMax(),i=this.table.tabulator.getPage(),n=this.table.tabulator.getPageSize();e.innerHTML="";const s=document.createElement("div");s.classList.add("max-xs:text-12");const o=this.table.tabulator.getDataCount();if(o>0){const e=n*(i-1)+1,t=n===o?n*i:n*(i-1)+this.table.tabulator.getDataCount();s.innerHTML=window.sb_admin_translation_strings.page.replace("${from}",e).replace("${to}",t).replace("${total}",this.table.tabulator.modules.page.remoteRowCountEstimate)}else s.innerHTML=window.sb_admin_translation_strings.page_empty;if(e.appendChild(s),1===t)return;const r=document.createElement("div");r.classList.add("tabulator-paginator"),e.appendChild(r);const a=this.createPaginationButton(nt("Left",["w-20","h-20"]),(()=>{this.table.tabulator.setPage(i-1)}));a.disabled=1===i,r.appendChild(a);const l=this.table.constants.PAGINATION_ACTIVE_RANGE;t>l+1?i>=l?(r.appendChild(this.createPaginationButton(1,(()=>{this.table.tabulator.setPage(1)}))),r.appendChild(this.createPaginationButton(nt("More",["w-20","h-20","mt-8"]))),i>t-l+1?this.createPaginationButtonsFromRange(l,((e,i)=>i+1+t-l),r,i):(this.createPaginationButtonsFromRange(l,((e,t)=>t+i-Math.floor(l/2)),r,i),r.appendChild(this.createPaginationButton(nt("More",["w-20","h-20","mt-8"]))),r.appendChild(this.createPaginationButton(t,(()=>{this.table.tabulator.setPage(t)}))))):(this.createPaginationButtonsFromRange(l,((e,t)=>t+1),r,i),r.appendChild(this.createPaginationButton(nt("More",["w-20","h-20","mt-8"]))),r.appendChild(this.createPaginationButton(t,(()=>{this.table.tabulator.setPage(t)})))):this.createPaginationButtonsFromRange(t,((e,t)=>t+1),r,i);const h=this.createPaginationButton(nt("Right",["w-20","h-20"]),(()=>{this.table.tabulator.setPage(i+1)}));h.disabled=i===t,r.appendChild(h)}createPageSize(e){if(!e)return;e.innerHTML="";const t=document.createElement("div");t.classList.add("relative");const i=document.createElement("ul");i.classList.add("dropdown-menu","dropdown-menu-end"),i.style.maxWidth="120px",this.table.constants.PAGE_SIZE_OPTIONS.forEach((e=>{const t=document.createElement("li");t.classList.add("dropdown-menu-link"),t.innerHTML=e,t.onclick=()=>{this.table.tabulator.setPageSize(e)},i.appendChild(t)})),t.appendChild(this.createPageSizeDropdownButton(this.table.tabulator.getPageSize())),t.appendChild(i),e.appendChild(t)}createPageSizeDropdownButton(e){const t=document.createElement("button");t.type="button",t.classList.add("btn","px-10","font-normal","sm:min-w-84"),t.setAttribute("data-bs-toggle","dropdown"),t.setAttribute("aria-expanded","false"),t.setAttribute("data-bs-offset","[0,8]");const i=document.createElement("span");return i.innerHTML=e,t.appendChild(i),t.appendChild(nt("Down",["w-20","h-20","ml-8"])),t}},detailViewModule:class extends et{getDetailUrl(e){return this.table.tableDetailUrl.replace(this.table.constants.OBJECT_ID_PLACEHOLDER,e.getData()[this.table.tableIdColumnName])+"?_changelist_filters="+encodeURIComponent(this.table.getUrlParamsString().replace("?"+this.table.constants.BASE_PARAMS_NAME+"=",this.table.constants.BASE_PARAMS_NAME+"="))}afterInit(){this.table.tabulator.element.addEventListener("mousedown",(e=>{if(1===e.button){!e.target.closest(".tabulator-row")||e.target.closest(".row-select-wrapper")||e.target.closest(".row-prevent-click")||e.preventDefault()}}),!0),this.table.tabulator.element.addEventListener("auxclick",(e=>{if(1===e.button){const t=e.target.closest(".tabulator-row");if(t&&!e.target.closest(".row-select-wrapper")&&!e.target.closest(".row-prevent-click")){e.preventDefault(),e.stopPropagation();const i=this.table.tabulator.getRows();let n=null;for(let e=0;e<i.length;e++)if(i[e].getElement()===t){n=i[e];break}n&&window.open(this.getDetailUrl(n),"_blank","noopener")}}}),!0),this.table.tabulator.on("rowClick",((e,t)=>{e.target.closest(".row-select-wrapper")||e.target.closest(".row-prevent-click")||1!==e.button&&2!==e.which&&(window.location=this.getDetailUrl(t))}))}},movableColumnsModule:class extends et{dragFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.reorder}"><svg class="w-16 h-16"><use xlink:href="#Hamburger-button"></use></svg></div>`}getRowPosition(e){return(e.getTable().getPage()-1)*e.getTable().getPageSize()+e.getPosition(!0)}getPagePositions(e){const t=e.getPage(),i=e.getPageSize();return{startPosition:(t-1)*i,endPosition:t*i}}isPositionInPage(e,t){return t>=e.startPosition&&t<e.endPosition}maxRowPosition(e){return e.modules.page.remoteRowCountEstimate}moveRowToPosition(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(t<=0)return;const n=e.getTable(),s=t-1;t>this.maxRowPosition(n)&&(t=this.maxRowPosition(n));let o=!0;t>this.getRowPosition(e)&&(o=!1),null!==i&&(o=i);const r=n.getPageSize(),a=this.getPagePositions(n),l=this.isPositionInPage(a,s),h=s-a.startPosition;if(!l){let i=Math.floor(s/r)+1;n.setPage(i),this.moveRowAfterNewData={rowData:e.getData(),newRowPosition:t,up:o}}l&&(n.moveRow(e,n.getRows()[h],o),this.rowMoved(e))}rownumEdited(e){const t=e.getValue();this.moveRowToPosition(e.getRow(),t)}rownumFormatter(e){const t=this.getRowPosition(e.getRow());return e.getRow()._getSelf().oldPosition=t,t}arrowUpFirstFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.first}"><svg class="w-16 h-16"><use xlink:href="#Double-up"></use></svg></div>`}arrowUpFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.up}"><svg class="w-16 h-16"><use xlink:href="#Up"></use></svg></div>`}arrowDownFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.down}"><svg class="w-16 h-16"><use xlink:href="#Down"></use></svg></div>`}arrowDownLastFormatter(){return`<div class="absolute inset-0 p-8 flex-center" title="${window.sb_admin_translation_strings.last}"><svg class="w-16 h-16"><use xlink:href="#Double-down"></use></svg></div>`}arrowUpMove(e){this.moveRowToPosition(e.getRow(),this.getRowPosition(e.getRow())-1)}arrowUpFirstMove(e){this.moveRowToPosition(e.getRow(),1)}arrowDownMove(e){this.moveRowToPosition(e.getRow(),this.getRowPosition(e.getRow())+1)}arrowDownLastMove(e){this.moveRowToPosition(e.getRow(),this.maxRowPosition(e.getTable()))}beforeDefaultColumns(){return[{rowHandle:!0,formatter:this.dragFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowUpFirstMove(t)},formatter:this.arrowUpFirstFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowUpMove(t)},formatter:this.arrowUpFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowDownMove(t)},formatter:this.arrowDownFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{cellClick:(e,t)=>{this.arrowDownLastMove(t)},formatter:this.arrowDownLastFormatter,headerSort:!1,width:40,minWidth:40,visible:!0},{formatter:e=>this.rownumFormatter(e),headerSort:!1,visible:!0,editor:"input",cellEdited:e=>{this.rownumEdited(e)}}]}modifyTabulatorOptions(e){return e.movableRows=!0,e}rowMoved(e){const t=e.getData()[this.table.tableIdColumnName],i=e._getSelf().oldPosition;let n=e.getPosition(!0),s=null;const o=e.getNextRow();o&&(s=o.getData()[this.table.tableIdColumnName]);const r=i<n?i:n,a=i>n?i:n;this.table.tabulator.getRows().forEach((e=>{const t=e.getPosition(!0);t>=r&&t<=a&&e.reformat()}));const l=new FormData;l.set("currentRowId",t),l.set("replacedRowId",s),fetch(this.table.tableActionMoveUrl,{method:"POST",headers:{"X-CSRFToken":window.csrf_token},body:l}).then((e=>e.json())).then((e=>{console.log(e)}))}afterInit(){this.table.tabulator.on("rowMoved",(e=>{this.rowMoved(e)})),this.table.tabulator.on("dataProcessed",(()=>{this.moveRowAfterNewData&&this.table.tabulator.addRow(this.moveRowAfterNewData.rowData).then((e=>{this.moveRowToPosition(e,this.moveRowAfterNewData.newRowPosition,this.moveRowAfterNewData.up);const t=this.table.tabulator.getRows();!0===this.moveRowAfterNewData.up?t[t.length-1].delete():t[0].delete(),this.moveRowAfterNewData=null}))}))}},dataEditModule:class extends et{afterInit(){this.table.tabulator.on("cellEdited",(e=>{const t=e.getRow().getData()[this.table.tableIdColumnName],i=new FormData;i.set("currentRowId",t),i.set("columnFieldName",e.getColumn().getField()),i.set("cellValue",e.getValue()),window.htmx.ajax("POST",this.table.tableDataEditUrl,{swap:"none",values:{currentRowId:t,columnFieldName:e.getColumn().getField(),cellValue:e.getValue()}})}))}},fullTextSearchModule:class extends et{loadFromUrl(){var e;if(this.searchInputEl=document.getElementById(`${this.table.viewId}-${this.table.constants.TABLE_PARAMS_FULL_TEXT_SEARCH}`),!this.searchInputEl)return;const t=null===(e=this.table.getParamsFromUrl()[this.table.constants.FILTER_DATA_NAME])||void 0===e?void 0:e[this.table.constants.TABLE_PARAMS_FULL_TEXT_SEARCH];this.searchInputEl.value=t||""}},headerTabsModule:class extends et{afterInit(){const e=document.querySelector(".js-filters-options"),t=document.querySelector(`[name=${this.table.constants.TABLE_PARAMS_SELECTED_FILTER_TYPE}]`);e&&t&&e.querySelectorAll('[data-bs-toggle="tab"]').forEach((e=>{e.addEventListener("show.bs.tab",(e=>{"tab_saved_views"!==e.target.id&&(t.value=e.target.id)}))}))}beforeRefreshTableDataIfNotUrlLoad(){const e=document.querySelectorAll(".tabulator-custom-header .tab-pane"),t=document.querySelector(`[name=${this.table.constants.TABLE_PARAMS_SELECTED_FILTER_TYPE}]`);if(e.forEach((e=>{t.value!==e.getAttribute("aria-labelledby")&&e.querySelectorAll(`[form=${this.table.filterFormId}]`).forEach((e=>{e!==t&&(e.value="",rt(e),e.dispatchEvent(new CustomEvent("clearSelectedItems")))}))})),"tab_advanced_filters"!==t.value){const e=document.querySelector(`#${this.table.advancedFilterId}`),t={condition:"AND",rules:[{empty:!0}]};$(e).queryBuilder("setRules",t)}}loadFromUrlAfterInit(){const e=document.querySelector(`[name=${this.table.constants.TABLE_PARAMS_SELECTED_FILTER_TYPE}]`);if(!e)return;if("tab_saved_views"!==document.querySelector(".js-filters-options").querySelector('[data-bs-toggle="tab"].active').id){if(""===e.value){const t=document.querySelector(".js-filters-options");e.value=t.querySelector('[data-bs-toggle="tab"]').id}document.getElementById(e.value).click()}window.location.search.includes("tabCreated")&&(e.value="tab_saved_views",document.getElementById(e.value).click())}}}})()})();