From 3055cf4280ce86f8a1287988ec29543828ca9eb5 Mon Sep 17 00:00:00 2001 From: Teamcity Date: Mon, 11 Mar 2024 18:32:26 +0000 Subject: [PATCH] skip-ci: Release: 0.1.0 --- LICENSE | 2 +- README.md | 2 - central_pane/dtdAbbreviation.json | 27 +- forward_engineering/api.js | 131 ++- forward_engineering/config.json | 40 +- .../helpers/applyToInstanceHelper.js | 223 ----- forward_engineering/helpers/ndJsonHelper.js | 68 -- forward_engineering/helpers/schemaHelper.js | 68 -- forward_engineering/helpers/scriptHelper.js | 228 ------ jsonSchemaProperties.json | 2 +- localization/en.json | 135 +-- package.json | 90 +- .../container_level/containerLevelConfig.json | 32 +- properties_pane/defaultData.json | 33 +- .../entity_level/entityLevelConfig.json | 444 +++++----- .../field_level/fieldLevelConfig.json | 18 +- .../model_level/modelLevelConfig.json | 142 ++-- properties_pane/samples.json | 2 +- .../view_level/viewLevelConfig.json | 4 +- reverse_engineering/antlr/buildParser.sh | 23 + reverse_engineering/api.js | 771 +++++++----------- reverse_engineering/config.json | 9 +- .../connectionSettingsModalConfig.json | 214 ++--- reverse_engineering/helpers/awsHelper.js | 60 -- .../helpers/connectionHelper.js | 334 -------- reverse_engineering/helpers/logHelper.js | 65 -- reverse_engineering/package.json | 13 - types/array.json | 2 +- types/boolean.json | 2 +- types/document.json | 2 +- types/null.json | 2 +- types/{numeric.json => number.json} | 23 +- types/object.json | 2 +- types/string.json | 6 +- validation/validationRegularExpressions.json | 20 +- 35 files changed, 1011 insertions(+), 2228 deletions(-) delete mode 100644 forward_engineering/helpers/applyToInstanceHelper.js delete mode 100644 forward_engineering/helpers/ndJsonHelper.js delete mode 100644 forward_engineering/helpers/schemaHelper.js delete mode 100644 forward_engineering/helpers/scriptHelper.js create mode 100644 reverse_engineering/antlr/buildParser.sh delete mode 100644 reverse_engineering/helpers/awsHelper.js delete mode 100644 reverse_engineering/helpers/connectionHelper.js delete mode 100644 reverse_engineering/helpers/logHelper.js delete mode 100644 reverse_engineering/package.json rename types/{numeric.json => number.json} (67%) diff --git a/LICENSE b/LICENSE index 425bd4e..159e774 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ - Copyright 2016-2022 IntegrIT SA/NV dba Hackolade + Copyright 2016-2024 IntegrIT SA/NV dba Hackolade Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index f42bcd5..f06efa6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # Couchbase v7+ with scopes and collections -Work in progress. Not production-ready !! Do NOT use. - Plugin to enable Couchbase v7+ with scopes and collections as a target in [Hackolade Studio](https://hackolade.com) data modeling. Requires prior download of the Hackolade application from our [download page](https://hackolade.com/download.html) Hackolade exposes its core data modeling engine through a plugin architecture. Each plugin applies the Hackolade data modeling capabilities to a specific target technology, whether for data-at-rest (databases) or data-in-motion (communications.) Each plugin matches the specific aspects of the target in terms of terminology, storage model, data types, and communication protocol. diff --git a/central_pane/dtdAbbreviation.json b/central_pane/dtdAbbreviation.json index 6f6b7a3..04c13aa 100644 --- a/central_pane/dtdAbbreviation.json +++ b/central_pane/dtdAbbreviation.json @@ -1,18 +1,13 @@ /* -* Copyright © 2016-2017 by IntegrIT S.A. dba Hackolade. All rights reserved. -* -* The copyright to the computer software herein is the property of IntegrIT S.A. -* The software may be used and/or copied only with the written permission of -* IntegrIT S.A. or in accordance with the terms and conditions stipulated in -* the agreement/contract under which the software has been supplied. -* -*/ + * Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. + * + * The copyright to the computer software herein is the property of IntegrIT S.A. + * The software may be used and/or copied only with the written permission of + * IntegrIT S.A. or in accordance with the terms and conditions stipulated in + * the agreement/contract under which the software has been supplied. + * + */ { - "map": "{...}", - "list": "[...]", - "string": "{ABC}", - "number": "{123}", - "bool": "{0/1}", - "bytes": "{BYTES}", - "null": "{null}" -} \ No newline at end of file + "number": { "abbr": "" }, + "object": { "abbr": "" } +} diff --git a/forward_engineering/api.js b/forward_engineering/api.js index a9bc6aa..a64dacc 100644 --- a/forward_engineering/api.js +++ b/forward_engineering/api.js @@ -1,81 +1,66 @@ -const applyToInstanceHelper = require("./helpers/applyToInstanceHelper"); -const scriptHelper = require("./helpers/scriptHelper"); +var nv=Object.create;var mi=Object.defineProperty;var rv=Object.getOwnPropertyDescriptor;var iv=Object.getOwnPropertyNames;var uv=Object.getPrototypeOf,sv=Object.prototype.hasOwnProperty;var r=(i,a)=>mi(i,"name",{value:a,configurable:!0});var $e=(i,a)=>()=>(i&&(a=i(i=0)),a);var le=(i,a)=>()=>(a||i((a={exports:{}}).exports,a),a.exports),av=(i,a)=>{for(var p in a)mi(i,p,{get:a[p],enumerable:!0})},Xo=(i,a,p,y)=>{if(a&&typeof a=="object"||typeof a=="function")for(let v of iv(a))!sv.call(i,v)&&v!==p&&mi(i,v,{get:()=>a[v],enumerable:!(y=rv(a,v))||y.enumerable});return i};var Wu=(i,a,p)=>(p=i!=null?nv(uv(i)):{},Xo(a||!i||!i.__esModule?mi(p,"default",{value:i,enumerable:!0}):p,i)),fv=i=>Xo(mi({},"__esModule",{value:!0}),i);var ov=(i,a,p)=>{if(!a.has(i))throw TypeError("Cannot "+p)};var Jo=(i,a,p)=>{if(a.has(i))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(i):a.set(i,p)};var wa=(i,a,p)=>(ov(i,a,"access private method"),p);var Hn=le((Dr,Si)=>{(function(){var i,a="4.17.21",p=200,y="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",v="Expected a function",S="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",N=500,U="__lodash_placeholder__",C=1,$=2,q=4,K=1,de=2,me=1,Ue=2,z=4,Y=8,Dt=16,ke=32,ht=64,Et=128,At=256,rt=512,ju=30,es="...",ts=800,ns=16,Ri=1,Ct=2,Di=3,Te=1/0,It=9007199254740991,Qt=17976931348623157e292,kn=NaN,it=4294967295,rs=it-1,Me=it>>>1,is=[["ary",Et],["bind",me],["bindKey",Ue],["curry",Y],["curryRight",Dt],["flip",rt],["partial",ke],["partialRight",ht],["rearg",At]],pt="[object Arguments]",gn="[object Array]",us="[object AsyncFunction]",De="[object Boolean]",dn="[object Date]",br="[object DOMException]",_n="[object Error]",gt="[object Function]",Pt="[object GeneratorFunction]",Fe="[object Map]",vn="[object Number]",ss="[object Null]",dt="[object Object]",Pi="[object Promise]",as="[object Proxy]",yn="[object RegExp]",Ye="[object Set]",bt="[object String]",mn="[object Symbol]",Nr="[object Undefined]",Zt="[object WeakMap]",bi="[object WeakSet]",Sn="[object ArrayBuffer]",He="[object DataView]",wn="[object Float32Array]",Yn="[object Float64Array]",Br="[object Int8Array]",Nt="[object Int16Array]",$r="[object Int32Array]",Tt="[object Uint8Array]",Ur="[object Uint8ClampedArray]",Vt="[object Uint16Array]",Mr="[object Uint32Array]",zn=/\b__p \+= '';/g,Ni=/\b(__p \+=) '' \+/g,_t=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Bi=/&(?:amp|lt|gt|quot|#39);/g,En=/[&<>"']/g,fs=RegExp(Bi.source),Xn=RegExp(En.source),os=/<%-([\s\S]+?)%>/g,Jn=/<%([\s\S]+?)%>/g,Fr=/<%=([\s\S]+?)%>/g,$i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,cs=/^\w*$/,An=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qn=/[\\^$.*+?()[\]{}|]/g,Ui=RegExp(Qn.source),Hr=/^\s+/,Zn=/\s/,ls=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Cn=/\{\n\/\* \[wrapped with (.+)\] \*/,hs=/,? & /,In=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Wr=/[()=,{}\[\]\/\s]/,ps=/\\(\\)?/g,Vn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Mi=/\w*$/,jn=/^[-+]0x[0-9a-f]+$/i,gs=/^0b[01]+$/i,er=/^\[object .+?Constructor\]$/,ds=/^0o[0-7]+$/i,_s=/^(?:0|[1-9]\d*)$/,tr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,nr=/($^)/,rr=/['\n\r\u2028\u2029\\]/g,ir="\\ud800-\\udfff",ur="\\u0300-\\u036f",vs="\\ufe20-\\ufe2f",sr="\\u20d0-\\u20ff",Fi=ur+vs+sr,qr="\\u2700-\\u27bf",Hi="a-z\\xdf-\\xf6\\xf8-\\xff",ar="\\xac\\xb1\\xd7\\xf7",Wi="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",qi="\\u2000-\\u206f",Gi=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ki="A-Z\\xc0-\\xd6\\xd8-\\xde",Tn="\\ufe0e\\ufe0f",Gr=ar+Wi+qi+Gi,fr="['\u2019]",ki="["+ir+"]",On="["+Gr+"]",xn="["+Fi+"]",or="\\d+",Yi="["+qr+"]",Kr="["+Hi+"]",cr="[^"+ir+Gr+or+qr+Hi+Ki+"]",Ln="\\ud83c[\\udffb-\\udfff]",ys="(?:"+xn+"|"+Ln+")",kr="[^"+ir+"]",Rn="(?:\\ud83c[\\udde6-\\uddff]){2}",lr="[\\ud800-\\udbff][\\udc00-\\udfff]",jt="["+Ki+"]",Yr="\\u200d",Dn="(?:"+Kr+"|"+cr+")",hr="(?:"+jt+"|"+cr+")",zr="(?:"+fr+"(?:d|ll|m|re|s|t|ve))?",pr="(?:"+fr+"(?:D|LL|M|RE|S|T|VE))?",zi=ys+"?",Xr="["+Tn+"]?",ms="(?:"+Yr+"(?:"+[kr,Rn,lr].join("|")+")"+Xr+zi+")*",Xi="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ss="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Jr=Xr+zi+ms,Ji="(?:"+[Yi,Rn,lr].join("|")+")"+Jr,Qr="(?:"+[kr+xn+"?",xn,Rn,lr,ki].join("|")+")",Qi=RegExp(fr,"g"),gr=RegExp(xn,"g"),Zr=RegExp(Ln+"(?="+Ln+")|"+Qr+Jr,"g"),Zi=RegExp([jt+"?"+Kr+"+"+zr+"(?="+[On,jt,"$"].join("|")+")",hr+"+"+pr+"(?="+[On,jt+Dn,"$"].join("|")+")",jt+"?"+Dn+"+"+zr,jt+"+"+pr,Ss,Xi,or,Ji].join("|"),"g"),Vi=RegExp("["+Yr+ir+Fi+Tn+"]"),ws=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,dr=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Es=-1,he={};he[wn]=he[Yn]=he[Br]=he[Nt]=he[$r]=he[Tt]=he[Ur]=he[Vt]=he[Mr]=!0,he[pt]=he[gn]=he[Sn]=he[De]=he[He]=he[dn]=he[_n]=he[gt]=he[Fe]=he[vn]=he[dt]=he[yn]=he[Ye]=he[bt]=he[Zt]=!1;var _e={};_e[pt]=_e[gn]=_e[Sn]=_e[He]=_e[De]=_e[dn]=_e[wn]=_e[Yn]=_e[Br]=_e[Nt]=_e[$r]=_e[Fe]=_e[vn]=_e[dt]=_e[yn]=_e[Ye]=_e[bt]=_e[mn]=_e[Tt]=_e[Ur]=_e[Vt]=_e[Mr]=!0,_e[_n]=_e[gt]=_e[Zt]=!1;var _r={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},As={"&":"&","<":"<",">":">",'"':""","'":"'"},ji={"&":"&","<":"<",">":">",""":'"',"'":"'"},eu={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Cs=parseFloat,vr=parseInt,Vr=typeof global=="object"&&global&&global.Object===Object&&global,tu=typeof self=="object"&&self&&self.Object===Object&&self,Ae=Vr||tu||Function("return this")(),jr=typeof Dr=="object"&&Dr&&!Dr.nodeType&&Dr,Ot=jr&&typeof Si=="object"&&Si&&!Si.nodeType&&Si,ei=Ot&&Ot.exports===jr,ti=ei&&Vr.process,Le=function(){try{var m=Ot&&Ot.require&&Ot.require("util").types;return m||ti&&ti.binding&&ti.binding("util")}catch{}}(),ni=Le&&Le.isArrayBuffer,nu=Le&&Le.isDate,ri=Le&&Le.isMap,ru=Le&&Le.isRegExp,yr=Le&&Le.isSet,mr=Le&&Le.isTypedArray;function l(m,L,I){switch(I.length){case 0:return m.call(L);case 1:return m.call(L,I[0]);case 2:return m.call(L,I[0],I[1]);case 3:return m.call(L,I[0],I[1],I[2])}return m.apply(L,I)}r(l,"apply");function f(m,L,I,F){for(var Z=-1,ce=m==null?0:m.length;++Z-1}r(T,"arrayIncludes");function O(m,L,I){for(var F=-1,Z=m==null?0:m.length;++F-1;);return I}r(ja,"charsStartIndex");function ef(m,L){for(var I=m.length;I--&&G(L,m[I],0)>-1;);return I}r(ef,"charsEndIndex");function Nl(m,L){for(var I=m.length,F=0;I--;)m[I]===L&&++F;return F}r(Nl,"countHolders");var Bl=we(_r),$l=we(As);function Ul(m){return"\\"+eu[m]}r(Ul,"escapeStringChar");function Ml(m,L){return m==null?i:m[L]}r(Ml,"getValue");function Sr(m){return Vi.test(m)}r(Sr,"hasUnicode");function Fl(m){return ws.test(m)}r(Fl,"hasUnicodeWord");function Hl(m){for(var L,I=[];!(L=m.next()).done;)I.push(L.value);return I}r(Hl,"iteratorToArray");function Ts(m){var L=-1,I=Array(m.size);return m.forEach(function(F,Z){I[++L]=[Z,F]}),I}r(Ts,"mapToArray");function tf(m,L){return function(I){return m(L(I))}}r(tf,"overArg");function rn(m,L){for(var I=-1,F=m.length,Z=0,ce=[];++I-1}r(Th,"listCacheHas");function Oh(e,t){var n=this.__data__,u=mu(n,e);return u<0?(++this.size,n.push([e,t])):n[u][1]=t,this}r(Oh,"listCacheSet"),Ut.prototype.clear=Ah,Ut.prototype.delete=Ch,Ut.prototype.get=Ih,Ut.prototype.has=Th,Ut.prototype.set=Oh;function Mt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}r(Bn,"baseClamp");function at(e,t,n,u,s,c){var g,_=t&C,w=t&$,R=t&q;if(n&&(g=s?n(e,u,s,c):n(e)),g!==i)return g;if(!Se(e))return e;var D=V(e);if(D){if(g=Dp(e),!_)return Xe(e,g)}else{var P=Be(e),B=P==gt||P==Pt;if(ln(e))return Mf(e,_);if(P==dt||P==pt||B&&!s){if(g=w||B?{}:ro(e),!_)return w?Sp(e,Gh(g,e)):mp(e,gf(g,e))}else{if(!_e[P])return s?e:{};g=Pp(e,P,_)}}c||(c=new mt);var W=c.get(e);if(W)return W;c.set(e,g),bo(e)?e.forEach(function(Q){g.add(at(Q,t,n,Q,e,c))}):Do(e)&&e.forEach(function(Q,se){g.set(se,at(Q,t,n,se,e,c))});var J=R?w?Vs:Zs:w?Qe:Re,ee=D?i:J(e);return h(ee||e,function(Q,se){ee&&(se=Q,Q=e[se]),ci(g,se,at(Q,t,n,se,e,c))}),g}r(at,"baseClone");function Kh(e){var t=Re(e);return function(n){return df(n,e,t)}}r(Kh,"baseConforms");function df(e,t,n){var u=n.length;if(e==null)return!u;for(e=ye(e);u--;){var s=n[u],c=t[s],g=e[s];if(g===i&&!(s in e)||!c(g))return!1}return!0}r(df,"baseConformsTo");function _f(e,t,n){if(typeof e!="function")throw new ut(v);return vi(function(){e.apply(i,n)},t)}r(_f,"baseDelay");function li(e,t,n,u){var s=-1,c=T,g=!0,_=e.length,w=[],R=t.length;if(!_)return w;n&&(t=x(t,Ve(n))),u?(c=O,g=!1):t.length>=p&&(c=ii,g=!1,t=new Nn(t));e:for(;++s<_;){var D=e[s],P=n==null?D:n(D);if(D=u||D!==0?D:0,g&&P===P){for(var B=R;B--;)if(t[B]===P)continue e;w.push(D)}else c(t,P,u)||w.push(D)}return w}r(li,"baseDifference");var an=Gf(xt),vf=Gf(Ns,!0);function kh(e,t){var n=!0;return an(e,function(u,s,c){return n=!!t(u,s,c),n}),n}r(kh,"baseEvery");function Su(e,t,n){for(var u=-1,s=e.length;++us?0:s+n),u=u===i||u>s?s:j(u),u<0&&(u+=s),u=n>u?0:Bo(u);n0&&n(_)?t>1?Pe(_,t-1,n,u,s):M(s,_):u||(s[s.length]=_)}return s}r(Pe,"baseFlatten");var bs=Kf(),mf=Kf(!0);function xt(e,t){return e&&bs(e,t,Re)}r(xt,"baseForOwn");function Ns(e,t){return e&&mf(e,t,Re)}r(Ns,"baseForOwnRight");function wu(e,t){return A(t,function(n){return Gt(e[n])})}r(wu,"baseFunctions");function $n(e,t){t=on(t,e);for(var n=0,u=t.length;e!=null&&nt}r(Bs,"baseGt");function zh(e,t){return e!=null&&ge.call(e,t)}r(zh,"baseHas");function Xh(e,t){return e!=null&&t in ye(e)}r(Xh,"baseHasIn");function Jh(e,t,n){return e>=Ne(t,n)&&e=120&&D.length>=120)?new Nn(g&&D):i}D=e[0];var P=-1,B=_[0];e:for(;++P-1;)_!==e&&hu.call(_,w,1),hu.call(e,w,1);return e}r(Hs,"basePullAll");function Rf(e,t){for(var n=e?t.length:0,u=n-1;n--;){var s=t[n];if(n==u||s!==c){var c=s;qt(s)?hu.call(e,s,1):Ks(e,s)}}return e}r(Rf,"basePullAt");function Ws(e,t){return e+du(cf()*(t-e+1))}r(Ws,"baseRandom");function fp(e,t,n,u){for(var s=-1,c=xe(gu((t-e)/(n||1)),0),g=I(c);c--;)g[u?c:++s]=e,e+=n;return g}r(fp,"baseRange");function qs(e,t){var n="";if(!e||t<1||t>It)return n;do t%2&&(n+=e),t=du(t/2),t&&(e+=e);while(t);return n}r(qs,"baseRepeat");function ne(e,t){return ua(so(e,t,Ze),e+"")}r(ne,"baseRest");function op(e){return pf(Rr(e))}r(op,"baseSample");function cp(e,t){var n=Rr(e);return Pu(n,Bn(t,0,n.length))}r(cp,"baseSampleSize");function gi(e,t,n,u){if(!Se(e))return e;t=on(t,e);for(var s=-1,c=t.length,g=c-1,_=e;_!=null&&++ss?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var c=I(s);++u>>1,g=e[c];g!==null&&!et(g)&&(n?g<=t:g=p){var R=t?null:Cp(e);if(R)return iu(R);g=!1,s=ii,w=new Nn}else w=t?[]:_;e:for(;++u=u?e:ft(e,t,n)}r(cn,"castSlice");var Uf=th||function(e){return Ae.clearTimeout(e)};function Mf(e,t){if(t)return e.slice();var n=e.length,u=uf?uf(n):new e.constructor(n);return e.copy(u),u}r(Mf,"cloneBuffer");function Xs(e){var t=new e.constructor(e.byteLength);return new cu(t).set(new cu(e)),t}r(Xs,"cloneArrayBuffer");function dp(e,t){var n=t?Xs(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}r(dp,"cloneDataView");function _p(e){var t=new e.constructor(e.source,Mi.exec(e));return t.lastIndex=e.lastIndex,t}r(_p,"cloneRegExp");function vp(e){return oi?ye(oi.call(e)):{}}r(vp,"cloneSymbol");function Ff(e,t){var n=t?Xs(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}r(Ff,"cloneTypedArray");function Hf(e,t){if(e!==t){var n=e!==i,u=e===null,s=e===e,c=et(e),g=t!==i,_=t===null,w=t===t,R=et(t);if(!_&&!R&&!c&&e>t||c&&g&&w&&!_&&!R||u&&g&&w||!n&&w||!s)return 1;if(!u&&!c&&!R&&e=_)return w;var R=n[u];return w*(R=="desc"?-1:1)}}return e.index-t.index}r(yp,"compareMultiple");function Wf(e,t,n,u){for(var s=-1,c=e.length,g=n.length,_=-1,w=t.length,R=xe(c-g,0),D=I(w+R),P=!u;++_1?n[s-1]:i,g=s>2?n[2]:i;for(c=e.length>3&&typeof c=="function"?(s--,c):i,g&&Ge(n[0],n[1],g)&&(c=s<3?i:c,s=1),t=ye(t);++u-1?s[c?t[g]:g]:i}}r(Yf,"createFind");function zf(e){return Wt(function(t){var n=t.length,u=n,s=st.prototype.thru;for(e&&t.reverse();u--;){var c=t[u];if(typeof c!="function")throw new ut(v);if(s&&!g&&Ru(c)=="wrapper")var g=new st([],!0)}for(u=g?u:n;++u1&&fe.reverse(),D&&w_))return!1;var R=c.get(e),D=c.get(t);if(R&&D)return R==t&&D==e;var P=-1,B=!0,W=n&de?new Nn:i;for(c.set(e,t),c.set(t,e);++P<_;){var J=e[P],ee=t[P];if(u)var Q=g?u(ee,J,P,t,e,c):u(J,ee,P,e,t,c);if(Q!==i){if(Q)continue;B=!1;break}if(W){if(!re(t,function(se,fe){if(!ii(W,fe)&&(J===se||s(J,se,n,u,c)))return W.push(fe)})){B=!1;break}}else if(!(J===ee||s(J,ee,n,u,c))){B=!1;break}}return c.delete(e),c.delete(t),B}r(eo,"equalArrays");function Tp(e,t,n,u,s,c,g){switch(n){case He:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Sn:return!(e.byteLength!=t.byteLength||!c(new cu(e),new cu(t)));case De:case dn:case vn:return St(+e,+t);case _n:return e.name==t.name&&e.message==t.message;case yn:case bt:return e==t+"";case Fe:var _=Ts;case Ye:var w=u&K;if(_||(_=iu),e.size!=t.size&&!w)return!1;var R=g.get(e);if(R)return R==t;u|=de,g.set(e,t);var D=eo(_(e),_(t),u,s,c,g);return g.delete(e),D;case mn:if(oi)return oi.call(e)==oi.call(t)}return!1}r(Tp,"equalByTag");function Op(e,t,n,u,s,c){var g=n&K,_=Zs(e),w=_.length,R=Zs(t),D=R.length;if(w!=D&&!g)return!1;for(var P=w;P--;){var B=_[P];if(!(g?B in t:ge.call(t,B)))return!1}var W=c.get(e),J=c.get(t);if(W&&J)return W==t&&J==e;var ee=!0;c.set(e,t),c.set(t,e);for(var Q=g;++P1?"& ":"")+t[u],t=t.join(n>2?", ":" "),e.replace(ls,`{ +/* [wrapped with `+t+`] */ +`)}r(bp,"insertWrapDetails");function Np(e){return V(e)||Fn(e)||!!(ff&&e&&e[ff])}r(Np,"isFlattenable");function qt(e,t){var n=typeof e;return t=t??It,!!t&&(n=="number"||n!="symbol"&&_s.test(e))&&e>-1&&e%1==0&&e0){if(++t>=ts)return arguments[0]}else t=0;return e.apply(i,arguments)}}r(co,"shortOut");function Pu(e,t){var n=-1,u=e.length,s=u-1;for(t=t===i?u:t;++n1?e[t-1]:i;return n=typeof n=="function"?(e.pop(),n):i,mo(e,n)});function So(e){var t=o(e);return t.__chain__=!0,t}r(So,"chain");function kg(e,t){return t(e),e}r(kg,"tap");function bu(e,t){return t(e)}r(bu,"thru");var Yg=Wt(function(e){var t=e.length,n=t?e[0]:0,u=this.__wrapped__,s=r(function(c){return Ps(c,e)},"interceptor");return t>1||this.__actions__.length||!(u instanceof ae)||!qt(n)?this.thru(s):(u=u.slice(n,+n+(t?1:0)),u.__actions__.push({func:bu,args:[s],thisArg:i}),new st(u,this.__chain__).thru(function(c){return t&&!c.length&&c.push(i),c}))});function zg(){return So(this)}r(zg,"wrapperChain");function Xg(){return new st(this.value(),this.__chain__)}r(Xg,"wrapperCommit");function Jg(){this.__values__===i&&(this.__values__=No(this.value()));var e=this.__index__>=this.__values__.length,t=e?i:this.__values__[this.__index__++];return{done:e,value:t}}r(Jg,"wrapperNext");function Qg(){return this}r(Qg,"wrapperToIterator");function Zg(e){for(var t,n=this;n instanceof yu;){var u=ho(n);u.__index__=0,u.__values__=i,t?s.__wrapped__=u:t=u;var s=u;n=n.__wrapped__}return s.__wrapped__=e,t}r(Zg,"wrapperPlant");function Vg(){var e=this.__wrapped__;if(e instanceof ae){var t=e;return this.__actions__.length&&(t=new ae(this)),t=t.reverse(),t.__actions__.push({func:bu,args:[sa],thisArg:i}),new st(t,this.__chain__)}return this.thru(sa)}r(Vg,"wrapperReverse");function jg(){return Bf(this.__wrapped__,this.__actions__)}r(jg,"wrapperValue");var ed=Iu(function(e,t,n){ge.call(e,n)?++e[n]:Ft(e,n,1)});function td(e,t,n){var u=V(e)?E:kh;return n&&Ge(e,t,n)&&(t=i),u(e,X(t,3))}r(td,"every");function nd(e,t){var n=V(e)?A:yf;return n(e,X(t,3))}r(nd,"filter");var rd=Yf(po),id=Yf(go);function ud(e,t){return Pe(Nu(e,t),1)}r(ud,"flatMap");function sd(e,t){return Pe(Nu(e,t),Te)}r(sd,"flatMapDeep");function ad(e,t,n){return n=n===i?1:j(n),Pe(Nu(e,t),n)}r(ad,"flatMapDepth");function wo(e,t){var n=V(e)?h:an;return n(e,X(t,3))}r(wo,"forEach");function Eo(e,t){var n=V(e)?d:vf;return n(e,X(t,3))}r(Eo,"forEachRight");var fd=Iu(function(e,t,n){ge.call(e,n)?e[n].push(t):Ft(e,n,[t])});function od(e,t,n,u){e=Je(e)?e:Rr(e),n=n&&!u?j(n):0;var s=e.length;return n<0&&(n=xe(s+n,0)),Fu(e)?n<=s&&e.indexOf(t,n)>-1:!!s&&G(e,t,n)>-1}r(od,"includes");var cd=ne(function(e,t,n){var u=-1,s=typeof t=="function",c=Je(e)?I(e.length):[];return an(e,function(g){c[++u]=s?l(t,g,n):hi(g,t,n)}),c}),ld=Iu(function(e,t,n){Ft(e,n,t)});function Nu(e,t){var n=V(e)?x:Cf;return n(e,X(t,3))}r(Nu,"map");function hd(e,t,n,u){return e==null?[]:(V(t)||(t=t==null?[]:[t]),n=u?i:n,V(n)||(n=n==null?[]:[n]),xf(e,t,n))}r(hd,"orderBy");var pd=Iu(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function gd(e,t,n){var u=V(e)?te:We,s=arguments.length<3;return u(e,X(t,4),n,s,an)}r(gd,"reduce");function dd(e,t,n){var u=V(e)?oe:We,s=arguments.length<3;return u(e,X(t,4),n,s,vf)}r(dd,"reduceRight");function _d(e,t){var n=V(e)?A:yf;return n(e,Uu(X(t,3)))}r(_d,"reject");function vd(e){var t=V(e)?pf:op;return t(e)}r(vd,"sample");function yd(e,t,n){(n?Ge(e,t,n):t===i)?t=1:t=j(t);var u=V(e)?Hh:cp;return u(e,t)}r(yd,"sampleSize");function md(e){var t=V(e)?Wh:hp;return t(e)}r(md,"shuffle");function Sd(e){if(e==null)return 0;if(Je(e))return Fu(e)?wr(e):e.length;var t=Be(e);return t==Fe||t==Ye?e.size:Ms(e).length}r(Sd,"size");function wd(e,t,n){var u=V(e)?re:pp;return n&&Ge(e,t,n)&&(t=i),u(e,X(t,3))}r(wd,"some");var Ed=ne(function(e,t){if(e==null)return[];var n=t.length;return n>1&&Ge(e,t[0],t[1])?t=[]:n>2&&Ge(t[0],t[1],t[2])&&(t=[t[0]]),xf(e,Pe(t,1),[])}),Bu=nh||function(){return Ae.Date.now()};function Ad(e,t){if(typeof t!="function")throw new ut(v);return e=j(e),function(){if(--e<1)return t.apply(this,arguments)}}r(Ad,"after");function Ao(e,t,n){return t=n?i:t,t=e&&t==null?e.length:t,Ht(e,Et,i,i,i,i,t)}r(Ao,"ary");function Co(e,t){var n;if(typeof t!="function")throw new ut(v);return e=j(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}r(Co,"before");var fa=ne(function(e,t,n){var u=me;if(n.length){var s=rn(n,xr(fa));u|=ke}return Ht(e,u,t,n,s)}),Io=ne(function(e,t,n){var u=me|Ue;if(n.length){var s=rn(n,xr(Io));u|=ke}return Ht(t,u,e,n,s)});function To(e,t,n){t=n?i:t;var u=Ht(e,Y,i,i,i,i,i,t);return u.placeholder=To.placeholder,u}r(To,"curry");function Oo(e,t,n){t=n?i:t;var u=Ht(e,Dt,i,i,i,i,i,t);return u.placeholder=Oo.placeholder,u}r(Oo,"curryRight");function xo(e,t,n){var u,s,c,g,_,w,R=0,D=!1,P=!1,B=!0;if(typeof e!="function")throw new ut(v);t=ct(t)||0,Se(n)&&(D=!!n.leading,P="maxWait"in n,c=P?xe(ct(n.maxWait)||0,t):c,B="trailing"in n?!!n.trailing:B);function W(Ie){var wt=u,kt=s;return u=s=i,R=Ie,g=e.apply(kt,wt),g}r(W,"invokeFunc");function J(Ie){return R=Ie,_=vi(se,t),D?W(Ie):g}r(J,"leadingEdge");function ee(Ie){var wt=Ie-w,kt=Ie-R,zo=t-wt;return P?Ne(zo,c-kt):zo}r(ee,"remainingWait");function Q(Ie){var wt=Ie-w,kt=Ie-R;return w===i||wt>=t||wt<0||P&&kt>=c}r(Q,"shouldInvoke");function se(){var Ie=Bu();if(Q(Ie))return fe(Ie);_=vi(se,ee(Ie))}r(se,"timerExpired");function fe(Ie){return _=i,B&&u?W(Ie):(u=s=i,g)}r(fe,"trailingEdge");function tt(){_!==i&&Uf(_),R=0,u=w=s=_=i}r(tt,"cancel");function Ke(){return _===i?g:fe(Bu())}r(Ke,"flush");function nt(){var Ie=Bu(),wt=Q(Ie);if(u=arguments,s=this,w=Ie,wt){if(_===i)return J(w);if(P)return Uf(_),_=vi(se,t),W(w)}return _===i&&(_=vi(se,t)),g}return r(nt,"debounced"),nt.cancel=tt,nt.flush=Ke,nt}r(xo,"debounce");var Cd=ne(function(e,t){return _f(e,1,t)}),Id=ne(function(e,t,n){return _f(e,ct(t)||0,n)});function Td(e){return Ht(e,rt)}r(Td,"flip");function $u(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new ut(v);var n=r(function(){var u=arguments,s=t?t.apply(this,u):u[0],c=n.cache;if(c.has(s))return c.get(s);var g=e.apply(this,u);return n.cache=c.set(s,g)||c,g},"memoized");return n.cache=new($u.Cache||Mt),n}r($u,"memoize"),$u.Cache=Mt;function Uu(e){if(typeof e!="function")throw new ut(v);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)}}r(Uu,"negate");function Od(e){return Co(2,e)}r(Od,"once");var xd=gp(function(e,t){t=t.length==1&&V(t[0])?x(t[0],Ve(X())):x(Pe(t,1),Ve(X()));var n=t.length;return ne(function(u){for(var s=-1,c=Ne(u.length,n);++s=t}),Fn=wf(function(){return arguments}())?wf:function(e){return Ee(e)&&ge.call(e,"callee")&&!af.call(e,"callee")},V=I.isArray,Gd=ni?Ve(ni):Zh;function Je(e){return e!=null&&Mu(e.length)&&!Gt(e)}r(Je,"isArrayLike");function Ce(e){return Ee(e)&&Je(e)}r(Ce,"isArrayLikeObject");function Kd(e){return e===!0||e===!1||Ee(e)&&qe(e)==De}r(Kd,"isBoolean");var ln=ih||Sa,kd=nu?Ve(nu):Vh;function Yd(e){return Ee(e)&&e.nodeType===1&&!yi(e)}r(Yd,"isElement");function zd(e){if(e==null)return!0;if(Je(e)&&(V(e)||typeof e=="string"||typeof e.splice=="function"||ln(e)||Lr(e)||Fn(e)))return!e.length;var t=Be(e);if(t==Fe||t==Ye)return!e.size;if(_i(e))return!Ms(e).length;for(var n in e)if(ge.call(e,n))return!1;return!0}r(zd,"isEmpty");function Xd(e,t){return pi(e,t)}r(Xd,"isEqual");function Jd(e,t,n){n=typeof n=="function"?n:i;var u=n?n(e,t):i;return u===i?pi(e,t,i,n):!!u}r(Jd,"isEqualWith");function ca(e){if(!Ee(e))return!1;var t=qe(e);return t==_n||t==br||typeof e.message=="string"&&typeof e.name=="string"&&!yi(e)}r(ca,"isError");function Qd(e){return typeof e=="number"&&of(e)}r(Qd,"isFinite");function Gt(e){if(!Se(e))return!1;var t=qe(e);return t==gt||t==Pt||t==us||t==as}r(Gt,"isFunction");function Ro(e){return typeof e=="number"&&e==j(e)}r(Ro,"isInteger");function Mu(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=It}r(Mu,"isLength");function Se(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}r(Se,"isObject");function Ee(e){return e!=null&&typeof e=="object"}r(Ee,"isObjectLike");var Do=ri?Ve(ri):ep;function Zd(e,t){return e===t||Us(e,t,ea(t))}r(Zd,"isMatch");function Vd(e,t,n){return n=typeof n=="function"?n:i,Us(e,t,ea(t),n)}r(Vd,"isMatchWith");function jd(e){return Po(e)&&e!=+e}r(jd,"isNaN");function e0(e){if(Up(e))throw new Z(y);return Ef(e)}r(e0,"isNative");function t0(e){return e===null}r(t0,"isNull");function n0(e){return e==null}r(n0,"isNil");function Po(e){return typeof e=="number"||Ee(e)&&qe(e)==vn}r(Po,"isNumber");function yi(e){if(!Ee(e)||qe(e)!=dt)return!1;var t=lu(e);if(t===null)return!0;var n=ge.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&au.call(n)==Vl}r(yi,"isPlainObject");var la=ru?Ve(ru):tp;function r0(e){return Ro(e)&&e>=-It&&e<=It}r(r0,"isSafeInteger");var bo=yr?Ve(yr):np;function Fu(e){return typeof e=="string"||!V(e)&&Ee(e)&&qe(e)==bt}r(Fu,"isString");function et(e){return typeof e=="symbol"||Ee(e)&&qe(e)==mn}r(et,"isSymbol");var Lr=mr?Ve(mr):rp;function i0(e){return e===i}r(i0,"isUndefined");function u0(e){return Ee(e)&&Be(e)==Zt}r(u0,"isWeakMap");function s0(e){return Ee(e)&&qe(e)==bi}r(s0,"isWeakSet");var a0=Lu(Fs),f0=Lu(function(e,t){return e<=t});function No(e){if(!e)return[];if(Je(e))return Fu(e)?yt(e):Xe(e);if(ui&&e[ui])return Hl(e[ui]());var t=Be(e),n=t==Fe?Ts:t==Ye?iu:Rr;return n(e)}r(No,"toArray");function Kt(e){if(!e)return e===0?e:0;if(e=ct(e),e===Te||e===-Te){var t=e<0?-1:1;return t*Qt}return e===e?e:0}r(Kt,"toFinite");function j(e){var t=Kt(e),n=t%1;return t===t?n?t-n:t:0}r(j,"toInteger");function Bo(e){return e?Bn(j(e),0,it):0}r(Bo,"toLength");function ct(e){if(typeof e=="number")return e;if(et(e))return kn;if(Se(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Se(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Va(e);var n=gs.test(e);return n||ds.test(e)?vr(e.slice(2),n?2:8):jn.test(e)?kn:+e}r(ct,"toNumber");function $o(e){return Lt(e,Qe(e))}r($o,"toPlainObject");function o0(e){return e?Bn(j(e),-It,It):e===0?e:0}r(o0,"toSafeInteger");function pe(e){return e==null?"":je(e)}r(pe,"toString");var c0=Tr(function(e,t){if(_i(t)||Je(t)){Lt(t,Re(t),e);return}for(var n in t)ge.call(t,n)&&ci(e,n,t[n])}),Uo=Tr(function(e,t){Lt(t,Qe(t),e)}),Hu=Tr(function(e,t,n,u){Lt(t,Qe(t),e,u)}),l0=Tr(function(e,t,n,u){Lt(t,Re(t),e,u)}),h0=Wt(Ps);function p0(e,t){var n=Ir(e);return t==null?n:gf(n,t)}r(p0,"create");var g0=ne(function(e,t){e=ye(e);var n=-1,u=t.length,s=u>2?t[2]:i;for(s&&Ge(t[0],t[1],s)&&(u=1);++n1),c}),Lt(e,Vs(e),n),u&&(n=at(n,C|$|q,Ip));for(var s=t.length;s--;)Ks(n,t[s]);return n});function P0(e,t){return Fo(e,Uu(X(t)))}r(P0,"omitBy");var b0=Wt(function(e,t){return e==null?{}:sp(e,t)});function Fo(e,t){if(e==null)return{};var n=x(Vs(e),function(u){return[u]});return t=X(t),Lf(e,n,function(u,s){return t(u,s[0])})}r(Fo,"pickBy");function N0(e,t,n){t=on(t,e);var u=-1,s=t.length;for(s||(s=1,e=i);++ut){var u=e;e=t,t=u}if(n||e%1||t%1){var s=cf();return Ne(e+s*(t-e+Cs("1e-"+((s+"").length-1))),t)}return Ws(e,t)}r(K0,"random");var k0=Or(function(e,t,n){return t=t.toLowerCase(),e+(n?qo(t):t)});function qo(e){return ga(pe(e).toLowerCase())}r(qo,"capitalize");function Go(e){return e=pe(e),e&&e.replace(tr,Bl).replace(gr,"")}r(Go,"deburr");function Y0(e,t,n){e=pe(e),t=je(t);var u=e.length;n=n===i?u:Bn(j(n),0,u);var s=n;return n-=t.length,n>=0&&e.slice(n,s)==t}r(Y0,"endsWith");function z0(e){return e=pe(e),e&&Xn.test(e)?e.replace(En,$l):e}r(z0,"escape");function X0(e){return e=pe(e),e&&Ui.test(e)?e.replace(Qn,"\\$&"):e}r(X0,"escapeRegExp");var J0=Or(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Q0=Or(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Z0=kf("toLowerCase");function V0(e,t,n){e=pe(e),t=j(t);var u=t?wr(e):0;if(!t||u>=t)return e;var s=(t-u)/2;return xu(du(s),n)+e+xu(gu(s),n)}r(V0,"pad");function j0(e,t,n){e=pe(e),t=j(t);var u=t?wr(e):0;return t&&u>>0,n?(e=pe(e),e&&(typeof t=="string"||t!=null&&!la(t))&&(t=je(t),!t&&Sr(e))?cn(yt(e),0,n):e.split(t,n)):[]}r(u_,"split");var s_=Or(function(e,t,n){return e+(n?" ":"")+ga(t)});function a_(e,t,n){return e=pe(e),n=n==null?0:Bn(j(n),0,e.length),t=je(t),e.slice(n,n+t.length)==t}r(a_,"startsWith");function f_(e,t,n){var u=o.templateSettings;n&&Ge(e,t,n)&&(t=i),e=pe(e),t=Hu({},t,u,Vf);var s=Hu({},t.imports,u.imports,Vf),c=Re(s),g=Is(s,c),_,w,R=0,D=t.interpolate||nr,P="__p += '",B=Os((t.escape||nr).source+"|"+D.source+"|"+(D===Fr?Vn:nr).source+"|"+(t.evaluate||nr).source+"|$","g"),W="//# sourceURL="+(ge.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Es+"]")+` +`;e.replace(B,function(Q,se,fe,tt,Ke,nt){return fe||(fe=tt),P+=e.slice(R,nt).replace(rr,Ul),se&&(_=!0,P+=`' + +__e(`+se+`) + +'`),Ke&&(w=!0,P+=`'; +`+Ke+`; +__p += '`),fe&&(P+=`' + +((__t = (`+fe+`)) == null ? '' : __t) + +'`),R=nt+Q.length,Q}),P+=`'; +`;var J=ge.call(t,"variable")&&t.variable;if(!J)P=`with (obj) { +`+P+` +} +`;else if(Wr.test(J))throw new Z(S);P=(w?P.replace(zn,""):P).replace(Ni,"$1").replace(_t,"$1;"),P="function("+(J||"obj")+`) { +`+(J?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(_?", __e = _.escape":"")+(w?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+P+`return __p +}`;var ee=ko(function(){return ce(c,W+"return "+P).apply(i,g)});if(ee.source=P,ca(ee))throw ee;return ee}r(f_,"template");function o_(e){return pe(e).toLowerCase()}r(o_,"toLower");function c_(e){return pe(e).toUpperCase()}r(c_,"toUpper");function l_(e,t,n){if(e=pe(e),e&&(n||t===i))return Va(e);if(!e||!(t=je(t)))return e;var u=yt(e),s=yt(t),c=ja(u,s),g=ef(u,s)+1;return cn(u,c,g).join("")}r(l_,"trim");function h_(e,t,n){if(e=pe(e),e&&(n||t===i))return e.slice(0,nf(e)+1);if(!e||!(t=je(t)))return e;var u=yt(e),s=ef(u,yt(t))+1;return cn(u,0,s).join("")}r(h_,"trimEnd");function p_(e,t,n){if(e=pe(e),e&&(n||t===i))return e.replace(Hr,"");if(!e||!(t=je(t)))return e;var u=yt(e),s=ja(u,yt(t));return cn(u,s).join("")}r(p_,"trimStart");function g_(e,t){var n=ju,u=es;if(Se(t)){var s="separator"in t?t.separator:s;n="length"in t?j(t.length):n,u="omission"in t?je(t.omission):u}e=pe(e);var c=e.length;if(Sr(e)){var g=yt(e);c=g.length}if(n>=c)return e;var _=n-wr(u);if(_<1)return u;var w=g?cn(g,0,_).join(""):e.slice(0,_);if(s===i)return w+u;if(g&&(_+=w.length-_),la(s)){if(e.slice(_).search(s)){var R,D=w;for(s.global||(s=Os(s.source,pe(Mi.exec(s))+"g")),s.lastIndex=0;R=s.exec(D);)var P=R.index;w=w.slice(0,P===i?_:P)}}else if(e.indexOf(je(s),_)!=_){var B=w.lastIndexOf(s);B>-1&&(w=w.slice(0,B))}return w+u}r(g_,"truncate");function d_(e){return e=pe(e),e&&fs.test(e)?e.replace(Bi,Kl):e}r(d_,"unescape");var __=Or(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),ga=kf("toUpperCase");function Ko(e,t,n){return e=pe(e),t=n?i:t,t===i?Fl(e)?zl(e):Bt(e):e.match(t)||[]}r(Ko,"words");var ko=ne(function(e,t){try{return l(e,i,t)}catch(n){return ca(n)?n:new Z(n)}}),v_=Wt(function(e,t){return h(t,function(n){n=Rt(n),Ft(e,n,fa(e[n],e))}),e});function y_(e){var t=e==null?0:e.length,n=X();return e=t?x(e,function(u){if(typeof u[1]!="function")throw new ut(v);return[n(u[0]),u[1]]}):[],ne(function(u){for(var s=-1;++sIt)return[];var n=it,u=Ne(e,it);t=X(t),e-=it;for(var s=$t(u,t);++n0||t<0)?new ae(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(t=j(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},ae.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},ae.prototype.toArray=function(){return this.take(it)},xt(ae.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),u=/^(?:head|last)$/.test(t),s=o[u?"take"+(t=="last"?"Right":""):t],c=u||/^find/.test(t);s&&(o.prototype[t]=function(){var g=this.__wrapped__,_=u?[1]:arguments,w=g instanceof ae,R=_[0],D=w||V(g),P=r(function(se){var fe=s.apply(o,M([se],_));return u&&B?fe[0]:fe},"interceptor");D&&n&&typeof R=="function"&&R.length!=1&&(w=D=!1);var B=this.__chain__,W=!!this.__actions__.length,J=c&&!B,ee=w&&!W;if(!c&&D){g=ee?g:new ae(this);var Q=e.apply(g,_);return Q.__actions__.push({func:bu,args:[P],thisArg:i}),new st(Q,B)}return J&&ee?e.apply(this,_):(Q=this.thru(P),J?u?Q.value()[0]:Q.value():Q)})}),h(["pop","push","shift","sort","splice","unshift"],function(e){var t=uu[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",u=/^(?:pop|shift)$/.test(e);o.prototype[e]=function(){var s=arguments;if(u&&!this.__chain__){var c=this.value();return t.apply(V(c)?c:[],s)}return this[n](function(g){return t.apply(V(g)?g:[],s)})}}),xt(ae.prototype,function(e,t){var n=o[t];if(n){var u=n.name+"";ge.call(Cr,u)||(Cr[u]=[]),Cr[u].push({name:t,func:n})}}),Cr[Tu(i,Ue).name]=[{name:"wrapper",func:i}],ae.prototype.clone=dh,ae.prototype.reverse=_h,ae.prototype.value=vh,o.prototype.at=Yg,o.prototype.chain=zg,o.prototype.commit=Xg,o.prototype.next=Jg,o.prototype.plant=Zg,o.prototype.reverse=Vg,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=jg,o.prototype.first=o.prototype.head,ui&&(o.prototype[ui]=Qg),o},"runInContext"),un=Xl();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ae._=un,define(function(){return un})):Ot?((Ot.exports=un)._=un,jr._=un):Ae._=un}).call(Dr)});var Qo=le(wi=>{"use strict";var qu=wi&&wi.__assign||function(){return qu=Object.assign||function(i){for(var a,p=1,y=arguments.length;p{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});function hv(i){var a=Math.random()*i;return Math.round(a)}r(hv,"fullJitter");Ea.fullJitter=hv});var Vo=le(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});function pv(i){return i}r(pv,"noJitter");Aa.noJitter=pv});var jo=le(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var gv=Zo(),dv=Vo();function _v(i){switch(i.jitter){case"full":return gv.fullJitter;case"none":default:return dv.noJitter}}r(_v,"JitterFactory");Ca.JitterFactory=_v});var Ta=le(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});var vv=jo(),yv=function(){function i(a){this.options=a,this.attempt=0}return r(i,"Delay"),i.prototype.apply=function(){var a=this;return new Promise(function(p){return setTimeout(p,a.jitteredDelay)})},i.prototype.setAttemptNumber=function(a){this.attempt=a},Object.defineProperty(i.prototype,"jitteredDelay",{get:function(){var a=vv.JitterFactory(this.options);return a(this.delay)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"delay",{get:function(){var a=this.options.startingDelay,p=this.options.timeMultiple,y=this.numOfDelayedAttempts,v=a*Math.pow(p,y);return Math.min(v,this.options.maxDelay)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"numOfDelayedAttempts",{get:function(){return this.attempt},enumerable:!0,configurable:!0}),i}();Ia.Delay=yv});var ec=le(Yt=>{"use strict";var mv=Yt&&Yt.__extends||function(){var i=r(function(a,p){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,v){y.__proto__=v}||function(y,v){for(var S in v)v.hasOwnProperty(S)&&(y[S]=v[S])},i(a,p)},"extendStatics");return function(a,p){i(a,p);function y(){this.constructor=a}r(y,"__"),a.prototype=p===null?Object.create(p):(y.prototype=p.prototype,new y)}}(),Sv=Yt&&Yt.__awaiter||function(i,a,p,y){function v(S){return S instanceof p?S:new p(function(b){b(S)})}return r(v,"adopt"),new(p||(p=Promise))(function(S,b){function N($){try{C(y.next($))}catch(q){b(q)}}r(N,"fulfilled");function U($){try{C(y.throw($))}catch(q){b(q)}}r(U,"rejected");function C($){$.done?S($.value):v($.value).then(N,U)}r(C,"step"),C((y=y.apply(i,a||[])).next())})},wv=Yt&&Yt.__generator||function(i,a){var p={label:0,sent:function(){if(S[0]&1)throw S[1];return S[1]},trys:[],ops:[]},y,v,S,b;return b={next:N(0),throw:N(1),return:N(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function N(C){return function($){return U([C,$])}}function U(C){if(y)throw new TypeError("Generator is already executing.");for(;p;)try{if(y=1,v&&(S=C[0]&2?v.return:C[0]?v.throw||((S=v.return)&&S.call(v),0):v.next)&&!(S=S.call(v,C[1])).done)return S;switch(v=0,S&&(C=[C[0]&2,S.value]),C[0]){case 0:case 1:S=C;break;case 4:return p.label++,{value:C[1],done:!1};case 5:p.label++,v=C[1],C=[0];continue;case 7:C=p.ops.pop(),p.trys.pop();continue;default:if(S=p.trys,!(S=S.length>0&&S[S.length-1])&&(C[0]===6||C[0]===2)){p=0;continue}if(C[0]===3&&(!S||C[1]>S[0]&&C[1]{"use strict";var Cv=Ei&&Ei.__extends||function(){var i=r(function(a,p){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,v){y.__proto__=v}||function(y,v){for(var S in v)v.hasOwnProperty(S)&&(y[S]=v[S])},i(a,p)},"extendStatics");return function(a,p){i(a,p);function y(){this.constructor=a}r(y,"__"),a.prototype=p===null?Object.create(p):(y.prototype=p.prototype,new y)}}();Object.defineProperty(Ei,"__esModule",{value:!0});var Iv=Ta(),Tv=function(i){Cv(a,i);function a(){return i!==null&&i.apply(this,arguments)||this}return r(a,"AlwaysDelay"),a}(Iv.Delay);Ei.AlwaysDelay=Tv});var nc=le(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var Ov=ec(),xv=tc();function Lv(i,a){var p=Rv(i);return p.setAttemptNumber(a),p}r(Lv,"DelayFactory");Oa.DelayFactory=Lv;function Rv(i){return i.delayFirstAttempt?new xv.AlwaysDelay(i):new Ov.SkipFirstDelay(i)}r(Rv,"initDelayClass")});var rc=le(Wn=>{"use strict";var xa=Wn&&Wn.__awaiter||function(i,a,p,y){function v(S){return S instanceof p?S:new p(function(b){b(S)})}return r(v,"adopt"),new(p||(p=Promise))(function(S,b){function N($){try{C(y.next($))}catch(q){b(q)}}r(N,"fulfilled");function U($){try{C(y.throw($))}catch(q){b(q)}}r(U,"rejected");function C($){$.done?S($.value):v($.value).then(N,U)}r(C,"step"),C((y=y.apply(i,a||[])).next())})},La=Wn&&Wn.__generator||function(i,a){var p={label:0,sent:function(){if(S[0]&1)throw S[1];return S[1]},trys:[],ops:[]},y,v,S,b;return b={next:N(0),throw:N(1),return:N(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function N(C){return function($){return U([C,$])}}function U(C){if(y)throw new TypeError("Generator is already executing.");for(;p;)try{if(y=1,v&&(S=C[0]&2?v.return:C[0]?v.throw||((S=v.return)&&S.call(v),0):v.next)&&!(S=S.call(v,C[1])).done)return S;switch(v=0,S&&(C=[C[0]&2,S.value]),C[0]){case 0:case 1:S=C;break;case 4:return p.label++,{value:C[1],done:!1};case 5:p.label++,v=C[1],C=[0];continue;case 7:C=p.ops.pop(),p.trys.pop();continue;default:if(S=p.trys,!(S=S.length>0&&S[S.length-1])&&(C[0]===6||C[0]===2)){p=0;continue}if(C[0]===3&&(!S||C[1]>S[0]&&C[1]=this.options.numOfAttempts},enumerable:!0,configurable:!0}),i.prototype.applyDelay=function(){return xa(this,void 0,void 0,function(){var a;return La(this,function(p){switch(p.label){case 0:return a=Pv.DelayFactory(this.options,this.attemptNumber),[4,a.apply()];case 1:return p.sent(),[2]}})})},i}()});var Ra=le((Gu,ic)=>{(function(i,a){typeof Gu=="object"&&typeof ic<"u"?a(Gu):typeof define=="function"&&define.amd?define(["exports"],a):(i=typeof globalThis<"u"?globalThis:i||self,a(i.async={}))})(Gu,function(i){"use strict";function a(l,...f){return(...h)=>l(...f,...h)}r(a,"apply");function p(l){return function(...f){var h=f.pop();return l.call(this,f,h)}}r(p,"initialParams");var y=typeof queueMicrotask=="function"&&queueMicrotask,v=typeof setImmediate=="function"&&setImmediate,S=typeof process=="object"&&typeof process.nextTick=="function";function b(l){setTimeout(l,0)}r(b,"fallback");function N(l){return(f,...h)=>l(()=>f(...h))}r(N,"wrap");var U;y?U=queueMicrotask:v?U=setImmediate:S?U=process.nextTick:U=b;var C=N(U);function $(l){return de(l)?function(...f){let h=f.pop(),d=l.apply(this,f);return q(d,h)}:p(function(f,h){var d;try{d=l.apply(this,f)}catch(E){return h(E)}if(d&&typeof d.then=="function")return q(d,h);h(null,d)})}r($,"asyncify");function q(l,f){return l.then(h=>{K(f,null,h)},h=>{K(f,h&&(h instanceof Error||h.message)?h:new Error(h))})}r(q,"handlePromise");function K(l,f,h){try{l(f,h)}catch(d){C(E=>{throw E},d)}}r(K,"invokeCallback");function de(l){return l[Symbol.toStringTag]==="AsyncFunction"}r(de,"isAsync");function me(l){return l[Symbol.toStringTag]==="AsyncGenerator"}r(me,"isAsyncGenerator");function Ue(l){return typeof l[Symbol.asyncIterator]=="function"}r(Ue,"isAsyncIterable");function z(l){if(typeof l!="function")throw new Error("expected a function");return de(l)?$(l):l}r(z,"wrapAsync");function Y(l,f){if(f||(f=l.length),!f)throw new Error("arity is undefined");function h(...d){return typeof d[f-1]=="function"?l.apply(this,d):new Promise((E,A)=>{d[f-1]=(T,...O)=>{if(T)return A(T);E(O.length>1?O:O[0])},l.apply(this,d)})}return r(h,"awaitable"),h}r(Y,"awaitify");function Dt(l){return r(function(h,...d){return Y(function(A){var T=this;return l(h,(O,x)=>{z(O).apply(T,d.concat(x))},A)})},"applyEach")}r(Dt,"applyEach$1");function ke(l,f,h,d){f=f||[];var E=[],A=0,T=z(h);return l(f,(O,x,M)=>{var te=A++;T(O,(oe,re)=>{E[te]=re,M(oe)})},O=>{d(O,E)})}r(ke,"_asyncMap");function ht(l){return l&&typeof l.length=="number"&&l.length>=0&&l.length%1===0}r(ht,"isArrayLike");var At={};function rt(l){function f(...h){if(l!==null){var d=l;l=null,d.apply(this,h)}}return r(f,"wrapper"),Object.assign(f,l),f}r(rt,"once");function ju(l){return l[Symbol.iterator]&&l[Symbol.iterator]()}r(ju,"getIterator");function es(l){var f=-1,h=l.length;return r(function(){return++f=f||T||E||(T=!0,l.next().then(({value:re,done:ze})=>{if(!(A||E)){if(T=!1,ze){E=!0,O<=0&&d(null);return}O++,h(re,x,te),x++,M()}}).catch(oe))}r(M,"replenish");function te(re,ze){if(O-=1,!A){if(re)return oe(re);if(re===!1){E=!0,A=!0;return}if(ze===At||E&&O<=0)return E=!0,d(null);M()}}r(te,"iterateeCallback");function oe(re){A||(T=!1,E=!0,d(re))}r(oe,"handleError"),M()}r(Di,"asyncEachOfLimit");var Te=r(l=>(f,h,d)=>{if(d=rt(d),l<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!f)return d(null);if(me(f))return Di(f,l,h,d);if(Ue(f))return Di(f[Symbol.asyncIterator](),l,h,d);var E=Ri(f),A=!1,T=!1,O=0,x=!1;function M(oe,re){if(!T)if(O-=1,oe)A=!0,d(oe);else if(oe===!1)A=!0,T=!0;else{if(re===At||A&&O<=0)return A=!0,d(null);x||te()}}r(M,"iterateeCallback");function te(){for(x=!0;O1?E:E[0])}return r(h,"callback"),h[gt]=new Promise((d,E)=>{l=d,f=E}),h}r(Pt,"promiseCallback");function Fe(l,f,h){typeof f!="number"&&(h=f,f=null),h=rt(h||Pt());var d=Object.keys(l).length;if(!d)return h(null);f||(f=d);var E={},A=0,T=!1,O=!1,x=Object.create(null),M=[],te=[],oe={};Object.keys(l).forEach(H=>{var k=l[H];if(!Array.isArray(k)){re(H,[k]),te.push(H);return}var ue=k.slice(0,k.length-1),ve=ue.length;if(ve===0){re(H,k),te.push(H);return}oe[H]=ve,ue.forEach(we=>{if(!l[we])throw new Error("async.auto task `"+H+"` has a non-existent dependency `"+we+"` in "+ue.join(", "));en(we,()=>{ve--,ve===0&&re(H,k)})})}),ie(),ze();function re(H,k){M.push(()=>tn(H,k))}r(re,"enqueueTask");function ze(){if(!T){if(M.length===0&&A===0)return h(null,E);for(;M.length&&Aue()),ze()}r(Bt,"taskComplete");function tn(H,k){if(!O){var ue=Ct((we,...We)=>{if(A--,we===!1){T=!0;return}if(We.length<2&&([We]=We),we){var nn={};if(Object.keys(E).forEach(vt=>{nn[vt]=E[vt]}),nn[H]=We,O=!0,x=Object.create(null),T)return;h(we,nn)}else E[H]=We,Bt(H)});A++;var ve=z(k[k.length-1]);k.length>1?ve(E,ue):ve(ue)}}r(tn,"runTask");function ie(){for(var H,k=0;te.length;)H=te.pop(),k++,G(H).forEach(ue=>{--oe[ue]===0&&te.push(ue)});if(k!==d)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}r(ie,"checkForDeadlocks");function G(H){var k=[];return Object.keys(l).forEach(ue=>{let ve=l[ue];Array.isArray(ve)&&ve.indexOf(H)>=0&&k.push(ue)}),k}return r(G,"getDependents"),h[gt]}r(Fe,"auto");var vn=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,ss=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,dt=/,/,Pi=/(=.+)?(\s*)$/;function as(l){let f="",h=0,d=l.indexOf("*/");for(;hE.replace(Pi,"").trim())}r(yn,"parseParams");function Ye(l,f){var h={};return Object.keys(l).forEach(d=>{var E=l[d],A,T=de(E),O=!T&&E.length===1||T&&E.length===0;if(Array.isArray(E))A=[...E],E=A.pop(),h[d]=A.concat(A.length>0?x:E);else if(O)h[d]=E;else{if(A=yn(E),E.length===0&&!T&&A.length===0)throw new Error("autoInject task functions require explicit parameters.");T||A.pop(),h[d]=A.concat(x)}function x(M,te){var oe=A.map(re=>M[re]);oe.push(te),z(E)(...oe)}r(x,"newTask")}),Fe(h,f)}r(Ye,"autoInject");let yr=class yr{constructor(){this.head=this.tail=null,this.length=0}removeLink(f){return f.prev?f.prev.next=f.next:this.head=f.next,f.next?f.next.prev=f.prev:this.tail=f.prev,f.prev=f.next=null,this.length-=1,f}empty(){for(;this.head;)this.shift();return this}insertAfter(f,h){h.prev=f,h.next=f.next,f.next?f.next.prev=h:this.tail=h,f.next=h,this.length+=1}insertBefore(f,h){h.prev=f.prev,h.next=f,f.prev?f.prev.next=h:this.head=h,f.prev=h,this.length+=1}unshift(f){this.head?this.insertBefore(this.head,f):mn(this,f)}push(f){this.tail?this.insertAfter(this.tail,f):mn(this,f)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var f=this.head;f;)yield f.data,f=f.next}remove(f){for(var h=this.head;h;){var{next:d}=h;f(h)&&this.removeLink(h),h=d}return this}};r(yr,"DLL");let bt=yr;function mn(l,f){l.length=1,l.head=l.tail=f}r(mn,"setInitial");function Nr(l,f,h){if(f==null)f=1;else if(f===0)throw new RangeError("Concurrency must not be zero");var d=z(l),E=0,A=[];let T={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function O(G,H){T[G].push(H)}r(O,"on");function x(G,H){let k=r((...ue)=>{M(G,k),H(...ue)},"handleAndRemove");T[G].push(k)}r(x,"once");function M(G,H){if(!G)return Object.keys(T).forEach(k=>T[k]=[]);if(!H)return T[G]=[];T[G]=T[G].filter(k=>k!==H)}r(M,"off");function te(G,...H){T[G].forEach(k=>k(...H))}r(te,"trigger");var oe=!1;function re(G,H,k,ue){if(ue!=null&&typeof ue!="function")throw new Error("task callback must be a function");ie.started=!0;var ve,we;function We(vt,...$t){if(vt)return k?we(vt):ve();if($t.length<=1)return ve($t[0]);ve($t)}r(We,"promiseCallback");var nn=ie._createTaskItem(G,k?We:ue||We);if(H?ie._tasks.unshift(nn):ie._tasks.push(nn),oe||(oe=!0,C(()=>{oe=!1,ie.process()})),k||!ue)return new Promise((vt,$t)=>{ve=vt,we=$t})}r(re,"_insert");function ze(G){return function(H,...k){E-=1;for(var ue=0,ve=G.length;ue0&&A.splice(We,1),we.callback(H,...k),H!=null&&te("error",H,we.data)}E<=ie.concurrency-ie.buffer&&te("unsaturated"),ie.idle()&&te("drain"),ie.process()}}r(ze,"_createCB");function en(G){return G.length===0&&ie.idle()?(C(()=>te("drain")),!0):!1}r(en,"_maybeDrain");let Bt=r(G=>H=>{if(!H)return new Promise((k,ue)=>{x(G,(ve,we)=>{if(ve)return ue(ve);k(we)})});M(G),O(G,H)},"eventMethod");var tn=!1,ie={_tasks:new bt,_createTaskItem(G,H){return{data:G,callback:H}},*[Symbol.iterator](){yield*ie._tasks[Symbol.iterator]()},concurrency:f,payload:h,buffer:f/4,started:!1,paused:!1,push(G,H){return Array.isArray(G)?en(G)?void 0:G.map(k=>re(k,!1,!1,H)):re(G,!1,!1,H)},pushAsync(G,H){return Array.isArray(G)?en(G)?void 0:G.map(k=>re(k,!1,!0,H)):re(G,!1,!0,H)},kill(){M(),ie._tasks.empty()},unshift(G,H){return Array.isArray(G)?en(G)?void 0:G.map(k=>re(k,!0,!1,H)):re(G,!0,!1,H)},unshiftAsync(G,H){return Array.isArray(G)?en(G)?void 0:G.map(k=>re(k,!0,!0,H)):re(G,!0,!0,H)},remove(G){ie._tasks.remove(G)},process(){if(!tn){for(tn=!0;!ie.paused&&E{E(f,A,(x,M)=>{f=M,O(x)})},A=>d(A,f))}r(Sn,"reduce");var He=Y(Sn,4);function wn(...l){var f=l.map(z);return function(...h){var d=this,E=h[h.length-1];return typeof E=="function"?h.pop():E=Pt(),He(f,h,(A,T,O)=>{T.apply(d,A.concat((x,...M)=>{O(x,M)}))},(A,T)=>E(A,...T)),E[gt]}}r(wn,"seq");function Yn(...l){return wn(...l.reverse())}r(Yn,"compose");function Br(l,f,h,d){return ke(Te(f),l,h,d)}r(Br,"mapLimit");var Nt=Y(Br,4);function $r(l,f,h,d){var E=z(h);return Nt(l,f,(A,T)=>{E(A,(O,...x)=>O?T(O):T(O,x))},(A,T)=>{for(var O=[],x=0;x{var T=!1,O;let x=z(E);h(d,(M,te,oe)=>{x(M,(re,ze)=>{if(re||re===!1)return oe(re);if(l(ze)&&!O)return T=!0,O=f(!0,M),oe(null,At);oe()})},M=>{if(M)return A(M);A(null,T?O:f(!1))})}}r(_t,"_createTester");function Bi(l,f,h){return _t(d=>d,(d,E)=>E)(Me,l,f,h)}r(Bi,"detect");var En=Y(Bi,3);function fs(l,f,h,d){return _t(E=>E,(E,A)=>A)(Te(f),l,h,d)}r(fs,"detectLimit");var Xn=Y(fs,4);function os(l,f,h){return _t(d=>d,(d,E)=>E)(Te(1),l,f,h)}r(os,"detectSeries");var Jn=Y(os,3);function Fr(l){return(f,...h)=>z(f)(...h,(d,...E)=>{typeof console=="object"&&(d?console.error&&console.error(d):console[l]&&E.forEach(A=>console[l](A)))})}r(Fr,"consoleFunc");var $i=Fr("dir");function cs(l,f,h){h=Ct(h);var d=z(l),E=z(f),A;function T(x,...M){if(x)return h(x);x!==!1&&(A=M,E(...M,O))}r(T,"next");function O(x,M){if(x)return h(x);if(x!==!1){if(!M)return h(null,...A);d(T)}}return r(O,"check"),O(null,!0)}r(cs,"doWhilst");var An=Y(cs,3);function Qn(l,f,h){let d=z(f);return An(l,(...E)=>{let A=E.pop();d(...E,(T,O)=>A(T,!O))},h)}r(Qn,"doUntil");function Ui(l){return(f,h,d)=>l(f,d)}r(Ui,"_withoutIndex");function Hr(l,f,h){return Me(l,Ui(z(f)),h)}r(Hr,"eachLimit$2");var Zn=Y(Hr,3);function ls(l,f,h,d){return Te(f)(l,Ui(z(h)),d)}r(ls,"eachLimit");var Cn=Y(ls,4);function hs(l,f,h){return Cn(l,1,f,h)}r(hs,"eachSeries");var In=Y(hs,3);function Wr(l){return de(l)?l:function(...f){var h=f.pop(),d=!0;f.push((...E)=>{d?C(()=>h(...E)):h(...E)}),l.apply(this,f),d=!1}}r(Wr,"ensureAsync");function ps(l,f,h){return _t(d=>!d,d=>!d)(Me,l,f,h)}r(ps,"every");var Vn=Y(ps,3);function Mi(l,f,h,d){return _t(E=>!E,E=>!E)(Te(f),l,h,d)}r(Mi,"everyLimit");var jn=Y(Mi,4);function gs(l,f,h){return _t(d=>!d,d=>!d)(De,l,f,h)}r(gs,"everySeries");var er=Y(gs,3);function ds(l,f,h,d){var E=new Array(f.length);l(f,(A,T,O)=>{h(A,(x,M)=>{E[T]=!!M,O(x)})},A=>{if(A)return d(A);for(var T=[],O=0;O{h(A,(x,M)=>{if(x)return O(x);M&&E.push({index:T,value:A}),O(x)})},A=>{if(A)return d(A);d(null,E.sort((T,O)=>T.index-O.index).map(T=>T.value))})}r(_s,"filterGeneric");function tr(l,f,h,d){var E=ht(f)?ds:_s;return E(l,f,z(h),d)}r(tr,"_filter");function nr(l,f,h){return tr(Me,l,f,h)}r(nr,"filter");var rr=Y(nr,3);function ir(l,f,h,d){return tr(Te(f),l,h,d)}r(ir,"filterLimit");var ur=Y(ir,4);function vs(l,f,h){return tr(De,l,f,h)}r(vs,"filterSeries");var sr=Y(vs,3);function Fi(l,f){var h=Ct(f),d=z(Wr(l));function E(A){if(A)return h(A);A!==!1&&d(E)}return r(E,"next"),E()}r(Fi,"forever");var qr=Y(Fi,2);function Hi(l,f,h,d){var E=z(h);return Nt(l,f,(A,T)=>{E(A,(O,x)=>O?T(O):T(O,{key:x,val:A}))},(A,T)=>{for(var O={},{hasOwnProperty:x}=Object.prototype,M=0;M{A(T,O,(M,te)=>{if(M)return x(M);E[O]=te,x(M)})},T=>d(T,E))}r(Ki,"mapValuesLimit");var Tn=Y(Ki,4);function Gr(l,f,h){return Tn(l,1/0,f,h)}r(Gr,"mapValues");function fr(l,f,h){return Tn(l,1,f,h)}r(fr,"mapValuesSeries");function ki(l,f=h=>h){var h=Object.create(null),d=Object.create(null),E=z(l),A=p((T,O)=>{var x=f(...T);x in h?C(()=>O(null,...h[x])):x in d?d[x].push(O):(d[x]=[O],E(...T,(M,...te)=>{M||(h[x]=te);var oe=d[x];delete d[x];for(var re=0,ze=oe.length;re{var d=ht(f)?[]:{};l(f,(E,A,T)=>{z(E)((O,...x)=>{x.length<2&&([x]=x),d[A]=x,T(O)})},E=>h(E,d))},3);function Yi(l,f){return or(Me,l,f)}r(Yi,"parallel");function Kr(l,f,h){return or(Te(f),l,h)}r(Kr,"parallelLimit");function cr(l,f){var h=z(l);return Nr((d,E)=>{h(d[0],E)},f,1)}r(cr,"queue");let mr=class mr{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(f){let h;for(;f>0&&Rn(this.heap[f],this.heap[h=kr(f)]);){let d=this.heap[f];this.heap[f]=this.heap[h],this.heap[h]=d,f=h}}percDown(f){let h;for(;(h=ys(f))=0;d--)this.percDown(d);return this}};r(mr,"Heap");let Ln=mr;function ys(l){return(l<<1)+1}r(ys,"leftChi");function kr(l){return(l+1>>1)-1}r(kr,"parent");function Rn(l,f){return l.priority!==f.priority?l.priority({data:T,priority:O,callback:x});function A(T,O){return Array.isArray(T)?T.map(x=>({data:x,priority:O})):{data:T,priority:O}}return r(A,"createDataItems"),h.push=function(T,O=0,x){return d(A(T,O),x)},h.pushAsync=function(T,O=0,x){return E(A(T,O),x)},delete h.unshift,delete h.unshiftAsync,h}r(lr,"priorityQueue");function jt(l,f){if(f=rt(f),!Array.isArray(l))return f(new TypeError("First argument to race must be an array of functions"));if(!l.length)return f();for(var h=0,d=l.length;h{let O={};if(A&&(O.error=A),T.length>0){var x=T;T.length<=1&&([x]=T),O.value=x}E(null,O)}),f.apply(this,d)},"reflectOn"))}r(hr,"reflect");function zr(l){var f;return Array.isArray(l)?f=l.map(hr):(f={},Object.keys(l).forEach(h=>{f[h]=hr.call(this,l[h])})),f}r(zr,"reflectAll");function pr(l,f,h,d){let E=z(h);return tr(l,f,(A,T)=>{E(A,(O,x)=>{T(O,!x)})},d)}r(pr,"reject$2");function zi(l,f,h){return pr(Me,l,f,h)}r(zi,"reject");var Xr=Y(zi,3);function ms(l,f,h,d){return pr(Te(f),l,h,d)}r(ms,"rejectLimit");var Xi=Y(ms,4);function Ss(l,f,h){return pr(De,l,f,h)}r(Ss,"rejectSeries");var Jr=Y(Ss,3);function Ji(l){return function(){return l}}r(Ji,"constant");let Qr=5,Qi=0;function gr(l,f,h){var d={times:Qr,intervalFunc:Ji(Qi)};if(arguments.length<3&&typeof l=="function"?(h=f||Pt(),f=l):(Zr(d,l),h=h||Pt()),typeof f!="function")throw new Error("Invalid arguments for async.retry");var E=z(f),A=1;function T(){E((O,...x)=>{O!==!1&&(O&&A++{(E.lengthd)(Me,l,f,h)}r(ws,"some");var dr=Y(ws,3);function Es(l,f,h,d){return _t(Boolean,E=>E)(Te(f),l,h,d)}r(Es,"someLimit");var he=Y(Es,4);function _e(l,f,h){return _t(Boolean,d=>d)(De,l,f,h)}r(_e,"someSeries");var _r=Y(_e,3);function As(l,f,h){var d=z(f);return pt(l,(A,T)=>{d(A,(O,x)=>{if(O)return T(O);T(O,{value:A,criteria:x})})},(A,T)=>{if(A)return h(A);h(null,T.sort(E).map(O=>O.value))});function E(A,T){var O=A.criteria,x=T.criteria;return Ox?1:0}}r(As,"sortBy");var ji=Y(As,3);function eu(l,f,h){var d=z(l);return p((E,A)=>{var T=!1,O;function x(){var M=l.name||"anonymous",te=new Error('Callback function "'+M+'" timed out.');te.code="ETIMEDOUT",h&&(te.info=h),T=!0,A(te)}r(x,"timeoutCallback"),E.push((...M)=>{T||(A(...M),clearTimeout(O))}),O=setTimeout(x,f),d(...E)})}r(eu,"timeout");function Cs(l){for(var f=Array(l);l--;)f[l]=l;return f}r(Cs,"range");function vr(l,f,h,d){var E=z(h);return Nt(Cs(l),f,E,d)}r(vr,"timesLimit");function Vr(l,f,h){return vr(l,1/0,f,h)}r(Vr,"times");function tu(l,f,h){return vr(l,1,f,h)}r(tu,"timesSeries");function Ae(l,f,h,d){arguments.length<=3&&typeof f=="function"&&(d=h,h=f,f=Array.isArray(l)?[]:{}),d=rt(d||Pt());var E=z(h);return Me(l,(A,T,O)=>{E(f,A,T,O)},A=>d(A,f)),d[gt]}r(Ae,"transform");function jr(l,f){var h=null,d;return In(l,(E,A)=>{z(E)((T,...O)=>{if(T===!1)return A(T);O.length<2?[d]=O:d=O,h=T,A(T?null:{})})},()=>f(h,d))}r(jr,"tryEach");var Ot=Y(jr);function ei(l){return(...f)=>(l.unmemoized||l)(...f)}r(ei,"unmemoize");function ti(l,f,h){h=Ct(h);var d=z(f),E=z(l),A=[];function T(x,...M){if(x)return h(x);A=M,x!==!1&&E(O)}r(T,"next");function O(x,M){if(x)return h(x);if(x!==!1){if(!M)return h(null,...A);d(T)}}return r(O,"check"),E(O)}r(ti,"whilst");var Le=Y(ti,3);function ni(l,f,h){let d=z(l);return Le(E=>d((A,T)=>E(A,!T)),f,h)}r(ni,"until");function nu(l,f){if(f=rt(f),!Array.isArray(l))return f(new Error("First argument to waterfall must be an array of functions"));if(!l.length)return f();var h=0;function d(A){var T=z(l[h++]);T(...A,Ct(E))}r(d,"nextTask");function E(A,...T){if(A!==!1){if(A||h===l.length)return f(A,...T);d(T)}}r(E,"next"),d([])}r(nu,"waterfall");var ri=Y(nu),ru={apply:a,applyEach:gn,applyEachSeries:_n,asyncify:$,auto:Fe,autoInject:Ye,cargo:Zt,cargoQueue:bi,compose:Yn,concat:Vt,concatLimit:Tt,concatSeries:zn,constant:Ni,detect:En,detectLimit:Xn,detectSeries:Jn,dir:$i,doUntil:Qn,doWhilst:An,each:Zn,eachLimit:Cn,eachOf:Me,eachOfLimit:Qt,eachOfSeries:De,eachSeries:In,ensureAsync:Wr,every:Vn,everyLimit:jn,everySeries:er,filter:rr,filterLimit:ur,filterSeries:sr,forever:qr,groupBy:Wi,groupByLimit:ar,groupBySeries:qi,log:Gi,map:pt,mapLimit:Nt,mapSeries:br,mapValues:Gr,mapValuesLimit:Tn,mapValuesSeries:fr,memoize:ki,nextTick:xn,parallel:Yi,parallelLimit:Kr,priorityQueue:lr,queue:cr,race:Yr,reduce:He,reduceRight:Dn,reflect:hr,reflectAll:zr,reject:Xr,rejectLimit:Xi,rejectSeries:Jr,retry:gr,retryable:Zi,seq:wn,series:Vi,setImmediate:C,some:dr,someLimit:he,someSeries:_r,sortBy:ji,timeout:eu,times:Vr,timesLimit:vr,timesSeries:tu,transform:Ae,tryEach:Ot,unmemoize:ei,until:ni,waterfall:ri,whilst:Le,all:Vn,allLimit:jn,allSeries:er,any:dr,anyLimit:he,anySeries:_r,find:En,findLimit:Xn,findSeries:Jn,flatMap:Vt,flatMapLimit:Tt,flatMapSeries:zn,forEach:Zn,forEachSeries:In,forEachLimit:Cn,forEachOf:Me,forEachOfSeries:De,forEachOfLimit:Qt,inject:He,foldl:He,foldr:Dn,select:rr,selectLimit:ur,selectSeries:sr,wrapSync:$,during:Le,doDuring:An};i.all=Vn,i.allLimit=jn,i.allSeries=er,i.any=dr,i.anyLimit=he,i.anySeries=_r,i.apply=a,i.applyEach=gn,i.applyEachSeries=_n,i.asyncify=$,i.auto=Fe,i.autoInject=Ye,i.cargo=Zt,i.cargoQueue=bi,i.compose=Yn,i.concat=Vt,i.concatLimit=Tt,i.concatSeries=zn,i.constant=Ni,i.default=ru,i.detect=En,i.detectLimit=Xn,i.detectSeries=Jn,i.dir=$i,i.doDuring=An,i.doUntil=Qn,i.doWhilst=An,i.during=Le,i.each=Zn,i.eachLimit=Cn,i.eachOf=Me,i.eachOfLimit=Qt,i.eachOfSeries=De,i.eachSeries=In,i.ensureAsync=Wr,i.every=Vn,i.everyLimit=jn,i.everySeries=er,i.filter=rr,i.filterLimit=ur,i.filterSeries=sr,i.find=En,i.findLimit=Xn,i.findSeries=Jn,i.flatMap=Vt,i.flatMapLimit=Tt,i.flatMapSeries=zn,i.foldl=He,i.foldr=Dn,i.forEach=Zn,i.forEachLimit=Cn,i.forEachOf=Me,i.forEachOfLimit=Qt,i.forEachOfSeries=De,i.forEachSeries=In,i.forever=qr,i.groupBy=Wi,i.groupByLimit=ar,i.groupBySeries=qi,i.inject=He,i.log=Gi,i.map=pt,i.mapLimit=Nt,i.mapSeries=br,i.mapValues=Gr,i.mapValuesLimit=Tn,i.mapValuesSeries=fr,i.memoize=ki,i.nextTick=xn,i.parallel=Yi,i.parallelLimit=Kr,i.priorityQueue=lr,i.queue=cr,i.race=Yr,i.reduce=He,i.reduceRight=Dn,i.reflect=hr,i.reflectAll=zr,i.reject=Xr,i.rejectLimit=Xi,i.rejectSeries=Jr,i.retry=gr,i.retryable=Zi,i.select=rr,i.selectLimit=ur,i.selectSeries=sr,i.seq=wn,i.series=Vi,i.setImmediate=C,i.some=dr,i.someLimit=he,i.someSeries=_r,i.sortBy=ji,i.timeout=eu,i.times=Vr,i.timesLimit=vr,i.timesSeries=tu,i.transform=Ae,i.tryEach=Ot,i.unmemoize=ei,i.until=ni,i.waterfall=ri,i.whilst=Le,i.wrapSync=$,Object.defineProperty(i,"__esModule",{value:!0})})});var qn=le((zm,uc)=>{var Bv={usernamePassword:"username_password",securityCertificate:"security_certificate"},$v={selfHosted:"couchbase://",cloud:"couchbases://"},Uv={bucketIsEmpty:0,primaryIndexDoesNotExist:4e3,n1qlMethodsAreNotSupported:19,userDoesNotHaveAccessToPrivilegeCluster:13014,parseSyntaxError:3e3,inferMethodIsNotSupport:16003,collectionDoesNotExist:12003,indexAlreadyCreated:4300,duplicateDocumentKey:12009,authorizationFailure:6},Mv={hasError:"hasError"},Fv={capella:"Capella",selfHosted:"Self-hosted"},Hv="",Wv=1e3,qv="_default",Gv=11210,Kv="Something went wrong. Please, check logs for more details",kv=/\(meta\(\)\.(.*?)\)/,Yv=/"nodes":(\[.*?\])/,zv=/(HASH|hash)\((.*?)\)$/;uc.exports={AUTH_TYPE:Bv,COUCHBASE_ERROR_CODE:Uv,COUCHBASE_HOST_PREFIX:$v,COUCHBASE_DEFAULT_KV_CONNECTION_PORT:Gv,DEFAULT_KEY_NAME:Hv,DEFAULT_LIMIT:Wv,DEFAULT_NAME:qv,DISABLED_TOOLTIP:Kv,GET_META_REGEXP:kv,GET_NODES_REGEXP:Yv,GET_PARTITION_HASH_REGEXP:zv,HOSTING:Fv,STATUS:Mv}});var fc=le((Xm,ac)=>{var{isObject:Xv}=Hn(),{DEFAULT_LIMIT:Jv}=qn(),ba=class ba extends Error{constructor({code:a,message:p}){super(),this.code=a,this.message=p}};r(ba,"CustomError");var Da=ba,Na=class Na{constructor(a,p){this.host=a.host,this.port=a.port,a!=null&&a.couchbase_username&&(a!=null&&a.couchbase_password)&&(this.password=a.couchbase_password,this.username=a.couchbase_username),this.httpService=p}encodeCredentials(){return Buffer.from(`${this.username}:${this.password}`).toString("base64")}async fetch(a){try{let p=`http://${this.host}:${this.port}${a}`,v={headers:{Authorization:`Basic ${this.encodeCredentials()}`},useElectronNet:!0};return await this.httpService.get(p,v)}catch(p){throw new Da({message:p.statusText||p.message,code:p.status||p.code})}}async getCollectionDocuments({bucketName:a,scopeName:p,collectionName:y,limit:v}){let S=`/pools/default/buckets/${a}/scopes/${p}/collections/${y}/docs?include_docs=true&limit=${v}&skip=0`;return await this.fetch(S)}async getLocalRandomKey({bucketName:a,scopeName:p,collectionName:y}){let v=`/pools/default/buckets/${a}/scopes/${p}/collections/${y}/localRandomKey`;return await this.fetch(v)}async getIndexes(){return await this.fetch("/indexStatus")}};r(Na,"CouchbaseRestApiService");var Pa=Na,Qv=r(i=>{try{return JSON.parse(i)}catch{return i}},"safeParse"),Zv=r(i=>Xv(i)&&!!i.base64&&!!i.meta,"isBinaryFile"),sc=r(({connectionInfo:i,app:a})=>{let y=a.require("httpService").createInstance(i);return new Pa(i,y)},"createRestApiService"),Vv=r(async({connectionInfo:i,bucketName:a,scopeName:p,collectionName:y,logger:v,app:S})=>{try{v.info(`${a}.${p}.${y}: Start getting documents using REST API`);let b=sc({connectionInfo:i,app:S}),{rows:N}=await b.getCollectionDocuments({bucketName:a,scopeName:p,collectionName:y,limit:Jv});return N.filter(U=>!Zv(U)).map(U=>{var C;return{[a]:Qv((C=U.doc)==null?void 0:C.json),docid:U.id}})}catch(b){return v.error(b),[]}},"getCollectionDocuments"),jv=r(async({connectionInfo:i,logger:a,app:p})=>{a.info("Start getting indexes using REST API");let y=sc({connectionInfo:i,app:p}),{indexes:v}=await y.getIndexes();return v},"getIndexes");ac.exports={getCollectionDocuments:Vv,getIndexes:jv}});var hc=le((Vm,lc)=>{var{isPlainObject:e1,isEmpty:cc,uniq:Qm}=Hn(),{DEFAULT_KEY_NAME:oc,DEFAULT_NAME:Zm}=qn(),t1=r(({documents:i,bucketName:a,scopeName:p,collectionName:y,collectionIndexes:v,includeEmptyCollection:S,standardDocument:b,fieldInference:N})=>{let U=i.filter(q=>e1(q[a])).map(q=>({[oc]:q.docid,...q[a]})),C=N.active==="field"?b:null,$=!S&&cc(U);return{dbName:p,collectionName:y,collectionDocs:{},standardDoc:C,bucketInfo:{bucket:a},emptyBucket:$,documents:U,containerLevelKeys:{key:oc},entityLevel:{indexes:v}}},"getDbCollectionData"),n1=r(({inference:i,bucketName:a})=>cc(i==null?void 0:i.properties)?[]:Object.keys(i.properties).reduce((y,v)=>{var b;return(((b=i.properties[v])==null?void 0:b.samples)||[]).reduce((N,U,C)=>{let $=N[C]||{};return N[C]={...$,[v]:U},N},y)},[]).map(y=>({docid:"",[a]:y})),"convertInferSchemaToDocuments"),r1=r(({entitiesData:i,indexesByCollectionMap:a,scopeBucketNameMap:p})=>i.map(({bucketName:y,scopeName:v,collectionName:S,ifNotExists:b})=>{var N,U,C,$;return{doc:{bucketInfo:{bucket:y,ifNotExists:(U=(N=p[y])==null?void 0:N[v])==null?void 0:U.ifNotExists},emptyBucket:!S,dbName:v,collectionName:S,entityLevel:{ifNotExists:b,indexes:($=(C=a==null?void 0:a[y])==null?void 0:C[v])==null?void 0:$[S]}},objectNames:{collectionName:S},collectionDocs:{},jsonSchema:{type:"object"}}}),"mapParsedResultToMultipleSchema"),i1=r(i=>({}).toString.call(i).split(" ")[1].slice(0,-1).toLowerCase(),"typeOf");lc.exports={getDbCollectionData:t1,convertInferSchemaToDocuments:n1,mapParsedResultToMultipleSchema:r1,typeOf:i1}});var gc=le((eS,pc)=>{var u1=r(({bucketName:i,scopeName:a,collectionName:p,limit:y})=>`INFER \`${i}\`.\`${a}\`.\`${p}\` WITH {"sample_size":${y}, "num_sample_values":3};`,"getInferCollectionDocumentsQuery"),s1=r(({bucketName:i,limit:a,offset:p})=>{let y=`SELECT * FROM \`${i}\``;return Ba({query:y,limit:a,offset:p})},"getSelectBucketDocumentsQuery"),a1=r(({bucketName:i,scopeName:a,collectionName:p,limit:y,offset:v})=>{let S=`SELECT *, META().id AS docid FROM \`${i}\`.\`${a}\`.\`${p}\` AS \`${i}\``;return Ba({query:S,limit:y,offset:v})},"getSelectCollectionDocumentsQuery"),f1=r(({bucketName:i,scopeName:a,collectionName:p})=>`SELECT COUNT(*) AS size FROM \`${i}\`.\`${a}\`.\`${p}\``,"getCountCollectionDocumentsQuery"),o1=r(()=>"SELECT * FROM system:indexes","getSelectIndexesQuery"),Ba=r(({query:i,limit:a,offset:p})=>i+(a?` LIMIT ${a}`:"")+(p?` OFFSET ${p}`:""),"getQueryOptions");pc.exports={getCountCollectionDocumentsQuery:f1,getInferCollectionDocumentsQuery:u1,getSelectBucketDocumentsQuery:s1,getSelectCollectionDocumentsQuery:a1,getSelectIndexesQuery:o1,getQueryOptions:Ba}});var ku=le((rS,vc)=>{var nS=Ra(),{get:c1,uniq:l1,isEmpty:h1}=Hn(),p1=fc(),Ku=hc(),{COUCHBASE_ERROR_CODE:hn,DEFAULT_NAME:g1,DISABLED_TOOLTIP:d1,STATUS:_1,DEFAULT_LIMIT:Ai}=qn(),Gn=gc(),dc=r(async({cluster:i})=>await i.buckets().getAllBuckets(),"getAllBuckets"),v1=r(async({bucketName:i,cluster:a})=>(await a.buckets().createBucket({name:i}),a.bucket(i)),"createNewBucket"),y1=r(async({cluster:i,selectedBucket:a})=>a?[{name:a}]:dc({cluster:i}),"getBucketsForReverse"),m1=r(async({cluster:i,bucketName:a,logger:p})=>{try{let S=await(await(await i.bucket(a)).collections()).getAllScopes();return S1({scopes:S})}catch(y){return p.error(y),[]}},"getBucketScopes"),S1=r(({scopes:i})=>{let a=r(({name:p})=>p===g1,"isDefault");return i.reduce((p,y)=>{if(!a(y))return[...p,y];let v=y.collections.filter(S=>!a(S));return h1(v)?p:[...p,{...y,collections:v}]},[])},"getNonDefaultScopesAndCollections"),w1=r(async({cluster:i,connectionInfo:a,logger:p})=>(await m1({cluster:i,bucketName:a.database,logger:p})).map(v=>{let S=v.collections.map(b=>b.name);return C1({scopeName:v.name,collectionNames:S})}),"getDbCollectionsNames"),E1=r(async({cluster:i,bucketName:a,limit:p=Ai})=>{let y=Gn.getSelectBucketDocumentsQuery({bucketName:a,limit:p}),{rows:v}=await i.query(y);return v},"getDocumentsBySelectStatement"),$a=r(({error:i})=>{var a;return((a=i==null?void 0:i.cause)==null?void 0:a.first_error_code)??(i==null?void 0:i.code)},"getErrorCode"),A1=r(({error:i})=>{var p;switch($a({error:i})){case hn.bucketIsEmpty:return"Collection is empty.";case hn.n1qlMethodsAreNotSupported:return"N1QL methods are not supported.";case hn.parseSyntaxError:case hn.inferMethodIsNotSupport:return"Infer method is not supported.";case hn.userDoesNotHaveAccessToPrivilegeCluster:return"User doesn`t have credentials for privileged cluster.";default:return((p=i==null?void 0:i.cause)==null?void 0:p.first_error_message)||(i==null?void 0:i.message)||""}},"getErrorMessage"),C1=r(({scopeName:i,collectionNames:a,status:p})=>{let y=p===_1.hasError;return{dbCollections:y?[]:l1(a),dbName:i,...p&&{status:p},...y&&{disabledTooltip:d1}}},"prepareBucketCollectionNamesData"),_c=r(async({cluster:i,options:a,query:p,logger:y})=>{let{bucketName:v,scopeName:S,collectionName:b,pagination:N,limit:U}=a;if(y.progress("Get data from database",v+"."+S,b),!(N!=null&&N.enabled)){let de=Gn.getQueryOptions({query:p,limit:U}),{rows:me}=await i.query(de);return me}let C=Number(a.pagination.value)||Ai,$=Math.ceil(a.limit/C),q=[],K=0;for(let de of $){let me=C*de,Ue=a.limit-me{if(a.active==="absolute")return Number(a.absolute.value);let p=Math.ceil(i*a.relative.value/100);return Math.min(p,a.maxValue)},"getDocSamplingSize"),T1=r(async({cluster:i,bucketName:a,scopeName:p,collectionName:y,recordSamplingSettings:v,logger:S})=>{var b;try{let N=Gn.getCountCollectionDocumentsQuery({bucketName:a,scopeName:p,collectionName:y}),{rows:U}=await i.query(N),C=(b=U==null?void 0:U[0])==null?void 0:b.size;return I1({size:C,recordSamplingSettings:v})||Ai}catch(N){return S.error(N),Ai}},"getCollectionSamplingSize"),O1=r(async({cluster:i,bucketName:a,scopeName:p,collectionName:y,limit:v})=>{let S=Gn.getInferCollectionDocumentsQuery({bucketName:a,scopeName:p,collectionName:y,limit:v}),{rows:b,meta:N}=await i.query(S),U=c1(N,"errors.[0]");if(U)throw U;let[[C]]=b;return Ku.convertInferSchemaToDocuments({inference:C,bucketName:a})},"getCollectionDocumentsByInfer"),x1=r(async({cluster:i,data:a,bucketName:p,scopeName:y,collectionName:v,collectionIndexes:S,includeEmptyCollection:b,logger:N,app:U})=>{var C;try{let q={limit:await T1({cluster:i,bucketName:p,scopeName:y,collectionName:v,recordSamplingSettings:a.recordSamplingSettings,logger:N}),pagination:a.pagination,bucketName:p,scopeName:y,collectionName:v},K=Gn.getSelectCollectionDocumentsQuery({bucketName:p,scopeName:y,collectionName:v}),de=await _c({cluster:i,options:q,query:K,logger:N}),me=await D1({cluster:i,bucketName:p,scopeName:y,collectionName:v,documentId:(C=de[0])==null?void 0:C.docid,logger:N});return Ku.getDbCollectionData({bucketName:p,scopeName:y,collectionName:v,documents:de,collectionIndexes:S,includeEmptyCollection:b,standardDocument:me,fieldInference:a.fieldInference})}catch($){return N.error($),L1({error:$,cluster:i,data:a,bucketName:p,scopeName:y,collectionName:v,collectionIndexes:S,includeEmptyCollection:b,logger:N,app:U})}},"getDbCollectionData"),L1=r(async({error:i,cluster:a,data:p,bucketName:y,scopeName:v,collectionName:S,collectionIndexes:b,includeEmptyCollection:N,logger:U,app:C})=>{try{let $=$a({error:i}),q=[];switch($){case hn.primaryIndexDoesNotExist:q=await O1({cluster:a,bucketName:y,scopeName:v,collectionName:S,limit:Ai});break;case hn.inferMethodIsNotSupport:case hn.n1qlMethodsAreNotSupported:q=await p1.getCollectionDocuments({connectionInfo:p.connectionInfo,bucketName:y,scopeName:v,collectionName:S,logger:U,app:C});break}return Ku.getDbCollectionData({bucketName:y,scopeName:v,collectionName:S,documents:q,collectionIndexes:b,includeEmptyCollection:N,fieldInference:p.fieldInference})}catch($){return U.error($),Ku.getDbCollectionData({bucketName:y,scopeName:v,collectionName:S,documents:[],collectionIndexes:b,includeEmptyCollection:N,fieldInference:p.fieldInference})}},"getDbCollectionDataByErrorHandling"),R1=r(async({cluster:i,logger:a})=>{try{let p=Gn.getSelectIndexesQuery(),{rows:y}=await i.query(p);return y.map(v=>v.indexes)}catch(p){return a.error(p),[]}},"getIndexes"),D1=r(async({cluster:i,bucketName:a,scopeName:p,collectionName:y,documentId:v,logger:S})=>{try{let U=i.bucket(a).scope(p).collection(y),{content:C}=await U.get(v);return C}catch(b){return S.error(b),null}},"getCollectionDocumentByDocumentId");vc.exports={getAllBuckets:dc,createNewBucket:v1,getBucketsForReverse:y1,getDbCollectionsNames:w1,getDbCollectionData:x1,getDocumentsBySelectStatement:E1,getErrorCode:$a,getErrorMessage:A1,getIndexes:R1,getPaginatedQuery:_c}});var Ac=le((uS,Ec)=>{var P1=ku(),{AUTH_TYPE:b1,COUCHBASE_HOST_PREFIX:Sc,COUCHBASE_DEFAULT_KV_CONNECTION_PORT:N1,HOSTING:yc}=qn(),lt=null,wc=r(({connectionInfo:i})=>i.host.startsWith(Sc.cloud),"isCloudStorage"),mc=r(({connectionInfo:i})=>{if(wc({connectionInfo:i}))return i.host;let a=i.kv_port||N1;return`${Sc.selfHosted}${i.host}:${a}`},"generateUrl"),B1=r(({connectionInfo:i})=>i.authType===b1.securityCertificate?{url:mc({connectionInfo:i}),options:{authenticator:{certificatePath:i.security_certificate,keyPath:i.security_certificate_key}}}:{url:mc({connectionInfo:i}),options:{username:i.couchbase_username,password:i.couchbase_password}},"generateConnectionParams"),$1=r(async({connectionInfo:i,app:a})=>{if(lt)return lt;let p=await a.require("couchbase"),{url:y,options:v}=B1({connectionInfo:i});lt=await p.connect(y,v);let S=await P1.getAllBuckets({cluster:lt}),b=i.couchbase_bucket;if(b&&!S.includes(b))throw new Error(`Bucket ${b} doesn't exist`);return lt},"connect"),U1=r(async()=>{await(lt==null?void 0:lt.close()),lt=null},"disconnect"),M1=r(()=>{let i=(lt==null?void 0:lt._connStr)||"";return{hosting:wc({connectionInfo:{host:i}})?yc.capella:yc.selfHosted}},"getConnectionInfo");Ec.exports={connect:$1,disconnect:U1,getConnectionInfo:M1}});var Cc=le((aS,F1)=>{F1.exports={name:"CouchbaseV7Plus",version:"0.1.0",versionDate:"2024-03-08",author:"hackolade",engines:{hackolade:"7.0.0",hackoladePlugin:"1.0.1"},contributes:{target:{applicationTarget:"CouchbaseV7Plus",title:"Couchbase w/ collections",versions:["7.x"]},features:{enableForwardEngineering:!0,enableArrayCollections:!1}},description:"Hackolade plugin for Couchbase with scopes and collections","lint-staged":{"*.{js,json}":"prettier --write"},"simple-git-hooks":{"pre-commit":"npx lint-staged","pre-push":"npx eslint ."},scripts:{lint:"eslint . --max-warnings=0",package:"node esbuild.package.js"},dependencies:{async:"3.2.5","exponential-backoff":"3.1.1",lodash:"4.17.21",uuid:"9.0.1",antlr4:"4.9.2"},devDependencies:{"@hackolade/hck-esbuild-plugins-pack":"0.0.1","@types/couchbase":"2.4.9",esbuild:"0.19.12","esbuild-plugin-clean":"1.0.1",eslint:"8.56.0","eslint-config-prettier":"9.1.0","eslint-plugin-prettier":"5.1.3","lint-staged":"14.0.1",prettier:"3.2.4","simple-git-hooks":"2.9.0"}}});var Oc=le((fS,Tc)=>{var zt=require("os"),H1=Cc(),{COUCHBASE_ERROR_CODE:W1}=qn(),q1=r(()=>H1.version,"getPluginVersion"),G1=r(i=>`Date: ${new Date} +Application version: ${i} +Plugin version: ${q1()} -module.exports = { - generateContainerScript(data, logger, callback, app) { - try { - const _ = app.require('lodash'); - const insertSamplesOption = _.get(data, 'options.additionalOptions', []).find(option => option.id === 'INCLUDE_SAMPLES') || {}; - const withSamples = data.options.origin !== 'ui'; - const useDb = scriptHelper.useDbStatement(data.containerData); - let script = useDb + '\n\n' + data.entities.map(entityId => { - const entityData = data.entityData[entityId]; - const script = scriptHelper.getScript({ - entityData, - containerData: data.containerData, - jsonSchema: JSON.parse(data.jsonSchema[entityId]), - definitions: { - internal: JSON.parse(data.internalDefinitions[entityId]), - model: JSON.parse(data.modelDefinitions), - external: JSON.parse(data.externalDefinitions), - }, - }); +System information: + Hostname: ${zt.hostname()} + Platform: ${zt.platform()} ${zt.arch()} + Release: ${zt.release()} + Uptime: ${Y1(zt.uptime())} + Total RAM: ${(zt.totalmem()/1073741824).toFixed(2)} GB + CPU Model: ${zt.cpus()[0].model} + CPU Clock: ${K1(zt.cpus())} MHZ + CPU Cores: ${zt.cpus().length} cores - if (entityData?.[0]?.isActivated) { - return script; - } +`,"getSystemInfo"),K1=r(i=>i.reduce((a,p)=>Math.max(a,p.speed),0),"maxClock"),k1=r(i=>i<10?"0"+i:i,"prefixZero"),Y1=r(i=>Math.floor(i/3600)+":"+k1(parseInt((i/3600-Math.floor(i/3600))*60)),"toTime"),z1=r(({title:i,logger:a,hiddenKeys:p})=>({info(y){a.log("info",{message:y},i,p)},progress(y,v="",S=""){a.progress({message:y,containerName:v,entityName:S})},error(y){a.log("error",Ic(y),i)}}),"createLogger"),Ic=r(i=>{var a,p,y,v;if((a=i==null?void 0:i.context)!=null&&a.response_body){let S=JSON.parse(i.context.response_body);i={...i,...S}}return{type:((p=i.cause)==null?void 0:p.code)===W1.authorizationFailure?"simpleError":"",message:((y=i.cause)==null?void 0:y.first_error_message)||((v=i.cause)==null?void 0:v.message)||i.message}},"createError"),X1={getSystemInfo:G1,createLogger:z1,createError:Ic};Tc.exports=X1});var Ua=le((cS,xc)=>{xc.exports={COUCHBASE_APPLY_TO_INSTANCE:"Couchbase apply to instance",CREATING_A_BUCKET:"Creating a bucket",APPLY_QUERY:"Apply query",COUCHBASE_APPLY_TO_INSTANCE_SKIPPED_ERROR:"Couchbase apply to instance skipped error",COUCHBASE_APPLY_TO_INSTANCE_ERROR:"Couchbase apply to instance error",SCRIPT_SUCCESSFULLY_APPLIED:"Script successfully applied",SUCCESSFULLY_APPLIED:"Successfully applied",ERROR_HAS_BEEN_THROWN_WHILE_APPLYING_SCRIPT_TO_COUCHBASE_INSTANCE:"Error has been thrown while applying script to Couchbase instance",CONNECTING:"Connecting",CONTAINER_DATA_NOT_FOUND:"Container data not found.",THERE_IS_AN_ISSUE_WHILE_CONNECTING_TO_THE_INSTANCE:"There is an issue while connecting to the instance",ERROR_HAS_BEEN_THROWN_WHILE_CONNECTING_TO_BUCKET:"Error has been thrown while connecting to bucket",ERROR_HAS_BEEN_THROWN_WHILE_CREATING_BUCKET_IN_COUCHBASE_INSTANCE:"Error has been thrown while creating a bucket in Couchbase instance",GENERATING_CONTAINER_SCRIPT:"Generating container ddl script",GENERATING_ENTITY_SCRIPT:"Generating entity script"}});var Ma=le((lS,Lc)=>{Lc.exports={getCreatingBucketMessage:i=>`Creating a bucket: ${i}`,getSuccessfullyCreatedBucketMessage:i=>`Bucket ${i} successfully created on cluster`,getApplyingScriptPercentMessage:i=>`Applying script: ${i}%`,getRetryAttemptNumberMessage:i=>` Retry: attempt ${i}`,getApplyingScriptToBucketWithAttemptNumberMessage:(i,a)=>`Applying script to ${i} bucket.${a}`,getApplyingScriptMessage:i=>`Applying script ${i}`,getCheckBucketExistsMessage:i=>`Check bucket ${i} exists`}});var Dc=le((hS,Rc)=>{var J1={badRequest:400};Rc.exports={HTTP_ERROR_CODES:J1}});var Bc=le((pS,Nc)=>{var{trim:Q1}=Hn(),Z1=Ra(),Yu=ku(),{APPLY_QUERY:V1,COUCHBASE_APPLY_TO_INSTANCE_SKIPPED_ERROR:j1,COUCHBASE_APPLY_TO_INSTANCE_ERROR:ey,SCRIPT_SUCCESSFULLY_APPLIED:ty,SUCCESSFULLY_APPLIED:ny,ERROR_HAS_BEEN_THROWN_WHILE_APPLYING_SCRIPT_TO_COUCHBASE_INSTANCE:ry}=Ua(),{getApplyingScriptPercentMessage:Pc,getRetryAttemptNumberMessage:iy,getApplyingScriptToBucketWithAttemptNumberMessage:uy,getApplyingScriptMessage:sy}=Ma(),{COUCHBASE_ERROR_CODE:bc}=qn(),ay=r(async({script:i,cluster:a,logger:p,callback:y})=>{let v=i.split(`; +`).map(Q1).filter(Boolean),S=v.length,b=0;try{Z1.eachOfSeries(v,async(N,U)=>{p.info(V1);try{await a.query(N);let C=U+1,$=Math.round(C/S*100);$-b>=5&&(b=$,p.progress(Pc($)))}catch(C){if(fy(C))p.info(j1);else if(oy(C))p.info(ey),p.progress(Pc(N));else throw C}},()=>{p.info(ty),p.progress(ny),y()})}catch(N){return p.error(N),p.progress(ry),y(N)}},"applyScript"),fy=r(i=>{let a=Yu.getErrorCode({error:i}),p=Yu.getErrorMessage({error:i});return a===bc.indexAlreadyCreated||p.includes("already exist")},"isIndexAlreadyCreatedError"),oy=r(i=>{let a=Yu.getErrorCode({error:i}),p=Yu.getErrorMessage({error:i});return a===bc.duplicateDocumentKey&&p.includes("Duplicate Key")},"isDuplicateDocumentKeyError"),cy=r(({attemptNumber:i,bucketName:a,logger:p})=>{let y=i?iy(i+1):"";p.info(uy(a,y)),p.progress(sy(y))},"logApplyScriptAttempt");Nc.exports={applyScript:ay,logApplyScriptAttempt:cy}});var Uc=le((dS,$c)=>{var ly=r(({index:i,keyIdToName:a={}})=>({indxComments:i.indxComments,indxDescription:i.indxDescription,indxName:i.indxName,indxType:i.indxType,isActivated:i.isActivated,partitionByHash:i.partitionByHash,functionExpr:i.functionExpr,usingGSI:i.usingGSI,whereClause:i.whereClause,withOptions:i.withOptions,arrayExpr:i.arrayExpr,metadataExpr:i.metadataExpr,partitionByHashExpr:i.partitionByHashExpr,...i.indxKey&&{indxKey:i.indxKey.map(p=>({...p,name:a[p.keyId]}))},...i.partitionByHashKeys&&{partitionByHashKeys:i.partitionByHashKeys.map(p=>({...p,name:a[p.keyId]}))}}),"injectKeysNamesIntoIndexKeys"),hy=r(i=>Object.entries(i).reduce((a,[p,y])=>({...a,[y.GUID]:p}),{}),"getIndexKeyIdToKeyNameMap");$c.exports={injectKeysNamesIntoIndexKeys:ly,getIndexKeyIdToKeyNameMap:hy}});var Ci=le((vS,Fc)=>{var Pr=r(i=>`\`${i}\``,"wrapWithBackticks"),py=r(({statements:i,separator:a=` + `})=>`${i.filter(Boolean).join(a)}`,"joinStatements"),Mc=r(({namespace:i,bucketName:a})=>i?`${i}:${Pr(a)}`:Pr(a),"getFullBucketPath"),gy=r(({namespace:i,bucketName:a,scopeName:p,collectionName:y})=>{if(!a)return Pr(y);let v=Mc({namespace:i,bucketName:a});if(!y||!p)return v;let S=`.${Pr(p)}.${Pr(y)}`;return`${v}${S}`},"getKeySpaceReference");Fc.exports={wrapWithBackticks:Pr,getFullBucketPath:Mc,getKeySpaceReference:gy,joinStatements:py}});var Wc=le((mS,Hc)=>{var dy={primary:"Primary",secondary:"Secondary",array:"Array",metadata:"Metadata"};Hc.exports={INDEX_TYPE:dy}});var Kc=le((SS,Gc)=>{var{filter:_y,get:Fa,isEmpty:vy}=Hn(),{getIndexKeyIdToKeyNameMap:yy,injectKeysNamesIntoIndexKeys:my}=Uc(),{wrapWithBackticks:zu,getKeySpaceReference:Sy,joinStatements:Jt}=Ci(),{INDEX_TYPE:Xt}=Wc(),wy=r(({namespace:i,bucketName:a,scopeName:p,collectionName:y,indexes:v,properties:S})=>{let b=v??[],N=yy(S),U=b.map(C=>my({index:C,keyIdToName:N}));return Jt({statements:U.map(C=>{let $={...C,namespace:i,bucketName:a,scopeName:p,collectionName:y},q=Ey($);return $.isActivated?q:Ly(q)}),separator:` - return `/*\n${script}\n*/` - }).join('\n\n'); - - const samples = scriptHelper.insertSamples(data); - script += withSamples ? '\n' + samples : ''; +`})},"getIndexesScript"),Ey=r(i=>{if(!i.indxName)return"";let{script:a,canHaveIndex:p}=Cy(i);if(!p)return"";let y=Sy(i),v=Iy(i),b=i.indxType===Xt.primary?`CREATE PRIMARY INDEX ${zu(i.indxName)}`:`CREATE INDEX ${zu(i.indxName)}`,N=`ON ${y}${a}`;return`${Jt({statements:[Ay({ifNotExists:i.ifNotExists,createStatement:b}),N,v]})};`},"getIndexScript"),Ay=r(({ifNotExists:i,createStatement:a})=>i?`${a} IF NOT EXISTS`:a,"wrapCreateIndexStatementWithIfNotExistsClause"),Cy=r(i=>{var a;switch(i.indxType){case Xt.primary:return{script:"",canHaveIndex:!0};case Xt.secondary:let p=(a=i.indxKey)==null?void 0:a.map(v=>({...v,name:zu(v.name)})),y=Jt({statements:p.map(v=>Jt({statements:_y([v.name,Oy(v.type)]),separator:" "})).concat(i.functionExpr),separator:","});return{script:`(${y})`,canHaveIndex:!!y.length};case Xt.array:return{script:`(${i.arrayExpr})`,canHaveIndex:!0};case Xt.metadata:return{script:`(${i.metadataExpr})`,canHaveIndex:!0};default:return{script:"",canHaveIndex:!0}}},"getKeys"),Iy=r(i=>Jt({statements:Ty(i).map(a=>a(i))}),"getAdditionalOptions"),Ty=r(i=>{switch(i.indxType){case Xt.primary:return[Wa,Ha];case Xt.secondary:return[xy,qc,Wa,Ha];case Xt.array:return[qc,Wa,Ha];case Xt.metadata:default:return[]}},"getAdditionalOptionsFunctions"),qc=r(i=>i.whereClause?`WHERE ${i.whereClause}`:"","getWhereClause"),Ha=r(i=>{let a=Fa(i,"withOptions.defer_build")?'"defer_build":true':"",p=vy(Fa(i,"withOptions.num_replica"))?"":`"num_replica":${i.withOptions.num_replica}`,y=Fa(i,"withOptions.nodes",[]).length?`"nodes":[${Jt({statements:i.withOptions.nodes.map(b=>`"${b.nodeName}"`),separator:","})}]`:"",v=a||p||y,S=Jt({statements:[a,p,y],separator:","});return v?`WITH{${S}}`:""},"getWithClause"),Wa=r(({usingGSI:i})=>i?"USING GSI":"","getUsingGSI"),Oy=r(i=>{switch(i){case"ascending":return"ASC";case"descending":return"DESC";default:return""}},"getOrder"),xy=r(i=>{switch(i.partitionByHash){case"Keys":return`PARTITION BY HASH(${Jt({statements:i.partitionByHashKeys.map(p=>zu(p.name)),separator:","})})`;case"Expression":return`PARTITION BY HASH(${i.partitionByHashExpr})`;default:return""}},"getPartitionByHashClause"),Ly=r(i=>`/* +${Jt({statements:i.split(` +`).map(a=>` * ${a}`),separator:` +`})} + */`,"commentStatement");Gc.exports={getIndexesScript:wy}});function Ii(){return Xu>Ju.length-16&&(kc.default.randomFillSync(Ju),Xu=0),Ju.slice(Xu,Xu+=16)}var kc,Ju,Xu,qa=$e(()=>{kc=Wu(require("crypto")),Ju=new Uint8Array(256),Xu=Ju.length;r(Ii,"rng")});var Yc,zc=$e(()=>{Yc=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function Ry(i){return typeof i=="string"&&Yc.test(i)}var pn,Ti=$e(()=>{zc();r(Ry,"validate");pn=Ry});function Kn(i,a=0){return be[i[a+0]]+be[i[a+1]]+be[i[a+2]]+be[i[a+3]]+"-"+be[i[a+4]]+be[i[a+5]]+"-"+be[i[a+6]]+be[i[a+7]]+"-"+be[i[a+8]]+be[i[a+9]]+"-"+be[i[a+10]]+be[i[a+11]]+be[i[a+12]]+be[i[a+13]]+be[i[a+14]]+be[i[a+15]]}function Dy(i,a=0){let p=Kn(i,a);if(!pn(p))throw TypeError("Stringified UUID is invalid");return p}var be,Xc,Oi=$e(()=>{Ti();be=[];for(let i=0;i<256;++i)be.push((i+256).toString(16).slice(1));r(Kn,"unsafeStringify");r(Dy,"stringify");Xc=Dy});function Py(i,a,p){let y=a&&p||0,v=a||new Array(16);i=i||{};let S=i.node||Jc,b=i.clockseq!==void 0?i.clockseq:Ga;if(S==null||b==null){let K=i.random||(i.rng||Ii)();S==null&&(S=Jc=[K[0]|1,K[1],K[2],K[3],K[4],K[5]]),b==null&&(b=Ga=(K[6]<<8|K[7])&16383)}let N=i.msecs!==void 0?i.msecs:Date.now(),U=i.nsecs!==void 0?i.nsecs:ka+1,C=N-Ka+(U-ka)/1e4;if(C<0&&i.clockseq===void 0&&(b=b+1&16383),(C<0||N>Ka)&&i.nsecs===void 0&&(U=0),U>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Ka=N,ka=U,Ga=b,N+=122192928e5;let $=((N&268435455)*1e4+U)%4294967296;v[y++]=$>>>24&255,v[y++]=$>>>16&255,v[y++]=$>>>8&255,v[y++]=$&255;let q=N/4294967296*1e4&268435455;v[y++]=q>>>8&255,v[y++]=q&255,v[y++]=q>>>24&15|16,v[y++]=q>>>16&255,v[y++]=b>>>8|128,v[y++]=b&255;for(let K=0;K<6;++K)v[y+K]=S[K];return a||Kn(v)}var Jc,Ga,Ka,ka,Qc,Zc=$e(()=>{qa();Oi();Ka=0,ka=0;r(Py,"v1");Qc=Py});function by(i){if(!pn(i))throw TypeError("Invalid UUID");let a,p=new Uint8Array(16);return p[0]=(a=parseInt(i.slice(0,8),16))>>>24,p[1]=a>>>16&255,p[2]=a>>>8&255,p[3]=a&255,p[4]=(a=parseInt(i.slice(9,13),16))>>>8,p[5]=a&255,p[6]=(a=parseInt(i.slice(14,18),16))>>>8,p[7]=a&255,p[8]=(a=parseInt(i.slice(19,23),16))>>>8,p[9]=a&255,p[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,p[11]=a/4294967296&255,p[12]=a>>>24&255,p[13]=a>>>16&255,p[14]=a>>>8&255,p[15]=a&255,p}var Qu,Ya=$e(()=>{Ti();r(by,"parse");Qu=by});function Ny(i){i=unescape(encodeURIComponent(i));let a=[];for(let p=0;p{Oi();Ya();r(Ny,"stringToBytes");By="6ba7b810-9dad-11d1-80b4-00c04fd430c8",$y="6ba7b811-9dad-11d1-80b4-00c04fd430c8";r(xi,"v35")});function Uy(i){return Array.isArray(i)?i=Buffer.from(i):typeof i=="string"&&(i=Buffer.from(i,"utf8")),Vc.default.createHash("md5").update(i).digest()}var Vc,jc,el=$e(()=>{Vc=Wu(require("crypto"));r(Uy,"md5");jc=Uy});var My,tl,nl=$e(()=>{za();el();My=xi("v3",48,jc),tl=My});var rl,Xa,il=$e(()=>{rl=Wu(require("crypto")),Xa={randomUUID:rl.default.randomUUID}});function Fy(i,a,p){if(Xa.randomUUID&&!a&&!i)return Xa.randomUUID();i=i||{};let y=i.random||(i.rng||Ii)();if(y[6]=y[6]&15|64,y[8]=y[8]&63|128,a){p=p||0;for(let v=0;v<16;++v)a[p+v]=y[v];return a}return Kn(y)}var ul,sl=$e(()=>{il();qa();Oi();r(Fy,"v4");ul=Fy});function Hy(i){return Array.isArray(i)?i=Buffer.from(i):typeof i=="string"&&(i=Buffer.from(i,"utf8")),al.default.createHash("sha1").update(i).digest()}var al,fl,ol=$e(()=>{al=Wu(require("crypto"));r(Hy,"sha1");fl=Hy});var Wy,cl,ll=$e(()=>{za();ol();Wy=xi("v5",80,fl),cl=Wy});var hl,pl=$e(()=>{hl="00000000-0000-0000-0000-000000000000"});function qy(i){if(!pn(i))throw TypeError("Invalid UUID");return parseInt(i.slice(14,15),16)}var gl,dl=$e(()=>{Ti();r(qy,"version");gl=qy});var _l={};av(_l,{NIL:()=>hl,parse:()=>Qu,stringify:()=>Xc,v1:()=>Qc,v3:()=>tl,v4:()=>ul,v5:()=>cl,validate:()=>pn,version:()=>gl});var vl=$e(()=>{Zc();nl();sl();ll();pl();dl();Ti();Oi();Ya()});var Sl=le((vw,ml)=>{var Gy=(vl(),fv(_l)),{getKeySpaceReference:Ky}=Ci(),ky=r(({jsonData:i,collections:a=[]})=>a.map(y=>{let v=i[y.GUID];return yl({jsonData:v,collection:y})}).join(` - if (withSamples || !insertSamplesOption.value) { - return callback(null, script); - } +`),"getInsertScripts"),yl=r(({jsonData:i,collection:a})=>{var $,q;if(a.isActivated===!1)return"";let p=Object.keys((a==null?void 0:a.properties)??{}).find(K=>{var de;return!!((de=a==null?void 0:a.properties)!=null&&de[K][""])}),y=Ky(a),v=(q=($=a==null?void 0:a.properties)==null?void 0:$[p])==null?void 0:q.fakerFunction,S=JSON.parse(i),b=v?S[p]:"",{[p]:N,...U}=S,C=Yy(b);return`INSERT INTO ${y} (KEY, VALUE) + VALUES("${C}",${JSON.stringify(U,null," ")});`},"getInsertScriptForCollection"),Yy=r(i=>i||Gy.v4(),"getKeyFieldSample");ml.exports={getInsertScripts:ky,getInsertScriptForCollection:yl}});var El=le((mw,wl)=>{var{wrapWithBackticks:zy,getFullBucketPath:Xy}=Ci(),Jy=r(({namespace:i,bucketName:a,name:p,ifNotExists:y})=>{if(!a||!p)return"";let v=Xy({namespace:i,bucketName:a}),S=zy(p);return`CREATE SCOPE ${v}.${S}${y?" IF NOT EXISTS":""};`},"getScopeScript");wl.exports={getScopeScript:Jy}});var Il=le((ww,Cl)=>{var{wrapWithBackticks:Al,getFullBucketPath:Qy}=Ci(),Zy=r(({namespace:i,scopeName:a,bucketName:p,collectionName:y,ifNotExists:v})=>{if(!y)return"";let S=Qy({namespace:i,bucketName:p}),b=p&&a?`${S}.${Al(a)}.`:"",N=v?" IF NOT EXISTS":"";return`CREATE COLLECTION ${b}${Al(y)}${N}; +`},"getCollectionScript");Cl.exports={getCollectionScript:Zy}});var Ol=le((Aw,Tl)=>{var{getIndexesScript:Vy}=Kc(),{getInsertScripts:jy,getInsertScriptForCollection:em}=Sl(),{getScopeScript:tm}=El(),{getCollectionScript:nm}=Il(),Li,Qa,Za=class Za{constructor(){Jo(this,Li);this.ddlScript="",this.insertScripts=""}addScopeScript(a){return this.ddlScript=`${this.ddlScript}${wa(this,Li,Qa).call(this)}${tm(a)}`,this}addCollectionScripts(a){return this.ddlScript=`${this.ddlScript}${wa(this,Li,Qa).call(this)}${nm(a)}`,this.ddlScript=`${this.ddlScript}${Vy(a)}`,this}async addContainerInsertScripts({collections:a,jsonData:p}){return this.insertScripts=jy({collections:a,jsonData:p}),this}async addCollectionInsertScripts({jsonData:a,collection:p}){return this.insertScripts=em({jsonData:a,collection:p}),this}buildScriptSeparateFromInsertScripts(){return{script:this.ddlScript,insertScripts:this.insertScripts}}buildScriptConcatenatedWithInsertScripts(a=""){return`${this.ddlScript}${a}${this.insertScripts}`}};Li=new WeakSet,Qa=r(function(){return this.ddlScript?` - return callback(null, [ - { title: 'MongoDB script', script }, - { - title: 'Sample data', - script: samples, - }, - ]); - } catch (e) { - const error = { message: e.message, stack: e.stack }; - logger.log('error', error, 'DocumentDB forward engineering error'); - callback(error); - } - }, - generateScript(data, logger, callback, app) { - try { - const useDb = scriptHelper.useDbStatement(data.containerData); - const script = scriptHelper.getScript({ - containerData: data.containerData, - entityData: data.entityData, - jsonSchema: JSON.parse(data.jsonSchema), - definitions: { - model: JSON.parse(data.modelDefinitions), - internal: JSON.parse(data.internalDefinitions), - external: JSON.parse(data.externalDefinitions), - }, - }); - const samples = scriptHelper.insertSample({ - containerData: data.containerData, - entityData: data.entityData, - sample: data.jsonData, - }); +`:""},"#getDdlStatementsSeparator"),r(Za,"ForwardEngineeringScriptBuilder");var Ja=Za;Tl.exports=Ja});var{get:rm,first:im}=Hn(),{backOff:um}=rc(),Zu=Ac(),xl=ku(),Vu=Oc(),{COUCHBASE_APPLY_TO_INSTANCE:Ll,CONTAINER_DATA_NOT_FOUND:sm,CONNECTING:am,THERE_IS_AN_ISSUE_WHILE_CONNECTING_TO_THE_INSTANCE:fm,ERROR_HAS_BEEN_THROWN_WHILE_CONNECTING_TO_BUCKET:om,ERROR_HAS_BEEN_THROWN_WHILE_CREATING_BUCKET_IN_COUCHBASE_INSTANCE:cm,ERROR_HAS_BEEN_THROWN_WHILE_APPLYING_SCRIPT_TO_COUCHBASE_INSTANCE:lm,GENERATING_CONTAINER_SCRIPT:hm,GENERATING_ENTITY_SCRIPT:pm,CREATING_A_BUCKET:gm}=Ua(),{getCheckBucketExistsMessage:dm,getCreatingBucketMessage:_m,getSuccessfullyCreatedBucketMessage:vm}=Ma(),{HTTP_ERROR_CODES:ym}=Dc(),{applyScript:mm,logApplyScriptAttempt:Rl}=Bc(),Dl=Ol(),Sm=5,wm=1e3,Pl=r((i=[])=>!!i.find(a=>a.id==="INCLUDE_SAMPLES"&&a.value),"includeSamples"),Em=r(async(i,a,p,y)=>{let v=Vu.createLogger({title:hm,hiddenKeys:i.hiddenKeys,logger:a});try{let S=new Dl,{jsonData:b,collections:N,options:U}=i,{origin:C,additionalOptions:$}=U,[q]=i.containerData,K={...q,bucketName:q.bucket},de=N.map(z=>({...JSON.parse(z),namespace:K.namespace,bucketName:K.bucketName,scopeName:K.name}));if(S.addScopeScript(K),de.forEach(z=>S.addCollectionScripts(z)),!Pl($)){let{script:z}=S.buildScriptSeparateFromInsertScripts();return p(null,z)}if(S.addContainerInsertScripts({collections:de,jsonData:b}),C!=="ui")return p(null,S.buildScriptConcatenatedWithInsertScripts(` - return callback(null, [useDb, script, samples].join('\n\n')); - } catch (e) { - const error = { message: e.message, stack: e.stack }; - logger.log('error', error, 'DocumentDB forward engineering error'); - callback(error); - } - }, - applyToInstance: applyToInstanceHelper.applyToInstance, +`));let{script:me,insertScripts:Ue}=S.buildScriptSeparateFromInsertScripts();p(null,[{title:"Couchbase script",script:me},{title:"Sample data",script:Ue}])}catch(S){v.error(S),p({message:S.message,stack:S.stack})}},"generateContainerScript"),Am=r(async(i,a,p,y)=>{let v=Vu.createLogger({title:pm,hiddenKeys:i.hiddenKeys,logger:a});try{let S=new Dl,{jsonData:b,jsonSchema:N,containerData:U,options:C}=i,{additionalOptions:$}=C,q=rm(U,"[0]",{}),K=JSON.parse(N),de={...K,namespace:q==null?void 0:q.namespace,bucketName:q==null?void 0:q.bucket,scopeName:q==null?void 0:q.name,collectionName:K.title};if(S.addCollectionScripts(de),!Pl($)){let{script:z}=S.buildScriptSeparateFromInsertScripts();return p(null,z)}S.addCollectionInsertScripts({jsonData:b,collection:de});let{script:me,insertScripts:Ue}=S.buildScriptSeparateFromInsertScripts();p(null,[{title:"Couchbase script",script:me},{title:"Sample data",script:Ue}])}catch(S){v.error(S),p({message:S.message,stack:S.stack})}},"generateScript"),Cm=r(async(i,a,p,y)=>{var q;let v=Vu.createLogger({title:Ll,hiddenKeys:i.hiddenKeys,logger:a});v.info(Ll),v.progress(am);let S;try{S=await Zu.connect({connectionInfo:i,app:y})}catch(K){return v.error(K),v.progress(fm),p(K)}let b=im(i.containerData);if(!b){let K=new Error(sm);return v.error(K),v.progress(om),p(K)}let N=b==null?void 0:b.bucket,U=i.script;if(v.progress(dm(N)),!(await xl.getAllBuckets({cluster:S})).find(K=>K.name===N))try{v.info(_m(N)),v.progress(gm),await xl.createNewBucket({bucketName:N,cluster:S}),v.info(vm(N))}catch(K){if(((q=K.context)==null?void 0:q.response_code)!==ym.badRequest)return v.error(K),v.progress(cm),p(K);v.error(K)}Rl({bucketName:N,logger:v});try{await um(()=>mm({script:U,logger:v,callback:p,cluster:S}),{numOfAttempts:Sm,retry:(K,de)=>(Rl({attemptNumber:de,bucketName:N,logger:v}),!0),startingDelay:wm})}catch(K){return v.error(K),v.progress(lm),p(K)}},"applyToInstance"),Im=r(async(i,a,p,y)=>{let v=Vu.createLogger({title:"Test database connection",hiddenKeys:i.hiddenKeys,logger:a});try{await Zu.disconnect(),await Zu.connect({connectionInfo:i,app:y}),await Zu.disconnect(),p()}catch(S){v.error(S),p(S)}},"testConnection");module.exports={generateContainerScript:Em,generateScript:Am,applyToInstance:Cm,testConnection:Im}; +/*! Bundled license information: - testConnection: applyToInstanceHelper.testConnection, -}; +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/forward_engineering/config.json b/forward_engineering/config.json index 1f89a1f..4eee718 100644 --- a/forward_engineering/config.json +++ b/forward_engineering/config.json @@ -1,35 +1,35 @@ { - "extension": "js", - "filterName": "MongoDB script", - "namePrefix": "DocumentDB", - "hasUpdateScript": false, - "mode": "javascript", + "extension": "n1ql", + "namePrefix": "Couchbase Schema", + "filterName": "Couchbase Schema", + "documentation": true, + "applyScriptToInstance": true, + "resolvedDefinitions": true, + "refresh": true, + "disableApplyScriptToInstance": false, "applyToInstanceSettings": { "generateSamplesInBulk": true }, "level": { - "entity": true, + "model": false, "container": true, - "view": false + "entity": true }, - "additionalOptions": [{ - "id": "INCLUDE_SAMPLES", - "value": true, - "name": "Include sample data", - "align": "right", - "level": { - "entity": false + "additionalOptions": [ + { + "id": "INCLUDE_SAMPLES", + "value": true, + "name": "Include sample data", + "align": "right" } - }], - "splitView": { - "byAdditionalOptions": ["INCLUDE_SAMPLES"] - }, + ], "numberOfDocumentsOptions": { "id": "numberOfDocuments", "value": 1, "minValue": 1, "maxValue": 10000000 }, - "applyScriptToInstance": true, - "refresh": true + "splitView": { + "byAdditionalOptions": ["INCLUDE_SAMPLES"] + } } diff --git a/forward_engineering/helpers/applyToInstanceHelper.js b/forward_engineering/helpers/applyToInstanceHelper.js deleted file mode 100644 index 37a90a7..0000000 --- a/forward_engineering/helpers/applyToInstanceHelper.js +++ /dev/null @@ -1,223 +0,0 @@ -const vm = require('vm'); -const bson = require('../../reverse_engineering/node_modules/bson'); -const connectionHelper = require('../../reverse_engineering/helpers/connectionHelper'); -const loggerHelper = require('../../reverse_engineering/helpers/logHelper'); -const readNdJsonByLine = require('./ndJsonHelper'); - -const applyToInstanceHelper = { - async applyToInstance(data, logger, cb) { - const log = loggerHelper.createLogger({ - title: 'Applying to instance', - hiddenKeys: data.hiddenKeys, - logger, - }); - - try { - logger.clear(); - log.info(loggerHelper.getSystemInfo(data.appVersion)); - log.info(data); - - const connection = await connectionHelper.connect(data); - - const {scriptWithSamples, numberOfSamples} = await generateScriptForInsertingDataInBulk(data.script, data.entitiesData, log); - const mongodbScript = replaceUseCommand(convertBson(scriptWithSamples)); - await runMongoDbScript({ - mongodbScript, - logger: log, - connection, - numberOfSamples, - }); - - connectionHelper.close(); - cb(null); - } catch (error) { - log.error(error); - connectionHelper.close(); - - cb({ - message: error.message, - stack: error.stack, - }); - } - }, - - async testConnection(connectionInfo, logger, cb){ - const log = loggerHelper.createLogger({ - title: 'Test connection', - hiddenKeys: connectionInfo.hiddenKeys, - logger, - }); - - try { - logger.clear(); - log.info(loggerHelper.getSystemInfo(connectionInfo.appVersion)); - log.info(connectionInfo); - - await connectionHelper.connect(connectionInfo); - connectionHelper.close(); - - log.info('Connected successfully'); - - cb(); - } catch (error) { - log.error(error); - - return cb({ - message: error.message, - stack: error.stack, - }); - } - }, -}; - -const replaceUseCommand = (script) => { - return script.split('\n').filter(Boolean).map(line => { - const useStatement = /^use\ ([\s\S]+);$/i; - const result = line.match(useStatement); - - if (!result) { - return line; - } - - return `useDb("${result[1]}");`; - }).join('\n'); -}; - -const runMongoDbScript = ({ mongodbScript, logger: loggerInstance, connection, numberOfSamples }) => { - let currentDb; - let commands = []; - let insertedSamples = 0; - let prevInsertingProgress = 0; - const logger = createProgressLog(loggerInstance); - - logger.info('Start applying instance ...'); - - const context = { - ISODate: (d) => new Date(d), - ObjectId: bson.ObjectId, - Binary: bson.Binary, - BinData: (i, data) => bson.Binary(data), - MinKey: bson.MinKey, - MaxKey: bson.MaxKey, - Code: bson.Code, - Timestamp: bson.Timestamp, - - useDb(dbName) { - currentDb = dbName; - }, - - db: { - createCollection(collectionName) { - const command = () => connection.createCollection(currentDb, collectionName).then(() => { - logger.info(`Collection ${collectionName} created`); - }, (error) => { - const errMessage = `Collection ${collectionName} not created`; - logger.error(error, errMessage); - error.message = errMessage; - - return Promise.reject(error); - }); - - commands.push(command); - }, - getCollection(collectionName) { - const collection = connection.getCollection(currentDb, collectionName); - - return { - createIndex(fields, params = {}) { - const command = () => collection.createIndex(fields, params).then(() => { - logger.info(`index ${params.name} created`); - }, (error) => { - const errMessage = `index ${params.name} not created`; - logger.error(error, errMessage); - error.message = errMessage; - - return Promise.reject(error); - }); - - commands.push(command); - }, - insert(data) { - const command = () => collection.insertOne(data).then(() => { - insertedSamples++; - const insertingProgress = Math.round((insertedSamples / numberOfSamples) * 100); - if (insertingProgress - prevInsertingProgress < 5) { - return; - } - prevInsertingProgress = insertingProgress; - - logger.info(`Inserting Samples: ${insertingProgress}%`); - }).catch(error => { - insertedSamples++; - const errMessage = `sample is not inserted ${insertedSamples} / ${numberOfSamples} Reason: ${error.message}`; - logger.error(error, errMessage); - error.message = errMessage; - - return Promise.reject(error); - }); - - commands.push(command); - } - }; - } - } - }; - - vm.createContext(context); - vm.runInContext(mongodbScript, context); - - return commands.reduce((prev, next) => { - return prev.then(() => next()); - }, Promise.resolve()); -}; - -const generateScriptForInsertingDataInBulk = async (script, entitiesData, logger) => { - let numberOfSamples = Object.keys(entitiesData).length; - const scriptWithSamples = await Object.values(entitiesData).reduce(async (resultScript, entityData) => { - resultScript = await resultScript; - - if (!entityData.filePath) { - return Promise.resolve(resultScript); - } - - try { - const collectionName = entityData.code || entityData.name; - const documents = await readNdJsonByLine(entityData.filePath, logger); - numberOfSamples += documents.length; - - return resultScript + documents - .map(document => `db.getCollection("${collectionName}").insert(${document});`) - .join('\n\n'); - } catch (error) { - logger.error(error, 'Error during publishing fake data in bulk'); - } - }, Promise.resolve(script + '\n\n')); - - return { scriptWithSamples, numberOfSamples }; -}; - -const createProgressLog = logger => ({ - info(message) { - logger.progress(`${message}`); - logger.info(message); - }, - error(error, message) { - logger.progress( `[color:red]failed: ${message}`); - logger.error(error); - }, - warning(message, error) { - logger.progress({ - message: `[color:orange]warning: ${message}`, - }); - if (error) { - logger.error(error); - } - } -}); - -function convertBson(sample) { - return sample.replace(/\{\s*\"\$minKey\": (\d*)\s*\}/gi, 'MinKey($1)') - .replace(/\{\s*\"\$maxKey\": (\d*)\s*\}/gi, 'MaxKey($1)'); -} - -module.exports = applyToInstanceHelper; diff --git a/forward_engineering/helpers/ndJsonHelper.js b/forward_engineering/helpers/ndJsonHelper.js deleted file mode 100644 index c64ed0e..0000000 --- a/forward_engineering/helpers/ndJsonHelper.js +++ /dev/null @@ -1,68 +0,0 @@ -const fs = require('fs'); -const { createInterface } = require('readline'); - -const createNdJsonStream = (ndJsonFilePath, onData) => { - const stream = fs.createReadStream(ndJsonFilePath); - - return createInterface({ input: stream, crlfDelay: Infinity }) - .on('line', data => { - onData(data); - }); -}; - -const shouldLogStep = line => { - if (line < 1000) { - return line % 100 === 0; - } else { - return line % 1000 === 0; - } -}; - -const getCountOfLines = filePath => - new Promise((resolve, reject) => { - let countOfLines = 0; - - try { - createNdJsonStream(filePath, () => { countOfLines++; }) - .on('close', () => { - resolve(countOfLines); - }); - } catch (error) { - reject(createFileError(error)); - } - }); - -const createFileError = error => { - const fileError = new Error(error); - - fileError.type = 'file'; - - return fileError; -}; - -const readNdJsonByLine = async (filePath, log) => { - const maxDocuments = await getCountOfLines(filePath); - let line = 0; - const documents = []; - return new Promise((resolve, reject) => { - try { - createNdJsonStream(filePath, async data => { - line++; - - if (shouldLogStep(line)) { - log.info( `NDJSON_READ_LINES - lines: ${line} / ${maxDocuments}, progress: ${line / maxDocuments}`); - } - if (data) { - documents.push(data); - } - }).on('close', () => { - log.info(`NDJSON_READ_LINES - lines: ${line} / ${maxDocuments}, progress: ${line / maxDocuments}`); - return resolve(documents); - }) - } catch (error) { - return reject(error); - } - }); -}; - -module.exports = readNdJsonByLine; diff --git a/forward_engineering/helpers/schemaHelper.js b/forward_engineering/helpers/schemaHelper.js deleted file mode 100644 index d509ff2..0000000 --- a/forward_engineering/helpers/schemaHelper.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict' - -const getPathById = (schema, id, path) => { - if (schema.GUID === id) { - return path; - } - - if (schema.properties) { - return Object.keys(schema.properties).reduce((newPath, propertyName) => { - if (newPath) { - return newPath; - } else { - return getPathById(schema.properties[propertyName], id, [...path, schema.properties[propertyName].GUID]); - } - }, undefined); - } else if (schema.items) { - if (Array.isArray(schema.items)) { - return schema.items.reduce((newPath, item) => { - if (newPath) { - return newPath; - } else { - return getPathById(item, id, [...path, item.GUID]); - } - }, undefined); - } else { - return getPathById(schema.items, id, [...path, schema.items.GUID]); - } - } -}; - -const getRootItemMetadataById = (id, properties) => { - const propertyName = Object.keys(properties).find(propertyName => (properties[propertyName].GUID === id)); - - if (properties[propertyName] && properties[propertyName].code) { - return { name: properties[propertyName].code, isActivated: properties[propertyName].isActivated }; - } - - return { name: propertyName, isActivated: properties[propertyName] && properties[propertyName].isActivated }; -}; - -const findFieldMetadataById = (id, source) => { - let path = getPathById(source, id, []); - - if (path) { - return getRootItemMetadataById(path[0], source.properties); - } else { - return { name: "" }; - } -}; - -const getNamesByIds = (ids, sources) => { - return ids.reduce((hash, id) => { - for (let i = 0; i < sources.length; i++) { - const { name, isActivated } = findFieldMetadataById(id, sources[i]); - - if (name) { - return Object.assign({}, hash, { [id]: { name, isActivated }}); - } - } - - return hash; - }, {}); -}; - -module.exports = { - getPathById, - getNamesByIds, -}; diff --git a/forward_engineering/helpers/scriptHelper.js b/forward_engineering/helpers/scriptHelper.js deleted file mode 100644 index 0f46847..0000000 --- a/forward_engineering/helpers/scriptHelper.js +++ /dev/null @@ -1,228 +0,0 @@ - -const schemaHelper = require('./schemaHelper'); - -const isObjectEmpty = obj => Object.keys(obj).length === 0; - -const filterObject = obj => Object.fromEntries(Object.entries(obj).filter(([key, value]) => value !== undefined)); - -const createIndexStatement = (...args) => { - return 'createIndex(' + args.map(filterObject).filter(arg => !isObjectEmpty(arg)).map(stringify).join(', ') + ');'; -}; - -const stringify = (data) => JSON.stringify(data, null, 2); - -const getIndexType = (indexType) => { - return ({ - 'descending': -1, - 'ascending': 1, - '2DSphere': '2dsphere', - })[indexType] || 1; -}; - -const createIndex = (index) => { - let indexKeys = index?.key; - - if (!Array.isArray(indexKeys)) { - return ''; - } - - indexKeys = indexKeys.filter(index => index.name && index.isActivated); - - if (indexKeys.length === 0) { - return ''; - } - - return createIndexStatement( - indexKeys.reduce((result, indexKey) => ({ - ...result, - [indexKey.name]: getIndexType(indexKey.type), - }), {}), - filterObject({ - name: index.name, - unique: index.unique ? index.unique : undefined, - sparse: index.sparse ? index.sparse : undefined, - background: index.background ? index.background : undefined, - expireAfterSeconds: index.expireAfterSeconds ? index.expireAfterSeconds : undefined, - }) - ); -}; - -const getContainerName = (containerData) => { - return containerData[0]?.code || containerData[0]?.name; -}; - -const getCollectionName = (entityData) => { - return entityData[0]?.code || entityData[0]?.collectionName; -}; - -const getCollection = (name) => { - return `db.getCollection("${name}")`; -}; - -const getIndexes = (entityData, data) => { - const indexes = entityData[1]?.Indxs || []; - - return indexes - .filter(index => index.isActivated !== false) - .map(fillKeys(data)) - .map(createIndex) - .filter(Boolean) - .map(index => getCollection(getCollectionName(entityData)) + '.' + index) - .join('\n\n'); -}; - -const createCollection = (entityData) => { - return `db.createCollection("${getCollectionName(entityData)}");`; -}; - -const getScript = (data) => { - const indexes = getIndexes(data.entityData, data); - const createStatement = createCollection(data.entityData); - - return [createStatement, indexes].filter(Boolean).join('\n\n'); -}; - -const updateSample = (sample) => { - let data = JSON.parse(encodedExtendedTypes(sample)); - - return decodedExtendedTypes(JSON.stringify({ - ...data, - }, null, 2)); -}; - -const fillKeys = ({ jsonSchema, definitions }) => (index) => { - const hashTable = schemaHelper.getNamesByIds( - index.key.map(key => key.keyId), - [ - jsonSchema, - definitions.internal, - definitions.model, - definitions.external, - ] - ); - - return { - ...index, - key: index.key.map(key => { - return { - ...key, - ...(hashTable[key.keyId] || {}) - }; - }), - }; -}; - -const insertSample = ({ entityData, sample }) => { - return getCollection(getCollectionName(entityData)) + `.insert(${updateSample(sample)});`; -}; - -const insertSamples = (data) => { - const useDb = useDbStatement(data.containerData); - const samples = data.entities.map(entityId => insertSample({ - entityData: (data.entityData[entityId] || []), - sample: data.jsonData[entityId], - })).join('\n\n'); - - return [useDb, samples].filter(Boolean).join('\n\n'); -}; - - -function decodedExtendedTypes(data, returnInStr) { - let decodedData; - let strData = data; - let lineBeginning = ''; - let lineEnding = ''; - - decodedData = strData - .replace(/\"\$__oid_(.*?)\"/gi, function (a, b) { - return lineBeginning + 'ObjectId("' + b + '")' + lineEnding; - }) - .replace(/\"\$__date_(.*?)\"/gi, function (a, b) { - return lineBeginning + 'ISODate("' + b + '")' + lineEnding; - }) - .replace(/\"(?:CURRENT_)?\$__tmstmp_(.*?)\"/gi, function (a, b) { - return lineBeginning + 'Timestamp(' + b + ')' + lineEnding; - }) - .replace(/\"\$__rgxp_(.*?)\"/gi, function (a, b) { - return lineBeginning + b + lineEnding; - }) - .replace(/\"\$__bindata_(\d*)_(.*?)\"/gi, function (a, b, c) { - return lineBeginning + `BinData(${b},"${c}")` + lineEnding; - }) - .replace(/\"\$__maxKey_(\d*)\"/gi, function (a, b) { - return lineBeginning + `new MaxKey(${b})` + lineEnding; - }) - .replace(/\"\$__minKey_(\d*)\"/gi, function (a, b) { - return lineBeginning + `new MinKey(${b})` + lineEnding; - }) - .replace(/\"\$__jswscope_(.*?})\"/gi, function (a, b) { - return lineBeginning + `Code("${b}")` + lineEnding; - }) - .replace(/\"\$__js_(.*?})\"/gi, function (a, b) { - return lineBeginning + `Code("${b}")` + lineEnding; - }); - - return decodedData; -}; - -function encodedExtendedTypes(data, returnInStr) { - let encodedData; - let lineBeginning = '"'; - let lineEnding = '"'; - - encodedData = data - .replace(/ObjectId\(\"(.*?)\"\)/gi, function (a, b) { - return lineBeginning + '$__oid_' + b + lineEnding; - }) - .replace(/ISODate\(\"(.*?)\"\)/gi, function (a, b) { - return lineBeginning + '$__date_' + b + lineEnding; - }) - .replace(/Timestamp\((.*?)\)/gi, function (a, b) { - return lineBeginning + '$__tmstmp_' + b + lineEnding; - }) - .replace(/\"\s*:\s*\/(.*?)\/([^,\s\]\}\n]*)/gi, function (a, b, c) { - return '": ' + lineBeginning + '$__rgxp_/' + b + '/' + c + lineEnding; - }) - .replace(/BinData\((\d*),\"(.*?)\"\)/gi, function (a, b, c) { - return lineBeginning + `$__bindata_${b}_${c}` + lineEnding; - }) - .replace( - /\"type\": \"JavaScript\(w\/scope\)\",\s*.*?\"sample\": \{\s*\"_bsontype\": \"Code\",\s*\"code\": \"(.*?})\",\s*\"scope\": .*?\s*\}/gi, - function (a, b) { - return a.replace( - /\{\s*\"_bsontype\": \"Code\",\s*\"code\": \"(.*?})\",\s*\"scope\": .*?\s*\}/, - function (a, b) { - return lineBeginning + `$__jswscope_${b}` + lineEnding; - }, - ); - }, - ) - .replace( - /\{\s*\"_bsontype\": \"Code\",\s*\"code\": \"(.*?})\".*?\s*\}/gi, - function (a, b) { - return lineBeginning + `$__js_${b}` + lineEnding; - }, - ) - .replace(/\{\s*\"\$minKey\": (\d*)\s*\}/, function (a, b) { - return lineBeginning + `$__minKey_${b}` + lineEnding; - }) - .replace(/\{\s*\"\$maxKey\": (\d*)\s*\}/, function (a, b) { - return lineBeginning + `$__maxKey_${b}` + lineEnding; - }); - - return encodedData; -}; - -const useDbStatement = (containerData) => { - const name = getContainerName(containerData); - const useDb = name ? `use ${name};` : ''; - - return useDb; -}; - -module.exports = { - getScript, - insertSample, - insertSamples, - useDbStatement, -}; diff --git a/jsonSchemaProperties.json b/jsonSchemaProperties.json index 0086051..4deb252 100644 --- a/jsonSchemaProperties.json +++ b/jsonSchemaProperties.json @@ -1,4 +1,4 @@ { "unneededFieldProps": ["collectionName", "name", "users", "indexes", "collectionUsers", "additionalProperties"], "removeIfPropsNegative": ["partitionKey", "sortKey"] -} \ No newline at end of file +} diff --git a/localization/en.json b/localization/en.json index 2f971eb..9d6b020 100644 --- a/localization/en.json +++ b/localization/en.json @@ -1,5 +1,5 @@ { - "WELCOME_PAGE___REVERSE_ENGINEER_DESCRIPTION": "Create a Hackolade model from an existing DB instance", + "WELCOME_PAGE___REVERSE_ENGINEER_DESCRIPTION": "Create a Hackolade Studio model from an existing target instance", "MAIN_MENU___ADD_BUCKET": "Add Scope", "MAIN_MENU___ADD_COLLECTION": "Add Collection", "MAIN_MENU___ADD_VIEW": "Add View", @@ -19,15 +19,39 @@ "TOOLBAR___SHOW_FOREIGN_MASTER": "Toggle foreign master", "TOOLBAR___SHOW_MODEL_VIEW": "Toggle model views", "TOOLBAR___DISTRIBUTE_ORTHOGONALLY": "Distribute collections orthogonally", - "OBJECT___BROWSER_BUCKET": "Scope", - "OBJECT___BROWSER_NOT_IN_BUCKET": "Undefined scope", + "OBJECT___BROWSER_BUCKET": "Scopes", + "OBJECT___BROWSER_NOT_IN_BUCKET": "Undefined Scope", "OBJECT___BROWSER_COLLECTION": "Collections", "OBJECT___BROWSER_VIEWS": "Views", "OBJECT___BROWSER_DEFINITIONS": "Definitions", "OBJECT___BROWSER_FIELDS": "Fields", + "OBJECT___BROWSER_NESTED_COLLECTIONS": "Nested collections", + "OBJECT___BROWSER_EXTERNAL_DEFINITIONS": "External Definitions", "PROPERTIES_PANE___BUCKET_NAME": "Scope name", + "PROPERTIES_PANE___BUCKET_KEY": "Key", + "PROPERTIES_PANE___BUCKET_KEY_NAME": "name", + "PROPERTIES_PANE___BUCKET_KEY_TYPE": "type", + "PROPERTIES_PANE___BUCKET_DOC_KIND": "Collection", + "PROPERTIES_PANE___BUCKET_TYPE": "Scope type", + "PROPERTIES_PANE___BUCKET_MEMORY_SIZE": "Memory size", + "PROPERTIES_PANE___BUCKET_RAM_QUOTA": "Per node RAM quota", + "PROPERTIES_PANE___BUCKET_ACCESS_CONTROL": "Access Control", + "PROPERTIES_PANE___BUCKET_PROTOCOL_PORT": "Protocol Port", + "PROPERTIES_PANE___BUCKET_FLUSH": "FLUSH", + "PROPERTIES_PANE___BUCKET_FLUSH_ENABLE": "Enable", "PROPERTIES_PANE___VIEW_NAME": "View name", - "PROPERTIES_PANE___COLLECTION_NAME": "Collection", + "PROPERTIES_PANE___BUCKET_CASH_METADATA": "Cache Metadata", + "PROPERTIES_PANE___BUCKET_CONFLICT_RESOLUTION": "Conflict resolution", + "PROPERTIES_PANE___BUCKET_REPLICAS": "Replicas", + "PROPERTIES_PANE___BUCKET_REPLICAS_ENABLE": "Enable", + "PROPERTIES_PANE___BUCKET_REPLICAS_NUMBER": "Number", + "PROPERTIES_PANE___BUCKET_REPLICAS_VIEW_INDEX": "View index replicas", + "PROPERTIES_PANE___BUCKET_DISK_OPTIMISATION": "Disk I/O optimization", + "PROPERTIES_PANE___BUCKET_IO_PRIORITY": "Disk I/O priority", + "PROPERTIES_PANE___BUCKET_AUTO_COMPACTION": "Auto-Compaction", + "PROPERTIES_PANE___BUCKET_OVERRIDE_DEFAULT": "Override default", + "PROPERTIES_PANE___PRIMARY_KEY": "Primary key", + "PROPERTIES_PANE___COLLECTION_NAME": "Collection name", "PROPERTIES_PANE___FOREIGN_COLLECTION": "Foreign collection", "PROPERTIES_PANE___FOREIGN_FIELD": "Foreign field", "PROPERTIES_PANE___PARENT_COLLECTION": "Parent collection", @@ -36,55 +60,60 @@ "PROPERTIES_PANE___CHILD_COLLECTION": "Child collection", "PROPERTIES_PANE___CHILD_FIELD": "Child field", "PROPERTIES_PANE___CHILD_CARDINALITY": "Child cardinality", - "PROPERTIES_PANE___PRIMARY_KEY": "Primary key", "PROPERTIES_PANE___COLLECTION_BUCKET": "Scope", - "PROPERTIES_PANE___VIEW_ON": "View on", - "PROPERTIES_PANE___PIPELINE": "Pipeline", - "PROPERTIES_PANE___COLLATION": "Collation", - "PROPERTIES_PANE___LOCALE": "Locale", - "PROPERTIES_PANE___VARIANT": "Variant", - "PROPERTIES_PANE___STRENGTH": "Strength", - "PROPERTIES_PANE___CASE_LEVEL": "Case level", - "PROPERTIES_PANE___CASE_FIRST": "Case first", - "PROPERTIES_PANE___NUMERIC_ORDERING": "Numeric ordering", - "PROPERTIES_PANE___ALTERNATE": "Alternate", - "PROPERTIES_PANE___MAX_VARIABLE": "Max variable", - "PROPERTIES_PANE___BACKWARDS": "Backwards", - "PROPERTIES_PANE___NORMALIZATION": "Normalization", - "CENTRAL_PANE___TAB_MONGODB_VIEW_SCRIPT": "Create View Script", - "CONTEXT_MENU___ADD_BUCKET": "Add Scope", - "CONTEXT_MENU___ADD_COLLECTION": "Add Collection", - "CONTEXT_MENU___ADD_VIEW": "Add View", - "CONTEXT_MENU___ALIGN_COLLECTIONS": "Align Collections", + "PROPERTIES_PANE___KEYS": "Keys", + "PROPERTIES_PANE___ARRAY_EXPRESSION": "Array expression", + "PROPERTIES_PANE___METADATA_EXPRESSION": "Metadata expression", + "PROPERTIES_PANE___PARTITION_BY_HASH": "Partition by hash", + "PROPERTIES_PANE___PARTITION_BY_HASH_KEYS": "Partition by hash keys", + "PROPERTIES_PANE___PARTITION_BY_HASH_CLAUSE": "Partition by hash clause", + "PROPERTIES_PANE___WHERE_CLAUSE": "WHERE clause", + "PROPERTIES_PANE___USING_GSI": "Using GSI", + "PROPERTIES_PANE___NODE_NAME": "Node name", + "PROPERTIES_PANE___NODES": "Nodes", + "PROPERTIES_PANE___DEFER_BUILD": "Defer build", + "PROPERTIES_PANE___NUMBER_OF_REPLICAS": "Nbr of replicas", + "PROPERTIES_PANE___WITH_OPTIONS": "WITH options", + "CONTEXT_MENU___ADD_BUCKET": "Add scope", + "CONTEXT_MENU___ADD_COLLECTION": "Add collection", + "CONTEXT_MENU___ALIGN_COLLECTIONS": "Align collections", "CONTEXT_MENU___ADD_ATTRIBUTE": "Add Attribute", "CONTEXT_MENU___INSERT_ATTRIBUTE": "Insert Attribute", "CONTEXT_MENU___APPEND_ATTRIBUTE": "Append Attribute", - "CONTEXT_MENU___OPEN_COLLECTION_IN_NEW_TAB": "Open collection in new tab", + "CONTEXT_MENU___OPEN_COLLECTION_IN_NEW_TAB": "Open Collection In New Tab", "CONTEXT_MENU___FIELD": "Field", "CONTEXT_MENU___PATTERN_FIELD": "Pattern Field", "CONTEXT_MENU___ARRAY_ITEM": "Array Item", - "MODAL_WINDOW___COLLECTION": "Collection:", + "CONTEXT_MENU___CONVERT_TO_PATTERN_FIELD": "Convert to Pattern Field", + "CONTEXT_MENU___CONVERT_PATTERN_TO_REGULAR_FIELD": "Convert to Regular Field", + "MODAL_WINDOW___PRINT_DIALOG_LABEL_COLLECTION": "Collection", "MODAL_WINDOW___EMPTY_MODEL_MESSAGE": "The Model does not contain any collections.", "MODAL_WINDOW___FIELD_INFERENCE": "Field Inference", "MODAL_WINDOW___KEEP_FIELD_ORDER": "Keep field order", - "MODAL_WINDOW___CANNOT_CONNECT_TO_DB": "Cannot connect to Couchbase", + "MODAL_WINDOW___CANNOT_CONNECT_TO_DB": "Cannot connect to Couchbase (check your host, port, and if your IP is whitelisted)", "MODAL_WINDOW___SUCCESSFULLY_CONNECT_TO_DB": "Successfully connected to Couchbase", "MODAL_WINDOW___UNABLE_CONNECT_TO_DB": "Unable to connect to Couchbase", + "MODAL_WINDOW___DB_CONNECTION_PROCESS": "Couchbase Reverse-Engineering Process", "MODAL_WINDOW___DB_CONNECTIONS_LIST_TITLE": "Couchbase Connections", "MODAL_WINDOW___DB_ENTITIES_SELECTION_TITLE": "collection selection", "MODAL_WINDOW___RECORDS_MAX": "documents max", "MODAL_WINDOW___SUBDOCUMENT_IN_CHILD": "Sub-document in child", "MODAL_WINDOW___ARRAY_IN_PARENT": "Array in parent", + "MODAL_WINDOW___CREATE_COLLECTION": "Create Couchbase Collection", "MODAL_WINDOW___INCLUDE_EMPTY_COLLECTION": "Include empty collections", - "MODAL_WINDOW___CREATE_COLLECTION": "Create collection", - "MODAL_WINDOW___CREATE_BUCKET": "Create scope", + "MODAL_WINDOW___CREATE_BUCKET": "Create Couchbase Scope", "MODAL_WINDOW___ALL_COLLECTIONS": "and all nested collections", - "MODAL_WINDOW___CONNENTION_ERROR": "The Couchbase instance you are connected to does not contain any collections.", - "MODAL_WINDOW___CONTAIN_BUCKETS": "scopes", + "MODAL_WINDOW___COLLECTION_NAME_ERROR": "Collection name is empty or is a reserved word", + "MODAL_WINDOW___COLLECTION_MOVING_ERROR": "Error moving Collection", + "MODAL_WINDOW___COLLECTION_MOVING_ERROR_CONTENT": "The target scope has different Key or Collection field than current", + "MODAL_WINDOW___CONNENTION_ERROR": "The Couchbase instance you are connected to does not contain any Scopes.", "MODAL_WINDOW___CONTAIN_COLLECTIONS": "collections", - "MODAL_WINDOW___CONTAIN_BUCKET": "scope", + "MODAL_WINDOW___CONTAIN_BUCKETS": "scopes", + "MODAL_WINDOW___CONTAIN_VIEWS": "views", "MODAL_WINDOW___CONTAIN_COLLECTION": "collection", - "MODAL_WINDOW___DB_CONNECTION_PROCESS": "Couchbase Reverse-Engineering Process", + "MODAL_WINDOW___CONTAIN_BUCKET": "scope", + "MODAL_WINDOW___CONTAIN_VIEW": "view", + "MODAL_WINDOW___COLLECTION": "Collection", "PROGRESS_BAR___DATABASE": "Scope", "PROGRESS_BAR___COLLECTION": "Collection", "PROGRESS_BAR___PROCESS": "Process", @@ -102,41 +131,25 @@ "DOCUMENTATION___FIELDS": "Fields", "DOCUMENTATION___CHILD_FIELDS": "Child field(s)", "DOCUMENTATION___PHYSICAL_MODEL": "Couchbase Physical Model", - "DOCUMENTATION___VIEWS": "Views", - "DOCUMENTATION___VIEW": "View", "TOOLTIPS___FOREIGN_COLLECTION": "foreign collection", - "TOOLTIPS___COLLECTION_BUCKET": "Scope", + "TOOLTIPS___COLLECTION_BUCKET": "scope", "TOOLTIPS___FOREIGN_FIELD": "foreign field", "TOOLTIPS___PARENT_COLLECTION": "parent collection", "TOOLTIPS___PARENT_FIELD": "parent field", "TOOLTIPS___CHILD_COLLECTION": "child collection", "TOOLTIPS___CHILD_FIELD": "child field", - "TOOLTIPS___VIEW_ON": "view on", - "TOOLTIPS___PIPELINE": "pipeline", - "TOOLTIPS___COLLATION": "collation", - "TOOLTIPS___LOCALE": "locale", - "TOOLTIPS___VARIANT": "variant", - "TOOLTIPS___STRENGTH": "strength", - "TOOLTIPS___CASE_LEVEL": "case level", - "TOOLTIPS___CASE_FIRST": "case first", - "TOOLTIPS___NUMERIC_ORDERING": "numeric ordering", - "TOOLTIPS___ALTERNATE": "alternate", - "TOOLTIPS___MAX_VARIABLE": "max variable", - "TOOLTIPS___BACKWARDS": "Backwards", - "TOOLTIPS___NORMALIZATION": "Normalization", - "NEW___MODEL_NAME": "New model", - "NEW___BUCKET_NAME": "New scope", - "NEW___COLLECTION_NAME": "New collection", + "TOOLTIPS___CHILD_COLLECTION_MESSAGE": "No collections to add", + "NEW___MODEL_NAME": "New Model", + "NEW___COLLECTION_NAME": "New Collection", + "NEW___BUCKET_NAME": "New Scope", "NEW___FIELD_NAME": "New Field", - "NEW___PATTERN_FIELD_NAME": "^New Pattern Field$", + "NEW___PATTERN_FIELD_NAME": "^[a-zA-Z0-9_.-]+$", "COLLECTION_SCHEMA_DEFINITION_NAME": "Collection definitions", "COLLECTION_SCHEMA_DEFINITION_TYPE": "document", - "MONGODB_SCRIPT_WARNING_MESSAGE": "This view is not associated to a collection (viewOn property).", - "TYPE": {}, - "MODAL_WINDOW___SELECTION_DOCUMENT_KIND_REVERSE_ENGINEERING_TITLE": "Select collection field", - "MODAL_WINDOW___SELECTION_DOCUMENT_KIND_REVERSE_ENGINEERING": "No collection separation", - "CONTEXT_MENU___CONVERT_TO_PATTERN_FIELD": "Convert to Pattern Field", - "CONTEXT_MENU___CONVERT_PATTERN_TO_REGULAR_FIELD": "Convert to Regular Field", - "CENTRAL_PANE___FE_SCRIPT": "MongoDB script", - "MAIN_MENU___FORWARD_DB_BUCKETS": "MongoDB script" -} \ No newline at end of file + "PLUGIN_MANAGER___CUSTOM_PROPERTIES_DESCRIPTION": "Custom properties for Couchbase", + "DATABASE_CONNECTIONS___CONTAINER_TYPE_NAME": "Bucket", + + "TYPE": { + "document": "object" + } +} diff --git a/package.json b/package.json index bcb2930..0e64d81 100644 --- a/package.json +++ b/package.json @@ -1,37 +1,55 @@ { - "name": "CouchbaseV7Plus", - "version": "0.0.1", - "versionDate": "2023-01-22", - "author": "hackolade", - "engines": { - "hackolade": "5.3.0", - "hackoladePlugin": "1.0.1" - }, - "contributes": { - "target": { - "applicationTarget": "CouchbaseV7Plus", - "title": "Couchbase v7 and above", - "versions": [ - "7.x" - ] - }, - "features": { - "nestedCollections": false, - "forwardEngineering": { - "jsonSchema": { - "keepParentType": { - "binary": { - } - } - } - }, - "enableReverseEngineering": true, - "enableForwardEngineering": true, - "enableReverseEngineeringDetectionSchemaByContent": false, - "enableReversingDateTypeAsISODate": true, - "supportInferRelationships": true, - "enableREQueryAndSortCriteria": true - } - }, - "description": "Hackolade plugin for Couchbase v7+ with scopes and collections" -} + "name": "CouchbaseV7Plus", + "version": "0.1.0", + "versionDate": "2024-03-08", + "author": "hackolade", + "engines": { + "hackolade": "7.0.0", + "hackoladePlugin": "1.0.1" + }, + "contributes": { + "target": { + "applicationTarget": "CouchbaseV7Plus", + "title": "Couchbase w/ collections", + "versions": [ + "7.x" + ] + }, + "features": { + "enableForwardEngineering": true, + "enableArrayCollections": false + } + }, + "description": "Hackolade plugin for Couchbase with scopes and collections", + "lint-staged": { + "*.{js,json}": "prettier --write" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged", + "pre-push": "npx eslint ." + }, + "scripts": { + "lint": "eslint . --max-warnings=0", + "package": "node esbuild.package.js" + }, + "dependencies": { + "async": "3.2.5", + "exponential-backoff": "3.1.1", + "lodash": "4.17.21", + "uuid": "9.0.1", + "antlr4": "4.9.2" + }, + "devDependencies": { + "@hackolade/hck-esbuild-plugins-pack": "0.0.1", + "@types/couchbase": "2.4.9", + "esbuild": "0.19.12", + "esbuild-plugin-clean": "1.0.1", + "eslint": "8.56.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.1.3", + "lint-staged": "14.0.1", + "prettier": "3.2.4", + "simple-git-hooks": "2.9.0" + }, + "release": true +} \ No newline at end of file diff --git a/properties_pane/container_level/containerLevelConfig.json b/properties_pane/container_level/containerLevelConfig.json index 5b9065a..90775d8 100644 --- a/properties_pane/container_level/containerLevelConfig.json +++ b/properties_pane/container_level/containerLevelConfig.json @@ -1,5 +1,5 @@ /* -* Copyright © 2016-2019 by IntegrIT S.A. dba Hackolade. All rights reserved. +* Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. * * The copyright to the computer software herein is the property of IntegrIT S.A. * The software may be used and/or copied only with the written permission of @@ -113,23 +113,21 @@ making sure that you maintain a proper JSON format. } */ - [ { "lowerTab": "Details", - "containerLevelKeys": [], "structure": [ { "propertyKeyword": "name", "validation": { - "regex": "^[\\s\\S]{1,63}$", + "regex": "^(^\\b_default\\b$|(?!(_|%))[a-zA-Z0-9%_\\-]{1,251})$", "required": true } }, { "propertyKeyword": "code", "validation": { - "regex": "^[\\s\\S]{1,63}$" + "regex": "^(^\\b_default\\b$|(?!(_|%))[a-zA-Z0-9%_\\-]{1,251})$" } }, { @@ -157,12 +155,12 @@ making sure that you maintain a proper JSON format. } }, { - "propertyName": "If not exist", - "propertyKeyword": "ifNotExist", + "propertyName": "If not exists", + "propertyKeyword": "ifNotExists", "propertyTooltip": "This optional clause enables the statement to complete successfully when the specified scope already exists.", "defaultValue": true, "propertyType": "checkbox" - }, + }, { "propertyName": "Comments", "propertyKeyword": "comments", @@ -170,6 +168,24 @@ making sure that you maintain a proper JSON format. "propertyType": "details", "template": "textarea" } + ], + "containerLevelKeys": [ + { + "labelName": "Key", + "propertyName": "Key", + "propertyKeyword": "", + "defaultName": "", + "propertyPrimaryKey": true, + "propertyType": "text", + "typeName": "Data type", + "typeOptions": ["string"], + "defaultType": "string", + "disabledFieldOption": true, + "sampleGen": "&id", + "validation": { + "disableNameValidationForReservedWords": true + } + } ] } ] diff --git a/properties_pane/defaultData.json b/properties_pane/defaultData.json index aff0948..678844e 100644 --- a/properties_pane/defaultData.json +++ b/properties_pane/defaultData.json @@ -1,12 +1,12 @@ /* -* Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. -* -* The copyright to the computer software herein is the property of IntegrIT S.A. -* The software may be used and/or copied only with the written permission of -* IntegrIT S.A. or in accordance with the terms and conditions stipulated in -* the agreement/contract under which the software has been supplied. -* -*/ + * Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. + * + * The copyright to the computer software herein is the property of IntegrIT S.A. + * The software may be used and/or copied only with the written permission of + * IntegrIT S.A. or in accordance with the terms and conditions stipulated in + * the agreement/contract under which the software has been supplied. + * + */ { "model": { "modelName": "New model", @@ -14,11 +14,20 @@ "dbVendor": "CouchbaseV7Plus" }, "container": { - "name": "New scope", - "indexes": [] + "name": "New_scope", + "bucketType": "Couchbase", + "ramQuota": 100, + "cacheMetadata": "Value ejection", + "accessControl": "Standart port", + "password": "", + "conflictResolution": "Sequence number", + "replicasNumber": 1, + "bucketIOPriority": "Low (Default)", + "storageEngine": "Couchstore" }, "collection": { - "collectionName": "New collection" + "collectionName": "New_collection", + "indexes": [] }, "field": { "name": "New field" @@ -38,4 +47,4 @@ "viewOn": "", "pipeline": "" } -} \ No newline at end of file +} diff --git a/properties_pane/entity_level/entityLevelConfig.json b/properties_pane/entity_level/entityLevelConfig.json index 43e217b..10c1a1e 100644 --- a/properties_pane/entity_level/entityLevelConfig.json +++ b/properties_pane/entity_level/entityLevelConfig.json @@ -1,5 +1,5 @@ /* -* Copyright © 2016-2019 by IntegrIT S.A. dba Hackolade. All rights reserved. +* Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. * * The copyright to the computer software herein is the property of IntegrIT S.A. * The software may be used and/or copied only with the written permission of @@ -121,14 +121,14 @@ making sure that you maintain a proper JSON format. { "propertyKeyword": "collectionName", "validation": { - "regex": "^[\\s\\S]{1,57}$", + "regex": "^(^\\b_default\\b$|(?!(_|%))[a-zA-Z0-9%_\\-]{1,251})$", "required": true } }, { "propertyKeyword": "code", "validation": { - "regex": "^[\\s\\S]{1,57}$" + "regex": "^(^\\b_default\\b$|(?!(_|%))[a-zA-Z0-9%_\\-]{1,251})$" } }, { @@ -139,12 +139,12 @@ making sure that you maintain a proper JSON format. "template": "textarea" }, { - "propertyName": "If not exist", - "propertyKeyword": "ifNotExist", + "propertyName": "If not exists", + "propertyKeyword": "ifNotExists", "propertyTooltip": "This optional clause enables the statement to complete successfully when the specified collection already exists.", "defaultValue": true, "propertyType": "checkbox" - }, + }, { "propertyName": "Comments", "propertyKeyword": "comments", @@ -157,184 +157,264 @@ making sure that you maintain a proper JSON format. }, { "lowerTab": "Indexes", - "structure": [{ - "propertyName": "Index", - "propertyType": "group", - "propertyKeyword": "Indxs", - "propertyTooltip": "Click + to add an index", - "erdIndexAbbr": "I", - "structure": [ - { - "propertyName": "Name", - "propertyKeyword": "name", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Activated", - "propertyKeyword": "isActivated", - "propertyTooltip": "Deactivated item will be not included in forward-engineering script", - "propertyType": "checkbox", - "defaultValue": true - }, - { - "propertyName": "Keys", - "propertyKeyword": "key", - "propertyType": "fieldList", - "template": "orderedList", - "attributeList": [ - "ascending", - "descending", - "2DSphere" - ] - }, - { - "propertyName": "Unique", - "propertyKeyword": "unique", - "propertyType": "checkbox" - }, - { - "propertyName": "Sparse", - "propertyKeyword": "sparse", - "propertyType": "checkbox" - }, - { - "propertyName": "Background indexing", - "propertyKeyword": "background", - "propertyType": "checkbox" - }, - { - "propertyName": "Expire after (seconds)", - "propertyKeyword": "expireAfterSeconds", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false - }, - { - "propertyName": "2D Sphere", - "propertyKeyword": "2dsphere", - "propertyType": "block", - "propertyTooltip": "", - "dependency": { - "key": "key.*.type", - "value": "2DSphere" + "structure": [ + { + "propertyName": "indexes", + "propertyType": "group", + "propertyKeyword": "indexes", + "shouldValidate": false, + "propertyTooltip": "Click + to add an index", + "erdIndexAbbr": "I", + "structure": [ + { + "propertyName": "Name", + "propertyKeyword": "indxName", + "shouldValidate": true, + "propertyTooltip": "Index name", + "propertyType": "text", + "validation": { + "regex": "^(?!(_|#))[A-Za-z0-9#_]{1,}" + } + }, + { + "propertyName": "Activated", + "propertyKeyword": "isActivated", + "parentType": "indexes", + "propertyType": "checkbox", + "shouldValidate": false, + "defaultValue": true, + "propertyTooltip": "Deactivated item will be not included in forward-engineering script" + }, + { + "template": "textarea", + "propertyKeyword": "indxDescription", + "propertyName": "Description", + "propertyTooltip": "description", + "propertyType": "details", + "parentType": "indexes" + }, + { + "options": ["Primary", "Secondary", "Array", "Metadata"], + "propertyKeyword": "indxType", + "propertyName": "Type", + "propertyType": "select", + "parentType": "indexes" + }, + { + "propertyType": "tagInput", + + "template": "collectiontree", + "dependency": { + "key": "indxType", + "value": "Secondary" + }, + "propertyKeyword": "indxKey", + "propertyName": "Keys", + "types": ["ascending", "descending"], + "isCompositeKey": false, + "parentType": "indexes", + "templateOptions": { + "entityName": false + } + }, + { + "template": "textarea", + "markdown": false, + "dependency": { + "key": "indxType", + "value": "Secondary" + }, + "propertyKeyword": "functionExpr", + "propertyName": "Function expression", + "propertyType": "details", + "parentType": "indexes" + }, + { + "template": "textarea", + "markdown": false, + "dependency": { + "key": "indxType", + "value": "Array" + }, + "propertyKeyword": "arrayExpr", + "propertyName": "Array expression", + "propertyTooltip": "Lets you map and filter the elements or attributes of a collection, object, or objects. It evaluates to an array of the operand expression that satisfies the WHEN clause, if specified.", + "propertyType": "details", + "parentType": "indexes" + }, + { + "template": "textarea", + "markdown": false, + "dependency": { + "key": "indxType", + "value": "Metadata" + }, + "propertyKeyword": "metadataExpr", + "propertyName": "Metadata expression", + "propertyTooltip": "Enables you to return the metadata for a keyspace or document. To index a selected metadata field, you must use a nested expression containing the META() function and the required property, for example META().id.", + "propertyType": "details", + "parentType": "indexes" + }, + { + "options": ["", "Keys", "Expression"], + "dependency": { + "key": "indxType", + "value": "Secondary" + }, + "propertyKeyword": "partitionByHash", + "propertyName": "Partition by hash", + "propertyType": "select", + "parentType": "indexes" }, - "structure": [ - { - "propertyName": "Index version", - "propertyKeyword": "2dsphereIndexVersion", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "options": [ - "default", - "Version 2", - "Version 1" + { + "propertyType": "tagInput", + + "template": "collectiontree", + "dependency": { + "type": "and", + "values": [ + { + "key": "indxType", + "value": "Secondary" + }, + { + "key": "partitionByHash", + "value": "Keys" + } ] + }, + "propertyKeyword": "partitionByHashKeys", + "propertyName": "Partition by hash keys", + "isCompositeKey": false, + "parentType": "indexes", + "templateOptions": { + "entityName": false } - ] - }, - { - "propertyName": "Comments", - "propertyKeyword": "indexComments", - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "textarea" - } - ] - }] - }, - { - "lowerTab": "Functions", - "structure": [{ - "propertyName": "Function", - "propertyType": "group", - "propertyKeyword": "function", - "propertyTooltip": "Click + to add a function", - "erdIndexAbbr": "I", - "structure": [ - { - "propertyName": "Name", - "propertyKeyword": "name", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Activated", - "propertyKeyword": "isActivated", - "propertyTooltip": "Deactivated item will be not included in forward-engineering script", - "propertyType": "checkbox", - "defaultValue": true - }, - { - "propertyName": "Or replace", - "propertyKeyword": "orReplace", - "propertyTooltip": "This optional clause enables you to redefine a user-defined function if it already exists.", - "defaultValue": true, - "propertyType": "checkbox" - }, - { - "propertyName": "Function body", - "propertyKeyword": "functionBody", - "propertyTooltip": "A string constant defining the function; the meaning depends on the language. It can be an internal function name, the path to an object file, an SQL command, or text in a procedural language.", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Parameters", - "propertyKeyword": "parameters", - "propertyTooltip": "Optional listing of parameters for the function.", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "If not exist", - "propertyKeyword": "ifNotExist", - "propertyTooltip": "This optional clause enables the statement to complete successfully when the specified function already exists.", - "defaultValue": true, - "propertyType": "checkbox", - "dependency": { - "key": "orReplace", - "value": false + }, + { + "template": "textarea", + "markdown": false, + "dependency": { + "type": "and", + "values": [ + { + "key": "indxType", + "value": "Secondary" + }, + { + "key": "partitionByHash", + "value": "Expression" + } + ] + }, + "propertyKeyword": "partitionByHashExpr", + "propertyName": "Partition by hash clause", + "propertyTooltip": "A field or an expression over a field representing a partition key. ", + "propertyType": "details", + "parentType": "indexes" + }, + { + "template": "textarea", + "markdown": false, + "dependency": { + "type": "or", + "values": [ + { + "key": "indxType", + "value": "Secondary" + }, + { + "key": "indxType", + "value": "Array" + } + ] + }, + "propertyKeyword": "whereClause", + "propertyName": "WHERE clause", + "propertyTooltip": "Specifies predicates to qualify the subset of documents to include in the index.", + "propertyType": "details", + "parentType": "indexes" + }, + { + "dependency": { + "type": "or", + "values": [ + { + "key": "indxType", + "value": "Primary" + }, + { + "key": "indxType", + "value": "Secondary" + }, + { + "key": "indxType", + "value": "Array" + } + ] + }, + "propertyKeyword": "usingGSI", + "propertyName": "Using GSI", + "propertyTooltip": "In Couchbase Server 6.5 and later, the index type must be Global Secondary Index (GSI). The USING GSI keywords are optional and may be omitted.", + "propertyType": "checkbox", + "parentType": "indexes" + }, + { + "structure": [ + { + "addAction": "addCollectionGroupItem", + + "structure": [ + { + "inputPlaceholder": ":", + "propertyKeyword": "nodeName", + "propertyName": "Node name", + "propertyTooltip": "A node name passed to the nodes property must include the cluster administration port, by default 8091.", + "propertyType": "text", + "parentType": "nodes" + } + ], + "propertyKeyword": "nodes", + "propertyName": "Nodes", + "propertyTooltip": "An array of strings, each of which represents a node name.", + "propertyType": "group", + "parentType": "withOptions" + }, + { + "defaultValue": true, + "propertyKeyword": "defer_build", + "propertyName": "Defer build", + "propertyTooltip": "Deferring building of the index with multiple indexes can optimize the expensive scan operation.", + "propertyType": "checkbox", + "parentType": "withOptions" + }, + { + "valueType": "number", + "allowNegative": false, + "propertyKeyword": "num_replica", + "propertyName": "Nbr of replicas", + "propertyTooltip": "Should be less than the number of index nodes in the cluster", + "propertyType": "numeric", + "parentType": "withOptions" + } + ], + "propertyKeyword": "withOptions", + "propertyName": "WITH options", + "propertyTooltip": "Specifies additional options for index.", + "propertyType": "block", + "parentType": "indexes" + }, + { + "addTimestampButton": false, + "template": "textarea", + "propertyKeyword": "indxComments", + "propertyName": "Comments", + "propertyTooltip": "comments", + "propertyType": "details", + "parentType": "indexes" } - }, - { - "propertyName": "Language", - "propertyKeyword": "functionLanguage", - "propertyTooltip": "The name of the language that the procedure is implemented in.", - "propertyType": "select", - "defaultValue": "JavaScript", - "options": [ - "JavaScript" - ] - }, - { - "propertyName": "AS object", - "propertyKeyword": "ASobject", - "propertyTooltip": "The name of the JavaScript function that you want to use for the user-defined function. This parameter is a string and must be wrapped in quotes.", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "AT library", - "propertyKeyword": "ATlibrary", - "propertyTooltip": "The name of the JavaScript library that contains the function you want to use.", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Comments", - "propertyKeyword": "functionComments", - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "textarea" - } - ] - }] + ] + } + ] } -] \ No newline at end of file +] diff --git a/properties_pane/field_level/fieldLevelConfig.json b/properties_pane/field_level/fieldLevelConfig.json index 4a638c9..460f4ea 100644 --- a/properties_pane/field_level/fieldLevelConfig.json +++ b/properties_pane/field_level/fieldLevelConfig.json @@ -1,5 +1,5 @@ /* -* Copyright © 2016-2023 by IntegrIT S.A. dba Hackolade. All rights reserved. +* Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. * * The copyright to the computer software herein is the property of IntegrIT S.A. * The software may be used and/or copied only with the written permission of @@ -148,7 +148,7 @@ making sure that you maintain a proper JSON format. "sample", "comments" ], - "numeric": [ + "number": [ { "fieldKeyword": "name", "validation": { @@ -165,18 +165,6 @@ making sure that you maintain a proper JSON format. "schemaId", "description", "type", - { - "propertyName": "Subtype", - "propertyKeyword": "mode", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "options": [ - "", - "int32", - "int64", - "double" - ] - }, "minimum", "exclusiveMinimum", "maximum", @@ -287,4 +275,4 @@ making sure that you maintain a proper JSON format. "comments" ] } -} \ No newline at end of file +} diff --git a/properties_pane/model_level/modelLevelConfig.json b/properties_pane/model_level/modelLevelConfig.json index 1beac84..f6764c1 100644 --- a/properties_pane/model_level/modelLevelConfig.json +++ b/properties_pane/model_level/modelLevelConfig.json @@ -122,9 +122,7 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "dbVendor", "propertyTooltip": "db vendor", "propertyType": "select", - "options": [ - "CouchbaseV7Plus" - ], + "options": ["CouchbaseV7Plus"], "disabledOption": true }, { @@ -132,9 +130,7 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "dbVersion", "propertyTooltip": "Database version", "propertyType": "select", - "options": [ - "7.x" - ] + "options": ["7.x"] }, { "propertyName": "Hosting", @@ -142,10 +138,7 @@ making sure that you maintain a proper JSON format. "propertyTooltip": "Select from list of options", "propertyType": "select", "defaultValue": "Self-hosted", - "options": [ - "Self-hosted", - "Capella" - ] + "options": ["Self-hosted", "Capella"] }, { "propertyName": "Database name", @@ -162,10 +155,7 @@ making sure that you maintain a proper JSON format. "propertyTooltip": "Select from list of options", "propertyType": "select", "defaultValue": "Amazon Web Services", - "options": [ - "Amazon Web Services", - "Google Cloud" - ], + "options": ["Amazon Web Services", "Google Cloud"], "dependency": { "key": "hosting", "value": "Capella" @@ -178,31 +168,34 @@ making sure that you maintain a proper JSON format. "propertyType": "select", "defaultValue": "US East (N. Virginia)", "options": [ - {"name": "US East (N. Virginia)", "value": "us-east-1"}, - {"name": "US East (Ohio)", "value": "us-east-2"}, - {"name": "US West (Oregon)", "value": "us-west-2"}, - {"name": "Canada (Central)", "value": "ca-central-1"}, - {"name": "South America (São Paulo)", "value": "sa-east-1"}, - {"name": "Europe (Frankfurt)", "value": "eu-central-1"}, - {"name": "Europe (Ireland)", "value": "eu-west-1"}, - {"name": "Europe (London)", "value": "eu-west-2"}, - {"name": "Europe (Paris)", "value": "eu-west-3"}, - {"name": "Europe (Stockholm)", "value": "eu-north-1"}, - {"name": "Asia Pacific (Singapore)", "value": "ap-southeast-1"}, - {"name": "Asia Pacific (Sydney)", "value": "ap-southeast-2"}, - {"name": "Asia Pacific (Tokyo)", "value": "ap-northeast-1"}, - {"name": "Asia Pacific (Seoul)", "value": "ap-northeast-2"}, - {"name": "Asia Pacific (Mumbai)", "value": "ap-south-1"} + { "name": "US East (N. Virginia)", "value": "us-east-1" }, + { "name": "US East (Ohio)", "value": "us-east-2" }, + { "name": "US West (Oregon)", "value": "us-west-2" }, + { "name": "Canada (Central)", "value": "ca-central-1" }, + { "name": "South America (São Paulo)", "value": "sa-east-1" }, + { "name": "Europe (Frankfurt)", "value": "eu-central-1" }, + { "name": "Europe (Ireland)", "value": "eu-west-1" }, + { "name": "Europe (London)", "value": "eu-west-2" }, + { "name": "Europe (Paris)", "value": "eu-west-3" }, + { "name": "Europe (Stockholm)", "value": "eu-north-1" }, + { "name": "Asia Pacific (Singapore)", "value": "ap-southeast-1" }, + { "name": "Asia Pacific (Sydney)", "value": "ap-southeast-2" }, + { "name": "Asia Pacific (Tokyo)", "value": "ap-northeast-1" }, + { "name": "Asia Pacific (Seoul)", "value": "ap-northeast-2" }, + { "name": "Asia Pacific (Mumbai)", "value": "ap-south-1" } ], "dependency": { "type": "and", - "values": [{ - "key": "hosting", - "value": "Capella" - }, { - "key": "cloudProvider", - "value": "Amazon Web Services" - }] + "values": [ + { + "key": "hosting", + "value": "Capella" + }, + { + "key": "cloudProvider", + "value": "Amazon Web Services" + } + ] } }, { @@ -212,45 +205,48 @@ making sure that you maintain a proper JSON format. "propertyType": "select", "defaultValue": "US East (South Carolina)", "options": [ - {"name": "US East (South Carolina)", "value": "us-east1"}, - {"name": "US East (N. Virginia)", "value": "us-east4"}, - {"name": "US West (Oregon)", "value": "us-west1"}, - {"name": "US West (Utah)", "value": "us-west3"}, - {"name": "US West (Nevada)", "value": "us-west4"}, - {"name": "US Central (Iowa)", "value": "us-central1"}, - {"name": "Canada (Montréal)", "value": "northamerica-northeast1"}, - {"name": "Canada (Toronto)", "value": "northamerica-northeast2"}, - {"name": "Brazil (São Paulo)", "value": "southamerica-east1"}, - {"name": "Chile (Santiago)", "value": "southamerica-west1"}, - {"name": "Belgium", "value": "europe-west1"}, - {"name": "London", "value": "europe-west2"}, - {"name": "Frankfurt", "value": "europe-west3"}, - {"name": "Netherlands", "value": "europe-west4"}, - {"name": "Zurich", "value": "europe-west6"}, - {"name": "Milan", "value": "europe-west8"}, - {"name": "Warsaw", "value": "europe-central2"}, - {"name": "Finland", "value": "europe-north1"}, - {"name": "Taiwan", "value": "asia-east1"}, - {"name": "Hong Kong", "value": "asia-east2"}, - {"name": "Tokyo", "value": "asia-northeast1"}, - {"name": "Osaka", "value": "asia-northeast2"}, - {"name": "Seoul", "value": "asia-northeast3"}, - {"name": "Mumbai", "value": "asia-south1"}, - {"name": "Delhi", "value": "asia-south2"}, - {"name": "Singapore", "value": "asia-southeast1"}, - {"name": "Jakarta", "value": "asia-southeast2"}, - {"name": "Sydney", "value": "australia-southeast1"}, - {"name": "Melbourne", "value": "australia-southeast2"} + { "name": "US East (South Carolina)", "value": "us-east1" }, + { "name": "US East (N. Virginia)", "value": "us-east4" }, + { "name": "US West (Oregon)", "value": "us-west1" }, + { "name": "US West (Utah)", "value": "us-west3" }, + { "name": "US West (Nevada)", "value": "us-west4" }, + { "name": "US Central (Iowa)", "value": "us-central1" }, + { "name": "Canada (Montréal)", "value": "northamerica-northeast1" }, + { "name": "Canada (Toronto)", "value": "northamerica-northeast2" }, + { "name": "Brazil (São Paulo)", "value": "southamerica-east1" }, + { "name": "Chile (Santiago)", "value": "southamerica-west1" }, + { "name": "Belgium", "value": "europe-west1" }, + { "name": "London", "value": "europe-west2" }, + { "name": "Frankfurt", "value": "europe-west3" }, + { "name": "Netherlands", "value": "europe-west4" }, + { "name": "Zurich", "value": "europe-west6" }, + { "name": "Milan", "value": "europe-west8" }, + { "name": "Warsaw", "value": "europe-central2" }, + { "name": "Finland", "value": "europe-north1" }, + { "name": "Taiwan", "value": "asia-east1" }, + { "name": "Hong Kong", "value": "asia-east2" }, + { "name": "Tokyo", "value": "asia-northeast1" }, + { "name": "Osaka", "value": "asia-northeast2" }, + { "name": "Seoul", "value": "asia-northeast3" }, + { "name": "Mumbai", "value": "asia-south1" }, + { "name": "Delhi", "value": "asia-south2" }, + { "name": "Singapore", "value": "asia-southeast1" }, + { "name": "Jakarta", "value": "asia-southeast2" }, + { "name": "Sydney", "value": "australia-southeast1" }, + { "name": "Melbourne", "value": "australia-southeast2" } ], "dependency": { "type": "and", - "values": [{ - "key": "hosting", - "value": "Capella" - }, { - "key": "cloudProvider", - "value": "Google Cloud" - }] + "values": [ + { + "key": "hosting", + "value": "Capella" + }, + { + "key": "cloudProvider", + "value": "Google Cloud" + } + ] } }, { @@ -262,4 +258,4 @@ making sure that you maintain a proper JSON format. } ] } -] \ No newline at end of file +] diff --git a/properties_pane/samples.json b/properties_pane/samples.json index 3620742..63c9314 100644 --- a/properties_pane/samples.json +++ b/properties_pane/samples.json @@ -32,4 +32,4 @@ "value": "double" } } -] \ No newline at end of file +] diff --git a/properties_pane/view_level/viewLevelConfig.json b/properties_pane/view_level/viewLevelConfig.json index f35cb1a..e43c06f 100644 --- a/properties_pane/view_level/viewLevelConfig.json +++ b/properties_pane/view_level/viewLevelConfig.json @@ -1,5 +1,5 @@ /* -* Copyright © 2016-2019 by IntegrIT S.A. dba Hackolade. All rights reserved. +* Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. * * The copyright to the computer software herein is the property of IntegrIT S.A. * The software may be used and/or copied only with the written permission of @@ -128,4 +128,4 @@ making sure that you maintain a proper JSON format. } ] } -] \ No newline at end of file +] diff --git a/reverse_engineering/antlr/buildParser.sh b/reverse_engineering/antlr/buildParser.sh new file mode 100644 index 0000000..19ed503 --- /dev/null +++ b/reverse_engineering/antlr/buildParser.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# * run with `sh buildParser.sh` + +# !important: don't forget to change `import` and `export` to `require` and `module.exports` after the parser is built + +# https://www.antlr.org/download/antlr-4.9.2-complete.jar +# +# set antlr4 aliases +# export CLASSPATH=".:/usr/local/lib/antlr-4.9.2-complete.jar:$CLASSPATH" +# alias antlr4='java -jar /usr/local/lib/antlr-4.9.2-complete.jar' +# alias grun='java org.antlr.v4.gui.TestRig' + +# build parser +java -jar /usr/local/lib/antlr-4.9.2-complete.jar -Dlanguage=JavaScript \ + -lib grammars \ + -o parser/ \ + -visitor \ + -no-listener \ + -Xexact-output-dir \ + grammars/n1ql.g4 + +npx prettier --write ./parser/**/*.js diff --git a/reverse_engineering/api.js b/reverse_engineering/api.js index e834e26..e40d958 100644 --- a/reverse_engineering/api.js +++ b/reverse_engineering/api.js @@ -1,479 +1,298 @@ -'use strict'; - -const connectionHelper = require('./helpers/connectionHelper'); -const { createLogger, getSystemInfo } = require('./helpers/logHelper'); -const bson = require('bson'); -const awsHelper = require('./helpers/awsHelper'); - -module.exports = { - disconnect: function(connectionInfo, logger, cb) { - connectionHelper.close(); - cb() - }, - - async testConnection(connectionInfo, logger, cb){ - const log = createLogger({ - title: 'Test connection', - hiddenKeys: connectionInfo.hiddenKeys, - logger, - }); - - try { - logger.clear(); - log.info(getSystemInfo(connectionInfo.appVersion)); - log.info(connectionInfo); - - await connectionHelper.connect(connectionInfo); - - log.info('Connected successfully'); - - cb(); - } catch (error) { - log.error(error); - - return cb({ - message: error.message, - stack: error.stack, - }); - } - }, - - async getDbCollectionsNames(connectionInfo, logger, cb, app) { - const log = createLogger({ - title: 'Retrieving databases and collections information', - hiddenKeys: connectionInfo.hiddenKeys, - logger, - }); - - try { - const _ = app.require('lodash'); - const async = app.require('async'); - const awsSdk = app.require('aws-sdk'); - - awsHelper({ - ...connectionInfo, - ...parseHost(connectionInfo.host, log) - }, awsSdk); - - logger.clear(); - log.info(getSystemInfo(connectionInfo.appVersion)); - log.info(connectionInfo); - - const includeSystemCollection = connectionInfo.includeSystemCollection; - const connection = await connectionHelper.connect(connectionInfo); - - const databases = await connection.getDatabases(); - - const result = await async.mapSeries(databases, async (database) => { - const collections = await connection.getCollections(database.name); - let dbCollections = collections.map(collection => collection.name); - - log.info({ - message: 'Found collections', - collections: dbCollections, - }); - - dbCollections = await async.filter(dbCollections, async (collectionName) => { - return connection.hasPermission(database.name, collectionName); - }); - - log.info({ - message: 'Collections that user has access to', - collections: dbCollections, - }); - - if (!includeSystemCollection) { - dbCollections = filterSystemCollections(dbCollections); - } - - log.info({ - message: 'Collections to process', - collections: dbCollections, - }); - - return { - dbName: database.name, - dbCollections, - isEmpty: dbCollections.length === 0, - }; - }); - - log.info('Names retrieved successfully'); - - cb(null, result); - } catch (error) { - log.error(error); - cb({ message: error.message, stack: error.stack }); - } - }, - - async getDbCollectionsData(data, logger, cb, app){ - const log = createLogger({ - title: 'Retrieving data for inferring schema', - hiddenKeys: data.hiddenKeys, - logger, - }); - - try { - const async = app.require('async'); - const _ = app.require('lodash'); - const { recordSamplingSettings, fieldInference, includeEmptyCollection, collectionData } = data; - const query = safeParse(data.queryCriteria); - const sort = safeParse(data.sortCriteria); - const maxTimeMS = Number(data.queryRequestTimeout) || 120000; - const awsConnection = awsHelper(); - - log.info({ - title: 'Parameters', - sampling: getSamplingInfo(recordSamplingSettings, fieldInference), - data, - }); - - const connection = await connectionHelper.connect(); - const dbInfo = await connection.getBuildInfo(); - let modelInfo = { - version: dbInfo.version, - }; - log.progress('Start reverse-engineering'); - - try { - log.info('Getting cluster information'); - log.progress('Getting cluster information ...'); - - const cluster = await awsConnection.getCluster(); - if (!cluster) { - throw new Error('Cluster doesn\'t exist in the chosen region.'); - } - const tags = await awsConnection.tags(cluster['DBClusterArn']); - const clusterData = getClusterData(cluster); - modelInfo = { - ...modelInfo, - 'source-region': awsConnection.getRegion(), - ...clusterData, - tags: tags['TagList']?.map(tag => ({ - tagName: tag['Key'], - tagValue: tag['Value'], - })), - }; - } catch (e) { - log.progress('[color:red]Error of getting cluster information'); - log.info('Cannot get information about the cluster from AWS. Please, check AWS credentials in the connection settings.'); - log.error(e); - } - - - const result = await async.reduce(collectionData.dataBaseNames, [], async (result, dbName) => { - return await async.reduce(collectionData.collections[dbName], result, async (result, collectionName) => { - log.info({ message: 'Calculate count of documents', dbName, collectionName }); - log.progress('Calculate count of documents', dbName, collectionName); - - const count = await connection.getCount(dbName, collectionName); - - if (!includeEmptyCollection && count === 0) { - return result; - } - - const limit = getSampleDocSize(count, recordSamplingSettings); - - log.info({ message: 'Getting documents for sampling', dbName, collectionName, countOfDocuments: count, documentsToSample: limit }); - log.progress('Getting documents for sampling', dbName, collectionName); - - const documents = await connection.getRandomDocuments(dbName, collectionName, { - maxTimeMS, - limit, - query, - sort, - }); - let standardDoc = {}; - - if (fieldInference.active === 'field') { - log.info({ message: 'Getting a document for inferring', dbName, collectionName }); - log.progress('Getting a document for inferring', dbName, collectionName); - - standardDoc = await connection.findOne(dbName, collectionName, query); - } - - log.info({ message: 'Getting indexes', dbName, collectionName }); - log.progress('Getting indexes', dbName, collectionName); - - const indexes = await connection.getIndexes(dbName, collectionName); - - const packageData = { - dbName, - collectionName, - documents: documents.map(serialize), - relationshipDocuments: filterPotentialForeignKeys(documents).map(serialize), - primaryKey: '_id', - typeOfSerializer: 'bson', - standardDoc: serialize(standardDoc), - validation: { - jsonSchema: getJsonSchema(documents[0]), - }, - entityLevel: { - Indxs: getIndexes(indexes), - } - }; - - log.info({ message: 'Collection processed', dbName, collectionName }); - log.progress('Collection processed', dbName, collectionName); - - return result.concat(packageData); - }); - }); - - cb(null, result, modelInfo, []); - } catch (error) { - log.error(error); - cb({ message: error.message, stack: error.stack }); - } - } -}; - -const serialize = (data) => { - const b = new bson(); - - if (!data) { - data = {}; - } - - return b.serialize(data) -}; - -const safeParse = (data) => { - try { - return JSON.parse(data); - } catch (e) { - return {}; - } -}; - -const filterPotentialForeignKeys = (documents) => { - const isObject = (item) => item && typeof item === 'object'; - const isEmpty = (item) => { - if (!item) { - return true; - } - - if (Array.isArray(item)) { - return item.length === 0; - } - - if (isObject(item)) { - return Object.keys(item).length === 0; - } - - return false; - }; - - const iterateProps = document => { - return Object.keys(document).reduce((obj, prop) => { - if (document?.[prop]?._bsontype === 'ObjectID') { - return { ...obj, [prop]: document[prop] }; - } else if (document?.[prop]?._bsontype === 'DBRef') { - return { ...obj }; - } - - if (isObject(document[prop]) || Array.isArray(document[prop])) { - const innerData = iterateProps(document[prop]); - if (isEmpty(innerData)) { - return { ...obj }; - } - return { ...obj, [prop]: innerData }; - } - - return { ...obj }; - }, {}); - }; - - return documents.map(document => iterateProps(document)).filter((item) => !isEmpty(item)); -}; - -function getSamplingInfo(recordSamplingSettings, fieldInference){ - let samplingInfo = {}; - let value = recordSamplingSettings[recordSamplingSettings.active].value; - let unit = (recordSamplingSettings.active === 'relative') ? '%' : ' records max'; - samplingInfo.recordSampling = `${recordSamplingSettings.active} ${value}${unit}` - samplingInfo.fieldInference = (fieldInference.active === 'field') ? 'keep field order' : 'alphabetical order'; - return samplingInfo; -} - -function filterSystemCollections(collections) { - return collections.filter((collectionName) => { - return collectionName?.length < 8 || collectionName?.substring(0, 7) !== 'system.'; - }); +"use strict";var s4=Object.defineProperty;var fg=(l,u,t)=>u in l?s4(l,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[u]=t;var h=(l,u)=>s4(l,"name",{value:u,configurable:!0});var $=(l,u)=>()=>(u||l((u={exports:{}}).exports,u),u.exports);var Pu=(l,u,t)=>(fg(l,typeof u!="symbol"?u+"":u,t),t);var ts=$((Er,Dn)=>{(function(){var l,u="4.17.21",t=200,e="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",d="Invalid `variable` option passed into `_.template`",p="__lodash_hash_undefined__",_=500,E="__lodash_placeholder__",y=1,H=2,V=4,K=1,t0=2,f0=1,w0=2,j=4,Z=8,Fu=16,z0=32,Bu=64,ht=128,at=256,Lu=512,Po=30,So="...",Do=800,Ho=16,ic=1,ct=2,nc=3,B0=1/0,lt=9007199254740991,Qt=17976931348623157e292,Us=NaN,yu=4294967295,Mo=yu-1,uu=yu>>>1,ko=[["ary",ht],["bind",f0],["bindKey",w0],["curry",Z],["curryRight",Fu],["flip",Lu],["partial",z0],["partialRight",Bu],["rearg",at]],qu="[object Arguments]",Oe="[object Array]",Fo="[object AsyncFunction]",W0="[object Boolean]",Ie="[object Date]",$i="[object DOMException]",Ue="[object Error]",Gu="[object Function]",yt="[object GeneratorFunction]",tu="[object Map]",ve="[object Number]",Bo="[object Null]",Vu="[object Object]",hc="[object Promise]",qo="[object Proxy]",Pe="[object RegExp]",du="[object Set]",Nt="[object String]",Se="[object Symbol]",zi="[object Undefined]",jt="[object WeakMap]",ac="[object WeakSet]",De="[object ArrayBuffer]",eu="[object DataView]",He="[object Float32Array]",vs="[object Float64Array]",Qi="[object Int8Array]",wt="[object Int16Array]",ji="[object Int32Array]",ot="[object Uint8Array]",Ji="[object Uint8ClampedArray]",Jt="[object Uint16Array]",Zi="[object Uint32Array]",Ps=/\b__p \+= '';/g,cc=/\b(__p \+=) '' \+/g,Ku=/(__e\(.*?\)|\b__t\)) \+\n'';/g,lc=/&(?:amp|lt|gt|quot|#39);/g,Me=/[&<>"']/g,Go=RegExp(lc.source),Ss=RegExp(Me.source),Vo=/<%-([\s\S]+?)%>/g,Ds=/<%([\s\S]+?)%>/g,un=/<%=([\s\S]+?)%>/g,oc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ko=/^\w*$/,ke=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hs=/[\\^$.*+?()[\]{}|]/g,dc=RegExp(Hs.source),tn=/^\s+/,Ms=/\s/,Wo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Fe=/\{\n\/\* \[wrapped with (.+)\] \*/,Yo=/,? & /,Be=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,en=/[()=,{}\[\]\/\s]/,Xo=/\\(\\)?/g,ks=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fc=/\w*$/,Fs=/^[-+]0x[0-9a-f]+$/i,$o=/^0b[01]+$/i,Bs=/^\[object .+?Constructor\]$/,zo=/^0o[0-7]+$/i,Qo=/^(?:0|[1-9]\d*)$/,qs=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gs=/($^)/,Vs=/['\n\r\u2028\u2029\\]/g,Ks="\\ud800-\\udfff",Ws="\\u0300-\\u036f",jo="\\ufe20-\\ufe2f",Ys="\\u20d0-\\u20ff",pc=Ws+jo+Ys,sn="\\u2700-\\u27bf",_c="a-z\\xdf-\\xf6\\xf8-\\xff",Xs="\\xac\\xb1\\xd7\\xf7",xc="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ec="\\u2000-\\u206f",Rc=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tc="A-Z\\xc0-\\xd6\\xd8-\\xde",qe="\\ufe0e\\ufe0f",rn=Xs+xc+Ec+Rc,$s="['\u2019]",bc="["+Ks+"]",Ge="["+rn+"]",Ve="["+pc+"]",zs="\\d+",mc="["+sn+"]",nn="["+_c+"]",Qs="[^"+Ks+rn+zs+sn+_c+Tc+"]",Ke="\\ud83c[\\udffb-\\udfff]",Jo="(?:"+Ve+"|"+Ke+")",hn="[^"+Ks+"]",We="(?:\\ud83c[\\udde6-\\uddff]){2}",js="[\\ud800-\\udbff][\\udc00-\\udfff]",Zt="["+Tc+"]",an="\\u200d",Ye="(?:"+nn+"|"+Qs+")",Js="(?:"+Zt+"|"+Qs+")",cn="(?:"+$s+"(?:d|ll|m|re|s|t|ve))?",Zs="(?:"+$s+"(?:D|LL|M|RE|S|T|VE))?",Ac=Jo+"?",ln="["+qe+"]?",Zo="(?:"+an+"(?:"+[hn,We,js].join("|")+")"+ln+Ac+")*",Cc="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ud="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",on=ln+Ac+Zo,gc="(?:"+[mc,We,js].join("|")+")"+on,dn="(?:"+[hn+Ve+"?",Ve,We,js,bc].join("|")+")",Lc=RegExp($s,"g"),ur=RegExp(Ve,"g"),fn=RegExp(Ke+"(?="+Ke+")|"+dn+on,"g"),yc=RegExp([Zt+"?"+nn+"+"+cn+"(?="+[Ge,Zt,"$"].join("|")+")",Js+"+"+Zs+"(?="+[Ge,Zt+Ye,"$"].join("|")+")",Zt+"?"+Ye+"+"+cn,Zt+"+"+Zs,ud,Cc,zs,gc].join("|"),"g"),Nc=RegExp("["+an+Ks+pc+qe+"]"),td=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,tr=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ed=-1,C0={};C0[He]=C0[vs]=C0[Qi]=C0[wt]=C0[ji]=C0[ot]=C0[Ji]=C0[Jt]=C0[Zi]=!0,C0[qu]=C0[Oe]=C0[De]=C0[W0]=C0[eu]=C0[Ie]=C0[Ue]=C0[Gu]=C0[tu]=C0[ve]=C0[Vu]=C0[Pe]=C0[du]=C0[Nt]=C0[jt]=!1;var y0={};y0[qu]=y0[Oe]=y0[De]=y0[eu]=y0[W0]=y0[Ie]=y0[He]=y0[vs]=y0[Qi]=y0[wt]=y0[ji]=y0[tu]=y0[ve]=y0[Vu]=y0[Pe]=y0[du]=y0[Nt]=y0[Se]=y0[ot]=y0[Ji]=y0[Jt]=y0[Zi]=!0,y0[Ue]=y0[Gu]=y0[jt]=!1;var er={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},sd={"&":"&","<":"<",">":">",'"':""","'":"'"},wc={"&":"&","<":"<",">":">",""":'"',"'":"'"},Oc={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rd=parseFloat,sr=parseInt,pn=typeof global=="object"&&global&&global.Object===Object&&global,Ic=typeof self=="object"&&self&&self.Object===Object&&self,P0=pn||Ic||Function("return this")(),_n=typeof Er=="object"&&Er&&!Er.nodeType&&Er,dt=_n&&typeof Dn=="object"&&Dn&&!Dn.nodeType&&Dn,xn=dt&&dt.exports===_n,En=xn&&pn.process,V0=function(){try{var O=dt&&dt.require&&dt.require("util").types;return O||En&&En.binding&&En.binding("util")}catch{}}(),Rn=V0&&V0.isArrayBuffer,Uc=V0&&V0.isDate,Tn=V0&&V0.isMap,vc=V0&&V0.isRegExp,rr=V0&&V0.isSet,ir=V0&&V0.isTypedArray;function m(O,k,P){switch(P.length){case 0:return O.call(k);case 1:return O.call(k,P[0]);case 2:return O.call(k,P[0],P[1]);case 3:return O.call(k,P[0],P[1],P[2])}return O.apply(k,P)}h(m,"apply");function R(O,k,P,X){for(var i0=-1,A0=O==null?0:O.length;++i0-1}h(S,"arrayIncludes");function D(O,k,P){for(var X=-1,i0=O==null?0:O.length;++X-1;);return P}h(lR,"charsStartIndex");function oR(O,k){for(var P=O.length;P--&&J(k,O[P],0)>-1;);return P}h(oR,"charsEndIndex");function WT(O,k){for(var P=O.length,X=0;P--;)O[P]===k&&++X;return X}h(WT,"countHolders");var YT=U0(er),XT=U0(sd);function $T(O){return"\\"+Oc[O]}h($T,"escapeStringChar");function zT(O,k){return O==null?l:O[k]}h(zT,"getValue");function nr(O){return Nc.test(O)}h(nr,"hasUnicode");function QT(O){return td.test(O)}h(QT,"hasUnicodeWord");function jT(O){for(var k,P=[];!(k=O.next()).done;)P.push(k.value);return P}h(jT,"iteratorToArray");function nd(O){var k=-1,P=Array(O.size);return O.forEach(function(X,i0){P[++k]=[i0,X]}),P}h(nd,"mapToArray");function dR(O,k){return function(P){return O(k(P))}}h(dR,"overArg");function se(O,k){for(var P=-1,X=O.length,i0=0,A0=[];++P-1}h(M6,"listCacheHas");function k6(s,i){var c=this.__data__,f=$c(c,s);return f<0?(++this.size,c.push([s,i])):c[f][1]=i,this}h(k6,"listCacheSet"),Ut.prototype.clear=S6,Ut.prototype.delete=D6,Ut.prototype.get=H6,Ut.prototype.has=M6,Ut.prototype.set=k6;function vt(s){var i=-1,c=s==null?0:s.length;for(this.clear();++i=i?s:i)),s}h(Qe,"baseClamp");function Ou(s,i,c,f,x,b){var L,w=i&y,I=i&H,F=i&V;if(c&&(L=x?c(s,f,x,b):c(s)),L!==l)return L;if(!I0(s))return s;var B=n0(s);if(B){if(L=G9(s),!w)return pu(s,L)}else{var q=j0(s),W=q==Gu||q==yt;if(le(s))return $R(s,w);if(q==Vu||q==qu||W&&!x){if(L=I||W?{}:f7(s),!w)return I?U9(s,u9(L,s)):I9(s,gR(L,s))}else{if(!y0[q])return x?s:{};L=V9(s,q,w)}}b||(b=new Xu);var Q=b.get(s);if(Q)return Q;b.set(s,L),G7(s)?s.forEach(function(r0){L.add(Ou(r0,i,c,r0,s,b))}):B7(s)&&s.forEach(function(r0,x0){L.set(x0,Ou(r0,i,c,x0,s,b))});var s0=F?I?vd:Ud:I?xu:K0,c0=B?l:s0(s);return A(c0||s,function(r0,x0){c0&&(x0=r0,r0=s[x0]),yn(L,x0,Ou(r0,i,c,x0,s,b))}),L}h(Ou,"baseClone");function t9(s){var i=K0(s);return function(c){return LR(c,s,i)}}h(t9,"baseConforms");function LR(s,i,c){var f=c.length;if(s==null)return!f;for(s=O0(s);f--;){var x=c[f],b=i[x],L=s[x];if(L===l&&!(x in s)||!b(L))return!1}return!0}h(LR,"baseConformsTo");function yR(s,i,c){if(typeof s!="function")throw new Nu(a);return Pn(function(){s.apply(l,c)},i)}h(yR,"baseDelay");function Nn(s,i,c,f){var x=-1,b=S,L=!0,w=s.length,I=[],F=i.length;if(!w)return I;c&&(i=M(i,Tu(c))),f?(b=D,L=!1):i.length>=t&&(b=bn,L=!1,i=new ze(i));u:for(;++xx?0:x+c),f=f===l||f>x?x:a0(f),f<0&&(f+=x),f=c>f?0:K7(f);c0&&c(w)?i>1?Y0(w,i-1,c,f,x):Y(x,w):f||(x[x.length]=w)}return x}h(Y0,"baseFlatten");var fd=u7(),OR=u7(!0);function ft(s,i){return s&&fd(s,i,K0)}h(ft,"baseForOwn");function pd(s,i){return s&&OR(s,i,K0)}h(pd,"baseForOwnRight");function Qc(s,i){return v(i,function(c){return Mt(s[c])})}h(Qc,"baseFunctions");function je(s,i){i=ae(i,s);for(var c=0,f=i.length;s!=null&&ci}h(_d,"baseGt");function r9(s,i){return s!=null&&L0.call(s,i)}h(r9,"baseHas");function i9(s,i){return s!=null&&i in O0(s)}h(i9,"baseHasIn");function n9(s,i,c){return s>=Q0(i,c)&&s=120&&B.length>=120)?new ze(L&&B):l}B=s[0];var q=-1,W=w[0];u:for(;++q-1;)w!==s&&qc.call(w,I,1),qc.call(s,I,1);return s}h(bd,"basePullAll");function BR(s,i){for(var c=s?i.length:0,f=c-1;c--;){var x=i[c];if(c==f||x!==b){var b=x;Ht(x)?qc.call(s,x,1):gd(s,x)}}return s}h(BR,"basePullAt");function md(s,i){return s+Kc(bR()*(i-s+1))}h(md,"baseRandom");function T9(s,i,c,f){for(var x=-1,b=G0(Vc((i-s)/(c||1)),0),L=P(b);b--;)L[f?b:++x]=s,s+=c;return L}h(T9,"baseRange");function Ad(s,i){var c="";if(!s||i<1||i>lt)return c;do i%2&&(c+=s),i=Kc(i/2),i&&(s+=s);while(i);return c}h(Ad,"baseRepeat");function o0(s,i){return Fd(x7(s,i,Eu),s+"")}h(o0,"baseRest");function b9(s){return CR(xr(s))}h(b9,"baseSample");function m9(s,i){var c=xr(s);return hl(c,Qe(i,0,c.length))}h(m9,"baseSampleSize");function In(s,i,c,f){if(!I0(s))return s;i=ae(i,s);for(var x=-1,b=i.length,L=b-1,w=s;w!=null&&++xx?0:x+i),c=c>x?x:c,c<0&&(c+=x),x=i>c?0:c-i>>>0,i>>>=0;for(var b=P(x);++f>>1,L=s[b];L!==null&&!mu(L)&&(c?L<=i:L=t){var F=i?null:D9(s);if(F)return Pc(F);L=!1,x=bn,I=new ze}else I=i?[]:w;u:for(;++f=f?s:Iu(s,i,c)}h(ce,"castSlice");var XR=d6||function(s){return P0.clearTimeout(s)};function $R(s,i){if(i)return s.slice();var c=s.length,f=_R?_R(c):new s.constructor(c);return s.copy(f),f}h($R,"cloneBuffer");function wd(s){var i=new s.constructor(s.byteLength);return new Fc(i).set(new Fc(s)),i}h(wd,"cloneArrayBuffer");function y9(s,i){var c=i?wd(s.buffer):s.buffer;return new s.constructor(c,s.byteOffset,s.byteLength)}h(y9,"cloneDataView");function N9(s){var i=new s.constructor(s.source,fc.exec(s));return i.lastIndex=s.lastIndex,i}h(N9,"cloneRegExp");function w9(s){return Ln?O0(Ln.call(s)):{}}h(w9,"cloneSymbol");function zR(s,i){var c=i?wd(s.buffer):s.buffer;return new s.constructor(c,s.byteOffset,s.length)}h(zR,"cloneTypedArray");function QR(s,i){if(s!==i){var c=s!==l,f=s===null,x=s===s,b=mu(s),L=i!==l,w=i===null,I=i===i,F=mu(i);if(!w&&!F&&!b&&s>i||b&&L&&I&&!w&&!F||f&&L&&I||!c&&I||!x)return 1;if(!f&&!b&&!F&&s=w)return I;var F=c[f];return I*(F=="desc"?-1:1)}}return s.index-i.index}h(O9,"compareMultiple");function jR(s,i,c,f){for(var x=-1,b=s.length,L=c.length,w=-1,I=i.length,F=G0(b-L,0),B=P(I+F),q=!f;++w1?c[x-1]:l,L=x>2?c[2]:l;for(b=s.length>3&&typeof b=="function"?(x--,b):l,L&&iu(c[0],c[1],L)&&(b=x<3?l:b,x=1),i=O0(i);++f-1?x[b?i[L]:L]:l}}h(e7,"createFind");function s7(s){return Dt(function(i){var c=i.length,f=c,x=wu.prototype.thru;for(s&&i.reverse();f--;){var b=i[f];if(typeof b!="function")throw new Nu(a);if(x&&!L&&il(b)=="wrapper")var L=new wu([],!0)}for(f=L?f:c;++f1&&T0.reverse(),B&&Iw))return!1;var F=b.get(s),B=b.get(i);if(F&&B)return F==i&&B==s;var q=-1,W=!0,Q=c&t0?new ze:l;for(b.set(s,i),b.set(i,s);++q1?"& ":"")+i[f],i=i.join(c>2?", ":" "),s.replace(Wo,`{ +/* [wrapped with `+i+`] */ +`)}h(K9,"insertWrapDetails");function W9(s){return n0(s)||us(s)||!!(RR&&s&&s[RR])}h(W9,"isFlattenable");function Ht(s,i){var c=typeof s;return i=i??lt,!!i&&(c=="number"||c!="symbol"&&Qo.test(s))&&s>-1&&s%1==0&&s0){if(++i>=Do)return arguments[0]}else i=0;return s.apply(l,arguments)}}h(b7,"shortOut");function hl(s,i){var c=-1,f=s.length,x=f-1;for(i=i===l?f:i;++c1?s[i-1]:l;return c=typeof c=="function"?(s.pop(),c):l,w7(s,c)});function O7(s){var i=T(s);return i.__chain__=!0,i}h(O7,"chain");function em(s,i){return i(s),s}h(em,"tap");function al(s,i){return i(s)}h(al,"thru");var sm=Dt(function(s){var i=s.length,c=i?s[0]:0,f=this.__wrapped__,x=h(function(b){return dd(b,s)},"interceptor");return i>1||this.__actions__.length||!(f instanceof R0)||!Ht(c)?this.thru(x):(f=f.slice(c,+c+(i?1:0)),f.__actions__.push({func:al,args:[x],thisArg:l}),new wu(f,this.__chain__).thru(function(b){return i&&!b.length&&b.push(l),b}))});function rm(){return O7(this)}h(rm,"wrapperChain");function im(){return new wu(this.value(),this.__chain__)}h(im,"wrapperCommit");function nm(){this.__values__===l&&(this.__values__=V7(this.value()));var s=this.__index__>=this.__values__.length,i=s?l:this.__values__[this.__index__++];return{done:s,value:i}}h(nm,"wrapperNext");function hm(){return this}h(hm,"wrapperToIterator");function am(s){for(var i,c=this;c instanceof Xc;){var f=A7(c);f.__index__=0,f.__values__=l,i?x.__wrapped__=f:i=f;var x=f;c=c.__wrapped__}return x.__wrapped__=s,i}h(am,"wrapperPlant");function cm(){var s=this.__wrapped__;if(s instanceof R0){var i=s;return this.__actions__.length&&(i=new R0(this)),i=i.reverse(),i.__actions__.push({func:al,args:[Bd],thisArg:l}),new wu(i,this.__chain__)}return this.thru(Bd)}h(cm,"wrapperReverse");function lm(){return WR(this.__wrapped__,this.__actions__)}h(lm,"wrapperValue");var om=ul(function(s,i,c){L0.call(s,c)?++s[c]:Pt(s,c,1)});function dm(s,i,c){var f=n0(s)?U:e9;return c&&iu(s,i,c)&&(i=l),f(s,e0(i,3))}h(dm,"every");function fm(s,i){var c=n0(s)?v:wR;return c(s,e0(i,3))}h(fm,"filter");var pm=e7(C7),_m=e7(g7);function xm(s,i){return Y0(cl(s,i),1)}h(xm,"flatMap");function Em(s,i){return Y0(cl(s,i),B0)}h(Em,"flatMapDeep");function Rm(s,i,c){return c=c===l?1:a0(c),Y0(cl(s,i),c)}h(Rm,"flatMapDepth");function I7(s,i){var c=n0(s)?A:ne;return c(s,e0(i,3))}h(I7,"forEach");function U7(s,i){var c=n0(s)?N:NR;return c(s,e0(i,3))}h(U7,"forEachRight");var Tm=ul(function(s,i,c){L0.call(s,c)?s[c].push(i):Pt(s,c,[i])});function bm(s,i,c,f){s=_u(s)?s:xr(s),c=c&&!f?a0(c):0;var x=s.length;return c<0&&(c=G0(x+c,0)),pl(s)?c<=x&&s.indexOf(i,c)>-1:!!x&&J(s,i,c)>-1}h(bm,"includes");var mm=o0(function(s,i,c){var f=-1,x=typeof i=="function",b=_u(s)?P(s.length):[];return ne(s,function(L){b[++f]=x?m(i,L,c):wn(L,i,c)}),b}),Am=ul(function(s,i,c){Pt(s,c,i)});function cl(s,i){var c=n0(s)?M:SR;return c(s,e0(i,3))}h(cl,"map");function Cm(s,i,c,f){return s==null?[]:(n0(i)||(i=i==null?[]:[i]),c=f?l:c,n0(c)||(c=c==null?[]:[c]),kR(s,i,c))}h(Cm,"orderBy");var gm=ul(function(s,i,c){s[c?0:1].push(i)},function(){return[[],[]]});function Lm(s,i,c){var f=n0(s)?l0:su,x=arguments.length<3;return f(s,e0(i,4),c,x,ne)}h(Lm,"reduce");function ym(s,i,c){var f=n0(s)?b0:su,x=arguments.length<3;return f(s,e0(i,4),c,x,NR)}h(ym,"reduceRight");function Nm(s,i){var c=n0(s)?v:wR;return c(s,dl(e0(i,3)))}h(Nm,"reject");function wm(s){var i=n0(s)?CR:b9;return i(s)}h(wm,"sample");function Om(s,i,c){(c?iu(s,i,c):i===l)?i=1:i=a0(i);var f=n0(s)?j6:m9;return f(s,i)}h(Om,"sampleSize");function Im(s){var i=n0(s)?J6:C9;return i(s)}h(Im,"shuffle");function Um(s){if(s==null)return 0;if(_u(s))return pl(s)?hr(s):s.length;var i=j0(s);return i==tu||i==du?s.size:Rd(s).length}h(Um,"size");function vm(s,i,c){var f=n0(s)?d0:g9;return c&&iu(s,i,c)&&(i=l),f(s,e0(i,3))}h(vm,"some");var Pm=o0(function(s,i){if(s==null)return[];var c=i.length;return c>1&&iu(s,i[0],i[1])?i=[]:c>2&&iu(i[0],i[1],i[2])&&(i=[i[0]]),kR(s,Y0(i,1),[])}),ll=f6||function(){return P0.Date.now()};function Sm(s,i){if(typeof i!="function")throw new Nu(a);return s=a0(s),function(){if(--s<1)return i.apply(this,arguments)}}h(Sm,"after");function v7(s,i,c){return i=c?l:i,i=s&&i==null?s.length:i,St(s,ht,l,l,l,l,i)}h(v7,"ary");function P7(s,i){var c;if(typeof i!="function")throw new Nu(a);return s=a0(s),function(){return--s>0&&(c=i.apply(this,arguments)),s<=1&&(i=l),c}}h(P7,"before");var Gd=o0(function(s,i,c){var f=f0;if(c.length){var x=se(c,pr(Gd));f|=z0}return St(s,f,i,c,x)}),S7=o0(function(s,i,c){var f=f0|w0;if(c.length){var x=se(c,pr(S7));f|=z0}return St(i,f,s,c,x)});function D7(s,i,c){i=c?l:i;var f=St(s,Z,l,l,l,l,l,i);return f.placeholder=D7.placeholder,f}h(D7,"curry");function H7(s,i,c){i=c?l:i;var f=St(s,Fu,l,l,l,l,l,i);return f.placeholder=H7.placeholder,f}h(H7,"curryRight");function M7(s,i,c){var f,x,b,L,w,I,F=0,B=!1,q=!1,W=!0;if(typeof s!="function")throw new Nu(a);i=vu(i)||0,I0(c)&&(B=!!c.leading,q="maxWait"in c,b=q?G0(vu(c.maxWait)||0,i):b,W="trailing"in c?!!c.trailing:W);function Q(D0){var zu=f,Ft=x;return f=x=l,F=D0,L=s.apply(Ft,zu),L}h(Q,"invokeFunc");function s0(D0){return F=D0,w=Pn(x0,i),B?Q(D0):L}h(s0,"leadingEdge");function c0(D0){var zu=D0-I,Ft=D0-F,e4=i-zu;return q?Q0(e4,b-Ft):e4}h(c0,"remainingWait");function r0(D0){var zu=D0-I,Ft=D0-F;return I===l||zu>=i||zu<0||q&&Ft>=b}h(r0,"shouldInvoke");function x0(){var D0=ll();if(r0(D0))return T0(D0);w=Pn(x0,c0(D0))}h(x0,"timerExpired");function T0(D0){return w=l,W&&f?Q(D0):(f=x=l,L)}h(T0,"trailingEdge");function Au(){w!==l&&XR(w),F=0,f=I=x=w=l}h(Au,"cancel");function nu(){return w===l?L:T0(ll())}h(nu,"flush");function Cu(){var D0=ll(),zu=r0(D0);if(f=arguments,x=this,I=D0,zu){if(w===l)return s0(I);if(q)return XR(w),w=Pn(x0,i),Q(I)}return w===l&&(w=Pn(x0,i)),L}return h(Cu,"debounced"),Cu.cancel=Au,Cu.flush=nu,Cu}h(M7,"debounce");var Dm=o0(function(s,i){return yR(s,1,i)}),Hm=o0(function(s,i,c){return yR(s,vu(i)||0,c)});function Mm(s){return St(s,Lu)}h(Mm,"flip");function ol(s,i){if(typeof s!="function"||i!=null&&typeof i!="function")throw new Nu(a);var c=h(function(){var f=arguments,x=i?i.apply(this,f):f[0],b=c.cache;if(b.has(x))return b.get(x);var L=s.apply(this,f);return c.cache=b.set(x,L)||b,L},"memoized");return c.cache=new(ol.Cache||vt),c}h(ol,"memoize"),ol.Cache=vt;function dl(s){if(typeof s!="function")throw new Nu(a);return function(){var i=arguments;switch(i.length){case 0:return!s.call(this);case 1:return!s.call(this,i[0]);case 2:return!s.call(this,i[0],i[1]);case 3:return!s.call(this,i[0],i[1],i[2])}return!s.apply(this,i)}}h(dl,"negate");function km(s){return P7(2,s)}h(km,"once");var Fm=L9(function(s,i){i=i.length==1&&n0(i[0])?M(i[0],Tu(e0())):M(Y0(i,1),Tu(e0()));var c=i.length;return o0(function(f){for(var x=-1,b=Q0(f.length,c);++x=i}),us=UR(function(){return arguments}())?UR:function(s){return v0(s)&&L0.call(s,"callee")&&!ER.call(s,"callee")},n0=P.isArray,uA=Rn?Tu(Rn):a9;function _u(s){return s!=null&&fl(s.length)&&!Mt(s)}h(_u,"isArrayLike");function S0(s){return v0(s)&&_u(s)}h(S0,"isArrayLikeObject");function tA(s){return s===!0||s===!1||v0(s)&&ru(s)==W0}h(tA,"isBoolean");var le=_6||uf,eA=Uc?Tu(Uc):c9;function sA(s){return v0(s)&&s.nodeType===1&&!Sn(s)}h(sA,"isElement");function rA(s){if(s==null)return!0;if(_u(s)&&(n0(s)||typeof s=="string"||typeof s.splice=="function"||le(s)||_r(s)||us(s)))return!s.length;var i=j0(s);if(i==tu||i==du)return!s.size;if(vn(s))return!Rd(s).length;for(var c in s)if(L0.call(s,c))return!1;return!0}h(rA,"isEmpty");function iA(s,i){return On(s,i)}h(iA,"isEqual");function nA(s,i,c){c=typeof c=="function"?c:l;var f=c?c(s,i):l;return f===l?On(s,i,l,c):!!f}h(nA,"isEqualWith");function Kd(s){if(!v0(s))return!1;var i=ru(s);return i==Ue||i==$i||typeof s.message=="string"&&typeof s.name=="string"&&!Sn(s)}h(Kd,"isError");function hA(s){return typeof s=="number"&&TR(s)}h(hA,"isFinite");function Mt(s){if(!I0(s))return!1;var i=ru(s);return i==Gu||i==yt||i==Fo||i==qo}h(Mt,"isFunction");function F7(s){return typeof s=="number"&&s==a0(s)}h(F7,"isInteger");function fl(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=lt}h(fl,"isLength");function I0(s){var i=typeof s;return s!=null&&(i=="object"||i=="function")}h(I0,"isObject");function v0(s){return s!=null&&typeof s=="object"}h(v0,"isObjectLike");var B7=Tn?Tu(Tn):o9;function aA(s,i){return s===i||Ed(s,i,Sd(i))}h(aA,"isMatch");function cA(s,i,c){return c=typeof c=="function"?c:l,Ed(s,i,Sd(i),c)}h(cA,"isMatchWith");function lA(s){return q7(s)&&s!=+s}h(lA,"isNaN");function oA(s){if($9(s))throw new i0(e);return vR(s)}h(oA,"isNative");function dA(s){return s===null}h(dA,"isNull");function fA(s){return s==null}h(fA,"isNil");function q7(s){return typeof s=="number"||v0(s)&&ru(s)==ve}h(q7,"isNumber");function Sn(s){if(!v0(s)||ru(s)!=Vu)return!1;var i=Bc(s);if(i===null)return!0;var c=L0.call(i,"constructor")&&i.constructor;return typeof c=="function"&&c instanceof c&&Hc.call(c)==c6}h(Sn,"isPlainObject");var Wd=vc?Tu(vc):d9;function pA(s){return F7(s)&&s>=-lt&&s<=lt}h(pA,"isSafeInteger");var G7=rr?Tu(rr):f9;function pl(s){return typeof s=="string"||!n0(s)&&v0(s)&&ru(s)==Nt}h(pl,"isString");function mu(s){return typeof s=="symbol"||v0(s)&&ru(s)==Se}h(mu,"isSymbol");var _r=ir?Tu(ir):p9;function _A(s){return s===l}h(_A,"isUndefined");function xA(s){return v0(s)&&j0(s)==jt}h(xA,"isWeakMap");function EA(s){return v0(s)&&ru(s)==ac}h(EA,"isWeakSet");var RA=rl(Td),TA=rl(function(s,i){return s<=i});function V7(s){if(!s)return[];if(_u(s))return pl(s)?Yu(s):pu(s);if(mn&&s[mn])return jT(s[mn]());var i=j0(s),c=i==tu?nd:i==du?Pc:xr;return c(s)}h(V7,"toArray");function kt(s){if(!s)return s===0?s:0;if(s=vu(s),s===B0||s===-B0){var i=s<0?-1:1;return i*Qt}return s===s?s:0}h(kt,"toFinite");function a0(s){var i=kt(s),c=i%1;return i===i?c?i-c:i:0}h(a0,"toInteger");function K7(s){return s?Qe(a0(s),0,yu):0}h(K7,"toLength");function vu(s){if(typeof s=="number")return s;if(mu(s))return Us;if(I0(s)){var i=typeof s.valueOf=="function"?s.valueOf():s;s=I0(i)?i+"":i}if(typeof s!="string")return s===0?s:+s;s=cR(s);var c=$o.test(s);return c||zo.test(s)?sr(s.slice(2),c?2:8):Fs.test(s)?Us:+s}h(vu,"toNumber");function W7(s){return pt(s,xu(s))}h(W7,"toPlainObject");function bA(s){return s?Qe(a0(s),-lt,lt):s===0?s:0}h(bA,"toSafeInteger");function g0(s){return s==null?"":bu(s)}h(g0,"toString");var mA=dr(function(s,i){if(vn(i)||_u(i)){pt(i,K0(i),s);return}for(var c in i)L0.call(i,c)&&yn(s,c,i[c])}),Y7=dr(function(s,i){pt(i,xu(i),s)}),_l=dr(function(s,i,c,f){pt(i,xu(i),s,f)}),AA=dr(function(s,i,c,f){pt(i,K0(i),s,f)}),CA=Dt(dd);function gA(s,i){var c=or(s);return i==null?c:gR(c,i)}h(gA,"create");var LA=o0(function(s,i){s=O0(s);var c=-1,f=i.length,x=f>2?i[2]:l;for(x&&iu(i[0],i[1],x)&&(f=1);++c1),b}),pt(s,vd(s),c),f&&(c=Ou(c,y|H|V,H9));for(var x=i.length;x--;)gd(c,i[x]);return c});function VA(s,i){return $7(s,dl(e0(i)))}h(VA,"omitBy");var KA=Dt(function(s,i){return s==null?{}:E9(s,i)});function $7(s,i){if(s==null)return{};var c=M(vd(s),function(f){return[f]});return i=e0(i),FR(s,c,function(f,x){return i(f,x[0])})}h($7,"pickBy");function WA(s,i,c){i=ae(i,s);var f=-1,x=i.length;for(x||(x=1,s=l);++fi){var f=s;s=i,i=f}if(c||s%1||i%1){var x=bR();return Q0(s+x*(i-s+rd("1e-"+((x+"").length-1))),i)}return md(s,i)}h(tC,"random");var eC=fr(function(s,i,c){return i=i.toLowerCase(),s+(c?j7(i):i)});function j7(s){return $d(g0(s).toLowerCase())}h(j7,"capitalize");function J7(s){return s=g0(s),s&&s.replace(qs,YT).replace(ur,"")}h(J7,"deburr");function sC(s,i,c){s=g0(s),i=bu(i);var f=s.length;c=c===l?f:Qe(a0(c),0,f);var x=c;return c-=i.length,c>=0&&s.slice(c,x)==i}h(sC,"endsWith");function rC(s){return s=g0(s),s&&Ss.test(s)?s.replace(Me,XT):s}h(rC,"escape");function iC(s){return s=g0(s),s&&dc.test(s)?s.replace(Hs,"\\$&"):s}h(iC,"escapeRegExp");var nC=fr(function(s,i,c){return s+(c?"-":"")+i.toLowerCase()}),hC=fr(function(s,i,c){return s+(c?" ":"")+i.toLowerCase()}),aC=t7("toLowerCase");function cC(s,i,c){s=g0(s),i=a0(i);var f=i?hr(s):0;if(!i||f>=i)return s;var x=(i-f)/2;return sl(Kc(x),c)+s+sl(Vc(x),c)}h(cC,"pad");function lC(s,i,c){s=g0(s),i=a0(i);var f=i?hr(s):0;return i&&f>>0,c?(s=g0(s),s&&(typeof i=="string"||i!=null&&!Wd(i))&&(i=bu(i),!i&&nr(s))?ce(Yu(s),0,c):s.split(i,c)):[]}h(xC,"split");var EC=fr(function(s,i,c){return s+(c?" ":"")+$d(i)});function RC(s,i,c){return s=g0(s),c=c==null?0:Qe(a0(c),0,s.length),i=bu(i),s.slice(c,c+i.length)==i}h(RC,"startsWith");function TC(s,i,c){var f=T.templateSettings;c&&iu(s,i,c)&&(i=l),s=g0(s),i=_l({},i,f,a7);var x=_l({},i.imports,f.imports,a7),b=K0(x),L=id(x,b),w,I,F=0,B=i.interpolate||Gs,q="__p += '",W=hd((i.escape||Gs).source+"|"+B.source+"|"+(B===un?ks:Gs).source+"|"+(i.evaluate||Gs).source+"|$","g"),Q="//# sourceURL="+(L0.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ed+"]")+` +`;s.replace(W,function(r0,x0,T0,Au,nu,Cu){return T0||(T0=Au),q+=s.slice(F,Cu).replace(Vs,$T),x0&&(w=!0,q+=`' + +__e(`+x0+`) + +'`),nu&&(I=!0,q+=`'; +`+nu+`; +__p += '`),T0&&(q+=`' + +((__t = (`+T0+`)) == null ? '' : __t) + +'`),F=Cu+r0.length,r0}),q+=`'; +`;var s0=L0.call(i,"variable")&&i.variable;if(!s0)q=`with (obj) { +`+q+` } - -function getSampleDocSize(count, recordSamplingSettings) { - let per = recordSamplingSettings.relative.value; - const limit = (recordSamplingSettings.active === 'absolute') - ? Math.min(count, recordSamplingSettings.absolute.value) - : Math.ceil( count / 100 * per); - - return Math.min(recordSamplingSettings.maxValue || 10000, limit); -} - -function getJsonSchema(doc) { - if (doc instanceof bson.ObjectID || doc instanceof bson.DBRef) { - return; - } else if (Array.isArray(doc)) { - const items = getJsonSchema(doc[0]); - if (items) { - return { - items, - }; - } - } else if (doc instanceof bson.Long) { - return { - type: 'numeric', - mode: 'int64' - }; - } else if (typeof doc === "number" && (doc % 1) !== 0) { - return { - type: 'numeric', - mode: 'double' - }; - } else if (typeof doc === "number" && Math.abs(doc) < 2**32) { - return { - type: 'numeric', - mode: 'int32' - }; - } else if (doc && typeof doc === 'object') { - const properties = Object.keys(doc).reduce((schema, key) => { - const data = getJsonSchema(doc[key]); +`;else if(en.test(s0))throw new i0(d);q=(I?q.replace(Ps,""):q).replace(cc,"$1").replace(Ku,"$1;"),q="function("+(s0||"obj")+`) { +`+(s0?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(w?", __e = _.escape":"")+(I?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+q+`return __p +}`;var c0=u4(function(){return A0(b,Q+"return "+q).apply(l,L)});if(c0.source=q,Kd(c0))throw c0;return c0}h(TC,"template");function bC(s){return g0(s).toLowerCase()}h(bC,"toLower");function mC(s){return g0(s).toUpperCase()}h(mC,"toUpper");function AC(s,i,c){if(s=g0(s),s&&(c||i===l))return cR(s);if(!s||!(i=bu(i)))return s;var f=Yu(s),x=Yu(i),b=lR(f,x),L=oR(f,x)+1;return ce(f,b,L).join("")}h(AC,"trim");function CC(s,i,c){if(s=g0(s),s&&(c||i===l))return s.slice(0,fR(s)+1);if(!s||!(i=bu(i)))return s;var f=Yu(s),x=oR(f,Yu(i))+1;return ce(f,0,x).join("")}h(CC,"trimEnd");function gC(s,i,c){if(s=g0(s),s&&(c||i===l))return s.replace(tn,"");if(!s||!(i=bu(i)))return s;var f=Yu(s),x=lR(f,Yu(i));return ce(f,x).join("")}h(gC,"trimStart");function LC(s,i){var c=Po,f=So;if(I0(i)){var x="separator"in i?i.separator:x;c="length"in i?a0(i.length):c,f="omission"in i?bu(i.omission):f}s=g0(s);var b=s.length;if(nr(s)){var L=Yu(s);b=L.length}if(c>=b)return s;var w=c-hr(f);if(w<1)return f;var I=L?ce(L,0,w).join(""):s.slice(0,w);if(x===l)return I+f;if(L&&(w+=I.length-w),Wd(x)){if(s.slice(w).search(x)){var F,B=I;for(x.global||(x=hd(x.source,g0(fc.exec(x))+"g")),x.lastIndex=0;F=x.exec(B);)var q=F.index;I=I.slice(0,q===l?w:q)}}else if(s.indexOf(bu(x),w)!=w){var W=I.lastIndexOf(x);W>-1&&(I=I.slice(0,W))}return I+f}h(LC,"truncate");function yC(s){return s=g0(s),s&&Go.test(s)?s.replace(lc,t6):s}h(yC,"unescape");var NC=fr(function(s,i,c){return s+(c?" ":"")+i.toUpperCase()}),$d=t7("toUpperCase");function Z7(s,i,c){return s=g0(s),i=c?l:i,i===l?QT(s)?r6(s):Ot(s):s.match(i)||[]}h(Z7,"words");var u4=o0(function(s,i){try{return m(s,l,i)}catch(c){return Kd(c)?c:new i0(c)}}),wC=Dt(function(s,i){return A(i,function(c){c=_t(c),Pt(s,c,Gd(s[c],s))}),s});function OC(s){var i=s==null?0:s.length,c=e0();return s=i?M(s,function(f){if(typeof f[1]!="function")throw new Nu(a);return[c(f[0]),f[1]]}):[],o0(function(f){for(var x=-1;++xlt)return[];var c=yu,f=Q0(s,yu);i=e0(i),s-=yu;for(var x=It(f,i);++c0||i<0)?new R0(c):(s<0?c=c.takeRight(-s):s&&(c=c.drop(s)),i!==l&&(i=a0(i),c=i<0?c.dropRight(-i):c.take(i-s)),c)},R0.prototype.takeRightWhile=function(s){return this.reverse().takeWhile(s).reverse()},R0.prototype.toArray=function(){return this.take(yu)},ft(R0.prototype,function(s,i){var c=/^(?:filter|find|map|reject)|While$/.test(i),f=/^(?:head|last)$/.test(i),x=T[f?"take"+(i=="last"?"Right":""):i],b=f||/^find/.test(i);x&&(T.prototype[i]=function(){var L=this.__wrapped__,w=f?[1]:arguments,I=L instanceof R0,F=w[0],B=I||n0(L),q=h(function(x0){var T0=x.apply(T,Y([x0],w));return f&&W?T0[0]:T0},"interceptor");B&&c&&typeof F=="function"&&F.length!=1&&(I=B=!1);var W=this.__chain__,Q=!!this.__actions__.length,s0=b&&!W,c0=I&&!Q;if(!b&&B){L=c0?L:new R0(this);var r0=s.apply(L,w);return r0.__actions__.push({func:al,args:[q],thisArg:l}),new wu(r0,W)}return s0&&c0?s.apply(this,w):(r0=this.thru(q),s0?f?r0.value()[0]:r0.value():r0)})}),A(["pop","push","shift","sort","splice","unshift"],function(s){var i=Sc[s],c=/^(?:push|sort|unshift)$/.test(s)?"tap":"thru",f=/^(?:pop|shift)$/.test(s);T.prototype[s]=function(){var x=arguments;if(f&&!this.__chain__){var b=this.value();return i.apply(n0(b)?b:[],x)}return this[c](function(L){return i.apply(n0(L)?L:[],x)})}}),ft(R0.prototype,function(s,i){var c=T[i];if(c){var f=c.name+"";L0.call(lr,f)||(lr[f]=[]),lr[f].push({name:i,func:c})}}),lr[tl(l,w0).name]=[{name:"wrapper",func:l}],R0.prototype.clone=y6,R0.prototype.reverse=N6,R0.prototype.value=w6,T.prototype.at=sm,T.prototype.chain=rm,T.prototype.commit=im,T.prototype.next=nm,T.prototype.plant=am,T.prototype.reverse=cm,T.prototype.toJSON=T.prototype.valueOf=T.prototype.value=lm,T.prototype.first=T.prototype.head,mn&&(T.prototype[mn]=hm),T},"runInContext"),re=i6();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(P0._=re,define(function(){return re})):dt?((dt.exports=re)._=re,_n._=re):P0._=re}).call(Er)});var i4=$((xl,r4)=>{(function(l,u){typeof xl=="object"&&typeof r4<"u"?u(xl):typeof define=="function"&&define.amd?define(["exports"],u):(l=typeof globalThis<"u"?globalThis:l||self,u(l.async={}))})(xl,function(l){"use strict";function u(m,...R){return(...A)=>m(...R,...A)}h(u,"apply");function t(m){return function(...R){var A=R.pop();return m.call(this,R,A)}}h(t,"initialParams");var e=typeof queueMicrotask=="function"&&queueMicrotask,a=typeof setImmediate=="function"&&setImmediate,d=typeof process=="object"&&typeof process.nextTick=="function";function p(m){setTimeout(m,0)}h(p,"fallback");function _(m){return(R,...A)=>m(()=>R(...A))}h(_,"wrap");var E;e?E=queueMicrotask:a?E=setImmediate:d?E=process.nextTick:E=p;var y=_(E);function H(m){return t0(m)?function(...R){let A=R.pop(),N=m.apply(this,R);return V(N,A)}:t(function(R,A){var N;try{N=m.apply(this,R)}catch(U){return A(U)}if(N&&typeof N.then=="function")return V(N,A);A(null,N)})}h(H,"asyncify");function V(m,R){return m.then(A=>{K(R,null,A)},A=>{K(R,A&&(A instanceof Error||A.message)?A:new Error(A))})}h(V,"handlePromise");function K(m,R,A){try{m(R,A)}catch(N){y(U=>{throw U},N)}}h(K,"invokeCallback");function t0(m){return m[Symbol.toStringTag]==="AsyncFunction"}h(t0,"isAsync");function f0(m){return m[Symbol.toStringTag]==="AsyncGenerator"}h(f0,"isAsyncGenerator");function w0(m){return typeof m[Symbol.asyncIterator]=="function"}h(w0,"isAsyncIterable");function j(m){if(typeof m!="function")throw new Error("expected a function");return t0(m)?H(m):m}h(j,"wrapAsync");function Z(m,R){if(R||(R=m.length),!R)throw new Error("arity is undefined");function A(...N){return typeof N[R-1]=="function"?m.apply(this,N):new Promise((U,v)=>{N[R-1]=(S,...D)=>{if(S)return v(S);U(D.length>1?D:D[0])},m.apply(this,N)})}return h(A,"awaitable"),A}h(Z,"awaitify");function Fu(m){return h(function(A,...N){return Z(function(v){var S=this;return m(A,(D,M)=>{j(D).apply(S,N.concat(M))},v)})},"applyEach")}h(Fu,"applyEach$1");function z0(m,R,A,N){R=R||[];var U=[],v=0,S=j(A);return m(R,(D,M,Y)=>{var l0=v++;S(D,(b0,d0)=>{U[l0]=d0,Y(b0)})},D=>{N(D,U)})}h(z0,"_asyncMap");function Bu(m){return m&&typeof m.length=="number"&&m.length>=0&&m.length%1===0}h(Bu,"isArrayLike");var at={};function Lu(m){function R(...A){if(m!==null){var N=m;m=null,N.apply(this,A)}}return h(R,"wrapper"),Object.assign(R,m),R}h(Lu,"once");function Po(m){return m[Symbol.iterator]&&m[Symbol.iterator]()}h(Po,"getIterator");function So(m){var R=-1,A=m.length;return h(function(){return++R=R||S||U||(S=!0,m.next().then(({value:d0,done:fu})=>{if(!(v||U)){if(S=!1,fu){U=!0,D<=0&&N(null);return}D++,A(d0,M,l0),M++,Y()}}).catch(b0))}h(Y,"replenish");function l0(d0,fu){if(D-=1,!v){if(d0)return b0(d0);if(d0===!1){U=!0,v=!0;return}if(fu===at||U&&D<=0)return U=!0,N(null);Y()}}h(l0,"iterateeCallback");function b0(d0){v||(S=!1,U=!0,N(d0))}h(b0,"handleError"),Y()}h(nc,"asyncEachOfLimit");var B0=h(m=>(R,A,N)=>{if(N=Lu(N),m<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!R)return N(null);if(f0(R))return nc(R,m,A,N);if(w0(R))return nc(R[Symbol.asyncIterator](),m,A,N);var U=ic(R),v=!1,S=!1,D=0,M=!1;function Y(b0,d0){if(!S)if(D-=1,b0)v=!0,N(b0);else if(b0===!1)v=!0,S=!0;else{if(d0===at||v&&D<=0)return v=!0,N(null);M||l0()}}h(Y,"iterateeCallback");function l0(){for(M=!0;D1?U:U[0])}return h(A,"callback"),A[Gu]=new Promise((N,U)=>{m=N,R=U}),A}h(yt,"promiseCallback");function tu(m,R,A){typeof R!="number"&&(A=R,R=null),A=Lu(A||yt());var N=Object.keys(m).length;if(!N)return A(null);R||(R=N);var U={},v=0,S=!1,D=!1,M=Object.create(null),Y=[],l0=[],b0={};Object.keys(m).forEach(z=>{var u0=m[z];if(!Array.isArray(u0)){d0(z,[u0]),l0.push(z);return}var _0=u0.slice(0,u0.length-1),N0=_0.length;if(N0===0){d0(z,u0),l0.push(z);return}b0[z]=N0,_0.forEach(U0=>{if(!m[U0])throw new Error("async.auto task `"+z+"` has a non-existent dependency `"+U0+"` in "+_0.join(", "));ue(U0,()=>{N0--,N0===0&&d0(z,u0)})})}),p0(),fu();function d0(z,u0){Y.push(()=>te(z,u0))}h(d0,"enqueueTask");function fu(){if(!S){if(Y.length===0&&v===0)return A(null,U);for(;Y.length&&v_0()),fu()}h(Ot,"taskComplete");function te(z,u0){if(!D){var _0=ct((U0,...su)=>{if(v--,U0===!1){S=!0;return}if(su.length<2&&([su]=su),U0){var ee={};if(Object.keys(U).forEach(Wu=>{ee[Wu]=U[Wu]}),ee[z]=su,D=!0,M=Object.create(null),S)return;A(U0,ee)}else U[z]=su,Ot(z)});v++;var N0=j(u0[u0.length-1]);u0.length>1?N0(U,_0):N0(_0)}}h(te,"runTask");function p0(){for(var z,u0=0;l0.length;)z=l0.pop(),u0++,J(z).forEach(_0=>{--b0[_0]===0&&l0.push(_0)});if(u0!==N)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}h(p0,"checkForDeadlocks");function J(z){var u0=[];return Object.keys(m).forEach(_0=>{let N0=m[_0];Array.isArray(N0)&&N0.indexOf(z)>=0&&u0.push(_0)}),u0}return h(J,"getDependents"),A[Gu]}h(tu,"auto");var ve=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,Bo=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,Vu=/,/,hc=/(=.+)?(\s*)$/;function qo(m){let R="",A=0,N=m.indexOf("*/");for(;AU.replace(hc,"").trim())}h(Pe,"parseParams");function du(m,R){var A={};return Object.keys(m).forEach(N=>{var U=m[N],v,S=t0(U),D=!S&&U.length===1||S&&U.length===0;if(Array.isArray(U))v=[...U],U=v.pop(),A[N]=v.concat(v.length>0?M:U);else if(D)A[N]=U;else{if(v=Pe(U),U.length===0&&!S&&v.length===0)throw new Error("autoInject task functions require explicit parameters.");S||v.pop(),A[N]=v.concat(M)}function M(Y,l0){var b0=v.map(d0=>Y[d0]);b0.push(l0),j(U)(...b0)}h(M,"newTask")}),tu(A,R)}h(du,"autoInject");let rr=class rr{constructor(){this.head=this.tail=null,this.length=0}removeLink(R){return R.prev?R.prev.next=R.next:this.head=R.next,R.next?R.next.prev=R.prev:this.tail=R.prev,R.prev=R.next=null,this.length-=1,R}empty(){for(;this.head;)this.shift();return this}insertAfter(R,A){A.prev=R,A.next=R.next,R.next?R.next.prev=A:this.tail=A,R.next=A,this.length+=1}insertBefore(R,A){A.prev=R.prev,A.next=R,R.prev?R.prev.next=A:this.head=A,R.prev=A,this.length+=1}unshift(R){this.head?this.insertBefore(this.head,R):Se(this,R)}push(R){this.tail?this.insertAfter(this.tail,R):Se(this,R)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var R=this.head;R;)yield R.data,R=R.next}remove(R){for(var A=this.head;A;){var{next:N}=A;R(A)&&this.removeLink(A),A=N}return this}};h(rr,"DLL");let Nt=rr;function Se(m,R){m.length=1,m.head=m.tail=R}h(Se,"setInitial");function zi(m,R,A){if(R==null)R=1;else if(R===0)throw new RangeError("Concurrency must not be zero");var N=j(m),U=0,v=[];let S={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function D(J,z){S[J].push(z)}h(D,"on");function M(J,z){let u0=h((..._0)=>{Y(J,u0),z(..._0)},"handleAndRemove");S[J].push(u0)}h(M,"once");function Y(J,z){if(!J)return Object.keys(S).forEach(u0=>S[u0]=[]);if(!z)return S[J]=[];S[J]=S[J].filter(u0=>u0!==z)}h(Y,"off");function l0(J,...z){S[J].forEach(u0=>u0(...z))}h(l0,"trigger");var b0=!1;function d0(J,z,u0,_0){if(_0!=null&&typeof _0!="function")throw new Error("task callback must be a function");p0.started=!0;var N0,U0;function su(Wu,...It){if(Wu)return u0?U0(Wu):N0();if(It.length<=1)return N0(It[0]);N0(It)}h(su,"promiseCallback");var ee=p0._createTaskItem(J,u0?su:_0||su);if(z?p0._tasks.unshift(ee):p0._tasks.push(ee),b0||(b0=!0,y(()=>{b0=!1,p0.process()})),u0||!_0)return new Promise((Wu,It)=>{N0=Wu,U0=It})}h(d0,"_insert");function fu(J){return function(z,...u0){U-=1;for(var _0=0,N0=J.length;_00&&v.splice(su,1),U0.callback(z,...u0),z!=null&&l0("error",z,U0.data)}U<=p0.concurrency-p0.buffer&&l0("unsaturated"),p0.idle()&&l0("drain"),p0.process()}}h(fu,"_createCB");function ue(J){return J.length===0&&p0.idle()?(y(()=>l0("drain")),!0):!1}h(ue,"_maybeDrain");let Ot=h(J=>z=>{if(!z)return new Promise((u0,_0)=>{M(J,(N0,U0)=>{if(N0)return _0(N0);u0(U0)})});Y(J),D(J,z)},"eventMethod");var te=!1,p0={_tasks:new Nt,_createTaskItem(J,z){return{data:J,callback:z}},*[Symbol.iterator](){yield*p0._tasks[Symbol.iterator]()},concurrency:R,payload:A,buffer:R/4,started:!1,paused:!1,push(J,z){return Array.isArray(J)?ue(J)?void 0:J.map(u0=>d0(u0,!1,!1,z)):d0(J,!1,!1,z)},pushAsync(J,z){return Array.isArray(J)?ue(J)?void 0:J.map(u0=>d0(u0,!1,!0,z)):d0(J,!1,!0,z)},kill(){Y(),p0._tasks.empty()},unshift(J,z){return Array.isArray(J)?ue(J)?void 0:J.map(u0=>d0(u0,!0,!1,z)):d0(J,!0,!1,z)},unshiftAsync(J,z){return Array.isArray(J)?ue(J)?void 0:J.map(u0=>d0(u0,!0,!0,z)):d0(J,!0,!0,z)},remove(J){p0._tasks.remove(J)},process(){if(!te){for(te=!0;!p0.paused&&U{U(R,v,(M,Y)=>{R=Y,D(M)})},v=>N(v,R))}h(De,"reduce");var eu=Z(De,4);function He(...m){var R=m.map(j);return function(...A){var N=this,U=A[A.length-1];return typeof U=="function"?A.pop():U=yt(),eu(R,A,(v,S,D)=>{S.apply(N,v.concat((M,...Y)=>{D(M,Y)}))},(v,S)=>U(v,...S)),U[Gu]}}h(He,"seq");function vs(...m){return He(...m.reverse())}h(vs,"compose");function Qi(m,R,A,N){return z0(B0(R),m,A,N)}h(Qi,"mapLimit");var wt=Z(Qi,4);function ji(m,R,A,N){var U=j(A);return wt(m,R,(v,S)=>{U(v,(D,...M)=>D?S(D):S(D,M))},(v,S)=>{for(var D=[],M=0;M{var S=!1,D;let M=j(U);A(N,(Y,l0,b0)=>{M(Y,(d0,fu)=>{if(d0||d0===!1)return b0(d0);if(m(fu)&&!D)return S=!0,D=R(!0,Y),b0(null,at);b0()})},Y=>{if(Y)return v(Y);v(null,S?D:R(!1))})}}h(Ku,"_createTester");function lc(m,R,A){return Ku(N=>N,(N,U)=>U)(uu,m,R,A)}h(lc,"detect");var Me=Z(lc,3);function Go(m,R,A,N){return Ku(U=>U,(U,v)=>v)(B0(R),m,A,N)}h(Go,"detectLimit");var Ss=Z(Go,4);function Vo(m,R,A){return Ku(N=>N,(N,U)=>U)(B0(1),m,R,A)}h(Vo,"detectSeries");var Ds=Z(Vo,3);function un(m){return(R,...A)=>j(R)(...A,(N,...U)=>{typeof console=="object"&&(N?console.error&&console.error(N):console[m]&&U.forEach(v=>console[m](v)))})}h(un,"consoleFunc");var oc=un("dir");function Ko(m,R,A){A=ct(A);var N=j(m),U=j(R),v;function S(M,...Y){if(M)return A(M);M!==!1&&(v=Y,U(...Y,D))}h(S,"next");function D(M,Y){if(M)return A(M);if(M!==!1){if(!Y)return A(null,...v);N(S)}}return h(D,"check"),D(null,!0)}h(Ko,"doWhilst");var ke=Z(Ko,3);function Hs(m,R,A){let N=j(R);return ke(m,(...U)=>{let v=U.pop();N(...U,(S,D)=>v(S,!D))},A)}h(Hs,"doUntil");function dc(m){return(R,A,N)=>m(R,N)}h(dc,"_withoutIndex");function tn(m,R,A){return uu(m,dc(j(R)),A)}h(tn,"eachLimit$2");var Ms=Z(tn,3);function Wo(m,R,A,N){return B0(R)(m,dc(j(A)),N)}h(Wo,"eachLimit");var Fe=Z(Wo,4);function Yo(m,R,A){return Fe(m,1,R,A)}h(Yo,"eachSeries");var Be=Z(Yo,3);function en(m){return t0(m)?m:function(...R){var A=R.pop(),N=!0;R.push((...U)=>{N?y(()=>A(...U)):A(...U)}),m.apply(this,R),N=!1}}h(en,"ensureAsync");function Xo(m,R,A){return Ku(N=>!N,N=>!N)(uu,m,R,A)}h(Xo,"every");var ks=Z(Xo,3);function fc(m,R,A,N){return Ku(U=>!U,U=>!U)(B0(R),m,A,N)}h(fc,"everyLimit");var Fs=Z(fc,4);function $o(m,R,A){return Ku(N=>!N,N=>!N)(W0,m,R,A)}h($o,"everySeries");var Bs=Z($o,3);function zo(m,R,A,N){var U=new Array(R.length);m(R,(v,S,D)=>{A(v,(M,Y)=>{U[S]=!!Y,D(M)})},v=>{if(v)return N(v);for(var S=[],D=0;D{A(v,(M,Y)=>{if(M)return D(M);Y&&U.push({index:S,value:v}),D(M)})},v=>{if(v)return N(v);N(null,U.sort((S,D)=>S.index-D.index).map(S=>S.value))})}h(Qo,"filterGeneric");function qs(m,R,A,N){var U=Bu(R)?zo:Qo;return U(m,R,j(A),N)}h(qs,"_filter");function Gs(m,R,A){return qs(uu,m,R,A)}h(Gs,"filter");var Vs=Z(Gs,3);function Ks(m,R,A,N){return qs(B0(R),m,A,N)}h(Ks,"filterLimit");var Ws=Z(Ks,4);function jo(m,R,A){return qs(W0,m,R,A)}h(jo,"filterSeries");var Ys=Z(jo,3);function pc(m,R){var A=ct(R),N=j(en(m));function U(v){if(v)return A(v);v!==!1&&N(U)}return h(U,"next"),U()}h(pc,"forever");var sn=Z(pc,2);function _c(m,R,A,N){var U=j(A);return wt(m,R,(v,S)=>{U(v,(D,M)=>D?S(D):S(D,{key:M,val:v}))},(v,S)=>{for(var D={},{hasOwnProperty:M}=Object.prototype,Y=0;Y{v(S,D,(Y,l0)=>{if(Y)return M(Y);U[D]=l0,M(Y)})},S=>N(S,U))}h(Tc,"mapValuesLimit");var qe=Z(Tc,4);function rn(m,R,A){return qe(m,1/0,R,A)}h(rn,"mapValues");function $s(m,R,A){return qe(m,1,R,A)}h($s,"mapValuesSeries");function bc(m,R=A=>A){var A=Object.create(null),N=Object.create(null),U=j(m),v=t((S,D)=>{var M=R(...S);M in A?y(()=>D(null,...A[M])):M in N?N[M].push(D):(N[M]=[D],U(...S,(Y,...l0)=>{Y||(A[M]=l0);var b0=N[M];delete N[M];for(var d0=0,fu=b0.length;d0{var N=Bu(R)?[]:{};m(R,(U,v,S)=>{j(U)((D,...M)=>{M.length<2&&([M]=M),N[v]=M,S(D)})},U=>A(U,N))},3);function mc(m,R){return zs(uu,m,R)}h(mc,"parallel");function nn(m,R,A){return zs(B0(R),m,A)}h(nn,"parallelLimit");function Qs(m,R){var A=j(m);return zi((N,U)=>{A(N[0],U)},R,1)}h(Qs,"queue");let ir=class ir{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(R){let A;for(;R>0&&We(this.heap[R],this.heap[A=hn(R)]);){let N=this.heap[R];this.heap[R]=this.heap[A],this.heap[A]=N,R=A}}percDown(R){let A;for(;(A=Jo(R))=0;N--)this.percDown(N);return this}};h(ir,"Heap");let Ke=ir;function Jo(m){return(m<<1)+1}h(Jo,"leftChi");function hn(m){return(m+1>>1)-1}h(hn,"parent");function We(m,R){return m.priority!==R.priority?m.priority({data:S,priority:D,callback:M});function v(S,D){return Array.isArray(S)?S.map(M=>({data:M,priority:D})):{data:S,priority:D}}return h(v,"createDataItems"),A.push=function(S,D=0,M){return N(v(S,D),M)},A.pushAsync=function(S,D=0,M){return U(v(S,D),M)},delete A.unshift,delete A.unshiftAsync,A}h(js,"priorityQueue");function Zt(m,R){if(R=Lu(R),!Array.isArray(m))return R(new TypeError("First argument to race must be an array of functions"));if(!m.length)return R();for(var A=0,N=m.length;A{let D={};if(v&&(D.error=v),S.length>0){var M=S;S.length<=1&&([M]=S),D.value=M}U(null,D)}),R.apply(this,N)},"reflectOn"))}h(Js,"reflect");function cn(m){var R;return Array.isArray(m)?R=m.map(Js):(R={},Object.keys(m).forEach(A=>{R[A]=Js.call(this,m[A])})),R}h(cn,"reflectAll");function Zs(m,R,A,N){let U=j(A);return qs(m,R,(v,S)=>{U(v,(D,M)=>{S(D,!M)})},N)}h(Zs,"reject$2");function Ac(m,R,A){return Zs(uu,m,R,A)}h(Ac,"reject");var ln=Z(Ac,3);function Zo(m,R,A,N){return Zs(B0(R),m,A,N)}h(Zo,"rejectLimit");var Cc=Z(Zo,4);function ud(m,R,A){return Zs(W0,m,R,A)}h(ud,"rejectSeries");var on=Z(ud,3);function gc(m){return function(){return m}}h(gc,"constant");let dn=5,Lc=0;function ur(m,R,A){var N={times:dn,intervalFunc:gc(Lc)};if(arguments.length<3&&typeof m=="function"?(A=R||yt(),R=m):(fn(N,m),A=A||yt()),typeof R!="function")throw new Error("Invalid arguments for async.retry");var U=j(R),v=1;function S(){U((D,...M)=>{D!==!1&&(D&&v++{(U.lengthN)(uu,m,R,A)}h(td,"some");var tr=Z(td,3);function ed(m,R,A,N){return Ku(Boolean,U=>U)(B0(R),m,A,N)}h(ed,"someLimit");var C0=Z(ed,4);function y0(m,R,A){return Ku(Boolean,N=>N)(W0,m,R,A)}h(y0,"someSeries");var er=Z(y0,3);function sd(m,R,A){var N=j(R);return qu(m,(v,S)=>{N(v,(D,M)=>{if(D)return S(D);S(D,{value:v,criteria:M})})},(v,S)=>{if(v)return A(v);A(null,S.sort(U).map(D=>D.value))});function U(v,S){var D=v.criteria,M=S.criteria;return DM?1:0}}h(sd,"sortBy");var wc=Z(sd,3);function Oc(m,R,A){var N=j(m);return t((U,v)=>{var S=!1,D;function M(){var Y=m.name||"anonymous",l0=new Error('Callback function "'+Y+'" timed out.');l0.code="ETIMEDOUT",A&&(l0.info=A),S=!0,v(l0)}h(M,"timeoutCallback"),U.push((...Y)=>{S||(v(...Y),clearTimeout(D))}),D=setTimeout(M,R),N(...U)})}h(Oc,"timeout");function rd(m){for(var R=Array(m);m--;)R[m]=m;return R}h(rd,"range");function sr(m,R,A,N){var U=j(A);return wt(rd(m),R,U,N)}h(sr,"timesLimit");function pn(m,R,A){return sr(m,1/0,R,A)}h(pn,"times");function Ic(m,R,A){return sr(m,1,R,A)}h(Ic,"timesSeries");function P0(m,R,A,N){arguments.length<=3&&typeof R=="function"&&(N=A,A=R,R=Array.isArray(m)?[]:{}),N=Lu(N||yt());var U=j(A);return uu(m,(v,S,D)=>{U(R,v,S,D)},v=>N(v,R)),N[Gu]}h(P0,"transform");function _n(m,R){var A=null,N;return Be(m,(U,v)=>{j(U)((S,...D)=>{if(S===!1)return v(S);D.length<2?[N]=D:N=D,A=S,v(S?null:{})})},()=>R(A,N))}h(_n,"tryEach");var dt=Z(_n);function xn(m){return(...R)=>(m.unmemoized||m)(...R)}h(xn,"unmemoize");function En(m,R,A){A=ct(A);var N=j(R),U=j(m),v=[];function S(M,...Y){if(M)return A(M);v=Y,M!==!1&&U(D)}h(S,"next");function D(M,Y){if(M)return A(M);if(M!==!1){if(!Y)return A(null,...v);N(S)}}return h(D,"check"),U(D)}h(En,"whilst");var V0=Z(En,3);function Rn(m,R,A){let N=j(m);return V0(U=>N((v,S)=>U(v,!S)),R,A)}h(Rn,"until");function Uc(m,R){if(R=Lu(R),!Array.isArray(m))return R(new Error("First argument to waterfall must be an array of functions"));if(!m.length)return R();var A=0;function N(v){var S=j(m[A++]);S(...v,ct(U))}h(N,"nextTask");function U(v,...S){if(v!==!1){if(v||A===m.length)return R(v,...S);N(S)}}h(U,"next"),N([])}h(Uc,"waterfall");var Tn=Z(Uc),vc={apply:u,applyEach:Oe,applyEachSeries:Ue,asyncify:H,auto:tu,autoInject:du,cargo:jt,cargoQueue:ac,compose:vs,concat:Jt,concatLimit:ot,concatSeries:Ps,constant:cc,detect:Me,detectLimit:Ss,detectSeries:Ds,dir:oc,doUntil:Hs,doWhilst:ke,each:Ms,eachLimit:Fe,eachOf:uu,eachOfLimit:Qt,eachOfSeries:W0,eachSeries:Be,ensureAsync:en,every:ks,everyLimit:Fs,everySeries:Bs,filter:Vs,filterLimit:Ws,filterSeries:Ys,forever:sn,groupBy:xc,groupByLimit:Xs,groupBySeries:Ec,log:Rc,map:qu,mapLimit:wt,mapSeries:$i,mapValues:rn,mapValuesLimit:qe,mapValuesSeries:$s,memoize:bc,nextTick:Ve,parallel:mc,parallelLimit:nn,priorityQueue:js,queue:Qs,race:an,reduce:eu,reduceRight:Ye,reflect:Js,reflectAll:cn,reject:ln,rejectLimit:Cc,rejectSeries:on,retry:ur,retryable:yc,seq:He,series:Nc,setImmediate:y,some:tr,someLimit:C0,someSeries:er,sortBy:wc,timeout:Oc,times:pn,timesLimit:sr,timesSeries:Ic,transform:P0,tryEach:dt,unmemoize:xn,until:Rn,waterfall:Tn,whilst:V0,all:ks,allLimit:Fs,allSeries:Bs,any:tr,anyLimit:C0,anySeries:er,find:Me,findLimit:Ss,findSeries:Ds,flatMap:Jt,flatMapLimit:ot,flatMapSeries:Ps,forEach:Ms,forEachSeries:Be,forEachLimit:Fe,forEachOf:uu,forEachOfSeries:W0,forEachOfLimit:Qt,inject:eu,foldl:eu,foldr:Ye,select:Vs,selectLimit:Ws,selectSeries:Ys,wrapSync:H,during:V0,doDuring:ke};l.all=ks,l.allLimit=Fs,l.allSeries=Bs,l.any=tr,l.anyLimit=C0,l.anySeries=er,l.apply=u,l.applyEach=Oe,l.applyEachSeries=Ue,l.asyncify=H,l.auto=tu,l.autoInject=du,l.cargo=jt,l.cargoQueue=ac,l.compose=vs,l.concat=Jt,l.concatLimit=ot,l.concatSeries=Ps,l.constant=cc,l.default=vc,l.detect=Me,l.detectLimit=Ss,l.detectSeries=Ds,l.dir=oc,l.doDuring=ke,l.doUntil=Hs,l.doWhilst=ke,l.during=V0,l.each=Ms,l.eachLimit=Fe,l.eachOf=uu,l.eachOfLimit=Qt,l.eachOfSeries=W0,l.eachSeries=Be,l.ensureAsync=en,l.every=ks,l.everyLimit=Fs,l.everySeries=Bs,l.filter=Vs,l.filterLimit=Ws,l.filterSeries=Ys,l.find=Me,l.findLimit=Ss,l.findSeries=Ds,l.flatMap=Jt,l.flatMapLimit=ot,l.flatMapSeries=Ps,l.foldl=eu,l.foldr=Ye,l.forEach=Ms,l.forEachLimit=Fe,l.forEachOf=uu,l.forEachOfLimit=Qt,l.forEachOfSeries=W0,l.forEachSeries=Be,l.forever=sn,l.groupBy=xc,l.groupByLimit=Xs,l.groupBySeries=Ec,l.inject=eu,l.log=Rc,l.map=qu,l.mapLimit=wt,l.mapSeries=$i,l.mapValues=rn,l.mapValuesLimit=qe,l.mapValuesSeries=$s,l.memoize=bc,l.nextTick=Ve,l.parallel=mc,l.parallelLimit=nn,l.priorityQueue=js,l.queue=Qs,l.race=an,l.reduce=eu,l.reduceRight=Ye,l.reflect=Js,l.reflectAll=cn,l.reject=ln,l.rejectLimit=Cc,l.rejectSeries=on,l.retry=ur,l.retryable=yc,l.select=Vs,l.selectLimit=Ws,l.selectSeries=Ys,l.seq=He,l.series=Nc,l.setImmediate=y,l.some=tr,l.someLimit=C0,l.someSeries=er,l.sortBy=wc,l.timeout=Oc,l.times=pn,l.timesLimit=sr,l.timesSeries=Ic,l.transform=P0,l.tryEach=dt,l.unmemoize=xn,l.until=Rn,l.waterfall=Tn,l.whilst=V0,l.wrapSync=H,Object.defineProperty(l,"__esModule",{value:!0})})});var oe=$((Mw,n4)=>{var pg={usernamePassword:"username_password",securityCertificate:"security_certificate"},_g={selfHosted:"couchbase://",cloud:"couchbases://"},xg={bucketIsEmpty:0,primaryIndexDoesNotExist:4e3,n1qlMethodsAreNotSupported:19,userDoesNotHaveAccessToPrivilegeCluster:13014,parseSyntaxError:3e3,inferMethodIsNotSupport:16003,collectionDoesNotExist:12003,indexAlreadyCreated:4300,duplicateDocumentKey:12009,authorizationFailure:6},Eg={hasError:"hasError"},Rg={capella:"Capella",selfHosted:"Self-hosted"},Tg="",bg=1e3,mg="_default",Ag=11210,Cg="Something went wrong. Please, check logs for more details",gg=/\(meta\(\)\.(.*?)\)/,Lg=/"nodes":(\[.*?\])/,yg=/(HASH|hash)\((.*?)\)$/;n4.exports={AUTH_TYPE:pg,COUCHBASE_ERROR_CODE:xg,COUCHBASE_HOST_PREFIX:_g,COUCHBASE_DEFAULT_KV_CONNECTION_PORT:Ag,DEFAULT_KEY_NAME:Tg,DEFAULT_LIMIT:bg,DEFAULT_NAME:mg,DISABLED_TOOLTIP:Cg,GET_META_REGEXP:gg,GET_NODES_REGEXP:Lg,GET_PARTITION_HASH_REGEXP:yg,HOSTING:Rg,STATUS:Eg}});var nf=$((kw,a4)=>{var{isObject:Ng}=ts(),{DEFAULT_LIMIT:wg}=oe(),sf=class sf extends Error{constructor({code:u,message:t}){super(),this.code=u,this.message=t}};h(sf,"CustomError");var tf=sf,rf=class rf{constructor(u,t){this.host=u.host,this.port=u.port,u!=null&&u.couchbase_username&&(u!=null&&u.couchbase_password)&&(this.password=u.couchbase_password,this.username=u.couchbase_username),this.httpService=t}encodeCredentials(){return Buffer.from(`${this.username}:${this.password}`).toString("base64")}async fetch(u){try{let t=`http://${this.host}:${this.port}${u}`,a={headers:{Authorization:`Basic ${this.encodeCredentials()}`},useElectronNet:!0};return await this.httpService.get(t,a)}catch(t){throw new tf({message:t.statusText||t.message,code:t.status||t.code})}}async getCollectionDocuments({bucketName:u,scopeName:t,collectionName:e,limit:a}){let d=`/pools/default/buckets/${u}/scopes/${t}/collections/${e}/docs?include_docs=true&limit=${a}&skip=0`;return await this.fetch(d)}async getLocalRandomKey({bucketName:u,scopeName:t,collectionName:e}){let a=`/pools/default/buckets/${u}/scopes/${t}/collections/${e}/localRandomKey`;return await this.fetch(a)}async getIndexes(){return await this.fetch("/indexStatus")}};h(rf,"CouchbaseRestApiService");var ef=rf,Og=h(l=>{try{return JSON.parse(l)}catch{return l}},"safeParse"),Ig=h(l=>Ng(l)&&!!l.base64&&!!l.meta,"isBinaryFile"),h4=h(({connectionInfo:l,app:u})=>{let e=u.require("httpService").createInstance(l);return new ef(l,e)},"createRestApiService"),Ug=h(async({connectionInfo:l,bucketName:u,scopeName:t,collectionName:e,logger:a,app:d})=>{try{a.info(`${u}.${t}.${e}: Start getting documents using REST API`);let p=h4({connectionInfo:l,app:d}),{rows:_}=await p.getCollectionDocuments({bucketName:u,scopeName:t,collectionName:e,limit:wg});return _.filter(E=>!Ig(E)).map(E=>{var y;return{[u]:Og((y=E.doc)==null?void 0:y.json),docid:E.id}})}catch(p){return a.error(p),[]}},"getCollectionDocuments"),vg=h(async({connectionInfo:l,logger:u,app:t})=>{u.info("Start getting indexes using REST API");let e=h4({connectionInfo:l,app:t}),{indexes:a}=await e.getIndexes();return a},"getIndexes");a4.exports={getCollectionDocuments:Ug,getIndexes:vg}});var hf=$((Gw,o4)=>{var{isPlainObject:Pg,isEmpty:l4,uniq:Bw}=ts(),{DEFAULT_KEY_NAME:c4,DEFAULT_NAME:qw}=oe(),Sg=h(({documents:l,bucketName:u,scopeName:t,collectionName:e,collectionIndexes:a,includeEmptyCollection:d,standardDocument:p,fieldInference:_})=>{let E=l.filter(V=>Pg(V[u])).map(V=>({[c4]:V.docid,...V[u]})),y=_.active==="field"?p:null,H=!d&&l4(E);return{dbName:t,collectionName:e,collectionDocs:{},standardDoc:y,bucketInfo:{bucket:u},emptyBucket:H,documents:E,containerLevelKeys:{key:c4},entityLevel:{indexes:a}}},"getDbCollectionData"),Dg=h(({inference:l,bucketName:u})=>l4(l==null?void 0:l.properties)?[]:Object.keys(l.properties).reduce((e,a)=>{var p;return(((p=l.properties[a])==null?void 0:p.samples)||[]).reduce((_,E,y)=>{let H=_[y]||{};return _[y]={...H,[a]:E},_},e)},[]).map(e=>({docid:"",[u]:e})),"convertInferSchemaToDocuments"),Hg=h(({entitiesData:l,indexesByCollectionMap:u,scopeBucketNameMap:t})=>l.map(({bucketName:e,scopeName:a,collectionName:d,ifNotExists:p})=>{var _,E,y,H;return{doc:{bucketInfo:{bucket:e,ifNotExists:(E=(_=t[e])==null?void 0:_[a])==null?void 0:E.ifNotExists},emptyBucket:!d,dbName:a,collectionName:d,entityLevel:{ifNotExists:p,indexes:(H=(y=u==null?void 0:u[e])==null?void 0:y[a])==null?void 0:H[d]}},objectNames:{collectionName:d},collectionDocs:{},jsonSchema:{type:"object"}}}),"mapParsedResultToMultipleSchema"),Mg=h(l=>({}).toString.call(l).split(" ")[1].slice(0,-1).toLowerCase(),"typeOf");o4.exports={getDbCollectionData:Sg,convertInferSchemaToDocuments:Dg,mapParsedResultToMultipleSchema:Hg,typeOf:Mg}});var f4=$((Kw,d4)=>{var kg=h(({bucketName:l,scopeName:u,collectionName:t,limit:e})=>`INFER \`${l}\`.\`${u}\`.\`${t}\` WITH {"sample_size":${e}, "num_sample_values":3};`,"getInferCollectionDocumentsQuery"),Fg=h(({bucketName:l,limit:u,offset:t})=>{let e=`SELECT * FROM \`${l}\``;return af({query:e,limit:u,offset:t})},"getSelectBucketDocumentsQuery"),Bg=h(({bucketName:l,scopeName:u,collectionName:t,limit:e,offset:a})=>{let d=`SELECT *, META().id AS docid FROM \`${l}\`.\`${u}\`.\`${t}\` AS \`${l}\``;return af({query:d,limit:e,offset:a})},"getSelectCollectionDocumentsQuery"),qg=h(({bucketName:l,scopeName:u,collectionName:t})=>`SELECT COUNT(*) AS size FROM \`${l}\`.\`${u}\`.\`${t}\``,"getCountCollectionDocumentsQuery"),Gg=h(()=>"SELECT * FROM system:indexes","getSelectIndexesQuery"),af=h(({query:l,limit:u,offset:t})=>l+(u?` LIMIT ${u}`:"")+(t?` OFFSET ${t}`:""),"getQueryOptions");d4.exports={getCountCollectionDocumentsQuery:qg,getInferCollectionDocumentsQuery:kg,getSelectBucketDocumentsQuery:Fg,getSelectCollectionDocumentsQuery:Bg,getSelectIndexesQuery:Gg,getQueryOptions:af}});var Rl=$((Xw,x4)=>{var Yw=i4(),{get:Vg,uniq:Kg,isEmpty:Wg}=ts(),Yg=nf(),El=hf(),{COUCHBASE_ERROR_CODE:de,DEFAULT_NAME:Xg,DISABLED_TOOLTIP:$g,STATUS:zg,DEFAULT_LIMIT:Hn}=oe(),es=f4(),p4=h(async({cluster:l})=>await l.buckets().getAllBuckets(),"getAllBuckets"),Qg=h(async({bucketName:l,cluster:u})=>(await u.buckets().createBucket({name:l}),u.bucket(l)),"createNewBucket"),jg=h(async({cluster:l,selectedBucket:u})=>u?[{name:u}]:p4({cluster:l}),"getBucketsForReverse"),Jg=h(async({cluster:l,bucketName:u,logger:t})=>{try{let d=await(await(await l.bucket(u)).collections()).getAllScopes();return Zg({scopes:d})}catch(e){return t.error(e),[]}},"getBucketScopes"),Zg=h(({scopes:l})=>{let u=h(({name:t})=>t===Xg,"isDefault");return l.reduce((t,e)=>{if(!u(e))return[...t,e];let a=e.collections.filter(d=>!u(d));return Wg(a)?t:[...t,{...e,collections:a}]},[])},"getNonDefaultScopesAndCollections"),uL=h(async({cluster:l,connectionInfo:u,logger:t})=>(await Jg({cluster:l,bucketName:u.database,logger:t})).map(a=>{let d=a.collections.map(p=>p.name);return sL({scopeName:a.name,collectionNames:d})}),"getDbCollectionsNames"),tL=h(async({cluster:l,bucketName:u,limit:t=Hn})=>{let e=es.getSelectBucketDocumentsQuery({bucketName:u,limit:t}),{rows:a}=await l.query(e);return a},"getDocumentsBySelectStatement"),cf=h(({error:l})=>{var u;return((u=l==null?void 0:l.cause)==null?void 0:u.first_error_code)??(l==null?void 0:l.code)},"getErrorCode"),eL=h(({error:l})=>{var t;switch(cf({error:l})){case de.bucketIsEmpty:return"Collection is empty.";case de.n1qlMethodsAreNotSupported:return"N1QL methods are not supported.";case de.parseSyntaxError:case de.inferMethodIsNotSupport:return"Infer method is not supported.";case de.userDoesNotHaveAccessToPrivilegeCluster:return"User doesn`t have credentials for privileged cluster.";default:return((t=l==null?void 0:l.cause)==null?void 0:t.first_error_message)||(l==null?void 0:l.message)||""}},"getErrorMessage"),sL=h(({scopeName:l,collectionNames:u,status:t})=>{let e=t===zg.hasError;return{dbCollections:e?[]:Kg(u),dbName:l,...t&&{status:t},...e&&{disabledTooltip:$g}}},"prepareBucketCollectionNamesData"),_4=h(async({cluster:l,options:u,query:t,logger:e})=>{let{bucketName:a,scopeName:d,collectionName:p,pagination:_,limit:E}=u;if(e.progress("Get data from database",a+"."+d,p),!(_!=null&&_.enabled)){let t0=es.getQueryOptions({query:t,limit:E}),{rows:f0}=await l.query(t0);return f0}let y=Number(u.pagination.value)||Hn,H=Math.ceil(u.limit/y),V=[],K=0;for(let t0 of H){let f0=y*t0,w0=u.limit-f0{if(u.active==="absolute")return Number(u.absolute.value);let t=Math.ceil(l*u.relative.value/100);return Math.min(t,u.maxValue)},"getDocSamplingSize"),iL=h(async({cluster:l,bucketName:u,scopeName:t,collectionName:e,recordSamplingSettings:a,logger:d})=>{var p;try{let _=es.getCountCollectionDocumentsQuery({bucketName:u,scopeName:t,collectionName:e}),{rows:E}=await l.query(_),y=(p=E==null?void 0:E[0])==null?void 0:p.size;return rL({size:y,recordSamplingSettings:a})||Hn}catch(_){return d.error(_),Hn}},"getCollectionSamplingSize"),nL=h(async({cluster:l,bucketName:u,scopeName:t,collectionName:e,limit:a})=>{let d=es.getInferCollectionDocumentsQuery({bucketName:u,scopeName:t,collectionName:e,limit:a}),{rows:p,meta:_}=await l.query(d),E=Vg(_,"errors.[0]");if(E)throw E;let[[y]]=p;return El.convertInferSchemaToDocuments({inference:y,bucketName:u})},"getCollectionDocumentsByInfer"),hL=h(async({cluster:l,data:u,bucketName:t,scopeName:e,collectionName:a,collectionIndexes:d,includeEmptyCollection:p,logger:_,app:E})=>{var y;try{let V={limit:await iL({cluster:l,bucketName:t,scopeName:e,collectionName:a,recordSamplingSettings:u.recordSamplingSettings,logger:_}),pagination:u.pagination,bucketName:t,scopeName:e,collectionName:a},K=es.getSelectCollectionDocumentsQuery({bucketName:t,scopeName:e,collectionName:a}),t0=await _4({cluster:l,options:V,query:K,logger:_}),f0=await lL({cluster:l,bucketName:t,scopeName:e,collectionName:a,documentId:(y=t0[0])==null?void 0:y.docid,logger:_});return El.getDbCollectionData({bucketName:t,scopeName:e,collectionName:a,documents:t0,collectionIndexes:d,includeEmptyCollection:p,standardDocument:f0,fieldInference:u.fieldInference})}catch(H){return _.error(H),aL({error:H,cluster:l,data:u,bucketName:t,scopeName:e,collectionName:a,collectionIndexes:d,includeEmptyCollection:p,logger:_,app:E})}},"getDbCollectionData"),aL=h(async({error:l,cluster:u,data:t,bucketName:e,scopeName:a,collectionName:d,collectionIndexes:p,includeEmptyCollection:_,logger:E,app:y})=>{try{let H=cf({error:l}),V=[];switch(H){case de.primaryIndexDoesNotExist:V=await nL({cluster:u,bucketName:e,scopeName:a,collectionName:d,limit:Hn});break;case de.inferMethodIsNotSupport:case de.n1qlMethodsAreNotSupported:V=await Yg.getCollectionDocuments({connectionInfo:t.connectionInfo,bucketName:e,scopeName:a,collectionName:d,logger:E,app:y});break}return El.getDbCollectionData({bucketName:e,scopeName:a,collectionName:d,documents:V,collectionIndexes:p,includeEmptyCollection:_,fieldInference:t.fieldInference})}catch(H){return E.error(H),El.getDbCollectionData({bucketName:e,scopeName:a,collectionName:d,documents:[],collectionIndexes:p,includeEmptyCollection:_,fieldInference:t.fieldInference})}},"getDbCollectionDataByErrorHandling"),cL=h(async({cluster:l,logger:u})=>{try{let t=es.getSelectIndexesQuery(),{rows:e}=await l.query(t);return e.map(a=>a.indexes)}catch(t){return u.error(t),[]}},"getIndexes"),lL=h(async({cluster:l,bucketName:u,scopeName:t,collectionName:e,documentId:a,logger:d})=>{try{let E=l.bucket(u).scope(t).collection(e),{content:y}=await E.get(a);return y}catch(p){return d.error(p),null}},"getCollectionDocumentByDocumentId");x4.exports={getAllBuckets:p4,createNewBucket:Qg,getBucketsForReverse:jg,getDbCollectionsNames:uL,getDbCollectionData:hL,getDocumentsBySelectStatement:tL,getErrorCode:cf,getErrorMessage:eL,getIndexes:cL,getPaginatedQuery:_4}});var A4=$((zw,m4)=>{var oL=Rl(),{AUTH_TYPE:dL,COUCHBASE_HOST_PREFIX:T4,COUCHBASE_DEFAULT_KV_CONNECTION_PORT:fL,HOSTING:E4}=oe(),Su=null,b4=h(({connectionInfo:l})=>l.host.startsWith(T4.cloud),"isCloudStorage"),R4=h(({connectionInfo:l})=>{if(b4({connectionInfo:l}))return l.host;let u=l.kv_port||fL;return`${T4.selfHosted}${l.host}:${u}`},"generateUrl"),pL=h(({connectionInfo:l})=>l.authType===dL.securityCertificate?{url:R4({connectionInfo:l}),options:{authenticator:{certificatePath:l.security_certificate,keyPath:l.security_certificate_key}}}:{url:R4({connectionInfo:l}),options:{username:l.couchbase_username,password:l.couchbase_password}},"generateConnectionParams"),_L=h(async({connectionInfo:l,app:u})=>{if(Su)return Su;let t=await u.require("couchbase"),{url:e,options:a}=pL({connectionInfo:l});Su=await t.connect(e,a);let d=await oL.getAllBuckets({cluster:Su}),p=l.couchbase_bucket;if(p&&!d.includes(p))throw new Error(`Bucket ${p} doesn't exist`);return Su},"connect"),xL=h(async()=>{await(Su==null?void 0:Su.close()),Su=null},"disconnect"),EL=h(()=>{let l=(Su==null?void 0:Su._connStr)||"";return{hosting:b4({connectionInfo:{host:l}})?E4.capella:E4.selfHosted}},"getConnectionInfo");m4.exports={connect:_L,disconnect:xL,getConnectionInfo:EL}});var C4=$((jw,RL)=>{RL.exports={name:"CouchbaseV7Plus",version:"0.1.0",versionDate:"2024-03-08",author:"hackolade",engines:{hackolade:"7.0.0",hackoladePlugin:"1.0.1"},contributes:{target:{applicationTarget:"CouchbaseV7Plus",title:"Couchbase w/ collections",versions:["7.x"]},features:{enableForwardEngineering:!0,enableArrayCollections:!1}},description:"Hackolade plugin for Couchbase with scopes and collections","lint-staged":{"*.{js,json}":"prettier --write"},"simple-git-hooks":{"pre-commit":"npx lint-staged","pre-push":"npx eslint ."},scripts:{lint:"eslint . --max-warnings=0",package:"node esbuild.package.js"},dependencies:{async:"3.2.5","exponential-backoff":"3.1.1",lodash:"4.17.21",uuid:"9.0.1",antlr4:"4.9.2"},devDependencies:{"@hackolade/hck-esbuild-plugins-pack":"0.0.1","@types/couchbase":"2.4.9",esbuild:"0.19.12","esbuild-plugin-clean":"1.0.1",eslint:"8.56.0","eslint-config-prettier":"9.1.0","eslint-plugin-prettier":"5.1.3","lint-staged":"14.0.1",prettier:"3.2.4","simple-git-hooks":"2.9.0"}}});var y4=$((Jw,L4)=>{var Bt=require("os"),TL=C4(),{COUCHBASE_ERROR_CODE:bL}=oe(),mL=h(()=>TL.version,"getPluginVersion"),AL=h(l=>`Date: ${new Date} +Application version: ${l} +Plugin version: ${mL()} + +System information: + Hostname: ${Bt.hostname()} + Platform: ${Bt.platform()} ${Bt.arch()} + Release: ${Bt.release()} + Uptime: ${LL(Bt.uptime())} + Total RAM: ${(Bt.totalmem()/1073741824).toFixed(2)} GB + CPU Model: ${Bt.cpus()[0].model} + CPU Clock: ${CL(Bt.cpus())} MHZ + CPU Cores: ${Bt.cpus().length} cores + +`,"getSystemInfo"),CL=h(l=>l.reduce((u,t)=>Math.max(u,t.speed),0),"maxClock"),gL=h(l=>l<10?"0"+l:l,"prefixZero"),LL=h(l=>Math.floor(l/3600)+":"+gL(parseInt((l/3600-Math.floor(l/3600))*60)),"toTime"),yL=h(({title:l,logger:u,hiddenKeys:t})=>({info(e){u.log("info",{message:e},l,t)},progress(e,a="",d=""){u.progress({message:e,containerName:a,entityName:d})},error(e){u.log("error",g4(e),l)}}),"createLogger"),g4=h(l=>{var u,t,e,a;if((u=l==null?void 0:l.context)!=null&&u.response_body){let d=JSON.parse(l.context.response_body);l={...l,...d}}return{type:((t=l.cause)==null?void 0:t.code)===bL.authorizationFailure?"simpleError":"",message:((e=l.cause)==null?void 0:e.first_error_message)||((a=l.cause)==null?void 0:a.message)||l.message}},"createError"),NL={getSystemInfo:AL,createLogger:yL,createError:g4};L4.exports=NL});var hu=$((uO,I4)=>{function N4(l){return Array.isArray(l)?"["+l.join(", ")+"]":"null"}h(N4,"arrayToString");String.prototype.seed=String.prototype.seed||Math.round(Math.random()*Math.pow(2,32));String.prototype.hashCode=function(){let l=this.toString(),u,t,e=l.length&3,a=l.length-e,d=String.prototype.seed,p=3432918353,_=461845907,E=0;for(;E>>16)*p&65535)<<16)&4294967295,t=t<<15|t>>>17,t=(t&65535)*_+(((t>>>16)*_&65535)<<16)&4294967295,d^=t,d=d<<13|d>>>19,u=(d&65535)*5+(((d>>>16)*5&65535)<<16)&4294967295,d=(u&65535)+27492+(((u>>>16)+58964&65535)<<16);switch(t=0,e){case 3:t^=(l.charCodeAt(E+2)&255)<<16;case 2:t^=(l.charCodeAt(E+1)&255)<<8;case 1:t^=l.charCodeAt(E)&255,t=(t&65535)*p+(((t>>>16)*p&65535)<<16)&4294967295,t=t<<15|t>>>17,t=(t&65535)*_+(((t>>>16)*_&65535)<<16)&4294967295,d^=t}return d^=l.length,d^=d>>>16,d=(d&65535)*2246822507+(((d>>>16)*2246822507&65535)<<16)&4294967295,d^=d>>>13,d=(d&65535)*3266489909+(((d>>>16)*3266489909&65535)<<16)&4294967295,d^=d>>>16,d>>>0};function w4(l,u){return l?l.equals(u):l==u}h(w4,"standardEqualsFunction");function O4(l){return l?l.hashCode():-1}h(O4,"standardHashCodeFunction");var pf=class pf{constructor(u,t){this.data={},this.hashFunction=u||O4,this.equalsFunction=t||w4}add(u){let e="hash_"+this.hashFunction(u);if(e in this.data){let a=this.data[e];for(let d=0;d>>17,e=e*461845907,this.count=this.count+1;let a=this.hash^e;a=a<<13|a>>>19,a=a*5+3864292196,this.hash=a}}}finish(){let u=this.hash^this.count*4;return u=u^u>>>16,u=u*2246822507,u=u^u>>>13,u=u*3266489909,u=u^u>>>16,u}};h(Rf,"Hash");var Mn=Rf;function wL(){let l=new Mn;return l.update.apply(l,arguments),l.finish()}h(wL,"hashStuff");function OL(l,u){return l=l.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),u&&(l=l.replace(/ /g,"\xB7")),l}h(OL,"escapeWhitespace");function IL(l){return l.replace(/\w\S*/g,function(u){return u.charAt(0).toUpperCase()+u.substr(1)})}h(IL,"titleCase");function UL(l,u){if(!Array.isArray(l)||!Array.isArray(u))return!1;if(l===u)return!0;if(l.length!==u.length)return!1;for(let t=0;t{var Tf=class Tf{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(u){this._text=u}};h(Tf,"Token");var Qu=Tf;Qu.INVALID_TYPE=0;Qu.EPSILON=-2;Qu.MIN_USER_TOKEN_TYPE=1;Qu.EOF=-1;Qu.DEFAULT_CHANNEL=0;Qu.HIDDEN_CHANNEL=1;var kn=class kn extends Qu{constructor(u,t,e,a,d){super(),this.source=u!==void 0?u:kn.EMPTY_SOURCE,this.type=t!==void 0?t:null,this.channel=e!==void 0?e:Qu.DEFAULT_CHANNEL,this.start=a!==void 0?a:-1,this.stop=d!==void 0?d:-1,this.tokenIndex=-1,this.source[0]!==null?(this.line=u[0].line,this.column=u[0].column):this.column=-1}clone(){let u=new kn(this.source,this.type,this.channel,this.start,this.stop);return u.tokenIndex=this.tokenIndex,u.line=this.line,u.column=this.column,u.text=this.text,u}toString(){let u=this.text;return u!==null?u=u.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):u="","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+u+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}get text(){if(this._text!==null)return this._text;let u=this.getInputStream();if(u===null)return null;let t=u.size;return this.start"}set text(u){this._text=u}};h(kn,"CommonToken");var ml=kn;ml.EMPTY_SOURCE=[null,null];U4.exports={Token:Qu,CommonToken:ml}});var qt=$((rO,v4)=>{var Fn=class Fn{constructor(){this.atn=null,this.stateNumber=Fn.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(u){return u instanceof Fn?this.stateNumber===u.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(u,t){t===void 0&&(t=-1),this.transitions.length===0?this.epsilonOnlyTransitions=u.isEpsilon:this.epsilonOnlyTransitions!==u.isEpsilon&&(this.epsilonOnlyTransitions=!1),t===-1?this.transitions.push(u):this.transitions.splice(t,1,u)}};h(Fn,"ATNState");var E0=Fn;E0.INVALID_TYPE=0;E0.BASIC=1;E0.RULE_START=2;E0.BLOCK_START=3;E0.PLUS_BLOCK_START=4;E0.STAR_BLOCK_START=5;E0.TOKEN_START=6;E0.RULE_STOP=7;E0.BLOCK_END=8;E0.STAR_LOOP_BACK=9;E0.STAR_LOOP_ENTRY=10;E0.PLUS_LOOP_BACK=11;E0.LOOP_END=12;E0.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"];E0.INVALID_STATE_NUMBER=-1;var vf=class vf extends E0{constructor(){super(),this.stateType=E0.BASIC}};h(vf,"BasicState");var bf=vf,Pf=class Pf extends E0{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}};h(Pf,"DecisionState");var ss=Pf,Sf=class Sf extends ss{constructor(){return super(),this.endState=null,this}};h(Sf,"BlockStartState");var Rr=Sf,Df=class Df extends Rr{constructor(){return super(),this.stateType=E0.BLOCK_START,this}};h(Df,"BasicBlockStartState");var mf=Df,Hf=class Hf extends E0{constructor(){return super(),this.stateType=E0.BLOCK_END,this.startState=null,this}};h(Hf,"BlockEndState");var Af=Hf,Mf=class Mf extends E0{constructor(){return super(),this.stateType=E0.RULE_STOP,this}};h(Mf,"RuleStopState");var Cf=Mf,kf=class kf extends E0{constructor(){return super(),this.stateType=E0.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}};h(kf,"RuleStartState");var gf=kf,Ff=class Ff extends ss{constructor(){return super(),this.stateType=E0.PLUS_LOOP_BACK,this}};h(Ff,"PlusLoopbackState");var Lf=Ff,Bf=class Bf extends Rr{constructor(){return super(),this.stateType=E0.PLUS_BLOCK_START,this.loopBackState=null,this}};h(Bf,"PlusBlockStartState");var yf=Bf,qf=class qf extends Rr{constructor(){return super(),this.stateType=E0.STAR_BLOCK_START,this}};h(qf,"StarBlockStartState");var Nf=qf,Gf=class Gf extends E0{constructor(){return super(),this.stateType=E0.STAR_LOOP_BACK,this}};h(Gf,"StarLoopbackState");var wf=Gf,Vf=class Vf extends ss{constructor(){return super(),this.stateType=E0.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}};h(Vf,"StarLoopEntryState");var Of=Vf,Kf=class Kf extends E0{constructor(){return super(),this.stateType=E0.LOOP_END,this.loopBackState=null,this}};h(Kf,"LoopEndState");var If=Kf,Wf=class Wf extends ss{constructor(){return super(),this.stateType=E0.TOKEN_START,this}};h(Wf,"TokensStartState");var Uf=Wf;v4.exports={ATNState:E0,BasicState:bf,DecisionState:ss,BlockStartState:Rr,BlockEndState:Af,LoopEndState:If,RuleStartState:gf,RuleStopState:Cf,TokensStartState:Uf,PlusLoopbackState:Lf,StarLoopbackState:wf,StarLoopEntryState:Of,PlusBlockStartState:yf,StarBlockStartState:Nf,BasicBlockStartState:mf}});var mr=$((nO,D4)=>{var{Set:P4,Hash:vL,equalArrays:S4}=hu(),fe=class fe{hashCode(){let u=new vL;return this.updateHashCode(u),u.finish()}evaluate(u,t){}evalPrecedence(u,t){return this}static andContext(u,t){if(u===null||u===fe.NONE)return t;if(t===null||t===fe.NONE)return u;let e=new Yf(u,t);return e.opnds.length===1?e.opnds[0]:e}static orContext(u,t){if(u===null)return t;if(t===null)return u;if(u===fe.NONE||t===fe.NONE)return fe.NONE;let e=new Xf(u,t);return e.opnds.length===1?e.opnds[0]:e}};h(fe,"SemanticContext");var au=fe,Cl=class Cl extends au{constructor(u,t,e){super(),this.ruleIndex=u===void 0?-1:u,this.predIndex=t===void 0?-1:t,this.isCtxDependent=e===void 0?!1:e}evaluate(u,t){let e=this.isCtxDependent?t:null;return u.sempred(e,this.ruleIndex,this.predIndex)}updateHashCode(u){u.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(u){return this===u?!0:u instanceof Cl?this.ruleIndex===u.ruleIndex&&this.predIndex===u.predIndex&&this.isCtxDependent===u.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};h(Cl,"Predicate");var Al=Cl;au.NONE=new Al;var Bn=class Bn extends au{constructor(u){super(),this.precedence=u===void 0?0:u}evaluate(u,t){return u.precpred(t,this.precedence)}evalPrecedence(u,t){return u.precpred(t,this.precedence)?au.NONE:null}compareTo(u){return this.precedence-u.precedence}updateHashCode(u){u.update(this.precedence)}equals(u){return this===u?!0:u instanceof Bn?this.precedence===u.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}static filterPrecedencePredicates(u){let t=[];return u.values().map(function(e){e instanceof Bn&&t.push(e)}),t}};h(Bn,"PrecedencePredicate");var qn=Bn,Tr=class Tr extends au{constructor(u,t){super();let e=new P4;u instanceof Tr?u.opnds.map(function(d){e.add(d)}):e.add(u),t instanceof Tr?t.opnds.map(function(d){e.add(d)}):e.add(t);let a=qn.filterPrecedencePredicates(e);if(a.length>0){let d=null;a.map(function(p){(d===null||p.precedencet.toString());return(u.length>3?u.slice(3):u).join("&&")}};h(Tr,"AND");var Yf=Tr,br=class br extends au{constructor(u,t){super();let e=new P4;u instanceof br?u.opnds.map(function(d){e.add(d)}):e.add(u),t instanceof br?t.opnds.map(function(d){e.add(d)}):e.add(t);let a=qn.filterPrecedencePredicates(e);if(a.length>0){let d=a.sort(function(_,E){return _.compareTo(E)}),p=d[d.length-1];e.add(p)}this.opnds=Array.from(e.values())}equals(u){return this===u?!0:u instanceof br?S4(this.opnds,u.opnds):!1}updateHashCode(u){u.update(this.opnds,"OR")}evaluate(u,t){for(let e=0;et.toString());return(u.length>3?u.slice(3):u).join("||")}};h(br,"OR");var Xf=br;D4.exports={SemanticContext:au,PrecedencePredicate:qn,Predicate:Al}});var Vn=$((aO,zf)=>{var{DecisionState:PL}=qt(),{SemanticContext:H4}=mr(),{Hash:M4}=hu();function k4(l,u){if(l===null){let t={state:null,alt:null,context:null,semanticContext:null};return u&&(t.reachesIntoOuterContext=0),t}else{let t={};return t.state=l.state||null,t.alt=l.alt===void 0?null:l.alt,t.context=l.context||null,t.semanticContext=l.semanticContext||null,u&&(t.reachesIntoOuterContext=l.reachesIntoOuterContext||0,t.precedenceFilterSuppressed=l.precedenceFilterSuppressed||!1),t}}h(k4,"checkParams");var Gn=class Gn{constructor(u,t){this.checkContext(u,t),u=k4(u),t=k4(t,!0),this.state=u.state!==null?u.state:t.state,this.alt=u.alt!==null?u.alt:t.alt,this.context=u.context!==null?u.context:t.context,this.semanticContext=u.semanticContext!==null?u.semanticContext:t.semanticContext!==null?t.semanticContext:H4.NONE,this.reachesIntoOuterContext=t.reachesIntoOuterContext,this.precedenceFilterSuppressed=t.precedenceFilterSuppressed}checkContext(u,t){(u.context===null||u.context===void 0)&&(t===null||t.context===null||t.context===void 0)&&(this.context=null)}hashCode(){let u=new M4;return this.updateHashCode(u),u.finish()}updateHashCode(u){u.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(u){return this===u?!0:u instanceof Gn?this.state.stateNumber===u.state.stateNumber&&this.alt===u.alt&&(this.context===null?u.context===null:this.context.equals(u.context))&&this.semanticContext.equals(u.semanticContext)&&this.precedenceFilterSuppressed===u.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){let u=new M4;return u.update(this.state.stateNumber,this.alt,this.semanticContext),u.finish()}equalsForConfigSet(u){return this===u?!0:u instanceof Gn?this.state.stateNumber===u.state.stateNumber&&this.alt===u.alt&&this.semanticContext.equals(u.semanticContext):!1}toString(){return"("+this.state+","+this.alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==H4.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}};h(Gn,"ATNConfig");var gl=Gn,Ar=class Ar extends gl{constructor(u,t){super(u,t);let e=u.lexerActionExecutor||null;return this.lexerActionExecutor=e||(t!==null?t.lexerActionExecutor:null),this.passedThroughNonGreedyDecision=t!==null?this.checkNonGreedyDecision(t,this.state):!1,this.hashCodeForConfigSet=Ar.prototype.hashCode,this.equalsForConfigSet=Ar.prototype.equals,this}updateHashCode(u){u.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(u){return this===u||u instanceof Ar&&this.passedThroughNonGreedyDecision===u.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(u.lexerActionExecutor):!u.lexerActionExecutor)&&super.equals(u)}checkNonGreedyDecision(u,t){return u.passedThroughNonGreedyDecision||t instanceof PL&&t.nonGreedy}};h(Ar,"LexerATNConfig");var $f=Ar;zf.exports.ATNConfig=gl;zf.exports.LexerATNConfig=$f});var Ru=$((lO,F4)=>{var{Token:Kn}=M0(),jf=class jf{constructor(u,t){this.start=u,this.stop=t}contains(u){return u>=this.start&&uthis.addInterval(t),this),this}reduce(u){if(u=e.stop?(this.intervals.splice(u+1,1),this.reduce(u)):t.stop>=e.start&&(this.intervals[u]=new cu(t.start,e.stop),this.intervals.splice(u+1,1))}}complement(u,t){let e=new Ll;return e.addInterval(new cu(u,t+1)),this.intervals!==null&&this.intervals.forEach(a=>e.removeRange(a)),e}contains(u){if(this.intervals===null)return!1;for(let t=0;ta.start&&u.stop=a.stop?(this.intervals.splice(t,1),t=t-1):u.start"):u.push("'"+String.fromCharCode(e.start)+"'"):u.push("'"+String.fromCharCode(e.start)+"'..'"+String.fromCharCode(e.stop-1)+"'")}return u.length>1?"{"+u.join(", ")+"}":u[0]}toIndexString(){let u=[];for(let t=0;t"):u.push(e.start.toString()):u.push(e.start.toString()+".."+(e.stop-1).toString())}return u.length>1?"{"+u.join(", ")+"}":u[0]}toTokenString(u,t){let e=[];for(let a=0;a1?"{"+e.join(", ")+"}":e[0]}elementName(u,t,e){return e===Kn.EOF?"":e===Kn.EPSILON?"":u[e]||t[e]}get length(){return this.intervals.map(u=>u.length).reduce((u,t)=>u+t)}};h(Ll,"IntervalSet");var Qf=Ll;F4.exports={Interval:cu,IntervalSet:Qf}});var Cr=$((dO,B4)=>{var{Token:SL}=M0(),{IntervalSet:h3}=Ru(),{Predicate:DL,PrecedencePredicate:HL}=mr(),a3=class a3{constructor(u){if(u==null)throw"target cannot be null.";this.target=u,this.isEpsilon=!1,this.label=null}};h(a3,"Transition");var h0=a3;h0.EPSILON=1;h0.RANGE=2;h0.RULE=3;h0.PREDICATE=4;h0.ATOM=5;h0.ACTION=6;h0.SET=7;h0.NOT_SET=8;h0.WILDCARD=9;h0.PRECEDENCE=10;h0.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"];h0.serializationTypes={EpsilonTransition:h0.EPSILON,RangeTransition:h0.RANGE,RuleTransition:h0.RULE,PredicateTransition:h0.PREDICATE,AtomTransition:h0.ATOM,ActionTransition:h0.ACTION,SetTransition:h0.SET,NotSetTransition:h0.NOT_SET,WildcardTransition:h0.WILDCARD,PrecedencePredicateTransition:h0.PRECEDENCE};var c3=class c3 extends h0{constructor(u,t){super(u),this.label_=t,this.label=this.makeLabel(),this.serializationType=h0.ATOM}makeLabel(){let u=new h3;return u.addOne(this.label_),u}matches(u,t,e){return this.label_===u}toString(){return this.label_}};h(c3,"AtomTransition");var Jf=c3,l3=class l3 extends h0{constructor(u,t,e,a){super(u),this.ruleIndex=t,this.precedence=e,this.followState=a,this.serializationType=h0.RULE,this.isEpsilon=!0}matches(u,t,e){return!1}};h(l3,"RuleTransition");var Zf=l3,o3=class o3 extends h0{constructor(u,t){super(u),this.serializationType=h0.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=t}matches(u,t,e){return!1}toString(){return"epsilon"}};h(o3,"EpsilonTransition");var u3=o3,d3=class d3 extends h0{constructor(u,t,e){super(u),this.serializationType=h0.RANGE,this.start=t,this.stop=e,this.label=this.makeLabel()}makeLabel(){let u=new h3;return u.addRange(this.start,this.stop),u}matches(u,t,e){return u>=this.start&&u<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}};h(d3,"RangeTransition");var t3=d3,f3=class f3 extends h0{constructor(u){super(u)}};h(f3,"AbstractPredicateTransition");var Wn=f3,p3=class p3 extends Wn{constructor(u,t,e,a){super(u),this.serializationType=h0.PREDICATE,this.ruleIndex=t,this.predIndex=e,this.isCtxDependent=a,this.isEpsilon=!0}matches(u,t,e){return!1}getPredicate(){return new DL(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}};h(p3,"PredicateTransition");var e3=p3,_3=class _3 extends h0{constructor(u,t,e,a){super(u),this.serializationType=h0.ACTION,this.ruleIndex=t,this.actionIndex=e===void 0?-1:e,this.isCtxDependent=a===void 0?!1:a,this.isEpsilon=!0}matches(u,t,e){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}};h(_3,"ActionTransition");var s3=_3,x3=class x3 extends h0{constructor(u,t){super(u),this.serializationType=h0.SET,t!=null?this.label=t:(this.label=new h3,this.label.addOne(SL.INVALID_TYPE))}matches(u,t,e){return this.label.contains(u)}toString(){return this.label.toString()}};h(x3,"SetTransition");var yl=x3,E3=class E3 extends yl{constructor(u,t){super(u,t),this.serializationType=h0.NOT_SET}matches(u,t,e){return u>=t&&u<=e&&!super.matches(u,t,e)}toString(){return"~"+super.toString()}};h(E3,"NotSetTransition");var r3=E3,R3=class R3 extends h0{constructor(u){super(u),this.serializationType=h0.WILDCARD}matches(u,t,e){return u>=t&&u<=e}toString(){return"."}};h(R3,"WildcardTransition");var i3=R3,T3=class T3 extends Wn{constructor(u,t){super(u),this.serializationType=h0.PRECEDENCE,this.precedence=t,this.isEpsilon=!0}matches(u,t,e){return!1}getPredicate(){return new HL(this.precedence)}toString(){return this.precedence+" >= _p"}};h(T3,"PrecedencePredicateTransition");var n3=T3;B4.exports={Transition:h0,AtomTransition:Jf,SetTransition:yl,NotSetTransition:r3,RuleTransition:Zf,ActionTransition:s3,EpsilonTransition:u3,RangeTransition:t3,WildcardTransition:i3,PredicateTransition:e3,PrecedencePredicateTransition:n3,AbstractPredicateTransition:Wn}});var rs=$((pO,V4)=>{var{Token:ML}=M0(),{Interval:q4}=Ru(),G4=new q4(-1,-2),y3=class y3{};h(y3,"Tree");var b3=y3,N3=class N3 extends b3{constructor(){super()}};h(N3,"SyntaxTree");var m3=N3,w3=class w3 extends m3{constructor(){super()}};h(w3,"ParseTree");var Nl=w3,O3=class O3 extends Nl{constructor(){super()}getRuleContext(){throw new Error("missing interface implementation")}};h(O3,"RuleNode");var A3=O3,I3=class I3 extends Nl{constructor(){super()}};h(I3,"TerminalNode");var gr=I3,U3=class U3 extends gr{constructor(){super()}};h(U3,"ErrorNode");var wl=U3,v3=class v3{visit(u){return Array.isArray(u)?u.map(function(t){return t.accept(this)},this):u.accept(this)}visitChildren(u){return u.children?this.visit(u.children):null}visitTerminal(u){}visitErrorNode(u){}};h(v3,"ParseTreeVisitor");var C3=v3,P3=class P3{visitTerminal(u){}visitErrorNode(u){}enterEveryRule(u){}exitEveryRule(u){}};h(P3,"ParseTreeListener");var g3=P3,S3=class S3 extends gr{constructor(u){super(),this.parentCtx=null,this.symbol=u}getChild(u){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return G4;let u=this.symbol.tokenIndex;return new q4(u,u)}getChildCount(){return 0}accept(u){return u.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===ML.EOF?"":this.symbol.text}};h(S3,"TerminalNodeImpl");var Ol=S3,D3=class D3 extends Ol{constructor(u){super(u)}isErrorNode(){return!0}accept(u){return u.visitErrorNode(this)}};h(D3,"ErrorNodeImpl");var L3=D3,H3=class H3{walk(u,t){if(t instanceof wl||t.isErrorNode!==void 0&&t.isErrorNode())u.visitErrorNode(t);else if(t instanceof gr)u.visitTerminal(t);else{this.enterRule(u,t);for(let a=0;a{var kL=hu(),{Token:FL}=M0(),{ErrorNode:BL,TerminalNode:K4,RuleNode:W4}=rs(),Gt={toStringTree:function(l,u,t){u=u||null,t=t||null,t!==null&&(u=t.ruleNames);let e=Gt.getNodeText(l,u);e=kL.escapeWhitespace(e,!1);let a=l.getChildCount();if(a===0)return e;let d="("+e+" ";a>0&&(e=Gt.toStringTree(l.getChild(0),u),d=d.concat(e));for(let p=1;p{var{RuleNode:qL}=rs(),{INVALID_INTERVAL:GL}=rs(),VL=M3(),F3=class F3 extends qL{constructor(u,t){super(),this.parentCtx=u||null,this.invokingState=t||-1}depth(){let u=0,t=this;for(;t!==null;)t=t.parentCtx,u+=1;return u}isEmpty(){return this.invokingState===-1}getSourceInterval(){return GL}getRuleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?"":this.children.map(function(u){return u.getText()}).join("")}getAltNumber(){return 0}setAltNumber(u){}getChild(u){return null}getChildCount(){return 0}accept(u){return u.visitChildren(this)}toStringTree(u,t){return VL.toStringTree(this,u,t)}toString(u,t){u=u||null,t=t||null;let e=this,a="[";for(;e!==null&&e!==t;){if(u===null)e.isEmpty()||(a+=e.invokingState);else{let d=e.ruleIndex,p=d>=0&&d{var $4=Il(),{Hash:Q4,Map:j4,equalArrays:z4}=hu(),Xn=class Xn{constructor(u){this.cachedHashCode=u}isEmpty(){return this===Xn.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===Xn.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(u){u.update(this.cachedHashCode)}};h(Xn,"PredictionContext");var m0=Xn;m0.EMPTY=null;m0.EMPTY_RETURN_STATE=2147483647;m0.globalNodeCount=1;m0.id=m0.globalNodeCount;var G3=class G3{constructor(){this.cache=new j4}add(u){if(u===m0.EMPTY)return m0.EMPTY;let t=this.cache.get(u)||null;return t!==null?t:(this.cache.put(u,u),u)}get(u){return this.cache.get(u)||null}get length(){return this.cache.length}};h(G3,"PredictionContextCache");var B3=G3,$n=class $n extends m0{constructor(u,t){let e=0,a=new Q4;u!==null?a.update(u,t):a.update(1),e=a.finish(),super(e),this.parentCtx=u,this.returnState=t}getParent(u){return this.parentCtx}getReturnState(u){return this.returnState}equals(u){return this===u?!0:u instanceof $n?this.hashCode()!==u.hashCode()||this.returnState!==u.returnState?!1:this.parentCtx==null?u.parentCtx==null:this.parentCtx.equals(u.parentCtx):!1}toString(){let u=this.parentCtx===null?"":this.parentCtx.toString();return u.length===0?this.returnState===m0.EMPTY_RETURN_STATE?"$":""+this.returnState:""+this.returnState+" "+u}get length(){return 1}static create(u,t){return t===m0.EMPTY_RETURN_STATE&&u===null?m0.EMPTY:new $n(u,t)}};h($n,"SingletonPredictionContext");var Du=$n,V3=class V3 extends Du{constructor(){super(null,m0.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(u){return null}getReturnState(u){return this.returnState}equals(u){return this===u}toString(){return"$"}};h(V3,"EmptyPredictionContext");var zn=V3;m0.EMPTY=new zn;var Ul=class Ul extends m0{constructor(u,t){let e=new Q4;e.update(u,t);let a=e.finish();return super(a),this.parents=u,this.returnStates=t,this}isEmpty(){return this.returnStates[0]===m0.EMPTY_RETURN_STATE}getParent(u){return this.parents[u]}getReturnState(u){return this.returnStates[u]}equals(u){return this===u?!0:u instanceof Ul?this.hashCode()!==u.hashCode()?!1:z4(this.returnStates,u.returnStates)&&z4(this.parents,u.parents):!1}toString(){if(this.isEmpty())return"[]";{let u="[";for(let t=0;t0&&(u=u+", "),this.returnStates[t]===m0.EMPTY_RETURN_STATE){u=u+"$";continue}u=u+this.returnStates[t],this.parents[t]!==null?u=u+" "+this.parents[t]:u=u+"null"}return u+"]"}}get length(){return this.returnStates.length}};h(Ul,"ArrayPredictionContext");var xt=Ul;function J4(l,u){if(u==null&&(u=$4.EMPTY),u.parentCtx===null||u===$4.EMPTY)return m0.EMPTY;let t=J4(l,u.parentCtx),a=l.states[u.invokingState].transitions[0];return Du.create(t,a.followState.stateNumber)}h(J4,"predictionContextFromRuleContext");function q3(l,u,t,e){if(l===u)return l;if(l instanceof Du&&u instanceof Du)return KL(l,u,t,e);if(t){if(l instanceof zn)return l;if(u instanceof zn)return u}return l instanceof Du&&(l=new xt([l.getParent()],[l.returnState])),u instanceof Du&&(u=new xt([u.getParent()],[u.returnState])),YL(l,u,t,e)}h(q3,"merge");function KL(l,u,t,e){if(e!==null){let d=e.get(l,u);if(d!==null||(d=e.get(u,l),d!==null))return d}let a=WL(l,u,t);if(a!==null)return e!==null&&e.set(l,u,a),a;if(l.returnState===u.returnState){let d=q3(l.parentCtx,u.parentCtx,t,e);if(d===l.parentCtx)return l;if(d===u.parentCtx)return u;let p=Du.create(d,l.returnState);return e!==null&&e.set(l,u,p),p}else{let d=null;if((l===u||l.parentCtx!==null&&l.parentCtx===u.parentCtx)&&(d=l.parentCtx),d!==null){let y=[l.returnState,u.returnState];l.returnState>u.returnState&&(y[0]=u.returnState,y[1]=l.returnState);let H=[d,d],V=new xt(H,y);return e!==null&&e.set(l,u,V),V}let p=[l.returnState,u.returnState],_=[l.parentCtx,u.parentCtx];l.returnState>u.returnState&&(p[0]=u.returnState,p[1]=l.returnState,_=[u.parentCtx,l.parentCtx]);let E=new xt(_,p);return e!==null&&e.set(l,u,E),E}}h(KL,"mergeSingletons");function WL(l,u,t){if(t){if(l===m0.EMPTY||u===m0.EMPTY)return m0.EMPTY}else{if(l===m0.EMPTY&&u===m0.EMPTY)return m0.EMPTY;if(l===m0.EMPTY){let e=[u.returnState,m0.EMPTY_RETURN_STATE],a=[u.parentCtx,null];return new xt(a,e)}else if(u===m0.EMPTY){let e=[l.returnState,m0.EMPTY_RETURN_STATE],a=[l.parentCtx,null];return new xt(a,e)}}return null}h(WL,"mergeRoot");function YL(l,u,t,e){if(e!==null){let H=e.get(l,u);if(H!==null||(H=e.get(u,l),H!==null))return H}let a=0,d=0,p=0,_=[],E=[];for(;a{var{Set:t8,BitSet:e8}=hu(),{Token:is}=M0(),{ATNConfig:$L}=Vn(),{IntervalSet:s8}=Ru(),{RuleStopState:zL}=qt(),{RuleTransition:QL,NotSetTransition:jL,WildcardTransition:JL,AbstractPredicateTransition:ZL}=Cr(),{predictionContextFromRuleContext:uy,PredictionContext:r8,SingletonPredictionContext:ty}=Vt(),Qn=class Qn{constructor(u){this.atn=u}getDecisionLookahead(u){if(u===null)return null;let t=u.transitions.length,e=[];for(let a=0;a{var ey=K3(),{IntervalSet:sy}=Ru(),{Token:Lr}=M0(),W3=class W3{constructor(u,t){this.grammarType=u,this.maxTokenType=t,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(u,t){return new ey(this).LOOK(u,null,t)}nextTokensNoContext(u){return u.nextTokenWithinRule!==null||(u.nextTokenWithinRule=this.nextTokensInContext(u,null),u.nextTokenWithinRule.readOnly=!0),u.nextTokenWithinRule}nextTokens(u,t){return t===void 0?this.nextTokensNoContext(u):this.nextTokensInContext(u,t)}addState(u){u!==null&&(u.atn=this,u.stateNumber=this.states.length),this.states.push(u)}removeState(u){this.states[u.stateNumber]=null}defineDecisionState(u){return this.decisionToState.push(u),u.decision=this.decisionToState.length-1,u.decision}getDecisionState(u){return this.decisionToState.length===0?null:this.decisionToState[u]}getExpectedTokens(u,t){if(u<0||u>=this.states.length)throw"Invalid state number.";let e=this.states[u],a=this.nextTokens(e);if(!a.contains(Lr.EPSILON))return a;let d=new sy;for(d.addSet(a),d.removeOne(Lr.EPSILON);t!==null&&t.invokingState>=0&&a.contains(Lr.EPSILON);){let _=this.states[t.invokingState].transitions[0];a=this.nextTokens(_.followState),d.addSet(a),d.removeOne(Lr.EPSILON),t=t.parentCtx}return a.contains(Lr.EPSILON)&&d.addOne(Lr.EOF),d}};h(W3,"ATN");var Pl=W3;Pl.INVALID_ALT_NUMBER=0;n8.exports=Pl});var a8=$((LO,h8)=>{h8.exports={LEXER:0,PARSER:1}});var X3=$((yO,c8)=>{var Y3=class Y3{constructor(u){u===void 0&&(u=null),this.readOnly=!1,this.verifyATN=u===null?!0:u.verifyATN,this.generateRuleBypassTransitions=u===null?!1:u.generateRuleBypassTransitions}};h(Y3,"ATNDeserializationOptions");var yr=Y3;yr.defaultOptions=new yr;yr.defaultOptions.readOnly=!0;c8.exports=yr});var r1=$((wO,l8)=>{var Kt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},u1=class u1{constructor(u){this.actionType=u,this.isPositionDependent=!1}hashCode(){let u=new Hash;return this.updateHashCode(u),u.finish()}updateHashCode(u){u.update(this.actionType)}equals(u){return this===u}};h(u1,"LexerAction");var ju=u1,t1=class t1 extends ju{constructor(){super(Kt.SKIP)}execute(u){u.skip()}toString(){return"skip"}};h(t1,"LexerSkipAction");var jn=t1;jn.INSTANCE=new jn;var Sl=class Sl extends ju{constructor(u){super(Kt.TYPE),this.type=u}execute(u){u.type=this.type}updateHashCode(u){u.update(this.actionType,this.type)}equals(u){return this===u?!0:u instanceof Sl?this.type===u.type:!1}toString(){return"type("+this.type+")"}};h(Sl,"LexerTypeAction");var $3=Sl,Dl=class Dl extends ju{constructor(u){super(Kt.PUSH_MODE),this.mode=u}execute(u){u.pushMode(this.mode)}updateHashCode(u){u.update(this.actionType,this.mode)}equals(u){return this===u?!0:u instanceof Dl?this.mode===u.mode:!1}toString(){return"pushMode("+this.mode+")"}};h(Dl,"LexerPushModeAction");var z3=Dl,e1=class e1 extends ju{constructor(){super(Kt.POP_MODE)}execute(u){u.popMode()}toString(){return"popMode"}};h(e1,"LexerPopModeAction");var Jn=e1;Jn.INSTANCE=new Jn;var s1=class s1 extends ju{constructor(){super(Kt.MORE)}execute(u){u.more()}toString(){return"more"}};h(s1,"LexerMoreAction");var Zn=s1;Zn.INSTANCE=new Zn;var Hl=class Hl extends ju{constructor(u){super(Kt.MODE),this.mode=u}execute(u){u.mode(this.mode)}updateHashCode(u){u.update(this.actionType,this.mode)}equals(u){return this===u?!0:u instanceof Hl?this.mode===u.mode:!1}toString(){return"mode("+this.mode+")"}};h(Hl,"LexerModeAction");var Q3=Hl,Ml=class Ml extends ju{constructor(u,t){super(Kt.CUSTOM),this.ruleIndex=u,this.actionIndex=t,this.isPositionDependent=!0}execute(u){u.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(u){u.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(u){return this===u?!0:u instanceof Ml?this.ruleIndex===u.ruleIndex&&this.actionIndex===u.actionIndex:!1}};h(Ml,"LexerCustomAction");var j3=Ml,kl=class kl extends ju{constructor(u){super(Kt.CHANNEL),this.channel=u}execute(u){u._channel=this.channel}updateHashCode(u){u.update(this.actionType,this.channel)}equals(u){return this===u?!0:u instanceof kl?this.channel===u.channel:!1}toString(){return"channel("+this.channel+")"}};h(kl,"LexerChannelAction");var J3=kl,Fl=class Fl extends ju{constructor(u,t){super(t.actionType),this.offset=u,this.action=t,this.isPositionDependent=!0}execute(u){this.action.execute(u)}updateHashCode(u){u.update(this.actionType,this.offset,this.action)}equals(u){return this===u?!0:u instanceof Fl?this.offset===u.offset&&this.action===u.action:!1}};h(Fl,"LexerIndexedCustomAction");var Z3=Fl;l8.exports={LexerActionType:Kt,LexerSkipAction:jn,LexerChannelAction:J3,LexerCustomAction:j3,LexerIndexedCustomAction:Z3,LexerMoreAction:Zn,LexerTypeAction:$3,LexerPushModeAction:z3,LexerPopModeAction:Jn,LexerModeAction:Q3}});var x1=$((IO,T8)=>{var{Token:i1}=M0(),ry=ns(),Bl=a8(),{ATNState:lu,BasicState:o8,DecisionState:iy,BlockStartState:n1,BlockEndState:h1,LoopEndState:Nr,RuleStartState:d8,RuleStopState:uh,TokensStartState:ny,PlusLoopbackState:f8,StarLoopbackState:a1,StarLoopEntryState:wr,PlusBlockStartState:c1,StarBlockStartState:l1,BasicBlockStartState:p8}=qt(),{Transition:Et,AtomTransition:o1,SetTransition:hy,NotSetTransition:ay,RuleTransition:_8,RangeTransition:x8,ActionTransition:cy,EpsilonTransition:th,WildcardTransition:ly,PredicateTransition:oy,PrecedencePredicateTransition:dy}=Cr(),{IntervalSet:fy}=Ru(),py=X3(),{LexerActionType:pe,LexerSkipAction:_y,LexerChannelAction:xy,LexerCustomAction:Ey,LexerMoreAction:Ry,LexerTypeAction:Ty,LexerPushModeAction:by,LexerPopModeAction:my,LexerModeAction:Ay}=r1(),Cy="AADB8D7E-AEEF-4415-AD2B-8204D6CF042E",p1="59627784-3BE5-417A-B9EB-8131A7286089",d1=[Cy,p1],E8=3,R8=p1;function ql(l,u){let t=[];return t[l-1]=u,t.map(function(e){return u})}h(ql,"initArray");var _1=class _1{constructor(u){u==null&&(u=py.defaultOptions),this.deserializationOptions=u,this.stateFactories=null,this.actionFactories=null}isFeatureSupported(u,t){let e=d1.indexOf(u);return e<0?!1:d1.indexOf(t)>=e}deserialize(u){this.reset(u),this.checkVersion(),this.checkUUID();let t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);let e=[];return this.readSets(t,e,this.readInt.bind(this)),this.isFeatureSupported(p1,this.uuid)&&this.readSets(t,e,this.readInt32.bind(this)),this.readEdges(t,e),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===Bl.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}reset(u){let t=h(function(a){let d=a.charCodeAt(0);return d>1?d-2:d+65534},"adjust"),e=u.split("").map(t);e[0]=u.charCodeAt(0),this.data=e,this.pos=0}checkVersion(){let u=this.readInt();if(u!==E8)throw"Could not deserialize ATN with version "+u+" (expected "+E8+")."}checkUUID(){let u=this.readUUID();if(d1.indexOf(u)<0)throw""+u+R8,R8;this.uuid=u}readATN(){let u=this.readInt(),t=this.readInt();return new ry(u,t)}readStates(u){let t,e,a,d=[],p=[],_=this.readInt();for(let H=0;H<_;H++){let V=this.readInt();if(V===lu.INVALID_TYPE){u.addState(null);continue}let K=this.readInt();K===65535&&(K=-1);let t0=this.stateFactory(V,K);if(V===lu.LOOP_END){let f0=this.readInt();d.push([t0,f0])}else if(t0 instanceof n1){let f0=this.readInt();p.push([t0,f0])}u.addState(t0)}for(t=0;t0;)d.addTransition(y.transitions[H-1]),y.transitions=y.transitions.slice(-1);u.ruleToStartState[t].addTransition(new th(d)),p.addTransition(new th(E));let V=new o8;u.addState(V),V.addTransition(new o1(p,u.ruleToTokenType[t])),d.addTransition(new th(V))}stateIsEndStateFor(u,t){if(u.ruleIndex!==t||!(u instanceof wr))return null;let e=u.transitions[u.transitions.length-1].target;return e instanceof Nr&&e.epsilonOnlyTransitions&&e.transitions[0].target instanceof uh?u:null}markPrecedenceDecisions(u){for(let t=0;t=0):this.checkCondition(e.transitions.length<=1||e instanceof uh)}}checkCondition(u,t){if(!u)throw t==null&&(t="IllegalState"),t}readInt(){return this.data[this.pos++]}readInt32(){let u=this.readInt(),t=this.readInt();return u|t<<16}readLong(){let u=this.readInt32(),t=this.readInt32();return u&4294967295|t<<32}readUUID(){let u=[];for(let t=7;t>=0;t--){let e=this.readInt();u[2*t+1]=e&255,u[2*t]=e>>8&255}return J0[u[0]]+J0[u[1]]+J0[u[2]]+J0[u[3]]+"-"+J0[u[4]]+J0[u[5]]+"-"+J0[u[6]]+J0[u[7]]+"-"+J0[u[8]]+J0[u[9]]+"-"+J0[u[10]]+J0[u[11]]+J0[u[12]]+J0[u[13]]+J0[u[14]]+J0[u[15]]}edgeFactory(u,t,e,a,d,p,_,E){let y=u.states[a];switch(t){case Et.EPSILON:return new th(y);case Et.RANGE:return _!==0?new x8(y,i1.EOF,p):new x8(y,d,p);case Et.RULE:return new _8(u.states[d],p,_,y);case Et.PREDICATE:return new oy(y,d,p,_!==0);case Et.PRECEDENCE:return new dy(y,d);case Et.ATOM:return _!==0?new o1(y,i1.EOF):new o1(y,d);case Et.ACTION:return new cy(y,d,p,_!==0);case Et.SET:return new hy(y,E[d]);case Et.NOT_SET:return new ay(y,E[d]);case Et.WILDCARD:return new ly(y);default:throw"The specified transition type: "+t+" is not valid."}}stateFactory(u,t){if(this.stateFactories===null){let e=[];e[lu.INVALID_TYPE]=null,e[lu.BASIC]=()=>new o8,e[lu.RULE_START]=()=>new d8,e[lu.BLOCK_START]=()=>new p8,e[lu.PLUS_BLOCK_START]=()=>new c1,e[lu.STAR_BLOCK_START]=()=>new l1,e[lu.TOKEN_START]=()=>new ny,e[lu.RULE_STOP]=()=>new uh,e[lu.BLOCK_END]=()=>new h1,e[lu.STAR_LOOP_BACK]=()=>new a1,e[lu.STAR_LOOP_ENTRY]=()=>new wr,e[lu.PLUS_LOOP_BACK]=()=>new f8,e[lu.LOOP_END]=()=>new Nr,this.stateFactories=e}if(u>this.stateFactories.length||this.stateFactories[u]===null)throw"The specified state type "+u+" is not valid.";{let e=this.stateFactories[u]();if(e!==null)return e.ruleIndex=t,e}}lexerActionFactory(u,t,e){if(this.actionFactories===null){let a=[];a[pe.CHANNEL]=(d,p)=>new xy(d),a[pe.CUSTOM]=(d,p)=>new Ey(d,p),a[pe.MODE]=(d,p)=>new Ay(d),a[pe.MORE]=(d,p)=>Ry.INSTANCE,a[pe.POP_MODE]=(d,p)=>my.INSTANCE,a[pe.PUSH_MODE]=(d,p)=>new by(d),a[pe.SKIP]=(d,p)=>_y.INSTANCE,a[pe.TYPE]=(d,p)=>new Ty(d),this.actionFactories=a}if(u>this.actionFactories.length||this.actionFactories[u]===null)throw"The specified lexer action type "+u+" is not valid.";return this.actionFactories[u](t,e)}};h(_1,"ATNDeserializer");var f1=_1;function gy(){let l=[];for(let u=0;u<256;u++)l[u]=(u+256).toString(16).substr(1).toUpperCase();return l}h(gy,"createByteToHex");var J0=gy();T8.exports=f1});var rh=$((vO,b8)=>{var R1=class R1{syntaxError(u,t,e,a,d,p){}reportAmbiguity(u,t,e,a,d,p,_){}reportAttemptingFullContext(u,t,e,a,d,p){}reportContextSensitivity(u,t,e,a,d,p){}};h(R1,"ErrorListener");var eh=R1,T1=class T1 extends eh{constructor(){super()}syntaxError(u,t,e,a,d,p){console.error("line "+e+":"+a+" "+d)}};h(T1,"ConsoleErrorListener");var sh=T1;sh.INSTANCE=new sh;var b1=class b1 extends eh{constructor(u){if(super(),u===null)throw"delegates";return this.delegates=u,this}syntaxError(u,t,e,a,d,p){this.delegates.map(_=>_.syntaxError(u,t,e,a,d,p))}reportAmbiguity(u,t,e,a,d,p,_){this.delegates.map(E=>E.reportAmbiguity(u,t,e,a,d,p,_))}reportAttemptingFullContext(u,t,e,a,d,p){this.delegates.map(_=>_.reportAttemptingFullContext(u,t,e,a,d,p))}reportContextSensitivity(u,t,e,a,d,p){this.delegates.map(_=>_.reportContextSensitivity(u,t,e,a,d,p))}};h(b1,"ProxyErrorListener");var E1=b1;b8.exports={ErrorListener:eh,ConsoleErrorListener:sh,ProxyErrorListener:E1}});var C1=$((SO,m8)=>{var{Token:m1}=M0(),{ConsoleErrorListener:Ly}=rh(),{ProxyErrorListener:yy}=rh(),A1=class A1{constructor(){this._listeners=[Ly.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(u){let t="4.9.2";t!==u&&console.log("ANTLR runtime and generated code versions disagree: "+t+"!="+u)}addErrorListener(u){this._listeners.push(u)}removeErrorListeners(){this._listeners=[]}getTokenTypeMap(){let u=this.getTokenNames();if(u===null)throw"The current recognizer does not provide a list of token names.";let t=this.tokenTypeMapCache[u];return t===void 0&&(t=u.reduce(function(e,a,d){e[a]=d}),t.EOF=m1.EOF,this.tokenTypeMapCache[u]=t),t}getRuleIndexMap(){let u=this.ruleNames;if(u===null)throw"The current recognizer does not provide a list of rule names.";let t=this.ruleIndexMapCache[u];return t===void 0&&(t=u.reduce(function(e,a,d){e[a]=d}),this.ruleIndexMapCache[u]=t),t}getTokenType(u){let t=this.getTokenTypeMap()[u];return t!==void 0?t:m1.INVALID_TYPE}getErrorHeader(u){let t=u.getOffendingToken().line,e=u.getOffendingToken().column;return"line "+t+":"+e}getTokenErrorDisplay(u){if(u===null)return"";let t=u.text;return t===null&&(u.type===m1.EOF?t="":t="<"+u.type+">"),t=t.replace(` +`,"\\n").replace("\r","\\r").replace(" ","\\t"),"'"+t+"'"}getErrorListenerDispatch(){return new yy(this._listeners)}sempred(u,t,e){return!0}precpred(u,t){return!0}get state(){return this._stateNumber}set state(u){this._stateNumber=u}};h(A1,"Recognizer");var ih=A1;ih.tokenTypeMapCache={};ih.ruleIndexMapCache={};m8.exports=ih});var g8=$((HO,C8)=>{var A8=M0().CommonToken,L1=class L1{};h(L1,"TokenFactory");var g1=L1,y1=class y1 extends g1{constructor(u){super(),this.copyText=u===void 0?!1:u}create(u,t,e,a,d,p,_,E){let y=new A8(u,t,a,d,p);return y.line=_,y.column=E,e!==null?y.text=e:this.copyText&&u[1]!==null&&(y.text=u[1].getText(d,p)),y}createThin(u,t){let e=new A8(null,u);return e.text=t,e}};h(y1,"CommonTokenFactory");var nh=y1;nh.DEFAULT=new nh;C8.exports=nh});var Ju=$((kO,L8)=>{var{PredicateTransition:Ny}=Cr(),{Interval:wy}=Ru().Interval,Gl=class Gl extends Error{constructor(u){if(super(u.message),Error.captureStackTrace)Error.captureStackTrace(this,Gl);else var t=new Error().stack;this.message=u.message,this.recognizer=u.recognizer,this.input=u.input,this.ctx=u.ctx,this.offendingToken=null,this.offendingState=-1,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}};h(Gl,"RecognitionException");var hs=Gl,v1=class v1 extends hs{constructor(u,t,e,a){super({message:"",recognizer:u,input:t,ctx:null}),this.startIndex=e,this.deadEndConfigs=a}toString(){let u="";return this.startIndex>=0&&this.startIndex{var{Token:ou}=M0(),Iy=C1(),Uy=g8(),{RecognitionException:vy}=Ju(),{LexerNoViableAltException:Py}=Ju(),Rt=class Rt extends Iy{constructor(u){super(),this._input=u,this._factory=Uy.DEFAULT,this._tokenFactorySourcePair=[this,u],this._interp=null,this._token=null,this._tokenStartCharIndex=-1,this._tokenStartLine=-1,this._tokenStartColumn=-1,this._hitEOF=!1,this._channel=ou.DEFAULT_CHANNEL,this._type=ou.INVALID_TYPE,this._modeStack=[],this._mode=Rt.DEFAULT_MODE,this._text=null}reset(){this._input!==null&&this._input.seek(0),this._token=null,this._type=ou.INVALID_TYPE,this._channel=ou.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Rt.DEFAULT_MODE,this._modeStack=[],this._interp.reset()}nextToken(){if(this._input===null)throw"nextToken requires a non-null input stream.";let u=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=ou.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this._interp.column,this._tokenStartLine=this._interp.line,this._text=null;let t=!1;for(;;){this._type=ou.INVALID_TYPE;let e=Rt.SKIP;try{e=this._interp.match(this._input,this._mode)}catch(a){if(a instanceof vy)this.notifyListeners(a),this.recover(a);else throw console.log(a.stack),a}if(this._input.LA(1)===ou.EOF&&(this._hitEOF=!0),this._type===ou.INVALID_TYPE&&(this._type=e),this._type===Rt.SKIP){t=!0;break}if(this._type!==Rt.MORE)break}if(!t)return this._token===null&&this.emit(),this._token}}finally{this._input.release(u)}}skip(){this._type=Rt.SKIP}more(){this._type=Rt.MORE}mode(u){this._mode=u}pushMode(u){this._interp.debug&&console.log("pushMode "+u),this._modeStack.push(this._mode),this.mode(u)}popMode(){if(this._modeStack.length===0)throw"Empty Stack";return this._interp.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(u){this._token=u}emit(){let u=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(u),u}emitEOF(){let u=this.column,t=this.line,e=this._factory.create(this._tokenFactorySourcePair,ou.EOF,null,ou.DEFAULT_CHANNEL,this._input.index,this._input.index-1,t,u);return this.emitToken(e),e}getCharIndex(){return this._input.index}getAllTokens(){let u=[],t=this.nextToken();for(;t.type!==ou.EOF;)u.push(t),t=this.nextToken();return u}notifyListeners(u){let t=this._tokenStartCharIndex,e=this._input.index,a=this._input.getText(t,e),d="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,d,u)}getErrorDisplay(u){let t=[];for(let e=0;e":u===` +`?"\\n":u===" "?"\\t":u==="\r"?"\\r":u}getCharErrorDisplay(u){return"'"+this.getErrorDisplayForChar(u)+"'"}recover(u){this._input.LA(1)!==ou.EOF&&(u instanceof Py?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(u){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=u,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this.type}set type(u){this._type=u}get line(){return this._interp.line}set line(u){this._interp.line=u}get column(){return this._interp.column}set column(u){this._interp.column=u}get text(){return this._text!==null?this._text:this._interp.getText(this._input)}set text(u){this._text=u}};h(Rt,"Lexer");var Tt=Rt;Tt.DEFAULT_MODE=0;Tt.MORE=-2;Tt.SKIP=-3;Tt.DEFAULT_TOKEN_CHANNEL=ou.DEFAULT_CHANNEL;Tt.HIDDEN=ou.HIDDEN_CHANNEL;Tt.MIN_CHAR_VALUE=0;Tt.MAX_CHAR_VALUE=1114111;y8.exports=Tt});var cs=$((GO,w8)=>{var Sy=ns(),as=hu(),{SemanticContext:N8}=mr(),{merge:Dy}=Vt();function Hy(l){return l.hashCodeForConfigSet()}h(Hy,"hashATNConfig");function My(l,u){return l===u?!0:l===null||u===null?!1:l.equalsForConfigSet(u)}h(My,"equalATNConfigs");var Wl=class Wl{constructor(u){this.configLookup=new as.Set(Hy,My),this.fullCtx=u===void 0?!0:u,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(u,t){if(t===void 0&&(t=null),this.readOnly)throw"This set is readonly";u.semanticContext!==N8.NONE&&(this.hasSemanticContext=!0),u.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);let e=this.configLookup.add(u);if(e===u)return this.cachedHashCode=-1,this.configs.push(u),!0;let a=!this.fullCtx,d=Dy(e.context,u.context,a,t);return e.reachesIntoOuterContext=Math.max(e.reachesIntoOuterContext,u.reachesIntoOuterContext),u.precedenceFilterSuppressed&&(e.precedenceFilterSuppressed=!0),e.context=d,!0}getStates(){let u=new as.Set;for(let t=0;t{var{ATNConfigSet:ky}=cs(),{Hash:Fy,Set:By}=hu(),B1=class B1{constructor(u,t){this.alt=t,this.pred=u}toString(){return"("+this.pred+", "+this.alt+")"}};h(B1,"PredPrediction");var k1=B1,Yl=class Yl{constructor(u,t){return u===null&&(u=-1),t===null&&(t=new ky),this.stateNumber=u,this.configs=t,this.edges=null,this.isAcceptState=!1,this.prediction=0,this.lexerActionExecutor=null,this.requiresFullContext=!1,this.predicates=null,this}getAltSet(){let u=new By;if(this.configs!==null)for(let t=0;t",this.predicates!==null?u=u+this.predicates:u=u+this.prediction),u}hashCode(){let u=new Fy;return u.update(this.configs),u.finish()}};h(Yl,"DFAState");var F1=Yl;O8.exports={DFAState:F1,PredPrediction:k1}});var G1=$((YO,I8)=>{var{DFAState:qy}=Or(),{ATNConfigSet:Gy}=cs(),{getCachedPredictionContext:Vy}=Vt(),{Map:Ky}=hu(),q1=class q1{constructor(u,t){return this.atn=u,this.sharedContextCache=t,this}getCachedContext(u){if(this.sharedContextCache===null)return u;let t=new Ky;return Vy(u,this.sharedContextCache,t)}};h(q1,"ATNSimulator");var Xl=q1;Xl.ERROR=new qy(2147483647,new Gy);I8.exports=Xl});var v8=$(($O,U8)=>{var{hashStuff:Wy}=hu(),{LexerIndexedCustomAction:V1}=r1(),ls=class ls{constructor(u){return this.lexerActions=u===null?[]:u,this.cachedHashCode=Wy(u),this}fixOffsetBeforeMatch(u){let t=null;for(let e=0;e{var{Token:Ir}=M0(),$l=hh(),Yy=ns(),zl=G1(),{DFAState:Xy}=Or(),{OrderedATNConfigSet:P8}=cs(),{PredictionContext:W1}=Vt(),{SingletonPredictionContext:$y}=Vt(),{RuleStopState:S8}=qt(),{LexerATNConfig:bt}=Vn(),{Transition:_e}=Cr(),zy=v8(),{LexerNoViableAltException:Qy}=Ju();function D8(l){l.index=-1,l.line=0,l.column=-1,l.dfaState=null}h(D8,"resetSimState");var X1=class X1{constructor(){D8(this)}reset(){D8(this)}};h(X1,"SimState");var Y1=X1,k0=class k0 extends zl{constructor(u,t,e,a){super(t,a),this.decisionToDFA=e,this.recog=u,this.startIndex=-1,this.line=1,this.column=0,this.mode=$l.DEFAULT_MODE,this.prevAccept=new Y1}copyState(u){this.column=u.column,this.line=u.line,this.mode=u.mode,this.startIndex=u.startIndex}match(u,t){this.match_calls+=1,this.mode=t;let e=u.mark();try{this.startIndex=u.index,this.prevAccept.reset();let a=this.decisionToDFA[t];return a.s0===null?this.matchATN(u):this.execATN(u,a.s0)}finally{u.release(e)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=$l.DEFAULT_MODE}matchATN(u){let t=this.atn.modeToStartState[this.mode];k0.debug&&console.log("matchATN mode "+this.mode+" start: "+t);let e=this.mode,a=this.computeStartState(u,t),d=a.hasSemanticContext;a.hasSemanticContext=!1;let p=this.addDFAState(a);d||(this.decisionToDFA[this.mode].s0=p);let _=this.execATN(u,p);return k0.debug&&console.log("DFA after matchATN: "+this.decisionToDFA[e].toLexerString()),_}execATN(u,t){k0.debug&&console.log("start state closure="+t.configs),t.isAcceptState&&this.captureSimState(this.prevAccept,u,t);let e=u.LA(1),a=t;for(;;){k0.debug&&console.log("execATN loop starting closure: "+a.configs);let d=this.getExistingTargetState(a,e);if(d===null&&(d=this.computeTargetState(u,a,e)),d===zl.ERROR||(e!==Ir.EOF&&this.consume(u),d.isAcceptState&&(this.captureSimState(this.prevAccept,u,d),e===Ir.EOF)))break;e=u.LA(1),a=d}return this.failOrAccept(this.prevAccept,u,a.configs,e)}getExistingTargetState(u,t){if(u.edges===null||tk0.MAX_DFA_EDGE)return null;let e=u.edges[t-k0.MIN_DFA_EDGE];return e===void 0&&(e=null),k0.debug&&e!==null&&console.log("reuse state "+u.stateNumber+" edge to "+e.stateNumber),e}computeTargetState(u,t,e){let a=new P8;return this.getReachableConfigSet(u,t.configs,a,e),a.items.length===0?(a.hasSemanticContext||this.addDFAEdge(t,e,zl.ERROR),zl.ERROR):this.addDFAEdge(t,e,null,a)}failOrAccept(u,t,e,a){if(this.prevAccept.dfaState!==null){let d=u.dfaState.lexerActionExecutor;return this.accept(t,d,this.startIndex,u.index,u.line,u.column),u.dfaState.prediction}else{if(a===Ir.EOF&&t.index===this.startIndex)return Ir.EOF;throw new Qy(this.recog,t,this.startIndex,e)}}getReachableConfigSet(u,t,e,a){let d=Yy.INVALID_ALT_NUMBER;for(let p=0;pk0.MAX_DFA_EDGE||(k0.debug&&console.log("EDGE "+u+" -> "+e+" upon "+t),u.edges===null&&(u.edges=[]),u.edges[t-k0.MIN_DFA_EDGE]=e),e}addDFAState(u){let t=new Xy(null,u),e=null;for(let _=0;_{var{Map:jy,BitSet:$1,AltDict:Jy,hashStuff:Zy}=hu(),k8=ns(),{RuleStopState:F8}=qt(),{ATNConfigSet:uN}=cs(),{ATNConfig:tN}=Vn(),{SemanticContext:eN}=mr(),mt={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(l,u){if(mt.allConfigsInRuleStopStates(u))return!0;if(l===mt.SLL&&u.hasSemanticContext){let e=new uN;for(let a=0;a1)return!0;return!1},allSubsetsEqual:function(l){let u=null;for(let t=0;t{var V8=Il(),jl=rs(),sN=jl.INVALID_INTERVAL,q8=jl.TerminalNode,rN=jl.TerminalNodeImpl,G8=jl.ErrorNodeImpl,iN=Ru().Interval,Q1=class Q1 extends V8{constructor(u,t){u=u||null,t=t||null,super(u,t),this.ruleIndex=-1,this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(u){this.parentCtx=u.parentCtx,this.invokingState=u.invokingState,this.children=null,this.start=u.start,this.stop=u.stop,u.children&&(this.children=[],u.children.map(function(t){t instanceof G8&&(this.children.push(t),t.parentCtx=this)},this))}enterRule(u){}exitRule(u){}addChild(u){return this.children===null&&(this.children=[]),this.children.push(u),u}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(u){let t=new rN(u);return this.addChild(t),t.parentCtx=this,t}addErrorNode(u){let t=new G8(u);return this.addChild(t),t.parentCtx=this,t}getChild(u,t){if(t=t||null,this.children===null||u<0||u>=this.children.length)return null;if(t===null)return this.children[u];for(let e=0;e=this.children.length)return null;for(let e=0;e{var lh=hu(),{Set:W8,BitSet:Y8,DoubleDict:nN}=lh,X0=ns(),{ATNState:Jl,RuleStopState:ah}=qt(),{ATNConfig:Z0}=Vn(),{ATNConfigSet:os}=cs(),{Token:Wt}=M0(),{DFAState:J1,PredPrediction:hN}=Or(),ch=G1(),$0=z1(),X8=Il(),tI=j1(),{SemanticContext:Ee}=mr(),{PredictionContext:$8}=Vt(),{Interval:Z1}=Ru(),{Transition:Re,SetTransition:aN,NotSetTransition:cN,RuleTransition:lN,ActionTransition:oN}=Cr(),{NoViableAltException:dN}=Ju(),{SingletonPredictionContext:fN,predictionContextFromRuleContext:pN}=Vt(),tp=class tp extends ch{constructor(u,t,e,a){super(t,a),this.parser=u,this.decisionToDFA=e,this.predictionMode=$0.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.debug_list_atn_decisions=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}adaptivePredict(u,t,e){(this.debug||this.debug_list_atn_decisions)&&console.log("adaptivePredict decision "+t+" exec LA(1)=="+this.getLookaheadName(u)+" line "+u.LT(1).line+":"+u.LT(1).column),this._input=u,this._startIndex=u.index,this._outerContext=e;let a=this.decisionToDFA[t];this._dfa=a;let d=u.mark(),p=u.index;try{let _;if(a.precedenceDfa?_=a.getPrecedenceStartState(this.parser.getPrecedence()):_=a.s0,_===null){e===null&&(e=X8.EMPTY),(this.debug||this.debug_list_atn_decisions)&&console.log("predictATN decision "+a.decision+" exec LA(1)=="+this.getLookaheadName(u)+", outerContext="+e.toString(this.parser.ruleNames));let H=this.computeStartState(a.atnStartState,X8.EMPTY,!1);a.precedenceDfa?(a.s0.configs=H,H=this.applyPrecedenceFilter(H),_=this.addDFAState(a,new J1(null,H)),a.setPrecedenceStartState(this.parser.getPrecedence(),_)):(_=this.addDFAState(a,new J1(null,H)),a.s0=_)}let E=this.execATN(a,_,u,p,e);return this.debug&&console.log("DFA after predictATN: "+a.toString(this.parser.literalNames)),E}finally{this._dfa=null,this.mergeCache=null,u.seek(p),u.release(d)}}execATN(u,t,e,a,d){(this.debug||this.debug_list_atn_decisions)&&console.log("execATN decision "+u.decision+" exec LA(1)=="+this.getLookaheadName(e)+" line "+e.LT(1).line+":"+e.LT(1).column);let p,_=t;this.debug&&console.log("s0 = "+t);let E=e.LA(1);for(;;){let y=this.getExistingTargetState(_,E);if(y===null&&(y=this.computeTargetState(u,_,E)),y===ch.ERROR){let H=this.noViableAlt(e,d,_.configs,a);if(e.seek(a),p=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(_.configs,d),p!==X0.INVALID_ALT_NUMBER)return p;throw H}if(y.requiresFullContext&&this.predictionMode!==$0.SLL){let H=null;if(y.predicates!==null){this.debug&&console.log("DFA state has preds in DFA sim LL failover");let t0=e.index;if(t0!==a&&e.seek(a),H=this.evalSemanticContext(y.predicates,d,!0),H.length===1)return this.debug&&console.log("Full LL avoided"),H.minValue();t0!==a&&e.seek(t0)}this.dfa_debug&&console.log("ctx sensitive state "+d+" in "+y);let K=this.computeStartState(u.atnStartState,d,!0);return this.reportAttemptingFullContext(u,H,y.configs,a,e.index),p=this.execATNWithFullContext(u,y,K,e,a,d),p}if(y.isAcceptState){if(y.predicates===null)return y.prediction;let H=e.index;e.seek(a);let V=this.evalSemanticContext(y.predicates,d,!0);if(V.length===0)throw this.noViableAlt(e,d,y.configs,a);return V.length===1||this.reportAmbiguity(u,y,a,H,!1,V,y.configs),V.minValue()}_=y,E!==Wt.EOF&&(e.consume(),E=e.LA(1))}}getExistingTargetState(u,t){let e=u.edges;return e===null?null:e[t+1]||null}computeTargetState(u,t,e){let a=this.computeReachSet(t.configs,e,!1);if(a===null)return this.addDFAEdge(u,t,e,ch.ERROR),ch.ERROR;let d=new J1(null,a),p=this.getUniqueAlt(a);if(this.debug){let _=$0.getConflictingAltSubsets(a);console.log("SLL altSubSets="+lh.arrayToString(_)+", previous="+t.configs+", configs="+a+", predict="+p+", allSubsetsConflict="+$0.allSubsetsConflict(_)+", conflictingAlts="+this.getConflictingAlts(a))}return p!==X0.INVALID_ALT_NUMBER?(d.isAcceptState=!0,d.configs.uniqueAlt=p,d.prediction=p):$0.hasSLLConflictTerminatingPrediction(this.predictionMode,a)&&(d.configs.conflictingAlts=this.getConflictingAlts(a),d.requiresFullContext=!0,d.isAcceptState=!0,d.prediction=d.configs.conflictingAlts.minValue()),d.isAcceptState&&d.configs.hasSemanticContext&&(this.predicateDFAState(d,this.atn.getDecisionState(u.decision)),d.predicates!==null&&(d.prediction=X0.INVALID_ALT_NUMBER)),d=this.addDFAEdge(u,t,e,d),d}predicateDFAState(u,t){let e=t.transitions.length,a=this.getConflictingAltsOrUniqueAlt(u.configs),d=this.getPredsForAmbigAlts(a,u.configs,e);d!==null?(u.predicates=this.getPredicatePredictions(a,d),u.prediction=X0.INVALID_ALT_NUMBER):u.prediction=a.minValue()}execATNWithFullContext(u,t,e,a,d,p){(this.debug||this.debug_list_atn_decisions)&&console.log("execATNWithFullContext "+e);let _=!0,E=!1,y,H=e;a.seek(d);let V=a.LA(1),K=-1;for(;;){if(y=this.computeReachSet(H,V,_),y===null){let f0=this.noViableAlt(a,p,H,d);a.seek(d);let w0=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(H,p);if(w0!==X0.INVALID_ALT_NUMBER)return w0;throw f0}let t0=$0.getConflictingAltSubsets(y);if(this.debug&&console.log("LL altSubSets="+t0+", predict="+$0.getUniqueAlt(t0)+", resolvesToJustOneViableAlt="+$0.resolvesToJustOneViableAlt(t0)),y.uniqueAlt=this.getUniqueAlt(y),y.uniqueAlt!==X0.INVALID_ALT_NUMBER){K=y.uniqueAlt;break}else if(this.predictionMode!==$0.LL_EXACT_AMBIG_DETECTION){if(K=$0.resolvesToJustOneViableAlt(t0),K!==X0.INVALID_ALT_NUMBER)break}else if($0.allSubsetsConflict(t0)&&$0.allSubsetsEqual(t0)){E=!0,K=$0.getSingleViableAlt(t0);break}H=y,V!==Wt.EOF&&(a.consume(),V=a.LA(1))}return y.uniqueAlt!==X0.INVALID_ALT_NUMBER?(this.reportContextSensitivity(u,K,y,d,a.index),K):(this.reportAmbiguity(u,t,d,a.index,E,null,y),K)}computeReachSet(u,t,e){this.debug&&console.log("in computeReachSet, starting closure: "+u),this.mergeCache===null&&(this.mergeCache=new nN);let a=new os(e),d=null;for(let _=0;_0&&(p=this.getAltThatFinishedDecisionEntryRule(d),p!==X0.INVALID_ALT_NUMBER)?p:X0.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(u){let t=[];for(let e=0;e0||a.state instanceof ah&&a.context.hasEmptyPath())&&t.indexOf(a.alt)<0&&t.push(a.alt)}return t.length===0?X0.INVALID_ALT_NUMBER:Math.min.apply(null,t)}splitAccordingToSemanticValidity(u,t){let e=new os(u.fullCtx),a=new os(u.fullCtx);for(let d=0;d50))throw"problem";if(u.state instanceof ah)if(u.context.isEmpty())if(d){t.add(u,this.mergeCache);return}else this.debug&&console.log("FALLING off rule "+this.getRuleName(u.state.ruleIndex));else{for(let E=0;E=0&&(t0+=1)}this.closureCheckingStopState(K,t,e,V,d,t0,_)}}}canDropLoopEntryEdgeInLeftRecursiveRule(u){let t=u.state;if(t.stateType!==Jl.STAR_LOOP_ENTRY||t.stateType!==Jl.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||u.context.isEmpty()||u.context.hasEmptyPath())return!1;let e=u.context.length;for(let _=0;_=0?this.parser.ruleNames[u]:""}getEpsilonTarget(u,t,e,a,d,p){switch(t.serializationType){case Re.RULE:return this.ruleTransition(u,t);case Re.PRECEDENCE:return this.precedenceTransition(u,t,e,a,d);case Re.PREDICATE:return this.predTransition(u,t,e,a,d);case Re.ACTION:return this.actionTransition(u,t);case Re.EPSILON:return new Z0({state:t.target},u);case Re.ATOM:case Re.RANGE:case Re.SET:return p&&t.matches(Wt.EOF,0,1)?new Z0({state:t.target},u):null;default:return null}}actionTransition(u,t){if(this.debug){let e=t.actionIndex===-1?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+e)}return new Z0({state:t.target},u)}precedenceTransition(u,t,e,a,d){this.debug&&(console.log("PRED (collectPredicates="+e+") "+t.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+lh.arrayToString(this.parser.getRuleInvocationStack())));let p=null;if(e&&a)if(d){let _=this._input.index;this._input.seek(this._startIndex);let E=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(_),E&&(p=new Z0({state:t.target},u))}else{let _=Ee.andContext(u.semanticContext,t.getPredicate());p=new Z0({state:t.target,semanticContext:_},u)}else p=new Z0({state:t.target},u);return this.debug&&console.log("config from pred transition="+p),p}predTransition(u,t,e,a,d){this.debug&&(console.log("PRED (collectPredicates="+e+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+lh.arrayToString(this.parser.getRuleInvocationStack())));let p=null;if(e&&(t.isCtxDependent&&a||!t.isCtxDependent))if(d){let _=this._input.index;this._input.seek(this._startIndex);let E=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(_),E&&(p=new Z0({state:t.target},u))}else{let _=Ee.andContext(u.semanticContext,t.getPredicate());p=new Z0({state:t.target,semanticContext:_},u)}else p=new Z0({state:t.target},u);return this.debug&&console.log("config from pred transition="+p),p}ruleTransition(u,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+u.context);let e=t.followState,a=fN.create(u.context,e.stateNumber);return new Z0({state:t.target,context:a},u)}getConflictingAlts(u){let t=$0.getConflictingAltSubsets(u);return $0.getAlts(t)}getConflictingAltsOrUniqueAlt(u){let t=null;return u.uniqueAlt!==X0.INVALID_ALT_NUMBER?(t=new Y8,t.add(u.uniqueAlt)):t=u.conflictingAlts,t}getTokenName(u){if(u===Wt.EOF)return"EOF";if(this.parser!==null&&this.parser.literalNames!==null)if(u>=this.parser.literalNames.length&&u>=this.parser.symbolicNames.length)console.log(""+u+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens());else return(this.parser.literalNames[u]||this.parser.symbolicNames[u])+"<"+u+">";return""+u}getLookaheadName(u){return this.getTokenName(u.LA(1))}dumpDeadEndConfigs(u){console.log("dead end configs: ");let t=u.getDeadEndConfigs();for(let e=0;e0){let p=a.state.transitions[0];p instanceof AtomTransition?d="Atom "+this.getTokenName(p.label):p instanceof aN&&(d=(p instanceof cN?"~":"")+"Set "+p.set)}console.error(a.toString(this.parser,!0)+":"+d)}}noViableAlt(u,t,e,a){return new dN(this.parser,u,u.get(a),u.LT(1),e,t)}getUniqueAlt(u){let t=X0.INVALID_ALT_NUMBER;for(let e=0;e "+a+" upon "+this.getTokenName(e)),a===null)return null;if(a=this.addDFAState(u,a),t===null||e<-1||e>this.atn.maxTokenType)return a;if(t.edges===null&&(t.edges=[]),t.edges[e+1]=a,this.debug){let d=this.parser===null?null:this.parser.literalNames,p=this.parser===null?null:this.parser.symbolicNames;console.log(`DFA= +`+u.toString(d,p))}return a}addDFAState(u,t){if(t===ch.ERROR)return t;let e=u.states.get(t);return e!==null?e:(t.stateNumber=u.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),u.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}reportAttemptingFullContext(u,t,e,a,d){if(this.debug||this.retry_debug){let p=new Z1(a,d+1);console.log("reportAttemptingFullContext decision="+u.decision+":"+e+", input="+this.parser.getTokenStream().getText(p))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,u,a,d,t,e)}reportContextSensitivity(u,t,e,a,d){if(this.debug||this.retry_debug){let p=new Z1(a,d+1);console.log("reportContextSensitivity decision="+u.decision+":"+e+", input="+this.parser.getTokenStream().getText(p))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,u,a,d,t,e)}reportAmbiguity(u,t,e,a,d,p,_){if(this.debug||this.retry_debug){let E=new Z1(e,a+1);console.log("reportAmbiguity "+p+":"+_+", input="+this.parser.getTokenStream().getText(E))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,u,e,a,d,p,_)}};h(tp,"ParserATNSimulator");var up=tp;z8.exports=up});var j8=$(Ur=>{Ur.ATN=ns();Ur.ATNDeserializer=x1();Ur.LexerATNSimulator=M8();Ur.ParserATNSimulator=Q8();Ur.PredictionMode=z1()});var ep=$(()=>{String.prototype.codePointAt||function(){"use strict";var l=function(){let t;try{let e={},a=Object.defineProperty;t=a(e,e,e)&&a}catch{}return t}();let u=h(function(t){if(this==null)throw TypeError();let e=String(this),a=e.length,d=t?Number(t):0;if(d!==d&&(d=0),d<0||d>=a)return;let p=e.charCodeAt(d),_;return p>=55296&&p<=56319&&a>d+1&&(_=e.charCodeAt(d+1),_>=56320&&_<=57343)?(p-55296)*1024+_-56320+65536:p},"codePointAt");l?l(String.prototype,"codePointAt",{value:u,configurable:!0,writable:!0}):String.prototype.codePointAt=u}()});var oh=$((aI,J8)=>{var rp=class rp{constructor(u,t,e){this.dfa=u,this.literalNames=t||[],this.symbolicNames=e||[]}toString(){if(this.dfa.s0===null)return null;let u="",t=this.dfa.sortedStates();for(let e=0;e"),u=u.concat(this.getStateString(_)),u=u.concat(` +`))}}}return u.length===0?null:u}getEdgeLabel(u){return u===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[u-1]||this.symbolicNames[u-1]:String.fromCharCode(u-1)}getStateString(u){let t=(u.isAcceptState?":":"")+"s"+u.stateNumber+(u.requiresFullContext?"^":"");return u.isAcceptState?u.predicates!==null?t+"=>"+u.predicates.toString():t+"=>"+u.prediction.toString():t}};h(rp,"DFASerializer");var Zl=rp,ip=class ip extends Zl{constructor(u){super(u,null)}getEdgeLabel(u){return"'"+String.fromCharCode(u)+"'"}};h(ip,"LexerDFASerializer");var sp=ip;J8.exports={DFASerializer:Zl,LexerDFASerializer:sp}});var sT=$((lI,eT)=>{var{Set:Z8}=hu(),{DFAState:uT}=Or(),{StarLoopEntryState:_N}=qt(),{ATNConfigSet:tT}=cs(),{DFASerializer:xN}=oh(),{LexerDFASerializer:EN}=oh(),hp=class hp{constructor(u,t){if(t===void 0&&(t=0),this.atnStartState=u,this.decision=t,this._states=new Z8,this.s0=null,this.precedenceDfa=!1,u instanceof _N&&u.isPrecedenceDecision){this.precedenceDfa=!0;let e=new uT(null,new tT);e.edges=[],e.isAcceptState=!1,e.requiresFullContext=!1,this.s0=e}}getPrecedenceStartState(u){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return u<0||u>=this.s0.edges.length?null:this.s0.edges[u]||null}setPrecedenceStartState(u,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";u<0||(this.s0.edges[u]=t)}setPrecedenceDfa(u){if(this.precedenceDfa!==u){if(this._states=new Z8,u){let t=new uT(null,new tT);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=u}}sortedStates(){return this._states.values().sort(function(t,e){return t.stateNumber-e.stateNumber})}toString(u,t){return u=u||null,t=t||null,this.s0===null?"":new xN(this,u,t).toString()}toLexerString(){return this.s0===null?"":new EN(this).toString()}get states(){return this._states}};h(hp,"DFA");var np=hp;eT.exports=np});var rT=$(dh=>{dh.DFA=sT();dh.DFASerializer=oh().DFASerializer;dh.LexerDFASerializer=oh().LexerDFASerializer;dh.PredPrediction=Or().PredPrediction});var ap=$(()=>{String.fromCodePoint||function(){let l=function(){let a;try{let d={},p=Object.defineProperty;a=p(d,d,d)&&p}catch{}return a}(),u=String.fromCharCode,t=Math.floor,e=h(function(a){let p=[],_,E,y=-1,H=arguments.length;if(!H)return"";let V="";for(;++y1114111||t(K)!==K)throw RangeError("Invalid code point: "+K);K<=65535?p.push(K):(K-=65536,_=(K>>10)+55296,E=K%1024+56320,p.push(_,E)),(y+1===H||p.length>16384)&&(V+=u.apply(null,p),p.length=0)}return V},"fromCodePoint");l?l(String,"fromCodePoint",{value:e,configurable:!0,writable:!0}):String.fromCodePoint=e}()});var nT=$((xI,iT)=>{var RN=rs(),TN=M3();iT.exports={...RN,Trees:TN}});var aT=$((EI,hT)=>{var{BitSet:bN}=hu(),{ErrorListener:mN}=rh(),{Interval:cp}=Ru(),op=class op extends mN{constructor(u){super(),u=u||!0,this.exactOnly=u}reportAmbiguity(u,t,e,a,d,p,_){if(this.exactOnly&&!d)return;let E="reportAmbiguity d="+this.getDecisionDescription(u,t)+": ambigAlts="+this.getConflictingAlts(p,_)+", input='"+u.getTokenStream().getText(new cp(e,a))+"'";u.notifyErrorListeners(E)}reportAttemptingFullContext(u,t,e,a,d,p){let _="reportAttemptingFullContext d="+this.getDecisionDescription(u,t)+", input='"+u.getTokenStream().getText(new cp(e,a))+"'";u.notifyErrorListeners(_)}reportContextSensitivity(u,t,e,a,d,p){let _="reportContextSensitivity d="+this.getDecisionDescription(u,t)+", input='"+u.getTokenStream().getText(new cp(e,a))+"'";u.notifyErrorListeners(_)}getDecisionDescription(u,t){let e=t.decision,a=t.atnStartState.ruleIndex,d=u.ruleNames;if(a<0||a>=d.length)return""+e;let p=d[a]||null;return p===null||p.length===0?""+e:`${e} (${p})`}getConflictingAlts(u,t){if(u!==null)return u;let e=new bN;for(let a=0;a{var{Token:Te}=M0(),{NoViableAltException:AN,InputMismatchException:uo,FailedPredicateException:CN,ParseCancellationException:gN}=Ju(),{ATNState:ds}=qt(),{Interval:LN,IntervalSet:cT}=Ru(),pp=class pp{reset(u){}recoverInline(u){}recover(u,t){}sync(u){}inErrorRecoveryMode(u){}reportError(u){}};h(pp,"ErrorStrategy");var dp=pp,_p=class _p extends dp{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(u){this.endErrorCondition(u)}beginErrorCondition(u){this.errorRecoveryMode=!0}inErrorRecoveryMode(u){return this.errorRecoveryMode}endErrorCondition(u){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(u){this.endErrorCondition(u)}reportError(u,t){this.inErrorRecoveryMode(u)||(this.beginErrorCondition(u),t instanceof AN?this.reportNoViableAlternative(u,t):t instanceof uo?this.reportInputMismatch(u,t):t instanceof CN?this.reportFailedPredicate(u,t):(console.log("unknown recognition error type: "+t.constructor.name),console.log(t.stack),u.notifyErrorListeners(t.getOffendingToken(),t.getMessage(),t)))}recover(u,t){this.lastErrorIndex===u.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(u.state)>=0&&u.consume(),this.lastErrorIndex=u._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(u.state);let e=this.getErrorRecoverySet(u);this.consumeUntil(u,e)}sync(u){if(this.inErrorRecoveryMode(u))return;let t=u._interp.atn.states[u.state],e=u.getTokenStream().LA(1),a=u.atn.nextTokens(t);if(a.contains(e)){this.nextTokensContext=null,this.nextTokenState=ds.INVALID_STATE_NUMBER;return}else if(a.contains(Te.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=u._ctx,this.nextTokensState=u._stateNumber);return}switch(t.stateType){case ds.BLOCK_START:case ds.STAR_BLOCK_START:case ds.PLUS_BLOCK_START:case ds.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(u)!==null)return;throw new uo(u);case ds.PLUS_LOOP_BACK:case ds.STAR_LOOP_BACK:this.reportUnwantedToken(u);let d=new cT;d.addSet(u.getExpectedTokens());let p=d.addSet(this.getErrorRecoverySet(u));this.consumeUntil(u,p);break;default:}}reportNoViableAlternative(u,t){let e=u.getTokenStream(),a;e!==null?t.startToken.type===Te.EOF?a="":a=e.getText(new LN(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):a="";let d="no viable alternative at input "+this.escapeWSAndQuote(a);u.notifyErrorListeners(d,t.offendingToken,t)}reportInputMismatch(u,t){let e="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(u.literalNames,u.symbolicNames);u.notifyErrorListeners(e,t.offendingToken,t)}reportFailedPredicate(u,t){let a="rule "+u.ruleNames[u._ctx.ruleIndex]+" "+t.message;u.notifyErrorListeners(a,t.offendingToken,t)}reportUnwantedToken(u){if(this.inErrorRecoveryMode(u))return;this.beginErrorCondition(u);let t=u.getCurrentToken(),e=this.getTokenErrorDisplay(t),a=this.getExpectedTokens(u),d="extraneous input "+e+" expecting "+a.toString(u.literalNames,u.symbolicNames);u.notifyErrorListeners(d,t,null)}reportMissingToken(u){if(this.inErrorRecoveryMode(u))return;this.beginErrorCondition(u);let t=u.getCurrentToken(),a="missing "+this.getExpectedTokens(u).toString(u.literalNames,u.symbolicNames)+" at "+this.getTokenErrorDisplay(t);u.notifyErrorListeners(a,t,null)}recoverInline(u){let t=this.singleTokenDeletion(u);if(t!==null)return u.consume(),t;if(this.singleTokenInsertion(u))return this.getMissingSymbol(u);throw new uo(u)}singleTokenInsertion(u){let t=u.getTokenStream().LA(1),e=u._interp.atn,d=e.states[u.state].transitions[0].target;return e.nextTokens(d,u._ctx).contains(t)?(this.reportMissingToken(u),!0):!1}singleTokenDeletion(u){let t=u.getTokenStream().LA(2);if(this.getExpectedTokens(u).contains(t)){this.reportUnwantedToken(u),u.consume();let a=u.getCurrentToken();return this.reportMatch(u),a}else return null}getMissingSymbol(u){let t=u.getCurrentToken(),a=this.getExpectedTokens(u).first(),d;a===Te.EOF?d="":d="";let p=t,_=u.getTokenStream().LT(-1);return p.type===Te.EOF&&_!==null&&(p=_),u.getTokenFactory().create(p.source,a,d,Te.DEFAULT_CHANNEL,-1,-1,p.line,p.column)}getExpectedTokens(u){return u.getExpectedTokens()}getTokenErrorDisplay(u){if(u===null)return"";let t=u.text;return t===null&&(u.type===Te.EOF?t="":t="<"+u.type+">"),this.escapeWSAndQuote(t)}escapeWSAndQuote(u){return u=u.replace(/\n/g,"\\n"),u=u.replace(/\r/g,"\\r"),u=u.replace(/\t/g,"\\t"),"'"+u+"'"}getErrorRecoverySet(u){let t=u._interp.atn,e=u._ctx,a=new cT;for(;e!==null&&e.invokingState>=0;){let p=t.states[e.invokingState].transitions[0],_=t.nextTokens(p.followState);a.addSet(_),e=e.parentCtx}return a.removeOne(Te.EPSILON),a}consumeUntil(u,t){let e=u.getTokenStream().LA(1);for(;e!==Te.EOF&&!t.contains(e);)u.consume(),e=u.getTokenStream().LA(1)}};h(_p,"DefaultErrorStrategy");var to=_p,xp=class xp extends to{constructor(){super()}recover(u,t){let e=u._ctx;for(;e!==null;)e.exception=t,e=e.parentCtx;throw new gN(t)}recoverInline(u){this.recover(u,new uo(u))}sync(u){}};h(xp,"BailErrorStrategy");var fp=xp;lT.exports={BailErrorStrategy:fp,DefaultErrorStrategy:to}});var oT=$((mI,At)=>{At.exports.RecognitionException=Ju().RecognitionException;At.exports.NoViableAltException=Ju().NoViableAltException;At.exports.LexerNoViableAltException=Ju().LexerNoViableAltException;At.exports.InputMismatchException=Ju().InputMismatchException;At.exports.FailedPredicateException=Ju().FailedPredicateException;At.exports.DiagnosticErrorListener=aT();At.exports.BailErrorStrategy=eo().BailErrorStrategy;At.exports.DefaultErrorStrategy=eo().DefaultErrorStrategy;At.exports.ErrorListener=rh().ErrorListener});var so=$((AI,dT)=>{var{Token:yN}=M0();ep();ap();var Rp=class Rp{constructor(u,t){if(this.name="",this.strdata=u,this.decodeToUnicodeCodePoints=t||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let e=0;e=this._size)throw"cannot consume EOF";this._index+=1}LA(u){if(u===0)return 0;u<0&&(u+=1);let t=this._index+u-1;return t<0||t>=this._size?yN.EOF:this.data[t]}LT(u){return this.LA(u)}mark(){return-1}release(u){}seek(u){if(u<=this._index){this._index=u;return}this._index=Math.min(u,this._size)}getText(u,t){if(t>=this._size&&(t=this._size-1),u>=this._size)return"";if(this.decodeToUnicodeCodePoints){let e="";for(let a=u;a<=t;a++)e+=String.fromCodePoint(this.data[a]);return e}else return this.strdata.slice(u,t+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}};h(Rp,"InputStream");var Ep=Rp;dT.exports=Ep});var _T=$((gI,pT)=>{var fh=so(),fT=require("fs"),NN={fromString:function(l){return new fh(l,!0)},fromBlob:function(l,u,t,e){let a=new window.FileReader;a.onload=function(d){let p=new fh(d.target.result,!0);t(p)},a.onerror=e,a.readAsText(l,u)},fromBuffer:function(l,u){return new fh(l.toString(u),!0)},fromPath:function(l,u,t){fT.readFile(l,u,function(e,a){let d=null;a!==null&&(d=new fh(a,!0)),t(e,d)})},fromPathSync:function(l,u){let t=fT.readFileSync(l,u);return new fh(t,!0)}};pT.exports=NN});var ET=$((LI,xT)=>{var wN=so(),ON=require("fs"),bp=class bp extends wN{constructor(u,t){let e=ON.readFileSync(u,"utf8");super(e,t),this.fileName=u}};h(bp,"FileStream");var Tp=bp;xT.exports=Tp});var TT=$((NI,RT)=>{var{Token:fs}=M0(),mp=hh(),{Interval:IN}=Ru(),gp=class gp{};h(gp,"TokenStream");var Ap=gp,Lp=class Lp extends Ap{constructor(u){super(),this.tokenSource=u,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(u){}reset(){this.seek(0)}seek(u){this.lazyInit(),this.index=this.adjustSeekIndex(u)}get(u){return this.lazyInit(),this.tokens[u]}consume(){let u=!1;if(this.index>=0?this.fetchedEOF?u=this.index0?this.fetch(t)>=t:!0}fetch(u){if(this.fetchedEOF)return 0;for(let t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(let d=u;d=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}adjustSeekIndex(u){return u}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(u){this.tokenSource=u,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(u,t){if(this.sync(u),u>=this.tokens.length)return-1;let e=this.tokens[u];for(;e.channel!==this.channel;){if(e.type===fs.EOF)return-1;u+=1,this.sync(u),e=this.tokens[u]}return u}previousTokenOnChannel(u,t){for(;u>=0&&this.tokens[u].channel!==t;)u-=1;return u}getHiddenTokensToRight(u,t){if(t===void 0&&(t=-1),this.lazyInit(),u<0||u>=this.tokens.length)throw""+u+" not in 0.."+this.tokens.length-1;let e=this.nextTokenOnChannel(u+1,mp.DEFAULT_TOKEN_CHANNEL),a=u+1,d=e===-1?this.tokens.length-1:e;return this.filterForChannel(a,d,t)}getHiddenTokensToLeft(u,t){if(t===void 0&&(t=-1),this.lazyInit(),u<0||u>=this.tokens.length)throw""+u+" not in 0.."+this.tokens.length-1;let e=this.previousTokenOnChannel(u-1,mp.DEFAULT_TOKEN_CHANNEL);if(e===u-1)return null;let a=e+1,d=u-1;return this.filterForChannel(a,d,t)}filterForChannel(u,t,e){let a=[];for(let d=u;d=this.tokens.length&&(e=this.tokens.length-1);let a="";for(let d=t;d{var bT=M0().Token,UN=TT(),Np=class Np extends UN{constructor(u,t){super(u),this.channel=t===void 0?bT.DEFAULT_CHANNEL:t}adjustSeekIndex(u){return this.nextTokenOnChannel(u,this.channel)}LB(u){if(u===0||this.index-u<0)return null;let t=this.index,e=1;for(;e<=u;)t=this.previousTokenOnChannel(t-1,this.channel),e+=1;return t<0?null:this.tokens[t]}LT(u){if(this.lazyInit(),u===0)return null;if(u<0)return this.LB(-u);let t=this.index,e=1;for(;e{var{Token:ph}=M0(),{ParseTreeListener:vN,TerminalNode:PN,ErrorNode:SN}=rs(),DN=C1(),{DefaultErrorStrategy:HN}=eo(),MN=x1(),kN=X3(),FN=hh(),Op=class Op extends vN{constructor(u){super(),this.parser=u}enterEveryRule(u){console.log("enter "+this.parser.ruleNames[u.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(u){console.log("consume "+u.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(u){console.log("exit "+this.parser.ruleNames[u.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}};h(Op,"TraceListener");var wp=Op,Ip=class Ip extends DN{constructor(u){super(),this._input=null,this._errHandler=new HN,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(u)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(u){let t=this.getCurrentToken();return t.type===u?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this.buildParseTrees&&t.tokenIndex===-1&&this._ctx.addErrorNode(t)),t}matchWildcard(){let u=this.getCurrentToken();return u.type>0?(this._errHandler.reportMatch(this),this.consume()):(u=this._errHandler.recoverInline(this),this._buildParseTrees&&u.tokenIndex===-1&&this._ctx.addErrorNode(u)),u}getParseListeners(){return this._parseListeners||[]}addParseListener(u){if(u===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(u)}removeParseListener(u){if(this._parseListeners!==null){let t=this._parseListeners.indexOf(u);t>=0&&this._parseListeners.splice(t,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){let u=this._ctx;this._parseListeners.map(function(t){t.enterEveryRule(u),u.enterRule(t)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){let u=this._ctx;this._parseListeners.slice(0).reverse().map(function(t){u.exitRule(t),t.exitEveryRule(u)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(u){this._input.tokenSource._factory=u}getATNWithBypassAlts(){let u=this.getSerializedATN();if(u===null)throw"The current parser does not support an ATN with bypass alternatives.";let t=this.bypassAltsAtnCache[u];if(t===null){let e=new kN;e.generateRuleBypassTransitions=!0,t=new MN(e).deserialize(u),this.bypassAltsAtnCache[u]=t}return t}compileParseTreePattern(u,t,e){if(e=e||null,e===null&&this.getTokenStream()!==null){let d=this.getTokenStream().tokenSource;d instanceof FN&&(e=d)}if(e===null)throw"Parser can't discover a lexer to use";return new ParseTreePatternMatcher(e,this).compile(u,t)}getInputStream(){return this.getTokenStream()}setInputStream(u){this.setTokenStream(u)}getTokenStream(){return this._input}setTokenStream(u){this._input=null,this.reset(),this._input=u}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(u,t,e){t=t||null,e=e||null,t===null&&(t=this.getCurrentToken()),this._syntaxErrors+=1;let a=t.line,d=t.column;this.getErrorListenerDispatch().syntaxError(this,t,a,d,u,e)}consume(){let u=this.getCurrentToken();u.type!==ph.EOF&&this.getInputStream().consume();let t=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||t){let e;this._errHandler.inErrorRecoveryMode(this)?e=this._ctx.addErrorNode(u):e=this._ctx.addTokenNode(u),e.invokingState=this.state,t&&this._parseListeners.map(function(a){e instanceof SN||e.isErrorNode!==void 0&&e.isErrorNode()?a.visitErrorNode(e):e instanceof PN&&a.visitTerminal(e)})}return u}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(u,t,e){this.state=t,this._ctx=u,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this._parseListeners!==null&&this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this._parseListeners!==null&&this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(u,t){u.setAltNumber(t),this.buildParseTrees&&this._ctx!==u&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(u)),this._ctx=u}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(u,t,e,a){this.state=t,this._precedenceStack.push(a),this._ctx=u,this._ctx.start=this._input.LT(1),this._parseListeners!==null&&this.triggerEnterRuleEvent()}pushNewRecursionContext(u,t,e){let a=this._ctx;a.parentCtx=u,a.invokingState=t,a.stop=this._input.LT(-1),this._ctx=u,this._ctx.start=a.start,this.buildParseTrees&&this._ctx.addChild(a),this._parseListeners!==null&&this.triggerEnterRuleEvent()}unrollRecursionContexts(u){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);let t=this._ctx;if(this._parseListeners!==null)for(;this._ctx!==u;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=u;t.parentCtx=u,this.buildParseTrees&&u!==null&&u.addChild(t)}getInvokingContext(u){let t=this._ctx;for(;t!==null;){if(t.ruleIndex===u)return t;t=t.parentCtx}return null}precpred(u,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}inContext(u){return!1}isExpectedToken(u){let t=this._interp.atn,e=this._ctx,a=t.states[this.state],d=t.nextTokens(a);if(d.contains(u))return!0;if(!d.contains(ph.EPSILON))return!1;for(;e!==null&&e.invokingState>=0&&d.contains(ph.EPSILON);){let _=t.states[e.invokingState].transitions[0];if(d=t.nextTokens(_.followState),d.contains(u))return!0;e=e.parentCtx}return!!(d.contains(ph.EPSILON)&&u===ph.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){let u=this._interp.atn,t=u.states[this.state];return u.nextTokens(t)}getRuleIndex(u){let t=this.getRuleIndexMap()[u];return t!==null?t:-1}getRuleInvocationStack(u){u=u||null,u===null&&(u=this._ctx);let t=[];for(;u!==null;){let e=u.ruleIndex;e<0?t.push("n/a"):t.push(this.ruleNames[e]),u=u.parentCtx}return t}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let u=!1;for(let t=0;t0&&(u&&console.log(),this.printer.println("Decision "+e.decision+":"),this.printer.print(e.toString(this.literalNames,this.symbolicNames)),u=!0)}}getSourceName(){return this._input.sourceName}setTrace(u){u?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new wp(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}};h(Ip,"Parser");var ro=Ip;ro.bypassAltsAtnCache={};CT.exports=ro});var vr=$(H0=>{H0.atn=j8();H0.codepointat=ep();H0.dfa=rT();H0.fromcodepoint=ap();H0.tree=nT();H0.error=oT();H0.Token=M0().Token;H0.CharStreams=_T();H0.CommonToken=M0().CommonToken;H0.InputStream=so();H0.FileStream=ET();H0.CommonTokenStream=AT();H0.Lexer=hh();H0.Parser=gT();var BN=Vt();H0.PredictionContextCache=BN.PredictionContextCache;H0.ParserRuleContext=j1();H0.Interval=Ru().Interval;H0.IntervalSet=Ru().IntervalSet;H0.Utils=hu();H0.LL1Analyzer=K3().LL1Analyzer});var yT=$((SI,LT)=>{var Pr=vr(),qN=["\u608B\uA72A\u8133\uB9ED\u417C\u3BE7\u7786","\u5964\xF2\u0810\b  ","   \x07",` \x07\b \b  - if (!data) { - return schema; - } - - return { - ...schema, - [key]: data, - }; - }, {}); - - if (Object.keys(properties).length === 0) { - return; - } - - return { - properties, - }; - } -} - -function getIndexes(indexes) { - return indexes.filter(ind => { - return ind.name !== '_id_'; - }).map(ind => ({ - name: ind.name, - key: Object.keys(ind.key).map((key) => { - return { - name: key, - type: getIndexType(ind.key[key]), - }; - }), - sparse: ind.sparse, - unique: ind.unique, - expireAfterSeconds: ind.expireAfterSeconds, - "2dsphere": ind['2dsphereIndexVersion'] ? getGeoIndexVersion(ind['2dsphereIndexVersion']) : {} - })); -} - -const getIndexType = (indexType) => { - switch (indexType) { - case 1: - return 'ascending'; - case -1: - return 'descending'; - case '2dsphere': - return '2DSphere'; - } - - return 'ascending'; -}; - -const getGeoIndexVersion = (version) => { - let indexVersion = 'default'; - - if (version === 1) { - indexVersion = 'Version 1'; - } - - if (version === 2) { - indexVersion = 'Version 2'; - } - - return { - '2dsphereIndexVersion': indexVersion, - }; -}; - -const getClusterData = (cluster) => { - return { - dbInstances: cluster['DBClusterMembers']?.map(instance => ({ - dbInstanceIdentifier: instance['DBInstanceIdentifier'], - dbInstanceRole: instance['IsClusterWriter'] ? 'Primary' : 'Replica', - })), - DBClusterIdentifier: cluster['DBClusterIdentifier'], - DBClusterArn: cluster['DBClusterArn'], - Endpoint: cluster['Endpoint'], - ReaderEndpoint: cluster['ReaderEndpoint'], - MultiAZ: cluster['MultiAZ'], - Port: cluster['Port'] ?? 27017, - DBClusterParameterGroup: cluster['DBClusterParameterGroup'], - DbClusterResourceId: cluster['DbClusterResourceId'], - StorageEncrypted: cluster['StorageEncrypted'], - BackupRetentionPeriod: String(cluster['BackupRetentionPeriod'] ?? ''), - auditLog: false, - maintenance: Boolean(cluster['PreferredMaintenanceWindow']), - ...(cluster['PreferredMaintenanceWindow'] ? parseMaintenance(cluster['PreferredMaintenanceWindow']) : {}), - }; -}; - -const parseMaintenance = (period) => { - const getDay = (d) => { - const day = d.slice(0, 3); - - return ({ - sun: 'Sunday', - mon: 'Monday', - tue: 'Tuesday', - wed: 'Wednesday', - thu: 'Thursday', - fri: 'Friday', - sat: 'Saturday', - })[day] || 'Sunday'; - }; - const getTime = (d) => { - const time = d.slice(4); - const [hours, minutes] = time.split(':'); - const date = new Date(0); - - date.setHours(+hours); - date.setMinutes(+minutes); - - return date; - }; - - const [from, to] = period.split('-'); - - return { - startDay: getDay(from), - startHour: String(getTime(from).getHours()).padStart(2, '0'), - startMinute: String(getTime(from).getMinutes()).padStart(2, '0'), - duration: String((getTime(to) - getTime(from)) / (1000 * 60 * 60)), - }; -}; - -const parseHost = (host, logger) => { - try { - const [dbClusterIdentifier,,region] = host.split('.'); +\v \v`,"\f \f\r \r  ","    ","   ","    ","\x1B \x1B  ",'   ! !" "#'," #$ $% %& &' '( () )","* *+ +, ,- -. ./ /0 0","1 12 23 34 45 56 67 7","8 89 9: :; ;< <= => >","? ?@ @A AB BC CD DE E","F FG GH HI IJ JK KL L","M MN NO OP PQ QR RS S","T TU UV VW WX XY YZ Z","[ [\\ \\] ]^ ^_ _` `a a","b bc cd de ef fg gh h","i ij jk kl lm mn no o","p pq qr rs st tu uv v","w wx xy yz z{ {| |} }","~ ~\x7F \x7F\x80 \x80\x81 \x81","\x82 \x82\x83 \x83\x84 \x84\x85 ","\x85\x86 \x86\x87 \x87\x88 \x88","\x89 \x89\x8A \x8A\x8B \x8B\x8C ","\x8C\x8D \x8D\x8E \x8E\x8F \x8F","\x90 \x90\x91 \x91\x92 \x92\x93 ","\x93\x94 \x94\x95 \x95\x96 \x96","\x97 \x97\x98 \x98\x99 \x99\x9A ","\x9A\x9B \x9B\x9C \x9C\x9D \x9D","\x9E \x9E\x9F \x9F\xA0 \xA0\xA1 ","\xA1\xA2 \xA2\xA3 \xA3\xA4 \xA4","\xA5 \xA5\xA6 \xA6\xA7 \xA7\xA8 ","\xA8\xA9 \xA9\xAA \xAA\xAB \xAB","\xAC \xAC\xAD \xAD\xAE \xAE\xAF ","\xAF\xB0 \xB0\xB1 \xB1\xB2 \xB2","\xB3 \xB3\xB4 \xB4\xB5 \xB5\xB6 ","\xB6\xB7 \xB7\xB8 \xB8\xB9 \xB9","\xBA \xBA\xBB \xBB\xBC \xBC\xBD ","\xBD\xBE \xBE\xBF \xBF\xC0 \xC0","\xC1 \xC1\xC2 \xC2\xC3 \xC3\xC4 ","\xC4\xC5 \xC5\xC6 \xC6\xC7 \xC7","\xC8 \xC8\xC9 \xC9\xCA \xCA\xCB ","\xCB\xCC \xCC\xCD \xCD\xCE \xCE","\xCF \xCF\xD0 \xD0\xD1 \xD1\xD2 ","\xD2\xD3 \xD3\xD4 \xD4\xD5 \xD5","\xD6 \xD6\xD7 \xD7\xD8 \xD8\xD9 ","\xD9\xDA \xDA\xDB \xDB\xDC \xDC","\xDD \xDD\xDE \xDE\xDF \xDF\xE0 ","\xE0\xE1 \xE1\xE2 \xE2\xE3 \xE3","\xE4 \xE4\xE5 \xE5\xE6 \xE6\xE7 ","\xE7\xE8 \xE8\xE9 \xE9\xEA \xEA","\xEB \xEB\xEC \xEC\xED \xED\xEE ","\xEE\xEF \xEF\xF0 \xF0\xF1 \xF1","\xF2 \xF2\xF3 \xF3\xF4 \xF4\xF5 ","\xF5\xF6 \xF6\xF7 \xF7\xF8 \xF8","\xF9 \xF9\xFA \xFA",`\u01FD +`,"",`\u0204 +\x07\u0208 +`,"\f\u020B\v",`\x07\u0210 +\f\u0213\v`,`\u0216 +\u0219`,` +\x07\x07\x07`,`\x07\x07\u0220 +\x07\f\x07\x07\u0223\v\x07`,`\x07\u0225 +\x07\b\b\b\u0229 +\b\b`,`\b\u022C +\b\r\b\b\u022D   + +`,` + +\u0235 + +\r + +\u0236 + +\u023A + +`,` + + + +\u023F + +\v\v\v`,`\v\x07\v\u0245 +\v\f\v\v\u0248\v`,"\v\v\v\v\f\f\f",`\f\x07\f\u0251 +\f\f\f\f\u0254\v\f\r\r\u0257`,` +\r\r\r\r\u0258\r\r`,"",`\u0267 +`,"","",`\u0278 +`,"","\x1B\x1B\x1B","",'  !!""##',"$$$%%&&'''","''''(((()",")))))****","****++++,,",",,------..",".////00011","1111222222","2233333334","4444444555","5556666666","7777778889","9999:::::;",";;;;<<<<<<","<<========",">>>>>>>>>>",">???????@@","@@@@@@@@AA","AAAAAABBBB","BBBBBCCCCC","CCCCCCDDDD","DDEEEEEEEF","FFFFFFFGGG","GGGGGGHHHH","HHHHIIIIII","IIIIJJJJJJ","JJKKKKKKKK","KKLLLLLLLM","MMMMMMMNNN","NNOOOOOOOO","OPPPPPPPPP","QQQRRRRRSS","SSSTTTTTTT","TUUUUUVVVV","WWWWWWXXXX","XXXYYYYYYY","YZZZZZZZZ[","[[[[[[\\\\\\\\","\\\\\\\\]]]]]","]^^^^^^__","_____`````","`aaaaaaaab","bbbbbccccc","cccccdddde","eeeeefffff","gggghhhhhh","hhhiiiiiii","jjjjjjkkkk","kklllllllm","mmmnnnnnoo","ooooopppqq","qqqqqrrrrr","rssstttttt","ttuuuuuuuu","uuvvvvvvww","wwwwxxxxxx","xyyyyyyzzz","zzzz{{{{{{","{{{{|||||}","}}~~~~~~~~","~~\x7F\x7F\x7F\x7F\x7F","\x7F\x7F\x7F\x7F\x7F\x7F","\x80\x80\x80\x80\x80\x81","\x81\x81\x81\x82\x82\x82","\x82\x82\x83\x83\x83\x83","\x83\x83\x83\x83\x83\x84","\x84\x84\x84\x84\x84\x85","\x85\x85\x85\x85\x85\x85","\x85\x85\x86\x86\x86\x86","\x86\x87\x87\x87\x87\x87","\x88\x88\x88\x88\x89\x89","\x89\x89\x89\x89\x89\x89","\x8A\x8A\x8A\x8A\x8A\x8A","\x8B\x8B\x8B\x8B\x8B\x8C","\x8C\x8C\x8C\x8C\x8C\x8D","\x8D\x8D\x8D\x8E\x8E\x8E","\x8E\x8F\x8F\x8F\x8F\x8F","\x8F\x8F\x8F\x90\x90\x90","\x90\x90\x90\x90\x90\x91","\x91\x91\x91\x91\x91\x91","\x91\x91\x91\x91\x91\x91","\x92\x92\x92\x92\x92\x92","\x93\x93\x93\x93\x93\x93","\x93\x93\x94\x94\x94\x94","\x94\x94\x94\x94\x94\x94","\x95\x95\x95\x95\x95\x96","\x96\x96\x97\x97\x97\x98","\x98\x98\x98\x99\x99\x99","\x99\x99\x99\x99\x99\x99","\x99\x9A\x9A\x9A\x9A\x9A","\x9B\x9B\x9B\x9B\x9B\x9B","\x9C\x9C\x9C\x9C\x9C\x9C","\x9C\x9D\x9D\x9D\x9D\x9D","\x9D\x9D\x9E\x9E\x9E\x9E","\x9E\x9E\x9E\x9F\x9F\x9F","\xA0\xA0\xA0\xA0\xA0\xA0","\xA0\xA1\xA1\xA1\xA1\xA1","\xA1\xA1\xA1\xA2\xA2\xA2","\xA3\xA3\xA3\xA3\xA3\xA3","\xA4\xA4\xA4\xA4\xA4\xA4","\xA4\xA5\xA5\xA5\xA5\xA5","\xA5\xA6\xA6\xA6\xA6\xA6","\xA7\xA7\xA7\xA7\xA7\xA7","\xA8\xA8\xA8\xA8\xA8\xA8","\xA8\xA8\xA8\xA8\xA9\xA9","\xA9\xA9\xA9\xA9\xA9\xA9","\xA9\xAA\xAA\xAA\xAA\xAA","\xAB\xAB\xAB\xAB\xAB\xAC","\xAC\xAC\xAC\xAC\xAC\xAC","\xAC\xAC\xAC\xAD\xAD\xAD","\xAD\xAD\xAD\xAD\xAD\xAE","\xAE\xAE\xAE\xAE\xAE\xAE","\xAE\xAF\xAF\xAF\xAF\xAF","\xAF\xAF\xAF\xB0\xB0\xB0","\xB0\xB0\xB0\xB0\xB0\xB0","\xB0\xB1\xB1\xB1\xB1\xB1","\xB1\xB1\xB1\xB1\xB1\xB2","\xB2\xB2\xB2\xB2\xB2\xB3","\xB3\xB3\xB3\xB3\xB3\xB3","\xB4\xB4\xB4\xB4\xB4\xB4","\xB5\xB5\xB5\xB5\xB6\xB6","\xB6\xB6\xB6\xB7\xB7\xB7","\xB7\xB7\xB7\xB8\xB8\xB8","\xB8\xB8\xB8\xB8\xB9\xB9","\xB9\xB9\xB9\xB9\xB9\xBA","\xBA\xBA\xBA\xBA\xBA\xBA","\xBA\xBB\xBB\xBB\xBB\xBB","\xBB\xBB\xBB\xBC\xBC\xBC","\xBC\xBC\xBC\xBC\xBD\xBD","\xBD\xBD\xBD\xBD\xBD\xBD","\xBD\xBD\xBE\xBE\xBE\xBE","\xBE\xBE\xBE\xBF\xBF\xBF","\xBF\xBF\xBF\xC0\xC0\xC0","\xC0\xC0\xC1\xC1\xC1\xC1","\xC1\xC1\xC1\xC1\xC1\xC2","\xC2\xC2\xC2\xC3\xC3\xC3","\xC3\xC3\xC4\xC4\xC4\xC4","\xC4\xC4\xC4\xC4\xC4\xC4","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC6\xC6","\xC6\xC6\xC6\xC6\xC6\xC7","\xC7\xC7\xC7\xC7\xC7\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC9\xC9\xC9\xC9\xC9\xCA","\xCA\xCA\xCA\xCB\xCB\xCB","\xCB\xCB\xCC\xCC\xCC\xCC","\xCC\xCD\xCD\xCD\xCD\xCD","\xCD\xCE\xCE\xCE\xCE\xCE","\xCE\xCE\xCE\xCE\xCE\xCE","\xCF\xCF\xCF\xCF\xCF\xCF","\xCF\xD0\xD0\xD0\xD0\xD0","\xD0\xD0\xD1\xD1\xD1\xD1","\xD1\xD2\xD2\xD2\xD2\xD2","\xD3\xD3\xD3\xD4\xD4\xD4","\xD4\xD4\xD5\xD5\xD5\xD5","\xD5\xD5\xD5\xD5\xD5\xD5","\xD5\xD5\xD6\xD6\xD6\xD6","\xD6\xD6\xD6\xD6\xD7\xD7","\xD7\xD7\xD7\xD8\xD8\xD8","\xD8\xD8\xD8\xD8\xD8\xD8","\xD9\xD9\xD9\xD9\xD9\xD9","\xD9\xD9\xD9\xD9\xDA\xDA","\xDA\xDA\xDA\xDA\xDB\xDB","\xDB\xDB\xDB\xDB\xDC\xDC","\xDC\xDC\xDC\xDC\xDC\xDD","\xDD\xDD\xDD\xDD\xDD\xDD","\xDD\xDE\xDE\xDE\xDE\xDE","\xDE\xDE\xDF\xDF\xDF\xDF","\xDF\xDF\xE0\xE0\xE0\xE0","\xE0\xE0\xE0\xE1\xE1\xE1","\xE1\xE1\xE1\xE1\xE2\xE2","\xE2\xE2\xE3\xE3\xE3\xE3","\xE3\xE4\xE4\xE4\xE4\xE4","\xE4\xE5\xE5\xE5\xE5\xE5","\xE5\xE5\xE5\xE5\xE6\xE6","\xE6\xE6\xE6\xE6\xE7\xE7","\xE7\xE7\xE7\xE7\xE7\xE8","\xE8\xE8\xE8\xE8\xE8\xE8","\xE9\xE9\xE9\xE9\xEA\xEA","\xEA\xEA\xEA\xEB\xEB\xEB","\xEB\xEB\xEC\xEC\xEC\xEC","\xEC\xEC\xED\xED\xED\xED","\xED\xED\xEE\xEE\xEE\xEE","\xEE\xEE\xEE\xEF\xEF\xEF","\xEF\xEF\xF0\xF0\xF0\xF0","\xF0\xF0\xF0\xF1\xF1\xF1","\xF1\xF1\xF2\xF2\xF2\xF2",`\xF3\xF3\xF3\xF3\u07DF +\xF3`,"\xF4\xF4\xF5\xF5\xF6\xF6",`\xF6\u07E7 +\xF6\r\xF6\xF6\u07E8\xF6\xF6`,`\xF6\xF7\xF7\xF7\u07F0 +\xF7\r\xF7`,"\xF7\u07F1\xF7\xF7\xF7\xF7\x07",`\xF7\u07F8 +\xF7\f\xF7\xF7\u07FB\v\xF7\xF7`,`\u07FD +\xF7\xF8\xF8\xF8\x07\xF8\u0802`,` +\xF8\f\xF8\xF8\u0805\v\xF8\xF9\xF9`,`\xF9\x07\xF9\u080A +\xF9\f\xF9\xF9\u080D\v`,"\xF9\xFA\xFA\u0246\xFB","\x07 \v\r",`\x07\b\x1B  +\v`,"!\f#\r%')+-/135","79;=?\x1BACEGI K!",`M"O#Q$S%U&W'Y([)]*_+a,c-e.g/i0k1m2o3q4s5u6w7y8{9}:\x7F;\x81<\x83`,"=\x85>\x87?\x89@\x8BA\x8DB\x8FC\x91D\x93E\x95F\x97","G\x99H\x9BI\x9DJ\x9FK\xA1L\xA3M\xA5N\xA7O\xA9P\xAB","Q\xADR\xAFS\xB1T\xB3U\xB5V\xB7W\xB9X\xBBY\xBDZ\xBF","[\xC1\\\xC3]\xC5^\xC7_\xC9`\xCBa\xCDb\xCFc\xD1d\xD3","e\xD5f\xD7g\xD9h\xDBi\xDDj\xDFk\xE1l\xE3m\xE5n\xE7","o\xE9p\xEBq\xEDr\xEFs\xF1t\xF3u\xF5v\xF7w\xF9x\xFB","y\xFDz\xFF{\u0101|\u0103}\u0105~\u0107\x7F\u0109\x80\u010B\x81","\u010D\x82\u010F\x83\u0111\x84\u0113\x85\u0115\x86\u0117\x87","\u0119\x88\u011B\x89\u011D\x8A\u011F\x8B\u0121\x8C\u0123\x8D","\u0125\x8E\u0127\x8F\u0129\x90\u012B\x91\u012D\x92\u012F\x93","\u0131\x94\u0133\x95\u0135\x96\u0137\x97\u0139\x98\u013B\x99","\u013D\x9A\u013F\x9B\u0141\x9C\u0143\x9D\u0145\x9E\u0147\x9F","\u0149\xA0\u014B\xA1\u014D\xA2\u014F\xA3\u0151\xA4\u0153\xA5","\u0155\xA6\u0157\xA7\u0159\xA8\u015B\xA9\u015D\xAA\u015F\xAB","\u0161\xAC\u0163\xAD\u0165\xAE\u0167\xAF\u0169\xB0\u016B\xB1","\u016D\xB2\u016F\xB3\u0171\xB4\u0173\xB5\u0175\xB6\u0177\xB7","\u0179\xB8\u017B\xB9\u017D\xBA\u017F\xBB\u0181\xBC\u0183\xBD","\u0185\xBE\u0187\xBF\u0189\xC0\u018B\xC1\u018D\xC2\u018F\xC3","\u0191\xC4\u0193\xC5\u0195\xC6\u0197\xC7\u0199\xC8\u019B\xC9","\u019D\xCA\u019F\xCB\u01A1\xCC\u01A3\xCD\u01A5\xCE\u01A7\xCF","\u01A9\xD0\u01AB\xD1\u01AD\xD2\u01AF\xD3\u01B1\xD4\u01B3\xD5","\u01B5\xD6\u01B7\xD7\u01B9\xD8\u01BB\xD9\u01BD\xDA\u01BF\xDB","\u01C1\xDC\u01C3\xDD\u01C5\xDE\u01C7\xDF\u01C9\xE0\u01CB\xE1","\u01CD\xE2\u01CF\xE3\u01D1\xE4\u01D3\xE5\u01D5\xE6\u01D7\xE7","\u01D9\xE8\u01DB\xE9\u01DD\xEA\u01DF\xEB\u01E1\xEC\u01E3\xED","\u01E5\u01E7\u01E9\u01EB\xEE\u01ED\xEF\u01EF\xF0","\u01F1\xF1\u01F3\xF2*))\f\f","))^^$$$$^^2;","GGgg--//\f\f\v\f",'""OOooKKkkPPpp',"WWwwUUuuCCccFFff","XXxxNNnnVVvvTTtt[[{","{\\\\||EEeeDDddIIii","YYyyQQqqMMmmRRrr","JJjjZZzzHHhhLLll","aaPPwwSSssbbC\\aac|","2;C\\aac|3;\u0821\x07","","","\x1B","","!#","%'",")+","-/1","35","79",";=","?A","CEG","IK","MO","QS","UW","Y[]","_a","ce","gi","km","oqs","uw","y{","}\x7F","\x81\x83","\x85\x87","\x89\x8B","\x8D\x8F","\x91\x93","\x95\x97","\x99\x9B","\x9D\x9F","\xA1\xA3","\xA5\xA7","\xA9\xAB","\xAD\xAF","\xB1\xB3","\xB5\xB7","\xB9\xBB","\xBD\xBF","\xC1\xC3","\xC5\xC7","\xC9\xCB","\xCD\xCF","\xD1\xD3","\xD5\xD7","\xD9\xDB","\xDD\xDF","\xE1\xE3","\xE5\xE7","\xE9\xEB","\xED\xEF","\xF1\xF3","\xF5\xF7","\xF9\xFB","\xFD\xFF","\u0101\u0103","\u0105\u0107","\u0109\u010B","\u010D\u010F","\u0111\u0113","\u0115\u0117","\u0119\u011B","\u011D\u011F","\u0121\u0123","\u0125\u0127","\u0129\u012B","\u012D\u012F","\u0131\u0133","\u0135\u0137","\u0139\u013B","\u013D\u013F","\u0141\u0143","\u0145\u0147","\u0149\u014B","\u014D\u014F","\u0151\u0153","\u0155\u0157","\u0159\u015B","\u015D\u015F","\u0161\u0163","\u0165\u0167","\u0169\u016B","\u016D\u016F","\u0171\u0173","\u0175\u0177","\u0179\u017B","\u017D\u017F","\u0181\u0183","\u0185\u0187","\u0189\u018B","\u018D\u018F","\u0191\u0193","\u0195\u0197","\u0199\u019B","\u019D\u019F","\u01A1\u01A3","\u01A5\u01A7","\u01A9\u01AB","\u01AD\u01AF","\u01B1\u01B3","\u01B5\u01B7","\u01B9\u01BB","\u01BD\u01BF","\u01C1\u01C3","\u01C5\u01C7","\u01C9\u01CB","\u01CD\u01CF","\u01D1\u01D3","\u01D5\u01D7","\u01D9\u01DB","\u01DD\u01DF","\u01E1\u01E3","\u01EB\u01ED","\u01EF\u01F1","\u01F3\u01FC","\u0203\x07\u0215"," \u0218\v\u021A","\r\u0224\u0226","\u022F\u023E","\u0240\u024C","\u0256\x1B\u025C","\u025E\u0266","!\u0268#\u026A","%\u026C'\u026E)\u0271","+\u0277-\u0279","/\u027B1\u027E","3\u02805\u0283","7\u02869\u0288",";\u028A=\u028C?\u028E","A\u0290C\u0292","E\u0294G\u0296","I\u0299K\u029B","M\u029DO\u02A4","Q\u02A8S\u02AEU\u02B6","W\u02BAY\u02BE","[\u02C4]\u02C7","_\u02CBa\u02CE","c\u02D4e\u02DC","g\u02E3i\u02EBk\u02F1","m\u02F8o\u02FE","q\u0301s\u0306","u\u030Bw\u0310","y\u0318{\u0320","}\u032B\x7F\u0332","\x81\u033C\x83\u0344","\x85\u034D\x87\u0358","\x89\u035E\x8B\u0365","\x8D\u036D\x8F\u0376","\x91\u037E\x93\u0388","\x95\u0390\x97\u039A","\x99\u03A1\x9B\u03A9","\x9D\u03AE\x9F\u03B7","\xA1\u03C0\xA3\u03C3","\xA5\u03C8\xA7\u03CD","\xA9\u03D5\xAB\u03DA","\xAD\u03DE\xAF\u03E4","\xB1\u03EB\xB3\u03F3","\xB5\u03FB\xB7\u0402","\xB9\u040A\xBB\u0410","\xBD\u0416\xBF\u041D","\xC1\u0423\xC3\u042B","\xC5\u0431\xC7\u043B","\xC9\u043F\xCB\u0445","\xCD\u044A\xCF\u044E","\xD1\u0457\xD3\u045E","\xD5\u0464\xD7\u046A","\xD9\u0471\xDB\u0475","\xDD\u047A\xDF\u0481","\xE1\u0484\xE3\u048B","\xE5\u0491\xE7\u0494","\xE9\u049C\xEB\u04A6","\xED\u04AC\xEF\u04B2","\xF1\u04B9\xF3\u04BF","\xF5\u04C6\xF7\u04D0","\xF9\u04D5\xFB\u04D8","\xFD\u04E2\xFF\u04ED","\u0101\u04F2\u0103\u04F6","\u0105\u04FB\u0107\u0504","\u0109\u050A\u010B\u0513","\u010D\u0518\u010F\u051D","\u0111\u0521\u0113\u0529","\u0115\u052F\u0117\u0534","\u0119\u053A\u011B\u053E","\u011D\u0542\u011F\u054A","\u0121\u0552\u0123\u055F","\u0125\u0565\u0127\u056D","\u0129\u0577\u012B\u057C","\u012D\u057F\u012F\u0582","\u0131\u0586\u0133\u0590","\u0135\u0595\u0137\u059B","\u0139\u05A2\u013B\u05A9","\u013D\u05B0\u013F\u05B3","\u0141\u05BA\u0143\u05C2","\u0145\u05C5\u0147\u05CB","\u0149\u05D2\u014B\u05D8","\u014D\u05DD\u014F\u05E3","\u0151\u05ED\u0153\u05F6","\u0155\u05FB\u0157\u0600","\u0159\u060A\u015B\u0612","\u015D\u061A\u015F\u0622","\u0161\u062C\u0163\u0636","\u0165\u063C\u0167\u0643","\u0169\u0649\u016B\u064D","\u016D\u0652\u016F\u0658","\u0171\u065F\u0173\u0666","\u0175\u066E\u0177\u0676","\u0179\u067D\u017B\u0687","\u017D\u068E\u017F\u0694","\u0181\u0699\u0183\u06A2","\u0185\u06A6\u0187\u06AB","\u0189\u06B5\u018B\u06BF","\u018D\u06C6\u018F\u06CC","\u0191\u06D3\u0193\u06D8","\u0195\u06DC\u0197\u06E1","\u0199\u06E6\u019B\u06EC","\u019D\u06F7\u019F\u06FE","\u01A1\u0705\u01A3\u070A","\u01A5\u070F\u01A7\u0712","\u01A9\u0717\u01AB\u0723","\u01AD\u072B\u01AF\u0730","\u01B1\u0739\u01B3\u0743","\u01B5\u0749\u01B7\u074F","\u01B9\u0756\u01BB\u075E","\u01BD\u0765\u01BF\u076B","\u01C1\u0772\u01C3\u0779","\u01C5\u077D\u01C7\u0782","\u01C9\u0788\u01CB\u0791","\u01CD\u0797\u01CF\u079E","\u01D1\u07A5\u01D3\u07A9","\u01D5\u07AE\u01D7\u07B3","\u01D9\u07B9\u01DB\u07BF","\u01DD\u07C6\u01DF\u07CB","\u01E1\u07D2\u01E3\u07D7","\u01E5\u07DE\u01E7\u07E0","\u01E9\u07E2\u01EB\u07E4","\u01ED\u07FC\u01EF\u07FE","\u01F1\u0806\u01F3\u080E","\u01F5\u01F6\x07)\u01F6\u01FD\x07)\u01F7","\u01F8\x07^\u01F8\u01FD\x07)\u01F9\u01FA",`\x07^\u01FA\u01FD +\u01FB\u01FD +`,"\u01FC\u01F5\u01FC\u01F7","\u01FC\u01F9\u01FC\u01FB","\u01FD\u01FE\u01FF\x07^","\u01FF\u0204\x07$\u0200\u0201\x07^",`\u0201\u0204 +\u0202\u0204 +`,"\u0203\u01FE\u0203\u0200","\u0203\u0202\u0204","\u0205\u0209\x07)\u0206\u0208","\u0207\u0206\u0208\u020B","\u0209\u0207\u0209\u020A","\u020A\u020C\u020B\u0209","\u020C\u0216\x07)\u020D\u0211\x07$\u020E","\u0210\u020F\u020E\u0210","\u0213\u0211\u020F\u0211","\u0212\u0212\u0214\u0213","\u0211\u0214\u0216\x07$\u0215","\u0205\u0215\u020D\u0216","\b\u0217\u02192;\u0218\u0217",`\u0219 +\u021A\u021B `,"\u021B\f\u021C\u0225\x072","\u021D\u0221 \u021E\u0220\v","\u021F\u021E\u0220\u0223","\u0221\u021F\u0221\u0222","\u0222\u0225\u0223\u0221","\u0224\u021C\u0224\u021D","\u0225\u0226\u0228 \x07","\u0227\u0229 \b\u0228\u0227","\u0228\u0229\u0229\u022B","\u022A\u022C\v\u022B\u022A","\u022C\u022D\u022D\u022B","\u022D\u022E\u022E","\u022F\u0230\r\x07\u0230","\u0231\u0232\r\x07\u0232\u0234\x070\u0233","\u0235\v\u0234\u0233\u0235","\u0236\u0236\u0234\u0236","\u0237\u0237\u0239\u0238","\u023A\b\u0239\u0238\u0239","\u023A\u023A\u023F\u023B","\u023C\r\x07\u023C\u023D\b\u023D\u023F","\u023E\u0231\u023E\u023B","\u023F\u0240\u0241","\x071\u0241\u0242\x07,\u0242\u0246","\u0243\u0245\v\u0244\u0243","\u0245\u0248\u0246\u0247","\u0246\u0244\u0247\u0249","\u0248\u0246\u0249\u024A\x07",",\u024A\u024B\x071\u024B","\u024C\u024D\x07/\u024D\u024E\x07/",`\u024E\u0252\u024F\u0251 + `,"\u0250\u024F\u0251\u0254","\u0252\u0250\u0252\u0253","\u0253\u0254\u0252",`\u0255\u0257 +\u0256\u0255\u0257`,"\u0258\u0258\u0256\u0258","\u0259\u0259\u025A\u025A","\u025B\b\r\u025B\u025C\u025D","\x070\u025D\u025E\u025F","\x07-\u025F\u0260\u0267","\x07/\u0261\u0262 \v\u0262\u0263 \f","\u0263\u0264 \r\u0264\u0265 ","\u0265\u0267 \u0266\u0260","\u0266\u0261\u0267 ",'\u0268\u0269\x07,\u0269"\u026A',"\u026B\x071\u026B$\u026C\u026D","\x07'\u026D&\u026E\u026F\x07","?\u026F\u0270\x07?\u0270(","\u0271\u0272\x07?\u0272*","\u0273\u0274\x07#\u0274\u0278\x07?\u0275","\u0276\x07>\u0276\u0278\x07@\u0277\u0273","\u0277\u0275\u0278,","\u0279\u027A\x07>\u027A.","\u027B\u027C\x07>\u027C\u027D\x07","?\u027D0\u027E\u027F\x07@","\u027F2\u0280\u0281\x07@","\u0281\u0282\x07?\u02824\u0283","\u0284\x07~\u0284\u0285\x07~\u02856","\u0286\u0287\x07*\u02878","\u0288\u0289\x07+\u0289:","\u028A\u028B\x07}\u028B<","\u028C\u028D\x07\x7F\u028D>","\u028E\u028F\x07.\u028F@\u0290","\u0291\x07<\u0291B\u0292\u0293","\x07]\u0293D\u0294\u0295\x07","_\u0295F\u0296\u0297\x07_","\u0297\u0298\x07k\u0298H","\u0299\u029A\x07=\u029AJ\u029B","\u029C\x07#\u029CL\u029D\u029E"," \u029E\u029F \u029F\u02A0 ","\u02A0\u02A1 \f\u02A1\u02A2 ","\u02A2\u02A3 \x07\u02A3N\u02A4","\u02A5 \u02A5\u02A6 \u02A6\u02A7"," \u02A7P\u02A8\u02A9 ","\u02A9\u02AA \u02AA\u02AB ","\u02AB\u02AC \x07\u02AC\u02AD ","\u02ADR\u02AE\u02AF \u02AF","\u02B0 \r\u02B0\u02B1 \u02B1\u02B2 ","\u02B2\u02B3 \u02B3\u02B4 ","\u02B4\u02B5 \x07\u02B5T","\u02B6\u02B7 \u02B7\u02B8 \r\u02B8","\u02B9 \u02B9V\u02BA\u02BB"," \u02BB\u02BC \r\u02BC\u02BD ","\u02BDX\u02BE\u02BF ","\u02BF\u02C0 \u02C0\u02C1 ","\u02C1\u02C2 \u02C2\u02C3 \u02C3","Z\u02C4\u02C5 \u02C5\u02C6"," \u02C6\\\u02C7\u02C8 ","\u02C8\u02C9 \u02C9\u02CA ","\u02CA^\u02CB\u02CC ","\u02CC\u02CD \u02CD`\u02CE","\u02CF \u02CF\u02D0 \x07\u02D0\u02D1"," \u02D1\u02D2 \f\u02D2\u02D3 \r","\u02D3b\u02D4\u02D5 ","\u02D5\u02D6 \x07\u02D6\u02D7 \u02D7","\u02D8 \x1B\u02D8\u02D9 \x07\u02D9\u02DA"," \x07\u02DA\u02DB \r\u02DBd","\u02DC\u02DD \u02DD\u02DE \f","\u02DE\u02DF \r\u02DF\u02E0 \u02E0\u02E1"," \u02E1\u02E2 \u02E2f","\u02E3\u02E4 \u02E4\u02E5 ","\u02E5\u02E6 \u02E6\u02E7 ","\u02E7\u02E8 \x07\u02E8\u02E9 \u02E9","\u02EA \r\u02EAh\u02EB\u02EC ","\u02EC\u02ED \u02ED\u02EE \x07","\u02EE\u02EF \u02EF\u02F0 ","\u02F0j\u02F1\u02F2 ","\u02F2\u02F3 \u02F3\u02F4 \u02F4","\u02F5 \u02F5\u02F6 \x07\u02F6\u02F7"," \u02F7l\u02F8\u02F9 ","\u02F9\u02FA \u02FA\u02FB \f","\u02FB\u02FC \u02FC\u02FD \u02FD","n\u02FE\u02FF \u02FF\u0300"," \u0300p\u0301\u0302 ","\u0302\u0303 \u0303\u0304 ","\u0304\u0305 \u0305r","\u0306\u0307 \u0307\u0308 \u0308","\u0309 \u0309\u030A \x07\u030At","\u030B\u030C \u030C\u030D ","\u030D\u030E \u030E\u030F ","\u030Fv\u0310\u0311 ","\u0311\u0312 \u0312\u0313 \u0313","\u0314 \u0314\u0315 \u0315\u0316"," \x07\u0316\u0317 \u0317x","\u0318\u0319 \u0319\u031A ","\u031A\u031B \u031B\u031C ","\u031C\u031D \u031D\u031E \u031E","\u031F \x07\u031Fz\u0320\u0321"," \u0321\u0322 \u0322\u0323 ","\u0323\u0324 \u0324\u0325 \x07","\u0325\u0326 \u0326\u0327 ","\u0327\u0328 \f\u0328\u0329 \u0329\u032A"," \r\u032A|\u032B\u032C ","\u032C\u032D \u032D\u032E \v","\u032E\u032F \v\u032F\u0330 \f\u0330","\u0331 \u0331~\u0332\u0333"," \u0333\u0334 \u0334\u0335 \v","\u0335\u0336 \v\u0336\u0337 \f","\u0337\u0338 \u0338\u0339 \u0339","\u033A \x07\u033A\u033B \u033B\x80","\u033C\u033D \u033D\u033E"," \u033E\u033F \r\u033F\u0340 \r","\u0340\u0341 \x07\u0341\u0342 ","\u0342\u0343 \u0343\x82","\u0344\u0345 \u0345\u0346 \u0346","\u0347 \r\u0347\u0348 \u0348\u0349 ","\f\u0349\u034A \r\u034A\u034B ","\u034B\u034C \x07\u034C\x84","\u034D\u034E \u034E\u034F ","\u034F\u0350 \u0350\u0351 \u0351","\u0352 \x07\u0352\u0353 \u0353\u0354"," \u0354\u0355 \u0355\u0356 \x07","\u0356\u0357 \u0357\x86","\u0358\u0359 \u0359\u035A ","\u035A\u035B \u035B\u035C \x07","\u035C\u035D \u035D\x88","\u035E\u035F \u035F\u0360 \u0360","\u0361 \x07\u0361\u0362 \u0362\u0363"," \u0363\u0364 \x07\u0364\x8A","\u0365\u0366 \u0366\u0367 ","\u0367\u0368 \u0368\u0369 ","\u0369\u036A \x07\u036A\u036B \r\u036B","\u036C \u036C\x8C\u036D","\u036E \u036E\u036F \u036F\u0370"," \u0370\u0371 \u0371\u0372 ","\u0372\u0373 \u0373\u0374 ","\u0374\u0375 \x07\u0375\x8E","\u0376\u0377 \u0377\u0378 ","\u0378\u0379 \u0379\u037A \u037A","\u037B \u037B\u037C \x07\u037C\u037D"," \u037D\x90\u037E\u037F"," \u037F\u0380 \u0380\u0381 ","\u0381\u0382 \u0382\u0383 ","\u0383\u0384 \u0384\u0385 ","\u0385\u0386 \u0386\u0387 \x07\u0387","\x92\u0388\u0389 \u0389","\u038A \x07\u038A\u038B \u038B\u038C"," \u038C\u038D \u038D\u038E ","\u038E\u038F \x07\u038F\x94","\u0390\u0391 \u0391\u0392 \x07","\u0392\u0393 \u0393\u0394 ","\u0394\u0395 \x07\u0395\u0396 \v\u0396","\u0397 \x07\u0397\u0398 \r\u0398\u0399 ","\u0399\x96\u039A\u039B ","\u039B\u039C \x07\u039C\u039D ","\u039D\u039E \x07\u039E\u039F ","\u039F\u03A0 \x07\u03A0\x98","\u03A1\u03A2 \u03A2\u03A3 \x07","\u03A3\u03A4 \u03A4\u03A5 \f\u03A5\u03A6"," \u03A6\u03A7 \x07\u03A7\u03A8 ","\u03A8\x9A\u03A9\u03AA ","\u03AA\u03AB \x07\u03AB\u03AC ","\u03AC\u03AD \u03AD\x9C","\u03AE\u03AF \u03AF\u03B0 \x07","\u03B0\u03B1 \u03B1\u03B2 \u03B2","\u03B3 \u03B3\u03B4 \f\u03B4\u03B5 ","\u03B5\u03B6 \x07\u03B6\x9E","\u03B7\u03B8 \u03B8\u03B9 \f","\u03B9\u03BA \u03BA\u03BB ","\u03BB\u03BC \f\u03BC\u03BD \r\u03BD\u03BE"," \u03BE\u03BF \u03BF\xA0","\u03C0\u03C1 \u03C1\u03C2 ","\u03C2\xA2\u03C3\u03C4 ","\u03C4\u03C5 \u03C5\u03C6 ","\u03C6\u03C7 \u03C7\xA4","\u03C8\u03C9 \x07\u03C9\u03CA ","\u03CA\u03CB \u03CB\u03CC \u03CC","\xA6\u03CD\u03CE \x07\u03CE","\u03CF \u03CF\u03D0 \x07\u03D0\u03D1"," \v\u03D1\u03D2 \x07\u03D2\u03D3 \r","\u03D3\u03D4 \u03D4\xA8","\u03D5\u03D6 \x07\u03D6\u03D7 ","\u03D7\u03D8 \u03D8\u03D9 \x07","\u03D9\xAA\u03DA\u03DB \x07","\u03DB\u03DC \r\u03DC\u03DD \u03DD\xAC","\u03DE\u03DF \x07\u03DF\u03E0"," \u03E0\u03E1 \x07\u03E1\u03E2 ","\u03E2\u03E3 \u03E3\xAE","\u03E4\u03E5 \x07\u03E5\u03E6 ","\u03E6\u03E7 \u03E7\u03E8 \x07\u03E8","\u03E9 \u03E9\u03EA \u03EA\xB0","\u03EB\u03EC \x07\u03EC\u03ED"," \u03ED\u03EE \u03EE\u03EF ","\u03EF\u03F0 \u03F0\u03F1 ","\u03F1\u03F2 \x07\u03F2\xB2","\u03F3\u03F4 \x07\u03F4\u03F5 \u03F5","\u03F6 \x07\u03F6\u03F7 \u03F7\u03F8"," \u03F8\u03F9 \u03F9\u03FA \x07","\u03FA\xB4\u03FB\u03FC \x07","\u03FC\u03FD \u03FD\u03FE \f","\u03FE\u03FF \u03FF\u0400 \u0400","\u0401 \u0401\xB6\u0402","\u0403 \x07\u0403\u0404 \u0404\u0405 ","\u0405\u0406 \u0406\u0407 ","\u0407\u0408 \f\u0408\u0409 \r","\u0409\xB8\u040A\u040B !\u040B","\u040C \u040C\u040D \u040D\u040E"," \u040E\u040F \x07\u040F\xBA","\u0410\u0411 !\u0411\u0412 \x07","\u0412\u0413 \u0413\u0414 ","\u0414\u0415 \u0415\xBC","\u0416\u0417 !\u0417\u0418 \f\u0418\u0419"," \u0419\u041A \u041A\u041B \x07","\u041B\u041C \u041C\xBE","\u041D\u041E !\u041E\u041F \f","\u041F\u0420 \u0420\u0421 \u0421","\u0422 \u0422\xC0\u0423","\u0424 !\u0424\u0425 \u0425\u0426 ","\u0426\u0427 \u0427\u0428 ","\u0428\u0429 \x07\u0429\u042A \r","\u042A\xC2\u042B\u042C !\u042C","\u042D \u042D\u042E \u042E\u042F"," \u042F\u0430 \u0430\xC4","\u0431\u0432 !\u0432\u0433 ","\u0433\u0434 \u0434\u0435 ","\u0435\u0436 \u0436\u0437 \x1B\u0437","\u0438 \f\u0438\u0439 \r\u0439\u043A ","\u043A\xC6\u043B\u043C !","\u043C\u043D \u043D\u043E ","\u043E\xC8\u043F\u0440 !\u0440","\u0441 \u0441\u0442 \u0442\u0443"," \u0443\u0444 \x07\u0444\xCA","\u0445\u0446 !\u0446\u0447 ","\u0447\u0448 \u0448\u0449 \v","\u0449\xCC\u044A\u044B !\u044B","\u044C \u044C\u044D \u044D\xCE","\u044E\u044F !\u044F\u0450 ","\u0450\u0451 \r\u0451\u0452 ","\u0452\u0453 \u0453\u0454 \f\u0454\u0455"," \u0455\u0456 \r\u0456\xD0","\u0457\u0458 \u0458\u0459 ","\u0459\u045A \u045A\u045B ","\u045B\u045C \r\u045C\u045D \u045D\xD2","\u045E\u045F \u045F\u0460"," \u0460\u0461 \u0461\u0462 \r","\u0462\u0463 \u0463\xD4","\u0464\u0465 \u0465\u0466 ","\u0466\u0467 \u0467\u0468 ","\u0468\u0469 \u0469\xD6","\u046A\u046B \u046B\u046C \u046C","\u046D \u046D\u046E \u046E\u046F"," \u046F\u0470 \u0470\xD8","\u0471\u0472 \u0472\u0473 ","\u0473\u0474 \f\u0474\xDA","\u0475\u0476 \u0476\u0477 ","\u0477\u0478 \u0478\u0479 \u0479","\xDC\u047A\u047B \u047B","\u047C \u047C\u047D \u047D\u047E"," \f\u047E\u047F \r\u047F\u0480 ","\u0480\xDE\u0481\u0482 \f","\u0482\u0483 !\u0483\xE0\u0484","\u0485 \f\u0485\u0486 \u0486\u0487 ","\r\u0487\u0488 \u0488\u0489 ","\u0489\u048A \x07\u048A\xE2","\u048B\u048C \f\u048C\u048D \u048D","\u048E \f\u048E\u048F \u048F\u0490 ","\x07\u0490\xE4\u0491\u0492 ","\f\u0492\u0493 \r\u0493\xE6","\u0494\u0495 \f\u0495\u0496 \r\u0496","\u0497 \u0497\u0498 \u0498\u0499"," \u0499\u049A \u049A\u049B \x07","\u049B\xE8\u049C\u049D \f","\u049D\u049E \r\u049E\u049F \u049F","\u04A0 \u04A0\u04A1 \x07\u04A1\u04A2"," \v\u04A2\u04A3 \x07\u04A3\u04A4 \r","\u04A4\u04A5 \u04A5\xEA","\u04A6\u04A7 \f\u04A7\u04A8 \r","\u04A8\u04A9 \u04A9\u04AA \x07\u04AA","\u04AB \u04AB\xEC\u04AC\u04AD"," \f\u04AD\u04AE \r\u04AE\u04AF !","\u04AF\u04B0 \x07\u04B0\u04B1 \u04B1","\xEE\u04B2\u04B3 \f\u04B3\u04B4"," \r\u04B4\u04B5 \u04B5\u04B6 \f","\u04B6\u04B7 \r\u04B7\u04B8 \x07\u04B8","\xF0\u04B9\u04BA \f\u04BA\u04BB"," \r\u04BB\u04BC \r\u04BC\u04BD \x07","\u04BD\u04BE \u04BE\xF2","\u04BF\u04C0 \f\u04C0\u04C1 \r\u04C1","\u04C2 \u04C2\u04C3 \x07\u04C3\u04C4"," \u04C4\u04C5 \u04C5\xF4","\u04C6\u04C7 \f\u04C7\u04C8 \r","\u04C8\u04C9 \u04C9\u04CA \x07","\u04CA\u04CB \u04CB\u04CC \u04CC","\u04CD \x07\u04CD\u04CE \u04CE\u04CF"," \u04CF\xF6\u04D0\u04D1"," \f\u04D1\u04D2 \r\u04D2\u04D3 ","\u04D3\u04D4 \u04D4\xF8","\u04D5\u04D6 \f\u04D6\u04D7 \u04D7","\xFA\u04D8\u04D9 \f\u04D9\u04DA"," \u04DA\u04DB \u04DB\u04DC ","\u04DC\u04DD \u04DD\u04DE ","\u04DE\u04DF \f\u04DF\u04E0 \u04E0","\u04E1 \r\u04E1\xFC\u04E2\u04E3",' "\u04E3\u04E4 \u04E4\u04E5 ',"\u04E5\u04E6 \u04E6\u04E7 ","\u04E7\u04E8 \u04E8\u04E9 ","\u04E9\u04EA \f\u04EA\u04EB \u04EB\u04EC"," \u04EC\xFE\u04ED\u04EE",' "\u04EE\u04EF \u04EF\u04F0 \f',"\u04F0\u04F1 \r\u04F1\u0100","\u04F2\u04F3 \u04F3\u04F4 \x07\u04F4","\u04F5 \u04F5\u0102\u04F6","\u04F7 \u04F7\u04F8 \x07\u04F8\u04F9"," \u04F9\u04FA \u04FA\u0104","\u04FB\u04FC \u04FC\u04FD \x07","\u04FD\u04FE \u04FE\u04FF ","\u04FF\u0500 \u0500\u0501 ","\u0501\u0502 \u0502\u0503 \x07\u0503","\u0106\u0504\u0505 \u0505","\u0506 \r\u0506\u0507 \u0507\u0508 ","\x1B\u0508\u0509 \r\u0509\u0108","\u050A\u050B \u050B\u050C ","\u050C\u050D \r\u050D\u050E \u050E","\u050F \u050F\u0510 \u0510\u0511"," \u0511\u0512 \x07\u0512\u010A","\u0513\u0514 \u0514\u0515 ","\u0515\u0516 \u0516\u0517 ","\u0517\u010C\u0518\u0519 ","\u0519\u051A \x07\u051A\u051B !\u051B","\u051C \u051C\u010E\u051D","\u051E \u051E\u051F \x07\u051F\u0520"," \u0520\u0110\u0521\u0522"," \u0522\u0523 \x07\u0523\u0524 ","\u0524\u0525 \u0525\u0526 \f","\u0526\u0527 \r\u0527\u0528 \u0528\u0112","\u0529\u052A \u052A\u052B"," \x07\u052B\u052C \u052C\u052D \x07","\u052D\u052E \u052E\u0114","\u052F\u0530 \u0530\u0531 \f","\u0531\u0532 \u0532\u0533 \x07\u0533","\u0116\u0534\u0535 \u0535","\u0536 \f\u0536\u0537 \v\u0537\u0538 ","\f\u0538\u0539 \u0539\u0118","\u053A\u053B \u053B\u053C ","\u053C\u053D \v\u053D\u011A","\u053E\u053F \v\u053F\u0540 ","\u0540\u0541 \u0541\u011C","\u0542\u0543 \v\u0543\u0544 \u0544","\u0545 \u0545\u0546 \u0546\u0547"," \f\u0547\u0548 \r\u0548\u0549 ","\u0549\u011E\u054A\u054B \v","\u054B\u054C \u054C\u054D ","\u054D\u054E \u054E\u054F \u054F","\u0550 \x07\u0550\u0551 \u0551\u0120","\u0552\u0553 \v\u0553\u0554"," \u0554\u0555 \u0555\u0556 \x07","\u0556\u0557 \u0557\u0558 \f","\u0558\u0559 \u0559\u055A \u055A","\u055B \f\u055B\u055C \u055C\u055D ","\x07\u055D\u055E \u055E\u0122","\u055F\u0560 \v\u0560\u0561 \x07","\u0561\u0562 \u0562\u0563 ","\u0563\u0564 \x07\u0564\u0124","\u0565\u0566 \v\u0566\u0567 \f\u0567","\u0568 \u0568\u0569 \u0569\u056A"," \f\u056A\u056B \r\u056B\u056C ","\u056C\u0126\u056D\u056E \r","\u056E\u056F \u056F\u0570 \v\u0570","\u0571 \x07\u0571\u0572 \u0572\u0573"," \u0573\u0574 \u0574\u0575 ","\u0575\u0576 \x07\u0576\u0128","\u0577\u0578 \r\u0578\u0579 \x07","\u0579\u057A \u057A\u057B \u057B","\u012A\u057C\u057D \r\u057D\u057E"," \u057E\u012C\u057F\u0580"," \r\u0580\u0581 \u0581\u012E","\u0582\u0583 \r\u0583\u0584 ","\u0584\u0585 \u0585\u0130","\u0586\u0587 \r\u0587\u0588 \u0588\u0589"," \u0589\u058A #\u058A\u058B ","\u058B\u058C \u058C\u058D ","\u058D\u058E \u058E\u058F \x07","\u058F\u0132\u0590\u0591 \r\u0591","\u0592 \u0592\u0593 \u0593\u0594"," \u0594\u0134\u0595\u0596"," \r\u0596\u0597 \u0597\u0598 ","\u0598\u0599 \u0599\u059A ","\u059A\u0136\u059B\u059C \r","\u059C\u059D $\u059D\u059E \v\u059E\u059F"," \u059F\u05A0 \x07\u05A0\u05A1 ","\u05A1\u0138\u05A2\u05A3 ",'\u05A3\u05A4 \u05A4\u05A5 "',"\u05A5\u05A6 \x07\u05A6\u05A7 \u05A7","\u05A8 \u05A8\u013A\u05A9","\u05AA \u05AA\u05AB !\u05AB\u05AC ","!\u05AC\u05AD \u05AD\u05AE \x07","\u05AE\u05AF \u05AF\u013C","\u05B0\u05B1 \u05B1\u05B2 \r\u05B2","\u013E\u05B3\u05B4 \u05B4","\u05B5 \u05B5\u05B6 \u05B6\u05B7"," \f\u05B7\u05B8 \u05B8\u05B9 \r","\u05B9\u0140\u05BA\u05BB ","\u05BB\u05BC \u05BC\u05BD ","\u05BD\u05BE \f\u05BE\u05BF \u05BF\u05C0"," \r\u05C0\u05C1 \u05C1\u0142","\u05C2\u05C3 \u05C3\u05C4 ","\u05C4\u0144\u05C5\u05C6 ","\u05C6\u05C7 \u05C7\u05C8 ","\u05C8\u05C9 \x07\u05C9\u05CA \u05CA","\u0146\u05CB\u05CC \u05CC","\u05CD \u05CD\u05CE \u05CE\u05CF"," \x07\u05CF\u05D0 \u05D0\u05D1 ","\u05D1\u0148\u05D2\u05D3 ","\u05D3\u05D4 \u05D4\u05D5 ","\u05D5\u05D6 \x07\u05D6\u05D7 ","\u05D7\u014A\u05D8\u05D9 ","\u05D9\u05DA \u05DA\u05DB \x07\u05DB","\u05DC \u05DC\u014C\u05DD","\u05DE \u05DE\u05DF \u05DF\u05E0"," \u05E0\u05E1 \u05E1\u05E2 \x07","\u05E2\u014E\u05E3\u05E4 ","\u05E4\u05E5 \u05E5\u05E6 ","\u05E6\u05E7 \u05E7\u05E8 \f\u05E8","\u05E9 \u05E9\u05EA \f\u05EA\u05EB ","\u05EB\u05EC \r\u05EC\u0150","\u05ED\u05EE \u05EE\u05EF ","\u05EF\u05F0 \u05F0\u05F1 ","\u05F1\u05F2 \x1B\u05F2\u05F3 \u05F3","\u05F4 \u05F4\u05F5 \u05F5\u0152","\u05F6\u05F7 \u05F7\u05F8"," \u05F8\u05F9 \u05F9\u05FA ","\u05FA\u0154\u05FB\u05FC ","\u05FC\u05FD \u05FD\u05FE ","\u05FE\u05FF \u05FF\u0156","\u0600\u0601 \u0601\u0602 ","\u0602\u0603 \x07\u0603\u0604 \u0604","\u0605 \x07\u0605\u0606 \u0606\u0607"," \f\u0607\u0608 \r\u0608\u0609 ","\u0609\u0158\u060A\u060B ","\u060B\u060C \u060C\u060D \x07","\u060D\u060E \u060E\u060F \u060F","\u0610 \u0610\u0611 \x07\u0611\u015A","\u0612\u0613 \u0613\u0614"," \u0614\u0615 \f\u0615\u0616 \v","\u0616\u0617 \u0617\u0618 ","\u0618\u0619 \u0619\u015C","\u061A\u061B \u061B\u061C ","\u061C\u061D \f\u061D\u061E \u061E\u061F"," \u061F\u0620 \u0620\u0621 \x07","\u0621\u015E\u0622\u0623 ","\u0623\u0624 \u0624\u0625 \f","\u0625\u0626 \u0626\u0627 \f\u0627\u0628"," \u0628\u0629 \x07\u0629\u062A ","\u062A\u062B \x07\u062B\u0160","\u062C\u062D \u062D\u062E ","\u062E\u062F \u062F\u0630 ","\u0630\u0631 \x07\u0631\u0632 \u0632","\u0633 \u0633\u0634 \u0634\u0635"," \x07\u0635\u0162\u0636\u0637"," \u0637\u0638 \u0638\u0639 ","\u0639\u063A \u063A\u063B \x07","\u063B\u0164\u063C\u063D ","\u063D\u063E \u063E\u063F ","\u063F\u0640 \u0640\u0641 \f\u0641\u0642"," \u0642\u0166\u0643\u0644"," \u0644\u0645 \u0645\u0646 \r","\u0646\u0647 \u0647\u0648 \x07","\u0648\u0168\u0649\u064A ","\u064A\u064B \u064B\u064C \x1B","\u064C\u016A\u064D\u064E ","\u064E\u064F \x07\u064F\u0650 \u0650","\u0651 \u0651\u016C\u0652","\u0653 \u0653\u0654 \x07\u0654\u0655"," \u0655\u0656 \u0656\u0657 \v","\u0657\u016E\u0658\u0659 ","\u0659\u065A \x07\u065A\u065B ","\u065B\u065C \u065C\u065D ","\u065D\u065E \x07\u065E\u0170","\u065F\u0660 \u0660\u0661 \x07\u0661","\u0662 \r\u0662\u0663 \u0663\u0664 ","\v\u0664\u0665 \x07\u0665\u0172","\u0666\u0667 \u0667\u0668 \x07","\u0668\u0669 \u0669\u066A ","\u066A\u066B \u066B\u066C ","\u066C\u066D \x07\u066D\u0174","\u066E\u066F \u066F\u0670 \x07\u0670","\u0671 \u0671\u0672 \u0672\u0673"," \x07\u0673\u0674 \u0674\u0675 ","\u0675\u0176\u0676\u0677 ","\u0677\u0678 \x07\u0678\u0679 ","\u0679\u067A \u067A\u067B ","\u067B\u067C \r\u067C\u0178\u067D","\u067E \u067E\u067F \x07\u067F\u0680"," \u0680\u0681 \u0681\u0682 ","\u0682\u0683 \r\u0683\u0684 \f","\u0684\u0685 \r\u0685\u0686 \u0686\u017A","\u0687\u0688 \u0688\u0689"," \x07\u0689\u068A \u068A\u068B ","\u068B\u068C \u068C\u068D \x07","\u068D\u017C\u068E\u068F ","\u068F\u0690 \f\u0690\u0691 \u0691","\u0692 \u0692\u0693 \u0693\u017E","\u0694\u0695 \u0695\u0696"," \u0696\u0697 \u0697\u0698 \x07","\u0698\u0180\u0699\u069A ","\u069A\u069B \u069B\u069C ","\u069C\u069D \u069D\u069E ","\u069E\u069F \u069F\u06A0 \u06A0","\u06A1 \u06A1\u0182\u06A2","\u06A3 \u06A3\u06A4 \u06A4\u06A5"," \x1B\u06A5\u0184\u06A6\u06A7"," \u06A7\u06A8 \u06A8\u06A9 \x1B","\u06A9\u06AA \u06AA\u0186","\u06AB\u06AC \u06AC\u06AD ","\u06AD\u06AE \u06AE\u06AF \f\u06AF","\u06B0 \u06B0\u06B1 !\u06B1\u06B2 ","\f\u06B2\u06B3 \x07\u06B3\u06B4 ","\u06B4\u0188\u06B5\u06B6 ","\u06B6\u06B7 \u06B7\u06B8 ","\u06B8\u06B9 \x07\u06B9\u06BA \u06BA","\u06BB \u06BB\u06BC \f\u06BC\u06BD ","\r\u06BD\u06BE \u06BE\u018A","\u06BF\u06C0 \u06C0\u06C1 ","\u06C1\u06C2 \u06C2\u06C3 \x07","\u06C3\u06C4 \v\u06C4\u06C5 \u06C5","\u018C\u06C6\u06C7 \u06C7","\u06C8 \u06C8\u06C9 \u06C9\u06CA"," \u06CA\u06CB \x07\u06CB\u018E","\u06CC\u06CD \u06CD\u06CE \x07","\u06CE\u06CF \u06CF\u06D0 \x07","\u06D0\u06D1 \u06D1\u06D2 ","\u06D2\u0190\u06D3\u06D4 ","\u06D4\u06D5 \x07\u06D5\u06D6 \u06D6","\u06D7 !\u06D7\u0192\u06D8\u06D9"," \u06D9\u06DA \x07\u06DA\u06DB ","\u06DB\u0194\u06DC\u06DD ","\u06DD\u06DE \u06DE\u06DF ","\u06DF\u06E0 \x1B\u06E0\u0196","\u06E1\u06E2 \u06E2\u06E3 ","\u06E3\u06E4 \v\u06E4\u06E5 \x07\u06E5","\u0198\u06E6\u06E7 \u06E7","\u06E8 \u06E8\u06E9 \u06E9\u06EA"," \u06EA\u06EB \u06EB\u019A","\u06EC\u06ED \u06ED\u06EE ","\u06EE\u06EF \u06EF\u06F0 ","\u06F0\u06F1 \f\u06F1\u06F2 \u06F2","\u06F3 \u06F3\u06F4 \f\u06F4\u06F5 ","\u06F5\u06F6 \u06F6\u019C","\u06F7\u06F8 \u06F8\u06F9 ","\u06F9\u06FA \u06FA\u06FB \f","\u06FB\u06FC \r\u06FC\u06FD \u06FD\u019E","\u06FE\u06FF \u06FF\u0700"," \u0700\u0701 \u0701\u0702 ","\u0702\u0703 \x07\u0703\u0704 \v","\u0704\u01A0\u0705\u0706 ","\u0706\u0707 \u0707\u0708 \x07","\u0708\u0709 \r\u0709\u01A2\u070A","\u070B \u070B\u070C \f\u070C\u070D ","\x07\u070D\u070E \u070E\u01A4","\u070F\u0710 \u0710\u0711 ","\u0711\u01A6\u0712\u0713 ","\u0713\u0714 \u0714\u0715 ","\u0715\u0716 \r\u0716\u01A8","\u0717\u0718 \u0718\u0719 \u0719","\u071A \u071A\u071B \r\u071B\u071C ","\u071C\u071D \u071D\u071E ","\u071E\u071F \u071F\u0720 \f","\u0720\u0721 \u0721\u0722 \r\u0722\u01AA","\u0723\u0724 \u0724\u0725"," \u0725\u0726 \f\u0726\u0727 ","\u0727\u0728 \u0728\u0729 \x07","\u0729\u072A \u072A\u01AC","\u072B\u072C \u072C\u072D ","\u072D\u072E \u072E\u072F \x07\u072F","\u01AE\u0730\u0731 \u0731","\u0732 \u0732\u0733 \u0733\u0734"," \r\u0734\u0735 \u0735\u0736 ","\u0736\u0737 \u0737\u0738 \x07","\u0738\u01B0\u0739\u073A ","\u073A\u073B \r\u073B\u073C \u073C","\u073D \u073D\u073E \u073E\u073F"," \r\u073F\u0740 \u0740\u0741 \x07","\u0741\u0742 \u0742\u01B2","\u0743\u0744 \u0744\u0745 \r","\u0745\u0746 \u0746\u0747 \x07\u0747","\u0748 \u0748\u01B4\u0749","\u074A \u074A\u074B \r\u074B\u074C ","\f\u074C\u074D \u074D\u074E \r","\u074E\u01B6\u074F\u0750 ","\u0750\u0751 \r\u0751\u0752 \f\u0752","\u0753 %\u0753\u0754 \u0754\u0755 ","\x07\u0755\u01B8\u0756\u0757 ","\u0757\u0758 \r\u0758\u0759 ","\u0759\u075A \r\u075A\u075B \u075B","\u075C \x1B\u075C\u075D \r\u075D\u01BA","\u075E\u075F \u075F\u0760 \r","\u0760\u0761 \r\u0761\u0762 \x07\u0762","\u0763 \u0763\u0764 \u0764\u01BC","\u0765\u0766 \u0766\u0767"," \r\u0767\u0768 \u0768\u0769 \x07","\u0769\u076A \u076A\u01BE","\u076B\u076C \u076C\u076D ","\u076D\u076E \u076E\u076F ","\u076F\u0770 \u0770\u0771 \x07\u0771","\u01C0\u0772\u0773 \u0773","\u0774 \u0774\u0775 \u0775\u0776"," \x07\u0776\u0777 \u0777\u0778 ","\u0778\u01C2\u0779\u077A ","\u077A\u077B \u077B\u077C \x07","\u077C\u01C4\u077D\u077E ","\u077E\u077F \u077F\u0780 \x07","\u0780\u0781 \u0781\u01C6","\u0782\u0783 \u0783\u0784 \u0784","\u0785 \f\u0785\u0786 \r\u0786\u0787 ","\u0787\u01C8\u0788\u0789 ","\u0789\u078A \u078A\u078B ","\u078B\u078C \f\u078C\u078D \u078D","\u078E \u078E\u078F \u078F\u0790"," \x07\u0790\u01CA\u0791\u0792"," \u0792\u0793 \u0793\u0794 ","\u0794\u0795 \u0795\u0796 \x07","\u0796\u01CC\u0797\u0798 ","\u0798\u0799 \u0799\u079A ","\u079A\u079B \u079B\u079C \x07\u079C","\u079D \u079D\u01CE\u079E","\u079F \u079F\u07A0 \u07A0\u07A1"," \u07A1\u07A2 \u07A2\u07A3 \x07","\u07A3\u07A4 \u07A4\u01D0","\u07A5\u07A6 \u07A6\u07A7 \f","\u07A7\u07A8 \u07A8\u01D2","\u07A9\u07AA \u07AA\u07AB \f\u07AB\u07AC"," \x07\u07AC\u07AD \x1B\u07AD\u01D4","\u07AE\u07AF \x1B\u07AF\u07B0 ","\u07B0\u07B1 \x07\u07B1\u07B2 \r","\u07B2\u01D6\u07B3\u07B4 \x1B","\u07B4\u07B5 \u07B5\u07B6 \x07\u07B6","\u07B7 \u07B7\u07B8 \x07\u07B8\u01D8","\u07B9\u07BA \x1B\u07BA\u07BB"," \u07BB\u07BC \f\u07BC\u07BD ","\u07BD\u07BE \x07\u07BE\u01DA","\u07BF\u07C0 \x1B\u07C0\u07C1 \f","\u07C1\u07C2 \r\u07C2\u07C3 \u07C3\u07C4"," \u07C4\u07C5 \x1B\u07C5\u01DC","\u07C6\u07C7 \x1B\u07C7\u07C8 \f","\u07C8\u07C9 \u07C9\u07CA ","\u07CA\u01DE\u07CB\u07CC \x1B","\u07CC\u07CD \f\u07CD\u07CE \u07CE\u07CF"," \u07CF\u07D0 \f\u07D0\u07D1 \r","\u07D1\u01E0\u07D2\u07D3 \x1B","\u07D3\u07D4 \u07D4\u07D5 ","\u07D5\u07D6 \u07D6\u01E2","\u07D7\u07D8 \u07D8\u07D9 \u07D9\u07DA"," \u07DA\u01E4\u07DB\u07DC",`\x07b\u07DC\u07DF\x07b\u07DD\u07DF +&`,"\u07DE\u07DB\u07DE\u07DD","\u07DF\u01E6\u07E0\u07E1 '","\u07E1\u01E8\u07E2\u07E3 (\u07E3","\u01EA\u07E4\u07E6\x07b\u07E5","\u07E7\u01E5\xF3\u07E6\u07E5\u07E7","\u07E8\u07E8\u07E6\u07E8","\u07E9\u07E9\u07EA\u07EA","\u07EB\x07b\u07EB\u07EC\x07k\u07EC\u01EC","\u07ED\u07EF\x07b\u07EE\u07F0","\u01E5\xF3\u07EF\u07EE\u07F0\u07F1","\u07F1\u07EF\u07F1\u07F2","\u07F2\u07F3\u07F3\u07F4","\x07b\u07F4\u07FD\u07F5\u07F9","\u01E7\xF4\u07F6\u07F8\u01E9\xF5\u07F7\u07F6","\u07F8\u07FB\u07F9\u07F7","\u07F9\u07FA\u07FA\u07FD","\u07FB\u07F9\u07FC\u07ED","\u07FC\u07F5\u07FD\u01EE","\u07FE\u07FF\x07&\u07FF\u0803","\u01E7\xF4\u0800\u0802\u01E9\xF5\u0801\u0800","\u0802\u0805\u0803\u0801","\u0803\u0804\u0804\u01F0","\u0805\u0803\u0806\u0807","\x07&\u0807\u080B )\u0808\u080A ","\u0809\u0808\u080A\u080D","\u080B\u0809\u080B\u080C","\u080C\u01F2\u080D\u080B","\u080E\u080F\x07A\u080F\u01F4","\u01FC\u0203\u0209\u0211\u0215\u0218\u0221\u0224\u0228","\u022D\u0236\u0239\u023E\u0246\u0252\u0258\u0266\u0277\u07DE\u07E8\u07F1","\u07F9\u07FC\u0803\u080B\b"].join(""),Up=new Pr.atn.ATNDeserializer().deserialize(qN),GN=Up.decisionToState.map((l,u)=>new Pr.dfa.DFA(l,u)),Yt=class Yt extends Pr.Lexer{constructor(u){super(u),this._interp=new Pr.atn.LexerATNSimulator(this,Up,GN,new Pr.PredictionContextCache)}get atn(){return Up}};h(Yt,"n1qlLexer"),Pu(Yt,"grammarFileName","n1ql.g4"),Pu(Yt,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),Pu(Yt,"modeNames",["DEFAULT_MODE"]),Pu(Yt,"literalNames",[null,null,null,null,null,null,null,"'.'","'+'",null,"'*'","'/'","'%'","'=='","'='",null,"'<'","'<='","'>'","'>='","'||'","'('","')'","'{'","'}'","','","':'","'['","']'","']i'","';'","'!'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'?'"]),Pu(Yt,"symbolicNames",[null,"STR","INT","NUM","BLOCK_COMMENT","LINE_COMMENT","WHITESPACE","DOT","PLUS","MINUS","STAR","DIV","MOD","DEQ","EQ","NE","LT","LE","GT","GE","CONCAT","LPAREN","RPAREN","LBRACE","RBRACE","COMMA","COLON","LBRACKET","RBRACKET","RBRACKET_ICASE","SEMI","NOT_A_TOKEN","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","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","PROCEDURE","PROBE","PUBLIC","RANGE","RAW","READ","REALM","REDUCE","RENAME","REPLACE","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","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","IDENT_ICASE","IDENT","NAMED_PARAM","POSITIONAL_PARAM","NEXT_PARAM"]),Pu(Yt,"ruleNames",["SingleStringCharacter","DoubleStringCharacter","STR","NumStart","Digit","Int","Exponent","INT","NUM","BLOCK_COMMENT","LINE_COMMENT","WHITESPACE","DOT","PLUS","MINUS","STAR","DIV","MOD","DEQ","EQ","NE","LT","LE","GT","GE","CONCAT","LPAREN","RPAREN","LBRACE","RBRACE","COMMA","COLON","LBRACKET","RBRACKET","RBRACKET_ICASE","SEMI","NOT_A_TOKEN","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","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","PROCEDURE","PROBE","PUBLIC","RANGE","RAW","READ","REALM","REDUCE","RENAME","REPLACE","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","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","IdentChar","IdentFirstChar","IdentLaterChar","IDENT_ICASE","IDENT","NAMED_PARAM","POSITIONAL_PARAM","NEXT_PARAM"]);var g=Yt;g.EOF=Pr.Token.EOF;g.STR=1;g.INT=2;g.NUM=3;g.BLOCK_COMMENT=4;g.LINE_COMMENT=5;g.WHITESPACE=6;g.DOT=7;g.PLUS=8;g.MINUS=9;g.STAR=10;g.DIV=11;g.MOD=12;g.DEQ=13;g.EQ=14;g.NE=15;g.LT=16;g.LE=17;g.GT=18;g.GE=19;g.CONCAT=20;g.LPAREN=21;g.RPAREN=22;g.LBRACE=23;g.RBRACE=24;g.COMMA=25;g.COLON=26;g.LBRACKET=27;g.RBRACKET=28;g.RBRACKET_ICASE=29;g.SEMI=30;g.NOT_A_TOKEN=31;g.ADVISE=32;g.ALL=33;g.ALTER=34;g.ANALYZE=35;g.AND=36;g.ANY=37;g.ARRAY=38;g.AS=39;g.ASC=40;g.AT=41;g.BEGIN=42;g.BETWEEN=43;g.BINARY=44;g.BOOLEAN=45;g.BREAK=46;g.BUCKET=47;g.BUILD=48;g.BY=49;g.CALL=50;g.CASE=51;g.CAST=52;g.CLUSTER=53;g.COLLATE=54;g.COLLECTION=55;g.COMMIT=56;g.COMMITTED=57;g.CONNECT=58;g.CONTINUE=59;g.CORRELATED=60;g.COVER=61;g.CREATE=62;g.CURRENT=63;g.DATABASE=64;g.DATASET=65;g.DATASTORE=66;g.DECLARE=67;g.DECREMENT=68;g.DELETE_=69;g.DERIVED=70;g.DESC=71;g.DESCRIBE=72;g.DISTINCT=73;g.DO=74;g.DROP=75;g.EACH=76;g.ELEMENT=77;g.ELSE=78;g.END=79;g.EVERY=80;g.EXCEPT=81;g.EXCLUDE=82;g.EXECUTE=83;g.EXISTS=84;g.EXPLAIN=85;g.FALSE=86;g.FETCH=87;g.FILTER=88;g.FIRST=89;g.FLATTEN=90;g.FLUSH=91;g.FOLLOWING=92;g.FOR=93;g.FORCE=94;g.FROM=95;g.FTS=96;g.FUNCTION=97;g.GOLANG=98;g.GRANT=99;g.GROUP=100;g.GROUPS=101;g.GSI=102;g.HASH=103;g.HAVING=104;g.IF=105;g.IGNORE=106;g.ILIKE=107;g.IN=108;g.INCLUDE=109;g.INCREMENT=110;g.INDEX=111;g.INFER=112;g.INLINE=113;g.INNER=114;g.INSERT=115;g.INTERSECT=116;g.INTO=117;g.IS=118;g.ISOLATION=119;g.JAVASCRIPT=120;g.JOIN=121;g.KEY=122;g.KEYS=123;g.KEYSPACE=124;g.KNOWN=125;g.LANGUAGE=126;g.LAST=127;g.LEFT=128;g.LET_=129;g.LETTING=130;g.LEVEL=131;g.LIKE=132;g.LIMIT=133;g.LSM=134;g.MAP=135;g.MAPPING=136;g.MATCHED=137;g.MATERIALIZED=138;g.MERGE=139;g.MISSING=140;g.NAMESPACE=141;g.NEST=142;g.NL=143;g.NO=144;g.NOT=145;g.NTH_VALUE=146;g.NULL=147;g.NULLS=148;g.NUMBER=149;g.OBJECT=150;g.OFFSET=151;g.ON=152;g.OPTION=153;g.OPTIONS=154;g.OR=155;g.ORDER=156;g.OTHERS=157;g.OUTER=158;g.OVER=159;g.PARSE=160;g.PARTITION=161;g.PASSWORD=162;g.PATH=163;g.POOL=164;g.PRECEDING=165;g.PREPARE=166;g.PRIMARY=167;g.PRIVATE=168;g.PRIVILEGE=169;g.PROCEDURE=170;g.PROBE=171;g.PUBLIC=172;g.RANGE=173;g.RAW=174;g.READ=175;g.REALM=176;g.REDUCE=177;g.RENAME=178;g.REPLACE=179;g.RESPECT=180;g.RETURN=181;g.RETURNING=182;g.REVOKE=183;g.RIGHT=184;g.ROLE=185;g.ROLLBACK=186;g.ROW=187;g.ROWS=188;g.SATISFIES=189;g.SAVEPOINT=190;g.SCHEMA=191;g.SCOPE=192;g.SELECT=193;g.SELF=194;g.SET=195;g.SHOW=196;g.SOME=197;g.START=198;g.STATISTICS=199;g.STRING=200;g.SYSTEM=201;g.THEN=202;g.TIES=203;g.TO=204;g.TRAN=205;g.TRANSACTION=206;g.TRIGGER=207;g.TRUE=208;g.TRUNCATE=209;g.UNBOUNDED=210;g.UNDER=211;g.UNION=212;g.UNIQUE=213;g.UNKNOWN=214;g.UNNEST=215;g.UNSET=216;g.UPDATE=217;g.UPSERT=218;g.USE=219;g.USER=220;g.USING=221;g.VALIDATE=222;g.VALUE=223;g.VALUED=224;g.VALUES=225;g.VIA=226;g.VIEW=227;g.WHEN=228;g.WHERE=229;g.WHILE=230;g.WINDOW=231;g.WITH=232;g.WITHIN=233;g.WORK=234;g.XOR=235;g.IDENT_ICASE=236;g.IDENT=237;g.NAMED_PARAM=238;g.POSITIONAL_PARAM=239;g.NEXT_PARAM=240;LT.exports=g});var Sp=$((HI,NT)=>{var VN=vr(),Pp=class Pp extends VN.tree.ParseTreeVisitor{visitStatements(u){return this.visitChildren(u)}visitInput(u){return this.visitChildren(u)}visitOpt_trailer(u){return this.visitChildren(u)}visitStmt_body(u){return this.visitChildren(u)}visitStmt(u){return this.visitChildren(u)}visitAdvise(u){return this.visitChildren(u)}visitOpt_index(u){return this.visitChildren(u)}visitExplain(u){return this.visitChildren(u)}visitPrepare(u){return this.visitChildren(u)}visitOpt_force(u){return this.visitChildren(u)}visitOpt_name(u){return this.visitChildren(u)}visitFrom_or_as(u){return this.visitChildren(u)}visitExecute(u){return this.visitChildren(u)}visitExecute_using(u){return this.visitChildren(u)}visitInfer(u){return this.visitChildren(u)}visitOpt_keyspace_collection(u){return this.visitChildren(u)}visitOpt_infer_using(u){return this.visitChildren(u)}visitOpt_infer_ustat_with(u){return this.visitChildren(u)}visitInfer_ustat_with(u){return this.visitChildren(u)}visitSelect_stmt(u){return this.visitChildren(u)}visitDml_stmt(u){return this.visitChildren(u)}visitDdl_stmt(u){return this.visitChildren(u)}visitRole_stmt(u){return this.visitChildren(u)}visitIndex_stmt(u){return this.visitChildren(u)}visitScope_stmt(u){return this.visitChildren(u)}visitCollection_stmt(u){return this.visitChildren(u)}visitFunction_stmt(u){return this.visitChildren(u)}visitTransaction_stmt(u){return this.visitChildren(u)}visitFullselect(u){return this.visitChildren(u)}visitSelect_terms(u){return this.visitChildren(u)}visitSelect_term(u){return this.visitChildren(u)}visitSubselect(u){return this.visitChildren(u)}visitFrom_select(u){return this.visitChildren(u)}visitSelect_from(u){return this.visitChildren(u)}visitSelect_clause(u){return this.visitChildren(u)}visitProjection(u){return this.visitChildren(u)}visitOpt_quantifier(u){return this.visitChildren(u)}visitRaw(u){return this.visitChildren(u)}visitProjects(u){return this.visitChildren(u)}visitProject(u){return this.visitChildren(u)}visitOpt_as_alias(u){return this.visitChildren(u)}visitAs_alias(u){return this.visitChildren(u)}visitAlias(u){return this.visitChildren(u)}visitOpt_from(u){return this.visitChildren(u)}visitFrom(u){return this.visitChildren(u)}visitFrom_term(u){return this.visitChildren(u)}visitSimple_from_term(u){return this.visitChildren(u)}visitUnnest(u){return this.visitChildren(u)}visitKeyspace_term(u){return this.visitChildren(u)}visitKeyspace_path(u){return this.visitChildren(u)}visitNamespace_term(u){return this.visitChildren(u)}visitNamespace_name(u){return this.visitChildren(u)}visitBucket_name(u){return this.visitChildren(u)}visitScope_name(u){return this.visitChildren(u)}visitKeyspace_name(u){return this.visitChildren(u)}visitOpt_use(u){return this.visitChildren(u)}visitUse_options(u){return this.visitChildren(u)}visitUse_keys(u){return this.visitChildren(u)}visitUse_index(u){return this.visitChildren(u)}visitJoin_hint(u){return this.visitChildren(u)}visitOpt_primary(u){return this.visitChildren(u)}visitIndex_refs(u){return this.visitChildren(u)}visitIndex_ref(u){return this.visitChildren(u)}visitUse_hash_option(u){return this.visitChildren(u)}visitOpt_use_del_upd(u){return this.visitChildren(u)}visitOpt_join_type(u){return this.visitChildren(u)}visitOpt_outer(u){return this.visitChildren(u)}visitOn_keys(u){return this.visitChildren(u)}visitOn_key(u){return this.visitChildren(u)}visitOpt_let(u){return this.visitChildren(u)}visitLet_(u){return this.visitChildren(u)}visitBindings(u){return this.visitChildren(u)}visitBinding(u){return this.visitChildren(u)}visitOpt_with(u){return this.visitChildren(u)}visitWith_list(u){return this.visitChildren(u)}visitWith_term(u){return this.visitChildren(u)}visitOpt_where(u){return this.visitChildren(u)}visitWhere(u){return this.visitChildren(u)}visitOpt_group(u){return this.visitChildren(u)}visitGroup(u){return this.visitChildren(u)}visitGroup_terms(u){return this.visitChildren(u)}visitGroup_term(u){return this.visitChildren(u)}visitOpt_letting(u){return this.visitChildren(u)}visitLetting(u){return this.visitChildren(u)}visitOpt_having(u){return this.visitChildren(u)}visitHaving(u){return this.visitChildren(u)}visitOpt_order_by(u){return this.visitChildren(u)}visitOrder_by(u){return this.visitChildren(u)}visitSort_terms(u){return this.visitChildren(u)}visitSort_term(u){return this.visitChildren(u)}visitOpt_dir(u){return this.visitChildren(u)}visitDir(u){return this.visitChildren(u)}visitOpt_order_nulls(u){return this.visitChildren(u)}visitFirst_last(u){return this.visitChildren(u)}visitNulls(u){return this.visitChildren(u)}visitOpt_limit(u){return this.visitChildren(u)}visitLimit(u){return this.visitChildren(u)}visitOpt_offset(u){return this.visitChildren(u)}visitOffset(u){return this.visitChildren(u)}visitInsert(u){return this.visitChildren(u)}visitSimple_keyspace_ref(u){return this.visitChildren(u)}visitKeyspace_ref(u){return this.visitChildren(u)}visitOpt_values_header(u){return this.visitChildren(u)}visitKey(u){return this.visitChildren(u)}visitValues_list(u){return this.visitChildren(u)}visitValues(u){return this.visitChildren(u)}visitNext_values(u){return this.visitChildren(u)}visitKey_val_expr(u){return this.visitChildren(u)}visitKey_val_options_expr(u){return this.visitChildren(u)}visitOpt_returning(u){return this.visitChildren(u)}visitReturning(u){return this.visitChildren(u)}visitReturns_(u){return this.visitChildren(u)}visitKey_expr_header(u){return this.visitChildren(u)}visitValue_expr_header(u){return this.visitChildren(u)}visitOptions_expr_header(u){return this.visitChildren(u)}visitKey_val_options_expr_header(u){return this.visitChildren(u)}visitUpsert(u){return this.visitChildren(u)}visitDelete_(u){return this.visitChildren(u)}visitUpdate(u){return this.visitChildren(u)}visitSet(u){return this.visitChildren(u)}visitSet_terms(u){return this.visitChildren(u)}visitSet_term(u){return this.visitChildren(u)}visitFunction_meta_expr(u){return this.visitChildren(u)}visitOpt_update_for(u){return this.visitChildren(u)}visitUpdate_for(u){return this.visitChildren(u)}visitUpdate_dimensions(u){return this.visitChildren(u)}visitUpdate_dimension(u){return this.visitChildren(u)}visitUpdate_binding(u){return this.visitChildren(u)}visitVariable(u){return this.visitChildren(u)}visitOpt_when(u){return this.visitChildren(u)}visitUnset(u){return this.visitChildren(u)}visitUnset_terms(u){return this.visitChildren(u)}visitUnset_term(u){return this.visitChildren(u)}visitMerge(u){return this.visitChildren(u)}visitOpt_use_merge(u){return this.visitChildren(u)}visitOpt_key(u){return this.visitChildren(u)}visitMerge_actions(u){return this.visitChildren(u)}visitOpt_merge_delete_insert(u){return this.visitChildren(u)}visitOpt_merge_insert(u){return this.visitChildren(u)}visitMerge_update(u){return this.visitChildren(u)}visitMerge_delete(u){return this.visitChildren(u)}visitMerge_insert(u){return this.visitChildren(u)}visitGrant_role(u){return this.visitChildren(u)}visitRole_list(u){return this.visitChildren(u)}visitRole_name(u){return this.visitChildren(u)}visitKeyspace_scope_list(u){return this.visitChildren(u)}visitKeyspace_scope(u){return this.visitChildren(u)}visitUser_list(u){return this.visitChildren(u)}visitUser(u){return this.visitChildren(u)}visitRevoke_role(u){return this.visitChildren(u)}visitCreate_scope(u){return this.visitChildren(u)}visitDrop_scope(u){return this.visitChildren(u)}visitCreate_collection(u){return this.visitChildren(u)}visitDrop_collection(u){return this.visitChildren(u)}visitFlush_collection(u){return this.visitChildren(u)}visitFlush_or_truncate(u){return this.visitChildren(u)}visitCreate_index(u){return this.visitChildren(u)}visitCreate_primary_index(u){return this.visitChildren(u)}visitOpt_primary_name(u){return this.visitChildren(u)}visitIndex_name(u){return this.visitChildren(u)}visitOpt_index_name(u){return this.visitChildren(u)}visitNamed_keyspace_ref(u){return this.visitChildren(u)}visitSimple_named_keyspace_ref(u){return this.visitChildren(u)}visitNamed_scope_ref(u){return this.visitChildren(u)}visitIndex_partition(u){return this.visitChildren(u)}visitOpt_index_using(u){return this.visitChildren(u)}visitIndex_using(u){return this.visitChildren(u)}visitOpt_index_with(u){return this.visitChildren(u)}visitIndex_with(u){return this.visitChildren(u)}visitIndex_terms(u){return this.visitChildren(u)}visitIndex_term(u){return this.visitChildren(u)}visitIndex_term_expr(u){return this.visitChildren(u)}visitIndex_expr(u){return this.visitChildren(u)}visitAll(u){return this.visitChildren(u)}visitIndex_where(u){return this.visitChildren(u)}visitOpt_ikattr(u){return this.visitChildren(u)}visitIkattr(u){return this.visitChildren(u)}visitDrop_index(u){return this.visitChildren(u)}visitAlter_index(u){return this.visitChildren(u)}visitBuild_index(u){return this.visitChildren(u)}visitCreate_function(u){return this.visitChildren(u)}visitOpt_replace(u){return this.visitChildren(u)}visitFunc_name(u){return this.visitChildren(u)}visitShort_func_name(u){return this.visitChildren(u)}visitLong_func_name(u){return this.visitChildren(u)}visitParm_list(u){return this.visitChildren(u)}visitParameter_terms(u){return this.visitChildren(u)}visitFunc_body(u){return this.visitChildren(u)}visitDrop_function(u){return this.visitChildren(u)}visitExecute_function(u){return this.visitChildren(u)}visitUpdate_statistics(u){return this.visitChildren(u)}visitOpt_for(u){return this.visitChildren(u)}visitUpdate_stat_terms(u){return this.visitChildren(u)}visitUpdate_stat_term(u){return this.visitChildren(u)}visitPath(u){return this.visitChildren(u)}visitExpr(u){return this.visitChildren(u)}visitValued(u){return this.visitChildren(u)}visitC_expr(u){return this.visitChildren(u)}visitB_expr(u){return this.visitChildren(u)}visitLiteral(u){return this.visitChildren(u)}visitConstruction_expr(u){return this.visitChildren(u)}visitObject(u){return this.visitChildren(u)}visitOpt_members(u){return this.visitChildren(u)}visitMembers(u){return this.visitChildren(u)}visitMember(u){return this.visitChildren(u)}visitArray(u){return this.visitChildren(u)}visitOpt_exprs(u){return this.visitChildren(u)}visitExprs(u){return this.visitChildren(u)}visitParam_expr(u){return this.visitChildren(u)}visitCase_expr(u){return this.visitChildren(u)}visitSimple_or_searched_case(u){return this.visitChildren(u)}visitSimple_case(u){return this.visitChildren(u)}visitWhen_thens(u){return this.visitChildren(u)}visitSearched_case(u){return this.visitChildren(u)}visitOpt_else(u){return this.visitChildren(u)}visitFunction_expr(u){return this.visitChildren(u)}visitFunction_name(u){return this.visitChildren(u)}visitCollection_expr(u){return this.visitChildren(u)}visitCollection_cond(u){return this.visitChildren(u)}visitColl_bindings(u){return this.visitChildren(u)}visitColl_binding(u){return this.visitChildren(u)}visitSatisfies(u){return this.visitChildren(u)}visitCollection_xform(u){return this.visitChildren(u)}visitParen_expr(u){return this.visitChildren(u)}visitSubquery_expr(u){return this.visitChildren(u)}visitExpr_input(u){return this.visitChildren(u)}visitAll_expr(u){return this.visitChildren(u)}visitOpt_window_clause(u){return this.visitChildren(u)}visitWindow_list(u){return this.visitChildren(u)}visitWindow_term(u){return this.visitChildren(u)}visitWindow_specification(u){return this.visitChildren(u)}visitOpt_window_name(u){return this.visitChildren(u)}visitOpt_window_partition(u){return this.visitChildren(u)}visitOpt_window_frame(u){return this.visitChildren(u)}visitWindow_frame_modifier(u){return this.visitChildren(u)}visitOpt_window_frame_exclusion(u){return this.visitChildren(u)}visitWindow_frame_extents(u){return this.visitChildren(u)}visitWindow_frame_extent(u){return this.visitChildren(u)}visitWindow_frame_valexpr_modifier(u){return this.visitChildren(u)}visitOpt_nulls_treatment(u){return this.visitChildren(u)}visitNulls_treatment(u){return this.visitChildren(u)}visitOpt_from_first_last(u){return this.visitChildren(u)}visitAgg_quantifier(u){return this.visitChildren(u)}visitOpt_filter(u){return this.visitChildren(u)}visitOpt_window_function(u){return this.visitChildren(u)}visitWindow_function_details(u){return this.visitChildren(u)}visitStart_transaction(u){return this.visitChildren(u)}visitCommit_transaction(u){return this.visitChildren(u)}visitRollback_transaction(u){return this.visitChildren(u)}visitStart_or_begin(u){return this.visitChildren(u)}visitOpt_transaction(u){return this.visitChildren(u)}visitTransaction(u){return this.visitChildren(u)}visitOpt_savepoint(u){return this.visitChildren(u)}visitSavepoint_name(u){return this.visitChildren(u)}visitOpt_isolation_level(u){return this.visitChildren(u)}visitIsolation_level(u){return this.visitChildren(u)}visitIsolation_val(u){return this.visitChildren(u)}visitSet_transaction_isolation(u){return this.visitChildren(u)}visitSavepoint(u){return this.visitChildren(u)}visitIf_exists(u){return this.visitChildren(u)}visitIf_not_exists(u){return this.visitChildren(u)}};h(Pp,"n1qlVisitor");var vp=Pp;NT.exports=vp});var OT=$((kI,wT)=>{var o=vr(),C=Sp(),KN=["\u608B\uA72A\u8133\uB9ED\u417C\u3BE7\u7786","\u5964\xF2\u0AE5  ","   \x07 ",`\x07\b \b  - return { - dbClusterIdentifier, - region, - }; - } catch (e) { - logger.error(e); - } -}; +\v \v`,"\f \f\r \r  ","    ","   ","    ","\x1B \x1B  ",'   ! !" "#'," #$ $% %& &' '( () )","* *+ +, ,- -. ./ /0 0","1 12 23 34 45 56 67 7","8 89 9: :; ;< <= => >","? ?@ @A AB BC CD DE E","F FG GH HI IJ JK KL L","M MN NO OP PQ QR RS S","T TU UV VW WX XY YZ Z","[ [\\ \\] ]^ ^_ _` `a a","b bc cd de ef fg gh h","i ij jk kl lm mn no o","p pq qr rs st tu uv v","w wx xy yz z{ {| |} }","~ ~\x7F \x7F\x80 \x80\x81 \x81","\x82 \x82\x83 \x83\x84 \x84\x85 ","\x85\x86 \x86\x87 \x87\x88 \x88","\x89 \x89\x8A \x8A\x8B \x8B\x8C ","\x8C\x8D \x8D\x8E \x8E\x8F \x8F","\x90 \x90\x91 \x91\x92 \x92\x93 ","\x93\x94 \x94\x95 \x95\x96 \x96","\x97 \x97\x98 \x98\x99 \x99\x9A ","\x9A\x9B \x9B\x9C \x9C\x9D \x9D","\x9E \x9E\x9F \x9F\xA0 \xA0\xA1 ","\xA1\xA2 \xA2\xA3 \xA3\xA4 \xA4","\xA5 \xA5\xA6 \xA6\xA7 \xA7\xA8 ","\xA8\xA9 \xA9\xAA \xAA\xAB \xAB","\xAC \xAC\xAD \xAD\xAE \xAE\xAF ","\xAF\xB0 \xB0\xB1 \xB1\xB2 \xB2","\xB3 \xB3\xB4 \xB4\xB5 \xB5\xB6 ","\xB6\xB7 \xB7\xB8 \xB8\xB9 \xB9","\xBA \xBA\xBB \xBB\xBC \xBC\xBD ","\xBD\xBE \xBE\xBF \xBF\xC0 \xC0","\xC1 \xC1\xC2 \xC2\xC3 \xC3\xC4 ","\xC4\xC5 \xC5\xC6 \xC6\xC7 \xC7","\xC8 \xC8\xC9 \xC9\xCA \xCA\xCB ","\xCB\xCC \xCC\xCD \xCD\xCE \xCE","\xCF \xCF\xD0 \xD0\xD1 \xD1\xD2 ","\xD2\xD3 \xD3\xD4 \xD4\xD5 \xD5","\xD6 \xD6\xD7 \xD7\xD8 \xD8\xD9 ","\xD9\xDA \xDA\xDB \xDB\xDC \xDC","\xDD \xDD\xDE \xDE\xDF \xDF\xE0 ","\xE0\xE1 \xE1\xE2 \xE2\xE3 \xE3","\xE4 \xE4\xE5 \xE5\xE6 \xE6\xE7 ","\xE7\xE8 \xE8\xE9 \xE9\xEA \xEA","\xEB \xEB\xEC \xEC\xED \xED\xEE ","\xEE\xEF \xEF\xF0 \xF0\xF1 \xF1","\xF2 \xF2\xF3 \xF3\xF4 \xF4\xF5 ","\xF5\xF6 \xF6\xF7 \xF7\xF8 \xF8","\xF9 \xF9\xFA \xFA\xFB \xFB\xFC ","\xFC\xFD \xFD\xFE \xFE\xFF \xFF","\u0100 \u0100\u0101 \u0101\u0102 \u0102\u0103 ","\u0103\u0104 \u0104\u0105 \u0105\u0106 \u0106",`\x07\u020F +\f\u0212`,"\v",`\u0218 +\x07\u021D`,` +\f\u0220\v`,`\u0227 +`,"",`\u0231 +\x07\x07`,`\x07\x07\b\b\b\u0239 +\b `,`   + + + + +\v`,`\v\v\u0245 +\v\f\f\f\f`,`\f\f\u024C +\f\r\r`,`\u0257 +`,"",`\u0262 +`,`\u0268 +`,"","\u0274",` +\u0279 +`,`\u027D +`,`\u0284 +`,`\u0288 +\x1B`,`\x1B\x1B\x1B\u028D +\x1B`,`\u0292 +`,`\u0299 +`,"","",`\u02A8 +`,"","","","",`\u02C7 +`,"","","",`\x07\u02DE +\f\u02E1\v`,`   \u02E5 + !!!\u02E9 +!`,'""""""""#',"#######$$$",`%%%%%%%%%\u0306 +%`,`&&&&\u030B +&''((`,`((((\x07(\u0315 +(\f((\u0318\v(`,`)))))))))\u0322 +)`,`***\u0326 +*++++\u032B ++`,`,,---\u0331 +-.../`,"//////////\u0340",` +//////////`,"//////////","//////////","//////////","/////////\x07/\u0372",` +/\f//\u0375\v/00000`,`0\u037C +011222233`,`333333333\u038E +3`,`4444\u0393 +455566`,`77889999\u03A1 +9:`,"::::::::::",`:::::\u03B2 +:;;;;`,"<<<<<=====",`==\u03C3 +=>>>\u03C7 +>??`,`????\x07?\u03CF +?\f??\u03D2\v?`,"@@@AABBCCC",`CC\u03DF +CDDD\u03E3 +DEE`,"EEEFFFFFGG",`G\u03F1 +GHHHIIIII`,`I\x07I\u03FC +I\fII\u03FF\vIJJJ`,`JKKKK\u0408 +KLLLL`,`LL\x07L\u0410 +L\fLL\u0413\vLMM`,`MMNNN\u041B +NOOOP`,`PP\u0422 +PQQQQQQQ`,`Q\u042B +QRRRRRR\x07R\u0433 +`,"R\fRR\u0436\vRSSSTTT\u043D",` +TUUUVVV\u0444 +VW`,`WWXXX\u044B +XYYYY`,`ZZZZZZ\x07Z\u0457 +Z\fZZ\u045A`,`\vZ[[[[\\\\\\\u0462 +`,`\\]]^^^^^\u046A +^_`,"_``aaa\u0472\nabb",`bccc\u0479 +cdddee`,"eeeeeeeeee",`eeeee\u048E +effff`,"ffffffffff\u049D",` +fggggg\u04A3 +ghh`,"hhhhhhhhhh",`hhhhhh\u04B6 +hiii`,`jjjjjj\x07j\u04C1 +j\fjj\u04C4`,`\vjkkkkk\u04CA +kll`,`ll\u04CF +lmmmmmmn`,"nnnnnnnooo\u04E1",` +opppqqqqq\u04EA +`,"qrrrsssttt","uuuuuuuuuu",`uuuuuu\u0504 +uvvv`,"vvvvvvvvvv",`vvvv\u0516 +vwwwww`,"wwwxxxxxxx","xxxxxxxxxx",`xxxxxxxxx\u0539 +x`,"yyyzzzzzz\x07z\u0544",` +z\fzz\u0547\vz{{{{{`,`{{{{{{{\u0554 +{||`,`|||}}}\u055D +}~~~`,"~\x7F\x7F\x7F\x7F\x7F",`\x7F\x7F\x07\x7F\u056A +\x7F\f\x7F\x7F\u056D`,"\v\x7F\x80\x80\x80\x80\x80",`\x80\x07\x80\u0575 +\x80\f\x80\x80\u0578\v`,"\x80\x81\x81\x81\x81\x81","\x81\x81\x81\x81\x81\x81","\x81\x81\x81\x81\x81\x81",`\x81\x81\x81\x81\u058E +\x81\x82`,`\x82\x83\x83\x83\x83\u0595 +`,"\x83\x84\x84\x84\x85\x85",`\x85\x85\x85\x85\x07\x85\u05A0 +\x85`,"\f\x85\x85\u05A3\v\x85\x86\x86","\x86\x87\x87\x87\x87\x87","\x87\x87\x87\x87\x87\x87","\x87\x87\x88\x88\x89\x89",`\x89\u05B9 +\x89\x8A\x8A\x8A\x8A`,"\x8A\x8A\x8A\x8A\x8A\x8A","\x8A\x8A\x8A\x8A\x8A\x8A","\x8A\x8A\x8A\x8A\x8A\x8A",`\u05D0 +\x8A\x8B\x8B\x8B\x8B`,"\x8B\x8B\x8B\x8B\x8B\x8B",`\x8B\x8B\x8B\x8B\x8B\u05E0 +\x8B`,"\x8C\x8C\x8C\x8C\x8C\x8C",`\x8C\x8C\u05E9 +\x8C\x8D\x8D`,"\x8D\x8D\x8D\x8D\x8D\x8D",`\x8D\x8D\x8D\u05F5 +\x8D\x8E\x8E`,"\x8F\x8F\x8F\x8F\x8F\x8F","\x8F\x8F\x8F\x8F\x8F\x8F",`\x8F\x8F\x8F\u0607 +\x8F\x90`,"\x90\x90\x90\x90\x90\x90","\x90\x90\x90\x90\x90\x90\u0615",` +\x90\x91\x91\x91\x91\x91`,`\x91\x07\x91\u061D +\x91\f\x91\x91\u0620\v`,"\x91\x92\x92\x93\x93\x93",`\x93\x93\x93\x07\x93\u062A +\x93\f\x93`,"\x93\u062D\v\x93\x94\x94\x94\x94","\x94\x94\x94\x94\x94\x94","\x94\x94\x94\x94\x94\x94","\x94\x94\x94\x94\x94\x94",`\x94\x94\x94\x94\x94\u0649 +`,"\x94\x95\x95\x95\x95\x95",`\x95\x07\x95\u0651 +\x95\f\x95\x95\u0654\v\x95`,`\x96\x96\x96\x96\x96\u065A +`,"\x96\x97\x97\x97\x97\x97","\x97\x97\x97\x97\x97\x97",`\x97\x97\u0668 +\x97\x98\x98\x98`,`\x98\x98\u066E +\x98\x99\x99`,`\x99\x99\x99\u0674 +\x99\x9A\x9A`,`\x9A\x9A\x9A\u067A +\x9A\x9B`,`\x9B\x9B\x9B\x9B\u0680 +\x9B\x9C`,"\x9C\x9C\x9C\x9D\x9D\x9E","\x9E\x9E\x9E\x9E\x9E\x9E","\x9E\x9E\x9E\x9E\x9E\x9E",`\x9E\u0695 +\x9E\x9F\x9F\x9F`,"\x9F\x9F\x9F\x9F\x9F\x9F",`\x9F\x9F\u06A1 +\x9F\xA0\xA0\xA0`,`\u06A5 +\xA0\xA1\xA1\xA2\xA2`,`\xA2\u06AB +\xA2\xA3\xA3\xA3\xA3`,"\xA3\xA3\xA3\xA3\xA3\xA3",`\xA3\u06B7 +\xA3\xA4\xA4\xA4`,"\xA4\xA4\xA4\xA4\xA4\xA4\u06C1",` +\xA4\xA5\xA5\xA5\xA5\xA5`,`\xA5\xA5\xA5\xA5\xA5\u06CC +`,"\xA5\xA6\xA6\xA6\xA6\xA6",`\xA6\xA6\xA6\xA6\u06D6 +\xA6\xA7`,`\xA7\xA7\u06DA +\xA7\xA8\xA8`,`\xA8\xA8\xA8\xA8\xA8\u06E2 +\xA8`,`\xA9\xA9\xA9\u06E6 +\xA9\xAA`,"\xAA\xAA\xAB\xAB\xAB\xAB",`\xAB\xAB\x07\xAB\u06F1 +\xAB\f\xAB\xAB\u06F4`,"\v\xAB\xAC\xAC\xAC\xAD\xAD","\xAD\xAD\xAD\xAD\xAD\xAD",`\xAD\xAD\xAD\u0703 +\xAD\xAE`,"\xAE\xAF\xAF\xB0\xB0\xB0",`\xB0\u070C +\xB0\xB1\xB1\xB1\xB1`,`\xB1\xB1\u0713 +\xB1\xB2\xB2`,"\xB3\xB3\xB3\xB3\xB3\xB3","\xB3\xB3\xB3\xB3\xB3\xB3","\xB3\xB3\xB3\xB3\xB3\xB3",`\xB3\xB3\xB3\xB3\u072C +\xB3\xB4`,"\xB4\xB4\xB4\xB4\xB4\xB4","\xB4\xB4\xB4\xB4\xB4\xB4",`\xB4\xB4\xB4\xB4\u073E +\xB4`,"\xB5\xB5\xB5\xB5\xB5\xB5","\xB5\xB5\xB5\xB6\xB6\xB6","\xB6\xB6\xB6\xB6\xB6\xB6",`\xB7\xB7\xB7\xB7\u0755 +\xB7\xB8`,`\xB8\xB8\u0759 +\xB8\xB9\xB9`,"\xBA\xBA\xBA\xBA\xBA\xBA",`\xBA\xBA\xBA\xBA\xBA\u0767 +\xBA`,"\xBB\xBB\xBB\xBB\xBB\xBB",`\u076E +\xBB\xBC\xBC\xBC\xBC`,`\xBC\xBC\x07\xBC\u0776 +\xBC\f\xBC\xBC\u0779`,"\v\xBC\xBD\xBD\xBD\xBD\xBD","\xBD\xBD\xBD\xBD\xBD\xBD","\xBD\xBD\xBD\xBD\xBD\xBD",`\xBD\xBD\xBD\xBD\u078F +\xBD`,"\xBE\xBE\xBE\xBE\xBF\xBF","\xBF\xBF\xBF\xBF\xBF\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0","\xC0\xC0\xC0\xC0\xC0\xC0",`\xC0\xC0\u0816 +\xC0\xC1\xC1\xC1`,`\u081A +\xC1\xC2\xC2\xC2\xC2`,`\xC2\xC2\x07\xC2\u0822 +\xC2\f\xC2\xC2\u0825`,"\v\xC2\xC3\xC3\xC4\xC4\xC4","\xC4\xC4\xC4\xC4\xC4\xC4","\xC4\xC4\xC4\xC4\xC4\xC4","\xC4\xC4\xC4\xC4\xC4\xC4","\xC4\xC4\xC4\xC4\xC4\x07\xC4",`\u0843 +\xC4\f\xC4\xC4\u0846\v\xC4\xC5`,"\xC5\xC5\xC5\xC5\xC5\xC5\u084E",` +\xC5\xC5\xC5\xC5\xC5\xC5`,"\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5","\xC5\xC5\xC5\xC5\xC5\xC5",`\xC5\xC5\xC5\x07\xC5\u08DC +\xC5\f\xC5`,"\xC5\u08DF\v\xC5\xC6\xC6\xC7","\xC7\xC7\xC7\xC7\xC7\xC7","\xC7\xC7\xC7\xC7\xC7\xC7",`\xC7\xC7\xC7\xC7\u08F3 +\xC7\xC8`,"\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8","\xC8\xC8\xC8\xC8\xC8\xC8",`\x07\xC8\u0932 +\xC8\f\xC8\xC8\u0935\v\xC8`,`\xC9\xC9\xCA\xCA\xCA\u093B +\xCA`,"\xCB\xCB\xCB\xCB\xCC\xCC",`\xCC\u0943 +\xCC\xCD\xCD\xCD`,`\xCD\xCD\xCD\x07\xCD\u094B +\xCD\f\xCD`,"\xCD\u094E\v\xCD\xCE\xCE\xCE\xCE",`\xCE\xCE\u0955 +\xCE\xCF\xCF`,`\xCF\xCF\xD0\xD0\xD0\u095D +\xD0`,"\xD1\xD1\xD1\xD1\xD1\xD1",`\x07\xD1\u0965 +\xD1\f\xD1\xD1\u0968\v\xD1`,"\xD2\xD2\xD3\xD3\xD3\xD3",`\xD4\xD4\xD4\u0972 +\xD4\xD5\xD5`,"\xD5\xD5\xD6\xD6\xD6\xD6","\xD6\xD6\xD6\xD6\xD6\xD6",`\xD6\xD6\x07\xD6\u0984 +\xD6\f\xD6\xD6`,"\u0987\v\xD6\xD7\xD7\xD7\xD8",`\xD8\xD8\xD8\u098F +\xD8\xD9\xD9`,"\xD9\xD9\xD9\xD9\xD9\xD9","\xD9\xD9\xD9\xD9\xD9\xD9","\xD9\xD9\xD9\xD9\xD9\xD9","\xD9\xD9\xD9\xD9\xD9\xD9","\xD9\xD9\xD9\xD9\xD9\xD9",`\xD9\xD9\xD9\xD9\xD9\u09B5 +`,"\xD9\xDA\xDA\xDB\xDB\xDB\u09BB",` +\xDB\xDC\xDC\xDC\xDC\xDC`,"\xDC\xDC\xDC\xDC\xDC\xDC","\xDC\xDC\xDC\xDC\xDC\xDC","\xDC\xDC\xDC\xDC\xDC\xDC","\xDC\xDC\xDC\xDC\xDC\xDC",`\xDC\u09DA +\xDC\xDD\xDD\xDD`,`\xDD\xDD\xDD\x07\xDD\u09E2 +\xDD\f\xDD`,"\xDD\u09E5\v\xDD\xDE\xDE\xDE\xDE","\xDE\xDE\xDE\xDE\xDE\xDE","\xDE\xDE\xDE\xDE\xDE\xDE",`\xDE\xDE\xDE\xDE\xDE\u09FB +`,"\xDE\xDF\xDF\xDF\xE0\xE0","\xE0\xE0\xE0\xE0\xE0\xE0","\xE0\xE0\xE0\xE0\xE0\xE0","\xE0\xE0\xE0\xE0\xE0\xE0",`\xE0\xE0\xE0\xE0\u0A17 +\xE0\xE1`,"\xE1\xE1\xE1\xE1\xE1\xE1",`\xE1\xE1\xE1\u0A22 +\xE1\xE2`,"\xE2\xE2\xE2\xE2\xE2\xE2",`\xE2\xE2\xE2\u0A2D +\xE2\xE3\xE3`,`\xE3\u0A31 +\xE3\xE4\xE4\xE4`,"\xE4\xE4\xE4\xE4\xE4\xE4",`\xE4\u0A3C +\xE4\xE5\xE5\xE5\xE5`,`\u0A41 +\xE5\xE6\xE6\xE6\xE6`,`\xE6\xE6\x07\xE6\u0A49 +\xE6\f\xE6\xE6\u0A4C`,"\v\xE6\xE7\xE7\xE7\xE7\xE8","\xE8\xE8\xE8\xE8\xE8\xE8",`\xE9\xE9\xE9\u0A5B +\xE9\xEA`,`\xEA\xEA\xEA\xEA\u0A61 +\xEA\xEB`,`\xEB\xEB\xEB\xEB\xEB\u0A68 +`,"\xEB\xEC\xEC\xED\xED\xED","\xED\xED\xED\xED\xED\xED",`\xED\xED\xED\u0A77 +\xED\xEE\xEE`,`\xEE\xEE\xEE\xEE\xEE\u0A7F +`,"\xEE\xEF\xEF\xEF\xEF\xEF",`\xEF\xEF\xEF\xEF\xEF\u0A8A +\xEF`,`\xF0\xF0\xF1\xF1\xF1\u0A90 +`,"\xF1\xF2\xF2\xF2\xF2\xF2\u0A96",` +\xF2\xF3\xF3\xF3\xF3\u0A9B +\xF3`,"\xF4\xF4\xF5\xF5\xF5\xF5",`\xF5\xF5\xF5\u0AA5 +\xF5\xF6`,`\xF6\xF6\u0AA9 +\xF6\xF7\xF7\xF7`,`\xF7\xF7\u0AAF +\xF7\xF8\xF8`,"\xF8\xF8\xF9\xF9\xF9\xFA","\xFA\xFA\xFA\xFB\xFB\xFC",`\xFC\xFC\u0AC0 +\xFC\xFD\xFD\xFE`,`\xFE\xFE\xFE\xFE\u0AC8 +\xFE`,`\xFF\xFF\u0100\u0100\u0100\u0ACE +\u0100`,"\u0101\u0101\u0101\u0101\u0102\u0102","\u0102\u0103\u0103\u0103\u0103\u0104","\u0104\u0104\u0105\u0105\u0105\u0106","\u0106\u0106\u0106\u0106<","N\\|\x90\x96\xA2\xB2\xD2\xF2\xFC\xFE\u0108\u0120\u0124","\u0128\u0154\u0176\u0182\u0186\u0188\u018E\u0198\u01A0\u01AA\u01B8\u01CA",`\u0107\b +\f`,' "$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\x80',"\x82\x84\x86\x88\x8A\x8C\x8E\x90\x92\x94\x96\x98","\x9A\x9C\x9E\xA0\xA2\xA4\xA6\xA8\xAA\xAC\xAE\xB0","\xB2\xB4\xB6\xB8\xBA\xBC\xBE\xC0\xC2\xC4\xC6\xC8","\xCA\xCC\xCE\xD0\xD2\xD4\xD6\xD8\xDA\xDC\xDE\xE0","\xE2\xE4\xE6\xE8\xEA\xEC\xEE\xF0\xF2\xF4\xF6\xF8","\xFA\xFC\xFE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110","\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128","\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0138\u013A\u013C\u013E\u0140","\u0142\u0144\u0146\u0148\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158","\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170","\u0172\u0174\u0176\u0178\u017A\u017C\u017E\u0180\u0182\u0184\u0186\u0188","\u018A\u018C\u018E\u0190\u0192\u0194\u0196\u0198\u019A\u019C\u019E\u01A0","\u01A2\u01A4\u01A6\u01A8\u01AA\u01AC\u01AE\u01B0\u01B2\u01B4\u01B6\u01B8","\u01BA\u01BC\u01BE\u01C0\u01C2\u01C4\u01C6\u01C8\u01CA\u01CC\u01CE\u01D0","\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8","\u01EA\u01EC\u01EE\u01F0\u01F2\u01F4\u01F6\u01F8\u01FA\u01FC\u01FE\u0200","\u0202\u0204\u0206\u0208\u020A))aa","OO\xB0\xB0\xE1\xE1\\\\\xD9\xD92","2\xAD\xAD**II[[\x81\x81\x07","GGuu\xC3\xC3\xDB\xDB\xEF\xEF]]\xD3\xD3","##NN**II\x8E\x8E\x7F\x7F\xE2","\xE2\x07XX\x8E\x8E\x95\x95\xD2\xD2","\xF0\xF2\xB5\xB5\xEF\xEF","gg\xAF\xAF\xBE\xBE^^\xA7\xA7##K","K,,\xC8\xC8\xCF\xD0\xEC\xEC","\u0B29\u020C\u0217","\u0219\b\u0226",` +\u0230\f\u0232`,"\u0238\u023A","\u023D\u0244","\u024B\u024D","\u024F\u0256","\u0258 \u0261",'"\u0263$\u0267&\u0269',"(\u026C*\u0273",",\u0278.\u027C","0\u02832\u0287","4\u028C6\u0291","8\u0298:\u02A7<\u02C6",">\u02E4@\u02E8","B\u02EAD\u02F2","F\u02FAH\u0305","J\u030AL\u030C","N\u030EP\u0321R\u0325","T\u032AV\u032C","X\u0330Z\u0332","\\\u033F^\u037B","`\u037Db\u037F","d\u038Df\u0392h\u0394","j\u0397l\u0399","n\u039Bp\u03A0","r\u03B1t\u03B3","v\u03B7x\u03C2","z\u03C6|\u03C8~\u03D3","\x80\u03D6\x82\u03D8","\x84\u03DE\x86\u03E2","\x88\u03E4\x8A\u03E9","\x8C\u03F0\x8E\u03F2","\x90\u03F5\x92\u0400","\x94\u0407\x96\u0409","\x98\u0414\x9A\u041A","\x9C\u041C\x9E\u0421","\xA0\u042A\xA2\u042C","\xA4\u0437\xA6\u043C","\xA8\u043E\xAA\u0443","\xAC\u0445\xAE\u044A","\xB0\u044C\xB2\u0450","\xB4\u045B\xB6\u0461","\xB8\u0463\xBA\u0469","\xBC\u046B\xBE\u046D","\xC0\u0471\xC2\u0473","\xC4\u0478\xC6\u047A","\xC8\u048D\xCA\u049C","\xCC\u04A2\xCE\u04B5","\xD0\u04B7\xD2\u04BA","\xD4\u04C9\xD6\u04CE","\xD8\u04D0\xDA\u04D6","\xDC\u04E0\xDE\u04E2","\xE0\u04E9\xE2\u04EB","\xE4\u04EE\xE6\u04F1","\xE8\u0503\xEA\u0515","\xEC\u0517\xEE\u0538","\xF0\u053A\xF2\u053D","\xF4\u0553\xF6\u0555","\xF8\u055C\xFA\u055E","\xFC\u0562\xFE\u056E","\u0100\u058D\u0102\u058F","\u0104\u0594\u0106\u0596","\u0108\u0599\u010A\u05A4","\u010C\u05A7\u010E\u05B4","\u0110\u05B8\u0112\u05CF","\u0114\u05DF\u0116\u05E8","\u0118\u05F4\u011A\u05F6","\u011C\u0606\u011E\u0614","\u0120\u0616\u0122\u0621","\u0124\u0623\u0126\u0648","\u0128\u064A\u012A\u0659","\u012C\u0667\u012E\u0669","\u0130\u066F\u0132\u0675","\u0134\u067B\u0136\u0681","\u0138\u0685\u013A\u0687","\u013C\u0696\u013E\u06A4","\u0140\u06A6\u0142\u06AA","\u0144\u06B6\u0146\u06C0","\u0148\u06CB\u014A\u06D5","\u014C\u06D9\u014E\u06E1","\u0150\u06E5\u0152\u06E7","\u0154\u06EA\u0156\u06F5","\u0158\u0702\u015A\u0704","\u015C\u0706\u015E\u070B","\u0160\u0712\u0162\u0714","\u0164\u072B\u0166\u073D","\u0168\u073F\u016A\u0748","\u016C\u0754\u016E\u0758","\u0170\u075A\u0172\u0766","\u0174\u076D\u0176\u076F","\u0178\u078E\u017A\u0790","\u017C\u0794\u017E\u0815","\u0180\u0819\u0182\u081B","\u0184\u0826\u0186\u0828","\u0188\u084D\u018A\u08E0","\u018C\u08F2\u018E\u08F4","\u0190\u0936\u0192\u093A","\u0194\u093C\u0196\u0942","\u0198\u0944\u019A\u0954","\u019C\u0956\u019E\u095C","\u01A0\u095E\u01A2\u0969","\u01A4\u096B\u01A6\u0971","\u01A8\u0973\u01AA\u0977","\u01AC\u0988\u01AE\u098E","\u01B0\u09B4\u01B2\u09B6","\u01B4\u09BA\u01B6\u09D9","\u01B8\u09DB\u01BA\u09FA","\u01BC\u09FC\u01BE\u0A16","\u01C0\u0A21\u01C2\u0A2C","\u01C4\u0A30\u01C6\u0A3B","\u01C8\u0A40\u01CA\u0A42","\u01CC\u0A4D\u01CE\u0A51","\u01D0\u0A5A\u01D2\u0A60","\u01D4\u0A67\u01D6\u0A69","\u01D8\u0A76\u01DA\u0A7E","\u01DC\u0A89\u01DE\u0A8B","\u01E0\u0A8F\u01E2\u0A95","\u01E4\u0A9A\u01E6\u0A9C","\u01E8\u0AA4\u01EA\u0AA8","\u01EC\u0AAE\u01EE\u0AB0","\u01F0\u0AB4\u01F2\u0AB7","\u01F4\u0ABB\u01F6\u0ABF","\u01F8\u0AC1\u01FA\u0AC7","\u01FC\u0AC9\u01FE\u0ACD","\u0200\u0ACF\u0202\u0AD3","\u0204\u0AD6\u0206\u0ADA","\u0208\u0ADD\u020A\u0AE0","\u020C\u0210\u020D\u020F","\u020E\u020D\u020F\u0212","\u0210\u020E\u0210\u0211","\u0211\u0212\u0210","\u0213\u0214\b\u0214\u0215","\u0215\u0218\u0216\u0218","\u01C4\xE3\u0217\u0213\u0217\u0216","\u0218\u0219\u021E","\b\u021A\u021B\f\u021B\u021D\x07"," \u021C\u021A\u021D\u0220","\u021E\u021C\u021E\u021F","\u021F\x07\u0220\u021E","\u0221\u0227\f\x07\u0222\u0227",` \u0223\u0227 +\u0224\u0227`,`\u0225\u0227 +\u0226\u0221`,"\u0226\u0222\u0226\u0223","\u0226\u0224\u0226\u0225","\u0227 \u0228\u0231(","\u0229\u0231*\u022A\u0231,","\u022B\u0231\u022C\u0231\u017E\xC0","\u022D\u0231.\u022E\u02316\u022F","\u02318\u0230\u0228\u0230","\u0229\u0230\u022A\u0230","\u022B\u0230\u022C\u0230","\u022D\u0230\u022E\u0230","\u022F\u0231\v\u0232",'\u0233\x07"\u0233\u0234\b\u0234\u0235',` +\u0235\r\u0236\u0239`,"\u0237\u0239\x07q\u0238\u0236","\u0238\u0237\u0239","\u023A\u023B\x07W\u023B\u023C",` +\u023C\u023D\u023E\x07`,"\xA8\u023E\u023F\v\u023F\u0240",`\f\u0240\u0241 +\u0241`,"\u0242\u0245\u0243\u0245\x07`","\u0244\u0242\u0244\u0243","\u0245\u0246\u024C","\u0247\u0248\x07\xEF\u0248\u024C","\r\u0249\u024A\x07\u024A\u024C","\r\u024B\u0246\u024B\u0247","\u024B\u0249\u024C","\u024D\u024E \u024E","\u024F\u0250\x07U\u0250\u0251\u0188","\xC5\u0251\u0252\u0252\x1B","\u0253\u0257\u0254\u0255\x07\xDF","\u0255\u0257\u0192\xCA\u0256\u0253","\u0256\u0254\u0257","\u0258\u0259\x07r\u0259\u025A ",'\u025A\u025B\xCAf\u025B\u025C"',"\u025C\u025D$\u025D","\u025E\u0262\u025F\u0262\x07~","\u0260\u0262\x079\u0261\u025E","\u0261\u025F\u0261\u0260","\u0262!\u0263\u0264","\u0264#\u0265\u0268","\u0266\u0268&\u0267\u0265","\u0267\u0266\u0268%","\u0269\u026A\x07\xEA\u026A\u026B\u0188\xC5","\u026B'\u026C\u026D:\u026D",")\u026E\u0274\xC8e\u026F\u0274","\xEAv\u0270\u0274\xECw\u0271\u0274","\xEEx\u0272\u0274\u010C\x87\u0273\u026E","\u0273\u026F\u0273\u0270","\u0273\u0271\u0273\u0272","\u0274+\u0275\u0279","0\u0276\u02792\u0277\u02794\x1B","\u0278\u0275\u0278\u0276","\u0278\u0277\u0279-","\u027A\u027D\u011E\x90\u027B\u027D\u012C\x97","\u027C\u027A\u027C\u027B","\u027D/\u027E\u0284\u013A\x9E","\u027F\u0284\u013C\x9F\u0280\u0284\u0164\xB3","\u0281\u0284\u0166\xB4\u0282\u0284\u0168\xB5","\u0283\u027E\u0283\u027F","\u0283\u0280\u0283\u0281","\u0283\u0282\u02841","\u0285\u0288\u012E\x98\u0286\u0288\u0130\x99","\u0287\u0285\u0287\u0286","\u02883\u0289\u028D\u0132\x9A","\u028A\u028D\u0134\x9B\u028B\u028D\u0136\x9C","\u028C\u0289\u028C\u028A","\u028C\u028B\u028D5","\u028E\u0292\u016A\xB6\u028F\u0292\u017A\xBE","\u0290\u0292\u017C\xBF\u0291\u028E","\u0291\u028F\u0291\u0290","\u02927\u0293\u0299\u01EE\xF8","\u0294\u0299\u01F0\xF9\u0295\u0299\u01F2\xFA","\u0296\u0299\u0206\u0104\u0297\u0299\u0204\u0103","\u0298\u0293\u0298\u0294","\u0298\u0295\u0298\u0296","\u0298\u0297\u02999","\u029A\u029B<\u029B\u029C\xAEX","\u029C\u02A8\u029D\u029E<","\u029E\u029F\xAEX\u029F\u02A0\xC2b\u02A0","\u02A1\xC4c\u02A1\u02A8\u02A2","\u02A3<\u02A3\u02A4\xAEX\u02A4\u02A5","\xC6d\u02A5\u02A6\xC0a\u02A6\u02A8","\u02A7\u029A\u02A7\u029D","\u02A7\u02A2\u02A8;","\u02A9\u02AA\b\u02AA\u02C7","@!\u02AB\u02AC\u01C2\xE2\u02AC\u02AD\x07\xD6","\u02AD\u02AE> \u02AE\u02C7","\u02AF\u02B0\u01C2\xE2\u02B0\u02B1\x07\xD6","\u02B1\u02B2\x07#\u02B2\u02B3> \u02B3","\u02C7\u02B4\u02B5\u01C2\xE2\u02B5","\u02B6\x07v\u02B6\u02B7> \u02B7\u02C7","\u02B8\u02B9\u01C2\xE2\u02B9\u02BA\x07","v\u02BA\u02BB\x07#\u02BB\u02BC> ","\u02BC\u02C7\u02BD\u02BE\u01C2\xE2","\u02BE\u02BF\x07S\u02BF\u02C0> \u02C0\u02C7","\u02C1\u02C2\u01C2\xE2\u02C2\u02C3","\x07S\u02C3\u02C4\x07#\u02C4\u02C5","> \u02C5\u02C7\u02C6\u02A9","\u02C6\u02AB\u02C6\u02AF","\u02C6\u02B4\u02C6\u02B8","\u02C6\u02BD\u02C6\u02C1","\u02C7\u02DF\u02C8\u02C9\f","\u02C9\u02CA\x07\xD6\u02CA\u02DE>"," \u02CB\u02CC\f\r\u02CC\u02CD\x07\xD6","\u02CD\u02CE\x07#\u02CE\u02DE> \u02CF\u02D0","\f\f\u02D0\u02D1\x07v\u02D1\u02DE> ","\u02D2\u02D3\f\v\u02D3\u02D4\x07v","\u02D4\u02D5\x07#\u02D5\u02DE> \u02D6\u02D7",`\f +\u02D7\u02D8\x07S\u02D8\u02DE> `,"\u02D9\u02DA\f \u02DA\u02DB\x07S\u02DB","\u02DC\x07#\u02DC\u02DE> \u02DD\u02C8","\u02DD\u02CB\u02DD\u02CF","\u02DD\u02D2\u02DD\u02D6","\u02DD\u02D9\u02DE\u02E1","\u02DF\u02DD\u02DF\u02E0","\u02E0=\u02E1\u02DF","\u02E2\u02E5@!\u02E3\u02E5\u01C2","\xE2\u02E4\u02E2\u02E4\u02E3",'\u02E5?\u02E6\u02E9B"',"\u02E7\u02E9D#\u02E8\u02E6\u02E8","\u02E7\u02E9A\u02EA","\u02EB\x94K\u02EB\u02ECZ.\u02EC\u02ED","\x8CG\u02ED\u02EE\x9AN\u02EE\u02EF\x9E","P\u02EF\u02F0\u01C8\xE5\u02F0\u02F1F$","\u02F1C\u02F2\u02F3\x94K\u02F3","\u02F4F$\u02F4\u02F5X-\u02F5\u02F6\x8C","G\u02F6\u02F7\x9AN\u02F7\u02F8\x9EP","\u02F8\u02F9\u01C8\xE5\u02F9E","\u02FA\u02FB\x07\xC3\u02FB\u02FCH%\u02FC","G\u02FD\u02FEJ&\u02FE\u02FF","N(\u02FF\u0306\u0300\u0301J&","\u0301\u0302L'\u0302\u0303\u0188\xC5\u0303","\u0304R*\u0304\u0306\u0305\u02FD","\u0305\u0300\u0306I","\u0307\u030B\u0308\u030B","\x07#\u0309\u030B\x07K\u030A\u0307","\u030A\u0308\u030A\u0309","\u030BK\u030C\u030D ","\u030DM\u030E\u030F\b(","\u030F\u0310P)\u0310\u0316\u0311","\u0312\f\u0312\u0313\x07\x1B\u0313","\u0315P)\u0314\u0311\u0315\u0318","\u0316\u0314\u0316\u0317","\u0317O\u0318\u0316","\u0319\u0322\x07\f\u031A\u031B","\u0188\xC5\u031B\u031C\x07 \u031C\u031D","\x07\f\u031D\u0322\u031E\u031F","\u0188\xC5\u031F\u0320R*\u0320\u0322","\u0321\u0319\u0321\u031A","\u0321\u031E\u0322Q","\u0323\u0326\u0324\u0326","T+\u0325\u0323\u0325\u0324","\u0326S\u0327\u032BV,","\u0328\u0329\x07)\u0329\u032BV,\u032A\u0327","\u032A\u0328\u032BU","\u032C\u032D\x07\xEF\u032DW","\u032E\u0331\u032F\u0331","Z.\u0330\u032E\u0330\u032F","\u0331Y\u0332\u0333\x07","a\u0333\u0334\\/\u0334[","\u0335\u0336\b/\u0336\u0340^0\u0337\u0338","^0\u0338\u0339\x07\xBA\u0339\u033A\x86","D\u033A\u033B\x07{\u033B\u033C^0\u033C","\u033D\x07\x9A\u033D\u033E\u0188\xC5\u033E","\u0340\u033F\u0335\u033F","\u0337\u0340\u0373\u0341",`\u0342\f +\u0342\u0343\x84C\u0343\u0344\x07`,"{\u0344\u0345^0\u0345\u0346\x88E","\u0346\u0372\u0347\u0348\f \u0348","\u0349\x84C\u0349\u034A\x07{\u034A\u034B","^0\u034B\u034C\x8AF\u034C\u034D\x07_","\u034D\u034E\x07\xEF\u034E\u0372","\u034F\u0350\f\b\u0350\u0351\x84C\u0351","\u0352\x07\x90\u0352\u0353^0\u0353\u0354","\x88E\u0354\u0372\u0355\u0356","\f\x07\u0356\u0357\x84C\u0357\u0358\x07","\x90\u0358\u0359^0\u0359\u035A\x8A","F\u035A\u035B\x07_\u035B\u035C\x07\xEF","\u035C\u0372\u035D\u035E\f","\u035E\u035F\x84C\u035F\u0360`1\u0360","\u0361\u0188\xC5\u0361\u0362R*\u0362\u0372","\u0363\u0364\f\u0364\u0365","\x84C\u0365\u0366\x07{\u0366\u0367","^0\u0367\u0368\x07\x9A\u0368\u0369\u0188","\xC5\u0369\u0372\u036A\u036B\f","\u036B\u036C\x84C\u036C\u036D\x07\x90","\u036D\u036E^0\u036E\u036F\x07\x9A","\u036F\u0370\u0188\xC5\u0370\u0372","\u0371\u0341\u0371\u0347","\u0371\u034F\u0371\u0355","\u0371\u035D\u0371\u0363","\u0371\u036A\u0372\u0375","\u0373\u0371\u0373\u0374","\u0374]\u0375\u0373","\u0376\u037Cb2\u0377\u0378\u0188\xC5","\u0378\u0379R*\u0379\u037Ap9\u037A\u037C","\u037B\u0376\u037B\u0377","\u037C_\u037D\u037E ","\u037Ea\u037F\u0380d3","\u0380\u0381R*\u0381\u0382p9\u0382c","\u0383\u0384f4\u0384\u0385n8\u0385","\u038E\u0386\u0387f4\u0387\u0388","j6\u0388\u0389\x07 \u0389\u038Al7","\u038A\u038B\x07 \u038B\u038Cn8\u038C\u038E","\u038D\u0383\u038D\u0386","\u038Ee\u038F\u0393","h5\u0390\u0391\x07\xCB\u0391\u0393\x07","\u0392\u038F\u0392\u0390","\u0393g\u0394\u0395\x07","\xEF\u0395\u0396\x07\u0396i","\u0397\u0398\x07\xEF\u0398k","\u0399\u039A\x07\xEF\u039Am","\u039B\u039C\x07\xEF\u039Co","\u039D\u03A1\u039E\u039F\x07","\xDD\u039F\u03A1r:\u03A0\u039D","\u03A0\u039E\u03A1q","\u03A2\u03B2t;\u03A3\u03B2v<\u03A4","\u03B2x=\u03A5\u03A6v<\u03A6\u03A7x=","\u03A7\u03B2\u03A8\u03A9x=\u03A9","\u03AAv<\u03AA\u03B2\u03AB\u03AC","t;\u03AC\u03ADx=\u03AD\u03B2","\u03AE\u03AFx=\u03AF\u03B0t;\u03B0\u03B2","\u03B1\u03A2\u03B1\u03A3","\u03B1\u03A4\u03B1\u03A5","\u03B1\u03A8\u03B1\u03AB","\u03B1\u03AE\u03B2s","\u03B3\u03B4z>\u03B4\u03B5\x07","}\u03B5\u03B6\u0188\xC5\u03B6u","\u03B7\u03B8\x07q\u03B8\u03B9\x07","\u03B9\u03BA|?\u03BA\u03BB\x07","\u03BBw\u03BC\u03BD\x07i","\u03BD\u03BE\x07\u03BE\u03BF\x80A","\u03BF\u03C0\x07\u03C0\u03C3","\u03C1\u03C3\x07\x91\u03C2\u03BC","\u03C2\u03C1\u03C3y","\u03C4\u03C7\u03C5\u03C7\x07\xA9","\u03C6\u03C4\u03C6\u03C5","\u03C7{\u03C8\u03C9\b?\u03C9\u03CA","~@\u03CA\u03D0\u03CB\u03CC\f","\u03CC\u03CD\x07\x1B\u03CD\u03CF~","@\u03CE\u03CB\u03CF\u03D2","\u03D0\u03CE\u03D0\u03D1","\u03D1}\u03D2\u03D0","\u03D3\u03D4\u0142\xA2\u03D4\u03D5\u014C","\xA7\u03D5\x7F\u03D6\u03D7 ","\u03D7\x81\u03D8\u03D9p","9\u03D9\x83\u03DA\u03DF","\u03DB\u03DF\x07t\u03DC\u03DD\x07\x82","\u03DD\u03DF\x86D\u03DE\u03DA","\u03DE\u03DB\u03DE\u03DC","\u03DF\x85\u03E0\u03E3","\u03E1\u03E3\x07\xA0\u03E2\u03E0","\u03E2\u03E1\u03E3\x87","\u03E4\u03E5\x07\x9A\u03E5\u03E6z",">\u03E6\u03E7\x07}\u03E7\u03E8\u0188\xC5","\u03E8\x89\u03E9\u03EA\x07\x9A","\u03EA\u03EBz>\u03EB\u03EC\x07|\u03EC","\u03ED\u0188\xC5\u03ED\x8B\u03EE","\u03F1\u03EF\u03F1\x8EH\u03F0","\u03EE\u03F0\u03EF\u03F1","\x8D\u03F2\u03F3\x07\x83\u03F3","\u03F4\x90I\u03F4\x8F\u03F5","\u03F6\bI\u03F6\u03F7\x92J\u03F7\u03FD","\u03F8\u03F9\f\u03F9\u03FA\x07","\x1B\u03FA\u03FC\x92J\u03FB\u03F8","\u03FC\u03FF\u03FD\u03FB","\u03FD\u03FE\u03FE\x91","\u03FF\u03FD\u0400\u0401","V,\u0401\u0402\x07\u0402\u0403\u0188","\xC5\u0403\x93\u0404\u0408","\u0405\u0406\x07\xEA\u0406\u0408\x96","L\u0407\u0404\u0407\u0405","\u0408\x95\u0409\u040A\bL","\u040A\u040B\x98M\u040B\u0411","\u040C\u040D\f\u040D\u040E\x07\x1B","\u040E\u0410\x98M\u040F\u040C","\u0410\u0413\u0411\u040F","\u0411\u0412\u0412\x97","\u0413\u0411\u0414\u0415V,","\u0415\u0416\x07)\u0416\u0417\u01C0\xE1","\u0417\x99\u0418\u041B","\u0419\u041B\x9CO\u041A\u0418","\u041A\u0419\u041B\x9B","\u041C\u041D\x07\xE7\u041D\u041E\u0188\xC5","\u041E\x9D\u041F\u0422","\u0420\u0422\xA0Q\u0421\u041F","\u0421\u0420\u0422\x9F","\u0423\u0424\x07f\u0424\u0425\x073\u0425","\u0426\xA2R\u0426\u0427\xA6T\u0427\u0428","\xAAV\u0428\u042B\u0429\u042B","\xA8U\u042A\u0423\u042A\u0429","\u042B\xA1\u042C\u042D","\bR\u042D\u042E\xA4S\u042E\u0434","\u042F\u0430\f\u0430\u0431\x07\x1B","\u0431\u0433\xA4S\u0432\u042F","\u0433\u0436\u0434\u0432","\u0434\u0435\u0435\xA3","\u0436\u0434\u0437\u0438\u0188","\xC5\u0438\u0439R*\u0439\xA5","\u043A\u043D\u043B\u043D\xA8U","\u043C\u043A\u043C\u043B","\u043D\xA7\u043E\u043F\x07\x84","\u043F\u0440\x90I\u0440\xA9","\u0441\u0444\u0442\u0444\xACW","\u0443\u0441\u0443\u0442","\u0444\xAB\u0445\u0446\x07j","\u0446\u0447\u0188\xC5\u0447\xAD","\u0448\u044B\u0449\u044B\xB0Y","\u044A\u0448\u044A\u0449","\u044B\xAF\u044C\u044D\x07\x9E","\u044D\u044E\x073\u044E\u044F\xB2Z","\u044F\xB1\u0450\u0451\bZ\u0451","\u0452\xB4[\u0452\u0458\u0453","\u0454\f\u0454\u0455\x07\x1B\u0455","\u0457\xB4[\u0456\u0453\u0457","\u045A\u0458\u0456\u0458","\u0459\u0459\xB3\u045A","\u0458\u045B\u045C\u0188\xC5\u045C","\u045D\xB6\\\u045D\u045E\xBA^\u045E\xB5","\u045F\u0462\u0460\u0462","\xB8]\u0461\u045F\u0461\u0460","\u0462\xB7\u0463\u0464"," \u0464\xB9\u0465\u046A","\u0466\u0467\xBE`\u0467\u0468","\xBC_\u0468\u046A\u0469\u0465","\u0469\u0466\u046A\xBB","\u046B\u046C \x07\u046C\xBD","\u046D\u046E\x07\x96\u046E\xBF","\u046F\u0472\u0470\u0472","\xC2b\u0471\u046F\u0471\u0470","\u0472\xC1\u0473\u0474","\x07\x87\u0474\u0475\u0188\xC5\u0475\xC3","\u0476\u0479\u0477\u0479","\xC6d\u0478\u0476\u0478\u0477","\u0479\xC5\u047A\u047B","\x07\x99\u047B\u047C\u0188\xC5\u047C\xC7","\u047D\u047E\x07u\u047E\u047F","\x07w\u047F\u0480\xCCg\u0480\u0481","\xCEh\u0481\u0482\xD2j\u0482\u0483\xDC","o\u0483\u048E\u0484\u0485\x07u","\u0485\u0486\x07w\u0486\u0487\xCCg","\u0487\u0488\x07\u0488\u0489\xE8u","\u0489\u048A\x07\u048A\u048B:","\u048B\u048C\xDCo\u048C\u048E","\u048D\u047D\u048D\u0484","\u048E\xC9\u048F\u0490n8\u0490","\u0491R*\u0491\u049D\u0492\u0493","d3\u0493\u0494R*\u0494\u049D","\u0495\u0496j6\u0496\u0497\x07 \u0497","\u0498l7\u0498\u0499\x07 \u0499\u049A","n8\u049A\u049BR*\u049B\u049D","\u049C\u048F\u049C\u0492","\u049C\u0495\u049D\xCB","\u049E\u04A3\xCAf\u049F\u04A0\u01A2\xD2","\u04A0\u04A1R*\u04A1\u04A3\u04A2","\u049E\u04A2\u049F\u04A3","\xCD\u04A4\u04B6\u04A5","\u04A6\x07\u04A6\u04A7z>\u04A7\u04A8","\x07|\u04A8\u04A9\x07\x1B\u04A9\u04AA","\x07\xE1\u04AA\u04AB\x07\u04AB\u04B6","\u04AC\u04AD\x07\u04AD\u04AE","z>\u04AE\u04AF\x07|\u04AF\u04B0\x07\x1B","\u04B0\u04B1\x07\xE1\u04B1\u04B2\x07\x1B","\u04B2\u04B3\x07\x9C\u04B3\u04B4\x07","\u04B4\u04B6\u04B5\u04A4","\u04B5\u04A5\u04B5\u04AC","\u04B6\xCF\u04B7\u04B8z",">\u04B8\u04B9\x07|\u04B9\xD1","\u04BA\u04BB\bj\u04BB\u04BC\xD4k\u04BC","\u04C2\u04BD\u04BE\f\u04BE","\u04BF\x07\x1B\u04BF\u04C1\xD6l\u04C0","\u04BD\u04C1\u04C4\u04C2","\u04C0\u04C2\u04C3\u04C3","\xD3\u04C4\u04C2\u04C5","\u04C6\x07\xE3\u04C6\u04CA\xD8m\u04C7","\u04C8\x07\xE3\u04C8\u04CA\xDAn\u04C9","\u04C5\u04C9\u04C7\u04CA","\xD5\u04CB\u04CF\xD4k\u04CC","\u04CF\xD8m\u04CD\u04CF\xDAn\u04CE\u04CB","\u04CE\u04CC\u04CE\u04CD","\u04CF\xD7\u04D0\u04D1","\x07\u04D1\u04D2\u0188\xC5\u04D2\u04D3","\x07\x1B\u04D3\u04D4\u0188\xC5\u04D4\u04D5","\x07\u04D5\xD9\u04D6\u04D7","\x07\u04D7\u04D8\u0188\xC5\u04D8\u04D9","\x07\x1B\u04D9\u04DA\u0188\xC5\u04DA\u04DB","\x07\x1B\u04DB\u04DC\u0188\xC5\u04DC\u04DD","\x07\u04DD\xDB\u04DE\u04E1","\u04DF\u04E1\xDEp\u04E0\u04DE","\u04E0\u04DF\u04E1\xDD","\u04E2\u04E3\x07\xB8\u04E3\u04E4","\xE0q\u04E4\xDF\u04E5\u04EA","N(\u04E6\u04E7L'\u04E7\u04E8\u0188\xC5","\u04E8\u04EA\u04E9\u04E5","\u04E9\u04E6\u04EA\xE1","\u04EB\u04EC\xD0i\u04EC\u04ED\u0188\xC5","\u04ED\xE3\u04EE\u04EF\x07\xE1","\u04EF\u04F0\u0188\xC5\u04F0\xE5","\u04F1\u04F2\x07\x9C\u04F2\u04F3\u0188\xC5","\u04F3\xE7\u04F4\u0504\xE2r","\u04F5\u04F6\xE2r\u04F6\u04F7\x07\x1B","\u04F7\u04F8\xE4s\u04F8\u0504","\u04F9\u04FA\xE2r\u04FA\u04FB\x07\x1B","\u04FB\u04FC\xE4s\u04FC\u04FD\x07\x1B","\u04FD\u04FE\xE6t\u04FE\u0504","\u04FF\u0500\xE2r\u0500\u0501\x07\x1B","\u0501\u0502\xE6t\u0502\u0504","\u0503\u04F4\u0503\u04F5","\u0503\u04F9\u0503\u04FF","\u0504\xE9\u0505\u0506\x07\xDC","\u0506\u0507\x07w\u0507\u0508\xCCg","\u0508\u0509\xCEh\u0509\u050A\xD2j\u050A","\u050B\xDCo\u050B\u0516\u050C","\u050D\x07\xDC\u050D\u050E\x07w\u050E","\u050F\xCCg\u050F\u0510\x07\u0510","\u0511\xE8u\u0511\u0512\x07\u0512","\u0513:\u0513\u0514\xDCo\u0514\u0516","\u0515\u0505\u0515\u050C","\u0516\xEB\u0517\u0518","\x07G\u0518\u0519\x07a\u0519\u051A","\xCCg\u051A\u051B\x82B\u051B\u051C\x9A","N\u051C\u051D\xC0a\u051D\u051E\xDCo","\u051E\xED\u051F\u0520\x07\xDB","\u0520\u0521\xCCg\u0521\u0522\x82B\u0522","\u0523\xF0y\u0523\u0524\u0106\x84\u0524","\u0525\x9AN\u0525\u0526\xC0a\u0526\u0527","\xDCo\u0527\u0539\u0528\u0529","\x07\xDB\u0529\u052A\xCCg\u052A\u052B","\x82B\u052B\u052C\xF0y\u052C\u052D","\x9AN\u052D\u052E\xC0a\u052E\u052F\xDC","o\u052F\u0539\u0530\u0531\x07\xDB","\u0531\u0532\xCCg\u0532\u0533\x82","B\u0533\u0534\u0106\x84\u0534\u0535\x9A","N\u0535\u0536\xC0a\u0536\u0537\xDCo","\u0537\u0539\u0538\u051F","\u0538\u0528\u0538\u0530","\u0539\xEF\u053A\u053B\x07\xC5","\u053B\u053C\xF2z\u053C\xF1","\u053D\u053E\bz\u053E\u053F\xF4{\u053F\u0545","\u0540\u0541\f\u0541\u0542","\x07\x1B\u0542\u0544\xF4{\u0543\u0540","\u0544\u0547\u0545\u0543","\u0545\u0546\u0546\xF3","\u0547\u0545\u0548\u0549","\u0186\xC4\u0549\u054A\x07\u054A\u054B","\u0188\xC5\u054B\u054C\xF8}\u054C\u0554","\u054D\u054E\xF6|\u054E\u054F","\x07 \u054F\u0550\u0186\xC4\u0550\u0551","\x07\u0551\u0552\u0188\xC5\u0552\u0554","\u0553\u0548\u0553\u054D","\u0554\xF5\u0555\u0556","\u01B2\xDA\u0556\u0557\x07\u0557\u0558","\u019E\xD0\u0558\u0559\x07\u0559\xF7","\u055A\u055D\u055B\u055D","\xFA~\u055C\u055A\u055C\u055B","\u055D\xF9\u055E\u055F","\xFC\x7F\u055F\u0560\u0104\x83\u0560\u0561","\x07Q\u0561\xFB\u0562\u0563","\b\x7F\u0563\u0564\x07_\u0564\u0565","\xFE\x80\u0565\u056B\u0566\u0567\f","\u0567\u0568\x07_\u0568\u056A","\xFE\x80\u0569\u0566\u056A\u056D","\u056B\u0569\u056B\u056C","\u056C\xFD\u056D\u056B","\u056E\u056F\b\x80\u056F\u0570","\u0100\x81\u0570\u0576\u0571\u0572\f","\u0572\u0573\x07\x1B\u0573\u0575","\u0100\x81\u0574\u0571\u0575\u0578","\u0576\u0574\u0576\u0577","\u0577\xFF\u0578\u0576","\u0579\u057A\u0102\x82\u057A\u057B\x07","n\u057B\u057C\u0188\xC5\u057C\u058E","\u057D\u057E\u0102\x82\u057E\u057F\x07","\xEB\u057F\u0580\u0188\xC5\u0580\u058E","\u0581\u0582\u0102\x82\u0582\u0583\x07","\u0583\u0584\u0102\x82\u0584\u0585\x07","n\u0585\u0586\u0188\xC5\u0586\u058E","\u0587\u0588\u0102\x82\u0588\u0589\x07","\u0589\u058A\u0102\x82\u058A\u058B\x07","\xEB\u058B\u058C\u0188\xC5\u058C\u058E","\u058D\u0579\u058D\u057D","\u058D\u0581\u058D\u0587","\u058E\u0101\u058F\u0590\x07","\xEF\u0590\u0103\u0591\u0595","\u0592\u0593\x07\xE6\u0593\u0595","\u0188\xC5\u0594\u0591\u0594\u0592","\u0595\u0105\u0596\u0597\x07","\xDA\u0597\u0598\u0108\x85\u0598\u0107","\u0599\u059A\b\x85\u059A\u059B","\u010A\x86\u059B\u05A1\u059C\u059D\f","\u059D\u059E\x07\x1B\u059E\u05A0","\u010A\x86\u059F\u059C\u05A0\u05A3","\u05A1\u059F\u05A1\u05A2","\u05A2\u0109\u05A3\u05A1","\u05A4\u05A5\u0186\xC4\u05A5\u05A6","\xF8}\u05A6\u010B\u05A7\u05A8\x07","\x8D\u05A8\u05A9\x07w\u05A9\u05AA","\xCAf\u05AA\u05AB\u010E\x88\u05AB\u05AC\x07","\xDF\u05AC\u05AD^0\u05AD\u05AE\x07\x9A","\u05AE\u05AF\u0110\x89\u05AF\u05B0\u0188","\xC5\u05B0\u05B1\u0112\x8A\u05B1\u05B2\xC0","a\u05B2\u05B3\xDCo\u05B3\u010D","\u05B4\u05B5p9\u05B5\u010F","\u05B6\u05B9\u05B7\u05B9\xD0i","\u05B8\u05B6\u05B8\u05B7","\u05B9\u0111\u05BA\u05D0","\u05BB\u05BC\x07\xE6\u05BC\u05BD\x07\x8B","\u05BD\u05BE\x07\xCC\u05BE\u05BF\x07\xDB","\u05BF\u05C0\u0118\x8D\u05C0\u05C1\u0114\x8B","\u05C1\u05D0\u05C2\u05C3\x07\xE6","\u05C3\u05C4\x07\x8B\u05C4\u05C5\x07\xCC","\u05C5\u05C6\x07G\u05C6\u05C7\u011A\x8E","\u05C7\u05C8\u0116\x8C\u05C8\u05D0","\u05C9\u05CA\x07\xE6\u05CA\u05CB\x07\x93","\u05CB\u05CC\x07\x8B\u05CC\u05CD\x07\xCC","\u05CD\u05CE\x07u\u05CE\u05D0\u011C\x8F","\u05CF\u05BA\u05CF\u05BB","\u05CF\u05C2\u05CF\u05C9","\u05D0\u0113\u05D1\u05E0","\u05D2\u05D3\x07\xE6\u05D3\u05D4\x07\x8B","\u05D4\u05D5\x07\xCC\u05D5\u05D6\x07G","\u05D6\u05D7\u011A\x8E\u05D7\u05D8\u0116\x8C","\u05D8\u05E0\u05D9\u05DA\x07\xE6","\u05DA\u05DB\x07\x93\u05DB\u05DC\x07\x8B","\u05DC\u05DD\x07\xCC\u05DD\u05DE\x07u","\u05DE\u05E0\u011C\x8F\u05DF\u05D1","\u05DF\u05D2\u05DF\u05D9","\u05E0\u0115\u05E1\u05E9","\u05E2\u05E3\x07\xE6\u05E3\u05E4\x07\x93","\u05E4\u05E5\x07\x8B\u05E5\u05E6\x07\xCC","\u05E6\u05E7\x07u\u05E7\u05E9\u011C\x8F","\u05E8\u05E1\u05E8\u05E2","\u05E9\u0117\u05EA\u05EB\xF0y","\u05EB\u05EC\x9AN\u05EC\u05F5","\u05ED\u05EE\xF0y\u05EE\u05EF\u0106\x84","\u05EF\u05F0\x9AN\u05F0\u05F5","\u05F1\u05F2\u0106\x84\u05F2\u05F3\x9AN","\u05F3\u05F5\u05F4\u05EA","\u05F4\u05ED\u05F4\u05F1","\u05F5\u0119\u05F6\u05F7\x9AN","\u05F7\u011B\u05F8\u05F9\u0188\xC5","\u05F9\u05FA\x9AN\u05FA\u0607","\u05FB\u05FC\xD8m\u05FC\u05FD\x9AN\u05FD","\u0607\u05FE\u05FF\xDAn\u05FF","\u0600\x9AN\u0600\u0607\u0601","\u0602\x07\u0602\u0603\xE8u\u0603","\u0604\x07\u0604\u0605\x9AN\u0605","\u0607\u0606\u05F8\u0606","\u05FB\u0606\u05FE\u0606","\u0601\u0607\u011D\u0608","\u0609\x07e\u0609\u060A\u0120\x91\u060A","\u060B\x07\xCE\u060B\u060C\u0128\x95\u060C","\u0615\u060D\u060E\x07e\u060E","\u060F\u0120\x91\u060F\u0610\x07\x9A\u0610","\u0611\u0124\x93\u0611\u0612\x07\xCE\u0612","\u0613\u0128\x95\u0613\u0615\u0614","\u0608\u0614\u060D\u0615","\u011F\u0616\u0617\b\x91\u0617","\u0618\u0122\x92\u0618\u061E\u0619","\u061A\f\u061A\u061B\x07\x1B\u061B","\u061D\u0122\x92\u061C\u0619\u061D","\u0620\u061E\u061C\u061E","\u061F\u061F\u0121\u0620","\u061E\u0621\u0622 \b\u0622\u0123","\u0623\u0624\b\x93\u0624\u0625","\u0126\x94\u0625\u062B\u0626\u0627","\f\u0627\u0628\x07\x1B\u0628\u062A","\u0126\x94\u0629\u0626\u062A\u062D","\u062B\u0629\u062B\u062C","\u062C\u0125\u062D\u062B","\u062E\u0649n8\u062F\u0630","h5\u0630\u0631n8\u0631\u0649","\u0632\u0633h5\u0633\u0634j6\u0634\u0635\x07"," \u0635\u0636l7\u0636\u0637\x07 ","\u0637\u0638n8\u0638\u0649\u0639","\u063Aj6\u063A\u063B\x07 \u063B\u063C","l7\u063C\u063D\x07 \u063D\u063En8\u063E","\u0649\u063F\u0640h5\u0640\u0641","j6\u0641\u0642\x07 \u0642\u0643l7","\u0643\u0649\u0644\u0645j6\u0645","\u0646\x07 \u0646\u0647l7\u0647\u0649","\u0648\u062E\u0648\u062F","\u0648\u0632\u0648\u0639","\u0648\u063F\u0648\u0644","\u0649\u0127\u064A\u064B\b","\x95\u064B\u064C\u012A\x96\u064C\u0652","\u064D\u064E\f\u064E\u064F\x07","\x1B\u064F\u0651\u012A\x96\u0650\u064D","\u0651\u0654\u0652\u0650","\u0652\u0653\u0653\u0129","\u0654\u0652\u0655\u065A\x07","\xEF\u0656\u0657\x07\xEF\u0657\u0658\x07","\u0658\u065A\x07\xEF\u0659\u0655","\u0659\u0656\u065A\u012B","\u065B\u065C\x07\xB9\u065C\u065D","\u0120\x91\u065D\u065E\x07a\u065E\u065F","\u0128\x95\u065F\u0668\u0660\u0661\x07","\xB9\u0661\u0662\u0120\x91\u0662\u0663\x07","\x9A\u0663\u0664\u0124\x93\u0664\u0665\x07","a\u0665\u0666\u0128\x95\u0666\u0668","\u0667\u065B\u0667\u0660","\u0668\u012D\u0669\u066A\x07","@\u066A\u066B\x07\xC2\u066B\u066D","\u0148\xA5\u066C\u066E\u020A\u0106\u066D\u066C","\u066D\u066E\u066E\u012F","\u066F\u0670\x07M\u0670\u0671\x07","\xC2\u0671\u0673\u0148\xA5\u0672\u0674","\u0208\u0105\u0673\u0672\u0673\u0674","\u0674\u0131\u0675\u0676\x07","@\u0676\u0677\x079\u0677\u0679\u0144","\xA3\u0678\u067A\u020A\u0106\u0679\u0678","\u0679\u067A\u067A\u0133","\u067B\u067C\x07M\u067C\u067D\x079","\u067D\u067F\u0144\xA3\u067E\u0680\u0208\u0105","\u067F\u067E\u067F\u0680","\u0680\u0135\u0681\u0682\u0138\x9D","\u0682\u0683\x079\u0683\u0684\u0144\xA3","\u0684\u0137\u0685\u0686 ","\u0686\u0139\u0687\u0688\x07@","\u0688\u0689\x07q\u0689\u068A\u0140\xA1","\u068A\u068B\x07\x9A\u068B\u068C\u0144\xA3","\u068C\u068D\x07\u068D\u068E\u0154\xAB","\u068E\u068F\x07\u068F\u0690\u014A\xA6","\u0690\u0691\u015E\xB0\u0691\u0692\u014C\xA7","\u0692\u0694\u0150\xA9\u0693\u0695\u020A\u0106","\u0694\u0693\u0694\u0695","\u0695\u013B\u0696\u0697\x07@","\u0697\u0698\x07\xA9\u0698\u0699\x07q","\u0699\u069A\u013E\xA0\u069A\u069B\x07\x9A","\u069B\u069C\u0144\xA3\u069C\u069D\u014A\xA6","\u069D\u069E\u014C\xA7\u069E\u06A0\u0150\xA9","\u069F\u06A1\u020A\u0106\u06A0\u069F","\u06A0\u06A1\u06A1\u013D","\u06A2\u06A5\u06A3\u06A5\u0140\xA1","\u06A4\u06A2\u06A4\u06A3","\u06A5\u013F\u06A6\u06A7\x07\xEF","\u06A7\u0141\u06A8\u06AB","\u06A9\u06AB\u0140\xA1\u06AA\u06A8","\u06AA\u06A9\u06AB\u0143","\u06AC\u06B7\u0146\xA4\u06AD\u06AEh5\u06AE","\u06AFj6\u06AF\u06B7\u06B0\u06B1","j6\u06B1\u06B2\x07 \u06B2\u06B3l7","\u06B3\u06B4\x07 \u06B4\u06B5n8\u06B5\u06B7","\u06B6\u06AC\u06B6\u06AD","\u06B6\u06B0\u06B7\u0145","\u06B8\u06C1n8\u06B9\u06BA","h5\u06BA\u06BBj6\u06BB\u06BC\x07 \u06BC","\u06BDl7\u06BD\u06BE\x07 \u06BE\u06BF","n8\u06BF\u06C1\u06C0\u06B8","\u06C0\u06B9\u06C1\u0147","\u06C2\u06C3h5\u06C3\u06C4j6\u06C4","\u06C5\x07 \u06C5\u06C6l7\u06C6\u06CC","\u06C7\u06C8j6\u06C8\u06C9\x07 ","\u06C9\u06CAl7\u06CA\u06CC","\u06CB\u06C2\u06CB\u06C7","\u06CC\u0149\u06CD\u06D6","\u06CE\u06CF\x07\xA3\u06CF\u06D0\x073","\u06D0\u06D1\x07i\u06D1\u06D2\x07","\u06D2\u06D3\u01A0\xD1\u06D3\u06D4\x07","\u06D4\u06D6\u06D5\u06CD","\u06D5\u06CE\u06D6\u014B","\u06D7\u06DA\u06D8\u06DA\u014E\xA8","\u06D9\u06D7\u06D9\u06D8","\u06DA\u014D\u06DB\u06DC\x07\xDF","\u06DC\u06E2\x07\xE5\u06DD\u06DE\x07\xDF","\u06DE\u06E2\x07h\u06DF\u06E0\x07\xDF","\u06E0\u06E2\x07b\u06E1\u06DB","\u06E1\u06DD\u06E1\u06DF","\u06E2\u014F\u06E3\u06E6","\u06E4\u06E6\u0152\xAA\u06E5\u06E3","\u06E5\u06E4\u06E6\u0151","\u06E7\u06E8\x07\xEA\u06E8\u06E9\u0188\xC5","\u06E9\u0153\u06EA\u06EB\b\xAB","\u06EB\u06EC\u0156\xAC\u06EC\u06F2","\u06ED\u06EE\f\u06EE\u06EF\x07\x1B","\u06EF\u06F1\u0156\xAC\u06F0\u06ED","\u06F1\u06F4\u06F2\u06F0","\u06F2\u06F3\u06F3\u0155","\u06F4\u06F2\u06F5\u06F6\u0158\xAD","\u06F6\u06F7\u0160\xB1\u06F7\u0157","\u06F8\u0703\u015A\xAE\u06F9\u06FA\u015C\xAF","\u06FA\u06FB\u015A\xAE\u06FB\u0703","\u06FC\u06FD\u015C\xAF\u06FD\u06FE\x07K","\u06FE\u06FF\u015A\xAE\u06FF\u0703","\u0700\u0701\x07K\u0701\u0703\u015A\xAE","\u0702\u06F8\u0702\u06F9","\u0702\u06FC\u0702\u0700","\u0703\u0159\u0704\u0705\u0188\xC5",`\u0705\u015B\u0706\u0707 +\u0707`,"\u015D\u0708\u070C\u0709","\u070A\x07\xE7\u070A\u070C\u015A\xAE\u070B","\u0708\u070B\u0709\u070C","\u015F\u070D\u0713\u070E","\u0713\u0162\xB2\u070F\u0710\u0162\xB2\u0710","\u0711\u0162\xB2\u0711\u0713\u0712","\u070D\u0712\u070E\u0712","\u070F\u0713\u0161\u0714","\u0715 \v\u0715\u0163\u0716","\u0717\x07M\u0717\u0718\x07\xA9\u0718","\u0719\x07q\u0719\u071A\x07\x9A\u071A","\u071B\u0144\xA3\u071B\u071C\u014C\xA7\u071C","\u072C\u071D\u071E\x07M\u071E","\u071F\x07q\u071F\u0720\u0146\xA4\u0720","\u0721\x07 \u0721\u0722\u0140\xA1\u0722","\u0723\u014C\xA7\u0723\u072C\u0724","\u0725\x07M\u0725\u0726\x07q\u0726\u0727","\u0140\xA1\u0727\u0728\x07\x9A\u0728\u0729","\u0144\xA3\u0729\u072A\u014C\xA7\u072A\u072C","\u072B\u0716\u072B\u071D","\u072B\u0724\u072C\u0165","\u072D\u072E\x07$\u072E\u072F","\x07q\u072F\u0730\u0146\xA4\u0730\u0731","\x07 \u0731\u0732\u0140\xA1\u0732\u0733","\u014C\xA7\u0733\u0734\u0152\xAA\u0734\u073E","\u0735\u0736\x07$\u0736\u0737","\x07q\u0737\u0738\u0140\xA1\u0738\u0739","\x07\x9A\u0739\u073A\u0144\xA3\u073A\u073B","\u014C\xA7\u073B\u073C\u0152\xAA\u073C\u073E","\u073D\u072D\u073D\u0735","\u073E\u0167\u073F\u0740","\x072\u0740\u0741\x07q\u0741\u0742\x07","\x9A\u0742\u0743\u0144\xA3\u0743\u0744\x07","\u0744\u0745\u01A0\xD1\u0745\u0746\x07","\u0746\u0747\u014C\xA7\u0747\u0169","\u0748\u0749\x07@\u0749\u074A","\u016C\xB7\u074A\u074B\x07c\u074B\u074C","\u016E\xB8\u074C\u074D\x07\u074D\u074E","\u0174\xBB\u074E\u074F\x07\u074F\u0750","\u0178\xBD\u0750\u016B\u0751\u0755","\u0752\u0753\x07\x9D\u0753\u0755\x07","\xB5\u0754\u0751\u0754\u0752","\u0755\u016D\u0756\u0759","\u0170\xB9\u0757\u0759\u0172\xBA\u0758\u0756","\u0758\u0757\u0759\u016F","\u075A\u075Bn8\u075B\u0171","\u075C\u075Df4\u075D\u075En8\u075E","\u0767\u075F\u0760f4\u0760\u0761","j6\u0761\u0762\x07 \u0762\u0763l7","\u0763\u0764\x07 \u0764\u0765n8\u0765\u0767","\u0766\u075C\u0766\u075F","\u0767\u0173\u0768\u076E","\u0769\u076A\x07 \u076A\u076B","\x07 \u076B\u076E\x07 \u076C\u076E","\u0176\xBC\u076D\u0768\u076D\u0769","\u076D\u076C\u076E\u0175","\u076F\u0770\b\xBC\u0770\u0771\x07","\xEF\u0771\u0777\u0772\u0773\f","\u0773\u0774\x07\x1B\u0774\u0776\x07","\xEF\u0775\u0772\u0776\u0779","\u0777\u0775\u0777\u0778","\u0778\u0177\u0779\u0777","\u077A\u077B\x07\u077B\u077C","\u0188\xC5\u077C\u077D\x07\u077D\u078F","\u077E\u077F\x07\x80\u077F\u0780\x07","s\u0780\u0781\x07)\u0781\u078F\u0188","\xC5\u0782\u0783\x07\x80\u0783\u0784\x07d","\u0784\u0785\x07)\u0785\u0786\x07","\u0786\u0787\x07+\u0787\u078F\x07","\u0788\u0789\x07\x80\u0789\u078A\x07z","\u078A\u078B\x07)\u078B\u078C\x07","\u078C\u078D\x07+\u078D\u078F\x07","\u078E\u077A\u078E\u077E","\u078E\u0782\u078E\u0788","\u078F\u0179\u0790\u0791\x07M","\u0791\u0792\x07c\u0792\u0793\u016E","\xB8\u0793\u017B\u0794\u0795\x07U","\u0795\u0796\x07c\u0796\u0797\u016E","\xB8\u0797\u0798\x07\u0798\u0799\u019E","\xD0\u0799\u079A\x07\u079A\u017D","\u079B\u079C\x07\xDB\u079C\u079D\x07\xC9","\u079D\u079E\u0180\xC1\u079E\u079F\u0144","\xA3\u079F\u07A0\x07\u07A0\u07A1\u0182","\xC2\u07A1\u07A2\x07\u07A2\u07A3$","\u07A3\u0816\u07A4\u07A5\x07\xDB","\u07A5\u07A6\x07\xC9\u07A6\u07A7\u0180","\xC1\u07A7\u07A8\u0144\xA3\u07A8\u07A9\x07G","\u07A9\u07AA\x07\u07AA\u07AB\u0182","\xC2\u07AB\u07AC\x07\u07AC\u0816","\u07AD\u07AE\x07\xDB\u07AE\u07AF\x07\xC9","\u07AF\u07B0\u0180\xC1\u07B0\u07B1\u0144","\xA3\u07B1\u07B2\x07G\u07B2\u07B3\x07#","\u07B3\u0816\u07B4\u07B5\x07\xDB","\u07B5\u07B6\x07\xC9\u07B6\u07B7\u0180\xC1","\u07B7\u07B8\u0144\xA3\u07B8\u07B9\x07q","\u07B9\u07BA\x07\u07BA\u07BB\u01A0\xD1","\u07BB\u07BC\x07\u07BC\u07BD\u014C\xA7","\u07BD\u07BE$\u07BE\u0816","\u07BF\u07C0\x07\xDB\u07C0\u07C1\x07\xC9","\u07C1\u07C2\u0180\xC1\u07C2\u07C3\u0144\xA3","\u07C3\u07C4\x07q\u07C4\u07C5\x07#","\u07C5\u07C6\u014C\xA7\u07C6\u07C7$","\u07C7\u0816\u07C8\u07C9\x07\xDB","\u07C9\u07CA\x07\xC9\u07CA\u07CB\x07_","\u07CB\u07CC\x07q\u07CC\u07CD\u0146\xA4","\u07CD\u07CE\x07 \u07CE\u07CF\u0140\xA1","\u07CF\u07D0\u014C\xA7\u07D0\u07D1$","\u07D1\u0816\u07D2\u07D3\x07\xDB","\u07D3\u07D4\x07\xC9\u07D4\u07D5\x07_","\u07D5\u07D6\x07q\u07D6\u07D7\u0140\xA1","\u07D7\u07D8\x07\x9A\u07D8\u07D9\u0144\xA3","\u07D9\u07DA\u014C\xA7\u07DA\u07DB$","\u07DB\u0816\u07DC\u07DD\x07%","\u07DD\u07DE \u07DE\u07DF\u0144\xA3","\u07DF\u07E0\x07\u07E0\u07E1\u0182\xC2","\u07E1\u07E2\x07\u07E2\u07E3$","\u07E3\u0816\u07E4\u07E5\x07%","\u07E5\u07E6 \u07E6\u07E7\u0144\xA3","\u07E7\u07E8\x07G\u07E8\u07E9\x07\xC9","\u07E9\u07EA\x07\u07EA\u07EB\u0182\xC2","\u07EB\u07EC\x07\u07EC\u0816","\u07ED\u07EE\x07%\u07EE\u07EF \u07EF","\u07F0\u0144\xA3\u07F0\u07F1\x07G\u07F1","\u07F2\x07\xC9\u07F2\u0816\u07F3","\u07F4\x07%\u07F4\u07F5 \u07F5\u07F6","\u0144\xA3\u07F6\u07F7\x07q\u07F7\u07F8","\x07\u07F8\u07F9\u01A0\xD1\u07F9\u07FA","\x07\u07FA\u07FB\u014C\xA7\u07FB\u07FC","$\u07FC\u0816\u07FD\u07FE","\x07%\u07FE\u07FF \u07FF\u0800","\u0144\xA3\u0800\u0801\x07q\u0801\u0802\x07","#\u0802\u0803\u014C\xA7\u0803\u0804","$\u0804\u0816\u0805\u0806\x07","%\u0806\u0807\x07q\u0807\u0808\u0146","\xA4\u0808\u0809\x07 \u0809\u080A\u0140","\xA1\u080A\u080B\u014C\xA7\u080B\u080C$","\u080C\u0816\u080D\u080E\x07%","\u080E\u080F\x07q\u080F\u0810\u0140","\xA1\u0810\u0811\x07\x9A\u0811\u0812\u0144","\xA3\u0812\u0813\u014C\xA7\u0813\u0814$","\u0814\u0816\u0815\u079B","\u0815\u07A4\u0815\u07AD","\u0815\u07B4\u0815\u07BF","\u0815\u07C8\u0815\u07D2","\u0815\u07DC\u0815\u07E4","\u0815\u07ED\u0815\u07F3","\u0815\u07FD\u0815\u0805","\u0815\u080D\u0816\u017F","\u0817\u081A\u0818\u081A\x07_","\u0819\u0817\u0819\u0818","\u081A\u0181\u081B\u081C\b\xC2","\u081C\u081D\u0184\xC3\u081D\u0823","\u081E\u081F\f\u081F\u0820\x07\x1B","\u0820\u0822\u0184\xC3\u0821\u081E","\u0822\u0825\u0823\u0821","\u0823\u0824\u0824\u0183","\u0825\u0823\u0826\u0827\u0158","\xAD\u0827\u0185\u0828\u0829\b\xC4","\u0829\u082A\x07\xEF\u082A\u0844","\u082B\u082C\f\x07\u082C\u082D\x07 ","\u082D\u0843\x07\xEF\u082E\u082F\f","\u082F\u0830\x07 \u0830\u0843\x07\xEE","\u0831\u0832\f\u0832\u0833\x07 ","\u0833\u0834\x07\u0834\u0835\u0188\xC5","\u0835\u0836\x07\u0836\u0843","\u0837\u0838\f\u0838\u0839\x07 \u0839","\u083A\x07\u083A\u083B\u0188\xC5\u083B","\u083C\x07\u083C\u0843\u083D","\u083E\f\u083E\u083F\x07\u083F","\u0840\u0188\xC5\u0840\u0841\x07\u0841","\u0843\u0842\u082B\u0842","\u082E\u0842\u0831\u0842","\u0837\u0842\u083D\u0843","\u0846\u0844\u0842\u0844","\u0845\u0845\u0187\u0846","\u0844\u0847\u0848\b\xC5\u0848","\u084E\u018C\xC7\u0849\u084A\x07\x93\u084A","\u084E\u0188\xC5\u084B\u084C\x07V\u084C","\u084E\u0188\xC5\u084D\u0847\u084D","\u0849\u084D\u084B\u084E","\u08DD\u084F\u0850\f!\u0850\u0851",`\x07 +\u0851\u08DC\u0188\xC5"\u0852\u0853\f `,"\u0853\u0854\x07\v\u0854\u08DC\u0188","\xC5!\u0855\u0856\f\u0856\u0857\x07\f","\u0857\u08DC\u0188\xC5 \u0858\u0859\f\u0859","\u085A\x07\r\u085A\u08DC\u0188\xC5\u085B","\u085C\f\u085C\u085D\x07\u085D","\u08DC\u0188\xC5\u085E\u085F\f\u085F","\u0860\x07\u0860\u08DC\u0188\xC5\u0861","\u0862\f\x1B\u0862\u0863\x07&\u0863\u08DC","\u0188\xC5\u0864\u0865\f\u0865\u0866","\x07\x9D\u0866\u08DC\u0188\xC5\x1B\u0867\u0868","\f\u0868\u0869\x07\u0869\u08DC","\u0188\xC5\u086A\u086B\f\u086B\u086C","\x07\u086C\u08DC\u0188\xC5\u086D\u086E","\f\u086E\u086F\x07\u086F\u08DC","\u0188\xC5\u0870\u0871\f\u0871\u0872","\x07\u0872\u08DC\u0188\xC5\u0873\u0874","\f\u0874\u0875\x07\u0875\u08DC","\u0188\xC5\u0876\u0877\f\u0877\u0878","\x07\u0878\u08DC\u0188\xC5\u0879\u087A","\f\u087A\u087B\x07\u087B\u08DC","\u0188\xC5\u087C\u087D\f\u087D\u087E","\x07\x86\u087E\u08DC\u0188\xC5\u087F\u0880","\f\u0880\u0881\x07\x93\u0881\u0882","\x07\x86\u0882\u08DC\u0188\xC5\u0883\u0884","\f\r\u0884\u0885\x07n\u0885\u08DC\u0188","\xC5\u0886\u0887\f\f\u0887\u0888\x07\x93","\u0888\u0889\x07n\u0889\u08DC\u0188\xC5","\r\u088A\u088B\f\v\u088B\u088C\x07\xEB",`\u088C\u08DC\u0188\xC5\f\u088D\u088E\f +\u088E\u088F`,"\x07\x93\u088F\u0890\x07\xEB\u0890\u08DC","\u0188\xC5\v\u0891\u0892\f)\u0892\u0893\x07"," \u0893\u08DC\x07\xEF\u0894\u0895\f(","\u0895\u0896\x07 \u0896\u08DC\x07\xEE","\u0897\u0898\f'\u0898\u0899\x07 \u0899","\u089A\x07\u089A\u089B\u0188\xC5\u089B","\u089C\x07\u089C\u08DC\u089D","\u089E\f&\u089E\u089F\x07 \u089F\u08A0\x07","\u08A0\u08A1\u0188\xC5\u08A1\u08A2\x07","\u08A2\u08DC\u08A3\u08A4\f","%\u08A4\u08A5\x07\u08A5\u08A6","\u0188\xC5\u08A6\u08A7\x07\u08A7\u08DC","\u08A8\u08A9\f$\u08A9\u08AA\x07","\u08AA\u08AB\u0188\xC5\u08AB\u08AC\x07","\u08AC\u08AD\x07\u08AD\u08DC","\u08AE\u08AF\f#\u08AF\u08B0\x07","\u08B0\u08B1\u0188\xC5\u08B1\u08B2\x07","\u08B2\u08B3\u0188\xC5\u08B3\u08B4\x07",'\u08B4\u08DC\u08B5\u08B6\f"',"\u08B6\u08B7\x07\u08B7\u08B8\x07\f","\u08B8\u08DC\x07\u08B9\u08BA\f","\u08BA\u08BB\x07-\u08BB\u08BC\u018E\xC8","\u08BC\u08BD\x07&\u08BD\u08BE\u018E\xC8","\u08BE\u08DC\u08BF\u08C0\f","\u08C0\u08C1\x07\x93\u08C1\u08C2\x07-","\u08C2\u08C3\u018E\xC8\u08C3\u08C4\x07&","\u08C4\u08C5\u018E\xC8\u08C5\u08DC","\u08C6\u08C7\f \u08C7\u08C8\x07x\u08C8\u08DC","\x07\x95\u08C9\u08CA\f\b\u08CA\u08CB\x07","x\u08CB\u08CC\x07\x93\u08CC\u08DC\x07","\x95\u08CD\u08CE\f\x07\u08CE\u08CF\x07","x\u08CF\u08DC\x07\x8E\u08D0\u08D1\f","\u08D1\u08D2\x07x\u08D2\u08D3\x07\x93","\u08D3\u08DC\x07\x8E\u08D4\u08D5\f","\u08D5\u08D6\x07x\u08D6\u08DC\u018A","\xC6\u08D7\u08D8\f\u08D8\u08D9\x07x","\u08D9\u08DA\x07\x93\u08DA\u08DC\u018A\xC6","\u08DB\u084F\u08DB\u0852","\u08DB\u0855\u08DB\u0858","\u08DB\u085B\u08DB\u085E","\u08DB\u0861\u08DB\u0864","\u08DB\u0867\u08DB\u086A","\u08DB\u086D\u08DB\u0870","\u08DB\u0873\u08DB\u0876","\u08DB\u0879\u08DB\u087C","\u08DB\u087F\u08DB\u0883","\u08DB\u0886\u08DB\u088A","\u08DB\u088D\u08DB\u0891","\u08DB\u0894\u08DB\u0897","\u08DB\u089D\u08DB\u08A3","\u08DB\u08A8\u08DB\u08AE","\u08DB\u08B5\u08DB\u08B9","\u08DB\u08BF\u08DB\u08C6","\u08DB\u08C9\u08DB\u08CD","\u08DB\u08D0\u08DB\u08D4","\u08DB\u08D7\u08DC\u08DF","\u08DD\u08DB\u08DD\u08DE","\u08DE\u0189\u08DF\u08DD","\u08E0\u08E1 \f\u08E1\u018B","\u08E2\u08F3\u0190\xC9\u08E3\u08F3\u0192\xCA","\u08E4\u08F3\x07\xEF\u08E5\u08F3\x07\xEE","\u08E6\u08F3\x07\xC4\u08E7\u08F3\u01A2\xD2","\u08E8\u08F3\u01B0\xD9\u08E9\u08F3\x07\v","\u08EA\u08F3\u01A4\xD3\u08EB\u08F3\u01B4\xDB","\u08EC\u08F3\u01C0\xE1\u08ED\u08EE\x07?","\u08EE\u08EF\x07\u08EF\u08F0\u0188\xC5","\u08F0\u08F1\x07\u08F1\u08F3","\u08F2\u08E2\u08F2\u08E3","\u08F2\u08E4\u08F2\u08E5","\u08F2\u08E6\u08F2\u08E7","\u08F2\u08E8\u08F2\u08E9","\u08F2\u08EA\u08F2\u08EB","\u08F2\u08EC\u08F2\u08ED","\u08F3\u018D\u08F4\u08F5\b\xC8","\u08F5\u08F6\u018C\xC7\u08F6\u0933",`\u08F7\u08F8\f\b\u08F8\u08F9\x07 +\u08F9\u0932`,"\u018E\xC8 \u08FA\u08FB\f\x07\u08FB\u08FC\x07","\v\u08FC\u0932\u018E\xC8\b\u08FD\u08FE\f","\u08FE\u08FF\x07\f\u08FF\u0932\u018E","\xC8\x07\u0900\u0901\f\u0901\u0902\x07\r","\u0902\u0932\u018E\xC8\u0903\u0904\f","\u0904\u0905\x07\u0905\u0932\u018E\xC8","\u0906\u0907\f\u0907\u0908\x07","\u0908\u0932\u018E\xC8\u0909\u090A\f","\u090A\u090B\x07 \u090B\u0932\x07\xEF","\u090C\u090D\f\u090D\u090E\x07 ","\u090E\u0932\x07\xEE\u090F\u0910\f","\u0910\u0911\x07 \u0911\u0912\x07","\u0912\u0913\u0188\xC5\u0913\u0914\x07","\u0914\u0932\u0915\u0916\f\r\u0916","\u0917\x07 \u0917\u0918\x07\u0918","\u0919\u0188\xC5\u0919\u091A\x07\u091A","\u0932\u091B\u091C\f\f\u091C\u091D","\x07\u091D\u091E\u0188\xC5\u091E\u091F","\x07\u091F\u0932\u0920\u0921","\f\v\u0921\u0922\x07\u0922\u0923","\u0188\xC5\u0923\u0924\x07\u0924\u0925","\x07\u0925\u0932\u0926\u0927",`\f +\u0927\u0928\x07\u0928\u0929`,"\u0188\xC5\u0929\u092A\x07\u092A\u092B","\u0188\xC5\u092B\u092C\x07\u092C\u0932","\u092D\u092E\f \u092E\u092F\x07","\u092F\u0930\x07\f\u0930\u0932\x07","\u0931\u08F7\u0931\u08FA","\u0931\u08FD\u0931\u0900","\u0931\u0903\u0931\u0906","\u0931\u0909\u0931\u090C","\u0931\u090F\u0931\u0915","\u0931\u091B\u0931\u0920","\u0931\u0926\u0931\u092D","\u0932\u0935\u0933\u0931","\u0933\u0934\u0934\u018F","\u0935\u0933\u0936\u0937 \r","\u0937\u0191\u0938\u093B\u0194\xCB","\u0939\u093B\u019C\xCF\u093A\u0938","\u093A\u0939\u093B\u0193","\u093C\u093D\x07\u093D\u093E\u0196\xCC","\u093E\u093F\x07\u093F\u0195","\u0940\u0943\u0941\u0943\u0198\xCD","\u0942\u0940\u0942\u0941","\u0943\u0197\u0944\u0945\b\xCD","\u0945\u0946\u019A\xCE\u0946\u094C","\u0947\u0948\f\u0948\u0949\x07\x1B","\u0949\u094B\u019A\xCE\u094A\u0947","\u094B\u094E\u094C\u094A","\u094C\u094D\u094D\u0199","\u094E\u094C\u094F\u0950\u0188\xC5","\u0950\u0951\x07\u0951\u0952\u0188\xC5","\u0952\u0955\u0953\u0955\u0188\xC5","\u0954\u094F\u0954\u0953","\u0955\u019B\u0956\u0957\x07","\u0957\u0958\u019E\xD0\u0958\u0959\x07","\u0959\u019D\u095A\u095D","\u095B\u095D\u01A0\xD1\u095C\u095A","\u095C\u095B\u095D\u019F","\u095E\u095F\b\xD1\u095F\u0960\u0188\xC5","\u0960\u0966\u0961\u0962\f","\u0962\u0963\x07\x1B\u0963\u0965\u0188\xC5","\u0964\u0961\u0965\u0968","\u0966\u0964\u0966\u0967","\u0967\u01A1\u0968\u0966","\u0969\u096A \u096A\u01A3","\u096B\u096C\x075\u096C\u096D\u01A6\xD4","\u096D\u096E\x07Q\u096E\u01A5","\u096F\u0972\u01A8\xD5\u0970\u0972\u01AC\xD7","\u0971\u096F\u0971\u0970","\u0972\u01A7\u0973\u0974\u0188\xC5","\u0974\u0975\u01AA\xD6\u0975\u0976\u01AE\xD8","\u0976\u01A9\u0977\u0978\b\xD6","\u0978\u0979\x07\xE6\u0979\u097A\u0188\xC5","\u097A\u097B\x07\xCC\u097B\u097C\u0188\xC5","\u097C\u0985\u097D\u097E\f","\u097E\u097F\x07\xE6\u097F\u0980\u0188\xC5","\u0980\u0981\x07\xCC\u0981\u0982\u0188\xC5","\u0982\u0984\u0983\u097D","\u0984\u0987\u0985\u0983","\u0985\u0986\u0986\u01AB","\u0987\u0985\u0988\u0989\u01AA\xD6","\u0989\u098A\u01AE\xD8\u098A\u01AD","\u098B\u098F\u098C\u098D\x07P","\u098D\u098F\u0188\xC5\u098E\u098B","\u098E\u098C\u098F\u01AF","\u0990\u0991\x07\x94\u0991\u0992\x07","\u0992\u0993\u01A0\xD1\u0993\u0994\x07","\u0994\u0995\u01E4\xF3\u0995\u0996\u01E0\xF1","\u0996\u0997\u01EC\xF7\u0997\u09B5","\u0998\u0999\u01B2\xDA\u0999\u099A\x07","\u099A\u099B\u019E\xD0\u099B\u099C\x07","\u099C\u099D\u01E8\xF5\u099D\u099E\u01E0\xF1","\u099E\u099F\u01EA\xF6\u099F\u09B5","\u09A0\u09A1\u01B2\xDA\u09A1\u09A2\x07","\u09A2\u09A3\u01E6\xF4\u09A3\u09A4\u0188\xC5","\u09A4\u09A5\x07\u09A5\u09A6\u01E8\xF5","\u09A6\u09A7\u01EA\xF6\u09A7\u09B5","\u09A8\u09A9\u01B2\xDA\u09A9\u09AA\x07","\u09AA\u09AB\x07\f\u09AB\u09AC\x07","\u09AC\u09AD\u01E8\xF5\u09AD\u09AE\u01EA\xF6","\u09AE\u09B5\u09AF\u09B0\u0172\xBA","\u09B0\u09B1\x07\u09B1\u09B2\u019E\xD0","\u09B2\u09B3\x07\u09B3\u09B5","\u09B4\u0990\u09B4\u0998","\u09B4\u09A0\u09B4\u09A8","\u09B4\u09AF\u09B5\u01B1","\u09B6\u09B7 \u09B7\u01B3","\u09B8\u09BB\u01B6\xDC\u09B9\u09BB\u01BE\xE0","\u09BA\u09B8\u09BA\u09B9","\u09BB\u01B5\u09BC\u09BD\x07'","\u09BD\u09BE\u01B8\xDD\u09BE\u09BF\u01BC\xDF","\u09BF\u09C0\x07Q\u09C0\u09DA","\u09C1\u09C2\x07\xC7\u09C2\u09C3\u01B8\xDD","\u09C3\u09C4\u01BC\xDF\u09C4\u09C5\x07Q","\u09C5\u09DA\u09C6\u09C7\x07R","\u09C7\u09C8\u01B8\xDD\u09C8\u09C9\u01BC\xDF","\u09C9\u09CA\x07Q\u09CA\u09DA","\u09CB\u09CC\x07'\u09CC\u09CD\x07&","\u09CD\u09CE\x07R\u09CE\u09CF\u01B8\xDD","\u09CF\u09D0\u01BC\xDF\u09D0\u09D1\x07Q","\u09D1\u09DA\u09D2\u09D3\x07\xC7","\u09D3\u09D4\x07&\u09D4\u09D5\x07R\u09D5","\u09D6\u01B8\xDD\u09D6\u09D7\u01BC\xDF\u09D7","\u09D8\x07Q\u09D8\u09DA\u09D9","\u09BC\u09D9\u09C1\u09D9","\u09C6\u09D9\u09CB\u09D9","\u09D2\u09DA\u01B7\u09DB","\u09DC\b\xDD\u09DC\u09DD\u01BA\xDE\u09DD","\u09E3\u09DE\u09DF\f\u09DF","\u09E0\x07\x1B\u09E0\u09E2\u01BA\xDE\u09E1","\u09DE\u09E2\u09E5\u09E3","\u09E1\u09E3\u09E4\u09E4","\u01B9\u09E5\u09E3\u09E6","\u09E7\u0102\x82\u09E7\u09E8\x07n\u09E8","\u09E9\u0188\xC5\u09E9\u09FB\u09EA","\u09EB\u0102\x82\u09EB\u09EC\x07\xEB\u09EC","\u09ED\u0188\xC5\u09ED\u09FB\u09EE","\u09EF\u0102\x82\u09EF\u09F0\x07\u09F0","\u09F1\u0102\x82\u09F1\u09F2\x07n\u09F2","\u09F3\u0188\xC5\u09F3\u09FB\u09F4","\u09F5\u0102\x82\u09F5\u09F6\x07\u09F6","\u09F7\u0102\x82\u09F7\u09F8\x07\xEB\u09F8","\u09F9\u0188\xC5\u09F9\u09FB\u09FA","\u09E6\u09FA\u09EA\u09FA","\u09EE\u09FA\u09F4\u09FB","\u01BB\u09FC\u09FD\x07\xBF\u09FD","\u09FE\u0188\xC5\u09FE\u01BD\u09FF","\u0A00\x07(\u0A00\u0A01\u0188\xC5\u0A01","\u0A02\x07_\u0A02\u0A03\u01B8\xDD\u0A03","\u0A04\u0104\x83\u0A04\u0A05\x07Q\u0A05","\u0A17\u0A06\u0A07\x07[\u0A07","\u0A08\u0188\xC5\u0A08\u0A09\x07_\u0A09","\u0A0A\u01B8\xDD\u0A0A\u0A0B\u0104\x83\u0A0B","\u0A0C\x07Q\u0A0C\u0A17\u0A0D","\u0A0E\x07\x98\u0A0E\u0A0F\u0188\xC5\u0A0F","\u0A10\x07\u0A10\u0A11\u0188\xC5\u0A11","\u0A12\x07_\u0A12\u0A13\u01B8\xDD\u0A13","\u0A14\u0104\x83\u0A14\u0A15\x07Q\u0A15","\u0A17\u0A16\u09FF\u0A16","\u0A06\u0A16\u0A0D\u0A17","\u01BF\u0A18\u0A19\x07\u0A19","\u0A1A\u0188\xC5\u0A1A\u0A1B\x07\u0A1B","\u0A22\u0A1C\u0A1D\x07\u0A1D","\u0A1E\u01C6\xE4\u0A1E\u0A1F\x07\u0A1F","\u0A22\u0A20\u0A22\u01C2\xE2\u0A21","\u0A18\u0A21\u0A1C\u0A21","\u0A20\u0A22\u01C1\u0A23","\u0A24\x07>\u0A24\u0A25\x07\u0A25","\u0A26:\u0A26\u0A27\x07\u0A27","\u0A2D\u0A28\u0A29\x07\u0A29","\u0A2A:\u0A2A\u0A2B\x07\u0A2B","\u0A2D\u0A2C\u0A23\u0A2C","\u0A28\u0A2D\u01C3\u0A2E","\u0A31\u0188\xC5\u0A2F\u0A31\u01C6\xE4\u0A30","\u0A2E\u0A30\u0A2F\u0A31","\u01C5\u0A32\u0A33\u015C\xAF\u0A33","\u0A34\u0188\xC5\u0A34\u0A3C\u0A35","\u0A36\u015C\xAF\u0A36\u0A37\x07K\u0A37","\u0A38\u0188\xC5\u0A38\u0A3C\u0A39","\u0A3A\x07K\u0A3A\u0A3C\u0188\xC5\u0A3B","\u0A32\u0A3B\u0A35\u0A3B","\u0A39\u0A3C\u01C7\u0A3D","\u0A41\u0A3E\u0A3F\x07\xE9\u0A3F","\u0A41\u01CA\xE6\u0A40\u0A3D\u0A40","\u0A3E\u0A41\u01C9\u0A42","\u0A43\b\xE6\u0A43\u0A44\u01CC\xE7\u0A44","\u0A4A\u0A45\u0A46\f\u0A46","\u0A47\x07\x1B\u0A47\u0A49\u01CC\xE7\u0A48","\u0A45\u0A49\u0A4C\u0A4A","\u0A48\u0A4A\u0A4B\u0A4B","\u01CB\u0A4C\u0A4A\u0A4D","\u0A4E\x07\xEF\u0A4E\u0A4F\x07)\u0A4F","\u0A50\u01CE\xE8\u0A50\u01CD\u0A51","\u0A52\x07\u0A52\u0A53\u01D0\xE9\u0A53","\u0A54\u01D2\xEA\u0A54\u0A55\xAEX\u0A55","\u0A56\u01D4\xEB\u0A56\u0A57\x07\u0A57","\u01CF\u0A58\u0A5B\u0A59","\u0A5B\x07\xEF\u0A5A\u0A58\u0A5A","\u0A59\u0A5B\u01D1\u0A5C","\u0A61\u0A5D\u0A5E\x07\xA3\u0A5E","\u0A5F\x073\u0A5F\u0A61\u01A0\xD1\u0A60","\u0A5C\u0A60\u0A5D\u0A61","\u01D3\u0A62\u0A68\u0A63","\u0A64\u01D6\xEC\u0A64\u0A65\u01DA\xEE\u0A65","\u0A66\u01D8\xED\u0A66\u0A68\u0A67","\u0A62\u0A67\u0A63\u0A68","\u01D5\u0A69\u0A6A \u0A6A","\u01D7\u0A6B\u0A77\u0A6C","\u0A6D\x07T\u0A6D\u0A6E\x07\x92\u0A6E","\u0A77\x07\x9F\u0A6F\u0A70\x07T\u0A70","\u0A71\x07A\u0A71\u0A77\x07\xBD\u0A72","\u0A73\x07T\u0A73\u0A77\x07\xCD\u0A74","\u0A75\x07T\u0A75\u0A77\x07f\u0A76\u0A6B","\u0A76\u0A6C\u0A76\u0A6F","\u0A76\u0A72\u0A76\u0A74","\u0A77\u01D9\u0A78\u0A7F","\u01DC\xEF\u0A79\u0A7A\x07-\u0A7A\u0A7B","\u01DC\xEF\u0A7B\u0A7C\x07&\u0A7C\u0A7D","\u01DC\xEF\u0A7D\u0A7F\u0A7E\u0A78","\u0A7E\u0A79\u0A7F\u01DB","\u0A80\u0A81\x07\xD4\u0A81\u0A8A","\x07\xA7\u0A82\u0A83\x07\xD4\u0A83\u0A8A","\x07^\u0A84\u0A85\x07A\u0A85\u0A8A\x07","\xBD\u0A86\u0A87\u0188\xC5\u0A87\u0A88","\u01DE\xF0\u0A88\u0A8A\u0A89\u0A80","\u0A89\u0A82\u0A89\u0A84","\u0A89\u0A86\u0A8A\u01DD","\u0A8B\u0A8C \u0A8C\u01DF","\u0A8D\u0A90\u0A8E\u0A90","\u01E2\xF2\u0A8F\u0A8D\u0A8F\u0A8E","\u0A90\u01E1\u0A91\u0A92\x07","\xB6\u0A92\u0A96\x07\x96\u0A93\u0A94\x07","l\u0A94\u0A96\x07\x96\u0A95\u0A91","\u0A95\u0A93\u0A96\u01E3","\u0A97\u0A9B\u0A98\u0A99\x07","a\u0A99\u0A9B\xBC_\u0A9A\u0A97","\u0A9A\u0A98\u0A9B\u01E5","\u0A9C\u0A9D \u0A9D\u01E7","\u0A9E\u0AA5\u0A9F\u0AA0\x07Z","\u0AA0\u0AA1\x07\u0AA1\u0AA2\x9C","O\u0AA2\u0AA3\x07\u0AA3\u0AA5","\u0AA4\u0A9E\u0AA4\u0A9F","\u0AA5\u01E9\u0AA6\u0AA9","\u0AA7\u0AA9\u01EC\xF7\u0AA8\u0AA6","\u0AA8\u0AA7\u0AA9\u01EB","\u0AAA\u0AAB\x07\xA1\u0AAB\u0AAF\x07\xEF","\u0AAC\u0AAD\x07\xA1\u0AAD\u0AAF\u01CE","\xE8\u0AAE\u0AAA\u0AAE\u0AAC","\u0AAF\u01ED\u0AB0\u0AB1\u01F4","\xFB\u0AB1\u0AB2\u01F8\xFD\u0AB2\u0AB3\u01FE","\u0100\u0AB3\u01EF\u0AB4\u0AB5\x07:","\u0AB5\u0AB6\u01F6\xFC\u0AB6\u01F1","\u0AB7\u0AB8\x07\xBC\u0AB8\u0AB9\u01F6","\xFC\u0AB9\u0ABA\u01FA\xFE\u0ABA\u01F3","\u0ABB\u0ABC \u0ABC\u01F5","\u0ABD\u0AC0\u0ABE\u0AC0\u01F8","\xFD\u0ABF\u0ABD\u0ABF\u0ABE","\u0AC0\u01F7\u0AC1\u0AC2 ","\u0AC2\u01F9\u0AC3\u0AC8","\u0AC4\u0AC5\x07\xCE\u0AC5\u0AC6\x07\xC0","\u0AC6\u0AC8\u01FC\xFF\u0AC7\u0AC3","\u0AC7\u0AC4\u0AC8\u01FB","\u0AC9\u0ACA\x07\xEF\u0ACA\u01FD","\u0ACB\u0ACE\u0ACC\u0ACE\u0200","\u0101\u0ACD\u0ACB\u0ACD\u0ACC","\u0ACE\u01FF\u0ACF\u0AD0\x07y","\u0AD0\u0AD1\x07\x85\u0AD1\u0AD2\u0202","\u0102\u0AD2\u0201\u0AD3\u0AD4\x07\xB1","\u0AD4\u0AD5\x07;\u0AD5\u0203","\u0AD6\u0AD7\x07\xC5\u0AD7\u0AD8\x07\xD0","\u0AD8\u0AD9\u0200\u0101\u0AD9\u0205","\u0ADA\u0ADB\x07\xC0\u0ADB\u0ADC\u01FC","\xFF\u0ADC\u0207\u0ADD\u0ADE\x07k","\u0ADE\u0ADF\x07V\u0ADF\u0209","\u0AE0\u0AE1\x07k\u0AE1\u0AE2\x07\x93","\u0AE2\u0AE3\x07V\u0AE3\u020B","\xAA\u0210\u0217\u021E\u0226\u0230\u0238\u0244\u024B\u0256","\u0261\u0267\u0273\u0278\u027C\u0283\u0287\u028C\u0291\u0298\u02A7\u02C6","\u02DD\u02DF\u02E4\u02E8\u0305\u030A\u0316\u0321\u0325\u032A\u0330\u033F","\u0371\u0373\u037B\u038D\u0392\u03A0\u03B1\u03C2\u03C6\u03D0\u03DE\u03E2","\u03F0\u03FD\u0407\u0411\u041A\u0421\u042A\u0434\u043C\u0443\u044A\u0458","\u0461\u0469\u0471\u0478\u048D\u049C\u04A2\u04B5\u04C2\u04C9\u04CE\u04E0","\u04E9\u0503\u0515\u0538\u0545\u0553\u055C\u056B\u0576\u058D\u0594\u05A1","\u05B8\u05CF\u05DF\u05E8\u05F4\u0606\u0614\u061E\u062B\u0648\u0652\u0659","\u0667\u066D\u0673\u0679\u067F\u0694\u06A0\u06A4\u06AA\u06B6\u06C0\u06CB","\u06D5\u06D9\u06E1\u06E5\u06F2\u0702\u070B\u0712\u072B\u073D\u0754\u0758","\u0766\u076D\u0777\u078E\u0815\u0819\u0823\u0842\u0844\u084D\u08DB\u08DD","\u08F2\u0931\u0933\u093A\u0942\u094C\u0954\u095C\u0966\u0971\u0985\u098E","\u09B4\u09BA\u09D9\u09E3\u09FA\u0A16\u0A21\u0A2C\u0A30\u0A3B\u0A40\u0A4A","\u0A5A\u0A60\u0A67\u0A76\u0A7E\u0A89\u0A8F\u0A95\u0A9A\u0AA4\u0AA8\u0AAE","\u0ABF\u0AC7\u0ACD"].join(""),Dp=new o.atn.ATNDeserializer().deserialize(KN),WN=Dp.decisionToState.map((l,u)=>new o.dfa.DFA(l,u)),YN=new o.PredictionContextCache,r=class r extends o.Parser{constructor(u){super(u),this._interp=new o.atn.ParserATNSimulator(this,Dp,WN,YN),this.ruleNames=r.ruleNames,this.literalNames=r.literalNames,this.symbolicNames=r.symbolicNames}get atn(){return Dp}sempred(u,t,e){switch(t){case 2:return this.opt_trailer_sempred(u,e);case 29:return this.select_terms_sempred(u,e);case 38:return this.projects_sempred(u,e);case 45:return this.from_term_sempred(u,e);case 61:return this.index_refs_sempred(u,e);case 71:return this.bindings_sempred(u,e);case 74:return this.with_list_sempred(u,e);case 80:return this.group_terms_sempred(u,e);case 88:return this.sort_terms_sempred(u,e);case 104:return this.values_list_sempred(u,e);case 120:return this.set_terms_sempred(u,e);case 125:return this.update_dimensions_sempred(u,e);case 126:return this.update_dimension_sempred(u,e);case 131:return this.unset_terms_sempred(u,e);case 143:return this.role_list_sempred(u,e);case 145:return this.keyspace_scope_list_sempred(u,e);case 147:return this.user_list_sempred(u,e);case 169:return this.index_terms_sempred(u,e);case 186:return this.parameter_terms_sempred(u,e);case 192:return this.update_stat_terms_sempred(u,e);case 194:return this.path_sempred(u,e);case 195:return this.expr_sempred(u,e);case 198:return this.b_expr_sempred(u,e);case 203:return this.members_sempred(u,e);case 207:return this.exprs_sempred(u,e);case 212:return this.when_thens_sempred(u,e);case 219:return this.coll_bindings_sempred(u,e);case 228:return this.window_list_sempred(u,e);default:throw"No predicate with index:"+t}}opt_trailer_sempred(u,t){switch(t){case 0:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}select_terms_sempred(u,t){switch(t){case 1:return this.precpred(this._ctx,12);case 2:return this.precpred(this._ctx,11);case 3:return this.precpred(this._ctx,10);case 4:return this.precpred(this._ctx,9);case 5:return this.precpred(this._ctx,8);case 6:return this.precpred(this._ctx,7);default:throw"No predicate with index:"+t}}projects_sempred(u,t){switch(t){case 7:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}from_term_sempred(u,t){switch(t){case 8:return this.precpred(this._ctx,8);case 9:return this.precpred(this._ctx,7);case 10:return this.precpred(this._ctx,6);case 11:return this.precpred(this._ctx,5);case 12:return this.precpred(this._ctx,4);case 13:return this.precpred(this._ctx,3);case 14:return this.precpred(this._ctx,2);default:throw"No predicate with index:"+t}}index_refs_sempred(u,t){switch(t){case 15:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}bindings_sempred(u,t){switch(t){case 16:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}with_list_sempred(u,t){switch(t){case 17:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}group_terms_sempred(u,t){switch(t){case 18:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}sort_terms_sempred(u,t){switch(t){case 19:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}values_list_sempred(u,t){switch(t){case 20:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}set_terms_sempred(u,t){switch(t){case 21:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}update_dimensions_sempred(u,t){switch(t){case 22:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}update_dimension_sempred(u,t){switch(t){case 23:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}unset_terms_sempred(u,t){switch(t){case 24:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}role_list_sempred(u,t){switch(t){case 25:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}keyspace_scope_list_sempred(u,t){switch(t){case 26:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}user_list_sempred(u,t){switch(t){case 27:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}index_terms_sempred(u,t){switch(t){case 28:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}parameter_terms_sempred(u,t){switch(t){case 29:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}update_stat_terms_sempred(u,t){switch(t){case 30:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}path_sempred(u,t){switch(t){case 31:return this.precpred(this._ctx,5);case 32:return this.precpred(this._ctx,4);case 33:return this.precpred(this._ctx,3);case 34:return this.precpred(this._ctx,2);case 35:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}expr_sempred(u,t){switch(t){case 36:return this.precpred(this._ctx,31);case 37:return this.precpred(this._ctx,30);case 38:return this.precpred(this._ctx,29);case 39:return this.precpred(this._ctx,28);case 40:return this.precpred(this._ctx,27);case 41:return this.precpred(this._ctx,26);case 42:return this.precpred(this._ctx,25);case 43:return this.precpred(this._ctx,24);case 44:return this.precpred(this._ctx,22);case 45:return this.precpred(this._ctx,21);case 46:return this.precpred(this._ctx,20);case 47:return this.precpred(this._ctx,19);case 48:return this.precpred(this._ctx,18);case 49:return this.precpred(this._ctx,17);case 50:return this.precpred(this._ctx,16);case 51:return this.precpred(this._ctx,13);case 52:return this.precpred(this._ctx,12);case 53:return this.precpred(this._ctx,11);case 54:return this.precpred(this._ctx,10);case 55:return this.precpred(this._ctx,9);case 56:return this.precpred(this._ctx,8);case 57:return this.precpred(this._ctx,39);case 58:return this.precpred(this._ctx,38);case 59:return this.precpred(this._ctx,37);case 60:return this.precpred(this._ctx,36);case 61:return this.precpred(this._ctx,35);case 62:return this.precpred(this._ctx,34);case 63:return this.precpred(this._ctx,33);case 64:return this.precpred(this._ctx,32);case 65:return this.precpred(this._ctx,15);case 66:return this.precpred(this._ctx,14);case 67:return this.precpred(this._ctx,7);case 68:return this.precpred(this._ctx,6);case 69:return this.precpred(this._ctx,5);case 70:return this.precpred(this._ctx,4);case 71:return this.precpred(this._ctx,3);case 72:return this.precpred(this._ctx,2);default:throw"No predicate with index:"+t}}b_expr_sempred(u,t){switch(t){case 73:return this.precpred(this._ctx,6);case 74:return this.precpred(this._ctx,5);case 75:return this.precpred(this._ctx,4);case 76:return this.precpred(this._ctx,3);case 77:return this.precpred(this._ctx,2);case 78:return this.precpred(this._ctx,1);case 79:return this.precpred(this._ctx,14);case 80:return this.precpred(this._ctx,13);case 81:return this.precpred(this._ctx,12);case 82:return this.precpred(this._ctx,11);case 83:return this.precpred(this._ctx,10);case 84:return this.precpred(this._ctx,9);case 85:return this.precpred(this._ctx,8);case 86:return this.precpred(this._ctx,7);default:throw"No predicate with index:"+t}}members_sempred(u,t){switch(t){case 87:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}exprs_sempred(u,t){switch(t){case 88:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}when_thens_sempred(u,t){switch(t){case 89:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}coll_bindings_sempred(u,t){switch(t){case 90:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}window_list_sempred(u,t){switch(t){case 91:return this.precpred(this._ctx,1);default:throw"No predicate with index:"+t}}statements(){let u=new io(this,this._ctx,this.state);this.enterRule(u,0,r.RULE_statements);var t=0;try{for(this.enterOuterAlt(u,1),this.state=522,this.input(),this.state=526,this._errHandler.sync(this),t=this._input.LA(1);!(t&-32)&&1<'","'>='","'||'","'('","')'","'{'","'}'","','","':'","'['","']'","']i'","';'","'!'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'?'"]),Pu(r,"symbolicNames",[null,"STR","INT","NUM","BLOCK_COMMENT","LINE_COMMENT","WHITESPACE","DOT","PLUS","MINUS","STAR","DIV","MOD","DEQ","EQ","NE","LT","LE","GT","GE","CONCAT","LPAREN","RPAREN","LBRACE","RBRACE","COMMA","COLON","LBRACKET","RBRACKET","RBRACKET_ICASE","SEMI","NOT_A_TOKEN","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","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","PROCEDURE","PROBE","PUBLIC","RANGE","RAW","READ","REALM","REDUCE","RENAME","REPLACE","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","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","IDENT_ICASE","IDENT","NAMED_PARAM","POSITIONAL_PARAM","NEXT_PARAM"]),Pu(r,"ruleNames",["statements","input","opt_trailer","stmt_body","stmt","advise","opt_index","explain","prepare","opt_force","opt_name","from_or_as","execute","execute_using","infer","opt_keyspace_collection","opt_infer_using","opt_infer_ustat_with","infer_ustat_with","select_stmt","dml_stmt","ddl_stmt","role_stmt","index_stmt","scope_stmt","collection_stmt","function_stmt","transaction_stmt","fullselect","select_terms","select_term","subselect","from_select","select_from","select_clause","projection","opt_quantifier","raw","projects","project","opt_as_alias","as_alias","alias","opt_from","from","from_term","simple_from_term","unnest","keyspace_term","keyspace_path","namespace_term","namespace_name","bucket_name","scope_name","keyspace_name","opt_use","use_options","use_keys","use_index","join_hint","opt_primary","index_refs","index_ref","use_hash_option","opt_use_del_upd","opt_join_type","opt_outer","on_keys","on_key","opt_let","let_","bindings","binding","opt_with","with_list","with_term","opt_where","where","opt_group","group","group_terms","group_term","opt_letting","letting","opt_having","having","opt_order_by","order_by","sort_terms","sort_term","opt_dir","dir","opt_order_nulls","first_last","nulls","opt_limit","limit","opt_offset","offset","insert","simple_keyspace_ref","keyspace_ref","opt_values_header","key","values_list","values","next_values","key_val_expr","key_val_options_expr","opt_returning","returning","returns_","key_expr_header","value_expr_header","options_expr_header","key_val_options_expr_header","upsert","delete_","update","set","set_terms","set_term","function_meta_expr","opt_update_for","update_for","update_dimensions","update_dimension","update_binding","variable","opt_when","unset","unset_terms","unset_term","merge","opt_use_merge","opt_key","merge_actions","opt_merge_delete_insert","opt_merge_insert","merge_update","merge_delete","merge_insert","grant_role","role_list","role_name","keyspace_scope_list","keyspace_scope","user_list","user","revoke_role","create_scope","drop_scope","create_collection","drop_collection","flush_collection","flush_or_truncate","create_index","create_primary_index","opt_primary_name","index_name","opt_index_name","named_keyspace_ref","simple_named_keyspace_ref","named_scope_ref","index_partition","opt_index_using","index_using","opt_index_with","index_with","index_terms","index_term","index_term_expr","index_expr","all","index_where","opt_ikattr","ikattr","drop_index","alter_index","build_index","create_function","opt_replace","func_name","short_func_name","long_func_name","parm_list","parameter_terms","func_body","drop_function","execute_function","update_statistics","opt_for","update_stat_terms","update_stat_term","path","expr","valued","c_expr","b_expr","literal","construction_expr","object","opt_members","members","member","array","opt_exprs","exprs","param_expr","case_expr","simple_or_searched_case","simple_case","when_thens","searched_case","opt_else","function_expr","function_name","collection_expr","collection_cond","coll_bindings","coll_binding","satisfies","collection_xform","paren_expr","subquery_expr","expr_input","all_expr","opt_window_clause","window_list","window_term","window_specification","opt_window_name","opt_window_partition","opt_window_frame","window_frame_modifier","opt_window_frame_exclusion","window_frame_extents","window_frame_extent","window_frame_valexpr_modifier","opt_nulls_treatment","nulls_treatment","opt_from_first_last","agg_quantifier","opt_filter","opt_window_function","window_function_details","start_transaction","commit_transaction","rollback_transaction","start_or_begin","opt_transaction","transaction","opt_savepoint","savepoint_name","opt_isolation_level","isolation_level","isolation_val","set_transaction_isolation","savepoint","if_exists","if_not_exists"]);var n=r;n.EOF=o.Token.EOF;n.STR=1;n.INT=2;n.NUM=3;n.BLOCK_COMMENT=4;n.LINE_COMMENT=5;n.WHITESPACE=6;n.DOT=7;n.PLUS=8;n.MINUS=9;n.STAR=10;n.DIV=11;n.MOD=12;n.DEQ=13;n.EQ=14;n.NE=15;n.LT=16;n.LE=17;n.GT=18;n.GE=19;n.CONCAT=20;n.LPAREN=21;n.RPAREN=22;n.LBRACE=23;n.RBRACE=24;n.COMMA=25;n.COLON=26;n.LBRACKET=27;n.RBRACKET=28;n.RBRACKET_ICASE=29;n.SEMI=30;n.NOT_A_TOKEN=31;n.ADVISE=32;n.ALL=33;n.ALTER=34;n.ANALYZE=35;n.AND=36;n.ANY=37;n.ARRAY=38;n.AS=39;n.ASC=40;n.AT=41;n.BEGIN=42;n.BETWEEN=43;n.BINARY=44;n.BOOLEAN=45;n.BREAK=46;n.BUCKET=47;n.BUILD=48;n.BY=49;n.CALL=50;n.CASE=51;n.CAST=52;n.CLUSTER=53;n.COLLATE=54;n.COLLECTION=55;n.COMMIT=56;n.COMMITTED=57;n.CONNECT=58;n.CONTINUE=59;n.CORRELATED=60;n.COVER=61;n.CREATE=62;n.CURRENT=63;n.DATABASE=64;n.DATASET=65;n.DATASTORE=66;n.DECLARE=67;n.DECREMENT=68;n.DELETE_=69;n.DERIVED=70;n.DESC=71;n.DESCRIBE=72;n.DISTINCT=73;n.DO=74;n.DROP=75;n.EACH=76;n.ELEMENT=77;n.ELSE=78;n.END=79;n.EVERY=80;n.EXCEPT=81;n.EXCLUDE=82;n.EXECUTE=83;n.EXISTS=84;n.EXPLAIN=85;n.FALSE=86;n.FETCH=87;n.FILTER=88;n.FIRST=89;n.FLATTEN=90;n.FLUSH=91;n.FOLLOWING=92;n.FOR=93;n.FORCE=94;n.FROM=95;n.FTS=96;n.FUNCTION=97;n.GOLANG=98;n.GRANT=99;n.GROUP=100;n.GROUPS=101;n.GSI=102;n.HASH=103;n.HAVING=104;n.IF=105;n.IGNORE=106;n.ILIKE=107;n.IN=108;n.INCLUDE=109;n.INCREMENT=110;n.INDEX=111;n.INFER=112;n.INLINE=113;n.INNER=114;n.INSERT=115;n.INTERSECT=116;n.INTO=117;n.IS=118;n.ISOLATION=119;n.JAVASCRIPT=120;n.JOIN=121;n.KEY=122;n.KEYS=123;n.KEYSPACE=124;n.KNOWN=125;n.LANGUAGE=126;n.LAST=127;n.LEFT=128;n.LET_=129;n.LETTING=130;n.LEVEL=131;n.LIKE=132;n.LIMIT=133;n.LSM=134;n.MAP=135;n.MAPPING=136;n.MATCHED=137;n.MATERIALIZED=138;n.MERGE=139;n.MISSING=140;n.NAMESPACE=141;n.NEST=142;n.NL=143;n.NO=144;n.NOT=145;n.NTH_VALUE=146;n.NULL=147;n.NULLS=148;n.NUMBER=149;n.OBJECT=150;n.OFFSET=151;n.ON=152;n.OPTION=153;n.OPTIONS=154;n.OR=155;n.ORDER=156;n.OTHERS=157;n.OUTER=158;n.OVER=159;n.PARSE=160;n.PARTITION=161;n.PASSWORD=162;n.PATH=163;n.POOL=164;n.PRECEDING=165;n.PREPARE=166;n.PRIMARY=167;n.PRIVATE=168;n.PRIVILEGE=169;n.PROCEDURE=170;n.PROBE=171;n.PUBLIC=172;n.RANGE=173;n.RAW=174;n.READ=175;n.REALM=176;n.REDUCE=177;n.RENAME=178;n.REPLACE=179;n.RESPECT=180;n.RETURN=181;n.RETURNING=182;n.REVOKE=183;n.RIGHT=184;n.ROLE=185;n.ROLLBACK=186;n.ROW=187;n.ROWS=188;n.SATISFIES=189;n.SAVEPOINT=190;n.SCHEMA=191;n.SCOPE=192;n.SELECT=193;n.SELF=194;n.SET=195;n.SHOW=196;n.SOME=197;n.START=198;n.STATISTICS=199;n.STRING=200;n.SYSTEM=201;n.THEN=202;n.TIES=203;n.TO=204;n.TRAN=205;n.TRANSACTION=206;n.TRIGGER=207;n.TRUE=208;n.TRUNCATE=209;n.UNBOUNDED=210;n.UNDER=211;n.UNION=212;n.UNIQUE=213;n.UNKNOWN=214;n.UNNEST=215;n.UNSET=216;n.UPDATE=217;n.UPSERT=218;n.USE=219;n.USER=220;n.USING=221;n.VALIDATE=222;n.VALUE=223;n.VALUED=224;n.VALUES=225;n.VIA=226;n.VIEW=227;n.WHEN=228;n.WHERE=229;n.WHILE=230;n.WINDOW=231;n.WITH=232;n.WITHIN=233;n.WORK=234;n.XOR=235;n.IDENT_ICASE=236;n.IDENT=237;n.NAMED_PARAM=238;n.POSITIONAL_PARAM=239;n.NEXT_PARAM=240;n.RULE_statements=0;n.RULE_input=1;n.RULE_opt_trailer=2;n.RULE_stmt_body=3;n.RULE_stmt=4;n.RULE_advise=5;n.RULE_opt_index=6;n.RULE_explain=7;n.RULE_prepare=8;n.RULE_opt_force=9;n.RULE_opt_name=10;n.RULE_from_or_as=11;n.RULE_execute=12;n.RULE_execute_using=13;n.RULE_infer=14;n.RULE_opt_keyspace_collection=15;n.RULE_opt_infer_using=16;n.RULE_opt_infer_ustat_with=17;n.RULE_infer_ustat_with=18;n.RULE_select_stmt=19;n.RULE_dml_stmt=20;n.RULE_ddl_stmt=21;n.RULE_role_stmt=22;n.RULE_index_stmt=23;n.RULE_scope_stmt=24;n.RULE_collection_stmt=25;n.RULE_function_stmt=26;n.RULE_transaction_stmt=27;n.RULE_fullselect=28;n.RULE_select_terms=29;n.RULE_select_term=30;n.RULE_subselect=31;n.RULE_from_select=32;n.RULE_select_from=33;n.RULE_select_clause=34;n.RULE_projection=35;n.RULE_opt_quantifier=36;n.RULE_raw=37;n.RULE_projects=38;n.RULE_project=39;n.RULE_opt_as_alias=40;n.RULE_as_alias=41;n.RULE_alias=42;n.RULE_opt_from=43;n.RULE_from=44;n.RULE_from_term=45;n.RULE_simple_from_term=46;n.RULE_unnest=47;n.RULE_keyspace_term=48;n.RULE_keyspace_path=49;n.RULE_namespace_term=50;n.RULE_namespace_name=51;n.RULE_bucket_name=52;n.RULE_scope_name=53;n.RULE_keyspace_name=54;n.RULE_opt_use=55;n.RULE_use_options=56;n.RULE_use_keys=57;n.RULE_use_index=58;n.RULE_join_hint=59;n.RULE_opt_primary=60;n.RULE_index_refs=61;n.RULE_index_ref=62;n.RULE_use_hash_option=63;n.RULE_opt_use_del_upd=64;n.RULE_opt_join_type=65;n.RULE_opt_outer=66;n.RULE_on_keys=67;n.RULE_on_key=68;n.RULE_opt_let=69;n.RULE_let_=70;n.RULE_bindings=71;n.RULE_binding=72;n.RULE_opt_with=73;n.RULE_with_list=74;n.RULE_with_term=75;n.RULE_opt_where=76;n.RULE_where=77;n.RULE_opt_group=78;n.RULE_group=79;n.RULE_group_terms=80;n.RULE_group_term=81;n.RULE_opt_letting=82;n.RULE_letting=83;n.RULE_opt_having=84;n.RULE_having=85;n.RULE_opt_order_by=86;n.RULE_order_by=87;n.RULE_sort_terms=88;n.RULE_sort_term=89;n.RULE_opt_dir=90;n.RULE_dir=91;n.RULE_opt_order_nulls=92;n.RULE_first_last=93;n.RULE_nulls=94;n.RULE_opt_limit=95;n.RULE_limit=96;n.RULE_opt_offset=97;n.RULE_offset=98;n.RULE_insert=99;n.RULE_simple_keyspace_ref=100;n.RULE_keyspace_ref=101;n.RULE_opt_values_header=102;n.RULE_key=103;n.RULE_values_list=104;n.RULE_values=105;n.RULE_next_values=106;n.RULE_key_val_expr=107;n.RULE_key_val_options_expr=108;n.RULE_opt_returning=109;n.RULE_returning=110;n.RULE_returns_=111;n.RULE_key_expr_header=112;n.RULE_value_expr_header=113;n.RULE_options_expr_header=114;n.RULE_key_val_options_expr_header=115;n.RULE_upsert=116;n.RULE_delete_=117;n.RULE_update=118;n.RULE_set=119;n.RULE_set_terms=120;n.RULE_set_term=121;n.RULE_function_meta_expr=122;n.RULE_opt_update_for=123;n.RULE_update_for=124;n.RULE_update_dimensions=125;n.RULE_update_dimension=126;n.RULE_update_binding=127;n.RULE_variable=128;n.RULE_opt_when=129;n.RULE_unset=130;n.RULE_unset_terms=131;n.RULE_unset_term=132;n.RULE_merge=133;n.RULE_opt_use_merge=134;n.RULE_opt_key=135;n.RULE_merge_actions=136;n.RULE_opt_merge_delete_insert=137;n.RULE_opt_merge_insert=138;n.RULE_merge_update=139;n.RULE_merge_delete=140;n.RULE_merge_insert=141;n.RULE_grant_role=142;n.RULE_role_list=143;n.RULE_role_name=144;n.RULE_keyspace_scope_list=145;n.RULE_keyspace_scope=146;n.RULE_user_list=147;n.RULE_user=148;n.RULE_revoke_role=149;n.RULE_create_scope=150;n.RULE_drop_scope=151;n.RULE_create_collection=152;n.RULE_drop_collection=153;n.RULE_flush_collection=154;n.RULE_flush_or_truncate=155;n.RULE_create_index=156;n.RULE_create_primary_index=157;n.RULE_opt_primary_name=158;n.RULE_index_name=159;n.RULE_opt_index_name=160;n.RULE_named_keyspace_ref=161;n.RULE_simple_named_keyspace_ref=162;n.RULE_named_scope_ref=163;n.RULE_index_partition=164;n.RULE_opt_index_using=165;n.RULE_index_using=166;n.RULE_opt_index_with=167;n.RULE_index_with=168;n.RULE_index_terms=169;n.RULE_index_term=170;n.RULE_index_term_expr=171;n.RULE_index_expr=172;n.RULE_all=173;n.RULE_index_where=174;n.RULE_opt_ikattr=175;n.RULE_ikattr=176;n.RULE_drop_index=177;n.RULE_alter_index=178;n.RULE_build_index=179;n.RULE_create_function=180;n.RULE_opt_replace=181;n.RULE_func_name=182;n.RULE_short_func_name=183;n.RULE_long_func_name=184;n.RULE_parm_list=185;n.RULE_parameter_terms=186;n.RULE_func_body=187;n.RULE_drop_function=188;n.RULE_execute_function=189;n.RULE_update_statistics=190;n.RULE_opt_for=191;n.RULE_update_stat_terms=192;n.RULE_update_stat_term=193;n.RULE_path=194;n.RULE_expr=195;n.RULE_valued=196;n.RULE_c_expr=197;n.RULE_b_expr=198;n.RULE_literal=199;n.RULE_construction_expr=200;n.RULE_object=201;n.RULE_opt_members=202;n.RULE_members=203;n.RULE_member=204;n.RULE_array=205;n.RULE_opt_exprs=206;n.RULE_exprs=207;n.RULE_param_expr=208;n.RULE_case_expr=209;n.RULE_simple_or_searched_case=210;n.RULE_simple_case=211;n.RULE_when_thens=212;n.RULE_searched_case=213;n.RULE_opt_else=214;n.RULE_function_expr=215;n.RULE_function_name=216;n.RULE_collection_expr=217;n.RULE_collection_cond=218;n.RULE_coll_bindings=219;n.RULE_coll_binding=220;n.RULE_satisfies=221;n.RULE_collection_xform=222;n.RULE_paren_expr=223;n.RULE_subquery_expr=224;n.RULE_expr_input=225;n.RULE_all_expr=226;n.RULE_opt_window_clause=227;n.RULE_window_list=228;n.RULE_window_term=229;n.RULE_window_specification=230;n.RULE_opt_window_name=231;n.RULE_opt_window_partition=232;n.RULE_opt_window_frame=233;n.RULE_window_frame_modifier=234;n.RULE_opt_window_frame_exclusion=235;n.RULE_window_frame_extents=236;n.RULE_window_frame_extent=237;n.RULE_window_frame_valexpr_modifier=238;n.RULE_opt_nulls_treatment=239;n.RULE_nulls_treatment=240;n.RULE_opt_from_first_last=241;n.RULE_agg_quantifier=242;n.RULE_opt_filter=243;n.RULE_opt_window_function=244;n.RULE_window_function_details=245;n.RULE_start_transaction=246;n.RULE_commit_transaction=247;n.RULE_rollback_transaction=248;n.RULE_start_or_begin=249;n.RULE_opt_transaction=250;n.RULE_transaction=251;n.RULE_opt_savepoint=252;n.RULE_savepoint_name=253;n.RULE_opt_isolation_level=254;n.RULE_isolation_level=255;n.RULE_isolation_val=256;n.RULE_set_transaction_isolation=257;n.RULE_savepoint=258;n.RULE_if_exists=259;n.RULE_if_not_exists=260;var Hp=class Hp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_statements}input=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(Sr):this.getTypedRuleContext(Sr,u)};accept(u){return u instanceof C?u.visitStatements(this):u.visitChildren(this)}};h(Hp,"StatementsContext");var io=Hp,Mp=class Mp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_input}stmt_body(){return this.getTypedRuleContext(Eh,0)}opt_trailer(){return this.getTypedRuleContext(Dr,0)}expr_input(){return this.getTypedRuleContext(Sa,0)}accept(u){return u instanceof C?u.visitInput(this):u.visitChildren(this)}};h(Mp,"InputContext");var Sr=Mp,no=class no extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_trailer}opt_trailer(){return this.getTypedRuleContext(no,0)}SEMI(){return this.getToken(n.SEMI,0)}accept(u){return u instanceof C?u.visitOpt_trailer(this):u.visitChildren(this)}};h(no,"Opt_trailerContext");var Dr=no,kp=class kp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_stmt_body}advise(){return this.getTypedRuleContext(Rh,0)}explain(){return this.getTypedRuleContext(bh,0)}prepare(){return this.getTypedRuleContext(mh,0)}execute(){return this.getTypedRuleContext(Lh,0)}stmt(){return this.getTypedRuleContext(be,0)}accept(u){return u instanceof C?u.visitStmt_body(this):u.visitChildren(this)}};h(kp,"Stmt_bodyContext");var Eh=kp,Fp=class Fp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_stmt}select_stmt(){return this.getTypedRuleContext(Ih,0)}dml_stmt(){return this.getTypedRuleContext(Uh,0)}ddl_stmt(){return this.getTypedRuleContext(vh,0)}infer(){return this.getTypedRuleContext(Nh,0)}update_statistics(){return this.getTypedRuleContext(_a,0)}role_stmt(){return this.getTypedRuleContext(Ph,0)}function_stmt(){return this.getTypedRuleContext(Mh,0)}transaction_stmt(){return this.getTypedRuleContext(kh,0)}accept(u){return u instanceof C?u.visitStmt(this):u.visitChildren(this)}};h(Fp,"StmtContext");var be=Fp,Bp=class Bp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_advise}ADVISE(){return this.getToken(n.ADVISE,0)}opt_index(){return this.getTypedRuleContext(Th,0)}stmt(){return this.getTypedRuleContext(be,0)}accept(u){return u instanceof C?u.visitAdvise(this):u.visitChildren(this)}};h(Bp,"AdviseContext");var Rh=Bp,qp=class qp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_index}INDEX(){return this.getToken(n.INDEX,0)}accept(u){return u instanceof C?u.visitOpt_index(this):u.visitChildren(this)}};h(qp,"Opt_indexContext");var Th=qp,Gp=class Gp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_explain}EXPLAIN(){return this.getToken(n.EXPLAIN,0)}stmt(){return this.getTypedRuleContext(be,0)}accept(u){return u instanceof C?u.visitExplain(this):u.visitChildren(this)}};h(Gp,"ExplainContext");var bh=Gp,Vp=class Vp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_prepare}PREPARE(){return this.getToken(n.PREPARE,0)}opt_force(){return this.getTypedRuleContext(Ah,0)}opt_name(){return this.getTypedRuleContext(Ch,0)}stmt(){return this.getTypedRuleContext(be,0)}accept(u){return u instanceof C?u.visitPrepare(this):u.visitChildren(this)}};h(Vp,"PrepareContext");var mh=Vp,Kp=class Kp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_force}FORCE(){return this.getToken(n.FORCE,0)}accept(u){return u instanceof C?u.visitOpt_force(this):u.visitChildren(this)}};h(Kp,"Opt_forceContext");var Ah=Kp,Wp=class Wp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_name}IDENT(){return this.getToken(n.IDENT,0)}from_or_as(){return this.getTypedRuleContext(gh,0)}STR(){return this.getToken(n.STR,0)}accept(u){return u instanceof C?u.visitOpt_name(this):u.visitChildren(this)}};h(Wp,"Opt_nameContext");var Ch=Wp,Yp=class Yp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_from_or_as}FROM(){return this.getToken(n.FROM,0)}AS(){return this.getToken(n.AS,0)}accept(u){return u instanceof C?u.visitFrom_or_as(this):u.visitChildren(this)}};h(Yp,"From_or_asContext");var gh=Yp,Xp=class Xp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_execute}EXECUTE(){return this.getToken(n.EXECUTE,0)}expr(){return this.getTypedRuleContext(G,0)}execute_using(){return this.getTypedRuleContext(yh,0)}accept(u){return u instanceof C?u.visitExecute(this):u.visitChildren(this)}};h(Xp,"ExecuteContext");var Lh=Xp,$p=class $p extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_execute_using}USING(){return this.getToken(n.USING,0)}construction_expr(){return this.getTypedRuleContext(Ui,0)}accept(u){return u instanceof C?u.visitExecute_using(this):u.visitChildren(this)}};h($p,"Execute_usingContext");var yh=$p,zp=class zp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_infer}INFER(){return this.getToken(n.INFER,0)}opt_keyspace_collection(){return this.getTypedRuleContext(Hr,0)}simple_keyspace_ref(){return this.getTypedRuleContext(Rs,0)}opt_infer_using(){return this.getTypedRuleContext(wh,0)}opt_infer_ustat_with(){return this.getTypedRuleContext(Mr,0)}accept(u){return u instanceof C?u.visitInfer(this):u.visitChildren(this)}};h(zp,"InferContext");var Nh=zp,Qp=class Qp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_keyspace_collection}KEYSPACE(){return this.getToken(n.KEYSPACE,0)}COLLECTION(){return this.getToken(n.COLLECTION,0)}accept(u){return u instanceof C?u.visitOpt_keyspace_collection(this):u.visitChildren(this)}};h(Qp,"Opt_keyspace_collectionContext");var Hr=Qp,jp=class jp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_infer_using}accept(u){return u instanceof C?u.visitOpt_infer_using(this):u.visitChildren(this)}};h(jp,"Opt_infer_usingContext");var wh=jp,Jp=class Jp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_infer_ustat_with}infer_ustat_with(){return this.getTypedRuleContext(Oh,0)}accept(u){return u instanceof C?u.visitOpt_infer_ustat_with(this):u.visitChildren(this)}};h(Jp,"Opt_infer_ustat_withContext");var Mr=Jp,Zp=class Zp extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_infer_ustat_with}WITH(){return this.getToken(n.WITH,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitInfer_ustat_with(this):u.visitChildren(this)}};h(Zp,"Infer_ustat_withContext");var Oh=Zp,u_=class u_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_select_stmt}fullselect(){return this.getTypedRuleContext(me,0)}accept(u){return u instanceof C?u.visitSelect_stmt(this):u.visitChildren(this)}};h(u_,"Select_stmtContext");var Ih=u_,t_=class t_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_dml_stmt}insert(){return this.getTypedRuleContext(T2,0)}upsert(){return this.getTypedRuleContext(y2,0)}delete_(){return this.getTypedRuleContext(N2,0)}update(){return this.getTypedRuleContext(w2,0)}merge(){return this.getTypedRuleContext(S2,0)}accept(u){return u instanceof C?u.visitDml_stmt(this):u.visitChildren(this)}};h(t_,"Dml_stmtContext");var Uh=t_,e_=class e_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_ddl_stmt}index_stmt(){return this.getTypedRuleContext(Sh,0)}scope_stmt(){return this.getTypedRuleContext(Dh,0)}collection_stmt(){return this.getTypedRuleContext(Hh,0)}accept(u){return u instanceof C?u.visitDdl_stmt(this):u.visitChildren(this)}};h(e_,"Ddl_stmtContext");var vh=e_,s_=class s_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_role_stmt}grant_role(){return this.getTypedRuleContext(B2,0)}revoke_role(){return this.getTypedRuleContext(K2,0)}accept(u){return u instanceof C?u.visitRole_stmt(this):u.visitChildren(this)}};h(s_,"Role_stmtContext");var Ph=s_,r_=class r_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_stmt}create_index(){return this.getTypedRuleContext(j2,0)}create_primary_index(){return this.getTypedRuleContext(J2,0)}drop_index(){return this.getTypedRuleContext(ia,0)}alter_index(){return this.getTypedRuleContext(na,0)}build_index(){return this.getTypedRuleContext(ha,0)}accept(u){return u instanceof C?u.visitIndex_stmt(this):u.visitChildren(this)}};h(r_,"Index_stmtContext");var Sh=r_,i_=class i_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_scope_stmt}create_scope(){return this.getTypedRuleContext(W2,0)}drop_scope(){return this.getTypedRuleContext(Y2,0)}accept(u){return u instanceof C?u.visitScope_stmt(this):u.visitChildren(this)}};h(i_,"Scope_stmtContext");var Dh=i_,n_=class n_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_collection_stmt}create_collection(){return this.getTypedRuleContext(X2,0)}drop_collection(){return this.getTypedRuleContext($2,0)}flush_collection(){return this.getTypedRuleContext(z2,0)}accept(u){return u instanceof C?u.visitCollection_stmt(this):u.visitChildren(this)}};h(n_,"Collection_stmtContext");var Hh=n_,h_=class h_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_function_stmt}create_function(){return this.getTypedRuleContext(aa,0)}drop_function(){return this.getTypedRuleContext(fa,0)}execute_function(){return this.getTypedRuleContext(pa,0)}accept(u){return u instanceof C?u.visitFunction_stmt(this):u.visitChildren(this)}};h(h_,"Function_stmtContext");var Mh=h_,a_=class a_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_transaction_stmt}start_transaction(){return this.getTypedRuleContext(za,0)}commit_transaction(){return this.getTypedRuleContext(Qa,0)}rollback_transaction(){return this.getTypedRuleContext(ja,0)}savepoint(){return this.getTypedRuleContext(sc,0)}set_transaction_isolation(){return this.getTypedRuleContext(ec,0)}accept(u){return u instanceof C?u.visitTransaction_stmt(this):u.visitChildren(this)}};h(a_,"Transaction_stmtContext");var kh=a_,c_=class c_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_fullselect}select_terms(){return this.getTypedRuleContext(Zu,0)}opt_order_by(){return this.getTypedRuleContext(ui,0)}limit(){return this.getTypedRuleContext(si,0)}opt_offset(){return this.getTypedRuleContext(R2,0)}offset(){return this.getTypedRuleContext(ri,0)}opt_limit(){return this.getTypedRuleContext(Ce,0)}accept(u){return u instanceof C?u.visitFullselect(this):u.visitChildren(this)}};h(c_,"FullselectContext");var me=c_,ho=class ho extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_select_terms}subselect(){return this.getTypedRuleContext(kr,0)}subquery_expr(){return this.getTypedRuleContext(Is,0)}UNION(){return this.getToken(n.UNION,0)}select_term(){return this.getTypedRuleContext(Fh,0)}ALL(){return this.getToken(n.ALL,0)}INTERSECT(){return this.getToken(n.INTERSECT,0)}EXCEPT(){return this.getToken(n.EXCEPT,0)}select_terms(){return this.getTypedRuleContext(ho,0)}accept(u){return u instanceof C?u.visitSelect_terms(this):u.visitChildren(this)}};h(ho,"Select_termsContext");var Zu=ho,l_=class l_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_select_term}subselect(){return this.getTypedRuleContext(kr,0)}subquery_expr(){return this.getTypedRuleContext(Is,0)}accept(u){return u instanceof C?u.visitSelect_term(this):u.visitChildren(this)}};h(l_,"Select_termContext");var Fh=l_,o_=class o_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_subselect}from_select(){return this.getTypedRuleContext(Bh,0)}select_from(){return this.getTypedRuleContext(qh,0)}accept(u){return u instanceof C?u.visitSubselect(this):u.visitChildren(this)}};h(o_,"SubselectContext");var kr=o_,d_=class d_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_from_select}opt_with(){return this.getTypedRuleContext($r,0)}from(){return this.getTypedRuleContext(qr,0)}opt_let(){return this.getTypedRuleContext(Xr,0)}opt_where(){return this.getTypedRuleContext(rt,0)}opt_group(){return this.getTypedRuleContext(jr,0)}opt_window_clause(){return this.getTypedRuleContext(ki,0)}select_clause(){return this.getTypedRuleContext(Fr,0)}accept(u){return u instanceof C?u.visitFrom_select(this):u.visitChildren(this)}};h(d_,"From_selectContext");var Bh=d_,f_=class f_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_select_from}opt_with(){return this.getTypedRuleContext($r,0)}select_clause(){return this.getTypedRuleContext(Fr,0)}opt_from(){return this.getTypedRuleContext(Yh,0)}opt_let(){return this.getTypedRuleContext(Xr,0)}opt_where(){return this.getTypedRuleContext(rt,0)}opt_group(){return this.getTypedRuleContext(jr,0)}opt_window_clause(){return this.getTypedRuleContext(ki,0)}accept(u){return u instanceof C?u.visitSelect_from(this):u.visitChildren(this)}};h(f_,"Select_fromContext");var qh=f_,p_=class p_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_select_clause}SELECT(){return this.getToken(n.SELECT,0)}projection(){return this.getTypedRuleContext(Gh,0)}accept(u){return u instanceof C?u.visitSelect_clause(this):u.visitChildren(this)}};h(p_,"Select_clauseContext");var Fr=p_,__=class __ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_projection}opt_quantifier(){return this.getTypedRuleContext(Vh,0)}projects(){return this.getTypedRuleContext(ps,0)}raw(){return this.getTypedRuleContext(Br,0)}expr(){return this.getTypedRuleContext(G,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}accept(u){return u instanceof C?u.visitProjection(this):u.visitChildren(this)}};h(__,"ProjectionContext");var Gh=__,x_=class x_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_quantifier}ALL(){return this.getToken(n.ALL,0)}DISTINCT(){return this.getToken(n.DISTINCT,0)}accept(u){return u instanceof C?u.visitOpt_quantifier(this):u.visitChildren(this)}};h(x_,"Opt_quantifierContext");var Vh=x_,E_=class E_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_raw}RAW(){return this.getToken(n.RAW,0)}ELEMENT(){return this.getToken(n.ELEMENT,0)}VALUE(){return this.getToken(n.VALUE,0)}accept(u){return u instanceof C?u.visitRaw(this):u.visitChildren(this)}};h(E_,"RawContext");var Br=E_,ao=class ao extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_projects}project(){return this.getTypedRuleContext(Kh,0)}projects(){return this.getTypedRuleContext(ao,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitProjects(this):u.visitChildren(this)}};h(ao,"ProjectsContext");var ps=ao,R_=class R_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_project}STAR(){return this.getToken(n.STAR,0)}expr(){return this.getTypedRuleContext(G,0)}DOT(){return this.getToken(n.DOT,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}accept(u){return u instanceof C?u.visitProject(this):u.visitChildren(this)}};h(R_,"ProjectContext");var Kh=R_,T_=class T_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_as_alias}as_alias(){return this.getTypedRuleContext(Wh,0)}accept(u){return u instanceof C?u.visitOpt_as_alias(this):u.visitChildren(this)}};h(T_,"Opt_as_aliasContext");var Mu=T_,b_=class b_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_as_alias}alias(){return this.getTypedRuleContext(_s,0)}AS(){return this.getToken(n.AS,0)}accept(u){return u instanceof C?u.visitAs_alias(this):u.visitChildren(this)}};h(b_,"As_aliasContext");var Wh=b_,m_=class m_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_alias}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitAlias(this):u.visitChildren(this)}};h(m_,"AliasContext");var _s=m_,A_=class A_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_from}from(){return this.getTypedRuleContext(qr,0)}accept(u){return u instanceof C?u.visitOpt_from(this):u.visitChildren(this)}};h(A_,"Opt_fromContext");var Yh=A_,C_=class C_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_from}FROM(){return this.getToken(n.FROM,0)}from_term(){return this.getTypedRuleContext(Hu,0)}accept(u){return u instanceof C?u.visitFrom(this):u.visitChildren(this)}};h(C_,"FromContext");var qr=C_,co=class co extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_from_term}simple_from_term=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(xs):this.getTypedRuleContext(xs,u)};RIGHT(){return this.getToken(n.RIGHT,0)}opt_outer(){return this.getTypedRuleContext(Yr,0)}JOIN(){return this.getToken(n.JOIN,0)}ON(){return this.getToken(n.ON,0)}expr(){return this.getTypedRuleContext(G,0)}from_term(){return this.getTypedRuleContext(co,0)}opt_join_type(){return this.getTypedRuleContext(t2,0)}on_keys(){return this.getTypedRuleContext(e2,0)}on_key(){return this.getTypedRuleContext(s2,0)}FOR(){return this.getToken(n.FOR,0)}IDENT(){return this.getToken(n.IDENT,0)}NEST(){return this.getToken(n.NEST,0)}unnest(){return this.getTypedRuleContext(Xh,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}accept(u){return u instanceof C?u.visitFrom_term(this):u.visitChildren(this)}};h(co,"From_termContext");var Hu=co,g_=class g_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_simple_from_term}keyspace_term(){return this.getTypedRuleContext($h,0)}expr(){return this.getTypedRuleContext(G,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}opt_use(){return this.getTypedRuleContext(Ae,0)}accept(u){return u instanceof C?u.visitSimple_from_term(this):u.visitChildren(this)}};h(g_,"Simple_from_termContext");var xs=g_,L_=class L_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_unnest}UNNEST(){return this.getToken(n.UNNEST,0)}FLATTEN(){return this.getToken(n.FLATTEN,0)}accept(u){return u instanceof C?u.visitUnnest(this):u.visitChildren(this)}};h(L_,"UnnestContext");var Xh=L_,y_=class y_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_keyspace_term}keyspace_path(){return this.getTypedRuleContext(Gr,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}opt_use(){return this.getTypedRuleContext(Ae,0)}accept(u){return u instanceof C?u.visitKeyspace_term(this):u.visitChildren(this)}};h(y_,"Keyspace_termContext");var $h=y_,N_=class N_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_keyspace_path}namespace_term(){return this.getTypedRuleContext(Vr,0)}keyspace_name(){return this.getTypedRuleContext(st,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};scope_name(){return this.getTypedRuleContext(et,0)}accept(u){return u instanceof C?u.visitKeyspace_path(this):u.visitChildren(this)}};h(N_,"Keyspace_pathContext");var Gr=N_,w_=class w_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_namespace_term}namespace_name(){return this.getTypedRuleContext(Xt,0)}SYSTEM(){return this.getToken(n.SYSTEM,0)}COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitNamespace_term(this):u.visitChildren(this)}};h(w_,"Namespace_termContext");var Vr=w_,O_=class O_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_namespace_name}IDENT(){return this.getToken(n.IDENT,0)}COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitNamespace_name(this):u.visitChildren(this)}};h(O_,"Namespace_nameContext");var Xt=O_,I_=class I_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_bucket_name}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitBucket_name(this):u.visitChildren(this)}};h(I_,"Bucket_nameContext");var tt=I_,U_=class U_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_scope_name}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitScope_name(this):u.visitChildren(this)}};h(U_,"Scope_nameContext");var et=U_,v_=class v_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_keyspace_name}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitKeyspace_name(this):u.visitChildren(this)}};h(v_,"Keyspace_nameContext");var st=v_,P_=class P_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_use}USE(){return this.getToken(n.USE,0)}use_options(){return this.getTypedRuleContext(zh,0)}accept(u){return u instanceof C?u.visitOpt_use(this):u.visitChildren(this)}};h(P_,"Opt_useContext");var Ae=P_,S_=class S_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_use_options}use_keys(){return this.getTypedRuleContext(Qh,0)}use_index(){return this.getTypedRuleContext(jh,0)}join_hint(){return this.getTypedRuleContext(Jh,0)}accept(u){return u instanceof C?u.visitUse_options(this):u.visitChildren(this)}};h(S_,"Use_optionsContext");var zh=S_,D_=class D_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_use_keys}opt_primary(){return this.getTypedRuleContext($t,0)}KEYS(){return this.getToken(n.KEYS,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitUse_keys(this):u.visitChildren(this)}};h(D_,"Use_keysContext");var Qh=D_,H_=class H_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_use_index}INDEX(){return this.getToken(n.INDEX,0)}LPAREN(){return this.getToken(n.LPAREN,0)}index_refs(){return this.getTypedRuleContext(Kr,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitUse_index(this):u.visitChildren(this)}};h(H_,"Use_indexContext");var jh=H_,M_=class M_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_join_hint}HASH(){return this.getToken(n.HASH,0)}LPAREN(){return this.getToken(n.LPAREN,0)}use_hash_option(){return this.getTypedRuleContext(u2,0)}RPAREN(){return this.getToken(n.RPAREN,0)}NL(){return this.getToken(n.NL,0)}accept(u){return u instanceof C?u.visitJoin_hint(this):u.visitChildren(this)}};h(M_,"Join_hintContext");var Jh=M_,k_=class k_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_primary}PRIMARY(){return this.getToken(n.PRIMARY,0)}accept(u){return u instanceof C?u.visitOpt_primary(this):u.visitChildren(this)}};h(k_,"Opt_primaryContext");var $t=k_,lo=class lo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_refs}index_ref(){return this.getTypedRuleContext(Zh,0)}index_refs(){return this.getTypedRuleContext(lo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitIndex_refs(this):u.visitChildren(this)}};h(lo,"Index_refsContext");var Kr=lo,F_=class F_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_ref}opt_index_name(){return this.getTypedRuleContext(ua,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}accept(u){return u instanceof C?u.visitIndex_ref(this):u.visitChildren(this)}};h(F_,"Index_refContext");var Zh=F_,B_=class B_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_use_hash_option}BUILD(){return this.getToken(n.BUILD,0)}PROBE(){return this.getToken(n.PROBE,0)}accept(u){return u instanceof C?u.visitUse_hash_option(this):u.visitChildren(this)}};h(B_,"Use_hash_optionContext");var u2=B_,q_=class q_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_use_del_upd}opt_use(){return this.getTypedRuleContext(Ae,0)}accept(u){return u instanceof C?u.visitOpt_use_del_upd(this):u.visitChildren(this)}};h(q_,"Opt_use_del_updContext");var Wr=q_,G_=class G_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_join_type}INNER(){return this.getToken(n.INNER,0)}LEFT(){return this.getToken(n.LEFT,0)}opt_outer(){return this.getTypedRuleContext(Yr,0)}accept(u){return u instanceof C?u.visitOpt_join_type(this):u.visitChildren(this)}};h(G_,"Opt_join_typeContext");var t2=G_,V_=class V_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_outer}OUTER(){return this.getToken(n.OUTER,0)}accept(u){return u instanceof C?u.visitOpt_outer(this):u.visitChildren(this)}};h(V_,"Opt_outerContext");var Yr=V_,K_=class K_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_on_keys}ON(){return this.getToken(n.ON,0)}opt_primary(){return this.getTypedRuleContext($t,0)}KEYS(){return this.getToken(n.KEYS,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitOn_keys(this):u.visitChildren(this)}};h(K_,"On_keysContext");var e2=K_,W_=class W_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_on_key}ON(){return this.getToken(n.ON,0)}opt_primary(){return this.getTypedRuleContext($t,0)}KEY(){return this.getToken(n.KEY,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitOn_key(this):u.visitChildren(this)}};h(W_,"On_keyContext");var s2=W_,Y_=class Y_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_let}let_(){return this.getTypedRuleContext(r2,0)}accept(u){return u instanceof C?u.visitOpt_let(this):u.visitChildren(this)}};h(Y_,"Opt_letContext");var Xr=Y_,X_=class X_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_let_}LET_(){return this.getToken(n.LET_,0)}bindings(){return this.getTypedRuleContext(Es,0)}accept(u){return u instanceof C?u.visitLet_(this):u.visitChildren(this)}};h(X_,"Let_Context");var r2=X_,oo=class oo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_bindings}binding(){return this.getTypedRuleContext(i2,0)}bindings(){return this.getTypedRuleContext(oo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitBindings(this):u.visitChildren(this)}};h(oo,"BindingsContext");var Es=oo,$_=class $_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_binding}alias(){return this.getTypedRuleContext(_s,0)}EQ(){return this.getToken(n.EQ,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitBinding(this):u.visitChildren(this)}};h($_,"BindingContext");var i2=$_,z_=class z_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_with}WITH(){return this.getToken(n.WITH,0)}with_list(){return this.getTypedRuleContext(zr,0)}accept(u){return u instanceof C?u.visitOpt_with(this):u.visitChildren(this)}};h(z_,"Opt_withContext");var $r=z_,fo=class fo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_with_list}with_term(){return this.getTypedRuleContext(n2,0)}with_list(){return this.getTypedRuleContext(fo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitWith_list(this):u.visitChildren(this)}};h(fo,"With_listContext");var zr=fo,Q_=class Q_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_with_term}alias(){return this.getTypedRuleContext(_s,0)}AS(){return this.getToken(n.AS,0)}paren_expr(){return this.getTypedRuleContext(Hi,0)}accept(u){return u instanceof C?u.visitWith_term(this):u.visitChildren(this)}};h(Q_,"With_termContext");var n2=Q_,j_=class j_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_where}where(){return this.getTypedRuleContext(Qr,0)}accept(u){return u instanceof C?u.visitOpt_where(this):u.visitChildren(this)}};h(j_,"Opt_whereContext");var rt=j_,J_=class J_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_where}WHERE(){return this.getToken(n.WHERE,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitWhere(this):u.visitChildren(this)}};h(J_,"WhereContext");var Qr=J_,Z_=class Z_ extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_group}group(){return this.getTypedRuleContext(h2,0)}accept(u){return u instanceof C?u.visitOpt_group(this):u.visitChildren(this)}};h(Z_,"Opt_groupContext");var jr=Z_,ux=class ux extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_group}GROUP(){return this.getToken(n.GROUP,0)}BY(){return this.getToken(n.BY,0)}group_terms(){return this.getTypedRuleContext(Jr,0)}opt_letting(){return this.getTypedRuleContext(c2,0)}opt_having(){return this.getTypedRuleContext(l2,0)}letting(){return this.getTypedRuleContext(Zr,0)}accept(u){return u instanceof C?u.visitGroup(this):u.visitChildren(this)}};h(ux,"GroupContext");var h2=ux,po=class po extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_group_terms}group_term(){return this.getTypedRuleContext(a2,0)}group_terms(){return this.getTypedRuleContext(po,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitGroup_terms(this):u.visitChildren(this)}};h(po,"Group_termsContext");var Jr=po,tx=class tx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_group_term}expr(){return this.getTypedRuleContext(G,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}accept(u){return u instanceof C?u.visitGroup_term(this):u.visitChildren(this)}};h(tx,"Group_termContext");var a2=tx,ex=class ex extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_letting}letting(){return this.getTypedRuleContext(Zr,0)}accept(u){return u instanceof C?u.visitOpt_letting(this):u.visitChildren(this)}};h(ex,"Opt_lettingContext");var c2=ex,sx=class sx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_letting}LETTING(){return this.getToken(n.LETTING,0)}bindings(){return this.getTypedRuleContext(Es,0)}accept(u){return u instanceof C?u.visitLetting(this):u.visitChildren(this)}};h(sx,"LettingContext");var Zr=sx,rx=class rx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_having}having(){return this.getTypedRuleContext(o2,0)}accept(u){return u instanceof C?u.visitOpt_having(this):u.visitChildren(this)}};h(rx,"Opt_havingContext");var l2=rx,ix=class ix extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_having}HAVING(){return this.getToken(n.HAVING,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitHaving(this):u.visitChildren(this)}};h(ix,"HavingContext");var o2=ix,nx=class nx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_order_by}order_by(){return this.getTypedRuleContext(d2,0)}accept(u){return u instanceof C?u.visitOpt_order_by(this):u.visitChildren(this)}};h(nx,"Opt_order_byContext");var ui=nx,hx=class hx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_order_by}ORDER(){return this.getToken(n.ORDER,0)}BY(){return this.getToken(n.BY,0)}sort_terms(){return this.getTypedRuleContext(ti,0)}accept(u){return u instanceof C?u.visitOrder_by(this):u.visitChildren(this)}};h(hx,"Order_byContext");var d2=hx,_o=class _o extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_sort_terms}sort_term(){return this.getTypedRuleContext(f2,0)}sort_terms(){return this.getTypedRuleContext(_o,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitSort_terms(this):u.visitChildren(this)}};h(_o,"Sort_termsContext");var ti=_o,ax=class ax extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_sort_term}expr(){return this.getTypedRuleContext(G,0)}opt_dir(){return this.getTypedRuleContext(p2,0)}opt_order_nulls(){return this.getTypedRuleContext(x2,0)}accept(u){return u instanceof C?u.visitSort_term(this):u.visitChildren(this)}};h(ax,"Sort_termContext");var f2=ax,cx=class cx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_dir}dir(){return this.getTypedRuleContext(_2,0)}accept(u){return u instanceof C?u.visitOpt_dir(this):u.visitChildren(this)}};h(cx,"Opt_dirContext");var p2=cx,lx=class lx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_dir}ASC(){return this.getToken(n.ASC,0)}DESC(){return this.getToken(n.DESC,0)}accept(u){return u instanceof C?u.visitDir(this):u.visitChildren(this)}};h(lx,"DirContext");var _2=lx,ox=class ox extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_order_nulls}nulls(){return this.getTypedRuleContext(E2,0)}first_last(){return this.getTypedRuleContext(ei,0)}accept(u){return u instanceof C?u.visitOpt_order_nulls(this):u.visitChildren(this)}};h(ox,"Opt_order_nullsContext");var x2=ox,dx=class dx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_first_last}FIRST(){return this.getToken(n.FIRST,0)}LAST(){return this.getToken(n.LAST,0)}accept(u){return u instanceof C?u.visitFirst_last(this):u.visitChildren(this)}};h(dx,"First_lastContext");var ei=dx,fx=class fx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_nulls}NULLS(){return this.getToken(n.NULLS,0)}accept(u){return u instanceof C?u.visitNulls(this):u.visitChildren(this)}};h(fx,"NullsContext");var E2=fx,px=class px extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_limit}limit(){return this.getTypedRuleContext(si,0)}accept(u){return u instanceof C?u.visitOpt_limit(this):u.visitChildren(this)}};h(px,"Opt_limitContext");var Ce=px,_x=class _x extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_limit}LIMIT(){return this.getToken(n.LIMIT,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitLimit(this):u.visitChildren(this)}};h(_x,"LimitContext");var si=_x,xx=class xx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_offset}offset(){return this.getTypedRuleContext(ri,0)}accept(u){return u instanceof C?u.visitOpt_offset(this):u.visitChildren(this)}};h(xx,"Opt_offsetContext");var R2=xx,Ex=class Ex extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_offset}OFFSET(){return this.getToken(n.OFFSET,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitOffset(this):u.visitChildren(this)}};h(Ex,"OffsetContext");var ri=Ex,Rx=class Rx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_insert}INSERT(){return this.getToken(n.INSERT,0)}INTO(){return this.getToken(n.INTO,0)}keyspace_ref(){return this.getTypedRuleContext(ge,0)}opt_values_header(){return this.getTypedRuleContext(ii,0)}values_list(){return this.getTypedRuleContext(Ts,0)}opt_returning(){return this.getTypedRuleContext(zt,0)}LPAREN(){return this.getToken(n.LPAREN,0)}key_val_options_expr_header(){return this.getTypedRuleContext(As,0)}RPAREN(){return this.getToken(n.RPAREN,0)}fullselect(){return this.getTypedRuleContext(me,0)}accept(u){return u instanceof C?u.visitInsert(this):u.visitChildren(this)}};h(Rx,"InsertContext");var T2=Rx,Tx=class Tx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_simple_keyspace_ref}keyspace_name(){return this.getTypedRuleContext(st,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}keyspace_path(){return this.getTypedRuleContext(Gr,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};scope_name(){return this.getTypedRuleContext(et,0)}accept(u){return u instanceof C?u.visitSimple_keyspace_ref(this):u.visitChildren(this)}};h(Tx,"Simple_keyspace_refContext");var Rs=Tx,bx=class bx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_keyspace_ref}simple_keyspace_ref(){return this.getTypedRuleContext(Rs,0)}param_expr(){return this.getTypedRuleContext(Pi,0)}opt_as_alias(){return this.getTypedRuleContext(Mu,0)}accept(u){return u instanceof C?u.visitKeyspace_ref(this):u.visitChildren(this)}};h(bx,"Keyspace_refContext");var ge=bx,mx=class mx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_values_header}LPAREN(){return this.getToken(n.LPAREN,0)}opt_primary(){return this.getTypedRuleContext($t,0)}KEY(){return this.getToken(n.KEY,0)}COMMA=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.COMMA):this.getToken(n.COMMA,u)};VALUE(){return this.getToken(n.VALUE,0)}RPAREN(){return this.getToken(n.RPAREN,0)}OPTIONS(){return this.getToken(n.OPTIONS,0)}accept(u){return u instanceof C?u.visitOpt_values_header(this):u.visitChildren(this)}};h(mx,"Opt_values_headerContext");var ii=mx,Ax=class Ax extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_key}opt_primary(){return this.getTypedRuleContext($t,0)}KEY(){return this.getToken(n.KEY,0)}accept(u){return u instanceof C?u.visitKey(this):u.visitChildren(this)}};h(Ax,"KeyContext");var ni=Ax,xo=class xo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_values_list}values(){return this.getTypedRuleContext(hi,0)}values_list(){return this.getTypedRuleContext(xo,0)}COMMA(){return this.getToken(n.COMMA,0)}next_values(){return this.getTypedRuleContext(b2,0)}accept(u){return u instanceof C?u.visitValues_list(this):u.visitChildren(this)}};h(xo,"Values_listContext");var Ts=xo,Cx=class Cx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_values}VALUES(){return this.getToken(n.VALUES,0)}key_val_expr(){return this.getTypedRuleContext(bs,0)}key_val_options_expr(){return this.getTypedRuleContext(ms,0)}accept(u){return u instanceof C?u.visitValues(this):u.visitChildren(this)}};h(Cx,"ValuesContext");var hi=Cx,gx=class gx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_next_values}values(){return this.getTypedRuleContext(hi,0)}key_val_expr(){return this.getTypedRuleContext(bs,0)}key_val_options_expr(){return this.getTypedRuleContext(ms,0)}accept(u){return u instanceof C?u.visitNext_values(this):u.visitChildren(this)}};h(gx,"Next_valuesContext");var b2=gx,Lx=class Lx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_key_val_expr}LPAREN(){return this.getToken(n.LPAREN,0)}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(G):this.getTypedRuleContext(G,u)};COMMA(){return this.getToken(n.COMMA,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitKey_val_expr(this):u.visitChildren(this)}};h(Lx,"Key_val_exprContext");var bs=Lx,yx=class yx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_key_val_options_expr}LPAREN(){return this.getToken(n.LPAREN,0)}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(G):this.getTypedRuleContext(G,u)};COMMA=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.COMMA):this.getToken(n.COMMA,u)};RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitKey_val_options_expr(this):u.visitChildren(this)}};h(yx,"Key_val_options_exprContext");var ms=yx,Nx=class Nx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_returning}returning(){return this.getTypedRuleContext(m2,0)}accept(u){return u instanceof C?u.visitOpt_returning(this):u.visitChildren(this)}};h(Nx,"Opt_returningContext");var zt=Nx,wx=class wx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_returning}RETURNING(){return this.getToken(n.RETURNING,0)}returns_(){return this.getTypedRuleContext(A2,0)}accept(u){return u instanceof C?u.visitReturning(this):u.visitChildren(this)}};h(wx,"ReturningContext");var m2=wx,Ox=class Ox extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_returns_}projects(){return this.getTypedRuleContext(ps,0)}raw(){return this.getTypedRuleContext(Br,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitReturns_(this):u.visitChildren(this)}};h(Ox,"Returns_Context");var A2=Ox,Ix=class Ix extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_key_expr_header}key(){return this.getTypedRuleContext(ni,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitKey_expr_header(this):u.visitChildren(this)}};h(Ix,"Key_expr_headerContext");var C2=Ix,Ux=class Ux extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_value_expr_header}VALUE(){return this.getToken(n.VALUE,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitValue_expr_header(this):u.visitChildren(this)}};h(Ux,"Value_expr_headerContext");var g2=Ux,vx=class vx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_options_expr_header}OPTIONS(){return this.getToken(n.OPTIONS,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitOptions_expr_header(this):u.visitChildren(this)}};h(vx,"Options_expr_headerContext");var L2=vx,Px=class Px extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_key_val_options_expr_header}key_expr_header(){return this.getTypedRuleContext(C2,0)}COMMA=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.COMMA):this.getToken(n.COMMA,u)};value_expr_header(){return this.getTypedRuleContext(g2,0)}options_expr_header(){return this.getTypedRuleContext(L2,0)}accept(u){return u instanceof C?u.visitKey_val_options_expr_header(this):u.visitChildren(this)}};h(Px,"Key_val_options_expr_headerContext");var As=Px,Sx=class Sx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_upsert}UPSERT(){return this.getToken(n.UPSERT,0)}INTO(){return this.getToken(n.INTO,0)}keyspace_ref(){return this.getTypedRuleContext(ge,0)}opt_values_header(){return this.getTypedRuleContext(ii,0)}values_list(){return this.getTypedRuleContext(Ts,0)}opt_returning(){return this.getTypedRuleContext(zt,0)}LPAREN(){return this.getToken(n.LPAREN,0)}key_val_options_expr_header(){return this.getTypedRuleContext(As,0)}RPAREN(){return this.getToken(n.RPAREN,0)}fullselect(){return this.getTypedRuleContext(me,0)}accept(u){return u instanceof C?u.visitUpsert(this):u.visitChildren(this)}};h(Sx,"UpsertContext");var y2=Sx,Dx=class Dx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_delete_}DELETE_(){return this.getToken(n.DELETE_,0)}FROM(){return this.getToken(n.FROM,0)}keyspace_ref(){return this.getTypedRuleContext(ge,0)}opt_use_del_upd(){return this.getTypedRuleContext(Wr,0)}opt_where(){return this.getTypedRuleContext(rt,0)}opt_limit(){return this.getTypedRuleContext(Ce,0)}opt_returning(){return this.getTypedRuleContext(zt,0)}accept(u){return u instanceof C?u.visitDelete_(this):u.visitChildren(this)}};h(Dx,"Delete_Context");var N2=Dx,Hx=class Hx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update}UPDATE(){return this.getToken(n.UPDATE,0)}keyspace_ref(){return this.getTypedRuleContext(ge,0)}opt_use_del_upd(){return this.getTypedRuleContext(Wr,0)}set(){return this.getTypedRuleContext(ai,0)}unset(){return this.getTypedRuleContext(pi,0)}opt_where(){return this.getTypedRuleContext(rt,0)}opt_limit(){return this.getTypedRuleContext(Ce,0)}opt_returning(){return this.getTypedRuleContext(zt,0)}accept(u){return u instanceof C?u.visitUpdate(this):u.visitChildren(this)}};h(Hx,"UpdateContext");var w2=Hx,Mx=class Mx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_set}SET(){return this.getToken(n.SET,0)}set_terms(){return this.getTypedRuleContext(ci,0)}accept(u){return u instanceof C?u.visitSet(this):u.visitChildren(this)}};h(Mx,"SetContext");var ai=Mx,Eo=class Eo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_set_terms}set_term(){return this.getTypedRuleContext(O2,0)}set_terms(){return this.getTypedRuleContext(Eo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitSet_terms(this):u.visitChildren(this)}};h(Eo,"Set_termsContext");var ci=Eo,kx=class kx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_set_term}path(){return this.getTypedRuleContext(ut,0)}EQ(){return this.getToken(n.EQ,0)}expr(){return this.getTypedRuleContext(G,0)}opt_update_for(){return this.getTypedRuleContext(li,0)}function_meta_expr(){return this.getTypedRuleContext(I2,0)}DOT(){return this.getToken(n.DOT,0)}accept(u){return u instanceof C?u.visitSet_term(this):u.visitChildren(this)}};h(kx,"Set_termContext");var O2=kx,Fx=class Fx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_function_meta_expr}function_name(){return this.getTypedRuleContext(Di,0)}LPAREN(){return this.getToken(n.LPAREN,0)}opt_exprs(){return this.getTypedRuleContext(Ne,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitFunction_meta_expr(this):u.visitChildren(this)}};h(Fx,"Function_meta_exprContext");var I2=Fx,Bx=class Bx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_update_for}update_for(){return this.getTypedRuleContext(U2,0)}accept(u){return u instanceof C?u.visitOpt_update_for(this):u.visitChildren(this)}};h(Bx,"Opt_update_forContext");var li=Bx,qx=class qx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_for}update_dimensions(){return this.getTypedRuleContext(oi,0)}opt_when(){return this.getTypedRuleContext(fi,0)}END(){return this.getToken(n.END,0)}accept(u){return u instanceof C?u.visitUpdate_for(this):u.visitChildren(this)}};h(qx,"Update_forContext");var U2=qx,Ro=class Ro extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_dimensions}FOR(){return this.getToken(n.FOR,0)}update_dimension(){return this.getTypedRuleContext(di,0)}update_dimensions(){return this.getTypedRuleContext(Ro,0)}accept(u){return u instanceof C?u.visitUpdate_dimensions(this):u.visitChildren(this)}};h(Ro,"Update_dimensionsContext");var oi=Ro,To=class To extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_dimension}update_binding(){return this.getTypedRuleContext(v2,0)}update_dimension(){return this.getTypedRuleContext(To,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitUpdate_dimension(this):u.visitChildren(this)}};h(To,"Update_dimensionContext");var di=To,Gx=class Gx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_binding}variable=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(Le):this.getTypedRuleContext(Le,u)};IN(){return this.getToken(n.IN,0)}expr(){return this.getTypedRuleContext(G,0)}WITHIN(){return this.getToken(n.WITHIN,0)}COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitUpdate_binding(this):u.visitChildren(this)}};h(Gx,"Update_bindingContext");var v2=Gx,Vx=class Vx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_variable}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitVariable(this):u.visitChildren(this)}};h(Vx,"VariableContext");var Le=Vx,Kx=class Kx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_when}WHEN(){return this.getToken(n.WHEN,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitOpt_when(this):u.visitChildren(this)}};h(Kx,"Opt_whenContext");var fi=Kx,Wx=class Wx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_unset}UNSET(){return this.getToken(n.UNSET,0)}unset_terms(){return this.getTypedRuleContext(_i,0)}accept(u){return u instanceof C?u.visitUnset(this):u.visitChildren(this)}};h(Wx,"UnsetContext");var pi=Wx,bo=class bo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_unset_terms}unset_term(){return this.getTypedRuleContext(P2,0)}unset_terms(){return this.getTypedRuleContext(bo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitUnset_terms(this):u.visitChildren(this)}};h(bo,"Unset_termsContext");var _i=bo,Yx=class Yx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_unset_term}path(){return this.getTypedRuleContext(ut,0)}opt_update_for(){return this.getTypedRuleContext(li,0)}accept(u){return u instanceof C?u.visitUnset_term(this):u.visitChildren(this)}};h(Yx,"Unset_termContext");var P2=Yx,Xx=class Xx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_merge}MERGE(){return this.getToken(n.MERGE,0)}INTO(){return this.getToken(n.INTO,0)}simple_keyspace_ref(){return this.getTypedRuleContext(Rs,0)}opt_use_merge(){return this.getTypedRuleContext(D2,0)}USING(){return this.getToken(n.USING,0)}simple_from_term(){return this.getTypedRuleContext(xs,0)}ON(){return this.getToken(n.ON,0)}opt_key(){return this.getTypedRuleContext(H2,0)}expr(){return this.getTypedRuleContext(G,0)}merge_actions(){return this.getTypedRuleContext(M2,0)}opt_limit(){return this.getTypedRuleContext(Ce,0)}opt_returning(){return this.getTypedRuleContext(zt,0)}accept(u){return u instanceof C?u.visitMerge(this):u.visitChildren(this)}};h(Xx,"MergeContext");var S2=Xx,$x=class $x extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_use_merge}opt_use(){return this.getTypedRuleContext(Ae,0)}accept(u){return u instanceof C?u.visitOpt_use_merge(this):u.visitChildren(this)}};h($x,"Opt_use_mergeContext");var D2=$x,zx=class zx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_key}key(){return this.getTypedRuleContext(ni,0)}accept(u){return u instanceof C?u.visitOpt_key(this):u.visitChildren(this)}};h(zx,"Opt_keyContext");var H2=zx,Qx=class Qx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_merge_actions}WHEN(){return this.getToken(n.WHEN,0)}MATCHED(){return this.getToken(n.MATCHED,0)}THEN(){return this.getToken(n.THEN,0)}UPDATE(){return this.getToken(n.UPDATE,0)}merge_update(){return this.getTypedRuleContext(F2,0)}opt_merge_delete_insert(){return this.getTypedRuleContext(k2,0)}DELETE_(){return this.getToken(n.DELETE_,0)}merge_delete(){return this.getTypedRuleContext(Ei,0)}opt_merge_insert(){return this.getTypedRuleContext(xi,0)}NOT(){return this.getToken(n.NOT,0)}INSERT(){return this.getToken(n.INSERT,0)}merge_insert(){return this.getTypedRuleContext(Cs,0)}accept(u){return u instanceof C?u.visitMerge_actions(this):u.visitChildren(this)}};h(Qx,"Merge_actionsContext");var M2=Qx,jx=class jx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_merge_delete_insert}WHEN(){return this.getToken(n.WHEN,0)}MATCHED(){return this.getToken(n.MATCHED,0)}THEN(){return this.getToken(n.THEN,0)}DELETE_(){return this.getToken(n.DELETE_,0)}merge_delete(){return this.getTypedRuleContext(Ei,0)}opt_merge_insert(){return this.getTypedRuleContext(xi,0)}NOT(){return this.getToken(n.NOT,0)}INSERT(){return this.getToken(n.INSERT,0)}merge_insert(){return this.getTypedRuleContext(Cs,0)}accept(u){return u instanceof C?u.visitOpt_merge_delete_insert(this):u.visitChildren(this)}};h(jx,"Opt_merge_delete_insertContext");var k2=jx,Jx=class Jx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_merge_insert}WHEN(){return this.getToken(n.WHEN,0)}NOT(){return this.getToken(n.NOT,0)}MATCHED(){return this.getToken(n.MATCHED,0)}THEN(){return this.getToken(n.THEN,0)}INSERT(){return this.getToken(n.INSERT,0)}merge_insert(){return this.getTypedRuleContext(Cs,0)}accept(u){return u instanceof C?u.visitOpt_merge_insert(this):u.visitChildren(this)}};h(Jx,"Opt_merge_insertContext");var xi=Jx,Zx=class Zx extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_merge_update}set(){return this.getTypedRuleContext(ai,0)}opt_where(){return this.getTypedRuleContext(rt,0)}unset(){return this.getTypedRuleContext(pi,0)}accept(u){return u instanceof C?u.visitMerge_update(this):u.visitChildren(this)}};h(Zx,"Merge_updateContext");var F2=Zx,uE=class uE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_merge_delete}opt_where(){return this.getTypedRuleContext(rt,0)}accept(u){return u instanceof C?u.visitMerge_delete(this):u.visitChildren(this)}};h(uE,"Merge_deleteContext");var Ei=uE,tE=class tE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_merge_insert}expr(){return this.getTypedRuleContext(G,0)}opt_where(){return this.getTypedRuleContext(rt,0)}key_val_expr(){return this.getTypedRuleContext(bs,0)}key_val_options_expr(){return this.getTypedRuleContext(ms,0)}LPAREN(){return this.getToken(n.LPAREN,0)}key_val_options_expr_header(){return this.getTypedRuleContext(As,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitMerge_insert(this):u.visitChildren(this)}};h(tE,"Merge_insertContext");var Cs=tE,eE=class eE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_grant_role}GRANT(){return this.getToken(n.GRANT,0)}role_list(){return this.getTypedRuleContext(gs,0)}TO(){return this.getToken(n.TO,0)}user_list(){return this.getTypedRuleContext(ys,0)}ON(){return this.getToken(n.ON,0)}keyspace_scope_list(){return this.getTypedRuleContext(Ls,0)}accept(u){return u instanceof C?u.visitGrant_role(this):u.visitChildren(this)}};h(eE,"Grant_roleContext");var B2=eE,mo=class mo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_role_list}role_name(){return this.getTypedRuleContext(q2,0)}role_list(){return this.getTypedRuleContext(mo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitRole_list(this):u.visitChildren(this)}};h(mo,"Role_listContext");var gs=mo,sE=class sE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_role_name}IDENT(){return this.getToken(n.IDENT,0)}SELECT(){return this.getToken(n.SELECT,0)}INSERT(){return this.getToken(n.INSERT,0)}UPDATE(){return this.getToken(n.UPDATE,0)}DELETE_(){return this.getToken(n.DELETE_,0)}accept(u){return u instanceof C?u.visitRole_name(this):u.visitChildren(this)}};h(sE,"Role_nameContext");var q2=sE,Ao=class Ao extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_keyspace_scope_list}keyspace_scope(){return this.getTypedRuleContext(G2,0)}keyspace_scope_list(){return this.getTypedRuleContext(Ao,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitKeyspace_scope_list(this):u.visitChildren(this)}};h(Ao,"Keyspace_scope_listContext");var Ls=Ao,rE=class rE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_keyspace_scope}keyspace_name(){return this.getTypedRuleContext(st,0)}namespace_name(){return this.getTypedRuleContext(Xt,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};scope_name(){return this.getTypedRuleContext(et,0)}accept(u){return u instanceof C?u.visitKeyspace_scope(this):u.visitChildren(this)}};h(rE,"Keyspace_scopeContext");var G2=rE,Co=class Co extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_user_list}user(){return this.getTypedRuleContext(V2,0)}user_list(){return this.getTypedRuleContext(Co,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitUser_list(this):u.visitChildren(this)}};h(Co,"User_listContext");var ys=Co,iE=class iE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_user}IDENT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.IDENT):this.getToken(n.IDENT,u)};COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitUser(this):u.visitChildren(this)}};h(iE,"UserContext");var V2=iE,nE=class nE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_revoke_role}REVOKE(){return this.getToken(n.REVOKE,0)}role_list(){return this.getTypedRuleContext(gs,0)}FROM(){return this.getToken(n.FROM,0)}user_list(){return this.getTypedRuleContext(ys,0)}ON(){return this.getToken(n.ON,0)}keyspace_scope_list(){return this.getTypedRuleContext(Ls,0)}accept(u){return u instanceof C?u.visitRevoke_role(this):u.visitChildren(this)}};h(nE,"Revoke_roleContext");var K2=nE,hE=class hE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_create_scope}CREATE(){return this.getToken(n.CREATE,0)}SCOPE(){return this.getToken(n.SCOPE,0)}named_scope_ref(){return this.getTypedRuleContext(Ri,0)}if_not_exists(){return this.getTypedRuleContext(we,0)}accept(u){return u instanceof C?u.visitCreate_scope(this):u.visitChildren(this)}};h(hE,"Create_scopeContext");var W2=hE,aE=class aE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_drop_scope}DROP(){return this.getToken(n.DROP,0)}SCOPE(){return this.getToken(n.SCOPE,0)}named_scope_ref(){return this.getTypedRuleContext(Ri,0)}if_exists(){return this.getTypedRuleContext(Xi,0)}accept(u){return u instanceof C?u.visitDrop_scope(this):u.visitChildren(this)}};h(aE,"Drop_scopeContext");var Y2=aE,cE=class cE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_create_collection}CREATE(){return this.getToken(n.CREATE,0)}COLLECTION(){return this.getToken(n.COLLECTION,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}if_not_exists(){return this.getTypedRuleContext(we,0)}accept(u){return u instanceof C?u.visitCreate_collection(this):u.visitChildren(this)}};h(cE,"Create_collectionContext");var X2=cE,lE=class lE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_drop_collection}DROP(){return this.getToken(n.DROP,0)}COLLECTION(){return this.getToken(n.COLLECTION,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}if_exists(){return this.getTypedRuleContext(Xi,0)}accept(u){return u instanceof C?u.visitDrop_collection(this):u.visitChildren(this)}};h(lE,"Drop_collectionContext");var $2=lE,oE=class oE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_flush_collection}flush_or_truncate(){return this.getTypedRuleContext(Q2,0)}COLLECTION(){return this.getToken(n.COLLECTION,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}accept(u){return u instanceof C?u.visitFlush_collection(this):u.visitChildren(this)}};h(oE,"Flush_collectionContext");var z2=oE,dE=class dE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_flush_or_truncate}FLUSH(){return this.getToken(n.FLUSH,0)}TRUNCATE(){return this.getToken(n.TRUNCATE,0)}accept(u){return u instanceof C?u.visitFlush_or_truncate(this):u.visitChildren(this)}};h(dE,"Flush_or_truncateContext");var Q2=dE,fE=class fE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_create_index}CREATE(){return this.getToken(n.CREATE,0)}INDEX(){return this.getToken(n.INDEX,0)}index_name(){return this.getTypedRuleContext(Ct,0)}ON(){return this.getToken(n.ON,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}LPAREN(){return this.getToken(n.LPAREN,0)}index_terms(){return this.getTypedRuleContext(Ai,0)}RPAREN(){return this.getToken(n.RPAREN,0)}index_partition(){return this.getTypedRuleContext(Ti,0)}index_where(){return this.getTypedRuleContext(sa,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}opt_index_with(){return this.getTypedRuleContext(bi,0)}if_not_exists(){return this.getTypedRuleContext(we,0)}accept(u){return u instanceof C?u.visitCreate_index(this):u.visitChildren(this)}};h(fE,"Create_indexContext");var j2=fE,pE=class pE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_create_primary_index}CREATE(){return this.getToken(n.CREATE,0)}PRIMARY(){return this.getToken(n.PRIMARY,0)}INDEX(){return this.getToken(n.INDEX,0)}opt_primary_name(){return this.getTypedRuleContext(Z2,0)}ON(){return this.getToken(n.ON,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}index_partition(){return this.getTypedRuleContext(Ti,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}opt_index_with(){return this.getTypedRuleContext(bi,0)}if_not_exists(){return this.getTypedRuleContext(we,0)}accept(u){return u instanceof C?u.visitCreate_primary_index(this):u.visitChildren(this)}};h(pE,"Create_primary_indexContext");var J2=pE,_E=class _E extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_primary_name}index_name(){return this.getTypedRuleContext(Ct,0)}accept(u){return u instanceof C?u.visitOpt_primary_name(this):u.visitChildren(this)}};h(_E,"Opt_primary_nameContext");var Z2=_E,xE=class xE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_name}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitIndex_name(this):u.visitChildren(this)}};h(xE,"Index_nameContext");var Ct=xE,EE=class EE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_index_name}index_name(){return this.getTypedRuleContext(Ct,0)}accept(u){return u instanceof C?u.visitOpt_index_name(this):u.visitChildren(this)}};h(EE,"Opt_index_nameContext");var ua=EE,RE=class RE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_named_keyspace_ref}simple_named_keyspace_ref(){return this.getTypedRuleContext(ye,0)}namespace_name(){return this.getTypedRuleContext(Xt,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};scope_name(){return this.getTypedRuleContext(et,0)}keyspace_name(){return this.getTypedRuleContext(st,0)}accept(u){return u instanceof C?u.visitNamed_keyspace_ref(this):u.visitChildren(this)}};h(RE,"Named_keyspace_refContext");var gu=RE,TE=class TE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_simple_named_keyspace_ref}keyspace_name(){return this.getTypedRuleContext(st,0)}namespace_name(){return this.getTypedRuleContext(Xt,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};scope_name(){return this.getTypedRuleContext(et,0)}accept(u){return u instanceof C?u.visitSimple_named_keyspace_ref(this):u.visitChildren(this)}};h(TE,"Simple_named_keyspace_refContext");var ye=TE,bE=class bE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_named_scope_ref}namespace_name(){return this.getTypedRuleContext(Xt,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT(){return this.getToken(n.DOT,0)}scope_name(){return this.getTypedRuleContext(et,0)}accept(u){return u instanceof C?u.visitNamed_scope_ref(this):u.visitChildren(this)}};h(bE,"Named_scope_refContext");var Ri=bE,mE=class mE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_partition}PARTITION(){return this.getToken(n.PARTITION,0)}BY(){return this.getToken(n.BY,0)}HASH(){return this.getToken(n.HASH,0)}LPAREN(){return this.getToken(n.LPAREN,0)}exprs(){return this.getTypedRuleContext(nt,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitIndex_partition(this):u.visitChildren(this)}};h(mE,"Index_partitionContext");var Ti=mE,AE=class AE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_index_using}index_using(){return this.getTypedRuleContext(ta,0)}accept(u){return u instanceof C?u.visitOpt_index_using(this):u.visitChildren(this)}};h(AE,"Opt_index_usingContext");var it=AE,CE=class CE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_using}USING(){return this.getToken(n.USING,0)}VIEW(){return this.getToken(n.VIEW,0)}GSI(){return this.getToken(n.GSI,0)}FTS(){return this.getToken(n.FTS,0)}accept(u){return u instanceof C?u.visitIndex_using(this):u.visitChildren(this)}};h(CE,"Index_usingContext");var ta=CE,gE=class gE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_index_with}index_with(){return this.getTypedRuleContext(mi,0)}accept(u){return u instanceof C?u.visitOpt_index_with(this):u.visitChildren(this)}};h(gE,"Opt_index_withContext");var bi=gE,LE=class LE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_with}WITH(){return this.getToken(n.WITH,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitIndex_with(this):u.visitChildren(this)}};h(LE,"Index_withContext");var mi=LE,go=class go extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_terms}index_term(){return this.getTypedRuleContext(ea,0)}index_terms(){return this.getTypedRuleContext(go,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitIndex_terms(this):u.visitChildren(this)}};h(go,"Index_termsContext");var Ai=go,yE=class yE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_term}index_term_expr(){return this.getTypedRuleContext(Ci,0)}opt_ikattr(){return this.getTypedRuleContext(ra,0)}accept(u){return u instanceof C?u.visitIndex_term(this):u.visitChildren(this)}};h(yE,"Index_termContext");var ea=yE,NE=class NE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_term_expr}index_expr(){return this.getTypedRuleContext(gi,0)}all(){return this.getTypedRuleContext(Li,0)}DISTINCT(){return this.getToken(n.DISTINCT,0)}accept(u){return u instanceof C?u.visitIndex_term_expr(this):u.visitChildren(this)}};h(NE,"Index_term_exprContext");var Ci=NE,wE=class wE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_expr}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitIndex_expr(this):u.visitChildren(this)}};h(wE,"Index_exprContext");var gi=wE,OE=class OE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_all}ALL(){return this.getToken(n.ALL,0)}EACH(){return this.getToken(n.EACH,0)}accept(u){return u instanceof C?u.visitAll(this):u.visitChildren(this)}};h(OE,"AllContext");var Li=OE,IE=class IE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_index_where}WHERE(){return this.getToken(n.WHERE,0)}index_expr(){return this.getTypedRuleContext(gi,0)}accept(u){return u instanceof C?u.visitIndex_where(this):u.visitChildren(this)}};h(IE,"Index_whereContext");var sa=IE,UE=class UE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_ikattr}ikattr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(yi):this.getTypedRuleContext(yi,u)};accept(u){return u instanceof C?u.visitOpt_ikattr(this):u.visitChildren(this)}};h(UE,"Opt_ikattrContext");var ra=UE,vE=class vE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_ikattr}ASC(){return this.getToken(n.ASC,0)}DESC(){return this.getToken(n.DESC,0)}MISSING(){return this.getToken(n.MISSING,0)}accept(u){return u instanceof C?u.visitIkattr(this):u.visitChildren(this)}};h(vE,"IkattrContext");var yi=vE,PE=class PE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_drop_index}DROP(){return this.getToken(n.DROP,0)}PRIMARY(){return this.getToken(n.PRIMARY,0)}INDEX(){return this.getToken(n.INDEX,0)}ON(){return this.getToken(n.ON,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}simple_named_keyspace_ref(){return this.getTypedRuleContext(ye,0)}DOT(){return this.getToken(n.DOT,0)}index_name(){return this.getTypedRuleContext(Ct,0)}accept(u){return u instanceof C?u.visitDrop_index(this):u.visitChildren(this)}};h(PE,"Drop_indexContext");var ia=PE,SE=class SE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_alter_index}ALTER(){return this.getToken(n.ALTER,0)}INDEX(){return this.getToken(n.INDEX,0)}simple_named_keyspace_ref(){return this.getTypedRuleContext(ye,0)}DOT(){return this.getToken(n.DOT,0)}index_name(){return this.getTypedRuleContext(Ct,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}index_with(){return this.getTypedRuleContext(mi,0)}ON(){return this.getToken(n.ON,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}accept(u){return u instanceof C?u.visitAlter_index(this):u.visitChildren(this)}};h(SE,"Alter_indexContext");var na=SE,DE=class DE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_build_index}BUILD(){return this.getToken(n.BUILD,0)}INDEX(){return this.getToken(n.INDEX,0)}ON(){return this.getToken(n.ON,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}LPAREN(){return this.getToken(n.LPAREN,0)}exprs(){return this.getTypedRuleContext(nt,0)}RPAREN(){return this.getToken(n.RPAREN,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}accept(u){return u instanceof C?u.visitBuild_index(this):u.visitChildren(this)}};h(DE,"Build_indexContext");var ha=DE,HE=class HE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_create_function}CREATE(){return this.getToken(n.CREATE,0)}opt_replace(){return this.getTypedRuleContext(ca,0)}FUNCTION(){return this.getToken(n.FUNCTION,0)}func_name(){return this.getTypedRuleContext(Ns,0)}LPAREN(){return this.getToken(n.LPAREN,0)}parm_list(){return this.getTypedRuleContext(oa,0)}RPAREN(){return this.getToken(n.RPAREN,0)}func_body(){return this.getTypedRuleContext(da,0)}accept(u){return u instanceof C?u.visitCreate_function(this):u.visitChildren(this)}};h(HE,"Create_functionContext");var aa=HE,ME=class ME extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_replace}OR(){return this.getToken(n.OR,0)}REPLACE(){return this.getToken(n.REPLACE,0)}accept(u){return u instanceof C?u.visitOpt_replace(this):u.visitChildren(this)}};h(ME,"Opt_replaceContext");var ca=ME,kE=class kE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_func_name}short_func_name(){return this.getTypedRuleContext(la,0)}long_func_name(){return this.getTypedRuleContext(Ni,0)}accept(u){return u instanceof C?u.visitFunc_name(this):u.visitChildren(this)}};h(kE,"Func_nameContext");var Ns=kE,FE=class FE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_short_func_name}keyspace_name(){return this.getTypedRuleContext(st,0)}accept(u){return u instanceof C?u.visitShort_func_name(this):u.visitChildren(this)}};h(FE,"Short_func_nameContext");var la=FE,BE=class BE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_long_func_name}namespace_term(){return this.getTypedRuleContext(Vr,0)}keyspace_name(){return this.getTypedRuleContext(st,0)}bucket_name(){return this.getTypedRuleContext(tt,0)}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};scope_name(){return this.getTypedRuleContext(et,0)}accept(u){return u instanceof C?u.visitLong_func_name(this):u.visitChildren(this)}};h(BE,"Long_func_nameContext");var Ni=BE,qE=class qE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_parm_list}DOT=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.DOT):this.getToken(n.DOT,u)};parameter_terms(){return this.getTypedRuleContext(wi,0)}accept(u){return u instanceof C?u.visitParm_list(this):u.visitChildren(this)}};h(qE,"Parm_listContext");var oa=qE,Lo=class Lo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_parameter_terms}IDENT(){return this.getToken(n.IDENT,0)}parameter_terms(){return this.getTypedRuleContext(Lo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitParameter_terms(this):u.visitChildren(this)}};h(Lo,"Parameter_termsContext");var wi=Lo,GE=class GE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_func_body}LBRACE(){return this.getToken(n.LBRACE,0)}expr(){return this.getTypedRuleContext(G,0)}RBRACE(){return this.getToken(n.RBRACE,0)}LANGUAGE(){return this.getToken(n.LANGUAGE,0)}INLINE(){return this.getToken(n.INLINE,0)}AS(){return this.getToken(n.AS,0)}GOLANG(){return this.getToken(n.GOLANG,0)}STR=function(u){return u===void 0&&(u=null),u===null?this.getTokens(n.STR):this.getToken(n.STR,u)};AT(){return this.getToken(n.AT,0)}JAVASCRIPT(){return this.getToken(n.JAVASCRIPT,0)}accept(u){return u instanceof C?u.visitFunc_body(this):u.visitChildren(this)}};h(GE,"Func_bodyContext");var da=GE,VE=class VE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_drop_function}DROP(){return this.getToken(n.DROP,0)}FUNCTION(){return this.getToken(n.FUNCTION,0)}func_name(){return this.getTypedRuleContext(Ns,0)}accept(u){return u instanceof C?u.visitDrop_function(this):u.visitChildren(this)}};h(VE,"Drop_functionContext");var fa=VE,KE=class KE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_execute_function}EXECUTE(){return this.getToken(n.EXECUTE,0)}FUNCTION(){return this.getToken(n.FUNCTION,0)}func_name(){return this.getTypedRuleContext(Ns,0)}LPAREN(){return this.getToken(n.LPAREN,0)}opt_exprs(){return this.getTypedRuleContext(Ne,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitExecute_function(this):u.visitChildren(this)}};h(KE,"Execute_functionContext");var pa=KE,WE=class WE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_statistics}UPDATE(){return this.getToken(n.UPDATE,0)}STATISTICS(){return this.getToken(n.STATISTICS,0)}opt_for(){return this.getTypedRuleContext(xa,0)}named_keyspace_ref(){return this.getTypedRuleContext(gu,0)}LPAREN(){return this.getToken(n.LPAREN,0)}update_stat_terms(){return this.getTypedRuleContext(Oi,0)}RPAREN(){return this.getToken(n.RPAREN,0)}opt_infer_ustat_with(){return this.getTypedRuleContext(Mr,0)}DELETE_(){return this.getToken(n.DELETE_,0)}ALL(){return this.getToken(n.ALL,0)}INDEX(){return this.getToken(n.INDEX,0)}exprs(){return this.getTypedRuleContext(nt,0)}opt_index_using(){return this.getTypedRuleContext(it,0)}FOR(){return this.getToken(n.FOR,0)}simple_named_keyspace_ref(){return this.getTypedRuleContext(ye,0)}DOT(){return this.getToken(n.DOT,0)}index_name(){return this.getTypedRuleContext(Ct,0)}ON(){return this.getToken(n.ON,0)}ANALYZE(){return this.getToken(n.ANALYZE,0)}opt_keyspace_collection(){return this.getTypedRuleContext(Hr,0)}accept(u){return u instanceof C?u.visitUpdate_statistics(this):u.visitChildren(this)}};h(WE,"Update_statisticsContext");var _a=WE,YE=class YE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_for}FOR(){return this.getToken(n.FOR,0)}accept(u){return u instanceof C?u.visitOpt_for(this):u.visitChildren(this)}};h(YE,"Opt_forContext");var xa=YE,yo=class yo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_stat_terms}update_stat_term(){return this.getTypedRuleContext(Ea,0)}update_stat_terms(){return this.getTypedRuleContext(yo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitUpdate_stat_terms(this):u.visitChildren(this)}};h(yo,"Update_stat_termsContext");var Oi=yo,XE=class XE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_update_stat_term}index_term_expr(){return this.getTypedRuleContext(Ci,0)}accept(u){return u instanceof C?u.visitUpdate_stat_term(this):u.visitChildren(this)}};h(XE,"Update_stat_termContext");var Ea=XE,No=class No extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_path}IDENT(){return this.getToken(n.IDENT,0)}path(){return this.getTypedRuleContext(No,0)}DOT(){return this.getToken(n.DOT,0)}IDENT_ICASE(){return this.getToken(n.IDENT_ICASE,0)}LBRACKET(){return this.getToken(n.LBRACKET,0)}expr(){return this.getTypedRuleContext(G,0)}RBRACKET(){return this.getToken(n.RBRACKET,0)}RBRACKET_ICASE(){return this.getToken(n.RBRACKET_ICASE,0)}accept(u){return u instanceof C?u.visitPath(this):u.visitChildren(this)}};h(No,"PathContext");var ut=No,_h=class _h extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_expr}c_expr(){return this.getTypedRuleContext(Ii,0)}NOT(){return this.getToken(n.NOT,0)}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(_h):this.getTypedRuleContext(_h,u)};EXISTS(){return this.getToken(n.EXISTS,0)}PLUS(){return this.getToken(n.PLUS,0)}MINUS(){return this.getToken(n.MINUS,0)}STAR(){return this.getToken(n.STAR,0)}DIV(){return this.getToken(n.DIV,0)}MOD(){return this.getToken(n.MOD,0)}CONCAT(){return this.getToken(n.CONCAT,0)}AND(){return this.getToken(n.AND,0)}OR(){return this.getToken(n.OR,0)}EQ(){return this.getToken(n.EQ,0)}DEQ(){return this.getToken(n.DEQ,0)}NE(){return this.getToken(n.NE,0)}LT(){return this.getToken(n.LT,0)}GT(){return this.getToken(n.GT,0)}LE(){return this.getToken(n.LE,0)}GE(){return this.getToken(n.GE,0)}LIKE(){return this.getToken(n.LIKE,0)}IN(){return this.getToken(n.IN,0)}WITHIN(){return this.getToken(n.WITHIN,0)}DOT(){return this.getToken(n.DOT,0)}IDENT(){return this.getToken(n.IDENT,0)}IDENT_ICASE(){return this.getToken(n.IDENT_ICASE,0)}LBRACKET(){return this.getToken(n.LBRACKET,0)}RBRACKET(){return this.getToken(n.RBRACKET,0)}RBRACKET_ICASE(){return this.getToken(n.RBRACKET_ICASE,0)}COLON(){return this.getToken(n.COLON,0)}BETWEEN(){return this.getToken(n.BETWEEN,0)}b_expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(F0):this.getTypedRuleContext(F0,u)};IS(){return this.getToken(n.IS,0)}NULL(){return this.getToken(n.NULL,0)}MISSING(){return this.getToken(n.MISSING,0)}valued(){return this.getTypedRuleContext(Ra,0)}accept(u){return u instanceof C?u.visitExpr(this):u.visitChildren(this)}};h(_h,"ExprContext");var G=_h,$E=class $E extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_valued}VALUED(){return this.getToken(n.VALUED,0)}KNOWN(){return this.getToken(n.KNOWN,0)}accept(u){return u instanceof C?u.visitValued(this):u.visitChildren(this)}};h($E,"ValuedContext");var Ra=$E,zE=class zE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_c_expr}literal(){return this.getTypedRuleContext(Ta,0)}construction_expr(){return this.getTypedRuleContext(Ui,0)}IDENT(){return this.getToken(n.IDENT,0)}IDENT_ICASE(){return this.getToken(n.IDENT_ICASE,0)}SELF(){return this.getToken(n.SELF,0)}param_expr(){return this.getTypedRuleContext(Pi,0)}function_expr(){return this.getTypedRuleContext(wa,0)}MINUS(){return this.getToken(n.MINUS,0)}case_expr(){return this.getTypedRuleContext(ga,0)}collection_expr(){return this.getTypedRuleContext(Oa,0)}paren_expr(){return this.getTypedRuleContext(Hi,0)}COVER(){return this.getToken(n.COVER,0)}LPAREN(){return this.getToken(n.LPAREN,0)}expr(){return this.getTypedRuleContext(G,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitC_expr(this):u.visitChildren(this)}};h(zE,"C_exprContext");var Ii=zE,xh=class xh extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_b_expr}c_expr(){return this.getTypedRuleContext(Ii,0)}b_expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(xh):this.getTypedRuleContext(xh,u)};PLUS(){return this.getToken(n.PLUS,0)}MINUS(){return this.getToken(n.MINUS,0)}STAR(){return this.getToken(n.STAR,0)}DIV(){return this.getToken(n.DIV,0)}MOD(){return this.getToken(n.MOD,0)}CONCAT(){return this.getToken(n.CONCAT,0)}DOT(){return this.getToken(n.DOT,0)}IDENT(){return this.getToken(n.IDENT,0)}IDENT_ICASE(){return this.getToken(n.IDENT_ICASE,0)}LBRACKET(){return this.getToken(n.LBRACKET,0)}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(G):this.getTypedRuleContext(G,u)};RBRACKET(){return this.getToken(n.RBRACKET,0)}RBRACKET_ICASE(){return this.getToken(n.RBRACKET_ICASE,0)}COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitB_expr(this):u.visitChildren(this)}};h(xh,"B_exprContext");var F0=xh,QE=class QE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_literal}NULL(){return this.getToken(n.NULL,0)}MISSING(){return this.getToken(n.MISSING,0)}FALSE(){return this.getToken(n.FALSE,0)}TRUE(){return this.getToken(n.TRUE,0)}NUM(){return this.getToken(n.NUM,0)}INT(){return this.getToken(n.INT,0)}STR(){return this.getToken(n.STR,0)}accept(u){return u instanceof C?u.visitLiteral(this):u.visitChildren(this)}};h(QE,"LiteralContext");var Ta=QE,jE=class jE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_construction_expr}object(){return this.getTypedRuleContext(ba,0)}array(){return this.getTypedRuleContext(Ca,0)}accept(u){return u instanceof C?u.visitConstruction_expr(this):u.visitChildren(this)}};h(jE,"Construction_exprContext");var Ui=jE,JE=class JE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_object}LBRACE(){return this.getToken(n.LBRACE,0)}opt_members(){return this.getTypedRuleContext(ma,0)}RBRACE(){return this.getToken(n.RBRACE,0)}accept(u){return u instanceof C?u.visitObject(this):u.visitChildren(this)}};h(JE,"ObjectContext");var ba=JE,ZE=class ZE extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_members}members(){return this.getTypedRuleContext(vi,0)}accept(u){return u instanceof C?u.visitOpt_members(this):u.visitChildren(this)}};h(ZE,"Opt_membersContext");var ma=ZE,wo=class wo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_members}member(){return this.getTypedRuleContext(Aa,0)}members(){return this.getTypedRuleContext(wo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitMembers(this):u.visitChildren(this)}};h(wo,"MembersContext");var vi=wo,u5=class u5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_member}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(G):this.getTypedRuleContext(G,u)};COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitMember(this):u.visitChildren(this)}};h(u5,"MemberContext");var Aa=u5,t5=class t5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_array}LBRACKET(){return this.getToken(n.LBRACKET,0)}opt_exprs(){return this.getTypedRuleContext(Ne,0)}RBRACKET(){return this.getToken(n.RBRACKET,0)}accept(u){return u instanceof C?u.visitArray(this):u.visitChildren(this)}};h(t5,"ArrayContext");var Ca=t5,e5=class e5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_exprs}exprs(){return this.getTypedRuleContext(nt,0)}accept(u){return u instanceof C?u.visitOpt_exprs(this):u.visitChildren(this)}};h(e5,"Opt_exprsContext");var Ne=e5,Oo=class Oo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_exprs}expr(){return this.getTypedRuleContext(G,0)}exprs(){return this.getTypedRuleContext(Oo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitExprs(this):u.visitChildren(this)}};h(Oo,"ExprsContext");var nt=Oo,s5=class s5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_param_expr}NAMED_PARAM(){return this.getToken(n.NAMED_PARAM,0)}POSITIONAL_PARAM(){return this.getToken(n.POSITIONAL_PARAM,0)}NEXT_PARAM(){return this.getToken(n.NEXT_PARAM,0)}accept(u){return u instanceof C?u.visitParam_expr(this):u.visitChildren(this)}};h(s5,"Param_exprContext");var Pi=s5,r5=class r5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_case_expr}CASE(){return this.getToken(n.CASE,0)}simple_or_searched_case(){return this.getTypedRuleContext(La,0)}END(){return this.getToken(n.END,0)}accept(u){return u instanceof C?u.visitCase_expr(this):u.visitChildren(this)}};h(r5,"Case_exprContext");var ga=r5,i5=class i5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_simple_or_searched_case}simple_case(){return this.getTypedRuleContext(ya,0)}searched_case(){return this.getTypedRuleContext(Na,0)}accept(u){return u instanceof C?u.visitSimple_or_searched_case(this):u.visitChildren(this)}};h(i5,"Simple_or_searched_caseContext");var La=i5,n5=class n5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_simple_case}expr(){return this.getTypedRuleContext(G,0)}when_thens(){return this.getTypedRuleContext(ws,0)}opt_else(){return this.getTypedRuleContext(Si,0)}accept(u){return u instanceof C?u.visitSimple_case(this):u.visitChildren(this)}};h(n5,"Simple_caseContext");var ya=n5,Io=class Io extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_when_thens}WHEN(){return this.getToken(n.WHEN,0)}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(G):this.getTypedRuleContext(G,u)};THEN(){return this.getToken(n.THEN,0)}when_thens(){return this.getTypedRuleContext(Io,0)}accept(u){return u instanceof C?u.visitWhen_thens(this):u.visitChildren(this)}};h(Io,"When_thensContext");var ws=Io,h5=class h5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_searched_case}when_thens(){return this.getTypedRuleContext(ws,0)}opt_else(){return this.getTypedRuleContext(Si,0)}accept(u){return u instanceof C?u.visitSearched_case(this):u.visitChildren(this)}};h(h5,"Searched_caseContext");var Na=h5,a5=class a5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_else}ELSE(){return this.getToken(n.ELSE,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitOpt_else(this):u.visitChildren(this)}};h(a5,"Opt_elseContext");var Si=a5,c5=class c5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_function_expr}NTH_VALUE(){return this.getToken(n.NTH_VALUE,0)}LPAREN(){return this.getToken(n.LPAREN,0)}exprs(){return this.getTypedRuleContext(nt,0)}RPAREN(){return this.getToken(n.RPAREN,0)}opt_from_first_last(){return this.getTypedRuleContext(Wa,0)}opt_nulls_treatment(){return this.getTypedRuleContext(Va,0)}window_function_details(){return this.getTypedRuleContext(Gi,0)}function_name(){return this.getTypedRuleContext(Di,0)}opt_exprs(){return this.getTypedRuleContext(Ne,0)}opt_filter(){return this.getTypedRuleContext(Xa,0)}opt_window_function(){return this.getTypedRuleContext($a,0)}agg_quantifier(){return this.getTypedRuleContext(Ya,0)}expr(){return this.getTypedRuleContext(G,0)}STAR(){return this.getToken(n.STAR,0)}long_func_name(){return this.getTypedRuleContext(Ni,0)}accept(u){return u instanceof C?u.visitFunction_expr(this):u.visitChildren(this)}};h(c5,"Function_exprContext");var wa=c5,l5=class l5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_function_name}IDENT(){return this.getToken(n.IDENT,0)}REPLACE(){return this.getToken(n.REPLACE,0)}accept(u){return u instanceof C?u.visitFunction_name(this):u.visitChildren(this)}};h(l5,"Function_nameContext");var Di=l5,o5=class o5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_collection_expr}collection_cond(){return this.getTypedRuleContext(Ia,0)}collection_xform(){return this.getTypedRuleContext(Pa,0)}accept(u){return u instanceof C?u.visitCollection_expr(this):u.visitChildren(this)}};h(o5,"Collection_exprContext");var Oa=o5,d5=class d5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_collection_cond}ANY(){return this.getToken(n.ANY,0)}coll_bindings(){return this.getTypedRuleContext(Os,0)}satisfies(){return this.getTypedRuleContext(va,0)}END(){return this.getToken(n.END,0)}SOME(){return this.getToken(n.SOME,0)}EVERY(){return this.getToken(n.EVERY,0)}AND(){return this.getToken(n.AND,0)}accept(u){return u instanceof C?u.visitCollection_cond(this):u.visitChildren(this)}};h(d5,"Collection_condContext");var Ia=d5,Uo=class Uo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_coll_bindings}coll_binding(){return this.getTypedRuleContext(Ua,0)}coll_bindings(){return this.getTypedRuleContext(Uo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitColl_bindings(this):u.visitChildren(this)}};h(Uo,"Coll_bindingsContext");var Os=Uo,f5=class f5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_coll_binding}variable=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(Le):this.getTypedRuleContext(Le,u)};IN(){return this.getToken(n.IN,0)}expr(){return this.getTypedRuleContext(G,0)}WITHIN(){return this.getToken(n.WITHIN,0)}COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitColl_binding(this):u.visitChildren(this)}};h(f5,"Coll_bindingContext");var Ua=f5,p5=class p5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_satisfies}SATISFIES(){return this.getToken(n.SATISFIES,0)}expr(){return this.getTypedRuleContext(G,0)}accept(u){return u instanceof C?u.visitSatisfies(this):u.visitChildren(this)}};h(p5,"SatisfiesContext");var va=p5,_5=class _5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_collection_xform}ARRAY(){return this.getToken(n.ARRAY,0)}expr=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(G):this.getTypedRuleContext(G,u)};FOR(){return this.getToken(n.FOR,0)}coll_bindings(){return this.getTypedRuleContext(Os,0)}opt_when(){return this.getTypedRuleContext(fi,0)}END(){return this.getToken(n.END,0)}FIRST(){return this.getToken(n.FIRST,0)}OBJECT(){return this.getToken(n.OBJECT,0)}COLON(){return this.getToken(n.COLON,0)}accept(u){return u instanceof C?u.visitCollection_xform(this):u.visitChildren(this)}};h(_5,"Collection_xformContext");var Pa=_5,x5=class x5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_paren_expr}LPAREN(){return this.getToken(n.LPAREN,0)}expr(){return this.getTypedRuleContext(G,0)}RPAREN(){return this.getToken(n.RPAREN,0)}all_expr(){return this.getTypedRuleContext(Mi,0)}subquery_expr(){return this.getTypedRuleContext(Is,0)}accept(u){return u instanceof C?u.visitParen_expr(this):u.visitChildren(this)}};h(x5,"Paren_exprContext");var Hi=x5,E5=class E5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_subquery_expr}CORRELATED(){return this.getToken(n.CORRELATED,0)}LPAREN(){return this.getToken(n.LPAREN,0)}fullselect(){return this.getTypedRuleContext(me,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitSubquery_expr(this):u.visitChildren(this)}};h(E5,"Subquery_exprContext");var Is=E5,R5=class R5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_expr_input}expr(){return this.getTypedRuleContext(G,0)}all_expr(){return this.getTypedRuleContext(Mi,0)}accept(u){return u instanceof C?u.visitExpr_input(this):u.visitChildren(this)}};h(R5,"Expr_inputContext");var Sa=R5,T5=class T5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_all_expr}all(){return this.getTypedRuleContext(Li,0)}expr(){return this.getTypedRuleContext(G,0)}DISTINCT(){return this.getToken(n.DISTINCT,0)}accept(u){return u instanceof C?u.visitAll_expr(this):u.visitChildren(this)}};h(T5,"All_exprContext");var Mi=T5,b5=class b5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_window_clause}WINDOW(){return this.getToken(n.WINDOW,0)}window_list(){return this.getTypedRuleContext(Fi,0)}accept(u){return u instanceof C?u.visitOpt_window_clause(this):u.visitChildren(this)}};h(b5,"Opt_window_clauseContext");var ki=b5,vo=class vo extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_list}window_term(){return this.getTypedRuleContext(Da,0)}window_list(){return this.getTypedRuleContext(vo,0)}COMMA(){return this.getToken(n.COMMA,0)}accept(u){return u instanceof C?u.visitWindow_list(this):u.visitChildren(this)}};h(vo,"Window_listContext");var Fi=vo,m5=class m5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_term}IDENT(){return this.getToken(n.IDENT,0)}AS(){return this.getToken(n.AS,0)}window_specification(){return this.getTypedRuleContext(Bi,0)}accept(u){return u instanceof C?u.visitWindow_term(this):u.visitChildren(this)}};h(m5,"Window_termContext");var Da=m5,A5=class A5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_specification}LPAREN(){return this.getToken(n.LPAREN,0)}opt_window_name(){return this.getTypedRuleContext(Ha,0)}opt_window_partition(){return this.getTypedRuleContext(Ma,0)}opt_order_by(){return this.getTypedRuleContext(ui,0)}opt_window_frame(){return this.getTypedRuleContext(ka,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitWindow_specification(this):u.visitChildren(this)}};h(A5,"Window_specificationContext");var Bi=A5,C5=class C5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_window_name}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitOpt_window_name(this):u.visitChildren(this)}};h(C5,"Opt_window_nameContext");var Ha=C5,g5=class g5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_window_partition}PARTITION(){return this.getToken(n.PARTITION,0)}BY(){return this.getToken(n.BY,0)}exprs(){return this.getTypedRuleContext(nt,0)}accept(u){return u instanceof C?u.visitOpt_window_partition(this):u.visitChildren(this)}};h(g5,"Opt_window_partitionContext");var Ma=g5,L5=class L5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_window_frame}window_frame_modifier(){return this.getTypedRuleContext(Fa,0)}window_frame_extents(){return this.getTypedRuleContext(qa,0)}opt_window_frame_exclusion(){return this.getTypedRuleContext(Ba,0)}accept(u){return u instanceof C?u.visitOpt_window_frame(this):u.visitChildren(this)}};h(L5,"Opt_window_frameContext");var ka=L5,y5=class y5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_frame_modifier}ROWS(){return this.getToken(n.ROWS,0)}RANGE(){return this.getToken(n.RANGE,0)}GROUPS(){return this.getToken(n.GROUPS,0)}accept(u){return u instanceof C?u.visitWindow_frame_modifier(this):u.visitChildren(this)}};h(y5,"Window_frame_modifierContext");var Fa=y5,N5=class N5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_window_frame_exclusion}EXCLUDE(){return this.getToken(n.EXCLUDE,0)}NO(){return this.getToken(n.NO,0)}OTHERS(){return this.getToken(n.OTHERS,0)}CURRENT(){return this.getToken(n.CURRENT,0)}ROW(){return this.getToken(n.ROW,0)}TIES(){return this.getToken(n.TIES,0)}GROUP(){return this.getToken(n.GROUP,0)}accept(u){return u instanceof C?u.visitOpt_window_frame_exclusion(this):u.visitChildren(this)}};h(N5,"Opt_window_frame_exclusionContext");var Ba=N5,w5=class w5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_frame_extents}window_frame_extent=function(u){return u===void 0&&(u=null),u===null?this.getTypedRuleContexts(qi):this.getTypedRuleContext(qi,u)};BETWEEN(){return this.getToken(n.BETWEEN,0)}AND(){return this.getToken(n.AND,0)}accept(u){return u instanceof C?u.visitWindow_frame_extents(this):u.visitChildren(this)}};h(w5,"Window_frame_extentsContext");var qa=w5,O5=class O5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_frame_extent}UNBOUNDED(){return this.getToken(n.UNBOUNDED,0)}PRECEDING(){return this.getToken(n.PRECEDING,0)}FOLLOWING(){return this.getToken(n.FOLLOWING,0)}CURRENT(){return this.getToken(n.CURRENT,0)}ROW(){return this.getToken(n.ROW,0)}expr(){return this.getTypedRuleContext(G,0)}window_frame_valexpr_modifier(){return this.getTypedRuleContext(Ga,0)}accept(u){return u instanceof C?u.visitWindow_frame_extent(this):u.visitChildren(this)}};h(O5,"Window_frame_extentContext");var qi=O5,I5=class I5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_frame_valexpr_modifier}PRECEDING(){return this.getToken(n.PRECEDING,0)}FOLLOWING(){return this.getToken(n.FOLLOWING,0)}accept(u){return u instanceof C?u.visitWindow_frame_valexpr_modifier(this):u.visitChildren(this)}};h(I5,"Window_frame_valexpr_modifierContext");var Ga=I5,U5=class U5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_nulls_treatment}nulls_treatment(){return this.getTypedRuleContext(Ka,0)}accept(u){return u instanceof C?u.visitOpt_nulls_treatment(this):u.visitChildren(this)}};h(U5,"Opt_nulls_treatmentContext");var Va=U5,v5=class v5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_nulls_treatment}RESPECT(){return this.getToken(n.RESPECT,0)}NULLS(){return this.getToken(n.NULLS,0)}IGNORE(){return this.getToken(n.IGNORE,0)}accept(u){return u instanceof C?u.visitNulls_treatment(this):u.visitChildren(this)}};h(v5,"Nulls_treatmentContext");var Ka=v5,P5=class P5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_from_first_last}FROM(){return this.getToken(n.FROM,0)}first_last(){return this.getTypedRuleContext(ei,0)}accept(u){return u instanceof C?u.visitOpt_from_first_last(this):u.visitChildren(this)}};h(P5,"Opt_from_first_lastContext");var Wa=P5,S5=class S5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_agg_quantifier}ALL(){return this.getToken(n.ALL,0)}DISTINCT(){return this.getToken(n.DISTINCT,0)}accept(u){return u instanceof C?u.visitAgg_quantifier(this):u.visitChildren(this)}};h(S5,"Agg_quantifierContext");var Ya=S5,D5=class D5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_filter}FILTER(){return this.getToken(n.FILTER,0)}LPAREN(){return this.getToken(n.LPAREN,0)}where(){return this.getTypedRuleContext(Qr,0)}RPAREN(){return this.getToken(n.RPAREN,0)}accept(u){return u instanceof C?u.visitOpt_filter(this):u.visitChildren(this)}};h(D5,"Opt_filterContext");var Xa=D5,H5=class H5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_window_function}window_function_details(){return this.getTypedRuleContext(Gi,0)}accept(u){return u instanceof C?u.visitOpt_window_function(this):u.visitChildren(this)}};h(H5,"Opt_window_functionContext");var $a=H5,M5=class M5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_window_function_details}OVER(){return this.getToken(n.OVER,0)}IDENT(){return this.getToken(n.IDENT,0)}window_specification(){return this.getTypedRuleContext(Bi,0)}accept(u){return u instanceof C?u.visitWindow_function_details(this):u.visitChildren(this)}};h(M5,"Window_function_detailsContext");var Gi=M5,k5=class k5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_start_transaction}start_or_begin(){return this.getTypedRuleContext(Ja,0)}transaction(){return this.getTypedRuleContext(Ki,0)}opt_isolation_level(){return this.getTypedRuleContext(uc,0)}accept(u){return u instanceof C?u.visitStart_transaction(this):u.visitChildren(this)}};h(k5,"Start_transactionContext");var za=k5,F5=class F5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_commit_transaction}COMMIT(){return this.getToken(n.COMMIT,0)}opt_transaction(){return this.getTypedRuleContext(Vi,0)}accept(u){return u instanceof C?u.visitCommit_transaction(this):u.visitChildren(this)}};h(F5,"Commit_transactionContext");var Qa=F5,B5=class B5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_rollback_transaction}ROLLBACK(){return this.getToken(n.ROLLBACK,0)}opt_transaction(){return this.getTypedRuleContext(Vi,0)}opt_savepoint(){return this.getTypedRuleContext(Za,0)}accept(u){return u instanceof C?u.visitRollback_transaction(this):u.visitChildren(this)}};h(B5,"Rollback_transactionContext");var ja=B5,q5=class q5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_start_or_begin}START(){return this.getToken(n.START,0)}BEGIN(){return this.getToken(n.BEGIN,0)}accept(u){return u instanceof C?u.visitStart_or_begin(this):u.visitChildren(this)}};h(q5,"Start_or_beginContext");var Ja=q5,G5=class G5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_transaction}transaction(){return this.getTypedRuleContext(Ki,0)}accept(u){return u instanceof C?u.visitOpt_transaction(this):u.visitChildren(this)}};h(G5,"Opt_transactionContext");var Vi=G5,V5=class V5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_transaction}TRAN(){return this.getToken(n.TRAN,0)}TRANSACTION(){return this.getToken(n.TRANSACTION,0)}WORK(){return this.getToken(n.WORK,0)}accept(u){return u instanceof C?u.visitTransaction(this):u.visitChildren(this)}};h(V5,"TransactionContext");var Ki=V5,K5=class K5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_savepoint}TO(){return this.getToken(n.TO,0)}SAVEPOINT(){return this.getToken(n.SAVEPOINT,0)}savepoint_name(){return this.getTypedRuleContext(Wi,0)}accept(u){return u instanceof C?u.visitOpt_savepoint(this):u.visitChildren(this)}};h(K5,"Opt_savepointContext");var Za=K5,W5=class W5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_savepoint_name}IDENT(){return this.getToken(n.IDENT,0)}accept(u){return u instanceof C?u.visitSavepoint_name(this):u.visitChildren(this)}};h(W5,"Savepoint_nameContext");var Wi=W5,Y5=class Y5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_opt_isolation_level}isolation_level(){return this.getTypedRuleContext(Yi,0)}accept(u){return u instanceof C?u.visitOpt_isolation_level(this):u.visitChildren(this)}};h(Y5,"Opt_isolation_levelContext");var uc=Y5,X5=class X5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_isolation_level}ISOLATION(){return this.getToken(n.ISOLATION,0)}LEVEL(){return this.getToken(n.LEVEL,0)}isolation_val(){return this.getTypedRuleContext(tc,0)}accept(u){return u instanceof C?u.visitIsolation_level(this):u.visitChildren(this)}};h(X5,"Isolation_levelContext");var Yi=X5,$5=class $5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_isolation_val}READ(){return this.getToken(n.READ,0)}COMMITTED(){return this.getToken(n.COMMITTED,0)}accept(u){return u instanceof C?u.visitIsolation_val(this):u.visitChildren(this)}};h($5,"Isolation_valContext");var tc=$5,z5=class z5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_set_transaction_isolation}SET(){return this.getToken(n.SET,0)}TRANSACTION(){return this.getToken(n.TRANSACTION,0)}isolation_level(){return this.getTypedRuleContext(Yi,0)}accept(u){return u instanceof C?u.visitSet_transaction_isolation(this):u.visitChildren(this)}};h(z5,"Set_transaction_isolationContext");var ec=z5,Q5=class Q5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_savepoint}SAVEPOINT(){return this.getToken(n.SAVEPOINT,0)}savepoint_name(){return this.getTypedRuleContext(Wi,0)}accept(u){return u instanceof C?u.visitSavepoint(this):u.visitChildren(this)}};h(Q5,"SavepointContext");var sc=Q5,j5=class j5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_if_exists}IF(){return this.getToken(n.IF,0)}EXISTS(){return this.getToken(n.EXISTS,0)}accept(u){return u instanceof C?u.visitIf_exists(this):u.visitChildren(this)}};h(j5,"If_existsContext");var Xi=j5,J5=class J5 extends o.ParserRuleContext{constructor(u,t,e){t===void 0&&(t=null),e==null&&(e=-1),super(t,e),this.parser=u,this.ruleIndex=n.RULE_if_not_exists}IF(){return this.getToken(n.IF,0)}NOT(){return this.getToken(n.NOT,0)}EXISTS(){return this.getToken(n.EXISTS,0)}accept(u){return u instanceof C?u.visitIf_not_exists(this):u.visitChildren(this)}};h(J5,"If_not_existsContext");var we=J5;n.StatementsContext=io;n.InputContext=Sr;n.Opt_trailerContext=Dr;n.Stmt_bodyContext=Eh;n.StmtContext=be;n.AdviseContext=Rh;n.Opt_indexContext=Th;n.ExplainContext=bh;n.PrepareContext=mh;n.Opt_forceContext=Ah;n.Opt_nameContext=Ch;n.From_or_asContext=gh;n.ExecuteContext=Lh;n.Execute_usingContext=yh;n.InferContext=Nh;n.Opt_keyspace_collectionContext=Hr;n.Opt_infer_usingContext=wh;n.Opt_infer_ustat_withContext=Mr;n.Infer_ustat_withContext=Oh;n.Select_stmtContext=Ih;n.Dml_stmtContext=Uh;n.Ddl_stmtContext=vh;n.Role_stmtContext=Ph;n.Index_stmtContext=Sh;n.Scope_stmtContext=Dh;n.Collection_stmtContext=Hh;n.Function_stmtContext=Mh;n.Transaction_stmtContext=kh;n.FullselectContext=me;n.Select_termsContext=Zu;n.Select_termContext=Fh;n.SubselectContext=kr;n.From_selectContext=Bh;n.Select_fromContext=qh;n.Select_clauseContext=Fr;n.ProjectionContext=Gh;n.Opt_quantifierContext=Vh;n.RawContext=Br;n.ProjectsContext=ps;n.ProjectContext=Kh;n.Opt_as_aliasContext=Mu;n.As_aliasContext=Wh;n.AliasContext=_s;n.Opt_fromContext=Yh;n.FromContext=qr;n.From_termContext=Hu;n.Simple_from_termContext=xs;n.UnnestContext=Xh;n.Keyspace_termContext=$h;n.Keyspace_pathContext=Gr;n.Namespace_termContext=Vr;n.Namespace_nameContext=Xt;n.Bucket_nameContext=tt;n.Scope_nameContext=et;n.Keyspace_nameContext=st;n.Opt_useContext=Ae;n.Use_optionsContext=zh;n.Use_keysContext=Qh;n.Use_indexContext=jh;n.Join_hintContext=Jh;n.Opt_primaryContext=$t;n.Index_refsContext=Kr;n.Index_refContext=Zh;n.Use_hash_optionContext=u2;n.Opt_use_del_updContext=Wr;n.Opt_join_typeContext=t2;n.Opt_outerContext=Yr;n.On_keysContext=e2;n.On_keyContext=s2;n.Opt_letContext=Xr;n.Let_Context=r2;n.BindingsContext=Es;n.BindingContext=i2;n.Opt_withContext=$r;n.With_listContext=zr;n.With_termContext=n2;n.Opt_whereContext=rt;n.WhereContext=Qr;n.Opt_groupContext=jr;n.GroupContext=h2;n.Group_termsContext=Jr;n.Group_termContext=a2;n.Opt_lettingContext=c2;n.LettingContext=Zr;n.Opt_havingContext=l2;n.HavingContext=o2;n.Opt_order_byContext=ui;n.Order_byContext=d2;n.Sort_termsContext=ti;n.Sort_termContext=f2;n.Opt_dirContext=p2;n.DirContext=_2;n.Opt_order_nullsContext=x2;n.First_lastContext=ei;n.NullsContext=E2;n.Opt_limitContext=Ce;n.LimitContext=si;n.Opt_offsetContext=R2;n.OffsetContext=ri;n.InsertContext=T2;n.Simple_keyspace_refContext=Rs;n.Keyspace_refContext=ge;n.Opt_values_headerContext=ii;n.KeyContext=ni;n.Values_listContext=Ts;n.ValuesContext=hi;n.Next_valuesContext=b2;n.Key_val_exprContext=bs;n.Key_val_options_exprContext=ms;n.Opt_returningContext=zt;n.ReturningContext=m2;n.Returns_Context=A2;n.Key_expr_headerContext=C2;n.Value_expr_headerContext=g2;n.Options_expr_headerContext=L2;n.Key_val_options_expr_headerContext=As;n.UpsertContext=y2;n.Delete_Context=N2;n.UpdateContext=w2;n.SetContext=ai;n.Set_termsContext=ci;n.Set_termContext=O2;n.Function_meta_exprContext=I2;n.Opt_update_forContext=li;n.Update_forContext=U2;n.Update_dimensionsContext=oi;n.Update_dimensionContext=di;n.Update_bindingContext=v2;n.VariableContext=Le;n.Opt_whenContext=fi;n.UnsetContext=pi;n.Unset_termsContext=_i;n.Unset_termContext=P2;n.MergeContext=S2;n.Opt_use_mergeContext=D2;n.Opt_keyContext=H2;n.Merge_actionsContext=M2;n.Opt_merge_delete_insertContext=k2;n.Opt_merge_insertContext=xi;n.Merge_updateContext=F2;n.Merge_deleteContext=Ei;n.Merge_insertContext=Cs;n.Grant_roleContext=B2;n.Role_listContext=gs;n.Role_nameContext=q2;n.Keyspace_scope_listContext=Ls;n.Keyspace_scopeContext=G2;n.User_listContext=ys;n.UserContext=V2;n.Revoke_roleContext=K2;n.Create_scopeContext=W2;n.Drop_scopeContext=Y2;n.Create_collectionContext=X2;n.Drop_collectionContext=$2;n.Flush_collectionContext=z2;n.Flush_or_truncateContext=Q2;n.Create_indexContext=j2;n.Create_primary_indexContext=J2;n.Opt_primary_nameContext=Z2;n.Index_nameContext=Ct;n.Opt_index_nameContext=ua;n.Named_keyspace_refContext=gu;n.Simple_named_keyspace_refContext=ye;n.Named_scope_refContext=Ri;n.Index_partitionContext=Ti;n.Opt_index_usingContext=it;n.Index_usingContext=ta;n.Opt_index_withContext=bi;n.Index_withContext=mi;n.Index_termsContext=Ai;n.Index_termContext=ea;n.Index_term_exprContext=Ci;n.Index_exprContext=gi;n.AllContext=Li;n.Index_whereContext=sa;n.Opt_ikattrContext=ra;n.IkattrContext=yi;n.Drop_indexContext=ia;n.Alter_indexContext=na;n.Build_indexContext=ha;n.Create_functionContext=aa;n.Opt_replaceContext=ca;n.Func_nameContext=Ns;n.Short_func_nameContext=la;n.Long_func_nameContext=Ni;n.Parm_listContext=oa;n.Parameter_termsContext=wi;n.Func_bodyContext=da;n.Drop_functionContext=fa;n.Execute_functionContext=pa;n.Update_statisticsContext=_a;n.Opt_forContext=xa;n.Update_stat_termsContext=Oi;n.Update_stat_termContext=Ea;n.PathContext=ut;n.ExprContext=G;n.ValuedContext=Ra;n.C_exprContext=Ii;n.B_exprContext=F0;n.LiteralContext=Ta;n.Construction_exprContext=Ui;n.ObjectContext=ba;n.Opt_membersContext=ma;n.MembersContext=vi;n.MemberContext=Aa;n.ArrayContext=Ca;n.Opt_exprsContext=Ne;n.ExprsContext=nt;n.Param_exprContext=Pi;n.Case_exprContext=ga;n.Simple_or_searched_caseContext=La;n.Simple_caseContext=ya;n.When_thensContext=ws;n.Searched_caseContext=Na;n.Opt_elseContext=Si;n.Function_exprContext=wa;n.Function_nameContext=Di;n.Collection_exprContext=Oa;n.Collection_condContext=Ia;n.Coll_bindingsContext=Os;n.Coll_bindingContext=Ua;n.SatisfiesContext=va;n.Collection_xformContext=Pa;n.Paren_exprContext=Hi;n.Subquery_exprContext=Is;n.Expr_inputContext=Sa;n.All_exprContext=Mi;n.Opt_window_clauseContext=ki;n.Window_listContext=Fi;n.Window_termContext=Da;n.Window_specificationContext=Bi;n.Opt_window_nameContext=Ha;n.Opt_window_partitionContext=Ma;n.Opt_window_frameContext=ka;n.Window_frame_modifierContext=Fa;n.Opt_window_frame_exclusionContext=Ba;n.Window_frame_extentsContext=qa;n.Window_frame_extentContext=qi;n.Window_frame_valexpr_modifierContext=Ga;n.Opt_nulls_treatmentContext=Va;n.Nulls_treatmentContext=Ka;n.Opt_from_first_lastContext=Wa;n.Agg_quantifierContext=Ya;n.Opt_filterContext=Xa;n.Opt_window_functionContext=$a;n.Window_function_detailsContext=Gi;n.Start_transactionContext=za;n.Commit_transactionContext=Qa;n.Rollback_transactionContext=ja;n.Start_or_beginContext=Ja;n.Opt_transactionContext=Vi;n.TransactionContext=Ki;n.Opt_savepointContext=Za;n.Savepoint_nameContext=Wi;n.Opt_isolation_levelContext=uc;n.Isolation_levelContext=Yi;n.Isolation_valContext=tc;n.Set_transaction_isolationContext=ec;n.SavepointContext=sc;n.If_existsContext=Xi;n.If_not_existsContext=we;wT.exports=n});var vT=$((BI,UT)=>{var XN=Sp(),{DEFAULT_NAME:IT}=oe(),uR=class uR extends XN{visitCreate_index(u){let t=this.visit(u.index_name()),e=this.visit(u.index_terms()),{bucketName:a,scopeName:d,collectionName:p}=this.visit(u.named_keyspace_ref()),_=this.visitIfExists(u,"opt_index_using",!1),E=this.visitIfExists(u,"index_partition",""),y=this.visitIfExists(u,"index_where",""),H=this.visitIfExists(u,"opt_index_with",{});return $N(e)?{index:{indxName:t,indxType:"Metadata"},bucketName:a,scopeName:d,collectionName:p,indexKeys:{indexKeysPropertyKeyword:"metadataExpr",indexKeysIntervals:e}}:zN(e)?{index:{indxName:t,indxType:"Array",usingGSI:_,whereClause:y,withOptions:H},bucketName:a,scopeName:d,collectionName:p,indexKeys:{indexKeysPropertyKeyword:"arrayExpr",indexKeysIntervals:e}}:{index:{indxName:t,indxType:"Secondary",usingGSI:_,whereClause:y,withOptions:H,...E&&{partitionByHash:"Expression",partitionByHashExpr:E}},bucketName:a,scopeName:d,collectionName:p,indexKeys:{indexKeysPropertyKeyword:"indxKey",indexKeysIntervals:e}}}visitCreate_primary_index(u){let t=this.visit(u.opt_primary_name()),e=this.visitIfExists(u,"opt_index_using",!1),{bucketName:a,scopeName:d,collectionName:p}=this.visit(u.named_keyspace_ref()),_=this.visitIfExists(u,"opt_index_with",{});return{index:{indxName:t,indxType:"Primary",partitionByHash:"",usingGSI:e,withOptions:_},bucketName:a,scopeName:d,collectionName:p}}visitIndex_partition(u){return this.visitIfExists(u,"exprs",[]).join(", ")}visitIndex_terms(u){let t=this.visit(u.index_term()),e=this.visitIfExists(u,"index_terms",null);return e?[...e,t]:[t]}visitIndex_term(u){let t=this.visit(u.opt_ikattr());return{name:this.visit(u.index_term_expr()),type:t==="DESC"?"descending":"ascending",select:{start:u.index_term_expr().start.start,stop:u.index_term_expr().stop.stop+1}}}visitIndex_term_expr(u){let t=gt(u.DISTINCT());return gt(u.all())+t+this.visitIfExists(u,"index_expr","")}visitOpt_ikattr(u){return this.visit(u.ikattr())[0]}visitIkattr(u){return u.getText()}visitOpt_index_with(u){return this.visit(u.index_with())}visitIndex_with(u){let t=this.visit(u.expr()),e=JSON.parse(t);if(!e.nodes)return e;let a=e.nodes.map(d=>({nodeName:d}));return{...e,nodes:a}}visitIndex_where(u){return this.visit(u.index_expr())}visitIndex_expr(u){return gt(u)}visitOpt_primary_name(u){return gt(u)}visitIndex_name(u){return gt(u)}visitNamed_keyspace_ref(u){let t=this.visitIfExists(u,"simple_named_keyspace_ref",""),e=this.visitIfExists(u,"bucket_name",""),a=this.visitIfExists(u,"scope_name",IT),d=this.visitIfExists(u,"keyspace_name",IT);return{bucketName:t||e,scopeName:a,collectionName:d}}visitExpr(u){return gt(u)}visitSimple_named_keyspace_ref(u){return gt(u)}visitKeyspace_name(u){return gt(u)}visitOpt_index_using(u){let t=u.getText();return t?t.trim().toUpperCase()==="USINGGSI":!1}visitStatements(u){return this.visit(u.input())}visitInput(u){return this.visit(u.stmt_body())}visitStmt_body(u){return this.visit(u.stmt())}visitStmt(u){return this.visitIfExists(u,"ddl_stmt",[])}visitDdl_stmt(u){let t=this.visitIfExists(u,"scope_stmt",[]),e=this.visitIfExists(u,"collection_stmt",[]),a=this.visitIfExists(u,"index_stmt",[]);return{scopes:t,collections:e,indexes:a}}visitIfExists(u,t,e){try{return this.visit(u[t]())}catch{return e}}visitCreate_scope(u){let{bucketName:t,scopeName:e}=this.visit(u.named_scope_ref()),a=this.visitIfExists(u,"if_not_exists",!1);return{bucketName:t,scopeName:e,ifNotExists:a}}visitCreate_collection(u){let{bucketName:t,scopeName:e,collectionName:a}=this.visit(u.named_keyspace_ref()),d=this.visitIfExists(u,"if_not_exists",!1);return{bucketName:t,scopeName:e,collectionName:a,ifNotExists:d}}visitNamed_scope_ref(u){let t=this.visit(u.bucket_name()),e=this.visit(u.scope_name());return{bucketName:t,scopeName:e}}visitBucket_name(u){return gt(u)}visitScope_name(u){return gt(u)}visitIf_not_exists(u){return!0}};h(uR,"Visitor");var Z5=uR,$N=h(l=>l.map(u=>u.name).some(u=>/^\(?META\(\)/i.test(u)),"isMetaIndex"),zN=h(l=>l.map(u=>u.name).some(u=>/^\(?(ALLARRAY|DISTINCTARRAY|DISTINCT|ARRAY)/i.test(u)),"isArrayIndex"),gt=h(l=>l?QN(l.getText()):"","getName"),QN=h(l=>l.replace(/^(['`"])(.*)\1$/,"$2"),"removeQuotes");UT.exports=Z5});var ST=$((GI,PT)=>{var jN=vr(),eR=class eR extends jN.error.ErrorListener{syntaxError(u,t,e,a,d,p){throw new Error(`line ${e}:${a} ${d}`)}};h(eR,"ExprErrorListener");var tR=eR;PT.exports=tR});var rR=$((KI,HT)=>{var{isEmpty:JN,get:sR}=ts(),DT=vr(),ZN=yT(),uw=OT(),tw=vT(),ew=ST(),sw=h(({statements:l})=>{let u=new DT.InputStream(l),t=new ZN(u),e=new DT.CommonTokenStream(t),a=new uw(e);a.removeErrorListeners(),a.addErrorListener(new ew);let d=a.statements(),p=new tw,_=d.accept(p);return rw({result:_,statements:l})},"parseN1qlStatements"),rw=h(({result:l,statements:u})=>{let t=l.flatMap(({scopes:d})=>d),e=l.flatMap(({collections:d})=>d),a=l.flatMap(({indexes:d})=>d);return{scopes:t,collections:e,indexes:iw({indexes:a,statements:u})}},"mapParsedResult"),iw=h(({indexes:l,statements:u})=>l.reduce((t,e)=>{if(JN(e))return t;let a=e.index;if(a.indxType!=="Primary"){let d=sR(e,"indexKeys.indexKeysIntervals").reduce((p,_)=>{let E=_.select,y=nw(u.substring(E.start,E.stop));return[...p,{name:y,type:_.type}]},[]);a.indxType==="Secondary"?a={...a,[sR(e,"indexKeys.indexKeysPropertyKeyword")]:d}:a={...a,[sR(e,"indexKeys.indexKeysPropertyKeyword")]:d.map(p=>p.name).join(", ")}}return[...t,{...e,index:a}]},[]),"mapIndexes"),nw=h(l=>/^[(`'"].*[)`'"]$/i.test(l)?l.slice(1,l.length-1):l,"removeParentheses");HT.exports={parseN1qlStatements:sw}});var VT=$((YI,GT)=>{var{pickBy:hw,isUndefined:aw,get:rc,set:cw}=ts(),lw=nf(),ow=Rl(),dw=rR(),{GET_META_REGEXP:iR,GET_PARTITION_HASH_REGEXP:MT,DEFAULT_NAME:kT}=oe(),fw=h(l=>{let u=pw(l);return hw(u,t=>!aw(t))},"handleIndex"),pw=h(l=>{if(l.is_primary)return{indxName:l.name,indxType:"Primary",usingGSI:l.using==="gsi"};if(xw(l))return{indxName:l.name,indxType:"Array",usingGSI:l.using==="gsi",arrayExpr:l.index_key.map(BT).join(","),whereClause:qT(l)};if(_w(l))return{indxName:l.name,indxType:"Metadata",metadataExpr:l.index_key.map(BT).join(",")};{let u=Tw(l),{expression:t,keys:e}=Ew(l);return{indxName:l.name,indxType:"Secondary",usingGSI:l.using==="gsi",indxKey:e,functionExpr:t,whereClause:qT(l),partitionByHash:u.type,partitionByHashExpr:u.expression}}},"getHackoladeCompatibleIndex"),_w=h(l=>!!rc(l,"index_key",[]).find(u=>iR.test(u)),"checkMetaIndex"),xw=h(l=>!!rc(l,"index_key",[]).find(u=>u.startsWith("(distinct")||u.startsWith("(all")||u.startsWith("array")),"checkArrayIndex"),Ew=h(l=>{let u=rc(l,"index_key",[]),t=u.filter(FT).map(Rw),e=u.filter(a=>!FT(a)).join(",");return e?{keys:t,expression:e}:{keys:t}},"getKeysAndExpression"),FT=h(l=>/^\`.*?\`$/.test(l)||/^\(\`.*?\`\)$/.test(l),"checkKeySimple"),BT=h(l=>iR.test(l)?"META()."+iR.exec(l)[1]:l,"getExpression"),Rw=h(l=>{let u=l.endsWith("DESC");return{name:l.replace(/\`/gi,"").replace(" DESC","").replace(/^\s+/,"").replace(/\s+$/,"").replace(/^\((.*?)\)$/,"$1"),type:u?"descending":"ascending"}},"getSimpleKey"),Tw=h(l=>l.partition&&MT.test(l.partition)?{expression:rc(MT.exec(l.partition),"[2]"),type:"Expression"}:{type:""},"getPartition"),qT=h(l=>{if(l.condition)return l.condition},"getWhereCondition"),bw=h(async({cluster:l,connectionInfo:u,logger:t,app:e})=>{try{let d=(await lw.getIndexes({connectionInfo:u,logger:t,app:e})).map(_=>_.definition).join(`; +`);if(!d)return[];let{indexes:p}=dw.parseN1qlStatements({statements:d});return p}catch(a){try{return t.error(a),(await ow.getIndexes({cluster:l,logger:t})).toSorted((p,_)=>p.name.localeCompare(_.name)).map(p=>{let _=!p.bucket_id,E=_?p.keyspace_id:p.bucket_id,y=_?kT:p.scope_id,H=_?kT:p.keyspace_id;return{index:fw(p),bucketName:E,scopeName:y,collectionName:H}})}catch(d){return t.error(d),[]}}},"getIndexes"),mw=h(({indexes:l})=>l.reduce((u,t)=>{let{bucketName:e,scopeName:a,collectionName:d,index:p}=t,_=[e,a,d],E=rc(u,_,[]);return cw(u,_,[...E,p])},{}),"getIndexesByCollectionMap");GT.exports={getIndexes:bw,getIndexesByCollectionMap:mw}});var Aw=require("fs"),{set:Cw,uniqBy:gw}=ts(),ku=A4(),aR=Rl(),Lt=y4(),hR=VT(),Lw=rR(),nR=hf(),yw=h(l=>new Promise((u,t)=>{Aw.readFile(l,"utf-8",(e,a)=>{e?t(e):u(a)})}),"handleFileData"),Nw=h(async(l,u,t)=>{await ku.disconnect(),t()},"disconnect"),ww=h(async(l,u,t,e)=>{let a=Lt.createLogger({title:"Test database connection",hiddenKeys:l.hiddenKeys,logger:u});try{await ku.disconnect(),await ku.connect({connectionInfo:l,app:e}),await ku.disconnect(),t()}catch(d){a.error(d),t(Lt.createError(d))}},"testConnection"),Ow=h(async(l,u,t,e)=>{let a=Lt.createLogger({title:"Retrieving buckets",hiddenKeys:l.hiddenKeys,logger:u});try{let d=await ku.connect({connectionInfo:l,app:e}),_=(await aR.getBucketsForReverse({cluster:d})).map(E=>E.name);t(null,_)}catch(d){a.error(d),await ku.disconnect(),t(Lt.createError(d))}},"getDatabases"),Iw=h(async(l,u,t,e)=>{t(null,[])},"getDocumentKinds"),Uw=h(async(l,u,t,e)=>{let a=Lt.createLogger({title:"Retrieving databases and collections information",hiddenKeys:l.hiddenKeys,logger:u});try{let d=await ku.connect({connectionInfo:l,app:e}),p=await aR.getDbCollectionsNames({connectionInfo:l,cluster:d,logger:a,app:e});t(null,p)}catch(d){a.error(d),await ku.disconnect(),t(Lt.createError(d))}},"getDbCollectionsNames"),vw=h(async(l,u,t,e)=>{var d,p;let a=Lt.createLogger({title:"Retrieving databases and collections",hiddenKeys:l.hiddenKeys,logger:u});try{let _=l.connectionInfo,E=l.includeEmptyCollection,y=l.database,H=l.collectionData.collections,V=ku.getConnectionInfo(),K=await ku.connect({connectionInfo:_,app:e}),t0=await hR.getIndexes({cluster:K,connectionInfo:_,logger:a,app:e}),f0=hR.getIndexesByCollectionMap({indexes:t0}),w0=[];for(let j in H)for(let Z of H[j]){let Fu=(p=(d=f0[y])==null?void 0:d[j])==null?void 0:p[Z],z0=await aR.getDbCollectionData({cluster:K,data:l,bucketName:y,scopeName:j,collectionName:Z,collectionIndexes:Fu,includeEmptyCollection:E,logger:a,app:e});w0.push(z0)}await ku.disconnect(),t(null,w0,V)}catch(_){await ku.disconnect(),t(Lt.createError(_))}},"getDbCollectionsData"),Pw=h(async(l,u,t)=>{let e=Lt.createLogger({title:"Retrieving data from file",hiddenKeys:l.hiddenKeys,logger:u});try{let a=await yw(l.filePath),{scopes:d,collections:p,indexes:_}=Lw.parseN1qlStatements({statements:a}),E=hR.getIndexesByCollectionMap({indexes:_}),y=d.reduce((w0,j)=>Cw(w0,[j.bucketName,j.scopeName],j),{}),H=d.filter(w0=>p.every(j=>j.bucketName!==w0.bucketName||j.scopeName!==w0.scopeName)),V=_.filter(w0=>p.every(j=>j.bucketName!==w0.bucketName&&j.scopeName!==w0.scopeName&&j.collectionName!==w0.collectionName)),K=nR.mapParsedResultToMultipleSchema({entitiesData:p,indexesByCollectionMap:E,scopeBucketNameMap:y}),t0=nR.mapParsedResultToMultipleSchema({entitiesData:H,indexesByCollectionMap:E,scopeBucketNameMap:y}),f0=nR.mapParsedResultToMultipleSchema({entitiesData:gw(V,"bucketName"),indexesByCollectionMap:E,scopeBucketNameMap:y});return t(null,[...K,...t0,...f0],{},[],"multipleSchema")}catch(a){return e.error(a),t(Lt.createError(a))}},"reFromFile");module.exports={disconnect:Nw,getDatabases:Ow,getDbCollectionsNames:Uw,getDbCollectionsData:vw,getDocumentKinds:Iw,testConnection:ww,reFromFile:Pw}; +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +antlr4/src/antlr4/polyfills/codepointat.js: + (*! https://mths.be/codepointat v0.2.0 by @mathias *) + +antlr4/src/antlr4/polyfills/fromcodepoint.js: + (*! https://mths.be/fromcodepoint v0.2.1 by @mathias *) +*/ diff --git a/reverse_engineering/config.json b/reverse_engineering/config.json index 46838f5..db4b8ae 100644 --- a/reverse_engineering/config.json +++ b/reverse_engineering/config.json @@ -5,11 +5,10 @@ */ { "errors": { - "NO_DATABASES": "There are no clusters in the DocumentDB instance", - "WRONG_CONNECTION": "Can not connect to the DocumentDB instance" + "NO_DATABASES": "There are no clusters in the Couchbase instance", + "WRONG_CONNECTION": "Can not connect to the Couchbase instance" }, "excludeDocKind": ["id"], - "scenario": "connectToDB", - "typeOfSerializer": "bson", - "helpUrl": "https://hackolade.com/help/ConnecttoaDocumentDBinstance.html" + "scenario": "getDatabases", + "helpUrl": "https://hackolade.com/help/ConnecttoaCouchbaseinstance.html" } diff --git a/reverse_engineering/connection_settings_modal/connectionSettingsModalConfig.json b/reverse_engineering/connection_settings_modal/connectionSettingsModalConfig.json index 91000af..b85154a 100644 --- a/reverse_engineering/connection_settings_modal/connectionSettingsModalConfig.json +++ b/reverse_engineering/connection_settings_modal/connectionSettingsModalConfig.json @@ -6,188 +6,108 @@ "inputLabel": "Name", "inputKeyword": "name", "inputType": "text", - "inputPlaceholder": "Name" - + "inputPlaceholder": "Name", + "description": "Choose a friendly connection name" }, { - "inputLabel": "Host", + "inputLabel": "Address", "inputKeyword": "host", "inputType": "text", - "inputPlaceholder": ".cluster-..docdb.amazonaws.com", - "defaultValue": "" + "inputPlaceholder": "Address", + "description": "Specify host IP address or DNS name of Couchbase server", + "validation": { + "regex": "([^\\s])" + } }, { "inputLabel": "Port", "inputKeyword": "port", - "inputType": "numeric", - "inputPlaceholder": "27017", - "defaultValue": "" - } - ] - }, - { - "tab": "Authentication", - "structure": [ - { - "inputLabel": "User Name", - "inputKeyword": "username", "inputType": "text", - "inputPlaceholder": "User Name" - + "inputPlaceholder": "8091", + "description": "Specify port number of Couchbase server" }, { - "inputLabel": "Password", - "inputKeyword": "password", - "inputType": "password", - "inputTooltip": "Password", - "isHiddenKey": true, - "defaultValue": "" - } - ] - }, - { - "tab": "SSL", - "structure": [ + "inputLabel": "Key Value Port", + "inputKeyword": "kv_port", + "inputType": "text", + "inputPlaceholder": "11210", + "description": "Specify port number of Couchbase Key Value service" + }, { - "inputLabel": "SSL", - "inputKeyword": "sslType", - "inputType": "select", - "options": [{ - "value": "Off", - "label": "Off" - },{ - "value": "UNVALIDATED_SSL", - "label": "Unvalidated" - - },{ - "value": "TRUST_CUSTOM_CA_SIGNED_CERTIFICATES", - "label": "Server validation" - - }] + "inputLabel": "Specific bucket", + "inputType": "label" }, { - "inputLabel": "Certificate Authority", - "inputKeyword": "certAuthority", - "inputType": "file", - "inputPlaceholder": "Certificate Authority", - "extensions": ["pem", "crt", "key"], - "dependency": { - "key": "sslType", - "value": ["TRUST_CUSTOM_CA_SIGNED_CERTIFICATES"] - } + "inputLabel": "Name", + "inputKeyword": "couchbase_bucket", + "inputType": "text", + "inputPlaceholder": "Bucket", + "description": "Specify bucket name" } ] }, { - "tab": "SSH", + "tab": "Auth", "structure": [ { - "inputLabel": "Use SSH Tunnel", - "inputKeyword": "ssh", - "inputType": "checkbox", - "defaultValue": false - }, - { - "inputLabel": "SSH Address", - "inputKeyword": "ssh_host", - "inputType": "text", - "inputPlaceholder": "SSH Address", - "disable": { - "key": "ssh", - "value": false - } - }, - { - "inputLabel": "Port", - "inputKeyword": "ssh_port", - "inputType": "numeric", - "inputPlaceholder": "Port", - "defaultValue": 22, - "disable": { - "key": "ssh", - "value": false - } + "inputLabel": "Authentication", + "inputKeyword": "authType", + "inputType": "select", + "defaultValue": "username_password", + "options": [ + { + "value": "username_password", + "label": "Username / Password" + }, + { + "value": "security_certificate", + "label": "Security certificate" + } + ] }, { - "inputLabel": "SSH User Name", - "inputKeyword": "ssh_user", + "inputLabel": "User Name", + "inputKeyword": "couchbase_username", "inputType": "text", - "inputPlaceholder": "ec2-user", - "defaultValue": "ec2-user", - "disable": { - "key": "ssh", - "value": false + "inputPlaceholder": "User Name", + "inputTooltip": "Provide username/password of either Full Couchbase administrator or Read-Only user (pre-5.x), or of user with proper role (5.0 and up)", + "dependency": { + "key": "authType", + "value": "username_password" } }, { - "inputLabel": "SSH Auth Method", - "inputKeyword": "ssh_method", - "inputType": "select", - "defaultValue": "privateKey", - "options": [{ - "value": "privateKey", - "label": "Private Key" - }], - "disable": { - "key": "ssh", - "value": false + "inputLabel": "Password", + "inputKeyword": "couchbase_password", + "inputType": "password", + "inputPlaceholder": "Password", + "dependency": { + "key": "authType", + "value": "username_password" } }, { - "inputLabel": "Private Key", - "inputKeyword": "ssh_key_file", - "inputType": "file", - "inputPlaceholder": "Private Key", - "extensions": ["*"], + "inputLabel": "Security certificate", + "inputKeyword": "security_certificate", + "inputType": "certificate-file", + "inputPlaceholder": "Security certificate", + "description": "Specify path to the certificate which should be used for certificate authentication", "dependency": { - "key": "ssh_method", - "value": ["privateKey", ""] - }, - "disable": { - "key": "ssh", - "value": false + "key": "authType", + "value": "security_certificate" } }, { - "inputLabel": "Passphrase", - "inputKeyword": "ssh_key_passphrase", - "inputType": "password", - "inputPlaceholder": "Passphrase", - "isHiddenKey": true, + "inputLabel": "Key", + "inputKeyword": "security_certificate_key", + "inputType": "certificate-file", + "inputPlaceholder": "Key", + "description": "Specify path to the key which should be used for certificate authentication", "dependency": { - "key": "ssh_method", - "value": ["privateKey", ""] - }, - "disable": { - "key": "ssh", - "value": false + "key": "authType", + "value": "security_certificate" } } ] - }, - { - "lowerTab": "AWS Access", - "structure": [ - { - "inputLabel": "Access Key ID", - "inputKeyword": "accessKeyId", - "inputType": "text", - "inputPlaceholder": "Access Key ID" - }, - { - "inputLabel": "Secret Access Key", - "inputKeyword": "secretAccessKey", - "inputType": "password", - "inputPlaceholder": "Secret Access Key", - "isHiddenKey": true - }, - { - "inputLabel": "Session token", - "inputKeyword": "sessionToken", - "inputType": "text", - "inputPlaceholder": "Optional session token", - "isHiddenKey": true - } - ] } -] \ No newline at end of file +] diff --git a/reverse_engineering/helpers/awsHelper.js b/reverse_engineering/helpers/awsHelper.js deleted file mode 100644 index b73f120..0000000 --- a/reverse_engineering/helpers/awsHelper.js +++ /dev/null @@ -1,60 +0,0 @@ -let instance; - -const awsHelper = (connectionInfo, awsSdk) => { - if (instance) { - return instance; - } - - let awsOptions = ['accessKeyId', 'secretAccessKey', 'sessionToken', 'region'].reduce((options, key) => { - if (!connectionInfo[key]) { - return options; - } - - return { - ...options, - [key]: connectionInfo[key], - }; - }, {}); - - awsSdk.config.update(awsOptions); - const docDb = new awsSdk.DocDB(); - - const dbClusterIdentifier = connectionInfo.dbClusterIdentifier; - const clusterRegion = connectionInfo.region; - - instance = { - getCluster() { - return new Promise((resolve, reject) => { - docDb.describeDBClusters({ - DBClusterIdentifier: dbClusterIdentifier, - }, (err, data) => { - if (err) { - reject(err); - } else { - resolve(data?.['DBClusters']?.[0]); - } - }); - }); - }, - getRegion() { - return clusterRegion; - }, - tags(resourceName) { - return new Promise((resolve, reject) => { - docDb.listTagsForResource({ - ResourceName: resourceName, - }, (err, data) => { - if (err) { - reject(err); - } else { - resolve(data); - } - }); - }); - }, - }; - - return instance; -}; - -module.exports = awsHelper; diff --git a/reverse_engineering/helpers/connectionHelper.js b/reverse_engineering/helpers/connectionHelper.js deleted file mode 100644 index 49014c3..0000000 --- a/reverse_engineering/helpers/connectionHelper.js +++ /dev/null @@ -1,334 +0,0 @@ -const MongoClient = require('mongodb').MongoClient; -const ssh = require('tunnel-ssh'); -const fs = require('fs'); -const mongodbSample = require('mongodb-collection-sample'); - -let sshTunnel; -let connection; - -function getSshConfig(info) { - const config = { - username: info.ssh_user || 'ec2-user', - host: info.ssh_host, - port: info.ssh_port || 22, - dstHost: info.host, - dstPort: info.port, - localHost: '127.0.0.1', - localPort: info.port, - keepAlive: true, - }; - - return Object.assign({}, config, { - privateKey: fs.readFileSync(info.ssh_key_file), - passphrase: info.ssh_key_passphrase - }); -}; - -const connectViaSsh = (info) => new Promise((resolve, reject) => { - ssh(getSshConfig(info), (err, tunnel) => { - if (err) { - reject(err); - } else { - resolve({ - tunnel, - info: Object.assign({}, info, { - host: '127.0.0.1', - }) - }); - } - }); -}); - -function generateConnectionParams(connectionInfo){ - if ((connectionInfo.sslType === 'TRUST_CUSTOM_CA_SIGNED_CERTIFICATES' && connectionInfo.ssh) || connectionInfo.sslType === 'UNVALIDATED_SSL') { - return { - url: `mongodb://${connectionInfo.username}:${connectionInfo.password}@${connectionInfo.host}:${connectionInfo.port}/?retryWrites=false`, - options: { - tls: true, - tlsAllowInvalidHostnames: true, - useUnifiedTopology: true, - sslValidate: false, - } - }; - } - if (connectionInfo.sslType === 'TRUST_CUSTOM_CA_SIGNED_CERTIFICATES') { - return { - url: `mongodb://${connectionInfo.username}:${connectionInfo.password}@${connectionInfo.host}:${connectionInfo.port}/?tls=true&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false`, - options: { - tlsCAFile: connectionInfo.certAuthority, - useUnifiedTopology: true, - } - }; - } else { - return { - url: `mongodb://${connectionInfo.username}:${connectionInfo.password}@${connectionInfo.host}:${connectionInfo.port}/?replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false`, - options: { - useNewUrlParser: true, - useUnifiedTopology: true, - } - }; - } -} - -async function connect(connectionInfo) { - try { - if (connection) { - return createConnection(connection); - } - - if (connectionInfo.ssh) { - const {tunnel, info} = await connectViaSsh(connectionInfo); - sshTunnel = tunnel; - connectionInfo = info; - } - - const params = generateConnectionParams(connectionInfo); - - connection = await MongoClient.connect(params.url, params.options); - - return createConnection(connection); - } catch (err) { - throw { - message: err.code === 18 ? 'Authentication failed. Please, check connection settings and try again' : err.message, - stack: err.stack, - }; - } -} - -function createConnection(connection) { - const getDatabases = () => { - return new Promise((resolve, reject) => { - const db = connection.db(); - db.admin().listDatabases((err, dbs) => { - if (err) { - return reject(err); - } else { - return resolve(dbs.databases); - } - }); - }); - }; - const getCollections = (dbName) => { - return new Promise((resolve, reject) => { - const db = connection.db(dbName); - - if (!db) { - return reject(new Error(`Failed connection to database "${dbName}"`)); - } - - db.listCollections().toArray((err, collections) => { - if (err) { - return reject(err); - } else { - return resolve(collections); - } - }); - }); - }; - - const getBuildInfo = () => { - return new Promise((resolve, reject) => { - const db = connection.db(); - - db.admin().buildInfo((err, info) => { - if (err) { - reject(err); - } else { - resolve(info); - } - }); - }); - }; - - const getDataStream = (dbName, collectionName, options) => { - const db = connection.db(dbName); - - if (!options.sort || Object.keys(options.sort).length === 0) { - return mongodbSample(db, collectionName, options); - } - - const collection = db.collection(collectionName); - - return collection - .find(options.query, { - sort: options.sort, - limit: Number(options.size), - maxTimeMS: options.maxTimeMS, - }) - .stream(); - }; - - const getRandomDocuments = (dbName, collectionName, { - query, - sort, - limit, - maxTimeMS, - }) => { - return new Promise((resolve, reject) => { - const RANDOM_SAMPLING_ERROR_CODE = 28799; - const INTERRUPTED_OPERATION = 11601; - let sampledDocs = []; - const options = { - size: Number(limit), - query: query, - sort: sort, - maxTimeMS: maxTimeMS || 120000, - }; - let streamError; - - const streamErrorHandler = err => { - if (err.code === RANDOM_SAMPLING_ERROR_CODE) { - err = { - message: - 'MongoDB Error: $sample stage could not find a non-duplicate document after 100 while using a random cursor. Please try again.', - }; - } - - if (err.code === INTERRUPTED_OPERATION) { - const newError = new Error('MongoDB Error: ' + err.message + '. Please, try to increase query timeout (Options -> Reverse-Engineering) and try again.'); - newError.stack = err.stack; - err = newError; - } - - streamError = err; - - reject(err); - }; - - const stream = getDataStream(dbName, collectionName, options); - stream.on('error', err => { - streamErrorHandler(err); - }); - - stream.on('data', doc => { - sampledDocs.push(doc); - }); - - stream.on('end', () => { - if (streamError) { - return; - } - - resolve(sampledDocs); - }); - }); - }; - - const getCount = (dbName, collectionName) => { - return new Promise((resolve, reject) => { - const db = connection.db(dbName); - const collection = db.collection(collectionName); - - collection.estimatedDocumentCount((err, count) => { - if (err) { - return reject(err); - } else { - return resolve(count); - } - }); - }); - }; - - const findOne = (dbName, collectionName, query) => { - return new Promise((resolve, reject) => { - const db = connection.db(dbName); - const collection = db.collection(collectionName); - - collection.findOne(query, (err, result) => { - if (err) { - return reject(err); - } else { - return resolve(result); - } - }); - }); - }; - - const hasPermission = async (dbName, collectionName) => { - try { - await findOne(dbName, collectionName); - - return true; - } catch (e) { - if (e.code === 13) { - return false; - } - - throw e; - } - }; - - const getIndexes = (dbName, collectionName) => { - return new Promise((resolve, reject) => { - const db = connection.db(dbName); - const collection = db.collection(collectionName); - - collection.indexes({ full: true }, (err, indexes) => { - if (err) { - return reject(err); - } - - return resolve(indexes); - }); - }); - }; - - const getCollection = (dbName, collectionName) => { - const db = connection.db(dbName); - const collection = db.collection(collectionName); - - return { - createIndex(fields, options) { - return collection.createIndex(fields, options); - }, - insertOne(data) { - return collection.insertOne(data); - } - }; - }; - - const createCollection = async (dbName, collectionName) => { - const COLLECTION_ALREADY_EXISTS_ERROR = 48; - const db = connection.db(dbName); - - try { - return await db.createCollection(collectionName); - } catch (error) { - if (error.code === COLLECTION_ALREADY_EXISTS_ERROR) { - return; - } - throw error; - } - }; - - return { - getDatabases, - getCollections, - getBuildInfo, - getDataStream, - getCount, - getRandomDocuments, - findOne, - hasPermission, - getIndexes, - getCollection, - createCollection, - }; -} - -function close() { - if (connection) { - connection.close(); - connection = null; - } - - if (sshTunnel) { - sshTunnel.close(); - sshTunnel = null; - } -}; - -module.exports = { - connect, - close, -}; diff --git a/reverse_engineering/helpers/logHelper.js b/reverse_engineering/helpers/logHelper.js deleted file mode 100644 index b903397..0000000 --- a/reverse_engineering/helpers/logHelper.js +++ /dev/null @@ -1,65 +0,0 @@ -const os = require('os'); -const packageFile = require('../../package.json'); - -const getPluginVersion = () => packageFile.version; - -const getSystemInfo = (appVersion) => { - return '' + - `Date: ${new Date()}` + '\n' + - `Application version: ${appVersion}` + '\n' + - `Plugin version: ${getPluginVersion()}` + '\n\n' + - `System information:` + '\n' + - ` Hostname: ${os.hostname()}` + '\n' + - ` Platform: ${os.platform()} ${os.arch()}` + '\n' + - ` Release: ${os.release()}` + '\n' + - ` Uptime: ${toTime(os.uptime())}` + '\n' + - ` Total RAM: ${(os.totalmem()/1073741824).toFixed(2)} GB` + '\n' + - ` CPU Model: ${os.cpus()[0].model}` + '\n' + - ` CPU Clock: ${maxClock(os.cpus())} MHZ` + '\n' + - ` CPU Cores: ${os.cpus().length} cores` + '\n\n'; -}; - - -const maxClock = (cpus) => { - return cpus.reduce((highestClock, cpu) => Math.max(highestClock, cpu.speed), 0); -}; - -const prefixZero = (number) => number < 10 ? "0" + number : number; - -const toTime = (number) => { - return (Math.floor(number/3600))+":"+prefixZero(parseInt((number/3600-Math.floor(number/3600))*60)) -}; - -const createLogger = ({ title, logger, hiddenKeys }) => { - return { - info(message) { - logger.log('info', { message }, title, hiddenKeys); - }, - - progress(message, dbName = '', tableName = '') { - logger.progress({ message, containerName: dbName, entityName: tableName }); - }, - - error(error) { - logger.log('error', createError(error), title); - } - }; -}; - -const createError = (error) => { - message = error.message || error.msg || error.errmsg; - - return { - message, - code: error.code, - stack: error.stack, - }; -} - - -const logHelper = { - getSystemInfo, - createLogger, -}; - -module.exports = logHelper; diff --git a/reverse_engineering/package.json b/reverse_engineering/package.json deleted file mode 100644 index fea74ca..0000000 --- a/reverse_engineering/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "documentdb", - "version": "1.0.0", - "description": "", - "author": "Hackolade", - "dependencies": { - "bson": "^1.1.6", - "mongodb": "^3.7.3", - "mongodb-collection-sample": "^4.5.1", - "tunnel-ssh": "^4.1.6" - }, - "installed": true -} diff --git a/types/array.json b/types/array.json index cbd1ef4..f023a86 100644 --- a/types/array.json +++ b/types/array.json @@ -17,4 +17,4 @@ "maxItems": "", "uniqueItems": false } -} \ No newline at end of file +} diff --git a/types/boolean.json b/types/boolean.json index 8f49c25..fda702b 100644 --- a/types/boolean.json +++ b/types/boolean.json @@ -15,4 +15,4 @@ "foreignField": [], "sample": "" } -} \ No newline at end of file +} diff --git a/types/document.json b/types/document.json index c6e8efa..de89bf0 100644 --- a/types/document.json +++ b/types/document.json @@ -16,4 +16,4 @@ "maxProperties": "", "additionalProperties": false } -} \ No newline at end of file +} diff --git a/types/null.json b/types/null.json index d24d883..63ff4f1 100644 --- a/types/null.json +++ b/types/null.json @@ -12,4 +12,4 @@ "foreignField": [], "format": "" } -} \ No newline at end of file +} diff --git a/types/numeric.json b/types/number.json similarity index 67% rename from types/numeric.json rename to types/number.json index 5ac9ee5..08742fa 100644 --- a/types/numeric.json +++ b/types/number.json @@ -1,7 +1,8 @@ { - "name": "numeric", + "name": "number", "erdAbbreviation": "", "dtdAbbreviation": "{123}", + "parentType": "numeric", "useSample": true, "defaultValues": { "primaryKey": false, @@ -21,21 +22,5 @@ "divisibleBy": "", "enum": [], "sample": "" - }, - "descriptor": [{ - "schema": { - "mode": "int32" - }, - "capacity": 4 - }, { - "schema": { - "mode": "int64" - }, - "capacity": 8 - }, { - "schema": { - "mode": "double" - }, - "capacity": 8 - }] -} \ No newline at end of file + } +} diff --git a/types/object.json b/types/object.json index c6e8efa..de89bf0 100644 --- a/types/object.json +++ b/types/object.json @@ -16,4 +16,4 @@ "maxProperties": "", "additionalProperties": false } -} \ No newline at end of file +} diff --git a/types/string.json b/types/string.json index 5d5bdad..169c679 100644 --- a/types/string.json +++ b/types/string.json @@ -15,7 +15,7 @@ "maxLength": "", "pattern": "", "enum": [], - "sample":"", - "comments":"" + "sample": "", + "comments": "" } -} \ No newline at end of file +} diff --git a/validation/validationRegularExpressions.json b/validation/validationRegularExpressions.json index ba4b132..9b4b53d 100644 --- a/validation/validationRegularExpressions.json +++ b/validation/validationRegularExpressions.json @@ -1,12 +1,10 @@ /* -* Copyright © 2016-2017 by IntegrIT S.A. dba Hackolade. All rights reserved. -* -* The copyright to the computer software herein is the property of IntegrIT S.A. -* The software may be used and/or copied only with the written permission of -* IntegrIT S.A. or in accordance with the terms and conditions stipulated in -* the agreement/contract under which the software has been supplied. -* -*/ -{ - -} \ No newline at end of file + * Copyright © 2016-2024 by IntegrIT S.A. dba Hackolade. All rights reserved. + * + * The copyright to the computer software herein is the property of IntegrIT S.A. + * The software may be used and/or copied only with the written permission of + * IntegrIT S.A. or in accordance with the terms and conditions stipulated in + * the agreement/contract under which the software has been supplied. + * + */ +{}