@finos/legend-vscode-extension-dependencies 4.0.206 → 4.0.207
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.189",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,"<").replace(/>/g,">")}),(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.190",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,"<").replace(/>/g,">")}),(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 Gtn=Object.defineProperty,Htn=Object.getOwnPropertyDescriptor,ztn=Object.get
|
|
|
897
897
|
.${m$n.BLUR}:hover {
|
|
898
898
|
filter: none;
|
|
899
899
|
}
|
|
900
|
-
`})}),tCi=qne(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 fne.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:[fne.jsx(ywe,{className:"text-lg"}),fne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),nCi=qne(e=>{const{view:t}=e,n=wbi(),i=t.grid;return fne.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)&&fne.jsx(tCi,{view:t}),fne.jsx("div",{}),fne.jsxs("div",{className:"flex h-full items-center",children:[fne.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&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),fne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[fne.jsx(Ewe,{className:"stroke-[3px]"}),fne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),fne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),fne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[fne.jsx(Fbe,{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:_Ee("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:_Ee("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}),fne.jsx("div",{className:_Ee("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),fne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[fne.jsx(Fbe,{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:_Ee("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:_Ee("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...":""}),fne.jsxs("div",{className:_Ee("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",fne.jsx(xbi,{})]})]})]})]})]})}),iCi=qne(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")}),fne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:fne.jsx(eoi,{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=Zbi)},modules:[Yri,d_i],...TJn(t)})})}),rCi=qne(e=>{const{view:t}=e,n=t.grid.configuration;return fne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[fne.jsx(eCi,{configuration:n}),fne.jsx(iCi,{view:t}),fne.jsx(nCi,{view:t})]})}),sCi=qne(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case cwn.MULTIDIMENSIONAL:return fne.jsx(Xbi,{view:t});case cwn.STANDARD:return fne.jsx(rCi,{view:t});default:return fne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),oCi=qne(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return fne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[fne.jsxs("div",{className:"flex",children:[fne.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(qEn.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:hwn.STATUS_BAR})},disabled:!t,children:[fne.jsx(awe,{className:"text-xl"}),fne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),fne.jsx("div",{className:"flex",children:fne.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(qEn.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:hwn.STATUS_BAR})},disabled:!t||Gwn(t.info.configuration.gridMode),children:[fne.jsx(hwe,{className:"text-lg"}),fne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),fne.jsx("div",{className:"flex items-center px-2",children:fne.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&&fne.jsx(Fve,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),aCi=qne(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=GOe(),[c,d]=n.useState([...r??[]]);return fne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[fne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[fne.jsx(zEe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),fne.jsx("div",{className:"truncate",children:i})]}),fne.jsxs("div",{className:"flex w-full flex-auto",children:[t,fne.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(qbi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:fne.jsx(iwe,{})}),fne.jsx(HOe,{...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)?fne.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===qbi.SEPARATOR?fne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),lCi=e=>{const{message:t,prompt:n}=e;return fne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[fne.jsx("div",{className:"mr-3",children:fne.jsx(NEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),fne.jsxs("div",{children:[fne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),fne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},cCi=qne(e=>{const{children:t,taskManager:n}=e;return fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),fne.jsx(oCi,{taskManager:n})]})}),dCi=qne(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return fne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":$En.PLACEHOLDER,children:[fne.jsx(aCi,{title:n,menuItems:i,children:r??null}),fne.jsx(cCi,{taskManager:o,children:t}),s?fne.jsx($bi,{layout:s}):null,fne.jsx(pAn,{})]})}),uCi=qne(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?fne.jsx(cCi,{children:fne.jsx(lCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):fne.jsxs(fne.Fragment,{children:[fne.jsx(sCi,{view:t}),fne.jsx(oCi,{view:t})]})}),hCi=qne(()=>{const e=wbi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(qEn.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]),fne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[fne.jsx(aCi,{title:t.info.name,menuItems:[{label:uwn.UNDO,action:()=>{e.view.snapshotService.undo(),i(uwn.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:uwn.REDO,action:()=>{e.view.snapshotService.redo(),i(uwn.REDO)},disabled:!e.view.snapshotService.canRedo},{label:uwn.SETTINGS,action:()=>{e.settingService.display.open(),i(uwn.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),fne.jsx(uCi,{view:t}),fne.jsx($bi,{layout:e.layoutService.manager}),fne.jsx(pAn,{})]})}),pCi=qne(e=>{const{specification:t,engine:i,options:r}=e,s=Kne(()=>new Cbi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?fne.jsx(Ebi,{value:s,children:fne.jsx(hCi,{},s.uuid)}):fne.jsx(dCi,{title:fwn,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&fne.jsx(lCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var gCi,mCi,fCi,yCi,vCi,_Ci;!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"}(gCi||(gCi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(mCi||(mCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(fCi||(fCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(yCi||(yCi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(vCi||(vCi={})),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"}(_Ci||(_Ci={}));class bCi{label;value;constructor(e,t){this.label=e,this.value=t}}class CCi extends bCi{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 SCi extends bCi{unit;constructor(e,t){super(e,gCi.FIRST_DAY_OF),this.unit=t}}class ECi extends bCi{day;constructor(e,t){super(e,gCi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const wCi=[new CCi("Yesterday",gCi.YESTERDAY,1,mCi.DAYS,vCi.BEFORE,_Ci.TODAY),new CCi("One Week Ago",gCi.ONE_WEEK_AGO,1,mCi.WEEKS,vCi.BEFORE,_Ci.TODAY),new CCi("One Month Ago",gCi.ONE_MONTH_AGO,1,mCi.MONTHS,vCi.BEFORE,_Ci.TODAY),new CCi("One Year Ago",gCi.ONE_YEAR_AGO,1,mCi.YEARS,vCi.BEFORE,_Ci.TODAY)],xCi=e=>Object.values(pEn).find(t=>cS(e,t)),TCi=(e,t,n)=>{if(e instanceof ECi){const i=new KE(pEn.PREVIOUS_DAY_OF_WEEK);CEn(i,vS.create(new wS(mS.DATE)));const r=new VE(vS.create(new wS(t.getType(dEn.DAY_OF_WEEK))));return REn(r,[...r.values,VS.create(Gs(t.getEnumeration(dEn.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),xEn(i,r,n),i}if(e instanceof SCi)switch(e.unit){case fCi.YEAR:{const e=new KE(pEn.FIRST_DAY_OF_THIS_YEAR);return CEn(e,vS.create(new wS(mS.DATE))),e}case fCi.QUARTER:{const e=new KE(pEn.FIRST_DAY_OF_QUARTER);return CEn(e,vS.create(new wS(mS.STRICTDATE))),e}case fCi.MONTH:{const e=new KE(pEn.FIRST_DAY_OF_THIS_MONTH);return CEn(e,vS.create(new wS(mS.DATE))),e}case fCi.WEEK:{const e=new KE(pEn.FIRST_DAY_OF_WEEK);return CEn(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 gCi.TODAY:return ICi(pEn.TODAY,mS.STRICTDATE);case gCi.NOW:return ICi(pEn.NOW,mS.DATETIME);case _Ci.FIRST_DAY_OF_THIS_YEAR:{const e=new KE(pEn.FIRST_DAY_OF_THIS_YEAR);return CEn(e,vS.create(new wS(mS.DATE))),e}case _Ci.FIRST_DAY_OF_QUARTER:{const e=new KE(pEn.FIRST_DAY_OF_QUARTER);return CEn(e,vS.create(new wS(mS.STRICTDATE))),e}case _Ci.FIRST_DAY_OF_MONTH:{const e=new KE(pEn.FIRST_DAY_OF_THIS_MONTH);return CEn(e,vS.create(new wS(mS.DATE))),e}case _Ci.FIRST_DAY_OF_WEEK:{const e=new KE(pEn.FIRST_DAY_OF_WEEK);return CEn(e,vS.create(new wS(mS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},ACi=(e,t)=>{const n=t.getEnumeration(dEn.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(mCi).filter(t=>mCi[t]===e)[0])[0];return i??Gs(n.values[0])},NCi=(e,t)=>{if(e instanceof KE&&cS(e.functionName,pEn.ADJUST)||e instanceof uA&&cS(e.function,pEn.ADJUST))try{const t=new CCi("",gCi.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,pEn.MINUS)&&t.parametersValues[0]instanceof BE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof mA?t.value:t instanceof uA&&cS(t.function,pEn.MINUS)&&t.parameters[0]instanceof mA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof KE?Object.keys(mCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>mCi[e])[0]:Object.values(mCi).filter(t=>t===js(e.parameters[2],WA).property)[0]))(e),(n=e)instanceof KE?n.parametersValues[1]instanceof KE&&cS(n.parametersValues[1].functionName,pEn.MINUS)?vCi.BEFORE:vCi.AFTER:n.parameters[1]instanceof uA&&cS(n.parameters[1].function,pEn.MINUS)?vCi.BEFORE:vCi.AFTER,(e=>{const t=e instanceof KE?e.parametersValues[0].functionName:e.parameters[0].function;switch(xCi(t)){case pEn.TODAY:return _Ci.TODAY;case pEn.NOW:return _Ci.NOW;case pEn.FIRST_DAY_OF_THIS_YEAR:return _Ci.FIRST_DAY_OF_THIS_YEAR;case pEn.FIRST_DAY_OF_QUARTER:return _Ci.FIRST_DAY_OF_QUARTER;case pEn.FIRST_DAY_OF_THIS_MONTH:return _Ci.FIRST_DAY_OF_MONTH;case pEn.FIRST_DAY_OF_WEEK:return _Ci.FIRST_DAY_OF_WEEK;case pEn.PREVIOUS_DAY_OF_WEEK:return _Ci.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=wCi.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 CCi("","",0,void 0,void 0,void 0)},RCi=(e,t)=>{if(!(e instanceof KE||e instanceof uA)){if(e instanceof BE)return e.genericType.value.rawType.path===AC.LATESTDATE?new bCi(gCi.LATEST_DATE,gCi.LATEST_DATE):new bCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===AC.DATETIME?gCi.ABSOLUTE_TIME:gCi.ABSOLUTE_DATE);if(e instanceof SA)return new bCi(gCi.LATEST_DATE,gCi.LATEST_DATE);if(e instanceof bA)return new bCi(e.value,gCi.ABSOLUTE_DATE);if(e instanceof _A)return new bCi(e.value,gCi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof KE?e.functionName:e.function;switch(xCi(n)){case pEn.TODAY:return new bCi(gCi.TODAY,gCi.TODAY);case pEn.NOW:return new bCi(gCi.NOW,gCi.NOW);case pEn.FIRST_DAY_OF_THIS_YEAR:return new SCi(_Ci.FIRST_DAY_OF_THIS_YEAR,fCi.YEAR);case pEn.FIRST_DAY_OF_QUARTER:return new SCi(_Ci.FIRST_DAY_OF_QUARTER,fCi.QUARTER);case pEn.FIRST_DAY_OF_THIS_MONTH:return new SCi(_Ci.FIRST_DAY_OF_MONTH,fCi.MONTH);case pEn.FIRST_DAY_OF_WEEK:return new SCi(_Ci.FIRST_DAY_OF_WEEK,fCi.WEEK);case pEn.PREVIOUS_DAY_OF_WEEK:const n=e instanceof KE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],WA).property;return new ECi(`Previous ${n}`,n);case pEn.ADJUST:return NCi(e,t);default:return new bCi("","")}}},ICi=(e,t)=>{const n=new KE(e);return CEn(n,vS.create(new wS(t))),n},DCi=(e,t,n,i)=>{const r=new BE(vS.create(new wS(e.getPrimitiveType(t))));return REn(r,[n],i),r},kCi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},OCi=(e,t)=>{const n=new XE(e.functionName);return TEn(n,WS.create(Gs(e.func.value))),EEn(n,e.parametersValues.map(e=>kCi(e)),t),n},LCi=(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 DCi(e,r,i?VEn(r):null,n);case AC.BOOLEAN:return DCi(e,r,VEn(r),n);case AC.DATE:return DCi(e,AC.STRICTDATE,i?VEn(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`);REn(e,[VS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},MCi=(e,t)=>G3(((e,t)=>{const n=new QE(new ZE(ZC.create(e.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE));return n.expressionSequence[0]=LCi(e,mS.STRING,t,!0),n})(e.graph,t),e),PCi=(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?ICi(pEn.NOW,mS.DATETIME):i===AC.STRICTDATE?ICi(pEn.TODAY,mS.STRICTDATE):i===AC.DATE?DCi(t,AC.STRICTDATE,VEn(i),n):DCi(t,i,VEn(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&&REn(e,[VS.create(Hw(r,t))],n),e}var o},FCi=(e,t,n)=>{if(e instanceof BE)return Zw(e.genericType.value.rawType,mS.DATE)?RCi(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?FCi(e.getValue(),t,n):e instanceof KE?void 0!==e.genericType?.value.rawType&&Zw(e.genericType.value.rawType,mS.DATE)?RCi(e,t).label:e.functionName:e instanceof UE?e.values.map(e=>FCi(e,t,n)).join(","):void 0},BCi=(e,t,n)=>{let i=null;if(e instanceof mS)switch(e.path){case AC.STRING:i=new BE(vS.create(new wS(e))),REn(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))),REn(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))),REn(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))),REn(i,[t],n);break;default:return null}return i},VCi=(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,pEn.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?"/":".")},UCi=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(".")},GCi=(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))):LCi(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 HCi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=UCi(t),this.title=VCi(t,!0),this.propertyExpression=kee(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]=bEn(e,i)??Gs(t[i]):t.push(bEn(e,i)??GCi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),EEn(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)||LEn(e))}}class zCi{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=kee(t,e.observerContext),this.path=UCi(t),this.title=VCi(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&&TEn(n,WS.create(t))}if(n.func.value instanceof GS){const e=new HCi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof KE&&cS(n.functionName,pEn.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return Cg([jEn.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class WCi{uuid=ho()}class jCi{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 uQ(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 q0)}}const $Ci="PROJECTION_COLUMN";class qCi extends WCi{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 YCi extends qCi{lambdaParameterName=aEn;propertyExpressionState;constructor(e,t,n){super(e,""),d_(this,{lambdaParameterName:Ty,propertyExpressionState:Ty,setLambdaParameterName:Lv,changeProperty:Lv}),this.propertyExpressionState=new zCi(e.queryBuilderState,t),this.columnName=VCi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>zEn(e,t))))}changeProperty(e,t){this.propertyExpressionState=new zCi(this.tdsState.queryBuilderState,sxi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=VCi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return Cg([jEn.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class KCi extends jCi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Aee([sEn.QUERY_BUILDER,sEn.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=uj();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 cQ&&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 XCi extends qCi{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 KCi(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([jEn.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class ZCi{uuid=ho();constructor(){d_(this,{getOperator:Iy,allValidationIssues:Iy,hashCode:Iy})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof YCi?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 QCi extends WCi{aggregationState;projectionColumnState;lambdaParameterName=aEn;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 XCi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return Cg([jEn.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class JCi{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 QCi(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([jEn.AGGREGATION_STATE,Cg(this.columns)])}}const eSi=(e,t,n)=>{const i=new KE(oS(e));return i.parametersValues.push(new PE(t,iS.ONE)),i},tSi=(e,t,n,i,r)=>{if(cS(n.functionName,i)){const s=new QCi(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 nSi extends ZCi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.AVERAGE,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.AVERAGE,this)}getReturnType(e){return mS.FLOAT}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_AVERAGE])}}class iSi extends ZCi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.COUNT,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.COUNT,this)}getReturnType(e){return mS.INTEGER}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_COUNT])}}class rSi extends ZCi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof YCi){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(pEn.DISTINCT));i.parametersValues.push(new PE(t,iS.ONE));const r=new KE(oS(pEn.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(cS(e.functionName,pEn.COUNT)){const i=new QCi(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,pEn.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([jEn.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class sSi extends ZCi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?pEn.DATE_MAX:pEn.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof YCi){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,pEn.MAX))return;return tSi(n,t,e,pEn.MAX,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,pEn.DATE_MAX))return;return tSi(n,t,e,pEn.DATE_MAX,this);default:return}}return cS(e.functionName,pEn.MAX)?tSi(n,t,e,pEn.MAX,this):cS(e.functionName,pEn.DATE_MAX)?tSi(n,t,e,pEn.DATE_MAX,this):void 0}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_MAX])}}class oSi extends ZCi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?pEn.DATE_MIN:pEn.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof YCi){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,pEn.MIN))return;return tSi(n,t,e,pEn.MIN,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,pEn.DATE_MIN))return;return tSi(n,t,e,pEn.DATE_MIN,this);default:return}}return cS(e.functionName,pEn.MIN)?tSi(n,t,e,pEn.MIN,this):cS(e.functionName,pEn.DATE_MIN)?tSi(n,t,e,pEn.DATE_MIN,this):void 0}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_MIN])}}class aSi extends ZCi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.STD_DEV_POPULATION,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class lSi extends ZCi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.STD_DEV_SAMPLE,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class cSi extends ZCi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.SUM,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.SUM,this)}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_SUM])}}class dSi{columnState;sortType=mEn.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([jEn.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class uSi{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([jEn.RESULT_SET_MODIFIER_STATE,Cg(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var hSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(hSi||(hSi={}));class pSi{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 gSi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const mSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),fSi=e=>{if(e instanceof IS)return gEn.GET_ENUM;switch(e.path){case AC.STRING:return gEn.GET_STRING;case AC.NUMBER:return gEn.GET_NUMBER;case AC.INTEGER:return gEn.GET_INTEGER;case AC.FLOAT:return gEn.GET_FLOAT;case AC.DECIMAL:return gEn.GET_DECIMAL;case AC.DATE:return gEn.GET_DATE;case AC.DATETIME:return gEn.GET_DATETIME;case AC.STRICTDATE:return gEn.GET_STRICTDATE;case AC.BOOLEAN:return gEn.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var ySi;!function(e){e.AND="and",e.OR="or"}(ySi||(ySi={}));const vSi=e=>{switch(e){case ySi.AND:return pEn.AND;case ySi.OR:return pEn.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},_Si=e=>{if(cS(e,pEn.AND))return ySi.AND;if(cS(e,pEn.OR))return ySi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},bSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(gEn).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(gEn).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=mSi(n,o);if(r!==gEn.IS_NULL&&r!==gEn.IS_NOT_NULL){if(a instanceof XCi){const e=hEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof QCi&&a.projectionColumnState instanceof XCi){const e=hEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(fSi(e)===r,`Can't process TDS column expression: expected column type ${fSi(e)} (got ${r})`)}return a},CSi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof XE&&t.func.value.name===s){const n=bSi(t,e);return r=new bEi(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=bSi(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=mSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new bEi(e,o,i),((e,t)=>{if(e instanceof XE){const n=Xr(()=>bSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new _Ei(t,n))}const n=e?WEn(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new vEi(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},SSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!cS(e.functionName,[pEn.AND,pEn.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new mEi(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 gEi(n,_Si(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>SSi(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)}},ESi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?AK(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=fSi(e)}e.func=WS.create(Gs(qw(n.getClass(dEn.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}},wSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=ESi(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 xSi extends gSi{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 LCi(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 wSi(e,this,pEn.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.STARTS_WITH,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_START_WITH])}}class TSi extends xSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_START_WITH])}}var ASi;!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"}(ASi||(ASi={}));const NSi=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,pEn.SUBTYPE);)t=t.parametersValues[0]}return!1};class RSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([jEn.FILTER_CONDITION_RIGHT_VALUE])}}class ISi extends RSi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?OEn(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?kEn(this.value):void 0}setValue(e){return this.value=e?Zee(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof UE}get hashCode(){return Cg([jEn.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class DSi extends RSi{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 NSi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class kSi{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 zCi(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,ISi),n=e??t.value;if(dEi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(lEi(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=cEi(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 ISi&&this.rightConditionValue.value instanceof FE&&LEn(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?REn(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof FE&&this.rightConditionValue instanceof ISi&&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 ISi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new ISi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof DSi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new DSi(this,e))}get hashCode(){return Cg([jEn.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class OSi{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 LSi extends OSi{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 MSi extends LSi{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([jEn.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class PSi extends LSi{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 zCi(this.filterState.queryBuilderState,e)}get hashCode(){return Cg([jEn.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const FSi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof PSi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class BSi extends OSi{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([jEn.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class VSi extends OSi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([jEn.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class USi{queryBuilderState;lambdaParameterName=aEn;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),LSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof MSi)t.addChildNode(e);else if(t instanceof BSi||t instanceof VSi||t instanceof PSi){const n=new MSi(void 0,ySi.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 MSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof PSi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new MSi(void 0,ySi.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 BSi||t instanceof VSi){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 MSi(void 0,ySi.AND),n=new VSi(void 0),i=new VSi(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 MSi(void 0,n??ySi.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 VSi(void 0);if(t instanceof BSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new MSi(void 0,ySi.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 LSi&&[...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(MSi)).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 MSi&&!(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 VSi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(MSi)).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 VSi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof BSi});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(MSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof MSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),MSi);[...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(BSi)).map(e=>e.condition.rightConditionValue instanceof ISi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>zEn(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof BSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof BSi&&e.condition.rightConditionValue instanceof ISi&&e.condition.rightConditionValue.value instanceof FE&&!LEn(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof BSi&&e.condition.rightConditionValue instanceof DSi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof BSi&&(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 DSi&&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([jEn.FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}const GSi=e=>e.getValue()instanceof ew?GSi(js(e.getValue(),ew)):e.getValue(),HSi=(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,wEn(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&&(TEn(a,WS.create(n)),EEn(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]=GSi(t):e.parametersValues=[Gs(js(a,XE).parametersValues[0])]:e.parametersValues[n+1]=GSi(t))})}for(a=o;a instanceof KE&&cS(a.functionName,pEn.SUBTYPE);)a=a.parametersValues[0]}return a instanceof PE&&AEn(a,n),s},zSi=(e,t)=>{if(t instanceof BSi){const n=t.parentId?js(e.nodes.get(t.parentId),LSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof MSi){const n=new KE(oS(vSi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>zSi(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(vSi(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 PSi){const n=new KE(oS(pEn.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),LSi):void 0;for(;i&&!(i instanceof MSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),LSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),LSi).lambdaParameterName:void 0,s=Gs(HSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>zSi(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=UEn(t.lambdaParameterName??aEn,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new KE(oS(vSi(Gs(i).groupOperation)));l.parametersValues=a;const c=UEn(t.lambdaParameterName??aEn,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var WSi,jSi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(WSi||(WSi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(jSi||(jSi={}));const $Si=(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},qSi=e=>e.value instanceof KE&&[iS.ONE,iS.ZERO_ONE].some(t=>tx(t,e.parameter.multiplicity)),YSi=e=>e.filter(qSi),KSi=(e,t)=>e.filter(e=>!qSi(e)).map(e=>{const n=new KY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),XSi=(e,t,n)=>{const i=((e,t)=>{const n=YSi(e);if(n.length>0){const i=$Si(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),G3(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class ZSi{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=Ree(e),this.graph=n}get hashCode(){return Cg([jSi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(PCi(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?Zee(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(CEn(this.parameter,vS.create(new wS(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;tx(n,t)||(SEn(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class QSi{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 JSi{parameterStates=[];parameterValuesEditorState=new QSi;constructor(){d_(this,{hashCode:Iy})}get hashCode(){return Cg([jSi.LAMBDA_PARAMETERS_STATE,Cg(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){wo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class eEi{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 tEi extends eEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class nEi extends eEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}}const iEi=(e,t)=>{const n=new KE(oS(hEn.GET_ALL)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},rEi=(e,t)=>{const n=new KE(oS(hEn.GET_ALL_VERSIONS)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},sEi=(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=rEi(n,iS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case hEn.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=rEi(n,iS.ONE);i.expressionSequence[0]=e}break;case hEn.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(hEn.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 hEn.GET_ALL:{const t=iEi(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(pEn.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=>zSi(e,t)).filter(Vs);if(!n.length)return;const i=new KE(oS(pEn.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(UEn(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 tEi){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 Yj&&(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=YSi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=$Si(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},oEi=(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=ICi(pEn.NOW,mS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];EEn(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof KE&&cS(s.functionName,pEn.SUBTYPE);)s=s.parametersValues[0]}return s instanceof PE&&AEn(s,t),i},aEi=(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=iEi(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?VCi(t,!1):s;if(n){const r=new KE(oS(pEn.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?UEn(aEn,[t],e.graphManagerState.graph):i,h=new KE(oS(pEn.TDS_AGG)),p=UEn(aEn,[n.buildAggregateExpression(t,aEn,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(pEn.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?UEn(aEn,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new xSi,p=new XE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=fSi(Gs(e))}p.func=WS.create(Gs(qw(e.graphManagerState.graph.getClass(dEn.TDS_ROW)).find(e=>e.name===g)));const f=new PE(lEn,iS.ONE),y=new BE(vS.create(new wS(mS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new KE(oS(pEn.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=UEn(lEn,[v],e.graphManagerState.graph),b=new KE(oS(pEn.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new KE(oS(pEn.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(pEn.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,G3(a,e.graphManagerState)},lEi=(e,t,n)=>{const i=oEi(t,aEn,e.observerContext);return aEi(e,i,void 0,void 0,void 0,void 0,n)},cEi=e=>{const t=js(e,TZ,"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},dEi=e=>{if(e instanceof BE){if(e.genericType.value.rawType.path===AC.STRING){return e.values[0].length>=2}return!1}return!1};var uEi;!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"}(uEi||(uEi={}));const hEi=(e,t)=>{switch(e){case gEn.GET_STRING:return mS.STRING;case gEn.GET_NUMBER:return mS.NUMBER;case gEn.GET_INTEGER:return mS.INTEGER;case gEn.GET_FLOAT:return mS.FLOAT;case gEn.GET_DECIMAL:return mS.DECIMAL;case gEn.GET_DATE:return mS.DATE;case gEn.GET_DATETIME:return mS.DATETIME;case gEn.GET_STRICTDATE:return mS.STRICTDATE;case gEn.GET_BOOLEAN:return mS.BOOLEAN;default:return}};class pEi{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 gEi extends pEi{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([jEn.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation])}}class mEi extends pEi{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([jEn.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class fEi extends pEi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([jEn.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class yEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([jEn.POST_FILTER_CONDITION_RIGHT_VALUE])}}class vEi extends yEi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?OEn(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?kEn(this.value):void 0}setValue(e){return this.value=e?Zee(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([jEn.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class _Ei extends yEi{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=ESi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class bEi{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 vEi(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 vEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new vEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof qCi||this.leftConditionValue instanceof QCi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,vEi),r=e??i.value;if(dEi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof qCi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof XCi?(s=new ME(QI(Lq(l.lambda,new PX([]).build()))),o=l.columnName,a=l.returnType):i=oEi(js(l,YCi).propertyExpressionState.propertyExpression,aEn,e.observerContext),aEi(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=cEi(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 XCi&&(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([jEn.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class CEi{tdsState;lambdaParameterName=lEn;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),gEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(mEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof _Ei?[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 gEi)t.addChildNode(e);else if(t instanceof mEi||t instanceof fEi){const n=new gEi(void 0,ySi.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 gEi(void 0,ySi.AND),n=new fEi(void 0),i=new fEi(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 fEi(void 0);if(t instanceof mEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new gEi(void 0,ySi.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 gEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof mEi||t instanceof fEi){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 gEi&&[...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(gEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),gEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),gEi);[...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(gEi)).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 fEi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(gEi)).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 fEi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof mEi});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(mEi)).map(e=>e.condition.rightConditionValue).filter(zs(vEi)).map(e=>e.value).filter(Vs).find(t=>zEn(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof mEi&&(t.condition.rightConditionValue instanceof vEi&&t.condition.rightConditionValue.value instanceof FE&&!LEn(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof YCi&&!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 mEi&&e.condition.rightConditionValue instanceof vEi&&e.condition.rightConditionValue.value instanceof FE&&!LEn(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof mEi&&e.condition.leftConditionValue instanceof YCi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return Cg([jEn.POST_FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}class SEi extends gSi{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 vEi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=OEn(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 wSi(e,this,pEn.IN,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.IN,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_IN])}}class EEi extends SEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_IN])}}class wEi extends gSi{getLabel(){return"is empty"}getTDSColumnGetter(){return gEn.IS_NULL}isCompatibleWithType(e){return e instanceof mS||e instanceof IS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof vEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof YCi)||FEn(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return wSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return CSi(e,t,void 0,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_IS_EMPTY])}}class xEi extends wEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return gEn.IS_NOT_NULL}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class TEi extends gSi{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&&BEn(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return LCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_ON_DAY:pEn.EQUAL,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_ON_DAY:pEn.EQUAL,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_EQUAL])}}class AEi extends TEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_EQUAL])}}class NEi extends gSi{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 BEn(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 LCi(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 wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_LESS_THAN])}}class REi extends NEi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class IEi extends gSi{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 BEn(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 LCi(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 wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_GREATER_THAN])}}class DEi extends IEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class kEi extends gSi{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 LCi(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 wSi(e,this,pEn.CONTAINS,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.CONTAINS,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_CONTAIN])}}class OEi extends kEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class LEi extends gSi{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 LCi(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 wSi(e,this,pEn.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.ENDS_WITH,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_END_WITH])}}class MEi extends LEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_END_WITH])}}class PEi extends ZCi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.UNIQUE_VALUE_ONLY,this)}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_DISTINCT])}}class FEi extends ZCi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof YCi)||mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new KE(oS(pEn.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,pEn.JOIN_STRINGS)){const i=new QCi(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([jEn.AGGREGATE_OPERATOR_JOIN_STRING])}}class BEi extends ZCi{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 YCi){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(pEn.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,pEn.PERCENTILE)){const i=new QCi(n.tdsState.aggregationState,n,new BEi),r=js(i.operator,BEi);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 BEi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_PERCENTILE])}}class VEi extends ZCi{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 YCi){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 eSi(pEn.WAVG,t)}buildAggregateColumnState(e,t,n){if(cS(e.functionName,pEn.WAVG)){const e=new QCi(n.tdsState.aggregationState,n,new VEi),i=js(e.operator,VEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new VEi}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_WAVG])}}const UEi="WINDOW_COLUMN";class GEi{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([jEn.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class HEi{windowState;lambdaParameterName=aEn;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return Cg([jEn.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class zEi extends HEi{constructor(e,t){super(e,t),d_(this,{setLambdaParameterName:Lv})}}class WEi extends HEi{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([jEn.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class jEi extends WCi{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 WEi?[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 zEi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new WEi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof WEi?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 GEi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return Cg([jEn.TDS_WINDOW_COLUMN_STATE,Cg(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class $Ei{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 WEi&&t.operatorState.columnState instanceof jEi){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([jEn.TDS_WINDOW_GROUPBY_STATE,Cg(this.windowColumns)])}}const qEi=(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 mEn.ASC:return oS(pEn.TDS_ASC);case mEn.DESC:return oS(pEn.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=UEn(o.lambdaParameterName,[l],n);let d;if(o instanceof WEi){const e=new BE(vS.create(new wS(mS.STRING)));e.values=[o.columnState.columnName],d=new KE(oS(pEn.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(pEn.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},YEi=(e,t,n)=>{if(t instanceof mEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof gEi){const i=new KE(oS(vSi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>YEi(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(vSi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class KEi{_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[pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===mEn.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 XEi extends KEi{get limitFunctionName(){return pEn.TDS_TAKE}get sliceFunctionName(){return pEn.SLICE}get sortFunctionName(){return pEn.TDS_SORT}get distinctFunctionName(){return pEn.TDS_DISTINCT}get ascFunctionname(){return pEn.TDS_ASC}get descFunctionName(){return pEn.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new BE(vS.create(new wS(mS.STRING)));return t.values=[e],t})(e)}}class ZEi extends KEi{get limitFunctionName(){return pEn.RELATION_LIMIT}get sliceFunctionName(){return pEn.RELATION_SLICE}get ascFunctionname(){return pEn.RELATION_ASC}get descFunctionName(){return pEn.RELATION_DESC}get sortFunctionName(){return pEn.RELATION_SORT}get distinctFunctionName(){return pEn.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new WE(iS.ONE,void 0),n=new zE;return n.name=e,t.values=[n],t}}const QEi=(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(pEn.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 YCi)c=UEn(t.lambdaParameterName,[HSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof XCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new ME(QI(Lq(t.lambda,new PX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof VEi&&s.setLambdaParameterName("y");const e=new KE(oS(pEn.TDS_AGG)),t=UEn(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=UEn(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof VEi&&s.operator.weight&&s.projectionColumnState instanceof YCi&&c instanceof JE){const e=new KE(pEn.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(pEn.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 YCi)i=UEn(e.lambdaParameterName,[HSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof XCi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new ME(QI(Lq(e.lambda,new PX([]).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(TK.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(pEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new KE(oS(pEn.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(mwn,iS.ONE)];const d=UEn(mwn,[a],r.graphManagerState.graph);t.function1=d;const u=UEn(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(TK.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(pEn.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(pEn.TDS_COL));let r;if(t instanceof YCi)r=UEn(t.lambdaParameterName,[HSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof XCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new ME(QI(Lq(t.lambda,new PX([]).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 YCi)s=UEn(e.lambdaParameterName,[HSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof XCi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new ME(QI(Lq(e.lambda,new PX([]).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=>qEi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>YEi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=UEn(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new KE(oS(pEn.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new ZEi(e.tdsState.queryBuilderState.graphManagerState):new XEi(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 JEi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return mS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class ewi extends JEi{getLabel(){return"average rank"}get pureFunc(){return pEn.OLAP_AVERAGE_RANK}get hashCode(){return Cg([jEn.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 twi extends JEi{getLabel(){return"dense rank"}get pureFunc(){return pEn.OLAP_DENSE_RANK}get hashCode(){return Cg([jEn.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 nwi extends JEi{getLabel(){return"rank"}get pureFunc(){return pEn.OLAP_RANK}get hashCode(){return Cg([jEn.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 iwi extends JEi{getLabel(){return"row number"}get pureFunc(){return pEn.OLAP_ROW_NUMBER}get hashCode(){return Cg([jEn.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 rwi extends JEi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return pEn.SUM}get hashCode(){return Cg([jEn.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 swi extends JEi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return pEn.COUNT}get hashCode(){return Cg([jEn.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 owi extends JEi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return pEn.MAX}get hashCode(){return Cg([jEn.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 awi extends JEi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return pEn.MIN}get hashCode(){return Cg([jEn.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 lwi extends JEi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return pEn.AVERAGE}get hashCode(){return Cg([jEn.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 cwi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(cwi||(cwi={}));const dwi={[cwi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[cwi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var uwi;!function(e){e.NY="NY",e.LDN="LDN"}(uwi||(uwi={}));const hwi="en-US";class pwi{dateColumn;calendarType;endDate;lambdaParameterName=aEn;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 YCi){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,pEn.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(uwi).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 YCi&&t instanceof JE?n=js(t.values[0]?.expressionSequence[0],XE):e.projectionColumnState instanceof XCi&&(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 gwi(e,t,n){return new pwi(e,t,n)}var mwi;!function(e){e.CSV="CSV"}(mwi||(mwi={}));class fwi extends pSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new TEi,new AEi,new NEi,new REi,new IEi,new DEi,new xSi,new TSi,new kEi,new OEi,new LEi,new MEi,new SEi,new EEi,new wEi,new xEi])();aggregationOperators=(()=>[new iSi,new rSi,new PEi,new cSi,new nSi,new oSi,new sSi,new BEi,new aSi,new lSi,new FEi,new VEi])();aggregationCalendarFunctions=(()=>[gwi(uEn.CALENDAR_ANNUALIZED,"Annualized",jEn.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),gwi(uEn.CALENDAR_YTD,"Year to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_YTD),gwi(uEn.CALENDAR_CME,"Current Month Estimate",jEn.AGGREGATE_CALENDAR_FUNCTION_CME),gwi(uEn.CALENDAR_CW,"Current Week",jEn.AGGREGATE_CALENDAR_FUNCTION_CW),gwi(uEn.CALENDAR_CME,"Current Month Estimate",jEn.AGGREGATE_CALENDAR_FUNCTION_CME),gwi(uEn.CALENDAR_CY_MINUS2,"Current year minus 2",jEn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),gwi(uEn.CALENDAR_CY_MINUS3,"Current year minus 3",jEn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),gwi(uEn.CALENDAR_MTD,"Month to date",jEn.AGGREGATE_CALENDAR_FUNCTION_MTD),gwi(uEn.CALENDAR_P12WA,"Previous 12 Weeks Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_P12WA),gwi(uEn.CALENDAR_P12WTD,"Previous 12 Weeks To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_P12WTD),gwi(uEn.CALENDAR_P4WA,"Previous 4 Weeks Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_P4WA),gwi(uEn.CALENDAR_P4WTD,"Previous 4 Weeks To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_P4WTD),gwi(uEn.CALENDAR_P52WA,"Previous 52 Weeks Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_P52WA),gwi(uEn.CALENDAR_P52WTD,"Previous 52 Weeks To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_P52WTD),gwi(uEn.CALENDAR_PMA,"Previous Months Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_PMA),gwi(uEn.CALENDAR_PMTD,"Previous Month To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PMTD),gwi(uEn.CALENDAR_PQTD,"Previous Quarter To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PQTD),gwi(uEn.CALENDAR_PRIOR_DAY,"Prior Day",jEn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),gwi(uEn.CALENDAR_PRIOR_YEAR,"Prior Year",jEn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),gwi(uEn.CALENDAR_PW,"Previous week",jEn.AGGREGATE_CALENDAR_FUNCTION_PW),gwi(uEn.CALENDAR_PW_FM,"Previous week, Franchise Manager",jEn.AGGREGATE_CALENDAR_FUNCTION_PW_FM),gwi(uEn.CALENDAR_PWA,"Past Weeks' Average",jEn.AGGREGATE_CALENDAR_FUNCTION_PWA),gwi(uEn.CALENDAR_PWTD,"Previous Week To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PWTD),gwi(uEn.CALENDAR_PYMTD,"Previous Year's Month To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYMTD),gwi(uEn.CALENDAR_PYQTD,"Previous Year's Quarter To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYQTD),gwi(uEn.CALENDAR_PYTD,"Previous Year To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYTD),gwi(uEn.CALENDAR_PYWA,"Previous Year's Weekly Average",jEn.AGGREGATE_CALENDAR_FUNCTION_PYWA),gwi(uEn.CALENDAR_PYWTD,"Previous Year's Week to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYWTD),gwi(uEn.CALENDAR_QTD,"Quarter to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_QTD),gwi(uEn.CALENDAR_REPORT_END_DAY,"Report End Day",jEn.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),gwi(uEn.CALENDAR_WTD,"Week to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new rwi,new swi,new owi,new awi,new lwi,new ewi,new twi,new nwi,new iwi])();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 uSi(this),this.postFilterState=new CEi(this,this.postFilterOperators),this.aggregationState=new JCi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new $Ei(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(cwi.SHOW_POST_FILTER_PANEL)??!1}get type(){return hSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(XCi))}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 YCi){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,pEn.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(exi(i,e.path))),r.push(exi(i,t.path));else{const e=Jwi(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 YCi&&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[mwi.CSV]}getExportDataInfo(e){if(e===mwi.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 QCi?e instanceof QCi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){QEi(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=>{hj(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=UEn(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new XCi(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 XCi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${aEn}${_C}''`)}revealCompilationError(e){const t=Tee(e.sourceInformation);if(t&&3===t.length&&t[0]===sEn.QUERY_BUILDER&&t[1]===sEn.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof XCi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new YCi(this,sxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new YCi(this,sxi(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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ult.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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ult.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(XCi)).length)return!1;const n=t.filter(zs(YCi)).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 YCi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return Cg([jEn.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(XCi));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 ywi;!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)"}(ywi||(ywi={}));const vwi=[[ywi.COUNT,iSi],[ywi.DISTINCT_COUNT,rSi],[ywi.SUM,cSi],[ywi.MIN,oSi],[ywi.MAX,sSi],[ywi.AVERAGE,nSi],[ywi.STD_DEV_POPULATION,aSi],[ywi.STD_DEV_SAMPLE,lSi]],_wi=(e,t,n)=>{const i=new YCi(e,t,!1);return i.setColumnName(n),i};class bwi 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 Cwi=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=>fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return fne.jsx("div",{children:l.length>0?fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),fne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>fne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&fne.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))]})]}):fne.jsx(fne.Fragment,{children:Boolean(a.length)&&fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},Swi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return fne.jsx(oye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:fne.jsx("div",{children:fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:fne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},Ewi=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?fne.jsx("div",{className:"query-builder__tooltip__item__action",children:fne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:fne.jsx(lse,{})})}):void 0},{label:"Multiplicity",value:Jw(n.multiplicity)},{label:"Derived Property",value:n instanceof GS?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return fne.jsx(Swi,{title:t,data:c,placement:o,footerElement:fne.jsx(Cwi,{taggedValues:n.taggedValues}),children:s})},wwi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return fne.jsx(Swi,{title:t,data:s,placement:i,children:n})};var xwi;!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"}(xwi||(xwi={}));const Twi=e=>({label:e.name,value:e}),Awi=e=>Uw(e)?"system element":Vw(e)?"generated element":Bw(e)?"dependency element":void 0,Nwi=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 fne.jsxs("div",{className:i,children:[fne.jsx("div",{title:Awi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),fne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&fne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},Rwi=e=>e instanceof mS?fne.jsx(CEe,{}):e instanceof xS?fne.jsx(SEe,{}):e instanceof IS?fne.jsx(EEe,{}):e instanceof FS?fne.jsx(wEe,{}):e instanceof PS?fne.jsx(xEe,{}):fne.jsx(AEe,{}),Iwi=e=>{const{_class:t,children:n,placement:i}=e;return fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),fne.jsx(Cwi,{taggedValues:t.taggedValues})]}),children:n})},Dwi=(e,t,n)=>{if(e.type instanceof xS&&nx(e.type,t))return!0;if(e instanceof ixi&&nx(e.property,t))return!0;if(e instanceof rxi){const i=n.nodes.get(e.parentId);if(i?.type instanceof xS&&nx(i.type,t))return!0}return!1},kwi=(e,t)=>{if(e instanceof nxi&&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)},Owi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return fne.jsx(oye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:fne.jsx("div",{children:fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(a)})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),fne.jsx(Cwi,{taggedValues:t.taggedValues})]}),children:fne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},Lwi=qne(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 fne.jsx(Dye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:fne.jsxs(xOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[fne.jsx(AOe,{title:Sp(i.propertyName)}),fne.jsx(lLe,{isLoading:i.isGeneratingPreviewData}),fne.jsxs(ROe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&fne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&fne.jsxs("table",{className:"table",children:[fne.jsx("thead",{children:fne.jsx("tr",{children:i.previewData.columns.map((e,t)=>fne.jsx("th",{className:"table__cell--left",children:e},t))})}),fne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>fne.jsx("tr",{children:e.values.map((e,t)=>fne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),fne.jsx(IOe,{children:fne.jsx(kOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Mwi=qne(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return fne.jsxs(LOe,{ref:t,children:[r instanceof ixi&&!(r.type instanceof xS)&&fne.jsx(MOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof xS&&fne.jsx(MOe,{onClick:()=>{if(i(),r.type instanceof xS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(ixi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped).filter(e=>{const t=sxi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof fwi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof YCi)return n.propertyExpressionState.path===e.id&&n.columnName===VCi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),Pwi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return fne.jsx(gie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===AC.BOOLEAN)return fne.jsx($re,{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 fne.jsx(Tre,{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 fne.jsx(are,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return Rwi(e)},Fwi=qne(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Nat(),u=a.explorerState,[,h,p]=XMe(()=>({type:t instanceof ixi?t.type instanceof IS?Qwi.ENUM_PROPERTY:t.type instanceof xS?Qwi.CLASS_PROPERTY:Qwi.PRIMITIVE_PROPERTY:Qwi.ROOT,item:()=>t instanceof ixi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),RPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof ixi&&t.property instanceof GS,y=t instanceof ixi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof rxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof ixi&&t.type instanceof mS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{}),b=u.humanizePropertyName?t instanceof rxi?SC+Sp(t.label):Sp(t.label):t instanceof rxi?SC+t.label:t.label;return t.mappingData.mapped||t instanceof nxi||u.showUnmappedProperties?fne.jsx(VOe,{content:fne.jsx(Mwi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof ixi||t instanceof nxi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:fne.jsxs("div",{className:dse("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&&kwi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof nxi?"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 nxi&&fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[fne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),fne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:fne.jsx(SEe,{})})]}),fne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),fne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:fne.jsx(Iwi,{_class:Gs(a.class),children:fne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":xwi.QUERY_BUILDER_TOOLTIP_ICON,children:fne.jsx(Are,{})})})})]}),(t instanceof ixi||t instanceof rxi)&&fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[fne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),fne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Pwi(t.type)})]}),fne.jsxs("div",{className:dse("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:[fne.jsx("div",{className:dse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Dwi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&fne.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&&fne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),fne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&fne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof ixi&&u.previewData(t).catch(d.alertUnhandledError)},children:fne.jsx(vre,{})}),t instanceof ixi&&fne.jsx(Ewi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:fne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":xwi.QUERY_BUILDER_TOOLTIP_ICON,children:fne.jsx(Are,{})})}),t instanceof rxi&&fne.jsx(Owi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:fne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":xwi.QUERY_BUILDER_TOOLTIP_ICON,children:fne.jsx(Are,{})})})]})]})]})}):null}),Bwi=qne(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof nxi||a.explorerState.showUnmappedProperties?fne.jsxs("div",{className:"tree-view__node__block",children:[fne.jsx(Fwi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>fne.jsx(Bwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Vwi=e=>e instanceof rxi?0:e.type instanceof xS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof IS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Uwi=qne(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return fne.jsx(XRe,{components:{TreeNodeContainer:Fwi,TreeNodeView:Bwi},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 rxi||e instanceof ixi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Vwi(t)-Vwi(e)),innerProps:{queryBuilderState:t}})}),Gwi="query-builder-explorer-search-input",Hwi=qne(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 fne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[fne.jsx("input",{ref:t,name:Gwi,className:dse("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&&fne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?fne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:fne.jsx(jre,{})}):fne.jsx(fne.Fragment,{children:fne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:fne.jsx(Gre,{})})})]})})),zwi=qne(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Nat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_EXPLORER,className:dse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[fne.jsxs($Oe,{title:"explorer",children:[fne.jsx(Hwi,{propertySearchState:s,ref:i}),fne.jsxs(YOe,{children:[fne.jsx(KOe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof nxi||e.setIsOpen(!1)})},title:"Collapse Tree",children:fne.jsx(cre,{})}),fne.jsx(UOe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{oEn.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:fne.jsxs(LOe,{children:[fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[fne.jsx(FOe,{children:r.showUnmappedProperties?fne.jsx(ire,{}):null}),fne.jsx(BOe,{children:"Show Unmapped Properties"})]}),fne.jsxs(MOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[fne.jsx(FOe,{children:r.humanizePropertyName?fne.jsx(ire,{}):null}),fne.jsx(BOe,{children:"Humanize Property Name"})]}),fne.jsxs(MOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[fne.jsx(FOe,{children:r.highlightUsedProperties?fne.jsx(ire,{}):null}),fne.jsx(BOe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:fne.jsx(mie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&fne.jsx(Xwi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),fne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[fne.jsx(lLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),fne.jsx(IPe,{labelGetter:e=>r.humanizePropertyName?Sp(e.node.label):e.node.label,types:Object.values(Qwi)}),r.mappingModelCoverageAnalysisState.isInProgress?fne.jsx(sLe,{children:r.mappingModelCoverageAnalysisState.message}):fne.jsxs(fne.Fragment,{children:[!r.treeData&&fne.jsx(sLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&fne.jsx(Uwi,{queryBuilderState:t})]}),fne.jsx(Lwi,{queryBuilderState:t})]})]})}),Wwi=(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),jwi=(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},$wi=(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 fne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(fne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(fne.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(fne.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(fne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},qwi=qne(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=XMe(()=>({type:t instanceof ixi?t.type instanceof IS?Qwi.ENUM_PROPERTY:t.type instanceof xS?Qwi.CLASS_PROPERTY:Qwi.PRIMITIVE_PROPERTY:Qwi.ROOT,item:()=>t instanceof ixi?{node:t}:{},canDrag:()=>!(t.type instanceof xS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),RPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof ixi&&t.parentId===e.id),g=p?.type instanceof xS&&s>1?Sp(t.label):p instanceof rxi?jwi(t.id,!0):Wwi(t.id,!0),m=a?t.isOpen?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{}),f=t instanceof ixi?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?$wi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return fne.jsxs(fne.Fragment,{children:[fne.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:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[fne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),fne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:Pwi(t.type)})]}),fne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[fne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[$wi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&fne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),fne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),fne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof ixi&&fne.jsxs(fne.Fragment,{children:[fne.jsx(Ewi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:fne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:fne.jsx(lse,{})})]}),t instanceof rxi&&fne.jsxs(fne.Fragment,{children:[fne.jsx(Owi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:fne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:fne.jsx(lse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof ixi||t instanceof rxi)&&t.type instanceof xS&&(t instanceof rxi?Kw(t.type):$w(t.type)).forEach(n=>{const r=axi(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=>fne.jsx(qwi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),Ywi=qne(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return fne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[fne.jsxs("button",{className:dse("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?fne.jsx(rre,{}):fne.jsx(zre,{}),fne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&fne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),Kwi=qne(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return fne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[fne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&fne.jsx(Ibe,{slotProps:{transition:{timeout:0}},title:fne.jsx("div",{children:n}),children:fne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:fne.jsx(Are,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>fne.jsx(Ywi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),Xwi=qne(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===Gwi||(i(),r.setIsSearchPanelOpen(!1))};return fne.jsx(Wbe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:dse("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:fne.jsx(oye,{onClickAway:s,children:fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:fne.jsx("div",{className:"query-builder-property-search-panel__content",children:fne.jsxs(xFe,{orientation:"vertical",children:[fne.jsx(TFe,{size:175,children:fne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[fne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[fne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",fne.jsx(JSn,{documentationKey:Slt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),fne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:fne.jsx(WOe,{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})})]}),fne.jsx(Kwi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),fne.jsx(Kwi,{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)}}]}),fne.jsx(Kwi,{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)}}]}),fne.jsx(Kwi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(cEn.CLASS),onClick:()=>{r.toggleFilterForType(cEn.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(cEn.ENUMERATION),onClick:()=>{r.toggleFilterForType(cEn.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(cEn.STRING),onClick:()=>{r.toggleFilterForType(cEn.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(cEn.BOOLEAN),onClick:()=>{r.toggleFilterForType(cEn.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(cEn.NUMBER),onClick:()=>{r.toggleFilterForType(cEn.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(cEn.DATE),onClick:()=>{r.toggleFilterForType(cEn.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.DATE)}}]})]})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:"var(--color-dark-grey-200)"})}),fne.jsxs(TFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&fne.jsx(lLe,{isLoading:!0}),fne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&fne.jsxs(fne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>fne.jsx(qwi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&fne.jsxs(sLe,{children:[fne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),fne.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&&fne.jsx(sLe,{children:"Initializing..."}),r.searchState.isInProgress&&fne.jsx(sLe,{children:"Searching..."})]})]})]})})})})})});class Zwi{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=[cEn.CLASS,cEn.ENUMERATION,cEn.STRING,cEn.BOOLEAN,cEn.NUMBER,cEn.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 bwi(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 nxi||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 rxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof ixi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof ixi||t instanceof rxi?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 nxi||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 ixi||e instanceof rxi)||!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 ixi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=dxi(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=dxi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof ixi||e instanceof rxi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof ixi||t instanceof rxi?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 ixi||this.searchConfigurationState.includeSubTypes&&e instanceof rxi)&&e.type instanceof xS&&((e instanceof rxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=axi(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=lxi(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 ixi||e instanceof rxi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof rxi?jwi(e.id):Wwi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof ixi?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(cEn.CLASS)&&e.type instanceof xS)||(!!(this.typeFilters.includes(cEn.ENUMERATION)&&e.type instanceof IS)||(!(!this.typeFilters.includes(cEn.STRING)||e.type!==mS.STRING)||(!!(this.typeFilters.includes(cEn.NUMBER)&&e.type instanceof mS&&[AC.NUMBER,AC.DECIMAL,AC.INTEGER,AC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(cEn.BOOLEAN)||e.type!==mS.BOOLEAN)||!!(this.typeFilters.includes(cEn.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 Qwi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(Qwi||(Qwi={}));const Jwi=(e,t)=>`${e?`${e}.`:""}${t}`,exi=(e,t)=>`${e||""}${SC}${t}`;class txi{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 nxi extends txi{}class ixi extends txi{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 rxi extends txi{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 sxi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new PE(n??aEn,iS.ONE),o=new XE("");TEn(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 ixi||l instanceof rxi);){if(l instanceof rxi&&c instanceof rxi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof rxi?e=new KE(oS(pEn.SUBTYPE)):l instanceof ixi&&l.mappingData.entityMappedProperty?.subType?(e=new KE(oS(pEn.SUBTYPE)),a.parametersValues.push(e),a=e,e=new XE(""),TEn(e,WS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new XE(""),TEn(e,WS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof KE&&cS(a.functionName,pEn.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 ixi||l instanceof rxi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof ixi||c instanceof rxi))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},oxi=e=>{const t=e.type,n=(e instanceof rxi?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)},axi=(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 fJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof fJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof GS||t.isPartOfDerivedPropertyBranch||t instanceof ixi&&t.property instanceof GS;if(e instanceof NS&&t instanceof ixi&&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 ixi(o?exi(Jwi(t instanceof nxi?"":t.id,e.name),o.path):Jwi(t instanceof nxi?"":t.id,e.name),e.name,`${t instanceof nxi?`${CC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=Jwi(t instanceof nxi?"":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=oxi(a)),a},lxi=(e,t,n)=>{const i=new rxi(exi(t instanceof nxi?"":t.id,e.path),e.name,""+(t instanceof nxi?`${CC}${aEn}->${oS(pEn.SUBTYPE)}(${SC}${e.path})`:`${t.dndText}->${oS(pEn.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 fJ&&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 ixi?t.property.multiplicity:t instanceof rxi?t.multiplicity:iS.ONE);return i.childrenIds=oxi(i),i},cxi=(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 nxi("@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=axi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=lxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},dxi=e=>{if(e instanceof nxi)return new nxi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof ixi)return new ixi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof rxi)return new rxi(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 uxi{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 hxi{queryBuilderState;previewDataState=new uxi;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 Zwi(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?cxi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof ixi||e instanceof rxi)&&e.type instanceof xS&&((e instanceof rxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=axi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=lxi(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 ixi||t instanceof rxi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof ixi||e instanceof rxi?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(),oEn.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new gb,t=U5(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());oEn.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=sxi(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,fwi),r=i.aggregationState;return vwi.forEach(e=>{const n=_wi(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,TZ,"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,fwi),r=_wi(i,t,"Value"),s=_wi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof iSi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new dSi(s);return a.sortType=mEn.DESC,i.resultSetModifierState.sortColumns=[a,new dSi(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,TZ,"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 pxi="4.17.58",gxi={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 mxi=(e,t,n,i)=>{Ws(e,oA,"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],nA,"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 uA&&2===s.parameters.length&&cS(s.function,pEn.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new RK(n,i,t));for(Ws(s,WA,"Can't build projection column: only support lambda body as property expression");s instanceof WA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof uA&&cS(s.function,pEn.SUBTYPE);)s=s.parameters[0];return Ws(s,nA,"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 RK(n,i,t))},fxi=(e,t,n,i)=>{Ws(e,uA,"Can't build aggregation: only support function"),Ks(cS(e.function,pEn.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],oA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof uA&&cS(r.body[0].function,Object.values(uEn))?Xr(()=>((e,t,n,i)=>{Ws(e,oA,"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],nA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],uA,"Can't build calendar aggregation column: only support applied function");Ks(cS(s.function,Object.values(uEn)),"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],WA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],fA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(uwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],UT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new RK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new RK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new RK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new RK(n,i,t)))??new ME(LI(d,n.extensions.plugins)),h=kK([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(LI(r,n.extensions.plugins)):Xr(()=>mxi(r,t,n,i))??new ME(LI(r,n.extensions.plugins));const o=js(e.parameters[1],oA).accept_ValueSpecificationVisitor(new RK(n,i,t));return kK([s,o],oS(pEn.TDS_AGG),n)},yxi=(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 RK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,DR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"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(oA)).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,UT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=mxi(o,n,i,r)}catch{s=new ME(LI(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=kK([o,d],e,i),g=new wS(TK.INSTANCE),m=new wS(h);return g.typeArguments=[vS.create(m)],p.genericType=vS.create(g),p},vxi=(e,t,n,i,r)=>{const s=js(e,uA,"Can't build tds col func: only support applied function");Ks(cS(s.function,pEn.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],oA,"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=mxi(o,n,i,r)}catch{a=new ME(LI(o,i.extensions.plugins))}js(s.parameters[1],fA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new RK(i,r,n));return kK([a,l],s.function,i)},_xi=(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 RK(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 hA){const e=new UE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>vxi(e,s,n,i,r)),a=e}else Ws(o,uA,"Can't build project() expression: project() expects argument #2 to be a function"),a=vxi(o,s,n,i,r);const l=kK([s,a],e,i);return l.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return yxi(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 RK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof oA?o=l.parameters:(Ws(l,hA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(oA)).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 oA?[l]:l.values,d.values=u.map(e=>{try{return mxi(e,n,i,r)}catch{return new ME(LI(e,i.extensions.plugins))}});const h=kK([a,d,t[2].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),h},bxi=(e,t,n,i,r)=>e===pEn.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 RK(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(pEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,DR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,DR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,BA,"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,oA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=mxi(s,n,i,r);t.function1=o;const a=js(e.function2,oA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new RK(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=kK([s,p,f],e,i),_=new wS(TK.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 RK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,hA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(oA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,hA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof uA&&cS(e.function,pEn.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(oA)).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 mxi(e,n,i,r)}catch{return new ME(LI(e,i.extensions.plugins))}});const u=new UE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>fxi(e,n,i,r));const h=kK([o,d,u,t[3].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),h})(e,t,n,i,r);class Cxi extends _ee{constructor(){super(gxi.pureProtocolProcessorPlugin,pxi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(cS(e,hEn.GET_ALL))return((e,t,n,i,r)=>{const s=OK(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,hEn.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=OK(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,hEn.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=OK(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,[pEn.FILTER,pEn.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 RK(i,r,n));if(s.genericType){const e=t[1];e instanceof oA&&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=kK([s,t[1].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(cS(e,pEn.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 RK(i,r,n));s.genericType=js(s,XE).func.value.genericType;const o=t[1];return o instanceof oA&&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)}}),kK([s,t[1].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i)})(e,t,n,i,r);if(cS(e,pEn.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 RK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof oA&&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 RK(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=kK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(cS(e,[pEn.TDS_PROJECT,pEn.RELATION_PROJECT]))return _xi(e,t,n,i,r);if(cS(e,[pEn.TDS_GROUP_BY,pEn.RELATION_GROUP_BY]))return bxi(e,t,n,i,r);if(cS(e,pEn.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 RK(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 RK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new RK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof uA?js(d.parameters[1],oA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,oA,`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 RK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new RK(i,r,n));s.push(m),o++;const f=kK(s,e,i);return f.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),f})(e,t,n,i,r);if(cS(e,[pEn.TODAY,pEn.FIRST_DAY_OF_QUARTER])){const s=OK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.STRICTDATE)),s}if(cS(e,pEn.NOW)){const s=OK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATETIME)),s}if(cS(e,[pEn.FIRST_DAY_OF_THIS_YEAR,pEn.FIRST_DAY_OF_YEAR,pEn.FIRST_DAY_OF_THIS_MONTH,pEn.FIRST_DAY_OF_MONTH,pEn.FIRST_DAY_OF_WEEK,pEn.PREVIOUS_DAY_OF_WEEK,pEn.ADJUST])){const s=OK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATE)),s}return cS(e,Object.values(pEn))||cS(e,Object.values(uEn))?OK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof KE&&cS(e.functionName,oS(pEn.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof FE)[0]?.genericType?.value.rawType)(e)}]}}class Sxi{mapping;runtimes=[]}class Exi{service;executionKeys}class wxi extends aT{}class xxi extends wxi{constructor(e){super(e),this.graphManager=js(e,O3)}getSupportedProtocolVersion(){return HH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===QU||e.content._type===_R),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(PD))).flat(),o=new UK(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 oB)return new I$(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(jA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new jj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof jH?e:new jH(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 UK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(PD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof oB)return new I$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(jA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new jj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new Sxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...xY(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(OO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new Exi;i.service=t,e.execution instanceof kO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Txi=e=>new xxi(e);class Axi extends gee{constructor(){super(gxi.pureGraphManagerPlugin,pxi)}getExtraPureGraphManagerExtensionBuilders(){return[Txi]}getExtraExposedSystemElementPath(){return[dEn.TDS_TABULAR_DATASET,dEn.TDS_ROW,dEn.TDS_COLUMN]}}class Nxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new Jg(Mg(Nxi,{TEMPORARY__disableQueryBuilderChat:Xg(Pg()),TEMPORARY__enableExportToCube:Xg(Pg()),TEMPORARY__enableGridEnterpriseMode:Xg(Pg()),legendAIServiceURL:Xg(Pg()),zipkinTraceBaseURL:Xg(Pg()),enableTypedTDS:Xg(Pg())}))}const Rxi=e=>{let t=e;for(;t instanceof XE;)for(t=Gs(t.parametersValues[0]);t instanceof KE&&cS(t.functionName,pEn.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,PE)},Ixi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(cS(e.functionName,[pEn.AND,pEn.OR])){const r=new MSi(n,_Si(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,LSi).lambdaParameterName),e.parametersValues.forEach(e=>Ixi(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,[pEn.EXISTS])){const n=e.parametersValues[0];if(n instanceof XE){const e=n.parametersValues[0];e instanceof XE&&GEn(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=Rxi(r.propertyExpressionState.propertyExpression).name,n=i instanceof LSi&&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 BSi(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 PSi(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),Ixi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;cS(s.functionName,pEn.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,pEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(pEn.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}),Ixi(s,t,n)}}}},Dxi=(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),Ixi(s,n,void 0),n.simplifyTree()};class kxi{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([jEn.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",Cg(this.childrenIds)])}}const Oxi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${SC}${n.path}`:""}`,Lxi=(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 kxi(Oxi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Lxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Mxi=(e,t,n)=>{const i=t?.id,r=new kxi((s=e.class.valueForSerialization??"")?`${SC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Lxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},Pxi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Mxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Lxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Fxi=e=>0===e.tree.subTrees.length,Bxi=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)),Vxi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(wo(n.childrenIds,t.id),DEn(n.tree,t.tree)):(wo(e.rootIds,t.id),DEn(e.tree,t.tree)),e.nodes.delete(t.id)},Uxi=(e,t)=>{Vxi(e,t),(e=>{let t=Bxi(e);for(;t.length;)t.forEach(t=>{Vxi(e,t)}),t=Bxi(e)})(e)},Gxi=(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 ixi||l instanceof rxi;){let e,n=!1;for(;l instanceof rxi;)n||(e=ZC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof ixi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof xS&&(e=ZC.create(l.type)),!(l instanceof ixi))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=Oxi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Lxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),IEn(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),IEn(e.tree,t.tree,i.observerContext))}},Hxi=(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 Yxi){if(e.treeData&&!Fxi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(dEn.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(pEn.SERIALIZE)),o=new KE(oS(t?pEn.GRAPH_FETCH_CHECKED:pEn.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 Kxi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new KE(oS(pEn.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Fxi(i)&&!Fxi(o)){const a=new sw;a.values=[i.tree];const l=new KE(e.isChecked?oS(pEn.GRAPH_FETCH_CHECKED):oS(pEn.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,pEn.SERIALIZE)){const i=new BE(vS.create(new wS(mS.INTEGER)));i.values=[t];const r=new KE(oS(pEn.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 zxi,Wxi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(zxi||(zxi={})),function(e){e.RESULT="RESULT"}(Wxi||(Wxi={}));const jxi="@type";class $xi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=jxi,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 $xi;return e.typeKeyName=jxi,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 qxi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class Yxi extends qxi{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 zxi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class Kxi extends qxi{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?(Gxi(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 zxi.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 Xxi extends pSi{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 Yxi(this)}get type(){return hSi.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=Jwi(o,a);t.push(l),r.tree instanceof iw&&r.tree.subType?(s=exi(l,r.tree.subType.value.path),Ww(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(exi(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?Pxi(new nw(ZC.create(e))):void 0)}get exportDataFormatOptions(){return[Wxi.RESULT]}getExportDataInfo(e){if(e===Wxi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){Hxi(this,e,t)}addProperty(e,t){this.treeData?(Gxi(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 Kxi&&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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ult.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=>zEn(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return Cg([jEn.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const Zxi=(e,t)=>()=>{t.implementation.type!==e&&(oEn.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class Qxi{queryBuilderState;implementation;constructor(e){d_(this,{implementation:Ty,changeImplementation:Lv,initializeWithQuery:Lv}),this.queryBuilderState=e,this.implementation=new fwi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case hSi.TABULAR_DATA_STRUCTURE:this.implementation=new fwi(this.queryBuilderState,this);break;case hSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new Xxi(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 ixi&&!(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(ixi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped))}}class Jxi{lambda;constructor(e){this.lambda=e,d_(this,{lambda:Ty,setLambda:Lv})}setLambda(e){this.lambda=e}}var eTi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(eTi||(eTi={}));class tTi extends jCi{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 Jxi(uj())}get lambdaId(){return Aee(["query-builder"])}get text(){return this.mode===eTi.TEXT?this.fullLambdaString:this.mode===eTi.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=uj();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 cQ&&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===eTi.TEXT&&this.setQueryRawLambdaState(new Jxi(n)),e===eTi.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===eTi.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 nTi=qne(e=>{const{resultType:t}=e;let n="";return t.type instanceof QC&&(n=t.type.input??""),""===n?fne.jsx(fne.Fragment,{}):fne.jsxs("div",{className:"query-builder__result__container",children:[fne.jsx(ZOe,{className:"query-builder__result__container__item__data-type",children:fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),fne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),fne.jsx(JOe,{})]})}),iTi=qne(e=>{const{resultType:t}=e;return fne.jsxs("div",{className:"query-builder__result__container",children:[fne.jsx(ZOe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__result__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Label"}),fne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),fne.jsx("tbody",{children:t.tdsColumns.map(e=>fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.name}),fne.jsx("td",{className:"table__cell--left",children:e.type instanceof QC&&(e.type.input??"")})]},e.name))})]}),fne.jsx(JOe,{})]})}),rTi=qne(e=>{const{resultType:t}=e;return fne.jsxs("div",{className:"query-builder__result__container",children:[fne.jsxs(ZOe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),fne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.property}),fne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),fne.jsx(JOe,{})]})}),sTi=qne(e=>{const{resultType:t}=e;return t instanceof P1?fne.jsx(nTi,{resultType:t}):t instanceof F1?fne.jsx(iTi,{resultType:t}):t instanceof f2?fne.jsx(rTi,{resultType:t}):null});var oTi,aTi={exports:{}},lTi=aTi.exports;var cTi=(oTi||(oTi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(lTi,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}})}(aTi)),aTi.exports),dTi=Qr(cTi),uTi=Object.defineProperty,hTi=Object.defineProperties,pTi=Object.getOwnPropertyDescriptors,gTi=Object.getOwnPropertySymbols,mTi=Object.prototype.hasOwnProperty,fTi=Object.prototype.propertyIsEnumerable,yTi=(e,t,n)=>t in e?uTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vTi=(e,t)=>{for(var n in t||(t={}))mTi.call(t,n)&&yTi(e,n,t[n]);if(gTi)for(var n of gTi(t))fTi.call(t,n)&&yTi(e,n,t[n]);return e},_Ti=(e,t)=>hTi(e,pTi(t)),bTi={};((e,t)=>{for(var n in t)uTi(e,n,{get:t[n],enumerable:!0})})(bTi,{bigquery:()=>jTi,db2:()=>tAi,db2i:()=>cAi,hive:()=>yAi,mariadb:()=>TAi,mysql:()=>LAi,n1ql:()=>KAi,plsql:()=>iNi,postgresql:()=>uNi,redshift:()=>_Ni,singlestoredb:()=>pRi,snowflake:()=>CRi,spark:()=>ANi,sql:()=>zNi,sqlite:()=>MNi,tidb:()=>HAi,transactsql:()=>sRi,trino:()=>ZNi});var CTi=e=>e.flatMap(STi),STi=e=>ITi(wTi(e)).map(ETi),ETi=e=>e.replace(/ +/g," ").trim(),wTi=e=>({type:"mandatory_block",items:xTi(e,0)[0]}),xTi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=TTi(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]},TTi=(e,t)=>{const n=[];for(;;){const[i,r]=ATi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},ATi=(e,t)=>{if("{"===e[t])return NTi(e,t+1);if("["===e[t])return RTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},NTi=(e,t)=>{const[n,i]=xTi(e,t,"}");return[{type:"mandatory_block",items:n},i]},RTi=(e,t)=>{const[n,i]=xTi(e,t,"]");return[{type:"optional_block",items:n},i]},ITi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(ITi).reduce(DTi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(ITi);if("optional_block"===e.type)return["",...e.items.flatMap(ITi)];throw new Error(`Unknown node type: ${e}`)},DTi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},kTi=(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))(kTi||{}),OTi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),LTi=OTi(1/0),MTi=e=>t=>t.type===e.type&&t.text===e.text,PTi={ARRAY:MTi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:MTi({text:"BY",type:"RESERVED_KEYWORD"}),SET:MTi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:MTi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:MTi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:MTi({text:"VALUES",type:"RESERVED_CLAUSE"})},FTi=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,BTi=CTi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),VTi=CTi(["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"]),UTi=CTi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),GTi=CTi(["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"]),HTi=CTi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),zTi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),WTi=CTi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),jTi={name:"bigquery",tokenizerOptions:{reservedSelect:BTi,reservedClauses:[...VTi,...GTi,...UTi],reservedSetOperations:HTi,reservedJoins:zTi,reservedPhrases:WTi,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=LTi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,_Ti(vTi({},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((PTi.ARRAY(r)||PTi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=qTi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map($Ti("raw")).join(""),text:s.map($Ti("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...UTi,...GTi],tabularOnelineClauses:GTi}};var $Ti=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function qTi(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 YTi=CTi(["SELECT [ALL | DISTINCT]"]),KTi=CTi(["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"]),XTi=CTi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),ZTi=CTi(["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"]),QTi=CTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),JTi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),eAi=CTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),tAi={name:"db2",tokenizerOptions:{reservedSelect:YTi,reservedClauses:[...KTi,...XTi,...ZTi],reservedSetOperations:QTi,reservedJoins:JTi,reservedPhrases:eAi,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:[...XTi,...ZTi],tabularOnelineClauses:ZTi}},nAi=CTi(["SELECT [ALL | DISTINCT]"]),iAi=CTi(["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"]),rAi=CTi(["CREATE [OR REPLACE] TABLE"]),sAi=CTi(["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}"]),oAi=CTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),aAi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),lAi=CTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),cAi={name:"db2i",tokenizerOptions:{reservedSelect:nAi,reservedClauses:[...iAi,...rAi,...sAi],reservedSetOperations:oAi,reservedJoins:aAi,reservedPhrases:lAi,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:[...rAi,...sAi],tabularOnelineClauses:sAi}},dAi=CTi(["SELECT [ALL | DISTINCT]"]),uAi=CTi(["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"]),hAi=CTi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),pAi=CTi(["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"]),gAi=CTi(["UNION [ALL | DISTINCT]"]),mAi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),fAi=CTi(["{ROWS | RANGE} BETWEEN"]),yAi={name:"hive",tokenizerOptions:{reservedSelect:dAi,reservedClauses:[...uAi,...hAi,...pAi],reservedSetOperations:gAi,reservedJoins:mAi,reservedPhrases:fAi,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:[...hAi,...pAi],tabularOnelineClauses:pAi}};function vAi(e){return e.map((t,n)=>{const i=e[n+1]||LTi;if(PTi.SET(t)&&"("===i.text)return _Ti(vTi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||LTi;return PTi.VALUES(t)&&"="===r.text?_Ti(vTi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var _Ai=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),bAi=CTi(["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"]),CAi=CTi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),SAi=CTi(["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"]),EAi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),wAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),xAi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),TAi={name:"mariadb",tokenizerOptions:{reservedSelect:_Ai,reservedClauses:[...bAi,...CAi,...SAi],reservedSetOperations:EAi,reservedJoins:wAi,reservedPhrases:xAi,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:vAi},formatOptions:{onelineClauses:[...CAi,...SAi],tabularOnelineClauses:SAi}},AAi=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),NAi=CTi(["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"]),RAi=CTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),IAi=CTi(["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"]),DAi=CTi(["UNION [ALL | DISTINCT]"]),kAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),OAi=CTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),LAi={name:"mysql",tokenizerOptions:{reservedSelect:AAi,reservedClauses:[...NAi,...RAi,...IAi],reservedSetOperations:DAi,reservedJoins:kAi,reservedPhrases:OAi,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:vAi},formatOptions:{onelineClauses:[...RAi,...IAi],tabularOnelineClauses:IAi}},MAi=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),PAi=CTi(["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"]),FAi=CTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),BAi=CTi(["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"]),VAi=CTi(["UNION [ALL | DISTINCT]"]),UAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),GAi=CTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),HAi={name:"tidb",tokenizerOptions:{reservedSelect:MAi,reservedClauses:[...PAi,...FAi,...BAi],reservedSetOperations:VAi,reservedJoins:UAi,reservedPhrases:GAi,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:vAi},formatOptions:{onelineClauses:[...FAi,...BAi],tabularOnelineClauses:BAi}},zAi=CTi(["SELECT [ALL | DISTINCT]"]),WAi=CTi(["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"]),jAi=CTi(["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"]),$Ai=CTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),qAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),YAi=CTi(["{ROWS | RANGE | GROUPS} BETWEEN"]),KAi={name:"n1ql",tokenizerOptions:{reservedSelect:zAi,reservedClauses:[...WAi,...jAi],reservedSetOperations:$Ai,reservedJoins:qAi,reservedPhrases:YAi,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:jAi}},XAi=CTi(["SELECT [ALL | DISTINCT | UNIQUE]"]),ZAi=CTi(["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"]),QAi=CTi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),JAi=CTi(["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"]),eNi=CTi(["UNION [ALL]","MINUS","INTERSECT"]),tNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),nNi=CTi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),iNi={name:"plsql",tokenizerOptions:{reservedSelect:XAi,reservedClauses:[...ZAi,...QAi,...JAi],reservedSetOperations:eNi,reservedJoins:tNi,reservedPhrases:nNi,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=LTi;return e.map(e=>PTi.SET(e)&&PTi.BY(t)?_Ti(vTi({},e),{type:"RESERVED_KEYWORD"}):(FTi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...QAi,...JAi],tabularOnelineClauses:JAi}};var rNi=CTi(["SELECT [ALL | DISTINCT]"]),sNi=CTi(["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"]),oNi=CTi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),aNi=CTi(["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"]),lNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),cNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),dNi=CTi(["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"]),uNi={name:"postgresql",tokenizerOptions:{reservedSelect:rNi,reservedClauses:[...sNi,...oNi,...aNi],reservedSetOperations:lNi,reservedJoins:cNi,reservedPhrases:dNi,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:[...oNi,...aNi],tabularOnelineClauses:aNi}},hNi=CTi(["SELECT [ALL | DISTINCT]"]),pNi=CTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),gNi=CTi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),mNi=CTi(["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"]),fNi=CTi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),yNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),vNi=CTi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),_Ni={name:"redshift",tokenizerOptions:{reservedSelect:hNi,reservedClauses:[...pNi,...gNi,...mNi],reservedSetOperations:fNi,reservedJoins:yNi,reservedPhrases:vNi,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:[...gNi,...mNi],tabularOnelineClauses:mNi}},bNi=CTi(["SELECT [ALL | DISTINCT]"]),CNi=CTi(["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"]),SNi=CTi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),ENi=CTi(["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"]),wNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),xNi=CTi(["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"]),TNi=CTi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),ANi={name:"spark",tokenizerOptions:{reservedSelect:bNi,reservedClauses:[...CNi,...SNi,...ENi],reservedSetOperations:wNi,reservedJoins:xNi,reservedPhrases:TNi,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]||LTi,r=e[n+1]||LTi;return PTi.WINDOW(t)&&"OPEN_PAREN"===r.type?_Ti(vTi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:_Ti(vTi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...SNi,...ENi],tabularOnelineClauses:ENi}};var NNi=CTi(["SELECT [ALL | DISTINCT]"]),RNi=CTi(["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"]),INi=CTi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),DNi=CTi(["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"]),kNi=CTi(["UNION [ALL]","EXCEPT","INTERSECT"]),ONi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),LNi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),MNi={name:"sqlite",tokenizerOptions:{reservedSelect:NNi,reservedClauses:[...RNi,...INi,...DNi],reservedSetOperations:kNi,reservedJoins:ONi,reservedPhrases:LNi,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:[...INi,...DNi],tabularOnelineClauses:DNi}},PNi=CTi(["SELECT [ALL | DISTINCT]"]),FNi=CTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),BNi=CTi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),VNi=CTi(["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"]),UNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),GNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),HNi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),zNi={name:"sql",tokenizerOptions:{reservedSelect:PNi,reservedClauses:[...FNi,...BNi,...VNi],reservedSetOperations:UNi,reservedJoins:GNi,reservedPhrases:HNi,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:[...BNi,...VNi],tabularOnelineClauses:VNi}},WNi=CTi(["SELECT [ALL | DISTINCT]"]),jNi=CTi(["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"]),$Ni=CTi(["CREATE TABLE [IF NOT EXISTS]"]),qNi=CTi(["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"]),YNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),KNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),XNi=CTi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),ZNi={name:"trino",tokenizerOptions:{reservedSelect:WNi,reservedClauses:[...jNi,...$Ni,...qNi],reservedSetOperations:YNi,reservedJoins:KNi,reservedPhrases:XNi,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:[...$Ni,...qNi],tabularOnelineClauses:qNi}},QNi=CTi(["SELECT [ALL | DISTINCT]"]),JNi=CTi(["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}"]),eRi=CTi(["CREATE TABLE"]),tRi=CTi(["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"]),nRi=CTi(["UNION [ALL]","EXCEPT","INTERSECT"]),iRi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),rRi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),sRi={name:"transactsql",tokenizerOptions:{reservedSelect:QNi,reservedClauses:[...JNi,...eRi,...tRi],reservedSetOperations:nRi,reservedJoins:iRi,reservedPhrases:rRi,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:[...eRi,...tRi],tabularOnelineClauses:tRi}},oRi=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),aRi=CTi(["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"]),lRi=CTi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),cRi=CTi(["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"]),dRi=CTi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),uRi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),hRi=CTi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),pRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:oRi,reservedClauses:[...aRi,...lRi,...cRi],reservedSetOperations:dRi,reservedJoins:uRi,reservedPhrases:hRi,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:vAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...lRi,...cRi],tabularOnelineClauses:cRi}},gRi=CTi(["SELECT [ALL | DISTINCT]"]),mRi=CTi(["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"]),fRi=CTi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),yRi=CTi(["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"]),vRi=CTi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),_Ri=CTi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),bRi=CTi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),CRi={name:"snowflake",tokenizerOptions:{reservedSelect:gRi,reservedClauses:[...mRi,...fRi,...yRi],reservedSetOperations:vRi,reservedJoins:_Ri,reservedPhrases:bRi,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:[...fRi,...yRi],tabularOnelineClauses:yRi}},SRi=e=>e[e.length-1],ERi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),wRi=e=>e.replace(/\s+/gu," "),xRi=e=>/\n/.test(e),TRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),ARi=/\s+/uy,NRi=e=>new RegExp(`(?:${e})`,"uy"),RRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),IRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return NRi(i.map(TRi).join("|"))},DRi=e=>NRi(`${ERi(e).map(TRi).join("|")}`),kRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=ERi(e).map(TRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},ORi=(e,t)=>{if(!e.length)return;const n=e.map(TRi).join("|");return NRi(`(?:${n})(?:${t})`)},LRi={"``":"(?:`[^`]*`)+","[]":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,TRi(e)).replace(/{right}/g,TRi(t))),n=TRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},MRi=e=>"string"==typeof e?LRi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(RRi).join("|")}${t?"":"|"})`)(e)+LRi[e.quote],PRi=e=>e.map(MRi).join("|"),FRi=e=>NRi(PRi(e)),BRi=(e={})=>NRi(VRi(e)),VRi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=TRi(null!=e?e:""),a=TRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function URi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var GRi=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(_Ti(vTi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=URi(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(){ARi.lastIndex=this.index;const e=ARi.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}}},HRi=/\/\*/uy,zRi=/[\s\S]/uy,WRi=/\*\//uy,jRi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(HRi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(HRi,e))n+=t,i++;else if(t=this.matchSection(WRi,e))n+=t,i--;else{if(!(t=this.matchSection(zRi,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}},$Ri=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 GRi(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 jRi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(TRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:FRi(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:kRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:qRi},{type:"CASE",regex:/CASE\b/iuy,text:qRi},{type:"END",regex:/END\b/iuy,text:qRi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:qRi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:qRi},{type:"RESERVED_CLAUSE",regex:kRi(e.reservedClauses,e.identChars),text:qRi},{type:"RESERVED_SELECT",regex:kRi(e.reservedSelect,e.identChars),text:qRi},{type:"RESERVED_SET_OPERATION",regex:kRi(e.reservedSetOperations,e.identChars),text:qRi},{type:"WHEN",regex:/WHEN\b/iuy,text:qRi},{type:"ELSE",regex:/ELSE\b/iuy,text:qRi},{type:"THEN",regex:/THEN\b/iuy,text:qRi},{type:"RESERVED_JOIN",regex:kRi(e.reservedJoins,e.identChars),text:qRi},{type:"AND",regex:/AND\b/iuy,text:qRi},{type:"OR",regex:/OR\b/iuy,text:qRi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:qRi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:kRi(e.reservedFunctionNames,e.identChars),text:qRi},{type:"RESERVED_DATA_TYPE",regex:kRi(e.reservedDataTypes,e.identChars),text:qRi},{type:"RESERVED_KEYWORD",regex:kRi(e.reservedKeywords,e.identChars),text:qRi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,NRi(i.map(e=>"regex"in e?e.regex:MRi(e)).join("|"))):void 0},{type:"STRING",regex:FRi(e.stringTypes)},{type:"IDENTIFIER",regex:BRi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:IRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:IRi("close",e.extraParens)},{type:"OPERATOR",regex:DRi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:DRi([".",...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:ORi(a.named,VRi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:ORi(a.quoted,PRi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(TRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:ORi(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:NRi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},qRi=e=>wRi(e.toUpperCase()),YRi=new Map,KRi=e=>({tokenizer:new $Ri(e.tokenizerOptions,e.name),formatOptions:XRi(e.formatOptions)}),XRi=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 ZRi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var QRi=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 JRi(e){return e.map(eIi).map(tIi).map(nIi).map(iIi).map(rIi)}var eIi=(e,t,n)=>{if(FTi(e.type)){const i=sIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return _Ti(vTi({},e),{type:"IDENTIFIER",text:e.raw});const r=oIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return _Ti(vTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},tIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=oIi(n,t);if(!i||!aIi(i))return _Ti(vTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},nIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=oIi(n,t);if(i&&aIi(i))return _Ti(vTi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},iIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=oIi(n,t);if(i&&lIi(i))return _Ti(vTi({},e),{type:"ARRAY_IDENTIFIER"})}return e},rIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=oIi(n,t);if(i&&lIi(i))return _Ti(vTi({},e),{type:"ARRAY_KEYWORD"})}return e},sIi=(e,t)=>oIi(e,t,-1),oIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&cIi(e[t+i*n]);)i++;return e[t+i*n]},aIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,lIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,cIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,dIi=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}=URi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in kTi}};function uIi(e){return e[0]}var hIi=new dIi(e=>[]),pIi=([[e]])=>e,gIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),mIi=e=>({type:"data_type",text:e.text,raw:e.raw}),fIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=_Ti(vTi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=_Ti(vTi({},e),{trailingComments:n})),e),yIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[fIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,fIi(i,{trailing:n})]}return e},vIi={Lexer:hIi,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:[hIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[hIi.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:pIi},{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:[hIi.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:uIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[hIi.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:fIi(gIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:fIi(gIi(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:[hIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:gIi(e),children:[t,...n]})},{name:"select_clause",symbols:[hIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:gIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[hIi.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:[hIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:gIi(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:[hIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:gIi(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:uIi},{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])=>fIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>fIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>fIi(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:pIi},{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:pIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:pIi},{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:pIi},{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:pIi},{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:pIi},{name:"array_subscript",symbols:[hIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:fIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[hIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:fIi(gIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[hIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:fIi(gIi(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","_",hIi.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:fIi(e,{trailing:t}),operator:n.text,property:fIi(r,{leading:i})})},{name:"between_predicate",symbols:[hIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",hIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:gIi(e),expr1:yIi(n,{leading:t,trailing:i}),andKw:gIi(r),expr2:[fIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:uIi},{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:[hIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",hIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:fIi(gIi(e),{trailing:t}),endKw:gIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[hIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",hIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:fIi(gIi(e),{trailing:t}),thenKw:fIi(gIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[hIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:fIi(gIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[hIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[hIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[hIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[hIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[hIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[hIi.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:[hIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.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:[hIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[hIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[hIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[hIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[hIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>gIi(e)},{name:"data_type$subexpression$1",symbols:[hIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>mIi(e)},{name:"data_type",symbols:[hIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:fIi(mIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[hIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[hIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[hIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>gIi(e)},{name:"other_keyword$subexpression$1",symbols:[hIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[hIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[hIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[hIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>gIi(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:[hIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[hIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[hIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},_Ii=vIi,{Parser:bIi,Grammar:CIi}=dTi;var SIi=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(;EIi(SRi(this.items));)this.items.pop()}trimWhitespace(){for(;wIi(SRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(SRi(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}}},EIi=e=>0===e||6===e,wIi=e=>0===e||6===e||3===e;function xIi(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 TIi(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 AIi="top-level",NIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(AIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&SRi(this.indentTypes)===AIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==AIi)break}}},RIi=class extends SIi{constructor(e){super(new NIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new IIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new IIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},IIi=class extends Error{},DIi=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),ZRi(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):ZRi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return ZRi(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(),ZRi(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){xRi(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 xRi(e.text)||xRi(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(SRi(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 RIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof IIi)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){ZRi(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?ZRi(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 TIi(e.tokenType)?xIi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return wRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return TIi(e.tokenType)?xIi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return wRi(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 wRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},kIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new QRi(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 dIi(n=>[...JRi(e.tokenize(n,t)),OTi(n.length)]),i=new bIi(CIi.fromCompiled(_Ii),{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 DIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new SIi(new NIi((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()}},OIi=class extends Error{};function LIi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new OIi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new OIi(`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 OIi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var MIi={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"},PIi=Object.keys(MIi),FIi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},BIi=(e,t={})=>{if("string"==typeof t.language&&!PIi.includes(t.language))throw new OIi(`Unsupported SQL dialect: ${t.language}`);const n=MIi[t.language||"sql"];return VIi(e,_Ti(vTi({},t),{dialect:bTi[n]}))},VIi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)mTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&gTi)for(var i of gTi(e))t.indexOf(i)<0&&fTi.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=LIi(vTi(vTi({},FIi),r));return new kIi((e=>{let t=YRi.get(e);return t||(t=KRi(e),YRi.set(e,t)),t})(i),s).format(e)};const UIi=console.error;function GIi(e){return AG_GRID_LICENSE&&Eoi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),fne.jsx(eoi,{theme:"legacy",...e,modules:[Yri,d_i],onGridReady:()=>{"production"!==process.env.NODE_ENV&&(console.error=UIi)}})}class HIi{uuid=ho()}const zIi=(e,t,n)=>{const i=new KE(oS(t)),r=HSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof ISi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof DSi){const t=HSi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},WIi=(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 kSi(e,i),o=t}else if(cS(t.functionName,pEn.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 kSi(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 DSi(s,new zCi(e.queryBuilderState,t))):s.setRightConditionValue(new ISi(s,WEn(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new ISi(s,i.getDefaultFilterConditionValue(s))),s}};class jIi extends HIi{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 BEn(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 LCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_ON_DAY:pEn.EQUAL,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_ON_DAY:pEn.EQUAL,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_EQUAL])}}class $Ii extends jIi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_EQUAL])}}class qIi extends HIi{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 ISi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=OEn(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 zIi(e,pEn.IN,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.IN,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_IN])}}class YIi extends qIi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_IN])}}class KIi extends HIi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!FEn(e.propertyExpressionState.propertyExpression)&&(t instanceof IS||t instanceof mS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return zIi(e,pEn.IS_EMPTY,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.IS_EMPTY,this,!0)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_IS_EMPTY])}}class XIi extends KIi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_IS_NOT_EMPTY])}}const ZIi=e=>{try{return BIi(e,{language:"mysql"})}catch{try{return BIi(e)}catch{return e}}},QIi=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},JIi=new jIi,eDi=new $Ii,tDi=new qIi,nDi=new YIi,iDi=new KIi,rDi=new XIi,sDi=new TEi,oDi=new SEi,aDi=new wEi,lDi=new xEi,cDi=new AEi,dDi=new EEi,uDi=(e,t,n)=>{t.value&&NEn(e,e instanceof VE?VS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},hDi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?iDi:JIi:null===t.value?rDi:eDi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(BSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[iDi,rDi]:t?[JIi,tDi]:[eDi,nDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===iDi||i===rDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?iDi:rDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof ISi)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);uDi(i,n,s),o.changeOperator(t?tDi:nDi),REn(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?JIi:eDi).getDefaultFilterConditionValue(o);uDi(e,n,s),REn(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 kSi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),uDi(e,n,i.queryBuilderState),i.addNodeFromNode(new BSi(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)}},pDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?aDi:sDi:null===t.value?lDi:cDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(mEi)).filter(e=>e.condition.leftConditionValue instanceof qCi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[aDi,lDi]:t?[sDi,oDi]:[cDi,dDi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===aDi||i===lDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?aDi:lDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof vEi)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);uDi(i,n,s.queryBuilderState),o.changeOperator(t?oDi:dDi),REn(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?sDi:cDi).getDefaultFilterConditionValue(o);uDi(e,n,s.queryBuilderState),REn(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 bEi(i.postFilterState,e,t),r instanceof XCi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),uDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new mEi(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)}},gDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?mSi(r,n.columnName):void 0;s instanceof XCi||s instanceof QCi||s instanceof YCi&&NSi(s.propertyExpressionState.propertyExpression)?await pDi(e,t,n,i,s,r):s instanceof YCi?hDi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},mDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await gDi(e,n,r,t,i)},fDi=qne(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Nat(),a=n?.columnName?mSi(i,n.columnName):void 0;return fne.jsxs(LOe,{ref:t,children:[fne.jsx(MOe,{disabled:!a,onClick:()=>{mDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),fne.jsx(MOe,{disabled:!a,onClick:()=>{mDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),fne.jsx(POe,{}),fne.jsx(MOe,{onClick:r,children:"Copy Cell Value"}),fne.jsx(MOe,{onClick:s,children:"Copy Row Value"})]})})),yDi=qne(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"query-builder__sql__container",children:[fne.jsx(JOe,{}),fne.jsxs("div",{children:[fne.jsx("div",{className:"query-builder__sql__container__item__label",children:fne.jsxs(ZOe,{children:["SQL",fne.jsx("div",{children:fne.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:fne.jsx(dre,{})})})]})}),fne.jsx("div",{className:"query-builder__sql__container__code-editor",children:fne.jsx(KSn,{inputValue:ZIi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:WSn.SQL})}),fne.jsx(JOe,{})]},t)]}),n.length>0&&fne.jsx("div",{className:"query-builder__sql__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__sql__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Label"}),fne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),fne.jsx("tbody",{children:n.map(e=>fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&fne.jsx("td",{className:"table__cell--left",children:rY(e.dataType)})]},e.label))})]})]})})]})}),vDi=qne(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?fne.jsx(yDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):fne.jsxs(XOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx(yDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__sql__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),_Di=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return fne.jsxs("div",{className:n,children:[fne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&fne.jsx("div",{className:`${n}__tag`,children:t.value.path}),fne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},bDi=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?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{}),h=c?Rwi(c):fne.jsx(AEe,{}),p=()=>r?.(t);return fne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[fne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[fne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),fne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:fne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:fne.jsx(jre,{})})})]})},CDi=qne(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return fne.jsx(Dye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[fne.jsx(AOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),fne.jsx(ROe,{className:"query-builder-graph-fetch-config__content",children:fne.jsx(jOe,{children:fne.jsxs(QOe,{children:[fne.jsx(nLe,{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}),fne.jsx(nLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),fne.jsx(iLe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),fne.jsx(iLe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),fne.jsx(iLe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),fne.jsx(iLe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),fne.jsx(iLe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),fne.jsx(iLe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),fne.jsxs(IOe,{children:[!s&&fne.jsx(kOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),fne.jsx(kOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),SDi=qne(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>Twi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return fne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:fne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[fne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[fne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:fne.jsx(Kie,{})}),fne.jsx(SOe,{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:_Di({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),fne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[fne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:fne.jsx(Sre,{})}),fne.jsx(XRe,{components:{TreeNodeContainer:bDi},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"):(Uxi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),EDi=qne(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(hX)).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 fne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[fne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[fne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(zxi).map(e=>{return fne.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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case zxi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new Kxi(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 zxi.PURE:default:t.setSerializationState(new Yxi(t))}})},{label:"Cancel",type:ult.PROCEED,default:!0}]})}),className:dse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:Sp(e)},e);var r})}),fne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof Yxi&&fne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:fne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof Yxi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[fne.jsx(kie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),fne.jsxs("div",{className:dse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[fne.jsx("button",{className:dse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?fne.jsx(rre,{}):fne.jsx(zre,{})}),fne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:fne.jsx(Are,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),fne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof Yxi&&n.configModal&&fne.jsx(CDi,{pureSerializationState:n,graphFetchState:t,config:n.config??$xi.createDefault()}),fne.jsxs(xFe,{orientation:"horizontal",children:[fne.jsx(TFe,{children:fne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:fne.jsx(XRe,{components:{TreeNodeContainer:bDi},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=>{Uxi(i,e),0===i.nodes.size&&t.setSerializationState(new Yxi(t)),n instanceof Kxi&&n.treeData?.nodes.get(e.id)&&(Uxi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),fne.jsx(AFe,{}),n instanceof Kxi&&n.treeData&&fne.jsx(TFe,{children:fne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:fne.jsx(SDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),wDi=qne(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof Kxi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=tPe(()=>({accept:[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{oEn.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:fne.jsxs(xPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Fxi(r))&&fne.jsx(aLe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Fxi(r)&&fne.jsx(EDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),xDi=qne(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof Yxi||n instanceof Kxi?fne.jsx(wDi,{graphFetchTreeState:t,serializationState:n}):fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_GRAPH_FETCH,children:fne.jsx(sLe,{children:fne.jsxs("div",{className:"unsupported-element-editor__main",children:[fne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),fne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(eTi.TEXT),children:"Edit in text mode"})]})})})}),TDi=qne(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof nw?i=Pxi(js(t.graphFetchTree,nw),!0):t.graphFetchTree instanceof iw&&(i=(e=>{const t=[],n=new Map,i=Lxi(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 fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[void 0!==t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),fne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Checked"}),fne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Store"}),fne.jsx("td",{className:"table__cell--left",children:t.store})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),fne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),fne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),fne.jsx(JOe,{}),i&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:fne.jsx(XRe,{components:{TreeNodeContainer:bDi},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}})})}),fne.jsx(JOe,{})]}),t.xStorePropertyFetchDetails&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" subTree "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),fne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof f2&&fne.jsx(rTi,{resultType:t.resultType}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})})}),ADi=qne(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return fne.jsxs(XOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Name"}),fne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),fne.jsx("tbody",{children:t.map(e=>{return fne.jsx(n.Fragment,{children:fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.name}),fne.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})})]})]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),NDi=qne(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 fne.jsxs(XOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&fne.jsx("div",{className:"query-builder__constant__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx("pre",{children:fne.jsx("div",{className:"query-builder__constant__container__item",children:fne.jsxs("div",{children:["value: ",r]})})})]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__constant__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),RDi=qne(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return fne.jsxs(XOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx("div",{className:"query-builder__allocation__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__allocation__container__item",children:fne.jsx("table",{className:"query-builder__allocation__container__table",children:fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{children:"varName"}),fne.jsx("td",{children:`: ${i}`})]}),fne.jsxs("tr",{children:[fne.jsx("td",{children:"realizeInMemory"}),fne.jsx("td",{children:`: ${s}`})]})]})})})]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:r}),fne.jsx(JOe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof _1&&fne.jsx(NDi,{cnode:t.executionNodes[0],executionPlanState:n}),fne.jsx(JOe,{})]})}),IDi=qne(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?fne.jsx("div",{}):o?fne.jsx(ese,{}):fne.jsx(nse,{});return fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__sequence__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),fne.jsx(JOe,{}),t.executionNodes.map((e,t)=>fne.jsx("div",{className:"query-builder__sequence__container__item",children:fne.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 XDi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof ZDi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${HDi(e)}`,children:[!r&&l,`${t+1}: ${HDi(e)}`]})},e._UUID))]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:s}),!1===r&&o&&fne.jsx($Di,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),DDi=qne(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?fne.jsx(IDi,{node:t,executionPlanState:n,viewJson:i}):fne.jsxs(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx(IDi,{node:t,executionPlanState:n,viewJson:i}),fne.jsx("div",{className:"query-builder__execution__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),kDi=qne(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return fne.jsxs(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__sql__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),ODi=qne(e=>{const{node:t,executionPlanState:n}=e;return fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof q1&&t.implementation.executionClassFullName&&fne.jsx("div",{className:"query-builder__implementation__container__item",children:fne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,t5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(tki.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof q1&&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 LDi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(LDi||(LDi={}));const MDi=qne(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof A2?i=LDi.RESULT_SET:t instanceof k2&&(i=LDi.TEMP_FILE),t instanceof I2&&(i=LDi.SUB_QUERY),fne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&fne.jsxs(ZOe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),fne.jsx(ZOe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${HDi(t.createTempTableNode)})`}),fne.jsx($Di,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),fne.jsx(JOe,{}),fne.jsx(ZOe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${HDi(t.loadTempTableNode)})`}),fne.jsx($Di,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),fne.jsx(JOe,{}),fne.jsx(ZOe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${HDi(t.dropTempTableNode)})`}),fne.jsx($Di,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),fne.jsx(JOe,{})]})});var PDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(PDi||(PDi={}));const FDi=qne(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(PDi.GENERAL);return fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(PDi).map(e=>fne.jsx("div",{onClick:()=>o(e),className:dse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===PDi.GENERAL&&fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),fne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Checked"}),fne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:fne.jsx(ODi,{node:t,executionPlanState:i})}),fne.jsx(JOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(sTi,{resultType:t.resultType})}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(eki.JSON),text:"View JSON"})})]}),s===PDi.TEMP_TABLE&&t.tempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var BDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(BDi||(BDi={}));const VDi=qne(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(BDi.GENERAL);return fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(BDi).map(e=>fne.jsx("div",{onClick:()=>o(e),className:dse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===BDi.GENERAL&&fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:fne.jsx(ODi,{node:t,executionPlanState:i})}),fne.jsx(JOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(sTi,{resultType:t.resultType})}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(eki.JSON),text:"View JSON"})})]}),s===BDi.TEMP_TABLE&&t.tempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var UDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(UDi||(UDi={}));const GDi=qne(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(UDi.GENERAL);return fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(UDi).map(e=>fne.jsx("div",{onClick:()=>o(e),className:dse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===UDi.GENERAL&&fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:fne.jsx(ODi,{node:t,executionPlanState:i})}),fne.jsx(JOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(sTi,{resultType:t.resultType})}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(eki.JSON),text:"View JSON"})})]}),s===UDi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===UDi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),HDi=e=>e instanceof $q?"SQL Execution Node":e instanceof Kq?"Relational TDS Instantiation Execution Node":e instanceof m1?"Function Parameters Validation Node":e instanceof v1?`Allocation Execution Node (${e.varName})`:e instanceof _1?"Constant Execution Node":e instanceof b1?"Sequence Execution Node":e instanceof J1?"Store Mapping Global Graph Fetch Execution Node":e instanceof c2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof L2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof r2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof u2?"Pure Expression Platform Execution Node":"Other",zDi=qne(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof q1&&(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}`)),fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(tki).map(e=>fne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:dse("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===tki.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof q1&&fne.jsxs(xFe,{orientation:"vertical",children:[fne.jsx(TFe,{minSize:30,size:400,children:fne.jsx(XOe,{darkMode:r,className:"query-builder__java__container__panel",children:fne.jsx("div",{className:"query-builder__java__container",children:fne.jsxs("div",{children:[n.classes.map(e=>fne.jsx("div",{className:dse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:fne.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)),fne.jsx(JOe,{})]})})})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:"var(--color-dark-grey-200)"})}),fne.jsx(TFe,{children:t.globalImplementationSupportState.selectedJavaClass&&fne.jsx(KSn,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:WSn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===tki.GENERAL&&i.length>0&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),fne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),fne.jsx("div",{className:"query-builder__template--function--editor__code",children:fne.jsx(KSn,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:WSn.XML,hideMinimap:!0,hideActionBar:!0})}),fne.jsx("div",{className:"query-builder__template--function--editor__json",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(eki.JSON),text:"View JSON"})})]})]})})}),WDi=qne(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{});let o="",a="";return t instanceof ZDi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof J1?o="Cross":t.executionNode instanceof t2&&(o="Local")),a=(e=>{if(e instanceof J1||e instanceof t2){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)),fne.jsxs("div",{className:dse("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:[fne.jsx("div",{className:"tree-view__node__icon",children:fne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&fne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:fne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&fne.jsx("div",{className:"execution-plan-viewer__node__type",children:fne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),fne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),jDi=qne(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof XDi){const n=e.executionPlan.rootExecutionNode,i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof ZDi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof J1){const n=e.executionNode.localGraphFetchExecutionNode,i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof n2&&e.executionNode.children.forEach(n=>{const i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return fne.jsx(XRe,{components:{TreeNodeContainer:WDi},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 XDi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof ZDi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),$Di=qne(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof $q?fne.jsx(vDi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Kq?fne.jsx(kDi,{node:t,executionPlanState:n}):t instanceof m1?fne.jsx(ADi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof v1?fne.jsx(RDi,{node:t,executionPlanState:n}):t instanceof _1?fne.jsx(NDi,{cnode:t,executionPlanState:n}):t instanceof b1?fne.jsx(DDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof J1?fne.jsx(TDi,{storeMappingNode:t,executionPlanState:n}):t instanceof L2?fne.jsx(GDi,{node:t,executionPlanState:n}):t instanceof c2?fne.jsx(FDi,{node:t,executionPlanState:n}):t instanceof r2?fne.jsx(VDi,{node:t,executionPlanState:n}):fne.jsx(sLe,{children:fne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[fne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),fne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),children:"View JSON"})]})})}),qDi=qne(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof XDi?r=i.selectedNode.executionPlan:i.selectedNode instanceof ZDi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof XDi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(eki);return fne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[fne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:fne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),fne.jsx(UOe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:fne.jsx(LOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:fne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[fne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),fne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>fne.jsx(MOe,{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:fne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),fne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===eki.JSON&&Boolean(t)&&fne.jsx(KSn,{inputValue:t,isReadOnly:!0,language:WSn.JSON,hideMinimap:!0}),i.viewMode===eki.FORM&&fne.jsxs(fne.Fragment,{children:[r instanceof jq&&fne.jsx($Di,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof t5&&fne.jsx(zDi,{executionPlanState:i})]})]})]})})}),YDi=qne(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return fne.jsx("div",{className:"execution-plan-viewer__content",children:i?fne.jsxs(xFe,{orientation:"vertical",children:[fne.jsx(TFe,{size:300,minSize:300,children:fne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[fne.jsx(qOe,{darkMode:r,title:"execution plan explorer"}),fne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:fne.jsx(jDi,{executionPlanState:t,executionPlan:i})})]})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),fne.jsx(TFe,{children:fne.jsx(qDi,{displayData:t.displayData,executionPlanState:t})})]}):fne.jsx(KSn,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:WSn.JSON})})}),KDi=qne(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(tki.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?fne.jsx(Dye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{className:"editor-modal",darkMode:r,children:[fne.jsx(AOe,{title:"Execution Plan"}),fne.jsx(ROe,{children:t.debugText?fne.jsxs(xFe,{orientation:"horizontal",children:[fne.jsx(TFe,{minSize:100,children:fne.jsx(YDi,{executionPlanState:t,rawPlan:i})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),fne.jsx(TFe,{size:200,minSize:28,children:fne.jsxs(jOe,{className:"panel execution-plan-viewer__debug-panel",children:[fne.jsx($Oe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),fne.jsx(XOe,{children:fne.jsx(KSn,{inputValue:t.debugText,isReadOnly:!0,language:WSn.TEXT})})]})})]}):fne.jsx(YDi,{executionPlanState:t,rawPlan:i})}),fne.jsx(IOe,{children:fne.jsx(kOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class XDi{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 ZDi{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 QDi=(e,t,n)=>{const i=new ZDi(e._UUID,t,e,n instanceof ZDi?HDi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(jq)).forEach(e=>{Co(r,e._UUID)}),e instanceof J1&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(jq)).forEach(e=>{Co(r,e._UUID)})),e instanceof n2&&e.children.slice().filter(zs(jq)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},JDi=e=>{const t=[],n=new Map,i=(e=>{const t=new XDi("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 eki,tki;!function(e){e.FORM="Form",e.JSON="JSON"}(eki||(eki={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(tki||(tki={}));class nki{selectedTab=tki.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 iki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=eki.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new nki;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(JDi(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 t5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof jq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const rki=e=>fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[fne.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:fne.jsx(Nie,{})}),fne.jsx("div",{children:e.displayName})]}),ski=(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:rki}}:{};default:return{}}}return{}},oki=qne(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 TZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof TZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>RZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>RZ(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 fne.jsx(VOe,{content:(()=>{if(i instanceof fwi){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 TZ))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 fne.jsx(fDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof fwi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:dse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:fne.jsx("div",{className:dse("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?fne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):fne.jsx("span",{children:Zs(s)?Intl.NumberFormat(hwi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),aki=qne(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,...ski(t,e),cellRenderer:oki,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:fne.jsx("div",{className:dse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:fne.jsx(GIi,{rowData:QIi(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 lki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(lki||(lki={}));const cki=(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"]}}},dki=qne(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&Fc(n)?n:void 0;return fne.jsx("div",{className:dse("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?fne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):fne.jsx("span",{children:Zs(n)?Intl.NumberFormat(hwi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),uki=(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}}},hki=qne(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Nat(),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:dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...cki(e,n),...ski(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:dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...uki(e,n),...ski(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 fwi&&(t=[{name:"Filter By",action:()=>{mDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{mDi(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),lki.WAVG)},[d.wavgAggregationState,l]),fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:fne.jsxs("div",{className:dse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?fne.jsx(GIi,{rowData:QIi(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 mki),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}):fne.jsx(GIi,{rowData:QIi(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&&fne.jsx(Dye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[fne.jsx(AOe,{title:"Applying Weighted Average"}),fne.jsxs(ROe,{children:[fne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),fne.jsx(SOe,{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})]}),fne.jsx(IOe,{children:fne.jsx(kOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var pki;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(pki||(pki={}));class gki{applicationStore;selectedTab=pki.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 mki{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 fki{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 iki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new gki(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 fwi&&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 TZ&&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===lki.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 mki,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=sEi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=G3(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return XSi(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});oEn.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:KSi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(HQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=U5(this.queryBuilderState.graphManagerState.graph);uct(s,`result.${Ac(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());oEn.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=KSi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);oEn.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new gb,s=U5(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:[GQ],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());oEn.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 hQ&&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=U5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){oEn.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 oEn.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(nEn.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?oEn.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):oEn.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 yki{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([jEn.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const vki="QUERY_BUILDER_FUNCTION",_ki=(e,t)=>t===TC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,bki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof PS)).filter(t=>t instanceof TS&&_ki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),Cki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),Ski=(e,t,n,i=TC.MAIN)=>{const r=i===TC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=_ki(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=>bki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>Cki(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)})},Eki=(e,t,n=TC.MAIN)=>{const i=[],r=new Map,s=_ki(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=bki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},wki=(e,t,n,i=TC.MAIN)=>(Ski(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(EOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),xki=e=>e.package?(e instanceof TS?[e]:[]).concat([e.package].concat(xki(e.package))):[];class Tki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){d_(this,{functionAnalysisInfo:Ty}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Aki{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=>xki(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=>xki(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,Ski(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(Eki([this._functionGraph.root],this.queryBuilderState,TC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new Tki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(Eki([this._functionGraph.root],this.queryBuilderState,TC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new Tki(this,e)):[])}),this.initState.pass())}}class Nki extends JSi{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([jEn.PARAMETERS_STATE,Cg(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Rki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_GREATER_THAN])}}class Iki extends HIi{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 LCi(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 zIi(e,pEn.STARTS_WITH,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.STARTS_WITH,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_START_WITH])}}class Dki extends Iki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_START_WITH])}}class kki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class Oki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class Lki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_LESS_THAN])}}class Mki extends HIi{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 LCi(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 zIi(e,pEn.ENDS_WITH,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.ENDS_WITH,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_END_WITH])}}class Pki extends Mki{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_END_WITH])}}class Fki extends HIi{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 LCi(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 zIi(e,pEn.CONTAINS,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.CONTAINS,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_CONTAIN])}}class Bki extends Fki{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_CONTAIN])}}var Vki;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(Vki||(Vki={}));class Uki{changeDetectionState;initialQuery;currentQuery;mode=Vki.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 Gki{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 Uki(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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:ult.PROCEED,default:!0}]}):e()}}const Hki=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)",zki=(e,t)=>{const n=nx(e,t.graphManagerState.graph);return fne.jsx("div",{className:dse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:fne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},Wki=qne(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Nat(),o=Eke({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:zki(e,t)})),l=t.class?{value:t.class,label:zki(t.class,t)}:null;return fne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:fne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[fne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),fne.jsx(SOe,{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:Nwi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),jki=e=>({value:e,label:e instanceof Yj?e.packageableRuntime.value.name:"custom"}),$ki=e=>function(t){if(t.value instanceof Yj){const n=t.value;return Nwi(e)(Twi(n.packageableRuntime.value))}return t.value instanceof Yj?t.value.packageableRuntime.value.name:fne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[fne.jsx(lre,{}),fne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},qki=qne(e=>{const{queryBuilderState:t}=e,n=Nat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(Twi).sort(EOe),s=t.executionContextState.mapping?Twi(t.executionContextState.mapping):null,o=Eke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Yj(ZC.create(e))).map(jki).sort(EOe),l=t.executionContextState.runtimeValue?jki(t.executionContextState.runtimeValue):null,c=Eke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Yj?e.data.value.packageableRuntime.value.path:"custom"});return fne.jsxs("div",{className:"query-builder__setup__config-group",children:[fne.jsx($Oe,{title:"properties"}),fne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[fne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[fne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),fne.jsx(SOe,{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:Nwi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),fne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[fne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),fne.jsx(SOe,{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:$ki({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),fne.jsx("div",{className:"query-builder__setup__config-group__item",children:fne.jsx(Wki,{queryBuilderState:t,classes:i})})]})]})}),Yki=qne(e=>{const{queryBuilderState:t,children:n}=e,i=Nat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):fne.jsx(fne.Fragment,{});return fne.jsxs("div",{className:dse("query-builder__side-bar",t.sideBarClassName),children:[fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:fne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??fne.jsx(qki,{queryBuilderState:t})})}),fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),fne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class Kki{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class Xki extends Kki{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${Hki(this.getMilestoningDate(0))}, Business Date: ${Hki(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=ICi(pEn.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 Zki extends Kki{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${Hki(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=ICi(pEn.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 Qki extends Kki{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${Hki(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=ICi(pEn.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 Jki{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 Zki(this,OC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new Qki(this,OC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new Xki(this,OC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof fwi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof YCi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof QCi&&e.projectionColumnState instanceof YCi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof BSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof PSi&&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===hEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===hEn.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===hEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===hEn.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===hEn.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?Zee(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?Zee(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?Zee(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?Zee(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 ZSi(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 ZSi(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&&zEn(e,this.businessDate),n=!!this.processingDate&&zEn(e,this.processingDate),i=!!this.startDate&&zEn(e,this.startDate),r=!!this.endDate&&zEn(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([jEn.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var eOi;!function(e){e.COMPILE="query-builder.compile"}(eOi||(eOi={}));const tOi={[eOi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class nOi{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?Zee(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&zEn(e,this.value)}get hashCode(){return Cg([jEn.WATERMARK_STATE,this.value??""])}}class iOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return Cg([jEn.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 rOi extends iOi{value;constructor(e,t,n){super(e,t),d_(this,{variable:Ty,value:Ty,setValueSpec:Lv,changeValSpecType:Lv}),this.value=Zee(n,this.queryBuilderState.observerContext),Zee(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=LCi(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=Zee(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&CEn(this.variable,vS.create(new wS(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return Cg([jEn.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class sOi extends jCi{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(MCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Aee([sEn.QUERY_BUILDER,sEn.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 cQ&&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 oOi extends iOi{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 sOi(this),Zee(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new ME(this.value)}}class aOi{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 oOi(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([jEn.CONSTANT_STATE,Cg(this.constants)])}}var lOi;!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"}(lOi||(lOi={}));class cOi{uuid=ho();specification;entitlementReport;constructor(e){d_(this,{entitlementReport:Ty,setEntitlementReport:Lv}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class dOi{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 cOi(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(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof YJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof ZJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof XJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof KJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof QJ).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(lOi.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(lOi.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 cOi(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 cOi(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 uOi{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 Yj&&(this.dataAccessState=new dOi(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=$Si(n.graph,t),r=G3(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([jEn.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class hOi{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(nEn.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class pOi{static INSTANCE=new pOi}class gOi{actionConfig=pOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class mOi extends gOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new mOi}class fOi extends gOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new fOi}class yOi extends fxn{mapping;runtime}class vOi extends eAn{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 yOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new yOi;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 OI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(LI(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(LI(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,TZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=U5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());oEn.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof fZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof yOi){return Boolean(e.mapping??e.runtime)?Txn(exports.DataCubeFunction.FROM,[e.mapping?Rxn(e.mapping):void 0,e.runtime?Rxn(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(JI(LI(e,[])),_T);return new kE(t.parameters,t.body)}getSourceFunctionExpression(){let e=OI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof oA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new mxn;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class _Oi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var bOi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(bOi||(bOi={}));class COi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=pb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new jIi,new $Ii,new Lki,new Oki,new Rki,new kki,new Iki,new Dki,new Fki,new Bki,new Mki,new Pki,new qIi,new YIi,new KIi,new XIi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=bOi.STANDARD;class;getAllFunction=hEn.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 Jki(this),this.explorerState=new hxi(this),this.parametersState=new Nki(this),this.constantState=new aOi(this),this.functionsExplorerState=new Aki(this),this.fetchStructureState=new Qxi(this),this.filterState=new USi(this,this.filterOperators),this.watermarkState=new nOi(this),this.checkEntitlementsState=new uOi(this),this.resultState=new fki(this),this.textEditorState=new tTi(this),this.unsupportedQueryState=new yki(this),this.observerContext=new L3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new Gki(this),this.changeHistoryState=new hOi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(cwi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new tEi(this);return this.setLambdaWriteMode(bOi.TYPED_FETCH_STRUCTURE),e}return new nEi(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===bOi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new YZ,t=js(this.executionContextState.runtimeValue,Yj,"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 Yj?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(cwi.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{oEn.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Yj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(bOi.TYPED_FETCH_STRUCTURE);const r=KSi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new vOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new _Oi(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:eOi.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(){[eOi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new fki(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 tTi(this),this.unsupportedQueryState=new yki(this),this.milestoningState=new Jki(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new hxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new aOi(this),this.functionsExplorerState=new Aki(this),this.parametersState=new Nki(this),this.filterState=new USi(this,this.filterOperators),this.watermarkState=new nOi(this),this.checkEntitlementsState=new uOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new Qxi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(hEn.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(hEn.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 G3(sEi(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,Yj).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})(sEi(this),e,n.value);return G3(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof fwi){return this.lambdaWriteMode===bOi.STANDARD?this.graphManagerState.graph.getClass(dEn.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(dEn.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(),!hj(e)){const t=Zee(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");LOi(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(nEn.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=>Zee(e,this.observerContext)).filter(zs(PE));OOi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===eTi.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 dQ){this.applicationStore.logService.error(_b.create(ow.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Tee(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 dQ&&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(eTi.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 SOi(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([jEn.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class SOi extends COi{}class EOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const wOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.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,[pEn.GRAPH_FETCH,pEn.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof Xxi){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(Pxi(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,Yxi,"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===dEn.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${dEn.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 $xi;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 '${dEn.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)}}},xOi=(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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE,pEn.FILTER,pEn.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),kOi.process(i,n,t)},TOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),xOi(e,t,n);const i=e.parametersValues[1];i instanceof UE?i.values.map(i=>kOi.processChild(i,e,n,t)):(Ws(i,KE,"Can't process project() expression: project() expects argument #1 to be a function expression"),kOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(hSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),xOi(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=>kOi.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(HEn).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 fwi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},AOi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof fwi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof XE;){const e=r;for(GEn(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,pEn.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,PE,"Can't process property expression: expects expression root to be a variable");const s=new YCi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},NOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof fwi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(JI(e.content),_T));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new XCi(r,new kE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},ROi=(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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof fwi){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)}},IOi=(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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),kOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,fwi);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 mSi(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,pEn.TDS_ASC))return mEn.ASC;if(cS(e,pEn.TDS_DESC))return mEn.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=mSi(d,n);h=new GEi(i,t)}if(a instanceof KE){Ks(cS(a.functionName,[pEn.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=mSi(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 WEi(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 zEi(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 jEi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},DOi=e=>!(e instanceof KE)||!cS(e.functionName,pEn.FIRST_DAY_OF_YEAR)&&!cS(e.functionName,pEn.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>DOi(e)).includes(!1);class kOi{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 kOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new kOi(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,[pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_AGG,...Object.values(uEn)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);NOi(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,hEn.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,hEn.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(hEn.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(cS(t,hEn.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(hEn.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,pEn.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(hSi.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,hX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],PE),l=new EOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(cS(t,[pEn.FILTER,pEn.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(kOi.process(n,this.parentLambda,this.queryBuilderState),cS(n.functionName,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE]))return Ks(cS(t,pEn.FILTER),`Can't process filter() expression: only supports ${pEn.FILTER}() immediately following getAll() (got '${t}')`),void Dxi(e,this.queryBuilderState);if(cS(n.functionName,[pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.OLAP_GROUPBY]))return Ks(cS(t,pEn.TDS_FILTER),`Can't process post-filter expression: only supports ${pEn.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof fwi){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,fwi,"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),SSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(cS(n.functionName,[pEn.WATERMARK]))return void Dxi(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,pEn.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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),kOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[pEn.TDS_PROJECT,pEn.RELATION_PROJECT]))(n=e).functionName===pEn.RELATION_PROJECT||cS(n.functionName,[pEn.TDS_PROJECT,pEn.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(hSi.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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE,pEn.FILTER,pEn.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),kOi.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(bOi.TYPED_FETCH_STRUCTURE),kOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):TOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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");AOi(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 fwi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(cS(t,[pEn.TDS_TAKE,pEn.RELATION_LIMIT]))ROi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof fwi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),kOi.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=>kOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof fwi){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,[pEn.TDS_ASC,pEn.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,pEn.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 fwi){const t=n.fetchStructureState.implementation,r=HEn(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new dSi(s);e.sortType=cS(i,pEn.TDS_ASC)?mEn.ASC:mEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[pEn.RELATION_ASC,pEn.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,pEn.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 fwi){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 dSi(o);e.sortType=cS(i,pEn.RELATION_ASC)?mEn.ASC:mEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[pEn.TDS_GROUP_BY,pEn.RELATION_GROUP_BY]))(e=>e.functionName===pEn.RELATION_GROUP_BY||cS(e.functionName,[pEn.TDS_GROUP_BY,pEn.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,[pEn.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),kOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,fwi),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(bOi.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"),kOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE,pEn.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),kOi.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=>kOi.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=>kOi.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(HEn).filter(Vs);t.fetchStructureState.implementation instanceof fwi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,pEn.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"),kOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof fwi){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 VEi&&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,pEn.OLAP_GROUPBY))IOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.SERIALIZE))wOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.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,[pEn.GRAPH_FETCH,pEn.GRAPH_FETCH_CHECKED,pEn.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof Xxi){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(Pxi(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,hX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new Kxi(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(Pxi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[pEn.GRAPH_FETCH_CHECKED,pEn.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,[pEn.FILTER,hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),kOi.process(r,n,t),t.fetchStructureState.implementation instanceof Xxi&&t.fetchStructureState.implementation.setChecked(cS(e.functionName,pEn.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 oOi(t,s,o.content):DOi(o)?new rOi(t,s,o):new oOi(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 tEi(t);o.setMapping(i),o.setRuntimeValue(new Yj(ZC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void kOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(cS(t,Object.values(uEn)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void kOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!cS(t,pEn.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,pEn.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")),kOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof fwi){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,[pEn.TDS_PROJECT,pEn.RELATION_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_AGG,pEn.WAVG_ROW_MAPPER,...Object.values(uEn)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);AOi(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 kOi(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,[pEn.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?AOi(i,e.name,this.queryBuilderState):i instanceof ME&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),NOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(cS(this.parentExpression.functionName,[pEn.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,pEn.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 fwi){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 VEi&&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 OOi=(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&&vEn(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 ZSi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},LOi=(e,t,n)=>{e.functionType.parameters.length&&OOi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>kOi.process(n,e,t))},MOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:fne.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 bCi(e.target.value,gCi.ABSOLUTE_DATE))}})})},POi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:fne.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 bCi(e.target.value,gCi.ABSOLUTE_TIME))}})})},FOi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Nat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??mCi.DAYS),[u,h]=n.useState(t.direction??vCi.BEFORE),[p,g]=n.useState(t.referenceMoment??_Ci.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new CCi(gCi.CUSTOM_DATE,gCi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=wCi.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()},[]),fne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.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)}})}),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(mCi).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})}),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(vCi).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})}),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(_Ci).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})})]})},BOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Nat(),o=n.useRef(null),[a,l]=n.useState(t instanceof SCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{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(fCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(_Ci).filter(t=>t.toString().includes(e)),n=t.length>0?new SCi(Gs(t[0]?.toString()),e):new SCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},VOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Nat(),o=n.useRef(null),[a,l]=n.useState(t instanceof ECi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{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(yCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new ECi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},UOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Nat(),u=o.match?Object.values([gCi.ABSOLUTE_TIME,gCi.NOW]):Object.values(gCi),[h,p]=n.useState(RCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(RCi(t,d))},[d,t]),fne.jsxs(fne.Fragment,{children:[a?fne.jsx("span",{className:dse("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}"`:fne.jsx(fne.Fragment,{children:" "})}):fne.jsx("button",{className:dse("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"}),fne.jsxs(Wbe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(RCi(t,d))}}},anchorEl:g,onClose:()=>{p(RCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[fne.jsx(WOe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new bCi(e.target.value,e.target.value);if(gCi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:AC.LATESTDATE});else if(![gCi.ABSOLUTE_DATE,gCi.ABSOLUTE_TIME,gCi.CUSTOM_DATE,gCi.FIRST_DAY_OF,gCi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=wCi.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 gCi.ABSOLUTE_DATE:return fne.jsx(MOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case gCi.ABSOLUTE_TIME:return fne.jsx(POi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case gCi.CUSTOM_DATE:return fne.jsx(FOi,{customDateOptionValue:NCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case gCi.FIRST_DAY_OF:return fne.jsx(BOi,{customDateAdjustOptionValue:RCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case gCi.PREVIOUS_DAY_OF_WEEK:return fne.jsx(VOi,{customDateAdjustOptionValue:RCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},GOi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return fne.jsx(Ibe,{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:fne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[fne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[fne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),fne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[fne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),fne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),fne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[fne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),fne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Jw(t.multiplicity)})]})]}),children:n})},HOi="VARIABLE",zOi=qne(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return fne.jsxs(fne.Fragment,{children:[fne.jsx(IPe,{labelGetter:e=>e.variable.name,types:[HOi]}),fne.jsxs("div",{className:dse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[fne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?fne.jsx("div",{className:"icon",children:"C"}):fne.jsx(pre,{})}),fne.jsxs("div",{className:"value-spec-editor__variable__label",children:[fne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),fne.jsx(GOi,{variable:t,children:fne.jsx("div",{className:"value-spec-editor__variable__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:fne.jsx(vie,{})})]})]})]})}),WOi=qne(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=Nat(),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 fne.jsxs("div",{className:dse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?fne.jsx(SOe,{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}):fne.jsx(Nwe,{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}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:fne.jsx(vie,{})})]})})),jOi=qne(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return fne.jsxs("div",{className:dse("value-spec-editor",s),children:[fne.jsx("button",{role:"checkbox",className:dse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?fne.jsx(rre,{}):fne.jsx(zre,{})}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:fne.jsx(vie,{})})]})}),$Oi=qne(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(aJn(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 fne.jsxs("div",{className:dse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[fne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[fne.jsx("input",{ref:m,className:dse("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}),fne.jsx("div",{className:"value-spec-editor__number__actions",children:fne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:fne.jsx(Tie,{})})})]}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:fne.jsx(vie,{})})]})})),qOi=qne(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 fne.jsxs("div",{className:dse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[fne.jsx(SOe,{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}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:fne.jsx(vie,{})})]})}),YOi=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(),KOi=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 HT))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"}}},XOi=qne(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Nat(),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 fne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[fne.jsx(SOe,{className:dse("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:KOi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),fne.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:fne.jsx(dre,{})}),fne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:fne.jsx(Ure,{})})]})}),ZOi=qne(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 fne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[fne.jsx(SOe,{className:dse("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}),fne.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:fne.jsx(dre,{})}),fne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:fne.jsx(Ure,{})})]})}),QOi=qne(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?fne.jsx(fne.Fragment,{children:fne.jsx("div",{className:dse("value-spec-editor",l),children:void 0!==h?fne.jsx(ZOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):fne.jsx(XOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):fne.jsxs("div",{className:dse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[fne.jsx("div",{className:dse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),fne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:fne.jsx(pie,{})})]})}),JOi=()=>fne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),eLi=qne(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return fne.jsxs("div",{className:dse("value-spec-editor",l),children:[fne.jsx(UOi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof BE&&!LEn(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&fne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:fne.jsx(vie,{})})]})}),tLi=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=Nat(),y=e=>!LEn(e),v=e=>e instanceof KE?"":e.values[0],_=(e,t,n)=>{t instanceof CCi?a(((e,t,n)=>{const i=new KE(pEn.ADJUST);if(xEn(i,TCi(new bCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===vCi.BEFORE){const r=new KE(pEn.MINUS);xEn(r,DCi(t,AC.INTEGER,e.duration,n),n),xEn(i,r,n)}else xEn(i,DCi(t,AC.INTEGER,e.duration,n),n);const r=new VE(vS.create(new wS(t.getType(dEn.DURATION_UNIT))));return REn(r,[...r.values,VS.create(Gs(ACi(Gs(e.unit),t)))],n),xEn(i,r,n),CEn(i,vS.create(new wS(mS.DATE))),i})(t,r,s)):t instanceof SCi||t instanceof ECi||t instanceof bCi?a(TCi(t,r,s)):e instanceof KE?a(DCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof FE?(NEn(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&CEn(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(DCi(r,AC.LATESTDATE,t,s))};if(i instanceof BE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{NEn(e,t,0,s),a(e)};switch(e.path){case AC.STRING:return fne.jsx(WOi,{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 fne.jsx(jOi,{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 fne.jsx($Oi,{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 fne.jsx(eLi,{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 fne.jsx(JOi,{})}}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 fne.jsx(qOi,{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}`);NEn(t,VS.create(i),0,s),a(t)},errorChecker:e=>!LEn(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof UE&&i.genericType){const e=(e,t)=>{REn(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 REn(t,[VS.create(n)],s),Zee(t,s)}}else{const n=BCi(js(e,rS),t,s);if(n)return Zee(n,s)}return null},r=o.expectedType instanceof IS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return fne.jsx(QOi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>YOi(e.values),errorChecker:y,convertValueSpecificationToText:e=>FCi(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof PE)return fne.jsx(zOi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof ew)return fne.jsx(tLi,{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 DOi(i)?fne.jsx(eLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):fne.jsx(JOi,{});if(Zw(o.expectedType,mS.NUMBER)&&cS(i.functionName,pEn.MINUS)){const e=WEn(i,s);if(e instanceof BE&&Zw(e.genericType.value.rawType,mS.NUMBER))return fne.jsx($Oi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===mS.INTEGER,updateValueSpecification:(e,t)=>{NEn(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return fne.jsx(JOi,{})}),nLi=qne(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=Nat(),[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,_=FCi(t,p,{omitEnumOwnerName:!0});return v?fne.jsx(tLi,{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}):fne.jsx("div",{className:"value-spec-editor__editable__display",children:fne.jsx("span",{className:dse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof FE&&!LEn(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),iLi=(e,t)=>{if(e instanceof KE){const n=RCi(e,t.applicationStore).label;if(n)return n}return FCi(e,t.applicationStore)},rLi=qne(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return fne.jsxs(LOe,{ref:t,children:[i?.map(e=>fne.jsx(MOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&fne.jsx(MOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&fne.jsx(MOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),sLi=qne(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?iLi(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?iLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=XMe(()=>({type:HOi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),RPe(E),fne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:fne.jsxs(VOe,{content:fne.jsx(rLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:dse("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:[fne.jsx(IPe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[HOi]}),fne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[fne.jsx("div",{className:"query-builder__variables__variable__icon",children:fne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?fne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):fne.jsx(pre,{})})}),fne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?fne.jsxs("div",{className:dse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&fne.jsx(Zie,{title:"Calculated Constant"})]}):fne.jsxs("div",{className:"query-builder__variables__variable__type",children:[fne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&fne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&fne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[fne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:fne.jsx(pie,{})}),fne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:fne.jsx(jre,{})}),fne.jsx(GOi,{variable:t,children:fne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:fne.jsx(Are,{})})})]})]})})}),oLi=qne(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 fne.jsxs(fne.Fragment,{children:[fne.jsxs(rLe,{title:"Available parameters",children:[0===i.length&&fne.jsx(fne.Fragment,{children:" No available parameters "}),i.map(e=>fne.jsx(sLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&fne.jsx(rLe,{title:"Available constants",children:r.map(e=>fne.jsx(sLi,{variable:e.variable,value:{val:e instanceof rOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),aLi=qne(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=>{wEn(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=tPe(()=>({accept:[HOi],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&&yEn(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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:ult.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&&!_En(t,i,n.getValue(),d.milestoningState)){const n=new ew(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,wEn(js(e,XE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return fne.jsxs("div",{className:"panel__content__form__section",children:[fne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),fne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),fne.jsx("div",{className:"query-builder__variable-editor",children:fne.jsx(xPe,{isDragOver:l,dropTargetConnector:c,children:fne.jsx(tLi,{valueSpecification:h,setValueSpecification:e=>{wEn(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===mS.DATETIME},resetValue:()=>{wEn(t.propertyExpression,bEn(t,r)??GCi(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)})})}),fne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),lLi=qne(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return fne.jsxs("div",{className:"query-builder-property-editor__section",children:[fne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&fne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>fne.jsx(aLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),cLi=qne(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return fne.jsx(Dye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[fne.jsx(AOe,{title:"Derived Property"}),fne.jsxs(ROe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>fne.jsx(lLi,{derivedPropertyExpressionState:e},e.path)),fne.jsx(ROe,{className:"query-builder__variables__modal__body",children:fne.jsx(oLi,{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)})})]}),fne.jsx(IOe,{children:fne.jsx(kOe,{text:"Done",onClick:i})})]})})}),dLi=qne(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return fne.jsx("div",{className:"query-builder__property__name__display",title:n,children:fne.jsx("span",{className:dse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),uLi=qne(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?fne.jsx("div",{className:"query-builder__property__name__editor",children:fne.jsx(Nwe,{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()}})}):fne.jsx(dLi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),hLi=qne(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 fne.jsx("div",{className:"query-builder-property-expression-badge",children:fne.jsxs("div",{className:dse("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:[fne.jsx(uLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:VCi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&fne.jsxs("button",{className:dse("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&&fne.jsx(Are,{})," (...)"]}),fne.jsx(cLi,{propertyExpressionState:n})]})})}),pLi=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 fne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[fne.jsx(Wre,{className:"query-builder-panel-issue-count-badge__icon"}),fne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},gLi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return fne.jsx(gie,{className:"query-builder-column-badge__icon"});if(e.name===AC.BOOLEAN)return fne.jsx($re,{className:"query-builder-column-badge__icon"});if(e.name===AC.NUMBER||e.name===AC.INTEGER||e.name===AC.FLOAT||e.name===AC.DECIMAL)return fne.jsx(Tre,{className:"query-builder-column-badge__icon"});if(e.name===AC.DATE||e.name===AC.DATETIME||e.name===AC.STRICTDATE)return fne.jsx(are,{className:"query-builder-column-badge__icon"})}else if(e instanceof IS)return fne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},mLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof QCi||e instanceof jEi)return iS.ONE;if(e instanceof YCi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(s)})]})]}),children:i})},fLi=(e,t)=>{switch(t){case $Ci:return e.columnState.getColumnType();case Qwi.ENUM_PROPERTY:case Qwi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case HOi:return e.variable.genericType?.value.rawType;case UEi:return e.columnState.getColumnType();default:return}},yLi=[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY,$Ci],vLi=[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY],_Li=[ASi.CONDITION,Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY,$Ci],bLi=[ASi.CONDITION,Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY],CLi=[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY,$Ci,HOi],SLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof XE||r instanceof KE&&cS(r.functionName,pEn.SUBTYPE);){let e;r instanceof KE?e=new KE(oS(pEn.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 PSi){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 PSi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof PSi){const i=a.findIndex(t=>t instanceof XE&&e instanceof PSi&&t.func.value===js(e,PSi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof BSi?t.newGroupConditionFromNode(n):n instanceof MSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof BSi?t.newGroupConditionFromNode(n):n instanceof MSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new PSi(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 kSi(t,a[a.length-1]),d=new BSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof VSi&&t.removeNodeAndPruneBranch(n)},ELi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof PSi&&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,pEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(pEn.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(HSi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),XE)},wLi=(e,t,n)=>{if(NSi(e)){const i=VCi(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:dlt.CAUTION,actions:[{label:"Cancel",type:ult.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:ult.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>SLi(e,t,n))}]})}else{const i=new kSi(t,e),r=new BSi(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 PSi&&(s=o);if(o instanceof PSi&&(s=o),n instanceof MSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof VSi)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 PSi)t.newGroupConditionFromNode(s,r);else if(n instanceof BSi){const e=t.getParentNode(n);if(s&&e instanceof PSi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,ySi.AND);else if(s&&e instanceof MSi){const i=ELi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);SLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},xLi=qne(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===ySi.AND?"AND":"OR";return fne.jsx("div",{className:"dnd__entry__container",children:fne.jsx(NPe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:fne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===ySi.AND?ySi.OR:ySi.AND)},children:fne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),TLi=qne(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return fne.jsx("div",{className:"dnd__entry__container",children:fne.jsx(NPe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:fne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[fne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:VCi(t.propertyExpressionState.propertyExpression,n)}),fne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&fne.jsxs("button",{className:dse("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&&fne.jsx(Are,{})," (...)"]}),fne.jsx(cLi,{propertyExpressionState:t.propertyExpressionState})]})})})}),ALi=qne(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return fne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:fne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[fne.jsx("div",{className:dse("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:gLi(i)}),fne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:fne.jsx(hLi,{propertyExpressionState:t.propertyExpressionState})}),fne.jsx(Ewi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:fne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:fne.jsx(vie,{})})]})})}),NLi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof qIi)&&!(n instanceof YIi)&&BEn(e,i)},RLi=qne(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Nat(),l=FSi(t),c=n.useCallback((e,n)=>{const i=fLi(e,n);if(void 0!==i&&NLi(i,t.condition))try{if((n===$Ci||n===Qwi.ENUM_PROPERTY||n===Qwi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===$Ci){const n=e.columnState;if(!(n instanceof YCi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(NSi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new zCi(s,OCi(e,s.observerContext)))}}else if(n===Qwi.ENUM_PROPERTY||n===Qwi.PRIMITIVE_PROPERTY){const n=e.node,i=new zCi(s,sxi(n,t.condition.filterState.queryBuilderState.explorerState));if(NSi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===HOi){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]=tPe(()=>({accept:CLi,canDrop:(e,n)=>NLi(fLi(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}=ZMe(e=>({isFilterValueDroppable:e.isDragging()&&CLi.includes(e.getItemType()?.toString()??"")&&NLi(fLi(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=BCi(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]),fne.jsx("div",{className:"dnd__entry__container","data-testid":xwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:fne.jsx(NPe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:fne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[fne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:fne.jsx(hLi,{propertyExpressionState:t.condition.propertyExpressionState})}),fne.jsxs(UOe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:fne.jsx(LOe,{children:t.condition.operators.map(e=>{return fne.jsx(MOe,{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:[fne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),fne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:fne.jsx(Jie,{})})]}),o instanceof ISi&&o.value?fne.jsx("div",{ref:h,"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:fne.jsx(NPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:fne.jsx(nLi,{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 DSi?fne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:fne.jsx(NPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:fne.jsx(ALi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),ILi=qne(e=>{const{isDragOver:t,isDroppable:n}=e;return fne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:fne.jsx(NPe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:fne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),DLi=qne(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return fne.jsxs(LOe,{ref:t,children:[i instanceof MSi&&fne.jsx(MOe,{onClick:()=>{r.addNodeFromNode(new VSi(void 0),i)},children:"Add New Condition"}),i instanceof MSi&&fne.jsx(MOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof BSi&&fne.jsx(MOe,{onClick:()=>{oEn.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),fne.jsx(MOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),kLi=qne(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Nat(),d=s.filterState,u=n.useCallback((e,n)=>{if(ASi.CONDITION===n){const n=e.node,i=new BSi(void 0,d.nodes.get(n.id).condition);t instanceof VSi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof BSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof MSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===$Ci){if(!(e.columnState instanceof YCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=OCi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=sxi(e.node,d.queryBuilderState.explorerState);i=new kSi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof LSi||t instanceof BSi||t instanceof VSi)&&wLi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=tPe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?_Li:bLi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=XMe(()=>({type:t instanceof MSi?ASi.GROUP_CONDITION:t instanceof BSi?ASi.CONDITION:ASi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof BSi||t instanceof VSi}),[t,d]);m(g(o)),RPe(f);const{isDroppable:y}=ZMe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?_Li:bLi).includes(e.getItemType()?.toString()??"")})),v=t instanceof PSi&&0===t.childrenIds.length,_=t instanceof BSi||t instanceof VSi||v;return fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:dse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof MSi,"query-builder-filter-tree__node__container--condition":t instanceof BSi||t instanceof VSi,"query-builder-filter-tree__node__container--exists":t instanceof PSi,"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:fne.jsxs(VOe,{content:fne.jsx(DLi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof BSi||t instanceof VSi?()=>i?.(t):void 0,children:[t instanceof MSi&&fne.jsx(xLi,{node:t,isDroppable:y,isDragOver:h}),t instanceof PSi&&fne.jsx(TLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof BSi&&fne.jsx(RLi,{node:t,isDragOver:p}),t instanceof VSi&&fne.jsx(ILi,{node:t,isDragOver:h,isDroppable:y})]}),_&&fne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:fne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:fne.jsx(jre,{})})})]})})}),OLi=qne(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:dse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof MSi,"query-builder-filter-tree__node__block--exists":t instanceof PSi}),children:[fne.jsx(kLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>fne.jsx(OLi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),LLi=qne(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 LSi?e.childrenIds.map(e=>n.getNode(e)):[];return fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>fne.jsx(OLi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),MLi=qne(e=>{const{queryBuilderState:t}=e,i=Nat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof MSi),{isDroppable:a}=ZMe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?yLi:vLi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===$Ci){if(!(e.columnState instanceof YCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=OCi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=sxi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),wLi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=tPe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?yLi:vLi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[fne.jsxs("div",{className:"panel__header",children:[fne.jsxs("div",{className:"panel__header__title",children:[fne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&fne.jsx(pLi,{issues:r.allValidationIssues})]}),fne.jsx("div",{className:"panel__header__actions",children:fne.jsx(UOe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:fne.jsxs(LOe,{children:[fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new VSi(void 0),r.selectedNode)},children:[fne.jsx(FOe,{children:fne.jsx(Pre,{})}),fne.jsx(BOe,{children:"Create Condition"})]}),fne.jsxs(MOe,{disabled:!(r.selectedNode instanceof BSi),onClick:()=>{oEn.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof BSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[fne.jsx(FOe,{children:fne.jsx(sse,{})}),fne.jsx(BOe,{children:"Create Group From Condition"})]}),fne.jsxs(MOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{oEn.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[fne.jsx(FOe,{children:fne.jsx(Ore,{})}),fne.jsx(BOe,{children:"Create Logical Group"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[fne.jsx(FOe,{children:fne.jsx(qre,{})}),fne.jsx(BOe,{children:"Cleanup Tree"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[fne.jsx(FOe,{children:fne.jsx(sre,{})}),fne.jsx(BOe,{children:"Simplify Tree"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[fne.jsx(FOe,{children:fne.jsx(cre,{})}),fne.jsx(BOe,{children:"Collapse Tree"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[fne.jsx(FOe,{children:fne.jsx(yre,{})}),fne.jsx(BOe,{children:"Expand Tree"})]})]}),children:fne.jsx(mie,{className:"query-builder__icon__more-options"})})})]}),fne.jsx(XOe,{children:fne.jsxs(xPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&fne.jsx(aLe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&fne.jsxs(fne.Fragment,{children:[fne.jsx(IPe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(ASi)}),fne.jsx(LLi,{queryBuilderState:t})]}),a&&!r.isEmpty&&fne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:fne.jsx(NPe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:fne.jsx(fne.Fragment,{})})})]})})]})}),PLi=qne(e=>{const{resultState:t}=e,i=Nat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return fne.jsx(Dye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:fne.jsxs(xOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx(AOe,{title:"Query Usage"}),fne.jsx(ROe,{className:"query-builder__usage-viewer__body",children:fne.jsxs(fne.Fragment,{children:[0===r.length?fne.jsx(sLe,{children:"Query usage is not available"}):fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:fne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>fne.jsxs("button",{className:dse("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&&fne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),fne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),fne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),fne.jsx(JOe,{})]})}),fne.jsx(IOe,{children:fne.jsx(kOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var FLi;function BLi(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=BLi(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"}(FLi||(FLi={}));var VLi,ULi={exports:{}},GLi={};var HLi,zLi,WLi={};
|
|
900
|
+
`})}),tCi=qne(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 fne.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:[fne.jsx(ywe,{className:"text-lg"}),fne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),nCi=qne(e=>{const{view:t}=e,n=wbi(),i=t.grid;return fne.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)&&fne.jsx(tCi,{view:t}),fne.jsx("div",{}),fne.jsxs("div",{className:"flex h-full items-center",children:[fne.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&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),fne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[fne.jsx(Ewe,{className:"stroke-[3px]"}),fne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),fne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),fne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[fne.jsx(Fbe,{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:_Ee("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:_Ee("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}),fne.jsx("div",{className:_Ee("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),fne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[fne.jsx(Fbe,{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:_Ee("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:_Ee("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...":""}),fne.jsxs("div",{className:_Ee("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",fne.jsx(xbi,{})]})]})]})]})]})}),iCi=qne(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")}),fne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:fne.jsx(eoi,{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=Zbi)},modules:[Yri,d_i],...TJn(t)})})}),rCi=qne(e=>{const{view:t}=e,n=t.grid.configuration;return fne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[fne.jsx(eCi,{configuration:n}),fne.jsx(iCi,{view:t}),fne.jsx(nCi,{view:t})]})}),sCi=qne(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case cwn.MULTIDIMENSIONAL:return fne.jsx(Xbi,{view:t});case cwn.STANDARD:return fne.jsx(rCi,{view:t});default:return fne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),oCi=qne(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return fne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[fne.jsxs("div",{className:"flex",children:[fne.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(qEn.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:hwn.STATUS_BAR})},disabled:!t,children:[fne.jsx(awe,{className:"text-xl"}),fne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),fne.jsx("div",{className:"flex",children:fne.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(qEn.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:hwn.STATUS_BAR})},disabled:!t||Gwn(t.info.configuration.gridMode),children:[fne.jsx(hwe,{className:"text-lg"}),fne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),fne.jsx("div",{className:"flex items-center px-2",children:fne.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&&fne.jsx(Fve,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),aCi=qne(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=GOe(),[c,d]=n.useState([...r??[]]);return fne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[fne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[fne.jsx(zEe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),fne.jsx("div",{className:"truncate",children:i})]}),fne.jsxs("div",{className:"flex w-full flex-auto",children:[t,fne.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(qbi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:fne.jsx(iwe,{})}),fne.jsx(HOe,{...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)?fne.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===qbi.SEPARATOR?fne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),lCi=e=>{const{message:t,prompt:n}=e;return fne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[fne.jsx("div",{className:"mr-3",children:fne.jsx(NEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),fne.jsxs("div",{children:[fne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),fne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},cCi=qne(e=>{const{children:t,taskManager:n}=e;return fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),fne.jsx(oCi,{taskManager:n})]})}),dCi=qne(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return fne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":$En.PLACEHOLDER,children:[fne.jsx(aCi,{title:n,menuItems:i,children:r??null}),fne.jsx(cCi,{taskManager:o,children:t}),s?fne.jsx($bi,{layout:s}):null,fne.jsx(pAn,{})]})}),uCi=qne(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?fne.jsx(cCi,{children:fne.jsx(lCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):fne.jsxs(fne.Fragment,{children:[fne.jsx(sCi,{view:t}),fne.jsx(oCi,{view:t})]})}),hCi=qne(()=>{const e=wbi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(qEn.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]),fne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[fne.jsx(aCi,{title:t.info.name,menuItems:[{label:uwn.UNDO,action:()=>{e.view.snapshotService.undo(),i(uwn.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:uwn.REDO,action:()=>{e.view.snapshotService.redo(),i(uwn.REDO)},disabled:!e.view.snapshotService.canRedo},{label:uwn.SETTINGS,action:()=>{e.settingService.display.open(),i(uwn.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),fne.jsx(uCi,{view:t}),fne.jsx($bi,{layout:e.layoutService.manager}),fne.jsx(pAn,{})]})}),pCi=qne(e=>{const{specification:t,engine:i,options:r}=e,s=Kne(()=>new Cbi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?fne.jsx(Ebi,{value:s,children:fne.jsx(hCi,{},s.uuid)}):fne.jsx(dCi,{title:fwn,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&fne.jsx(lCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var gCi,mCi,fCi,yCi,vCi,_Ci;!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"}(gCi||(gCi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(mCi||(mCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(fCi||(fCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(yCi||(yCi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(vCi||(vCi={})),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"}(_Ci||(_Ci={}));class bCi{label;value;constructor(e,t){this.label=e,this.value=t}}class CCi extends bCi{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 SCi extends bCi{unit;constructor(e,t){super(e,gCi.FIRST_DAY_OF),this.unit=t}}class ECi extends bCi{day;constructor(e,t){super(e,gCi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const wCi=[new CCi("Yesterday",gCi.YESTERDAY,1,mCi.DAYS,vCi.BEFORE,_Ci.TODAY),new CCi("One Week Ago",gCi.ONE_WEEK_AGO,1,mCi.WEEKS,vCi.BEFORE,_Ci.TODAY),new CCi("One Month Ago",gCi.ONE_MONTH_AGO,1,mCi.MONTHS,vCi.BEFORE,_Ci.TODAY),new CCi("One Year Ago",gCi.ONE_YEAR_AGO,1,mCi.YEARS,vCi.BEFORE,_Ci.TODAY)],xCi=e=>Object.values(pEn).find(t=>cS(e,t)),TCi=(e,t,n)=>{if(e instanceof ECi){const i=new KE(pEn.PREVIOUS_DAY_OF_WEEK);CEn(i,vS.create(new wS(mS.DATE)));const r=new VE(vS.create(new wS(t.getType(dEn.DAY_OF_WEEK))));return REn(r,[...r.values,VS.create(Gs(t.getEnumeration(dEn.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),xEn(i,r,n),i}if(e instanceof SCi)switch(e.unit){case fCi.YEAR:{const e=new KE(pEn.FIRST_DAY_OF_THIS_YEAR);return CEn(e,vS.create(new wS(mS.DATE))),e}case fCi.QUARTER:{const e=new KE(pEn.FIRST_DAY_OF_QUARTER);return CEn(e,vS.create(new wS(mS.STRICTDATE))),e}case fCi.MONTH:{const e=new KE(pEn.FIRST_DAY_OF_THIS_MONTH);return CEn(e,vS.create(new wS(mS.DATE))),e}case fCi.WEEK:{const e=new KE(pEn.FIRST_DAY_OF_WEEK);return CEn(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 gCi.TODAY:return ICi(pEn.TODAY,mS.STRICTDATE);case gCi.NOW:return ICi(pEn.NOW,mS.DATETIME);case _Ci.FIRST_DAY_OF_THIS_YEAR:{const e=new KE(pEn.FIRST_DAY_OF_THIS_YEAR);return CEn(e,vS.create(new wS(mS.DATE))),e}case _Ci.FIRST_DAY_OF_QUARTER:{const e=new KE(pEn.FIRST_DAY_OF_QUARTER);return CEn(e,vS.create(new wS(mS.STRICTDATE))),e}case _Ci.FIRST_DAY_OF_MONTH:{const e=new KE(pEn.FIRST_DAY_OF_THIS_MONTH);return CEn(e,vS.create(new wS(mS.DATE))),e}case _Ci.FIRST_DAY_OF_WEEK:{const e=new KE(pEn.FIRST_DAY_OF_WEEK);return CEn(e,vS.create(new wS(mS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},ACi=(e,t)=>{const n=t.getEnumeration(dEn.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(mCi).filter(t=>mCi[t]===e)[0])[0];return i??Gs(n.values[0])},NCi=(e,t)=>{if(e instanceof KE&&cS(e.functionName,pEn.ADJUST)||e instanceof uA&&cS(e.function,pEn.ADJUST))try{const t=new CCi("",gCi.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,pEn.MINUS)&&t.parametersValues[0]instanceof BE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof mA?t.value:t instanceof uA&&cS(t.function,pEn.MINUS)&&t.parameters[0]instanceof mA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof KE?Object.keys(mCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>mCi[e])[0]:Object.values(mCi).filter(t=>t===js(e.parameters[2],WA).property)[0]))(e),(n=e)instanceof KE?n.parametersValues[1]instanceof KE&&cS(n.parametersValues[1].functionName,pEn.MINUS)?vCi.BEFORE:vCi.AFTER:n.parameters[1]instanceof uA&&cS(n.parameters[1].function,pEn.MINUS)?vCi.BEFORE:vCi.AFTER,(e=>{const t=e instanceof KE?e.parametersValues[0].functionName:e.parameters[0].function;switch(xCi(t)){case pEn.TODAY:return _Ci.TODAY;case pEn.NOW:return _Ci.NOW;case pEn.FIRST_DAY_OF_THIS_YEAR:return _Ci.FIRST_DAY_OF_THIS_YEAR;case pEn.FIRST_DAY_OF_QUARTER:return _Ci.FIRST_DAY_OF_QUARTER;case pEn.FIRST_DAY_OF_THIS_MONTH:return _Ci.FIRST_DAY_OF_MONTH;case pEn.FIRST_DAY_OF_WEEK:return _Ci.FIRST_DAY_OF_WEEK;case pEn.PREVIOUS_DAY_OF_WEEK:return _Ci.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=wCi.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 CCi("","",0,void 0,void 0,void 0)},RCi=(e,t)=>{if(!(e instanceof KE||e instanceof uA)){if(e instanceof BE)return e.genericType.value.rawType.path===AC.LATESTDATE?new bCi(gCi.LATEST_DATE,gCi.LATEST_DATE):new bCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===AC.DATETIME?gCi.ABSOLUTE_TIME:gCi.ABSOLUTE_DATE);if(e instanceof SA)return new bCi(gCi.LATEST_DATE,gCi.LATEST_DATE);if(e instanceof bA)return new bCi(e.value,gCi.ABSOLUTE_DATE);if(e instanceof _A)return new bCi(e.value,gCi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof KE?e.functionName:e.function;switch(xCi(n)){case pEn.TODAY:return new bCi(gCi.TODAY,gCi.TODAY);case pEn.NOW:return new bCi(gCi.NOW,gCi.NOW);case pEn.FIRST_DAY_OF_THIS_YEAR:return new SCi(_Ci.FIRST_DAY_OF_THIS_YEAR,fCi.YEAR);case pEn.FIRST_DAY_OF_QUARTER:return new SCi(_Ci.FIRST_DAY_OF_QUARTER,fCi.QUARTER);case pEn.FIRST_DAY_OF_THIS_MONTH:return new SCi(_Ci.FIRST_DAY_OF_MONTH,fCi.MONTH);case pEn.FIRST_DAY_OF_WEEK:return new SCi(_Ci.FIRST_DAY_OF_WEEK,fCi.WEEK);case pEn.PREVIOUS_DAY_OF_WEEK:const n=e instanceof KE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],WA).property;return new ECi(`Previous ${n}`,n);case pEn.ADJUST:return NCi(e,t);default:return new bCi("","")}}},ICi=(e,t)=>{const n=new KE(e);return CEn(n,vS.create(new wS(t))),n},DCi=(e,t,n,i)=>{const r=new BE(vS.create(new wS(e.getPrimitiveType(t))));return REn(r,[n],i),r},kCi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},OCi=(e,t)=>{const n=new XE(e.functionName);return TEn(n,WS.create(Gs(e.func.value))),EEn(n,e.parametersValues.map(e=>kCi(e)),t),n},LCi=(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 DCi(e,r,i?VEn(r):null,n);case AC.BOOLEAN:return DCi(e,r,VEn(r),n);case AC.DATE:return DCi(e,AC.STRICTDATE,i?VEn(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`);REn(e,[VS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},MCi=(e,t)=>G3(((e,t)=>{const n=new QE(new ZE(ZC.create(e.getType(exports.CORE_PURE_PATH.ANY)),iS.ONE));return n.expressionSequence[0]=LCi(e,mS.STRING,t,!0),n})(e.graph,t),e),PCi=(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?ICi(pEn.NOW,mS.DATETIME):i===AC.STRICTDATE?ICi(pEn.TODAY,mS.STRICTDATE):i===AC.DATE?DCi(t,AC.STRICTDATE,VEn(i),n):DCi(t,i,VEn(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&&REn(e,[VS.create(Hw(r,t))],n),e}var o},FCi=(e,t,n)=>{if(e instanceof BE)return Zw(e.genericType.value.rawType,mS.DATE)?RCi(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?FCi(e.getValue(),t,n):e instanceof KE?void 0!==e.genericType?.value.rawType&&Zw(e.genericType.value.rawType,mS.DATE)?RCi(e,t).label:e.functionName:e instanceof UE?e.values.map(e=>FCi(e,t,n)).join(","):void 0},BCi=(e,t,n)=>{let i=null;if(e instanceof mS)switch(e.path){case AC.STRING:i=new BE(vS.create(new wS(e))),REn(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))),REn(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))),REn(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))),REn(i,[t],n);break;default:return null}return i},VCi=(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,pEn.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?"/":".")},UCi=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(".")},GCi=(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))):LCi(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 HCi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=UCi(t),this.title=VCi(t,!0),this.propertyExpression=kee(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]=bEn(e,i)??Gs(t[i]):t.push(bEn(e,i)??GCi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),EEn(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)||LEn(e))}}class zCi{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=kee(t,e.observerContext),this.path=UCi(t),this.title=VCi(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&&TEn(n,WS.create(t))}if(n.func.value instanceof GS){const e=new HCi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof KE&&cS(n.functionName,pEn.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return Cg([jEn.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class WCi{uuid=ho()}class jCi{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 uQ(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 q0)}}const $Ci="PROJECTION_COLUMN";class qCi extends WCi{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 YCi extends qCi{lambdaParameterName=aEn;propertyExpressionState;constructor(e,t,n){super(e,""),d_(this,{lambdaParameterName:Ty,propertyExpressionState:Ty,setLambdaParameterName:Lv,changeProperty:Lv}),this.propertyExpressionState=new zCi(e.queryBuilderState,t),this.columnName=VCi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>zEn(e,t))))}changeProperty(e,t){this.propertyExpressionState=new zCi(this.tdsState.queryBuilderState,sxi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=VCi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return Cg([jEn.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class KCi extends jCi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Aee([sEn.QUERY_BUILDER,sEn.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=uj();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 cQ&&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 XCi extends qCi{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 KCi(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([jEn.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class ZCi{uuid=ho();constructor(){d_(this,{getOperator:Iy,allValidationIssues:Iy,hashCode:Iy})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof YCi?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 QCi extends WCi{aggregationState;projectionColumnState;lambdaParameterName=aEn;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 XCi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return Cg([jEn.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class JCi{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 QCi(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([jEn.AGGREGATION_STATE,Cg(this.columns)])}}const eSi=(e,t,n)=>{const i=new KE(oS(e));return i.parametersValues.push(new PE(t,iS.ONE)),i},tSi=(e,t,n,i,r)=>{if(cS(n.functionName,i)){const s=new QCi(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 nSi extends ZCi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.AVERAGE,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.AVERAGE,this)}getReturnType(e){return mS.FLOAT}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_AVERAGE])}}class iSi extends ZCi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.COUNT,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.COUNT,this)}getReturnType(e){return mS.INTEGER}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_COUNT])}}class rSi extends ZCi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof YCi){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(pEn.DISTINCT));i.parametersValues.push(new PE(t,iS.ONE));const r=new KE(oS(pEn.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(cS(e.functionName,pEn.COUNT)){const i=new QCi(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,pEn.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([jEn.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class sSi extends ZCi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?pEn.DATE_MAX:pEn.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof YCi){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,pEn.MAX))return;return tSi(n,t,e,pEn.MAX,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,pEn.DATE_MAX))return;return tSi(n,t,e,pEn.DATE_MAX,this);default:return}}return cS(e.functionName,pEn.MAX)?tSi(n,t,e,pEn.MAX,this):cS(e.functionName,pEn.DATE_MAX)?tSi(n,t,e,pEn.DATE_MAX,this):void 0}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_MAX])}}class oSi extends ZCi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi([AC.DATE,AC.STRICTDATE,AC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??AC.NUMBER)?pEn.DATE_MIN:pEn.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof YCi){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,pEn.MIN))return;return tSi(n,t,e,pEn.MIN,this);case AC.DATE:case AC.STRICTDATE:case AC.DATETIME:if(!cS(e.functionName,pEn.DATE_MIN))return;return tSi(n,t,e,pEn.DATE_MIN,this);default:return}}return cS(e.functionName,pEn.MIN)?tSi(n,t,e,pEn.MIN,this):cS(e.functionName,pEn.DATE_MIN)?tSi(n,t,e,pEn.DATE_MIN,this):void 0}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_MIN])}}class aSi extends ZCi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.STD_DEV_POPULATION,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class lSi extends ZCi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.STD_DEV_SAMPLE,this)}getReturnType(e){return mS.NUMBER}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class cSi extends ZCi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.SUM,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.SUM,this)}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_SUM])}}class dSi{columnState;sortType=mEn.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([jEn.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class uSi{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([jEn.RESULT_SET_MODIFIER_STATE,Cg(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var hSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(hSi||(hSi={}));class pSi{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 gSi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const mSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),fSi=e=>{if(e instanceof IS)return gEn.GET_ENUM;switch(e.path){case AC.STRING:return gEn.GET_STRING;case AC.NUMBER:return gEn.GET_NUMBER;case AC.INTEGER:return gEn.GET_INTEGER;case AC.FLOAT:return gEn.GET_FLOAT;case AC.DECIMAL:return gEn.GET_DECIMAL;case AC.DATE:return gEn.GET_DATE;case AC.DATETIME:return gEn.GET_DATETIME;case AC.STRICTDATE:return gEn.GET_STRICTDATE;case AC.BOOLEAN:return gEn.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var ySi;!function(e){e.AND="and",e.OR="or"}(ySi||(ySi={}));const vSi=e=>{switch(e){case ySi.AND:return pEn.AND;case ySi.OR:return pEn.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},_Si=e=>{if(cS(e,pEn.AND))return ySi.AND;if(cS(e,pEn.OR))return ySi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},bSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(gEn).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(gEn).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=mSi(n,o);if(r!==gEn.IS_NULL&&r!==gEn.IS_NOT_NULL){if(a instanceof XCi){const e=hEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof QCi&&a.projectionColumnState instanceof XCi){const e=hEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(fSi(e)===r,`Can't process TDS column expression: expected column type ${fSi(e)} (got ${r})`)}return a},CSi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof XE&&t.func.value.name===s){const n=bSi(t,e);return r=new bEi(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=bSi(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=mSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new bEi(e,o,i),((e,t)=>{if(e instanceof XE){const n=Xr(()=>bSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new _Ei(t,n))}const n=e?WEn(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new vEi(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},SSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!cS(e.functionName,[pEn.AND,pEn.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new mEi(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 gEi(n,_Si(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>SSi(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)}},ESi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?AK(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=fSi(e)}e.func=WS.create(Gs(qw(n.getClass(dEn.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}},wSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=ESi(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 xSi extends gSi{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 LCi(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 wSi(e,this,pEn.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.STARTS_WITH,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_START_WITH])}}class TSi extends xSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_START_WITH])}}var ASi;!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"}(ASi||(ASi={}));const NSi=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,pEn.SUBTYPE);)t=t.parametersValues[0]}return!1};class RSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([jEn.FILTER_CONDITION_RIGHT_VALUE])}}class ISi extends RSi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?OEn(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?kEn(this.value):void 0}setValue(e){return this.value=e?Zee(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof UE}get hashCode(){return Cg([jEn.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class DSi extends RSi{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 NSi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class kSi{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 zCi(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,ISi),n=e??t.value;if(dEi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(lEi(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=cEi(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 ISi&&this.rightConditionValue.value instanceof FE&&LEn(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?REn(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof FE&&this.rightConditionValue instanceof ISi&&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 ISi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new ISi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof DSi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new DSi(this,e))}get hashCode(){return Cg([jEn.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class OSi{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 LSi extends OSi{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 MSi extends LSi{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([jEn.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class PSi extends LSi{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 zCi(this.filterState.queryBuilderState,e)}get hashCode(){return Cg([jEn.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const FSi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof PSi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class BSi extends OSi{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([jEn.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class VSi extends OSi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([jEn.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class USi{queryBuilderState;lambdaParameterName=aEn;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),LSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof MSi)t.addChildNode(e);else if(t instanceof BSi||t instanceof VSi||t instanceof PSi){const n=new MSi(void 0,ySi.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 MSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof PSi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new MSi(void 0,ySi.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 BSi||t instanceof VSi){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 MSi(void 0,ySi.AND),n=new VSi(void 0),i=new VSi(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 MSi(void 0,n??ySi.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 VSi(void 0);if(t instanceof BSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new MSi(void 0,ySi.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 LSi&&[...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(MSi)).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 MSi&&!(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 VSi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(MSi)).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 VSi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof BSi});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(MSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof MSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),MSi);[...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(BSi)).map(e=>e.condition.rightConditionValue instanceof ISi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>zEn(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof BSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof BSi&&e.condition.rightConditionValue instanceof ISi&&e.condition.rightConditionValue.value instanceof FE&&!LEn(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof BSi&&e.condition.rightConditionValue instanceof DSi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof BSi&&(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 DSi&&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([jEn.FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}const GSi=e=>e.getValue()instanceof ew?GSi(js(e.getValue(),ew)):e.getValue(),HSi=(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,wEn(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&&(TEn(a,WS.create(n)),EEn(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]=GSi(t):e.parametersValues=[Gs(js(a,XE).parametersValues[0])]:e.parametersValues[n+1]=GSi(t))})}for(a=o;a instanceof KE&&cS(a.functionName,pEn.SUBTYPE);)a=a.parametersValues[0]}return a instanceof PE&&AEn(a,n),s},zSi=(e,t)=>{if(t instanceof BSi){const n=t.parentId?js(e.nodes.get(t.parentId),LSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof MSi){const n=new KE(oS(vSi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>zSi(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(vSi(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 PSi){const n=new KE(oS(pEn.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),LSi):void 0;for(;i&&!(i instanceof MSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),LSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),LSi).lambdaParameterName:void 0,s=Gs(HSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>zSi(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=UEn(t.lambdaParameterName??aEn,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new KE(oS(vSi(Gs(i).groupOperation)));l.parametersValues=a;const c=UEn(t.lambdaParameterName??aEn,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var WSi,jSi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(WSi||(WSi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(jSi||(jSi={}));const $Si=(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},qSi=e=>e.value instanceof KE&&[iS.ONE,iS.ZERO_ONE].some(t=>tx(t,e.parameter.multiplicity)),YSi=e=>e.filter(qSi),KSi=(e,t)=>e.filter(e=>!qSi(e)).map(e=>{const n=new KY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),XSi=(e,t,n)=>{const i=((e,t)=>{const n=YSi(e);if(n.length>0){const i=$Si(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),G3(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class ZSi{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=Ree(e),this.graph=n}get hashCode(){return Cg([jSi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(PCi(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?Zee(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(CEn(this.parameter,vS.create(new wS(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;tx(n,t)||(SEn(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class QSi{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 JSi{parameterStates=[];parameterValuesEditorState=new QSi;constructor(){d_(this,{hashCode:Iy})}get hashCode(){return Cg([jSi.LAMBDA_PARAMETERS_STATE,Cg(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){wo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class eEi{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 tEi extends eEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class nEi extends eEi{constructor(e){super(e),d_(this,{mapping:Ty,runtimeValue:Ty,setMapping:Lv,setRuntimeValue:Lv})}}const iEi=(e,t)=>{const n=new KE(oS(hEn.GET_ALL)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},rEi=(e,t)=>{const n=new KE(oS(hEn.GET_ALL_VERSIONS)),i=new FE(t,vS.create(new wS(e)));return i.values[0]=ZC.create(e),n.parametersValues.push(i),n},sEi=(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=rEi(n,iS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case hEn.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=rEi(n,iS.ONE);i.expressionSequence[0]=e}break;case hEn.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(hEn.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 hEn.GET_ALL:{const t=iEi(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(pEn.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=>zSi(e,t)).filter(Vs);if(!n.length)return;const i=new KE(oS(pEn.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(UEn(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 tEi){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 Yj&&(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=YSi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=$Si(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},oEi=(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=ICi(pEn.NOW,mS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];EEn(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof KE&&cS(s.functionName,pEn.SUBTYPE);)s=s.parametersValues[0]}return s instanceof PE&&AEn(s,t),i},aEi=(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=iEi(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?VCi(t,!1):s;if(n){const r=new KE(oS(pEn.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?UEn(aEn,[t],e.graphManagerState.graph):i,h=new KE(oS(pEn.TDS_AGG)),p=UEn(aEn,[n.buildAggregateExpression(t,aEn,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(pEn.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?UEn(aEn,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new xSi,p=new XE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=fSi(Gs(e))}p.func=WS.create(Gs(qw(e.graphManagerState.graph.getClass(dEn.TDS_ROW)).find(e=>e.name===g)));const f=new PE(lEn,iS.ONE),y=new BE(vS.create(new wS(mS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new KE(oS(pEn.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=UEn(lEn,[v],e.graphManagerState.graph),b=new KE(oS(pEn.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new KE(oS(pEn.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(pEn.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,G3(a,e.graphManagerState)},lEi=(e,t,n)=>{const i=oEi(t,aEn,e.observerContext);return aEi(e,i,void 0,void 0,void 0,void 0,n)},cEi=e=>{const t=js(e,TZ,"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},dEi=e=>{if(e instanceof BE){if(e.genericType.value.rawType.path===AC.STRING){return e.values[0].length>=2}return!1}return!1};var uEi;!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"}(uEi||(uEi={}));const hEi=(e,t)=>{switch(e){case gEn.GET_STRING:return mS.STRING;case gEn.GET_NUMBER:return mS.NUMBER;case gEn.GET_INTEGER:return mS.INTEGER;case gEn.GET_FLOAT:return mS.FLOAT;case gEn.GET_DECIMAL:return mS.DECIMAL;case gEn.GET_DATE:return mS.DATE;case gEn.GET_DATETIME:return mS.DATETIME;case gEn.GET_STRICTDATE:return mS.STRICTDATE;case gEn.GET_BOOLEAN:return mS.BOOLEAN;default:return}};class pEi{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 gEi extends pEi{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([jEn.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",Cg(this.childrenIds),this.groupOperation])}}class mEi extends pEi{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([jEn.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class fEi extends pEi{constructor(e){super(e),d_(this,{dragPreviewLabel:Iy})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return Cg([jEn.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class yEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return Cg([jEn.POST_FILTER_CONDITION_RIGHT_VALUE])}}class vEi extends yEi{value;constructor(e,t){super(e),d_(this,{value:Ty,setValue:Lv}),this.value=this.setValue(t)}get type(){return this.value instanceof UE?OEn(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?kEn(this.value):void 0}setValue(e){return this.value=e?Zee(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([jEn.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class _Ei extends yEi{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=ESi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class bEi{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 vEi(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 vEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new vEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof qCi||this.leftConditionValue instanceof QCi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,vEi),r=e??i.value;if(dEi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof qCi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof XCi?(s=new ME(QI(Lq(l.lambda,new PX([]).build()))),o=l.columnName,a=l.returnType):i=oEi(js(l,YCi).propertyExpressionState.propertyExpression,aEn,e.observerContext),aEi(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=cEi(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 XCi&&(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([jEn.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class CEi{tdsState;lambdaParameterName=lEn;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),gEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(mEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof _Ei?[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 gEi)t.addChildNode(e);else if(t instanceof mEi||t instanceof fEi){const n=new gEi(void 0,ySi.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 gEi(void 0,ySi.AND),n=new fEi(void 0),i=new fEi(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 fEi(void 0);if(t instanceof mEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new gEi(void 0,ySi.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 gEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof mEi||t instanceof fEi){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 gEi&&[...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(gEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),gEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),gEi);[...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(gEi)).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 fEi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(gEi)).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 fEi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof mEi});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(mEi)).map(e=>e.condition.rightConditionValue).filter(zs(vEi)).map(e=>e.value).filter(Vs).find(t=>zEn(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof mEi&&(t.condition.rightConditionValue instanceof vEi&&t.condition.rightConditionValue.value instanceof FE&&!LEn(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof YCi&&!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 mEi&&e.condition.rightConditionValue instanceof vEi&&e.condition.rightConditionValue.value instanceof FE&&!LEn(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof mEi&&e.condition.leftConditionValue instanceof YCi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return Cg([jEn.POST_FILTER_STATE,Cg(this.rootIds),Cg(Array.from(this.nodes.values()))])}}class SEi extends gSi{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 vEi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=OEn(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 wSi(e,this,pEn.IN,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.IN,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_IN])}}class EEi extends SEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_IN])}}class wEi extends gSi{getLabel(){return"is empty"}getTDSColumnGetter(){return gEn.IS_NULL}isCompatibleWithType(e){return e instanceof mS||e instanceof IS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof vEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof YCi)||FEn(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return wSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return CSi(e,t,void 0,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_IS_EMPTY])}}class xEi extends wEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return gEn.IS_NOT_NULL}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class TEi extends gSi{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&&BEn(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return LCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_ON_DAY:pEn.EQUAL,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_ON_DAY:pEn.EQUAL,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_EQUAL])}}class AEi extends TEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_EQUAL])}}class NEi extends gSi{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 BEn(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 LCi(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 wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_LESS_THAN])}}class REi extends NEi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class IEi extends gSi{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 BEn(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 LCi(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 wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_GREATER_THAN])}}class DEi extends IEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return wSi(e,this,e.leftConditionValue.getColumnType()===mS.DATETIME&&e.rightConditionValue.type!==mS.DATETIME?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return CSi(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?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class kEi extends gSi{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 LCi(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 wSi(e,this,pEn.CONTAINS,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.CONTAINS,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_CONTAIN])}}class OEi extends kEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class LEi extends gSi{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 LCi(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 wSi(e,this,pEn.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return CSi(e,t,pEn.ENDS_WITH,this)}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_END_WITH])}}class MEi extends LEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?PEn(n):void 0}buildPostFilterConditionState(e,t){const n=MEn(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.POST_FILTER_OPERATOR_NOT_END_WITH])}}class PEi extends ZCi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof YCi){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 eSi(pEn.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return tSi(n,t,e,pEn.UNIQUE_VALUE_ONLY,this)}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_DISTINCT])}}class FEi extends ZCi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof YCi)||mS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new KE(oS(pEn.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,pEn.JOIN_STRINGS)){const i=new QCi(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([jEn.AGGREGATE_OPERATOR_JOIN_STRING])}}class BEi extends ZCi{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 YCi){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(pEn.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,pEn.PERCENTILE)){const i=new QCi(n.tdsState.aggregationState,n,new BEi),r=js(i.operator,BEi);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 BEi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_PERCENTILE])}}class VEi extends ZCi{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 YCi){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 eSi(pEn.WAVG,t)}buildAggregateColumnState(e,t,n){if(cS(e.functionName,pEn.WAVG)){const e=new QCi(n.tdsState.aggregationState,n,new VEi),i=js(e.operator,VEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new VEi}get hashCode(){return Cg([jEn.AGGREGATE_OPERATOR_WAVG])}}const UEi="WINDOW_COLUMN";class GEi{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([jEn.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class HEi{windowState;lambdaParameterName=aEn;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return Cg([jEn.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class zEi extends HEi{constructor(e,t){super(e,t),d_(this,{setLambdaParameterName:Lv})}}class WEi extends HEi{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([jEn.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class jEi extends WCi{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 WEi?[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 zEi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new WEi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof WEi?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 GEi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return Cg([jEn.TDS_WINDOW_COLUMN_STATE,Cg(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class $Ei{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 WEi&&t.operatorState.columnState instanceof jEi){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([jEn.TDS_WINDOW_GROUPBY_STATE,Cg(this.windowColumns)])}}const qEi=(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 mEn.ASC:return oS(pEn.TDS_ASC);case mEn.DESC:return oS(pEn.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=UEn(o.lambdaParameterName,[l],n);let d;if(o instanceof WEi){const e=new BE(vS.create(new wS(mS.STRING)));e.values=[o.columnState.columnName],d=new KE(oS(pEn.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(pEn.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},YEi=(e,t,n)=>{if(t instanceof mEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof gEi){const i=new KE(oS(vSi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>YEi(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(vSi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class KEi{_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[pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===mEn.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 XEi extends KEi{get limitFunctionName(){return pEn.TDS_TAKE}get sliceFunctionName(){return pEn.SLICE}get sortFunctionName(){return pEn.TDS_SORT}get distinctFunctionName(){return pEn.TDS_DISTINCT}get ascFunctionname(){return pEn.TDS_ASC}get descFunctionName(){return pEn.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new BE(vS.create(new wS(mS.STRING)));return t.values=[e],t})(e)}}class ZEi extends KEi{get limitFunctionName(){return pEn.RELATION_LIMIT}get sliceFunctionName(){return pEn.RELATION_SLICE}get ascFunctionname(){return pEn.RELATION_ASC}get descFunctionName(){return pEn.RELATION_DESC}get sortFunctionName(){return pEn.RELATION_SORT}get distinctFunctionName(){return pEn.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new WE(iS.ONE,void 0),n=new zE;return n.name=e,t.values=[n],t}}const QEi=(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(pEn.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 YCi)c=UEn(t.lambdaParameterName,[HSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof XCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new ME(QI(Lq(t.lambda,new PX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof VEi&&s.setLambdaParameterName("y");const e=new KE(oS(pEn.TDS_AGG)),t=UEn(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=UEn(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof VEi&&s.operator.weight&&s.projectionColumnState instanceof YCi&&c instanceof JE){const e=new KE(pEn.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(pEn.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 YCi)i=UEn(e.lambdaParameterName,[HSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof XCi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new ME(QI(Lq(e.lambda,new PX([]).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(TK.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(pEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new KE(oS(pEn.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(mwn,iS.ONE)];const d=UEn(mwn,[a],r.graphManagerState.graph);t.function1=d;const u=UEn(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(TK.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(pEn.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(pEn.TDS_COL));let r;if(t instanceof YCi)r=UEn(t.lambdaParameterName,[HSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof XCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new ME(QI(Lq(t.lambda,new PX([]).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 YCi)s=UEn(e.lambdaParameterName,[HSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof XCi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new ME(QI(Lq(e.lambda,new PX([]).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=>qEi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>YEi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=UEn(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new KE(oS(pEn.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new ZEi(e.tdsState.queryBuilderState.graphManagerState):new XEi(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 JEi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return mS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class ewi extends JEi{getLabel(){return"average rank"}get pureFunc(){return pEn.OLAP_AVERAGE_RANK}get hashCode(){return Cg([jEn.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 twi extends JEi{getLabel(){return"dense rank"}get pureFunc(){return pEn.OLAP_DENSE_RANK}get hashCode(){return Cg([jEn.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 nwi extends JEi{getLabel(){return"rank"}get pureFunc(){return pEn.OLAP_RANK}get hashCode(){return Cg([jEn.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 iwi extends JEi{getLabel(){return"row number"}get pureFunc(){return pEn.OLAP_ROW_NUMBER}get hashCode(){return Cg([jEn.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 rwi extends JEi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return pEn.SUM}get hashCode(){return Cg([jEn.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 swi extends JEi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return pEn.COUNT}get hashCode(){return Cg([jEn.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 owi extends JEi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return pEn.MAX}get hashCode(){return Cg([jEn.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 awi extends JEi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return pEn.MIN}get hashCode(){return Cg([jEn.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 lwi extends JEi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return pEn.AVERAGE}get hashCode(){return Cg([jEn.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 cwi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(cwi||(cwi={}));const dwi={[cwi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[cwi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var uwi;!function(e){e.NY="NY",e.LDN="LDN"}(uwi||(uwi={}));const hwi="en-US";class pwi{dateColumn;calendarType;endDate;lambdaParameterName=aEn;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 YCi){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,pEn.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(uwi).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 YCi&&t instanceof JE?n=js(t.values[0]?.expressionSequence[0],XE):e.projectionColumnState instanceof XCi&&(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 gwi(e,t,n){return new pwi(e,t,n)}var mwi;!function(e){e.CSV="CSV"}(mwi||(mwi={}));class fwi extends pSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new TEi,new AEi,new NEi,new REi,new IEi,new DEi,new xSi,new TSi,new kEi,new OEi,new LEi,new MEi,new SEi,new EEi,new wEi,new xEi])();aggregationOperators=(()=>[new iSi,new rSi,new PEi,new cSi,new nSi,new oSi,new sSi,new BEi,new aSi,new lSi,new FEi,new VEi])();aggregationCalendarFunctions=(()=>[gwi(uEn.CALENDAR_ANNUALIZED,"Annualized",jEn.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),gwi(uEn.CALENDAR_YTD,"Year to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_YTD),gwi(uEn.CALENDAR_CME,"Current Month Estimate",jEn.AGGREGATE_CALENDAR_FUNCTION_CME),gwi(uEn.CALENDAR_CW,"Current Week",jEn.AGGREGATE_CALENDAR_FUNCTION_CW),gwi(uEn.CALENDAR_CME,"Current Month Estimate",jEn.AGGREGATE_CALENDAR_FUNCTION_CME),gwi(uEn.CALENDAR_CY_MINUS2,"Current year minus 2",jEn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),gwi(uEn.CALENDAR_CY_MINUS3,"Current year minus 3",jEn.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),gwi(uEn.CALENDAR_MTD,"Month to date",jEn.AGGREGATE_CALENDAR_FUNCTION_MTD),gwi(uEn.CALENDAR_P12WA,"Previous 12 Weeks Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_P12WA),gwi(uEn.CALENDAR_P12WTD,"Previous 12 Weeks To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_P12WTD),gwi(uEn.CALENDAR_P4WA,"Previous 4 Weeks Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_P4WA),gwi(uEn.CALENDAR_P4WTD,"Previous 4 Weeks To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_P4WTD),gwi(uEn.CALENDAR_P52WA,"Previous 52 Weeks Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_P52WA),gwi(uEn.CALENDAR_P52WTD,"Previous 52 Weeks To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_P52WTD),gwi(uEn.CALENDAR_PMA,"Previous Months Averaged",jEn.AGGREGATE_CALENDAR_FUNCTION_PMA),gwi(uEn.CALENDAR_PMTD,"Previous Month To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PMTD),gwi(uEn.CALENDAR_PQTD,"Previous Quarter To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PQTD),gwi(uEn.CALENDAR_PRIOR_DAY,"Prior Day",jEn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),gwi(uEn.CALENDAR_PRIOR_YEAR,"Prior Year",jEn.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),gwi(uEn.CALENDAR_PW,"Previous week",jEn.AGGREGATE_CALENDAR_FUNCTION_PW),gwi(uEn.CALENDAR_PW_FM,"Previous week, Franchise Manager",jEn.AGGREGATE_CALENDAR_FUNCTION_PW_FM),gwi(uEn.CALENDAR_PWA,"Past Weeks' Average",jEn.AGGREGATE_CALENDAR_FUNCTION_PWA),gwi(uEn.CALENDAR_PWTD,"Previous Week To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PWTD),gwi(uEn.CALENDAR_PYMTD,"Previous Year's Month To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYMTD),gwi(uEn.CALENDAR_PYQTD,"Previous Year's Quarter To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYQTD),gwi(uEn.CALENDAR_PYTD,"Previous Year To Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYTD),gwi(uEn.CALENDAR_PYWA,"Previous Year's Weekly Average",jEn.AGGREGATE_CALENDAR_FUNCTION_PYWA),gwi(uEn.CALENDAR_PYWTD,"Previous Year's Week to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_PYWTD),gwi(uEn.CALENDAR_QTD,"Quarter to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_QTD),gwi(uEn.CALENDAR_REPORT_END_DAY,"Report End Day",jEn.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),gwi(uEn.CALENDAR_WTD,"Week to Date",jEn.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new rwi,new swi,new owi,new awi,new lwi,new ewi,new twi,new nwi,new iwi])();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 uSi(this),this.postFilterState=new CEi(this,this.postFilterOperators),this.aggregationState=new JCi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new $Ei(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(cwi.SHOW_POST_FILTER_PANEL)??!1}get type(){return hSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(XCi))}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 YCi){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,pEn.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(exi(i,e.path))),r.push(exi(i,t.path));else{const e=Jwi(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 YCi&&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[mwi.CSV]}getExportDataInfo(e){if(e===mwi.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 QCi?e instanceof QCi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){QEi(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=>{hj(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=UEn(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new XCi(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 XCi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${aEn}${_C}''`)}revealCompilationError(e){const t=Tee(e.sourceInformation);if(t&&3===t.length&&t[0]===sEn.QUERY_BUILDER&&t[1]===sEn.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof XCi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new YCi(this,sxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new YCi(this,sxi(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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ult.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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ult.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(XCi)).length)return!1;const n=t.filter(zs(YCi)).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 YCi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return Cg([jEn.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(XCi));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 ywi;!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)"}(ywi||(ywi={}));const vwi=[[ywi.COUNT,iSi],[ywi.DISTINCT_COUNT,rSi],[ywi.SUM,cSi],[ywi.MIN,oSi],[ywi.MAX,sSi],[ywi.AVERAGE,nSi],[ywi.STD_DEV_POPULATION,aSi],[ywi.STD_DEV_SAMPLE,lSi]],_wi=(e,t,n)=>{const i=new YCi(e,t,!1);return i.setColumnName(n),i};class bwi 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 Cwi=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=>fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return fne.jsx("div",{children:l.length>0?fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),fne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>fne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&fne.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))]})]}):fne.jsx(fne.Fragment,{children:Boolean(a.length)&&fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},Swi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return fne.jsx(oye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:fne.jsx("div",{children:fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:fne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},Ewi=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?fne.jsx("div",{className:"query-builder__tooltip__item__action",children:fne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:fne.jsx(lse,{})})}):void 0},{label:"Multiplicity",value:Jw(n.multiplicity)},{label:"Derived Property",value:n instanceof GS?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return fne.jsx(Swi,{title:t,data:c,placement:o,footerElement:fne.jsx(Cwi,{taggedValues:n.taggedValues}),children:s})},wwi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return fne.jsx(Swi,{title:t,data:s,placement:i,children:n})};var xwi;!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"}(xwi||(xwi={}));const Twi=e=>({label:e.name,value:e}),Awi=e=>Uw(e)?"system element":Vw(e)?"generated element":Bw(e)?"dependency element":void 0,Nwi=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 fne.jsxs("div",{className:i,children:[fne.jsx("div",{title:Awi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),fne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&fne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},Rwi=e=>e instanceof mS?fne.jsx(CEe,{}):e instanceof xS?fne.jsx(SEe,{}):e instanceof IS?fne.jsx(EEe,{}):e instanceof FS?fne.jsx(wEe,{}):e instanceof PS?fne.jsx(xEe,{}):fne.jsx(AEe,{}),Iwi=e=>{const{_class:t,children:n,placement:i}=e;return fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),fne.jsx(Cwi,{taggedValues:t.taggedValues})]}),children:n})},Dwi=(e,t,n)=>{if(e.type instanceof xS&&nx(e.type,t))return!0;if(e instanceof ixi&&nx(e.property,t))return!0;if(e instanceof rxi){const i=n.nodes.get(e.parentId);if(i?.type instanceof xS&&nx(i.type,t))return!0}return!1},kwi=(e,t)=>{if(e instanceof nxi&&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)},Owi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return fne.jsx(oye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:fne.jsx("div",{children:fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(a)})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),fne.jsx(Cwi,{taggedValues:t.taggedValues})]}),children:fne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},Lwi=qne(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 fne.jsx(Dye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:fne.jsxs(xOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[fne.jsx(AOe,{title:Sp(i.propertyName)}),fne.jsx(lLe,{isLoading:i.isGeneratingPreviewData}),fne.jsxs(ROe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&fne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&fne.jsxs("table",{className:"table",children:[fne.jsx("thead",{children:fne.jsx("tr",{children:i.previewData.columns.map((e,t)=>fne.jsx("th",{className:"table__cell--left",children:e},t))})}),fne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>fne.jsx("tr",{children:e.values.map((e,t)=>fne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),fne.jsx(IOe,{children:fne.jsx(kOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Mwi=qne(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return fne.jsxs(LOe,{ref:t,children:[r instanceof ixi&&!(r.type instanceof xS)&&fne.jsx(MOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof xS&&fne.jsx(MOe,{onClick:()=>{if(i(),r.type instanceof xS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(ixi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped).filter(e=>{const t=sxi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof fwi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof YCi)return n.propertyExpressionState.path===e.id&&n.columnName===VCi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),Pwi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return fne.jsx(gie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===AC.BOOLEAN)return fne.jsx($re,{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 fne.jsx(Tre,{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 fne.jsx(are,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return Rwi(e)},Fwi=qne(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Nat(),u=a.explorerState,[,h,p]=XMe(()=>({type:t instanceof ixi?t.type instanceof IS?Qwi.ENUM_PROPERTY:t.type instanceof xS?Qwi.CLASS_PROPERTY:Qwi.PRIMITIVE_PROPERTY:Qwi.ROOT,item:()=>t instanceof ixi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),RPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof ixi&&t.property instanceof GS,y=t instanceof ixi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof rxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof ixi&&t.type instanceof mS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{}),b=u.humanizePropertyName?t instanceof rxi?SC+Sp(t.label):Sp(t.label):t instanceof rxi?SC+t.label:t.label;return t.mappingData.mapped||t instanceof nxi||u.showUnmappedProperties?fne.jsx(VOe,{content:fne.jsx(Mwi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof ixi||t instanceof nxi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:fne.jsxs("div",{className:dse("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&&kwi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof nxi?"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 nxi&&fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[fne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),fne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:fne.jsx(SEe,{})})]}),fne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),fne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:fne.jsx(Iwi,{_class:Gs(a.class),children:fne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":xwi.QUERY_BUILDER_TOOLTIP_ICON,children:fne.jsx(Are,{})})})})]}),(t instanceof ixi||t instanceof rxi)&&fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[fne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),fne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Pwi(t.type)})]}),fne.jsxs("div",{className:dse("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:[fne.jsx("div",{className:dse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Dwi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&fne.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&&fne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),fne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&fne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof ixi&&u.previewData(t).catch(d.alertUnhandledError)},children:fne.jsx(vre,{})}),t instanceof ixi&&fne.jsx(Ewi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:fne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":xwi.QUERY_BUILDER_TOOLTIP_ICON,children:fne.jsx(Are,{})})}),t instanceof rxi&&fne.jsx(Owi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:fne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":xwi.QUERY_BUILDER_TOOLTIP_ICON,children:fne.jsx(Are,{})})})]})]})]})}):null}),Bwi=qne(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof nxi||a.explorerState.showUnmappedProperties?fne.jsxs("div",{className:"tree-view__node__block",children:[fne.jsx(Fwi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>fne.jsx(Bwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Vwi=e=>e instanceof rxi?0:e.type instanceof xS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof IS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Uwi=qne(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return fne.jsx(XRe,{components:{TreeNodeContainer:Fwi,TreeNodeView:Bwi},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 rxi||e instanceof ixi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Vwi(t)-Vwi(e)),innerProps:{queryBuilderState:t}})}),Gwi="query-builder-explorer-search-input",Hwi=qne(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 fne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[fne.jsx("input",{ref:t,name:Gwi,className:dse("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&&fne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?fne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:fne.jsx(jre,{})}):fne.jsx(fne.Fragment,{children:fne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:fne.jsx(Gre,{})})})]})})),zwi=qne(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Nat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_EXPLORER,className:dse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[fne.jsxs($Oe,{title:"explorer",children:[fne.jsx(Hwi,{propertySearchState:s,ref:i}),fne.jsxs(YOe,{children:[fne.jsx(KOe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof nxi||e.setIsOpen(!1)})},title:"Collapse Tree",children:fne.jsx(cre,{})}),fne.jsx(UOe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{oEn.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:fne.jsxs(LOe,{children:[fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[fne.jsx(FOe,{children:r.showUnmappedProperties?fne.jsx(ire,{}):null}),fne.jsx(BOe,{children:"Show Unmapped Properties"})]}),fne.jsxs(MOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[fne.jsx(FOe,{children:r.humanizePropertyName?fne.jsx(ire,{}):null}),fne.jsx(BOe,{children:"Humanize Property Name"})]}),fne.jsxs(MOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[fne.jsx(FOe,{children:r.highlightUsedProperties?fne.jsx(ire,{}):null}),fne.jsx(BOe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:fne.jsx(mie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&fne.jsx(Xwi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),fne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[fne.jsx(lLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),fne.jsx(IPe,{labelGetter:e=>r.humanizePropertyName?Sp(e.node.label):e.node.label,types:Object.values(Qwi)}),r.mappingModelCoverageAnalysisState.isInProgress?fne.jsx(sLe,{children:r.mappingModelCoverageAnalysisState.message}):fne.jsxs(fne.Fragment,{children:[!r.treeData&&fne.jsx(sLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&fne.jsx(Uwi,{queryBuilderState:t})]}),fne.jsx(Lwi,{queryBuilderState:t})]})]})}),Wwi=(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),jwi=(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},$wi=(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 fne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(fne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(fne.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(fne.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(fne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},qwi=qne(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=XMe(()=>({type:t instanceof ixi?t.type instanceof IS?Qwi.ENUM_PROPERTY:t.type instanceof xS?Qwi.CLASS_PROPERTY:Qwi.PRIMITIVE_PROPERTY:Qwi.ROOT,item:()=>t instanceof ixi?{node:t}:{},canDrag:()=>!(t.type instanceof xS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),RPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof ixi&&t.parentId===e.id),g=p?.type instanceof xS&&s>1?Sp(t.label):p instanceof rxi?jwi(t.id,!0):Wwi(t.id,!0),m=a?t.isOpen?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{}),f=t instanceof ixi?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?$wi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return fne.jsxs(fne.Fragment,{children:[fne.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:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[fne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),fne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:Pwi(t.type)})]}),fne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[fne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[$wi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&fne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),fne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),fne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof ixi&&fne.jsxs(fne.Fragment,{children:[fne.jsx(Ewi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:fne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:fne.jsx(lse,{})})]}),t instanceof rxi&&fne.jsxs(fne.Fragment,{children:[fne.jsx(Owi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:fne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:fne.jsx(lse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof ixi||t instanceof rxi)&&t.type instanceof xS&&(t instanceof rxi?Kw(t.type):$w(t.type)).forEach(n=>{const r=axi(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=>fne.jsx(qwi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),Ywi=qne(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return fne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[fne.jsxs("button",{className:dse("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?fne.jsx(rre,{}):fne.jsx(zre,{}),fne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&fne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),Kwi=qne(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return fne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[fne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&fne.jsx(Ibe,{slotProps:{transition:{timeout:0}},title:fne.jsx("div",{children:n}),children:fne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:fne.jsx(Are,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>fne.jsx(Ywi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),Xwi=qne(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===Gwi||(i(),r.setIsSearchPanelOpen(!1))};return fne.jsx(Wbe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:dse("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:fne.jsx(oye,{onClickAway:s,children:fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:fne.jsx("div",{className:"query-builder-property-search-panel__content",children:fne.jsxs(xFe,{orientation:"vertical",children:[fne.jsx(TFe,{size:175,children:fne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[fne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[fne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",fne.jsx(JSn,{documentationKey:Slt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),fne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:fne.jsx(WOe,{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})})]}),fne.jsx(Kwi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),fne.jsx(Kwi,{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)}}]}),fne.jsx(Kwi,{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)}}]}),fne.jsx(Kwi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(cEn.CLASS),onClick:()=>{r.toggleFilterForType(cEn.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(cEn.ENUMERATION),onClick:()=>{r.toggleFilterForType(cEn.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(cEn.STRING),onClick:()=>{r.toggleFilterForType(cEn.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(cEn.BOOLEAN),onClick:()=>{r.toggleFilterForType(cEn.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(cEn.NUMBER),onClick:()=>{r.toggleFilterForType(cEn.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(cEn.DATE),onClick:()=>{r.toggleFilterForType(cEn.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(cEn.DATE)}}]})]})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:"var(--color-dark-grey-200)"})}),fne.jsxs(TFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&fne.jsx(lLe,{isLoading:!0}),fne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&fne.jsxs(fne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>fne.jsx(qwi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&fne.jsxs(sLe,{children:[fne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),fne.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&&fne.jsx(sLe,{children:"Initializing..."}),r.searchState.isInProgress&&fne.jsx(sLe,{children:"Searching..."})]})]})]})})})})})});class Zwi{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=[cEn.CLASS,cEn.ENUMERATION,cEn.STRING,cEn.BOOLEAN,cEn.NUMBER,cEn.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 bwi(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 nxi||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 rxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof ixi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof ixi||t instanceof rxi?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 nxi||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 ixi||e instanceof rxi)||!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 ixi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=dxi(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=dxi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof ixi||e instanceof rxi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof ixi||t instanceof rxi?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 ixi||this.searchConfigurationState.includeSubTypes&&e instanceof rxi)&&e.type instanceof xS&&((e instanceof rxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=axi(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=lxi(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 ixi||e instanceof rxi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof rxi?jwi(e.id):Wwi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof ixi?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(cEn.CLASS)&&e.type instanceof xS)||(!!(this.typeFilters.includes(cEn.ENUMERATION)&&e.type instanceof IS)||(!(!this.typeFilters.includes(cEn.STRING)||e.type!==mS.STRING)||(!!(this.typeFilters.includes(cEn.NUMBER)&&e.type instanceof mS&&[AC.NUMBER,AC.DECIMAL,AC.INTEGER,AC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(cEn.BOOLEAN)||e.type!==mS.BOOLEAN)||!!(this.typeFilters.includes(cEn.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 Qwi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(Qwi||(Qwi={}));const Jwi=(e,t)=>`${e?`${e}.`:""}${t}`,exi=(e,t)=>`${e||""}${SC}${t}`;class txi{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 nxi extends txi{}class ixi extends txi{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 rxi extends txi{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 sxi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new PE(n??aEn,iS.ONE),o=new XE("");TEn(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 ixi||l instanceof rxi);){if(l instanceof rxi&&c instanceof rxi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof rxi?e=new KE(oS(pEn.SUBTYPE)):l instanceof ixi&&l.mappingData.entityMappedProperty?.subType?(e=new KE(oS(pEn.SUBTYPE)),a.parametersValues.push(e),a=e,e=new XE(""),TEn(e,WS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new XE(""),TEn(e,WS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof KE&&cS(a.functionName,pEn.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 ixi||l instanceof rxi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof ixi||c instanceof rxi))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},oxi=e=>{const t=e.type,n=(e instanceof rxi?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)},axi=(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 fJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof fJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof GS||t.isPartOfDerivedPropertyBranch||t instanceof ixi&&t.property instanceof GS;if(e instanceof NS&&t instanceof ixi&&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 ixi(o?exi(Jwi(t instanceof nxi?"":t.id,e.name),o.path):Jwi(t instanceof nxi?"":t.id,e.name),e.name,`${t instanceof nxi?`${CC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=Jwi(t instanceof nxi?"":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=oxi(a)),a},lxi=(e,t,n)=>{const i=new rxi(exi(t instanceof nxi?"":t.id,e.path),e.name,""+(t instanceof nxi?`${CC}${aEn}->${oS(pEn.SUBTYPE)}(${SC}${e.path})`:`${t.dndText}->${oS(pEn.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 fJ&&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 ixi?t.property.multiplicity:t instanceof rxi?t.multiplicity:iS.ONE);return i.childrenIds=oxi(i),i},cxi=(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 nxi("@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=axi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=lxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},dxi=e=>{if(e instanceof nxi)return new nxi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof ixi)return new ixi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof rxi)return new rxi(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 uxi{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 hxi{queryBuilderState;previewDataState=new uxi;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 Zwi(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?cxi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof ixi||e instanceof rxi)&&e.type instanceof xS&&((e instanceof rxi?Kw(e.type):$w(e.type).concat(qw(e.type))).forEach(t=>{const n=axi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=lxi(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 ixi||t instanceof rxi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof ixi||e instanceof rxi?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(),oEn.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new gb,t=U5(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());oEn.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=sxi(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,fwi),r=i.aggregationState;return vwi.forEach(e=>{const n=_wi(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,TZ,"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,fwi),r=_wi(i,t,"Value"),s=_wi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof iSi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new dSi(s);return a.sortType=mEn.DESC,i.resultSetModifierState.sortColumns=[a,new dSi(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,TZ,"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 pxi="4.17.59",gxi={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 mxi=(e,t,n,i)=>{Ws(e,oA,"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],nA,"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 uA&&2===s.parameters.length&&cS(s.function,pEn.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new RK(n,i,t));for(Ws(s,WA,"Can't build projection column: only support lambda body as property expression");s instanceof WA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof uA&&cS(s.function,pEn.SUBTYPE);)s=s.parameters[0];return Ws(s,nA,"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 RK(n,i,t))},fxi=(e,t,n,i)=>{Ws(e,uA,"Can't build aggregation: only support function"),Ks(cS(e.function,pEn.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],oA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof uA&&cS(r.body[0].function,Object.values(uEn))?Xr(()=>((e,t,n,i)=>{Ws(e,oA,"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],nA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],uA,"Can't build calendar aggregation column: only support applied function");Ks(cS(s.function,Object.values(uEn)),"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],WA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],fA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(uwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],UT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new RK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new RK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new RK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new RK(n,i,t)))??new ME(LI(d,n.extensions.plugins)),h=kK([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(LI(r,n.extensions.plugins)):Xr(()=>mxi(r,t,n,i))??new ME(LI(r,n.extensions.plugins));const o=js(e.parameters[1],oA).accept_ValueSpecificationVisitor(new RK(n,i,t));return kK([s,o],oS(pEn.TDS_AGG),n)},yxi=(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 RK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,DR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"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(oA)).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,UT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=mxi(o,n,i,r)}catch{s=new ME(LI(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=kK([o,d],e,i),g=new wS(TK.INSTANCE),m=new wS(h);return g.typeArguments=[vS.create(m)],p.genericType=vS.create(g),p},vxi=(e,t,n,i,r)=>{const s=js(e,uA,"Can't build tds col func: only support applied function");Ks(cS(s.function,pEn.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],oA,"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=mxi(o,n,i,r)}catch{a=new ME(LI(o,i.extensions.plugins))}js(s.parameters[1],fA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new RK(i,r,n));return kK([a,l],s.function,i)},_xi=(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 RK(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 hA){const e=new UE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>vxi(e,s,n,i,r)),a=e}else Ws(o,uA,"Can't build project() expression: project() expects argument #2 to be a function"),a=vxi(o,s,n,i,r);const l=kK([s,a],e,i);return l.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return yxi(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 RK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof oA?o=l.parameters:(Ws(l,hA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(oA)).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 oA?[l]:l.values,d.values=u.map(e=>{try{return mxi(e,n,i,r)}catch{return new ME(LI(e,i.extensions.plugins))}});const h=kK([a,d,t[2].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),h},bxi=(e,t,n,i,r)=>e===pEn.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 RK(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(pEn.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,DR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,DR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,BA,"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,oA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=mxi(s,n,i,r);t.function1=o;const a=js(e.function2,oA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new RK(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=kK([s,p,f],e,i),_=new wS(TK.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 RK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,hA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(oA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,hA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof uA&&cS(e.function,pEn.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(oA)).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 mxi(e,n,i,r)}catch{return new ME(LI(e,i.extensions.plugins))}});const u=new UE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>fxi(e,n,i,r));const h=kK([o,d,u,t[3].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),h})(e,t,n,i,r);class Cxi extends _ee{constructor(){super(gxi.pureProtocolProcessorPlugin,pxi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(cS(e,hEn.GET_ALL))return((e,t,n,i,r)=>{const s=OK(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,hEn.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=OK(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,hEn.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=OK(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,[pEn.FILTER,pEn.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 RK(i,r,n));if(s.genericType){const e=t[1];e instanceof oA&&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=kK([s,t[1].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(cS(e,pEn.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 RK(i,r,n));s.genericType=js(s,XE).func.value.genericType;const o=t[1];return o instanceof oA&&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)}}),kK([s,t[1].accept_ValueSpecificationVisitor(new RK(i,r,n))],e,i)})(e,t,n,i,r);if(cS(e,pEn.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 RK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof oA&&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 RK(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=kK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(cS(e,[pEn.TDS_PROJECT,pEn.RELATION_PROJECT]))return _xi(e,t,n,i,r);if(cS(e,[pEn.TDS_GROUP_BY,pEn.RELATION_GROUP_BY]))return bxi(e,t,n,i,r);if(cS(e,pEn.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 RK(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 RK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new RK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof uA?js(d.parameters[1],oA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,oA,`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 RK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new RK(i,r,n));s.push(m),o++;const f=kK(s,e,i);return f.genericType=vS.create(new wS(i.resolveType(dEn.TDS_ROW).value)),f})(e,t,n,i,r);if(cS(e,[pEn.TODAY,pEn.FIRST_DAY_OF_QUARTER])){const s=OK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.STRICTDATE)),s}if(cS(e,pEn.NOW)){const s=OK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATETIME)),s}if(cS(e,[pEn.FIRST_DAY_OF_THIS_YEAR,pEn.FIRST_DAY_OF_YEAR,pEn.FIRST_DAY_OF_THIS_MONTH,pEn.FIRST_DAY_OF_MONTH,pEn.FIRST_DAY_OF_WEEK,pEn.PREVIOUS_DAY_OF_WEEK,pEn.ADJUST])){const s=OK(e,t,n,i,r);return s.genericType=vS.create(new wS(mS.DATE)),s}return cS(e,Object.values(pEn))||cS(e,Object.values(uEn))?OK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof KE&&cS(e.functionName,oS(pEn.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof FE)[0]?.genericType?.value.rawType)(e)}]}}class Sxi{mapping;runtimes=[]}class Exi{service;executionKeys}class wxi extends aT{}class xxi extends wxi{constructor(e){super(e),this.graphManager=js(e,O3)}getSupportedProtocolVersion(){return HH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===QU||e.content._type===_R),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(PD))).flat(),o=new UK(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 oB)return new I$(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(jA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new jj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof jH?e:new jH(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 UK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(PD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof oB)return new I$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(jA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new jj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new Sxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...xY(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(OO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new Exi;i.service=t,e.execution instanceof kO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Txi=e=>new xxi(e);class Axi extends gee{constructor(){super(gxi.pureGraphManagerPlugin,pxi)}getExtraPureGraphManagerExtensionBuilders(){return[Txi]}getExtraExposedSystemElementPath(){return[dEn.TDS_TABULAR_DATASET,dEn.TDS_ROW,dEn.TDS_COLUMN]}}class Nxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new Jg(Mg(Nxi,{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 Rxi=e=>{let t=e;for(;t instanceof XE;)for(t=Gs(t.parametersValues[0]);t instanceof KE&&cS(t.functionName,pEn.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,PE)},Ixi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(cS(e.functionName,[pEn.AND,pEn.OR])){const r=new MSi(n,_Si(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,LSi).lambdaParameterName),e.parametersValues.forEach(e=>Ixi(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,[pEn.EXISTS])){const n=e.parametersValues[0];if(n instanceof XE){const e=n.parametersValues[0];e instanceof XE&&GEn(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=Rxi(r.propertyExpressionState.propertyExpression).name,n=i instanceof LSi&&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 BSi(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 PSi(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),Ixi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;cS(s.functionName,pEn.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,pEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(pEn.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}),Ixi(s,t,n)}}}},Dxi=(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),Ixi(s,n,void 0),n.simplifyTree()};class kxi{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([jEn.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",Cg(this.childrenIds)])}}const Oxi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${SC}${n.path}`:""}`,Lxi=(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 kxi(Oxi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Lxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Mxi=(e,t,n)=>{const i=t?.id,r=new kxi((s=e.class.valueForSerialization??"")?`${SC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Lxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},Pxi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Mxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Lxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Fxi=e=>0===e.tree.subTrees.length,Bxi=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)),Vxi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(wo(n.childrenIds,t.id),DEn(n.tree,t.tree)):(wo(e.rootIds,t.id),DEn(e.tree,t.tree)),e.nodes.delete(t.id)},Uxi=(e,t)=>{Vxi(e,t),(e=>{let t=Bxi(e);for(;t.length;)t.forEach(t=>{Vxi(e,t)}),t=Bxi(e)})(e)},Gxi=(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 ixi||l instanceof rxi;){let e,n=!1;for(;l instanceof rxi;)n||(e=ZC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof ixi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof xS&&(e=ZC.create(l.type)),!(l instanceof ixi))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=Oxi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Lxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),IEn(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),IEn(e.tree,t.tree,i.observerContext))}},Hxi=(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 Yxi){if(e.treeData&&!Fxi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(dEn.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(pEn.SERIALIZE)),o=new KE(oS(t?pEn.GRAPH_FETCH_CHECKED:pEn.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 Kxi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new KE(oS(pEn.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Fxi(i)&&!Fxi(o)){const a=new sw;a.values=[i.tree];const l=new KE(e.isChecked?oS(pEn.GRAPH_FETCH_CHECKED):oS(pEn.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,pEn.SERIALIZE)){const i=new BE(vS.create(new wS(mS.INTEGER)));i.values=[t];const r=new KE(oS(pEn.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 zxi,Wxi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(zxi||(zxi={})),function(e){e.RESULT="RESULT"}(Wxi||(Wxi={}));const jxi="@type";class $xi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=jxi,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 $xi;return e.typeKeyName=jxi,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 qxi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class Yxi extends qxi{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 zxi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class Kxi extends qxi{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?(Gxi(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 zxi.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 Xxi extends pSi{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 Yxi(this)}get type(){return hSi.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=Jwi(o,a);t.push(l),r.tree instanceof iw&&r.tree.subType?(s=exi(l,r.tree.subType.value.path),Ww(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(exi(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?Pxi(new nw(ZC.create(e))):void 0)}get exportDataFormatOptions(){return[Wxi.RESULT]}getExportDataInfo(e){if(e===Wxi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){Hxi(this,e,t)}addProperty(e,t){this.treeData?(Gxi(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 Kxi&&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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ult.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=>zEn(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return Cg([jEn.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const Zxi=(e,t)=>()=>{t.implementation.type!==e&&(oEn.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class Qxi{queryBuilderState;implementation;constructor(e){d_(this,{implementation:Ty,changeImplementation:Lv,initializeWithQuery:Lv}),this.queryBuilderState=e,this.implementation=new fwi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case hSi.TABULAR_DATA_STRUCTURE:this.implementation=new fwi(this.queryBuilderState,this);break;case hSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new Xxi(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 ixi&&!(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(ixi)).filter(e=>!(e.type instanceof xS)&&e.mappingData.mapped))}}class Jxi{lambda;constructor(e){this.lambda=e,d_(this,{lambda:Ty,setLambda:Lv})}setLambda(e){this.lambda=e}}var eTi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(eTi||(eTi={}));class tTi extends jCi{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 Jxi(uj())}get lambdaId(){return Aee(["query-builder"])}get text(){return this.mode===eTi.TEXT?this.fullLambdaString:this.mode===eTi.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=uj();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 cQ&&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===eTi.TEXT&&this.setQueryRawLambdaState(new Jxi(n)),e===eTi.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===eTi.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 nTi=qne(e=>{const{resultType:t}=e;let n="";return t.type instanceof QC&&(n=t.type.input??""),""===n?fne.jsx(fne.Fragment,{}):fne.jsxs("div",{className:"query-builder__result__container",children:[fne.jsx(ZOe,{className:"query-builder__result__container__item__data-type",children:fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),fne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),fne.jsx(JOe,{})]})}),iTi=qne(e=>{const{resultType:t}=e;return fne.jsxs("div",{className:"query-builder__result__container",children:[fne.jsx(ZOe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__result__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Label"}),fne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),fne.jsx("tbody",{children:t.tdsColumns.map(e=>fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.name}),fne.jsx("td",{className:"table__cell--left",children:e.type instanceof QC&&(e.type.input??"")})]},e.name))})]}),fne.jsx(JOe,{})]})}),rTi=qne(e=>{const{resultType:t}=e;return fne.jsxs("div",{className:"query-builder__result__container",children:[fne.jsxs(ZOe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),fne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.property}),fne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),fne.jsx(JOe,{})]})}),sTi=qne(e=>{const{resultType:t}=e;return t instanceof P1?fne.jsx(nTi,{resultType:t}):t instanceof F1?fne.jsx(iTi,{resultType:t}):t instanceof f2?fne.jsx(rTi,{resultType:t}):null});var oTi,aTi={exports:{}},lTi=aTi.exports;var cTi=(oTi||(oTi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(lTi,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}})}(aTi)),aTi.exports),dTi=Qr(cTi),uTi=Object.defineProperty,hTi=Object.defineProperties,pTi=Object.getOwnPropertyDescriptors,gTi=Object.getOwnPropertySymbols,mTi=Object.prototype.hasOwnProperty,fTi=Object.prototype.propertyIsEnumerable,yTi=(e,t,n)=>t in e?uTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vTi=(e,t)=>{for(var n in t||(t={}))mTi.call(t,n)&&yTi(e,n,t[n]);if(gTi)for(var n of gTi(t))fTi.call(t,n)&&yTi(e,n,t[n]);return e},_Ti=(e,t)=>hTi(e,pTi(t)),bTi={};((e,t)=>{for(var n in t)uTi(e,n,{get:t[n],enumerable:!0})})(bTi,{bigquery:()=>jTi,db2:()=>tAi,db2i:()=>cAi,hive:()=>yAi,mariadb:()=>TAi,mysql:()=>LAi,n1ql:()=>KAi,plsql:()=>iNi,postgresql:()=>uNi,redshift:()=>_Ni,singlestoredb:()=>pRi,snowflake:()=>CRi,spark:()=>ANi,sql:()=>zNi,sqlite:()=>MNi,tidb:()=>HAi,transactsql:()=>sRi,trino:()=>ZNi});var CTi=e=>e.flatMap(STi),STi=e=>ITi(wTi(e)).map(ETi),ETi=e=>e.replace(/ +/g," ").trim(),wTi=e=>({type:"mandatory_block",items:xTi(e,0)[0]}),xTi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=TTi(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]},TTi=(e,t)=>{const n=[];for(;;){const[i,r]=ATi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},ATi=(e,t)=>{if("{"===e[t])return NTi(e,t+1);if("["===e[t])return RTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},NTi=(e,t)=>{const[n,i]=xTi(e,t,"}");return[{type:"mandatory_block",items:n},i]},RTi=(e,t)=>{const[n,i]=xTi(e,t,"]");return[{type:"optional_block",items:n},i]},ITi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(ITi).reduce(DTi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(ITi);if("optional_block"===e.type)return["",...e.items.flatMap(ITi)];throw new Error(`Unknown node type: ${e}`)},DTi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},kTi=(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))(kTi||{}),OTi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),LTi=OTi(1/0),MTi=e=>t=>t.type===e.type&&t.text===e.text,PTi={ARRAY:MTi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:MTi({text:"BY",type:"RESERVED_KEYWORD"}),SET:MTi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:MTi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:MTi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:MTi({text:"VALUES",type:"RESERVED_CLAUSE"})},FTi=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,BTi=CTi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),VTi=CTi(["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"]),UTi=CTi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),GTi=CTi(["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"]),HTi=CTi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),zTi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),WTi=CTi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),jTi={name:"bigquery",tokenizerOptions:{reservedSelect:BTi,reservedClauses:[...VTi,...GTi,...UTi],reservedSetOperations:HTi,reservedJoins:zTi,reservedPhrases:WTi,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=LTi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,_Ti(vTi({},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((PTi.ARRAY(r)||PTi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=qTi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map($Ti("raw")).join(""),text:s.map($Ti("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...UTi,...GTi],tabularOnelineClauses:GTi}};var $Ti=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function qTi(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 YTi=CTi(["SELECT [ALL | DISTINCT]"]),KTi=CTi(["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"]),XTi=CTi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),ZTi=CTi(["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"]),QTi=CTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),JTi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),eAi=CTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),tAi={name:"db2",tokenizerOptions:{reservedSelect:YTi,reservedClauses:[...KTi,...XTi,...ZTi],reservedSetOperations:QTi,reservedJoins:JTi,reservedPhrases:eAi,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:[...XTi,...ZTi],tabularOnelineClauses:ZTi}},nAi=CTi(["SELECT [ALL | DISTINCT]"]),iAi=CTi(["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"]),rAi=CTi(["CREATE [OR REPLACE] TABLE"]),sAi=CTi(["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}"]),oAi=CTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),aAi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),lAi=CTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),cAi={name:"db2i",tokenizerOptions:{reservedSelect:nAi,reservedClauses:[...iAi,...rAi,...sAi],reservedSetOperations:oAi,reservedJoins:aAi,reservedPhrases:lAi,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:[...rAi,...sAi],tabularOnelineClauses:sAi}},dAi=CTi(["SELECT [ALL | DISTINCT]"]),uAi=CTi(["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"]),hAi=CTi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),pAi=CTi(["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"]),gAi=CTi(["UNION [ALL | DISTINCT]"]),mAi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),fAi=CTi(["{ROWS | RANGE} BETWEEN"]),yAi={name:"hive",tokenizerOptions:{reservedSelect:dAi,reservedClauses:[...uAi,...hAi,...pAi],reservedSetOperations:gAi,reservedJoins:mAi,reservedPhrases:fAi,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:[...hAi,...pAi],tabularOnelineClauses:pAi}};function vAi(e){return e.map((t,n)=>{const i=e[n+1]||LTi;if(PTi.SET(t)&&"("===i.text)return _Ti(vTi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||LTi;return PTi.VALUES(t)&&"="===r.text?_Ti(vTi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var _Ai=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),bAi=CTi(["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"]),CAi=CTi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),SAi=CTi(["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"]),EAi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),wAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),xAi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),TAi={name:"mariadb",tokenizerOptions:{reservedSelect:_Ai,reservedClauses:[...bAi,...CAi,...SAi],reservedSetOperations:EAi,reservedJoins:wAi,reservedPhrases:xAi,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:vAi},formatOptions:{onelineClauses:[...CAi,...SAi],tabularOnelineClauses:SAi}},AAi=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),NAi=CTi(["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"]),RAi=CTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),IAi=CTi(["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"]),DAi=CTi(["UNION [ALL | DISTINCT]"]),kAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),OAi=CTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),LAi={name:"mysql",tokenizerOptions:{reservedSelect:AAi,reservedClauses:[...NAi,...RAi,...IAi],reservedSetOperations:DAi,reservedJoins:kAi,reservedPhrases:OAi,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:vAi},formatOptions:{onelineClauses:[...RAi,...IAi],tabularOnelineClauses:IAi}},MAi=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),PAi=CTi(["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"]),FAi=CTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),BAi=CTi(["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"]),VAi=CTi(["UNION [ALL | DISTINCT]"]),UAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),GAi=CTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),HAi={name:"tidb",tokenizerOptions:{reservedSelect:MAi,reservedClauses:[...PAi,...FAi,...BAi],reservedSetOperations:VAi,reservedJoins:UAi,reservedPhrases:GAi,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:vAi},formatOptions:{onelineClauses:[...FAi,...BAi],tabularOnelineClauses:BAi}},zAi=CTi(["SELECT [ALL | DISTINCT]"]),WAi=CTi(["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"]),jAi=CTi(["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"]),$Ai=CTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),qAi=CTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),YAi=CTi(["{ROWS | RANGE | GROUPS} BETWEEN"]),KAi={name:"n1ql",tokenizerOptions:{reservedSelect:zAi,reservedClauses:[...WAi,...jAi],reservedSetOperations:$Ai,reservedJoins:qAi,reservedPhrases:YAi,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:jAi}},XAi=CTi(["SELECT [ALL | DISTINCT | UNIQUE]"]),ZAi=CTi(["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"]),QAi=CTi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),JAi=CTi(["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"]),eNi=CTi(["UNION [ALL]","MINUS","INTERSECT"]),tNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),nNi=CTi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),iNi={name:"plsql",tokenizerOptions:{reservedSelect:XAi,reservedClauses:[...ZAi,...QAi,...JAi],reservedSetOperations:eNi,reservedJoins:tNi,reservedPhrases:nNi,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=LTi;return e.map(e=>PTi.SET(e)&&PTi.BY(t)?_Ti(vTi({},e),{type:"RESERVED_KEYWORD"}):(FTi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...QAi,...JAi],tabularOnelineClauses:JAi}};var rNi=CTi(["SELECT [ALL | DISTINCT]"]),sNi=CTi(["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"]),oNi=CTi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),aNi=CTi(["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"]),lNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),cNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),dNi=CTi(["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"]),uNi={name:"postgresql",tokenizerOptions:{reservedSelect:rNi,reservedClauses:[...sNi,...oNi,...aNi],reservedSetOperations:lNi,reservedJoins:cNi,reservedPhrases:dNi,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:[...oNi,...aNi],tabularOnelineClauses:aNi}},hNi=CTi(["SELECT [ALL | DISTINCT]"]),pNi=CTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),gNi=CTi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),mNi=CTi(["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"]),fNi=CTi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),yNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),vNi=CTi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),_Ni={name:"redshift",tokenizerOptions:{reservedSelect:hNi,reservedClauses:[...pNi,...gNi,...mNi],reservedSetOperations:fNi,reservedJoins:yNi,reservedPhrases:vNi,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:[...gNi,...mNi],tabularOnelineClauses:mNi}},bNi=CTi(["SELECT [ALL | DISTINCT]"]),CNi=CTi(["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"]),SNi=CTi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),ENi=CTi(["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"]),wNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),xNi=CTi(["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"]),TNi=CTi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),ANi={name:"spark",tokenizerOptions:{reservedSelect:bNi,reservedClauses:[...CNi,...SNi,...ENi],reservedSetOperations:wNi,reservedJoins:xNi,reservedPhrases:TNi,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]||LTi,r=e[n+1]||LTi;return PTi.WINDOW(t)&&"OPEN_PAREN"===r.type?_Ti(vTi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:_Ti(vTi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...SNi,...ENi],tabularOnelineClauses:ENi}};var NNi=CTi(["SELECT [ALL | DISTINCT]"]),RNi=CTi(["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"]),INi=CTi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),DNi=CTi(["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"]),kNi=CTi(["UNION [ALL]","EXCEPT","INTERSECT"]),ONi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),LNi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),MNi={name:"sqlite",tokenizerOptions:{reservedSelect:NNi,reservedClauses:[...RNi,...INi,...DNi],reservedSetOperations:kNi,reservedJoins:ONi,reservedPhrases:LNi,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:[...INi,...DNi],tabularOnelineClauses:DNi}},PNi=CTi(["SELECT [ALL | DISTINCT]"]),FNi=CTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),BNi=CTi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),VNi=CTi(["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"]),UNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),GNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),HNi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),zNi={name:"sql",tokenizerOptions:{reservedSelect:PNi,reservedClauses:[...FNi,...BNi,...VNi],reservedSetOperations:UNi,reservedJoins:GNi,reservedPhrases:HNi,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:[...BNi,...VNi],tabularOnelineClauses:VNi}},WNi=CTi(["SELECT [ALL | DISTINCT]"]),jNi=CTi(["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"]),$Ni=CTi(["CREATE TABLE [IF NOT EXISTS]"]),qNi=CTi(["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"]),YNi=CTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),KNi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),XNi=CTi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),ZNi={name:"trino",tokenizerOptions:{reservedSelect:WNi,reservedClauses:[...jNi,...$Ni,...qNi],reservedSetOperations:YNi,reservedJoins:KNi,reservedPhrases:XNi,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:[...$Ni,...qNi],tabularOnelineClauses:qNi}},QNi=CTi(["SELECT [ALL | DISTINCT]"]),JNi=CTi(["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}"]),eRi=CTi(["CREATE TABLE"]),tRi=CTi(["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"]),nRi=CTi(["UNION [ALL]","EXCEPT","INTERSECT"]),iRi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),rRi=CTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),sRi={name:"transactsql",tokenizerOptions:{reservedSelect:QNi,reservedClauses:[...JNi,...eRi,...tRi],reservedSetOperations:nRi,reservedJoins:iRi,reservedPhrases:rRi,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:[...eRi,...tRi],tabularOnelineClauses:tRi}},oRi=CTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),aRi=CTi(["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"]),lRi=CTi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),cRi=CTi(["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"]),dRi=CTi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),uRi=CTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),hRi=CTi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),pRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:oRi,reservedClauses:[...aRi,...lRi,...cRi],reservedSetOperations:dRi,reservedJoins:uRi,reservedPhrases:hRi,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:vAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...lRi,...cRi],tabularOnelineClauses:cRi}},gRi=CTi(["SELECT [ALL | DISTINCT]"]),mRi=CTi(["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"]),fRi=CTi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),yRi=CTi(["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"]),vRi=CTi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),_Ri=CTi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),bRi=CTi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),CRi={name:"snowflake",tokenizerOptions:{reservedSelect:gRi,reservedClauses:[...mRi,...fRi,...yRi],reservedSetOperations:vRi,reservedJoins:_Ri,reservedPhrases:bRi,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:[...fRi,...yRi],tabularOnelineClauses:yRi}},SRi=e=>e[e.length-1],ERi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),wRi=e=>e.replace(/\s+/gu," "),xRi=e=>/\n/.test(e),TRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),ARi=/\s+/uy,NRi=e=>new RegExp(`(?:${e})`,"uy"),RRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),IRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return NRi(i.map(TRi).join("|"))},DRi=e=>NRi(`${ERi(e).map(TRi).join("|")}`),kRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=ERi(e).map(TRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},ORi=(e,t)=>{if(!e.length)return;const n=e.map(TRi).join("|");return NRi(`(?:${n})(?:${t})`)},LRi={"``":"(?:`[^`]*`)+","[]":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,TRi(e)).replace(/{right}/g,TRi(t))),n=TRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},MRi=e=>"string"==typeof e?LRi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(RRi).join("|")}${t?"":"|"})`)(e)+LRi[e.quote],PRi=e=>e.map(MRi).join("|"),FRi=e=>NRi(PRi(e)),BRi=(e={})=>NRi(VRi(e)),VRi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=TRi(null!=e?e:""),a=TRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function URi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var GRi=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(_Ti(vTi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=URi(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(){ARi.lastIndex=this.index;const e=ARi.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}}},HRi=/\/\*/uy,zRi=/[\s\S]/uy,WRi=/\*\//uy,jRi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(HRi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(HRi,e))n+=t,i++;else if(t=this.matchSection(WRi,e))n+=t,i--;else{if(!(t=this.matchSection(zRi,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}},$Ri=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 GRi(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 jRi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(TRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:FRi(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:kRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:qRi},{type:"CASE",regex:/CASE\b/iuy,text:qRi},{type:"END",regex:/END\b/iuy,text:qRi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:qRi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:qRi},{type:"RESERVED_CLAUSE",regex:kRi(e.reservedClauses,e.identChars),text:qRi},{type:"RESERVED_SELECT",regex:kRi(e.reservedSelect,e.identChars),text:qRi},{type:"RESERVED_SET_OPERATION",regex:kRi(e.reservedSetOperations,e.identChars),text:qRi},{type:"WHEN",regex:/WHEN\b/iuy,text:qRi},{type:"ELSE",regex:/ELSE\b/iuy,text:qRi},{type:"THEN",regex:/THEN\b/iuy,text:qRi},{type:"RESERVED_JOIN",regex:kRi(e.reservedJoins,e.identChars),text:qRi},{type:"AND",regex:/AND\b/iuy,text:qRi},{type:"OR",regex:/OR\b/iuy,text:qRi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:qRi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:kRi(e.reservedFunctionNames,e.identChars),text:qRi},{type:"RESERVED_DATA_TYPE",regex:kRi(e.reservedDataTypes,e.identChars),text:qRi},{type:"RESERVED_KEYWORD",regex:kRi(e.reservedKeywords,e.identChars),text:qRi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,NRi(i.map(e=>"regex"in e?e.regex:MRi(e)).join("|"))):void 0},{type:"STRING",regex:FRi(e.stringTypes)},{type:"IDENTIFIER",regex:BRi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:IRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:IRi("close",e.extraParens)},{type:"OPERATOR",regex:DRi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:DRi([".",...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:ORi(a.named,VRi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:ORi(a.quoted,PRi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(TRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:ORi(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:NRi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},qRi=e=>wRi(e.toUpperCase()),YRi=new Map,KRi=e=>({tokenizer:new $Ri(e.tokenizerOptions,e.name),formatOptions:XRi(e.formatOptions)}),XRi=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 ZRi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var QRi=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 JRi(e){return e.map(eIi).map(tIi).map(nIi).map(iIi).map(rIi)}var eIi=(e,t,n)=>{if(FTi(e.type)){const i=sIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return _Ti(vTi({},e),{type:"IDENTIFIER",text:e.raw});const r=oIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return _Ti(vTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},tIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=oIi(n,t);if(!i||!aIi(i))return _Ti(vTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},nIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=oIi(n,t);if(i&&aIi(i))return _Ti(vTi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},iIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=oIi(n,t);if(i&&lIi(i))return _Ti(vTi({},e),{type:"ARRAY_IDENTIFIER"})}return e},rIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=oIi(n,t);if(i&&lIi(i))return _Ti(vTi({},e),{type:"ARRAY_KEYWORD"})}return e},sIi=(e,t)=>oIi(e,t,-1),oIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&cIi(e[t+i*n]);)i++;return e[t+i*n]},aIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,lIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,cIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,dIi=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}=URi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in kTi}};function uIi(e){return e[0]}var hIi=new dIi(e=>[]),pIi=([[e]])=>e,gIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),mIi=e=>({type:"data_type",text:e.text,raw:e.raw}),fIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=_Ti(vTi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=_Ti(vTi({},e),{trailingComments:n})),e),yIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[fIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,fIi(i,{trailing:n})]}return e},vIi={Lexer:hIi,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:[hIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[hIi.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:pIi},{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:[hIi.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:uIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[hIi.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:fIi(gIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:fIi(gIi(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:[hIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:gIi(e),children:[t,...n]})},{name:"select_clause",symbols:[hIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:gIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[hIi.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:[hIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:gIi(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:[hIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:gIi(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:uIi},{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])=>fIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>fIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>fIi(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:pIi},{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:pIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:pIi},{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:pIi},{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:pIi},{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:pIi},{name:"array_subscript",symbols:[hIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:fIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[hIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:fIi(gIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[hIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:fIi(gIi(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","_",hIi.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:fIi(e,{trailing:t}),operator:n.text,property:fIi(r,{leading:i})})},{name:"between_predicate",symbols:[hIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",hIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:gIi(e),expr1:yIi(n,{leading:t,trailing:i}),andKw:gIi(r),expr2:[fIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:uIi},{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:[hIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",hIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:fIi(gIi(e),{trailing:t}),endKw:gIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[hIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",hIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:fIi(gIi(e),{trailing:t}),thenKw:fIi(gIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[hIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:fIi(gIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[hIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[hIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[hIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[hIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[hIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[hIi.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:[hIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[hIi.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:[hIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[hIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[hIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[hIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[hIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>gIi(e)},{name:"data_type$subexpression$1",symbols:[hIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>mIi(e)},{name:"data_type",symbols:[hIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:fIi(mIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[hIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[hIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[hIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>gIi(e)},{name:"other_keyword$subexpression$1",symbols:[hIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[hIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[hIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[hIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>gIi(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:[hIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[hIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[hIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},_Ii=vIi,{Parser:bIi,Grammar:CIi}=dTi;var SIi=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(;EIi(SRi(this.items));)this.items.pop()}trimWhitespace(){for(;wIi(SRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(SRi(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}}},EIi=e=>0===e||6===e,wIi=e=>0===e||6===e||3===e;function xIi(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 TIi(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 AIi="top-level",NIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(AIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&SRi(this.indentTypes)===AIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==AIi)break}}},RIi=class extends SIi{constructor(e){super(new NIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new IIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new IIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},IIi=class extends Error{},DIi=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),ZRi(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):ZRi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return ZRi(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(),ZRi(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){xRi(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 xRi(e.text)||xRi(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(SRi(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 RIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof IIi)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){ZRi(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?ZRi(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 TIi(e.tokenType)?xIi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return wRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return TIi(e.tokenType)?xIi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return wRi(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 wRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},kIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new QRi(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 dIi(n=>[...JRi(e.tokenize(n,t)),OTi(n.length)]),i=new bIi(CIi.fromCompiled(_Ii),{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 DIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new SIi(new NIi((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()}},OIi=class extends Error{};function LIi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new OIi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new OIi(`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 OIi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var MIi={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"},PIi=Object.keys(MIi),FIi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},BIi=(e,t={})=>{if("string"==typeof t.language&&!PIi.includes(t.language))throw new OIi(`Unsupported SQL dialect: ${t.language}`);const n=MIi[t.language||"sql"];return VIi(e,_Ti(vTi({},t),{dialect:bTi[n]}))},VIi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)mTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&gTi)for(var i of gTi(e))t.indexOf(i)<0&&fTi.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=LIi(vTi(vTi({},FIi),r));return new kIi((e=>{let t=YRi.get(e);return t||(t=KRi(e),YRi.set(e,t)),t})(i),s).format(e)};const UIi=console.error;function GIi(e){return AG_GRID_LICENSE&&Eoi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),fne.jsx(eoi,{theme:"legacy",...e,modules:[Yri,d_i],onGridReady:()=>{"production"!==process.env.NODE_ENV&&(console.error=UIi)}})}class HIi{uuid=ho()}const zIi=(e,t,n)=>{const i=new KE(oS(t)),r=HSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof ISi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof DSi){const t=HSi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},WIi=(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 kSi(e,i),o=t}else if(cS(t.functionName,pEn.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 kSi(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 DSi(s,new zCi(e.queryBuilderState,t))):s.setRightConditionValue(new ISi(s,WEn(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new ISi(s,i.getDefaultFilterConditionValue(s))),s}};class jIi extends HIi{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 BEn(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 LCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_ON_DAY:pEn.EQUAL,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_ON_DAY:pEn.EQUAL,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_EQUAL])}}class $Ii extends jIi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_EQUAL])}}class qIi extends HIi{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 ISi){const i=n.value;if(i instanceof UE){if(0===i.values.length)return!0;const n=OEn(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 zIi(e,pEn.IN,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.IN,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_IN])}}class YIi extends qIi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_IN])}}class KIi extends HIi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!FEn(e.propertyExpressionState.propertyExpression)&&(t instanceof IS||t instanceof mS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return zIi(e,pEn.IS_EMPTY,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.IS_EMPTY,this,!0)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_IS_EMPTY])}}class XIi extends KIi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_IS_NOT_EMPTY])}}const ZIi=e=>{try{return BIi(e,{language:"mysql"})}catch{try{return BIi(e)}catch{return e}}},QIi=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},JIi=new jIi,eDi=new $Ii,tDi=new qIi,nDi=new YIi,iDi=new KIi,rDi=new XIi,sDi=new TEi,oDi=new SEi,aDi=new wEi,lDi=new xEi,cDi=new AEi,dDi=new EEi,uDi=(e,t,n)=>{t.value&&NEn(e,e instanceof VE?VS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},hDi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?iDi:JIi:null===t.value?rDi:eDi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(BSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[iDi,rDi]:t?[JIi,tDi]:[eDi,nDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===iDi||i===rDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?iDi:rDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof ISi)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);uDi(i,n,s),o.changeOperator(t?tDi:nDi),REn(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?JIi:eDi).getDefaultFilterConditionValue(o);uDi(e,n,s),REn(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 kSi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),uDi(e,n,i.queryBuilderState),i.addNodeFromNode(new BSi(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)}},pDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?aDi:sDi:null===t.value?lDi:cDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(mEi)).filter(e=>e.condition.leftConditionValue instanceof qCi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[aDi,lDi]:t?[sDi,oDi]:[cDi,dDi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===aDi||i===lDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?aDi:lDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof vEi)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);uDi(i,n,s.queryBuilderState),o.changeOperator(t?oDi:dDi),REn(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?sDi:cDi).getDefaultFilterConditionValue(o);uDi(e,n,s.queryBuilderState),REn(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 bEi(i.postFilterState,e,t),r instanceof XCi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),uDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new mEi(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)}},gDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?mSi(r,n.columnName):void 0;s instanceof XCi||s instanceof QCi||s instanceof YCi&&NSi(s.propertyExpressionState.propertyExpression)?await pDi(e,t,n,i,s,r):s instanceof YCi?hDi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},mDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await gDi(e,n,r,t,i)},fDi=qne(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Nat(),a=n?.columnName?mSi(i,n.columnName):void 0;return fne.jsxs(LOe,{ref:t,children:[fne.jsx(MOe,{disabled:!a,onClick:()=>{mDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),fne.jsx(MOe,{disabled:!a,onClick:()=>{mDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),fne.jsx(POe,{}),fne.jsx(MOe,{onClick:r,children:"Copy Cell Value"}),fne.jsx(MOe,{onClick:s,children:"Copy Row Value"})]})})),yDi=qne(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"query-builder__sql__container",children:[fne.jsx(JOe,{}),fne.jsxs("div",{children:[fne.jsx("div",{className:"query-builder__sql__container__item__label",children:fne.jsxs(ZOe,{children:["SQL",fne.jsx("div",{children:fne.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:fne.jsx(dre,{})})})]})}),fne.jsx("div",{className:"query-builder__sql__container__code-editor",children:fne.jsx(KSn,{inputValue:ZIi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:WSn.SQL})}),fne.jsx(JOe,{})]},t)]}),n.length>0&&fne.jsx("div",{className:"query-builder__sql__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__sql__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Label"}),fne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),fne.jsx("tbody",{children:n.map(e=>fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&fne.jsx("td",{className:"table__cell--left",children:rY(e.dataType)})]},e.label))})]})]})})]})}),vDi=qne(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?fne.jsx(yDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):fne.jsxs(XOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx(yDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__sql__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),_Di=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return fne.jsxs("div",{className:n,children:[fne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&fne.jsx("div",{className:`${n}__tag`,children:t.value.path}),fne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},bDi=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?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{}),h=c?Rwi(c):fne.jsx(AEe,{}),p=()=>r?.(t);return fne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[fne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[fne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[fne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),fne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:fne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:fne.jsx(jre,{})})})]})},CDi=qne(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return fne.jsx(Dye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[fne.jsx(AOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),fne.jsx(ROe,{className:"query-builder-graph-fetch-config__content",children:fne.jsx(jOe,{children:fne.jsxs(QOe,{children:[fne.jsx(nLe,{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}),fne.jsx(nLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),fne.jsx(iLe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),fne.jsx(iLe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),fne.jsx(iLe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),fne.jsx(iLe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),fne.jsx(iLe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),fne.jsx(iLe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),fne.jsxs(IOe,{children:[!s&&fne.jsx(kOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),fne.jsx(kOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),SDi=qne(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>Twi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return fne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:fne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[fne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[fne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:fne.jsx(Kie,{})}),fne.jsx(SOe,{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:_Di({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),fne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[fne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:fne.jsx(Sre,{})}),fne.jsx(XRe,{components:{TreeNodeContainer:bDi},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"):(Uxi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),EDi=qne(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(hX)).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 fne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[fne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[fne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(zxi).map(e=>{return fne.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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case zxi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new Kxi(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 zxi.PURE:default:t.setSerializationState(new Yxi(t))}})},{label:"Cancel",type:ult.PROCEED,default:!0}]})}),className:dse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:Sp(e)},e);var r})}),fne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof Yxi&&fne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:fne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof Yxi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[fne.jsx(kie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),fne.jsxs("div",{className:dse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[fne.jsx("button",{className:dse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?fne.jsx(rre,{}):fne.jsx(zre,{})}),fne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),fne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:fne.jsx(Are,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),fne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof Yxi&&n.configModal&&fne.jsx(CDi,{pureSerializationState:n,graphFetchState:t,config:n.config??$xi.createDefault()}),fne.jsxs(xFe,{orientation:"horizontal",children:[fne.jsx(TFe,{children:fne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:fne.jsx(XRe,{components:{TreeNodeContainer:bDi},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=>{Uxi(i,e),0===i.nodes.size&&t.setSerializationState(new Yxi(t)),n instanceof Kxi&&n.treeData?.nodes.get(e.id)&&(Uxi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),fne.jsx(AFe,{}),n instanceof Kxi&&n.treeData&&fne.jsx(TFe,{children:fne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),fne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:fne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:fne.jsx(SDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),wDi=qne(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof Kxi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=tPe(()=>({accept:[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{oEn.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:fne.jsxs(xPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Fxi(r))&&fne.jsx(aLe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Fxi(r)&&fne.jsx(EDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),xDi=qne(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof Yxi||n instanceof Kxi?fne.jsx(wDi,{graphFetchTreeState:t,serializationState:n}):fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_GRAPH_FETCH,children:fne.jsx(sLe,{children:fne.jsxs("div",{className:"unsupported-element-editor__main",children:[fne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),fne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(eTi.TEXT),children:"Edit in text mode"})]})})})}),TDi=qne(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof nw?i=Pxi(js(t.graphFetchTree,nw),!0):t.graphFetchTree instanceof iw&&(i=(e=>{const t=[],n=new Map,i=Lxi(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 fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[void 0!==t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),fne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Checked"}),fne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Store"}),fne.jsx("td",{className:"table__cell--left",children:t.store})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),fne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),fne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),fne.jsx(JOe,{}),i&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:fne.jsx(XRe,{components:{TreeNodeContainer:bDi},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}})})}),fne.jsx(JOe,{})]}),t.xStorePropertyFetchDetails&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" subTree "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),fne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),fne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof f2&&fne.jsx(rTi,{resultType:t.resultType}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})})}),ADi=qne(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return fne.jsxs(XOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Name"}),fne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),fne.jsx("tbody",{children:t.map(e=>{return fne.jsx(n.Fragment,{children:fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:e.name}),fne.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})})]})]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),NDi=qne(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 fne.jsxs(XOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&fne.jsx("div",{className:"query-builder__constant__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx("pre",{children:fne.jsx("div",{className:"query-builder__constant__container__item",children:fne.jsxs("div",{children:["value: ",r]})})})]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__constant__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),RDi=qne(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return fne.jsxs(XOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx("div",{className:"query-builder__allocation__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__allocation__container__item",children:fne.jsx("table",{className:"query-builder__allocation__container__table",children:fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{children:"varName"}),fne.jsx("td",{children:`: ${i}`})]}),fne.jsxs("tr",{children:[fne.jsx("td",{children:"realizeInMemory"}),fne.jsx("td",{children:`: ${s}`})]})]})})})]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:r}),fne.jsx(JOe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof _1&&fne.jsx(NDi,{cnode:t.executionNodes[0],executionPlanState:n}),fne.jsx(JOe,{})]})}),IDi=qne(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?fne.jsx("div",{}):o?fne.jsx(ese,{}):fne.jsx(nse,{});return fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__sequence__container",children:fne.jsxs("div",{children:[fne.jsx(ZOe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),fne.jsx(JOe,{}),t.executionNodes.map((e,t)=>fne.jsx("div",{className:"query-builder__sequence__container__item",children:fne.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 XDi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof ZDi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${HDi(e)}`,children:[!r&&l,`${t+1}: ${HDi(e)}`]})},e._UUID))]})}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:s}),!1===r&&o&&fne.jsx($Di,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),DDi=qne(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?fne.jsx(IDi,{node:t,executionPlanState:n,viewJson:i}):fne.jsxs(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx(IDi,{node:t,executionPlanState:n,viewJson:i}),fne.jsx("div",{className:"query-builder__execution__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),kDi=qne(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return fne.jsxs(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),fne.jsx(JOe,{}),fne.jsx(sTi,{resultType:i}),fne.jsx("div",{className:"query-builder__sql__container",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),text:"View JSON"})}),fne.jsx(JOe,{})]})}),ODi=qne(e=>{const{node:t,executionPlanState:n}=e;return fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof q1&&t.implementation.executionClassFullName&&fne.jsx("div",{className:"query-builder__implementation__container__item",children:fne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,t5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(tki.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof q1&&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 LDi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(LDi||(LDi={}));const MDi=qne(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof A2?i=LDi.RESULT_SET:t instanceof k2&&(i=LDi.TEMP_FILE),t instanceof I2&&(i=LDi.SUB_QUERY),fne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&fne.jsxs(ZOe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),fne.jsx(ZOe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${HDi(t.createTempTableNode)})`}),fne.jsx($Di,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),fne.jsx(JOe,{}),fne.jsx(ZOe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${HDi(t.loadTempTableNode)})`}),fne.jsx($Di,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),fne.jsx(JOe,{}),fne.jsx(ZOe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${HDi(t.dropTempTableNode)})`}),fne.jsx($Di,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),fne.jsx(JOe,{})]})});var PDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(PDi||(PDi={}));const FDi=qne(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(PDi.GENERAL);return fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(PDi).map(e=>fne.jsx("div",{onClick:()=>o(e),className:dse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===PDi.GENERAL&&fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),fne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"Checked"}),fne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:fne.jsx(ODi,{node:t,executionPlanState:i})}),fne.jsx(JOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(sTi,{resultType:t.resultType})}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(eki.JSON),text:"View JSON"})})]}),s===PDi.TEMP_TABLE&&t.tempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var BDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(BDi||(BDi={}));const VDi=qne(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(BDi.GENERAL);return fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(BDi).map(e=>fne.jsx("div",{onClick:()=>o(e),className:dse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===BDi.GENERAL&&fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:fne.jsx(ODi,{node:t,executionPlanState:i})}),fne.jsx(JOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(sTi,{resultType:t.resultType})}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(eki.JSON),text:"View JSON"})})]}),s===BDi.TEMP_TABLE&&t.tempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var UDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(UDi||(UDi={}));const GDi=qne(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(UDi.GENERAL);return fne.jsx(XOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(UDi).map(e=>fne.jsx("div",{onClick:()=>o(e),className:dse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Sp(e)},e))})}),s===UDi.GENERAL&&fne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),fne.jsx(JOe,{}),fne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[fne.jsx("thead",{children:fne.jsxs("tr",{children:[fne.jsx("th",{className:"table__cell--left",children:"Property"}),fne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),fne.jsxs("tbody",{children:[fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),fne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),fne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&fne.jsxs("tr",{children:[fne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),fne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:fne.jsx(ODi,{node:t,executionPlanState:i})}),fne.jsx(JOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof $q&&fne.jsxs(fne.Fragment,{children:[fne.jsx(ZOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),fne.jsx(JOe,{}),fne.jsx(yDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(sTi,{resultType:t.resultType})}),fne.jsx(JOe,{}),fne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(eki.JSON),text:"View JSON"})})]}),s===UDi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===UDi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&fne.jsx(MDi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),HDi=e=>e instanceof $q?"SQL Execution Node":e instanceof Kq?"Relational TDS Instantiation Execution Node":e instanceof m1?"Function Parameters Validation Node":e instanceof v1?`Allocation Execution Node (${e.varName})`:e instanceof _1?"Constant Execution Node":e instanceof b1?"Sequence Execution Node":e instanceof J1?"Store Mapping Global Graph Fetch Execution Node":e instanceof c2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof L2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof r2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof u2?"Pure Expression Platform Execution Node":"Other",zDi=qne(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof q1&&(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}`)),fne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:fne.jsxs("div",{className:"panel",children:[fne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:fne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(tki).map(e=>fne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:dse("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===tki.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof q1&&fne.jsxs(xFe,{orientation:"vertical",children:[fne.jsx(TFe,{minSize:30,size:400,children:fne.jsx(XOe,{darkMode:r,className:"query-builder__java__container__panel",children:fne.jsx("div",{className:"query-builder__java__container",children:fne.jsxs("div",{children:[n.classes.map(e=>fne.jsx("div",{className:dse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:fne.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)),fne.jsx(JOe,{})]})})})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:"var(--color-dark-grey-200)"})}),fne.jsx(TFe,{children:t.globalImplementationSupportState.selectedJavaClass&&fne.jsx(KSn,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:WSn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===tki.GENERAL&&i.length>0&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),fne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),fne.jsx("div",{className:"query-builder__template--function--editor__code",children:fne.jsx(KSn,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:WSn.XML,hideMinimap:!0,hideActionBar:!0})}),fne.jsx("div",{className:"query-builder__template--function--editor__json",children:fne.jsx(zbe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(eki.JSON),text:"View JSON"})})]})]})})}),WDi=qne(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?fne.jsx(ese,{}):fne.jsx(nse,{}):fne.jsx("div",{});let o="",a="";return t instanceof ZDi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof J1?o="Cross":t.executionNode instanceof t2&&(o="Local")),a=(e=>{if(e instanceof J1||e instanceof t2){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)),fne.jsxs("div",{className:dse("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:[fne.jsx("div",{className:"tree-view__node__icon",children:fne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&fne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:fne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&fne.jsx("div",{className:"execution-plan-viewer__node__type",children:fne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),fne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),jDi=qne(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof XDi){const n=e.executionPlan.rootExecutionNode,i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof ZDi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof J1){const n=e.executionNode.localGraphFetchExecutionNode,i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof n2&&e.executionNode.children.forEach(n=>{const i=QDi(n,HDi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return fne.jsx(XRe,{components:{TreeNodeContainer:WDi},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 XDi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof ZDi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),$Di=qne(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof $q?fne.jsx(vDi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Kq?fne.jsx(kDi,{node:t,executionPlanState:n}):t instanceof m1?fne.jsx(ADi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof v1?fne.jsx(RDi,{node:t,executionPlanState:n}):t instanceof _1?fne.jsx(NDi,{cnode:t,executionPlanState:n}):t instanceof b1?fne.jsx(DDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof J1?fne.jsx(TDi,{storeMappingNode:t,executionPlanState:n}):t instanceof L2?fne.jsx(GDi,{node:t,executionPlanState:n}):t instanceof c2?fne.jsx(FDi,{node:t,executionPlanState:n}):t instanceof r2?fne.jsx(VDi,{node:t,executionPlanState:n}):fne.jsx(sLe,{children:fne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[fne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),fne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(eki.JSON),children:"View JSON"})]})})}),qDi=qne(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof XDi?r=i.selectedNode.executionPlan:i.selectedNode instanceof ZDi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof XDi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(eki);return fne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&fne.jsxs(fne.Fragment,{children:[fne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[fne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:fne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),fne.jsx(UOe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:fne.jsx(LOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:fne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[fne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),fne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>fne.jsx(MOe,{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:fne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),fne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===eki.JSON&&Boolean(t)&&fne.jsx(KSn,{inputValue:t,isReadOnly:!0,language:WSn.JSON,hideMinimap:!0}),i.viewMode===eki.FORM&&fne.jsxs(fne.Fragment,{children:[r instanceof jq&&fne.jsx($Di,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof t5&&fne.jsx(zDi,{executionPlanState:i})]})]})]})})}),YDi=qne(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return fne.jsx("div",{className:"execution-plan-viewer__content",children:i?fne.jsxs(xFe,{orientation:"vertical",children:[fne.jsx(TFe,{size:300,minSize:300,children:fne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[fne.jsx(qOe,{darkMode:r,title:"execution plan explorer"}),fne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:fne.jsx(jDi,{executionPlanState:t,executionPlan:i})})]})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),fne.jsx(TFe,{children:fne.jsx(qDi,{displayData:t.displayData,executionPlanState:t})})]}):fne.jsx(KSn,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:WSn.JSON})})}),KDi=qne(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(tki.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?fne.jsx(Dye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{className:"editor-modal",darkMode:r,children:[fne.jsx(AOe,{title:"Execution Plan"}),fne.jsx(ROe,{children:t.debugText?fne.jsxs(xFe,{orientation:"horizontal",children:[fne.jsx(TFe,{minSize:100,children:fne.jsx(YDi,{executionPlanState:t,rawPlan:i})}),fne.jsx(AFe,{children:fne.jsx(NFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),fne.jsx(TFe,{size:200,minSize:28,children:fne.jsxs(jOe,{className:"panel execution-plan-viewer__debug-panel",children:[fne.jsx($Oe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),fne.jsx(XOe,{children:fne.jsx(KSn,{inputValue:t.debugText,isReadOnly:!0,language:WSn.TEXT})})]})})]}):fne.jsx(YDi,{executionPlanState:t,rawPlan:i})}),fne.jsx(IOe,{children:fne.jsx(kOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class XDi{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 ZDi{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 QDi=(e,t,n)=>{const i=new ZDi(e._UUID,t,e,n instanceof ZDi?HDi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(jq)).forEach(e=>{Co(r,e._UUID)}),e instanceof J1&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(jq)).forEach(e=>{Co(r,e._UUID)})),e instanceof n2&&e.children.slice().filter(zs(jq)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},JDi=e=>{const t=[],n=new Map,i=(e=>{const t=new XDi("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 eki,tki;!function(e){e.FORM="Form",e.JSON="JSON"}(eki||(eki={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(tki||(tki={}));class nki{selectedTab=tki.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 iki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=eki.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new nki;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(JDi(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 t5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof jq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const rki=e=>fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[fne.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:fne.jsx(Nie,{})}),fne.jsx("div",{children:e.displayName})]}),ski=(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:rki}}:{};default:return{}}}return{}},oki=qne(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 TZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof TZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>RZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>RZ(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 fne.jsx(VOe,{content:(()=>{if(i instanceof fwi){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 TZ))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 fne.jsx(fDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof fwi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:dse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:fne.jsx("div",{className:dse("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?fne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):fne.jsx("span",{children:Zs(s)?Intl.NumberFormat(hwi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),aki=qne(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,...ski(t,e),cellRenderer:oki,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:fne.jsx("div",{className:dse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:fne.jsx(GIi,{rowData:QIi(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 lki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(lki||(lki={}));const cki=(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"]}}},dki=qne(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&Fc(n)?n:void 0;return fne.jsx("div",{className:dse("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?fne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):fne.jsx("span",{children:Zs(n)?Intl.NumberFormat(hwi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),uki=(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}}},hki=qne(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Nat(),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:dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...cki(e,n),...ski(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:dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...uki(e,n),...ski(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 fwi&&(t=[{name:"Filter By",action:()=>{mDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{mDi(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),lki.WAVG)},[d.wavgAggregationState,l]),fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:fne.jsxs("div",{className:dse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?fne.jsx(GIi,{rowData:QIi(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 mki),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}):fne.jsx(GIi,{rowData:QIi(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&&fne.jsx(Dye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[fne.jsx(AOe,{title:"Applying Weighted Average"}),fne.jsxs(ROe,{children:[fne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),fne.jsx(SOe,{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})]}),fne.jsx(IOe,{children:fne.jsx(kOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var pki;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(pki||(pki={}));class gki{applicationStore;selectedTab=pki.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 mki{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 fki{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 iki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new gki(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 fwi&&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 TZ&&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===lki.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 mki,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=sEi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=G3(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return XSi(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});oEn.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:KSi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(HQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=U5(this.queryBuilderState.graphManagerState.graph);uct(s,`result.${Ac(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());oEn.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=KSi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);oEn.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new gb,s=U5(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:[GQ],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());oEn.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 hQ&&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=U5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){oEn.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 oEn.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(nEn.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?oEn.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):oEn.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 yki{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([jEn.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const vki="QUERY_BUILDER_FUNCTION",_ki=(e,t)=>t===TC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,bki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof PS)).filter(t=>t instanceof TS&&_ki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),Cki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),Ski=(e,t,n,i=TC.MAIN)=>{const r=i===TC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=_ki(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=>bki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>Cki(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)})},Eki=(e,t,n=TC.MAIN)=>{const i=[],r=new Map,s=_ki(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=bki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},wki=(e,t,n,i=TC.MAIN)=>(Ski(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(EOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),xki=e=>e.package?(e instanceof TS?[e]:[]).concat([e.package].concat(xki(e.package))):[];class Tki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){d_(this,{functionAnalysisInfo:Ty}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Aki{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=>xki(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=>xki(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,Ski(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(Eki([this._functionGraph.root],this.queryBuilderState,TC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new Tki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(Eki([this._functionGraph.root],this.queryBuilderState,TC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new Tki(this,e)):[])}),this.initState.pass())}}class Nki extends JSi{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([jEn.PARAMETERS_STATE,Cg(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Rki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_AFTER_DAY:pEn.GREATER_THAN,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_GREATER_THAN])}}class Iki extends HIi{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 LCi(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 zIi(e,pEn.STARTS_WITH,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.STARTS_WITH,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_START_WITH])}}class Dki extends Iki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_START_WITH])}}class kki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_ON_OR_AFTER_DAY:pEn.GREATER_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class Oki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_ON_OR_BEFORE_DAY:pEn.LESS_THAN_EQUAL,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class Lki extends HIi{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 BEn(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 LCi(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 zIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===AC.DATETIME&&e.rightConditionValue?.type?.path!==AC.DATETIME?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,t)}buildFilterConditionState(e,t){return WIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===AC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==AC.DATETIME?pEn.IS_BEFORE_DAY:pEn.LESS_THAN,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_LESS_THAN])}}class Mki extends HIi{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 LCi(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 zIi(e,pEn.ENDS_WITH,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.ENDS_WITH,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_END_WITH])}}class Pki extends Mki{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_END_WITH])}}class Fki extends HIi{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 LCi(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 zIi(e,pEn.CONTAINS,t)}buildFilterConditionState(e,t){return WIi(e,t,pEn.CONTAINS,this)}get hashCode(){return Cg([jEn.FILTER_OPERATOR_CONTAIN])}}class Bki extends Fki{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return PEn(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=MEn(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return Cg([jEn.FILTER_OPERATOR_NOT_CONTAIN])}}var Vki;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(Vki||(Vki={}));class Uki{changeDetectionState;initialQuery;currentQuery;mode=Vki.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 Gki{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 Uki(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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:ult.PROCEED,default:!0}]}):e()}}const Hki=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)",zki=(e,t)=>{const n=nx(e,t.graphManagerState.graph);return fne.jsx("div",{className:dse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:fne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},Wki=qne(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Nat(),o=Eke({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:zki(e,t)})),l=t.class?{value:t.class,label:zki(t.class,t)}:null;return fne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:fne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[fne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),fne.jsx(SOe,{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:Nwi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),jki=e=>({value:e,label:e instanceof Yj?e.packageableRuntime.value.name:"custom"}),$ki=e=>function(t){if(t.value instanceof Yj){const n=t.value;return Nwi(e)(Twi(n.packageableRuntime.value))}return t.value instanceof Yj?t.value.packageableRuntime.value.name:fne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[fne.jsx(lre,{}),fne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},qki=qne(e=>{const{queryBuilderState:t}=e,n=Nat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(Twi).sort(EOe),s=t.executionContextState.mapping?Twi(t.executionContextState.mapping):null,o=Eke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Yj(ZC.create(e))).map(jki).sort(EOe),l=t.executionContextState.runtimeValue?jki(t.executionContextState.runtimeValue):null,c=Eke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Yj?e.data.value.packageableRuntime.value.path:"custom"});return fne.jsxs("div",{className:"query-builder__setup__config-group",children:[fne.jsx($Oe,{title:"properties"}),fne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[fne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[fne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),fne.jsx(SOe,{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:Nwi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),fne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[fne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),fne.jsx(SOe,{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:$ki({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),fne.jsx("div",{className:"query-builder__setup__config-group__item",children:fne.jsx(Wki,{queryBuilderState:t,classes:i})})]})]})}),Yki=qne(e=>{const{queryBuilderState:t,children:n}=e,i=Nat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):fne.jsx(fne.Fragment,{});return fne.jsxs("div",{className:dse("query-builder__side-bar",t.sideBarClassName),children:[fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:fne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??fne.jsx(qki,{queryBuilderState:t})})}),fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),fne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class Kki{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class Xki extends Kki{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${Hki(this.getMilestoningDate(0))}, Business Date: ${Hki(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=ICi(pEn.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 Zki extends Kki{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${Hki(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=ICi(pEn.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 Qki extends Kki{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${Hki(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=ICi(pEn.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 Jki{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 Zki(this,OC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new Qki(this,OC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new Xki(this,OC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof fwi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof YCi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof QCi&&e.projectionColumnState instanceof YCi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof BSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ew&&(e.isPropagatedValue=!1)}):e instanceof PSi&&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===hEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===hEn.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===hEn.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===hEn.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===hEn.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(hEn.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?Zee(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?Zee(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?Zee(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?Zee(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 ZSi(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 ZSi(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&&zEn(e,this.businessDate),n=!!this.processingDate&&zEn(e,this.processingDate),i=!!this.startDate&&zEn(e,this.startDate),r=!!this.endDate&&zEn(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([jEn.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var eOi;!function(e){e.COMPILE="query-builder.compile"}(eOi||(eOi={}));const tOi={[eOi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class nOi{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?Zee(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&zEn(e,this.value)}get hashCode(){return Cg([jEn.WATERMARK_STATE,this.value??""])}}class iOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return Cg([jEn.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 rOi extends iOi{value;constructor(e,t,n){super(e,t),d_(this,{variable:Ty,value:Ty,setValueSpec:Lv,changeValSpecType:Lv}),this.value=Zee(n,this.queryBuilderState.observerContext),Zee(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=LCi(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=Zee(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&CEn(this.variable,vS.create(new wS(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return Cg([jEn.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class sOi extends jCi{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(MCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Aee([sEn.QUERY_BUILDER,sEn.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 cQ&&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 oOi extends iOi{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 sOi(this),Zee(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new ME(this.value)}}class aOi{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 oOi(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([jEn.CONSTANT_STATE,Cg(this.constants)])}}var lOi;!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"}(lOi||(lOi={}));class cOi{uuid=ho();specification;entitlementReport;constructor(e){d_(this,{entitlementReport:Ty,setEntitlementReport:Lv}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class dOi{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 cOi(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(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof YJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof ZJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof XJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof KJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(lOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof QJ).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(lOi.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(lOi.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 cOi(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 cOi(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 uOi{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 Yj&&(this.dataAccessState=new dOi(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=$Si(n.graph,t),r=G3(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([jEn.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class hOi{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(nEn.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class pOi{static INSTANCE=new pOi}class gOi{actionConfig=pOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class mOi extends gOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new mOi}class fOi extends gOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new fOi}class yOi extends fxn{mapping;runtime}class vOi extends eAn{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 yOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new yOi;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 OI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(LI(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(LI(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,TZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=U5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());oEn.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof fZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof yOi){return Boolean(e.mapping??e.runtime)?Txn(exports.DataCubeFunction.FROM,[e.mapping?Rxn(e.mapping):void 0,e.runtime?Rxn(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(JI(LI(e,[])),_T);return new kE(t.parameters,t.body)}getSourceFunctionExpression(){let e=OI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof oA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new mxn;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class _Oi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var bOi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(bOi||(bOi={}));class COi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=pb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new jIi,new $Ii,new Lki,new Oki,new Rki,new kki,new Iki,new Dki,new Fki,new Bki,new Mki,new Pki,new qIi,new YIi,new KIi,new XIi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=bOi.STANDARD;class;getAllFunction=hEn.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 Jki(this),this.explorerState=new hxi(this),this.parametersState=new Nki(this),this.constantState=new aOi(this),this.functionsExplorerState=new Aki(this),this.fetchStructureState=new Qxi(this),this.filterState=new USi(this,this.filterOperators),this.watermarkState=new nOi(this),this.checkEntitlementsState=new uOi(this),this.resultState=new fki(this),this.textEditorState=new tTi(this),this.unsupportedQueryState=new yki(this),this.observerContext=new L3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new Gki(this),this.changeHistoryState=new hOi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(cwi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new tEi(this);return this.setLambdaWriteMode(bOi.TYPED_FETCH_STRUCTURE),e}return new nEi(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===bOi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new YZ,t=js(this.executionContextState.runtimeValue,Yj,"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 Yj?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(cwi.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{oEn.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Yj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(bOi.TYPED_FETCH_STRUCTURE);const r=KSi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new vOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new _Oi(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:eOi.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(){[eOi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new fki(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 tTi(this),this.unsupportedQueryState=new yki(this),this.milestoningState=new Jki(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new hxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new aOi(this),this.functionsExplorerState=new Aki(this),this.parametersState=new Nki(this),this.filterState=new USi(this,this.filterOperators),this.watermarkState=new nOi(this),this.checkEntitlementsState=new uOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new Qxi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(hEn.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(hEn.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 G3(sEi(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,Yj).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})(sEi(this),e,n.value);return G3(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof fwi){return this.lambdaWriteMode===bOi.STANDARD?this.graphManagerState.graph.getClass(dEn.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(dEn.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(),!hj(e)){const t=Zee(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");LOi(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(nEn.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=>Zee(e,this.observerContext)).filter(zs(PE));OOi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===eTi.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 dQ){this.applicationStore.logService.error(_b.create(ow.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Tee(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 dQ&&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(eTi.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 SOi(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([jEn.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class SOi extends COi{}class EOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const wOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.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,[pEn.GRAPH_FETCH,pEn.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof Xxi){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(Pxi(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,Yxi,"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===dEn.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${dEn.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 $xi;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 '${dEn.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)}}},xOi=(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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE,pEn.FILTER,pEn.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),kOi.process(i,n,t)},TOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),xOi(e,t,n);const i=e.parametersValues[1];i instanceof UE?i.values.map(i=>kOi.processChild(i,e,n,t)):(Ws(i,KE,"Can't process project() expression: project() expects argument #1 to be a function expression"),kOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(hSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),xOi(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=>kOi.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(HEn).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 fwi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},AOi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof fwi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof XE;){const e=r;for(GEn(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,pEn.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,PE,"Can't process property expression: expects expression root to be a variable");const s=new YCi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},NOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof fwi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(JI(e.content),_T));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new XCi(r,new kE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},ROi=(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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof fwi){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)}},IOi=(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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),kOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,fwi);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 mSi(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,pEn.TDS_ASC))return mEn.ASC;if(cS(e,pEn.TDS_DESC))return mEn.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=mSi(d,n);h=new GEi(i,t)}if(a instanceof KE){Ks(cS(a.functionName,[pEn.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=mSi(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 WEi(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 zEi(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 jEi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},DOi=e=>!(e instanceof KE)||!cS(e.functionName,pEn.FIRST_DAY_OF_YEAR)&&!cS(e.functionName,pEn.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>DOi(e)).includes(!1);class kOi{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 kOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new kOi(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,[pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_AGG,...Object.values(uEn)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);NOi(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,hEn.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,hEn.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(hEn.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(cS(t,hEn.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(hEn.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,pEn.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(hSi.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,hX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],PE),l=new EOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(cS(t,[pEn.FILTER,pEn.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(kOi.process(n,this.parentLambda,this.queryBuilderState),cS(n.functionName,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE]))return Ks(cS(t,pEn.FILTER),`Can't process filter() expression: only supports ${pEn.FILTER}() immediately following getAll() (got '${t}')`),void Dxi(e,this.queryBuilderState);if(cS(n.functionName,[pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.OLAP_GROUPBY]))return Ks(cS(t,pEn.TDS_FILTER),`Can't process post-filter expression: only supports ${pEn.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof fwi){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,fwi,"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),SSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(cS(n.functionName,[pEn.WATERMARK]))return void Dxi(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,pEn.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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),kOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[pEn.TDS_PROJECT,pEn.RELATION_PROJECT]))(n=e).functionName===pEn.RELATION_PROJECT||cS(n.functionName,[pEn.TDS_PROJECT,pEn.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(hSi.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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE,pEn.FILTER,pEn.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),kOi.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(bOi.TYPED_FETCH_STRUCTURE),kOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):TOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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");AOi(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 fwi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(cS(t,[pEn.TDS_TAKE,pEn.RELATION_LIMIT]))ROi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof fwi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),kOi.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=>kOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.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,[pEn.TDS_TAKE,pEn.TDS_DISTINCT,pEn.TDS_SORT,pEn.TDS_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_FILTER,pEn.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof fwi){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,[pEn.TDS_ASC,pEn.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,pEn.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 fwi){const t=n.fetchStructureState.implementation,r=HEn(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new dSi(s);e.sortType=cS(i,pEn.TDS_ASC)?mEn.ASC:mEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[pEn.RELATION_ASC,pEn.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&cS(t.functionName,pEn.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 fwi){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 dSi(o);e.sortType=cS(i,pEn.RELATION_ASC)?mEn.ASC:mEn.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(cS(t,[pEn.TDS_GROUP_BY,pEn.RELATION_GROUP_BY]))(e=>e.functionName===pEn.RELATION_GROUP_BY||cS(e.functionName,[pEn.TDS_GROUP_BY,pEn.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,[pEn.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),kOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,fwi),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(bOi.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"),kOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.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,[hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE,pEn.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),kOi.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=>kOi.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=>kOi.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(HEn).filter(Vs);t.fetchStructureState.implementation instanceof fwi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,pEn.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"),kOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof fwi){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 VEi&&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,pEn.OLAP_GROUPBY))IOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.SERIALIZE))wOi(e,this.queryBuilderState,this.parentLambda);else if(cS(t,pEn.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(hSi.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,[pEn.GRAPH_FETCH,pEn.GRAPH_FETCH_CHECKED,pEn.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),kOi.process(i,n,t),t.fetchStructureState.implementation instanceof Xxi){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(Pxi(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,hX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new Kxi(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(Pxi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(cS(t,[pEn.GRAPH_FETCH_CHECKED,pEn.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,[pEn.FILTER,hEn.GET_ALL,hEn.GET_ALL_VERSIONS,hEn.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),kOi.process(r,n,t),t.fetchStructureState.implementation instanceof Xxi&&t.fetchStructureState.implementation.setChecked(cS(e.functionName,pEn.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 oOi(t,s,o.content):DOi(o)?new rOi(t,s,o):new oOi(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 tEi(t);o.setMapping(i),o.setRuntimeValue(new Yj(ZC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void kOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(cS(t,Object.values(uEn)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void kOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!cS(t,pEn.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&cS(t.functionName,pEn.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")),kOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof fwi){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,[pEn.TDS_PROJECT,pEn.RELATION_PROJECT,pEn.TDS_GROUP_BY,pEn.TDS_AGG,pEn.WAVG_ROW_MAPPER,...Object.values(uEn)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);AOi(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 kOi(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,[pEn.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?AOi(i,e.name,this.queryBuilderState):i instanceof ME&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),NOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(cS(this.parentExpression.functionName,[pEn.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,pEn.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 fwi){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 VEi&&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 OOi=(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&&vEn(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 ZSi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},LOi=(e,t,n)=>{e.functionType.parameters.length&&OOi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>kOi.process(n,e,t))},MOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:fne.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 bCi(e.target.value,gCi.ABSOLUTE_DATE))}})})},POi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:fne.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 bCi(e.target.value,gCi.ABSOLUTE_TIME))}})})},FOi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Nat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??mCi.DAYS),[u,h]=n.useState(t.direction??vCi.BEFORE),[p,g]=n.useState(t.referenceMoment??_Ci.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new CCi(gCi.CUSTOM_DATE,gCi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=wCi.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()},[]),fne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.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)}})}),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(mCi).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})}),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(vCi).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})}),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(_Ci).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})})]})},BOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Nat(),o=n.useRef(null),[a,l]=n.useState(t instanceof SCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{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(fCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(_Ci).filter(t=>t.toString().includes(e)),n=t.length>0?new SCi(Gs(t[0]?.toString()),e):new SCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},VOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Nat(),o=n.useRef(null),[a,l]=n.useState(t instanceof ECi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:fne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:fne.jsx(SOe,{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(yCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new ECi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},UOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Nat(),u=o.match?Object.values([gCi.ABSOLUTE_TIME,gCi.NOW]):Object.values(gCi),[h,p]=n.useState(RCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(RCi(t,d))},[d,t]),fne.jsxs(fne.Fragment,{children:[a?fne.jsx("span",{className:dse("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}"`:fne.jsx(fne.Fragment,{children:" "})}):fne.jsx("button",{className:dse("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"}),fne.jsxs(Wbe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(RCi(t,d))}}},anchorEl:g,onClose:()=>{p(RCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[fne.jsx(WOe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new bCi(e.target.value,e.target.value);if(gCi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:AC.LATESTDATE});else if(![gCi.ABSOLUTE_DATE,gCi.ABSOLUTE_TIME,gCi.CUSTOM_DATE,gCi.FIRST_DAY_OF,gCi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=wCi.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 gCi.ABSOLUTE_DATE:return fne.jsx(MOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case gCi.ABSOLUTE_TIME:return fne.jsx(POi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case gCi.CUSTOM_DATE:return fne.jsx(FOi,{customDateOptionValue:NCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case gCi.FIRST_DAY_OF:return fne.jsx(BOi,{customDateAdjustOptionValue:RCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case gCi.PREVIOUS_DAY_OF_WEEK:return fne.jsx(VOi,{customDateAdjustOptionValue:RCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},GOi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return fne.jsx(Ibe,{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:fne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[fne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[fne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),fne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[fne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),fne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),fne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[fne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),fne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Jw(t.multiplicity)})]})]}),children:n})},HOi="VARIABLE",zOi=qne(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return fne.jsxs(fne.Fragment,{children:[fne.jsx(IPe,{labelGetter:e=>e.variable.name,types:[HOi]}),fne.jsxs("div",{className:dse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[fne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?fne.jsx("div",{className:"icon",children:"C"}):fne.jsx(pre,{})}),fne.jsxs("div",{className:"value-spec-editor__variable__label",children:[fne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),fne.jsx(GOi,{variable:t,children:fne.jsx("div",{className:"value-spec-editor__variable__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:fne.jsx(vie,{})})]})]})]})}),WOi=qne(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=Nat(),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 fne.jsxs("div",{className:dse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?fne.jsx(SOe,{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}):fne.jsx(Nwe,{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}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:fne.jsx(vie,{})})]})})),jOi=qne(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return fne.jsxs("div",{className:dse("value-spec-editor",s),children:[fne.jsx("button",{role:"checkbox",className:dse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?fne.jsx(rre,{}):fne.jsx(zre,{})}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:fne.jsx(vie,{})})]})}),$Oi=qne(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(aJn(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 fne.jsxs("div",{className:dse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[fne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[fne.jsx("input",{ref:m,className:dse("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}),fne.jsx("div",{className:"value-spec-editor__number__actions",children:fne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:fne.jsx(Tie,{})})})]}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:fne.jsx(vie,{})})]})})),qOi=qne(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 fne.jsxs("div",{className:dse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[fne.jsx(SOe,{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}),fne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:fne.jsx(vie,{})})]})}),YOi=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(),KOi=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 HT))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"}}},XOi=qne(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Nat(),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 fne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[fne.jsx(SOe,{className:dse("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:KOi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),fne.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:fne.jsx(dre,{})}),fne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:fne.jsx(Ure,{})})]})}),ZOi=qne(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 fne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[fne.jsx(SOe,{className:dse("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}),fne.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:fne.jsx(dre,{})}),fne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:fne.jsx(Ure,{})})]})}),QOi=qne(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?fne.jsx(fne.Fragment,{children:fne.jsx("div",{className:dse("value-spec-editor",l),children:void 0!==h?fne.jsx(ZOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):fne.jsx(XOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):fne.jsxs("div",{className:dse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[fne.jsx("div",{className:dse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),fne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:fne.jsx(pie,{})})]})}),JOi=()=>fne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),eLi=qne(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return fne.jsxs("div",{className:dse("value-spec-editor",l),children:[fne.jsx(UOi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof BE&&!LEn(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&fne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:fne.jsx(vie,{})})]})}),tLi=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=Nat(),y=e=>!LEn(e),v=e=>e instanceof KE?"":e.values[0],_=(e,t,n)=>{t instanceof CCi?a(((e,t,n)=>{const i=new KE(pEn.ADJUST);if(xEn(i,TCi(new bCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===vCi.BEFORE){const r=new KE(pEn.MINUS);xEn(r,DCi(t,AC.INTEGER,e.duration,n),n),xEn(i,r,n)}else xEn(i,DCi(t,AC.INTEGER,e.duration,n),n);const r=new VE(vS.create(new wS(t.getType(dEn.DURATION_UNIT))));return REn(r,[...r.values,VS.create(Gs(ACi(Gs(e.unit),t)))],n),xEn(i,r,n),CEn(i,vS.create(new wS(mS.DATE))),i})(t,r,s)):t instanceof SCi||t instanceof ECi||t instanceof bCi?a(TCi(t,r,s)):e instanceof KE?a(DCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof FE?(NEn(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&CEn(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(DCi(r,AC.LATESTDATE,t,s))};if(i instanceof BE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{NEn(e,t,0,s),a(e)};switch(e.path){case AC.STRING:return fne.jsx(WOi,{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 fne.jsx(jOi,{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 fne.jsx($Oi,{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 fne.jsx(eLi,{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 fne.jsx(JOi,{})}}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 fne.jsx(qOi,{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}`);NEn(t,VS.create(i),0,s),a(t)},errorChecker:e=>!LEn(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof UE&&i.genericType){const e=(e,t)=>{REn(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 REn(t,[VS.create(n)],s),Zee(t,s)}}else{const n=BCi(js(e,rS),t,s);if(n)return Zee(n,s)}return null},r=o.expectedType instanceof IS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return fne.jsx(QOi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>YOi(e.values),errorChecker:y,convertValueSpecificationToText:e=>FCi(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof PE)return fne.jsx(zOi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof ew)return fne.jsx(tLi,{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 DOi(i)?fne.jsx(eLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):fne.jsx(JOi,{});if(Zw(o.expectedType,mS.NUMBER)&&cS(i.functionName,pEn.MINUS)){const e=WEn(i,s);if(e instanceof BE&&Zw(e.genericType.value.rawType,mS.NUMBER))return fne.jsx($Oi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===mS.INTEGER,updateValueSpecification:(e,t)=>{NEn(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return fne.jsx(JOi,{})}),nLi=qne(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=Nat(),[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,_=FCi(t,p,{omitEnumOwnerName:!0});return v?fne.jsx(tLi,{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}):fne.jsx("div",{className:"value-spec-editor__editable__display",children:fne.jsx("span",{className:dse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof FE&&!LEn(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),iLi=(e,t)=>{if(e instanceof KE){const n=RCi(e,t.applicationStore).label;if(n)return n}return FCi(e,t.applicationStore)},rLi=qne(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return fne.jsxs(LOe,{ref:t,children:[i?.map(e=>fne.jsx(MOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&fne.jsx(MOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&fne.jsx(MOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),sLi=qne(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?iLi(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?iLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=XMe(()=>({type:HOi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),RPe(E),fne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:fne.jsxs(VOe,{content:fne.jsx(rLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:dse("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:[fne.jsx(IPe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[HOi]}),fne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[fne.jsx("div",{className:"query-builder__variables__variable__icon",children:fne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?fne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):fne.jsx(pre,{})})}),fne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?fne.jsxs("div",{className:dse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&fne.jsx(Zie,{title:"Calculated Constant"})]}):fne.jsxs("div",{className:"query-builder__variables__variable__type",children:[fne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&fne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&fne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[fne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:fne.jsx(pie,{})}),fne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:fne.jsx(jre,{})}),fne.jsx(GOi,{variable:t,children:fne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:fne.jsx(Are,{})})})]})]})})}),oLi=qne(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 fne.jsxs(fne.Fragment,{children:[fne.jsxs(rLe,{title:"Available parameters",children:[0===i.length&&fne.jsx(fne.Fragment,{children:" No available parameters "}),i.map(e=>fne.jsx(sLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&fne.jsx(rLe,{title:"Available constants",children:r.map(e=>fne.jsx(sLi,{variable:e.variable,value:{val:e instanceof rOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),aLi=qne(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=>{wEn(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=tPe(()=>({accept:[HOi],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&&yEn(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:dlt.CAUTION,actions:[{label:"Proceed",type:ult.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:ult.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&&!_En(t,i,n.getValue(),d.milestoningState)){const n=new ew(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,wEn(js(e,XE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return fne.jsxs("div",{className:"panel__content__form__section",children:[fne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),fne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),fne.jsx("div",{className:"query-builder__variable-editor",children:fne.jsx(xPe,{isDragOver:l,dropTargetConnector:c,children:fne.jsx(tLi,{valueSpecification:h,setValueSpecification:e=>{wEn(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===mS.DATETIME},resetValue:()=>{wEn(t.propertyExpression,bEn(t,r)??GCi(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)})})}),fne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),lLi=qne(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return fne.jsxs("div",{className:"query-builder-property-editor__section",children:[fne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&fne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>fne.jsx(aLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),cLi=qne(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return fne.jsx(Dye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:fne.jsxs(xOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[fne.jsx(AOe,{title:"Derived Property"}),fne.jsxs(ROe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>fne.jsx(lLi,{derivedPropertyExpressionState:e},e.path)),fne.jsx(ROe,{className:"query-builder__variables__modal__body",children:fne.jsx(oLi,{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)})})]}),fne.jsx(IOe,{children:fne.jsx(kOe,{text:"Done",onClick:i})})]})})}),dLi=qne(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return fne.jsx("div",{className:"query-builder__property__name__display",title:n,children:fne.jsx("span",{className:dse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),uLi=qne(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?fne.jsx("div",{className:"query-builder__property__name__editor",children:fne.jsx(Nwe,{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()}})}):fne.jsx(dLi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),hLi=qne(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 fne.jsx("div",{className:"query-builder-property-expression-badge",children:fne.jsxs("div",{className:dse("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:[fne.jsx(uLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:VCi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&fne.jsxs("button",{className:dse("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&&fne.jsx(Are,{})," (...)"]}),fne.jsx(cLi,{propertyExpressionState:n})]})})}),pLi=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 fne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[fne.jsx(Wre,{className:"query-builder-panel-issue-count-badge__icon"}),fne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},gLi=e=>{if(e instanceof mS){if(e.name===AC.STRING)return fne.jsx(gie,{className:"query-builder-column-badge__icon"});if(e.name===AC.BOOLEAN)return fne.jsx($re,{className:"query-builder-column-badge__icon"});if(e.name===AC.NUMBER||e.name===AC.INTEGER||e.name===AC.FLOAT||e.name===AC.DECIMAL)return fne.jsx(Tre,{className:"query-builder-column-badge__icon"});if(e.name===AC.DATE||e.name===AC.DATETIME||e.name===AC.STRICTDATE)return fne.jsx(are,{className:"query-builder-column-badge__icon"})}else if(e instanceof IS)return fne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},mLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof QCi||e instanceof jEi)return iS.ONE;if(e instanceof YCi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return fne.jsx(Ibe,{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:fne.jsxs("div",{className:"query-builder__tooltip__content",children:[fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&fne.jsxs("div",{className:"query-builder__tooltip__item",children:[fne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),fne.jsx("div",{className:"query-builder__tooltip__item__value",children:Jw(s)})]})]}),children:i})},fLi=(e,t)=>{switch(t){case $Ci:return e.columnState.getColumnType();case Qwi.ENUM_PROPERTY:case Qwi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case HOi:return e.variable.genericType?.value.rawType;case UEi:return e.columnState.getColumnType();default:return}},yLi=[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY,$Ci],vLi=[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY],_Li=[ASi.CONDITION,Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY,$Ci],bLi=[ASi.CONDITION,Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY],CLi=[Qwi.ENUM_PROPERTY,Qwi.PRIMITIVE_PROPERTY,$Ci,HOi],SLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof XE||r instanceof KE&&cS(r.functionName,pEn.SUBTYPE);){let e;r instanceof KE?e=new KE(oS(pEn.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 PSi){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 PSi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof PSi){const i=a.findIndex(t=>t instanceof XE&&e instanceof PSi&&t.func.value===js(e,PSi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof BSi?t.newGroupConditionFromNode(n):n instanceof MSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof BSi?t.newGroupConditionFromNode(n):n instanceof MSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new PSi(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 kSi(t,a[a.length-1]),d=new BSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof VSi&&t.removeNodeAndPruneBranch(n)},ELi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof PSi&&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,pEn.SUBTYPE);){if(n instanceof KE){const e=new KE(oS(pEn.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(HSi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),XE)},wLi=(e,t,n)=>{if(NSi(e)){const i=VCi(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:dlt.CAUTION,actions:[{label:"Cancel",type:ult.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:ult.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>SLi(e,t,n))}]})}else{const i=new kSi(t,e),r=new BSi(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 PSi&&(s=o);if(o instanceof PSi&&(s=o),n instanceof MSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof VSi)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 PSi)t.newGroupConditionFromNode(s,r);else if(n instanceof BSi){const e=t.getParentNode(n);if(s&&e instanceof PSi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,ySi.AND);else if(s&&e instanceof MSi){const i=ELi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);SLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},xLi=qne(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===ySi.AND?"AND":"OR";return fne.jsx("div",{className:"dnd__entry__container",children:fne.jsx(NPe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:fne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===ySi.AND?ySi.OR:ySi.AND)},children:fne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),TLi=qne(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return fne.jsx("div",{className:"dnd__entry__container",children:fne.jsx(NPe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:fne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[fne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:VCi(t.propertyExpressionState.propertyExpression,n)}),fne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&fne.jsxs("button",{className:dse("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&&fne.jsx(Are,{})," (...)"]}),fne.jsx(cLi,{propertyExpressionState:t.propertyExpressionState})]})})})}),ALi=qne(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return fne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:fne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[fne.jsx("div",{className:dse("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:gLi(i)}),fne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:fne.jsx(hLi,{propertyExpressionState:t.propertyExpressionState})}),fne.jsx(Ewi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:fne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:fne.jsx(Are,{})})}),fne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:fne.jsx(vie,{})})]})})}),NLi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof qIi)&&!(n instanceof YIi)&&BEn(e,i)},RLi=qne(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Nat(),l=FSi(t),c=n.useCallback((e,n)=>{const i=fLi(e,n);if(void 0!==i&&NLi(i,t.condition))try{if((n===$Ci||n===Qwi.ENUM_PROPERTY||n===Qwi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===$Ci){const n=e.columnState;if(!(n instanceof YCi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(NSi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new zCi(s,OCi(e,s.observerContext)))}}else if(n===Qwi.ENUM_PROPERTY||n===Qwi.PRIMITIVE_PROPERTY){const n=e.node,i=new zCi(s,sxi(n,t.condition.filterState.queryBuilderState.explorerState));if(NSi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===HOi){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]=tPe(()=>({accept:CLi,canDrop:(e,n)=>NLi(fLi(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}=ZMe(e=>({isFilterValueDroppable:e.isDragging()&&CLi.includes(e.getItemType()?.toString()??"")&&NLi(fLi(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=BCi(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]),fne.jsx("div",{className:"dnd__entry__container","data-testid":xwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:fne.jsx(NPe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:fne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[fne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:fne.jsx(hLi,{propertyExpressionState:t.condition.propertyExpressionState})}),fne.jsxs(UOe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:fne.jsx(LOe,{children:t.condition.operators.map(e=>{return fne.jsx(MOe,{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:[fne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),fne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:fne.jsx(Jie,{})})]}),o instanceof ISi&&o.value?fne.jsx("div",{ref:h,"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:fne.jsx(NPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:fne.jsx(nLi,{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 DSi?fne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:fne.jsx(NPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:fne.jsx(ALi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),ILi=qne(e=>{const{isDragOver:t,isDroppable:n}=e;return fne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:fne.jsx(NPe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:fne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),DLi=qne(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return fne.jsxs(LOe,{ref:t,children:[i instanceof MSi&&fne.jsx(MOe,{onClick:()=>{r.addNodeFromNode(new VSi(void 0),i)},children:"Add New Condition"}),i instanceof MSi&&fne.jsx(MOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof BSi&&fne.jsx(MOe,{onClick:()=>{oEn.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),fne.jsx(MOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),kLi=qne(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Nat(),d=s.filterState,u=n.useCallback((e,n)=>{if(ASi.CONDITION===n){const n=e.node,i=new BSi(void 0,d.nodes.get(n.id).condition);t instanceof VSi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof BSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof MSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===$Ci){if(!(e.columnState instanceof YCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=OCi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=sxi(e.node,d.queryBuilderState.explorerState);i=new kSi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof LSi||t instanceof BSi||t instanceof VSi)&&wLi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=tPe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?_Li:bLi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=XMe(()=>({type:t instanceof MSi?ASi.GROUP_CONDITION:t instanceof BSi?ASi.CONDITION:ASi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof BSi||t instanceof VSi}),[t,d]);m(g(o)),RPe(f);const{isDroppable:y}=ZMe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?_Li:bLi).includes(e.getItemType()?.toString()??"")})),v=t instanceof PSi&&0===t.childrenIds.length,_=t instanceof BSi||t instanceof VSi||v;return fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:dse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof MSi,"query-builder-filter-tree__node__container--condition":t instanceof BSi||t instanceof VSi,"query-builder-filter-tree__node__container--exists":t instanceof PSi,"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:fne.jsxs(VOe,{content:fne.jsx(DLi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof BSi||t instanceof VSi?()=>i?.(t):void 0,children:[t instanceof MSi&&fne.jsx(xLi,{node:t,isDroppable:y,isDragOver:h}),t instanceof PSi&&fne.jsx(TLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof BSi&&fne.jsx(RLi,{node:t,isDragOver:p}),t instanceof VSi&&fne.jsx(ILi,{node:t,isDragOver:h,isDroppable:y})]}),_&&fne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:fne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:fne.jsx(jre,{})})})]})})}),OLi=qne(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:dse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof MSi,"query-builder-filter-tree__node__block--exists":t instanceof PSi}),children:[fne.jsx(kLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>fne.jsx(OLi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),LLi=qne(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 LSi?e.childrenIds.map(e=>n.getNode(e)):[];return fne.jsx("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>fne.jsx(OLi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),MLi=qne(e=>{const{queryBuilderState:t}=e,i=Nat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof MSi),{isDroppable:a}=ZMe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?yLi:vLi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===$Ci){if(!(e.columnState instanceof YCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=OCi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=sxi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),wLi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=tPe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?yLi:vLi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),fne.jsxs("div",{"data-testid":xwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[fne.jsxs("div",{className:"panel__header",children:[fne.jsxs("div",{className:"panel__header__title",children:[fne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&fne.jsx(pLi,{issues:r.allValidationIssues})]}),fne.jsx("div",{className:"panel__header__actions",children:fne.jsx(UOe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:fne.jsxs(LOe,{children:[fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new VSi(void 0),r.selectedNode)},children:[fne.jsx(FOe,{children:fne.jsx(Pre,{})}),fne.jsx(BOe,{children:"Create Condition"})]}),fne.jsxs(MOe,{disabled:!(r.selectedNode instanceof BSi),onClick:()=>{oEn.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof BSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[fne.jsx(FOe,{children:fne.jsx(sse,{})}),fne.jsx(BOe,{children:"Create Group From Condition"})]}),fne.jsxs(MOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{oEn.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[fne.jsx(FOe,{children:fne.jsx(Ore,{})}),fne.jsx(BOe,{children:"Create Logical Group"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[fne.jsx(FOe,{children:fne.jsx(qre,{})}),fne.jsx(BOe,{children:"Cleanup Tree"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[fne.jsx(FOe,{children:fne.jsx(sre,{})}),fne.jsx(BOe,{children:"Simplify Tree"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[fne.jsx(FOe,{children:fne.jsx(cre,{})}),fne.jsx(BOe,{children:"Collapse Tree"})]}),fne.jsxs(MOe,{onClick:()=>{oEn.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[fne.jsx(FOe,{children:fne.jsx(yre,{})}),fne.jsx(BOe,{children:"Expand Tree"})]})]}),children:fne.jsx(mie,{className:"query-builder__icon__more-options"})})})]}),fne.jsx(XOe,{children:fne.jsxs(xPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&fne.jsx(aLe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&fne.jsxs(fne.Fragment,{children:[fne.jsx(IPe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(ASi)}),fne.jsx(LLi,{queryBuilderState:t})]}),a&&!r.isEmpty&&fne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:fne.jsx(NPe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:fne.jsx(fne.Fragment,{})})})]})})]})}),PLi=qne(e=>{const{resultState:t}=e,i=Nat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return fne.jsx(Dye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:fne.jsxs(xOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[fne.jsx(AOe,{title:"Query Usage"}),fne.jsx(ROe,{className:"query-builder__usage-viewer__body",children:fne.jsxs(fne.Fragment,{children:[0===r.length?fne.jsx(sLe,{children:"Query usage is not available"}):fne.jsxs(fne.Fragment,{children:[fne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:fne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>fne.jsxs("button",{className:dse("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&&fne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),fne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),fne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),fne.jsx(JOe,{})]})}),fne.jsx(IOe,{children:fne.jsx(kOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var FLi;function BLi(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=BLi(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"}(FLi||(FLi={}));var VLi,ULi={exports:{}},GLi={};var HLi,zLi,WLi={};
|
|
901
901
|
/**
|
|
902
902
|
* @license React
|
|
903
903
|
* use-sync-external-store-shim/with-selector.development.js
|