@finos/legend-vscode-extension-dependencies 4.0.210 → 4.0.211

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("crypto"),t=require("stream"),n=require("react");function i(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=i(n),s="8.1.193",o={graphManagerPreset:"@finos/legend-graph-manager-preset-dsl-diagram",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-dsl-diagram",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-dsl-diagram",pureGraphPlugin:"@finos/legend-pure-graph-plugin-dsl-diagram"},a="object"==typeof global&&global&&global.Object===Object&&global,l="object"==typeof self&&self&&self.Object===Object&&self,d=a||l||Function("return this")(),u=d.Symbol,h=Object.prototype,p=h.hasOwnProperty,g=h.toString,m=u?u.toStringTag:void 0;var f=Object.prototype.toString;var y=u?u.toStringTag:void 0;function v(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":y&&y in Object(e)?function(e){var t=p.call(e,m),n=e[m];try{e[m]=void 0;var i=!0}catch(e){}var r=g.call(e);return i&&(t?e[m]=n:delete e[m]),r}(e):function(e){return f.call(e)}(e)}function _(e){return null!=e&&"object"==typeof e}function b(e){return"symbol"==typeof e||_(e)&&"[object Symbol]"==v(e)}function C(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n<i;)r[n]=t(e[n],n,e);return r}var S=Array.isArray,E=u?u.prototype:void 0,w=E?E.toString:void 0;function x(e){if("string"==typeof e)return e;if(S(e))return C(e,x)+"";if(b(e))return w?w.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var T=/\s/;var A=/^\s+/;function N(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&T.test(e.charAt(t)););return t}(e)+1).replace(A,""):e}function R(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var I=/^[-+]0x[0-9a-f]+$/i,D=/^0b[01]+$/i,k=/^0o[0-7]+$/i,O=parseInt;function L(e){if("number"==typeof e)return e;if(b(e))return NaN;if(R(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=R(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=N(e);var n=D.test(e);return n||k.test(e)?O(e.slice(2),n?2:8):I.test(e)?NaN:+e}var M=1/0;function P(e){return e?(e=L(e))===M||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function F(e){var t=P(e),n=t%1;return t==t?n?t-n:t:0}function B(e){return e}function V(e){if(!R(e))return!1;var t=v(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var U=d["__core-js_shared__"],G=function(){var e=/[^.]+$/.exec(U&&U.keys&&U.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var H=Function.prototype.toString;function z(e){if(null!=e){try{return H.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var W=/^\[object .+?Constructor\]$/,j=Function.prototype,$=Object.prototype,q=j.toString,Y=$.hasOwnProperty,K=RegExp("^"+q.call(Y).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function X(e){return!(!R(e)||(t=e,G&&G in t))&&(V(e)?K:W).test(z(e));var t}function Z(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return X(n)?n:void 0}var Q=Z(d,"WeakMap"),J=Object.create,ee=function(){function e(){}return function(t){if(!R(t))return{};if(J)return J(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function te(){}function ne(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}var ie=Date.now;function re(e){return function(){return e}}var se=function(){try{var e=Z(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),oe=se?function(e,t){return se(e,"toString",{configurable:!0,enumerable:!1,value:re(t),writable:!0})}:B,ae=function(e){var t=0,n=0;return function(){var i=ie(),r=16-(i-n);if(n=i,r>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(oe);function le(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e}function ce(e,t,n,i){for(var r=e.length,s=n+(i?1:-1);i?s--:++s<r;)if(t(e[s],s,e))return s;return-1}function de(e){return e!=e}function ue(e,t,n){return t==t?function(e,t,n){for(var i=n-1,r=e.length;++i<r;)if(e[i]===t)return i;return-1}(e,t,n):ce(e,de,n)}function he(e,t){return!!(null==e?0:e.length)&&ue(e,t,0)>-1}var pe=/^(?:0|[1-9]\d*)$/;function ge(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&pe.test(e))&&e>-1&&e%1==0&&e<t}function me(e,t,n){"__proto__"==t&&se?se(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function fe(e,t){return e===t||e!=e&&t!=t}var ye=Object.prototype.hasOwnProperty;function ve(e,t,n){var i=e[t];ye.call(e,t)&&fe(i,n)&&(void 0!==n||t in e)||me(e,t,n)}function _e(e,t,n,i){var r=!n;n||(n={});for(var s=-1,o=t.length;++s<o;){var a=t[s],l=void 0;void 0===l&&(l=e[a]),r?me(n,a,l):ve(n,a,l)}return n}var be=Math.max;function Ce(e,t,n){return t=be(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=be(i.length-t,0),o=Array(s);++r<s;)o[r]=i[t+r];r=-1;for(var a=Array(t+1);++r<t;)a[r]=i[r];return a[t]=n(o),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}function Se(e,t){return ae(Ce(e,t,B),e+"")}function Ee(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function we(e){return null!=e&&Ee(e.length)&&!V(e)}function xe(e,t,n){if(!R(n))return!1;var i=typeof t;return!!("number"==i?we(n)&&ge(t,n.length):"string"==i&&t in n)&&fe(n[t],e)}function Te(e){return Se(function(t,n){var i=-1,r=n.length,s=r>1?n[r-1]:void 0,o=r>2?n[2]:void 0;for(s=e.length>3&&"function"==typeof s?(r--,s):void 0,o&&xe(n[0],n[1],o)&&(s=r<3?void 0:s,r=1),t=Object(t);++i<r;){var a=n[i];a&&e(t,a,i,s)}return t})}var Ae=Object.prototype;function Ne(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ae)}function Re(e){return _(e)&&"[object Arguments]"==v(e)}var Ie=Object.prototype,De=Ie.hasOwnProperty,ke=Ie.propertyIsEnumerable,Oe=Re(function(){return arguments}())?Re:function(e){return _(e)&&De.call(e,"callee")&&!ke.call(e,"callee")};var Le="object"==typeof exports&&exports&&!exports.nodeType&&exports,Me=Le&&"object"==typeof module&&module&&!module.nodeType&&module,Pe=Me&&Me.exports===Le?d.Buffer:void 0,Fe=(Pe?Pe.isBuffer:void 0)||function(){return!1},Be={};function Ve(e){return function(t){return e(t)}}Be["[object Float32Array]"]=Be["[object Float64Array]"]=Be["[object Int8Array]"]=Be["[object Int16Array]"]=Be["[object Int32Array]"]=Be["[object Uint8Array]"]=Be["[object Uint8ClampedArray]"]=Be["[object Uint16Array]"]=Be["[object Uint32Array]"]=!0,Be["[object Arguments]"]=Be["[object Array]"]=Be["[object ArrayBuffer]"]=Be["[object Boolean]"]=Be["[object DataView]"]=Be["[object Date]"]=Be["[object Error]"]=Be["[object Function]"]=Be["[object Map]"]=Be["[object Number]"]=Be["[object Object]"]=Be["[object RegExp]"]=Be["[object Set]"]=Be["[object String]"]=Be["[object WeakMap]"]=!1;var Ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ge=Ue&&"object"==typeof module&&module&&!module.nodeType&&module,He=Ge&&Ge.exports===Ue&&a.process,ze=function(){try{var e=Ge&&Ge.require&&Ge.require("util").types;return e||He&&He.binding&&He.binding("util")}catch(e){}}(),We=ze&&ze.isTypedArray,je=We?Ve(We):function(e){return _(e)&&Ee(e.length)&&!!Be[v(e)]},$e=Object.prototype.hasOwnProperty;function qe(e,t){var n=S(e),i=!n&&Oe(e),r=!n&&!i&&Fe(e),s=!n&&!i&&!r&&je(e),o=n||i||r||s,a=o?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],l=a.length;for(var c in e)!t&&!$e.call(e,c)||o&&("length"==c||r&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ge(c,l))||a.push(c);return a}function Ye(e,t){return function(n){return e(t(n))}}var Ke=Ye(Object.keys,Object),Xe=Object.prototype.hasOwnProperty;function Ze(e){if(!Ne(e))return Ke(e);var t=[];for(var n in Object(e))Xe.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Qe(e){return we(e)?qe(e):Ze(e)}var Je=Object.prototype.hasOwnProperty,et=Te(function(e,t){if(Ne(t)||we(t))_e(t,Qe(t),e);else for(var n in t)Je.call(t,n)&&ve(e,n,t[n])});var tt=Object.prototype.hasOwnProperty;function nt(e){if(!R(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=Ne(e),n=[];for(var i in e)("constructor"!=i||!t&&tt.call(e,i))&&n.push(i);return n}function it(e){return we(e)?qe(e,!0):nt(e)}var rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,st=/^\w*$/;function ot(e,t){if(S(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!b(e))||(st.test(e)||!rt.test(e)||null!=t&&e in Object(t))}var at=Z(Object,"create");var lt=Object.prototype.hasOwnProperty;var ct=Object.prototype.hasOwnProperty;function dt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function ut(e,t){for(var n=e.length;n--;)if(fe(e[n][0],t))return n;return-1}dt.prototype.clear=function(){this.__data__=at?at(null):{},this.size=0},dt.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},dt.prototype.get=function(e){var t=this.__data__;if(at){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return lt.call(t,e)?t[e]:void 0},dt.prototype.has=function(e){var t=this.__data__;return at?void 0!==t[e]:ct.call(t,e)},dt.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=at&&void 0===t?"__lodash_hash_undefined__":t,this};var ht=Array.prototype.splice;function pt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}pt.prototype.clear=function(){this.__data__=[],this.size=0},pt.prototype.delete=function(e){var t=this.__data__,n=ut(t,e);return!(n<0)&&(n==t.length-1?t.pop():ht.call(t,n,1),--this.size,!0)},pt.prototype.get=function(e){var t=this.__data__,n=ut(t,e);return n<0?void 0:t[n][1]},pt.prototype.has=function(e){return ut(this.__data__,e)>-1},pt.prototype.set=function(e,t){var n=this.__data__,i=ut(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};var gt=Z(d,"Map");function mt(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function ft(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ft.prototype.clear=function(){this.size=0,this.__data__={hash:new dt,map:new(gt||pt),string:new dt}},ft.prototype.delete=function(e){var t=mt(this,e).delete(e);return this.size-=t?1:0,t},ft.prototype.get=function(e){return mt(this,e).get(e)},ft.prototype.has=function(e){return mt(this,e).has(e)},ft.prototype.set=function(e,t){var n=mt(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this};function yt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=e.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(yt.Cache||ft),n}yt.Cache=ft;var vt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_t=/\\(\\)?/g,bt=function(e){var t=yt(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(vt,function(e,n,i,r){t.push(i?r.replace(_t,"$1"):n||e)}),t});function Ct(e){return null==e?"":x(e)}function St(e,t){return S(e)?e:ot(e,t)?[e]:bt(Ct(e))}function Et(e){if("string"==typeof e||b(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function wt(e,t){for(var n=0,i=(t=St(t,e)).length;null!=e&&n<i;)e=e[Et(t[n++])];return n&&n==i?e:void 0}function xt(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}var Tt=u?u.isConcatSpreadable:void 0;function At(e){return S(e)||Oe(e)||!!(Tt&&e&&e[Tt])}function Nt(e,t,n,i,r){var s=-1,o=e.length;for(n||(n=At),r||(r=[]);++s<o;){var a=e[s];n(a)?xt(r,a):i||(r[r.length]=a)}return r}function Rt(e){return(null==e?0:e.length)?Nt(e):[]}var It=Ye(Object.getPrototypeOf,Object),Dt=Function.prototype,kt=Object.prototype,Ot=Dt.toString,Lt=kt.hasOwnProperty,Mt=Ot.call(Object);function Pt(e,t,n){var i=-1,r=e.length;t<0&&(t=-t>r?0:r+t),(n=n>r?r:n)<0&&(n+=r),r=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(r);++i<r;)s[i]=e[i+t];return s}function Ft(e,t,n,i){var r=-1,s=null==e?0:e.length;for(i&&s&&(n=e[++r]);++r<s;)n=t(n,e[r],r,e);return n}function Bt(e){var t=this.__data__=new pt(e);this.size=t.size}Bt.prototype.clear=function(){this.__data__=new pt,this.size=0},Bt.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Bt.prototype.get=function(e){return this.__data__.get(e)},Bt.prototype.has=function(e){return this.__data__.has(e)},Bt.prototype.set=function(e,t){var n=this.__data__;if(n instanceof pt){var i=n.__data__;if(!gt||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new ft(i)}return n.set(e,t),this.size=n.size,this};var Vt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ut=Vt&&"object"==typeof module&&module&&!module.nodeType&&module,Gt=Ut&&Ut.exports===Vt?d.Buffer:void 0,Ht=Gt?Gt.allocUnsafe:void 0;function zt(e,t){if(t)return e.slice();var n=e.length,i=Ht?Ht(n):new e.constructor(n);return e.copy(i),i}function Wt(e,t){for(var n=-1,i=null==e?0:e.length,r=0,s=[];++n<i;){var o=e[n];t(o,n,e)&&(s[r++]=o)}return s}function jt(){return[]}var $t=Object.prototype.propertyIsEnumerable,qt=Object.getOwnPropertySymbols,Yt=qt?function(e){return null==e?[]:(e=Object(e),Wt(qt(e),function(t){return $t.call(e,t)}))}:jt;var Kt=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)xt(t,Yt(e)),e=It(e);return t}:jt;function Xt(e,t,n){var i=t(e);return S(e)?i:xt(i,n(e))}function Zt(e){return Xt(e,Qe,Yt)}function Qt(e){return Xt(e,it,Kt)}var Jt=Z(d,"DataView"),en=Z(d,"Promise"),tn=Z(d,"Set"),nn="[object Map]",rn="[object Promise]",sn="[object Set]",on="[object WeakMap]",an="[object DataView]",ln=z(Jt),cn=z(gt),dn=z(en),un=z(tn),hn=z(Q),pn=v;(Jt&&pn(new Jt(new ArrayBuffer(1)))!=an||gt&&pn(new gt)!=nn||en&&pn(en.resolve())!=rn||tn&&pn(new tn)!=sn||Q&&pn(new Q)!=on)&&(pn=function(e){var t=v(e),n="[object Object]"==t?e.constructor:void 0,i=n?z(n):"";if(i)switch(i){case ln:return an;case cn:return nn;case dn:return rn;case un:return sn;case hn:return on}return t});var gn=Object.prototype.hasOwnProperty;var mn=d.Uint8Array;function fn(e){var t=new e.constructor(e.byteLength);return new mn(t).set(new mn(e)),t}var yn=/\w*$/;var vn=u?u.prototype:void 0,_n=vn?vn.valueOf:void 0;function bn(e,t){var n=t?fn(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Cn(e,t,n){var i,r,s,o=e.constructor;switch(t){case"[object ArrayBuffer]":return fn(e);case"[object Boolean]":case"[object Date]":return new o(+e);case"[object DataView]":return function(e,t){var n=t?fn(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return bn(e,n);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(e);case"[object RegExp]":return(s=new(r=e).constructor(r.source,yn.exec(r))).lastIndex=r.lastIndex,s;case"[object Symbol]":return i=e,_n?Object(_n.call(i)):{}}}function Sn(e){return"function"!=typeof e.constructor||Ne(e)?{}:ee(It(e))}var En=ze&&ze.isMap,wn=En?Ve(En):function(e){return _(e)&&"[object Map]"==pn(e)};var xn=ze&&ze.isSet,Tn=xn?Ve(xn):function(e){return _(e)&&"[object Set]"==pn(e)},An="[object Arguments]",Nn="[object Function]",Rn="[object Object]",In={};function Dn(e,t,n,i,r,s){var o,a=1&t,l=2&t,c=4&t;if(void 0!==o)return o;if(!R(e))return e;var d=S(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&gn.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!a)return ne(e,o)}else{var u=pn(e),h=u==Nn||"[object GeneratorFunction]"==u;if(Fe(e))return zt(e,a);if(u==Rn||u==An||h&&!r){if(o=l||h?{}:Sn(e),!a)return l?function(e,t){return _e(e,Kt(e),t)}(e,function(e,t){return e&&_e(t,it(t),e)}(o,e)):function(e,t){return _e(e,Yt(e),t)}(e,function(e,t){return e&&_e(t,Qe(t),e)}(o,e))}else{if(!In[u])return r?e:{};o=Cn(e,u,a)}}s||(s=new Bt);var p=s.get(e);if(p)return p;s.set(e,o),Tn(e)?e.forEach(function(i){o.add(Dn(i,t,n,i,e,s))}):wn(e)&&e.forEach(function(i,r){o.set(r,Dn(i,t,n,r,e,s))});var g=d?void 0:(c?l?Qt:Zt:l?it:Qe)(e);return le(g||e,function(i,r){g&&(i=e[r=i]),ve(o,r,Dn(i,t,n,r,e,s))}),o}In[An]=In["[object Array]"]=In["[object ArrayBuffer]"]=In["[object DataView]"]=In["[object Boolean]"]=In["[object Date]"]=In["[object Float32Array]"]=In["[object Float64Array]"]=In["[object Int8Array]"]=In["[object Int16Array]"]=In["[object Int32Array]"]=In["[object Map]"]=In["[object Number]"]=In[Rn]=In["[object RegExp]"]=In["[object Set]"]=In["[object String]"]=In["[object Symbol]"]=In["[object Uint8Array]"]=In["[object Uint8ClampedArray]"]=In["[object Uint16Array]"]=In["[object Uint32Array]"]=!0,In["[object Error]"]=In[Nn]=In["[object WeakMap]"]=!1;function kn(e){return Dn(e,4)}function On(e){return Dn(e,5)}function Ln(e){for(var t=-1,n=null==e?0:e.length,i=0,r=[];++t<n;){var s=e[t];s&&(r[i++]=s)}return r}function Mn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ft;++t<n;)this.add(e[t])}function Pn(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}function Fn(e,t){return e.has(t)}Mn.prototype.add=Mn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Mn.prototype.has=function(e){return this.__data__.has(e)};function Bn(e,t,n,i,r,s){var o=1&n,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(e),d=s.get(t);if(c&&d)return c==t&&d==e;var u=-1,h=!0,p=2&n?new Mn:void 0;for(s.set(e,t),s.set(t,e);++u<a;){var g=e[u],m=t[u];if(i)var f=o?i(m,g,u,t,e,s):i(g,m,u,e,t,s);if(void 0!==f){if(f)continue;h=!1;break}if(p){if(!Pn(t,function(e,t){if(!Fn(p,t)&&(g===e||r(g,e,n,i,s)))return p.push(t)})){h=!1;break}}else if(g!==m&&!r(g,m,n,i,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function Vn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function Un(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Gn=u?u.prototype:void 0,Hn=Gn?Gn.valueOf:void 0;var zn=Object.prototype.hasOwnProperty;var Wn="[object Arguments]",jn="[object Array]",$n="[object Object]",qn=Object.prototype.hasOwnProperty;function Yn(e,t,n,i,r,s){var o=S(e),a=S(t),l=o?jn:pn(e),c=a?jn:pn(t),d=(l=l==Wn?$n:l)==$n,u=(c=c==Wn?$n:c)==$n,h=l==c;if(h&&Fe(e)){if(!Fe(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new Bt),o||je(e)?Bn(e,t,n,i,r,s):function(e,t,n,i,r,s,o){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new mn(e),new mn(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return fe(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=Vn;case"[object Set]":var l=1&i;if(a||(a=Un),e.size!=t.size&&!l)return!1;var c=o.get(e);if(c)return c==t;i|=2,o.set(e,t);var d=Bn(a(e),a(t),i,r,s,o);return o.delete(e),d;case"[object Symbol]":if(Hn)return Hn.call(e)==Hn.call(t)}return!1}(e,t,l,n,i,r,s);if(!(1&n)){var p=d&&qn.call(e,"__wrapped__"),g=u&&qn.call(t,"__wrapped__");if(p||g){var m=p?e.value():e,f=g?t.value():t;return s||(s=new Bt),r(m,f,n,i,s)}}return!!h&&(s||(s=new Bt),function(e,t,n,i,r,s){var o=1&n,a=Zt(e),l=a.length;if(l!=Zt(t).length&&!o)return!1;for(var c=l;c--;){var d=a[c];if(!(o?d in t:zn.call(t,d)))return!1}var u=s.get(e),h=s.get(t);if(u&&h)return u==t&&h==e;var p=!0;s.set(e,t),s.set(t,e);for(var g=o;++c<l;){var m=e[d=a[c]],f=t[d];if(i)var y=o?i(f,m,d,t,e,s):i(m,f,d,e,t,s);if(!(void 0===y?m===f||r(m,f,n,i,s):y)){p=!1;break}g||(g="constructor"==d)}if(p&&!g){var v=e.constructor,_=t.constructor;v==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof _&&_ instanceof _||(p=!1)}return s.delete(e),s.delete(t),p}(e,t,n,i,r,s))}function Kn(e,t,n,i,r){return e===t||(null==e||null==t||!_(e)&&!_(t)?e!=e&&t!=t:Yn(e,t,n,i,Kn,r))}function Xn(e){return e==e&&!R(e)}function Zn(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}function Qn(e){var t=function(e){for(var t=Qe(e),n=t.length;n--;){var i=t[n],r=e[i];t[n]=[i,r,Xn(r)]}return t}(e);return 1==t.length&&t[0][2]?Zn(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,i){var r=n.length,s=r;if(null==e)return!s;for(e=Object(e);r--;){var o=n[r];if(o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++r<s;){var a=(o=n[r])[0],l=e[a],c=o[1];if(o[2]){if(void 0===l&&!(a in e))return!1}else if(!Kn(c,l,3,i,new Bt))return!1}return!0}(n,0,t)}}function Jn(e,t){return null!=e&&t in Object(e)}function ei(e,t,n){for(var i=-1,r=(t=St(t,e)).length,s=!1;++i<r;){var o=Et(t[i]);if(!(s=null!=e&&n(e,o)))break;e=e[o]}return s||++i!=r?s:!!(r=null==e?0:e.length)&&Ee(r)&&ge(o,r)&&(S(e)||Oe(e))}function ti(e,t){return null!=e&&ei(e,t,Jn)}function ni(e,t){return ot(e)&&Xn(t)?Zn(Et(e),t):function(n){var i=function(e,t,n){var i=null==e?void 0:wt(e,t);return void 0===i?n:i}(n,e);return void 0===i&&i===t?ti(n,e):Kn(t,i,3)}}function ii(e){return ot(e)?(t=Et(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return wt(t,e)}}(e);var t}function ri(e){return"function"==typeof e?e:null==e?B:"object"==typeof e?S(e)?ni(e[0],e[1]):Qn(e):ii(e)}function si(e,t,n,i){for(var r=-1,s=null==e?0:e.length;++r<s;){var o=e[r];t(i,o,n(o),e)}return i}var oi=function(e,t,n){for(var i=-1,r=Object(e),s=n(e),o=s.length;o--;){var a=s[++i];if(!1===t(r[a],a,r))break}return e};function ai(e,t){return e&&oi(e,t,Qe)}var li,ci=(li=ai,function(e,t){if(null==e)return e;if(!we(e))return li(e,t);for(var n=e.length,i=-1,r=Object(e);++i<n&&!1!==t(r[i],i,r););return e});function di(e,t,n,i){return ci(e,function(e,r,s){t(i,e,n(e),s)}),i}var ui=function(){return d.Date.now()},hi=Math.max,pi=Math.min;function gi(e,t,n){var i,r,s,o,a,l,c=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,c=t,o=e.apply(s,n)}function g(e){var n=e-l;return void 0===l||n>=t||n<0||u&&e-c>=s}function m(){var e=ui();if(g(e))return f(e);a=setTimeout(m,function(e){var n=t-(e-l);return u?pi(n,s-(e-c)):n}(e))}function f(e){return a=void 0,h&&i?p(e):(i=r=void 0,o)}function y(){var e=ui(),n=g(e);if(i=arguments,r=this,l=e,n){if(void 0===a)return function(e){return c=e,a=setTimeout(m,t),d?p(e):o}(l);if(u)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=L(t)||0,R(n)&&(d=!!n.leading,s=(u="maxWait"in n)?hi(L(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),c=0,i=l=r=a=void 0},y.flush=function(){return void 0===a?o:f(ui())},y}var mi=Object.prototype,fi=mi.hasOwnProperty,yi=Se(function(e,t){e=Object(e);var n=-1,i=t.length,r=i>2?t[2]:void 0;for(r&&xe(t[0],t[1],r)&&(i=1);++n<i;)for(var s=t[n],o=it(s),a=-1,l=o.length;++a<l;){var c=o[a],d=e[c];(void 0===d||fe(d,mi[c])&&!fi.call(e,c))&&(e[c]=s[c])}return e});function vi(e,t,n){(void 0!==n&&!fe(e[t],n)||void 0===n&&!(t in e))&&me(e,t,n)}function _i(e){return _(e)&&we(e)}function bi(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function Ci(e,t,n,i,r,s,o){var a=bi(e,n),l=bi(t,n),c=o.get(l);if(c)vi(e,n,c);else{var d=s?s(a,l,n+"",e,t,o):void 0,u=void 0===d;if(u){var h=S(l),p=!h&&Fe(l),g=!h&&!p&&je(l);d=l,h||p||g?S(a)?d=a:_i(a)?d=ne(a):p?(u=!1,d=zt(l,!0)):g?(u=!1,d=bn(l,!0)):d=[]:function(e){if(!_(e)||"[object Object]"!=v(e))return!1;var t=It(e);if(null===t)return!0;var n=Lt.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ot.call(n)==Mt}(l)||Oe(l)?(d=a,Oe(a)?d=function(e){return _e(e,it(e))}(a):R(a)&&!V(a)||(d=Sn(l))):u=!1}u&&(o.set(l,d),r(d,l,i,s,o),o.delete(l)),vi(e,n,d)}}function Si(e,t,n,i,r){e!==t&&oi(t,function(s,o){if(r||(r=new Bt),R(s))Ci(e,t,o,n,Si,i,r);else{var a=i?i(bi(e,o),s,o+"",e,t,r):void 0;void 0===a&&(a=s),vi(e,o,a)}},it)}var Ei=Te(function(e,t,n,i){Si(e,t,n,i)});var wi=Se(function(e,t){return _i(e)?function(e,t,n,i){var r=-1,s=he,o=!0,a=e.length,l=[],c=t.length;if(!a)return l;t.length>=200&&(s=Fn,o=!1,t=new Mn(t));e:for(;++r<a;){var d=e[r],u=d;if(d=0!==d?d:0,o&&u==u){for(var h=c;h--;)if(t[h]===u)continue e;l.push(d)}else s(t,u,i)||l.push(d)}return l}(e,Nt(t,0,_i,!0)):[]});function xi(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function Ti(e,t,n){var i=null==e?0:e.length;return i?Pt(e,(t=void 0===t?1:F(t))<0?0:t,i):[]}function Ai(e,t,n){var i=null==e?0:e.length;return i?Pt(e,0,(t=i-(t=void 0===t?1:F(t)))<0?0:t):[]}function Ni(e){return"function"==typeof e?e:B}function Ri(e,t){return(S(e)?le:ci)(e,Ni(t))}function Ii(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(!t(e[n],n,e))return!1;return!0}function Di(e,t){var n=!0;return ci(e,function(e,i,r){return n=!!t(e,i,r)}),n}function ki(e,t,n){return(S(e)?Ii:Di)(e,ri(t))}function Oi(e,t){var n=[];return ci(e,function(e,i,r){t(e,i,r)&&n.push(e)}),n}function Li(e,t){return(S(e)?Wt:Oi)(e,ri(t))}function Mi(e){return function(t,n,i){var r=Object(t);if(!we(t)){var s=ri(n);t=Qe(t),n=function(e){return s(r[e],e,r)}}var o=e(t,n,i);return o>-1?r[s?t[o]:o]:void 0}}var Pi=Math.max;var Fi=Mi(function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:F(n);return r<0&&(r=Pi(i+r,0)),ce(e,ri(t),r)}),Bi=Math.max,Vi=Math.min;var Ui=Mi(function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=i-1;return void 0!==n&&(r=F(n),r=n<0?Bi(i+r,0):Vi(r,i-1)),ce(e,ri(t),r,!0)});function Gi(e){return e&&e.length?e[0]:void 0}function Hi(e,t){var n=-1,i=we(e)?Array(e.length):[];return ci(e,function(e,r,s){i[++n]=t(e,r,s)}),i}function zi(e,t){return(S(e)?C:Hi)(e,ri(t))}function Wi(e,t){return Nt(zi(e,t))}var ji,$i,qi=Object.prototype.hasOwnProperty,Yi=(ji=function(e,t,n){qi.call(e,n)?e[n].push(t):me(e,n,[t])},function(e,t){var n=S(e)?si:di,i=$i?$i():{};return n(e,ji,ri(t),i)});function Ki(e,t){return e>t}var Xi=Object.prototype.hasOwnProperty;function Zi(e,t){return null!=e&&Xi.call(e,t)}function Qi(e,t){return null!=e&&ei(e,t,Zi)}function Ji(e){return"string"==typeof e||!S(e)&&_(e)&&"[object String]"==v(e)}function er(e){return null==e?[]:function(e,t){return C(t,function(t){return e[t]})}(e,Qe(e))}var tr=Math.max;function nr(e,t,n,i){e=we(e)?e:er(e),n=n?F(n):0;var r=e.length;return n<0&&(n=tr(r+n,0)),Ji(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&ue(e,t,n)>-1}function ir(e,t,n){if(!(null==e?0:e.length))return-1;return ue(e,t,0)}var rr=Object.prototype.hasOwnProperty;function sr(e){if(null==e)return!0;if(we(e)&&(S(e)||"string"==typeof e||"function"==typeof e.splice||Fe(e)||je(e)||Oe(e)))return!e.length;var t=pn(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(Ne(e))return!Ze(e).length;for(var n in e)if(rr.call(e,n))return!1;return!0}function or(e,t){return Kn(e,t)}var ar=ze&&ze.isRegExp,lr=ar?Ve(ar):function(e){return _(e)&&"[object RegExp]"==v(e)};function cr(e){return void 0===e}function dr(e,t){return e<t}function ur(e,t){var n={};return t=ri(t),ai(e,function(e,i,r){me(n,i,t(e,i,r))}),n}function hr(e,t,n){for(var i=-1,r=e.length;++i<r;){var s=e[i],o=t(s);if(null!=o&&(void 0===a?o==o&&!b(o):n(o,a)))var a=o,l=s}return l}function pr(e){return e&&e.length?hr(e,B,Ki):void 0}var gr=Te(function(e,t,n){Si(e,t,n)});function mr(e){return e&&e.length?hr(e,B,dr):void 0}function fr(e,t){return e&&e.length?hr(e,ri(t),dr):void 0}function yr(e,t,n,i){if(!R(e))return e;for(var r=-1,s=(t=St(t,e)).length,o=s-1,a=e;null!=a&&++r<s;){var l=Et(t[r]),c=n;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(r!=o){var d=a[l];void 0===(c=void 0)&&(c=R(d)?d:ge(t[r+1])?[]:{})}ve(a,l,c),a=a[l]}return e}function vr(e,t,n){for(var i=-1,r=t.length,s={};++i<r;){var o=t[i],a=wt(e,o);n(a,o)&&yr(s,St(o,e),a)}return s}function _r(e,t){if(null==e)return{};var n=C(Qt(e),function(e){return[e]});return t=ri(t),vr(e,n,function(e,n){return t(e,n[0])})}function br(e,t){if(e!==t){var n=void 0!==e,i=null===e,r=e==e,s=b(e),o=void 0!==t,a=null===t,l=t==t,c=b(t);if(!a&&!c&&!s&&e>t||s&&o&&l&&!a&&!c||i&&o&&l||!n&&l||!r)return 1;if(!i&&!s&&!c&&e<t||c&&n&&r&&!i&&!s||a&&n&&r||!o&&r||!l)return-1}return 0}function Cr(e,t,n){t=t.length?C(t,function(e){return S(e)?function(t){return wt(t,1===e.length?e[0]:e)}:e}):[B];var i=-1;t=C(t,Ve(ri));var r=Hi(e,function(e,n,r){return{criteria:C(t,function(t){return t(e)}),index:++i,value:e}});return function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(r,function(e,t){return function(e,t,n){for(var i=-1,r=e.criteria,s=t.criteria,o=r.length,a=n.length;++i<o;){var l=br(r[i],s[i]);if(l)return i>=a?l:l*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)})}var Sr,Er=(Sr=function(e,t){return null==e?{}:function(e,t){return vr(e,t,function(t,n){return ti(e,n)})}(e,t)},ae(Ce(Sr,void 0,Rt),Sr+"")),wr=Math.ceil,xr=Math.max;var Tr=function(e,t,n){return n&&"number"!=typeof n&&xe(e,t,n)&&(t=n=void 0),e=P(e),void 0===t?(t=e,e=0):t=P(t),function(e,t,n){for(var i=-1,r=xr(wr((t-e)/(n||1)),0),s=Array(r);r--;)s[++i]=e,e+=n;return s}(e,t,n=void 0===n?e<t?1:-1:P(n))};function Ar(e,t,n,i,r){return r(e,function(e,r,s){n=i?(i=!1,e):t(n,e,r,s)}),n}function Nr(e,t,n){var i=S(e)?Ft:Ar,r=arguments.length<3;return i(e,ri(t),n,r,ci)}function Rr(e,t){return(S(e)?Wt:Oi)(e,function(e){if("function"!=typeof e)throw new TypeError("Expected a function");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)}}(ri(t)))}function Ir(e,t){var n;return ci(e,function(e,i,r){return!(n=t(e,i,r))}),!!n}function Dr(e,t,n){return(S(e)?Pn:Ir)(e,ri(t))}var kr=Se(function(e,t){if(null==e)return[];var n=t.length;return n>1&&xe(e,t[0],t[1])?t=[]:n>2&&xe(t[0],t[1],t[2])&&(t=[t[0]]),Cr(e,Nt(t),[])});var Or=tn&&1/Un(new tn([,-0]))[1]==1/0?function(e){return new tn(e)}:te;function Lr(e,t,n){var i=-1,r=he,s=e.length,o=!0,a=[],l=a;if(s>=200){var c=t?null:Or(e);if(c)return Un(c);o=!1,r=Fn,l=new Mn}else l=t?[]:a;e:for(;++i<s;){var d=e[i],u=t?t(d):d;if(d=0!==d?d:0,o&&u==u){for(var h=l.length;h--;)if(l[h]===u)continue e;t&&l.push(u),a.push(d)}else r(l,u,n)||(l!==a&&l.push(u),a.push(d))}return a}var Mr=Se(function(e){return Lr(Nt(e,0,_i,!0))});function Pr(e){return e&&e.length?Lr(e):[]}function Fr(e,t){return e&&e.length?Lr(e,ri(t)):[]}var Br=0;function Vr(e){var t=++Br;return Ct(e)+t}const Ur=e=>e instanceof Date,Gr=e=>null!=e&&"object"==typeof e,Hr=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),zr=e=>Gr(e)&&(e=>0===Object.keys(e).length)(e),Wr=(e,t)=>{if(e===t)return{};if(!Gr(e)||!Gr(t))return t;const n=Object.keys(e).reduce((e,n)=>(Hr(t,n)||(e[n]=void 0),e),Object.create(null));return Ur(e)||Ur(t)?e.valueOf()==t.valueOf()?{}:t:Object.keys(t).reduce((n,i)=>{if(!Hr(e,i))return n[i]=t[i],n;const r=Wr(e[i],t[i]);return!zr(r)||Ur(r)||!zr(e[i])&&zr(t[i])?(n[i]=r,n):n},n)};class jr extends Error{uuid=ho();constructor(e){super(),this.message=void 0===e||""===e?"(no error message)":e}get detail(){return this.message}}class $r extends Error{constructor(e,t,n){if(super(n||(t instanceof Error?t.message:t)),this.name=e,t instanceof Error){const e=(this.message.match(/\n/g)??[]).length+1;this.stack=`${(this.stack??"").split("\n").slice(0,e+1).join("\n")}\nCaused by: ${t.stack}`}else"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack}}class qr extends $r{constructor(e){super("Illegal State Error [PLEASE NOTIFY DEVELOPER]",e)}}class Yr extends $r{constructor(e,t){super("Unsupported Operation Error",e||t?`${e}${t?`\n${xo(t)}`:""}`:void 0)}}function Kr(e){if("test"!==process.env.NODE_ENV&&!(e instanceof Error))throw new qr("Expected error to be thrown")}const Xr=e=>{try{return e()}catch{return}};var Zr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Qr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Jr(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if("function"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}),n}var es,ts={},ns={exports:{}};var is,rs={};function ss(){if(is)return rs;is=1,Object.defineProperty(rs,"__esModule",{value:!0}),rs.printIteratorEntries=function(e,t,n,i,r,s,o=": "){let a="",l=0,c=e.next();if(!c.done){a+=t.spacingOuter;const d=n+t.indent;for(;!c.done;){if(a+=d,l++===t.maxWidth){a+="…";break}a+=s(c.value[0],t,d,i,r)+o+s(c.value[1],t,d,i,r),c=e.next(),c.done?t.min||(a+=","):a+=`,${t.spacingInner}`}a+=t.spacingOuter+n}return a},rs.printIteratorValues=function(e,t,n,i,r,s){let o="",a=0,l=e.next();if(!l.done){o+=t.spacingOuter;const c=n+t.indent;for(;!l.done;){if(o+=c,a++===t.maxWidth){o+="…";break}o+=s(l.value,t,c,i,r),l=e.next(),l.done?t.min||(o+=","):o+=`,${t.spacingInner}`}o+=t.spacingOuter+n}return o},rs.printListItems=function(e,t,n,i,r,s){let o="";if(e.length){o+=t.spacingOuter;const a=n+t.indent;for(let n=0;n<e.length;n++){if(o+=a,n===t.maxWidth){o+="…";break}n in e&&(o+=s(e[n],t,a,i,r)),n<e.length-1?o+=`,${t.spacingInner}`:t.min||(o+=",")}o+=t.spacingOuter+n}return o},rs.printObjectProperties=function(t,n,i,r,s,o){let a="";const l=e(t,n.compareKeys);if(l.length){a+=n.spacingOuter;const e=i+n.indent;for(let i=0;i<l.length;i++){const c=l[i];a+=`${e+o(c,n,e,r,s)}: ${o(t[c],n,e,r,s)}`,i<l.length-1?a+=`,${n.spacingInner}`:n.min||(a+=",")}a+=n.spacingOuter+i}return a};const e=(e,t)=>{const n=Object.keys(e),i=null!==t?n.sort(t):n;return Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(t=>{Object.getOwnPropertyDescriptor(e,t).enumerable&&i.push(t)}),i};return rs}var os,as={};var ls,cs={};function ds(){if(ls)return cs;ls=1,Object.defineProperty(cs,"__esModule",{value:!0}),cs.test=cs.serialize=cs.default=void 0;var e=ss();const t=["DOMStringMap","NamedNodeMap"],n=/^(HTML\w*Collection|NodeList)$/,i=e=>e&&e.constructor&&!!e.constructor.name&&(e=>-1!==t.indexOf(e)||n.test(e))(e.constructor.name);cs.test=i;const r=(n,i,r,s,o,a)=>{const l=n.constructor.name;return++s>i.maxDepth?`[${l}]`:(i.min?"":l+" ")+(-1!==t.indexOf(l)?`{${(0,e.printObjectProperties)((e=>"NamedNodeMap"===e.constructor.name)(n)?Array.from(n).reduce((e,t)=>(e[t.name]=t.value,e),{}):{...n},i,r,s,o,a)}}`:`[${(0,e.printListItems)(Array.from(n),i,r,s,o,a)}]`)};cs.serialize=r;var s={serialize:r,test:i};return cs.default=s,cs}var us,hs,ps,gs={},ms={},fs={};function ys(){if(hs)return ms;hs=1,Object.defineProperty(ms,"__esModule",{value:!0}),ms.printText=ms.printProps=ms.printElementAsLeaf=ms.printElement=ms.printComment=ms.printChildren=void 0;var e,t=(us||(us=1,Object.defineProperty(fs,"__esModule",{value:!0}),fs.default=function(e){return e.replace(/</g,"&lt;").replace(/>/g,"&gt;")}),(e=fs)&&e.__esModule?e:{default:e});ms.printProps=(e,t,n,i,r,s,o)=>{const a=i+n.indent,l=n.colors;return e.map(e=>{const c=t[e];let d=o(c,n,a,r,s);return"string"!=typeof c&&(-1!==d.indexOf("\n")&&(d=n.spacingOuter+a+d+n.spacingOuter+i),d=`{${d}}`),`${n.spacingInner+i+l.prop.open+e+l.prop.close}=${l.value.open}${d}${l.value.close}`}).join("")};ms.printChildren=(e,t,i,r,s,o)=>e.map(e=>t.spacingOuter+i+("string"==typeof e?n(e,t):o(e,t,i,r,s))).join("");const n=(e,n)=>{const i=n.colors.content;return i.open+(0,t.default)(e)+i.close};ms.printText=n;ms.printComment=(e,n)=>{const i=n.colors.comment;return`${i.open}\x3c!--${(0,t.default)(e)}--\x3e${i.close}`};ms.printElement=(e,t,n,i,r)=>{const s=i.colors.tag;return`${s.open}<${e}${t&&s.close+t+i.spacingOuter+r+s.open}${n?`>${s.close}${n}${i.spacingOuter}${r}${s.open}</${e}`:(t&&!i.min?"":" ")+"/"}>${s.close}`};return ms.printElementAsLeaf=(e,t)=>{const n=t.colors.tag;return`${n.open}<${e}${n.close} …${n.open} />${n.close}`},ms}function vs(){if(ps)return gs;ps=1,Object.defineProperty(gs,"__esModule",{value:!0}),gs.test=gs.serialize=gs.default=void 0;var e=ys();const t=/^((HTML|SVG)\w*)?Element$/,n=e=>e?.constructor?.name&&(e=>{const n=e.constructor.name,{nodeType:i,tagName:r}=e,s="string"==typeof r&&r.includes("-")||(e=>{try{return"function"==typeof e.hasAttribute&&e.hasAttribute("is")}catch{return!1}})(e);return 1===i&&(t.test(n)||s)||3===i&&"Text"===n||8===i&&"Comment"===n||11===i&&"DocumentFragment"===n})(e);function i(e){return 11===e.nodeType}gs.test=n;const r=(t,n,r,s,o,a)=>{if(function(e){return 3===e.nodeType}(t))return(0,e.printText)(t.data,n);if(function(e){return 8===e.nodeType}(t))return(0,e.printComment)(t.data,n);const l=i(t)?"DocumentFragment":t.tagName.toLowerCase();return++s>n.maxDepth?(0,e.printElementAsLeaf)(l,n):(0,e.printElement)(l,(0,e.printProps)(i(t)?[]:Array.from(t.attributes,e=>e.name).sort(),i(t)?{}:Array.from(t.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{}),n,r+n.indent,s,o,a),(0,e.printChildren)(Array.prototype.slice.call(t.childNodes||t.children),n,r+n.indent,s,o,a),n,r)};gs.serialize=r;var s={serialize:r,test:n};return gs.default=s,gs}var _s,bs={};function Cs(){if(_s)return bs;_s=1,Object.defineProperty(bs,"__esModule",{value:!0}),bs.test=bs.serialize=bs.default=void 0;var e=ss();const t="@@__IMMUTABLE_ORDERED__@@",n=e=>`Immutable.${e}`,i=e=>`[${e}]`,r=" ";const s=(t,s,o,a,l,c,d)=>++a>s.maxDepth?i(n(d)):`${n(d)+r}[${(0,e.printIteratorValues)(t.values(),s,o,a,l,c)}]`,o=(o,a,l,c,d,u)=>o["@@__IMMUTABLE_MAP__@@"]?((t,s,o,a,l,c,d)=>++a>s.maxDepth?i(n(d)):`${n(d)+r}{${(0,e.printIteratorEntries)(t.entries(),s,o,a,l,c)}}`)(o,a,l,c,d,u,o[t]?"OrderedMap":"Map"):o["@@__IMMUTABLE_LIST__@@"]?s(o,a,l,c,d,u,"List"):o["@@__IMMUTABLE_SET__@@"]?s(o,a,l,c,d,u,o[t]?"OrderedSet":"Set"):o["@@__IMMUTABLE_STACK__@@"]?s(o,a,l,c,d,u,"Stack"):o["@@__IMMUTABLE_SEQ__@@"]?((t,s,o,a,l,c)=>{const d=n("Seq");return++a>s.maxDepth?i(d):t["@@__IMMUTABLE_KEYED__@@"]?`${d+r}{${t._iter||t._object?(0,e.printIteratorEntries)(t.entries(),s,o,a,l,c):"…"}}`:`${d+r}[${t._iter||t._array||t._collection||t._iterable?(0,e.printIteratorValues)(t.values(),s,o,a,l,c):"…"}]`})(o,a,l,c,d,u):((t,s,o,a,l,c)=>{const d=n(t._name||"Record");return++a>s.maxDepth?i(d):`${d+r}{${(0,e.printIteratorEntries)(function(e){let t=0;return{next(){if(t<e._keys.length){const n=e._keys[t++];return{done:!1,value:[n,e.get(n)]}}return{done:!0,value:void 0}}}}(t),s,o,a,l,c)}}`})(o,a,l,c,d,u);bs.serialize=o;const a=e=>e&&(!0===e["@@__IMMUTABLE_ITERABLE__@@"]||!0===e["@@__IMMUTABLE_RECORD__@@"]);bs.test=a;var l={serialize:o,test:a};return bs.default=l,bs}var Ss,Es={},ws={exports:{}},xs={};var Ts,As,Ns,Rs={};
1
+ "use strict";var e=require("crypto"),t=require("stream"),n=require("react");function i(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=i(n),s="8.1.194",o={graphManagerPreset:"@finos/legend-graph-manager-preset-dsl-diagram",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-dsl-diagram",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-dsl-diagram",pureGraphPlugin:"@finos/legend-pure-graph-plugin-dsl-diagram"},a="object"==typeof global&&global&&global.Object===Object&&global,l="object"==typeof self&&self&&self.Object===Object&&self,d=a||l||Function("return this")(),u=d.Symbol,h=Object.prototype,p=h.hasOwnProperty,g=h.toString,m=u?u.toStringTag:void 0;var f=Object.prototype.toString;var y=u?u.toStringTag:void 0;function v(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":y&&y in Object(e)?function(e){var t=p.call(e,m),n=e[m];try{e[m]=void 0;var i=!0}catch(e){}var r=g.call(e);return i&&(t?e[m]=n:delete e[m]),r}(e):function(e){return f.call(e)}(e)}function _(e){return null!=e&&"object"==typeof e}function b(e){return"symbol"==typeof e||_(e)&&"[object Symbol]"==v(e)}function C(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n<i;)r[n]=t(e[n],n,e);return r}var S=Array.isArray,E=u?u.prototype:void 0,w=E?E.toString:void 0;function x(e){if("string"==typeof e)return e;if(S(e))return C(e,x)+"";if(b(e))return w?w.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var T=/\s/;var A=/^\s+/;function N(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&T.test(e.charAt(t)););return t}(e)+1).replace(A,""):e}function R(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var I=/^[-+]0x[0-9a-f]+$/i,D=/^0b[01]+$/i,k=/^0o[0-7]+$/i,O=parseInt;function L(e){if("number"==typeof e)return e;if(b(e))return NaN;if(R(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=R(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=N(e);var n=D.test(e);return n||k.test(e)?O(e.slice(2),n?2:8):I.test(e)?NaN:+e}var M=1/0;function P(e){return e?(e=L(e))===M||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function F(e){var t=P(e),n=t%1;return t==t?n?t-n:t:0}function B(e){return e}function V(e){if(!R(e))return!1;var t=v(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var U=d["__core-js_shared__"],G=function(){var e=/[^.]+$/.exec(U&&U.keys&&U.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var H=Function.prototype.toString;function z(e){if(null!=e){try{return H.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var W=/^\[object .+?Constructor\]$/,j=Function.prototype,$=Object.prototype,q=j.toString,Y=$.hasOwnProperty,K=RegExp("^"+q.call(Y).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function X(e){return!(!R(e)||(t=e,G&&G in t))&&(V(e)?K:W).test(z(e));var t}function Z(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return X(n)?n:void 0}var Q=Z(d,"WeakMap"),J=Object.create,ee=function(){function e(){}return function(t){if(!R(t))return{};if(J)return J(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function te(){}function ne(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}var ie=Date.now;function re(e){return function(){return e}}var se=function(){try{var e=Z(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),oe=se?function(e,t){return se(e,"toString",{configurable:!0,enumerable:!1,value:re(t),writable:!0})}:B,ae=function(e){var t=0,n=0;return function(){var i=ie(),r=16-(i-n);if(n=i,r>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(oe);function le(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e}function ce(e,t,n,i){for(var r=e.length,s=n+(i?1:-1);i?s--:++s<r;)if(t(e[s],s,e))return s;return-1}function de(e){return e!=e}function ue(e,t,n){return t==t?function(e,t,n){for(var i=n-1,r=e.length;++i<r;)if(e[i]===t)return i;return-1}(e,t,n):ce(e,de,n)}function he(e,t){return!!(null==e?0:e.length)&&ue(e,t,0)>-1}var pe=/^(?:0|[1-9]\d*)$/;function ge(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&pe.test(e))&&e>-1&&e%1==0&&e<t}function me(e,t,n){"__proto__"==t&&se?se(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function fe(e,t){return e===t||e!=e&&t!=t}var ye=Object.prototype.hasOwnProperty;function ve(e,t,n){var i=e[t];ye.call(e,t)&&fe(i,n)&&(void 0!==n||t in e)||me(e,t,n)}function _e(e,t,n,i){var r=!n;n||(n={});for(var s=-1,o=t.length;++s<o;){var a=t[s],l=void 0;void 0===l&&(l=e[a]),r?me(n,a,l):ve(n,a,l)}return n}var be=Math.max;function Ce(e,t,n){return t=be(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=be(i.length-t,0),o=Array(s);++r<s;)o[r]=i[t+r];r=-1;for(var a=Array(t+1);++r<t;)a[r]=i[r];return a[t]=n(o),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}function Se(e,t){return ae(Ce(e,t,B),e+"")}function Ee(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function we(e){return null!=e&&Ee(e.length)&&!V(e)}function xe(e,t,n){if(!R(n))return!1;var i=typeof t;return!!("number"==i?we(n)&&ge(t,n.length):"string"==i&&t in n)&&fe(n[t],e)}function Te(e){return Se(function(t,n){var i=-1,r=n.length,s=r>1?n[r-1]:void 0,o=r>2?n[2]:void 0;for(s=e.length>3&&"function"==typeof s?(r--,s):void 0,o&&xe(n[0],n[1],o)&&(s=r<3?void 0:s,r=1),t=Object(t);++i<r;){var a=n[i];a&&e(t,a,i,s)}return t})}var Ae=Object.prototype;function Ne(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ae)}function Re(e){return _(e)&&"[object Arguments]"==v(e)}var Ie=Object.prototype,De=Ie.hasOwnProperty,ke=Ie.propertyIsEnumerable,Oe=Re(function(){return arguments}())?Re:function(e){return _(e)&&De.call(e,"callee")&&!ke.call(e,"callee")};var Le="object"==typeof exports&&exports&&!exports.nodeType&&exports,Me=Le&&"object"==typeof module&&module&&!module.nodeType&&module,Pe=Me&&Me.exports===Le?d.Buffer:void 0,Fe=(Pe?Pe.isBuffer:void 0)||function(){return!1},Be={};function Ve(e){return function(t){return e(t)}}Be["[object Float32Array]"]=Be["[object Float64Array]"]=Be["[object Int8Array]"]=Be["[object Int16Array]"]=Be["[object Int32Array]"]=Be["[object Uint8Array]"]=Be["[object Uint8ClampedArray]"]=Be["[object Uint16Array]"]=Be["[object Uint32Array]"]=!0,Be["[object Arguments]"]=Be["[object Array]"]=Be["[object ArrayBuffer]"]=Be["[object Boolean]"]=Be["[object DataView]"]=Be["[object Date]"]=Be["[object Error]"]=Be["[object Function]"]=Be["[object Map]"]=Be["[object Number]"]=Be["[object Object]"]=Be["[object RegExp]"]=Be["[object Set]"]=Be["[object String]"]=Be["[object WeakMap]"]=!1;var Ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ge=Ue&&"object"==typeof module&&module&&!module.nodeType&&module,He=Ge&&Ge.exports===Ue&&a.process,ze=function(){try{var e=Ge&&Ge.require&&Ge.require("util").types;return e||He&&He.binding&&He.binding("util")}catch(e){}}(),We=ze&&ze.isTypedArray,je=We?Ve(We):function(e){return _(e)&&Ee(e.length)&&!!Be[v(e)]},$e=Object.prototype.hasOwnProperty;function qe(e,t){var n=S(e),i=!n&&Oe(e),r=!n&&!i&&Fe(e),s=!n&&!i&&!r&&je(e),o=n||i||r||s,a=o?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],l=a.length;for(var c in e)!t&&!$e.call(e,c)||o&&("length"==c||r&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ge(c,l))||a.push(c);return a}function Ye(e,t){return function(n){return e(t(n))}}var Ke=Ye(Object.keys,Object),Xe=Object.prototype.hasOwnProperty;function Ze(e){if(!Ne(e))return Ke(e);var t=[];for(var n in Object(e))Xe.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Qe(e){return we(e)?qe(e):Ze(e)}var Je=Object.prototype.hasOwnProperty,et=Te(function(e,t){if(Ne(t)||we(t))_e(t,Qe(t),e);else for(var n in t)Je.call(t,n)&&ve(e,n,t[n])});var tt=Object.prototype.hasOwnProperty;function nt(e){if(!R(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=Ne(e),n=[];for(var i in e)("constructor"!=i||!t&&tt.call(e,i))&&n.push(i);return n}function it(e){return we(e)?qe(e,!0):nt(e)}var rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,st=/^\w*$/;function ot(e,t){if(S(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!b(e))||(st.test(e)||!rt.test(e)||null!=t&&e in Object(t))}var at=Z(Object,"create");var lt=Object.prototype.hasOwnProperty;var ct=Object.prototype.hasOwnProperty;function dt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function ut(e,t){for(var n=e.length;n--;)if(fe(e[n][0],t))return n;return-1}dt.prototype.clear=function(){this.__data__=at?at(null):{},this.size=0},dt.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},dt.prototype.get=function(e){var t=this.__data__;if(at){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return lt.call(t,e)?t[e]:void 0},dt.prototype.has=function(e){var t=this.__data__;return at?void 0!==t[e]:ct.call(t,e)},dt.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=at&&void 0===t?"__lodash_hash_undefined__":t,this};var ht=Array.prototype.splice;function pt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}pt.prototype.clear=function(){this.__data__=[],this.size=0},pt.prototype.delete=function(e){var t=this.__data__,n=ut(t,e);return!(n<0)&&(n==t.length-1?t.pop():ht.call(t,n,1),--this.size,!0)},pt.prototype.get=function(e){var t=this.__data__,n=ut(t,e);return n<0?void 0:t[n][1]},pt.prototype.has=function(e){return ut(this.__data__,e)>-1},pt.prototype.set=function(e,t){var n=this.__data__,i=ut(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};var gt=Z(d,"Map");function mt(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function ft(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ft.prototype.clear=function(){this.size=0,this.__data__={hash:new dt,map:new(gt||pt),string:new dt}},ft.prototype.delete=function(e){var t=mt(this,e).delete(e);return this.size-=t?1:0,t},ft.prototype.get=function(e){return mt(this,e).get(e)},ft.prototype.has=function(e){return mt(this,e).has(e)},ft.prototype.set=function(e,t){var n=mt(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this};function yt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=e.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(yt.Cache||ft),n}yt.Cache=ft;var vt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_t=/\\(\\)?/g,bt=function(e){var t=yt(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(vt,function(e,n,i,r){t.push(i?r.replace(_t,"$1"):n||e)}),t});function Ct(e){return null==e?"":x(e)}function St(e,t){return S(e)?e:ot(e,t)?[e]:bt(Ct(e))}function Et(e){if("string"==typeof e||b(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function wt(e,t){for(var n=0,i=(t=St(t,e)).length;null!=e&&n<i;)e=e[Et(t[n++])];return n&&n==i?e:void 0}function xt(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}var Tt=u?u.isConcatSpreadable:void 0;function At(e){return S(e)||Oe(e)||!!(Tt&&e&&e[Tt])}function Nt(e,t,n,i,r){var s=-1,o=e.length;for(n||(n=At),r||(r=[]);++s<o;){var a=e[s];n(a)?xt(r,a):i||(r[r.length]=a)}return r}function Rt(e){return(null==e?0:e.length)?Nt(e):[]}var It=Ye(Object.getPrototypeOf,Object),Dt=Function.prototype,kt=Object.prototype,Ot=Dt.toString,Lt=kt.hasOwnProperty,Mt=Ot.call(Object);function Pt(e,t,n){var i=-1,r=e.length;t<0&&(t=-t>r?0:r+t),(n=n>r?r:n)<0&&(n+=r),r=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(r);++i<r;)s[i]=e[i+t];return s}function Ft(e,t,n,i){var r=-1,s=null==e?0:e.length;for(i&&s&&(n=e[++r]);++r<s;)n=t(n,e[r],r,e);return n}function Bt(e){var t=this.__data__=new pt(e);this.size=t.size}Bt.prototype.clear=function(){this.__data__=new pt,this.size=0},Bt.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Bt.prototype.get=function(e){return this.__data__.get(e)},Bt.prototype.has=function(e){return this.__data__.has(e)},Bt.prototype.set=function(e,t){var n=this.__data__;if(n instanceof pt){var i=n.__data__;if(!gt||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new ft(i)}return n.set(e,t),this.size=n.size,this};var Vt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ut=Vt&&"object"==typeof module&&module&&!module.nodeType&&module,Gt=Ut&&Ut.exports===Vt?d.Buffer:void 0,Ht=Gt?Gt.allocUnsafe:void 0;function zt(e,t){if(t)return e.slice();var n=e.length,i=Ht?Ht(n):new e.constructor(n);return e.copy(i),i}function Wt(e,t){for(var n=-1,i=null==e?0:e.length,r=0,s=[];++n<i;){var o=e[n];t(o,n,e)&&(s[r++]=o)}return s}function jt(){return[]}var $t=Object.prototype.propertyIsEnumerable,qt=Object.getOwnPropertySymbols,Yt=qt?function(e){return null==e?[]:(e=Object(e),Wt(qt(e),function(t){return $t.call(e,t)}))}:jt;var Kt=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)xt(t,Yt(e)),e=It(e);return t}:jt;function Xt(e,t,n){var i=t(e);return S(e)?i:xt(i,n(e))}function Zt(e){return Xt(e,Qe,Yt)}function Qt(e){return Xt(e,it,Kt)}var Jt=Z(d,"DataView"),en=Z(d,"Promise"),tn=Z(d,"Set"),nn="[object Map]",rn="[object Promise]",sn="[object Set]",on="[object WeakMap]",an="[object DataView]",ln=z(Jt),cn=z(gt),dn=z(en),un=z(tn),hn=z(Q),pn=v;(Jt&&pn(new Jt(new ArrayBuffer(1)))!=an||gt&&pn(new gt)!=nn||en&&pn(en.resolve())!=rn||tn&&pn(new tn)!=sn||Q&&pn(new Q)!=on)&&(pn=function(e){var t=v(e),n="[object Object]"==t?e.constructor:void 0,i=n?z(n):"";if(i)switch(i){case ln:return an;case cn:return nn;case dn:return rn;case un:return sn;case hn:return on}return t});var gn=Object.prototype.hasOwnProperty;var mn=d.Uint8Array;function fn(e){var t=new e.constructor(e.byteLength);return new mn(t).set(new mn(e)),t}var yn=/\w*$/;var vn=u?u.prototype:void 0,_n=vn?vn.valueOf:void 0;function bn(e,t){var n=t?fn(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Cn(e,t,n){var i,r,s,o=e.constructor;switch(t){case"[object ArrayBuffer]":return fn(e);case"[object Boolean]":case"[object Date]":return new o(+e);case"[object DataView]":return function(e,t){var n=t?fn(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return bn(e,n);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(e);case"[object RegExp]":return(s=new(r=e).constructor(r.source,yn.exec(r))).lastIndex=r.lastIndex,s;case"[object Symbol]":return i=e,_n?Object(_n.call(i)):{}}}function Sn(e){return"function"!=typeof e.constructor||Ne(e)?{}:ee(It(e))}var En=ze&&ze.isMap,wn=En?Ve(En):function(e){return _(e)&&"[object Map]"==pn(e)};var xn=ze&&ze.isSet,Tn=xn?Ve(xn):function(e){return _(e)&&"[object Set]"==pn(e)},An="[object Arguments]",Nn="[object Function]",Rn="[object Object]",In={};function Dn(e,t,n,i,r,s){var o,a=1&t,l=2&t,c=4&t;if(void 0!==o)return o;if(!R(e))return e;var d=S(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&gn.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!a)return ne(e,o)}else{var u=pn(e),h=u==Nn||"[object GeneratorFunction]"==u;if(Fe(e))return zt(e,a);if(u==Rn||u==An||h&&!r){if(o=l||h?{}:Sn(e),!a)return l?function(e,t){return _e(e,Kt(e),t)}(e,function(e,t){return e&&_e(t,it(t),e)}(o,e)):function(e,t){return _e(e,Yt(e),t)}(e,function(e,t){return e&&_e(t,Qe(t),e)}(o,e))}else{if(!In[u])return r?e:{};o=Cn(e,u,a)}}s||(s=new Bt);var p=s.get(e);if(p)return p;s.set(e,o),Tn(e)?e.forEach(function(i){o.add(Dn(i,t,n,i,e,s))}):wn(e)&&e.forEach(function(i,r){o.set(r,Dn(i,t,n,r,e,s))});var g=d?void 0:(c?l?Qt:Zt:l?it:Qe)(e);return le(g||e,function(i,r){g&&(i=e[r=i]),ve(o,r,Dn(i,t,n,r,e,s))}),o}In[An]=In["[object Array]"]=In["[object ArrayBuffer]"]=In["[object DataView]"]=In["[object Boolean]"]=In["[object Date]"]=In["[object Float32Array]"]=In["[object Float64Array]"]=In["[object Int8Array]"]=In["[object Int16Array]"]=In["[object Int32Array]"]=In["[object Map]"]=In["[object Number]"]=In[Rn]=In["[object RegExp]"]=In["[object Set]"]=In["[object String]"]=In["[object Symbol]"]=In["[object Uint8Array]"]=In["[object Uint8ClampedArray]"]=In["[object Uint16Array]"]=In["[object Uint32Array]"]=!0,In["[object Error]"]=In[Nn]=In["[object WeakMap]"]=!1;function kn(e){return Dn(e,4)}function On(e){return Dn(e,5)}function Ln(e){for(var t=-1,n=null==e?0:e.length,i=0,r=[];++t<n;){var s=e[t];s&&(r[i++]=s)}return r}function Mn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ft;++t<n;)this.add(e[t])}function Pn(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}function Fn(e,t){return e.has(t)}Mn.prototype.add=Mn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Mn.prototype.has=function(e){return this.__data__.has(e)};function Bn(e,t,n,i,r,s){var o=1&n,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(e),d=s.get(t);if(c&&d)return c==t&&d==e;var u=-1,h=!0,p=2&n?new Mn:void 0;for(s.set(e,t),s.set(t,e);++u<a;){var g=e[u],m=t[u];if(i)var f=o?i(m,g,u,t,e,s):i(g,m,u,e,t,s);if(void 0!==f){if(f)continue;h=!1;break}if(p){if(!Pn(t,function(e,t){if(!Fn(p,t)&&(g===e||r(g,e,n,i,s)))return p.push(t)})){h=!1;break}}else if(g!==m&&!r(g,m,n,i,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function Vn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function Un(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Gn=u?u.prototype:void 0,Hn=Gn?Gn.valueOf:void 0;var zn=Object.prototype.hasOwnProperty;var Wn="[object Arguments]",jn="[object Array]",$n="[object Object]",qn=Object.prototype.hasOwnProperty;function Yn(e,t,n,i,r,s){var o=S(e),a=S(t),l=o?jn:pn(e),c=a?jn:pn(t),d=(l=l==Wn?$n:l)==$n,u=(c=c==Wn?$n:c)==$n,h=l==c;if(h&&Fe(e)){if(!Fe(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new Bt),o||je(e)?Bn(e,t,n,i,r,s):function(e,t,n,i,r,s,o){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new mn(e),new mn(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return fe(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=Vn;case"[object Set]":var l=1&i;if(a||(a=Un),e.size!=t.size&&!l)return!1;var c=o.get(e);if(c)return c==t;i|=2,o.set(e,t);var d=Bn(a(e),a(t),i,r,s,o);return o.delete(e),d;case"[object Symbol]":if(Hn)return Hn.call(e)==Hn.call(t)}return!1}(e,t,l,n,i,r,s);if(!(1&n)){var p=d&&qn.call(e,"__wrapped__"),g=u&&qn.call(t,"__wrapped__");if(p||g){var m=p?e.value():e,f=g?t.value():t;return s||(s=new Bt),r(m,f,n,i,s)}}return!!h&&(s||(s=new Bt),function(e,t,n,i,r,s){var o=1&n,a=Zt(e),l=a.length;if(l!=Zt(t).length&&!o)return!1;for(var c=l;c--;){var d=a[c];if(!(o?d in t:zn.call(t,d)))return!1}var u=s.get(e),h=s.get(t);if(u&&h)return u==t&&h==e;var p=!0;s.set(e,t),s.set(t,e);for(var g=o;++c<l;){var m=e[d=a[c]],f=t[d];if(i)var y=o?i(f,m,d,t,e,s):i(m,f,d,e,t,s);if(!(void 0===y?m===f||r(m,f,n,i,s):y)){p=!1;break}g||(g="constructor"==d)}if(p&&!g){var v=e.constructor,_=t.constructor;v==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof _&&_ instanceof _||(p=!1)}return s.delete(e),s.delete(t),p}(e,t,n,i,r,s))}function Kn(e,t,n,i,r){return e===t||(null==e||null==t||!_(e)&&!_(t)?e!=e&&t!=t:Yn(e,t,n,i,Kn,r))}function Xn(e){return e==e&&!R(e)}function Zn(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}function Qn(e){var t=function(e){for(var t=Qe(e),n=t.length;n--;){var i=t[n],r=e[i];t[n]=[i,r,Xn(r)]}return t}(e);return 1==t.length&&t[0][2]?Zn(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,i){var r=n.length,s=r;if(null==e)return!s;for(e=Object(e);r--;){var o=n[r];if(o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++r<s;){var a=(o=n[r])[0],l=e[a],c=o[1];if(o[2]){if(void 0===l&&!(a in e))return!1}else if(!Kn(c,l,3,i,new Bt))return!1}return!0}(n,0,t)}}function Jn(e,t){return null!=e&&t in Object(e)}function ei(e,t,n){for(var i=-1,r=(t=St(t,e)).length,s=!1;++i<r;){var o=Et(t[i]);if(!(s=null!=e&&n(e,o)))break;e=e[o]}return s||++i!=r?s:!!(r=null==e?0:e.length)&&Ee(r)&&ge(o,r)&&(S(e)||Oe(e))}function ti(e,t){return null!=e&&ei(e,t,Jn)}function ni(e,t){return ot(e)&&Xn(t)?Zn(Et(e),t):function(n){var i=function(e,t,n){var i=null==e?void 0:wt(e,t);return void 0===i?n:i}(n,e);return void 0===i&&i===t?ti(n,e):Kn(t,i,3)}}function ii(e){return ot(e)?(t=Et(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return wt(t,e)}}(e);var t}function ri(e){return"function"==typeof e?e:null==e?B:"object"==typeof e?S(e)?ni(e[0],e[1]):Qn(e):ii(e)}function si(e,t,n,i){for(var r=-1,s=null==e?0:e.length;++r<s;){var o=e[r];t(i,o,n(o),e)}return i}var oi=function(e,t,n){for(var i=-1,r=Object(e),s=n(e),o=s.length;o--;){var a=s[++i];if(!1===t(r[a],a,r))break}return e};function ai(e,t){return e&&oi(e,t,Qe)}var li,ci=(li=ai,function(e,t){if(null==e)return e;if(!we(e))return li(e,t);for(var n=e.length,i=-1,r=Object(e);++i<n&&!1!==t(r[i],i,r););return e});function di(e,t,n,i){return ci(e,function(e,r,s){t(i,e,n(e),s)}),i}var ui=function(){return d.Date.now()},hi=Math.max,pi=Math.min;function gi(e,t,n){var i,r,s,o,a,l,c=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,c=t,o=e.apply(s,n)}function g(e){var n=e-l;return void 0===l||n>=t||n<0||u&&e-c>=s}function m(){var e=ui();if(g(e))return f(e);a=setTimeout(m,function(e){var n=t-(e-l);return u?pi(n,s-(e-c)):n}(e))}function f(e){return a=void 0,h&&i?p(e):(i=r=void 0,o)}function y(){var e=ui(),n=g(e);if(i=arguments,r=this,l=e,n){if(void 0===a)return function(e){return c=e,a=setTimeout(m,t),d?p(e):o}(l);if(u)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=L(t)||0,R(n)&&(d=!!n.leading,s=(u="maxWait"in n)?hi(L(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),c=0,i=l=r=a=void 0},y.flush=function(){return void 0===a?o:f(ui())},y}var mi=Object.prototype,fi=mi.hasOwnProperty,yi=Se(function(e,t){e=Object(e);var n=-1,i=t.length,r=i>2?t[2]:void 0;for(r&&xe(t[0],t[1],r)&&(i=1);++n<i;)for(var s=t[n],o=it(s),a=-1,l=o.length;++a<l;){var c=o[a],d=e[c];(void 0===d||fe(d,mi[c])&&!fi.call(e,c))&&(e[c]=s[c])}return e});function vi(e,t,n){(void 0!==n&&!fe(e[t],n)||void 0===n&&!(t in e))&&me(e,t,n)}function _i(e){return _(e)&&we(e)}function bi(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function Ci(e,t,n,i,r,s,o){var a=bi(e,n),l=bi(t,n),c=o.get(l);if(c)vi(e,n,c);else{var d=s?s(a,l,n+"",e,t,o):void 0,u=void 0===d;if(u){var h=S(l),p=!h&&Fe(l),g=!h&&!p&&je(l);d=l,h||p||g?S(a)?d=a:_i(a)?d=ne(a):p?(u=!1,d=zt(l,!0)):g?(u=!1,d=bn(l,!0)):d=[]:function(e){if(!_(e)||"[object Object]"!=v(e))return!1;var t=It(e);if(null===t)return!0;var n=Lt.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ot.call(n)==Mt}(l)||Oe(l)?(d=a,Oe(a)?d=function(e){return _e(e,it(e))}(a):R(a)&&!V(a)||(d=Sn(l))):u=!1}u&&(o.set(l,d),r(d,l,i,s,o),o.delete(l)),vi(e,n,d)}}function Si(e,t,n,i,r){e!==t&&oi(t,function(s,o){if(r||(r=new Bt),R(s))Ci(e,t,o,n,Si,i,r);else{var a=i?i(bi(e,o),s,o+"",e,t,r):void 0;void 0===a&&(a=s),vi(e,o,a)}},it)}var Ei=Te(function(e,t,n,i){Si(e,t,n,i)});var wi=Se(function(e,t){return _i(e)?function(e,t,n,i){var r=-1,s=he,o=!0,a=e.length,l=[],c=t.length;if(!a)return l;t.length>=200&&(s=Fn,o=!1,t=new Mn(t));e:for(;++r<a;){var d=e[r],u=d;if(d=0!==d?d:0,o&&u==u){for(var h=c;h--;)if(t[h]===u)continue e;l.push(d)}else s(t,u,i)||l.push(d)}return l}(e,Nt(t,0,_i,!0)):[]});function xi(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function Ti(e,t,n){var i=null==e?0:e.length;return i?Pt(e,(t=void 0===t?1:F(t))<0?0:t,i):[]}function Ai(e,t,n){var i=null==e?0:e.length;return i?Pt(e,0,(t=i-(t=void 0===t?1:F(t)))<0?0:t):[]}function Ni(e){return"function"==typeof e?e:B}function Ri(e,t){return(S(e)?le:ci)(e,Ni(t))}function Ii(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(!t(e[n],n,e))return!1;return!0}function Di(e,t){var n=!0;return ci(e,function(e,i,r){return n=!!t(e,i,r)}),n}function ki(e,t,n){return(S(e)?Ii:Di)(e,ri(t))}function Oi(e,t){var n=[];return ci(e,function(e,i,r){t(e,i,r)&&n.push(e)}),n}function Li(e,t){return(S(e)?Wt:Oi)(e,ri(t))}function Mi(e){return function(t,n,i){var r=Object(t);if(!we(t)){var s=ri(n);t=Qe(t),n=function(e){return s(r[e],e,r)}}var o=e(t,n,i);return o>-1?r[s?t[o]:o]:void 0}}var Pi=Math.max;var Fi=Mi(function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:F(n);return r<0&&(r=Pi(i+r,0)),ce(e,ri(t),r)}),Bi=Math.max,Vi=Math.min;var Ui=Mi(function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=i-1;return void 0!==n&&(r=F(n),r=n<0?Bi(i+r,0):Vi(r,i-1)),ce(e,ri(t),r,!0)});function Gi(e){return e&&e.length?e[0]:void 0}function Hi(e,t){var n=-1,i=we(e)?Array(e.length):[];return ci(e,function(e,r,s){i[++n]=t(e,r,s)}),i}function zi(e,t){return(S(e)?C:Hi)(e,ri(t))}function Wi(e,t){return Nt(zi(e,t))}var ji,$i,qi=Object.prototype.hasOwnProperty,Yi=(ji=function(e,t,n){qi.call(e,n)?e[n].push(t):me(e,n,[t])},function(e,t){var n=S(e)?si:di,i=$i?$i():{};return n(e,ji,ri(t),i)});function Ki(e,t){return e>t}var Xi=Object.prototype.hasOwnProperty;function Zi(e,t){return null!=e&&Xi.call(e,t)}function Qi(e,t){return null!=e&&ei(e,t,Zi)}function Ji(e){return"string"==typeof e||!S(e)&&_(e)&&"[object String]"==v(e)}function er(e){return null==e?[]:function(e,t){return C(t,function(t){return e[t]})}(e,Qe(e))}var tr=Math.max;function nr(e,t,n,i){e=we(e)?e:er(e),n=n?F(n):0;var r=e.length;return n<0&&(n=tr(r+n,0)),Ji(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&ue(e,t,n)>-1}function ir(e,t,n){if(!(null==e?0:e.length))return-1;return ue(e,t,0)}var rr=Object.prototype.hasOwnProperty;function sr(e){if(null==e)return!0;if(we(e)&&(S(e)||"string"==typeof e||"function"==typeof e.splice||Fe(e)||je(e)||Oe(e)))return!e.length;var t=pn(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(Ne(e))return!Ze(e).length;for(var n in e)if(rr.call(e,n))return!1;return!0}function or(e,t){return Kn(e,t)}var ar=ze&&ze.isRegExp,lr=ar?Ve(ar):function(e){return _(e)&&"[object RegExp]"==v(e)};function cr(e){return void 0===e}function dr(e,t){return e<t}function ur(e,t){var n={};return t=ri(t),ai(e,function(e,i,r){me(n,i,t(e,i,r))}),n}function hr(e,t,n){for(var i=-1,r=e.length;++i<r;){var s=e[i],o=t(s);if(null!=o&&(void 0===a?o==o&&!b(o):n(o,a)))var a=o,l=s}return l}function pr(e){return e&&e.length?hr(e,B,Ki):void 0}var gr=Te(function(e,t,n){Si(e,t,n)});function mr(e){return e&&e.length?hr(e,B,dr):void 0}function fr(e,t){return e&&e.length?hr(e,ri(t),dr):void 0}function yr(e,t,n,i){if(!R(e))return e;for(var r=-1,s=(t=St(t,e)).length,o=s-1,a=e;null!=a&&++r<s;){var l=Et(t[r]),c=n;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(r!=o){var d=a[l];void 0===(c=void 0)&&(c=R(d)?d:ge(t[r+1])?[]:{})}ve(a,l,c),a=a[l]}return e}function vr(e,t,n){for(var i=-1,r=t.length,s={};++i<r;){var o=t[i],a=wt(e,o);n(a,o)&&yr(s,St(o,e),a)}return s}function _r(e,t){if(null==e)return{};var n=C(Qt(e),function(e){return[e]});return t=ri(t),vr(e,n,function(e,n){return t(e,n[0])})}function br(e,t){if(e!==t){var n=void 0!==e,i=null===e,r=e==e,s=b(e),o=void 0!==t,a=null===t,l=t==t,c=b(t);if(!a&&!c&&!s&&e>t||s&&o&&l&&!a&&!c||i&&o&&l||!n&&l||!r)return 1;if(!i&&!s&&!c&&e<t||c&&n&&r&&!i&&!s||a&&n&&r||!o&&r||!l)return-1}return 0}function Cr(e,t,n){t=t.length?C(t,function(e){return S(e)?function(t){return wt(t,1===e.length?e[0]:e)}:e}):[B];var i=-1;t=C(t,Ve(ri));var r=Hi(e,function(e,n,r){return{criteria:C(t,function(t){return t(e)}),index:++i,value:e}});return function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(r,function(e,t){return function(e,t,n){for(var i=-1,r=e.criteria,s=t.criteria,o=r.length,a=n.length;++i<o;){var l=br(r[i],s[i]);if(l)return i>=a?l:l*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)})}var Sr,Er=(Sr=function(e,t){return null==e?{}:function(e,t){return vr(e,t,function(t,n){return ti(e,n)})}(e,t)},ae(Ce(Sr,void 0,Rt),Sr+"")),wr=Math.ceil,xr=Math.max;var Tr=function(e,t,n){return n&&"number"!=typeof n&&xe(e,t,n)&&(t=n=void 0),e=P(e),void 0===t?(t=e,e=0):t=P(t),function(e,t,n){for(var i=-1,r=xr(wr((t-e)/(n||1)),0),s=Array(r);r--;)s[++i]=e,e+=n;return s}(e,t,n=void 0===n?e<t?1:-1:P(n))};function Ar(e,t,n,i,r){return r(e,function(e,r,s){n=i?(i=!1,e):t(n,e,r,s)}),n}function Nr(e,t,n){var i=S(e)?Ft:Ar,r=arguments.length<3;return i(e,ri(t),n,r,ci)}function Rr(e,t){return(S(e)?Wt:Oi)(e,function(e){if("function"!=typeof e)throw new TypeError("Expected a function");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)}}(ri(t)))}function Ir(e,t){var n;return ci(e,function(e,i,r){return!(n=t(e,i,r))}),!!n}function Dr(e,t,n){return(S(e)?Pn:Ir)(e,ri(t))}var kr=Se(function(e,t){if(null==e)return[];var n=t.length;return n>1&&xe(e,t[0],t[1])?t=[]:n>2&&xe(t[0],t[1],t[2])&&(t=[t[0]]),Cr(e,Nt(t),[])});var Or=tn&&1/Un(new tn([,-0]))[1]==1/0?function(e){return new tn(e)}:te;function Lr(e,t,n){var i=-1,r=he,s=e.length,o=!0,a=[],l=a;if(s>=200){var c=t?null:Or(e);if(c)return Un(c);o=!1,r=Fn,l=new Mn}else l=t?[]:a;e:for(;++i<s;){var d=e[i],u=t?t(d):d;if(d=0!==d?d:0,o&&u==u){for(var h=l.length;h--;)if(l[h]===u)continue e;t&&l.push(u),a.push(d)}else r(l,u,n)||(l!==a&&l.push(u),a.push(d))}return a}var Mr=Se(function(e){return Lr(Nt(e,0,_i,!0))});function Pr(e){return e&&e.length?Lr(e):[]}function Fr(e,t){return e&&e.length?Lr(e,ri(t)):[]}var Br=0;function Vr(e){var t=++Br;return Ct(e)+t}const Ur=e=>e instanceof Date,Gr=e=>null!=e&&"object"==typeof e,Hr=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),zr=e=>Gr(e)&&(e=>0===Object.keys(e).length)(e),Wr=(e,t)=>{if(e===t)return{};if(!Gr(e)||!Gr(t))return t;const n=Object.keys(e).reduce((e,n)=>(Hr(t,n)||(e[n]=void 0),e),Object.create(null));return Ur(e)||Ur(t)?e.valueOf()==t.valueOf()?{}:t:Object.keys(t).reduce((n,i)=>{if(!Hr(e,i))return n[i]=t[i],n;const r=Wr(e[i],t[i]);return!zr(r)||Ur(r)||!zr(e[i])&&zr(t[i])?(n[i]=r,n):n},n)};class jr extends Error{uuid=ho();constructor(e){super(),this.message=void 0===e||""===e?"(no error message)":e}get detail(){return this.message}}class $r extends Error{constructor(e,t,n){if(super(n||(t instanceof Error?t.message:t)),this.name=e,t instanceof Error){const e=(this.message.match(/\n/g)??[]).length+1;this.stack=`${(this.stack??"").split("\n").slice(0,e+1).join("\n")}\nCaused by: ${t.stack}`}else"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack}}class qr extends $r{constructor(e){super("Illegal State Error [PLEASE NOTIFY DEVELOPER]",e)}}class Yr extends $r{constructor(e,t){super("Unsupported Operation Error",e||t?`${e}${t?`\n${xo(t)}`:""}`:void 0)}}function Kr(e){if("test"!==process.env.NODE_ENV&&!(e instanceof Error))throw new qr("Expected error to be thrown")}const Xr=e=>{try{return e()}catch{return}};var Zr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Qr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Jr(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if("function"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}),n}var es,ts={},ns={exports:{}};var is,rs={};function ss(){if(is)return rs;is=1,Object.defineProperty(rs,"__esModule",{value:!0}),rs.printIteratorEntries=function(e,t,n,i,r,s,o=": "){let a="",l=0,c=e.next();if(!c.done){a+=t.spacingOuter;const d=n+t.indent;for(;!c.done;){if(a+=d,l++===t.maxWidth){a+="…";break}a+=s(c.value[0],t,d,i,r)+o+s(c.value[1],t,d,i,r),c=e.next(),c.done?t.min||(a+=","):a+=`,${t.spacingInner}`}a+=t.spacingOuter+n}return a},rs.printIteratorValues=function(e,t,n,i,r,s){let o="",a=0,l=e.next();if(!l.done){o+=t.spacingOuter;const c=n+t.indent;for(;!l.done;){if(o+=c,a++===t.maxWidth){o+="…";break}o+=s(l.value,t,c,i,r),l=e.next(),l.done?t.min||(o+=","):o+=`,${t.spacingInner}`}o+=t.spacingOuter+n}return o},rs.printListItems=function(e,t,n,i,r,s){let o="";if(e.length){o+=t.spacingOuter;const a=n+t.indent;for(let n=0;n<e.length;n++){if(o+=a,n===t.maxWidth){o+="…";break}n in e&&(o+=s(e[n],t,a,i,r)),n<e.length-1?o+=`,${t.spacingInner}`:t.min||(o+=",")}o+=t.spacingOuter+n}return o},rs.printObjectProperties=function(t,n,i,r,s,o){let a="";const l=e(t,n.compareKeys);if(l.length){a+=n.spacingOuter;const e=i+n.indent;for(let i=0;i<l.length;i++){const c=l[i];a+=`${e+o(c,n,e,r,s)}: ${o(t[c],n,e,r,s)}`,i<l.length-1?a+=`,${n.spacingInner}`:n.min||(a+=",")}a+=n.spacingOuter+i}return a};const e=(e,t)=>{const n=Object.keys(e),i=null!==t?n.sort(t):n;return Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(t=>{Object.getOwnPropertyDescriptor(e,t).enumerable&&i.push(t)}),i};return rs}var os,as={};var ls,cs={};function ds(){if(ls)return cs;ls=1,Object.defineProperty(cs,"__esModule",{value:!0}),cs.test=cs.serialize=cs.default=void 0;var e=ss();const t=["DOMStringMap","NamedNodeMap"],n=/^(HTML\w*Collection|NodeList)$/,i=e=>e&&e.constructor&&!!e.constructor.name&&(e=>-1!==t.indexOf(e)||n.test(e))(e.constructor.name);cs.test=i;const r=(n,i,r,s,o,a)=>{const l=n.constructor.name;return++s>i.maxDepth?`[${l}]`:(i.min?"":l+" ")+(-1!==t.indexOf(l)?`{${(0,e.printObjectProperties)((e=>"NamedNodeMap"===e.constructor.name)(n)?Array.from(n).reduce((e,t)=>(e[t.name]=t.value,e),{}):{...n},i,r,s,o,a)}}`:`[${(0,e.printListItems)(Array.from(n),i,r,s,o,a)}]`)};cs.serialize=r;var s={serialize:r,test:i};return cs.default=s,cs}var us,hs,ps,gs={},ms={},fs={};function ys(){if(hs)return ms;hs=1,Object.defineProperty(ms,"__esModule",{value:!0}),ms.printText=ms.printProps=ms.printElementAsLeaf=ms.printElement=ms.printComment=ms.printChildren=void 0;var e,t=(us||(us=1,Object.defineProperty(fs,"__esModule",{value:!0}),fs.default=function(e){return e.replace(/</g,"&lt;").replace(/>/g,"&gt;")}),(e=fs)&&e.__esModule?e:{default:e});ms.printProps=(e,t,n,i,r,s,o)=>{const a=i+n.indent,l=n.colors;return e.map(e=>{const c=t[e];let d=o(c,n,a,r,s);return"string"!=typeof c&&(-1!==d.indexOf("\n")&&(d=n.spacingOuter+a+d+n.spacingOuter+i),d=`{${d}}`),`${n.spacingInner+i+l.prop.open+e+l.prop.close}=${l.value.open}${d}${l.value.close}`}).join("")};ms.printChildren=(e,t,i,r,s,o)=>e.map(e=>t.spacingOuter+i+("string"==typeof e?n(e,t):o(e,t,i,r,s))).join("");const n=(e,n)=>{const i=n.colors.content;return i.open+(0,t.default)(e)+i.close};ms.printText=n;ms.printComment=(e,n)=>{const i=n.colors.comment;return`${i.open}\x3c!--${(0,t.default)(e)}--\x3e${i.close}`};ms.printElement=(e,t,n,i,r)=>{const s=i.colors.tag;return`${s.open}<${e}${t&&s.close+t+i.spacingOuter+r+s.open}${n?`>${s.close}${n}${i.spacingOuter}${r}${s.open}</${e}`:(t&&!i.min?"":" ")+"/"}>${s.close}`};return ms.printElementAsLeaf=(e,t)=>{const n=t.colors.tag;return`${n.open}<${e}${n.close} …${n.open} />${n.close}`},ms}function vs(){if(ps)return gs;ps=1,Object.defineProperty(gs,"__esModule",{value:!0}),gs.test=gs.serialize=gs.default=void 0;var e=ys();const t=/^((HTML|SVG)\w*)?Element$/,n=e=>e?.constructor?.name&&(e=>{const n=e.constructor.name,{nodeType:i,tagName:r}=e,s="string"==typeof r&&r.includes("-")||(e=>{try{return"function"==typeof e.hasAttribute&&e.hasAttribute("is")}catch{return!1}})(e);return 1===i&&(t.test(n)||s)||3===i&&"Text"===n||8===i&&"Comment"===n||11===i&&"DocumentFragment"===n})(e);function i(e){return 11===e.nodeType}gs.test=n;const r=(t,n,r,s,o,a)=>{if(function(e){return 3===e.nodeType}(t))return(0,e.printText)(t.data,n);if(function(e){return 8===e.nodeType}(t))return(0,e.printComment)(t.data,n);const l=i(t)?"DocumentFragment":t.tagName.toLowerCase();return++s>n.maxDepth?(0,e.printElementAsLeaf)(l,n):(0,e.printElement)(l,(0,e.printProps)(i(t)?[]:Array.from(t.attributes,e=>e.name).sort(),i(t)?{}:Array.from(t.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{}),n,r+n.indent,s,o,a),(0,e.printChildren)(Array.prototype.slice.call(t.childNodes||t.children),n,r+n.indent,s,o,a),n,r)};gs.serialize=r;var s={serialize:r,test:n};return gs.default=s,gs}var _s,bs={};function Cs(){if(_s)return bs;_s=1,Object.defineProperty(bs,"__esModule",{value:!0}),bs.test=bs.serialize=bs.default=void 0;var e=ss();const t="@@__IMMUTABLE_ORDERED__@@",n=e=>`Immutable.${e}`,i=e=>`[${e}]`,r=" ";const s=(t,s,o,a,l,c,d)=>++a>s.maxDepth?i(n(d)):`${n(d)+r}[${(0,e.printIteratorValues)(t.values(),s,o,a,l,c)}]`,o=(o,a,l,c,d,u)=>o["@@__IMMUTABLE_MAP__@@"]?((t,s,o,a,l,c,d)=>++a>s.maxDepth?i(n(d)):`${n(d)+r}{${(0,e.printIteratorEntries)(t.entries(),s,o,a,l,c)}}`)(o,a,l,c,d,u,o[t]?"OrderedMap":"Map"):o["@@__IMMUTABLE_LIST__@@"]?s(o,a,l,c,d,u,"List"):o["@@__IMMUTABLE_SET__@@"]?s(o,a,l,c,d,u,o[t]?"OrderedSet":"Set"):o["@@__IMMUTABLE_STACK__@@"]?s(o,a,l,c,d,u,"Stack"):o["@@__IMMUTABLE_SEQ__@@"]?((t,s,o,a,l,c)=>{const d=n("Seq");return++a>s.maxDepth?i(d):t["@@__IMMUTABLE_KEYED__@@"]?`${d+r}{${t._iter||t._object?(0,e.printIteratorEntries)(t.entries(),s,o,a,l,c):"…"}}`:`${d+r}[${t._iter||t._array||t._collection||t._iterable?(0,e.printIteratorValues)(t.values(),s,o,a,l,c):"…"}]`})(o,a,l,c,d,u):((t,s,o,a,l,c)=>{const d=n(t._name||"Record");return++a>s.maxDepth?i(d):`${d+r}{${(0,e.printIteratorEntries)(function(e){let t=0;return{next(){if(t<e._keys.length){const n=e._keys[t++];return{done:!1,value:[n,e.get(n)]}}return{done:!0,value:void 0}}}}(t),s,o,a,l,c)}}`})(o,a,l,c,d,u);bs.serialize=o;const a=e=>e&&(!0===e["@@__IMMUTABLE_ITERABLE__@@"]||!0===e["@@__IMMUTABLE_RECORD__@@"]);bs.test=a;var l={serialize:o,test:a};return bs.default=l,bs}var Ss,Es={},ws={exports:{}},xs={};var Ts,As,Ns,Rs={};
2
2
  /**
3
3
  * @license React
4
4
  * react-is.development.js
@@ -897,7 +897,7 @@ var Xtn=Object.defineProperty,Ztn=Object.getOwnPropertyDescriptor,Qtn=Object.get
897
897
  .${w$n.BLUR}:hover {
898
898
  filter: none;
899
899
  }
900
- `})}),dCi=tie(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return wne.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[wne.jsx(xwe,{className:"text-lg"}),wne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),uCi=tie(e=>{const{view:t}=e,n=Obi(),i=t.grid;return wne.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&wne.jsx(dCi,{view:t}),wne.jsx("div",{}),wne.jsxs("div",{className:"flex h-full items-center",children:[wne.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),wne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[wne.jsx(Dwe,{className:"stroke-[3px]"}),wne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),wne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),wne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[wne.jsx(jbe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),wne.jsx("div",{className:AEe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),wne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[wne.jsx(jbe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),wne.jsxs("div",{className:AEe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",wne.jsx(Lbi,{})]})]})]})]})]})}),hCi=tie(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),wne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:wne.jsx(coi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=oCi)},modules:[isi,__i],...MJn(t)})})}),pCi=tie(e=>{const{view:t}=e,n=t.grid.configuration;return wne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[wne.jsx(cCi,{configuration:n}),wne.jsx(hCi,{view:t}),wne.jsx(uCi,{view:t})]})}),gCi=tie(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case vwn.MULTIDIMENSIONAL:return wne.jsx(sCi,{view:t});case vwn.STANDARD:return wne.jsx(pCi,{view:t});default:return wne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),mCi=tie(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return wne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[wne.jsxs("div",{className:"flex",children:[wne.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(nwn.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Cwn.STATUS_BAR})},disabled:!t,children:[wne.jsx(mwe,{className:"text-xl"}),wne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),wne.jsx("div",{className:"flex",children:wne.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(nwn.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Cwn.STATUS_BAR})},disabled:!t||Xwn(t.info.configuration.gridMode),children:[wne.jsx(bwe,{className:"text-lg"}),wne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),wne.jsx("div",{className:"flex items-center px-2",children:wne.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):vo(i,0).description:void 0,children:void 0!==i&&i.length>0&&wne.jsx(jve,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),fCi=tie(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=KOe(),[c,d]=n.useState([...r??[]]);return wne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[wne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[wne.jsx(ZEe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),wne.jsx("div",{className:"truncate",children:i})]}),wne.jsxs("div",{className:"flex w-full flex-auto",children:[t,wne.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(nCi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:wne.jsx(uwe,{})}),wne.jsx(XOe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>Js(e)?wne.jsx(ZOe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===nCi.SEPARATOR?wne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),yCi=e=>{const{message:t,prompt:n}=e;return wne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[wne.jsx("div",{className:"mr-3",children:wne.jsx(PEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),wne.jsxs("div",{children:[wne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),wne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},vCi=tie(e=>{const{children:t,taskManager:n}=e;return wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),wne.jsx(mCi,{taskManager:n})]})}),_Ci=tie(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return wne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":twn.PLACEHOLDER,children:[wne.jsx(fCi,{title:n,menuItems:i,children:r??null}),wne.jsx(vCi,{taskManager:o,children:t}),s?wne.jsx(tCi,{layout:s}):null,wne.jsx(SAn,{})]})}),bCi=tie(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?wne.jsx(vCi,{children:wne.jsx(yCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):wne.jsxs(wne.Fragment,{children:[wne.jsx(gCi,{view:t}),wne.jsx(mCi,{view:t})]})}),CCi=tie(()=>{const e=Obi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(nwn.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),wne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[wne.jsx(fCi,{title:t.info.name,menuItems:[{label:bwn.UNDO,action:()=>{e.view.snapshotService.undo(),i(bwn.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:bwn.REDO,action:()=>{e.view.snapshotService.redo(),i(bwn.REDO)},disabled:!e.view.snapshotService.canRedo},{label:bwn.SETTINGS,action:()=>{e.settingService.display.open(),i(bwn.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),wne.jsx(bCi,{view:t}),wne.jsx(tCi,{layout:e.layoutService.manager}),wne.jsx(SAn,{})]})}),SCi=tie(e=>{const{specification:t,engine:i,options:r}=e,s=iie(()=>new Ibi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?wne.jsx(kbi,{value:s,children:wne.jsx(CCi,{},s.uuid)}):wne.jsx(_Ci,{title:xwn,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&wne.jsx(yCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ECi,wCi,xCi,TCi,ACi,NCi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(ECi||(ECi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(wCi||(wCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(xCi||(xCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(TCi||(TCi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(ACi||(ACi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(NCi||(NCi={}));class RCi{label;value;constructor(e,t){this.label=e,this.value=t}}class ICi extends RCi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class DCi extends RCi{unit;constructor(e,t){super(e,ECi.FIRST_DAY_OF),this.unit=t}}class kCi extends RCi{day;constructor(e,t){super(e,ECi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const OCi=[new ICi("Yesterday",ECi.YESTERDAY,1,wCi.DAYS,ACi.BEFORE,NCi.TODAY),new ICi("One Week Ago",ECi.ONE_WEEK_AGO,1,wCi.WEEKS,ACi.BEFORE,NCi.TODAY),new ICi("One Month Ago",ECi.ONE_MONTH_AGO,1,wCi.MONTHS,ACi.BEFORE,NCi.TODAY),new ICi("One Year Ago",ECi.ONE_YEAR_AGO,1,wCi.YEARS,ACi.BEFORE,NCi.TODAY)],LCi=e=>Object.values(SEn).find(t=>cS(e,t)),MCi=(e,t,n)=>{if(e instanceof kCi){const i=new KE(SEn.PREVIOUS_DAY_OF_WEEK);IEn(i,vS.create(new wS(mS.DATE)));const r=new VE(vS.create(new wS(t.getType(_En.DAY_OF_WEEK))));return BEn(r,[...r.values,VS.create(Gs(t.getEnumeration(_En.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),LEn(i,r,n),i}if(e instanceof DCi)switch(e.unit){case xCi.YEAR:{const e=new KE(SEn.FIRST_DAY_OF_THIS_YEAR);return IEn(e,vS.create(new wS(mS.DATE))),e}case xCi.QUARTER:{const e=new KE(SEn.FIRST_DAY_OF_QUARTER);return IEn(e,vS.create(new wS(mS.STRICTDATE))),e}case xCi.MONTH:{const e=new KE(SEn.FIRST_DAY_OF_THIS_MONTH);return IEn(e,vS.create(new wS(mS.DATE))),e}case xCi.WEEK:{const e=new KE(SEn.FIRST_DAY_OF_WEEK);return IEn(e,vS.create(new wS(mS.DATE))),e}default:throw new Yr(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case ECi.TODAY:return VCi(SEn.TODAY,mS.STRICTDATE);case ECi.NOW:return VCi(SEn.NOW,mS.DATETIME);case NCi.FIRST_DAY_OF_THIS_YEAR:{const e=new KE(SEn.FIRST_DAY_OF_THIS_YEAR);return IEn(e,vS.create(new wS(mS.DATE))),e}case NCi.FIRST_DAY_OF_QUARTER:{const e=new KE(SEn.FIRST_DAY_OF_QUARTER);return IEn(e,vS.create(new wS(mS.STRICTDATE))),e}case NCi.FIRST_DAY_OF_MONTH:{const e=new KE(SEn.FIRST_DAY_OF_THIS_MONTH);return IEn(e,vS.create(new wS(mS.DATE))),e}case NCi.FIRST_DAY_OF_WEEK:{const e=new KE(SEn.FIRST_DAY_OF_WEEK);return IEn(e,vS.create(new wS(mS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},PCi=(e,t)=>{const n=t.getEnumeration(_En.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(wCi).filter(t=>wCi[t]===e)[0])[0];return i??Gs(n.values[0])},FCi=(e,t)=>{if(e instanceof KE&&cS(e.functionName,SEn.ADJUST)||e instanceof hA&&cS(e.function,SEn.ADJUST))try{const t=new ICi("",ECi.CUSTOM_DATE,(e=>{if(e instanceof KE){const t=e.parametersValues[1];return t instanceof BE?t.values[0]:t instanceof KE&&cS(t.functionName,SEn.MINUS)&&t.parametersValues[0]instanceof BE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof fA?t.value:t instanceof hA&&cS(t.function,SEn.MINUS)&&t.parameters[0]instanceof fA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof KE?Object.keys(wCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>wCi[e])[0]:Object.values(wCi).filter(t=>t===js(e.parameters[2],jA).property)[0]))(e),(n=e)instanceof KE?n.parametersValues[1]instanceof KE&&cS(n.parametersValues[1].functionName,SEn.MINUS)?ACi.BEFORE:ACi.AFTER:n.parameters[1]instanceof hA&&cS(n.parameters[1].function,SEn.MINUS)?ACi.BEFORE:ACi.AFTER,(e=>{const t=e instanceof KE?e.parametersValues[0].functionName:e.parameters[0].function;switch(LCi(t)){case SEn.TODAY:return NCi.TODAY;case SEn.NOW:return NCi.NOW;case SEn.FIRST_DAY_OF_THIS_YEAR:return NCi.FIRST_DAY_OF_THIS_YEAR;case SEn.FIRST_DAY_OF_QUARTER:return NCi.FIRST_DAY_OF_QUARTER;case SEn.FIRST_DAY_OF_THIS_MONTH:return NCi.FIRST_DAY_OF_MONTH;case SEn.FIRST_DAY_OF_WEEK:return NCi.FIRST_DAY_OF_WEEK;case SEn.PREVIOUS_DAY_OF_WEEK:return NCi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=OCi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=Gs(i[0]?.label),t.value=Gs(i[0]?.value),t):(t.updateLabel(),t)}catch(e){Kr(e),t.notificationService.notifyError(e)}var n;return new ICi("","",0,void 0,void 0,void 0)},BCi=(e,t)=>{if(!(e instanceof KE||e instanceof hA)){if(e instanceof BE)return e.genericType.value.rawType.path===AC.LATESTDATE?new RCi(ECi.LATEST_DATE,ECi.LATEST_DATE):new RCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===AC.DATETIME?ECi.ABSOLUTE_TIME:ECi.ABSOLUTE_DATE);if(e instanceof EA)return new RCi(ECi.LATEST_DATE,ECi.LATEST_DATE);if(e instanceof CA)return new RCi(e.value,ECi.ABSOLUTE_DATE);if(e instanceof bA)return new RCi(e.value,ECi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof KE?e.functionName:e.function;switch(LCi(n)){case SEn.TODAY:return new RCi(ECi.TODAY,ECi.TODAY);case SEn.NOW:return new RCi(ECi.NOW,ECi.NOW);case SEn.FIRST_DAY_OF_THIS_YEAR:return new DCi(NCi.FIRST_DAY_OF_THIS_YEAR,xCi.YEAR);case SEn.FIRST_DAY_OF_QUARTER:return new DCi(NCi.FIRST_DAY_OF_QUARTER,xCi.QUARTER);case SEn.FIRST_DAY_OF_THIS_MONTH:return new DCi(NCi.FIRST_DAY_OF_MONTH,xCi.MONTH);case SEn.FIRST_DAY_OF_WEEK:return new DCi(NCi.FIRST_DAY_OF_WEEK,xCi.WEEK);case SEn.PREVIOUS_DAY_OF_WEEK:const n=e instanceof KE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],jA).property;return new kCi(`Previous ${n}`,n);case SEn.ADJUST:return FCi(e,t);default:return new RCi("","")}}},VCi=(e,t)=>{const n=new KE(e);return IEn(n,vS.create(new wS(t))),n},UCi=(e,t,n,i)=>{const r=new BE(vS.create(new wS(e.getPrimitiveType(t))));return BEn(r,[n],i),r},GCi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},HCi=(e,t)=>{const n=new XE(e.functionName);return MEn(n,WS.create(Gs(e.func.value))),kEn(n,e.parametersValues.map(e=>GCi(e)),t),n},zCi=(e,t,n,i)=>{const r=t.path;switch(r){case AC.STRING:case AC.STRICTDATE:case AC.DATETIME:case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.BINARY:case AC.BYTE:case AC.INTEGER:return UCi(e,r,i?YEn(r):null,n);case AC.BOOLEAN:return UCi(e,r,YEn(r),n);case AC.DATE:return UCi(e,AC.STRICTDATE,i?YEn(r):null,n);default:if(t instanceof IS){const e=new VE(vS.create(new wS(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);BEn(e,[VS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},WCi=(e,t)=>K3(((e,t)=>{const n=new QE(new ZE(ZC.create(e.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE));return n.expressionSequence[0]=zCi(e,mS.STRING,t,!0),n})(e.graph,t),e),jCi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==mS.BYTE)return new UE(s,vS.create(new wS(r)));if(r instanceof mS)return((e,t,n)=>{const i=e.name;return i===AC.DATE||i===AC.DATETIME?VCi(SEn.NOW,mS.DATETIME):i===AC.STRICTDATE?VCi(SEn.TODAY,mS.STRICTDATE):i===AC.DATE?UCi(t,AC.STRICTDATE,YEn(i),n):UCi(t,i,YEn(i),n)})(r,t,n);if(r instanceof IS){const e=new VE(vS.create(new wS(r))),t=(o=r,(new Vm).getRandomItemInCollection(o.values)?.name??"");return""!==t&&BEn(e,[VS.create(Hw(r,t))],n),e}var o},$Ci=(e,t,n)=>{if(e instanceof BE)return Zw(e.genericType.value.rawType,mS.DATE)?BCi(e,t).label:e.genericType.value.rawType===mS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof VE){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof PE?e.name:e instanceof ew?$Ci(e.getValue(),t,n):e instanceof KE?void 0!==e.genericType?.value.rawType&&Zw(e.genericType.value.rawType,mS.DATE)?BCi(e,t).label:e.functionName:e instanceof UE?e.values.map(e=>$Ci(e,t,n)).join(","):void 0},qCi=(e,t,n)=>{let i=null;if(e instanceof mS)switch(e.path){case AC.STRING:i=new BE(vS.create(new wS(e))),BEn(i,[t.toString()],n);break;case AC.NUMBER:case AC.FLOAT:case AC.DECIMAL:case AC.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===AC.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new BE(vS.create(new wS(e))),BEn(i,[r],n);break}case AC.DATE:case AC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new BE(vS.create(new wS(e))),BEn(i,[t],n);break;case AC.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;i=new BE(vS.create(new wS(e))),BEn(i,[t],n);break;default:return null}return i},YCi=(e,t)=>{const n=t?Sp:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof XE;){for(r=r.parametersValues[0];r instanceof KE&&cS(r.functionName,SEn.SUBTYPE);){const e=`${SC}(${n(r.parametersValues.filter(e=>e instanceof FE)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof XE&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=Gs(s[s.length-1]);t.startsWith(SC)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},KCi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof XE;)n=n.parametersValues[0],n instanceof XE&&t.unshift(n.func.value.name);return t.join(".")},XCi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof mS||r instanceof IS)return r===mS.LATESTDATE?new BE(vS.create(new wS(r))):zCi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new UE(iS.ZERO,vS.create(new wS(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class ZCi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=KCi(t),this.title=YCi(t,!0),this.propertyExpression=Uee(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=js(t.func.value,GS),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>js(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),PE))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=REn(e,i)??Gs(t[i]):t.push(REn(e,i)??XCi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),kEn(e.propertyExpression,[Gs(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof FE)||zEn(e))}}class QCi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){d_(this,{isEditingDerivedPropertyExpression:Ty,derivedPropertyExpressionStates:Ty,setIsEditingDerivedProperty:Lv,initDerivedPropertyExpressionStates:Lv,isValid:Iy,hashCode:Iy}),this.queryBuilderState=e,this.propertyExpression=Uee(t,e.observerContext),this.path=KCi(t),this.title=YCi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof XE;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof xS&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&MEn(n,WS.create(t))}if(n.func.value instanceof GS){const e=new ZCi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof KE&&cS(n.functionName,SEn.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return Cg([ewn.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class JCi{uuid=ho()}class eSi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){d_(this,{lambdaString:Ty,parserError:Ty,compilationError:Ty,typeAheadEnabled:Ty,lambdaId:Iy,fullLambdaString:Iy,setLambdaString:Lv,setTypeAhead:Lv,clearErrors:Lv,setCompilationError:Lv,setParserError:Lv,convertLambdaGrammarStringToObject:Zv,convertLambdaObjectToGrammarString:Zv}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new gQ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new X0)}}const tSi="PROJECTION_COLUMN";class nSi extends JCi{tdsState;columnName;wavgWeight;constructor(e,t){super(),d_(this,{uuid:!1,tdsState:!1,columnName:Ty,wavgWeight:Ty,setColumnName:Lv,setWavgWeight:Lv,hashCode:Iy}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class iSi extends nSi{lambdaParameterName=fEn;propertyExpressionState;constructor(e,t,n){super(e,""),d_(this,{lambdaParameterName:Ty,propertyExpressionState:Ty,setLambdaParameterName:Lv,changeProperty:Lv}),this.propertyExpressionState=new QCi(e.queryBuilderState,t),this.columnName=YCi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>QEn(e,t))))}changeProperty(e,t){this.propertyExpressionState=new QCi(this.tdsState.queryBuilderState,gxi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=YCi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return Cg([ewn.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class rSi extends eSi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Mee([gEn.QUERY_BUILDER,gEn.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=gj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){Kr(e),e instanceof hQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new kE(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class sSi extends nSi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=pb.create();constructor(e,t){super(e,"(derivation)"),d_(this,{lambda:Ty,returnType:Ty,fetchingLambdaReturnTypeState:Ty,setLambda:Lv,fetchDerivationLambdaReturnType:Zv,setLambdaReturnType:Lv}),this.derivationLambdaEditorState=new rSi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{Ks(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),Ks(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.getIsolatedRawLambda(),i=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(n,t);this.setLambdaReturnType(i)}catch(e){Kr(e),this.tdsState.queryBuilderState.applicationStore.logService.info(_b.create(ow.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedRawLambda(){Ks(Array.isArray(this.lambda.parameters));const e=this.lambda.parameters;Ks(1===e.length);const t=e[0];qs(t.name);const n=this.tdsState.queryBuilderState,i=new OE(t.name,iS.ONE,ZC.create(Gs(n.class))),r=n.graphManagerState.graphManager.serializeRawValueSpecification(i),s=n.parametersState.parameterStates.map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e.parameter)),o=n.constantState.constants.map(e=>e.buildLetExpression()).map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e));let a=this.lambda.body;o.length&&(a=Array.isArray(this.lambda.body)?[...o,...this.lambda.body]:[...o,this.lambda.body]);return new kE([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof mS||t instanceof IS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return Cg([ewn.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class oSi{uuid=ho();constructor(){d_(this,{getOperator:Iy,allValidationIssues:Iy,hashCode:Iy})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof iSi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class aSi extends JCi{aggregationState;projectionColumnState;lambdaParameterName=fEn;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),d_(this,{projectionColumnState:Ty,lambdaParameterName:Ty,calendarFunction:Ty,hideCalendarColumnState:Ty,operator:Ty,setHideCalendarColumnState:Lv,setColumnState:Lv,setLambdaParameterName:Lv,setOperator:Lv,setCalendarFunction:Lv,handleUsedPostFilterType:Lv,hashCode:Iy}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof sSi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return Cg([ewn.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class lSi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){d_(this,{columns:Ty,removeColumn:Lv,addColumn:Lv,changeColumnAggregateOperator:Lv,disableCalendar:Lv,allValidationIssues:Iy,hashCode:Iy}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){wo(this.columns,e)}addColumn(e){Co(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new aSi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return Cg([ewn.AGGREGATION_STATE,Cg(this.columns)])}}const cSi=(e,t,n)=>{const i=new KE(oS(e));return i.parametersValues.push(new PE(t,iS.ONE)),i},dSi=(e,t,n,i,r)=>{if(cS(n.functionName,i)){const s=new aSi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),Ks(1===n.parametersValues.length,`Can't process ${oS(i)}() expression: ${oS(i)}() expects no argument`);const o=js(n.parametersValues[0],PE,`Can't process ${oS(i)}() expression: only support ${oS(i)}() immediately following a variable expression`);return Ks(s.lambdaParameterName===o.name,`Can't process ${oS(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),Ks(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${oS(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class uSi extends oSi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.AVERAGE,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.AVERAGE,this)}getReturnType(e){return mS.FLOAT}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_AVERAGE])}}class hSi extends oSi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.COUNT,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.COUNT,this)}getReturnType(e){return mS.INTEGER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_COUNT])}}class pSi extends oSi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}return!0}buildAggregateExpression(e,t,n){const i=new KE(oS(SEn.DISTINCT));i.parametersValues.push(new PE(t,iS.ONE));const r=new KE(oS(SEn.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.COUNT)){const i=new aSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=js(e.parametersValues[0],KE,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(cS(r.functionName,SEn.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),Ks(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=js(r.parametersValues[0],PE,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return Ks(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return mS.INTEGER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class gSi extends oSi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?SEn.DATE_MAX:SEn.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof iSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case AC.NUMBER:case AC.INTEGER:case AC.DECIMAL:case AC.FLOAT:if(!cS(e.functionName,SEn.MAX))return;return dSi(n,t,e,SEn.MAX,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,SEn.DATE_MAX))return;return dSi(n,t,e,SEn.DATE_MAX,this);default:return}}return cS(e.functionName,SEn.MAX)?dSi(n,t,e,SEn.MAX,this):cS(e.functionName,SEn.DATE_MAX)?dSi(n,t,e,SEn.DATE_MAX,this):void 0}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_MAX])}}class mSi extends oSi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?SEn.DATE_MIN:SEn.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof iSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case AC.NUMBER:case AC.INTEGER:case AC.DECIMAL:case AC.FLOAT:if(!cS(e.functionName,SEn.MIN))return;return dSi(n,t,e,SEn.MIN,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,SEn.DATE_MIN))return;return dSi(n,t,e,SEn.DATE_MIN,this);default:return}}return cS(e.functionName,SEn.MIN)?dSi(n,t,e,SEn.MIN,this):cS(e.functionName,SEn.DATE_MIN)?dSi(n,t,e,SEn.DATE_MIN,this):void 0}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_MIN])}}class fSi extends oSi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.STD_DEV_POPULATION,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class ySi extends oSi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.STD_DEV_SAMPLE,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class vSi extends oSi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.SUM,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.SUM,this)}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_SUM])}}class _Si{columnState;sortType=wEn.ASC;constructor(e){d_(this,{columnState:Ty,sortType:Ty,setColumnState:Lv,setSortType:Lv,hashCode:Iy}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return Cg([ewn.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class bSi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){d_(this,{showModal:Ty,limit:Ty,distinct:Ty,sortColumns:Ty,slice:Ty.ref,setShowModal:Lv,setLimit:Lv,setDistinct:Lv,setSortColumns:Lv,addSortColumn:Lv,updateSortColumns:Lv,setSlice:Lv,reset:Lv,hashCode:Iy}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){Co(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return Cg([ewn.RESULT_SET_MODIFIER_STATE,Cg(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var CSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(CSi||(CSi={}));class SSi{queryBuilderState;fetchStructureState;constructor(e,t){d_(this,{usedExplorerTreePropertyNodeIDs:Iy,fetchStructureValidationIssues:Iy,allValidationIssues:Iy,hasInvalidFilterValues:Iy,hasInvalidDerivedPropertyParameters:Iy,hashCode:Iy}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class ESi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const wSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),xSi=e=>{if(e instanceof IS)return EEn.GET_ENUM;switch(e.path){case AC.STRING:return EEn.GET_STRING;case AC.NUMBER:return EEn.GET_NUMBER;case AC.INTEGER:return EEn.GET_INTEGER;case AC.FLOAT:return EEn.GET_FLOAT;case AC.DECIMAL:return EEn.GET_DECIMAL;case AC.DATE:return EEn.GET_DATE;case AC.DATETIME:return EEn.GET_DATETIME;case AC.STRICTDATE:return EEn.GET_STRICTDATE;case AC.BOOLEAN:return EEn.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var TSi;!function(e){e.AND="and",e.OR="or"}(TSi||(TSi={}));const ASi=e=>{switch(e){case TSi.AND:return SEn.AND;case TSi.OR:return SEn.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},NSi=e=>{if(cS(e,SEn.AND))return TSi.AND;if(cS(e,SEn.OR))return TSi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},RSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(EEn).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(EEn).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,BE,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=wSi(n,o);if(r!==EEn.IS_NULL&&r!==EEn.IS_NOT_NULL){if(a instanceof sSi){const e=CEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof aSi&&a.projectionColumnState instanceof sSi){const e=CEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(xSi(e)===r,`Can't process TDS column expression: expected column type ${xSi(e)} (got ${r})`)}return a},ISi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof XE&&t.func.value.name===s){const n=RSi(t,e);return r=new REi(e,n,i),r}if(n&&cS(t.functionName,n)){Ks(2===t.parametersValues.length,`Can't process ${oS(n)}() expression: ${oS(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof XE)o=RSi(s,e);else{if(!(s instanceof YE))throw new Yr(`Can't process ${oS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=wSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new REi(e,o,i),((e,t)=>{if(e instanceof XE){const n=Xr(()=>RSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new NEi(t,n))}const n=e?JEn(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new AEi(t,n))})(a,r),Ks(i.isCompatibleWithPostFilterColumn(r),`Can't process ${oS(n)}() expression: property is not compatible with post-filter operator`),Ks(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},DSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!cS(e.functionName,[SEn.AND,SEn.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new wEi(void 0,r),i)}throw new Yr("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new EEi(n,NSi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>DSi(js(e,YE,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},kSi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?IK(r.expressionSequence[0]):void 0,o=new PE(e.postFilterState.lambdaParameterName,iS.ONE);if(s){const e=Gs(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new YE(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new XE("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=xSi(e)}e.func=WS.create(Gs(qw(n.getClass(_En.TDS_ROW)).find(e=>e.name===r)));const a=new BE(vS.create(new wS(mS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},OSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=kSi(e,e.leftConditionValue,r,t,i);if(n){const t=new KE(oS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class LSi extends ESi{getLabel(){return"starts with"}isCompatibleWithType(e){return mS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&mS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===AC.STRING)return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.STARTS_WITH,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_START_WITH])}}class MSi extends LSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_START_WITH])}}var PSi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(PSi||(PSi={}));const FSi=e=>{let t=e;for(;t instanceof XE;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof KE&&cS(t.functionName,SEn.SUBTYPE);)t=t.parametersValues[0]}return!1};class BSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([ewn.FILTER_CONDITION_RIGHT_VALUE])}}class VSi extends BSi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?HEn(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?GEn(this.value):void 0}setValue(e){return this.value=e?ste(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof UE}get hashCode(){return Cg([ewn.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class USi extends BSi{propertyExpressionState;constructor(e,t){super(e),d_(this,{propertyExpressionState:Ty,changePropertyExpressionState:Lv}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return FSi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class GSi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=pb.create();constructor(e,t,n){d_(this,{propertyExpressionState:Ty,operator:Ty,rightConditionValue:Ty,existsLambdaParamNames:Ty,typeaheadSearchResults:Ty,changeOperator:Lv,setOperator:Lv,setRightConditionValue:Lv,addExistsLambdaParamNames:Lv,buildRightConditionValueFromValueSpec:Lv,buildRightConditionValueFromPropertyExpressionState:Lv,handleTypeaheadSearch:Zv,operators:Iy,hashCode:Iy}),this.filterState=e,this.propertyExpressionState=new QCi(e.queryBuilderState,t),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for property '${this.propertyExpressionState.path}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=js(this.rightConditionValue,VSi),n=e??t.value;if(_Ei(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(yEi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),Gs(this.filterState.queryBuilderState.executionContextState.mapping),Gs(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=vEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof UE&&this.rightConditionValue instanceof VSi&&this.rightConditionValue.value instanceof FE&&zEn(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?BEn(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof FE&&this.rightConditionValue instanceof VSi&&this.rightConditionValue.value instanceof UE&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof VSi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new VSi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof USi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new USi(this,e))}get hashCode(){return Cg([ewn.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class HSi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,d_(this,{isOpen:Ty,parentId:Ty,setIsOpen:Lv,setParentId:Lv,hashCode:Iy})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class zSi extends HSi{childrenIds=[];lambdaParameterName;constructor(e){super(e),d_(this,{childrenIds:Ty,addChildNode:Lv,removeChildNode:Lv,dragPreviewLabel:Iy}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){wo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class WSi extends zSi{groupOperation;constructor(e,t){super(e),d_(this,{groupOperation:Ty,setGroupOperation:Lv}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return Cg([ewn.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class jSi extends zSi{filterState;propertyExpressionState;constructor(e,t){super(t),d_(this,{propertyExpressionState:Ty,setPropertyExpression:Lv}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new QCi(this.filterState.queryBuilderState,e)}get hashCode(){return Cg([ewn.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const $Si=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof jSi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class qSi extends HSi{condition;isNewlyAdded;constructor(e,t){super(e),d_(this,{condition:Ty,isNewlyAdded:Ty,setIsNewlyAdded:Lv,dragPreviewLabel:Iy}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return Cg([ewn.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class YSi extends HSi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([ewn.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class KSi{queryBuilderState;lambdaParameterName=fEn;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){d_(this,{rootIds:Ty,nodes:Ty,selectedNode:Ty,isRearrangingConditions:Ty,lambdaParameterName:Ty,showPanel:Ty,setLambdaParameterName:Lv,setRearrangingConditions:Lv,setSelectedNode:Lv,addNodeFromNode:Lv,replaceBlankNodeWithNode:Lv,addGroupConditionNodeFromNode:Lv,newGroupConditionFromNode:Lv,newGroupWithConditionFromNode:Lv,removeNodeAndPruneBranch:Lv,pruneTree:Lv,simplifyTree:Lv,collapseTree:Lv,setShowPanel:Lv,expandTree:Lv,allValidationIssues:Iy,hasInvalidFilterValues:Iy,hasInvalidDerivedPropertyParameters:Iy,hashCode:Iy}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){Ks(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),zSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof WSi)t.addChildNode(e);else if(t instanceof qSi||t instanceof YSi||t instanceof jSi){const n=new WSi(void 0,TSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof WSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof jSi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new WSi(void 0,TSi.AND);n.addChildNode(Gs(this.nodes.get(Gs(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof qSi||t instanceof YSi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new WSi(void 0,TSi.AND),n=new YSi(void 0),i=new YSi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new WSi(void 0,n??TSi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):(wo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new YSi(void 0);if(t instanceof qSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new WSi(void 0,TSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof zSi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(WSi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):wo(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof WSi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else wo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof YSi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(WSi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof YSi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof qSi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(WSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof WSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),WSi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(qSi)).map(e=>e.condition.rightConditionValue instanceof VSi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>QEn(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof qSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof qSi&&e.condition.rightConditionValue instanceof VSi&&e.condition.rightConditionValue.value instanceof FE&&!zEn(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof qSi&&e.condition.rightConditionValue instanceof USi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof qSi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),t.condition.rightConditionValue instanceof USi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return Cg([ewn.FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}const XSi=e=>e.getValue()instanceof ew?XSi(js(e.getValue(),ew)):e.getValue(),ZSi=(e,t,n,i,r)=>{const s=new XE("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof XE;){if(o=a.parametersValues[0],o instanceof XE){const e=new XE("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,OEn(a,e,0,t.observerContext)}if(a instanceof XE&&a.func.value instanceof GS)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof xS&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${LC.ALL_VERSIONS}`);n&&(MEn(a,WS.create(n)),kEn(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof ew&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof ew&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=XSi(t):e.parametersValues=[Gs(js(a,XE).parametersValues[0])]:e.parametersValues[n+1]=XSi(t))})}for(a=o;a instanceof KE&&cS(a.functionName,SEn.SUBTYPE);)a=a.parametersValues[0]}return a instanceof PE&&PEn(a,n),s},QSi=(e,t)=>{if(t instanceof qSi){const n=t.parentId?js(e.nodes.get(t.parentId),zSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof WSi){const n=new KE(oS(ASi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>QSi(e,t)).filter(Vs);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new KE(oS(ASi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof jSi){const n=new KE(oS(SEn.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),zSi):void 0;for(;i&&!(i instanceof WSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),zSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),zSi).lambdaParameterName:void 0,s=Gs(ZSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>QSi(e,t)).filter(Vs);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new KE(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=KEn(t.lambdaParameterName??fEn,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new KE(oS(ASi(Gs(i).groupOperation)));l.parametersValues=a;const c=KEn(t.lambdaParameterName??fEn,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var JSi,eEi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(JSi||(JSi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(eEi||(eEi={}));const tEi=(e,t)=>{const n=new QE(new ZE(ZC.create(e.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new KE(oS(exports.SUPPORTED_FUNCTIONS.LET)),n=new BE(vS.create(new wS(mS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},nEi=e=>e.value instanceof KE&&[iS.ONE,iS.ZERO_ONE].some(t=>tx(t,e.parameter.multiplicity)),iEi=e=>e.filter(nEi),rEi=(e,t)=>e.filter(e=>!nEi(e)).map(e=>{const n=new QY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),sEi=(e,t,n)=>{const i=((e,t)=>{const n=iEi(e);if(n.length>0){const i=tEi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),K3(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class oEi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){d_(this,{value:Ty,setValue:Lv,mockParameterValue:Lv,hashCode:Iy}),this.observerContext=t,this.parameter=Fee(e),this.graph=n}get hashCode(){return Cg([eEi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(jCi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof PE)throw new qr("Can not assign a parameter to another parameter");this.value=e?ste(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(IEn(this.parameter,vS.create(new wS(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;tx(n,t)||(DEn(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class aEi{showModal=!1;submitAction;constructor(){d_(this,{showModal:Ty,submitAction:Ty,setShowModal:Lv,open:Lv,setSubmitAction:Lv})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class lEi{parameterStates=[];parameterValuesEditorState=new aEi;constructor(){d_(this,{hashCode:Iy})}get hashCode(){return Cg([eEi.LAMBDA_PARAMETERS_STATE,Cg(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){wo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class cEi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class dEi extends cEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class uEi extends cEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}}const hEi=(e,t)=>{const n=new KE(oS(CEn.GET_ALL)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},pEi=(e,t)=>{const n=new KE(oS(CEn.GET_ALL_VERSIONS)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},gEi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new QE(new ZE(ZC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE)),r=Gw(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=pEi(n,iS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case CEn.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=pEi(n,iS.ONE);i.expressionSequence[0]=e}break;case CEn.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new Yr("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new KE(oS(CEn.GET_ALL_VERSIONS_IN_RANGE)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n})(n,iS.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),i.expressionSequence[0]=t}break;case CEn.GET_ALL:{const t=hEi(n,iS.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),i.expressionSequence[0]=t;break}default:throw new Yr(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}if(((e,t)=>{if(!e.value)return;const n=Gs(t.expressionSequence[0]),i=new KE(oS(SEn.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,i),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(t=>QSi(e,t)).filter(Vs);if(!n.length)return;const i=new KE(oS(SEn.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(KEn(e.lambdaParameterName,n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,i),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,i,t),((e,t)=>{if(e instanceof dEi){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new KE(oS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new FE(iS.ONE,void 0),s.values=[ZC.create(r)]);const o=e.runtimeValue;let a;o instanceof Zj&&(a=new FE(iS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}})(e.executionContextState,i),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());i.expressionSequence=[...t,...i.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=iEi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=tEi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(i,e.parametersState.parameterStates,e.graphManagerState):i.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),i},mEi=(e,t,n)=>{const i=new XE("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof XE;){if(r=s.parametersValues[0],r instanceof XE){const e=new XE("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof XE&&s.func.value.genericType.value.rawType instanceof xS&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof GS&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=VCi(SEn.NOW,mS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];kEn(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof KE&&cS(s.functionName,SEn.SUBTYPE);)s=s.parametersValues[0]}return s instanceof PE&&PEn(s,t),i},fEi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new QE(new ZE(ZC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE)),l=Gs(e.class),c=hEi(Gs(e.class),iS.ONE),d=Gw(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?YCi(t,!1):s;if(n){const r=new KE(oS(SEn.TDS_GROUP_BY)),s=new UE(iS.ZERO),o=new UE(iS.ONE),l=new UE(iS.ONE),c=new BE(vS.create(new wS(mS.STRING)));c.values.push(u),l.values.push(c);const d=t?KEn(fEn,[t],e.graphManagerState.graph):i,h=new KE(oS(SEn.TDS_AGG)),p=KEn(fEn,[n.buildAggregateExpression(t,fEn,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[Gs(d),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new KE(oS(SEn.TDS_PROJECT)),r=new UE(iS.ONE),s=new UE(iS.ONE),o=new BE(vS.create(new wS(mS.STRING)));o.values.push(u),s.values.push(o);const l=t?KEn(fEn,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new LSi,p=new XE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=xSi(Gs(e))}p.func=WS.create(Gs(qw(e.graphManagerState.graph.getClass(_En.TDS_ROW)).find(e=>e.name===g)));const f=new PE(yEn,iS.ONE),y=new BE(vS.create(new wS(mS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new KE(oS(SEn.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=KEn(yEn,[v],e.graphManagerState.graph),b=new KE(oS(SEn.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new KE(oS(SEn.TDS_DISTINCT));E.parametersValues[0]=S,S=E;const w=new BE(vS.create(new wS(mS.INTEGER)));w.values=[10];const x=new KE(oS(SEn.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,K3(a,e.graphManagerState)},yEi=(e,t,n)=>{const i=mEi(t,fEn,e.observerContext);return fEi(e,i,void 0,void 0,void 0,void 0,n)},vEi=e=>{const t=js(e,RZ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(Vs).forEach(e=>{Xs(e)&&n.push(e)}),n},_Ei=e=>{if(e instanceof BE){if(e.genericType.value.rawType.path===AC.STRING){return e.values[0].length>=2}return!1}return!1};var bEi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(bEi||(bEi={}));const CEi=(e,t)=>{switch(e){case EEn.GET_STRING:return mS.STRING;case EEn.GET_NUMBER:return mS.NUMBER;case EEn.GET_INTEGER:return mS.INTEGER;case EEn.GET_FLOAT:return mS.FLOAT;case EEn.GET_DECIMAL:return mS.DECIMAL;case EEn.GET_DATE:return mS.DATE;case EEn.GET_DATETIME:return mS.DATETIME;case EEn.GET_STRICTDATE:return mS.STRICTDATE;case EEn.GET_BOOLEAN:return mS.BOOLEAN;default:return}};class SEi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,d_(this,{isOpen:Ty,parentId:Ty,setIsOpen:Lv,setParentId:Lv,hashCode:Iy})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class EEi extends SEi{groupOperation;childrenIds=[];constructor(e,t){super(e),d_(this,{groupOperation:Ty,setGroupOperation:Lv,childrenIds:Ty,addChildNode:Lv,removeChildNode:Lv,dragPreviewLabel:Iy}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){wo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return Cg([ewn.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation])}}class wEi extends SEi{condition;isNewlyAdded;constructor(e,t,n){super(e),d_(this,{condition:Ty,isNewlyAdded:Ty,setIsNewlyAdded:Lv,dragPreviewLabel:Iy}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return Cg([ewn.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class xEi extends SEi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([ewn.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class TEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([ewn.POST_FILTER_CONDITION_RIGHT_VALUE])}}class AEi extends TEi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?HEn(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?GEn(this.value):void 0}setValue(e){return this.value=e?ste(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof UE}get hashCode(){return Cg([ewn.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class NEi extends TEi{tdsColumn;constructor(e,t){super(e),d_(this,{tdsColumn:Ty,changeCol:Lv}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=kSi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class REi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=pb.create();constructor(e,t,n){d_(this,{postFilterState:Ty,rightConditionValue:Ty,operator:Ty,leftConditionValue:Ty,typeaheadSearchResults:Ty,changeOperator:Lv,setColumnState:Lv,setRightConditionVal:Lv,buildFromValueSpec:Lv,setOperator:Lv,changeColumn:Zv,handleTypeaheadSearch:Zv,columnName:Iy,hashCode:Iy}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new AEi(this,void 0),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=Gs(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof AEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new AEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof nSi||this.leftConditionValue instanceof aSi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,AEi),r=e??i.value;if(_Ei(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof nSi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof sSi?(s=new ME(JI(Fq(l.lambda,new VX([]).build()))),o=l.columnName,a=l.returnType):i=mEi(js(l,iSi).propertyExpressionState.propertyExpression,fEn,e.observerContext),fEi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=vEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof sSi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(Gs(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){Kr(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return Cg([ewn.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class IEi{tdsState;lambdaParameterName=yEn;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){d_(this,{tdsState:!1,selectedNode:Ty,isRearrangingConditions:Ty,rootIds:Ty,nodes:Ty,lambdaParameterName:Ty,derivedColumnBeingDropped:Ty,setLambdaParameterName:Lv,setSelectedNode:Lv,addNodeFromNode:Lv,addGroupConditionNodeFromNode:Lv,newGroupWithConditionFromNode:Lv,removeNodeAndPruneBranch:Lv,pruneTree:Lv,simplifyTree:Lv,collapseTree:Lv,expandTree:Lv,replaceBlankNodeWithNode:Lv,setRearrangingConditions:Lv,setDerivedColumnBeingDropped:Lv,allValidationIssues:Iy,hasInvalidFilterValues:Iy,hasInvalidDerivedPropertyParameters:Iy,hashCode:Iy}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),EEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(wEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof NEi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){Ks(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof EEi)t.addChildNode(e);else if(t instanceof wEi||t instanceof xEi){const n=new EEi(void 0,TSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new EEi(void 0,TSi.AND),n=new xEi(void 0),i=new xEi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new xEi(void 0);if(t instanceof wEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new EEi(void 0,TSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof EEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof wEi||t instanceof xEi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof EEi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else wo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(EEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),EEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),EEi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(EEi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof xEi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(EEi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof xEi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof wEi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):wo(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(wEi)).map(e=>e.condition.rightConditionValue).filter(zs(AEi)).map(e=>e.value).filter(Vs).find(t=>QEn(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof wEi&&(t.condition.rightConditionValue instanceof AEi&&t.condition.rightConditionValue.value instanceof FE&&!zEn(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof iSi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof wEi&&e.condition.rightConditionValue instanceof AEi&&e.condition.rightConditionValue.value instanceof FE&&!zEn(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof wEi&&e.condition.leftConditionValue instanceof iSi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return Cg([ewn.POST_FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}class DEi extends ESi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[AC.STRING,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(e.path)||e instanceof IS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof AEi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=HEn(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)?[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(n.path):n===t)}if(i instanceof PE)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new UE(iS.ONE,vS.create(new wS(t)))}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.IN,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.IN,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_IN])}}class kEi extends DEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_IN])}}class OEi extends ESi{getLabel(){return"is empty"}getTDSColumnGetter(){return EEn.IS_NULL}isCompatibleWithType(e){return e instanceof mS||e instanceof IS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof AEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof iSi)||$En(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return OSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return ISi(e,t,void 0,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_IS_EMPTY])}}class LEi extends OEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return EEn.IS_NOT_NULL}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class MEi extends ESi{getLabel(){return"is"}isCompatibleWithType(e){return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)||e instanceof IS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&qEn(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_EQUAL])}}class PEi extends MEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_EQUAL])}}class FEi extends ESi{getLabel(){return"<"}isCompatibleWithType(e){return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return qEn(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_LESS_THAN])}}class BEi extends FEi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class VEi extends ESi{getLabel(){return">"}isCompatibleWithType(e){return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return qEn(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_GREATER_THAN])}}class UEi extends VEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class GEi extends ESi{getLabel(){return"contains"}isCompatibleWithType(e){return e===mS.STRING}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&mS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());if(t.path===AC.STRING)return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.CONTAINS,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.CONTAINS,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_CONTAIN])}}class HEi extends GEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class zEi extends ESi{getLabel(){return"ends with"}isCompatibleWithType(e){return mS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&mS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===AC.STRING)return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.ENDS_WITH,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_END_WITH])}}class WEi extends zEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_END_WITH])}}class jEi extends oSi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.UNIQUE_VALUE_ONLY,this)}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_DISTINCT])}}class $Ei extends oSi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof iSi)||mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new KE(oS(SEn.JOIN_STRINGS)),r=new BE(vS.create(new wS(mS.STRING)));return r.values=[";"],i.parametersValues.push(new PE(t,iS.ONE),r),i}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.JOIN_STRINGS)){const i=new aSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=js(e.parametersValues[0],PE,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");Ks(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=js(e.parametersValues[1],BE,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return Ks(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return mS.STRING}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_JOIN_STRING])}}class qEi extends oSi{percentile;acending;continuous;constructor(){super(),d_(this,{percentile:Ty,acending:Ty,continuous:Ty,setPercentile:Lv,setAcending:Lv,setContinuous:Lv})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new KE(oS(SEn.PERCENTILE)),s=new BE(vS.create(new wS(mS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new PE(t,iS.ONE),s);else{const e=new BE(vS.create(new wS(mS.BOOLEAN)));e.values=[this.acending];const n=new BE(vS.create(new wS(mS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new PE(t,iS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.PERCENTILE)){const i=new aSi(n.tdsState.aggregationState,n,new qEi),r=js(i.operator,qEi);i.setLambdaParameterName(t.name),Ks([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=js(e.parametersValues[0],PE,"Can't process percentile() expression: only support percentile() immediately following a variable expression");Ks(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=js(e.parametersValues[1],BE,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=js(e.parametersValues[2],BE,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=js(e.parametersValues[3],BE,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new qEi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_PERCENTILE])}}class YEi extends oSi{weight;constructor(){super(),d_(this,{weight:Ty,setWeight:Lv})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return cSi(SEn.WAVG,t)}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.WAVG)){const e=new aSi(n.tdsState.aggregationState,n,new YEi),i=js(e.operator,YEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new YEi}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_WAVG])}}const KEi="WINDOW_COLUMN";class XEi{columnState;sortType;constructor(e,t){d_(this,{columnState:Ty,sortType:Ty,setColumnState:Lv,setSortType:Lv}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return Cg([ewn.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class ZEi{windowState;lambdaParameterName=fEn;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return Cg([ewn.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class QEi extends ZEi{constructor(e,t){super(e,t),d_(this,{setLambdaParameterName:Lv})}}class JEi extends ZEi{columnState;constructor(e,t,n){super(e,t),d_(this,{columnState:Ty,setColumnState:Lv,setLambdaParameterName:Lv}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return Cg([ewn.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class ewi extends JCi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),d_(this,{windowColumns:Ty,sortByState:Ty,operatorState:Ty,columnName:Ty,setOperatorState:Ty,setColumnName:Lv,setSortBy:Lv,changeWindow:Lv,deleteWindow:Lv,addWindow:Lv,setWindows:Lv,changeOperator:Lv,changeSortBy:Lv}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof JEi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){Co(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){wo(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new QEi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new JEi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof JEi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new XEi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return Cg([ewn.TDS_WINDOW_COLUMN_STATE,Cg(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class twi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){d_(this,{windowColumns:Ty,editColumn:Ty,invalidWindowColumnNames:Iy,windowValidationIssues:Iy,addWindowColumn:Lv,removeColumn:Lv,moveColumn:Lv,setEditColumn:Lv}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof JEi&&t.operatorState.columnState instanceof ewi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return Pr(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e){return this.operators.find(t=>cS(e,t.pureFunc))}addWindowColumn(e){Co(this.windowColumns,e)}removeColumn(e){wo(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return Cg([ewn.TDS_WINDOW_GROUPBY_STATE,Cg(this.windowColumns)])}}const nwi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new BE(vS.create(new wS(mS.STRING)));return t.values=[e.columnName],t}),r=new UE(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new KE((e=>{switch(e){case wEn.ASC:return oS(SEn.TDS_ASC);case wEn.DESC:return oS(SEn.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new BE(vS.create(new wS(mS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=oS(o.operator.pureFunc),l=new KE(a);l.parametersValues=[new PE(o.lambdaParameterName,iS.ONE)];const c=KEn(o.lambdaParameterName,[l],n);let d;if(o instanceof JEi){const e=new BE(vS.create(new wS(mS.STRING)));e.values=[o.columnState.columnName],d=new KE(oS(SEn.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new BE(vS.create(new wS(mS.STRING)));h.values=[e.columnName];const p=new KE(oS(SEn.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},iwi=(e,t,n)=>{if(t instanceof wEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof EEi){const i=new KE(oS(ASi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>iwi(e,t,n)).filter(Vs);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new KE(oS(ASi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class rwi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return Gs(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===wEn.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new KE(oS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new KE(oS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new UE(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new KE(oS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new BE(vS.create(new wS(mS.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new KE(oS(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new BE(vS.create(new wS(mS.INTEGER))),r=new BE(vS.create(new wS(mS.INTEGER)));i.values=[t],r.values=[n];const s=new KE(oS(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof KE&&cS(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class swi extends rwi{get limitFunctionName(){return SEn.TDS_TAKE}get sliceFunctionName(){return SEn.SLICE}get sortFunctionName(){return SEn.TDS_SORT}get distinctFunctionName(){return SEn.TDS_DISTINCT}get ascFunctionname(){return SEn.TDS_ASC}get descFunctionName(){return SEn.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new BE(vS.create(new wS(mS.STRING)));return t.values=[e],t})(e)}}class owi extends rwi{get limitFunctionName(){return SEn.RELATION_LIMIT}get sliceFunctionName(){return SEn.RELATION_SLICE}get ascFunctionname(){return SEn.RELATION_ASC}get descFunctionName(){return SEn.RELATION_DESC}get sortFunctionName(){return SEn.RELATION_SORT}get distinctFunctionName(){return SEn.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new WE(iS.ONE,void 0),n=new zE;return n.name=e,t.values=[n],t}}const awi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new KE(oS(SEn.TDS_GROUP_BY)),o=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new UE(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new BE(vS.create(new wS(mS.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof iSi)c=KEn(t.lambdaParameterName,[ZSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof sSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new ME(JI(Fq(t.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof YEi&&s.setLambdaParameterName("y");const e=new KE(oS(SEn.TDS_AGG)),t=KEn(s.lambdaParameterName,[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof KE&&(n=KEn(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof YEi&&s.operator.weight&&s.projectionColumnState instanceof iSi&&c instanceof JE){const e=new KE(SEn.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof JE?vo(n.values,0).expressionSequence[0]=e:c instanceof JE&&(vo(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)if(e.queryBuilderState.isFetchStructureTyped){const i=((e,t,n)=>{const i=new KE(oS(SEn.RELATION_PROJECT)),r=t.queryBuilderState,s=new $E(iS.ONE,void 0),o=new jE;s.values=[o];const a=new ES(ES.ID);t.projectionColumns.forEach(e=>{const t=new zE;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof iSi)i=KEn(e.lambdaParameterName,[ZSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof sSi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new ME(JI(Fq(e.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new SS(e.columnName,vS.create(new wS(s))))}),i.parametersValues=[e,s];const l=new wS(RK.INSTANCE),c=new wS(a);return l.typeArguments=[vS.create(c)],i.genericType=vS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,KE);if(n.functionName!==oS(SEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new KE(oS(SEn.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new $E(iS.ONE,void 0),o=new jE;s.values=[o];const a=new $E(iS.ONE,void 0),l=new jE;a.values=[l];const c=new ES(ES.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new zE;t.name=e.columnName,o.colSpecs.push(t);const n=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new SS(e.columnName,vS.create(new wS(n))))}),t.aggregationState.columns.forEach(e=>{const t=new zE;t.name=e.columnName,l.colSpecs.push(t);const i=Gs(Gs(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=js(js(i.function1,JE).values[0]?.expressionSequence[0],XE),o=js(s.func.value,NS),a=new XE("");a.func=WS.create(new NS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new PE(wwn,iS.ONE)];const d=KEn(wwn,[a],r.graphManagerState.graph);t.function1=d;const u=KEn(e.lambdaParameterName,[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u;const h=Gs(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new SS(e.columnName,vS.create(new wS(h))))}),i.parametersValues=[e,s,a];const d=new wS(RK.INSTANCE),u=new wS(c);return d.typeArguments=[vS.create(u)],i.genericType=vS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new KE(oS(SEn.TDS_PROJECT));if(e.useColFunc){const t=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new KE(oS(SEn.TDS_COL));let r;if(t instanceof iSi)r=KEn(t.lambdaParameterName,[ZSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof sSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new ME(JI(Fq(t.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new BE(vS.create(new wS(mS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new BE(vS.create(new wS(mS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof iSi)s=KEn(e.lambdaParameterName,[ZSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof sSi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new ME(JI(Fq(e.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}var s,o;s=e.windowState,o=t,s.windowColumns.forEach(e=>nwi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>iwi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=KEn(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new KE(oS(SEn.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new owi(e.tdsState.queryBuilderState.graphManagerState):new swi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class lwi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return mS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class cwi extends lwi{getLabel(){return"average rank"}get pureFunc(){return SEn.OLAP_AVERAGE_RANK}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class dwi extends lwi{getLabel(){return"dense rank"}get pureFunc(){return SEn.OLAP_DENSE_RANK}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class uwi extends lwi{getLabel(){return"rank"}get pureFunc(){return SEn.OLAP_RANK}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class hwi extends lwi{getLabel(){return"row number"}get pureFunc(){return SEn.OLAP_ROW_NUMBER}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class pwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return SEn.SUM}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class gwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return SEn.COUNT}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class mwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return SEn.MAX}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class fwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return SEn.MIN}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class ywi extends lwi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return SEn.AVERAGE}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}var vwi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(vwi||(vwi={}));const _wi={[vwi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[vwi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var bwi;!function(e){e.NY="NY",e.LDN="LDN"}(bwi||(bwi={}));const Cwi="en-US";class Swi{dateColumn;calendarType;endDate;lambdaParameterName=fEn;func;label;hash;constructor(e,t,n){d_(this,{dateColumn:Ty,lambdaParameterName:Ty,calendarType:Ty,endDate:Ty,setDateColumn:Lv,setCalendarType:Lv,setLambdaParameterName:Lv,setEndDate:Lv,hashCode:Iy}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new KE(oS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new BE(vS.create(new wS(mS.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(cS(e.functionName,t)){Ks(4===e.parametersValues.length,`Can't process ${oS(t)}() expression: ${oS(t)}() expects four arguments`);const r=js(e.parametersValues[0],XE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with first parameter as property expression`);Ks(r.func.value.genericType.value.rawType.name===AC.STRICTDATE||r.func.value.genericType.value.rawType.name===AC.DATE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof XE;){const e=s;for(s=Gs(s.parametersValues[0]),e.func.value instanceof GS&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof KE&&cS(s.functionName,SEn.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,PE).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],BE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(bwi).find(e=>e===a.values[0]),`Can't process ${oS(t)}() expression: only support ${oS(t)}() calendar types NY and LDN`);const l=js(e.parametersValues[2],LE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with third parameter as ValueSpecification`);Ks(l.genericType?.value.rawType.name===AC.STRICTDATE||l.genericType?.value.rawType.name===AC.DATE||r.func.value.genericType.value.rawType.name===AC.DATE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,Ks(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${oS(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof iSi&&t instanceof JE?n=js(t.values[0]?.expressionSequence[0],XE):e.projectionColumnState instanceof sSi&&(n=js(t,ME)),!n)throw new Yr("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return Cg([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function Ewi(e,t,n){return new Swi(e,t,n)}var wwi;!function(e){e.CSV="CSV"}(wwi||(wwi={}));class xwi extends SSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new MEi,new PEi,new FEi,new BEi,new VEi,new UEi,new LSi,new MSi,new GEi,new HEi,new zEi,new WEi,new DEi,new kEi,new OEi,new LEi])();aggregationOperators=(()=>[new hSi,new pSi,new jEi,new vSi,new uSi,new mSi,new gSi,new qEi,new fSi,new ySi,new $Ei,new YEi])();aggregationCalendarFunctions=(()=>[Ewi(bEn.CALENDAR_ANNUALIZED,"Annualized",ewn.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),Ewi(bEn.CALENDAR_YTD,"Year to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_YTD),Ewi(bEn.CALENDAR_CME,"Current Month Estimate",ewn.AGGREGATE_CALENDAR_FUNCTION_CME),Ewi(bEn.CALENDAR_CW,"Current Week",ewn.AGGREGATE_CALENDAR_FUNCTION_CW),Ewi(bEn.CALENDAR_CME,"Current Month Estimate",ewn.AGGREGATE_CALENDAR_FUNCTION_CME),Ewi(bEn.CALENDAR_CY_MINUS2,"Current year minus 2",ewn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),Ewi(bEn.CALENDAR_CY_MINUS3,"Current year minus 3",ewn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),Ewi(bEn.CALENDAR_MTD,"Month to date",ewn.AGGREGATE_CALENDAR_FUNCTION_MTD),Ewi(bEn.CALENDAR_P12WA,"Previous 12 Weeks Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_P12WA),Ewi(bEn.CALENDAR_P12WTD,"Previous 12 Weeks To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_P12WTD),Ewi(bEn.CALENDAR_P4WA,"Previous 4 Weeks Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_P4WA),Ewi(bEn.CALENDAR_P4WTD,"Previous 4 Weeks To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_P4WTD),Ewi(bEn.CALENDAR_P52WA,"Previous 52 Weeks Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_P52WA),Ewi(bEn.CALENDAR_P52WTD,"Previous 52 Weeks To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_P52WTD),Ewi(bEn.CALENDAR_PMA,"Previous Months Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_PMA),Ewi(bEn.CALENDAR_PMTD,"Previous Month To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PMTD),Ewi(bEn.CALENDAR_PQTD,"Previous Quarter To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PQTD),Ewi(bEn.CALENDAR_PRIOR_DAY,"Prior Day",ewn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),Ewi(bEn.CALENDAR_PRIOR_YEAR,"Prior Year",ewn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),Ewi(bEn.CALENDAR_PW,"Previous week",ewn.AGGREGATE_CALENDAR_FUNCTION_PW),Ewi(bEn.CALENDAR_PW_FM,"Previous week, Franchise Manager",ewn.AGGREGATE_CALENDAR_FUNCTION_PW_FM),Ewi(bEn.CALENDAR_PWA,"Past Weeks' Average",ewn.AGGREGATE_CALENDAR_FUNCTION_PWA),Ewi(bEn.CALENDAR_PWTD,"Previous Week To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PWTD),Ewi(bEn.CALENDAR_PYMTD,"Previous Year's Month To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYMTD),Ewi(bEn.CALENDAR_PYQTD,"Previous Year's Quarter To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYQTD),Ewi(bEn.CALENDAR_PYTD,"Previous Year To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYTD),Ewi(bEn.CALENDAR_PYWA,"Previous Year's Weekly Average",ewn.AGGREGATE_CALENDAR_FUNCTION_PYWA),Ewi(bEn.CALENDAR_PYWTD,"Previous Year's Week to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYWTD),Ewi(bEn.CALENDAR_QTD,"Quarter to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_QTD),Ewi(bEn.CALENDAR_REPORT_END_DAY,"Report End Day",ewn.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),Ewi(bEn.CALENDAR_WTD,"Week to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new pwi,new gwi,new mwi,new fwi,new ywi,new cwi,new dwi,new uwi,new hwi])();constructor(e,t){super(e,t),d_(this,{aggregationState:Ty,projectionColumns:Ty,isConvertDerivationProjectionObjects:Ty,showPostFilterPanel:Ty,showWindowFuncPanel:Ty,useColFunc:Ty,TEMPORARY__showPostFetchStructurePanel:Iy,derivations:Iy,hasParserError:Iy,isQueryOptionsSet:Iy,addColumn:Lv,moveColumn:Lv,removeAllColumns:Lv,removeColumn:Lv,replaceColumn:Lv,initialize:Lv,initializeWithQuery:Lv,setShowPostFilterPanel:Lv,setShowWindowFuncPanel:Lv,setUseColFunc:Lv,checkBeforeChangingImplementation:Lv,convertDerivationProjectionObjects:Zv,fetchDerivedReturnTypes:Zv}),this.resultSetModifierState=new bSi(this),this.postFilterState=new IEi(this,this.postFilterOperators),this.aggregationState=new lSi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new twi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(vwi.SHOW_POST_FILTER_PANEL)??!1}get type(){return CSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(sSi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof iSi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof XE;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof KE;){if(!(cS(i.functionName,SEn.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof xS))return;n[n.length-1]instanceof xS||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=Gs(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=Gs(n[e]),i=e>0?Gs(r[e-1]):"";if(t instanceof xS)Ww(t).concat(t).forEach(e=>s.push(cxi(i,e.path))),r.push(cxi(i,t.path));else{const e=lxi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof iSi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[wwi.CSV]}getExportDataInfo(e){if(e===wwi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new Yr(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof aSi?e instanceof aSi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){awi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{mj(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=KEn(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new sSi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),kE));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),So(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){wo(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){Co(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=Gs(this.projectionColumns[e]),i=Ui(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new sSi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${fEn}${_C}''`)}revealCompilationError(e){const t=Lee(e.sourceInformation);if(t&&3===t.length&&t[0]===gEn.QUERY_BUILDER&&t[1]===gEn.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof sSi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new iSi(this,gxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new iSi(this,gxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:_lt.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:_lt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(sSi)).length)return!1;const n=t.filter(zs(iSi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof iSi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return Cg([ewn.PROJECTION_STATE,Cg(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(sSi));n.forEach(t=>e.set(t.columnName,t.getIsolatedRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(e,t);Array.from(i.results.entries()).forEach(e=>{const t=n.find(t=>t.columnName===e[0]);t&&t.setLambdaReturnType(e[1])})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.info(_b.create("Unable to fetch derived return types"),e)}}}var Twi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(Twi||(Twi={}));const Awi=[[Twi.COUNT,hSi],[Twi.DISTINCT_COUNT,pSi],[Twi.SUM,vSi],[Twi.MIN,mSi],[Twi.MAX,gSi],[Twi.AVERAGE,uSi],[Twi.STD_DEV_POPULATION,fSi],[Twi.STD_DEV_SAMPLE,ySi]],Nwi=(e,t,n)=>{const i=new iSi(e,t,!1);return i.setColumnName(n),i};class Rwi extends gC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),d_(this,{includeSubTypes:Ty,includeDocumentation:Ty,setIncludeSubTypes:Lv,setIncludeDocumentation:Lv})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const Iwi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===kC,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return wne.jsx("div",{children:l.length>0?wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),wne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>wne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&wne.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):wne.jsx(wne.Fragment,{children:Boolean(a.length)&&wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},Dwi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return wne.jsx(gye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:wne.jsx("div",{children:wne.jsx(Bbe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:wne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},kwi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?wne.jsx("div",{className:"query-builder__tooltip__item__action",children:wne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:wne.jsx(fse,{})})}):void 0},{label:"Multiplicity",value:Jw(n.multiplicity)},{label:"Derived Property",value:n instanceof GS?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return wne.jsx(Dwi,{title:t,data:c,placement:o,footerElement:wne.jsx(Iwi,{taggedValues:n.taggedValues}),children:s})},Owi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return wne.jsx(Dwi,{title:t,data:s,placement:i,children:n})};var Lwi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(Lwi||(Lwi={}));const Mwi=e=>({label:e.name,value:e}),Pwi=e=>Uw(e)?"system element":Vw(e)?"generated element":Bw(e)?"dependency element":void 0,Fwi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Uw(e)?"system":Vw(e)?"generated":Bw(e)?"dependency":"")(t.value);return wne.jsxs("div",{className:i,children:[wne.jsx("div",{title:Pwi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),wne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&wne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},Bwi=e=>e instanceof mS?wne.jsx(REe,{}):e instanceof xS?wne.jsx(IEe,{}):e instanceof IS?wne.jsx(DEe,{}):e instanceof FS?wne.jsx(kEe,{}):e instanceof PS?wne.jsx(OEe,{}):wne.jsx(MEe,{}),Vwi=e=>{const{_class:t,children:n,placement:i}=e;return wne.jsx(Bbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),wne.jsx(Iwi,{taggedValues:t.taggedValues})]}),children:n})},Uwi=(e,t,n)=>{if(e.type instanceof xS&&nx(e.type,t))return!0;if(e instanceof hxi&&nx(e.property,t))return!0;if(e instanceof pxi){const i=n.nodes.get(e.parentId);if(i?.type instanceof xS&&nx(i.type,t))return!0}return!1},Gwi=(e,t)=>{if(e instanceof uxi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(SC);return`${SC}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},Hwi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return wne.jsx(gye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:wne.jsx("div",{children:wne.jsx(Bbe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(a)})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),wne.jsx(Iwi,{taggedValues:t.taggedValues})]}),children:wne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},zwi=tie(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return wne.jsx(Vye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:wne.jsxs(OOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[wne.jsx(MOe,{title:Sp(i.propertyName)}),wne.jsx(fLe,{isLoading:i.isGeneratingPreviewData}),wne.jsxs(FOe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&wne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&wne.jsxs("table",{className:"table",children:[wne.jsx("thead",{children:wne.jsx("tr",{children:i.previewData.columns.map((e,t)=>wne.jsx("th",{className:"table__cell--left",children:e},t))})}),wne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>wne.jsx("tr",{children:e.values.map((e,t)=>wne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),wne.jsx(BOe,{children:wne.jsx(UOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Wwi=tie(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return wne.jsxs(HOe,{ref:t,children:[r instanceof hxi&&!(r.type instanceof xS)&&wne.jsx(zOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof xS&&wne.jsx(zOe,{onClick:()=>{if(i(),r.type instanceof xS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(hxi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped).filter(e=>{const t=gxi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof xwi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof iSi)return n.propertyExpressionState.path===e.id&&n.columnName===YCi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),jwi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return wne.jsx(Sie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===AC.BOOLEAN)return wne.jsx(ese,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(e.name===AC.NUMBER||e.name===AC.INTEGER||e.name===AC.FLOAT||e.name===AC.DECIMAL)return wne.jsx(Lre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(e.name===AC.DATE||e.name===AC.DATETIME||e.name===AC.STRICTDATE)return wne.jsx(mre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return Bwi(e)},$wi=tie(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Pat(),u=a.explorerState,[,h,p]=rPe(()=>({type:t instanceof hxi?t.type instanceof IS?axi.ENUM_PROPERTY:t.type instanceof xS?axi.CLASS_PROPERTY:axi.PRIMITIVE_PROPERTY:axi.ROOT,item:()=>t instanceof hxi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),FPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof hxi&&t.property instanceof GS,y=t instanceof hxi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof pxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof hxi&&t.type instanceof mS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{}),b=u.humanizePropertyName?t instanceof pxi?SC+Sp(t.label):Sp(t.label):t instanceof pxi?SC+t.label:t.label;return t.mappingData.mapped||t instanceof uxi||u.showUnmappedProperties?wne.jsx(qOe,{content:wne.jsx(Wwi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof hxi||t instanceof uxi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:wne.jsxs("div",{className:vse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":u.highlightUsedProperties&&Gwi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof uxi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!m?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof uxi&&wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[wne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),wne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:wne.jsx(IEe,{})})]}),wne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),wne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:wne.jsx(Vwi,{_class:Gs(a.class),children:wne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Lwi.QUERY_BUILDER_TOOLTIP_ICON,children:wne.jsx(Mre,{})})})})]}),(t instanceof hxi||t instanceof pxi)&&wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[wne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),wne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:jwi(t.type)})]}),wne.jsxs("div",{className:vse("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":v},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[wne.jsx("div",{className:vse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Uwi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&wne.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),y&&wne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),wne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&wne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof hxi&&u.previewData(t).catch(d.alertUnhandledError)},children:wne.jsx(Tre,{})}),t instanceof hxi&&wne.jsx(kwi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:wne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Lwi.QUERY_BUILDER_TOOLTIP_ICON,children:wne.jsx(Mre,{})})}),t instanceof pxi&&wne.jsx(Hwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:wne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Lwi.QUERY_BUILDER_TOOLTIP_ICON,children:wne.jsx(Mre,{})})})]})]})]})}):null}),qwi=tie(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof uxi||a.explorerState.showUnmappedProperties?wne.jsxs("div",{className:"tree-view__node__block",children:[wne.jsx($wi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>wne.jsx(qwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Ywi=e=>e instanceof pxi?0:e.type instanceof xS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof IS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Kwi=tie(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return wne.jsx(rIe,{components:{TreeNodeContainer:$wi,TreeNodeView:qwi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof pxi||e instanceof hxi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Ywi(t)-Ywi(e)),innerProps:{queryBuilderState:t}})}),Xwi="query-builder-explorer-search-input",Zwi=tie(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!Vs(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>gi(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return wne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[wne.jsx("input",{ref:t,name:Xwi,className:vse("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&wne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?wne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:wne.jsx(Jre,{})}):wne.jsx(wne.Fragment,{children:wne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:wne.jsx(Kre,{})})})]})})),Qwi=tie(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Pat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_EXPLORER,className:vse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[wne.jsxs(eLe,{title:"explorer",children:[wne.jsx(Zwi,{propertySearchState:s,ref:i}),wne.jsxs(nLe,{children:[wne.jsx(iLe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof uxi||e.setIsOpen(!1)})},title:"Collapse Tree",children:wne.jsx(yre,{})}),wne.jsx(YOe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{mEn.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:wne.jsxs(HOe,{children:[wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[wne.jsx(jOe,{children:r.showUnmappedProperties?wne.jsx(ure,{}):null}),wne.jsx($Oe,{children:"Show Unmapped Properties"})]}),wne.jsxs(zOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[wne.jsx(jOe,{children:r.humanizePropertyName?wne.jsx(ure,{}):null}),wne.jsx($Oe,{children:"Humanize Property Name"})]}),wne.jsxs(zOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[wne.jsx(jOe,{children:r.highlightUsedProperties?wne.jsx(ure,{}):null}),wne.jsx($Oe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:wne.jsx(Eie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&wne.jsx(sxi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),wne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[wne.jsx(fLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),wne.jsx(BPe,{labelGetter:e=>r.humanizePropertyName?Sp(e.node.label):e.node.label,types:Object.values(axi)}),r.mappingModelCoverageAnalysisState.isInProgress?wne.jsx(pLe,{children:r.mappingModelCoverageAnalysisState.message}):wne.jsxs(wne.Fragment,{children:[!r.treeData&&wne.jsx(pLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&wne.jsx(Kwi,{queryBuilderState:t})]}),wne.jsx(zwi,{queryBuilderState:t})]})]})}),Jwi=(e,t)=>e.split(SC).map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(Sp).join(t?" / ":"/")).join(SC),exi=(e,t)=>{let n=e.split(SC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${SC}${e.split(".").map(e=>Sp(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>Sp(e)),i=`${i}(${SC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},txi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return wne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(wne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(wne.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=vo(s,r+1)[0];o.push(wne.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=vo(s,s.length-1)[1];return l<e.length&&o.push(wne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},nxi=tie(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=rPe(()=>({type:t instanceof hxi?t.type instanceof IS?axi.ENUM_PROPERTY:t.type instanceof xS?axi.CLASS_PROPERTY:axi.PRIMITIVE_PROPERTY:axi.ROOT,item:()=>t instanceof hxi?{node:t}:{},canDrag:()=>!(t.type instanceof xS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),FPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof hxi&&t.parentId===e.id),g=p?.type instanceof xS&&s>1?Sp(t.label):p instanceof pxi?exi(t.id,!0):Jwi(t.id,!0),m=a?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{}),f=t instanceof hxi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===kC)?.value??null:null,y=null!==f?txi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:u,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[wne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),wne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:jwi(t.type)})]}),wne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[wne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[txi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&wne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),wne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),wne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof hxi&&wne.jsxs(wne.Fragment,{children:[wne.jsx(kwi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:wne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:wne.jsx(fse,{})})]}),t instanceof pxi&&wne.jsxs(wne.Fragment,{children:[wne.jsx(Hwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:wne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:wne.jsx(fse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof hxi||t instanceof pxi)&&t.type instanceof xS&&(t instanceof pxi?Kw(t.type):$w(t.type)).forEach(n=>{const r=fxi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof xS||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>wne.jsx(nxi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),ixi=tie(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return wne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[wne.jsxs("button",{className:vse("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?wne.jsx(hre,{}):wne.jsx(Zre,{}),wne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&wne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),rxi=tie(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return wne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[wne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&wne.jsx(Bbe,{slotProps:{transition:{timeout:0}},title:wne.jsx("div",{children:n}),children:wne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:wne.jsx(Mre,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>wne.jsx(ixi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),sxi=tie(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===Xwi||(i(),r.setIsSearchPanelOpen(!1))};return wne.jsx(Qbe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:vse("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:wne.jsx(gye,{onClickAway:s,children:wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:wne.jsx("div",{className:"query-builder-property-search-panel__content",children:wne.jsxs(OFe,{orientation:"vertical",children:[wne.jsx(LFe,{size:175,children:wne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[wne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[wne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",wne.jsx(lEn,{documentationKey:Ilt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),wne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:wne.jsx(QOe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[pC.STANDARD,pC.INCLUDE,pC.EXACT,pC.INVERSE],size:1})})]}),wne.jsx(rxi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),wne.jsx(rxi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),wne.jsx(rxi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),wne.jsx(rxi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(vEn.CLASS),onClick:()=>{r.toggleFilterForType(vEn.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(vEn.ENUMERATION),onClick:()=>{r.toggleFilterForType(vEn.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(vEn.STRING),onClick:()=>{r.toggleFilterForType(vEn.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(vEn.BOOLEAN),onClick:()=>{r.toggleFilterForType(vEn.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(vEn.NUMBER),onClick:()=>{r.toggleFilterForType(vEn.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(vEn.DATE),onClick:()=>{r.toggleFilterForType(vEn.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.DATE)}}]})]})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:"var(--color-dark-grey-200)"})}),wne.jsxs(LFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&wne.jsx(fLe,{isLoading:!0}),wne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&wne.jsxs(wne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>wne.jsx(nxi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&wne.jsxs(pLe,{children:[wne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),wne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&wne.jsx(pLe,{children:"Initializing..."}),r.searchState.isInProgress&&wne.jsx(pLe,{children:"Searching..."})]})]})]})})})})})});class oxi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=pb.create();searchState=pb.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[vEn.CLASS,vEn.ENUMERATION,vEn.STRING,vEn.BOOLEAN,vEn.NUMBER,vEn.DATE];constructor(e){d_(this,{indexedExplorerTreeNodeMap:Ty,searchText:Ty,searchResults:Ty,isOverSearchLimit:Ty,isSearchPanelOpen:Ty,isSearchPanelHidden:Ty,showSearchConfigurationMenu:Ty,includeOneMany:Ty,typeFilters:Ty,indexedExplorerTreeNodes:Iy,filteredSearchResults:Iy,search:Lv,resetSearch:Lv,setSearchResults:Lv,setIsOverSearchLimit:Lv,setSearchText:Lv,setShowSearchConfigurationMenu:Lv,setIsSearchPanelOpen:Lv,setIsSearchPanelHidden:Lv,setIncludeOneMany:Lv,setFilterOnlyType:Lv,toggleFilterForType:Lv,initialize:Lv}),this.queryBuilderState=e,this.searchConfigurationState=new Rwi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new hC(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof uxi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?wo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof pxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof hxi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof hxi||t instanceof pxi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof uxi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof xS&&t.set(e.id,e),e)).filter(e=>!(e instanceof hxi||e instanceof pxi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(Vs).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(Vs).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof hxi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=_xi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Pv(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=_xi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof hxi||e instanceof pxi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof hxi||t instanceof pxi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof hxi||this.searchConfigurationState.includeSubTypes&&e instanceof pxi)&&e.type instanceof xS&&((e instanceof pxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=fxi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=yxi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new hC(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof hxi||e instanceof pxi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof pxi?exi(e.id):Jwi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof hxi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===kC).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(vEn.CLASS)&&e.type instanceof xS)||(!!(this.typeFilters.includes(vEn.ENUMERATION)&&e.type instanceof IS)||(!(!this.typeFilters.includes(vEn.STRING)||e.type!==mS.STRING)||(!!(this.typeFilters.includes(vEn.NUMBER)&&e.type instanceof mS&&[AC.NUMBER,AC.DECIMAL,AC.INTEGER,AC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(vEn.BOOLEAN)||e.type!==mS.BOOLEAN)||!!(this.typeFilters.includes(vEn.DATE)&&e.type instanceof mS&&[AC.DATE,AC.DATETIME,AC.STRICTDATE,AC.STRICTTIME,AC.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var axi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(axi||(axi={}));const lxi=(e,t)=>`${e?`${e}.`:""}${t}`,cxi=(e,t)=>`${e||""}${SC}${t}`;class dxi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){d_(this,{isHighlighting:Ty,isOpen:Ty,isSelected:Ty,setIsHighlighting:Lv,setIsOpen:Lv,setIsSelected:Lv}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class uxi extends dxi{}class hxi extends dxi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class pxi extends dxi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}const gxi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new PE(n??fEn,iS.ONE),o=new XE("");MEn(o,WS.create(Gs(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof hxi||l instanceof pxi);){if(l instanceof pxi&&c instanceof pxi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof pxi?e=new KE(oS(SEn.SUBTYPE)):l instanceof hxi&&l.mappingData.entityMappedProperty?.subType?(e=new KE(oS(SEn.SUBTYPE)),a.parametersValues.push(e),a=e,e=new XE(""),MEn(e,WS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new XE(""),MEn(e,WS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof KE&&cS(a.functionName,SEn.SUBTYPE)){const e=new FE(iS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof hxi||l instanceof pxi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof hxi||c instanceof pxi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof KE){const e=new FE(iS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}return o},mxi=e=>{const t=e.type,n=(e instanceof pxi?Kw(t):$w(t).concat(qw(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${SC}${t.path}`);return n.concat(i)},fxi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof xS||e.genericType.value.rawType instanceof DS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof _J?i.entityPath:i.enumPath),entityMappedProperty:i instanceof _J?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof GS||t.isPartOfDerivedPropertyBranch||t instanceof hxi&&t.property instanceof GS;if(e instanceof NS&&t instanceof hxi&&t.property instanceof NS&&e._OWNER instanceof RS&&t.property._OWNER instanceof RS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof xS?jw(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new hxi(o?cxi(lxi(t instanceof uxi?"":t.id,e.name),o.path):lxi(t instanceof uxi?"":t.id,e.name),e.name,`${t instanceof uxi?`${CC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=lxi(t instanceof uxi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof xS&&(a.childrenIds=mxi(a)),a},yxi=(e,t,n)=>{const i=new pxi(cxi(t instanceof uxi?"":t.id,e.path),e.name,""+(t instanceof uxi?`${CC}${fEn}->${oS(SEn.SUBTYPE)}(${SC}${e.path})`:`${t.dndText}->${oS(SEn.SUBTYPE)}(${SC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=jw(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof _J&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof hxi?t.property.multiplicity:t instanceof pxi?t.multiplicity:iS.ONE);return i.childrenIds=mxi(i),i},vxi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new uxi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),$w(e).concat(qw(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof xS?2:t instanceof IS?1:0)-(e instanceof xS?2:e instanceof IS?1:0)).forEach(e=>{const n=fxi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=yxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},_xi=e=>{if(e instanceof uxi)return new uxi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof hxi)return new hxi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof pxi)return new pxi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new Yr(`Unable to clone node of type ${e.constructor.name}`)};class bxi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){d_(this,{previewData:Ty.ref,isGeneratingPreviewData:Ty,propertyName:Ty,previewDataAbortController:Ty,setPropertyName:Lv,setIsGeneratingPreviewData:Lv,setPreviewData:Lv,setPreviewDataAbortController:Lv})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class Cxi{queryBuilderState;previewDataState=new bxi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=pb.create();mappingModelCoverageAnalysisResult;constructor(e){d_(this,{treeData:Ty.ref,humanizePropertyName:Ty,showUnmappedProperties:Ty,highlightUsedProperties:Ty,mappingModelCoverageAnalysisResult:Ty,setTreeData:Lv,refreshTree:Lv,refreshTreeData:Lv,setHumanizePropertyName:Lv,setShowUnmappedProperties:Lv,setHighlightUsedProperties:Lv,highlightTreeNode:Lv,analyzeMappingModelCoverage:Zv,previewData:Zv}),this.queryBuilderState=e,this.propertySearchState=new oxi(this.queryBuilderState)}get nonNullableTreeData(){return Gs(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.class,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?vxi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof hxi||e instanceof pxi)&&e.type instanceof xS&&((e instanceof pxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=fxi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=yxi(t,e,Gs(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&vo(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof hxi||t instanceof pxi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof hxi||e instanceof pxi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),mEn.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new gb,t=Y5(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());mEn.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.class||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=gxi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case AC.NUMBER:case AC.INTEGER:case AC.DECIMAL:case AC.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,xwi),r=i.aggregationState;return Awi.forEach(e=>{const n=Nwi(i,t,e[0]);i.projectionColumns.push(n);const s=Gs(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,RZ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,Gs(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case AC.BOOLEAN:case AC.STRING:case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,xwi),r=Nwi(i,t,"Value"),s=Nwi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof hSi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new _Si(s);return a.sortType=wEn.DESC,i.resultSetModifierState.sortColumns=[a,new _Si(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,RZ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new Yr(`No preview support for property of type '${i.path}'`)}}catch(t){if(Kr(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var Sxi="4.17.62",Exi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const wxi=(e,t,n,i)=>{Ws(e,aA,"Can't build projection column: only support lambda"),Ks(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=js(e.parameters[0],iA,"Can't build projection column: only support lambda with 1 parameter");Ks(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof hA&&2===s.parameters.length&&cS(s.function,SEn.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new kK(n,i,t));for(Ws(s,jA,"Can't build projection column: only support lambda body as property expression");s instanceof jA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof hA&&cS(s.function,SEn.SUBTYPE);)s=s.parameters[0];return Ws(s,iA,"Can't build projection column: only support lambda body as property expression"),Ks(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new kK(n,i,t))},xxi=(e,t,n,i)=>{Ws(e,hA,"Can't build aggregation: only support function"),Ks(cS(e.function,SEn.TDS_AGG),"Can't build aggregation: only support agg()"),Ks(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=js(e.parameters[0],aA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof hA&&cS(r.body[0].function,Object.values(bEn))?Xr(()=>((e,t,n,i)=>{Ws(e,aA,"Can't build calendar aggregation column: only support lambda"),Ks(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),Ks(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=js(e.parameters[0],iA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],hA,"Can't build calendar aggregation column: only support applied function");Ks(cS(s.function,Object.values(bEn)),"Can't build calendar aggregation columnn: unsupported calenddar function"),Ks(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),Ws(s.parameters[0],jA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],yA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(bwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],GT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new kK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new kK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new kK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new kK(n,i,t)))??new ME(MI(d,n.extensions.plugins)),h=MK([a,l,c,u],s.function,n),p=new JE,g=new ZE(ZC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE);g.parameters.push(new PE(r.name,iS.ONE));const m=new QE(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new ME(MI(r,n.extensions.plugins)):Xr(()=>wxi(r,t,n,i))??new ME(MI(r,n.extensions.plugins));const o=js(e.parameters[1],aA).accept_ValueSpecificationVisitor(new kK(n,i,t));return MK([s,o],oS(SEn.TDS_AGG),n)},Txi=(e,t,n,i,r)=>{Ks(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,kR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,VA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(Vs).filter(zs(aA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new PE(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new $E(iS.ONE),u=new jE;d.values=[u];const h=new ES(ES.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new zE;let s;const o=js(e.function1,GT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=wxi(o,n,i,r)}catch{s=new ME(MI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof JE){const t=e.values[0]?.expressionSequence[0];return t instanceof XE?t.genericType?.value.rawType??t.func.value.genericType.value.rawType:t?.genericType?.value.rawType}})(s);if(!a)throw new Yr("Unable to get return type for current lambda");return h.columns.push(new SS(e.name,vS.create(new wS(a)))),t});const p=MK([o,d],e,i),g=new wS(RK.INSTANCE),m=new wS(h);return g.typeArguments=[vS.create(m)],p.genericType=vS.create(g),p},Axi=(e,t,n,i,r)=>{const s=js(e,hA,"Can't build tds col func: only support applied function");Ks(cS(s.function,SEn.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),Ks(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=js(s.parameters[0],aA,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new PE(e.name,iS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=wxi(o,n,i,r)}catch{a=new ME(MI(o,i.extensions.plugins))}js(s.parameters[1],yA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new kK(i,r,n));return MK([a,l],s.function,i)},Nxi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=Gs(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof pA){const e=new UE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>Axi(e,s,n,i,r)),a=e}else Ws(o,hA,"Can't build project() expression: project() expects argument #2 to be a function"),a=Axi(o,s,n,i,r);const l=MK([s,a],e,i);return l.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return Txi(e,t,n,i,r)}const s=t.length;Ks(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof aA?o=l.parameters:(Ws(l,pA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(aA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new PE(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new UE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof aA?[l]:l.values,d.values=u.map(e=>{try{return wxi(e,n,i,r)}catch{return new ME(MI(e,i.extensions.plugins))}});const h=MK([a,d,t[2].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),h},Rxi=(e,t,n,i,r)=>e===SEn.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{Ks(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,KE);if(o.functionName!==oS(SEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,kR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,VA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,kR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,VA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),u=d.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(Vs).map(e=>e.parameters).flat();u.forEach(e=>{if(!e.genericType){const t=new PE(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=js(o.genericType?.value.typeArguments?.[0]?.value.rawType,ES,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new $E(iS.ONE),g=new jE;p.values=[g];const m=new ES(ES.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new zE;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new $E(iS.ONE),y=new jE;f.values=[y],y.colSpecs=d.colSpecs.map(e=>{const t=new zE;t.name=e.name;const s=js(e.function1,aA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=wxi(s,n,i,r);t.function1=o;const a=js(e.function2,aA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new kK(i,r,n)),JE,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new Yr(`Unable to find projected column with name ${e.name}`);return m.columns.push(new SS(e.name,c)),t});const v=MK([s,p,f],e,i),_=new wS(RK.INSTANCE),b=new wS(m);return _.typeArguments=[vS.create(b)],v.genericType=vS.create(_),v})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];Ks(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,pA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(aA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,pA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof hA&&cS(e.function,SEn.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(aA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new PE(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new UE(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return wxi(e,n,i,r)}catch{return new ME(MI(e,i.extensions.plugins))}});const u=new UE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>xxi(e,n,i,r));const h=MK([o,d,u,t[3].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),h})(e,t,n,i,r);class Ixi extends Aee{constructor(){super(Exi.pureProtocolProcessorPlugin,Sxi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(cS(e,CEn.GET_ALL))return((e,t,n,i,r)=>{const s=PK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,FE,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(cS(e,CEn.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=PK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,FE,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),Ks(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(cS(e,CEn.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=PK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,FE,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),Ks(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(cS(e,[SEn.FILTER,SEn.TDS_FILTER]))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));if(s.genericType){const e=t[1];e instanceof aA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new PE(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=MK([s,t[1].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(cS(e,SEn.EXISTS))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));s.genericType=js(s,XE).func.value.genericType;const o=t[1];return o instanceof aA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new PE(e.name,iS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),MK([s,t[1].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i)})(e,t,n,i,r);if(cS(e,SEn.WATERMARK))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof aA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new PE(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new kK(i,r,n))),l=a.genericType?.value.rawType;Ks(mS.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=MK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(cS(e,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT]))return Nxi(e,t,n,i,r);if(cS(e,[SEn.TDS_GROUP_BY,SEn.RELATION_GROUP_BY]))return Rxi(e,t,n,i,r);if(cS(e,SEn.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];Ks(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof hA?js(d.parameters[1],aA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,aA,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=u.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new PE(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new kK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));s.push(m),o++;const f=MK(s,e,i);return f.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),f})(e,t,n,i,r);if(cS(e,[SEn.TODAY,SEn.FIRST_DAY_OF_QUARTER])){const s=PK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.STRICTDATE)),s}if(cS(e,SEn.NOW)){const s=PK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATETIME)),s}if(cS(e,[SEn.FIRST_DAY_OF_THIS_YEAR,SEn.FIRST_DAY_OF_YEAR,SEn.FIRST_DAY_OF_THIS_MONTH,SEn.FIRST_DAY_OF_MONTH,SEn.FIRST_DAY_OF_WEEK,SEn.PREVIOUS_DAY_OF_WEEK,SEn.ADJUST])){const s=PK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATE)),s}return cS(e,Object.values(SEn))||cS(e,Object.values(bEn))?PK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof KE&&cS(e.functionName,oS(SEn.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof FE)[0]?.genericType?.value.rawType)(e)}]}}class Dxi{mapping;runtimes=[]}class kxi{service;executionKeys}class Oxi extends lT{}class Lxi extends Oxi{constructor(e){super(e),this.graphManager=js(e,G3)}getSupportedProtocolVersion(){return jH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===tG||e.content._type===bR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(FD))).flat(),o=new zK(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof aB)return new O$(t,o.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(zs($A))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new Yj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof YH?e:new YH(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new zK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(FD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof aB)return new O$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs($A))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new Yj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new Dxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...NY(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(zs(LO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new kxi;i.service=t,e.execution instanceof OO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Mxi=e=>new Lxi(e);class Pxi extends See{constructor(){super(Exi.pureGraphManagerPlugin,Sxi)}getExtraPureGraphManagerExtensionBuilders(){return[Mxi]}getExtraExposedSystemElementPath(){return[_En.TDS_TABULAR_DATASET,_En.TDS_ROW,_En.TDS_COLUMN]}}class Fxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new Jg(Mg(Fxi,{TEMPORARY__disableQueryBuilderChat:Xg(Pg()),TEMPORARY__enableExportToCube:Xg(Pg()),TEMPORARY__enableGridEnterpriseMode:Xg(Pg()),legendAIServiceURL:Xg(Pg()),legendMCPServiceURL:Xg(Pg()),zipkinTraceBaseURL:Xg(Pg()),enableTypedTDS:Xg(Pg())}))}const Bxi=e=>{let t=e;for(;t instanceof XE;)for(t=Gs(t.parametersValues[0]);t instanceof KE&&cS(t.functionName,SEn.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,PE)},Vxi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(cS(e.functionName,[SEn.AND,SEn.OR])){const r=new WSi(n,NSi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,zSi).lambdaParameterName),e.parametersValues.forEach(e=>Vxi(js(e,KE,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!cS(e.functionName,[SEn.EXISTS])){const n=e.parametersValues[0];if(n instanceof XE){const e=n.parametersValues[0];e instanceof XE&&XEn(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=Bxi(r.propertyExpressionState.propertyExpression).name,n=i instanceof zSi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return Ks(n===e,`Can't process ${oS(r.operator.getLabel())}() expression: expects variable used in lambda body '${e}' to match lambda parameter '${n}'`),void t.addNodeFromNode(new qSi(void 0,r),i)}}throw new Yr("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=js(e.parametersValues[0],XE);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new jSi(t,n),o=js(e.parametersValues[1],JE,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],QE),l=js(a.expressionSequence[0],KE);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),Vxi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;cS(s.functionName,SEn.EXISTS);){const e=Gs(js(s.parametersValues[1],JE).values[0],"Can't process exists() expression: exists() lambda is missing");if(Ks(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=js(e.expressionSequence[0],KE,"Can't process exists() expression: exists() lambda body should hold an expression"),Ks(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(js(e.functionType.parameters[0],PE,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof XE)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=js(e.parametersValues[0],XE);let a=new XE("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof XE||n instanceof KE&&cS(n.functionName,SEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(SEn.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof XE){const e=new XE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=js(t[0],XE,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof KE&&e.parametersValues[0]instanceof XE)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof XE)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof PE)return a;return e}),Vxi(s,t,n)}}}},Uxi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,JE,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=Gs(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");Ks(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=js(r.expressionSequence[0],KE,"Can't process filter() lambda: only support filter() lambda body with 1 expression");Ks(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(js(r.functionType.parameters[0],PE,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),Vxi(s,n,void 0),n.simplifyTree()};class Gxi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){d_(this,{hashCode:Iy}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof iw)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof nw)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return Cg([ewn.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",Cg(this.childrenIds)])}}const Hxi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${SC}${n.path}`:""}`,zxi=(e,t,n)=>{Ws(e,iw,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new Gxi(Hxi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=zxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Wxi=(e,t,n)=>{const i=t?.id,r=new Gxi((s=e.class.valueForSerialization??"")?`${SC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=zxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},jxi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Wxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=zxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},$xi=e=>0===e.tree.subTrees.length,qxi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof iw&&t.type instanceof xS&&0===t.childrenIds.length||t.tree instanceof iw&&!(t.type instanceof xS)&&t.parentId&&!e.nodes.has(t.parentId)),Yxi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(wo(n.childrenIds,t.id),UEn(n.tree,t.tree)):(wo(e.rootIds,t.id),UEn(e.tree,t.tree)),e.nodes.delete(t.id)},Kxi=(e,t)=>{Yxi(e,t),(e=>{let t=qxi(e);for(;t.length;)t.forEach(t=>{Yxi(e,t)}),t=qxi(e)})(e)},Xxi=(e,t,n,i)=>{const r=[new iw(WS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof hxi||l instanceof pxi;){let e,n=!1;for(;l instanceof pxi;)n||(e=ZC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof hxi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof xS&&(e=ZC.create(l.type)),!(l instanceof hxi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new iw(WS.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=Hxi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=zxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),VEn(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),VEn(e.tree,t.tree,i.observerContext))}},Zxi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof iTi){if(e.treeData&&!$xi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(_En.SERIALIZE_CONFIG),i=new KE(oS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new FE(iS.ONE,void 0);r.values[0]=ZC.create(n);const s=new BE(vS.create(new wS(mS.STRING)));s.values=[""];const o=new UE(iS.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new HE,r=new BE(vS.create(new wS(mS.STRING)));r.values=[n];const s=new BE(vS.create(new wS(t.genericType.value.rawType)));s.values=[e[n]];const a=new GE(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new iS(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new sw;r.values=[e];const s=new KE(oS(SEn.SERIALIZE)),o=new KE(oS(t?SEn.GRAPH_FETCH_CHECKED:SEn.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof rTi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new KE(oS(SEn.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!$xi(i)&&!$xi(o)){const a=new sw;a.values=[i.tree];const l=new KE(e.isChecked?oS(SEn.GRAPH_FETCH_CHECKED):oS(SEn.GRAPH_FETCH));l.parametersValues=[r,a];const c=new FE(iS.ONE,void 0);c.values=[ZC.create(s.targetBinding)];const d=new sw;d.values=[o.tree],n.parametersValues=[l,c,d],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof KE&&cS(n.functionName,SEn.SERIALIZE)){const i=new BE(vS.create(new wS(mS.INTEGER)));i.values=[t];const r=new KE(oS(SEn.TAKE)),s=js(n.parametersValues[0],KE),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var Qxi,Jxi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(Qxi||(Qxi={})),function(e){e.RESULT="RESULT"}(Jxi||(Jxi={}));const eTi="@type";class tTi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=eTi,d_(this,{typeKeyName:Ty,includeType:Ty,includeEnumType:Ty,dateTimeFormat:Ty,removePropertiesWithNullValues:Ty,removePropertiesWithEmptySets:Ty,fullyQualifiedTypePath:Ty,includeObjectReference:Ty,setTypeName:Lv,setIncludeObjectReference:Lv,setDateTimeFormat:Lv,setIncludeType:Lv,setFullyQualifiedTypePath:Lv,setRemovePropertiesWithEmptySets:Lv,setInclueEnumType:Lv,setRemovePropertiesWithNullValues:Lv})}static createDefault(){const e=new tTi;return e.typeKeyName=eTi,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class nTi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class iTi extends nTi{config;configModal=!1;constructor(e){super(e),d_(this,{config:Ty,configModal:Ty,setConfigModal:Lv})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return Qxi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class rTi extends nTi{targetBinding;treeData;constructor(e,t,n){super(e),d_(this,{targetBinding:Ty,treeData:Ty.ref,serializationContentType:Iy,setGraphFetchTree:Lv}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(Xxi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return Qxi.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class sTi extends SSi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),d_(this,{treeData:Ty.ref,isChecked:Ty,serializationState:Ty,TEMPORARY__showPostFetchStructurePanel:Iy,setGraphFetchTree:Lv,setSerializationState:Lv,setChecked:Lv,initialize:Lv,checkBeforeChangingImplementation:Lv}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new iTi(this)}get type(){return CSi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=Gs(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?Gs(e.get(r.parentId)):"";let a="";r.tree instanceof nw?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof iw&&(a=r.tree.property.value.name);const l=lxi(o,a);t.push(l),r.tree instanceof iw&&r.tree.subType?(s=cxi(l,r.tree.subType.value.path),Ww(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(cxi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?jxi(new nw(ZC.create(e))):void 0)}get exportDataFormatOptions(){return[Jxi.RESULT]}getExportDataInfo(e){if(e===Jxi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){Zxi(this,e,t)}addProperty(e,t){this.treeData?(Xxi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof rTi&&this.serializationState.addProperty(On(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:_lt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof iw)return t.tree.parameters.find(t=>QEn(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return Cg([ewn.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const oTi=(e,t)=>()=>{t.implementation.type!==e&&(mEn.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class aTi{queryBuilderState;implementation;constructor(e){d_(this,{implementation:Ty,changeImplementation:Lv,initializeWithQuery:Lv}),this.queryBuilderState=e,this.implementation=new xwi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case CSi.TABULAR_DATA_STRUCTURE:this.implementation=new xwi(this.queryBuilderState,this);break;case CSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new sTi(this.queryBuilderState,this);break;default:throw new Yr(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof hxi&&!(e.type instanceof xS)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof xS&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(hxi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped))}}class lTi{lambda;constructor(e){this.lambda=e,d_(this,{lambda:Ty,setLambda:Lv})}setLambda(e){this.lambda=e}}var cTi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(cTi||(cTi={}));class dTi extends eSi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=pb.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),d_(this,{rawLambdaState:Ty,isConvertingLambdaToString:Ty,mode:Ty,isReadOnly:Ty,setQueryRawLambdaState:Lv,setIsReadOnly:Lv,setMode:Lv,openModal:Lv,closeModal:Zv}),this.queryBuilderState=e,this.rawLambdaState=new lTi(gj())}get lambdaId(){return Mee(["query-builder"])}get text(){return this.mode===cTi.TEXT?this.fullLambdaString:this.mode===cTi.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=gj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){Kr(e),e instanceof hQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new kE(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===cTi.TEXT&&this.setQueryRawLambdaState(new lTi(n)),e===cTi.JSON&&this.setLambdaJson(JSON.stringify(gS(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===cTi.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const uTi=tie(e=>{const{resultType:t}=e;let n="";return t.type instanceof QC&&(n=t.type.input??""),""===n?wne.jsx(wne.Fragment,{}):wne.jsxs("div",{className:"query-builder__result__container",children:[wne.jsx(sLe,{className:"query-builder__result__container__item__data-type",children:wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),wne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),wne.jsx(aLe,{})]})}),hTi=tie(e=>{const{resultType:t}=e;return wne.jsxs("div",{className:"query-builder__result__container",children:[wne.jsx(sLe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__result__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Label"}),wne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),wne.jsx("tbody",{children:t.tdsColumns.map(e=>wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.name}),wne.jsx("td",{className:"table__cell--left",children:e.type instanceof QC&&(e.type.input??"")})]},e.name))})]}),wne.jsx(aLe,{})]})}),pTi=tie(e=>{const{resultType:t}=e;return wne.jsxs("div",{className:"query-builder__result__container",children:[wne.jsxs(sLe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),wne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.property}),wne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),wne.jsx(aLe,{})]})}),gTi=tie(e=>{const{resultType:t}=e;return t instanceof W1?wne.jsx(uTi,{resultType:t}):t instanceof j1?wne.jsx(hTi,{resultType:t}):t instanceof w2?wne.jsx(pTi,{resultType:t}):null});var mTi,fTi={exports:{}},yTi=fTi.exports;var vTi=(mTi||(mTi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(yTi,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var d=o.rule.name;(this.completed[d]=this.completed[d]||[]).push(o)}}}else{if("string"!=typeof(d=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[d]){if(n[d].push(o),i.hasOwnProperty(d)){var u=i[d];for(l=0;l<u.length;l++){var h=u[l];this.complete(o,h)}}}else n[d]=[o],this.predict(d)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,d=i.constructor===r?t.value:t,u=o.scannable,h=u.length;h--;){var p=u[h],g=p.rule.symbols[p.dot];if(g.test?g.test(d):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:d,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(fTi)),fTi.exports),_Ti=Qr(vTi),bTi=Object.defineProperty,CTi=Object.defineProperties,STi=Object.getOwnPropertyDescriptors,ETi=Object.getOwnPropertySymbols,wTi=Object.prototype.hasOwnProperty,xTi=Object.prototype.propertyIsEnumerable,TTi=(e,t,n)=>t in e?bTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ATi=(e,t)=>{for(var n in t||(t={}))wTi.call(t,n)&&TTi(e,n,t[n]);if(ETi)for(var n of ETi(t))xTi.call(t,n)&&TTi(e,n,t[n]);return e},NTi=(e,t)=>CTi(e,STi(t)),RTi={};((e,t)=>{for(var n in t)bTi(e,n,{get:t[n],enumerable:!0})})(RTi,{bigquery:()=>eAi,db2:()=>dAi,db2i:()=>vAi,hive:()=>TAi,mariadb:()=>MAi,mysql:()=>zAi,n1ql:()=>rNi,plsql:()=>hNi,postgresql:()=>bNi,redshift:()=>NNi,singlestoredb:()=>SRi,snowflake:()=>IRi,spark:()=>PNi,sql:()=>QNi,sqlite:()=>WNi,tidb:()=>ZAi,transactsql:()=>gRi,trino:()=>oRi});var ITi=e=>e.flatMap(DTi),DTi=e=>VTi(OTi(e)).map(kTi),kTi=e=>e.replace(/ +/g," ").trim(),OTi=e=>({type:"mandatory_block",items:LTi(e,0)[0]}),LTi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=MTi(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},MTi=(e,t)=>{const n=[];for(;;){const[i,r]=PTi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},PTi=(e,t)=>{if("{"===e[t])return FTi(e,t+1);if("["===e[t])return BTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},FTi=(e,t)=>{const[n,i]=LTi(e,t,"}");return[{type:"mandatory_block",items:n},i]},BTi=(e,t)=>{const[n,i]=LTi(e,t,"]");return[{type:"optional_block",items:n},i]},VTi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(VTi).reduce(UTi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(VTi);if("optional_block"===e.type)return["",...e.items.flatMap(VTi)];throw new Error(`Unknown node type: ${e}`)},UTi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},GTi=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(GTi||{}),HTi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),zTi=HTi(1/0),WTi=e=>t=>t.type===e.type&&t.text===e.text,jTi={ARRAY:WTi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:WTi({text:"BY",type:"RESERVED_KEYWORD"}),SET:WTi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:WTi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:WTi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:WTi({text:"VALUES",type:"RESERVED_CLAUSE"})},$Ti=e=>"RESERVED_DATA_TYPE"===e||"RESERVED_KEYWORD"===e||"RESERVED_FUNCTION_NAME"===e||"RESERVED_PHRASE"===e||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"ARRAY_KEYWORD"===e||"CASE"===e||"END"===e||"WHEN"===e||"ELSE"===e||"THEN"===e||"LIMIT"===e||"BETWEEN"===e||"AND"===e||"OR"===e||"XOR"===e,qTi=ITi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),YTi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),KTi=ITi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),XTi=ITi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),ZTi=ITi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),QTi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),JTi=ITi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),eAi={name:"bigquery",tokenizerOptions:{reservedSelect:qTi,reservedClauses:[...YTi,...XTi,...KTi],reservedSetOperations:ZTi,reservedJoins:QTi,reservedPhrases:JTi,reservedKeywords:["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:function(e){return function(e){let t=zTi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,NTi(ATi({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((jTi.ARRAY(r)||jTi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=nAi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(tAi("raw")).join(""),text:s.map(tAi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...KTi,...XTi],tabularOnelineClauses:XTi}};var tAi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function nAi(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var iAi=ITi(["SELECT [ALL | DISTINCT]"]),rAi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),sAi=ITi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),oAi=ITi(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),aAi=ITi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),lAi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),cAi=ITi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),dAi={name:"db2",tokenizerOptions:{reservedSelect:iAi,reservedClauses:[...rAi,...sAi,...oAi],reservedSetOperations:aAi,reservedJoins:lAi,reservedPhrases:cAi,reservedKeywords:["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],reservedFunctionNames:["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...sAi,...oAi],tabularOnelineClauses:oAi}},uAi=ITi(["SELECT [ALL | DISTINCT]"]),hAi=ITi(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),pAi=ITi(["CREATE [OR REPLACE] TABLE"]),gAi=ITi(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),mAi=ITi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),fAi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),yAi=ITi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),vAi={name:"db2i",tokenizerOptions:{reservedSelect:uAi,reservedClauses:[...hAi,...pAi,...gAi],reservedSetOperations:mAi,reservedJoins:fAi,reservedPhrases:yAi,reservedKeywords:["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],reservedFunctionNames:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...pAi,...gAi],tabularOnelineClauses:gAi}},_Ai=ITi(["SELECT [ALL | DISTINCT]"]),bAi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),CAi=ITi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),SAi=ITi(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),EAi=ITi(["UNION [ALL | DISTINCT]"]),wAi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),xAi=ITi(["{ROWS | RANGE} BETWEEN"]),TAi={name:"hive",tokenizerOptions:{reservedSelect:_Ai,reservedClauses:[...bAi,...CAi,...SAi],reservedSetOperations:EAi,reservedJoins:wAi,reservedPhrases:xAi,reservedKeywords:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...CAi,...SAi],tabularOnelineClauses:SAi}};function AAi(e){return e.map((t,n)=>{const i=e[n+1]||zTi;if(jTi.SET(t)&&"("===i.text)return NTi(ATi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||zTi;return jTi.VALUES(t)&&"="===r.text?NTi(ATi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var NAi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),RAi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),IAi=ITi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),DAi=ITi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),kAi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),OAi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),LAi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),MAi={name:"mariadb",tokenizerOptions:{reservedSelect:NAi,reservedClauses:[...RAi,...IAi,...DAi],reservedSetOperations:kAi,reservedJoins:OAi,reservedPhrases:LAi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:AAi},formatOptions:{onelineClauses:[...IAi,...DAi],tabularOnelineClauses:DAi}},PAi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),FAi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),BAi=ITi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),VAi=ITi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),UAi=ITi(["UNION [ALL | DISTINCT]"]),GAi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),HAi=ITi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),zAi={name:"mysql",tokenizerOptions:{reservedSelect:PAi,reservedClauses:[...FAi,...BAi,...VAi],reservedSetOperations:UAi,reservedJoins:GAi,reservedPhrases:HAi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:AAi},formatOptions:{onelineClauses:[...BAi,...VAi],tabularOnelineClauses:VAi}},WAi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),jAi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),$Ai=ITi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),qAi=ITi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),YAi=ITi(["UNION [ALL | DISTINCT]"]),KAi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),XAi=ITi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ZAi={name:"tidb",tokenizerOptions:{reservedSelect:WAi,reservedClauses:[...jAi,...$Ai,...qAi],reservedSetOperations:YAi,reservedJoins:KAi,reservedPhrases:XAi,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:AAi},formatOptions:{onelineClauses:[...$Ai,...qAi],tabularOnelineClauses:qAi}},QAi=ITi(["SELECT [ALL | DISTINCT]"]),JAi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),eNi=ITi(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),tNi=ITi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),nNi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),iNi=ITi(["{ROWS | RANGE | GROUPS} BETWEEN"]),rNi={name:"n1ql",tokenizerOptions:{reservedSelect:QAi,reservedClauses:[...JAi,...eNi],reservedSetOperations:tNi,reservedJoins:nNi,reservedPhrases:iNi,supportsXor:!0,reservedKeywords:["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],reservedDataTypes:[],reservedFunctionNames:["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:eNi}},sNi=ITi(["SELECT [ALL | DISTINCT | UNIQUE]"]),oNi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),aNi=ITi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),lNi=ITi(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),cNi=ITi(["UNION [ALL]","MINUS","INTERSECT"]),dNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),uNi=ITi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),hNi={name:"plsql",tokenizerOptions:{reservedSelect:sNi,reservedClauses:[...oNi,...aNi,...lNi],reservedSetOperations:cNi,reservedJoins:dNi,reservedPhrases:uNi,supportsXor:!0,reservedKeywords:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],reservedDataTypes:["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=zTi;return e.map(e=>jTi.SET(e)&&jTi.BY(t)?NTi(ATi({},e),{type:"RESERVED_KEYWORD"}):($Ti(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...aNi,...lNi],tabularOnelineClauses:lNi}};var pNi=ITi(["SELECT [ALL | DISTINCT]"]),gNi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),mNi=ITi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),fNi=ITi(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),yNi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),vNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),_Ni=ITi(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),bNi={name:"postgresql",tokenizerOptions:{reservedSelect:pNi,reservedClauses:[...gNi,...mNi,...fNi],reservedSetOperations:yNi,reservedJoins:vNi,reservedPhrases:_Ni,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...mNi,...fNi],tabularOnelineClauses:fNi}},CNi=ITi(["SELECT [ALL | DISTINCT]"]),SNi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),ENi=ITi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),wNi=ITi(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),xNi=ITi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),TNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ANi=ITi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),NNi={name:"redshift",tokenizerOptions:{reservedSelect:CNi,reservedClauses:[...SNi,...ENi,...wNi],reservedSetOperations:xNi,reservedJoins:TNi,reservedPhrases:ANi,reservedKeywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ENi,...wNi],tabularOnelineClauses:wNi}},RNi=ITi(["SELECT [ALL | DISTINCT]"]),INi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),DNi=ITi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),kNi=ITi(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),ONi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),LNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),MNi=ITi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),PNi={name:"spark",tokenizerOptions:{reservedSelect:RNi,reservedClauses:[...INi,...DNi,...kNi],reservedSetOperations:ONi,reservedJoins:LNi,reservedPhrases:MNi,supportsXor:!0,reservedKeywords:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map((t,n)=>{const i=e[n-1]||zTi,r=e[n+1]||zTi;return jTi.WINDOW(t)&&"OPEN_PAREN"===r.type?NTi(ATi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:NTi(ATi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...DNi,...kNi],tabularOnelineClauses:kNi}};var FNi=ITi(["SELECT [ALL | DISTINCT]"]),BNi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),VNi=ITi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),UNi=ITi(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),GNi=ITi(["UNION [ALL]","EXCEPT","INTERSECT"]),HNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),zNi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),WNi={name:"sqlite",tokenizerOptions:{reservedSelect:FNi,reservedClauses:[...BNi,...VNi,...UNi],reservedSetOperations:GNi,reservedJoins:HNi,reservedPhrases:zNi,reservedKeywords:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...VNi,...UNi],tabularOnelineClauses:UNi}},jNi=ITi(["SELECT [ALL | DISTINCT]"]),$Ni=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),qNi=ITi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),YNi=ITi(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),KNi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),XNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ZNi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),QNi={name:"sql",tokenizerOptions:{reservedSelect:jNi,reservedClauses:[...$Ni,...qNi,...YNi],reservedSetOperations:KNi,reservedJoins:XNi,reservedPhrases:ZNi,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...qNi,...YNi],tabularOnelineClauses:YNi}},JNi=ITi(["SELECT [ALL | DISTINCT]"]),eRi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),tRi=ITi(["CREATE TABLE [IF NOT EXISTS]"]),nRi=ITi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),iRi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),rRi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),sRi=ITi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),oRi={name:"trino",tokenizerOptions:{reservedSelect:JNi,reservedClauses:[...eRi,...tRi,...nRi],reservedSetOperations:iRi,reservedJoins:rRi,reservedPhrases:sRi,reservedKeywords:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],reservedDataTypes:["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],reservedFunctionNames:["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...tRi,...nRi],tabularOnelineClauses:nRi}},aRi=ITi(["SELECT [ALL | DISTINCT]"]),lRi=ITi(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),cRi=ITi(["CREATE TABLE"]),dRi=ITi(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),uRi=ITi(["UNION [ALL]","EXCEPT","INTERSECT"]),hRi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),pRi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),gRi={name:"transactsql",tokenizerOptions:{reservedSelect:aRi,reservedClauses:[...lRi,...cRi,...dRi],reservedSetOperations:uRi,reservedJoins:hRi,reservedPhrases:pRi,reservedKeywords:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],reservedDataTypes:["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...cRi,...dRi],tabularOnelineClauses:dRi}},mRi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),fRi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),yRi=ITi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),vRi=ITi(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),_Ri=ITi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),bRi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),CRi=ITi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),SRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:mRi,reservedClauses:[...fRi,...yRi,...vRi],reservedSetOperations:_Ri,reservedJoins:bRi,reservedPhrases:CRi,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:AAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...yRi,...vRi],tabularOnelineClauses:vRi}},ERi=ITi(["SELECT [ALL | DISTINCT]"]),wRi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),xRi=ITi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),TRi=ITi(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),ARi=ITi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),NRi=ITi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),RRi=ITi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),IRi={name:"snowflake",tokenizerOptions:{reservedSelect:ERi,reservedClauses:[...wRi,...xRi,...TRi],reservedSetOperations:ARi,reservedJoins:NRi,reservedPhrases:RRi,reservedKeywords:["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],reservedDataTypes:["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],reservedFunctionNames:["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...xRi,...TRi],tabularOnelineClauses:TRi}},DRi=e=>e[e.length-1],kRi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),ORi=e=>e.replace(/\s+/gu," "),LRi=e=>/\n/.test(e),MRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),PRi=/\s+/uy,FRi=e=>new RegExp(`(?:${e})`,"uy"),BRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),VRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return FRi(i.map(MRi).join("|"))},URi=e=>FRi(`${kRi(e).map(MRi).join("|")}`),GRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=kRi(e).map(MRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},HRi=(e,t)=>{if(!e.length)return;const n=e.map(MRi).join("|");return FRi(`(?:${n})(?:${t})`)},zRi={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,MRi(e)).replace(/{right}/g,MRi(t))),n=MRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},WRi=e=>"string"==typeof e?zRi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(BRi).join("|")}${t?"":"|"})`)(e)+zRi[e.quote],jRi=e=>e.map(WRi).join("|"),$Ri=e=>FRi(jRi(e)),qRi=(e={})=>FRi(YRi(e)),YRi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=MRi(null!=e?e:""),a=MRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function KRi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var XRi=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(NTi(ATi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=KRi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){PRi.lastIndex=this.index;const e=PRi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},ZRi=/\/\*/uy,QRi=/[\s\S]/uy,JRi=/\*\//uy,eIi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(ZRi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(ZRi,e))n+=t,i++;else if(t=this.matchSection(JRi,e))n+=t,i--;else{if(!(t=this.matchSection(QRi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},tIi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new XRi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new eIi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(MRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:$Ri(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:GRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:nIi},{type:"CASE",regex:/CASE\b/iuy,text:nIi},{type:"END",regex:/END\b/iuy,text:nIi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:nIi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:nIi},{type:"RESERVED_CLAUSE",regex:GRi(e.reservedClauses,e.identChars),text:nIi},{type:"RESERVED_SELECT",regex:GRi(e.reservedSelect,e.identChars),text:nIi},{type:"RESERVED_SET_OPERATION",regex:GRi(e.reservedSetOperations,e.identChars),text:nIi},{type:"WHEN",regex:/WHEN\b/iuy,text:nIi},{type:"ELSE",regex:/ELSE\b/iuy,text:nIi},{type:"THEN",regex:/THEN\b/iuy,text:nIi},{type:"RESERVED_JOIN",regex:GRi(e.reservedJoins,e.identChars),text:nIi},{type:"AND",regex:/AND\b/iuy,text:nIi},{type:"OR",regex:/OR\b/iuy,text:nIi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:nIi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:GRi(e.reservedFunctionNames,e.identChars),text:nIi},{type:"RESERVED_DATA_TYPE",regex:GRi(e.reservedDataTypes,e.identChars),text:nIi},{type:"RESERVED_KEYWORD",regex:GRi(e.reservedKeywords,e.identChars),text:nIi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,FRi(i.map(e=>"regex"in e?e.regex:WRi(e)).join("|"))):void 0},{type:"STRING",regex:$Ri(e.stringTypes)},{type:"IDENTIFIER",regex:qRi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:VRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:VRi("close",e.extraParens)},{type:"OPERATOR",regex:URi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:URi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:HRi(a.named,YRi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:HRi(a.quoted,jRi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(MRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:HRi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:FRi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},nIi=e=>ORi(e.toUpperCase()),iIi=new Map,rIi=e=>({tokenizer:new tIi(e.tokenizerOptions,e.name),formatOptions:sIi(e.formatOptions)}),sIi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function oIi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var aIi=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function lIi(e){return e.map(cIi).map(dIi).map(uIi).map(hIi).map(pIi)}var cIi=(e,t,n)=>{if($Ti(e.type)){const i=gIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return NTi(ATi({},e),{type:"IDENTIFIER",text:e.raw});const r=mIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return NTi(ATi({},e),{type:"IDENTIFIER",text:e.raw})}return e},dIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=mIi(n,t);if(!i||!fIi(i))return NTi(ATi({},e),{type:"IDENTIFIER",text:e.raw})}return e},uIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=mIi(n,t);if(i&&fIi(i))return NTi(ATi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},hIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=mIi(n,t);if(i&&yIi(i))return NTi(ATi({},e),{type:"ARRAY_IDENTIFIER"})}return e},pIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=mIi(n,t);if(i&&yIi(i))return NTi(ATi({},e),{type:"ARRAY_KEYWORD"})}return e},gIi=(e,t)=>mIi(e,t,-1),mIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&vIi(e[t+i*n]);)i++;return e[t+i*n]},fIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,yIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,vIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,_Ii=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:n}=KRi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in GTi}};function bIi(e){return e[0]}var CIi=new _Ii(e=>[]),SIi=([[e]])=>e,EIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),wIi=e=>({type:"data_type",text:e.text,raw:e.raw}),xIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=NTi(ATi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=NTi(ATi({},e),{trailingComments:n})),e),TIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[xIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,xIi(i,{trailing:n})]}return e},AIi={Lexer:CIi,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[CIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[CIi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:SIi},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[CIi.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:bIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[CIi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:xIi(EIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:xIi(EIi(e),{trailing:t}),count:n}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[CIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:EIi(e),children:[t,...n]})},{name:"select_clause",symbols:[CIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:EIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[CIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[CIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:EIi(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[CIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:EIi(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:bIi},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>xIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>xIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>xIi(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:SIi},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:SIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:SIi},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:SIi},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:SIi},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:SIi},{name:"array_subscript",symbols:[CIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:xIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[CIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:xIi(EIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[CIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:xIi(EIi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",CIi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:xIi(e,{trailing:t}),operator:n.text,property:xIi(r,{leading:i})})},{name:"between_predicate",symbols:[CIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",CIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:EIi(e),expr1:TIi(n,{leading:t,trailing:i}),andKw:EIi(r),expr2:[xIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:bIi},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[CIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",CIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:xIi(EIi(e),{trailing:t}),endKw:EIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[CIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",CIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:xIi(EIi(e),{trailing:t}),thenKw:xIi(EIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[CIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:xIi(EIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[CIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[CIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[CIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[CIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[CIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[CIi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[CIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[CIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[CIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[CIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[CIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[CIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>EIi(e)},{name:"data_type$subexpression$1",symbols:[CIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>wIi(e)},{name:"data_type",symbols:[CIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:xIi(wIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[CIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[CIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[CIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>EIi(e)},{name:"other_keyword$subexpression$1",symbols:[CIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[CIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[CIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[CIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>EIi(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[CIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[CIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[CIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},NIi=AIi,{Parser:RIi,Grammar:IIi}=_Ti;var DIi=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;kIi(DRi(this.items));)this.items.pop()}trimWhitespace(){for(;OIi(DRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(DRi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},kIi=e=>0===e||6===e,OIi=e=>0===e||6===e||3===e;function LIi(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function MIi(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var PIi="top-level",FIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(PIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&DRi(this.indentTypes)===PIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==PIi)break}}},BIi=class extends DIi{constructor(e){super(new FIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new VIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new VIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},VIi=class extends Error{},UIi=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),oIi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):oIi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return oIi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),oIi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){LRi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return LRi(e.text)||LRi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(DRi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new BIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof VIi)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){oIi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?oIi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return MIi(e.tokenType)?LIi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return ORi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return MIi(e.tokenType)?LIi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return ORi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return ORi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},GIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new aIi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new _Ii(n=>[...lIi(e.tokenize(n,t)),HTi(n.length)]),i=new RIi(IIi.fromCompiled(NIi),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new UIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new DIi(new FIi((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},HIi=class extends Error{};function zIi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new HIi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new HIi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new HIi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var WIi={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},jIi=Object.keys(WIi),$Ii={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},qIi=(e,t={})=>{if("string"==typeof t.language&&!jIi.includes(t.language))throw new HIi(`Unsupported SQL dialect: ${t.language}`);const n=WIi[t.language||"sql"];return YIi(e,NTi(ATi({},t),{dialect:RTi[n]}))},YIi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)wTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&ETi)for(var i of ETi(e))t.indexOf(i)<0&&xTi.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=zIi(ATi(ATi({},$Ii),r));return new GIi((e=>{let t=iIi.get(e);return t||(t=rIi(e),iIi.set(e,t)),t})(i),s).format(e)};const KIi=console.error;function XIi(e){return AG_GRID_LICENSE&&koi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),wne.jsx(coi,{theme:"legacy",...e,modules:[isi,__i],onGridReady:()=>{"production"!==process.env.NODE_ENV&&(console.error=KIi)}})}class ZIi{uuid=ho()}const QIi=(e,t,n)=>{const i=new KE(oS(t)),r=ZSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof VSi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof USi){const t=ZSi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},JIi=(e,t,n,i,r=!1)=>{let s,o;if(cS(t.functionName,n)){Ks(t.parametersValues.length===(r?1:2),`Can't process ${oS(n)}() expression: ${oS(n)}() expects ${r?"no argument":"1 argument"}`);const i=js(t.parametersValues[0],XE,`Can't process ${oS(n)}() expression: expects property expression in lambda body`);s=new GSi(e,i),o=t}else if(cS(t.functionName,SEn.EXISTS)){const i=js(t.parametersValues[1],JE),a=js(i.values[0],QE),l=js(a.expressionSequence[0],KE);Ks(l.parametersValues.length===(r?1:2),`Can't process ${oS(n)}() expression: ${oS(n)}() expects ${r?"no argument":"1 argument"}`);const c=js(l.parametersValues[0],XE,`Can't process ${oS(n)}() expression: expects property expression in lambda body`);s=new GSi(e,c),o=l}if(s&&o){Ks(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${oS(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof XE?s.setRightConditionValue(new USi(s,new QCi(e.queryBuilderState,t))):s.setRightConditionValue(new VSi(s,JEn(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new VSi(s,i.getDefaultFilterConditionValue(s))),s}};class eDi extends ZIi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_EQUAL])}}class tDi extends eDi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_EQUAL])}}class nDi extends ZIi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof VSi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=HEn(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)?[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(n.path):n===t)}if(i instanceof PE)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return new UE(iS.ONE,vS.create(new wS(t)))}buildFilterConditionExpression(e,t){return QIi(e,SEn.IN,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.IN,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_IN])}}class iDi extends nDi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_IN])}}class rDi extends ZIi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!$En(e.propertyExpressionState.propertyExpression)&&(t instanceof IS||t instanceof mS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return QIi(e,SEn.IS_EMPTY,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.IS_EMPTY,this,!0)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_IS_EMPTY])}}class sDi extends rDi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_IS_NOT_EMPTY])}}const oDi=e=>{try{return qIi(e,{language:"mysql"})}catch{try{return qIi(e)}catch{return e}}},aDi=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},lDi=new eDi,cDi=new tDi,dDi=new nDi,uDi=new iDi,hDi=new rDi,pDi=new sDi,gDi=new MEi,mDi=new DEi,fDi=new OEi,yDi=new LEi,vDi=new PEi,_Di=new kEi,bDi=(e,t,n)=>{t.value&&FEn(e,e instanceof VE?VS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},CDi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?hDi:lDi:null===t.value?pDi:cDi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(qSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[hDi,pDi]:t?[lDi,dDi]:[cDi,uDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===hDi||i===pDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?hDi:pDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof VSi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof FE&&(a.value instanceof VE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);bDi(i,n,s),o.changeOperator(t?dDi:uDi),BEn(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof FE&&a.value.values.filter(e=>e instanceof FE).map(e=>e instanceof VE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?lDi:cDi).getDefaultFilterConditionValue(o);bDi(e,n,s),BEn(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new GSi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),bDi(e,n,i.queryBuilderState),i.addNodeFromNode(new qSi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){Kr(t),e.alertUnhandledError(t)}},SDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?fDi:gDi:null===t.value?yDi:vDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(wEi)).filter(e=>e.condition.leftConditionValue instanceof nSi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[fDi,yDi]:t?[gDi,mDi]:[vDi,_Di],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===fDi||i===yDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?fDi:yDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof AEi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof FE&&(a.value instanceof VE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);bDi(i,n,s.queryBuilderState),o.changeOperator(t?mDi:_Di),BEn(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof FE&&a.value.values.filter(e=>e instanceof FE).map(e=>e instanceof VE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?gDi:vDi).getDefaultFilterConditionValue(o);bDi(e,n,s.queryBuilderState),BEn(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new REi(i.postFilterState,e,t),r instanceof sSi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),bDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new wEi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){Kr(t),e.alertUnhandledError(t)}},EDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?wSi(r,n.columnName):void 0;s instanceof sSi||s instanceof aSi||s instanceof iSi&&FSi(s.propertyExpressionState.propertyExpression)?await SDi(e,t,n,i,s,r):s instanceof iSi?CDi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},wDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await EDi(e,n,r,t,i)},xDi=tie(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Pat(),a=n?.columnName?wSi(i,n.columnName):void 0;return wne.jsxs(HOe,{ref:t,children:[wne.jsx(zOe,{disabled:!a,onClick:()=>{wDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),wne.jsx(zOe,{disabled:!a,onClick:()=>{wDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),wne.jsx(WOe,{}),wne.jsx(zOe,{onClick:r,children:"Copy Cell Value"}),wne.jsx(zOe,{onClick:s,children:"Copy Row Value"})]})})),TDi=tie(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"query-builder__sql__container",children:[wne.jsx(aLe,{}),wne.jsxs("div",{children:[wne.jsx("div",{className:"query-builder__sql__container__item__label",children:wne.jsxs(sLe,{children:["SQL",wne.jsx("div",{children:wne.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:wne.jsx(vre,{})})})]})}),wne.jsx("div",{className:"query-builder__sql__container__code-editor",children:wne.jsx(rEn,{inputValue:oDi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:JSn.SQL})}),wne.jsx(aLe,{})]},t)]}),n.length>0&&wne.jsx("div",{className:"query-builder__sql__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__sql__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Label"}),wne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),wne.jsx("tbody",{children:n.map(e=>wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&wne.jsx("td",{className:"table__cell--left",children:aY(e.dataType)})]},e.label))})]})]})})]})}),ADi=tie(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?wne.jsx(TDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):wne.jsxs(rLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx(TDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__sql__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),NDi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return wne.jsxs("div",{className:n,children:[wne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&wne.jsx("div",{className:`${n}__tag`,children:t.value.path}),wne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},RDi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,d;t.tree instanceof iw?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof nw&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{}),h=c?Bwi(c):wne.jsx(MEe,{}),p=()=>r?.(t);return wne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[wne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[wne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),wne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:wne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:wne.jsx(Jre,{})})})]})},IDi=tie(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return wne.jsx(Vye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[wne.jsx(MOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),wne.jsx(FOe,{className:"query-builder-graph-fetch-config__content",children:wne.jsx(JOe,{children:wne.jsxs(oLe,{children:[wne.jsx(dLe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),wne.jsx(dLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),wne.jsx(uLe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),wne.jsx(uLe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),wne.jsx(uLe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),wne.jsx(uLe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),wne.jsx(uLe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),wne.jsx(uLe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),wne.jsxs(BOe,{children:[!s&&wne.jsx(UOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),wne.jsx(UOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),DDi=tie(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>Mwi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return wne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:wne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[wne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[wne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:wne.jsx(ire,{})}),wne.jsx(IOe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:NDi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),wne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[wne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:wne.jsx(Ire,{})}),wne.jsx(rIe,{components:{TreeNodeContainer:RDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(Kxi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),kDi=tie(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(mX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(zs(TS)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...kw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof TS))).includes(i.tree.class.value)});return wne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[wne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[wne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(Qxi).map(e=>{return wne.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case Qxi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new rTi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(On(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case Qxi.PURE:default:t.setSerializationState(new iTi(t))}})},{label:"Cancel",type:_lt.PROCEED,default:!0}]})}),className:vse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:Sp(e)},e);var r})}),wne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof iTi&&wne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:wne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof iTi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[wne.jsx(Uie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),wne.jsxs("div",{className:vse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[wne.jsx("button",{className:vse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?wne.jsx(hre,{}):wne.jsx(Zre,{})}),wne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:wne.jsx(Mre,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),wne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof iTi&&n.configModal&&wne.jsx(IDi,{pureSerializationState:n,graphFetchState:t,config:n.config??tTi.createDefault()}),wne.jsxs(OFe,{orientation:"horizontal",children:[wne.jsx(LFe,{children:wne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:wne.jsx(rIe,{components:{TreeNodeContainer:RDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{Kxi(i,e),0===i.nodes.size&&t.setSerializationState(new iTi(t)),n instanceof rTi&&n.treeData?.nodes.get(e.id)&&(Kxi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),wne.jsx(MFe,{}),n instanceof rTi&&n.treeData&&wne.jsx(LFe,{children:wne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:wne.jsx(DDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),ODi=tie(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof rTi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=cPe(()=>({accept:[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{mEn.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:wne.jsxs(OPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||$xi(r))&&wne.jsx(mLe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!$xi(r)&&wne.jsx(kDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),LDi=tie(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof iTi||n instanceof rTi?wne.jsx(ODi,{graphFetchTreeState:t,serializationState:n}):wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_GRAPH_FETCH,children:wne.jsx(pLe,{children:wne.jsxs("div",{className:"unsupported-element-editor__main",children:[wne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),wne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(cTi.TEXT),children:"Edit in text mode"})]})})})}),MDi=tie(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof nw?i=jxi(js(t.graphFetchTree,nw),!0):t.graphFetchTree instanceof iw&&(i=(e=>{const t=[],n=new Map,i=zxi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new nw(ZC.create(new xS("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[void 0!==t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),wne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Checked"}),wne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Store"}),wne.jsx("td",{className:"table__cell--left",children:t.store})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),wne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),wne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),wne.jsx(aLe,{}),i&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:wne.jsx(rIe,{components:{TreeNodeContainer:RDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(Vs),innerProps:{isReadOnly:!0}})})}),wne.jsx(aLe,{})]}),t.xStorePropertyFetchDetails&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" subTree "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),wne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof w2&&wne.jsx(pTi,{resultType:t.resultType}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})})}),PDi=tie(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return wne.jsxs(rLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Name"}),wne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),wne.jsx("tbody",{children:t.map(e=>{return wne.jsx(n.Fragment,{children:wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.name}),wne.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===iS.ZERO?"[0]":t===iS.ONE?"[1]":t===iS.ZERO_ONE?"[0..1]":t===iS.ZERO_MANY||t===iS.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),FDi=tie(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=eo(t.values)?t.values.value:""}catch{}return wne.jsxs(rLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&wne.jsx("div",{className:"query-builder__constant__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx("pre",{children:wne.jsx("div",{className:"query-builder__constant__container__item",children:wne.jsxs("div",{children:["value: ",r]})})})]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__constant__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),BDi=tie(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return wne.jsxs(rLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx("div",{className:"query-builder__allocation__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__allocation__container__item",children:wne.jsx("table",{className:"query-builder__allocation__container__table",children:wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{children:"varName"}),wne.jsx("td",{children:`: ${i}`})]}),wne.jsxs("tr",{children:[wne.jsx("td",{children:"realizeInMemory"}),wne.jsx("td",{children:`: ${s}`})]})]})})})]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:r}),wne.jsx(aLe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof A1&&wne.jsx(FDi,{cnode:t.executionNodes[0],executionPlanState:n}),wne.jsx(aLe,{})]})}),VDi=tie(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?wne.jsx("div",{}):o?wne.jsx(lse,{}):wne.jsx(dse,{});return wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__sequence__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),wne.jsx(aLe,{}),t.executionNodes.map((e,t)=>wne.jsx("div",{className:"query-builder__sequence__container__item",children:wne.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof ski?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof oki&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${ZDi(e)}`,children:[!r&&l,`${t+1}: ${ZDi(e)}`]})},e._UUID))]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:s}),!1===r&&o&&wne.jsx(tki,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),UDi=tie(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?wne.jsx(VDi,{node:t,executionPlanState:n,viewJson:i}):wne.jsxs(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx(VDi,{node:t,executionPlanState:n,viewJson:i}),wne.jsx("div",{className:"query-builder__execution__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),GDi=tie(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return wne.jsxs(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__sql__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),HDi=tie(e=>{const{node:t,executionPlanState:n}=e;return wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof t2&&t.implementation.executionClassFullName&&wne.jsx("div",{className:"query-builder__implementation__container__item",children:wne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,c5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(dki.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof t2&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var zDi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(zDi||(zDi={}));const WDi=tie(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof M2?i=zDi.RESULT_SET:t instanceof U2&&(i=zDi.TEMP_FILE),t instanceof B2&&(i=zDi.SUB_QUERY),wne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&wne.jsxs(sLe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),wne.jsx(sLe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${ZDi(t.createTempTableNode)})`}),wne.jsx(tki,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),wne.jsx(aLe,{}),wne.jsx(sLe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${ZDi(t.loadTempTableNode)})`}),wne.jsx(tki,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),wne.jsx(aLe,{}),wne.jsx(sLe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${ZDi(t.dropTempTableNode)})`}),wne.jsx(tki,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),wne.jsx(aLe,{})]})});var jDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(jDi||(jDi={}));const $Di=tie(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(jDi.GENERAL);return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(jDi).map(e=>wne.jsx("div",{onClick:()=>o(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===jDi.GENERAL&&wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),wne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Checked"}),wne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:wne.jsx(HDi,{node:t,executionPlanState:i})}),wne.jsx(aLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(gTi,{resultType:t.resultType})}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(cki.JSON),text:"View JSON"})})]}),s===jDi.TEMP_TABLE&&t.tempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var qDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(qDi||(qDi={}));const YDi=tie(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(qDi.GENERAL);return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(qDi).map(e=>wne.jsx("div",{onClick:()=>o(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===qDi.GENERAL&&wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:wne.jsx(HDi,{node:t,executionPlanState:i})}),wne.jsx(aLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(gTi,{resultType:t.resultType})}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(cki.JSON),text:"View JSON"})})]}),s===qDi.TEMP_TABLE&&t.tempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var KDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(KDi||(KDi={}));const XDi=tie(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(KDi.GENERAL);return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(KDi).map(e=>wne.jsx("div",{onClick:()=>o(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===KDi.GENERAL&&wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:wne.jsx(HDi,{node:t,executionPlanState:i})}),wne.jsx(aLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(gTi,{resultType:t.resultType})}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(cki.JSON),text:"View JSON"})})]}),s===KDi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===KDi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),ZDi=e=>e instanceof Kq?"SQL Execution Node":e instanceof Qq?"Relational TDS Instantiation Execution Node":e instanceof E1?"Function Parameters Validation Node":e instanceof T1?`Allocation Execution Node (${e.varName})`:e instanceof A1?"Constant Execution Node":e instanceof N1?"Sequence Execution Node":e instanceof a2?"Store Mapping Global Graph Fetch Execution Node":e instanceof y2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof H2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof h2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof _2?"Pure Expression Platform Execution Node":"Other",QDi=tie(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof t2&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(dki).map(e=>wne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:Sp(e)},e))})}),t.globalImplementationSupportState.selectedTab===dki.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof t2&&wne.jsxs(OFe,{orientation:"vertical",children:[wne.jsx(LFe,{minSize:30,size:400,children:wne.jsx(rLe,{darkMode:r,className:"query-builder__java__container__panel",children:wne.jsx("div",{className:"query-builder__java__container",children:wne.jsxs("div",{children:[n.classes.map(e=>wne.jsx("div",{className:vse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:wne.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),wne.jsx(aLe,{})]})})})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:"var(--color-dark-grey-200)"})}),wne.jsx(LFe,{children:t.globalImplementationSupportState.selectedJavaClass&&wne.jsx(rEn,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:JSn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===dki.GENERAL&&i.length>0&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),wne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),wne.jsx("div",{className:"query-builder__template--function--editor__code",children:wne.jsx(rEn,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:JSn.XML,hideMinimap:!0,hideActionBar:!0})}),wne.jsx("div",{className:"query-builder__template--function--editor__json",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(cki.JSON),text:"View JSON"})})]})]})})}),JDi=tie(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{});let o="",a="";return t instanceof oki&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof a2?o="Cross":t.executionNode instanceof c2&&(o="Local")),a=(e=>{if(e instanceof a2||e instanceof c2){if(e.graphFetchTree instanceof nw)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof iw)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),wne.jsxs("div",{className:vse("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[wne.jsx("div",{className:"tree-view__node__icon",children:wne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&wne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:wne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&wne.jsx("div",{className:"execution-plan-viewer__node__type",children:wne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),wne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),eki=tie(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof ski){const n=e.executionPlan.rootExecutionNode,i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof oki){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof a2){const n=e.executionNode.localGraphFetchExecutionNode,i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof d2&&e.executionNode.children.forEach(n=>{const i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return wne.jsx(rIe,{components:{TreeNodeContainer:JDi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(Vs);return n},onNodeSelect:e=>{e instanceof ski?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof oki&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),tki=tie(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof Kq?wne.jsx(ADi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Qq?wne.jsx(GDi,{node:t,executionPlanState:n}):t instanceof E1?wne.jsx(PDi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof T1?wne.jsx(BDi,{node:t,executionPlanState:n}):t instanceof A1?wne.jsx(FDi,{cnode:t,executionPlanState:n}):t instanceof N1?wne.jsx(UDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof a2?wne.jsx(MDi,{storeMappingNode:t,executionPlanState:n}):t instanceof H2?wne.jsx(XDi,{node:t,executionPlanState:n}):t instanceof y2?wne.jsx($Di,{node:t,executionPlanState:n}):t instanceof h2?wne.jsx(YDi,{node:t,executionPlanState:n}):wne.jsx(pLe,{children:wne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[wne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),wne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),children:"View JSON"})]})})}),nki=tie(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof ski?r=i.selectedNode.executionPlan:i.selectedNode instanceof oki&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof ski&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(cki);return wne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[wne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:wne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),wne.jsx(YOe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:wne.jsx(HOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:wne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[wne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),wne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>wne.jsx(zOe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:wne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),wne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===cki.JSON&&Boolean(t)&&wne.jsx(rEn,{inputValue:t,isReadOnly:!0,language:JSn.JSON,hideMinimap:!0}),i.viewMode===cki.FORM&&wne.jsxs(wne.Fragment,{children:[r instanceof Yq&&wne.jsx(tki,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof c5&&wne.jsx(QDi,{executionPlanState:i})]})]})]})})}),iki=tie(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return wne.jsx("div",{className:"execution-plan-viewer__content",children:i?wne.jsxs(OFe,{orientation:"vertical",children:[wne.jsx(LFe,{size:300,minSize:300,children:wne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[wne.jsx(tLe,{darkMode:r,title:"execution plan explorer"}),wne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:wne.jsx(eki,{executionPlanState:t,executionPlan:i})})]})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),wne.jsx(LFe,{children:wne.jsx(nki,{displayData:t.displayData,executionPlanState:t})})]}):wne.jsx(rEn,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:JSn.JSON})})}),rki=tie(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(dki.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?wne.jsx(Vye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{className:"editor-modal",darkMode:r,children:[wne.jsx(MOe,{title:"Execution Plan"}),wne.jsx(FOe,{children:t.debugText?wne.jsxs(OFe,{orientation:"horizontal",children:[wne.jsx(LFe,{minSize:100,children:wne.jsx(iki,{executionPlanState:t,rawPlan:i})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),wne.jsx(LFe,{size:200,minSize:28,children:wne.jsxs(JOe,{className:"panel execution-plan-viewer__debug-panel",children:[wne.jsx(eLe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),wne.jsx(rLe,{children:wne.jsx(rEn,{inputValue:t.debugText,isReadOnly:!0,language:JSn.TEXT})})]})})]}):wne.jsx(iki,{executionPlanState:t,rawPlan:i})}),wne.jsx(BOe,{children:wne.jsx(UOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class ski{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){d_(this,{isSelected:Ty,isOpen:Ty,setIsSelected:Lv,setIsOpen:Lv}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class oki{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){d_(this,{isSelected:Ty,isOpen:Ty,setIsSelected:Lv,setIsOpen:Lv}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const aki=(e,t,n)=>{const i=new oki(e._UUID,t,e,n instanceof oki?ZDi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(Yq)).forEach(e=>{Co(r,e._UUID)}),e instanceof a2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(Yq)).forEach(e=>{Co(r,e._UUID)})),e instanceof d2&&e.children.slice().filter(zs(Yq)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},lki=e=>{const t=[],n=new Map,i=(e=>{const t=new ski("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return Co(n,i),t.childrenIds=n,t})(e);return Co(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var cki,dki;!function(e){e.FORM="Form",e.JSON="JSON"}(cki||(cki={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(dki||(dki={}));class uki{selectedTab=dki.GENERAL;selectedJavaClass=void 0;constructor(){d_(this,{selectedTab:Ty,selectedJavaClass:Ty,setSelectedTab:Lv,setSelectedJavaClass:Lv})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class hki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=cki.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new uki;constructor(e,t){d_(this,{displayData:Ty,displayDataJson:Ty,viewMode:Ty,rawPlan:Ty,plan:Ty,debugText:Ty,treeData:Ty,setExecutionPlanDisplayData:Lv,setExecutionPlanDisplayDataJson:Lv,transformMetadataToProtocolJson:Lv,setSelectedNode:Lv,setRawPlan:Lv,setPlan:Lv,setViewMode:Lv,setDebugText:Lv,setTreeNode:Lv,setTreeData:Lv,refreshTreeData:Lv,nonNullableTreeData:Iy,initialize:Lv,globalImplementationSupportState:Ty}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return Gs(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(lki(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof c5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof Yq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const pki=e=>wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[wne.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:wne.jsx(Pie,{})}),wne.jsx("div",{children:e.displayName})]}),gki=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>4}return!1}));switch(t){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:pki}}:{};default:return{}}}return{}},mki=tie(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=t.queryBuilderState.fetchStructureState.implementation,r=t.queryBuilderState.applicationStore,s=e.value,o=Gs(e.node.rowIndex),a=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,l=Xs(s)&&Fc(s)?s:void 0,c=e.column?.getColId()??"",d=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),u=d(c,o),h=t.selectedCells.some(e=>e.coordinates.colIndex===u.colIndex&&e.coordinates.rowIndex===u.rowIndex),p=e=>{if(t.executionResult&&t.executionResult instanceof RZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof RZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>kZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>kZ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},m=e=>{if(e.preventDefault(),e.shiftKey){const e=d(c,o),n=g([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:c,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=d(c,o),n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=d(c,o);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return wne.jsx(qOe,{content:(()=>{if(i instanceof xwi){const n=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(i.queryBuilderState.resultState.selectedCells.map(e=>e.value).join(","))),s=t=>{if(!(i.queryBuilderState.resultState.executionResult&&i.queryBuilderState.resultState.executionResult instanceof RZ))return"";const n=[];return Object.entries(e.api.getRenderedNodes().find(e=>e.rowIndex===t)?.data).forEach(e=>{"rowNumber"!==e[0]&&n.push(e[1])}),n.join(",")},o=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(s(i.queryBuilderState.resultState.selectedCells[0]?.coordinates.rowIndex??0)));return wne.jsx(xDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof xwi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:vse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:wne.jsx("div",{className:vse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":h}),onMouseDown:e=>m(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=d(c,o);t.setSelectedCells([e]);const r=Math.min(n.rowIndex,i.rowIndex),s=Math.min(n.colIndex,i.colIndex),a=Math.max(n.rowIndex,i.rowIndex),l=Math.max(n.colIndex,i.colIndex);for(let e=r;e<=a;e++)for(let n=s;n<=l;n++){const i={value:g([e,n]),columnName:p(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:l?wne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):wne.jsx("span",{children:Zs(s)?Intl.NumberFormat(Cwi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),fki=tie(e=>{const{executionResult:t,queryBuilderState:n}=e,i=n.resultState,r=!n.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,s=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...gki(t,e),cellRenderer:mki,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:wne.jsx("div",{className:vse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:wne.jsx(XIi,{rowData:aDi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1}},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:s})})})});var yki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(yki||(yki={}));const vki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case AC.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case AC.DATE:case AC.DATETIME:case AC.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case AC.DECIMAL:case AC.NUMBER:case AC.INTEGER:case AC.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},_ki=tie(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&Fc(n)?n:void 0;return wne.jsx("div",{className:vse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{e.preventDefault(),0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?wne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):wne.jsx("span",{children:Zs(n)?Intl.NumberFormat(Cwi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),bki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case AC.DATE:case AC.DATETIME:case AC.STRICTDATE:return{filter:"agDateColumnFilter"};case AC.DECIMAL:case AC.INTEGER:case AC.NUMBER:case AC.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},Cki=tie(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Pat(),s=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,[o,a]=n.useState(void 0),[l,c]=n.useState(void 0),d=i.resultState,u=i.isLocalModeEnabled,h=u?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:_ki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...vki(e,n),...gki(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:_ki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...bki(e,n),...gki(e,n)})))(t,d),p=()=>{o&&d.setGridConfig({columns:o.getColumnState(),isPivotModeEnabled:o.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},g=n.useCallback(e=>{let t=[];const n=d.queryBuilderState.fetchStructureState.implementation;return n instanceof xwi&&(t=[{name:"Filter By",action:()=>{wDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{wDi(r,d.mousedOverCell,!1,n).catch(i.applicationStore.alertUnhandledError)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]),t},[r,d.mousedOverCell,d.queryBuilderState.fetchStructureState.implementation,i.applicationStore.alertUnhandledError]),m=o?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),f=l?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(l.colDef.field)?{label:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field)),value:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field))}:null;return n.useEffect(()=>{l&&l.api.setColumnAggFunc(Gs(l.colDef.field),yki.WAVG)},[d.wavgAggregationState,l]),wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:wne.jsxs("div",{className:vse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?wne.jsx(XIi,{rowData:aDi(t),onGridReady:e=>{a(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:h,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new wki),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),c(e)):r.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),s=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return p(),s/i;r.notificationService.notifyError("The weighted column sum is 0")}else r.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){Kr(e),r.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:p,onColumnPinned:p,onColumnResized:p,onColumnRowGroupChanged:p,onColumnValueChanged:p,onColumnPivotChanged:p,onColumnPivotModeChanged:p}):wne.jsx(XIi,{rowData:aDi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:e=>{const t=(e=>{const t=e.getCellRanges(),n=[];e.forEachNode(e=>n.push(e));const i=e.getColumnDefs(),r=[];if(t)for(const e of t){const t=e.startRow?.rowIndex??0,s=e.endRow?.rowIndex??0,o=t<s?t:s,a=t<s?s:t,l=e.columns.map(e=>e.getColId());for(let e=o;e<=a;e++){const t=n.find(t=>t.rowIndex===e)?.data;if(t)for(const n of l){const s={value:Object.entries(t).find(e=>e[0]===n)?.at(1),columnName:n,coordinates:{rowIndex:e,colIndex:i.findIndex(e=>e.colId===n)}};r.push(s)}}}return r})(e.api);d.setSelectedCells([]),t.forEach(e=>d.addSelectedCell(e))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:h,getContextMenuItems:e=>g(e)}),d.wavgAggregationState?.isApplyingWavg&&wne.jsx(Vye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[wne.jsx(MOe,{title:"Applying Weighted Average"}),wne.jsxs(FOe,{children:[wne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),wne.jsx(IOe,{options:m,onChange:e=>{l?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(l.colDef.field,e.value)},value:f,placeholder:"Choose a weighted column",darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),wne.jsx(BOe,{children:wne.jsx(UOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var Ski;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(Ski||(Ski={}));class Eki{applicationStore;selectedTab=Ski.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){d_(this,{selectedTab:Ty,lineageData:Ty,isLineageViewerOpen:Ty,selectedPropertyOwnerNode:Ty,selectedProperty:Ty,selectedSourcePropertiesMap:Ty,setSelectedTab:Lv,setLineageData:Lv,setIsLineageViewerOpen:Lv,setSelectedPropertyOwnerNode:Lv,setSelectedProperty:Lv,setSelectedSourcePropertiesMap:Lv,clearPropertySelections:Lv}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class wki{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){d_(this,{isApplyingWavg:Ty,weightedColumnIdPairs:Ty,setIsApplyingWavg:Lv,addWeightedColumnIdPair:Lv,removeWeightedColumnIdPair:Lv}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class xki{queryBuilderState;executionPlanState;exportState=pb.create();previewLimit=1e3;pressedRunQuery=pb.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){d_(this,{executionResult:Ty,executionTraceId:Ty,previewLimit:Ty,executionDuration:Ty,latestRunHashCode:Ty,queryRunPromise:Ty,isGeneratingPlan:Ty,selectedCells:Ty,mousedOverCell:Ty,isRunningQuery:Ty,isSelectingCells:Ty,isQueryUsageViewerOpened:Ty,isExecutionResultOverflowing:Ty,gridConfig:Ty,wavgAggregationState:Ty,executionError:Ty,setGridConfig:Lv,setWavgAggregationState:Lv,setIsSelectingCells:Lv,setIsRunningQuery:Lv,setExecutionResult:Lv,setExecutionTraceId:Lv,setExecutionDuration:Lv,setPreviewLimit:Lv,addSelectedCell:Lv,setSelectedCells:Lv,setMouseOverCell:Lv,setQueryRunPromise:Lv,setIsQueryUsageViewerOpened:Lv,setIsExecutionResultOverflowing:Lv,handlePreConfiguredGridConfig:Lv,updatePreviewLimitInConfig:Lv,setExecutionError:Lv,exportData:Zv,runQuery:Zv,cancelQuery:Zv,generatePlan:Zv,generateLineage:Zv}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new hki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new Eki(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof xwi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof RZ&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===yki.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new wki,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=gEi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=K3(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return sEi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});mEn.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:rEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(jQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=Y5(this.queryBuilderState.graphManagerState.graph);_ct(s,`result.${Ac(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());mEn.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=rEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);mEn.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new gb,s=Y5(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[WQ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());mEn.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof mQ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new gb,r=Y5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){mEn.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else mEn.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(uEn.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?mEn.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):mEn.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class Tki{queryBuilderState;rawLambda;lambdaError;constructor(e){d_(this,{rawLambda:Ty,lambdaError:Ty,setRawLambda:Lv,setLambdaError:Lv,hashCode:Iy}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return Cg([ewn.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const Aki="QUERY_BUILDER_FUNCTION",Nki=(e,t)=>t===TC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,Rki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof PS)).filter(t=>t instanceof TS&&Nki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),Iki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),Dki=(e,t,n,i=TC.MAIN)=>{const r=i===TC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=Nki(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof TS&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>Rki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>Iki(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},kki=(e,t,n=TC.MAIN)=>{const i=[],r=new Map,s=Nki(t,n);if(n===TC.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof TS&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=Rki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},Oki=(e,t,n,i=TC.MAIN)=>(Dki(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(DOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),Lki=e=>e.package?(e instanceof TS?[e]:[]).concat([e.package].concat(Lki(e.package))):[];class Mki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){d_(this,{functionAnalysisInfo:Ty}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Pki{initState=pb.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){d_(this,{functionExplorerStates:Ty.ref,setFunctionExplorerStates:Lv,dependencyFunctionExplorerStates:Ty.ref,setDependencyFunctionExplorerStates:Lv,treeData:Ty.ref,dependencyTreeData:Ty.ref,_functionGraph:Ty,functionInfoMap:Ty,dependencyFunctionInfoMap:Ty,packagePathToFunctionInfoMap:Ty,setFunctionInfoMap:Lv,setDependencyFunctionInfoMap:Lv,setTreeData:Lv,setPackagePathToFunctionInfoMap:Lv,setDependencyTreeData:Lv,refreshTree:Lv,onTreeNodeSelect:Lv,initializeTreeData:Lv}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=TC.MAIN){return e===TC.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>Pw(this._functionGraph,e.packagePath,void 0)).map(e=>Lki(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Pw(this._functionGraph,e.packagePath,void 0)).map(e=>Lki(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return Gs(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=TC.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,Dki(e,t,n,i)),i===TC.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(ox(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;ox(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(kki([this._functionGraph.root],this.queryBuilderState,TC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new Mki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(kki([this._functionGraph.root],this.queryBuilderState,TC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new Mki(this,e)):[])}),this.initState.pass())}}class Fki extends lEi{queryBuilderState;selectedParameter;constructor(e){super(),d_(this,{parameterValuesEditorState:Ty,parameterStates:Ty,addParameter:Lv,removeParameter:Lv,setParameters:Lv,selectedParameter:Ty,setSelectedParameter:Lv,hashCode:Hf}),this.queryBuilderState=e}get hashCode(){return Cg([ewn.PARAMETERS_STATE,Cg(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Bki extends ZIi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_GREATER_THAN])}}class Vki extends ZIi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return mS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===AC.STRING)return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return QIi(e,SEn.STARTS_WITH,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.STARTS_WITH,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_START_WITH])}}class Uki extends Vki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_START_WITH])}}class Gki extends ZIi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class Hki extends ZIi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class zki extends ZIi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_LESS_THAN])}}class Wki extends ZIi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return mS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===AC.STRING)return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return QIi(e,SEn.ENDS_WITH,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.ENDS_WITH,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_END_WITH])}}class jki extends Wki{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_END_WITH])}}class $ki extends ZIi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return mS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===AC.STRING)return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return QIi(e,SEn.CONTAINS,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.CONTAINS,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_CONTAIN])}}class qki extends $ki{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_CONTAIN])}}var Yki;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(Yki||(Yki={}));class Kki{changeDetectionState;initialQuery;currentQuery;mode=Yki.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){d_(this,{mode:Ty,initialQueryGrammarText:Ty,currentQueryGrammarText:Ty,setMode:Lv,generateGrammarDiff:Zv}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){Kr(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){Kr(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class Xki{querybuilderState;initState=pb.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){d_(this,{diffViewState:Ty,querySnapshot:Ty,hashCodeSnapshot:Ty,hasChanged:Iy,initialize:Lv,showDiffViewPanel:Lv,hideDiffViewPanel:Lv}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new Kki(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:_lt.PROCEED,default:!0}]}):e()}}const Zki=e=>e instanceof PE?`${CC}${e.name}`:e instanceof BE&&e.genericType.value.rawType===mS.STRICTDATE?e.values[0]:e instanceof BE&&e.genericType.value.rawType===mS.LATESTDATE?"%latest":"(unknown)",Qki=(e,t)=>{const n=nx(e,t.graphManagerState.graph);return wne.jsx("div",{className:vse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:wne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},Jki=tie(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Pat(),o=Dke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:Qki(e,t)})),l=t.class?{value:t.class,label:Qki(t.class,t)}:null;return wne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:wne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[wne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),wne.jsx(IOe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.class&&(t.changeClass(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Fwi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),eOi=e=>({value:e,label:e instanceof Zj?e.packageableRuntime.value.name:"custom"}),tOi=e=>function(t){if(t.value instanceof Zj){const n=t.value;return Fwi(e)(Mwi(n.packageableRuntime.value))}return t.value instanceof Zj?t.value.packageableRuntime.value.name:wne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[wne.jsx(fre,{}),wne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},nOi=tie(e=>{const{queryBuilderState:t}=e,n=Pat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(Mwi).sort(DOe),s=t.executionContextState.mapping?Mwi(t.executionContextState.mapping):null,o=Dke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Zj(ZC.create(e))).map(eOi).sort(DOe),l=t.executionContextState.runtimeValue?eOi(t.executionContextState.runtimeValue):null,c=Dke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Zj?e.data.value.packageableRuntime.value.path:"custom"});return wne.jsxs("div",{className:"query-builder__setup__config-group",children:[wne.jsx(eLe,{title:"properties"}),wne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[wne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[wne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),wne.jsx(IOe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.class,options:r,onChange:e=>{t.class&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Fwi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),wne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[wne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),wne.jsx(IOe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.class||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:tOi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),wne.jsx("div",{className:"query-builder__setup__config-group__item",children:wne.jsx(Jki,{queryBuilderState:t,classes:i})})]})]})}),iOi=tie(e=>{const{queryBuilderState:t,children:n}=e,i=Pat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):wne.jsx(wne.Fragment,{});return wne.jsxs("div",{className:vse("query-builder__side-bar",t.sideBarClassName),children:[wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:wne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??wne.jsx(nOi,{queryBuilderState:t})})}),wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),wne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class rOi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class sOi extends rOi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${Zki(this.getMilestoningDate(0))}, Business Date: ${Zki(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(FC)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(BC))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof PE?this.milestoningState.businessDate.name:BC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof PE?this.milestoningState.processingDate.name:FC)].filter(Vs)}processGetAllParamaters(e){Ks(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(Gs(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=VCi(SEn.NOW,mS.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new Yr("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===OC.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new ew(()=>Gs(js(n,XE).parametersValues[1]));let o;return e&&n&&!t?o=new ew(()=>Gs(n.parametersValues[1])):(o=new ew(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===OC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new ew(()=>Gs(js(s.propertyExpression.parametersValues[0],XE).parametersValues[1]));let o;return e&&n&&!t?o=new ew(()=>Gs(n.parametersValues[2])):(o=new ew(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class oOi extends rOi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${Zki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(BC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof PE?this.milestoningState.businessDate.name:BC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=VCi(SEn.NOW,mS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===OC.BUSINESS_TEMPORAL?new ew(()=>Gs(n.parametersValues[1])):new ew(()=>Gs(n.parametersValues[2]));{const n=new ew(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class aOi extends rOi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${Zki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof PE?this.milestoningState.processingDate.name:FC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=VCi(SEn.NOW,mS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new ew(()=>Gs(n.parametersValues[1]));{const n=new ew(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class lOi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){d_(this,{processingDate:Ty,businessDate:Ty,startDate:Ty,endDate:Ty,showMilestoningEditor:Ty,setProcessingDate:Lv,setBusinessDate:Lv,setStartDate:Lv,setEndDate:Lv,setShowMilestoningEditor:Lv,clearMilestoningDates:Lv,setAllVersions:Lv,setAllVersionsInRange:Lv,initializeAllVersionsInRangeParameters:Lv,clearAllVersionsInRangeParameters:Lv,clearGetAllParameters:Lv,isAllVersionsEnabled:Iy,isAllVersionsInRangeEnabled:Iy,isMilestonedQuery:Iy,hashCode:Iy}),this.queryBuilderState=e,this.milestoningImplementations.push(new oOi(this,OC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new aOi(this,OC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new sOi(this,OC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof xwi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof iSi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof aSi&&e.projectionColumnState instanceof iSi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof qSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof jSi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==Gw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Gw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==OC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?ste(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?ste(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return Gs(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?ste(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?ste(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(MC)),this.setEndDate(this.buildMilestoningParameter(PC))}clearGetAllParameters(){if(this.businessDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,PE).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,PE).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof BE&&this.setBusinessDate(void 0),this.processingDate instanceof BE&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Gw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new PE(e,iS.ONE,vS.create(new wS(mS.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new oEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new PE(e,iS.ONE,vS.create(new wS(mS.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new oEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof PE){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof PE){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&QEn(e,this.businessDate),n=!!this.processingDate&&QEn(e,this.processingDate),i=!!this.startDate&&QEn(e,this.startDate),r=!!this.endDate&&QEn(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof PE&&(t=e.name===js(this.businessDate,PE).name),this.processingDate instanceof PE&&(t=t||e.name===js(this.processingDate,PE).name),this.startDate instanceof PE&&(t=t||e.name===js(this.startDate,PE).name),this.endDate instanceof PE&&(t=t||e.name===js(this.endDate,PE).name),t}get hashCode(){return Cg([ewn.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var cOi;!function(e){e.COMPILE="query-builder.compile"}(cOi||(cOi={}));const dOi={[cOi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class uOi{queryBuilderState;value;constructor(e){d_(this,{value:Ty,setValue:Lv,hashCode:Iy}),this.queryBuilderState=e}getDefaultValue(){return new BE(vS.create(new wS(mS.STRING)))}setValue(e){this.value=e?ste(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&QEn(e,this.value)}get hashCode(){return Cg([ewn.WATERMARK_STATE,this.value??""])}}class hOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return Cg([ewn.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new BE(vS.create(new wS(mS.STRING)));e.values=[this.variable.name];const t=new KE(oS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class pOi extends hOi{value;constructor(e,t,n){super(e,t),d_(this,{variable:Ty,value:Ty,setValueSpec:Lv,changeValSpecType:Lv}),this.value=ste(n,this.queryBuilderState.observerContext),ste(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=zCi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof PE)throw new qr("Can not assign a parameter to another parameter");this.value=ste(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&IEn(this.variable,vS.create(new wS(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return Cg([ewn.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class gOi extends eSi{queryBuilderState;calculatedState;convertingLambdaToStringState=pb.create();constructor(e){super("",""),d_(this,{calculatedState:Ty,convertingLambdaToStringState:Ty,buildEmptyValueSpec:Ty}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(WCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Mee([gEn.QUERY_BUILDER,gEn.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){Kr(e),e instanceof hQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}}}class mOi extends hOi{value;lambdaState;constructor(e,t,n){super(e,t),d_(this,{variable:Ty,lambdaState:Ty,value:Ty,setLambdaState:Lv,setValue:Lv}),this.value=n,this.lambdaState=new gOi(this),ste(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new ME(this.value)}}class fOi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,d_(this,{constants:Ty,showConstantPanel:Ty,selectedConstant:Ty,addConstant:Lv,removeConstant:Lv,setShowConstantPanel:Lv,setSelectedConstant:Lv,convertToCalculated:Lv})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){wo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof PE&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new mOi(this.queryBuilderState,e.variable,t);Ks(So(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return Cg([ewn.CONSTANT_STATE,Cg(this.constants)])}}var yOi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}(yOi||(yOi={}));class vOi{uuid=ho();specification;entitlementReport;constructor(e){d_(this,{entitlementReport:Ty,setEntitlementReport:Lv}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class _Oi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=pb.create();checkEntitlementsState=pb.create();datasets=[];constructor(e,t,n){d_(this,{datasets:Ty,entitlementCheckInfo:Iy,fetchDatasetSpecifications:Zv,fetchDatasetEntitlementReports:Zv}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new vOi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof ZJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof e0).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof JJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof QJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof t0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-d,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=vo(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new vOi(e)})}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new vOi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class bOi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){d_(this,{showCheckEntitlementsViewer:Ty,dataAccessState:Ty,setShowCheckEntitlementsViewer:Lv,hashCode:Iy}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof Zj&&(this.dataAccessState=new _Oi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=tEi(n.graph,t),r=K3(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return Cg([ewn.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class COi{queryBuilderState;initState=pb.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){d_(this,{currentQuery:Ty,pointer:Ty,querySnapshotBuffer:Ty,initialize:Lv,undo:Lv,redo:Lv,setCurrentQuery:Lv,cacheNewQuery:Lv,canRedo:Iy,canUndo:Iy}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(uEn.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class SOi{static INSTANCE=new SOi}class EOi{actionConfig=SOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class wOi extends EOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new wOi}class xOi extends EOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new xOi}class TOi extends xxn{mapping;runtime}class AOi extends cAn{logService=new bb;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof TOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new TOi;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return LI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(MI(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(_C)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(MI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new gb,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=js(r.executionResult,RZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=Y5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());mEn.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof _Z?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof TOi){return Boolean(e.mapping??e.runtime)?Mxn(exports.DataCubeFunction.FROM,[e.mapping?Bxn(e.mapping):void 0,e.runtime?Bxn(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(eD(MI(e,[])),bT);return new kE(t.parameters,t.body)}getSourceFunctionExpression(){let e=LI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof aA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new wxn;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class NOi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var ROi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(ROi||(ROi={}));class IOi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=pb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new eDi,new tDi,new zki,new Hki,new Bki,new Gki,new Vki,new Uki,new $ki,new qki,new Wki,new jki,new nDi,new iDi,new rDi,new sDi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=ROi.STANDARD;class;getAllFunction=CEn.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){d_(this,{explorerState:Ty,parametersState:Ty,constantState:Ty,functionsExplorerState:Ty,fetchStructureState:Ty,filterState:Ty,watermarkState:Ty,milestoningState:Ty,checkEntitlementsState:Ty,resultState:Ty,textEditorState:Ty,unsupportedQueryState:Ty,showFunctionsExplorerPanel:Ty,showParametersPanel:Ty,isEditingWatermark:Ty,isCheckingEntitlments:Ty,isCalendarEnabled:Ty,changeDetectionState:Ty,changeHistoryState:Ty,executionContextState:Ty,class:Ty,queryChatState:Ty,isQueryChatOpened:Ty,isLocalModeEnabled:Ty,dataCubeViewerState:Ty,getAllFunction:Ty,lambdaWriteMode:Ty,INTERNAL__enableInitializingDefaultSimpleExpressionValue:Ty,sideBarClassName:Iy,isQuerySupported:Iy,allValidationIssues:Iy,canBuildQuery:Iy,setShowFunctionsExplorerPanel:Lv,setShowParametersPanel:Lv,setIsEditingWatermark:Lv,setIsCalendarEnabled:Lv,setDataCubeViewerState:Lv,openDataCubeEngine:Lv,setIsCheckingEntitlments:Lv,setClass:Lv,setIsQueryChatOpened:Lv,setIsLocalModeEnabled:Lv,setGetAllFunction:Lv,setLambdaWriteMode:Lv,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Lv,TEMPORARY_initializeExecContext:Lv,resetQueryResult:Lv,resetQueryContent:Lv,changeClass:Lv,changeMapping:Lv,setExecutionContextState:Lv,setQueryChatState:Lv,rebuildWithQuery:Lv,compileQuery:Zv,hashCode:Iy}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new lOi(this),this.explorerState=new Cxi(this),this.parametersState=new Fki(this),this.constantState=new fOi(this),this.functionsExplorerState=new Pki(this),this.fetchStructureState=new aTi(this),this.filterState=new KSi(this,this.filterOperators),this.watermarkState=new uOi(this),this.checkEntitlementsState=new bOi(this),this.resultState=new xki(this),this.textEditorState=new dTi(this),this.unsupportedQueryState=new Tki(this),this.observerContext=new H3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new Xki(this),this.changeHistoryState=new COi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(vwi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new dEi(this);return this.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE),e}return new uEi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===ROi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new ZZ,t=js(this.executionContextState.runtimeValue,Zj,"Query runtime must be of type runtime pointer");return Us(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=ZC.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.class?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof Zj?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(vwi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}setClass(e){this.class=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{mEn.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Zj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE);const r=rEi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new AOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new NOi(a,o)})(this))}catch(e){Kr(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:cOi.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[cOi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new xki(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new dTi(this),this.unsupportedQueryState=new Tki(this),this.milestoningState=new lOi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new Cxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new fOi(this),this.functionsExplorerState=new Pki(this),this.parametersState=new Fki(this),this.filterState=new KSi(this,this.filterOperators),this.watermarkState=new uOi(this),this.checkEntitlementsState=new bOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new aTi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(CEn.GET_ALL),this.setClass(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(e),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(CEn.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new kE(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return K3(gEi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildFromQuery(){Ks(this.isQuerySupported,"Query must be supported to build from function");const e=Gs(this.executionContextState.mapping,"Mapping required to build from() function"),t=Gs(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=js(t,Zj).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new KE(oS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new FE(iS.ONE,void 0);s.values=[ZC.create(t)];const o=new FE(iS.ONE,void 0);return o.values=[ZC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(gEi(this),e,n.value);return K3(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof xwi){return this.lambdaWriteMode===ROi.STANDARD?this.graphManagerState.graph.getClass(_En.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(_En.RELATION)}return mS.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!mj(e)){const t=ste(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,JE,"Can't build query state: query builder only support lambda");zOi(Gs(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){Kr(s),this.applicationStore.logService.error(_b.create(uEn.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setClass(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>ste(e,this.observerContext)).filter(zs(PE));HOi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===cTi.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(Kr(e),e instanceof pQ){this.applicationStore.logService.error(_b.create(ow.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Lee(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){Kr(e),this.applicationStore.logService.error(_b.create(ow.COMPILATION_FAILURE),e);let t=!0;e instanceof pQ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(cTi.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new J5(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new DOi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.class=this.class,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return Cg([ewn.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class DOi extends IOi{}class kOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const OOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.GRAPH_FETCH),Ks(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=js(e.parametersValues[0],KE,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(cS(i.functionName,[SEn.GRAPH_FETCH,SEn.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof sTi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],sw,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],nw,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");Ks(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(jxi(r));const s=e.parametersValues[2];if(s){const e=js(s,KE,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");Ks(cS(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=js(n.serializationState,iTi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],FE,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],XC,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,xS,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===_En.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${_En.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],UE,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new tTi;r.values.forEach((e,t)=>{const n=js(e,HE,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=js(e.key,BE,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);Ks(r.genericType.value.rawType.path===AC.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=io(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);Gs(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=Yw(n,s),l=js(a.genericType.value.rawType,mS,`Only primitive types suppported for config. Property ${s} for class '${_En.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,BE,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case AC.STRING:to(c);break;case AC.BOOLEAN:no(c);break;default:return}t[s]=c})(Gs(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},LOi=(e,t,n)=>{const i=js(e.parametersValues[0],KE,"Can't process project() expression: only support project() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE,SEn.FILTER,SEn.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),GOi.process(i,n,t)},MOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),LOi(e,t,n);const i=e.parametersValues[1];i instanceof UE?i.values.map(i=>GOi.processChild(i,e,n,t)):(Ws(i,KE,"Can't process project() expression: project() expects argument #1 to be a function expression"),GOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),LOi(e,t,n);const i=e.parametersValues[1];Ws(i,UE,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>GOi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof UE?(Ws(r,UE,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(ZEn).filter(Vs)):(Ws(r,BE,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),Ks(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof xwi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},POi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof xwi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof XE;){const e=r;for(XEn(r,n.graphManagerState.graph,n),r=Gs(r.parametersValues[0]),e.func.value instanceof GS&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof KE&&cS(r.functionName,SEn.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,PE,"Can't process property expression: expects expression root to be a variable");const s=new iSi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},FOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof xwi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(eD(e.content),bT));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new sSi(r,new kE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},BOi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],KE,"Can't process take() expression: only support take() immediately following an expression");if(Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof xwi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof BE&&Zs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},VOi=(e,t,n)=>{const i=e.parametersValues.length;Ks(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=js(e.parametersValues[0],KE,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(cS(c.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),GOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,xwi);Ws(s,UE,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,BE,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return wSi(d,t)});let h,p;if(r){const e=js(o,KE,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(cS(e,SEn.TDS_ASC))return wEn.ASC;if(cS(e,SEn.TDS_DESC))return wEn.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],BE,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=wSi(d,n);h=new XEi(i,t)}if(a instanceof KE){Ks(cS(a.functionName,[SEn.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],BE,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=wSi(d,t),i=js(js(e[1],JE).values[0],QE);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],KE),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new JEi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],PE,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,JE).values[0],QE);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],KE),n=Gs(d.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);Ks(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new QEi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],PE,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,BE,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),m=new ewi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},UOi=e=>!(e instanceof KE)||!cS(e.functionName,SEn.FIRST_DAY_OF_YEAR)&&!cS(e.functionName,SEn.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>UOi(e)).includes(!1);class GOi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new GOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new GOi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!cS(this.parentExpression.functionName,[SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_AGG,...Object.values(bEn)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);FOi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new Yr}visit_FunctionExpression(e){throw new Yr}visit_SimpleFunctionExpression(e){const t=e.functionName;if(cS(t,CEn.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,xS,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Gw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):Ks(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(cS(t,CEn.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,xS,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(Gw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),Ks(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(CEn.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(cS(t,CEn.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,xS,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Gw(n,t.graphManagerState.graph);Ks(void 0!==i&&i!==OC.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),Ks(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(CEn.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(Gs(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(Gs(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(cS(t,SEn.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(CSi.GRAPH_FETCH);const n=e.functionName;Ks(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;Ws(r,xS,"Can't process internalize() expression: internalize() return type is missing"),t.setClass(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=js(e.parametersValues[1],FE,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=js(js(s.values[0],XC,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,mX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],PE),l=new kOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(cS(t,[SEn.FILTER,SEn.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],KE,"Can't process filter() expression: only support filter() immediately following an expression");if(GOi.process(n,this.parentLambda,this.queryBuilderState),cS(n.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE]))return Ks(cS(t,SEn.FILTER),`Can't process filter() expression: only supports ${SEn.FILTER}() immediately following getAll() (got '${t}')`),void Uxi(e,this.queryBuilderState);if(cS(n.functionName,[SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.OLAP_GROUPBY]))return Ks(cS(t,SEn.TDS_FILTER),`Can't process post-filter expression: only supports ${SEn.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof xwi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,JE,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,xwi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),Ks(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=Gs(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=js(o.expressionSequence[0],YE,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");Ks(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(js(o.functionType.parameters[0],PE,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),DSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(cS(n.functionName,[SEn.WATERMARK]))return void Uxi(e,this.queryBuilderState);throw new Yr("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(cS(t,SEn.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],KE,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),GOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT]))(n=e).functionName===SEn.RELATION_PROJECT||cS(n.functionName,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof $E?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],KE,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE,SEn.FILTER,SEn.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),GOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,$E,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE),GOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):MOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_COL))((e,t)=>{Ks(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=js(e.parametersValues[0],JE,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],BE,"Can't process col() func expression: the #2 argument of col() should be a string");POi(js(n.values[0]?.expressionSequence[0],XE,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof xwi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(cS(t,[SEn.TDS_TAKE,SEn.RELATION_LIMIT]))BOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_DISTINCT))((e,t,n)=>{Ks(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=js(e.parametersValues[0],KE,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof xwi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_SORT))((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=js(e.parametersValues[0],KE,"Can't process sort() expression: only support sort() immediately following an expression");Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),GOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,UE,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>GOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],KE,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof xwi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],BE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=ro(js(e.parametersValues[2],BE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[SEn.TDS_ASC,SEn.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation,r=ZEn(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new _Si(s);e.sortType=cS(i,SEn.TDS_ASC)?wEn.ASC:wEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[SEn.RELATION_ASC,SEn.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],WE);Ks(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=Gs(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new _Si(o);e.sortType=cS(i,SEn.RELATION_ASC)?wEn.ASC:wEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[SEn.TDS_GROUP_BY,SEn.RELATION_GROUP_BY]))(e=>e.functionName===SEn.RELATION_GROUP_BY||cS(e.functionName,[SEn.TDS_GROUP_BY,SEn.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof $E)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],KE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(cS(i.functionName,[SEn.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),GOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,xwi),s=js(e.parametersValues[1],$E,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");Ks(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{Ks(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];Ws(o,$E,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),GOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],KE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE,SEn.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),GOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,UE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>GOi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,UE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>GOi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,UE,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),Ks(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(ZEn).filter(Vs);t.fetchStructureState.implementation instanceof xwi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),Ks(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),GOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,JE,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=Gs(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=js(o.expressionSequence[0],KE,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];Ws(t,JE,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=Gs(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof KE?n.expressionSequence[0]:void 0}Ks(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=js(o.functionType.parameters[0],PE,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=Xr(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof YEi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)Xr(()=>e.updateAggregateColumnState(Gs(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.OLAP_GROUPBY))VOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.SERIALIZE))OOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],KE,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(cS(i.functionName,[SEn.GRAPH_FETCH,SEn.GRAPH_FETCH_CHECKED,SEn.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof sTi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],sw,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],nw,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(jxi(s));const o=js(e.parametersValues[1],FE,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=js(js(o.values[0],XC,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,mX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new rTi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],sw,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],nw,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(jxi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[SEn.GRAPH_FETCH_CHECKED,SEn.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;Ks(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=js(e.parametersValues[0],KE,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(cS(r.functionName,[SEn.FILTER,CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),GOi.process(r,n,t),t.fetchStructureState.implementation instanceof sTi&&t.fetchStructureState.implementation.setChecked(cS(e.functionName,SEn.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;Ks(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=io(js(i[0],BE,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=Gs(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=Gs(i[1]);let a;a=o instanceof ME?new mOi(t,s,o.content):UOi(o)?new pOi(t,s,o):new mOi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(cS(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return Ks(3===t.length,"From function expects 2 parameters (mapping and runtime)"),((e,t)=>{const n=js(e.parametersValues[1],FE,"Can't process from() expression: only support from() with 1st parameter as instance value"),i=js(js(n.values[0],XC,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,uw,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],FE,"Can't process from() expression: only support from() with 2nd parameter as instance value"),s=js(js(r.values[0],XC,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,gw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new dEi(t);o.setMapping(i),o.setRuntimeValue(new Zj(ZC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void GOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(cS(t,Object.values(bEn)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void GOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!cS(t,SEn.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),Ks(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>Ws(e,XE,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),GOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation;Gs(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda)}}}visit_VariableExpression(e){throw new Yr}visit_AbstractPropertyExpression(e){if(Us(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!cS(this.parentExpression.functionName,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_AGG,SEn.WAVG_ROW_MAPPER,...Object.values(bEn)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);POi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new Yr}visit_KeyExpressionInstanceValue(e){throw new Yr}visit_CollectionInstanceValue(e){throw new Yr}visit_EnumValueInstanceValue(e){throw new Yr}visit_PrimitiveInstanceValue(e){throw new Yr}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new GOi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new Yr}visit_ColSpecArrayInstance(e){if(Us(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),cS(this.parentExpression.functionName,[SEn.RELATION_PROJECT])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{const t=js(e.function1,JE,"Can't process col spec: function1 not a lambda function instance value");Ks(1===t.values.length);const n=Gs(t.values[0]);Ks(1===n.expressionSequence.length);const i=Gs(n.expressionSequence[0]);i instanceof XE?POi(i,e.name,this.queryBuilderState):i instanceof ME&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),FOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(cS(this.parentExpression.functionName,[SEn.RELATION_GROUP_BY])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{Ks(Boolean(t&&cS(t.functionName,SEn.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,JE,"Can't process colSpec: function1 is not a lambda function instance value");Ks(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),Ks(1===Gs(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=js(e.function2,JE,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof xwi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=Gs(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=Gs(r.values[0],"Can't process colSpec: function2 lambda function is missing");Ks(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),Ks(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=js(a.expressionSequence[0],KE,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],PE,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=Xr(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof YEi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=js(t?.genericType?.value.typeArguments?.[0]?.value.rawType,ES,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=Gs(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?vS.create(new wS(o)):r.genericType)}}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new Yr(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const HOi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof PE&&AEn(i,e))r=n.value;else if(Xs(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&Qw(i,t)&&(r=n.value)}});const s=new oEi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},zOi=(e,t,n)=>{e.functionType.parameters.length&&HOi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>GOi.process(n,e,t))},WOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:wne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:AC.STRICTDATE}),s(new RCi(e.target.value,ECi.ABSOLUTE_DATE))}})})},jOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:wne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:AC.DATETIME}),s(new RCi(e.target.value,ECi.ABSOLUTE_TIME))}})})},$Oi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Pat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??wCi.DAYS),[u,h]=n.useState(t.direction??ACi.BEFORE),[p,g]=n.useState(t.referenceMoment??NCi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new ICi(ECi.CUSTOM_DATE,ECi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=OCi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=Gs(a[0]?.label),o.value=Gs(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),wne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?Xr(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),m(t,c,u,p)}})}),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(wCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{d(e.value),m(a,e.value,u,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(ACi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:u,label:u},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(NCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,u,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},qOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Pat(),o=n.useRef(null),[a,l]=n.useState(t instanceof DCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(xCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(NCi).filter(t=>t.toString().includes(e)),n=t.length>0?new DCi(Gs(t[0]?.toString()),e):new DCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},YOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Pat(),o=n.useRef(null),[a,l]=n.useState(t instanceof kCi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(TCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new kCi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},KOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Pat(),u=o.match?Object.values([ECi.ABSOLUTE_TIME,ECi.NOW]):Object.values(ECi),[h,p]=n.useState(BCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(BCi(t,d))},[d,t]),wne.jsxs(wne.Fragment,{children:[a?wne.jsx("span",{className:vse("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:f,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:wne.jsx(wne.Fragment,{children:"        "})}):wne.jsx("button",{className:vse("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:f,disabled:c,children:h.label||"Select value"}),wne.jsxs(Qbe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(BCi(t,d))}}},anchorEl:g,onClose:()=>{p(BCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[wne.jsx(QOe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new RCi(e.target.value,e.target.value);if(ECi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:AC.LATESTDATE});else if(![ECi.ABSOLUTE_DATE,ECi.ABSOLUTE_TIME,ECi.CUSTOM_DATE,ECi.FIRST_DAY_OF,ECi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=OCi.filter(e=>e.value===t.value);e.length>0?r(void 0,Gs(e[0])):r(void 0,t)}p(t)},row:!0,options:u,size:2}),(()=>{switch(h.value){case ECi.ABSOLUTE_DATE:return wne.jsx(WOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ECi.ABSOLUTE_TIME:return wne.jsx(jOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ECi.CUSTOM_DATE:return wne.jsx($Oi,{customDateOptionValue:FCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ECi.FIRST_DAY_OF:return wne.jsx(qOi,{customDateAdjustOptionValue:BCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ECi.PREVIOUS_DAY_OF_WEEK:return wne.jsx(YOi,{customDateAdjustOptionValue:BCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},XOi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return wne.jsx(Bbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:wne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[wne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[wne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),wne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[wne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),wne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),wne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[wne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),wne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Jw(t.multiplicity)})]})]}),children:n})},ZOi="VARIABLE",QOi=tie(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return wne.jsxs(wne.Fragment,{children:[wne.jsx(BPe,{labelGetter:e=>e.variable.name,types:[ZOi]}),wne.jsxs("div",{className:vse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[wne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?wne.jsx("div",{className:"icon",children:"C"}):wne.jsx(Cre,{})}),wne.jsxs("div",{className:"value-spec-editor__variable__label",children:[wne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),wne.jsx(XOi,{variable:t,children:wne.jsx("div",{className:"value-spec-editor__variable__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:wne.jsx(Tie,{})})]})]})]})}),JOi=tie(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:d,selectorConfig:u,lightMode:h,readOnly:p}=e,g=Boolean(d),m=Pat(),f=i(n),y=f?{value:f,label:f}:null,v=d?.reloadValues,_=d?.isLoading,b=d?.values?.length?d.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===d?.values?()=>null:void 0,S=`reset-${i(n)}`,E=`input-${i(n)}`;return wne.jsxs("div",{className:vse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?wne.jsx(IOe,{className:"value-spec-editor__enum-selector",options:b,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:y,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),v?.cancel();const t=v?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(v?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:_,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:E,optionCustomization:u?.optionCustomization,disabled:p}):wne.jsx(Pwe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:f??"",placeholder:""===f?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:E,disabled:p}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:wne.jsx(Tie,{})})]})})),eLi=tie(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return wne.jsxs("div",{className:vse("value-spec-editor",s),children:[wne.jsx("button",{role:"checkbox",className:vse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?wne.jsx(hre,{}):wne.jsx(Zre,{})}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:wne.jsx(Tie,{})})]})}),tLi=tie(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:d,isInteger:u,readOnly:h}=e,[p,g]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const f=p?u?Number.parseInt(Number(p).toString(),10):Number(p):null,y=e=>{if(e){const t=u?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},v=()=>{if(null!==f&&isNaN(f))try{const e=ro(fJn(p));y(e.toString()),g(e.toString())}catch{const e=r(i)?.toString()??"";y(e),g(e)}else null!==f?(y(f.toString()),g(f.toString())):a()};n.useEffect(()=>{if(null!==f&&!isNaN(f)&&f!==r(i)){const e=null!==r(i)?r(i).toString():"";g(e)}},[f,i,r]);const _=`reset-${r(i)}`,b=`input-${r(i)}`,C=`calculate-${r(i)}`;return wne.jsxs("div",{className:vse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[wne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[wne.jsx("input",{ref:m,className:vse("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:p,onChange:e=>{g(e.target.value),y(e.target.value)},onBlur:v,onKeyDown:e=>{(e=>{"Enter"===e.code?(v(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:b,disabled:h}),wne.jsx("div",{className:"value-spec-editor__number__actions",children:wne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:wne.jsx(Lie,{})})})]}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:wne.jsx(Tie,{})})]})})),nLi=tie(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:d,readOnly:u}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return wne.jsxs("div",{className:vse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[wne.jsx(IOe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!d,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:u}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:wne.jsx(Tie,{})})]})}),iLi=e=>0===e.length?"":((e,t)=>vp.unparse(e,t))([e.map(e=>e instanceof BE?e.values[0]:e instanceof VE?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),rLi=e=>{if(e instanceof mS)switch(e.path){case AC.DATE:case AC.STRICTDATE:return"yyyy-mm-dd";case AC.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof zT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case AC.DATE:case AC.STRICTDATE:return"yyyy-mm-dd";case AC.DATETIME:case AC.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},sLi=tie(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Pat(),p=n.useRef(null),[g,m]=n.useState(""),[f,y]=n.useState(!1),[v,_]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),b=c===mS.STRING&&Boolean(a),C=b?a?.reloadValues:void 0,S=b?a?.cleanUpReloadValues:void 0,E=b?a?.isLoading:void 0,w=b&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=b&&E?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,N=e=>{const t=Gs(r(e));return{label:t,value:t}},R=e=>v.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||R(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...v,N(e)]:v).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return wne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[wne.jsx(IOe,{className:vse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:w,inputValue:g,isMulti:!0,menuIsOpen:b&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{_(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&y(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),y(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(_([...v,N(e)]),m(""),C?.cancel()):g.trim().length&&y(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Ep(t);if(!n)return;const s=Pr(Pr(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(Vs)).filter(e=>!R(e));_([...v,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:v,darkMode:!d,isLoading:E,noMatchMessage:x,placeholder:rLi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),wne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(v.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:wne.jsx(vre,{})}),wne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:wne.jsx(Yre,{})})]})}),oLi=tie(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:d,readOnly:u}=e;Gs(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,y]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),v=l?.filter(e=>!f.some(t=>t.value===e.value)),_=`copy-${t.values[0]?r(t.values[0]):""}`,b=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>f.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(y([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},E=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return wne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[wne.jsx(IOe,{className:vse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:v,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{y(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&m(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),m(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Ep(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));y([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:b,optionCustomization:c?.optionCustomization,disabled:u}),wne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:_,title:"Copy values to clipboard",children:wne.jsx(vre,{})}),wne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:wne.jsx(Yre,{})})]})}),aLi=tie(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:d,expectedType:u,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),y=o(t),v=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${y.length>50?`${y.substring(0,50)}...`:y}`}`,_=()=>{m&&f(!1)};return m?wne.jsx(wne.Fragment,{children:wne.jsx("div",{className:vse("value-spec-editor",l),children:void 0!==h?wne.jsx(oLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):wne.jsx(sLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):wne.jsxs("div",{className:vse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[wne.jsx("div",{className:vse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),wne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:wne.jsx(Cie,{})})]})}),lLi=()=>wne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),cLi=tie(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return wne.jsxs("div",{className:vse("value-spec-editor",l),children:[wne.jsx(KOi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof BE&&!zEn(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&wne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:wne.jsx(Tie,{})})]})}),dLi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:d,isConstant:u,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m}=e,f=Pat(),y=e=>!zEn(e),v=e=>e instanceof KE?"":e.values[0],_=(e,t,n)=>{t instanceof ICi?a(((e,t,n)=>{const i=new KE(SEn.ADJUST);if(LEn(i,MCi(new RCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===ACi.BEFORE){const r=new KE(SEn.MINUS);LEn(r,UCi(t,AC.INTEGER,e.duration,n),n),LEn(i,r,n)}else LEn(i,UCi(t,AC.INTEGER,e.duration,n),n);const r=new VE(vS.create(new wS(t.getType(_En.DURATION_UNIT))));return BEn(r,[...r.values,VS.create(Gs(PCi(Gs(e.unit),t)))],n),LEn(i,r,n),IEn(i,vS.create(new wS(mS.DATE))),i})(t,r,s)):t instanceof DCi||t instanceof kCi||t instanceof RCi?a(MCi(t,r,s)):e instanceof KE?a(UCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof FE?(FEn(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&IEn(e,vS.create(new wS((e=>{switch(e){case AC.STRING:return mS.STRING;case AC.BOOLEAN:return mS.BOOLEAN;case AC.BINARY:return mS.BINARY;case AC.NUMBER:return mS.NUMBER;case AC.INTEGER:return mS.INTEGER;case AC.FLOAT:return mS.FLOAT;case AC.DECIMAL:return mS.DECIMAL;case AC.DATE:return mS.DATE;case AC.STRICTDATE:return mS.STRICTDATE;case AC.DATETIME:return mS.DATETIME;case AC.STRICTTIME:return mS.STRICTTIME;case AC.LATESTDATE:return mS.LATESTDATE;case AC.BYTE:return mS.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(Gs(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===AC.LATESTDATE&&a(UCi(r,AC.LATESTDATE,t,s))};if(i instanceof BE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{FEn(e,t,0,s),a(e)};switch(e.path){case AC.STRING:return wne.jsx(JOi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case AC.BOOLEAN:return wne.jsx(eLi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,className:n,resetValue:l,readOnly:m});case AC.NUMBER:case AC.FLOAT:case AC.DECIMAL:case AC.BINARY:case AC.BYTE:case AC.INTEGER:return wne.jsx(tLi,{valueSpecification:i,valueSelector:r,isInteger:e.path===AC.INTEGER,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m});case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:case AC.LATESTDATE:return wne.jsx(cLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof BE&&y(e),readOnly:m});default:return wne.jsx(lLi,{})}}else{if(i instanceof VE){const e=js(i.genericType?.value.rawType,IS),t=e.values.map(e=>({label:e.name,value:e.name}));return wne.jsx(nLi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=Gs(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);FEn(t,VS.create(i),0,s),a(t)},errorChecker:e=>!zEn(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof UE&&i.genericType){const e=(e,t)=>{BEn(e,t,s),a(e)},t=(e,t)=>{if(e instanceof IS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new VE(vS.create(new wS(e)));return BEn(t,[VS.create(n)],s),ste(t,s)}}else{const n=qCi(js(e,rS),t,s);if(n)return ste(n,s)}return null},r=o.expectedType instanceof IS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return wne.jsx(aLi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>iLi(e.values),errorChecker:y,convertValueSpecificationToText:e=>$Ci(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof PE)return wne.jsx(QOi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof ew)return wne.jsx(dLi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:d,readOnly:m});if(i instanceof KE){if(Zw(o.expectedType,mS.DATE))return UOi(i)?wne.jsx(cLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):wne.jsx(lLi,{});if(Zw(o.expectedType,mS.NUMBER)&&cS(i.functionName,SEn.MINUS)){const e=JEn(i,s);if(e instanceof BE&&Zw(e.genericType.value.rawType,mS.NUMBER))return wne.jsx(tLi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===mS.INTEGER,updateValueSpecification:(e,t)=>{FEn(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return wne.jsx(lLi,{})}),uLi=tie(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h}=e,p=Pat(),[g,m]=n.useState(u??!1),f=n.useRef(null);n.useEffect(()=>{g&&f.current?.focus()},[g,f]);const y=t instanceof BE&&!Zw(t.genericType.value.rawType,mS.DATE)&&t.genericType.value.rawType!==mS.BOOLEAN||t instanceof VE,v=g||!y,_=$Ci(t,p,{omitEnumOwnerName:!0});return v?wne.jsx(dLi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:f,handleBlur:()=>m(!1),handleKeyDown:e=>{"Enter"===e.key&&m(!1)},displayDateEditorAsEditableValue:!0,readOnly:h}):wne.jsx("div",{className:"value-spec-editor__editable__display",children:wne.jsx("span",{className:vse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof FE&&!zEn(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),hLi=(e,t)=>{if(e instanceof KE){const n=BCi(e,t.applicationStore).label;if(n)return n}return $Ci(e,t.applicationStore)},pLi=tie(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return wne.jsxs(HOe,{ref:t,children:[i?.map(e=>wne.jsx(zOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&wne.jsx(zOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&wne.jsx(zOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),gLi=tie(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[d,u]=n.useState(!1),h=Boolean(i),p=i?.val?hLi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),y=o.milestoningState.getMilestoningParameterValue(t),v=f&&y?hLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=rPe(()=>({type:ZOi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),FPe(E),wne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:wne.jsxs(qOe,{content:wne.jsx(pLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:vse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":d}),menuProps:{elevation:7},onOpen:()=>u(!0),onClose:()=>u(!1),children:[wne.jsx(BPe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[ZOi]}),wne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[wne.jsx("div",{className:"query-builder__variables__variable__icon",children:wne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?wne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):wne.jsx(Cre,{})})}),wne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?wne.jsxs("div",{className:vse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&wne.jsx(sre,{title:"Calculated Constant"})]}):wne.jsxs("div",{className:"query-builder__variables__variable__type",children:[wne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&wne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&wne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[wne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:wne.jsx(Cie,{})}),wne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:wne.jsx(Jre,{})}),wne.jsx(XOi,{variable:t,children:wne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:wne.jsx(Mre,{})})})]})]})})}),mLi=tie(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return wne.jsxs(wne.Fragment,{children:[wne.jsxs(hLe,{title:"Available parameters",children:[0===i.length&&wne.jsx(wne.Fragment,{children:" No available parameters "}),i.map(e=>wne.jsx(gLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&wne.jsx(hLe,{title:"Available constants",children:r.map(e=>wne.jsx(gLi,{variable:e.variable,value:{val:e instanceof pOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),fLi=tie(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=Gs(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{OEn(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=cPe(()=>({accept:[ZOi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Qw(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof XE&&TEn(e,d)&&e.func.value.genericType.value.rawType instanceof xS&&d.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:_lt.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=Gw(js(e.func.value.genericType.value.rawType,xS),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof ew&&!NEn(t,i,n.getValue(),d.milestoningState)){const n=new ew(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,OEn(js(e,XE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return wne.jsxs("div",{className:"panel__content__form__section",children:[wne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),wne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),wne.jsx("div",{className:"query-builder__variable-editor",children:wne.jsx(OPe,{isDragOver:l,dropTargetConnector:c,children:wne.jsx(dLi,{valueSpecification:h,setValueSpecification:e=>{OEn(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===mS.DATETIME},resetValue:()=>{OEn(t.propertyExpression,REn(t,r)??XCi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);u(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:d.constantState.isValueSpecConstant(h)})})}),wne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),yLi=tie(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return wne.jsxs("div",{className:"query-builder-property-editor__section",children:[wne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&wne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>wne.jsx(fLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),vLi=tie(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return wne.jsx(Vye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[wne.jsx(MOe,{title:"Derived Property"}),wne.jsxs(FOe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>wne.jsx(yLi,{derivedPropertyExpressionState:e},e.path)),wne.jsx(FOe,{className:"query-builder__variables__modal__body",children:wne.jsx(mLi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(Qw(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),wne.jsx(BOe,{children:wne.jsx(UOe,{text:"Done",onClick:i})})]})})}),_Li=tie(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return wne.jsx("div",{className:"query-builder__property__name__display",title:n,children:wne.jsx("span",{className:vse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),bLi=tie(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,d]=n.useState(t),u=n.useRef(null);n.useEffect(()=>{a&&u.current?.focus()},[a,u]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),d(e)):(i?.(o),d(o)),l(!1)};return a?wne.jsx("div",{className:"query-builder__property__name__editor",children:wne.jsx(Pwe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:u,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):wne.jsx(_Li,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),CLi=tie(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return wne.jsx("div",{className:"query-builder-property-expression-badge",children:wne.jsxs("div",{className:vse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof xS,"query-builder-property-expression-badge__content--enumeration":s instanceof IS,"query-builder-property-expression-badge__content--primitive":s instanceof mS}),children:[wne.jsx(bLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:YCi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&wne.jsxs("button",{className:vse("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&wne.jsx(Mre,{})," (...)"]}),wne.jsx(vLi,{propertyExpressionState:n})]})})}),SLi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return wne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[wne.jsx(Qre,{className:"query-builder-panel-issue-count-badge__icon"}),wne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},ELi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return wne.jsx(Sie,{className:"query-builder-column-badge__icon"});if(e.name===AC.BOOLEAN)return wne.jsx(ese,{className:"query-builder-column-badge__icon"});if(e.name===AC.NUMBER||e.name===AC.INTEGER||e.name===AC.FLOAT||e.name===AC.DECIMAL)return wne.jsx(Lre,{className:"query-builder-column-badge__icon"});if(e.name===AC.DATE||e.name===AC.DATETIME||e.name===AC.STRICTDATE)return wne.jsx(mre,{className:"query-builder-column-badge__icon"})}else if(e instanceof IS)return wne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},wLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof aSi||e instanceof ewi)return iS.ONE;if(e instanceof iSi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return wne.jsx(Bbe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(s)})]})]}),children:i})},xLi=(e,t)=>{switch(t){case tSi:return e.columnState.getColumnType();case axi.ENUM_PROPERTY:case axi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case ZOi:return e.variable.genericType?.value.rawType;case KEi:return e.columnState.getColumnType();default:return}},TLi=[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY,tSi],ALi=[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY],NLi=[PSi.CONDITION,axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY,tSi],RLi=[PSi.CONDITION,axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY],ILi=[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY,tSi,ZOi],DLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof XE||r instanceof KE&&cS(r.functionName,SEn.SUBTYPE);){let e;r instanceof KE?e=new KE(oS(SEn.SUBTYPE)):(e=new XE(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=Gs(r.parametersValues[0])}let s,o=[],a=[js(r,PE)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof XE&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(yo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new PE(o[l],iS.ONE)),l++)}if(n)if(n instanceof jSi){const e=a.findIndex(e=>e instanceof XE&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof jSi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof jSi){const i=a.findIndex(t=>t instanceof XE&&e instanceof jSi&&t.func.value===js(e,jSi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof qSi?t.newGroupConditionFromNode(n):n instanceof WSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof qSi?t.newGroupConditionFromNode(n):n instanceof WSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new jSi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new GSi(t,a[a.length-1]),d=new qSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof YSi&&t.removeNodeAndPruneBranch(n)},kLi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof jSi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=Gs(r[0]);r=r.slice(1);let o=new XE("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof XE||n instanceof KE&&cS(n.functionName,SEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(SEn.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof XE){const e=new XE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=js(t[0],XE,"Can't process exists() expression: can't flatten to a property expression")}return js(ZSi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),XE)},OLi=(e,t,n)=>{if(FSi(e)){const i=YCi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:vlt.CAUTION,actions:[{label:"Cancel",type:_lt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:_lt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>DLi(e,t,n))}]})}else{const i=new GSi(t,e),r=new qSi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof jSi&&(s=o);if(o instanceof jSi&&(s=o),n instanceof WSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof YSi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof jSi)t.newGroupConditionFromNode(s,r);else if(n instanceof qSi){const e=t.getParentNode(n);if(s&&e instanceof jSi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,TSi.AND);else if(s&&e instanceof WSi){const i=kLi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);DLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},LLi=tie(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===TSi.AND?"AND":"OR";return wne.jsx("div",{className:"dnd__entry__container",children:wne.jsx(PPe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:wne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===TSi.AND?TSi.OR:TSi.AND)},children:wne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),MLi=tie(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return wne.jsx("div",{className:"dnd__entry__container",children:wne.jsx(PPe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:wne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[wne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:YCi(t.propertyExpressionState.propertyExpression,n)}),wne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&wne.jsxs("button",{className:vse("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&wne.jsx(Mre,{})," (...)"]}),wne.jsx(vLi,{propertyExpressionState:t.propertyExpressionState})]})})})}),PLi=tie(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return wne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:wne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[wne.jsx("div",{className:vse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof xS,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof IS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof mS}),children:ELi(i)}),wne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:wne.jsx(CLi,{propertyExpressionState:t.propertyExpressionState})}),wne.jsx(kwi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:wne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:wne.jsx(Tie,{})})]})})}),FLi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof nDi)&&!(n instanceof iDi)&&qEn(e,i)},BLi=tie(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Pat(),l=$Si(t),c=n.useCallback((e,n)=>{const i=xLi(e,n);if(void 0!==i&&FLi(i,t.condition))try{if((n===tSi||n===axi.ENUM_PROPERTY||n===axi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===tSi){const n=e.columnState;if(!(n instanceof iSi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(FSi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new QCi(s,HCi(e,s.observerContext)))}}else if(n===axi.ENUM_PROPERTY||n===axi.PRIMITIVE_PROPERTY){const n=e.node,i=new QCi(s,gxi(n,t.condition.filterState.queryBuilderState.explorerState));if(FSi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===ZOi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return Kr(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:d},u]=cPe(()=>({accept:ILi,canDrop:(e,n)=>FLi(xLi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);u(h);const{isFilterValueDroppable:p}=sPe(e=>({isFilterValueDroppable:e.isDragging()&&ILi.includes(e.getItemType()?.toString()??"")&&FLi(xLi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},m=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},f=n.useMemo(()=>gi(e=>{const n=qCi(mS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),y={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),wne.jsx("div",{className:"dnd__entry__container","data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:wne.jsx(PPe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:wne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[wne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:wne.jsx(CLi,{propertyExpressionState:t.condition.propertyExpressionState})}),wne.jsxs(YOe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:wne.jsx(HOe,{children:t.condition.operators.map(e=>{return wne.jsx(zOe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[wne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),wne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:wne.jsx(are,{})})]}),o instanceof VSi&&o.value?wne.jsx("div",{ref:h,"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:wne.jsx(PPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:wne.jsx(uLi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:y,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof USi?wne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:wne.jsx(PPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:wne.jsx(PLi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),VLi=tie(e=>{const{isDragOver:t,isDroppable:n}=e;return wne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:wne.jsx(PPe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:wne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),ULi=tie(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return wne.jsxs(HOe,{ref:t,children:[i instanceof WSi&&wne.jsx(zOe,{onClick:()=>{r.addNodeFromNode(new YSi(void 0),i)},children:"Add New Condition"}),i instanceof WSi&&wne.jsx(zOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof qSi&&wne.jsx(zOe,{onClick:()=>{mEn.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),wne.jsx(zOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),GLi=tie(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Pat(),d=s.filterState,u=n.useCallback((e,n)=>{if(PSi.CONDITION===n){const n=e.node,i=new qSi(void 0,d.nodes.get(n.id).condition);t instanceof YSi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof qSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof WSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===tSi){if(!(e.columnState instanceof iSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=HCi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=gxi(e.node,d.queryBuilderState.explorerState);i=new GSi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof zSi||t instanceof qSi||t instanceof YSi)&&OLi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=cPe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?NLi:RLi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=rPe(()=>({type:t instanceof WSi?PSi.GROUP_CONDITION:t instanceof qSi?PSi.CONDITION:PSi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof qSi||t instanceof YSi}),[t,d]);m(g(o)),FPe(f);const{isDroppable:y}=sPe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?NLi:RLi).includes(e.getItemType()?.toString()??"")})),v=t instanceof jSi&&0===t.childrenIds.length,_=t instanceof qSi||t instanceof YSi||v;return wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:vse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof WSi,"query-builder-filter-tree__node__container--condition":t instanceof qSi||t instanceof YSi,"query-builder-filter-tree__node__container--exists":t instanceof jSi,"query-builder-filter-tree__node__container--exists--empty":v,"query-builder-filter-tree__node__container--no-hover":d.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===d.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:wne.jsxs(qOe,{content:wne.jsx(ULi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof qSi||t instanceof YSi?()=>i?.(t):void 0,children:[t instanceof WSi&&wne.jsx(LLi,{node:t,isDroppable:y,isDragOver:h}),t instanceof jSi&&wne.jsx(MLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof qSi&&wne.jsx(BLi,{node:t,isDragOver:p}),t instanceof YSi&&wne.jsx(VLi,{node:t,isDragOver:h,isDroppable:y})]}),_&&wne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:wne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:wne.jsx(Jre,{})})})]})})}),HLi=tie(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:vse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof WSi,"query-builder-filter-tree__node__block--exists":t instanceof jSi}),children:[wne.jsx(GLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>wne.jsx(HLi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),zLi=tie(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof zSi?e.childrenIds.map(e=>n.getNode(e)):[];return wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>wne.jsx(HLi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),WLi=tie(e=>{const{queryBuilderState:t}=e,i=Pat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof WSi),{isDroppable:a}=sPe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?TLi:ALi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===tSi){if(!(e.columnState instanceof iSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=HCi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=gxi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),OLi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=cPe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?TLi:ALi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[wne.jsxs("div",{className:"panel__header",children:[wne.jsxs("div",{className:"panel__header__title",children:[wne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&wne.jsx(SLi,{issues:r.allValidationIssues})]}),wne.jsx("div",{className:"panel__header__actions",children:wne.jsx(YOe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:wne.jsxs(HOe,{children:[wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new YSi(void 0),r.selectedNode)},children:[wne.jsx(jOe,{children:wne.jsx(Wre,{})}),wne.jsx($Oe,{children:"Create Condition"})]}),wne.jsxs(zOe,{disabled:!(r.selectedNode instanceof qSi),onClick:()=>{mEn.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof qSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[wne.jsx(jOe,{children:wne.jsx(pse,{})}),wne.jsx($Oe,{children:"Create Group From Condition"})]}),wne.jsxs(zOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{mEn.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[wne.jsx(jOe,{children:wne.jsx(Gre,{})}),wne.jsx($Oe,{children:"Create Logical Group"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[wne.jsx(jOe,{children:wne.jsx(tse,{})}),wne.jsx($Oe,{children:"Cleanup Tree"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[wne.jsx(jOe,{children:wne.jsx(pre,{})}),wne.jsx($Oe,{children:"Simplify Tree"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[wne.jsx(jOe,{children:wne.jsx(yre,{})}),wne.jsx($Oe,{children:"Collapse Tree"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[wne.jsx(jOe,{children:wne.jsx(xre,{})}),wne.jsx($Oe,{children:"Expand Tree"})]})]}),children:wne.jsx(Eie,{className:"query-builder__icon__more-options"})})})]}),wne.jsx(rLe,{children:wne.jsxs(OPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&wne.jsx(mLe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&wne.jsxs(wne.Fragment,{children:[wne.jsx(BPe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(PSi)}),wne.jsx(zLi,{queryBuilderState:t})]}),a&&!r.isEmpty&&wne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:wne.jsx(PPe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:wne.jsx(wne.Fragment,{})})})]})})]})}),jLi=tie(e=>{const{resultState:t}=e,i=Pat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return wne.jsx(Vye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:wne.jsxs(OOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx(MOe,{title:"Query Usage"}),wne.jsx(FOe,{className:"query-builder__usage-viewer__body",children:wne.jsxs(wne.Fragment,{children:[0===r.length?wne.jsx(pLe,{children:"Query usage is not available"}):wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:wne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>wne.jsxs("button",{className:vse("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&wne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),wne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),wne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),wne.jsx(aLe,{})]})}),wne.jsx(BOe,{children:wne.jsx(UOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var $Li;function qLi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=qLi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}($Li||($Li={}));var YLi,KLi={exports:{}},XLi={};var ZLi,QLi,JLi={};
900
+ `})}),dCi=tie(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return wne.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[wne.jsx(xwe,{className:"text-lg"}),wne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),uCi=tie(e=>{const{view:t}=e,n=Obi(),i=t.grid;return wne.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&wne.jsx(dCi,{view:t}),wne.jsx("div",{}),wne.jsxs("div",{className:"flex h-full items-center",children:[wne.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),wne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[wne.jsx(Dwe,{className:"stroke-[3px]"}),wne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),wne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),wne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[wne.jsx(jbe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),wne.jsx("div",{className:AEe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),wne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[wne.jsx(jbe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),wne.jsxs("div",{className:AEe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",wne.jsx(Lbi,{})]})]})]})]})]})}),hCi=tie(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),wne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:wne.jsx(coi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=oCi)},modules:[isi,__i],...MJn(t)})})}),pCi=tie(e=>{const{view:t}=e,n=t.grid.configuration;return wne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[wne.jsx(cCi,{configuration:n}),wne.jsx(hCi,{view:t}),wne.jsx(uCi,{view:t})]})}),gCi=tie(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case vwn.MULTIDIMENSIONAL:return wne.jsx(sCi,{view:t});case vwn.STANDARD:return wne.jsx(pCi,{view:t});default:return wne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),mCi=tie(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return wne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[wne.jsxs("div",{className:"flex",children:[wne.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(nwn.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Cwn.STATUS_BAR})},disabled:!t,children:[wne.jsx(mwe,{className:"text-xl"}),wne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),wne.jsx("div",{className:"flex",children:wne.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(nwn.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Cwn.STATUS_BAR})},disabled:!t||Xwn(t.info.configuration.gridMode),children:[wne.jsx(bwe,{className:"text-lg"}),wne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),wne.jsx("div",{className:"flex items-center px-2",children:wne.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):vo(i,0).description:void 0,children:void 0!==i&&i.length>0&&wne.jsx(jve,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),fCi=tie(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=KOe(),[c,d]=n.useState([...r??[]]);return wne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[wne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[wne.jsx(ZEe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),wne.jsx("div",{className:"truncate",children:i})]}),wne.jsxs("div",{className:"flex w-full flex-auto",children:[t,wne.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(nCi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:wne.jsx(uwe,{})}),wne.jsx(XOe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>Js(e)?wne.jsx(ZOe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===nCi.SEPARATOR?wne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),yCi=e=>{const{message:t,prompt:n}=e;return wne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[wne.jsx("div",{className:"mr-3",children:wne.jsx(PEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),wne.jsxs("div",{children:[wne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),wne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},vCi=tie(e=>{const{children:t,taskManager:n}=e;return wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),wne.jsx(mCi,{taskManager:n})]})}),_Ci=tie(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return wne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":twn.PLACEHOLDER,children:[wne.jsx(fCi,{title:n,menuItems:i,children:r??null}),wne.jsx(vCi,{taskManager:o,children:t}),s?wne.jsx(tCi,{layout:s}):null,wne.jsx(SAn,{})]})}),bCi=tie(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?wne.jsx(vCi,{children:wne.jsx(yCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):wne.jsxs(wne.Fragment,{children:[wne.jsx(gCi,{view:t}),wne.jsx(mCi,{view:t})]})}),CCi=tie(()=>{const e=Obi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(nwn.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),wne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[wne.jsx(fCi,{title:t.info.name,menuItems:[{label:bwn.UNDO,action:()=>{e.view.snapshotService.undo(),i(bwn.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:bwn.REDO,action:()=>{e.view.snapshotService.redo(),i(bwn.REDO)},disabled:!e.view.snapshotService.canRedo},{label:bwn.SETTINGS,action:()=>{e.settingService.display.open(),i(bwn.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),wne.jsx(bCi,{view:t}),wne.jsx(tCi,{layout:e.layoutService.manager}),wne.jsx(SAn,{})]})}),SCi=tie(e=>{const{specification:t,engine:i,options:r}=e,s=iie(()=>new Ibi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?wne.jsx(kbi,{value:s,children:wne.jsx(CCi,{},s.uuid)}):wne.jsx(_Ci,{title:xwn,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&wne.jsx(yCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ECi,wCi,xCi,TCi,ACi,NCi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(ECi||(ECi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(wCi||(wCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(xCi||(xCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(TCi||(TCi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(ACi||(ACi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(NCi||(NCi={}));class RCi{label;value;constructor(e,t){this.label=e,this.value=t}}class ICi extends RCi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class DCi extends RCi{unit;constructor(e,t){super(e,ECi.FIRST_DAY_OF),this.unit=t}}class kCi extends RCi{day;constructor(e,t){super(e,ECi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const OCi=[new ICi("Yesterday",ECi.YESTERDAY,1,wCi.DAYS,ACi.BEFORE,NCi.TODAY),new ICi("One Week Ago",ECi.ONE_WEEK_AGO,1,wCi.WEEKS,ACi.BEFORE,NCi.TODAY),new ICi("One Month Ago",ECi.ONE_MONTH_AGO,1,wCi.MONTHS,ACi.BEFORE,NCi.TODAY),new ICi("One Year Ago",ECi.ONE_YEAR_AGO,1,wCi.YEARS,ACi.BEFORE,NCi.TODAY)],LCi=e=>Object.values(SEn).find(t=>cS(e,t)),MCi=(e,t,n)=>{if(e instanceof kCi){const i=new KE(SEn.PREVIOUS_DAY_OF_WEEK);IEn(i,vS.create(new wS(mS.DATE)));const r=new VE(vS.create(new wS(t.getType(_En.DAY_OF_WEEK))));return BEn(r,[...r.values,VS.create(Gs(t.getEnumeration(_En.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),LEn(i,r,n),i}if(e instanceof DCi)switch(e.unit){case xCi.YEAR:{const e=new KE(SEn.FIRST_DAY_OF_THIS_YEAR);return IEn(e,vS.create(new wS(mS.DATE))),e}case xCi.QUARTER:{const e=new KE(SEn.FIRST_DAY_OF_QUARTER);return IEn(e,vS.create(new wS(mS.STRICTDATE))),e}case xCi.MONTH:{const e=new KE(SEn.FIRST_DAY_OF_THIS_MONTH);return IEn(e,vS.create(new wS(mS.DATE))),e}case xCi.WEEK:{const e=new KE(SEn.FIRST_DAY_OF_WEEK);return IEn(e,vS.create(new wS(mS.DATE))),e}default:throw new Yr(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case ECi.TODAY:return VCi(SEn.TODAY,mS.STRICTDATE);case ECi.NOW:return VCi(SEn.NOW,mS.DATETIME);case NCi.FIRST_DAY_OF_THIS_YEAR:{const e=new KE(SEn.FIRST_DAY_OF_THIS_YEAR);return IEn(e,vS.create(new wS(mS.DATE))),e}case NCi.FIRST_DAY_OF_QUARTER:{const e=new KE(SEn.FIRST_DAY_OF_QUARTER);return IEn(e,vS.create(new wS(mS.STRICTDATE))),e}case NCi.FIRST_DAY_OF_MONTH:{const e=new KE(SEn.FIRST_DAY_OF_THIS_MONTH);return IEn(e,vS.create(new wS(mS.DATE))),e}case NCi.FIRST_DAY_OF_WEEK:{const e=new KE(SEn.FIRST_DAY_OF_WEEK);return IEn(e,vS.create(new wS(mS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},PCi=(e,t)=>{const n=t.getEnumeration(_En.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(wCi).filter(t=>wCi[t]===e)[0])[0];return i??Gs(n.values[0])},FCi=(e,t)=>{if(e instanceof KE&&cS(e.functionName,SEn.ADJUST)||e instanceof hA&&cS(e.function,SEn.ADJUST))try{const t=new ICi("",ECi.CUSTOM_DATE,(e=>{if(e instanceof KE){const t=e.parametersValues[1];return t instanceof BE?t.values[0]:t instanceof KE&&cS(t.functionName,SEn.MINUS)&&t.parametersValues[0]instanceof BE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof fA?t.value:t instanceof hA&&cS(t.function,SEn.MINUS)&&t.parameters[0]instanceof fA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof KE?Object.keys(wCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>wCi[e])[0]:Object.values(wCi).filter(t=>t===js(e.parameters[2],jA).property)[0]))(e),(n=e)instanceof KE?n.parametersValues[1]instanceof KE&&cS(n.parametersValues[1].functionName,SEn.MINUS)?ACi.BEFORE:ACi.AFTER:n.parameters[1]instanceof hA&&cS(n.parameters[1].function,SEn.MINUS)?ACi.BEFORE:ACi.AFTER,(e=>{const t=e instanceof KE?e.parametersValues[0].functionName:e.parameters[0].function;switch(LCi(t)){case SEn.TODAY:return NCi.TODAY;case SEn.NOW:return NCi.NOW;case SEn.FIRST_DAY_OF_THIS_YEAR:return NCi.FIRST_DAY_OF_THIS_YEAR;case SEn.FIRST_DAY_OF_QUARTER:return NCi.FIRST_DAY_OF_QUARTER;case SEn.FIRST_DAY_OF_THIS_MONTH:return NCi.FIRST_DAY_OF_MONTH;case SEn.FIRST_DAY_OF_WEEK:return NCi.FIRST_DAY_OF_WEEK;case SEn.PREVIOUS_DAY_OF_WEEK:return NCi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=OCi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=Gs(i[0]?.label),t.value=Gs(i[0]?.value),t):(t.updateLabel(),t)}catch(e){Kr(e),t.notificationService.notifyError(e)}var n;return new ICi("","",0,void 0,void 0,void 0)},BCi=(e,t)=>{if(!(e instanceof KE||e instanceof hA)){if(e instanceof BE)return e.genericType.value.rawType.path===AC.LATESTDATE?new RCi(ECi.LATEST_DATE,ECi.LATEST_DATE):new RCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===AC.DATETIME?ECi.ABSOLUTE_TIME:ECi.ABSOLUTE_DATE);if(e instanceof EA)return new RCi(ECi.LATEST_DATE,ECi.LATEST_DATE);if(e instanceof CA)return new RCi(e.value,ECi.ABSOLUTE_DATE);if(e instanceof bA)return new RCi(e.value,ECi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof KE?e.functionName:e.function;switch(LCi(n)){case SEn.TODAY:return new RCi(ECi.TODAY,ECi.TODAY);case SEn.NOW:return new RCi(ECi.NOW,ECi.NOW);case SEn.FIRST_DAY_OF_THIS_YEAR:return new DCi(NCi.FIRST_DAY_OF_THIS_YEAR,xCi.YEAR);case SEn.FIRST_DAY_OF_QUARTER:return new DCi(NCi.FIRST_DAY_OF_QUARTER,xCi.QUARTER);case SEn.FIRST_DAY_OF_THIS_MONTH:return new DCi(NCi.FIRST_DAY_OF_MONTH,xCi.MONTH);case SEn.FIRST_DAY_OF_WEEK:return new DCi(NCi.FIRST_DAY_OF_WEEK,xCi.WEEK);case SEn.PREVIOUS_DAY_OF_WEEK:const n=e instanceof KE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],jA).property;return new kCi(`Previous ${n}`,n);case SEn.ADJUST:return FCi(e,t);default:return new RCi("","")}}},VCi=(e,t)=>{const n=new KE(e);return IEn(n,vS.create(new wS(t))),n},UCi=(e,t,n,i)=>{const r=new BE(vS.create(new wS(e.getPrimitiveType(t))));return BEn(r,[n],i),r},GCi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},HCi=(e,t)=>{const n=new XE(e.functionName);return MEn(n,WS.create(Gs(e.func.value))),kEn(n,e.parametersValues.map(e=>GCi(e)),t),n},zCi=(e,t,n,i)=>{const r=t.path;switch(r){case AC.STRING:case AC.STRICTDATE:case AC.DATETIME:case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.BINARY:case AC.BYTE:case AC.INTEGER:return UCi(e,r,i?YEn(r):null,n);case AC.BOOLEAN:return UCi(e,r,YEn(r),n);case AC.DATE:return UCi(e,AC.STRICTDATE,i?YEn(r):null,n);default:if(t instanceof IS){const e=new VE(vS.create(new wS(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);BEn(e,[VS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},WCi=(e,t)=>K3(((e,t)=>{const n=new QE(new ZE(ZC.create(e.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE));return n.expressionSequence[0]=zCi(e,mS.STRING,t,!0),n})(e.graph,t),e),jCi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==mS.BYTE)return new UE(s,vS.create(new wS(r)));if(r instanceof mS)return((e,t,n)=>{const i=e.name;return i===AC.DATE||i===AC.DATETIME?VCi(SEn.NOW,mS.DATETIME):i===AC.STRICTDATE?VCi(SEn.TODAY,mS.STRICTDATE):i===AC.DATE?UCi(t,AC.STRICTDATE,YEn(i),n):UCi(t,i,YEn(i),n)})(r,t,n);if(r instanceof IS){const e=new VE(vS.create(new wS(r))),t=(o=r,(new Vm).getRandomItemInCollection(o.values)?.name??"");return""!==t&&BEn(e,[VS.create(Hw(r,t))],n),e}var o},$Ci=(e,t,n)=>{if(e instanceof BE)return Zw(e.genericType.value.rawType,mS.DATE)?BCi(e,t).label:e.genericType.value.rawType===mS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof VE){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof PE?e.name:e instanceof ew?$Ci(e.getValue(),t,n):e instanceof KE?void 0!==e.genericType?.value.rawType&&Zw(e.genericType.value.rawType,mS.DATE)?BCi(e,t).label:e.functionName:e instanceof UE?e.values.map(e=>$Ci(e,t,n)).join(","):void 0},qCi=(e,t,n)=>{let i=null;if(e instanceof mS)switch(e.path){case AC.STRING:i=new BE(vS.create(new wS(e))),BEn(i,[t.toString()],n);break;case AC.NUMBER:case AC.FLOAT:case AC.DECIMAL:case AC.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===AC.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new BE(vS.create(new wS(e))),BEn(i,[r],n);break}case AC.DATE:case AC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new BE(vS.create(new wS(e))),BEn(i,[t],n);break;case AC.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;i=new BE(vS.create(new wS(e))),BEn(i,[t],n);break;default:return null}return i},YCi=(e,t)=>{const n=t?Sp:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof XE;){for(r=r.parametersValues[0];r instanceof KE&&cS(r.functionName,SEn.SUBTYPE);){const e=`${SC}(${n(r.parametersValues.filter(e=>e instanceof FE)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof XE&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=Gs(s[s.length-1]);t.startsWith(SC)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},KCi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof XE;)n=n.parametersValues[0],n instanceof XE&&t.unshift(n.func.value.name);return t.join(".")},XCi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof mS||r instanceof IS)return r===mS.LATESTDATE?new BE(vS.create(new wS(r))):zCi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new UE(iS.ZERO,vS.create(new wS(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class ZCi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=KCi(t),this.title=YCi(t,!0),this.propertyExpression=Uee(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=js(t.func.value,GS),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>js(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),PE))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=REn(e,i)??Gs(t[i]):t.push(REn(e,i)??XCi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),kEn(e.propertyExpression,[Gs(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof FE)||zEn(e))}}class QCi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){d_(this,{isEditingDerivedPropertyExpression:Ty,derivedPropertyExpressionStates:Ty,setIsEditingDerivedProperty:Lv,initDerivedPropertyExpressionStates:Lv,isValid:Iy,hashCode:Iy}),this.queryBuilderState=e,this.propertyExpression=Uee(t,e.observerContext),this.path=KCi(t),this.title=YCi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof XE;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof xS&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&MEn(n,WS.create(t))}if(n.func.value instanceof GS){const e=new ZCi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof KE&&cS(n.functionName,SEn.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return Cg([ewn.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class JCi{uuid=ho()}class eSi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){d_(this,{lambdaString:Ty,parserError:Ty,compilationError:Ty,typeAheadEnabled:Ty,lambdaId:Iy,fullLambdaString:Iy,setLambdaString:Lv,setTypeAhead:Lv,clearErrors:Lv,setCompilationError:Lv,setParserError:Lv,convertLambdaGrammarStringToObject:Zv,convertLambdaObjectToGrammarString:Zv}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new gQ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new X0)}}const tSi="PROJECTION_COLUMN";class nSi extends JCi{tdsState;columnName;wavgWeight;constructor(e,t){super(),d_(this,{uuid:!1,tdsState:!1,columnName:Ty,wavgWeight:Ty,setColumnName:Lv,setWavgWeight:Lv,hashCode:Iy}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class iSi extends nSi{lambdaParameterName=fEn;propertyExpressionState;constructor(e,t,n){super(e,""),d_(this,{lambdaParameterName:Ty,propertyExpressionState:Ty,setLambdaParameterName:Lv,changeProperty:Lv}),this.propertyExpressionState=new QCi(e.queryBuilderState,t),this.columnName=YCi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>QEn(e,t))))}changeProperty(e,t){this.propertyExpressionState=new QCi(this.tdsState.queryBuilderState,gxi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=YCi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return Cg([ewn.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class rSi extends eSi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Mee([gEn.QUERY_BUILDER,gEn.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=gj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){Kr(e),e instanceof hQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new kE(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class sSi extends nSi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=pb.create();constructor(e,t){super(e,"(derivation)"),d_(this,{lambda:Ty,returnType:Ty,fetchingLambdaReturnTypeState:Ty,setLambda:Lv,fetchDerivationLambdaReturnType:Zv,setLambdaReturnType:Lv}),this.derivationLambdaEditorState=new rSi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{Ks(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),Ks(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.getIsolatedRawLambda(),i=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(n,t);this.setLambdaReturnType(i)}catch(e){Kr(e),this.tdsState.queryBuilderState.applicationStore.logService.info(_b.create(ow.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedRawLambda(){Ks(Array.isArray(this.lambda.parameters));const e=this.lambda.parameters;Ks(1===e.length);const t=e[0];qs(t.name);const n=this.tdsState.queryBuilderState,i=new OE(t.name,iS.ONE,ZC.create(Gs(n.class))),r=n.graphManagerState.graphManager.serializeRawValueSpecification(i),s=n.parametersState.parameterStates.map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e.parameter)),o=n.constantState.constants.map(e=>e.buildLetExpression()).map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e));let a=this.lambda.body;o.length&&(a=Array.isArray(this.lambda.body)?[...o,...this.lambda.body]:[...o,this.lambda.body]);return new kE([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof mS||t instanceof IS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return Cg([ewn.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class oSi{uuid=ho();constructor(){d_(this,{getOperator:Iy,allValidationIssues:Iy,hashCode:Iy})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof iSi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class aSi extends JCi{aggregationState;projectionColumnState;lambdaParameterName=fEn;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),d_(this,{projectionColumnState:Ty,lambdaParameterName:Ty,calendarFunction:Ty,hideCalendarColumnState:Ty,operator:Ty,setHideCalendarColumnState:Lv,setColumnState:Lv,setLambdaParameterName:Lv,setOperator:Lv,setCalendarFunction:Lv,handleUsedPostFilterType:Lv,hashCode:Iy}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof sSi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return Cg([ewn.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class lSi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){d_(this,{columns:Ty,removeColumn:Lv,addColumn:Lv,changeColumnAggregateOperator:Lv,disableCalendar:Lv,allValidationIssues:Iy,hashCode:Iy}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){wo(this.columns,e)}addColumn(e){Co(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new aSi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return Cg([ewn.AGGREGATION_STATE,Cg(this.columns)])}}const cSi=(e,t,n)=>{const i=new KE(oS(e));return i.parametersValues.push(new PE(t,iS.ONE)),i},dSi=(e,t,n,i,r)=>{if(cS(n.functionName,i)){const s=new aSi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),Ks(1===n.parametersValues.length,`Can't process ${oS(i)}() expression: ${oS(i)}() expects no argument`);const o=js(n.parametersValues[0],PE,`Can't process ${oS(i)}() expression: only support ${oS(i)}() immediately following a variable expression`);return Ks(s.lambdaParameterName===o.name,`Can't process ${oS(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),Ks(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${oS(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class uSi extends oSi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.AVERAGE,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.AVERAGE,this)}getReturnType(e){return mS.FLOAT}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_AVERAGE])}}class hSi extends oSi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.COUNT,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.COUNT,this)}getReturnType(e){return mS.INTEGER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_COUNT])}}class pSi extends oSi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}return!0}buildAggregateExpression(e,t,n){const i=new KE(oS(SEn.DISTINCT));i.parametersValues.push(new PE(t,iS.ONE));const r=new KE(oS(SEn.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.COUNT)){const i=new aSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=js(e.parametersValues[0],KE,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(cS(r.functionName,SEn.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),Ks(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=js(r.parametersValues[0],PE,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return Ks(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return mS.INTEGER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class gSi extends oSi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?SEn.DATE_MAX:SEn.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof iSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case AC.NUMBER:case AC.INTEGER:case AC.DECIMAL:case AC.FLOAT:if(!cS(e.functionName,SEn.MAX))return;return dSi(n,t,e,SEn.MAX,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,SEn.DATE_MAX))return;return dSi(n,t,e,SEn.DATE_MAX,this);default:return}}return cS(e.functionName,SEn.MAX)?dSi(n,t,e,SEn.MAX,this):cS(e.functionName,SEn.DATE_MAX)?dSi(n,t,e,SEn.DATE_MAX,this):void 0}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_MAX])}}class mSi extends oSi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?SEn.DATE_MIN:SEn.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof iSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case AC.NUMBER:case AC.INTEGER:case AC.DECIMAL:case AC.FLOAT:if(!cS(e.functionName,SEn.MIN))return;return dSi(n,t,e,SEn.MIN,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,SEn.DATE_MIN))return;return dSi(n,t,e,SEn.DATE_MIN,this);default:return}}return cS(e.functionName,SEn.MIN)?dSi(n,t,e,SEn.MIN,this):cS(e.functionName,SEn.DATE_MIN)?dSi(n,t,e,SEn.DATE_MIN,this):void 0}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_MIN])}}class fSi extends oSi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.STD_DEV_POPULATION,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class ySi extends oSi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.STD_DEV_SAMPLE,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class vSi extends oSi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.SUM,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.SUM,this)}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_SUM])}}class _Si{columnState;sortType=wEn.ASC;constructor(e){d_(this,{columnState:Ty,sortType:Ty,setColumnState:Lv,setSortType:Lv,hashCode:Iy}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return Cg([ewn.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class bSi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){d_(this,{showModal:Ty,limit:Ty,distinct:Ty,sortColumns:Ty,slice:Ty.ref,setShowModal:Lv,setLimit:Lv,setDistinct:Lv,setSortColumns:Lv,addSortColumn:Lv,updateSortColumns:Lv,setSlice:Lv,reset:Lv,hashCode:Iy}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){Co(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return Cg([ewn.RESULT_SET_MODIFIER_STATE,Cg(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var CSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(CSi||(CSi={}));class SSi{queryBuilderState;fetchStructureState;constructor(e,t){d_(this,{usedExplorerTreePropertyNodeIDs:Iy,fetchStructureValidationIssues:Iy,allValidationIssues:Iy,hasInvalidFilterValues:Iy,hasInvalidDerivedPropertyParameters:Iy,hashCode:Iy}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class ESi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const wSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),xSi=e=>{if(e instanceof IS)return EEn.GET_ENUM;switch(e.path){case AC.STRING:return EEn.GET_STRING;case AC.NUMBER:return EEn.GET_NUMBER;case AC.INTEGER:return EEn.GET_INTEGER;case AC.FLOAT:return EEn.GET_FLOAT;case AC.DECIMAL:return EEn.GET_DECIMAL;case AC.DATE:return EEn.GET_DATE;case AC.DATETIME:return EEn.GET_DATETIME;case AC.STRICTDATE:return EEn.GET_STRICTDATE;case AC.BOOLEAN:return EEn.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var TSi;!function(e){e.AND="and",e.OR="or"}(TSi||(TSi={}));const ASi=e=>{switch(e){case TSi.AND:return SEn.AND;case TSi.OR:return SEn.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},NSi=e=>{if(cS(e,SEn.AND))return TSi.AND;if(cS(e,SEn.OR))return TSi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},RSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(EEn).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(EEn).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,BE,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=wSi(n,o);if(r!==EEn.IS_NULL&&r!==EEn.IS_NOT_NULL){if(a instanceof sSi){const e=CEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof aSi&&a.projectionColumnState instanceof sSi){const e=CEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(xSi(e)===r,`Can't process TDS column expression: expected column type ${xSi(e)} (got ${r})`)}return a},ISi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof XE&&t.func.value.name===s){const n=RSi(t,e);return r=new REi(e,n,i),r}if(n&&cS(t.functionName,n)){Ks(2===t.parametersValues.length,`Can't process ${oS(n)}() expression: ${oS(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof XE)o=RSi(s,e);else{if(!(s instanceof YE))throw new Yr(`Can't process ${oS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=wSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new REi(e,o,i),((e,t)=>{if(e instanceof XE){const n=Xr(()=>RSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new NEi(t,n))}const n=e?JEn(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new AEi(t,n))})(a,r),Ks(i.isCompatibleWithPostFilterColumn(r),`Can't process ${oS(n)}() expression: property is not compatible with post-filter operator`),Ks(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},DSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!cS(e.functionName,[SEn.AND,SEn.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new wEi(void 0,r),i)}throw new Yr("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new EEi(n,NSi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>DSi(js(e,YE,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},kSi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?IK(r.expressionSequence[0]):void 0,o=new PE(e.postFilterState.lambdaParameterName,iS.ONE);if(s){const e=Gs(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new YE(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new XE("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=xSi(e)}e.func=WS.create(Gs(qw(n.getClass(_En.TDS_ROW)).find(e=>e.name===r)));const a=new BE(vS.create(new wS(mS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},OSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=kSi(e,e.leftConditionValue,r,t,i);if(n){const t=new KE(oS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class LSi extends ESi{getLabel(){return"starts with"}isCompatibleWithType(e){return mS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&mS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===AC.STRING)return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.STARTS_WITH,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_START_WITH])}}class MSi extends LSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_START_WITH])}}var PSi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(PSi||(PSi={}));const FSi=e=>{let t=e;for(;t instanceof XE;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof KE&&cS(t.functionName,SEn.SUBTYPE);)t=t.parametersValues[0]}return!1};class BSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([ewn.FILTER_CONDITION_RIGHT_VALUE])}}class VSi extends BSi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?HEn(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?GEn(this.value):void 0}setValue(e){return this.value=e?ste(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof UE}get hashCode(){return Cg([ewn.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class USi extends BSi{propertyExpressionState;constructor(e,t){super(e),d_(this,{propertyExpressionState:Ty,changePropertyExpressionState:Lv}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return FSi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class GSi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=pb.create();constructor(e,t,n){d_(this,{propertyExpressionState:Ty,operator:Ty,rightConditionValue:Ty,existsLambdaParamNames:Ty,typeaheadSearchResults:Ty,changeOperator:Lv,setOperator:Lv,setRightConditionValue:Lv,addExistsLambdaParamNames:Lv,buildRightConditionValueFromValueSpec:Lv,buildRightConditionValueFromPropertyExpressionState:Lv,handleTypeaheadSearch:Zv,operators:Iy,hashCode:Iy}),this.filterState=e,this.propertyExpressionState=new QCi(e.queryBuilderState,t),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for property '${this.propertyExpressionState.path}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=js(this.rightConditionValue,VSi),n=e??t.value;if(_Ei(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(yEi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),Gs(this.filterState.queryBuilderState.executionContextState.mapping),Gs(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=vEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof UE&&this.rightConditionValue instanceof VSi&&this.rightConditionValue.value instanceof FE&&zEn(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?BEn(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof FE&&this.rightConditionValue instanceof VSi&&this.rightConditionValue.value instanceof UE&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof VSi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new VSi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof USi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new USi(this,e))}get hashCode(){return Cg([ewn.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class HSi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,d_(this,{isOpen:Ty,parentId:Ty,setIsOpen:Lv,setParentId:Lv,hashCode:Iy})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class zSi extends HSi{childrenIds=[];lambdaParameterName;constructor(e){super(e),d_(this,{childrenIds:Ty,addChildNode:Lv,removeChildNode:Lv,dragPreviewLabel:Iy}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){wo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class WSi extends zSi{groupOperation;constructor(e,t){super(e),d_(this,{groupOperation:Ty,setGroupOperation:Lv}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return Cg([ewn.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class jSi extends zSi{filterState;propertyExpressionState;constructor(e,t){super(t),d_(this,{propertyExpressionState:Ty,setPropertyExpression:Lv}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new QCi(this.filterState.queryBuilderState,e)}get hashCode(){return Cg([ewn.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const $Si=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof jSi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class qSi extends HSi{condition;isNewlyAdded;constructor(e,t){super(e),d_(this,{condition:Ty,isNewlyAdded:Ty,setIsNewlyAdded:Lv,dragPreviewLabel:Iy}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return Cg([ewn.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class YSi extends HSi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([ewn.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class KSi{queryBuilderState;lambdaParameterName=fEn;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){d_(this,{rootIds:Ty,nodes:Ty,selectedNode:Ty,isRearrangingConditions:Ty,lambdaParameterName:Ty,showPanel:Ty,setLambdaParameterName:Lv,setRearrangingConditions:Lv,setSelectedNode:Lv,addNodeFromNode:Lv,replaceBlankNodeWithNode:Lv,addGroupConditionNodeFromNode:Lv,newGroupConditionFromNode:Lv,newGroupWithConditionFromNode:Lv,removeNodeAndPruneBranch:Lv,pruneTree:Lv,simplifyTree:Lv,collapseTree:Lv,setShowPanel:Lv,expandTree:Lv,allValidationIssues:Iy,hasInvalidFilterValues:Iy,hasInvalidDerivedPropertyParameters:Iy,hashCode:Iy}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){Ks(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),zSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof WSi)t.addChildNode(e);else if(t instanceof qSi||t instanceof YSi||t instanceof jSi){const n=new WSi(void 0,TSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof WSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof jSi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new WSi(void 0,TSi.AND);n.addChildNode(Gs(this.nodes.get(Gs(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof qSi||t instanceof YSi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new WSi(void 0,TSi.AND),n=new YSi(void 0),i=new YSi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new WSi(void 0,n??TSi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):(wo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new YSi(void 0);if(t instanceof qSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new WSi(void 0,TSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof zSi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(WSi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):wo(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof WSi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else wo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof YSi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(WSi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof YSi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof qSi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(WSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof WSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),WSi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(qSi)).map(e=>e.condition.rightConditionValue instanceof VSi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>QEn(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof qSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof qSi&&e.condition.rightConditionValue instanceof VSi&&e.condition.rightConditionValue.value instanceof FE&&!zEn(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof qSi&&e.condition.rightConditionValue instanceof USi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof qSi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),t.condition.rightConditionValue instanceof USi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return Cg([ewn.FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}const XSi=e=>e.getValue()instanceof ew?XSi(js(e.getValue(),ew)):e.getValue(),ZSi=(e,t,n,i,r)=>{const s=new XE("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof XE;){if(o=a.parametersValues[0],o instanceof XE){const e=new XE("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,OEn(a,e,0,t.observerContext)}if(a instanceof XE&&a.func.value instanceof GS)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof xS&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${LC.ALL_VERSIONS}`);n&&(MEn(a,WS.create(n)),kEn(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof ew&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof ew&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=XSi(t):e.parametersValues=[Gs(js(a,XE).parametersValues[0])]:e.parametersValues[n+1]=XSi(t))})}for(a=o;a instanceof KE&&cS(a.functionName,SEn.SUBTYPE);)a=a.parametersValues[0]}return a instanceof PE&&PEn(a,n),s},QSi=(e,t)=>{if(t instanceof qSi){const n=t.parentId?js(e.nodes.get(t.parentId),zSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof WSi){const n=new KE(oS(ASi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>QSi(e,t)).filter(Vs);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new KE(oS(ASi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof jSi){const n=new KE(oS(SEn.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),zSi):void 0;for(;i&&!(i instanceof WSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),zSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),zSi).lambdaParameterName:void 0,s=Gs(ZSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>QSi(e,t)).filter(Vs);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new KE(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=KEn(t.lambdaParameterName??fEn,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new KE(oS(ASi(Gs(i).groupOperation)));l.parametersValues=a;const c=KEn(t.lambdaParameterName??fEn,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var JSi,eEi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(JSi||(JSi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(eEi||(eEi={}));const tEi=(e,t)=>{const n=new QE(new ZE(ZC.create(e.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new KE(oS(exports.SUPPORTED_FUNCTIONS.LET)),n=new BE(vS.create(new wS(mS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},nEi=e=>e.value instanceof KE&&[iS.ONE,iS.ZERO_ONE].some(t=>tx(t,e.parameter.multiplicity)),iEi=e=>e.filter(nEi),rEi=(e,t)=>e.filter(e=>!nEi(e)).map(e=>{const n=new QY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),sEi=(e,t,n)=>{const i=((e,t)=>{const n=iEi(e);if(n.length>0){const i=tEi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),K3(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class oEi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){d_(this,{value:Ty,setValue:Lv,mockParameterValue:Lv,hashCode:Iy}),this.observerContext=t,this.parameter=Fee(e),this.graph=n}get hashCode(){return Cg([eEi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(jCi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof PE)throw new qr("Can not assign a parameter to another parameter");this.value=e?ste(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(IEn(this.parameter,vS.create(new wS(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;tx(n,t)||(DEn(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class aEi{showModal=!1;submitAction;constructor(){d_(this,{showModal:Ty,submitAction:Ty,setShowModal:Lv,open:Lv,setSubmitAction:Lv})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class lEi{parameterStates=[];parameterValuesEditorState=new aEi;constructor(){d_(this,{hashCode:Iy})}get hashCode(){return Cg([eEi.LAMBDA_PARAMETERS_STATE,Cg(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){wo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class cEi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class dEi extends cEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class uEi extends cEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}}const hEi=(e,t)=>{const n=new KE(oS(CEn.GET_ALL)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},pEi=(e,t)=>{const n=new KE(oS(CEn.GET_ALL_VERSIONS)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},gEi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new QE(new ZE(ZC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE)),r=Gw(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=pEi(n,iS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case CEn.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=pEi(n,iS.ONE);i.expressionSequence[0]=e}break;case CEn.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new Yr("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new KE(oS(CEn.GET_ALL_VERSIONS_IN_RANGE)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n})(n,iS.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),i.expressionSequence[0]=t}break;case CEn.GET_ALL:{const t=hEi(n,iS.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),i.expressionSequence[0]=t;break}default:throw new Yr(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}if(((e,t)=>{if(!e.value)return;const n=Gs(t.expressionSequence[0]),i=new KE(oS(SEn.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,i),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(t=>QSi(e,t)).filter(Vs);if(!n.length)return;const i=new KE(oS(SEn.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(KEn(e.lambdaParameterName,n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,i),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,i,t),((e,t)=>{if(e instanceof dEi){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new KE(oS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new FE(iS.ONE,void 0),s.values=[ZC.create(r)]);const o=e.runtimeValue;let a;o instanceof Zj&&(a=new FE(iS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}})(e.executionContextState,i),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());i.expressionSequence=[...t,...i.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=iEi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=tEi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(i,e.parametersState.parameterStates,e.graphManagerState):i.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),i},mEi=(e,t,n)=>{const i=new XE("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof XE;){if(r=s.parametersValues[0],r instanceof XE){const e=new XE("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof XE&&s.func.value.genericType.value.rawType instanceof xS&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof GS&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=VCi(SEn.NOW,mS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];kEn(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof KE&&cS(s.functionName,SEn.SUBTYPE);)s=s.parametersValues[0]}return s instanceof PE&&PEn(s,t),i},fEi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new QE(new ZE(ZC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE)),l=Gs(e.class),c=hEi(Gs(e.class),iS.ONE),d=Gw(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?YCi(t,!1):s;if(n){const r=new KE(oS(SEn.TDS_GROUP_BY)),s=new UE(iS.ZERO),o=new UE(iS.ONE),l=new UE(iS.ONE),c=new BE(vS.create(new wS(mS.STRING)));c.values.push(u),l.values.push(c);const d=t?KEn(fEn,[t],e.graphManagerState.graph):i,h=new KE(oS(SEn.TDS_AGG)),p=KEn(fEn,[n.buildAggregateExpression(t,fEn,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[Gs(d),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new KE(oS(SEn.TDS_PROJECT)),r=new UE(iS.ONE),s=new UE(iS.ONE),o=new BE(vS.create(new wS(mS.STRING)));o.values.push(u),s.values.push(o);const l=t?KEn(fEn,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new LSi,p=new XE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=xSi(Gs(e))}p.func=WS.create(Gs(qw(e.graphManagerState.graph.getClass(_En.TDS_ROW)).find(e=>e.name===g)));const f=new PE(yEn,iS.ONE),y=new BE(vS.create(new wS(mS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new KE(oS(SEn.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=KEn(yEn,[v],e.graphManagerState.graph),b=new KE(oS(SEn.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new KE(oS(SEn.TDS_DISTINCT));E.parametersValues[0]=S,S=E;const w=new BE(vS.create(new wS(mS.INTEGER)));w.values=[10];const x=new KE(oS(SEn.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,K3(a,e.graphManagerState)},yEi=(e,t,n)=>{const i=mEi(t,fEn,e.observerContext);return fEi(e,i,void 0,void 0,void 0,void 0,n)},vEi=e=>{const t=js(e,RZ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(Vs).forEach(e=>{Xs(e)&&n.push(e)}),n},_Ei=e=>{if(e instanceof BE){if(e.genericType.value.rawType.path===AC.STRING){return e.values[0].length>=2}return!1}return!1};var bEi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(bEi||(bEi={}));const CEi=(e,t)=>{switch(e){case EEn.GET_STRING:return mS.STRING;case EEn.GET_NUMBER:return mS.NUMBER;case EEn.GET_INTEGER:return mS.INTEGER;case EEn.GET_FLOAT:return mS.FLOAT;case EEn.GET_DECIMAL:return mS.DECIMAL;case EEn.GET_DATE:return mS.DATE;case EEn.GET_DATETIME:return mS.DATETIME;case EEn.GET_STRICTDATE:return mS.STRICTDATE;case EEn.GET_BOOLEAN:return mS.BOOLEAN;default:return}};class SEi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,d_(this,{isOpen:Ty,parentId:Ty,setIsOpen:Lv,setParentId:Lv,hashCode:Iy})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class EEi extends SEi{groupOperation;childrenIds=[];constructor(e,t){super(e),d_(this,{groupOperation:Ty,setGroupOperation:Lv,childrenIds:Ty,addChildNode:Lv,removeChildNode:Lv,dragPreviewLabel:Iy}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){wo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return Cg([ewn.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation])}}class wEi extends SEi{condition;isNewlyAdded;constructor(e,t,n){super(e),d_(this,{condition:Ty,isNewlyAdded:Ty,setIsNewlyAdded:Lv,dragPreviewLabel:Iy}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return Cg([ewn.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class xEi extends SEi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([ewn.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class TEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([ewn.POST_FILTER_CONDITION_RIGHT_VALUE])}}class AEi extends TEi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?HEn(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?GEn(this.value):void 0}setValue(e){return this.value=e?ste(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof UE}get hashCode(){return Cg([ewn.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class NEi extends TEi{tdsColumn;constructor(e,t){super(e),d_(this,{tdsColumn:Ty,changeCol:Lv}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=kSi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class REi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=pb.create();constructor(e,t,n){d_(this,{postFilterState:Ty,rightConditionValue:Ty,operator:Ty,leftConditionValue:Ty,typeaheadSearchResults:Ty,changeOperator:Lv,setColumnState:Lv,setRightConditionVal:Lv,buildFromValueSpec:Lv,setOperator:Lv,changeColumn:Zv,handleTypeaheadSearch:Zv,columnName:Iy,hashCode:Iy}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new AEi(this,void 0),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=Gs(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof AEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new AEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof nSi||this.leftConditionValue instanceof aSi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,AEi),r=e??i.value;if(_Ei(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof nSi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof sSi?(s=new ME(JI(Fq(l.lambda,new VX([]).build()))),o=l.columnName,a=l.returnType):i=mEi(js(l,iSi).propertyExpressionState.propertyExpression,fEn,e.observerContext),fEi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=vEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof sSi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(Gs(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){Kr(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return Cg([ewn.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class IEi{tdsState;lambdaParameterName=yEn;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){d_(this,{tdsState:!1,selectedNode:Ty,isRearrangingConditions:Ty,rootIds:Ty,nodes:Ty,lambdaParameterName:Ty,derivedColumnBeingDropped:Ty,setLambdaParameterName:Lv,setSelectedNode:Lv,addNodeFromNode:Lv,addGroupConditionNodeFromNode:Lv,newGroupWithConditionFromNode:Lv,removeNodeAndPruneBranch:Lv,pruneTree:Lv,simplifyTree:Lv,collapseTree:Lv,expandTree:Lv,replaceBlankNodeWithNode:Lv,setRearrangingConditions:Lv,setDerivedColumnBeingDropped:Lv,allValidationIssues:Iy,hasInvalidFilterValues:Iy,hasInvalidDerivedPropertyParameters:Iy,hashCode:Iy}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),EEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(wEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof NEi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){Ks(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof EEi)t.addChildNode(e);else if(t instanceof wEi||t instanceof xEi){const n=new EEi(void 0,TSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new EEi(void 0,TSi.AND),n=new xEi(void 0),i=new xEi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new xEi(void 0);if(t instanceof wEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new EEi(void 0,TSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof EEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof wEi||t instanceof xEi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof EEi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else wo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(EEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),EEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),EEi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(EEi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof xEi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(EEi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof xEi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof wEi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):wo(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(wEi)).map(e=>e.condition.rightConditionValue).filter(zs(AEi)).map(e=>e.value).filter(Vs).find(t=>QEn(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof wEi&&(t.condition.rightConditionValue instanceof AEi&&t.condition.rightConditionValue.value instanceof FE&&!zEn(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof iSi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof wEi&&e.condition.rightConditionValue instanceof AEi&&e.condition.rightConditionValue.value instanceof FE&&!zEn(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof wEi&&e.condition.leftConditionValue instanceof iSi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return Cg([ewn.POST_FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}class DEi extends ESi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[AC.STRING,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(e.path)||e instanceof IS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof AEi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=HEn(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)?[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(n.path):n===t)}if(i instanceof PE)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new UE(iS.ONE,vS.create(new wS(t)))}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.IN,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.IN,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_IN])}}class kEi extends DEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_IN])}}class OEi extends ESi{getLabel(){return"is empty"}getTDSColumnGetter(){return EEn.IS_NULL}isCompatibleWithType(e){return e instanceof mS||e instanceof IS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof AEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof iSi)||$En(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return OSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return ISi(e,t,void 0,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_IS_EMPTY])}}class LEi extends OEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return EEn.IS_NOT_NULL}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class MEi extends ESi{getLabel(){return"is"}isCompatibleWithType(e){return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)||e instanceof IS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&qEn(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_EQUAL])}}class PEi extends MEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_EQUAL])}}class FEi extends ESi{getLabel(){return"<"}isCompatibleWithType(e){return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return qEn(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_LESS_THAN])}}class BEi extends FEi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class VEi extends ESi{getLabel(){return">"}isCompatibleWithType(e){return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return qEn(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_GREATER_THAN])}}class UEi extends VEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return OSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return ISi(e,t,t.parametersValues[0]instanceof XE&&t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class GEi extends ESi{getLabel(){return"contains"}isCompatibleWithType(e){return e===mS.STRING}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&mS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());if(t.path===AC.STRING)return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.CONTAINS,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.CONTAINS,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_CONTAIN])}}class HEi extends GEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class zEi extends ESi{getLabel(){return"ends with"}isCompatibleWithType(e){return mS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&mS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===AC.STRING)return zCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OSi(e,this,SEn.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return ISi(e,t,SEn.ENDS_WITH,this)}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_END_WITH])}}class WEi extends zEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?jEn(n):void 0}buildPostFilterConditionState(e,t){const n=WEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.POST_FILTER_OPERATOR_NOT_END_WITH])}}class jEi extends oSi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}return!0}buildAggregateExpression(e,t,n){return cSi(SEn.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return dSi(n,t,e,SEn.UNIQUE_VALUE_ONLY,this)}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_DISTINCT])}}class $Ei extends oSi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof iSi)||mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new KE(oS(SEn.JOIN_STRINGS)),r=new BE(vS.create(new wS(mS.STRING)));return r.values=[";"],i.parametersValues.push(new PE(t,iS.ONE),r),i}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.JOIN_STRINGS)){const i=new aSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=js(e.parametersValues[0],PE,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");Ks(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=js(e.parametersValues[1],BE,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return Ks(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return mS.STRING}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_JOIN_STRING])}}class qEi extends oSi{percentile;acending;continuous;constructor(){super(),d_(this,{percentile:Ty,acending:Ty,continuous:Ty,setPercentile:Lv,setAcending:Lv,setContinuous:Lv})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new KE(oS(SEn.PERCENTILE)),s=new BE(vS.create(new wS(mS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new PE(t,iS.ONE),s);else{const e=new BE(vS.create(new wS(mS.BOOLEAN)));e.values=[this.acending];const n=new BE(vS.create(new wS(mS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new PE(t,iS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.PERCENTILE)){const i=new aSi(n.tdsState.aggregationState,n,new qEi),r=js(i.operator,qEi);i.setLambdaParameterName(t.name),Ks([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=js(e.parametersValues[0],PE,"Can't process percentile() expression: only support percentile() immediately following a variable expression");Ks(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=js(e.parametersValues[1],BE,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=js(e.parametersValues[2],BE,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=js(e.parametersValues[3],BE,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new qEi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_PERCENTILE])}}class YEi extends oSi{weight;constructor(){super(),d_(this,{weight:Ty,setWeight:Lv})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return cSi(SEn.WAVG,t)}buildAggregateColumnState(e,t,n){if(cS(e.functionName,SEn.WAVG)){const e=new aSi(n.tdsState.aggregationState,n,new YEi),i=js(e.operator,YEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new YEi}get hashCode(){return Cg([ewn.AGGREGATE_OPERATOR_WAVG])}}const KEi="WINDOW_COLUMN";class XEi{columnState;sortType;constructor(e,t){d_(this,{columnState:Ty,sortType:Ty,setColumnState:Lv,setSortType:Lv}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return Cg([ewn.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class ZEi{windowState;lambdaParameterName=fEn;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return Cg([ewn.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class QEi extends ZEi{constructor(e,t){super(e,t),d_(this,{setLambdaParameterName:Lv})}}class JEi extends ZEi{columnState;constructor(e,t,n){super(e,t),d_(this,{columnState:Ty,setColumnState:Lv,setLambdaParameterName:Lv}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return Cg([ewn.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class ewi extends JCi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),d_(this,{windowColumns:Ty,sortByState:Ty,operatorState:Ty,columnName:Ty,setOperatorState:Ty,setColumnName:Lv,setSortBy:Lv,changeWindow:Lv,deleteWindow:Lv,addWindow:Lv,setWindows:Lv,changeOperator:Lv,changeSortBy:Lv}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof JEi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){Co(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){wo(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new QEi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new JEi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof JEi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new XEi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return Cg([ewn.TDS_WINDOW_COLUMN_STATE,Cg(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class twi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){d_(this,{windowColumns:Ty,editColumn:Ty,invalidWindowColumnNames:Iy,windowValidationIssues:Iy,addWindowColumn:Lv,removeColumn:Lv,moveColumn:Lv,setEditColumn:Lv}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof JEi&&t.operatorState.columnState instanceof ewi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return Pr(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e){return this.operators.find(t=>cS(e,t.pureFunc))}addWindowColumn(e){Co(this.windowColumns,e)}removeColumn(e){wo(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return Cg([ewn.TDS_WINDOW_GROUPBY_STATE,Cg(this.windowColumns)])}}const nwi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new BE(vS.create(new wS(mS.STRING)));return t.values=[e.columnName],t}),r=new UE(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new KE((e=>{switch(e){case wEn.ASC:return oS(SEn.TDS_ASC);case wEn.DESC:return oS(SEn.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new BE(vS.create(new wS(mS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=oS(o.operator.pureFunc),l=new KE(a);l.parametersValues=[new PE(o.lambdaParameterName,iS.ONE)];const c=KEn(o.lambdaParameterName,[l],n);let d;if(o instanceof JEi){const e=new BE(vS.create(new wS(mS.STRING)));e.values=[o.columnState.columnName],d=new KE(oS(SEn.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new BE(vS.create(new wS(mS.STRING)));h.values=[e.columnName];const p=new KE(oS(SEn.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},iwi=(e,t,n)=>{if(t instanceof wEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof EEi){const i=new KE(oS(ASi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>iwi(e,t,n)).filter(Vs);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new KE(oS(ASi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class rwi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return Gs(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===wEn.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new KE(oS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new KE(oS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new UE(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new KE(oS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new BE(vS.create(new wS(mS.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new KE(oS(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new BE(vS.create(new wS(mS.INTEGER))),r=new BE(vS.create(new wS(mS.INTEGER)));i.values=[t],r.values=[n];const s=new KE(oS(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof KE&&cS(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class swi extends rwi{get limitFunctionName(){return SEn.TDS_TAKE}get sliceFunctionName(){return SEn.SLICE}get sortFunctionName(){return SEn.TDS_SORT}get distinctFunctionName(){return SEn.TDS_DISTINCT}get ascFunctionname(){return SEn.TDS_ASC}get descFunctionName(){return SEn.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new BE(vS.create(new wS(mS.STRING)));return t.values=[e],t})(e)}}class owi extends rwi{get limitFunctionName(){return SEn.RELATION_LIMIT}get sliceFunctionName(){return SEn.RELATION_SLICE}get ascFunctionname(){return SEn.RELATION_ASC}get descFunctionName(){return SEn.RELATION_DESC}get sortFunctionName(){return SEn.RELATION_SORT}get distinctFunctionName(){return SEn.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new WE(iS.ONE,void 0),n=new zE;return n.name=e,t.values=[n],t}}const awi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new KE(oS(SEn.TDS_GROUP_BY)),o=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new UE(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new BE(vS.create(new wS(mS.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof iSi)c=KEn(t.lambdaParameterName,[ZSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof sSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new ME(JI(Fq(t.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof YEi&&s.setLambdaParameterName("y");const e=new KE(oS(SEn.TDS_AGG)),t=KEn(s.lambdaParameterName,[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof KE&&(n=KEn(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof YEi&&s.operator.weight&&s.projectionColumnState instanceof iSi&&c instanceof JE){const e=new KE(SEn.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof JE?vo(n.values,0).expressionSequence[0]=e:c instanceof JE&&(vo(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)if(e.queryBuilderState.isFetchStructureTyped){const i=((e,t,n)=>{const i=new KE(oS(SEn.RELATION_PROJECT)),r=t.queryBuilderState,s=new $E(iS.ONE,void 0),o=new jE;s.values=[o];const a=new ES(ES.ID);t.projectionColumns.forEach(e=>{const t=new zE;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof iSi)i=KEn(e.lambdaParameterName,[ZSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof sSi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new ME(JI(Fq(e.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new SS(e.columnName,vS.create(new wS(s))))}),i.parametersValues=[e,s];const l=new wS(RK.INSTANCE),c=new wS(a);return l.typeArguments=[vS.create(c)],i.genericType=vS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,KE);if(n.functionName!==oS(SEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new KE(oS(SEn.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new $E(iS.ONE,void 0),o=new jE;s.values=[o];const a=new $E(iS.ONE,void 0),l=new jE;a.values=[l];const c=new ES(ES.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new zE;t.name=e.columnName,o.colSpecs.push(t);const n=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new SS(e.columnName,vS.create(new wS(n))))}),t.aggregationState.columns.forEach(e=>{const t=new zE;t.name=e.columnName,l.colSpecs.push(t);const i=Gs(Gs(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=js(js(i.function1,JE).values[0]?.expressionSequence[0],XE),o=js(s.func.value,NS),a=new XE("");a.func=WS.create(new NS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new PE(wwn,iS.ONE)];const d=KEn(wwn,[a],r.graphManagerState.graph);t.function1=d;const u=KEn(e.lambdaParameterName,[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u;const h=Gs(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new SS(e.columnName,vS.create(new wS(h))))}),i.parametersValues=[e,s,a];const d=new wS(RK.INSTANCE),u=new wS(c);return d.typeArguments=[vS.create(u)],i.genericType=vS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new KE(oS(SEn.TDS_PROJECT));if(e.useColFunc){const t=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new KE(oS(SEn.TDS_COL));let r;if(t instanceof iSi)r=KEn(t.lambdaParameterName,[ZSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof sSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new ME(JI(Fq(t.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new BE(vS.create(new wS(mS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new UE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new BE(vS.create(new wS(mS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof iSi)s=KEn(e.lambdaParameterName,[ZSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof sSi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new ME(JI(Fq(e.lambda,new VX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}var s,o;s=e.windowState,o=t,s.windowColumns.forEach(e=>nwi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>iwi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=KEn(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new KE(oS(SEn.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new owi(e.tdsState.queryBuilderState.graphManagerState):new swi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class lwi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return mS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class cwi extends lwi{getLabel(){return"average rank"}get pureFunc(){return SEn.OLAP_AVERAGE_RANK}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class dwi extends lwi{getLabel(){return"dense rank"}get pureFunc(){return SEn.OLAP_DENSE_RANK}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class uwi extends lwi{getLabel(){return"rank"}get pureFunc(){return SEn.OLAP_RANK}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class hwi extends lwi{getLabel(){return"row number"}get pureFunc(){return SEn.OLAP_ROW_NUMBER}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class pwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return SEn.SUM}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class gwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return SEn.COUNT}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class mwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return SEn.MAX}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class fwi extends lwi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return SEn.MIN}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}class ywi extends lwi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return SEn.AVERAGE}get hashCode(){return Cg([ewn.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e.path)}}var vwi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(vwi||(vwi={}));const _wi={[vwi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[vwi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var bwi;!function(e){e.NY="NY",e.LDN="LDN"}(bwi||(bwi={}));const Cwi="en-US";class Swi{dateColumn;calendarType;endDate;lambdaParameterName=fEn;func;label;hash;constructor(e,t,n){d_(this,{dateColumn:Ty,lambdaParameterName:Ty,calendarType:Ty,endDate:Ty,setDateColumn:Lv,setCalendarType:Lv,setLambdaParameterName:Lv,setEndDate:Lv,hashCode:Iy}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof iSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new KE(oS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new BE(vS.create(new wS(mS.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(cS(e.functionName,t)){Ks(4===e.parametersValues.length,`Can't process ${oS(t)}() expression: ${oS(t)}() expects four arguments`);const r=js(e.parametersValues[0],XE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with first parameter as property expression`);Ks(r.func.value.genericType.value.rawType.name===AC.STRICTDATE||r.func.value.genericType.value.rawType.name===AC.DATE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof XE;){const e=s;for(s=Gs(s.parametersValues[0]),e.func.value instanceof GS&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof KE&&cS(s.functionName,SEn.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,PE).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],BE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(bwi).find(e=>e===a.values[0]),`Can't process ${oS(t)}() expression: only support ${oS(t)}() calendar types NY and LDN`);const l=js(e.parametersValues[2],LE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with third parameter as ValueSpecification`);Ks(l.genericType?.value.rawType.name===AC.STRICTDATE||l.genericType?.value.rawType.name===AC.DATE||r.func.value.genericType.value.rawType.name===AC.DATE,`Can't process ${oS(t)}() expression: only support ${oS(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,Ks(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${oS(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof iSi&&t instanceof JE?n=js(t.values[0]?.expressionSequence[0],XE):e.projectionColumnState instanceof sSi&&(n=js(t,ME)),!n)throw new Yr("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return Cg([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function Ewi(e,t,n){return new Swi(e,t,n)}var wwi;!function(e){e.CSV="CSV"}(wwi||(wwi={}));class xwi extends SSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new MEi,new PEi,new FEi,new BEi,new VEi,new UEi,new LSi,new MSi,new GEi,new HEi,new zEi,new WEi,new DEi,new kEi,new OEi,new LEi])();aggregationOperators=(()=>[new hSi,new pSi,new jEi,new vSi,new uSi,new mSi,new gSi,new qEi,new fSi,new ySi,new $Ei,new YEi])();aggregationCalendarFunctions=(()=>[Ewi(bEn.CALENDAR_ANNUALIZED,"Annualized",ewn.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),Ewi(bEn.CALENDAR_YTD,"Year to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_YTD),Ewi(bEn.CALENDAR_CME,"Current Month Estimate",ewn.AGGREGATE_CALENDAR_FUNCTION_CME),Ewi(bEn.CALENDAR_CW,"Current Week",ewn.AGGREGATE_CALENDAR_FUNCTION_CW),Ewi(bEn.CALENDAR_CME,"Current Month Estimate",ewn.AGGREGATE_CALENDAR_FUNCTION_CME),Ewi(bEn.CALENDAR_CY_MINUS2,"Current year minus 2",ewn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),Ewi(bEn.CALENDAR_CY_MINUS3,"Current year minus 3",ewn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),Ewi(bEn.CALENDAR_MTD,"Month to date",ewn.AGGREGATE_CALENDAR_FUNCTION_MTD),Ewi(bEn.CALENDAR_P12WA,"Previous 12 Weeks Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_P12WA),Ewi(bEn.CALENDAR_P12WTD,"Previous 12 Weeks To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_P12WTD),Ewi(bEn.CALENDAR_P4WA,"Previous 4 Weeks Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_P4WA),Ewi(bEn.CALENDAR_P4WTD,"Previous 4 Weeks To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_P4WTD),Ewi(bEn.CALENDAR_P52WA,"Previous 52 Weeks Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_P52WA),Ewi(bEn.CALENDAR_P52WTD,"Previous 52 Weeks To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_P52WTD),Ewi(bEn.CALENDAR_PMA,"Previous Months Averaged",ewn.AGGREGATE_CALENDAR_FUNCTION_PMA),Ewi(bEn.CALENDAR_PMTD,"Previous Month To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PMTD),Ewi(bEn.CALENDAR_PQTD,"Previous Quarter To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PQTD),Ewi(bEn.CALENDAR_PRIOR_DAY,"Prior Day",ewn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),Ewi(bEn.CALENDAR_PRIOR_YEAR,"Prior Year",ewn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),Ewi(bEn.CALENDAR_PW,"Previous week",ewn.AGGREGATE_CALENDAR_FUNCTION_PW),Ewi(bEn.CALENDAR_PW_FM,"Previous week, Franchise Manager",ewn.AGGREGATE_CALENDAR_FUNCTION_PW_FM),Ewi(bEn.CALENDAR_PWA,"Past Weeks' Average",ewn.AGGREGATE_CALENDAR_FUNCTION_PWA),Ewi(bEn.CALENDAR_PWTD,"Previous Week To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PWTD),Ewi(bEn.CALENDAR_PYMTD,"Previous Year's Month To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYMTD),Ewi(bEn.CALENDAR_PYQTD,"Previous Year's Quarter To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYQTD),Ewi(bEn.CALENDAR_PYTD,"Previous Year To Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYTD),Ewi(bEn.CALENDAR_PYWA,"Previous Year's Weekly Average",ewn.AGGREGATE_CALENDAR_FUNCTION_PYWA),Ewi(bEn.CALENDAR_PYWTD,"Previous Year's Week to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_PYWTD),Ewi(bEn.CALENDAR_QTD,"Quarter to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_QTD),Ewi(bEn.CALENDAR_REPORT_END_DAY,"Report End Day",ewn.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),Ewi(bEn.CALENDAR_WTD,"Week to Date",ewn.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new pwi,new gwi,new mwi,new fwi,new ywi,new cwi,new dwi,new uwi,new hwi])();constructor(e,t){super(e,t),d_(this,{aggregationState:Ty,projectionColumns:Ty,isConvertDerivationProjectionObjects:Ty,showPostFilterPanel:Ty,showWindowFuncPanel:Ty,useColFunc:Ty,TEMPORARY__showPostFetchStructurePanel:Iy,derivations:Iy,hasParserError:Iy,isQueryOptionsSet:Iy,addColumn:Lv,moveColumn:Lv,removeAllColumns:Lv,removeColumn:Lv,replaceColumn:Lv,initialize:Lv,initializeWithQuery:Lv,setShowPostFilterPanel:Lv,setShowWindowFuncPanel:Lv,setUseColFunc:Lv,checkBeforeChangingImplementation:Lv,convertDerivationProjectionObjects:Zv,fetchDerivedReturnTypes:Zv}),this.resultSetModifierState=new bSi(this),this.postFilterState=new IEi(this,this.postFilterOperators),this.aggregationState=new lSi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new twi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(vwi.SHOW_POST_FILTER_PANEL)??!1}get type(){return CSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(sSi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof iSi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof XE;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof KE;){if(!(cS(i.functionName,SEn.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof xS))return;n[n.length-1]instanceof xS||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=Gs(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=Gs(n[e]),i=e>0?Gs(r[e-1]):"";if(t instanceof xS)Ww(t).concat(t).forEach(e=>s.push(cxi(i,e.path))),r.push(cxi(i,t.path));else{const e=lxi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof iSi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[wwi.CSV]}getExportDataInfo(e){if(e===wwi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new Yr(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof aSi?e instanceof aSi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){awi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{mj(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=KEn(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new sSi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),kE));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),So(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){wo(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){Co(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=Gs(this.projectionColumns[e]),i=Ui(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new sSi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${fEn}${_C}''`)}revealCompilationError(e){const t=Lee(e.sourceInformation);if(t&&3===t.length&&t[0]===gEn.QUERY_BUILDER&&t[1]===gEn.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof sSi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new iSi(this,gxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new iSi(this,gxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:_lt.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:_lt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(sSi)).length)return!1;const n=t.filter(zs(iSi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof iSi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return Cg([ewn.PROJECTION_STATE,Cg(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(sSi));n.forEach(t=>e.set(t.columnName,t.getIsolatedRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(e,t);Array.from(i.results.entries()).forEach(e=>{const t=n.find(t=>t.columnName===e[0]);t&&t.setLambdaReturnType(e[1])})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.info(_b.create("Unable to fetch derived return types"),e)}}}var Twi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(Twi||(Twi={}));const Awi=[[Twi.COUNT,hSi],[Twi.DISTINCT_COUNT,pSi],[Twi.SUM,vSi],[Twi.MIN,mSi],[Twi.MAX,gSi],[Twi.AVERAGE,uSi],[Twi.STD_DEV_POPULATION,fSi],[Twi.STD_DEV_SAMPLE,ySi]],Nwi=(e,t,n)=>{const i=new iSi(e,t,!1);return i.setColumnName(n),i};class Rwi extends gC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),d_(this,{includeSubTypes:Ty,includeDocumentation:Ty,setIncludeSubTypes:Lv,setIncludeDocumentation:Lv})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const Iwi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===kC,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return wne.jsx("div",{children:l.length>0?wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),wne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>wne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&wne.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):wne.jsx(wne.Fragment,{children:Boolean(a.length)&&wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},Dwi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return wne.jsx(gye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:wne.jsx("div",{children:wne.jsx(Bbe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:wne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},kwi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?wne.jsx("div",{className:"query-builder__tooltip__item__action",children:wne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:wne.jsx(fse,{})})}):void 0},{label:"Multiplicity",value:Jw(n.multiplicity)},{label:"Derived Property",value:n instanceof GS?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return wne.jsx(Dwi,{title:t,data:c,placement:o,footerElement:wne.jsx(Iwi,{taggedValues:n.taggedValues}),children:s})},Owi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return wne.jsx(Dwi,{title:t,data:s,placement:i,children:n})};var Lwi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(Lwi||(Lwi={}));const Mwi=e=>({label:e.name,value:e}),Pwi=e=>Uw(e)?"system element":Vw(e)?"generated element":Bw(e)?"dependency element":void 0,Fwi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Uw(e)?"system":Vw(e)?"generated":Bw(e)?"dependency":"")(t.value);return wne.jsxs("div",{className:i,children:[wne.jsx("div",{title:Pwi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),wne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&wne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},Bwi=e=>e instanceof mS?wne.jsx(REe,{}):e instanceof xS?wne.jsx(IEe,{}):e instanceof IS?wne.jsx(DEe,{}):e instanceof FS?wne.jsx(kEe,{}):e instanceof PS?wne.jsx(OEe,{}):wne.jsx(MEe,{}),Vwi=e=>{const{_class:t,children:n,placement:i}=e;return wne.jsx(Bbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),wne.jsx(Iwi,{taggedValues:t.taggedValues})]}),children:n})},Uwi=(e,t,n)=>{if(e.type instanceof xS&&nx(e.type,t))return!0;if(e instanceof hxi&&nx(e.property,t))return!0;if(e instanceof pxi){const i=n.nodes.get(e.parentId);if(i?.type instanceof xS&&nx(i.type,t))return!0}return!1},Gwi=(e,t)=>{if(e instanceof uxi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(SC);return`${SC}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},Hwi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return wne.jsx(gye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:wne.jsx("div",{children:wne.jsx(Bbe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(a)})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),wne.jsx(Iwi,{taggedValues:t.taggedValues})]}),children:wne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},zwi=tie(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return wne.jsx(Vye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:wne.jsxs(OOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[wne.jsx(MOe,{title:Sp(i.propertyName)}),wne.jsx(fLe,{isLoading:i.isGeneratingPreviewData}),wne.jsxs(FOe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&wne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&wne.jsxs("table",{className:"table",children:[wne.jsx("thead",{children:wne.jsx("tr",{children:i.previewData.columns.map((e,t)=>wne.jsx("th",{className:"table__cell--left",children:e},t))})}),wne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>wne.jsx("tr",{children:e.values.map((e,t)=>wne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),wne.jsx(BOe,{children:wne.jsx(UOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Wwi=tie(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return wne.jsxs(HOe,{ref:t,children:[r instanceof hxi&&!(r.type instanceof xS)&&wne.jsx(zOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof xS&&wne.jsx(zOe,{onClick:()=>{if(i(),r.type instanceof xS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(hxi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped).filter(e=>{const t=gxi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof xwi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof iSi)return n.propertyExpressionState.path===e.id&&n.columnName===YCi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),jwi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return wne.jsx(Sie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===AC.BOOLEAN)return wne.jsx(ese,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(e.name===AC.NUMBER||e.name===AC.INTEGER||e.name===AC.FLOAT||e.name===AC.DECIMAL)return wne.jsx(Lre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(e.name===AC.DATE||e.name===AC.DATETIME||e.name===AC.STRICTDATE)return wne.jsx(mre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return Bwi(e)},$wi=tie(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Pat(),u=a.explorerState,[,h,p]=rPe(()=>({type:t instanceof hxi?t.type instanceof IS?axi.ENUM_PROPERTY:t.type instanceof xS?axi.CLASS_PROPERTY:axi.PRIMITIVE_PROPERTY:axi.ROOT,item:()=>t instanceof hxi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),FPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof hxi&&t.property instanceof GS,y=t instanceof hxi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof pxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof hxi&&t.type instanceof mS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{}),b=u.humanizePropertyName?t instanceof pxi?SC+Sp(t.label):Sp(t.label):t instanceof pxi?SC+t.label:t.label;return t.mappingData.mapped||t instanceof uxi||u.showUnmappedProperties?wne.jsx(qOe,{content:wne.jsx(Wwi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof hxi||t instanceof uxi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:wne.jsxs("div",{className:vse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":u.highlightUsedProperties&&Gwi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof uxi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!m?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof uxi&&wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[wne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),wne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:wne.jsx(IEe,{})})]}),wne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),wne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:wne.jsx(Vwi,{_class:Gs(a.class),children:wne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Lwi.QUERY_BUILDER_TOOLTIP_ICON,children:wne.jsx(Mre,{})})})})]}),(t instanceof hxi||t instanceof pxi)&&wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[wne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),wne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:jwi(t.type)})]}),wne.jsxs("div",{className:vse("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":v},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[wne.jsx("div",{className:vse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Uwi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&wne.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),y&&wne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),wne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&wne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof hxi&&u.previewData(t).catch(d.alertUnhandledError)},children:wne.jsx(Tre,{})}),t instanceof hxi&&wne.jsx(kwi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:wne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Lwi.QUERY_BUILDER_TOOLTIP_ICON,children:wne.jsx(Mre,{})})}),t instanceof pxi&&wne.jsx(Hwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:wne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Lwi.QUERY_BUILDER_TOOLTIP_ICON,children:wne.jsx(Mre,{})})})]})]})]})}):null}),qwi=tie(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof uxi||a.explorerState.showUnmappedProperties?wne.jsxs("div",{className:"tree-view__node__block",children:[wne.jsx($wi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>wne.jsx(qwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Ywi=e=>e instanceof pxi?0:e.type instanceof xS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof IS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Kwi=tie(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return wne.jsx(rIe,{components:{TreeNodeContainer:$wi,TreeNodeView:qwi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof pxi||e instanceof hxi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Ywi(t)-Ywi(e)),innerProps:{queryBuilderState:t}})}),Xwi="query-builder-explorer-search-input",Zwi=tie(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!Vs(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>gi(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return wne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[wne.jsx("input",{ref:t,name:Xwi,className:vse("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&wne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?wne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:wne.jsx(Jre,{})}):wne.jsx(wne.Fragment,{children:wne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:wne.jsx(Kre,{})})})]})})),Qwi=tie(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Pat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_EXPLORER,className:vse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[wne.jsxs(eLe,{title:"explorer",children:[wne.jsx(Zwi,{propertySearchState:s,ref:i}),wne.jsxs(nLe,{children:[wne.jsx(iLe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof uxi||e.setIsOpen(!1)})},title:"Collapse Tree",children:wne.jsx(yre,{})}),wne.jsx(YOe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{mEn.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:wne.jsxs(HOe,{children:[wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[wne.jsx(jOe,{children:r.showUnmappedProperties?wne.jsx(ure,{}):null}),wne.jsx($Oe,{children:"Show Unmapped Properties"})]}),wne.jsxs(zOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[wne.jsx(jOe,{children:r.humanizePropertyName?wne.jsx(ure,{}):null}),wne.jsx($Oe,{children:"Humanize Property Name"})]}),wne.jsxs(zOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[wne.jsx(jOe,{children:r.highlightUsedProperties?wne.jsx(ure,{}):null}),wne.jsx($Oe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:wne.jsx(Eie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&wne.jsx(sxi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),wne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[wne.jsx(fLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),wne.jsx(BPe,{labelGetter:e=>r.humanizePropertyName?Sp(e.node.label):e.node.label,types:Object.values(axi)}),r.mappingModelCoverageAnalysisState.isInProgress?wne.jsx(pLe,{children:r.mappingModelCoverageAnalysisState.message}):wne.jsxs(wne.Fragment,{children:[!r.treeData&&wne.jsx(pLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&wne.jsx(Kwi,{queryBuilderState:t})]}),wne.jsx(zwi,{queryBuilderState:t})]})]})}),Jwi=(e,t)=>e.split(SC).map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(Sp).join(t?" / ":"/")).join(SC),exi=(e,t)=>{let n=e.split(SC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${SC}${e.split(".").map(e=>Sp(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>Sp(e)),i=`${i}(${SC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},txi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return wne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(wne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(wne.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=vo(s,r+1)[0];o.push(wne.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=vo(s,s.length-1)[1];return l<e.length&&o.push(wne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},nxi=tie(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=rPe(()=>({type:t instanceof hxi?t.type instanceof IS?axi.ENUM_PROPERTY:t.type instanceof xS?axi.CLASS_PROPERTY:axi.PRIMITIVE_PROPERTY:axi.ROOT,item:()=>t instanceof hxi?{node:t}:{},canDrag:()=>!(t.type instanceof xS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),FPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof hxi&&t.parentId===e.id),g=p?.type instanceof xS&&s>1?Sp(t.label):p instanceof pxi?exi(t.id,!0):Jwi(t.id,!0),m=a?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{}),f=t instanceof hxi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===kC)?.value??null:null,y=null!==f?txi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:u,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[wne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),wne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:jwi(t.type)})]}),wne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[wne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[txi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&wne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),wne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),wne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof hxi&&wne.jsxs(wne.Fragment,{children:[wne.jsx(kwi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:wne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:wne.jsx(fse,{})})]}),t instanceof pxi&&wne.jsxs(wne.Fragment,{children:[wne.jsx(Hwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:wne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:wne.jsx(fse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof hxi||t instanceof pxi)&&t.type instanceof xS&&(t instanceof pxi?Kw(t.type):$w(t.type)).forEach(n=>{const r=fxi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof xS||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>wne.jsx(nxi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),ixi=tie(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return wne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[wne.jsxs("button",{className:vse("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?wne.jsx(hre,{}):wne.jsx(Zre,{}),wne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&wne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),rxi=tie(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return wne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[wne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&wne.jsx(Bbe,{slotProps:{transition:{timeout:0}},title:wne.jsx("div",{children:n}),children:wne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:wne.jsx(Mre,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>wne.jsx(ixi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),sxi=tie(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===Xwi||(i(),r.setIsSearchPanelOpen(!1))};return wne.jsx(Qbe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:vse("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:wne.jsx(gye,{onClickAway:s,children:wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:wne.jsx("div",{className:"query-builder-property-search-panel__content",children:wne.jsxs(OFe,{orientation:"vertical",children:[wne.jsx(LFe,{size:175,children:wne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[wne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[wne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",wne.jsx(lEn,{documentationKey:Ilt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),wne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:wne.jsx(QOe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[pC.STANDARD,pC.INCLUDE,pC.EXACT,pC.INVERSE],size:1})})]}),wne.jsx(rxi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),wne.jsx(rxi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),wne.jsx(rxi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),wne.jsx(rxi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(vEn.CLASS),onClick:()=>{r.toggleFilterForType(vEn.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(vEn.ENUMERATION),onClick:()=>{r.toggleFilterForType(vEn.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(vEn.STRING),onClick:()=>{r.toggleFilterForType(vEn.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(vEn.BOOLEAN),onClick:()=>{r.toggleFilterForType(vEn.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(vEn.NUMBER),onClick:()=>{r.toggleFilterForType(vEn.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(vEn.DATE),onClick:()=>{r.toggleFilterForType(vEn.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(vEn.DATE)}}]})]})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:"var(--color-dark-grey-200)"})}),wne.jsxs(LFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&wne.jsx(fLe,{isLoading:!0}),wne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&wne.jsxs(wne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>wne.jsx(nxi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&wne.jsxs(pLe,{children:[wne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),wne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&wne.jsx(pLe,{children:"Initializing..."}),r.searchState.isInProgress&&wne.jsx(pLe,{children:"Searching..."})]})]})]})})})})})});class oxi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=pb.create();searchState=pb.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[vEn.CLASS,vEn.ENUMERATION,vEn.STRING,vEn.BOOLEAN,vEn.NUMBER,vEn.DATE];constructor(e){d_(this,{indexedExplorerTreeNodeMap:Ty,searchText:Ty,searchResults:Ty,isOverSearchLimit:Ty,isSearchPanelOpen:Ty,isSearchPanelHidden:Ty,showSearchConfigurationMenu:Ty,includeOneMany:Ty,typeFilters:Ty,indexedExplorerTreeNodes:Iy,filteredSearchResults:Iy,search:Lv,resetSearch:Lv,setSearchResults:Lv,setIsOverSearchLimit:Lv,setSearchText:Lv,setShowSearchConfigurationMenu:Lv,setIsSearchPanelOpen:Lv,setIsSearchPanelHidden:Lv,setIncludeOneMany:Lv,setFilterOnlyType:Lv,toggleFilterForType:Lv,initialize:Lv}),this.queryBuilderState=e,this.searchConfigurationState=new Rwi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new hC(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof uxi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?wo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof pxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof hxi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof hxi||t instanceof pxi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof uxi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof xS&&t.set(e.id,e),e)).filter(e=>!(e instanceof hxi||e instanceof pxi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(Vs).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(Vs).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof hxi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=_xi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Pv(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=_xi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof hxi||e instanceof pxi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof hxi||t instanceof pxi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof hxi||this.searchConfigurationState.includeSubTypes&&e instanceof pxi)&&e.type instanceof xS&&((e instanceof pxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=fxi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=yxi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new hC(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof hxi||e instanceof pxi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof pxi?exi(e.id):Jwi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof hxi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===kC).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(vEn.CLASS)&&e.type instanceof xS)||(!!(this.typeFilters.includes(vEn.ENUMERATION)&&e.type instanceof IS)||(!(!this.typeFilters.includes(vEn.STRING)||e.type!==mS.STRING)||(!!(this.typeFilters.includes(vEn.NUMBER)&&e.type instanceof mS&&[AC.NUMBER,AC.DECIMAL,AC.INTEGER,AC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(vEn.BOOLEAN)||e.type!==mS.BOOLEAN)||!!(this.typeFilters.includes(vEn.DATE)&&e.type instanceof mS&&[AC.DATE,AC.DATETIME,AC.STRICTDATE,AC.STRICTTIME,AC.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var axi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(axi||(axi={}));const lxi=(e,t)=>`${e?`${e}.`:""}${t}`,cxi=(e,t)=>`${e||""}${SC}${t}`;class dxi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){d_(this,{isHighlighting:Ty,isOpen:Ty,isSelected:Ty,setIsHighlighting:Lv,setIsOpen:Lv,setIsSelected:Lv}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class uxi extends dxi{}class hxi extends dxi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class pxi extends dxi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}const gxi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new PE(n??fEn,iS.ONE),o=new XE("");MEn(o,WS.create(Gs(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof hxi||l instanceof pxi);){if(l instanceof pxi&&c instanceof pxi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof pxi?e=new KE(oS(SEn.SUBTYPE)):l instanceof hxi&&l.mappingData.entityMappedProperty?.subType?(e=new KE(oS(SEn.SUBTYPE)),a.parametersValues.push(e),a=e,e=new XE(""),MEn(e,WS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new XE(""),MEn(e,WS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof KE&&cS(a.functionName,SEn.SUBTYPE)){const e=new FE(iS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof hxi||l instanceof pxi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof hxi||c instanceof pxi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof KE){const e=new FE(iS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}return o},mxi=e=>{const t=e.type,n=(e instanceof pxi?Kw(t):$w(t).concat(qw(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${SC}${t.path}`);return n.concat(i)},fxi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof xS||e.genericType.value.rawType instanceof DS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof _J?i.entityPath:i.enumPath),entityMappedProperty:i instanceof _J?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof GS||t.isPartOfDerivedPropertyBranch||t instanceof hxi&&t.property instanceof GS;if(e instanceof NS&&t instanceof hxi&&t.property instanceof NS&&e._OWNER instanceof RS&&t.property._OWNER instanceof RS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof xS?jw(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new hxi(o?cxi(lxi(t instanceof uxi?"":t.id,e.name),o.path):lxi(t instanceof uxi?"":t.id,e.name),e.name,`${t instanceof uxi?`${CC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=lxi(t instanceof uxi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof xS&&(a.childrenIds=mxi(a)),a},yxi=(e,t,n)=>{const i=new pxi(cxi(t instanceof uxi?"":t.id,e.path),e.name,""+(t instanceof uxi?`${CC}${fEn}->${oS(SEn.SUBTYPE)}(${SC}${e.path})`:`${t.dndText}->${oS(SEn.SUBTYPE)}(${SC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=jw(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof _J&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof hxi?t.property.multiplicity:t instanceof pxi?t.multiplicity:iS.ONE);return i.childrenIds=mxi(i),i},vxi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new uxi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),$w(e).concat(qw(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof xS?2:t instanceof IS?1:0)-(e instanceof xS?2:e instanceof IS?1:0)).forEach(e=>{const n=fxi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=yxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},_xi=e=>{if(e instanceof uxi)return new uxi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof hxi)return new hxi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof pxi)return new pxi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new Yr(`Unable to clone node of type ${e.constructor.name}`)};class bxi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){d_(this,{previewData:Ty.ref,isGeneratingPreviewData:Ty,propertyName:Ty,previewDataAbortController:Ty,setPropertyName:Lv,setIsGeneratingPreviewData:Lv,setPreviewData:Lv,setPreviewDataAbortController:Lv})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class Cxi{queryBuilderState;previewDataState=new bxi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=pb.create();mappingModelCoverageAnalysisResult;constructor(e){d_(this,{treeData:Ty.ref,humanizePropertyName:Ty,showUnmappedProperties:Ty,highlightUsedProperties:Ty,mappingModelCoverageAnalysisResult:Ty,setTreeData:Lv,refreshTree:Lv,refreshTreeData:Lv,setHumanizePropertyName:Lv,setShowUnmappedProperties:Lv,setHighlightUsedProperties:Lv,highlightTreeNode:Lv,analyzeMappingModelCoverage:Zv,previewData:Zv}),this.queryBuilderState=e,this.propertySearchState=new oxi(this.queryBuilderState)}get nonNullableTreeData(){return Gs(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.class,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?vxi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof hxi||e instanceof pxi)&&e.type instanceof xS&&((e instanceof pxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=fxi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=yxi(t,e,Gs(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&vo(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof hxi||t instanceof pxi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof hxi||e instanceof pxi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),mEn.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new gb,t=Y5(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());mEn.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.class||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=gxi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case AC.NUMBER:case AC.INTEGER:case AC.DECIMAL:case AC.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,xwi),r=i.aggregationState;return Awi.forEach(e=>{const n=Nwi(i,t,e[0]);i.projectionColumns.push(n);const s=Gs(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,RZ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,Gs(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case AC.BOOLEAN:case AC.STRING:case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,xwi),r=Nwi(i,t,"Value"),s=Nwi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof hSi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new _Si(s);return a.sortType=wEn.DESC,i.resultSetModifierState.sortColumns=[a,new _Si(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,RZ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new Yr(`No preview support for property of type '${i.path}'`)}}catch(t){if(Kr(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var Sxi="4.17.63",Exi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const wxi=(e,t,n,i)=>{Ws(e,aA,"Can't build projection column: only support lambda"),Ks(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=js(e.parameters[0],iA,"Can't build projection column: only support lambda with 1 parameter");Ks(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof hA&&2===s.parameters.length&&cS(s.function,SEn.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new kK(n,i,t));for(Ws(s,jA,"Can't build projection column: only support lambda body as property expression");s instanceof jA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof hA&&cS(s.function,SEn.SUBTYPE);)s=s.parameters[0];return Ws(s,iA,"Can't build projection column: only support lambda body as property expression"),Ks(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new kK(n,i,t))},xxi=(e,t,n,i)=>{Ws(e,hA,"Can't build aggregation: only support function"),Ks(cS(e.function,SEn.TDS_AGG),"Can't build aggregation: only support agg()"),Ks(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=js(e.parameters[0],aA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof hA&&cS(r.body[0].function,Object.values(bEn))?Xr(()=>((e,t,n,i)=>{Ws(e,aA,"Can't build calendar aggregation column: only support lambda"),Ks(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),Ks(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=js(e.parameters[0],iA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],hA,"Can't build calendar aggregation column: only support applied function");Ks(cS(s.function,Object.values(bEn)),"Can't build calendar aggregation columnn: unsupported calenddar function"),Ks(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),Ws(s.parameters[0],jA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],yA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(bwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],GT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new kK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new kK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new kK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new kK(n,i,t)))??new ME(MI(d,n.extensions.plugins)),h=MK([a,l,c,u],s.function,n),p=new JE,g=new ZE(ZC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE);g.parameters.push(new PE(r.name,iS.ONE));const m=new QE(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new ME(MI(r,n.extensions.plugins)):Xr(()=>wxi(r,t,n,i))??new ME(MI(r,n.extensions.plugins));const o=js(e.parameters[1],aA).accept_ValueSpecificationVisitor(new kK(n,i,t));return MK([s,o],oS(SEn.TDS_AGG),n)},Txi=(e,t,n,i,r)=>{Ks(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,kR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,VA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(Vs).filter(zs(aA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new PE(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new $E(iS.ONE),u=new jE;d.values=[u];const h=new ES(ES.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new zE;let s;const o=js(e.function1,GT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=wxi(o,n,i,r)}catch{s=new ME(MI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof JE){const t=e.values[0]?.expressionSequence[0];return t instanceof XE?t.genericType?.value.rawType??t.func.value.genericType.value.rawType:t?.genericType?.value.rawType}})(s);if(!a)throw new Yr("Unable to get return type for current lambda");return h.columns.push(new SS(e.name,vS.create(new wS(a)))),t});const p=MK([o,d],e,i),g=new wS(RK.INSTANCE),m=new wS(h);return g.typeArguments=[vS.create(m)],p.genericType=vS.create(g),p},Axi=(e,t,n,i,r)=>{const s=js(e,hA,"Can't build tds col func: only support applied function");Ks(cS(s.function,SEn.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),Ks(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=js(s.parameters[0],aA,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new PE(e.name,iS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=wxi(o,n,i,r)}catch{a=new ME(MI(o,i.extensions.plugins))}js(s.parameters[1],yA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new kK(i,r,n));return MK([a,l],s.function,i)},Nxi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=Gs(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof pA){const e=new UE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>Axi(e,s,n,i,r)),a=e}else Ws(o,hA,"Can't build project() expression: project() expects argument #2 to be a function"),a=Axi(o,s,n,i,r);const l=MK([s,a],e,i);return l.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return Txi(e,t,n,i,r)}const s=t.length;Ks(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof aA?o=l.parameters:(Ws(l,pA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(aA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new PE(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new UE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof aA?[l]:l.values,d.values=u.map(e=>{try{return wxi(e,n,i,r)}catch{return new ME(MI(e,i.extensions.plugins))}});const h=MK([a,d,t[2].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),h},Rxi=(e,t,n,i,r)=>e===SEn.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{Ks(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,KE);if(o.functionName!==oS(SEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,kR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,VA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,kR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,VA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),u=d.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(Vs).map(e=>e.parameters).flat();u.forEach(e=>{if(!e.genericType){const t=new PE(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=js(o.genericType?.value.typeArguments?.[0]?.value.rawType,ES,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new $E(iS.ONE),g=new jE;p.values=[g];const m=new ES(ES.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new zE;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new $E(iS.ONE),y=new jE;f.values=[y],y.colSpecs=d.colSpecs.map(e=>{const t=new zE;t.name=e.name;const s=js(e.function1,aA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=wxi(s,n,i,r);t.function1=o;const a=js(e.function2,aA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new kK(i,r,n)),JE,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new Yr(`Unable to find projected column with name ${e.name}`);return m.columns.push(new SS(e.name,c)),t});const v=MK([s,p,f],e,i),_=new wS(RK.INSTANCE),b=new wS(m);return _.typeArguments=[vS.create(b)],v.genericType=vS.create(_),v})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];Ks(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,pA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(aA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,pA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof hA&&cS(e.function,SEn.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(aA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new PE(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new UE(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return wxi(e,n,i,r)}catch{return new ME(MI(e,i.extensions.plugins))}});const u=new UE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>xxi(e,n,i,r));const h=MK([o,d,u,t[3].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),h})(e,t,n,i,r);class Ixi extends Aee{constructor(){super(Exi.pureProtocolProcessorPlugin,Sxi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(cS(e,CEn.GET_ALL))return((e,t,n,i,r)=>{const s=PK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,FE,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(cS(e,CEn.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=PK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,FE,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),Ks(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(cS(e,CEn.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=PK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,FE,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),Ks(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(cS(e,[SEn.FILTER,SEn.TDS_FILTER]))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));if(s.genericType){const e=t[1];e instanceof aA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new PE(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=MK([s,t[1].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(cS(e,SEn.EXISTS))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));s.genericType=js(s,XE).func.value.genericType;const o=t[1];return o instanceof aA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new PE(e.name,iS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),MK([s,t[1].accept_ValueSpecificationVisitor(new kK(i,r,n))],e,i)})(e,t,n,i,r);if(cS(e,SEn.WATERMARK))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof aA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new PE(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new kK(i,r,n))),l=a.genericType?.value.rawType;Ks(mS.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=MK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(cS(e,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT]))return Nxi(e,t,n,i,r);if(cS(e,[SEn.TDS_GROUP_BY,SEn.RELATION_GROUP_BY]))return Rxi(e,t,n,i,r);if(cS(e,SEn.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];Ks(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));Us(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof hA?js(d.parameters[1],aA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,aA,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=u.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new PE(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new kK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new kK(i,r,n));s.push(m),o++;const f=MK(s,e,i);return f.genericType=vS.create(new wS(i.resolveType(_En.TDS_ROW).value)),f})(e,t,n,i,r);if(cS(e,[SEn.TODAY,SEn.FIRST_DAY_OF_QUARTER])){const s=PK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.STRICTDATE)),s}if(cS(e,SEn.NOW)){const s=PK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATETIME)),s}if(cS(e,[SEn.FIRST_DAY_OF_THIS_YEAR,SEn.FIRST_DAY_OF_YEAR,SEn.FIRST_DAY_OF_THIS_MONTH,SEn.FIRST_DAY_OF_MONTH,SEn.FIRST_DAY_OF_WEEK,SEn.PREVIOUS_DAY_OF_WEEK,SEn.ADJUST])){const s=PK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATE)),s}return cS(e,Object.values(SEn))||cS(e,Object.values(bEn))?PK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof KE&&cS(e.functionName,oS(SEn.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof FE)[0]?.genericType?.value.rawType)(e)}]}}class Dxi{mapping;runtimes=[]}class kxi{service;executionKeys}class Oxi extends lT{}class Lxi extends Oxi{constructor(e){super(e),this.graphManager=js(e,G3)}getSupportedProtocolVersion(){return jH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===tG||e.content._type===bR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(FD))).flat(),o=new zK(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof aB)return new O$(t,o.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(zs($A))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new Yj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof YH?e:new YH(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new zK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(FD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof aB)return new O$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs($A))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new Yj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new Dxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...NY(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(zs(LO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new kxi;i.service=t,e.execution instanceof OO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Mxi=e=>new Lxi(e);class Pxi extends See{constructor(){super(Exi.pureGraphManagerPlugin,Sxi)}getExtraPureGraphManagerExtensionBuilders(){return[Mxi]}getExtraExposedSystemElementPath(){return[_En.TDS_TABULAR_DATASET,_En.TDS_ROW,_En.TDS_COLUMN]}}class Fxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new Jg(Mg(Fxi,{TEMPORARY__disableQueryBuilderChat:Xg(Pg()),TEMPORARY__enableExportToCube:Xg(Pg()),TEMPORARY__enableGridEnterpriseMode:Xg(Pg()),legendAIServiceURL:Xg(Pg()),legendMCPServiceURL:Xg(Pg()),zipkinTraceBaseURL:Xg(Pg()),enableTypedTDS:Xg(Pg())}))}const Bxi=e=>{let t=e;for(;t instanceof XE;)for(t=Gs(t.parametersValues[0]);t instanceof KE&&cS(t.functionName,SEn.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,PE)},Vxi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(cS(e.functionName,[SEn.AND,SEn.OR])){const r=new WSi(n,NSi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,zSi).lambdaParameterName),e.parametersValues.forEach(e=>Vxi(js(e,KE,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!cS(e.functionName,[SEn.EXISTS])){const n=e.parametersValues[0];if(n instanceof XE){const e=n.parametersValues[0];e instanceof XE&&XEn(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=Bxi(r.propertyExpressionState.propertyExpression).name,n=i instanceof zSi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return Ks(n===e,`Can't process ${oS(r.operator.getLabel())}() expression: expects variable used in lambda body '${e}' to match lambda parameter '${n}'`),void t.addNodeFromNode(new qSi(void 0,r),i)}}throw new Yr("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=js(e.parametersValues[0],XE);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new jSi(t,n),o=js(e.parametersValues[1],JE,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],QE),l=js(a.expressionSequence[0],KE);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),Vxi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;cS(s.functionName,SEn.EXISTS);){const e=Gs(js(s.parametersValues[1],JE).values[0],"Can't process exists() expression: exists() lambda is missing");if(Ks(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=js(e.expressionSequence[0],KE,"Can't process exists() expression: exists() lambda body should hold an expression"),Ks(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(js(e.functionType.parameters[0],PE,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof XE)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=js(e.parametersValues[0],XE);let a=new XE("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof XE||n instanceof KE&&cS(n.functionName,SEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(SEn.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof XE){const e=new XE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=js(t[0],XE,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof KE&&e.parametersValues[0]instanceof XE)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof XE)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof PE)return a;return e}),Vxi(s,t,n)}}}},Uxi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,JE,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=Gs(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");Ks(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=js(r.expressionSequence[0],KE,"Can't process filter() lambda: only support filter() lambda body with 1 expression");Ks(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(js(r.functionType.parameters[0],PE,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),Vxi(s,n,void 0),n.simplifyTree()};class Gxi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){d_(this,{hashCode:Iy}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof iw)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof nw)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return Cg([ewn.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",Cg(this.childrenIds)])}}const Hxi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${SC}${n.path}`:""}`,zxi=(e,t,n)=>{Ws(e,iw,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new Gxi(Hxi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=zxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Wxi=(e,t,n)=>{const i=t?.id,r=new Gxi((s=e.class.valueForSerialization??"")?`${SC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=zxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},jxi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Wxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=zxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},$xi=e=>0===e.tree.subTrees.length,qxi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof iw&&t.type instanceof xS&&0===t.childrenIds.length||t.tree instanceof iw&&!(t.type instanceof xS)&&t.parentId&&!e.nodes.has(t.parentId)),Yxi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(wo(n.childrenIds,t.id),UEn(n.tree,t.tree)):(wo(e.rootIds,t.id),UEn(e.tree,t.tree)),e.nodes.delete(t.id)},Kxi=(e,t)=>{Yxi(e,t),(e=>{let t=qxi(e);for(;t.length;)t.forEach(t=>{Yxi(e,t)}),t=qxi(e)})(e)},Xxi=(e,t,n,i)=>{const r=[new iw(WS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof hxi||l instanceof pxi;){let e,n=!1;for(;l instanceof pxi;)n||(e=ZC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof hxi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof xS&&(e=ZC.create(l.type)),!(l instanceof hxi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new iw(WS.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=Hxi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=zxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),VEn(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),VEn(e.tree,t.tree,i.observerContext))}},Zxi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof iTi){if(e.treeData&&!$xi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(_En.SERIALIZE_CONFIG),i=new KE(oS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new FE(iS.ONE,void 0);r.values[0]=ZC.create(n);const s=new BE(vS.create(new wS(mS.STRING)));s.values=[""];const o=new UE(iS.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new HE,r=new BE(vS.create(new wS(mS.STRING)));r.values=[n];const s=new BE(vS.create(new wS(t.genericType.value.rawType)));s.values=[e[n]];const a=new GE(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new iS(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new sw;r.values=[e];const s=new KE(oS(SEn.SERIALIZE)),o=new KE(oS(t?SEn.GRAPH_FETCH_CHECKED:SEn.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof rTi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new KE(oS(SEn.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!$xi(i)&&!$xi(o)){const a=new sw;a.values=[i.tree];const l=new KE(e.isChecked?oS(SEn.GRAPH_FETCH_CHECKED):oS(SEn.GRAPH_FETCH));l.parametersValues=[r,a];const c=new FE(iS.ONE,void 0);c.values=[ZC.create(s.targetBinding)];const d=new sw;d.values=[o.tree],n.parametersValues=[l,c,d],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof KE&&cS(n.functionName,SEn.SERIALIZE)){const i=new BE(vS.create(new wS(mS.INTEGER)));i.values=[t];const r=new KE(oS(SEn.TAKE)),s=js(n.parametersValues[0],KE),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var Qxi,Jxi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(Qxi||(Qxi={})),function(e){e.RESULT="RESULT"}(Jxi||(Jxi={}));const eTi="@type";class tTi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=eTi,d_(this,{typeKeyName:Ty,includeType:Ty,includeEnumType:Ty,dateTimeFormat:Ty,removePropertiesWithNullValues:Ty,removePropertiesWithEmptySets:Ty,fullyQualifiedTypePath:Ty,includeObjectReference:Ty,setTypeName:Lv,setIncludeObjectReference:Lv,setDateTimeFormat:Lv,setIncludeType:Lv,setFullyQualifiedTypePath:Lv,setRemovePropertiesWithEmptySets:Lv,setInclueEnumType:Lv,setRemovePropertiesWithNullValues:Lv})}static createDefault(){const e=new tTi;return e.typeKeyName=eTi,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class nTi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class iTi extends nTi{config;configModal=!1;constructor(e){super(e),d_(this,{config:Ty,configModal:Ty,setConfigModal:Lv})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return Qxi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class rTi extends nTi{targetBinding;treeData;constructor(e,t,n){super(e),d_(this,{targetBinding:Ty,treeData:Ty.ref,serializationContentType:Iy,setGraphFetchTree:Lv}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(Xxi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return Qxi.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class sTi extends SSi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),d_(this,{treeData:Ty.ref,isChecked:Ty,serializationState:Ty,TEMPORARY__showPostFetchStructurePanel:Iy,setGraphFetchTree:Lv,setSerializationState:Lv,setChecked:Lv,initialize:Lv,checkBeforeChangingImplementation:Lv}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new iTi(this)}get type(){return CSi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=Gs(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?Gs(e.get(r.parentId)):"";let a="";r.tree instanceof nw?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof iw&&(a=r.tree.property.value.name);const l=lxi(o,a);t.push(l),r.tree instanceof iw&&r.tree.subType?(s=cxi(l,r.tree.subType.value.path),Ww(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(cxi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?jxi(new nw(ZC.create(e))):void 0)}get exportDataFormatOptions(){return[Jxi.RESULT]}getExportDataInfo(e){if(e===Jxi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){Zxi(this,e,t)}addProperty(e,t){this.treeData?(Xxi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof rTi&&this.serializationState.addProperty(On(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:_lt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof iw)return t.tree.parameters.find(t=>QEn(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return Cg([ewn.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const oTi=(e,t)=>()=>{t.implementation.type!==e&&(mEn.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class aTi{queryBuilderState;implementation;constructor(e){d_(this,{implementation:Ty,changeImplementation:Lv,initializeWithQuery:Lv}),this.queryBuilderState=e,this.implementation=new xwi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case CSi.TABULAR_DATA_STRUCTURE:this.implementation=new xwi(this.queryBuilderState,this);break;case CSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new sTi(this.queryBuilderState,this);break;default:throw new Yr(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof hxi&&!(e.type instanceof xS)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof xS&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(hxi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped))}}class lTi{lambda;constructor(e){this.lambda=e,d_(this,{lambda:Ty,setLambda:Lv})}setLambda(e){this.lambda=e}}var cTi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(cTi||(cTi={}));class dTi extends eSi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=pb.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),d_(this,{rawLambdaState:Ty,isConvertingLambdaToString:Ty,mode:Ty,isReadOnly:Ty,setQueryRawLambdaState:Lv,setIsReadOnly:Lv,setMode:Lv,openModal:Lv,closeModal:Zv}),this.queryBuilderState=e,this.rawLambdaState=new lTi(gj())}get lambdaId(){return Mee(["query-builder"])}get text(){return this.mode===cTi.TEXT?this.fullLambdaString:this.mode===cTi.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=gj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){Kr(e),e instanceof hQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new kE(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===cTi.TEXT&&this.setQueryRawLambdaState(new lTi(n)),e===cTi.JSON&&this.setLambdaJson(JSON.stringify(gS(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===cTi.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const uTi=tie(e=>{const{resultType:t}=e;let n="";return t.type instanceof QC&&(n=t.type.input??""),""===n?wne.jsx(wne.Fragment,{}):wne.jsxs("div",{className:"query-builder__result__container",children:[wne.jsx(sLe,{className:"query-builder__result__container__item__data-type",children:wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),wne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),wne.jsx(aLe,{})]})}),hTi=tie(e=>{const{resultType:t}=e;return wne.jsxs("div",{className:"query-builder__result__container",children:[wne.jsx(sLe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__result__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Label"}),wne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),wne.jsx("tbody",{children:t.tdsColumns.map(e=>wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.name}),wne.jsx("td",{className:"table__cell--left",children:e.type instanceof QC&&(e.type.input??"")})]},e.name))})]}),wne.jsx(aLe,{})]})}),pTi=tie(e=>{const{resultType:t}=e;return wne.jsxs("div",{className:"query-builder__result__container",children:[wne.jsxs(sLe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),wne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.property}),wne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),wne.jsx(aLe,{})]})}),gTi=tie(e=>{const{resultType:t}=e;return t instanceof W1?wne.jsx(uTi,{resultType:t}):t instanceof j1?wne.jsx(hTi,{resultType:t}):t instanceof w2?wne.jsx(pTi,{resultType:t}):null});var mTi,fTi={exports:{}},yTi=fTi.exports;var vTi=(mTi||(mTi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(yTi,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var d=o.rule.name;(this.completed[d]=this.completed[d]||[]).push(o)}}}else{if("string"!=typeof(d=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[d]){if(n[d].push(o),i.hasOwnProperty(d)){var u=i[d];for(l=0;l<u.length;l++){var h=u[l];this.complete(o,h)}}}else n[d]=[o],this.predict(d)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,d=i.constructor===r?t.value:t,u=o.scannable,h=u.length;h--;){var p=u[h],g=p.rule.symbols[p.dot];if(g.test?g.test(d):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:d,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(fTi)),fTi.exports),_Ti=Qr(vTi),bTi=Object.defineProperty,CTi=Object.defineProperties,STi=Object.getOwnPropertyDescriptors,ETi=Object.getOwnPropertySymbols,wTi=Object.prototype.hasOwnProperty,xTi=Object.prototype.propertyIsEnumerable,TTi=(e,t,n)=>t in e?bTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ATi=(e,t)=>{for(var n in t||(t={}))wTi.call(t,n)&&TTi(e,n,t[n]);if(ETi)for(var n of ETi(t))xTi.call(t,n)&&TTi(e,n,t[n]);return e},NTi=(e,t)=>CTi(e,STi(t)),RTi={};((e,t)=>{for(var n in t)bTi(e,n,{get:t[n],enumerable:!0})})(RTi,{bigquery:()=>eAi,db2:()=>dAi,db2i:()=>vAi,hive:()=>TAi,mariadb:()=>MAi,mysql:()=>zAi,n1ql:()=>rNi,plsql:()=>hNi,postgresql:()=>bNi,redshift:()=>NNi,singlestoredb:()=>SRi,snowflake:()=>IRi,spark:()=>PNi,sql:()=>QNi,sqlite:()=>WNi,tidb:()=>ZAi,transactsql:()=>gRi,trino:()=>oRi});var ITi=e=>e.flatMap(DTi),DTi=e=>VTi(OTi(e)).map(kTi),kTi=e=>e.replace(/ +/g," ").trim(),OTi=e=>({type:"mandatory_block",items:LTi(e,0)[0]}),LTi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=MTi(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},MTi=(e,t)=>{const n=[];for(;;){const[i,r]=PTi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},PTi=(e,t)=>{if("{"===e[t])return FTi(e,t+1);if("["===e[t])return BTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},FTi=(e,t)=>{const[n,i]=LTi(e,t,"}");return[{type:"mandatory_block",items:n},i]},BTi=(e,t)=>{const[n,i]=LTi(e,t,"]");return[{type:"optional_block",items:n},i]},VTi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(VTi).reduce(UTi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(VTi);if("optional_block"===e.type)return["",...e.items.flatMap(VTi)];throw new Error(`Unknown node type: ${e}`)},UTi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},GTi=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(GTi||{}),HTi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),zTi=HTi(1/0),WTi=e=>t=>t.type===e.type&&t.text===e.text,jTi={ARRAY:WTi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:WTi({text:"BY",type:"RESERVED_KEYWORD"}),SET:WTi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:WTi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:WTi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:WTi({text:"VALUES",type:"RESERVED_CLAUSE"})},$Ti=e=>"RESERVED_DATA_TYPE"===e||"RESERVED_KEYWORD"===e||"RESERVED_FUNCTION_NAME"===e||"RESERVED_PHRASE"===e||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"ARRAY_KEYWORD"===e||"CASE"===e||"END"===e||"WHEN"===e||"ELSE"===e||"THEN"===e||"LIMIT"===e||"BETWEEN"===e||"AND"===e||"OR"===e||"XOR"===e,qTi=ITi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),YTi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),KTi=ITi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),XTi=ITi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),ZTi=ITi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),QTi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),JTi=ITi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),eAi={name:"bigquery",tokenizerOptions:{reservedSelect:qTi,reservedClauses:[...YTi,...XTi,...KTi],reservedSetOperations:ZTi,reservedJoins:QTi,reservedPhrases:JTi,reservedKeywords:["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:function(e){return function(e){let t=zTi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,NTi(ATi({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((jTi.ARRAY(r)||jTi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=nAi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(tAi("raw")).join(""),text:s.map(tAi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...KTi,...XTi],tabularOnelineClauses:XTi}};var tAi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function nAi(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var iAi=ITi(["SELECT [ALL | DISTINCT]"]),rAi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),sAi=ITi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),oAi=ITi(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),aAi=ITi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),lAi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),cAi=ITi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),dAi={name:"db2",tokenizerOptions:{reservedSelect:iAi,reservedClauses:[...rAi,...sAi,...oAi],reservedSetOperations:aAi,reservedJoins:lAi,reservedPhrases:cAi,reservedKeywords:["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],reservedFunctionNames:["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...sAi,...oAi],tabularOnelineClauses:oAi}},uAi=ITi(["SELECT [ALL | DISTINCT]"]),hAi=ITi(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),pAi=ITi(["CREATE [OR REPLACE] TABLE"]),gAi=ITi(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),mAi=ITi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),fAi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),yAi=ITi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),vAi={name:"db2i",tokenizerOptions:{reservedSelect:uAi,reservedClauses:[...hAi,...pAi,...gAi],reservedSetOperations:mAi,reservedJoins:fAi,reservedPhrases:yAi,reservedKeywords:["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],reservedFunctionNames:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...pAi,...gAi],tabularOnelineClauses:gAi}},_Ai=ITi(["SELECT [ALL | DISTINCT]"]),bAi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),CAi=ITi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),SAi=ITi(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),EAi=ITi(["UNION [ALL | DISTINCT]"]),wAi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),xAi=ITi(["{ROWS | RANGE} BETWEEN"]),TAi={name:"hive",tokenizerOptions:{reservedSelect:_Ai,reservedClauses:[...bAi,...CAi,...SAi],reservedSetOperations:EAi,reservedJoins:wAi,reservedPhrases:xAi,reservedKeywords:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...CAi,...SAi],tabularOnelineClauses:SAi}};function AAi(e){return e.map((t,n)=>{const i=e[n+1]||zTi;if(jTi.SET(t)&&"("===i.text)return NTi(ATi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||zTi;return jTi.VALUES(t)&&"="===r.text?NTi(ATi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var NAi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),RAi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),IAi=ITi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),DAi=ITi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),kAi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),OAi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),LAi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),MAi={name:"mariadb",tokenizerOptions:{reservedSelect:NAi,reservedClauses:[...RAi,...IAi,...DAi],reservedSetOperations:kAi,reservedJoins:OAi,reservedPhrases:LAi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:AAi},formatOptions:{onelineClauses:[...IAi,...DAi],tabularOnelineClauses:DAi}},PAi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),FAi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),BAi=ITi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),VAi=ITi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),UAi=ITi(["UNION [ALL | DISTINCT]"]),GAi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),HAi=ITi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),zAi={name:"mysql",tokenizerOptions:{reservedSelect:PAi,reservedClauses:[...FAi,...BAi,...VAi],reservedSetOperations:UAi,reservedJoins:GAi,reservedPhrases:HAi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:AAi},formatOptions:{onelineClauses:[...BAi,...VAi],tabularOnelineClauses:VAi}},WAi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),jAi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),$Ai=ITi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),qAi=ITi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),YAi=ITi(["UNION [ALL | DISTINCT]"]),KAi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),XAi=ITi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ZAi={name:"tidb",tokenizerOptions:{reservedSelect:WAi,reservedClauses:[...jAi,...$Ai,...qAi],reservedSetOperations:YAi,reservedJoins:KAi,reservedPhrases:XAi,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:AAi},formatOptions:{onelineClauses:[...$Ai,...qAi],tabularOnelineClauses:qAi}},QAi=ITi(["SELECT [ALL | DISTINCT]"]),JAi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),eNi=ITi(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),tNi=ITi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),nNi=ITi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),iNi=ITi(["{ROWS | RANGE | GROUPS} BETWEEN"]),rNi={name:"n1ql",tokenizerOptions:{reservedSelect:QAi,reservedClauses:[...JAi,...eNi],reservedSetOperations:tNi,reservedJoins:nNi,reservedPhrases:iNi,supportsXor:!0,reservedKeywords:["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],reservedDataTypes:[],reservedFunctionNames:["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:eNi}},sNi=ITi(["SELECT [ALL | DISTINCT | UNIQUE]"]),oNi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),aNi=ITi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),lNi=ITi(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),cNi=ITi(["UNION [ALL]","MINUS","INTERSECT"]),dNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),uNi=ITi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),hNi={name:"plsql",tokenizerOptions:{reservedSelect:sNi,reservedClauses:[...oNi,...aNi,...lNi],reservedSetOperations:cNi,reservedJoins:dNi,reservedPhrases:uNi,supportsXor:!0,reservedKeywords:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],reservedDataTypes:["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=zTi;return e.map(e=>jTi.SET(e)&&jTi.BY(t)?NTi(ATi({},e),{type:"RESERVED_KEYWORD"}):($Ti(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...aNi,...lNi],tabularOnelineClauses:lNi}};var pNi=ITi(["SELECT [ALL | DISTINCT]"]),gNi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),mNi=ITi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),fNi=ITi(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),yNi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),vNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),_Ni=ITi(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),bNi={name:"postgresql",tokenizerOptions:{reservedSelect:pNi,reservedClauses:[...gNi,...mNi,...fNi],reservedSetOperations:yNi,reservedJoins:vNi,reservedPhrases:_Ni,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...mNi,...fNi],tabularOnelineClauses:fNi}},CNi=ITi(["SELECT [ALL | DISTINCT]"]),SNi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),ENi=ITi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),wNi=ITi(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),xNi=ITi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),TNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ANi=ITi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),NNi={name:"redshift",tokenizerOptions:{reservedSelect:CNi,reservedClauses:[...SNi,...ENi,...wNi],reservedSetOperations:xNi,reservedJoins:TNi,reservedPhrases:ANi,reservedKeywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ENi,...wNi],tabularOnelineClauses:wNi}},RNi=ITi(["SELECT [ALL | DISTINCT]"]),INi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),DNi=ITi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),kNi=ITi(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),ONi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),LNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),MNi=ITi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),PNi={name:"spark",tokenizerOptions:{reservedSelect:RNi,reservedClauses:[...INi,...DNi,...kNi],reservedSetOperations:ONi,reservedJoins:LNi,reservedPhrases:MNi,supportsXor:!0,reservedKeywords:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map((t,n)=>{const i=e[n-1]||zTi,r=e[n+1]||zTi;return jTi.WINDOW(t)&&"OPEN_PAREN"===r.type?NTi(ATi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:NTi(ATi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...DNi,...kNi],tabularOnelineClauses:kNi}};var FNi=ITi(["SELECT [ALL | DISTINCT]"]),BNi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),VNi=ITi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),UNi=ITi(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),GNi=ITi(["UNION [ALL]","EXCEPT","INTERSECT"]),HNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),zNi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),WNi={name:"sqlite",tokenizerOptions:{reservedSelect:FNi,reservedClauses:[...BNi,...VNi,...UNi],reservedSetOperations:GNi,reservedJoins:HNi,reservedPhrases:zNi,reservedKeywords:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...VNi,...UNi],tabularOnelineClauses:UNi}},jNi=ITi(["SELECT [ALL | DISTINCT]"]),$Ni=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),qNi=ITi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),YNi=ITi(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),KNi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),XNi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ZNi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),QNi={name:"sql",tokenizerOptions:{reservedSelect:jNi,reservedClauses:[...$Ni,...qNi,...YNi],reservedSetOperations:KNi,reservedJoins:XNi,reservedPhrases:ZNi,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...qNi,...YNi],tabularOnelineClauses:YNi}},JNi=ITi(["SELECT [ALL | DISTINCT]"]),eRi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),tRi=ITi(["CREATE TABLE [IF NOT EXISTS]"]),nRi=ITi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),iRi=ITi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),rRi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),sRi=ITi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),oRi={name:"trino",tokenizerOptions:{reservedSelect:JNi,reservedClauses:[...eRi,...tRi,...nRi],reservedSetOperations:iRi,reservedJoins:rRi,reservedPhrases:sRi,reservedKeywords:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],reservedDataTypes:["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],reservedFunctionNames:["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...tRi,...nRi],tabularOnelineClauses:nRi}},aRi=ITi(["SELECT [ALL | DISTINCT]"]),lRi=ITi(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),cRi=ITi(["CREATE TABLE"]),dRi=ITi(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),uRi=ITi(["UNION [ALL]","EXCEPT","INTERSECT"]),hRi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),pRi=ITi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),gRi={name:"transactsql",tokenizerOptions:{reservedSelect:aRi,reservedClauses:[...lRi,...cRi,...dRi],reservedSetOperations:uRi,reservedJoins:hRi,reservedPhrases:pRi,reservedKeywords:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],reservedDataTypes:["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...cRi,...dRi],tabularOnelineClauses:dRi}},mRi=ITi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),fRi=ITi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),yRi=ITi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),vRi=ITi(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),_Ri=ITi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),bRi=ITi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),CRi=ITi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),SRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:mRi,reservedClauses:[...fRi,...yRi,...vRi],reservedSetOperations:_Ri,reservedJoins:bRi,reservedPhrases:CRi,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:AAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...yRi,...vRi],tabularOnelineClauses:vRi}},ERi=ITi(["SELECT [ALL | DISTINCT]"]),wRi=ITi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),xRi=ITi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),TRi=ITi(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),ARi=ITi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),NRi=ITi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),RRi=ITi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),IRi={name:"snowflake",tokenizerOptions:{reservedSelect:ERi,reservedClauses:[...wRi,...xRi,...TRi],reservedSetOperations:ARi,reservedJoins:NRi,reservedPhrases:RRi,reservedKeywords:["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],reservedDataTypes:["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],reservedFunctionNames:["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...xRi,...TRi],tabularOnelineClauses:TRi}},DRi=e=>e[e.length-1],kRi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),ORi=e=>e.replace(/\s+/gu," "),LRi=e=>/\n/.test(e),MRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),PRi=/\s+/uy,FRi=e=>new RegExp(`(?:${e})`,"uy"),BRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),VRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return FRi(i.map(MRi).join("|"))},URi=e=>FRi(`${kRi(e).map(MRi).join("|")}`),GRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=kRi(e).map(MRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},HRi=(e,t)=>{if(!e.length)return;const n=e.map(MRi).join("|");return FRi(`(?:${n})(?:${t})`)},zRi={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,MRi(e)).replace(/{right}/g,MRi(t))),n=MRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},WRi=e=>"string"==typeof e?zRi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(BRi).join("|")}${t?"":"|"})`)(e)+zRi[e.quote],jRi=e=>e.map(WRi).join("|"),$Ri=e=>FRi(jRi(e)),qRi=(e={})=>FRi(YRi(e)),YRi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=MRi(null!=e?e:""),a=MRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function KRi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var XRi=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(NTi(ATi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=KRi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){PRi.lastIndex=this.index;const e=PRi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},ZRi=/\/\*/uy,QRi=/[\s\S]/uy,JRi=/\*\//uy,eIi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(ZRi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(ZRi,e))n+=t,i++;else if(t=this.matchSection(JRi,e))n+=t,i--;else{if(!(t=this.matchSection(QRi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},tIi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new XRi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new eIi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(MRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:$Ri(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:GRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:nIi},{type:"CASE",regex:/CASE\b/iuy,text:nIi},{type:"END",regex:/END\b/iuy,text:nIi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:nIi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:nIi},{type:"RESERVED_CLAUSE",regex:GRi(e.reservedClauses,e.identChars),text:nIi},{type:"RESERVED_SELECT",regex:GRi(e.reservedSelect,e.identChars),text:nIi},{type:"RESERVED_SET_OPERATION",regex:GRi(e.reservedSetOperations,e.identChars),text:nIi},{type:"WHEN",regex:/WHEN\b/iuy,text:nIi},{type:"ELSE",regex:/ELSE\b/iuy,text:nIi},{type:"THEN",regex:/THEN\b/iuy,text:nIi},{type:"RESERVED_JOIN",regex:GRi(e.reservedJoins,e.identChars),text:nIi},{type:"AND",regex:/AND\b/iuy,text:nIi},{type:"OR",regex:/OR\b/iuy,text:nIi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:nIi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:GRi(e.reservedFunctionNames,e.identChars),text:nIi},{type:"RESERVED_DATA_TYPE",regex:GRi(e.reservedDataTypes,e.identChars),text:nIi},{type:"RESERVED_KEYWORD",regex:GRi(e.reservedKeywords,e.identChars),text:nIi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,FRi(i.map(e=>"regex"in e?e.regex:WRi(e)).join("|"))):void 0},{type:"STRING",regex:$Ri(e.stringTypes)},{type:"IDENTIFIER",regex:qRi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:VRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:VRi("close",e.extraParens)},{type:"OPERATOR",regex:URi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:URi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:HRi(a.named,YRi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:HRi(a.quoted,jRi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(MRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:HRi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:FRi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},nIi=e=>ORi(e.toUpperCase()),iIi=new Map,rIi=e=>({tokenizer:new tIi(e.tokenizerOptions,e.name),formatOptions:sIi(e.formatOptions)}),sIi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function oIi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var aIi=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function lIi(e){return e.map(cIi).map(dIi).map(uIi).map(hIi).map(pIi)}var cIi=(e,t,n)=>{if($Ti(e.type)){const i=gIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return NTi(ATi({},e),{type:"IDENTIFIER",text:e.raw});const r=mIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return NTi(ATi({},e),{type:"IDENTIFIER",text:e.raw})}return e},dIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=mIi(n,t);if(!i||!fIi(i))return NTi(ATi({},e),{type:"IDENTIFIER",text:e.raw})}return e},uIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=mIi(n,t);if(i&&fIi(i))return NTi(ATi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},hIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=mIi(n,t);if(i&&yIi(i))return NTi(ATi({},e),{type:"ARRAY_IDENTIFIER"})}return e},pIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=mIi(n,t);if(i&&yIi(i))return NTi(ATi({},e),{type:"ARRAY_KEYWORD"})}return e},gIi=(e,t)=>mIi(e,t,-1),mIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&vIi(e[t+i*n]);)i++;return e[t+i*n]},fIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,yIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,vIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,_Ii=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:n}=KRi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in GTi}};function bIi(e){return e[0]}var CIi=new _Ii(e=>[]),SIi=([[e]])=>e,EIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),wIi=e=>({type:"data_type",text:e.text,raw:e.raw}),xIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=NTi(ATi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=NTi(ATi({},e),{trailingComments:n})),e),TIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[xIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,xIi(i,{trailing:n})]}return e},AIi={Lexer:CIi,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[CIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[CIi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:SIi},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[CIi.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:bIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[CIi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:xIi(EIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:xIi(EIi(e),{trailing:t}),count:n}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[CIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:EIi(e),children:[t,...n]})},{name:"select_clause",symbols:[CIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:EIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[CIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[CIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:EIi(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[CIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:EIi(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:bIi},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>xIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>xIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>xIi(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:SIi},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:SIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:SIi},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:SIi},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:SIi},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:SIi},{name:"array_subscript",symbols:[CIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:xIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[CIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:xIi(EIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[CIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:xIi(EIi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",CIi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:xIi(e,{trailing:t}),operator:n.text,property:xIi(r,{leading:i})})},{name:"between_predicate",symbols:[CIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",CIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:EIi(e),expr1:TIi(n,{leading:t,trailing:i}),andKw:EIi(r),expr2:[xIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:bIi},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[CIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",CIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:xIi(EIi(e),{trailing:t}),endKw:EIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[CIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",CIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:xIi(EIi(e),{trailing:t}),thenKw:xIi(EIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[CIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:xIi(EIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[CIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[CIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[CIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[CIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[CIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[CIi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[CIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[CIi.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[CIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[CIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[CIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[CIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[CIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>EIi(e)},{name:"data_type$subexpression$1",symbols:[CIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>wIi(e)},{name:"data_type",symbols:[CIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:xIi(wIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[CIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[CIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[CIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>EIi(e)},{name:"other_keyword$subexpression$1",symbols:[CIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[CIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[CIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[CIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>EIi(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[CIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[CIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[CIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},NIi=AIi,{Parser:RIi,Grammar:IIi}=_Ti;var DIi=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;kIi(DRi(this.items));)this.items.pop()}trimWhitespace(){for(;OIi(DRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(DRi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},kIi=e=>0===e||6===e,OIi=e=>0===e||6===e||3===e;function LIi(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function MIi(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var PIi="top-level",FIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(PIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&DRi(this.indentTypes)===PIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==PIi)break}}},BIi=class extends DIi{constructor(e){super(new FIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new VIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new VIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},VIi=class extends Error{},UIi=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),oIi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):oIi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return oIi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),oIi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){LRi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return LRi(e.text)||LRi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(DRi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new BIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof VIi)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){oIi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?oIi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return MIi(e.tokenType)?LIi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return ORi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return MIi(e.tokenType)?LIi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return ORi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return ORi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},GIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new aIi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new _Ii(n=>[...lIi(e.tokenize(n,t)),HTi(n.length)]),i=new RIi(IIi.fromCompiled(NIi),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new UIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new DIi(new FIi((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},HIi=class extends Error{};function zIi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new HIi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new HIi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new HIi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var WIi={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},jIi=Object.keys(WIi),$Ii={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},qIi=(e,t={})=>{if("string"==typeof t.language&&!jIi.includes(t.language))throw new HIi(`Unsupported SQL dialect: ${t.language}`);const n=WIi[t.language||"sql"];return YIi(e,NTi(ATi({},t),{dialect:RTi[n]}))},YIi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)wTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&ETi)for(var i of ETi(e))t.indexOf(i)<0&&xTi.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=zIi(ATi(ATi({},$Ii),r));return new GIi((e=>{let t=iIi.get(e);return t||(t=rIi(e),iIi.set(e,t)),t})(i),s).format(e)};const KIi=console.error;function XIi(e){return AG_GRID_LICENSE&&koi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),wne.jsx(coi,{theme:"legacy",...e,modules:[isi,__i],onGridReady:()=>{"production"!==process.env.NODE_ENV&&(console.error=KIi)}})}class ZIi{uuid=ho()}const QIi=(e,t,n)=>{const i=new KE(oS(t)),r=ZSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof VSi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof USi){const t=ZSi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},JIi=(e,t,n,i,r=!1)=>{let s,o;if(cS(t.functionName,n)){Ks(t.parametersValues.length===(r?1:2),`Can't process ${oS(n)}() expression: ${oS(n)}() expects ${r?"no argument":"1 argument"}`);const i=js(t.parametersValues[0],XE,`Can't process ${oS(n)}() expression: expects property expression in lambda body`);s=new GSi(e,i),o=t}else if(cS(t.functionName,SEn.EXISTS)){const i=js(t.parametersValues[1],JE),a=js(i.values[0],QE),l=js(a.expressionSequence[0],KE);Ks(l.parametersValues.length===(r?1:2),`Can't process ${oS(n)}() expression: ${oS(n)}() expects ${r?"no argument":"1 argument"}`);const c=js(l.parametersValues[0],XE,`Can't process ${oS(n)}() expression: expects property expression in lambda body`);s=new GSi(e,c),o=l}if(s&&o){Ks(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${oS(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof XE?s.setRightConditionValue(new USi(s,new QCi(e.queryBuilderState,t))):s.setRightConditionValue(new VSi(s,JEn(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new VSi(s,i.getDefaultFilterConditionValue(s))),s}};class eDi extends ZIi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.BOOLEAN,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_DAY:SEn.EQUAL,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_EQUAL])}}class tDi extends eDi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_EQUAL])}}class nDi extends ZIi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.STRING,AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)||t instanceof IS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof VSi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=HEn(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)?[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(n.path):n===t)}if(i instanceof PE)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return new UE(iS.ONE,vS.create(new wS(t)))}buildFilterConditionExpression(e,t){return QIi(e,SEn.IN,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.IN,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_IN])}}class iDi extends nDi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_IN])}}class rDi extends ZIi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!$En(e.propertyExpressionState.propertyExpression)&&(t instanceof IS||t instanceof mS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return QIi(e,SEn.IS_EMPTY,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.IS_EMPTY,this,!0)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_IS_EMPTY])}}class sDi extends rDi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_IS_NOT_EMPTY])}}const oDi=e=>{try{return qIi(e,{language:"mysql"})}catch{try{return qIi(e)}catch{return e}}},aDi=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},lDi=new eDi,cDi=new tDi,dDi=new nDi,uDi=new iDi,hDi=new rDi,pDi=new sDi,gDi=new MEi,mDi=new DEi,fDi=new OEi,yDi=new LEi,vDi=new PEi,_Di=new kEi,bDi=(e,t,n)=>{t.value&&FEn(e,e instanceof VE?VS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},CDi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?hDi:lDi:null===t.value?pDi:cDi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(qSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[hDi,pDi]:t?[lDi,dDi]:[cDi,uDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===hDi||i===pDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?hDi:pDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof VSi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof FE&&(a.value instanceof VE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);bDi(i,n,s),o.changeOperator(t?dDi:uDi),BEn(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof FE&&a.value.values.filter(e=>e instanceof FE).map(e=>e instanceof VE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?lDi:cDi).getDefaultFilterConditionValue(o);bDi(e,n,s),BEn(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new GSi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),bDi(e,n,i.queryBuilderState),i.addNodeFromNode(new qSi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){Kr(t),e.alertUnhandledError(t)}},SDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?fDi:gDi:null===t.value?yDi:vDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(wEi)).filter(e=>e.condition.leftConditionValue instanceof nSi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[fDi,yDi]:t?[gDi,mDi]:[vDi,_Di],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===fDi||i===yDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?fDi:yDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof AEi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof FE&&(a.value instanceof VE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);bDi(i,n,s.queryBuilderState),o.changeOperator(t?mDi:_Di),BEn(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof FE&&a.value.values.filter(e=>e instanceof FE).map(e=>e instanceof VE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?gDi:vDi).getDefaultFilterConditionValue(o);bDi(e,n,s.queryBuilderState),BEn(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new REi(i.postFilterState,e,t),r instanceof sSi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),bDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new wEi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){Kr(t),e.alertUnhandledError(t)}},EDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?wSi(r,n.columnName):void 0;s instanceof sSi||s instanceof aSi||s instanceof iSi&&FSi(s.propertyExpressionState.propertyExpression)?await SDi(e,t,n,i,s,r):s instanceof iSi?CDi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},wDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await EDi(e,n,r,t,i)},xDi=tie(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Pat(),a=n?.columnName?wSi(i,n.columnName):void 0;return wne.jsxs(HOe,{ref:t,children:[wne.jsx(zOe,{disabled:!a,onClick:()=>{wDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),wne.jsx(zOe,{disabled:!a,onClick:()=>{wDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),wne.jsx(WOe,{}),wne.jsx(zOe,{onClick:r,children:"Copy Cell Value"}),wne.jsx(zOe,{onClick:s,children:"Copy Row Value"})]})})),TDi=tie(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"query-builder__sql__container",children:[wne.jsx(aLe,{}),wne.jsxs("div",{children:[wne.jsx("div",{className:"query-builder__sql__container__item__label",children:wne.jsxs(sLe,{children:["SQL",wne.jsx("div",{children:wne.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:wne.jsx(vre,{})})})]})}),wne.jsx("div",{className:"query-builder__sql__container__code-editor",children:wne.jsx(rEn,{inputValue:oDi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:JSn.SQL})}),wne.jsx(aLe,{})]},t)]}),n.length>0&&wne.jsx("div",{className:"query-builder__sql__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__sql__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Label"}),wne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),wne.jsx("tbody",{children:n.map(e=>wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&wne.jsx("td",{className:"table__cell--left",children:aY(e.dataType)})]},e.label))})]})]})})]})}),ADi=tie(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?wne.jsx(TDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):wne.jsxs(rLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx(TDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__sql__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),NDi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return wne.jsxs("div",{className:n,children:[wne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&wne.jsx("div",{className:`${n}__tag`,children:t.value.path}),wne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},RDi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,d;t.tree instanceof iw?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof nw&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{}),h=c?Bwi(c):wne.jsx(MEe,{}),p=()=>r?.(t);return wne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[wne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[wne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[wne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),wne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:wne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:wne.jsx(Jre,{})})})]})},IDi=tie(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return wne.jsx(Vye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[wne.jsx(MOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),wne.jsx(FOe,{className:"query-builder-graph-fetch-config__content",children:wne.jsx(JOe,{children:wne.jsxs(oLe,{children:[wne.jsx(dLe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),wne.jsx(dLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),wne.jsx(uLe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),wne.jsx(uLe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),wne.jsx(uLe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),wne.jsx(uLe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),wne.jsx(uLe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),wne.jsx(uLe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),wne.jsxs(BOe,{children:[!s&&wne.jsx(UOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),wne.jsx(UOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),DDi=tie(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>Mwi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return wne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:wne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[wne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[wne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:wne.jsx(ire,{})}),wne.jsx(IOe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:NDi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),wne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[wne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:wne.jsx(Ire,{})}),wne.jsx(rIe,{components:{TreeNodeContainer:RDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(Kxi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),kDi=tie(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(mX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(zs(TS)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...kw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof TS))).includes(i.tree.class.value)});return wne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[wne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[wne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(Qxi).map(e=>{return wne.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case Qxi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new rTi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(On(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case Qxi.PURE:default:t.setSerializationState(new iTi(t))}})},{label:"Cancel",type:_lt.PROCEED,default:!0}]})}),className:vse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:Sp(e)},e);var r})}),wne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof iTi&&wne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:wne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof iTi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[wne.jsx(Uie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),wne.jsxs("div",{className:vse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[wne.jsx("button",{className:vse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?wne.jsx(hre,{}):wne.jsx(Zre,{})}),wne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),wne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:wne.jsx(Mre,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),wne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof iTi&&n.configModal&&wne.jsx(IDi,{pureSerializationState:n,graphFetchState:t,config:n.config??tTi.createDefault()}),wne.jsxs(OFe,{orientation:"horizontal",children:[wne.jsx(LFe,{children:wne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:wne.jsx(rIe,{components:{TreeNodeContainer:RDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{Kxi(i,e),0===i.nodes.size&&t.setSerializationState(new iTi(t)),n instanceof rTi&&n.treeData?.nodes.get(e.id)&&(Kxi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),wne.jsx(MFe,{}),n instanceof rTi&&n.treeData&&wne.jsx(LFe,{children:wne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),wne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:wne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:wne.jsx(DDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),ODi=tie(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof rTi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=cPe(()=>({accept:[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{mEn.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:wne.jsxs(OPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||$xi(r))&&wne.jsx(mLe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!$xi(r)&&wne.jsx(kDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),LDi=tie(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof iTi||n instanceof rTi?wne.jsx(ODi,{graphFetchTreeState:t,serializationState:n}):wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_GRAPH_FETCH,children:wne.jsx(pLe,{children:wne.jsxs("div",{className:"unsupported-element-editor__main",children:[wne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),wne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(cTi.TEXT),children:"Edit in text mode"})]})})})}),MDi=tie(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof nw?i=jxi(js(t.graphFetchTree,nw),!0):t.graphFetchTree instanceof iw&&(i=(e=>{const t=[],n=new Map,i=zxi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new nw(ZC.create(new xS("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[void 0!==t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),wne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Checked"}),wne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Store"}),wne.jsx("td",{className:"table__cell--left",children:t.store})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),wne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),wne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),wne.jsx(aLe,{}),i&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:wne.jsx(rIe,{components:{TreeNodeContainer:RDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(Vs),innerProps:{isReadOnly:!0}})})}),wne.jsx(aLe,{})]}),t.xStorePropertyFetchDetails&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" subTree "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),wne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),wne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof w2&&wne.jsx(pTi,{resultType:t.resultType}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})})}),PDi=tie(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return wne.jsxs(rLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Name"}),wne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),wne.jsx("tbody",{children:t.map(e=>{return wne.jsx(n.Fragment,{children:wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:e.name}),wne.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===iS.ZERO?"[0]":t===iS.ONE?"[1]":t===iS.ZERO_ONE?"[0..1]":t===iS.ZERO_MANY||t===iS.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),FDi=tie(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=eo(t.values)?t.values.value:""}catch{}return wne.jsxs(rLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&wne.jsx("div",{className:"query-builder__constant__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx("pre",{children:wne.jsx("div",{className:"query-builder__constant__container__item",children:wne.jsxs("div",{children:["value: ",r]})})})]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__constant__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),BDi=tie(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return wne.jsxs(rLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx("div",{className:"query-builder__allocation__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__allocation__container__item",children:wne.jsx("table",{className:"query-builder__allocation__container__table",children:wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{children:"varName"}),wne.jsx("td",{children:`: ${i}`})]}),wne.jsxs("tr",{children:[wne.jsx("td",{children:"realizeInMemory"}),wne.jsx("td",{children:`: ${s}`})]})]})})})]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:r}),wne.jsx(aLe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof A1&&wne.jsx(FDi,{cnode:t.executionNodes[0],executionPlanState:n}),wne.jsx(aLe,{})]})}),VDi=tie(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?wne.jsx("div",{}):o?wne.jsx(lse,{}):wne.jsx(dse,{});return wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__sequence__container",children:wne.jsxs("div",{children:[wne.jsx(sLe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),wne.jsx(aLe,{}),t.executionNodes.map((e,t)=>wne.jsx("div",{className:"query-builder__sequence__container__item",children:wne.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof ski?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof oki&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${ZDi(e)}`,children:[!r&&l,`${t+1}: ${ZDi(e)}`]})},e._UUID))]})}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:s}),!1===r&&o&&wne.jsx(tki,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),UDi=tie(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?wne.jsx(VDi,{node:t,executionPlanState:n,viewJson:i}):wne.jsxs(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx(VDi,{node:t,executionPlanState:n,viewJson:i}),wne.jsx("div",{className:"query-builder__execution__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),GDi=tie(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return wne.jsxs(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),wne.jsx(aLe,{}),wne.jsx(gTi,{resultType:i}),wne.jsx("div",{className:"query-builder__sql__container",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),text:"View JSON"})}),wne.jsx(aLe,{})]})}),HDi=tie(e=>{const{node:t,executionPlanState:n}=e;return wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof t2&&t.implementation.executionClassFullName&&wne.jsx("div",{className:"query-builder__implementation__container__item",children:wne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,c5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(dki.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof t2&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var zDi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(zDi||(zDi={}));const WDi=tie(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof M2?i=zDi.RESULT_SET:t instanceof U2&&(i=zDi.TEMP_FILE),t instanceof B2&&(i=zDi.SUB_QUERY),wne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&wne.jsxs(sLe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),wne.jsx(sLe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${ZDi(t.createTempTableNode)})`}),wne.jsx(tki,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),wne.jsx(aLe,{}),wne.jsx(sLe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${ZDi(t.loadTempTableNode)})`}),wne.jsx(tki,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),wne.jsx(aLe,{}),wne.jsx(sLe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${ZDi(t.dropTempTableNode)})`}),wne.jsx(tki,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),wne.jsx(aLe,{})]})});var jDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(jDi||(jDi={}));const $Di=tie(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(jDi.GENERAL);return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(jDi).map(e=>wne.jsx("div",{onClick:()=>o(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===jDi.GENERAL&&wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),wne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"Checked"}),wne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:wne.jsx(HDi,{node:t,executionPlanState:i})}),wne.jsx(aLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(gTi,{resultType:t.resultType})}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(cki.JSON),text:"View JSON"})})]}),s===jDi.TEMP_TABLE&&t.tempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var qDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(qDi||(qDi={}));const YDi=tie(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(qDi.GENERAL);return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(qDi).map(e=>wne.jsx("div",{onClick:()=>o(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===qDi.GENERAL&&wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:wne.jsx(HDi,{node:t,executionPlanState:i})}),wne.jsx(aLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(gTi,{resultType:t.resultType})}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(cki.JSON),text:"View JSON"})})]}),s===qDi.TEMP_TABLE&&t.tempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var KDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(KDi||(KDi={}));const XDi=tie(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(KDi.GENERAL);return wne.jsx(rLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(KDi).map(e=>wne.jsx("div",{onClick:()=>o(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===KDi.GENERAL&&wne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),wne.jsx(aLe,{}),wne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[wne.jsx("thead",{children:wne.jsxs("tr",{children:[wne.jsx("th",{className:"table__cell--left",children:"Property"}),wne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),wne.jsxs("tbody",{children:[wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),wne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),wne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&wne.jsxs("tr",{children:[wne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),wne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:wne.jsx(HDi,{node:t,executionPlanState:i})}),wne.jsx(aLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Kq&&wne.jsxs(wne.Fragment,{children:[wne.jsx(sLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),wne.jsx(aLe,{}),wne.jsx(TDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(gTi,{resultType:t.resultType})}),wne.jsx(aLe,{}),wne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(cki.JSON),text:"View JSON"})})]}),s===KDi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===KDi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&wne.jsx(WDi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),ZDi=e=>e instanceof Kq?"SQL Execution Node":e instanceof Qq?"Relational TDS Instantiation Execution Node":e instanceof E1?"Function Parameters Validation Node":e instanceof T1?`Allocation Execution Node (${e.varName})`:e instanceof A1?"Constant Execution Node":e instanceof N1?"Sequence Execution Node":e instanceof a2?"Store Mapping Global Graph Fetch Execution Node":e instanceof y2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof H2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof h2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof _2?"Pure Expression Platform Execution Node":"Other",QDi=tie(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof t2&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),wne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:wne.jsxs("div",{className:"panel",children:[wne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:wne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(dki).map(e=>wne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:vse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:Sp(e)},e))})}),t.globalImplementationSupportState.selectedTab===dki.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof t2&&wne.jsxs(OFe,{orientation:"vertical",children:[wne.jsx(LFe,{minSize:30,size:400,children:wne.jsx(rLe,{darkMode:r,className:"query-builder__java__container__panel",children:wne.jsx("div",{className:"query-builder__java__container",children:wne.jsxs("div",{children:[n.classes.map(e=>wne.jsx("div",{className:vse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:wne.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),wne.jsx(aLe,{})]})})})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:"var(--color-dark-grey-200)"})}),wne.jsx(LFe,{children:t.globalImplementationSupportState.selectedJavaClass&&wne.jsx(rEn,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:JSn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===dki.GENERAL&&i.length>0&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),wne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),wne.jsx("div",{className:"query-builder__template--function--editor__code",children:wne.jsx(rEn,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:JSn.XML,hideMinimap:!0,hideActionBar:!0})}),wne.jsx("div",{className:"query-builder__template--function--editor__json",children:wne.jsx(Zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(cki.JSON),text:"View JSON"})})]})]})})}),JDi=tie(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?wne.jsx(lse,{}):wne.jsx(dse,{}):wne.jsx("div",{});let o="",a="";return t instanceof oki&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof a2?o="Cross":t.executionNode instanceof c2&&(o="Local")),a=(e=>{if(e instanceof a2||e instanceof c2){if(e.graphFetchTree instanceof nw)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof iw)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),wne.jsxs("div",{className:vse("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[wne.jsx("div",{className:"tree-view__node__icon",children:wne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&wne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:wne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&wne.jsx("div",{className:"execution-plan-viewer__node__type",children:wne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),wne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),eki=tie(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof ski){const n=e.executionPlan.rootExecutionNode,i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof oki){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof a2){const n=e.executionNode.localGraphFetchExecutionNode,i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof d2&&e.executionNode.children.forEach(n=>{const i=aki(n,ZDi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return wne.jsx(rIe,{components:{TreeNodeContainer:JDi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(Vs);return n},onNodeSelect:e=>{e instanceof ski?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof oki&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),tki=tie(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof Kq?wne.jsx(ADi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Qq?wne.jsx(GDi,{node:t,executionPlanState:n}):t instanceof E1?wne.jsx(PDi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof T1?wne.jsx(BDi,{node:t,executionPlanState:n}):t instanceof A1?wne.jsx(FDi,{cnode:t,executionPlanState:n}):t instanceof N1?wne.jsx(UDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof a2?wne.jsx(MDi,{storeMappingNode:t,executionPlanState:n}):t instanceof H2?wne.jsx(XDi,{node:t,executionPlanState:n}):t instanceof y2?wne.jsx($Di,{node:t,executionPlanState:n}):t instanceof h2?wne.jsx(YDi,{node:t,executionPlanState:n}):wne.jsx(pLe,{children:wne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[wne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),wne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(cki.JSON),children:"View JSON"})]})})}),nki=tie(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof ski?r=i.selectedNode.executionPlan:i.selectedNode instanceof oki&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof ski&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(cki);return wne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&wne.jsxs(wne.Fragment,{children:[wne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[wne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:wne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),wne.jsx(YOe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:wne.jsx(HOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:wne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[wne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),wne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>wne.jsx(zOe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:wne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),wne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===cki.JSON&&Boolean(t)&&wne.jsx(rEn,{inputValue:t,isReadOnly:!0,language:JSn.JSON,hideMinimap:!0}),i.viewMode===cki.FORM&&wne.jsxs(wne.Fragment,{children:[r instanceof Yq&&wne.jsx(tki,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof c5&&wne.jsx(QDi,{executionPlanState:i})]})]})]})})}),iki=tie(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return wne.jsx("div",{className:"execution-plan-viewer__content",children:i?wne.jsxs(OFe,{orientation:"vertical",children:[wne.jsx(LFe,{size:300,minSize:300,children:wne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[wne.jsx(tLe,{darkMode:r,title:"execution plan explorer"}),wne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:wne.jsx(eki,{executionPlanState:t,executionPlan:i})})]})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),wne.jsx(LFe,{children:wne.jsx(nki,{displayData:t.displayData,executionPlanState:t})})]}):wne.jsx(rEn,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:JSn.JSON})})}),rki=tie(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(dki.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?wne.jsx(Vye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{className:"editor-modal",darkMode:r,children:[wne.jsx(MOe,{title:"Execution Plan"}),wne.jsx(FOe,{children:t.debugText?wne.jsxs(OFe,{orientation:"horizontal",children:[wne.jsx(LFe,{minSize:100,children:wne.jsx(iki,{executionPlanState:t,rawPlan:i})}),wne.jsx(MFe,{children:wne.jsx(PFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),wne.jsx(LFe,{size:200,minSize:28,children:wne.jsxs(JOe,{className:"panel execution-plan-viewer__debug-panel",children:[wne.jsx(eLe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),wne.jsx(rLe,{children:wne.jsx(rEn,{inputValue:t.debugText,isReadOnly:!0,language:JSn.TEXT})})]})})]}):wne.jsx(iki,{executionPlanState:t,rawPlan:i})}),wne.jsx(BOe,{children:wne.jsx(UOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class ski{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){d_(this,{isSelected:Ty,isOpen:Ty,setIsSelected:Lv,setIsOpen:Lv}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class oki{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){d_(this,{isSelected:Ty,isOpen:Ty,setIsSelected:Lv,setIsOpen:Lv}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const aki=(e,t,n)=>{const i=new oki(e._UUID,t,e,n instanceof oki?ZDi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(Yq)).forEach(e=>{Co(r,e._UUID)}),e instanceof a2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(Yq)).forEach(e=>{Co(r,e._UUID)})),e instanceof d2&&e.children.slice().filter(zs(Yq)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},lki=e=>{const t=[],n=new Map,i=(e=>{const t=new ski("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return Co(n,i),t.childrenIds=n,t})(e);return Co(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var cki,dki;!function(e){e.FORM="Form",e.JSON="JSON"}(cki||(cki={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(dki||(dki={}));class uki{selectedTab=dki.GENERAL;selectedJavaClass=void 0;constructor(){d_(this,{selectedTab:Ty,selectedJavaClass:Ty,setSelectedTab:Lv,setSelectedJavaClass:Lv})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class hki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=cki.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new uki;constructor(e,t){d_(this,{displayData:Ty,displayDataJson:Ty,viewMode:Ty,rawPlan:Ty,plan:Ty,debugText:Ty,treeData:Ty,setExecutionPlanDisplayData:Lv,setExecutionPlanDisplayDataJson:Lv,transformMetadataToProtocolJson:Lv,setSelectedNode:Lv,setRawPlan:Lv,setPlan:Lv,setViewMode:Lv,setDebugText:Lv,setTreeNode:Lv,setTreeData:Lv,refreshTreeData:Lv,nonNullableTreeData:Iy,initialize:Lv,globalImplementationSupportState:Ty}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return Gs(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(lki(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof c5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof Yq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const pki=e=>wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[wne.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:wne.jsx(Pie,{})}),wne.jsx("div",{children:e.displayName})]}),gki=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>4}return!1}));switch(t){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:pki}}:{};default:return{}}}return{}},mki=tie(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=t.queryBuilderState.fetchStructureState.implementation,r=t.queryBuilderState.applicationStore,s=e.value,o=Gs(e.node.rowIndex),a=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,l=Xs(s)&&Fc(s)?s:void 0,c=e.column?.getColId()??"",d=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),u=d(c,o),h=t.selectedCells.some(e=>e.coordinates.colIndex===u.colIndex&&e.coordinates.rowIndex===u.rowIndex),p=e=>{if(t.executionResult&&t.executionResult instanceof RZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof RZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>kZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>kZ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},m=e=>{if(e.preventDefault(),e.shiftKey){const e=d(c,o),n=g([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:c,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=d(c,o),n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=d(c,o);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return wne.jsx(qOe,{content:(()=>{if(i instanceof xwi){const n=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(i.queryBuilderState.resultState.selectedCells.map(e=>e.value).join(","))),s=t=>{if(!(i.queryBuilderState.resultState.executionResult&&i.queryBuilderState.resultState.executionResult instanceof RZ))return"";const n=[];return Object.entries(e.api.getRenderedNodes().find(e=>e.rowIndex===t)?.data).forEach(e=>{"rowNumber"!==e[0]&&n.push(e[1])}),n.join(",")},o=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(s(i.queryBuilderState.resultState.selectedCells[0]?.coordinates.rowIndex??0)));return wne.jsx(xDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof xwi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:vse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:wne.jsx("div",{className:vse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":h}),onMouseDown:e=>m(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=d(c,o);t.setSelectedCells([e]);const r=Math.min(n.rowIndex,i.rowIndex),s=Math.min(n.colIndex,i.colIndex),a=Math.max(n.rowIndex,i.rowIndex),l=Math.max(n.colIndex,i.colIndex);for(let e=r;e<=a;e++)for(let n=s;n<=l;n++){const i={value:g([e,n]),columnName:p(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:l?wne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):wne.jsx("span",{children:Zs(s)?Intl.NumberFormat(Cwi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),fki=tie(e=>{const{executionResult:t,queryBuilderState:n}=e,i=n.resultState,r=!n.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,s=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...gki(t,e),cellRenderer:mki,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:wne.jsx("div",{className:vse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:wne.jsx(XIi,{rowData:aDi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1}},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:s})})})});var yki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(yki||(yki={}));const vki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case AC.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case AC.DATE:case AC.DATETIME:case AC.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case AC.DECIMAL:case AC.NUMBER:case AC.INTEGER:case AC.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},_ki=tie(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&Fc(n)?n:void 0;return wne.jsx("div",{className:vse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{e.preventDefault(),0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?wne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):wne.jsx("span",{children:Zs(n)?Intl.NumberFormat(Cwi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),bki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case AC.DATE:case AC.DATETIME:case AC.STRICTDATE:return{filter:"agDateColumnFilter"};case AC.DECIMAL:case AC.INTEGER:case AC.NUMBER:case AC.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},Cki=tie(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Pat(),s=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,[o,a]=n.useState(void 0),[l,c]=n.useState(void 0),d=i.resultState,u=i.isLocalModeEnabled,h=u?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:_ki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...vki(e,n),...gki(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:_ki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...bki(e,n),...gki(e,n)})))(t,d),p=()=>{o&&d.setGridConfig({columns:o.getColumnState(),isPivotModeEnabled:o.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},g=n.useCallback(e=>{let t=[];const n=d.queryBuilderState.fetchStructureState.implementation;return n instanceof xwi&&(t=[{name:"Filter By",action:()=>{wDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{wDi(r,d.mousedOverCell,!1,n).catch(i.applicationStore.alertUnhandledError)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]),t},[r,d.mousedOverCell,d.queryBuilderState.fetchStructureState.implementation,i.applicationStore.alertUnhandledError]),m=o?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),f=l?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(l.colDef.field)?{label:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field)),value:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field))}:null;return n.useEffect(()=>{l&&l.api.setColumnAggFunc(Gs(l.colDef.field),yki.WAVG)},[d.wavgAggregationState,l]),wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:wne.jsxs("div",{className:vse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?wne.jsx(XIi,{rowData:aDi(t),onGridReady:e=>{a(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:h,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new wki),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),c(e)):r.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),s=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return p(),s/i;r.notificationService.notifyError("The weighted column sum is 0")}else r.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){Kr(e),r.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:p,onColumnPinned:p,onColumnResized:p,onColumnRowGroupChanged:p,onColumnValueChanged:p,onColumnPivotChanged:p,onColumnPivotModeChanged:p}):wne.jsx(XIi,{rowData:aDi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:e=>{const t=(e=>{const t=e.getCellRanges(),n=[];e.forEachNode(e=>n.push(e));const i=e.getColumnDefs(),r=[];if(t)for(const e of t){const t=e.startRow?.rowIndex??0,s=e.endRow?.rowIndex??0,o=t<s?t:s,a=t<s?s:t,l=e.columns.map(e=>e.getColId());for(let e=o;e<=a;e++){const t=n.find(t=>t.rowIndex===e)?.data;if(t)for(const n of l){const s={value:Object.entries(t).find(e=>e[0]===n)?.at(1),columnName:n,coordinates:{rowIndex:e,colIndex:i.findIndex(e=>e.colId===n)}};r.push(s)}}}return r})(e.api);d.setSelectedCells([]),t.forEach(e=>d.addSelectedCell(e))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:h,getContextMenuItems:e=>g(e)}),d.wavgAggregationState?.isApplyingWavg&&wne.jsx(Vye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[wne.jsx(MOe,{title:"Applying Weighted Average"}),wne.jsxs(FOe,{children:[wne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),wne.jsx(IOe,{options:m,onChange:e=>{l?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(l.colDef.field,e.value)},value:f,placeholder:"Choose a weighted column",darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),wne.jsx(BOe,{children:wne.jsx(UOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var Ski;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(Ski||(Ski={}));class Eki{applicationStore;selectedTab=Ski.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){d_(this,{selectedTab:Ty,lineageData:Ty,isLineageViewerOpen:Ty,selectedPropertyOwnerNode:Ty,selectedProperty:Ty,selectedSourcePropertiesMap:Ty,setSelectedTab:Lv,setLineageData:Lv,setIsLineageViewerOpen:Lv,setSelectedPropertyOwnerNode:Lv,setSelectedProperty:Lv,setSelectedSourcePropertiesMap:Lv,clearPropertySelections:Lv}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class wki{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){d_(this,{isApplyingWavg:Ty,weightedColumnIdPairs:Ty,setIsApplyingWavg:Lv,addWeightedColumnIdPair:Lv,removeWeightedColumnIdPair:Lv}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class xki{queryBuilderState;executionPlanState;exportState=pb.create();previewLimit=1e3;pressedRunQuery=pb.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){d_(this,{executionResult:Ty,executionTraceId:Ty,previewLimit:Ty,executionDuration:Ty,latestRunHashCode:Ty,queryRunPromise:Ty,isGeneratingPlan:Ty,selectedCells:Ty,mousedOverCell:Ty,isRunningQuery:Ty,isSelectingCells:Ty,isQueryUsageViewerOpened:Ty,isExecutionResultOverflowing:Ty,gridConfig:Ty,wavgAggregationState:Ty,executionError:Ty,setGridConfig:Lv,setWavgAggregationState:Lv,setIsSelectingCells:Lv,setIsRunningQuery:Lv,setExecutionResult:Lv,setExecutionTraceId:Lv,setExecutionDuration:Lv,setPreviewLimit:Lv,addSelectedCell:Lv,setSelectedCells:Lv,setMouseOverCell:Lv,setQueryRunPromise:Lv,setIsQueryUsageViewerOpened:Lv,setIsExecutionResultOverflowing:Lv,handlePreConfiguredGridConfig:Lv,updatePreviewLimitInConfig:Lv,setExecutionError:Lv,exportData:Zv,runQuery:Zv,cancelQuery:Zv,generatePlan:Zv,generateLineage:Zv}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new hki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new Eki(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof xwi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof RZ&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===yki.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new wki,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=gEi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=K3(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return sEi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});mEn.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:rEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(jQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=Y5(this.queryBuilderState.graphManagerState.graph);_ct(s,`result.${Ac(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());mEn.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=rEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);mEn.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new gb,s=Y5(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[WQ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());mEn.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof mQ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new gb,r=Y5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){mEn.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else mEn.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(uEn.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?mEn.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):mEn.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class Tki{queryBuilderState;rawLambda;lambdaError;constructor(e){d_(this,{rawLambda:Ty,lambdaError:Ty,setRawLambda:Lv,setLambdaError:Lv,hashCode:Iy}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return Cg([ewn.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const Aki="QUERY_BUILDER_FUNCTION",Nki=(e,t)=>t===TC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,Rki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof PS)).filter(t=>t instanceof TS&&Nki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),Iki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),Dki=(e,t,n,i=TC.MAIN)=>{const r=i===TC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=Nki(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof TS&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>Rki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>Iki(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},kki=(e,t,n=TC.MAIN)=>{const i=[],r=new Map,s=Nki(t,n);if(n===TC.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof TS&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=Rki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},Oki=(e,t,n,i=TC.MAIN)=>(Dki(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(DOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),Lki=e=>e.package?(e instanceof TS?[e]:[]).concat([e.package].concat(Lki(e.package))):[];class Mki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){d_(this,{functionAnalysisInfo:Ty}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Pki{initState=pb.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){d_(this,{functionExplorerStates:Ty.ref,setFunctionExplorerStates:Lv,dependencyFunctionExplorerStates:Ty.ref,setDependencyFunctionExplorerStates:Lv,treeData:Ty.ref,dependencyTreeData:Ty.ref,_functionGraph:Ty,functionInfoMap:Ty,dependencyFunctionInfoMap:Ty,packagePathToFunctionInfoMap:Ty,setFunctionInfoMap:Lv,setDependencyFunctionInfoMap:Lv,setTreeData:Lv,setPackagePathToFunctionInfoMap:Lv,setDependencyTreeData:Lv,refreshTree:Lv,onTreeNodeSelect:Lv,initializeTreeData:Lv}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=TC.MAIN){return e===TC.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>Pw(this._functionGraph,e.packagePath,void 0)).map(e=>Lki(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Pw(this._functionGraph,e.packagePath,void 0)).map(e=>Lki(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return Gs(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=TC.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,Dki(e,t,n,i)),i===TC.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(ox(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;ox(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(kki([this._functionGraph.root],this.queryBuilderState,TC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new Mki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(kki([this._functionGraph.root],this.queryBuilderState,TC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new Mki(this,e)):[])}),this.initState.pass())}}class Fki extends lEi{queryBuilderState;selectedParameter;constructor(e){super(),d_(this,{parameterValuesEditorState:Ty,parameterStates:Ty,addParameter:Lv,removeParameter:Lv,setParameters:Lv,selectedParameter:Ty,setSelectedParameter:Lv,hashCode:Hf}),this.queryBuilderState=e}get hashCode(){return Cg([ewn.PARAMETERS_STATE,Cg(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Bki extends ZIi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_AFTER_DAY:SEn.GREATER_THAN,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_GREATER_THAN])}}class Vki extends ZIi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return mS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===AC.STRING)return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return QIi(e,SEn.STARTS_WITH,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.STARTS_WITH,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_START_WITH])}}class Uki extends Vki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_START_WITH])}}class Gki extends ZIi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_AFTER_DAY:SEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class Hki extends ZIi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_ON_OR_BEFORE_DAY:SEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class zki extends ZIi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[AC.NUMBER,AC.INTEGER,AC.DECIMAL,AC.FLOAT,AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return qEn(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case AC.NUMBER:case AC.DECIMAL:case AC.FLOAT:case AC.INTEGER:case AC.STRICTDATE:case AC.DATETIME:case AC.DATE:return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return QIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,t)}buildFilterConditionState(e,t){return JIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?SEn.IS_BEFORE_DAY:SEn.LESS_THAN,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_LESS_THAN])}}class Wki extends ZIi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return mS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===AC.STRING)return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return QIi(e,SEn.ENDS_WITH,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.ENDS_WITH,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_END_WITH])}}class jki extends Wki{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_END_WITH])}}class $ki extends ZIi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return mS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===AC.STRING)return zCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return QIi(e,SEn.CONTAINS,t)}buildFilterConditionState(e,t){return JIi(e,t,SEn.CONTAINS,this)}get hashCode(){return Cg([ewn.FILTER_OPERATOR_CONTAIN])}}class qki extends $ki{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return jEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=WEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([ewn.FILTER_OPERATOR_NOT_CONTAIN])}}var Yki;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(Yki||(Yki={}));class Kki{changeDetectionState;initialQuery;currentQuery;mode=Yki.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){d_(this,{mode:Ty,initialQueryGrammarText:Ty,currentQueryGrammarText:Ty,setMode:Lv,generateGrammarDiff:Zv}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){Kr(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){Kr(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class Xki{querybuilderState;initState=pb.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){d_(this,{diffViewState:Ty,querySnapshot:Ty,hashCodeSnapshot:Ty,hasChanged:Iy,initialize:Lv,showDiffViewPanel:Lv,hideDiffViewPanel:Lv}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new Kki(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:_lt.PROCEED,default:!0}]}):e()}}const Zki=e=>e instanceof PE?`${CC}${e.name}`:e instanceof BE&&e.genericType.value.rawType===mS.STRICTDATE?e.values[0]:e instanceof BE&&e.genericType.value.rawType===mS.LATESTDATE?"%latest":"(unknown)",Qki=(e,t)=>{const n=nx(e,t.graphManagerState.graph);return wne.jsx("div",{className:vse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:wne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},Jki=tie(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Pat(),o=Dke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:Qki(e,t)})),l=t.class?{value:t.class,label:Qki(t.class,t)}:null;return wne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:wne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[wne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),wne.jsx(IOe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.class&&(t.changeClass(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Fwi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),eOi=e=>({value:e,label:e instanceof Zj?e.packageableRuntime.value.name:"custom"}),tOi=e=>function(t){if(t.value instanceof Zj){const n=t.value;return Fwi(e)(Mwi(n.packageableRuntime.value))}return t.value instanceof Zj?t.value.packageableRuntime.value.name:wne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[wne.jsx(fre,{}),wne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},nOi=tie(e=>{const{queryBuilderState:t}=e,n=Pat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(Mwi).sort(DOe),s=t.executionContextState.mapping?Mwi(t.executionContextState.mapping):null,o=Dke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Zj(ZC.create(e))).map(eOi).sort(DOe),l=t.executionContextState.runtimeValue?eOi(t.executionContextState.runtimeValue):null,c=Dke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Zj?e.data.value.packageableRuntime.value.path:"custom"});return wne.jsxs("div",{className:"query-builder__setup__config-group",children:[wne.jsx(eLe,{title:"properties"}),wne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[wne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[wne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),wne.jsx(IOe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.class,options:r,onChange:e=>{t.class&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Fwi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),wne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[wne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),wne.jsx(IOe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.class||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:tOi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),wne.jsx("div",{className:"query-builder__setup__config-group__item",children:wne.jsx(Jki,{queryBuilderState:t,classes:i})})]})]})}),iOi=tie(e=>{const{queryBuilderState:t,children:n}=e,i=Pat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):wne.jsx(wne.Fragment,{});return wne.jsxs("div",{className:vse("query-builder__side-bar",t.sideBarClassName),children:[wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:wne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??wne.jsx(nOi,{queryBuilderState:t})})}),wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),wne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class rOi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class sOi extends rOi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${Zki(this.getMilestoningDate(0))}, Business Date: ${Zki(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(FC)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(BC))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof PE?this.milestoningState.businessDate.name:BC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof PE?this.milestoningState.processingDate.name:FC)].filter(Vs)}processGetAllParamaters(e){Ks(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(Gs(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=VCi(SEn.NOW,mS.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new Yr("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===OC.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new ew(()=>Gs(js(n,XE).parametersValues[1]));let o;return e&&n&&!t?o=new ew(()=>Gs(n.parametersValues[1])):(o=new ew(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===OC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new ew(()=>Gs(js(s.propertyExpression.parametersValues[0],XE).parametersValues[1]));let o;return e&&n&&!t?o=new ew(()=>Gs(n.parametersValues[2])):(o=new ew(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class oOi extends rOi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${Zki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(BC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof PE?this.milestoningState.businessDate.name:BC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=VCi(SEn.NOW,mS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===OC.BUSINESS_TEMPORAL?new ew(()=>Gs(n.parametersValues[1])):new ew(()=>Gs(n.parametersValues[2]));{const n=new ew(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class aOi extends rOi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${Zki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof PE?this.milestoningState.processingDate.name:FC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=VCi(SEn.NOW,mS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new ew(()=>Gs(n.parametersValues[1]));{const n=new ew(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class lOi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){d_(this,{processingDate:Ty,businessDate:Ty,startDate:Ty,endDate:Ty,showMilestoningEditor:Ty,setProcessingDate:Lv,setBusinessDate:Lv,setStartDate:Lv,setEndDate:Lv,setShowMilestoningEditor:Lv,clearMilestoningDates:Lv,setAllVersions:Lv,setAllVersionsInRange:Lv,initializeAllVersionsInRangeParameters:Lv,clearAllVersionsInRangeParameters:Lv,clearGetAllParameters:Lv,isAllVersionsEnabled:Iy,isAllVersionsInRangeEnabled:Iy,isMilestonedQuery:Iy,hashCode:Iy}),this.queryBuilderState=e,this.milestoningImplementations.push(new oOi(this,OC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new aOi(this,OC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new sOi(this,OC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof xwi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof iSi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof aSi&&e.projectionColumnState instanceof iSi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof qSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof jSi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==Gw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Gw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==OC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===CEn.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(CEn.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?ste(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?ste(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return Gs(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?ste(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?ste(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(MC)),this.setEndDate(this.buildMilestoningParameter(PC))}clearGetAllParameters(){if(this.businessDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,PE).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,PE).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof BE&&this.setBusinessDate(void 0),this.processingDate instanceof BE&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof PE&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Gw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new PE(e,iS.ONE,vS.create(new wS(mS.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new oEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new PE(e,iS.ONE,vS.create(new wS(mS.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new oEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof PE){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof PE){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&QEn(e,this.businessDate),n=!!this.processingDate&&QEn(e,this.processingDate),i=!!this.startDate&&QEn(e,this.startDate),r=!!this.endDate&&QEn(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof PE&&(t=e.name===js(this.businessDate,PE).name),this.processingDate instanceof PE&&(t=t||e.name===js(this.processingDate,PE).name),this.startDate instanceof PE&&(t=t||e.name===js(this.startDate,PE).name),this.endDate instanceof PE&&(t=t||e.name===js(this.endDate,PE).name),t}get hashCode(){return Cg([ewn.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var cOi;!function(e){e.COMPILE="query-builder.compile"}(cOi||(cOi={}));const dOi={[cOi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class uOi{queryBuilderState;value;constructor(e){d_(this,{value:Ty,setValue:Lv,hashCode:Iy}),this.queryBuilderState=e}getDefaultValue(){return new BE(vS.create(new wS(mS.STRING)))}setValue(e){this.value=e?ste(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&QEn(e,this.value)}get hashCode(){return Cg([ewn.WATERMARK_STATE,this.value??""])}}class hOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return Cg([ewn.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new BE(vS.create(new wS(mS.STRING)));e.values=[this.variable.name];const t=new KE(oS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class pOi extends hOi{value;constructor(e,t,n){super(e,t),d_(this,{variable:Ty,value:Ty,setValueSpec:Lv,changeValSpecType:Lv}),this.value=ste(n,this.queryBuilderState.observerContext),ste(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=zCi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof PE)throw new qr("Can not assign a parameter to another parameter");this.value=ste(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&IEn(this.variable,vS.create(new wS(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return Cg([ewn.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class gOi extends eSi{queryBuilderState;calculatedState;convertingLambdaToStringState=pb.create();constructor(e){super("",""),d_(this,{calculatedState:Ty,convertingLambdaToStringState:Ty,buildEmptyValueSpec:Ty}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(WCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Mee([gEn.QUERY_BUILDER,gEn.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){Kr(e),e instanceof hQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(ow.PARSING_FAILURE),e)}}}class mOi extends hOi{value;lambdaState;constructor(e,t,n){super(e,t),d_(this,{variable:Ty,lambdaState:Ty,value:Ty,setLambdaState:Lv,setValue:Lv}),this.value=n,this.lambdaState=new gOi(this),ste(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new ME(this.value)}}class fOi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,d_(this,{constants:Ty,showConstantPanel:Ty,selectedConstant:Ty,addConstant:Lv,removeConstant:Lv,setShowConstantPanel:Lv,setSelectedConstant:Lv,convertToCalculated:Lv})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){wo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof PE&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new mOi(this.queryBuilderState,e.variable,t);Ks(So(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return Cg([ewn.CONSTANT_STATE,Cg(this.constants)])}}var yOi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}(yOi||(yOi={}));class vOi{uuid=ho();specification;entitlementReport;constructor(e){d_(this,{entitlementReport:Ty,setEntitlementReport:Lv}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class _Oi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=pb.create();checkEntitlementsState=pb.create();datasets=[];constructor(e,t,n){d_(this,{datasets:Ty,entitlementCheckInfo:Iy,fetchDatasetSpecifications:Zv,fetchDatasetEntitlementReports:Zv}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new vOi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof ZJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof e0).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof JJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof QJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof t0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-d,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(yOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=vo(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new vOi(e)})}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new vOi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class bOi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){d_(this,{showCheckEntitlementsViewer:Ty,dataAccessState:Ty,setShowCheckEntitlementsViewer:Lv,hashCode:Iy}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof Zj&&(this.dataAccessState=new _Oi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=tEi(n.graph,t),r=K3(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return Cg([ewn.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class COi{queryBuilderState;initState=pb.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){d_(this,{currentQuery:Ty,pointer:Ty,querySnapshotBuffer:Ty,initialize:Lv,undo:Lv,redo:Lv,setCurrentQuery:Lv,cacheNewQuery:Lv,canRedo:Iy,canUndo:Iy}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(_b.create(uEn.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class SOi{static INSTANCE=new SOi}class EOi{actionConfig=SOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class wOi extends EOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new wOi}class xOi extends EOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new xOi}class TOi extends xxn{mapping;runtime}class AOi extends cAn{logService=new bb;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof TOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new TOi;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return LI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(MI(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(_C)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(MI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new gb,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=js(r.executionResult,RZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=Y5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());mEn.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof _Z?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof TOi){return Boolean(e.mapping??e.runtime)?Mxn(exports.DataCubeFunction.FROM,[e.mapping?Bxn(e.mapping):void 0,e.runtime?Bxn(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(eD(MI(e,[])),bT);return new kE(t.parameters,t.body)}getSourceFunctionExpression(){let e=LI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof aA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new wxn;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class NOi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var ROi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(ROi||(ROi={}));class IOi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=pb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new eDi,new tDi,new zki,new Hki,new Bki,new Gki,new Vki,new Uki,new $ki,new qki,new Wki,new jki,new nDi,new iDi,new rDi,new sDi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=ROi.STANDARD;class;getAllFunction=CEn.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){d_(this,{explorerState:Ty,parametersState:Ty,constantState:Ty,functionsExplorerState:Ty,fetchStructureState:Ty,filterState:Ty,watermarkState:Ty,milestoningState:Ty,checkEntitlementsState:Ty,resultState:Ty,textEditorState:Ty,unsupportedQueryState:Ty,showFunctionsExplorerPanel:Ty,showParametersPanel:Ty,isEditingWatermark:Ty,isCheckingEntitlments:Ty,isCalendarEnabled:Ty,changeDetectionState:Ty,changeHistoryState:Ty,executionContextState:Ty,class:Ty,queryChatState:Ty,isQueryChatOpened:Ty,isLocalModeEnabled:Ty,dataCubeViewerState:Ty,getAllFunction:Ty,lambdaWriteMode:Ty,INTERNAL__enableInitializingDefaultSimpleExpressionValue:Ty,sideBarClassName:Iy,isQuerySupported:Iy,allValidationIssues:Iy,canBuildQuery:Iy,setShowFunctionsExplorerPanel:Lv,setShowParametersPanel:Lv,setIsEditingWatermark:Lv,setIsCalendarEnabled:Lv,setDataCubeViewerState:Lv,openDataCubeEngine:Lv,setIsCheckingEntitlments:Lv,setClass:Lv,setIsQueryChatOpened:Lv,setIsLocalModeEnabled:Lv,setGetAllFunction:Lv,setLambdaWriteMode:Lv,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Lv,TEMPORARY_initializeExecContext:Lv,resetQueryResult:Lv,resetQueryContent:Lv,changeClass:Lv,changeMapping:Lv,setExecutionContextState:Lv,setQueryChatState:Lv,rebuildWithQuery:Lv,compileQuery:Zv,hashCode:Iy}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new lOi(this),this.explorerState=new Cxi(this),this.parametersState=new Fki(this),this.constantState=new fOi(this),this.functionsExplorerState=new Pki(this),this.fetchStructureState=new aTi(this),this.filterState=new KSi(this,this.filterOperators),this.watermarkState=new uOi(this),this.checkEntitlementsState=new bOi(this),this.resultState=new xki(this),this.textEditorState=new dTi(this),this.unsupportedQueryState=new Tki(this),this.observerContext=new H3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new Xki(this),this.changeHistoryState=new COi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(vwi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new dEi(this);return this.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE),e}return new uEi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===ROi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new ZZ,t=js(this.executionContextState.runtimeValue,Zj,"Query runtime must be of type runtime pointer");return Us(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=ZC.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.class?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof Zj?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(vwi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}setClass(e){this.class=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{mEn.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Zj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE);const r=rEi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new AOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new NOi(a,o)})(this))}catch(e){Kr(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:cOi.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[cOi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new xki(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new dTi(this),this.unsupportedQueryState=new Tki(this),this.milestoningState=new lOi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new Cxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new fOi(this),this.functionsExplorerState=new Pki(this),this.parametersState=new Fki(this),this.filterState=new KSi(this,this.filterOperators),this.watermarkState=new uOi(this),this.checkEntitlementsState=new bOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new aTi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(CEn.GET_ALL),this.setClass(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(e),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(CEn.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new kE(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return K3(gEi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildFromQuery(){Ks(this.isQuerySupported,"Query must be supported to build from function");const e=Gs(this.executionContextState.mapping,"Mapping required to build from() function"),t=Gs(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=js(t,Zj).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new KE(oS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new FE(iS.ONE,void 0);s.values=[ZC.create(t)];const o=new FE(iS.ONE,void 0);return o.values=[ZC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(gEi(this),e,n.value);return K3(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof xwi){return this.lambdaWriteMode===ROi.STANDARD?this.graphManagerState.graph.getClass(_En.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(_En.RELATION)}return mS.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!mj(e)){const t=ste(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,JE,"Can't build query state: query builder only support lambda");zOi(Gs(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){Kr(s),this.applicationStore.logService.error(_b.create(uEn.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setClass(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>ste(e,this.observerContext)).filter(zs(PE));HOi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===cTi.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(Kr(e),e instanceof pQ){this.applicationStore.logService.error(_b.create(ow.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Lee(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){Kr(e),this.applicationStore.logService.error(_b.create(ow.COMPILATION_FAILURE),e);let t=!0;e instanceof pQ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(cTi.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new J5(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new DOi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.class=this.class,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return Cg([ewn.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class DOi extends IOi{}class kOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const OOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.GRAPH_FETCH),Ks(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=js(e.parametersValues[0],KE,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(cS(i.functionName,[SEn.GRAPH_FETCH,SEn.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof sTi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],sw,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],nw,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");Ks(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(jxi(r));const s=e.parametersValues[2];if(s){const e=js(s,KE,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");Ks(cS(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=js(n.serializationState,iTi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],FE,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],XC,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,xS,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===_En.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${_En.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],UE,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new tTi;r.values.forEach((e,t)=>{const n=js(e,HE,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=js(e.key,BE,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);Ks(r.genericType.value.rawType.path===AC.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=io(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);Gs(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=Yw(n,s),l=js(a.genericType.value.rawType,mS,`Only primitive types suppported for config. Property ${s} for class '${_En.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,BE,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case AC.STRING:to(c);break;case AC.BOOLEAN:no(c);break;default:return}t[s]=c})(Gs(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},LOi=(e,t,n)=>{const i=js(e.parametersValues[0],KE,"Can't process project() expression: only support project() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE,SEn.FILTER,SEn.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),GOi.process(i,n,t)},MOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),LOi(e,t,n);const i=e.parametersValues[1];i instanceof UE?i.values.map(i=>GOi.processChild(i,e,n,t)):(Ws(i,KE,"Can't process project() expression: project() expects argument #1 to be a function expression"),GOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),LOi(e,t,n);const i=e.parametersValues[1];Ws(i,UE,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>GOi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof UE?(Ws(r,UE,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(ZEn).filter(Vs)):(Ws(r,BE,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),Ks(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof xwi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},POi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof xwi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof XE;){const e=r;for(XEn(r,n.graphManagerState.graph,n),r=Gs(r.parametersValues[0]),e.func.value instanceof GS&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof KE&&cS(r.functionName,SEn.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,PE,"Can't process property expression: expects expression root to be a variable");const s=new iSi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},FOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof xwi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(eD(e.content),bT));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new sSi(r,new kE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},BOi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],KE,"Can't process take() expression: only support take() immediately following an expression");if(Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof xwi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof BE&&Zs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},VOi=(e,t,n)=>{const i=e.parametersValues.length;Ks(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=js(e.parametersValues[0],KE,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(cS(c.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),GOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,xwi);Ws(s,UE,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,BE,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return wSi(d,t)});let h,p;if(r){const e=js(o,KE,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(cS(e,SEn.TDS_ASC))return wEn.ASC;if(cS(e,SEn.TDS_DESC))return wEn.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],BE,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=wSi(d,n);h=new XEi(i,t)}if(a instanceof KE){Ks(cS(a.functionName,[SEn.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],BE,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=wSi(d,t),i=js(js(e[1],JE).values[0],QE);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],KE),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new JEi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],PE,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,JE).values[0],QE);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],KE),n=Gs(d.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);Ks(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new QEi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],PE,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,BE,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),m=new ewi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},UOi=e=>!(e instanceof KE)||!cS(e.functionName,SEn.FIRST_DAY_OF_YEAR)&&!cS(e.functionName,SEn.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>UOi(e)).includes(!1);class GOi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new GOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new GOi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!cS(this.parentExpression.functionName,[SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_AGG,...Object.values(bEn)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);FOi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new Yr}visit_FunctionExpression(e){throw new Yr}visit_SimpleFunctionExpression(e){const t=e.functionName;if(cS(t,CEn.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,xS,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Gw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):Ks(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(cS(t,CEn.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,xS,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(Gw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),Ks(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(CEn.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(cS(t,CEn.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,xS,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Gw(n,t.graphManagerState.graph);Ks(void 0!==i&&i!==OC.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),Ks(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(CEn.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(Gs(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(Gs(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(cS(t,SEn.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(CSi.GRAPH_FETCH);const n=e.functionName;Ks(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;Ws(r,xS,"Can't process internalize() expression: internalize() return type is missing"),t.setClass(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=js(e.parametersValues[1],FE,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=js(js(s.values[0],XC,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,mX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],PE),l=new kOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(cS(t,[SEn.FILTER,SEn.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],KE,"Can't process filter() expression: only support filter() immediately following an expression");if(GOi.process(n,this.parentLambda,this.queryBuilderState),cS(n.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE]))return Ks(cS(t,SEn.FILTER),`Can't process filter() expression: only supports ${SEn.FILTER}() immediately following getAll() (got '${t}')`),void Uxi(e,this.queryBuilderState);if(cS(n.functionName,[SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.OLAP_GROUPBY]))return Ks(cS(t,SEn.TDS_FILTER),`Can't process post-filter expression: only supports ${SEn.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof xwi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,JE,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,xwi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),Ks(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=Gs(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=js(o.expressionSequence[0],YE,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");Ks(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(js(o.functionType.parameters[0],PE,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),DSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(cS(n.functionName,[SEn.WATERMARK]))return void Uxi(e,this.queryBuilderState);throw new Yr("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(cS(t,SEn.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],KE,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),GOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT]))(n=e).functionName===SEn.RELATION_PROJECT||cS(n.functionName,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof $E?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],KE,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE,SEn.FILTER,SEn.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),GOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,$E,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE),GOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):MOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_COL))((e,t)=>{Ks(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=js(e.parametersValues[0],JE,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],BE,"Can't process col() func expression: the #2 argument of col() should be a string");POi(js(n.values[0]?.expressionSequence[0],XE,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof xwi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(cS(t,[SEn.TDS_TAKE,SEn.RELATION_LIMIT]))BOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_DISTINCT))((e,t,n)=>{Ks(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=js(e.parametersValues[0],KE,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof xwi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_SORT))((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=js(e.parametersValues[0],KE,"Can't process sort() expression: only support sort() immediately following an expression");Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),GOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,UE,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>GOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],KE,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(cS(i.functionName,[SEn.TDS_TAKE,SEn.TDS_DISTINCT,SEn.TDS_SORT,SEn.TDS_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_FILTER,SEn.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof xwi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],BE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=ro(js(e.parametersValues[2],BE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[SEn.TDS_ASC,SEn.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation,r=ZEn(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new _Si(s);e.sortType=cS(i,SEn.TDS_ASC)?wEn.ASC:wEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[SEn.RELATION_ASC,SEn.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],WE);Ks(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=Gs(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new _Si(o);e.sortType=cS(i,SEn.RELATION_ASC)?wEn.ASC:wEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[SEn.TDS_GROUP_BY,SEn.RELATION_GROUP_BY]))(e=>e.functionName===SEn.RELATION_GROUP_BY||cS(e.functionName,[SEn.TDS_GROUP_BY,SEn.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof $E)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],KE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(cS(i.functionName,[SEn.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),GOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,xwi),s=js(e.parametersValues[1],$E,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");Ks(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(ROi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{Ks(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];Ws(o,$E,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),GOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],KE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(cS(i.functionName,[CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE,SEn.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),GOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,UE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>GOi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,UE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>GOi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,UE,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),Ks(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(ZEn).filter(Vs);t.fetchStructureState.implementation instanceof xwi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),Ks(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),GOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,JE,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=Gs(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=js(o.expressionSequence[0],KE,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];Ws(t,JE,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=Gs(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof KE?n.expressionSequence[0]:void 0}Ks(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=js(o.functionType.parameters[0],PE,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=Xr(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof YEi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)Xr(()=>e.updateAggregateColumnState(Gs(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.OLAP_GROUPBY))VOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.SERIALIZE))OOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,SEn.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(CSi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],KE,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(cS(i.functionName,[SEn.GRAPH_FETCH,SEn.GRAPH_FETCH_CHECKED,SEn.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),GOi.process(i,n,t),t.fetchStructureState.implementation instanceof sTi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],sw,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],nw,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(jxi(s));const o=js(e.parametersValues[1],FE,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=js(js(o.values[0],XC,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,mX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new rTi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],sw,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],nw,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(jxi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[SEn.GRAPH_FETCH_CHECKED,SEn.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;Ks(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=js(e.parametersValues[0],KE,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(cS(r.functionName,[SEn.FILTER,CEn.GET_ALL,CEn.GET_ALL_VERSIONS,CEn.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),GOi.process(r,n,t),t.fetchStructureState.implementation instanceof sTi&&t.fetchStructureState.implementation.setChecked(cS(e.functionName,SEn.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;Ks(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=io(js(i[0],BE,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=Gs(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=Gs(i[1]);let a;a=o instanceof ME?new mOi(t,s,o.content):UOi(o)?new pOi(t,s,o):new mOi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(cS(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return Ks(3===t.length,"From function expects 2 parameters (mapping and runtime)"),((e,t)=>{const n=js(e.parametersValues[1],FE,"Can't process from() expression: only support from() with 1st parameter as instance value"),i=js(js(n.values[0],XC,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,uw,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],FE,"Can't process from() expression: only support from() with 2nd parameter as instance value"),s=js(js(r.values[0],XC,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,gw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new dEi(t);o.setMapping(i),o.setRuntimeValue(new Zj(ZC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void GOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(cS(t,Object.values(bEn)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void GOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!cS(t,SEn.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,SEn.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),Ks(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>Ws(e,XE,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),GOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof xwi){const t=n.fetchStructureState.implementation;Gs(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda)}}}visit_VariableExpression(e){throw new Yr}visit_AbstractPropertyExpression(e){if(Us(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!cS(this.parentExpression.functionName,[SEn.TDS_PROJECT,SEn.RELATION_PROJECT,SEn.TDS_GROUP_BY,SEn.TDS_AGG,SEn.WAVG_ROW_MAPPER,...Object.values(bEn)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);POi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new Yr}visit_KeyExpressionInstanceValue(e){throw new Yr}visit_CollectionInstanceValue(e){throw new Yr}visit_EnumValueInstanceValue(e){throw new Yr}visit_PrimitiveInstanceValue(e){throw new Yr}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new GOi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new Yr}visit_ColSpecArrayInstance(e){if(Us(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),cS(this.parentExpression.functionName,[SEn.RELATION_PROJECT])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{const t=js(e.function1,JE,"Can't process col spec: function1 not a lambda function instance value");Ks(1===t.values.length);const n=Gs(t.values[0]);Ks(1===n.expressionSequence.length);const i=Gs(n.expressionSequence[0]);i instanceof XE?POi(i,e.name,this.queryBuilderState):i instanceof ME&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),FOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(cS(this.parentExpression.functionName,[SEn.RELATION_GROUP_BY])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{Ks(Boolean(t&&cS(t.functionName,SEn.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,JE,"Can't process colSpec: function1 is not a lambda function instance value");Ks(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),Ks(1===Gs(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=js(e.function2,JE,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof xwi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=Gs(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=Gs(r.values[0],"Can't process colSpec: function2 lambda function is missing");Ks(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),Ks(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=js(a.expressionSequence[0],KE,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],PE,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=Xr(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof YEi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=js(t?.genericType?.value.typeArguments?.[0]?.value.rawType,ES,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=Gs(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?vS.create(new wS(o)):r.genericType)}}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new Yr(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const HOi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof PE&&AEn(i,e))r=n.value;else if(Xs(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&Qw(i,t)&&(r=n.value)}});const s=new oEi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},zOi=(e,t,n)=>{e.functionType.parameters.length&&HOi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>GOi.process(n,e,t))},WOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:wne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:AC.STRICTDATE}),s(new RCi(e.target.value,ECi.ABSOLUTE_DATE))}})})},jOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:wne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:AC.DATETIME}),s(new RCi(e.target.value,ECi.ABSOLUTE_TIME))}})})},$Oi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Pat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??wCi.DAYS),[u,h]=n.useState(t.direction??ACi.BEFORE),[p,g]=n.useState(t.referenceMoment??NCi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new ICi(ECi.CUSTOM_DATE,ECi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=OCi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=Gs(a[0]?.label),o.value=Gs(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),wne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?Xr(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),m(t,c,u,p)}})}),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(wCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{d(e.value),m(a,e.value,u,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(ACi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:u,label:u},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(NCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,u,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},qOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Pat(),o=n.useRef(null),[a,l]=n.useState(t instanceof DCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(xCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(NCi).filter(t=>t.toString().includes(e)),n=t.length>0?new DCi(Gs(t[0]?.toString()),e):new DCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},YOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Pat(),o=n.useRef(null),[a,l]=n.useState(t instanceof kCi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:wne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:wne.jsx(IOe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(TCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new kCi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},KOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Pat(),u=o.match?Object.values([ECi.ABSOLUTE_TIME,ECi.NOW]):Object.values(ECi),[h,p]=n.useState(BCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(BCi(t,d))},[d,t]),wne.jsxs(wne.Fragment,{children:[a?wne.jsx("span",{className:vse("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:f,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:wne.jsx(wne.Fragment,{children:"        "})}):wne.jsx("button",{className:vse("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:f,disabled:c,children:h.label||"Select value"}),wne.jsxs(Qbe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(BCi(t,d))}}},anchorEl:g,onClose:()=>{p(BCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[wne.jsx(QOe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new RCi(e.target.value,e.target.value);if(ECi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:AC.LATESTDATE});else if(![ECi.ABSOLUTE_DATE,ECi.ABSOLUTE_TIME,ECi.CUSTOM_DATE,ECi.FIRST_DAY_OF,ECi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=OCi.filter(e=>e.value===t.value);e.length>0?r(void 0,Gs(e[0])):r(void 0,t)}p(t)},row:!0,options:u,size:2}),(()=>{switch(h.value){case ECi.ABSOLUTE_DATE:return wne.jsx(WOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ECi.ABSOLUTE_TIME:return wne.jsx(jOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ECi.CUSTOM_DATE:return wne.jsx($Oi,{customDateOptionValue:FCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ECi.FIRST_DAY_OF:return wne.jsx(qOi,{customDateAdjustOptionValue:BCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ECi.PREVIOUS_DAY_OF_WEEK:return wne.jsx(YOi,{customDateAdjustOptionValue:BCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},XOi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return wne.jsx(Bbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:wne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[wne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[wne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),wne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[wne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),wne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),wne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[wne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),wne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Jw(t.multiplicity)})]})]}),children:n})},ZOi="VARIABLE",QOi=tie(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return wne.jsxs(wne.Fragment,{children:[wne.jsx(BPe,{labelGetter:e=>e.variable.name,types:[ZOi]}),wne.jsxs("div",{className:vse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[wne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?wne.jsx("div",{className:"icon",children:"C"}):wne.jsx(Cre,{})}),wne.jsxs("div",{className:"value-spec-editor__variable__label",children:[wne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),wne.jsx(XOi,{variable:t,children:wne.jsx("div",{className:"value-spec-editor__variable__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:wne.jsx(Tie,{})})]})]})]})}),JOi=tie(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:d,selectorConfig:u,lightMode:h,readOnly:p}=e,g=Boolean(d),m=Pat(),f=i(n),y=f?{value:f,label:f}:null,v=d?.reloadValues,_=d?.isLoading,b=d?.values?.length?d.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===d?.values?()=>null:void 0,S=`reset-${i(n)}`,E=`input-${i(n)}`;return wne.jsxs("div",{className:vse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?wne.jsx(IOe,{className:"value-spec-editor__enum-selector",options:b,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:y,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),v?.cancel();const t=v?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(v?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:_,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:E,optionCustomization:u?.optionCustomization,disabled:p}):wne.jsx(Pwe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:f??"",placeholder:""===f?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:E,disabled:p}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:wne.jsx(Tie,{})})]})})),eLi=tie(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return wne.jsxs("div",{className:vse("value-spec-editor",s),children:[wne.jsx("button",{role:"checkbox",className:vse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?wne.jsx(hre,{}):wne.jsx(Zre,{})}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:wne.jsx(Tie,{})})]})}),tLi=tie(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:d,isInteger:u,readOnly:h}=e,[p,g]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const f=p?u?Number.parseInt(Number(p).toString(),10):Number(p):null,y=e=>{if(e){const t=u?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},v=()=>{if(null!==f&&isNaN(f))try{const e=ro(fJn(p));y(e.toString()),g(e.toString())}catch{const e=r(i)?.toString()??"";y(e),g(e)}else null!==f?(y(f.toString()),g(f.toString())):a()};n.useEffect(()=>{if(null!==f&&!isNaN(f)&&f!==r(i)){const e=null!==r(i)?r(i).toString():"";g(e)}},[f,i,r]);const _=`reset-${r(i)}`,b=`input-${r(i)}`,C=`calculate-${r(i)}`;return wne.jsxs("div",{className:vse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[wne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[wne.jsx("input",{ref:m,className:vse("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:p,onChange:e=>{g(e.target.value),y(e.target.value)},onBlur:v,onKeyDown:e=>{(e=>{"Enter"===e.code?(v(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:b,disabled:h}),wne.jsx("div",{className:"value-spec-editor__number__actions",children:wne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:wne.jsx(Lie,{})})})]}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:wne.jsx(Tie,{})})]})})),nLi=tie(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:d,readOnly:u}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return wne.jsxs("div",{className:vse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[wne.jsx(IOe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!d,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:u}),wne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:wne.jsx(Tie,{})})]})}),iLi=e=>0===e.length?"":((e,t)=>vp.unparse(e,t))([e.map(e=>e instanceof BE?e.values[0]:e instanceof VE?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),rLi=e=>{if(e instanceof mS)switch(e.path){case AC.DATE:case AC.STRICTDATE:return"yyyy-mm-dd";case AC.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof zT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case AC.DATE:case AC.STRICTDATE:return"yyyy-mm-dd";case AC.DATETIME:case AC.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},sLi=tie(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Pat(),p=n.useRef(null),[g,m]=n.useState(""),[f,y]=n.useState(!1),[v,_]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),b=c===mS.STRING&&Boolean(a),C=b?a?.reloadValues:void 0,S=b?a?.cleanUpReloadValues:void 0,E=b?a?.isLoading:void 0,w=b&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=b&&E?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,N=e=>{const t=Gs(r(e));return{label:t,value:t}},R=e=>v.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||R(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...v,N(e)]:v).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return wne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[wne.jsx(IOe,{className:vse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:w,inputValue:g,isMulti:!0,menuIsOpen:b&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{_(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&y(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),y(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(_([...v,N(e)]),m(""),C?.cancel()):g.trim().length&&y(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Ep(t);if(!n)return;const s=Pr(Pr(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(Vs)).filter(e=>!R(e));_([...v,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:v,darkMode:!d,isLoading:E,noMatchMessage:x,placeholder:rLi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),wne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(v.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:wne.jsx(vre,{})}),wne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:wne.jsx(Yre,{})})]})}),oLi=tie(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:d,readOnly:u}=e;Gs(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,y]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),v=l?.filter(e=>!f.some(t=>t.value===e.value)),_=`copy-${t.values[0]?r(t.values[0]):""}`,b=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>f.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(y([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},E=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return wne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[wne.jsx(IOe,{className:vse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:v,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{y(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&m(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),m(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Ep(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));y([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:b,optionCustomization:c?.optionCustomization,disabled:u}),wne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:_,title:"Copy values to clipboard",children:wne.jsx(vre,{})}),wne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:wne.jsx(Yre,{})})]})}),aLi=tie(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:d,expectedType:u,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),y=o(t),v=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${y.length>50?`${y.substring(0,50)}...`:y}`}`,_=()=>{m&&f(!1)};return m?wne.jsx(wne.Fragment,{children:wne.jsx("div",{className:vse("value-spec-editor",l),children:void 0!==h?wne.jsx(oLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):wne.jsx(sLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):wne.jsxs("div",{className:vse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[wne.jsx("div",{className:vse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),wne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:wne.jsx(Cie,{})})]})}),lLi=()=>wne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),cLi=tie(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return wne.jsxs("div",{className:vse("value-spec-editor",l),children:[wne.jsx(KOi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof BE&&!zEn(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&wne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:wne.jsx(Tie,{})})]})}),dLi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:d,isConstant:u,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m}=e,f=Pat(),y=e=>!zEn(e),v=e=>e instanceof KE?"":e.values[0],_=(e,t,n)=>{t instanceof ICi?a(((e,t,n)=>{const i=new KE(SEn.ADJUST);if(LEn(i,MCi(new RCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===ACi.BEFORE){const r=new KE(SEn.MINUS);LEn(r,UCi(t,AC.INTEGER,e.duration,n),n),LEn(i,r,n)}else LEn(i,UCi(t,AC.INTEGER,e.duration,n),n);const r=new VE(vS.create(new wS(t.getType(_En.DURATION_UNIT))));return BEn(r,[...r.values,VS.create(Gs(PCi(Gs(e.unit),t)))],n),LEn(i,r,n),IEn(i,vS.create(new wS(mS.DATE))),i})(t,r,s)):t instanceof DCi||t instanceof kCi||t instanceof RCi?a(MCi(t,r,s)):e instanceof KE?a(UCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof FE?(FEn(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&IEn(e,vS.create(new wS((e=>{switch(e){case AC.STRING:return mS.STRING;case AC.BOOLEAN:return mS.BOOLEAN;case AC.BINARY:return mS.BINARY;case AC.NUMBER:return mS.NUMBER;case AC.INTEGER:return mS.INTEGER;case AC.FLOAT:return mS.FLOAT;case AC.DECIMAL:return mS.DECIMAL;case AC.DATE:return mS.DATE;case AC.STRICTDATE:return mS.STRICTDATE;case AC.DATETIME:return mS.DATETIME;case AC.STRICTTIME:return mS.STRICTTIME;case AC.LATESTDATE:return mS.LATESTDATE;case AC.BYTE:return mS.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(Gs(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===AC.LATESTDATE&&a(UCi(r,AC.LATESTDATE,t,s))};if(i instanceof BE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{FEn(e,t,0,s),a(e)};switch(e.path){case AC.STRING:return wne.jsx(JOi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case AC.BOOLEAN:return wne.jsx(eLi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,className:n,resetValue:l,readOnly:m});case AC.NUMBER:case AC.FLOAT:case AC.DECIMAL:case AC.BINARY:case AC.BYTE:case AC.INTEGER:return wne.jsx(tLi,{valueSpecification:i,valueSelector:r,isInteger:e.path===AC.INTEGER,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m});case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:case AC.LATESTDATE:return wne.jsx(cLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof BE&&y(e),readOnly:m});default:return wne.jsx(lLi,{})}}else{if(i instanceof VE){const e=js(i.genericType?.value.rawType,IS),t=e.values.map(e=>({label:e.name,value:e.name}));return wne.jsx(nLi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=Gs(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);FEn(t,VS.create(i),0,s),a(t)},errorChecker:e=>!zEn(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof UE&&i.genericType){const e=(e,t)=>{BEn(e,t,s),a(e)},t=(e,t)=>{if(e instanceof IS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new VE(vS.create(new wS(e)));return BEn(t,[VS.create(n)],s),ste(t,s)}}else{const n=qCi(js(e,rS),t,s);if(n)return ste(n,s)}return null},r=o.expectedType instanceof IS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return wne.jsx(aLi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>iLi(e.values),errorChecker:y,convertValueSpecificationToText:e=>$Ci(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof PE)return wne.jsx(QOi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof ew)return wne.jsx(dLi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:d,readOnly:m});if(i instanceof KE){if(Zw(o.expectedType,mS.DATE))return UOi(i)?wne.jsx(cLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):wne.jsx(lLi,{});if(Zw(o.expectedType,mS.NUMBER)&&cS(i.functionName,SEn.MINUS)){const e=JEn(i,s);if(e instanceof BE&&Zw(e.genericType.value.rawType,mS.NUMBER))return wne.jsx(tLi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===mS.INTEGER,updateValueSpecification:(e,t)=>{FEn(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return wne.jsx(lLi,{})}),uLi=tie(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h}=e,p=Pat(),[g,m]=n.useState(u??!1),f=n.useRef(null);n.useEffect(()=>{g&&f.current?.focus()},[g,f]);const y=t instanceof BE&&!Zw(t.genericType.value.rawType,mS.DATE)&&t.genericType.value.rawType!==mS.BOOLEAN||t instanceof VE,v=g||!y,_=$Ci(t,p,{omitEnumOwnerName:!0});return v?wne.jsx(dLi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:f,handleBlur:()=>m(!1),handleKeyDown:e=>{"Enter"===e.key&&m(!1)},displayDateEditorAsEditableValue:!0,readOnly:h}):wne.jsx("div",{className:"value-spec-editor__editable__display",children:wne.jsx("span",{className:vse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof FE&&!zEn(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),hLi=(e,t)=>{if(e instanceof KE){const n=BCi(e,t.applicationStore).label;if(n)return n}return $Ci(e,t.applicationStore)},pLi=tie(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return wne.jsxs(HOe,{ref:t,children:[i?.map(e=>wne.jsx(zOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&wne.jsx(zOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&wne.jsx(zOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),gLi=tie(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[d,u]=n.useState(!1),h=Boolean(i),p=i?.val?hLi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),y=o.milestoningState.getMilestoningParameterValue(t),v=f&&y?hLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=rPe(()=>({type:ZOi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),FPe(E),wne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:wne.jsxs(qOe,{content:wne.jsx(pLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:vse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":d}),menuProps:{elevation:7},onOpen:()=>u(!0),onClose:()=>u(!1),children:[wne.jsx(BPe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[ZOi]}),wne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[wne.jsx("div",{className:"query-builder__variables__variable__icon",children:wne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?wne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):wne.jsx(Cre,{})})}),wne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?wne.jsxs("div",{className:vse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&wne.jsx(sre,{title:"Calculated Constant"})]}):wne.jsxs("div",{className:"query-builder__variables__variable__type",children:[wne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&wne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&wne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[wne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:wne.jsx(Cie,{})}),wne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:wne.jsx(Jre,{})}),wne.jsx(XOi,{variable:t,children:wne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:wne.jsx(Mre,{})})})]})]})})}),mLi=tie(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return wne.jsxs(wne.Fragment,{children:[wne.jsxs(hLe,{title:"Available parameters",children:[0===i.length&&wne.jsx(wne.Fragment,{children:" No available parameters "}),i.map(e=>wne.jsx(gLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&wne.jsx(hLe,{title:"Available constants",children:r.map(e=>wne.jsx(gLi,{variable:e.variable,value:{val:e instanceof pOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),fLi=tie(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=Gs(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{OEn(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=cPe(()=>({accept:[ZOi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Qw(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof XE&&TEn(e,d)&&e.func.value.genericType.value.rawType instanceof xS&&d.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:vlt.CAUTION,actions:[{label:"Proceed",type:_lt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:_lt.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=Gw(js(e.func.value.genericType.value.rawType,xS),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof ew&&!NEn(t,i,n.getValue(),d.milestoningState)){const n=new ew(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,OEn(js(e,XE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return wne.jsxs("div",{className:"panel__content__form__section",children:[wne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),wne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),wne.jsx("div",{className:"query-builder__variable-editor",children:wne.jsx(OPe,{isDragOver:l,dropTargetConnector:c,children:wne.jsx(dLi,{valueSpecification:h,setValueSpecification:e=>{OEn(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===mS.DATETIME},resetValue:()=>{OEn(t.propertyExpression,REn(t,r)??XCi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);u(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:d.constantState.isValueSpecConstant(h)})})}),wne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),yLi=tie(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return wne.jsxs("div",{className:"query-builder-property-editor__section",children:[wne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&wne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>wne.jsx(fLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),vLi=tie(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return wne.jsx(Vye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:wne.jsxs(OOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[wne.jsx(MOe,{title:"Derived Property"}),wne.jsxs(FOe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>wne.jsx(yLi,{derivedPropertyExpressionState:e},e.path)),wne.jsx(FOe,{className:"query-builder__variables__modal__body",children:wne.jsx(mLi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(Qw(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),wne.jsx(BOe,{children:wne.jsx(UOe,{text:"Done",onClick:i})})]})})}),_Li=tie(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return wne.jsx("div",{className:"query-builder__property__name__display",title:n,children:wne.jsx("span",{className:vse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),bLi=tie(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,d]=n.useState(t),u=n.useRef(null);n.useEffect(()=>{a&&u.current?.focus()},[a,u]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),d(e)):(i?.(o),d(o)),l(!1)};return a?wne.jsx("div",{className:"query-builder__property__name__editor",children:wne.jsx(Pwe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:u,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):wne.jsx(_Li,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),CLi=tie(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return wne.jsx("div",{className:"query-builder-property-expression-badge",children:wne.jsxs("div",{className:vse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof xS,"query-builder-property-expression-badge__content--enumeration":s instanceof IS,"query-builder-property-expression-badge__content--primitive":s instanceof mS}),children:[wne.jsx(bLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:YCi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&wne.jsxs("button",{className:vse("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&wne.jsx(Mre,{})," (...)"]}),wne.jsx(vLi,{propertyExpressionState:n})]})})}),SLi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return wne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[wne.jsx(Qre,{className:"query-builder-panel-issue-count-badge__icon"}),wne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},ELi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return wne.jsx(Sie,{className:"query-builder-column-badge__icon"});if(e.name===AC.BOOLEAN)return wne.jsx(ese,{className:"query-builder-column-badge__icon"});if(e.name===AC.NUMBER||e.name===AC.INTEGER||e.name===AC.FLOAT||e.name===AC.DECIMAL)return wne.jsx(Lre,{className:"query-builder-column-badge__icon"});if(e.name===AC.DATE||e.name===AC.DATETIME||e.name===AC.STRICTDATE)return wne.jsx(mre,{className:"query-builder-column-badge__icon"})}else if(e instanceof IS)return wne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},wLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof aSi||e instanceof ewi)return iS.ONE;if(e instanceof iSi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return wne.jsx(Bbe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:wne.jsxs("div",{className:"query-builder__tooltip__content",children:[wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&wne.jsxs("div",{className:"query-builder__tooltip__item",children:[wne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),wne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(s)})]})]}),children:i})},xLi=(e,t)=>{switch(t){case tSi:return e.columnState.getColumnType();case axi.ENUM_PROPERTY:case axi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case ZOi:return e.variable.genericType?.value.rawType;case KEi:return e.columnState.getColumnType();default:return}},TLi=[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY,tSi],ALi=[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY],NLi=[PSi.CONDITION,axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY,tSi],RLi=[PSi.CONDITION,axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY],ILi=[axi.ENUM_PROPERTY,axi.PRIMITIVE_PROPERTY,tSi,ZOi],DLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof XE||r instanceof KE&&cS(r.functionName,SEn.SUBTYPE);){let e;r instanceof KE?e=new KE(oS(SEn.SUBTYPE)):(e=new XE(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=Gs(r.parametersValues[0])}let s,o=[],a=[js(r,PE)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof XE&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(yo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new PE(o[l],iS.ONE)),l++)}if(n)if(n instanceof jSi){const e=a.findIndex(e=>e instanceof XE&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof jSi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof jSi){const i=a.findIndex(t=>t instanceof XE&&e instanceof jSi&&t.func.value===js(e,jSi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof qSi?t.newGroupConditionFromNode(n):n instanceof WSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof qSi?t.newGroupConditionFromNode(n):n instanceof WSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new jSi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new GSi(t,a[a.length-1]),d=new qSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof YSi&&t.removeNodeAndPruneBranch(n)},kLi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof jSi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=Gs(r[0]);r=r.slice(1);let o=new XE("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof XE||n instanceof KE&&cS(n.functionName,SEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(SEn.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof XE){const e=new XE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=js(t[0],XE,"Can't process exists() expression: can't flatten to a property expression")}return js(ZSi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),XE)},OLi=(e,t,n)=>{if(FSi(e)){const i=YCi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:vlt.CAUTION,actions:[{label:"Cancel",type:_lt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:_lt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>DLi(e,t,n))}]})}else{const i=new GSi(t,e),r=new qSi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof jSi&&(s=o);if(o instanceof jSi&&(s=o),n instanceof WSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof YSi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof jSi)t.newGroupConditionFromNode(s,r);else if(n instanceof qSi){const e=t.getParentNode(n);if(s&&e instanceof jSi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,TSi.AND);else if(s&&e instanceof WSi){const i=kLi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);DLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},LLi=tie(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===TSi.AND?"AND":"OR";return wne.jsx("div",{className:"dnd__entry__container",children:wne.jsx(PPe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:wne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===TSi.AND?TSi.OR:TSi.AND)},children:wne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),MLi=tie(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return wne.jsx("div",{className:"dnd__entry__container",children:wne.jsx(PPe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:wne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[wne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:YCi(t.propertyExpressionState.propertyExpression,n)}),wne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&wne.jsxs("button",{className:vse("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&wne.jsx(Mre,{})," (...)"]}),wne.jsx(vLi,{propertyExpressionState:t.propertyExpressionState})]})})})}),PLi=tie(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return wne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:wne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[wne.jsx("div",{className:vse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof xS,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof IS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof mS}),children:ELi(i)}),wne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:wne.jsx(CLi,{propertyExpressionState:t.propertyExpressionState})}),wne.jsx(kwi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:wne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:wne.jsx(Mre,{})})}),wne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:wne.jsx(Tie,{})})]})})}),FLi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof nDi)&&!(n instanceof iDi)&&qEn(e,i)},BLi=tie(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Pat(),l=$Si(t),c=n.useCallback((e,n)=>{const i=xLi(e,n);if(void 0!==i&&FLi(i,t.condition))try{if((n===tSi||n===axi.ENUM_PROPERTY||n===axi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===tSi){const n=e.columnState;if(!(n instanceof iSi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(FSi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new QCi(s,HCi(e,s.observerContext)))}}else if(n===axi.ENUM_PROPERTY||n===axi.PRIMITIVE_PROPERTY){const n=e.node,i=new QCi(s,gxi(n,t.condition.filterState.queryBuilderState.explorerState));if(FSi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===ZOi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return Kr(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:d},u]=cPe(()=>({accept:ILi,canDrop:(e,n)=>FLi(xLi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);u(h);const{isFilterValueDroppable:p}=sPe(e=>({isFilterValueDroppable:e.isDragging()&&ILi.includes(e.getItemType()?.toString()??"")&&FLi(xLi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},m=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},f=n.useMemo(()=>gi(e=>{const n=qCi(mS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),y={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),wne.jsx("div",{className:"dnd__entry__container","data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:wne.jsx(PPe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:wne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[wne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:wne.jsx(CLi,{propertyExpressionState:t.condition.propertyExpressionState})}),wne.jsxs(YOe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:wne.jsx(HOe,{children:t.condition.operators.map(e=>{return wne.jsx(zOe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[wne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),wne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:wne.jsx(are,{})})]}),o instanceof VSi&&o.value?wne.jsx("div",{ref:h,"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:wne.jsx(PPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:wne.jsx(uLi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:y,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof USi?wne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:wne.jsx(PPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:wne.jsx(PLi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),VLi=tie(e=>{const{isDragOver:t,isDroppable:n}=e;return wne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:wne.jsx(PPe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:wne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),ULi=tie(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return wne.jsxs(HOe,{ref:t,children:[i instanceof WSi&&wne.jsx(zOe,{onClick:()=>{r.addNodeFromNode(new YSi(void 0),i)},children:"Add New Condition"}),i instanceof WSi&&wne.jsx(zOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof qSi&&wne.jsx(zOe,{onClick:()=>{mEn.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),wne.jsx(zOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),GLi=tie(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Pat(),d=s.filterState,u=n.useCallback((e,n)=>{if(PSi.CONDITION===n){const n=e.node,i=new qSi(void 0,d.nodes.get(n.id).condition);t instanceof YSi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof qSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof WSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===tSi){if(!(e.columnState instanceof iSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=HCi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=gxi(e.node,d.queryBuilderState.explorerState);i=new GSi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof zSi||t instanceof qSi||t instanceof YSi)&&OLi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=cPe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?NLi:RLi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=rPe(()=>({type:t instanceof WSi?PSi.GROUP_CONDITION:t instanceof qSi?PSi.CONDITION:PSi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof qSi||t instanceof YSi}),[t,d]);m(g(o)),FPe(f);const{isDroppable:y}=sPe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?NLi:RLi).includes(e.getItemType()?.toString()??"")})),v=t instanceof jSi&&0===t.childrenIds.length,_=t instanceof qSi||t instanceof YSi||v;return wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:vse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof WSi,"query-builder-filter-tree__node__container--condition":t instanceof qSi||t instanceof YSi,"query-builder-filter-tree__node__container--exists":t instanceof jSi,"query-builder-filter-tree__node__container--exists--empty":v,"query-builder-filter-tree__node__container--no-hover":d.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===d.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:wne.jsxs(qOe,{content:wne.jsx(ULi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof qSi||t instanceof YSi?()=>i?.(t):void 0,children:[t instanceof WSi&&wne.jsx(LLi,{node:t,isDroppable:y,isDragOver:h}),t instanceof jSi&&wne.jsx(MLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof qSi&&wne.jsx(BLi,{node:t,isDragOver:p}),t instanceof YSi&&wne.jsx(VLi,{node:t,isDragOver:h,isDroppable:y})]}),_&&wne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:wne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:wne.jsx(Jre,{})})})]})})}),HLi=tie(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:vse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof WSi,"query-builder-filter-tree__node__block--exists":t instanceof jSi}),children:[wne.jsx(GLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>wne.jsx(HLi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),zLi=tie(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof zSi?e.childrenIds.map(e=>n.getNode(e)):[];return wne.jsx("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>wne.jsx(HLi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),WLi=tie(e=>{const{queryBuilderState:t}=e,i=Pat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof WSi),{isDroppable:a}=sPe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?TLi:ALi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===tSi){if(!(e.columnState instanceof iSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=HCi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=gxi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),OLi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=cPe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?TLi:ALi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),wne.jsxs("div",{"data-testid":Lwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[wne.jsxs("div",{className:"panel__header",children:[wne.jsxs("div",{className:"panel__header__title",children:[wne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&wne.jsx(SLi,{issues:r.allValidationIssues})]}),wne.jsx("div",{className:"panel__header__actions",children:wne.jsx(YOe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:wne.jsxs(HOe,{children:[wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new YSi(void 0),r.selectedNode)},children:[wne.jsx(jOe,{children:wne.jsx(Wre,{})}),wne.jsx($Oe,{children:"Create Condition"})]}),wne.jsxs(zOe,{disabled:!(r.selectedNode instanceof qSi),onClick:()=>{mEn.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof qSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[wne.jsx(jOe,{children:wne.jsx(pse,{})}),wne.jsx($Oe,{children:"Create Group From Condition"})]}),wne.jsxs(zOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{mEn.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[wne.jsx(jOe,{children:wne.jsx(Gre,{})}),wne.jsx($Oe,{children:"Create Logical Group"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[wne.jsx(jOe,{children:wne.jsx(tse,{})}),wne.jsx($Oe,{children:"Cleanup Tree"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[wne.jsx(jOe,{children:wne.jsx(pre,{})}),wne.jsx($Oe,{children:"Simplify Tree"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[wne.jsx(jOe,{children:wne.jsx(yre,{})}),wne.jsx($Oe,{children:"Collapse Tree"})]}),wne.jsxs(zOe,{onClick:()=>{mEn.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[wne.jsx(jOe,{children:wne.jsx(xre,{})}),wne.jsx($Oe,{children:"Expand Tree"})]})]}),children:wne.jsx(Eie,{className:"query-builder__icon__more-options"})})})]}),wne.jsx(rLe,{children:wne.jsxs(OPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&wne.jsx(mLe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&wne.jsxs(wne.Fragment,{children:[wne.jsx(BPe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(PSi)}),wne.jsx(zLi,{queryBuilderState:t})]}),a&&!r.isEmpty&&wne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:wne.jsx(PPe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:wne.jsx(wne.Fragment,{})})})]})})]})}),jLi=tie(e=>{const{resultState:t}=e,i=Pat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return wne.jsx(Vye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:wne.jsxs(OOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[wne.jsx(MOe,{title:"Query Usage"}),wne.jsx(FOe,{className:"query-builder__usage-viewer__body",children:wne.jsxs(wne.Fragment,{children:[0===r.length?wne.jsx(pLe,{children:"Query usage is not available"}):wne.jsxs(wne.Fragment,{children:[wne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:wne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>wne.jsxs("button",{className:vse("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&wne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),wne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),wne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),wne.jsx(aLe,{})]})}),wne.jsx(BOe,{children:wne.jsx(UOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var $Li;function qLi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=qLi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}($Li||($Li={}));var YLi,KLi={exports:{}},XLi={};var ZLi,QLi,JLi={};
901
901
  /**
902
902
  * @license React
903
903
  * use-sync-external-store-shim/with-selector.development.js