pgexplain 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +135 -3
- package/dist/cli.js +1384 -79
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +38 -2
- package/dist/index.js +629 -32
- package/dist/index.js.map +1 -1
- package/dist/server.js +4166 -0
- package/dist/server.js.map +1 -0
- package/dist/web/assets/PlanGraph-C5ap-Sga.css +1 -0
- package/dist/web/assets/PlanGraph-CD8gYPCY.js +23 -0
- package/dist/web/assets/index-D3fMyvfo.js +237 -0
- package/dist/web/assets/index-p4QC4qQe.css +1 -0
- package/dist/web/index.html +13 -0
- package/package.json +13 -2
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlanGraph-CD8gYPCY.js","assets/PlanGraph-C5ap-Sga.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
function dU(n,e){for(var t=0;t<e.length;t++){const i=e[t];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in n)){const o=Object.getOwnPropertyDescriptor(i,s);o&&Object.defineProperty(n,s,o.get?o:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();function VL(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Sd={exports:{}},Pa={};/**
|
|
3
|
+
* @license React
|
|
4
|
+
* react-jsx-runtime.production.js
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/var ip;function AU(){if(ip)return Pa;ip=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function t(i,s,o){var a=null;if(o!==void 0&&(a=""+o),s.key!==void 0&&(a=""+s.key),"key"in s){o={};for(var u in s)u!=="key"&&(o[u]=s[u])}else o=s;return s=o.ref,{$$typeof:n,type:i,key:a,ref:s!==void 0?s:null,props:o}}return Pa.Fragment=e,Pa.jsx=t,Pa.jsxs=t,Pa}var sp;function SU(){return sp||(sp=1,Sd.exports=AU()),Sd.exports}var p=SU(),Rd={exports:{}},be={};/**
|
|
11
|
+
* @license React
|
|
12
|
+
* react.production.js
|
|
13
|
+
*
|
|
14
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the MIT license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/var rp;function RU(){if(rp)return be;rp=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),a=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),R=Symbol.iterator;function O(P){return P===null||typeof P!="object"?null:(P=R&&P[R]||P["@@iterator"],typeof P=="function"?P:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,C={};function L(P,X,le){this.props=P,this.context=X,this.refs=C,this.updater=le||N}L.prototype.isReactComponent={},L.prototype.setState=function(P,X){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,X,"setState")},L.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function D(){}D.prototype=L.prototype;function _(P,X,le){this.props=P,this.context=X,this.refs=C,this.updater=le||N}var v=_.prototype=new D;v.constructor=_,m(v,L.prototype),v.isPureReactComponent=!0;var U=Array.isArray;function G(){}var B={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function oe(P,X,le){var se=le.ref;return{$$typeof:n,type:P,key:X,ref:se!==void 0?se:null,props:le}}function fe(P,X){return oe(P.type,X,P.props)}function ie(P){return typeof P=="object"&&P!==null&&P.$$typeof===n}function ee(P){var X={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(le){return X[le]})}var Ee=/\/+/g;function ae(P,X){return typeof P=="object"&&P!==null&&P.key!=null?ee(""+P.key):X.toString(36)}function Te(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(G,G):(P.status="pending",P.then(function(X){P.status==="pending"&&(P.status="fulfilled",P.value=X)},function(X){P.status==="pending"&&(P.status="rejected",P.reason=X)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function x(P,X,le,se,he){var Se=typeof P;(Se==="undefined"||Se==="boolean")&&(P=null);var ue=!1;if(P===null)ue=!0;else switch(Se){case"bigint":case"string":case"number":ue=!0;break;case"object":switch(P.$$typeof){case n:case e:ue=!0;break;case T:return ue=P._init,x(ue(P._payload),X,le,se,he)}}if(ue)return he=he(P),ue=se===""?"."+ae(P,0):se,U(he)?(le="",ue!=null&&(le=ue.replace(Ee,"$&/")+"/"),x(he,X,le,"",function(Be){return Be})):he!=null&&(ie(he)&&(he=fe(he,le+(he.key==null||P&&P.key===he.key?"":(""+he.key).replace(Ee,"$&/")+"/")+ue)),X.push(he)),1;ue=0;var _e=se===""?".":se+":";if(U(P))for(var Ne=0;Ne<P.length;Ne++)se=P[Ne],Se=_e+ae(se,Ne),ue+=x(se,X,le,Se,he);else if(Ne=O(P),typeof Ne=="function")for(P=Ne.call(P),Ne=0;!(se=P.next()).done;)se=se.value,Se=_e+ae(se,Ne++),ue+=x(se,X,le,Se,he);else if(Se==="object"){if(typeof P.then=="function")return x(Te(P),X,le,se,he);throw X=String(P),Error("Objects are not valid as a React child (found: "+(X==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":X)+"). If you meant to render a collection of children, use an array instead.")}return ue}function z(P,X,le){if(P==null)return P;var se=[],he=0;return x(P,se,"","",function(Se){return X.call(le,Se,he++)}),se}function ne(P){if(P._status===-1){var X=P._result;X=X(),X.then(function(le){(P._status===0||P._status===-1)&&(P._status=1,P._result=le)},function(le){(P._status===0||P._status===-1)&&(P._status=2,P._result=le)}),P._status===-1&&(P._status=0,P._result=X)}if(P._status===1)return P._result.default;throw P._result}var ce=typeof reportError=="function"?reportError:function(P){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var X=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof P=="object"&&P!==null&&typeof P.message=="string"?String(P.message):String(P),error:P});if(!window.dispatchEvent(X))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",P);return}console.error(P)},J={map:z,forEach:function(P,X,le){z(P,function(){X.apply(this,arguments)},le)},count:function(P){var X=0;return z(P,function(){X++}),X},toArray:function(P){return z(P,function(X){return X})||[]},only:function(P){if(!ie(P))throw Error("React.Children.only expected to receive a single React element child.");return P}};return be.Activity=A,be.Children=J,be.Component=L,be.Fragment=t,be.Profiler=s,be.PureComponent=_,be.StrictMode=i,be.Suspense=E,be.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=B,be.__COMPILER_RUNTIME={__proto__:null,c:function(P){return B.H.useMemoCache(P)}},be.cache=function(P){return function(){return P.apply(null,arguments)}},be.cacheSignal=function(){return null},be.cloneElement=function(P,X,le){if(P==null)throw Error("The argument must be a React element, but you passed "+P+".");var se=m({},P.props),he=P.key;if(X!=null)for(Se in X.key!==void 0&&(he=""+X.key),X)!F.call(X,Se)||Se==="key"||Se==="__self"||Se==="__source"||Se==="ref"&&X.ref===void 0||(se[Se]=X[Se]);var Se=arguments.length-2;if(Se===1)se.children=le;else if(1<Se){for(var ue=Array(Se),_e=0;_e<Se;_e++)ue[_e]=arguments[_e+2];se.children=ue}return oe(P.type,he,se)},be.createContext=function(P){return P={$$typeof:a,_currentValue:P,_currentValue2:P,_threadCount:0,Provider:null,Consumer:null},P.Provider=P,P.Consumer={$$typeof:o,_context:P},P},be.createElement=function(P,X,le){var se,he={},Se=null;if(X!=null)for(se in X.key!==void 0&&(Se=""+X.key),X)F.call(X,se)&&se!=="key"&&se!=="__self"&&se!=="__source"&&(he[se]=X[se]);var ue=arguments.length-2;if(ue===1)he.children=le;else if(1<ue){for(var _e=Array(ue),Ne=0;Ne<ue;Ne++)_e[Ne]=arguments[Ne+2];he.children=_e}if(P&&P.defaultProps)for(se in ue=P.defaultProps,ue)he[se]===void 0&&(he[se]=ue[se]);return oe(P,Se,he)},be.createRef=function(){return{current:null}},be.forwardRef=function(P){return{$$typeof:u,render:P}},be.isValidElement=ie,be.lazy=function(P){return{$$typeof:T,_payload:{_status:-1,_result:P},_init:ne}},be.memo=function(P,X){return{$$typeof:h,type:P,compare:X===void 0?null:X}},be.startTransition=function(P){var X=B.T,le={};B.T=le;try{var se=P(),he=B.S;he!==null&&he(le,se),typeof se=="object"&&se!==null&&typeof se.then=="function"&&se.then(G,ce)}catch(Se){ce(Se)}finally{X!==null&&le.types!==null&&(X.types=le.types),B.T=X}},be.unstable_useCacheRefresh=function(){return B.H.useCacheRefresh()},be.use=function(P){return B.H.use(P)},be.useActionState=function(P,X,le){return B.H.useActionState(P,X,le)},be.useCallback=function(P,X){return B.H.useCallback(P,X)},be.useContext=function(P){return B.H.useContext(P)},be.useDebugValue=function(){},be.useDeferredValue=function(P,X){return B.H.useDeferredValue(P,X)},be.useEffect=function(P,X){return B.H.useEffect(P,X)},be.useEffectEvent=function(P){return B.H.useEffectEvent(P)},be.useId=function(){return B.H.useId()},be.useImperativeHandle=function(P,X,le){return B.H.useImperativeHandle(P,X,le)},be.useInsertionEffect=function(P,X){return B.H.useInsertionEffect(P,X)},be.useLayoutEffect=function(P,X){return B.H.useLayoutEffect(P,X)},be.useMemo=function(P,X){return B.H.useMemo(P,X)},be.useOptimistic=function(P,X){return B.H.useOptimistic(P,X)},be.useReducer=function(P,X,le){return B.H.useReducer(P,X,le)},be.useRef=function(P){return B.H.useRef(P)},be.useState=function(P){return B.H.useState(P)},be.useSyncExternalStore=function(P,X,le){return B.H.useSyncExternalStore(P,X,le)},be.useTransition=function(){return B.H.useTransition()},be.version="19.2.7",be}var lp;function qS(){return lp||(lp=1,Rd.exports=RU()),Rd.exports}var M=qS();const OU=VL(M),pc=dU({__proto__:null,default:OU},[M]);var Od={exports:{}},ya={},Nd={exports:{}},md={};/**
|
|
19
|
+
* @license React
|
|
20
|
+
* scheduler.production.js
|
|
21
|
+
*
|
|
22
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the MIT license found in the
|
|
25
|
+
* LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/var op;function NU(){return op||(op=1,(function(n){function e(x,z){var ne=x.length;x.push(z);e:for(;0<ne;){var ce=ne-1>>>1,J=x[ce];if(0<s(J,z))x[ce]=z,x[ne]=J,ne=ce;else break e}}function t(x){return x.length===0?null:x[0]}function i(x){if(x.length===0)return null;var z=x[0],ne=x.pop();if(ne!==z){x[0]=ne;e:for(var ce=0,J=x.length,P=J>>>1;ce<P;){var X=2*(ce+1)-1,le=x[X],se=X+1,he=x[se];if(0>s(le,ne))se<J&&0>s(he,le)?(x[ce]=he,x[se]=ne,ce=se):(x[ce]=le,x[X]=ne,ce=X);else if(se<J&&0>s(he,ne))x[ce]=he,x[se]=ne,ce=se;else break e}}return z}function s(x,z){var ne=x.sortIndex-z.sortIndex;return ne!==0?ne:x.id-z.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var a=Date,u=a.now();n.unstable_now=function(){return a.now()-u}}var E=[],h=[],T=1,A=null,R=3,O=!1,N=!1,m=!1,C=!1,L=typeof setTimeout=="function"?setTimeout:null,D=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function v(x){for(var z=t(h);z!==null;){if(z.callback===null)i(h);else if(z.startTime<=x)i(h),z.sortIndex=z.expirationTime,e(E,z);else break;z=t(h)}}function U(x){if(m=!1,v(x),!N)if(t(E)!==null)N=!0,G||(G=!0,ee());else{var z=t(h);z!==null&&Te(U,z.startTime-x)}}var G=!1,B=-1,F=5,oe=-1;function fe(){return C?!0:!(n.unstable_now()-oe<F)}function ie(){if(C=!1,G){var x=n.unstable_now();oe=x;var z=!0;try{e:{N=!1,m&&(m=!1,D(B),B=-1),O=!0;var ne=R;try{t:{for(v(x),A=t(E);A!==null&&!(A.expirationTime>x&&fe());){var ce=A.callback;if(typeof ce=="function"){A.callback=null,R=A.priorityLevel;var J=ce(A.expirationTime<=x);if(x=n.unstable_now(),typeof J=="function"){A.callback=J,v(x),z=!0;break t}A===t(E)&&i(E),v(x)}else i(E);A=t(E)}if(A!==null)z=!0;else{var P=t(h);P!==null&&Te(U,P.startTime-x),z=!1}}break e}finally{A=null,R=ne,O=!1}z=void 0}}finally{z?ee():G=!1}}}var ee;if(typeof _=="function")ee=function(){_(ie)};else if(typeof MessageChannel<"u"){var Ee=new MessageChannel,ae=Ee.port2;Ee.port1.onmessage=ie,ee=function(){ae.postMessage(null)}}else ee=function(){L(ie,0)};function Te(x,z){B=L(function(){x(n.unstable_now())},z)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(x){x.callback=null},n.unstable_forceFrameRate=function(x){0>x||125<x?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<x?Math.floor(1e3/x):5},n.unstable_getCurrentPriorityLevel=function(){return R},n.unstable_next=function(x){switch(R){case 1:case 2:case 3:var z=3;break;default:z=R}var ne=R;R=z;try{return x()}finally{R=ne}},n.unstable_requestPaint=function(){C=!0},n.unstable_runWithPriority=function(x,z){switch(x){case 1:case 2:case 3:case 4:case 5:break;default:x=3}var ne=R;R=x;try{return z()}finally{R=ne}},n.unstable_scheduleCallback=function(x,z,ne){var ce=n.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0<ne?ce+ne:ce):ne=ce,x){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=ne+J,x={id:T++,callback:z,priorityLevel:x,startTime:ne,expirationTime:J,sortIndex:-1},ne>ce?(x.sortIndex=ne,e(h,x),t(E)===null&&x===t(h)&&(m?(D(B),B=-1):m=!0,Te(U,ne-ce))):(x.sortIndex=J,e(E,x),N||O||(N=!0,G||(G=!0,ee()))),x},n.unstable_shouldYield=fe,n.unstable_wrapCallback=function(x){var z=R;return function(){var ne=R;R=z;try{return x.apply(this,arguments)}finally{R=ne}}}})(md)),md}var ap;function mU(){return ap||(ap=1,Nd.exports=NU()),Nd.exports}var Id={exports:{}},on={};/**
|
|
27
|
+
* @license React
|
|
28
|
+
* react-dom.production.js
|
|
29
|
+
*
|
|
30
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the MIT license found in the
|
|
33
|
+
* LICENSE file in the root directory of this source tree.
|
|
34
|
+
*/var cp;function IU(){if(cp)return on;cp=1;var n=qS();function e(E){var h="https://react.dev/errors/"+E;if(1<arguments.length){h+="?args[]="+encodeURIComponent(arguments[1]);for(var T=2;T<arguments.length;T++)h+="&args[]="+encodeURIComponent(arguments[T])}return"Minified React error #"+E+"; visit "+h+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function t(){}var i={d:{f:t,r:function(){throw Error(e(522))},D:t,C:t,L:t,m:t,X:t,S:t,M:t},p:0,findDOMNode:null},s=Symbol.for("react.portal");function o(E,h,T){var A=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:A==null?null:""+A,children:E,containerInfo:h,implementation:T}}var a=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(E,h){if(E==="font")return"";if(typeof h=="string")return h==="use-credentials"?h:""}return on.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,on.createPortal=function(E,h){var T=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!h||h.nodeType!==1&&h.nodeType!==9&&h.nodeType!==11)throw Error(e(299));return o(E,h,null,T)},on.flushSync=function(E){var h=a.T,T=i.p;try{if(a.T=null,i.p=2,E)return E()}finally{a.T=h,i.p=T,i.d.f()}},on.preconnect=function(E,h){typeof E=="string"&&(h?(h=h.crossOrigin,h=typeof h=="string"?h==="use-credentials"?h:"":void 0):h=null,i.d.C(E,h))},on.prefetchDNS=function(E){typeof E=="string"&&i.d.D(E)},on.preinit=function(E,h){if(typeof E=="string"&&h&&typeof h.as=="string"){var T=h.as,A=u(T,h.crossOrigin),R=typeof h.integrity=="string"?h.integrity:void 0,O=typeof h.fetchPriority=="string"?h.fetchPriority:void 0;T==="style"?i.d.S(E,typeof h.precedence=="string"?h.precedence:void 0,{crossOrigin:A,integrity:R,fetchPriority:O}):T==="script"&&i.d.X(E,{crossOrigin:A,integrity:R,fetchPriority:O,nonce:typeof h.nonce=="string"?h.nonce:void 0})}},on.preinitModule=function(E,h){if(typeof E=="string")if(typeof h=="object"&&h!==null){if(h.as==null||h.as==="script"){var T=u(h.as,h.crossOrigin);i.d.M(E,{crossOrigin:T,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0})}}else h==null&&i.d.M(E)},on.preload=function(E,h){if(typeof E=="string"&&typeof h=="object"&&h!==null&&typeof h.as=="string"){var T=h.as,A=u(T,h.crossOrigin);i.d.L(E,T,{crossOrigin:A,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0,type:typeof h.type=="string"?h.type:void 0,fetchPriority:typeof h.fetchPriority=="string"?h.fetchPriority:void 0,referrerPolicy:typeof h.referrerPolicy=="string"?h.referrerPolicy:void 0,imageSrcSet:typeof h.imageSrcSet=="string"?h.imageSrcSet:void 0,imageSizes:typeof h.imageSizes=="string"?h.imageSizes:void 0,media:typeof h.media=="string"?h.media:void 0})}},on.preloadModule=function(E,h){if(typeof E=="string")if(h){var T=u(h.as,h.crossOrigin);i.d.m(E,{as:typeof h.as=="string"&&h.as!=="script"?h.as:void 0,crossOrigin:T,integrity:typeof h.integrity=="string"?h.integrity:void 0})}else i.d.m(E)},on.requestFormReset=function(E){i.d.r(E)},on.unstable_batchedUpdates=function(E,h){return E(h)},on.useFormState=function(E,h,T){return a.H.useFormState(E,h,T)},on.useFormStatus=function(){return a.H.useHostTransitionStatus()},on.version="19.2.7",on}var up;function WL(){if(up)return Id.exports;up=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Id.exports=IU(),Id.exports}/**
|
|
35
|
+
* @license React
|
|
36
|
+
* react-dom-client.production.js
|
|
37
|
+
*
|
|
38
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the MIT license found in the
|
|
41
|
+
* LICENSE file in the root directory of this source tree.
|
|
42
|
+
*/var Ep;function pU(){if(Ep)return ya;Ep=1;var n=mU(),e=qS(),t=WL();function i(r){var l="https://react.dev/errors/"+r;if(1<arguments.length){l+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)l+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+r+"; visit "+l+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)}function o(r){var l=r,c=r;if(r.alternate)for(;l.return;)l=l.return;else{r=l;do l=r,(l.flags&4098)!==0&&(c=l.return),r=l.return;while(r)}return l.tag===3?c:null}function a(r){if(r.tag===13){var l=r.memoizedState;if(l===null&&(r=r.alternate,r!==null&&(l=r.memoizedState)),l!==null)return l.dehydrated}return null}function u(r){if(r.tag===31){var l=r.memoizedState;if(l===null&&(r=r.alternate,r!==null&&(l=r.memoizedState)),l!==null)return l.dehydrated}return null}function E(r){if(o(r)!==r)throw Error(i(188))}function h(r){var l=r.alternate;if(!l){if(l=o(r),l===null)throw Error(i(188));return l!==r?null:r}for(var c=r,f=l;;){var d=c.return;if(d===null)break;var S=d.alternate;if(S===null){if(f=d.return,f!==null){c=f;continue}break}if(d.child===S.child){for(S=d.child;S;){if(S===c)return E(d),r;if(S===f)return E(d),l;S=S.sibling}throw Error(i(188))}if(c.return!==f.return)c=d,f=S;else{for(var I=!1,g=d.child;g;){if(g===c){I=!0,c=d,f=S;break}if(g===f){I=!0,f=d,c=S;break}g=g.sibling}if(!I){for(g=S.child;g;){if(g===c){I=!0,c=S,f=d;break}if(g===f){I=!0,f=S,c=d;break}g=g.sibling}if(!I)throw Error(i(189))}}if(c.alternate!==f)throw Error(i(190))}if(c.tag!==3)throw Error(i(188));return c.stateNode.current===c?r:l}function T(r){var l=r.tag;if(l===5||l===26||l===27||l===6)return r;for(r=r.child;r!==null;){if(l=T(r),l!==null)return l;r=r.sibling}return null}var A=Object.assign,R=Symbol.for("react.element"),O=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),D=Symbol.for("react.consumer"),_=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),U=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),B=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),oe=Symbol.for("react.activity"),fe=Symbol.for("react.memo_cache_sentinel"),ie=Symbol.iterator;function ee(r){return r===null||typeof r!="object"?null:(r=ie&&r[ie]||r["@@iterator"],typeof r=="function"?r:null)}var Ee=Symbol.for("react.client.reference");function ae(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===Ee?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case m:return"Fragment";case L:return"Profiler";case C:return"StrictMode";case U:return"Suspense";case G:return"SuspenseList";case oe:return"Activity"}if(typeof r=="object")switch(r.$$typeof){case N:return"Portal";case _:return r.displayName||"Context";case D:return(r._context.displayName||"Context")+".Consumer";case v:var l=r.render;return r=r.displayName,r||(r=l.displayName||l.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case B:return l=r.displayName||null,l!==null?l:ae(r.type)||"Memo";case F:l=r._payload,r=r._init;try{return ae(r(l))}catch{}}return null}var Te=Array.isArray,x=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},ce=[],J=-1;function P(r){return{current:r}}function X(r){0>J||(r.current=ce[J],ce[J]=null,J--)}function le(r,l){J++,ce[J]=r.current,r.current=l}var se=P(null),he=P(null),Se=P(null),ue=P(null);function _e(r,l){switch(le(Se,l),le(he,r),le(se,null),l.nodeType){case 9:case 11:r=(r=l.documentElement)&&(r=r.namespaceURI)?LI(r):0;break;default:if(r=l.tagName,l=l.namespaceURI)l=LI(l),r=_I(l,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}X(se),le(se,r)}function Ne(){X(se),X(he),X(Se)}function Be(r){r.memoizedState!==null&&le(ue,r);var l=se.current,c=_I(l,r.type);l!==c&&(le(he,r),le(se,c))}function ye(r){he.current===r&&(X(se),X(he)),ue.current===r&&(X(ue),La._currentValue=ne)}var Ue,Rt;function Je(r){if(Ue===void 0)try{throw Error()}catch(c){var l=c.stack.trim().match(/\n( *(at )?)/);Ue=l&&l[1]||"",Rt=-1<c.stack.indexOf(`
|
|
43
|
+
at`)?" (<anonymous>)":-1<c.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
44
|
+
`+Ue+r+Rt}var Et=!1;function Ct(r,l){if(!r||Et)return"";Et=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var f={DetermineComponentFrameRoot:function(){try{if(l){var te=function(){throw Error()};if(Object.defineProperty(te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(te,[])}catch(K){var W=K}Reflect.construct(r,[],te)}else{try{te.call()}catch(K){W=K}r.call(te.prototype)}}else{try{throw Error()}catch(K){W=K}(te=r())&&typeof te.catch=="function"&&te.catch(function(){})}}catch(K){if(K&&W&&typeof K.stack=="string")return[K.stack,W.stack]}return[null,null]}};f.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var d=Object.getOwnPropertyDescriptor(f.DetermineComponentFrameRoot,"name");d&&d.configurable&&Object.defineProperty(f.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var S=f.DetermineComponentFrameRoot(),I=S[0],g=S[1];if(I&&g){var y=I.split(`
|
|
45
|
+
`),k=g.split(`
|
|
46
|
+
`);for(d=f=0;f<y.length&&!y[f].includes("DetermineComponentFrameRoot");)f++;for(;d<k.length&&!k[d].includes("DetermineComponentFrameRoot");)d++;if(f===y.length||d===k.length)for(f=y.length-1,d=k.length-1;1<=f&&0<=d&&y[f]!==k[d];)d--;for(;1<=f&&0<=d;f--,d--)if(y[f]!==k[d]){if(f!==1||d!==1)do if(f--,d--,0>d||y[f]!==k[d]){var $=`
|
|
47
|
+
`+y[f].replace(" at new "," at ");return r.displayName&&$.includes("<anonymous>")&&($=$.replace("<anonymous>",r.displayName)),$}while(1<=f&&0<=d);break}}}finally{Et=!1,Error.prepareStackTrace=c}return(c=r?r.displayName||r.name:"")?Je(c):""}function Bt(r,l){switch(r.tag){case 26:case 27:case 5:return Je(r.type);case 16:return Je("Lazy");case 13:return r.child!==l&&l!==null?Je("Suspense Fallback"):Je("Suspense");case 19:return Je("SuspenseList");case 0:case 15:return Ct(r.type,!1);case 11:return Ct(r.type.render,!1);case 1:return Ct(r.type,!0);case 31:return Je("Activity");default:return""}}function Ci(r){try{var l="",c=null;do l+=Bt(r,c),c=r,r=r.return;while(r);return l}catch(f){return`
|
|
48
|
+
Error generating stack: `+f.message+`
|
|
49
|
+
`+f.stack}}var gs=Object.prototype.hasOwnProperty,zn=n.unstable_scheduleCallback,Go=n.unstable_cancelCallback,nh=n.unstable_shouldYield,ih=n.unstable_requestPaint,re=n.unstable_now,ve=n.unstable_getCurrentPriorityLevel,We=n.unstable_ImmediatePriority,dt=n.unstable_UserBlockingPriority,Sn=n.unstable_NormalPriority,sh=n.unstable_LowPriority,lO=n.unstable_IdlePriority,qy=n.log,Qy=n.unstable_setDisableYieldValue,Ho=null,vn=null;function Ls(r){if(typeof qy=="function"&&Qy(r),vn&&typeof vn.setStrictMode=="function")try{vn.setStrictMode(Ho,r)}catch{}}var Un=Math.clz32?Math.clz32:tv,Zy=Math.log,ev=Math.LN2;function tv(r){return r>>>=0,r===0?32:31-(Zy(r)/ev|0)|0}var Uc=256,bc=262144,xc=4194304;function Cr(r){var l=r&42;if(l!==0)return l;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Bc(r,l,c){var f=r.pendingLanes;if(f===0)return 0;var d=0,S=r.suspendedLanes,I=r.pingedLanes;r=r.warmLanes;var g=f&134217727;return g!==0?(f=g&~S,f!==0?d=Cr(f):(I&=g,I!==0?d=Cr(I):c||(c=g&~r,c!==0&&(d=Cr(c))))):(g=f&~S,g!==0?d=Cr(g):I!==0?d=Cr(I):c||(c=f&~r,c!==0&&(d=Cr(c)))),d===0?0:l!==0&&l!==d&&(l&S)===0&&(S=d&-d,c=l&-l,S>=c||S===32&&(c&4194048)!==0)?l:d}function wo(r,l){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&l)===0}function nv(r,l){switch(r){case 1:case 2:case 4:case 8:case 64:return l+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function oO(){var r=xc;return xc<<=1,(xc&62914560)===0&&(xc=4194304),r}function rh(r){for(var l=[],c=0;31>c;c++)l.push(r);return l}function Fo(r,l){r.pendingLanes|=l,l!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function iv(r,l,c,f,d,S){var I=r.pendingLanes;r.pendingLanes=c,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=c,r.entangledLanes&=c,r.errorRecoveryDisabledLanes&=c,r.shellSuspendCounter=0;var g=r.entanglements,y=r.expirationTimes,k=r.hiddenUpdates;for(c=I&~c;0<c;){var $=31-Un(c),te=1<<$;g[$]=0,y[$]=-1;var W=k[$];if(W!==null)for(k[$]=null,$=0;$<W.length;$++){var K=W[$];K!==null&&(K.lane&=-536870913)}c&=~te}f!==0&&aO(r,f,0),S!==0&&d===0&&r.tag!==0&&(r.suspendedLanes|=S&~(I&~l))}function aO(r,l,c){r.pendingLanes|=l,r.suspendedLanes&=~l;var f=31-Un(l);r.entangledLanes|=l,r.entanglements[f]=r.entanglements[f]|1073741824|c&261930}function cO(r,l){var c=r.entangledLanes|=l;for(r=r.entanglements;c;){var f=31-Un(c),d=1<<f;d&l|r[f]&l&&(r[f]|=l),c&=~d}}function uO(r,l){var c=l&-l;return c=(c&42)!==0?1:lh(c),(c&(r.suspendedLanes|l))!==0?0:c}function lh(r){switch(r){case 2:r=1;break;case 8:r=4;break;case 32:r=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:r=128;break;case 268435456:r=134217728;break;default:r=0}return r}function oh(r){return r&=-r,2<r?8<r?(r&134217727)!==0?32:268435456:8:2}function EO(){var r=z.p;return r!==0?r:(r=window.event,r===void 0?32:JI(r.type))}function fO(r,l){var c=z.p;try{return z.p=r,l()}finally{z.p=c}}var _s=Math.random().toString(36).slice(2),Qt="__reactFiber$"+_s,Rn="__reactProps$"+_s,hl="__reactContainer$"+_s,ah="__reactEvents$"+_s,sv="__reactListeners$"+_s,rv="__reactHandles$"+_s,hO="__reactResources$"+_s,Yo="__reactMarker$"+_s;function ch(r){delete r[Qt],delete r[Rn],delete r[ah],delete r[sv],delete r[rv]}function Tl(r){var l=r[Qt];if(l)return l;for(var c=r.parentNode;c;){if(l=c[hl]||c[Qt]){if(c=l.alternate,l.child!==null||c!==null&&c.child!==null)for(r=bI(r);r!==null;){if(c=r[Qt])return c;r=bI(r)}return l}r=c,c=r.parentNode}return null}function dl(r){if(r=r[Qt]||r[hl]){var l=r.tag;if(l===5||l===6||l===13||l===31||l===26||l===27||l===3)return r}return null}function ko(r){var l=r.tag;if(l===5||l===26||l===27||l===6)return r.stateNode;throw Error(i(33))}function Al(r){var l=r[hO];return l||(l=r[hO]={hoistableStyles:new Map,hoistableScripts:new Map}),l}function kt(r){r[Yo]=!0}var TO=new Set,dO={};function gr(r,l){Sl(r,l),Sl(r+"Capture",l)}function Sl(r,l){for(dO[r]=l,r=0;r<l.length;r++)TO.add(l[r])}var lv=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),AO={},SO={};function ov(r){return gs.call(SO,r)?!0:gs.call(AO,r)?!1:lv.test(r)?SO[r]=!0:(AO[r]=!0,!1)}function Gc(r,l,c){if(ov(l))if(c===null)r.removeAttribute(l);else{switch(typeof c){case"undefined":case"function":case"symbol":r.removeAttribute(l);return;case"boolean":var f=l.toLowerCase().slice(0,5);if(f!=="data-"&&f!=="aria-"){r.removeAttribute(l);return}}r.setAttribute(l,""+c)}}function Hc(r,l,c){if(c===null)r.removeAttribute(l);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(l);return}r.setAttribute(l,""+c)}}function qi(r,l,c,f){if(f===null)r.removeAttribute(c);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(c);return}r.setAttributeNS(l,c,""+f)}}function $n(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function RO(r){var l=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function av(r,l,c){var f=Object.getOwnPropertyDescriptor(r.constructor.prototype,l);if(!r.hasOwnProperty(l)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var d=f.get,S=f.set;return Object.defineProperty(r,l,{configurable:!0,get:function(){return d.call(this)},set:function(I){c=""+I,S.call(this,I)}}),Object.defineProperty(r,l,{enumerable:f.enumerable}),{getValue:function(){return c},setValue:function(I){c=""+I},stopTracking:function(){r._valueTracker=null,delete r[l]}}}}function uh(r){if(!r._valueTracker){var l=RO(r)?"checked":"value";r._valueTracker=av(r,l,""+r[l])}}function OO(r){if(!r)return!1;var l=r._valueTracker;if(!l)return!0;var c=l.getValue(),f="";return r&&(f=RO(r)?r.checked?"true":"false":r.value),r=f,r!==c?(l.setValue(r),!0):!1}function wc(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var cv=/[\n"\\]/g;function jn(r){return r.replace(cv,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Eh(r,l,c,f,d,S,I,g){r.name="",I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"?r.type=I:r.removeAttribute("type"),l!=null?I==="number"?(l===0&&r.value===""||r.value!=l)&&(r.value=""+$n(l)):r.value!==""+$n(l)&&(r.value=""+$n(l)):I!=="submit"&&I!=="reset"||r.removeAttribute("value"),l!=null?fh(r,I,$n(l)):c!=null?fh(r,I,$n(c)):f!=null&&r.removeAttribute("value"),d==null&&S!=null&&(r.defaultChecked=!!S),d!=null&&(r.checked=d&&typeof d!="function"&&typeof d!="symbol"),g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?r.name=""+$n(g):r.removeAttribute("name")}function NO(r,l,c,f,d,S,I,g){if(S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(r.type=S),l!=null||c!=null){if(!(S!=="submit"&&S!=="reset"||l!=null)){uh(r);return}c=c!=null?""+$n(c):"",l=l!=null?""+$n(l):c,g||l===r.value||(r.value=l),r.defaultValue=l}f=f??d,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=g?r.checked:!!f,r.defaultChecked=!!f,I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"&&(r.name=I),uh(r)}function fh(r,l,c){l==="number"&&wc(r.ownerDocument)===r||r.defaultValue===""+c||(r.defaultValue=""+c)}function Rl(r,l,c,f){if(r=r.options,l){l={};for(var d=0;d<c.length;d++)l["$"+c[d]]=!0;for(c=0;c<r.length;c++)d=l.hasOwnProperty("$"+r[c].value),r[c].selected!==d&&(r[c].selected=d),d&&f&&(r[c].defaultSelected=!0)}else{for(c=""+$n(c),l=null,d=0;d<r.length;d++){if(r[d].value===c){r[d].selected=!0,f&&(r[d].defaultSelected=!0);return}l!==null||r[d].disabled||(l=r[d])}l!==null&&(l.selected=!0)}}function mO(r,l,c){if(l!=null&&(l=""+$n(l),l!==r.value&&(r.value=l),c==null)){r.defaultValue!==l&&(r.defaultValue=l);return}r.defaultValue=c!=null?""+$n(c):""}function IO(r,l,c,f){if(l==null){if(f!=null){if(c!=null)throw Error(i(92));if(Te(f)){if(1<f.length)throw Error(i(93));f=f[0]}c=f}c==null&&(c=""),l=c}c=$n(l),r.defaultValue=c,f=r.textContent,f===c&&f!==""&&f!==null&&(r.value=f),uh(r)}function Ol(r,l){if(l){var c=r.firstChild;if(c&&c===r.lastChild&&c.nodeType===3){c.nodeValue=l;return}}r.textContent=l}var uv=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function pO(r,l,c){var f=l.indexOf("--")===0;c==null||typeof c=="boolean"||c===""?f?r.setProperty(l,""):l==="float"?r.cssFloat="":r[l]="":f?r.setProperty(l,c):typeof c!="number"||c===0||uv.has(l)?l==="float"?r.cssFloat=c:r[l]=(""+c).trim():r[l]=c+"px"}function CO(r,l,c){if(l!=null&&typeof l!="object")throw Error(i(62));if(r=r.style,c!=null){for(var f in c)!c.hasOwnProperty(f)||l!=null&&l.hasOwnProperty(f)||(f.indexOf("--")===0?r.setProperty(f,""):f==="float"?r.cssFloat="":r[f]="");for(var d in l)f=l[d],l.hasOwnProperty(d)&&c[d]!==f&&pO(r,d,f)}else for(var S in l)l.hasOwnProperty(S)&&pO(r,S,l[S])}function hh(r){if(r.indexOf("-")===-1)return!1;switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ev=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),fv=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Fc(r){return fv.test(""+r)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":r}function Qi(){}var Th=null;function dh(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var Nl=null,ml=null;function gO(r){var l=dl(r);if(l&&(r=l.stateNode)){var c=r[Rn]||null;e:switch(r=l.stateNode,l.type){case"input":if(Eh(r,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name),l=c.name,c.type==="radio"&&l!=null){for(c=r;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll('input[name="'+jn(""+l)+'"][type="radio"]'),l=0;l<c.length;l++){var f=c[l];if(f!==r&&f.form===r.form){var d=f[Rn]||null;if(!d)throw Error(i(90));Eh(f,d.value,d.defaultValue,d.defaultValue,d.checked,d.defaultChecked,d.type,d.name)}}for(l=0;l<c.length;l++)f=c[l],f.form===r.form&&OO(f)}break e;case"textarea":mO(r,c.value,c.defaultValue);break e;case"select":l=c.value,l!=null&&Rl(r,!!c.multiple,l,!1)}}}var Ah=!1;function LO(r,l,c){if(Ah)return r(l,c);Ah=!0;try{var f=r(l);return f}finally{if(Ah=!1,(Nl!==null||ml!==null)&&(_u(),Nl&&(l=Nl,r=ml,ml=Nl=null,gO(l),r)))for(l=0;l<r.length;l++)gO(r[l])}}function Vo(r,l){var c=r.stateNode;if(c===null)return null;var f=c[Rn]||null;if(f===null)return null;c=f[l];e:switch(l){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(f=!f.disabled)||(r=r.type,f=!(r==="button"||r==="input"||r==="select"||r==="textarea")),r=!f;break e;default:r=!1}if(r)return null;if(c&&typeof c!="function")throw Error(i(231,l,typeof c));return c}var Zi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Sh=!1;if(Zi)try{var Wo={};Object.defineProperty(Wo,"passive",{get:function(){Sh=!0}}),window.addEventListener("test",Wo,Wo),window.removeEventListener("test",Wo,Wo)}catch{Sh=!1}var Ds=null,Rh=null,Yc=null;function _O(){if(Yc)return Yc;var r,l=Rh,c=l.length,f,d="value"in Ds?Ds.value:Ds.textContent,S=d.length;for(r=0;r<c&&l[r]===d[r];r++);var I=c-r;for(f=1;f<=I&&l[c-f]===d[S-f];f++);return Yc=d.slice(r,1<f?1-f:void 0)}function kc(r){var l=r.keyCode;return"charCode"in r?(r=r.charCode,r===0&&l===13&&(r=13)):r=l,r===10&&(r=13),32<=r||r===13?r:0}function Vc(){return!0}function DO(){return!1}function On(r){function l(c,f,d,S,I){this._reactName=c,this._targetInst=d,this.type=f,this.nativeEvent=S,this.target=I,this.currentTarget=null;for(var g in r)r.hasOwnProperty(g)&&(c=r[g],this[g]=c?c(S):S[g]);return this.isDefaultPrevented=(S.defaultPrevented!=null?S.defaultPrevented:S.returnValue===!1)?Vc:DO,this.isPropagationStopped=DO,this}return A(l.prototype,{preventDefault:function(){this.defaultPrevented=!0;var c=this.nativeEvent;c&&(c.preventDefault?c.preventDefault():typeof c.returnValue!="unknown"&&(c.returnValue=!1),this.isDefaultPrevented=Vc)},stopPropagation:function(){var c=this.nativeEvent;c&&(c.stopPropagation?c.stopPropagation():typeof c.cancelBubble!="unknown"&&(c.cancelBubble=!0),this.isPropagationStopped=Vc)},persist:function(){},isPersistent:Vc}),l}var Lr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(r){return r.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Wc=On(Lr),Xo=A({},Lr,{view:0,detail:0}),hv=On(Xo),Oh,Nh,Ko,Xc=A({},Xo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ih,button:0,buttons:0,relatedTarget:function(r){return r.relatedTarget===void 0?r.fromElement===r.srcElement?r.toElement:r.fromElement:r.relatedTarget},movementX:function(r){return"movementX"in r?r.movementX:(r!==Ko&&(Ko&&r.type==="mousemove"?(Oh=r.screenX-Ko.screenX,Nh=r.screenY-Ko.screenY):Nh=Oh=0,Ko=r),Oh)},movementY:function(r){return"movementY"in r?r.movementY:Nh}}),MO=On(Xc),Tv=A({},Xc,{dataTransfer:0}),dv=On(Tv),Av=A({},Xo,{relatedTarget:0}),mh=On(Av),Sv=A({},Lr,{animationName:0,elapsedTime:0,pseudoElement:0}),Rv=On(Sv),Ov=A({},Lr,{clipboardData:function(r){return"clipboardData"in r?r.clipboardData:window.clipboardData}}),Nv=On(Ov),mv=A({},Lr,{data:0}),PO=On(mv),Iv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},pv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Cv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function gv(r){var l=this.nativeEvent;return l.getModifierState?l.getModifierState(r):(r=Cv[r])?!!l[r]:!1}function Ih(){return gv}var Lv=A({},Xo,{key:function(r){if(r.key){var l=Iv[r.key]||r.key;if(l!=="Unidentified")return l}return r.type==="keypress"?(r=kc(r),r===13?"Enter":String.fromCharCode(r)):r.type==="keydown"||r.type==="keyup"?pv[r.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ih,charCode:function(r){return r.type==="keypress"?kc(r):0},keyCode:function(r){return r.type==="keydown"||r.type==="keyup"?r.keyCode:0},which:function(r){return r.type==="keypress"?kc(r):r.type==="keydown"||r.type==="keyup"?r.keyCode:0}}),_v=On(Lv),Dv=A({},Xc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),yO=On(Dv),Mv=A({},Xo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ih}),Pv=On(Mv),yv=A({},Lr,{propertyName:0,elapsedTime:0,pseudoElement:0}),vv=On(yv),Uv=A({},Xc,{deltaX:function(r){return"deltaX"in r?r.deltaX:"wheelDeltaX"in r?-r.wheelDeltaX:0},deltaY:function(r){return"deltaY"in r?r.deltaY:"wheelDeltaY"in r?-r.wheelDeltaY:"wheelDelta"in r?-r.wheelDelta:0},deltaZ:0,deltaMode:0}),bv=On(Uv),xv=A({},Lr,{newState:0,oldState:0}),Bv=On(xv),Gv=[9,13,27,32],ph=Zi&&"CompositionEvent"in window,zo=null;Zi&&"documentMode"in document&&(zo=document.documentMode);var Hv=Zi&&"TextEvent"in window&&!zo,vO=Zi&&(!ph||zo&&8<zo&&11>=zo),UO=" ",bO=!1;function xO(r,l){switch(r){case"keyup":return Gv.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function BO(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Il=!1;function wv(r,l){switch(r){case"compositionend":return BO(l);case"keypress":return l.which!==32?null:(bO=!0,UO);case"textInput":return r=l.data,r===UO&&bO?null:r;default:return null}}function Fv(r,l){if(Il)return r==="compositionend"||!ph&&xO(r,l)?(r=_O(),Yc=Rh=Ds=null,Il=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1<l.char.length)return l.char;if(l.which)return String.fromCharCode(l.which)}return null;case"compositionend":return vO&&l.locale!=="ko"?null:l.data;default:return null}}var Yv={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function GO(r){var l=r&&r.nodeName&&r.nodeName.toLowerCase();return l==="input"?!!Yv[r.type]:l==="textarea"}function HO(r,l,c,f){Nl?ml?ml.push(f):ml=[f]:Nl=f,l=bu(l,"onChange"),0<l.length&&(c=new Wc("onChange","change",null,c,f),r.push({event:c,listeners:l}))}var $o=null,jo=null;function kv(r){NI(r,0)}function Kc(r){var l=ko(r);if(OO(l))return r}function wO(r,l){if(r==="change")return l}var FO=!1;if(Zi){var Ch;if(Zi){var gh="oninput"in document;if(!gh){var YO=document.createElement("div");YO.setAttribute("oninput","return;"),gh=typeof YO.oninput=="function"}Ch=gh}else Ch=!1;FO=Ch&&(!document.documentMode||9<document.documentMode)}function kO(){$o&&($o.detachEvent("onpropertychange",VO),jo=$o=null)}function VO(r){if(r.propertyName==="value"&&Kc(jo)){var l=[];HO(l,jo,r,dh(r)),LO(kv,l)}}function Vv(r,l,c){r==="focusin"?(kO(),$o=l,jo=c,$o.attachEvent("onpropertychange",VO)):r==="focusout"&&kO()}function Wv(r){if(r==="selectionchange"||r==="keyup"||r==="keydown")return Kc(jo)}function Xv(r,l){if(r==="click")return Kc(l)}function Kv(r,l){if(r==="input"||r==="change")return Kc(l)}function zv(r,l){return r===l&&(r!==0||1/r===1/l)||r!==r&&l!==l}var bn=typeof Object.is=="function"?Object.is:zv;function Jo(r,l){if(bn(r,l))return!0;if(typeof r!="object"||r===null||typeof l!="object"||l===null)return!1;var c=Object.keys(r),f=Object.keys(l);if(c.length!==f.length)return!1;for(f=0;f<c.length;f++){var d=c[f];if(!gs.call(l,d)||!bn(r[d],l[d]))return!1}return!0}function WO(r){for(;r&&r.firstChild;)r=r.firstChild;return r}function XO(r,l){var c=WO(r);r=0;for(var f;c;){if(c.nodeType===3){if(f=r+c.textContent.length,r<=l&&f>=l)return{node:c,offset:l-r};r=f}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=WO(c)}}function KO(r,l){return r&&l?r===l?!0:r&&r.nodeType===3?!1:l&&l.nodeType===3?KO(r,l.parentNode):"contains"in r?r.contains(l):r.compareDocumentPosition?!!(r.compareDocumentPosition(l)&16):!1:!1}function zO(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var l=wc(r.document);l instanceof r.HTMLIFrameElement;){try{var c=typeof l.contentWindow.location.href=="string"}catch{c=!1}if(c)r=l.contentWindow;else break;l=wc(r.document)}return l}function Lh(r){var l=r&&r.nodeName&&r.nodeName.toLowerCase();return l&&(l==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||l==="textarea"||r.contentEditable==="true")}var $v=Zi&&"documentMode"in document&&11>=document.documentMode,pl=null,_h=null,qo=null,Dh=!1;function $O(r,l,c){var f=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;Dh||pl==null||pl!==wc(f)||(f=pl,"selectionStart"in f&&Lh(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),qo&&Jo(qo,f)||(qo=f,f=bu(_h,"onSelect"),0<f.length&&(l=new Wc("onSelect","select",null,l,c),r.push({event:l,listeners:f}),l.target=pl)))}function _r(r,l){var c={};return c[r.toLowerCase()]=l.toLowerCase(),c["Webkit"+r]="webkit"+l,c["Moz"+r]="moz"+l,c}var Cl={animationend:_r("Animation","AnimationEnd"),animationiteration:_r("Animation","AnimationIteration"),animationstart:_r("Animation","AnimationStart"),transitionrun:_r("Transition","TransitionRun"),transitionstart:_r("Transition","TransitionStart"),transitioncancel:_r("Transition","TransitionCancel"),transitionend:_r("Transition","TransitionEnd")},Mh={},jO={};Zi&&(jO=document.createElement("div").style,"AnimationEvent"in window||(delete Cl.animationend.animation,delete Cl.animationiteration.animation,delete Cl.animationstart.animation),"TransitionEvent"in window||delete Cl.transitionend.transition);function Dr(r){if(Mh[r])return Mh[r];if(!Cl[r])return r;var l=Cl[r],c;for(c in l)if(l.hasOwnProperty(c)&&c in jO)return Mh[r]=l[c];return r}var JO=Dr("animationend"),qO=Dr("animationiteration"),QO=Dr("animationstart"),jv=Dr("transitionrun"),Jv=Dr("transitionstart"),qv=Dr("transitioncancel"),ZO=Dr("transitionend"),eN=new Map,Ph="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Ph.push("scrollEnd");function ui(r,l){eN.set(r,l),gr(l,[r])}var zc=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var l=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(l))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)},Jn=[],gl=0,yh=0;function $c(){for(var r=gl,l=yh=gl=0;l<r;){var c=Jn[l];Jn[l++]=null;var f=Jn[l];Jn[l++]=null;var d=Jn[l];Jn[l++]=null;var S=Jn[l];if(Jn[l++]=null,f!==null&&d!==null){var I=f.pending;I===null?d.next=d:(d.next=I.next,I.next=d),f.pending=d}S!==0&&tN(c,d,S)}}function jc(r,l,c,f){Jn[gl++]=r,Jn[gl++]=l,Jn[gl++]=c,Jn[gl++]=f,yh|=f,r.lanes|=f,r=r.alternate,r!==null&&(r.lanes|=f)}function vh(r,l,c,f){return jc(r,l,c,f),Jc(r)}function Mr(r,l){return jc(r,null,null,l),Jc(r)}function tN(r,l,c){r.lanes|=c;var f=r.alternate;f!==null&&(f.lanes|=c);for(var d=!1,S=r.return;S!==null;)S.childLanes|=c,f=S.alternate,f!==null&&(f.childLanes|=c),S.tag===22&&(r=S.stateNode,r===null||r._visibility&1||(d=!0)),r=S,S=S.return;return r.tag===3?(S=r.stateNode,d&&l!==null&&(d=31-Un(c),r=S.hiddenUpdates,f=r[d],f===null?r[d]=[l]:f.push(l),l.lane=c|536870912),S):null}function Jc(r){if(50<Oa)throw Oa=0,YT=null,Error(i(185));for(var l=r.return;l!==null;)r=l,l=r.return;return r.tag===3?r.stateNode:null}var Ll={};function Qv(r,l,c,f){this.tag=r,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=f,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xn(r,l,c,f){return new Qv(r,l,c,f)}function Uh(r){return r=r.prototype,!(!r||!r.isReactComponent)}function es(r,l){var c=r.alternate;return c===null?(c=xn(r.tag,l,r.key,r.mode),c.elementType=r.elementType,c.type=r.type,c.stateNode=r.stateNode,c.alternate=r,r.alternate=c):(c.pendingProps=l,c.type=r.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=r.flags&65011712,c.childLanes=r.childLanes,c.lanes=r.lanes,c.child=r.child,c.memoizedProps=r.memoizedProps,c.memoizedState=r.memoizedState,c.updateQueue=r.updateQueue,l=r.dependencies,c.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},c.sibling=r.sibling,c.index=r.index,c.ref=r.ref,c.refCleanup=r.refCleanup,c}function nN(r,l){r.flags&=65011714;var c=r.alternate;return c===null?(r.childLanes=0,r.lanes=l,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=c.childLanes,r.lanes=c.lanes,r.child=c.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=c.memoizedProps,r.memoizedState=c.memoizedState,r.updateQueue=c.updateQueue,r.type=c.type,l=c.dependencies,r.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext}),r}function qc(r,l,c,f,d,S){var I=0;if(f=r,typeof r=="function")Uh(r)&&(I=1);else if(typeof r=="string")I=iU(r,c,se.current)?26:r==="html"||r==="head"||r==="body"?27:5;else e:switch(r){case oe:return r=xn(31,c,l,d),r.elementType=oe,r.lanes=S,r;case m:return Pr(c.children,d,S,l);case C:I=8,d|=24;break;case L:return r=xn(12,c,l,d|2),r.elementType=L,r.lanes=S,r;case U:return r=xn(13,c,l,d),r.elementType=U,r.lanes=S,r;case G:return r=xn(19,c,l,d),r.elementType=G,r.lanes=S,r;default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case _:I=10;break e;case D:I=9;break e;case v:I=11;break e;case B:I=14;break e;case F:I=16,f=null;break e}I=29,c=Error(i(130,r===null?"null":typeof r,"")),f=null}return l=xn(I,c,l,d),l.elementType=r,l.type=f,l.lanes=S,l}function Pr(r,l,c,f){return r=xn(7,r,f,l),r.lanes=c,r}function bh(r,l,c){return r=xn(6,r,null,l),r.lanes=c,r}function iN(r){var l=xn(18,null,null,0);return l.stateNode=r,l}function xh(r,l,c){return l=xn(4,r.children!==null?r.children:[],r.key,l),l.lanes=c,l.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},l}var sN=new WeakMap;function qn(r,l){if(typeof r=="object"&&r!==null){var c=sN.get(r);return c!==void 0?c:(l={value:r,source:l,stack:Ci(l)},sN.set(r,l),l)}return{value:r,source:l,stack:Ci(l)}}var _l=[],Dl=0,Qc=null,Qo=0,Qn=[],Zn=0,Ms=null,gi=1,Li="";function ts(r,l){_l[Dl++]=Qo,_l[Dl++]=Qc,Qc=r,Qo=l}function rN(r,l,c){Qn[Zn++]=gi,Qn[Zn++]=Li,Qn[Zn++]=Ms,Ms=r;var f=gi;r=Li;var d=32-Un(f)-1;f&=~(1<<d),c+=1;var S=32-Un(l)+d;if(30<S){var I=d-d%5;S=(f&(1<<I)-1).toString(32),f>>=I,d-=I,gi=1<<32-Un(l)+d|c<<d|f,Li=S+r}else gi=1<<S|c<<d|f,Li=r}function Bh(r){r.return!==null&&(ts(r,1),rN(r,1,0))}function Gh(r){for(;r===Qc;)Qc=_l[--Dl],_l[Dl]=null,Qo=_l[--Dl],_l[Dl]=null;for(;r===Ms;)Ms=Qn[--Zn],Qn[Zn]=null,Li=Qn[--Zn],Qn[Zn]=null,gi=Qn[--Zn],Qn[Zn]=null}function lN(r,l){Qn[Zn++]=gi,Qn[Zn++]=Li,Qn[Zn++]=Ms,gi=l.id,Li=l.overflow,Ms=r}var Zt=null,ft=null,ze=!1,Ps=null,ei=!1,Hh=Error(i(519));function ys(r){var l=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Zo(qn(l,r)),Hh}function oN(r){var l=r.stateNode,c=r.type,f=r.memoizedProps;switch(l[Qt]=r,l[Rn]=f,c){case"dialog":Ve("cancel",l),Ve("close",l);break;case"iframe":case"object":case"embed":Ve("load",l);break;case"video":case"audio":for(c=0;c<ma.length;c++)Ve(ma[c],l);break;case"source":Ve("error",l);break;case"img":case"image":case"link":Ve("error",l),Ve("load",l);break;case"details":Ve("toggle",l);break;case"input":Ve("invalid",l),NO(l,f.value,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name,!0);break;case"select":Ve("invalid",l);break;case"textarea":Ve("invalid",l),IO(l,f.value,f.defaultValue,f.children)}c=f.children,typeof c!="string"&&typeof c!="number"&&typeof c!="bigint"||l.textContent===""+c||f.suppressHydrationWarning===!0||CI(l.textContent,c)?(f.popover!=null&&(Ve("beforetoggle",l),Ve("toggle",l)),f.onScroll!=null&&Ve("scroll",l),f.onScrollEnd!=null&&Ve("scrollend",l),f.onClick!=null&&(l.onclick=Qi),l=!0):l=!1,l||ys(r,!0)}function aN(r){for(Zt=r.return;Zt;)switch(Zt.tag){case 5:case 31:case 13:ei=!1;return;case 27:case 3:ei=!0;return;default:Zt=Zt.return}}function Ml(r){if(r!==Zt)return!1;if(!ze)return aN(r),ze=!0,!1;var l=r.tag,c;if((c=l!==3&&l!==27)&&((c=l===5)&&(c=r.type,c=!(c!=="form"&&c!=="button")||nd(r.type,r.memoizedProps)),c=!c),c&&ft&&ys(r),aN(r),l===13){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(i(317));ft=UI(r)}else if(l===31){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(i(317));ft=UI(r)}else l===27?(l=ft,Xs(r.type)?(r=od,od=null,ft=r):ft=l):ft=Zt?ni(r.stateNode.nextSibling):null;return!0}function yr(){ft=Zt=null,ze=!1}function wh(){var r=Ps;return r!==null&&(pn===null?pn=r:pn.push.apply(pn,r),Ps=null),r}function Zo(r){Ps===null?Ps=[r]:Ps.push(r)}var Fh=P(null),vr=null,ns=null;function vs(r,l,c){le(Fh,l._currentValue),l._currentValue=c}function is(r){r._currentValue=Fh.current,X(Fh)}function Yh(r,l,c){for(;r!==null;){var f=r.alternate;if((r.childLanes&l)!==l?(r.childLanes|=l,f!==null&&(f.childLanes|=l)):f!==null&&(f.childLanes&l)!==l&&(f.childLanes|=l),r===c)break;r=r.return}}function kh(r,l,c,f){var d=r.child;for(d!==null&&(d.return=r);d!==null;){var S=d.dependencies;if(S!==null){var I=d.child;S=S.firstContext;e:for(;S!==null;){var g=S;S=d;for(var y=0;y<l.length;y++)if(g.context===l[y]){S.lanes|=c,g=S.alternate,g!==null&&(g.lanes|=c),Yh(S.return,c,r),f||(I=null);break e}S=g.next}}else if(d.tag===18){if(I=d.return,I===null)throw Error(i(341));I.lanes|=c,S=I.alternate,S!==null&&(S.lanes|=c),Yh(I,c,r),I=null}else I=d.child;if(I!==null)I.return=d;else for(I=d;I!==null;){if(I===r){I=null;break}if(d=I.sibling,d!==null){d.return=I.return,I=d;break}I=I.return}d=I}}function Pl(r,l,c,f){r=null;for(var d=l,S=!1;d!==null;){if(!S){if((d.flags&524288)!==0)S=!0;else if((d.flags&262144)!==0)break}if(d.tag===10){var I=d.alternate;if(I===null)throw Error(i(387));if(I=I.memoizedProps,I!==null){var g=d.type;bn(d.pendingProps.value,I.value)||(r!==null?r.push(g):r=[g])}}else if(d===ue.current){if(I=d.alternate,I===null)throw Error(i(387));I.memoizedState.memoizedState!==d.memoizedState.memoizedState&&(r!==null?r.push(La):r=[La])}d=d.return}r!==null&&kh(l,r,c,f),l.flags|=262144}function Zc(r){for(r=r.firstContext;r!==null;){if(!bn(r.context._currentValue,r.memoizedValue))return!0;r=r.next}return!1}function Ur(r){vr=r,ns=null,r=r.dependencies,r!==null&&(r.firstContext=null)}function en(r){return cN(vr,r)}function eu(r,l){return vr===null&&Ur(r),cN(r,l)}function cN(r,l){var c=l._currentValue;if(l={context:l,memoizedValue:c,next:null},ns===null){if(r===null)throw Error(i(308));ns=l,r.dependencies={lanes:0,firstContext:l},r.flags|=524288}else ns=ns.next=l;return c}var Zv=typeof AbortController<"u"?AbortController:function(){var r=[],l=this.signal={aborted:!1,addEventListener:function(c,f){r.push(f)}};this.abort=function(){l.aborted=!0,r.forEach(function(c){return c()})}},e0=n.unstable_scheduleCallback,t0=n.unstable_NormalPriority,yt={$$typeof:_,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Vh(){return{controller:new Zv,data:new Map,refCount:0}}function ea(r){r.refCount--,r.refCount===0&&e0(t0,function(){r.controller.abort()})}var ta=null,Wh=0,yl=0,vl=null;function n0(r,l){if(ta===null){var c=ta=[];Wh=0,yl=zT(),vl={status:"pending",value:void 0,then:function(f){c.push(f)}}}return Wh++,l.then(uN,uN),l}function uN(){if(--Wh===0&&ta!==null){vl!==null&&(vl.status="fulfilled");var r=ta;ta=null,yl=0,vl=null;for(var l=0;l<r.length;l++)(0,r[l])()}}function i0(r,l){var c=[],f={status:"pending",value:null,reason:null,then:function(d){c.push(d)}};return r.then(function(){f.status="fulfilled",f.value=l;for(var d=0;d<c.length;d++)(0,c[d])(l)},function(d){for(f.status="rejected",f.reason=d,d=0;d<c.length;d++)(0,c[d])(void 0)}),f}var EN=x.S;x.S=function(r,l){$m=re(),typeof l=="object"&&l!==null&&typeof l.then=="function"&&n0(r,l),EN!==null&&EN(r,l)};var br=P(null);function Xh(){var r=br.current;return r!==null?r:ot.pooledCache}function tu(r,l){l===null?le(br,br.current):le(br,l.pool)}function fN(){var r=Xh();return r===null?null:{parent:yt._currentValue,pool:r}}var Ul=Error(i(460)),Kh=Error(i(474)),nu=Error(i(542)),iu={then:function(){}};function hN(r){return r=r.status,r==="fulfilled"||r==="rejected"}function TN(r,l,c){switch(c=r[c],c===void 0?r.push(l):c!==l&&(l.then(Qi,Qi),l=c),l.status){case"fulfilled":return l.value;case"rejected":throw r=l.reason,AN(r),r;default:if(typeof l.status=="string")l.then(Qi,Qi);else{if(r=ot,r!==null&&100<r.shellSuspendCounter)throw Error(i(482));r=l,r.status="pending",r.then(function(f){if(l.status==="pending"){var d=l;d.status="fulfilled",d.value=f}},function(f){if(l.status==="pending"){var d=l;d.status="rejected",d.reason=f}})}switch(l.status){case"fulfilled":return l.value;case"rejected":throw r=l.reason,AN(r),r}throw Br=l,Ul}}function xr(r){try{var l=r._init;return l(r._payload)}catch(c){throw c!==null&&typeof c=="object"&&typeof c.then=="function"?(Br=c,Ul):c}}var Br=null;function dN(){if(Br===null)throw Error(i(459));var r=Br;return Br=null,r}function AN(r){if(r===Ul||r===nu)throw Error(i(483))}var bl=null,na=0;function su(r){var l=na;return na+=1,bl===null&&(bl=[]),TN(bl,r,l)}function ia(r,l){l=l.props.ref,r.ref=l!==void 0?l:null}function ru(r,l){throw l.$$typeof===R?Error(i(525)):(r=Object.prototype.toString.call(l),Error(i(31,r==="[object Object]"?"object with keys {"+Object.keys(l).join(", ")+"}":r)))}function SN(r){function l(H,b){if(r){var Y=H.deletions;Y===null?(H.deletions=[b],H.flags|=16):Y.push(b)}}function c(H,b){if(!r)return null;for(;b!==null;)l(H,b),b=b.sibling;return null}function f(H){for(var b=new Map;H!==null;)H.key!==null?b.set(H.key,H):b.set(H.index,H),H=H.sibling;return b}function d(H,b){return H=es(H,b),H.index=0,H.sibling=null,H}function S(H,b,Y){return H.index=Y,r?(Y=H.alternate,Y!==null?(Y=Y.index,Y<b?(H.flags|=67108866,b):Y):(H.flags|=67108866,b)):(H.flags|=1048576,b)}function I(H){return r&&H.alternate===null&&(H.flags|=67108866),H}function g(H,b,Y,Q){return b===null||b.tag!==6?(b=bh(Y,H.mode,Q),b.return=H,b):(b=d(b,Y),b.return=H,b)}function y(H,b,Y,Q){var Le=Y.type;return Le===m?$(H,b,Y.props.children,Q,Y.key):b!==null&&(b.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===F&&xr(Le)===b.type)?(b=d(b,Y.props),ia(b,Y),b.return=H,b):(b=qc(Y.type,Y.key,Y.props,null,H.mode,Q),ia(b,Y),b.return=H,b)}function k(H,b,Y,Q){return b===null||b.tag!==4||b.stateNode.containerInfo!==Y.containerInfo||b.stateNode.implementation!==Y.implementation?(b=xh(Y,H.mode,Q),b.return=H,b):(b=d(b,Y.children||[]),b.return=H,b)}function $(H,b,Y,Q,Le){return b===null||b.tag!==7?(b=Pr(Y,H.mode,Q,Le),b.return=H,b):(b=d(b,Y),b.return=H,b)}function te(H,b,Y){if(typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint")return b=bh(""+b,H.mode,Y),b.return=H,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case O:return Y=qc(b.type,b.key,b.props,null,H.mode,Y),ia(Y,b),Y.return=H,Y;case N:return b=xh(b,H.mode,Y),b.return=H,b;case F:return b=xr(b),te(H,b,Y)}if(Te(b)||ee(b))return b=Pr(b,H.mode,Y,null),b.return=H,b;if(typeof b.then=="function")return te(H,su(b),Y);if(b.$$typeof===_)return te(H,eu(H,b),Y);ru(H,b)}return null}function W(H,b,Y,Q){var Le=b!==null?b.key:null;if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return Le!==null?null:g(H,b,""+Y,Q);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case O:return Y.key===Le?y(H,b,Y,Q):null;case N:return Y.key===Le?k(H,b,Y,Q):null;case F:return Y=xr(Y),W(H,b,Y,Q)}if(Te(Y)||ee(Y))return Le!==null?null:$(H,b,Y,Q,null);if(typeof Y.then=="function")return W(H,b,su(Y),Q);if(Y.$$typeof===_)return W(H,b,eu(H,Y),Q);ru(H,Y)}return null}function K(H,b,Y,Q,Le){if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return H=H.get(Y)||null,g(b,H,""+Q,Le);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case O:return H=H.get(Q.key===null?Y:Q.key)||null,y(b,H,Q,Le);case N:return H=H.get(Q.key===null?Y:Q.key)||null,k(b,H,Q,Le);case F:return Q=xr(Q),K(H,b,Y,Q,Le)}if(Te(Q)||ee(Q))return H=H.get(Y)||null,$(b,H,Q,Le,null);if(typeof Q.then=="function")return K(H,b,Y,su(Q),Le);if(Q.$$typeof===_)return K(H,b,Y,eu(b,Q),Le);ru(b,Q)}return null}function pe(H,b,Y,Q){for(var Le=null,qe=null,ge=b,He=b=0,Ke=null;ge!==null&&He<Y.length;He++){ge.index>He?(Ke=ge,ge=null):Ke=ge.sibling;var Qe=W(H,ge,Y[He],Q);if(Qe===null){ge===null&&(ge=Ke);break}r&&ge&&Qe.alternate===null&&l(H,ge),b=S(Qe,b,He),qe===null?Le=Qe:qe.sibling=Qe,qe=Qe,ge=Ke}if(He===Y.length)return c(H,ge),ze&&ts(H,He),Le;if(ge===null){for(;He<Y.length;He++)ge=te(H,Y[He],Q),ge!==null&&(b=S(ge,b,He),qe===null?Le=ge:qe.sibling=ge,qe=ge);return ze&&ts(H,He),Le}for(ge=f(ge);He<Y.length;He++)Ke=K(ge,H,He,Y[He],Q),Ke!==null&&(r&&Ke.alternate!==null&&ge.delete(Ke.key===null?He:Ke.key),b=S(Ke,b,He),qe===null?Le=Ke:qe.sibling=Ke,qe=Ke);return r&&ge.forEach(function(Js){return l(H,Js)}),ze&&ts(H,He),Le}function Me(H,b,Y,Q){if(Y==null)throw Error(i(151));for(var Le=null,qe=null,ge=b,He=b=0,Ke=null,Qe=Y.next();ge!==null&&!Qe.done;He++,Qe=Y.next()){ge.index>He?(Ke=ge,ge=null):Ke=ge.sibling;var Js=W(H,ge,Qe.value,Q);if(Js===null){ge===null&&(ge=Ke);break}r&&ge&&Js.alternate===null&&l(H,ge),b=S(Js,b,He),qe===null?Le=Js:qe.sibling=Js,qe=Js,ge=Ke}if(Qe.done)return c(H,ge),ze&&ts(H,He),Le;if(ge===null){for(;!Qe.done;He++,Qe=Y.next())Qe=te(H,Qe.value,Q),Qe!==null&&(b=S(Qe,b,He),qe===null?Le=Qe:qe.sibling=Qe,qe=Qe);return ze&&ts(H,He),Le}for(ge=f(ge);!Qe.done;He++,Qe=Y.next())Qe=K(ge,H,He,Qe.value,Q),Qe!==null&&(r&&Qe.alternate!==null&&ge.delete(Qe.key===null?He:Qe.key),b=S(Qe,b,He),qe===null?Le=Qe:qe.sibling=Qe,qe=Qe);return r&&ge.forEach(function(TU){return l(H,TU)}),ze&&ts(H,He),Le}function st(H,b,Y,Q){if(typeof Y=="object"&&Y!==null&&Y.type===m&&Y.key===null&&(Y=Y.props.children),typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case O:e:{for(var Le=Y.key;b!==null;){if(b.key===Le){if(Le=Y.type,Le===m){if(b.tag===7){c(H,b.sibling),Q=d(b,Y.props.children),Q.return=H,H=Q;break e}}else if(b.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===F&&xr(Le)===b.type){c(H,b.sibling),Q=d(b,Y.props),ia(Q,Y),Q.return=H,H=Q;break e}c(H,b);break}else l(H,b);b=b.sibling}Y.type===m?(Q=Pr(Y.props.children,H.mode,Q,Y.key),Q.return=H,H=Q):(Q=qc(Y.type,Y.key,Y.props,null,H.mode,Q),ia(Q,Y),Q.return=H,H=Q)}return I(H);case N:e:{for(Le=Y.key;b!==null;){if(b.key===Le)if(b.tag===4&&b.stateNode.containerInfo===Y.containerInfo&&b.stateNode.implementation===Y.implementation){c(H,b.sibling),Q=d(b,Y.children||[]),Q.return=H,H=Q;break e}else{c(H,b);break}else l(H,b);b=b.sibling}Q=xh(Y,H.mode,Q),Q.return=H,H=Q}return I(H);case F:return Y=xr(Y),st(H,b,Y,Q)}if(Te(Y))return pe(H,b,Y,Q);if(ee(Y)){if(Le=ee(Y),typeof Le!="function")throw Error(i(150));return Y=Le.call(Y),Me(H,b,Y,Q)}if(typeof Y.then=="function")return st(H,b,su(Y),Q);if(Y.$$typeof===_)return st(H,b,eu(H,Y),Q);ru(H,Y)}return typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint"?(Y=""+Y,b!==null&&b.tag===6?(c(H,b.sibling),Q=d(b,Y),Q.return=H,H=Q):(c(H,b),Q=bh(Y,H.mode,Q),Q.return=H,H=Q),I(H)):c(H,b)}return function(H,b,Y,Q){try{na=0;var Le=st(H,b,Y,Q);return bl=null,Le}catch(ge){if(ge===Ul||ge===nu)throw ge;var qe=xn(29,ge,null,H.mode);return qe.lanes=Q,qe.return=H,qe}finally{}}}var Gr=SN(!0),RN=SN(!1),Us=!1;function zh(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function $h(r,l){r=r.updateQueue,l.updateQueue===r&&(l.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function bs(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function xs(r,l,c){var f=r.updateQueue;if(f===null)return null;if(f=f.shared,(Ze&2)!==0){var d=f.pending;return d===null?l.next=l:(l.next=d.next,d.next=l),f.pending=l,l=Jc(r),tN(r,null,c),l}return jc(r,f,l,c),Jc(r)}function sa(r,l,c){if(l=l.updateQueue,l!==null&&(l=l.shared,(c&4194048)!==0)){var f=l.lanes;f&=r.pendingLanes,c|=f,l.lanes=c,cO(r,c)}}function jh(r,l){var c=r.updateQueue,f=r.alternate;if(f!==null&&(f=f.updateQueue,c===f)){var d=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var I={lane:c.lane,tag:c.tag,payload:c.payload,callback:null,next:null};S===null?d=S=I:S=S.next=I,c=c.next}while(c!==null);S===null?d=S=l:S=S.next=l}else d=S=l;c={baseState:f.baseState,firstBaseUpdate:d,lastBaseUpdate:S,shared:f.shared,callbacks:f.callbacks},r.updateQueue=c;return}r=c.lastBaseUpdate,r===null?c.firstBaseUpdate=l:r.next=l,c.lastBaseUpdate=l}var Jh=!1;function ra(){if(Jh){var r=vl;if(r!==null)throw r}}function la(r,l,c,f){Jh=!1;var d=r.updateQueue;Us=!1;var S=d.firstBaseUpdate,I=d.lastBaseUpdate,g=d.shared.pending;if(g!==null){d.shared.pending=null;var y=g,k=y.next;y.next=null,I===null?S=k:I.next=k,I=y;var $=r.alternate;$!==null&&($=$.updateQueue,g=$.lastBaseUpdate,g!==I&&(g===null?$.firstBaseUpdate=k:g.next=k,$.lastBaseUpdate=y))}if(S!==null){var te=d.baseState;I=0,$=k=y=null,g=S;do{var W=g.lane&-536870913,K=W!==g.lane;if(K?(Xe&W)===W:(f&W)===W){W!==0&&W===yl&&(Jh=!0),$!==null&&($=$.next={lane:0,tag:g.tag,payload:g.payload,callback:null,next:null});e:{var pe=r,Me=g;W=l;var st=c;switch(Me.tag){case 1:if(pe=Me.payload,typeof pe=="function"){te=pe.call(st,te,W);break e}te=pe;break e;case 3:pe.flags=pe.flags&-65537|128;case 0:if(pe=Me.payload,W=typeof pe=="function"?pe.call(st,te,W):pe,W==null)break e;te=A({},te,W);break e;case 2:Us=!0}}W=g.callback,W!==null&&(r.flags|=64,K&&(r.flags|=8192),K=d.callbacks,K===null?d.callbacks=[W]:K.push(W))}else K={lane:W,tag:g.tag,payload:g.payload,callback:g.callback,next:null},$===null?(k=$=K,y=te):$=$.next=K,I|=W;if(g=g.next,g===null){if(g=d.shared.pending,g===null)break;K=g,g=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);$===null&&(y=te),d.baseState=y,d.firstBaseUpdate=k,d.lastBaseUpdate=$,S===null&&(d.shared.lanes=0),Fs|=I,r.lanes=I,r.memoizedState=te}}function ON(r,l){if(typeof r!="function")throw Error(i(191,r));r.call(l)}function NN(r,l){var c=r.callbacks;if(c!==null)for(r.callbacks=null,r=0;r<c.length;r++)ON(c[r],l)}var xl=P(null),lu=P(0);function mN(r,l){r=fs,le(lu,r),le(xl,l),fs=r|l.baseLanes}function qh(){le(lu,fs),le(xl,xl.current)}function Qh(){fs=lu.current,X(xl),X(lu)}var Bn=P(null),ti=null;function Bs(r){var l=r.alternate;le(gt,gt.current&1),le(Bn,r),ti===null&&(l===null||xl.current!==null||l.memoizedState!==null)&&(ti=r)}function Zh(r){le(gt,gt.current),le(Bn,r),ti===null&&(ti=r)}function IN(r){r.tag===22?(le(gt,gt.current),le(Bn,r),ti===null&&(ti=r)):Gs()}function Gs(){le(gt,gt.current),le(Bn,Bn.current)}function Gn(r){X(Bn),ti===r&&(ti=null),X(gt)}var gt=P(0);function ou(r){for(var l=r;l!==null;){if(l.tag===13){var c=l.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||rd(c)||ld(c)))return l}else if(l.tag===19&&(l.memoizedProps.revealOrder==="forwards"||l.memoizedProps.revealOrder==="backwards"||l.memoizedProps.revealOrder==="unstable_legacy-backwards"||l.memoizedProps.revealOrder==="together")){if((l.flags&128)!==0)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===r)break;for(;l.sibling===null;){if(l.return===null||l.return===r)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}var ss=0,Ge=null,nt=null,vt=null,au=!1,Bl=!1,Hr=!1,cu=0,oa=0,Gl=null,s0=0;function Ot(){throw Error(i(321))}function eT(r,l){if(l===null)return!1;for(var c=0;c<l.length&&c<r.length;c++)if(!bn(r[c],l[c]))return!1;return!0}function tT(r,l,c,f,d,S){return ss=S,Ge=l,l.memoizedState=null,l.updateQueue=null,l.lanes=0,x.H=r===null||r.memoizedState===null?rm:AT,Hr=!1,S=c(f,d),Hr=!1,Bl&&(S=CN(l,c,f,d)),pN(r),S}function pN(r){x.H=ua;var l=nt!==null&&nt.next!==null;if(ss=0,vt=nt=Ge=null,au=!1,oa=0,Gl=null,l)throw Error(i(300));r===null||Ut||(r=r.dependencies,r!==null&&Zc(r)&&(Ut=!0))}function CN(r,l,c,f){Ge=r;var d=0;do{if(Bl&&(Gl=null),oa=0,Bl=!1,25<=d)throw Error(i(301));if(d+=1,vt=nt=null,r.updateQueue!=null){var S=r.updateQueue;S.lastEffect=null,S.events=null,S.stores=null,S.memoCache!=null&&(S.memoCache.index=0)}x.H=lm,S=l(c,f)}while(Bl);return S}function r0(){var r=x.H,l=r.useState()[0];return l=typeof l.then=="function"?aa(l):l,r=r.useState()[0],(nt!==null?nt.memoizedState:null)!==r&&(Ge.flags|=1024),l}function nT(){var r=cu!==0;return cu=0,r}function iT(r,l,c){l.updateQueue=r.updateQueue,l.flags&=-2053,r.lanes&=~c}function sT(r){if(au){for(r=r.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}au=!1}ss=0,vt=nt=Ge=null,Bl=!1,oa=cu=0,Gl=null}function fn(){var r={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return vt===null?Ge.memoizedState=vt=r:vt=vt.next=r,vt}function Lt(){if(nt===null){var r=Ge.alternate;r=r!==null?r.memoizedState:null}else r=nt.next;var l=vt===null?Ge.memoizedState:vt.next;if(l!==null)vt=l,nt=r;else{if(r===null)throw Ge.alternate===null?Error(i(467)):Error(i(310));nt=r,r={memoizedState:nt.memoizedState,baseState:nt.baseState,baseQueue:nt.baseQueue,queue:nt.queue,next:null},vt===null?Ge.memoizedState=vt=r:vt=vt.next=r}return vt}function uu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function aa(r){var l=oa;return oa+=1,Gl===null&&(Gl=[]),r=TN(Gl,r,l),l=Ge,(vt===null?l.memoizedState:vt.next)===null&&(l=l.alternate,x.H=l===null||l.memoizedState===null?rm:AT),r}function Eu(r){if(r!==null&&typeof r=="object"){if(typeof r.then=="function")return aa(r);if(r.$$typeof===_)return en(r)}throw Error(i(438,String(r)))}function rT(r){var l=null,c=Ge.updateQueue;if(c!==null&&(l=c.memoCache),l==null){var f=Ge.alternate;f!==null&&(f=f.updateQueue,f!==null&&(f=f.memoCache,f!=null&&(l={data:f.data.map(function(d){return d.slice()}),index:0})))}if(l==null&&(l={data:[],index:0}),c===null&&(c=uu(),Ge.updateQueue=c),c.memoCache=l,c=l.data[l.index],c===void 0)for(c=l.data[l.index]=Array(r),f=0;f<r;f++)c[f]=fe;return l.index++,c}function rs(r,l){return typeof l=="function"?l(r):l}function fu(r){var l=Lt();return lT(l,nt,r)}function lT(r,l,c){var f=r.queue;if(f===null)throw Error(i(311));f.lastRenderedReducer=c;var d=r.baseQueue,S=f.pending;if(S!==null){if(d!==null){var I=d.next;d.next=S.next,S.next=I}l.baseQueue=d=S,f.pending=null}if(S=r.baseState,d===null)r.memoizedState=S;else{l=d.next;var g=I=null,y=null,k=l,$=!1;do{var te=k.lane&-536870913;if(te!==k.lane?(Xe&te)===te:(ss&te)===te){var W=k.revertLane;if(W===0)y!==null&&(y=y.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),te===yl&&($=!0);else if((ss&W)===W){k=k.next,W===yl&&($=!0);continue}else te={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},y===null?(g=y=te,I=S):y=y.next=te,Ge.lanes|=W,Fs|=W;te=k.action,Hr&&c(S,te),S=k.hasEagerState?k.eagerState:c(S,te)}else W={lane:te,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},y===null?(g=y=W,I=S):y=y.next=W,Ge.lanes|=te,Fs|=te;k=k.next}while(k!==null&&k!==l);if(y===null?I=S:y.next=g,!bn(S,r.memoizedState)&&(Ut=!0,$&&(c=vl,c!==null)))throw c;r.memoizedState=S,r.baseState=I,r.baseQueue=y,f.lastRenderedState=S}return d===null&&(f.lanes=0),[r.memoizedState,f.dispatch]}function oT(r){var l=Lt(),c=l.queue;if(c===null)throw Error(i(311));c.lastRenderedReducer=r;var f=c.dispatch,d=c.pending,S=l.memoizedState;if(d!==null){c.pending=null;var I=d=d.next;do S=r(S,I.action),I=I.next;while(I!==d);bn(S,l.memoizedState)||(Ut=!0),l.memoizedState=S,l.baseQueue===null&&(l.baseState=S),c.lastRenderedState=S}return[S,f]}function gN(r,l,c){var f=Ge,d=Lt(),S=ze;if(S){if(c===void 0)throw Error(i(407));c=c()}else c=l();var I=!bn((nt||d).memoizedState,c);if(I&&(d.memoizedState=c,Ut=!0),d=d.queue,uT(DN.bind(null,f,d,r),[r]),d.getSnapshot!==l||I||vt!==null&&vt.memoizedState.tag&1){if(f.flags|=2048,Hl(9,{destroy:void 0},_N.bind(null,f,d,c,l),null),ot===null)throw Error(i(349));S||(ss&127)!==0||LN(f,l,c)}return c}function LN(r,l,c){r.flags|=16384,r={getSnapshot:l,value:c},l=Ge.updateQueue,l===null?(l=uu(),Ge.updateQueue=l,l.stores=[r]):(c=l.stores,c===null?l.stores=[r]:c.push(r))}function _N(r,l,c,f){l.value=c,l.getSnapshot=f,MN(l)&&PN(r)}function DN(r,l,c){return c(function(){MN(l)&&PN(r)})}function MN(r){var l=r.getSnapshot;r=r.value;try{var c=l();return!bn(r,c)}catch{return!0}}function PN(r){var l=Mr(r,2);l!==null&&Cn(l,r,2)}function aT(r){var l=fn();if(typeof r=="function"){var c=r;if(r=c(),Hr){Ls(!0);try{c()}finally{Ls(!1)}}}return l.memoizedState=l.baseState=r,l.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:rs,lastRenderedState:r},l}function yN(r,l,c,f){return r.baseState=c,lT(r,nt,typeof f=="function"?f:rs)}function l0(r,l,c,f,d){if(du(r))throw Error(i(485));if(r=l.action,r!==null){var S={payload:d,action:r,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(I){S.listeners.push(I)}};x.T!==null?c(!0):S.isTransition=!1,f(S),c=l.pending,c===null?(S.next=l.pending=S,vN(l,S)):(S.next=c.next,l.pending=c.next=S)}}function vN(r,l){var c=l.action,f=l.payload,d=r.state;if(l.isTransition){var S=x.T,I={};x.T=I;try{var g=c(d,f),y=x.S;y!==null&&y(I,g),UN(r,l,g)}catch(k){cT(r,l,k)}finally{S!==null&&I.types!==null&&(S.types=I.types),x.T=S}}else try{S=c(d,f),UN(r,l,S)}catch(k){cT(r,l,k)}}function UN(r,l,c){c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(function(f){bN(r,l,f)},function(f){return cT(r,l,f)}):bN(r,l,c)}function bN(r,l,c){l.status="fulfilled",l.value=c,xN(l),r.state=c,l=r.pending,l!==null&&(c=l.next,c===l?r.pending=null:(c=c.next,l.next=c,vN(r,c)))}function cT(r,l,c){var f=r.pending;if(r.pending=null,f!==null){f=f.next;do l.status="rejected",l.reason=c,xN(l),l=l.next;while(l!==f)}r.action=null}function xN(r){r=r.listeners;for(var l=0;l<r.length;l++)(0,r[l])()}function BN(r,l){return l}function GN(r,l){if(ze){var c=ot.formState;if(c!==null){e:{var f=Ge;if(ze){if(ft){t:{for(var d=ft,S=ei;d.nodeType!==8;){if(!S){d=null;break t}if(d=ni(d.nextSibling),d===null){d=null;break t}}S=d.data,d=S==="F!"||S==="F"?d:null}if(d){ft=ni(d.nextSibling),f=d.data==="F!";break e}}ys(f)}f=!1}f&&(l=c[0])}}return c=fn(),c.memoizedState=c.baseState=l,f={pending:null,lanes:0,dispatch:null,lastRenderedReducer:BN,lastRenderedState:l},c.queue=f,c=nm.bind(null,Ge,f),f.dispatch=c,f=aT(!1),S=dT.bind(null,Ge,!1,f.queue),f=fn(),d={state:l,dispatch:null,action:r,pending:null},f.queue=d,c=l0.bind(null,Ge,d,S,c),d.dispatch=c,f.memoizedState=r,[l,c,!1]}function HN(r){var l=Lt();return wN(l,nt,r)}function wN(r,l,c){if(l=lT(r,l,BN)[0],r=fu(rs)[0],typeof l=="object"&&l!==null&&typeof l.then=="function")try{var f=aa(l)}catch(I){throw I===Ul?nu:I}else f=l;l=Lt();var d=l.queue,S=d.dispatch;return c!==l.memoizedState&&(Ge.flags|=2048,Hl(9,{destroy:void 0},o0.bind(null,d,c),null)),[f,S,r]}function o0(r,l){r.action=l}function FN(r){var l=Lt(),c=nt;if(c!==null)return wN(l,c,r);Lt(),l=l.memoizedState,c=Lt();var f=c.queue.dispatch;return c.memoizedState=r,[l,f,!1]}function Hl(r,l,c,f){return r={tag:r,create:c,deps:f,inst:l,next:null},l=Ge.updateQueue,l===null&&(l=uu(),Ge.updateQueue=l),c=l.lastEffect,c===null?l.lastEffect=r.next=r:(f=c.next,c.next=r,r.next=f,l.lastEffect=r),r}function YN(){return Lt().memoizedState}function hu(r,l,c,f){var d=fn();Ge.flags|=r,d.memoizedState=Hl(1|l,{destroy:void 0},c,f===void 0?null:f)}function Tu(r,l,c,f){var d=Lt();f=f===void 0?null:f;var S=d.memoizedState.inst;nt!==null&&f!==null&&eT(f,nt.memoizedState.deps)?d.memoizedState=Hl(l,S,c,f):(Ge.flags|=r,d.memoizedState=Hl(1|l,S,c,f))}function kN(r,l){hu(8390656,8,r,l)}function uT(r,l){Tu(2048,8,r,l)}function a0(r){Ge.flags|=4;var l=Ge.updateQueue;if(l===null)l=uu(),Ge.updateQueue=l,l.events=[r];else{var c=l.events;c===null?l.events=[r]:c.push(r)}}function VN(r){var l=Lt().memoizedState;return a0({ref:l,nextImpl:r}),function(){if((Ze&2)!==0)throw Error(i(440));return l.impl.apply(void 0,arguments)}}function WN(r,l){return Tu(4,2,r,l)}function XN(r,l){return Tu(4,4,r,l)}function KN(r,l){if(typeof l=="function"){r=r();var c=l(r);return function(){typeof c=="function"?c():l(null)}}if(l!=null)return r=r(),l.current=r,function(){l.current=null}}function zN(r,l,c){c=c!=null?c.concat([r]):null,Tu(4,4,KN.bind(null,l,r),c)}function ET(){}function $N(r,l){var c=Lt();l=l===void 0?null:l;var f=c.memoizedState;return l!==null&&eT(l,f[1])?f[0]:(c.memoizedState=[r,l],r)}function jN(r,l){var c=Lt();l=l===void 0?null:l;var f=c.memoizedState;if(l!==null&&eT(l,f[1]))return f[0];if(f=r(),Hr){Ls(!0);try{r()}finally{Ls(!1)}}return c.memoizedState=[f,l],f}function fT(r,l,c){return c===void 0||(ss&1073741824)!==0&&(Xe&261930)===0?r.memoizedState=l:(r.memoizedState=c,r=Jm(),Ge.lanes|=r,Fs|=r,c)}function JN(r,l,c,f){return bn(c,l)?c:xl.current!==null?(r=fT(r,c,f),bn(r,l)||(Ut=!0),r):(ss&42)===0||(ss&1073741824)!==0&&(Xe&261930)===0?(Ut=!0,r.memoizedState=c):(r=Jm(),Ge.lanes|=r,Fs|=r,l)}function qN(r,l,c,f,d){var S=z.p;z.p=S!==0&&8>S?S:8;var I=x.T,g={};x.T=g,dT(r,!1,l,c);try{var y=d(),k=x.S;if(k!==null&&k(g,y),y!==null&&typeof y=="object"&&typeof y.then=="function"){var $=i0(y,f);ca(r,l,$,Fn(r))}else ca(r,l,f,Fn(r))}catch(te){ca(r,l,{then:function(){},status:"rejected",reason:te},Fn())}finally{z.p=S,I!==null&&g.types!==null&&(I.types=g.types),x.T=I}}function c0(){}function hT(r,l,c,f){if(r.tag!==5)throw Error(i(476));var d=QN(r).queue;qN(r,d,l,ne,c===null?c0:function(){return ZN(r),c(f)})}function QN(r){var l=r.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:rs,lastRenderedState:ne},next:null};var c={};return l.next={memoizedState:c,baseState:c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:rs,lastRenderedState:c},next:null},r.memoizedState=l,r=r.alternate,r!==null&&(r.memoizedState=l),l}function ZN(r){var l=QN(r);l.next===null&&(l=r.alternate.memoizedState),ca(r,l.next.queue,{},Fn())}function TT(){return en(La)}function em(){return Lt().memoizedState}function tm(){return Lt().memoizedState}function u0(r){for(var l=r.return;l!==null;){switch(l.tag){case 24:case 3:var c=Fn();r=bs(c);var f=xs(l,r,c);f!==null&&(Cn(f,l,c),sa(f,l,c)),l={cache:Vh()},r.payload=l;return}l=l.return}}function E0(r,l,c){var f=Fn();c={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},du(r)?im(l,c):(c=vh(r,l,c,f),c!==null&&(Cn(c,r,f),sm(c,l,f)))}function nm(r,l,c){var f=Fn();ca(r,l,c,f)}function ca(r,l,c,f){var d={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null};if(du(r))im(l,d);else{var S=r.alternate;if(r.lanes===0&&(S===null||S.lanes===0)&&(S=l.lastRenderedReducer,S!==null))try{var I=l.lastRenderedState,g=S(I,c);if(d.hasEagerState=!0,d.eagerState=g,bn(g,I))return jc(r,l,d,0),ot===null&&$c(),!1}catch{}finally{}if(c=vh(r,l,d,f),c!==null)return Cn(c,r,f),sm(c,l,f),!0}return!1}function dT(r,l,c,f){if(f={lane:2,revertLane:zT(),gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},du(r)){if(l)throw Error(i(479))}else l=vh(r,c,f,2),l!==null&&Cn(l,r,2)}function du(r){var l=r.alternate;return r===Ge||l!==null&&l===Ge}function im(r,l){Bl=au=!0;var c=r.pending;c===null?l.next=l:(l.next=c.next,c.next=l),r.pending=l}function sm(r,l,c){if((c&4194048)!==0){var f=l.lanes;f&=r.pendingLanes,c|=f,l.lanes=c,cO(r,c)}}var ua={readContext:en,use:Eu,useCallback:Ot,useContext:Ot,useEffect:Ot,useImperativeHandle:Ot,useLayoutEffect:Ot,useInsertionEffect:Ot,useMemo:Ot,useReducer:Ot,useRef:Ot,useState:Ot,useDebugValue:Ot,useDeferredValue:Ot,useTransition:Ot,useSyncExternalStore:Ot,useId:Ot,useHostTransitionStatus:Ot,useFormState:Ot,useActionState:Ot,useOptimistic:Ot,useMemoCache:Ot,useCacheRefresh:Ot};ua.useEffectEvent=Ot;var rm={readContext:en,use:Eu,useCallback:function(r,l){return fn().memoizedState=[r,l===void 0?null:l],r},useContext:en,useEffect:kN,useImperativeHandle:function(r,l,c){c=c!=null?c.concat([r]):null,hu(4194308,4,KN.bind(null,l,r),c)},useLayoutEffect:function(r,l){return hu(4194308,4,r,l)},useInsertionEffect:function(r,l){hu(4,2,r,l)},useMemo:function(r,l){var c=fn();l=l===void 0?null:l;var f=r();if(Hr){Ls(!0);try{r()}finally{Ls(!1)}}return c.memoizedState=[f,l],f},useReducer:function(r,l,c){var f=fn();if(c!==void 0){var d=c(l);if(Hr){Ls(!0);try{c(l)}finally{Ls(!1)}}}else d=l;return f.memoizedState=f.baseState=d,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:d},f.queue=r,r=r.dispatch=E0.bind(null,Ge,r),[f.memoizedState,r]},useRef:function(r){var l=fn();return r={current:r},l.memoizedState=r},useState:function(r){r=aT(r);var l=r.queue,c=nm.bind(null,Ge,l);return l.dispatch=c,[r.memoizedState,c]},useDebugValue:ET,useDeferredValue:function(r,l){var c=fn();return fT(c,r,l)},useTransition:function(){var r=aT(!1);return r=qN.bind(null,Ge,r.queue,!0,!1),fn().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,l,c){var f=Ge,d=fn();if(ze){if(c===void 0)throw Error(i(407));c=c()}else{if(c=l(),ot===null)throw Error(i(349));(Xe&127)!==0||LN(f,l,c)}d.memoizedState=c;var S={value:c,getSnapshot:l};return d.queue=S,kN(DN.bind(null,f,S,r),[r]),f.flags|=2048,Hl(9,{destroy:void 0},_N.bind(null,f,S,c,l),null),c},useId:function(){var r=fn(),l=ot.identifierPrefix;if(ze){var c=Li,f=gi;c=(f&~(1<<32-Un(f)-1)).toString(32)+c,l="_"+l+"R_"+c,c=cu++,0<c&&(l+="H"+c.toString(32)),l+="_"}else c=s0++,l="_"+l+"r_"+c.toString(32)+"_";return r.memoizedState=l},useHostTransitionStatus:TT,useFormState:GN,useActionState:GN,useOptimistic:function(r){var l=fn();l.memoizedState=l.baseState=r;var c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return l.queue=c,l=dT.bind(null,Ge,!0,c),c.dispatch=l,[r,l]},useMemoCache:rT,useCacheRefresh:function(){return fn().memoizedState=u0.bind(null,Ge)},useEffectEvent:function(r){var l=fn(),c={impl:r};return l.memoizedState=c,function(){if((Ze&2)!==0)throw Error(i(440));return c.impl.apply(void 0,arguments)}}},AT={readContext:en,use:Eu,useCallback:$N,useContext:en,useEffect:uT,useImperativeHandle:zN,useInsertionEffect:WN,useLayoutEffect:XN,useMemo:jN,useReducer:fu,useRef:YN,useState:function(){return fu(rs)},useDebugValue:ET,useDeferredValue:function(r,l){var c=Lt();return JN(c,nt.memoizedState,r,l)},useTransition:function(){var r=fu(rs)[0],l=Lt().memoizedState;return[typeof r=="boolean"?r:aa(r),l]},useSyncExternalStore:gN,useId:em,useHostTransitionStatus:TT,useFormState:HN,useActionState:HN,useOptimistic:function(r,l){var c=Lt();return yN(c,nt,r,l)},useMemoCache:rT,useCacheRefresh:tm};AT.useEffectEvent=VN;var lm={readContext:en,use:Eu,useCallback:$N,useContext:en,useEffect:uT,useImperativeHandle:zN,useInsertionEffect:WN,useLayoutEffect:XN,useMemo:jN,useReducer:oT,useRef:YN,useState:function(){return oT(rs)},useDebugValue:ET,useDeferredValue:function(r,l){var c=Lt();return nt===null?fT(c,r,l):JN(c,nt.memoizedState,r,l)},useTransition:function(){var r=oT(rs)[0],l=Lt().memoizedState;return[typeof r=="boolean"?r:aa(r),l]},useSyncExternalStore:gN,useId:em,useHostTransitionStatus:TT,useFormState:FN,useActionState:FN,useOptimistic:function(r,l){var c=Lt();return nt!==null?yN(c,nt,r,l):(c.baseState=r,[r,c.queue.dispatch])},useMemoCache:rT,useCacheRefresh:tm};lm.useEffectEvent=VN;function ST(r,l,c,f){l=r.memoizedState,c=c(f,l),c=c==null?l:A({},l,c),r.memoizedState=c,r.lanes===0&&(r.updateQueue.baseState=c)}var RT={enqueueSetState:function(r,l,c){r=r._reactInternals;var f=Fn(),d=bs(f);d.payload=l,c!=null&&(d.callback=c),l=xs(r,d,f),l!==null&&(Cn(l,r,f),sa(l,r,f))},enqueueReplaceState:function(r,l,c){r=r._reactInternals;var f=Fn(),d=bs(f);d.tag=1,d.payload=l,c!=null&&(d.callback=c),l=xs(r,d,f),l!==null&&(Cn(l,r,f),sa(l,r,f))},enqueueForceUpdate:function(r,l){r=r._reactInternals;var c=Fn(),f=bs(c);f.tag=2,l!=null&&(f.callback=l),l=xs(r,f,c),l!==null&&(Cn(l,r,c),sa(l,r,c))}};function om(r,l,c,f,d,S,I){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,S,I):l.prototype&&l.prototype.isPureReactComponent?!Jo(c,f)||!Jo(d,S):!0}function am(r,l,c,f){r=l.state,typeof l.componentWillReceiveProps=="function"&&l.componentWillReceiveProps(c,f),typeof l.UNSAFE_componentWillReceiveProps=="function"&&l.UNSAFE_componentWillReceiveProps(c,f),l.state!==r&&RT.enqueueReplaceState(l,l.state,null)}function wr(r,l){var c=l;if("ref"in l){c={};for(var f in l)f!=="ref"&&(c[f]=l[f])}if(r=r.defaultProps){c===l&&(c=A({},c));for(var d in r)c[d]===void 0&&(c[d]=r[d])}return c}function cm(r){zc(r)}function um(r){console.error(r)}function Em(r){zc(r)}function Au(r,l){try{var c=r.onUncaughtError;c(l.value,{componentStack:l.stack})}catch(f){setTimeout(function(){throw f})}}function fm(r,l,c){try{var f=r.onCaughtError;f(c.value,{componentStack:c.stack,errorBoundary:l.tag===1?l.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function OT(r,l,c){return c=bs(c),c.tag=3,c.payload={element:null},c.callback=function(){Au(r,l)},c}function hm(r){return r=bs(r),r.tag=3,r}function Tm(r,l,c,f){var d=c.type.getDerivedStateFromError;if(typeof d=="function"){var S=f.value;r.payload=function(){return d(S)},r.callback=function(){fm(l,c,f)}}var I=c.stateNode;I!==null&&typeof I.componentDidCatch=="function"&&(r.callback=function(){fm(l,c,f),typeof d!="function"&&(Ys===null?Ys=new Set([this]):Ys.add(this));var g=f.stack;this.componentDidCatch(f.value,{componentStack:g!==null?g:""})})}function f0(r,l,c,f,d){if(c.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(l=c.alternate,l!==null&&Pl(l,c,d,!0),c=Bn.current,c!==null){switch(c.tag){case 31:case 13:return ti===null?Du():c.alternate===null&&Nt===0&&(Nt=3),c.flags&=-257,c.flags|=65536,c.lanes=d,f===iu?c.flags|=16384:(l=c.updateQueue,l===null?c.updateQueue=new Set([f]):l.add(f),WT(r,f,d)),!1;case 22:return c.flags|=65536,f===iu?c.flags|=16384:(l=c.updateQueue,l===null?(l={transitions:null,markerInstances:null,retryQueue:new Set([f])},c.updateQueue=l):(c=l.retryQueue,c===null?l.retryQueue=new Set([f]):c.add(f)),WT(r,f,d)),!1}throw Error(i(435,c.tag))}return WT(r,f,d),Du(),!1}if(ze)return l=Bn.current,l!==null?((l.flags&65536)===0&&(l.flags|=256),l.flags|=65536,l.lanes=d,f!==Hh&&(r=Error(i(422),{cause:f}),Zo(qn(r,c)))):(f!==Hh&&(l=Error(i(423),{cause:f}),Zo(qn(l,c))),r=r.current.alternate,r.flags|=65536,d&=-d,r.lanes|=d,f=qn(f,c),d=OT(r.stateNode,f,d),jh(r,d),Nt!==4&&(Nt=2)),!1;var S=Error(i(520),{cause:f});if(S=qn(S,c),Ra===null?Ra=[S]:Ra.push(S),Nt!==4&&(Nt=2),l===null)return!0;f=qn(f,c),c=l;do{switch(c.tag){case 3:return c.flags|=65536,r=d&-d,c.lanes|=r,r=OT(c.stateNode,f,r),jh(c,r),!1;case 1:if(l=c.type,S=c.stateNode,(c.flags&128)===0&&(typeof l.getDerivedStateFromError=="function"||S!==null&&typeof S.componentDidCatch=="function"&&(Ys===null||!Ys.has(S))))return c.flags|=65536,d&=-d,c.lanes|=d,d=hm(d),Tm(d,r,c,f),jh(c,d),!1}c=c.return}while(c!==null);return!1}var NT=Error(i(461)),Ut=!1;function tn(r,l,c,f){l.child=r===null?RN(l,null,c,f):Gr(l,r.child,c,f)}function dm(r,l,c,f,d){c=c.render;var S=l.ref;if("ref"in f){var I={};for(var g in f)g!=="ref"&&(I[g]=f[g])}else I=f;return Ur(l),f=tT(r,l,c,I,S,d),g=nT(),r!==null&&!Ut?(iT(r,l,d),ls(r,l,d)):(ze&&g&&Bh(l),l.flags|=1,tn(r,l,f,d),l.child)}function Am(r,l,c,f,d){if(r===null){var S=c.type;return typeof S=="function"&&!Uh(S)&&S.defaultProps===void 0&&c.compare===null?(l.tag=15,l.type=S,Sm(r,l,S,f,d)):(r=qc(c.type,null,f,l,l.mode,d),r.ref=l.ref,r.return=l,l.child=r)}if(S=r.child,!DT(r,d)){var I=S.memoizedProps;if(c=c.compare,c=c!==null?c:Jo,c(I,f)&&r.ref===l.ref)return ls(r,l,d)}return l.flags|=1,r=es(S,f),r.ref=l.ref,r.return=l,l.child=r}function Sm(r,l,c,f,d){if(r!==null){var S=r.memoizedProps;if(Jo(S,f)&&r.ref===l.ref)if(Ut=!1,l.pendingProps=f=S,DT(r,d))(r.flags&131072)!==0&&(Ut=!0);else return l.lanes=r.lanes,ls(r,l,d)}return mT(r,l,c,f,d)}function Rm(r,l,c,f){var d=f.children,S=r!==null?r.memoizedState:null;if(r===null&&l.stateNode===null&&(l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),f.mode==="hidden"){if((l.flags&128)!==0){if(S=S!==null?S.baseLanes|c:c,r!==null){for(f=l.child=r.child,d=0;f!==null;)d=d|f.lanes|f.childLanes,f=f.sibling;f=d&~S}else f=0,l.child=null;return Om(r,l,S,c,f)}if((c&536870912)!==0)l.memoizedState={baseLanes:0,cachePool:null},r!==null&&tu(l,S!==null?S.cachePool:null),S!==null?mN(l,S):qh(),IN(l);else return f=l.lanes=536870912,Om(r,l,S!==null?S.baseLanes|c:c,c,f)}else S!==null?(tu(l,S.cachePool),mN(l,S),Gs(),l.memoizedState=null):(r!==null&&tu(l,null),qh(),Gs());return tn(r,l,d,c),l.child}function Ea(r,l){return r!==null&&r.tag===22||l.stateNode!==null||(l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.sibling}function Om(r,l,c,f,d){var S=Xh();return S=S===null?null:{parent:yt._currentValue,pool:S},l.memoizedState={baseLanes:c,cachePool:S},r!==null&&tu(l,null),qh(),IN(l),r!==null&&Pl(r,l,f,!0),l.childLanes=d,null}function Su(r,l){return l=Ou({mode:l.mode,children:l.children},r.mode),l.ref=r.ref,r.child=l,l.return=r,l}function Nm(r,l,c){return Gr(l,r.child,null,c),r=Su(l,l.pendingProps),r.flags|=2,Gn(l),l.memoizedState=null,r}function h0(r,l,c){var f=l.pendingProps,d=(l.flags&128)!==0;if(l.flags&=-129,r===null){if(ze){if(f.mode==="hidden")return r=Su(l,f),l.lanes=536870912,Ea(null,r);if(Zh(l),(r=ft)?(r=vI(r,ei),r=r!==null&&r.data==="&"?r:null,r!==null&&(l.memoizedState={dehydrated:r,treeContext:Ms!==null?{id:gi,overflow:Li}:null,retryLane:536870912,hydrationErrors:null},c=iN(r),c.return=l,l.child=c,Zt=l,ft=null)):r=null,r===null)throw ys(l);return l.lanes=536870912,null}return Su(l,f)}var S=r.memoizedState;if(S!==null){var I=S.dehydrated;if(Zh(l),d)if(l.flags&256)l.flags&=-257,l=Nm(r,l,c);else if(l.memoizedState!==null)l.child=r.child,l.flags|=128,l=null;else throw Error(i(558));else if(Ut||Pl(r,l,c,!1),d=(c&r.childLanes)!==0,Ut||d){if(f=ot,f!==null&&(I=uO(f,c),I!==0&&I!==S.retryLane))throw S.retryLane=I,Mr(r,I),Cn(f,r,I),NT;Du(),l=Nm(r,l,c)}else r=S.treeContext,ft=ni(I.nextSibling),Zt=l,ze=!0,Ps=null,ei=!1,r!==null&&lN(l,r),l=Su(l,f),l.flags|=4096;return l}return r=es(r.child,{mode:f.mode,children:f.children}),r.ref=l.ref,l.child=r,r.return=l,r}function Ru(r,l){var c=l.ref;if(c===null)r!==null&&r.ref!==null&&(l.flags|=4194816);else{if(typeof c!="function"&&typeof c!="object")throw Error(i(284));(r===null||r.ref!==c)&&(l.flags|=4194816)}}function mT(r,l,c,f,d){return Ur(l),c=tT(r,l,c,f,void 0,d),f=nT(),r!==null&&!Ut?(iT(r,l,d),ls(r,l,d)):(ze&&f&&Bh(l),l.flags|=1,tn(r,l,c,d),l.child)}function mm(r,l,c,f,d,S){return Ur(l),l.updateQueue=null,c=CN(l,f,c,d),pN(r),f=nT(),r!==null&&!Ut?(iT(r,l,S),ls(r,l,S)):(ze&&f&&Bh(l),l.flags|=1,tn(r,l,c,S),l.child)}function Im(r,l,c,f,d){if(Ur(l),l.stateNode===null){var S=Ll,I=c.contextType;typeof I=="object"&&I!==null&&(S=en(I)),S=new c(f,S),l.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,S.updater=RT,l.stateNode=S,S._reactInternals=l,S=l.stateNode,S.props=f,S.state=l.memoizedState,S.refs={},zh(l),I=c.contextType,S.context=typeof I=="object"&&I!==null?en(I):Ll,S.state=l.memoizedState,I=c.getDerivedStateFromProps,typeof I=="function"&&(ST(l,c,I,f),S.state=l.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof S.getSnapshotBeforeUpdate=="function"||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(I=S.state,typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount(),I!==S.state&&RT.enqueueReplaceState(S,S.state,null),la(l,f,S,d),ra(),S.state=l.memoizedState),typeof S.componentDidMount=="function"&&(l.flags|=4194308),f=!0}else if(r===null){S=l.stateNode;var g=l.memoizedProps,y=wr(c,g);S.props=y;var k=S.context,$=c.contextType;I=Ll,typeof $=="object"&&$!==null&&(I=en($));var te=c.getDerivedStateFromProps;$=typeof te=="function"||typeof S.getSnapshotBeforeUpdate=="function",g=l.pendingProps!==g,$||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(g||k!==I)&&am(l,S,f,I),Us=!1;var W=l.memoizedState;S.state=W,la(l,f,S,d),ra(),k=l.memoizedState,g||W!==k||Us?(typeof te=="function"&&(ST(l,c,te,f),k=l.memoizedState),(y=Us||om(l,c,y,f,W,k,I))?($||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount()),typeof S.componentDidMount=="function"&&(l.flags|=4194308)):(typeof S.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=f,l.memoizedState=k),S.props=f,S.state=k,S.context=I,f=y):(typeof S.componentDidMount=="function"&&(l.flags|=4194308),f=!1)}else{S=l.stateNode,$h(r,l),I=l.memoizedProps,$=wr(c,I),S.props=$,te=l.pendingProps,W=S.context,k=c.contextType,y=Ll,typeof k=="object"&&k!==null&&(y=en(k)),g=c.getDerivedStateFromProps,(k=typeof g=="function"||typeof S.getSnapshotBeforeUpdate=="function")||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(I!==te||W!==y)&&am(l,S,f,y),Us=!1,W=l.memoizedState,S.state=W,la(l,f,S,d),ra();var K=l.memoizedState;I!==te||W!==K||Us||r!==null&&r.dependencies!==null&&Zc(r.dependencies)?(typeof g=="function"&&(ST(l,c,g,f),K=l.memoizedState),($=Us||om(l,c,$,f,W,K,y)||r!==null&&r.dependencies!==null&&Zc(r.dependencies))?(k||typeof S.UNSAFE_componentWillUpdate!="function"&&typeof S.componentWillUpdate!="function"||(typeof S.componentWillUpdate=="function"&&S.componentWillUpdate(f,K,y),typeof S.UNSAFE_componentWillUpdate=="function"&&S.UNSAFE_componentWillUpdate(f,K,y)),typeof S.componentDidUpdate=="function"&&(l.flags|=4),typeof S.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof S.componentDidUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=1024),l.memoizedProps=f,l.memoizedState=K),S.props=f,S.state=K,S.context=y,f=$):(typeof S.componentDidUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=1024),f=!1)}return S=f,Ru(r,l),f=(l.flags&128)!==0,S||f?(S=l.stateNode,c=f&&typeof c.getDerivedStateFromError!="function"?null:S.render(),l.flags|=1,r!==null&&f?(l.child=Gr(l,r.child,null,d),l.child=Gr(l,null,c,d)):tn(r,l,c,d),l.memoizedState=S.state,r=l.child):r=ls(r,l,d),r}function pm(r,l,c,f){return yr(),l.flags|=256,tn(r,l,c,f),l.child}var IT={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function pT(r){return{baseLanes:r,cachePool:fN()}}function CT(r,l,c){return r=r!==null?r.childLanes&~c:0,l&&(r|=wn),r}function Cm(r,l,c){var f=l.pendingProps,d=!1,S=(l.flags&128)!==0,I;if((I=S)||(I=r!==null&&r.memoizedState===null?!1:(gt.current&2)!==0),I&&(d=!0,l.flags&=-129),I=(l.flags&32)!==0,l.flags&=-33,r===null){if(ze){if(d?Bs(l):Gs(),(r=ft)?(r=vI(r,ei),r=r!==null&&r.data!=="&"?r:null,r!==null&&(l.memoizedState={dehydrated:r,treeContext:Ms!==null?{id:gi,overflow:Li}:null,retryLane:536870912,hydrationErrors:null},c=iN(r),c.return=l,l.child=c,Zt=l,ft=null)):r=null,r===null)throw ys(l);return ld(r)?l.lanes=32:l.lanes=536870912,null}var g=f.children;return f=f.fallback,d?(Gs(),d=l.mode,g=Ou({mode:"hidden",children:g},d),f=Pr(f,d,c,null),g.return=l,f.return=l,g.sibling=f,l.child=g,f=l.child,f.memoizedState=pT(c),f.childLanes=CT(r,I,c),l.memoizedState=IT,Ea(null,f)):(Bs(l),gT(l,g))}var y=r.memoizedState;if(y!==null&&(g=y.dehydrated,g!==null)){if(S)l.flags&256?(Bs(l),l.flags&=-257,l=LT(r,l,c)):l.memoizedState!==null?(Gs(),l.child=r.child,l.flags|=128,l=null):(Gs(),g=f.fallback,d=l.mode,f=Ou({mode:"visible",children:f.children},d),g=Pr(g,d,c,null),g.flags|=2,f.return=l,g.return=l,f.sibling=g,l.child=f,Gr(l,r.child,null,c),f=l.child,f.memoizedState=pT(c),f.childLanes=CT(r,I,c),l.memoizedState=IT,l=Ea(null,f));else if(Bs(l),ld(g)){if(I=g.nextSibling&&g.nextSibling.dataset,I)var k=I.dgst;I=k,f=Error(i(419)),f.stack="",f.digest=I,Zo({value:f,source:null,stack:null}),l=LT(r,l,c)}else if(Ut||Pl(r,l,c,!1),I=(c&r.childLanes)!==0,Ut||I){if(I=ot,I!==null&&(f=uO(I,c),f!==0&&f!==y.retryLane))throw y.retryLane=f,Mr(r,f),Cn(I,r,f),NT;rd(g)||Du(),l=LT(r,l,c)}else rd(g)?(l.flags|=192,l.child=r.child,l=null):(r=y.treeContext,ft=ni(g.nextSibling),Zt=l,ze=!0,Ps=null,ei=!1,r!==null&&lN(l,r),l=gT(l,f.children),l.flags|=4096);return l}return d?(Gs(),g=f.fallback,d=l.mode,y=r.child,k=y.sibling,f=es(y,{mode:"hidden",children:f.children}),f.subtreeFlags=y.subtreeFlags&65011712,k!==null?g=es(k,g):(g=Pr(g,d,c,null),g.flags|=2),g.return=l,f.return=l,f.sibling=g,l.child=f,Ea(null,f),f=l.child,g=r.child.memoizedState,g===null?g=pT(c):(d=g.cachePool,d!==null?(y=yt._currentValue,d=d.parent!==y?{parent:y,pool:y}:d):d=fN(),g={baseLanes:g.baseLanes|c,cachePool:d}),f.memoizedState=g,f.childLanes=CT(r,I,c),l.memoizedState=IT,Ea(r.child,f)):(Bs(l),c=r.child,r=c.sibling,c=es(c,{mode:"visible",children:f.children}),c.return=l,c.sibling=null,r!==null&&(I=l.deletions,I===null?(l.deletions=[r],l.flags|=16):I.push(r)),l.child=c,l.memoizedState=null,c)}function gT(r,l){return l=Ou({mode:"visible",children:l},r.mode),l.return=r,r.child=l}function Ou(r,l){return r=xn(22,r,null,l),r.lanes=0,r}function LT(r,l,c){return Gr(l,r.child,null,c),r=gT(l,l.pendingProps.children),r.flags|=2,l.memoizedState=null,r}function gm(r,l,c){r.lanes|=l;var f=r.alternate;f!==null&&(f.lanes|=l),Yh(r.return,l,c)}function _T(r,l,c,f,d,S){var I=r.memoizedState;I===null?r.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:f,tail:c,tailMode:d,treeForkCount:S}:(I.isBackwards=l,I.rendering=null,I.renderingStartTime=0,I.last=f,I.tail=c,I.tailMode=d,I.treeForkCount=S)}function Lm(r,l,c){var f=l.pendingProps,d=f.revealOrder,S=f.tail;f=f.children;var I=gt.current,g=(I&2)!==0;if(g?(I=I&1|2,l.flags|=128):I&=1,le(gt,I),tn(r,l,f,c),f=ze?Qo:0,!g&&r!==null&&(r.flags&128)!==0)e:for(r=l.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&gm(r,c,l);else if(r.tag===19)gm(r,c,l);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===l)break e;for(;r.sibling===null;){if(r.return===null||r.return===l)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}switch(d){case"forwards":for(c=l.child,d=null;c!==null;)r=c.alternate,r!==null&&ou(r)===null&&(d=c),c=c.sibling;c=d,c===null?(d=l.child,l.child=null):(d=c.sibling,c.sibling=null),_T(l,!1,d,c,S,f);break;case"backwards":case"unstable_legacy-backwards":for(c=null,d=l.child,l.child=null;d!==null;){if(r=d.alternate,r!==null&&ou(r)===null){l.child=d;break}r=d.sibling,d.sibling=c,c=d,d=r}_T(l,!0,c,null,S,f);break;case"together":_T(l,!1,null,null,void 0,f);break;default:l.memoizedState=null}return l.child}function ls(r,l,c){if(r!==null&&(l.dependencies=r.dependencies),Fs|=l.lanes,(c&l.childLanes)===0)if(r!==null){if(Pl(r,l,c,!1),(c&l.childLanes)===0)return null}else return null;if(r!==null&&l.child!==r.child)throw Error(i(153));if(l.child!==null){for(r=l.child,c=es(r,r.pendingProps),l.child=c,c.return=l;r.sibling!==null;)r=r.sibling,c=c.sibling=es(r,r.pendingProps),c.return=l;c.sibling=null}return l.child}function DT(r,l){return(r.lanes&l)!==0?!0:(r=r.dependencies,!!(r!==null&&Zc(r)))}function T0(r,l,c){switch(l.tag){case 3:_e(l,l.stateNode.containerInfo),vs(l,yt,r.memoizedState.cache),yr();break;case 27:case 5:Be(l);break;case 4:_e(l,l.stateNode.containerInfo);break;case 10:vs(l,l.type,l.memoizedProps.value);break;case 31:if(l.memoizedState!==null)return l.flags|=128,Zh(l),null;break;case 13:var f=l.memoizedState;if(f!==null)return f.dehydrated!==null?(Bs(l),l.flags|=128,null):(c&l.child.childLanes)!==0?Cm(r,l,c):(Bs(l),r=ls(r,l,c),r!==null?r.sibling:null);Bs(l);break;case 19:var d=(r.flags&128)!==0;if(f=(c&l.childLanes)!==0,f||(Pl(r,l,c,!1),f=(c&l.childLanes)!==0),d){if(f)return Lm(r,l,c);l.flags|=128}if(d=l.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),le(gt,gt.current),f)break;return null;case 22:return l.lanes=0,Rm(r,l,c,l.pendingProps);case 24:vs(l,yt,r.memoizedState.cache)}return ls(r,l,c)}function _m(r,l,c){if(r!==null)if(r.memoizedProps!==l.pendingProps)Ut=!0;else{if(!DT(r,c)&&(l.flags&128)===0)return Ut=!1,T0(r,l,c);Ut=(r.flags&131072)!==0}else Ut=!1,ze&&(l.flags&1048576)!==0&&rN(l,Qo,l.index);switch(l.lanes=0,l.tag){case 16:e:{var f=l.pendingProps;if(r=xr(l.elementType),l.type=r,typeof r=="function")Uh(r)?(f=wr(r,f),l.tag=1,l=Im(null,l,r,f,c)):(l.tag=0,l=mT(null,l,r,f,c));else{if(r!=null){var d=r.$$typeof;if(d===v){l.tag=11,l=dm(null,l,r,f,c);break e}else if(d===B){l.tag=14,l=Am(null,l,r,f,c);break e}}throw l=ae(r)||r,Error(i(306,l,""))}}return l;case 0:return mT(r,l,l.type,l.pendingProps,c);case 1:return f=l.type,d=wr(f,l.pendingProps),Im(r,l,f,d,c);case 3:e:{if(_e(l,l.stateNode.containerInfo),r===null)throw Error(i(387));f=l.pendingProps;var S=l.memoizedState;d=S.element,$h(r,l),la(l,f,null,c);var I=l.memoizedState;if(f=I.cache,vs(l,yt,f),f!==S.cache&&kh(l,[yt],c,!0),ra(),f=I.element,S.isDehydrated)if(S={element:f,isDehydrated:!1,cache:I.cache},l.updateQueue.baseState=S,l.memoizedState=S,l.flags&256){l=pm(r,l,f,c);break e}else if(f!==d){d=qn(Error(i(424)),l),Zo(d),l=pm(r,l,f,c);break e}else{switch(r=l.stateNode.containerInfo,r.nodeType){case 9:r=r.body;break;default:r=r.nodeName==="HTML"?r.ownerDocument.body:r}for(ft=ni(r.firstChild),Zt=l,ze=!0,Ps=null,ei=!0,c=RN(l,null,f,c),l.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling}else{if(yr(),f===d){l=ls(r,l,c);break e}tn(r,l,f,c)}l=l.child}return l;case 26:return Ru(r,l),r===null?(c=HI(l.type,null,l.pendingProps,null))?l.memoizedState=c:ze||(c=l.type,r=l.pendingProps,f=xu(Se.current).createElement(c),f[Qt]=l,f[Rn]=r,nn(f,c,r),kt(f),l.stateNode=f):l.memoizedState=HI(l.type,r.memoizedProps,l.pendingProps,r.memoizedState),null;case 27:return Be(l),r===null&&ze&&(f=l.stateNode=xI(l.type,l.pendingProps,Se.current),Zt=l,ei=!0,d=ft,Xs(l.type)?(od=d,ft=ni(f.firstChild)):ft=d),tn(r,l,l.pendingProps.children,c),Ru(r,l),r===null&&(l.flags|=4194304),l.child;case 5:return r===null&&ze&&((d=f=ft)&&(f=W0(f,l.type,l.pendingProps,ei),f!==null?(l.stateNode=f,Zt=l,ft=ni(f.firstChild),ei=!1,d=!0):d=!1),d||ys(l)),Be(l),d=l.type,S=l.pendingProps,I=r!==null?r.memoizedProps:null,f=S.children,nd(d,S)?f=null:I!==null&&nd(d,I)&&(l.flags|=32),l.memoizedState!==null&&(d=tT(r,l,r0,null,null,c),La._currentValue=d),Ru(r,l),tn(r,l,f,c),l.child;case 6:return r===null&&ze&&((r=c=ft)&&(c=X0(c,l.pendingProps,ei),c!==null?(l.stateNode=c,Zt=l,ft=null,r=!0):r=!1),r||ys(l)),null;case 13:return Cm(r,l,c);case 4:return _e(l,l.stateNode.containerInfo),f=l.pendingProps,r===null?l.child=Gr(l,null,f,c):tn(r,l,f,c),l.child;case 11:return dm(r,l,l.type,l.pendingProps,c);case 7:return tn(r,l,l.pendingProps,c),l.child;case 8:return tn(r,l,l.pendingProps.children,c),l.child;case 12:return tn(r,l,l.pendingProps.children,c),l.child;case 10:return f=l.pendingProps,vs(l,l.type,f.value),tn(r,l,f.children,c),l.child;case 9:return d=l.type._context,f=l.pendingProps.children,Ur(l),d=en(d),f=f(d),l.flags|=1,tn(r,l,f,c),l.child;case 14:return Am(r,l,l.type,l.pendingProps,c);case 15:return Sm(r,l,l.type,l.pendingProps,c);case 19:return Lm(r,l,c);case 31:return h0(r,l,c);case 22:return Rm(r,l,c,l.pendingProps);case 24:return Ur(l),f=en(yt),r===null?(d=Xh(),d===null&&(d=ot,S=Vh(),d.pooledCache=S,S.refCount++,S!==null&&(d.pooledCacheLanes|=c),d=S),l.memoizedState={parent:f,cache:d},zh(l),vs(l,yt,d)):((r.lanes&c)!==0&&($h(r,l),la(l,null,null,c),ra()),d=r.memoizedState,S=l.memoizedState,d.parent!==f?(d={parent:f,cache:f},l.memoizedState=d,l.lanes===0&&(l.memoizedState=l.updateQueue.baseState=d),vs(l,yt,f)):(f=S.cache,vs(l,yt,f),f!==d.cache&&kh(l,[yt],c,!0))),tn(r,l,l.pendingProps.children,c),l.child;case 29:throw l.pendingProps}throw Error(i(156,l.tag))}function os(r){r.flags|=4}function MT(r,l,c,f,d){if((l=(r.mode&32)!==0)&&(l=!1),l){if(r.flags|=16777216,(d&335544128)===d)if(r.stateNode.complete)r.flags|=8192;else if(eI())r.flags|=8192;else throw Br=iu,Kh}else r.flags&=-16777217}function Dm(r,l){if(l.type!=="stylesheet"||(l.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!VI(l))if(eI())r.flags|=8192;else throw Br=iu,Kh}function Nu(r,l){l!==null&&(r.flags|=4),r.flags&16384&&(l=r.tag!==22?oO():536870912,r.lanes|=l,kl|=l)}function fa(r,l){if(!ze)switch(r.tailMode){case"hidden":l=r.tail;for(var c=null;l!==null;)l.alternate!==null&&(c=l),l=l.sibling;c===null?r.tail=null:c.sibling=null;break;case"collapsed":c=r.tail;for(var f=null;c!==null;)c.alternate!==null&&(f=c),c=c.sibling;f===null?l||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function ht(r){var l=r.alternate!==null&&r.alternate.child===r.child,c=0,f=0;if(l)for(var d=r.child;d!==null;)c|=d.lanes|d.childLanes,f|=d.subtreeFlags&65011712,f|=d.flags&65011712,d.return=r,d=d.sibling;else for(d=r.child;d!==null;)c|=d.lanes|d.childLanes,f|=d.subtreeFlags,f|=d.flags,d.return=r,d=d.sibling;return r.subtreeFlags|=f,r.childLanes=c,l}function d0(r,l,c){var f=l.pendingProps;switch(Gh(l),l.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ht(l),null;case 1:return ht(l),null;case 3:return c=l.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),l.memoizedState.cache!==f&&(l.flags|=2048),is(yt),Ne(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(r===null||r.child===null)&&(Ml(l)?os(l):r===null||r.memoizedState.isDehydrated&&(l.flags&256)===0||(l.flags|=1024,wh())),ht(l),null;case 26:var d=l.type,S=l.memoizedState;return r===null?(os(l),S!==null?(ht(l),Dm(l,S)):(ht(l),MT(l,d,null,f,c))):S?S!==r.memoizedState?(os(l),ht(l),Dm(l,S)):(ht(l),l.flags&=-16777217):(r=r.memoizedProps,r!==f&&os(l),ht(l),MT(l,d,r,f,c)),null;case 27:if(ye(l),c=Se.current,d=l.type,r!==null&&l.stateNode!=null)r.memoizedProps!==f&&os(l);else{if(!f){if(l.stateNode===null)throw Error(i(166));return ht(l),null}r=se.current,Ml(l)?oN(l):(r=xI(d,f,c),l.stateNode=r,os(l))}return ht(l),null;case 5:if(ye(l),d=l.type,r!==null&&l.stateNode!=null)r.memoizedProps!==f&&os(l);else{if(!f){if(l.stateNode===null)throw Error(i(166));return ht(l),null}if(S=se.current,Ml(l))oN(l);else{var I=xu(Se.current);switch(S){case 1:S=I.createElementNS("http://www.w3.org/2000/svg",d);break;case 2:S=I.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;default:switch(d){case"svg":S=I.createElementNS("http://www.w3.org/2000/svg",d);break;case"math":S=I.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;case"script":S=I.createElement("div"),S.innerHTML="<script><\/script>",S=S.removeChild(S.firstChild);break;case"select":S=typeof f.is=="string"?I.createElement("select",{is:f.is}):I.createElement("select"),f.multiple?S.multiple=!0:f.size&&(S.size=f.size);break;default:S=typeof f.is=="string"?I.createElement(d,{is:f.is}):I.createElement(d)}}S[Qt]=l,S[Rn]=f;e:for(I=l.child;I!==null;){if(I.tag===5||I.tag===6)S.appendChild(I.stateNode);else if(I.tag!==4&&I.tag!==27&&I.child!==null){I.child.return=I,I=I.child;continue}if(I===l)break e;for(;I.sibling===null;){if(I.return===null||I.return===l)break e;I=I.return}I.sibling.return=I.return,I=I.sibling}l.stateNode=S;e:switch(nn(S,d,f),d){case"button":case"input":case"select":case"textarea":f=!!f.autoFocus;break e;case"img":f=!0;break e;default:f=!1}f&&os(l)}}return ht(l),MT(l,l.type,r===null?null:r.memoizedProps,l.pendingProps,c),null;case 6:if(r&&l.stateNode!=null)r.memoizedProps!==f&&os(l);else{if(typeof f!="string"&&l.stateNode===null)throw Error(i(166));if(r=Se.current,Ml(l)){if(r=l.stateNode,c=l.memoizedProps,f=null,d=Zt,d!==null)switch(d.tag){case 27:case 5:f=d.memoizedProps}r[Qt]=l,r=!!(r.nodeValue===c||f!==null&&f.suppressHydrationWarning===!0||CI(r.nodeValue,c)),r||ys(l,!0)}else r=xu(r).createTextNode(f),r[Qt]=l,l.stateNode=r}return ht(l),null;case 31:if(c=l.memoizedState,r===null||r.memoizedState!==null){if(f=Ml(l),c!==null){if(r===null){if(!f)throw Error(i(318));if(r=l.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(i(557));r[Qt]=l}else yr(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;ht(l),r=!1}else c=wh(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=c),r=!0;if(!r)return l.flags&256?(Gn(l),l):(Gn(l),null);if((l.flags&128)!==0)throw Error(i(558))}return ht(l),null;case 13:if(f=l.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(d=Ml(l),f!==null&&f.dehydrated!==null){if(r===null){if(!d)throw Error(i(318));if(d=l.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(i(317));d[Qt]=l}else yr(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;ht(l),d=!1}else d=wh(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=d),d=!0;if(!d)return l.flags&256?(Gn(l),l):(Gn(l),null)}return Gn(l),(l.flags&128)!==0?(l.lanes=c,l):(c=f!==null,r=r!==null&&r.memoizedState!==null,c&&(f=l.child,d=null,f.alternate!==null&&f.alternate.memoizedState!==null&&f.alternate.memoizedState.cachePool!==null&&(d=f.alternate.memoizedState.cachePool.pool),S=null,f.memoizedState!==null&&f.memoizedState.cachePool!==null&&(S=f.memoizedState.cachePool.pool),S!==d&&(f.flags|=2048)),c!==r&&c&&(l.child.flags|=8192),Nu(l,l.updateQueue),ht(l),null);case 4:return Ne(),r===null&&qT(l.stateNode.containerInfo),ht(l),null;case 10:return is(l.type),ht(l),null;case 19:if(X(gt),f=l.memoizedState,f===null)return ht(l),null;if(d=(l.flags&128)!==0,S=f.rendering,S===null)if(d)fa(f,!1);else{if(Nt!==0||r!==null&&(r.flags&128)!==0)for(r=l.child;r!==null;){if(S=ou(r),S!==null){for(l.flags|=128,fa(f,!1),r=S.updateQueue,l.updateQueue=r,Nu(l,r),l.subtreeFlags=0,r=c,c=l.child;c!==null;)nN(c,r),c=c.sibling;return le(gt,gt.current&1|2),ze&&ts(l,f.treeForkCount),l.child}r=r.sibling}f.tail!==null&&re()>gu&&(l.flags|=128,d=!0,fa(f,!1),l.lanes=4194304)}else{if(!d)if(r=ou(S),r!==null){if(l.flags|=128,d=!0,r=r.updateQueue,l.updateQueue=r,Nu(l,r),fa(f,!0),f.tail===null&&f.tailMode==="hidden"&&!S.alternate&&!ze)return ht(l),null}else 2*re()-f.renderingStartTime>gu&&c!==536870912&&(l.flags|=128,d=!0,fa(f,!1),l.lanes=4194304);f.isBackwards?(S.sibling=l.child,l.child=S):(r=f.last,r!==null?r.sibling=S:l.child=S,f.last=S)}return f.tail!==null?(r=f.tail,f.rendering=r,f.tail=r.sibling,f.renderingStartTime=re(),r.sibling=null,c=gt.current,le(gt,d?c&1|2:c&1),ze&&ts(l,f.treeForkCount),r):(ht(l),null);case 22:case 23:return Gn(l),Qh(),f=l.memoizedState!==null,r!==null?r.memoizedState!==null!==f&&(l.flags|=8192):f&&(l.flags|=8192),f?(c&536870912)!==0&&(l.flags&128)===0&&(ht(l),l.subtreeFlags&6&&(l.flags|=8192)):ht(l),c=l.updateQueue,c!==null&&Nu(l,c.retryQueue),c=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),f=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(f=l.memoizedState.cachePool.pool),f!==c&&(l.flags|=2048),r!==null&&X(br),null;case 24:return c=null,r!==null&&(c=r.memoizedState.cache),l.memoizedState.cache!==c&&(l.flags|=2048),is(yt),ht(l),null;case 25:return null;case 30:return null}throw Error(i(156,l.tag))}function A0(r,l){switch(Gh(l),l.tag){case 1:return r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 3:return is(yt),Ne(),r=l.flags,(r&65536)!==0&&(r&128)===0?(l.flags=r&-65537|128,l):null;case 26:case 27:case 5:return ye(l),null;case 31:if(l.memoizedState!==null){if(Gn(l),l.alternate===null)throw Error(i(340));yr()}return r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 13:if(Gn(l),r=l.memoizedState,r!==null&&r.dehydrated!==null){if(l.alternate===null)throw Error(i(340));yr()}return r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 19:return X(gt),null;case 4:return Ne(),null;case 10:return is(l.type),null;case 22:case 23:return Gn(l),Qh(),r!==null&&X(br),r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 24:return is(yt),null;case 25:return null;default:return null}}function Mm(r,l){switch(Gh(l),l.tag){case 3:is(yt),Ne();break;case 26:case 27:case 5:ye(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Gn(l);break;case 13:Gn(l);break;case 19:X(gt);break;case 10:is(l.type);break;case 22:case 23:Gn(l),Qh(),r!==null&&X(br);break;case 24:is(yt)}}function ha(r,l){try{var c=l.updateQueue,f=c!==null?c.lastEffect:null;if(f!==null){var d=f.next;c=d;do{if((c.tag&r)===r){f=void 0;var S=c.create,I=c.inst;f=S(),I.destroy=f}c=c.next}while(c!==d)}}catch(g){tt(l,l.return,g)}}function Hs(r,l,c){try{var f=l.updateQueue,d=f!==null?f.lastEffect:null;if(d!==null){var S=d.next;f=S;do{if((f.tag&r)===r){var I=f.inst,g=I.destroy;if(g!==void 0){I.destroy=void 0,d=l;var y=c,k=g;try{k()}catch($){tt(d,y,$)}}}f=f.next}while(f!==S)}}catch($){tt(l,l.return,$)}}function Pm(r){var l=r.updateQueue;if(l!==null){var c=r.stateNode;try{NN(l,c)}catch(f){tt(r,r.return,f)}}}function ym(r,l,c){c.props=wr(r.type,r.memoizedProps),c.state=r.memoizedState;try{c.componentWillUnmount()}catch(f){tt(r,l,f)}}function Ta(r,l){try{var c=r.ref;if(c!==null){switch(r.tag){case 26:case 27:case 5:var f=r.stateNode;break;case 30:f=r.stateNode;break;default:f=r.stateNode}typeof c=="function"?r.refCleanup=c(f):c.current=f}}catch(d){tt(r,l,d)}}function _i(r,l){var c=r.ref,f=r.refCleanup;if(c!==null)if(typeof f=="function")try{f()}catch(d){tt(r,l,d)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof c=="function")try{c(null)}catch(d){tt(r,l,d)}else c.current=null}function vm(r){var l=r.type,c=r.memoizedProps,f=r.stateNode;try{e:switch(l){case"button":case"input":case"select":case"textarea":c.autoFocus&&f.focus();break e;case"img":c.src?f.src=c.src:c.srcSet&&(f.srcset=c.srcSet)}}catch(d){tt(r,r.return,d)}}function PT(r,l,c){try{var f=r.stateNode;H0(f,r.type,c,l),f[Rn]=l}catch(d){tt(r,r.return,d)}}function Um(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&Xs(r.type)||r.tag===4}function yT(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Um(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&Xs(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function vT(r,l,c){var f=r.tag;if(f===5||f===6)r=r.stateNode,l?(c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c).insertBefore(r,l):(l=c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c,l.appendChild(r),c=c._reactRootContainer,c!=null||l.onclick!==null||(l.onclick=Qi));else if(f!==4&&(f===27&&Xs(r.type)&&(c=r.stateNode,l=null),r=r.child,r!==null))for(vT(r,l,c),r=r.sibling;r!==null;)vT(r,l,c),r=r.sibling}function mu(r,l,c){var f=r.tag;if(f===5||f===6)r=r.stateNode,l?c.insertBefore(r,l):c.appendChild(r);else if(f!==4&&(f===27&&Xs(r.type)&&(c=r.stateNode),r=r.child,r!==null))for(mu(r,l,c),r=r.sibling;r!==null;)mu(r,l,c),r=r.sibling}function bm(r){var l=r.stateNode,c=r.memoizedProps;try{for(var f=r.type,d=l.attributes;d.length;)l.removeAttributeNode(d[0]);nn(l,f,c),l[Qt]=r,l[Rn]=c}catch(S){tt(r,r.return,S)}}var as=!1,bt=!1,UT=!1,xm=typeof WeakSet=="function"?WeakSet:Set,Vt=null;function S0(r,l){if(r=r.containerInfo,ed=ku,r=zO(r),Lh(r)){if("selectionStart"in r)var c={start:r.selectionStart,end:r.selectionEnd};else e:{c=(c=r.ownerDocument)&&c.defaultView||window;var f=c.getSelection&&c.getSelection();if(f&&f.rangeCount!==0){c=f.anchorNode;var d=f.anchorOffset,S=f.focusNode;f=f.focusOffset;try{c.nodeType,S.nodeType}catch{c=null;break e}var I=0,g=-1,y=-1,k=0,$=0,te=r,W=null;t:for(;;){for(var K;te!==c||d!==0&&te.nodeType!==3||(g=I+d),te!==S||f!==0&&te.nodeType!==3||(y=I+f),te.nodeType===3&&(I+=te.nodeValue.length),(K=te.firstChild)!==null;)W=te,te=K;for(;;){if(te===r)break t;if(W===c&&++k===d&&(g=I),W===S&&++$===f&&(y=I),(K=te.nextSibling)!==null)break;te=W,W=te.parentNode}te=K}c=g===-1||y===-1?null:{start:g,end:y}}else c=null}c=c||{start:0,end:0}}else c=null;for(td={focusedElem:r,selectionRange:c},ku=!1,Vt=l;Vt!==null;)if(l=Vt,r=l.child,(l.subtreeFlags&1028)!==0&&r!==null)r.return=l,Vt=r;else for(;Vt!==null;){switch(l=Vt,S=l.alternate,r=l.flags,l.tag){case 0:if((r&4)!==0&&(r=l.updateQueue,r=r!==null?r.events:null,r!==null))for(c=0;c<r.length;c++)d=r[c],d.ref.impl=d.nextImpl;break;case 11:case 15:break;case 1:if((r&1024)!==0&&S!==null){r=void 0,c=l,d=S.memoizedProps,S=S.memoizedState,f=c.stateNode;try{var pe=wr(c.type,d);r=f.getSnapshotBeforeUpdate(pe,S),f.__reactInternalSnapshotBeforeUpdate=r}catch(Me){tt(c,c.return,Me)}}break;case 3:if((r&1024)!==0){if(r=l.stateNode.containerInfo,c=r.nodeType,c===9)sd(r);else if(c===1)switch(r.nodeName){case"HEAD":case"HTML":case"BODY":sd(r);break;default:r.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((r&1024)!==0)throw Error(i(163))}if(r=l.sibling,r!==null){r.return=l.return,Vt=r;break}Vt=l.return}}function Bm(r,l,c){var f=c.flags;switch(c.tag){case 0:case 11:case 15:us(r,c),f&4&&ha(5,c);break;case 1:if(us(r,c),f&4)if(r=c.stateNode,l===null)try{r.componentDidMount()}catch(I){tt(c,c.return,I)}else{var d=wr(c.type,l.memoizedProps);l=l.memoizedState;try{r.componentDidUpdate(d,l,r.__reactInternalSnapshotBeforeUpdate)}catch(I){tt(c,c.return,I)}}f&64&&Pm(c),f&512&&Ta(c,c.return);break;case 3:if(us(r,c),f&64&&(r=c.updateQueue,r!==null)){if(l=null,c.child!==null)switch(c.child.tag){case 27:case 5:l=c.child.stateNode;break;case 1:l=c.child.stateNode}try{NN(r,l)}catch(I){tt(c,c.return,I)}}break;case 27:l===null&&f&4&&bm(c);case 26:case 5:us(r,c),l===null&&f&4&&vm(c),f&512&&Ta(c,c.return);break;case 12:us(r,c);break;case 31:us(r,c),f&4&&wm(r,c);break;case 13:us(r,c),f&4&&Fm(r,c),f&64&&(r=c.memoizedState,r!==null&&(r=r.dehydrated,r!==null&&(c=L0.bind(null,c),K0(r,c))));break;case 22:if(f=c.memoizedState!==null||as,!f){l=l!==null&&l.memoizedState!==null||bt,d=as;var S=bt;as=f,(bt=l)&&!S?Es(r,c,(c.subtreeFlags&8772)!==0):us(r,c),as=d,bt=S}break;case 30:break;default:us(r,c)}}function Gm(r){var l=r.alternate;l!==null&&(r.alternate=null,Gm(l)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(l=r.stateNode,l!==null&&ch(l)),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}var At=null,Nn=!1;function cs(r,l,c){for(c=c.child;c!==null;)Hm(r,l,c),c=c.sibling}function Hm(r,l,c){if(vn&&typeof vn.onCommitFiberUnmount=="function")try{vn.onCommitFiberUnmount(Ho,c)}catch{}switch(c.tag){case 26:bt||_i(c,l),cs(r,l,c),c.memoizedState?c.memoizedState.count--:c.stateNode&&(c=c.stateNode,c.parentNode.removeChild(c));break;case 27:bt||_i(c,l);var f=At,d=Nn;Xs(c.type)&&(At=c.stateNode,Nn=!1),cs(r,l,c),pa(c.stateNode),At=f,Nn=d;break;case 5:bt||_i(c,l);case 6:if(f=At,d=Nn,At=null,cs(r,l,c),At=f,Nn=d,At!==null)if(Nn)try{(At.nodeType===9?At.body:At.nodeName==="HTML"?At.ownerDocument.body:At).removeChild(c.stateNode)}catch(S){tt(c,l,S)}else try{At.removeChild(c.stateNode)}catch(S){tt(c,l,S)}break;case 18:At!==null&&(Nn?(r=At,PI(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,c.stateNode),Jl(r)):PI(At,c.stateNode));break;case 4:f=At,d=Nn,At=c.stateNode.containerInfo,Nn=!0,cs(r,l,c),At=f,Nn=d;break;case 0:case 11:case 14:case 15:Hs(2,c,l),bt||Hs(4,c,l),cs(r,l,c);break;case 1:bt||(_i(c,l),f=c.stateNode,typeof f.componentWillUnmount=="function"&&ym(c,l,f)),cs(r,l,c);break;case 21:cs(r,l,c);break;case 22:bt=(f=bt)||c.memoizedState!==null,cs(r,l,c),bt=f;break;default:cs(r,l,c)}}function wm(r,l){if(l.memoizedState===null&&(r=l.alternate,r!==null&&(r=r.memoizedState,r!==null))){r=r.dehydrated;try{Jl(r)}catch(c){tt(l,l.return,c)}}}function Fm(r,l){if(l.memoizedState===null&&(r=l.alternate,r!==null&&(r=r.memoizedState,r!==null&&(r=r.dehydrated,r!==null))))try{Jl(r)}catch(c){tt(l,l.return,c)}}function R0(r){switch(r.tag){case 31:case 13:case 19:var l=r.stateNode;return l===null&&(l=r.stateNode=new xm),l;case 22:return r=r.stateNode,l=r._retryCache,l===null&&(l=r._retryCache=new xm),l;default:throw Error(i(435,r.tag))}}function Iu(r,l){var c=R0(r);l.forEach(function(f){if(!c.has(f)){c.add(f);var d=_0.bind(null,r,f);f.then(d,d)}})}function mn(r,l){var c=l.deletions;if(c!==null)for(var f=0;f<c.length;f++){var d=c[f],S=r,I=l,g=I;e:for(;g!==null;){switch(g.tag){case 27:if(Xs(g.type)){At=g.stateNode,Nn=!1;break e}break;case 5:At=g.stateNode,Nn=!1;break e;case 3:case 4:At=g.stateNode.containerInfo,Nn=!0;break e}g=g.return}if(At===null)throw Error(i(160));Hm(S,I,d),At=null,Nn=!1,S=d.alternate,S!==null&&(S.return=null),d.return=null}if(l.subtreeFlags&13886)for(l=l.child;l!==null;)Ym(l,r),l=l.sibling}var Ei=null;function Ym(r,l){var c=r.alternate,f=r.flags;switch(r.tag){case 0:case 11:case 14:case 15:mn(l,r),In(r),f&4&&(Hs(3,r,r.return),ha(3,r),Hs(5,r,r.return));break;case 1:mn(l,r),In(r),f&512&&(bt||c===null||_i(c,c.return)),f&64&&as&&(r=r.updateQueue,r!==null&&(f=r.callbacks,f!==null&&(c=r.shared.hiddenCallbacks,r.shared.hiddenCallbacks=c===null?f:c.concat(f))));break;case 26:var d=Ei;if(mn(l,r),In(r),f&512&&(bt||c===null||_i(c,c.return)),f&4){var S=c!==null?c.memoizedState:null;if(f=r.memoizedState,c===null)if(f===null)if(r.stateNode===null){e:{f=r.type,c=r.memoizedProps,d=d.ownerDocument||d;t:switch(f){case"title":S=d.getElementsByTagName("title")[0],(!S||S[Yo]||S[Qt]||S.namespaceURI==="http://www.w3.org/2000/svg"||S.hasAttribute("itemprop"))&&(S=d.createElement(f),d.head.insertBefore(S,d.querySelector("head > title"))),nn(S,f,c),S[Qt]=r,kt(S),f=S;break e;case"link":var I=YI("link","href",d).get(f+(c.href||""));if(I){for(var g=0;g<I.length;g++)if(S=I[g],S.getAttribute("href")===(c.href==null||c.href===""?null:c.href)&&S.getAttribute("rel")===(c.rel==null?null:c.rel)&&S.getAttribute("title")===(c.title==null?null:c.title)&&S.getAttribute("crossorigin")===(c.crossOrigin==null?null:c.crossOrigin)){I.splice(g,1);break t}}S=d.createElement(f),nn(S,f,c),d.head.appendChild(S);break;case"meta":if(I=YI("meta","content",d).get(f+(c.content||""))){for(g=0;g<I.length;g++)if(S=I[g],S.getAttribute("content")===(c.content==null?null:""+c.content)&&S.getAttribute("name")===(c.name==null?null:c.name)&&S.getAttribute("property")===(c.property==null?null:c.property)&&S.getAttribute("http-equiv")===(c.httpEquiv==null?null:c.httpEquiv)&&S.getAttribute("charset")===(c.charSet==null?null:c.charSet)){I.splice(g,1);break t}}S=d.createElement(f),nn(S,f,c),d.head.appendChild(S);break;default:throw Error(i(468,f))}S[Qt]=r,kt(S),f=S}r.stateNode=f}else kI(d,r.type,r.stateNode);else r.stateNode=FI(d,f,r.memoizedProps);else S!==f?(S===null?c.stateNode!==null&&(c=c.stateNode,c.parentNode.removeChild(c)):S.count--,f===null?kI(d,r.type,r.stateNode):FI(d,f,r.memoizedProps)):f===null&&r.stateNode!==null&&PT(r,r.memoizedProps,c.memoizedProps)}break;case 27:mn(l,r),In(r),f&512&&(bt||c===null||_i(c,c.return)),c!==null&&f&4&&PT(r,r.memoizedProps,c.memoizedProps);break;case 5:if(mn(l,r),In(r),f&512&&(bt||c===null||_i(c,c.return)),r.flags&32){d=r.stateNode;try{Ol(d,"")}catch(pe){tt(r,r.return,pe)}}f&4&&r.stateNode!=null&&(d=r.memoizedProps,PT(r,d,c!==null?c.memoizedProps:d)),f&1024&&(UT=!0);break;case 6:if(mn(l,r),In(r),f&4){if(r.stateNode===null)throw Error(i(162));f=r.memoizedProps,c=r.stateNode;try{c.nodeValue=f}catch(pe){tt(r,r.return,pe)}}break;case 3:if(Hu=null,d=Ei,Ei=Bu(l.containerInfo),mn(l,r),Ei=d,In(r),f&4&&c!==null&&c.memoizedState.isDehydrated)try{Jl(l.containerInfo)}catch(pe){tt(r,r.return,pe)}UT&&(UT=!1,km(r));break;case 4:f=Ei,Ei=Bu(r.stateNode.containerInfo),mn(l,r),In(r),Ei=f;break;case 12:mn(l,r),In(r);break;case 31:mn(l,r),In(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Iu(r,f)));break;case 13:mn(l,r),In(r),r.child.flags&8192&&r.memoizedState!==null!=(c!==null&&c.memoizedState!==null)&&(Cu=re()),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Iu(r,f)));break;case 22:d=r.memoizedState!==null;var y=c!==null&&c.memoizedState!==null,k=as,$=bt;if(as=k||d,bt=$||y,mn(l,r),bt=$,as=k,In(r),f&8192)e:for(l=r.stateNode,l._visibility=d?l._visibility&-2:l._visibility|1,d&&(c===null||y||as||bt||Fr(r)),c=null,l=r;;){if(l.tag===5||l.tag===26){if(c===null){y=c=l;try{if(S=y.stateNode,d)I=S.style,typeof I.setProperty=="function"?I.setProperty("display","none","important"):I.display="none";else{g=y.stateNode;var te=y.memoizedProps.style,W=te!=null&&te.hasOwnProperty("display")?te.display:null;g.style.display=W==null||typeof W=="boolean"?"":(""+W).trim()}}catch(pe){tt(y,y.return,pe)}}}else if(l.tag===6){if(c===null){y=l;try{y.stateNode.nodeValue=d?"":y.memoizedProps}catch(pe){tt(y,y.return,pe)}}}else if(l.tag===18){if(c===null){y=l;try{var K=y.stateNode;d?yI(K,!0):yI(y.stateNode,!1)}catch(pe){tt(y,y.return,pe)}}}else if((l.tag!==22&&l.tag!==23||l.memoizedState===null||l===r)&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===r)break e;for(;l.sibling===null;){if(l.return===null||l.return===r)break e;c===l&&(c=null),l=l.return}c===l&&(c=null),l.sibling.return=l.return,l=l.sibling}f&4&&(f=r.updateQueue,f!==null&&(c=f.retryQueue,c!==null&&(f.retryQueue=null,Iu(r,c))));break;case 19:mn(l,r),In(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Iu(r,f)));break;case 30:break;case 21:break;default:mn(l,r),In(r)}}function In(r){var l=r.flags;if(l&2){try{for(var c,f=r.return;f!==null;){if(Um(f)){c=f;break}f=f.return}if(c==null)throw Error(i(160));switch(c.tag){case 27:var d=c.stateNode,S=yT(r);mu(r,S,d);break;case 5:var I=c.stateNode;c.flags&32&&(Ol(I,""),c.flags&=-33);var g=yT(r);mu(r,g,I);break;case 3:case 4:var y=c.stateNode.containerInfo,k=yT(r);vT(r,k,y);break;default:throw Error(i(161))}}catch($){tt(r,r.return,$)}r.flags&=-3}l&4096&&(r.flags&=-4097)}function km(r){if(r.subtreeFlags&1024)for(r=r.child;r!==null;){var l=r;km(l),l.tag===5&&l.flags&1024&&l.stateNode.reset(),r=r.sibling}}function us(r,l){if(l.subtreeFlags&8772)for(l=l.child;l!==null;)Bm(r,l.alternate,l),l=l.sibling}function Fr(r){for(r=r.child;r!==null;){var l=r;switch(l.tag){case 0:case 11:case 14:case 15:Hs(4,l,l.return),Fr(l);break;case 1:_i(l,l.return);var c=l.stateNode;typeof c.componentWillUnmount=="function"&&ym(l,l.return,c),Fr(l);break;case 27:pa(l.stateNode);case 26:case 5:_i(l,l.return),Fr(l);break;case 22:l.memoizedState===null&&Fr(l);break;case 30:Fr(l);break;default:Fr(l)}r=r.sibling}}function Es(r,l,c){for(c=c&&(l.subtreeFlags&8772)!==0,l=l.child;l!==null;){var f=l.alternate,d=r,S=l,I=S.flags;switch(S.tag){case 0:case 11:case 15:Es(d,S,c),ha(4,S);break;case 1:if(Es(d,S,c),f=S,d=f.stateNode,typeof d.componentDidMount=="function")try{d.componentDidMount()}catch(k){tt(f,f.return,k)}if(f=S,d=f.updateQueue,d!==null){var g=f.stateNode;try{var y=d.shared.hiddenCallbacks;if(y!==null)for(d.shared.hiddenCallbacks=null,d=0;d<y.length;d++)ON(y[d],g)}catch(k){tt(f,f.return,k)}}c&&I&64&&Pm(S),Ta(S,S.return);break;case 27:bm(S);case 26:case 5:Es(d,S,c),c&&f===null&&I&4&&vm(S),Ta(S,S.return);break;case 12:Es(d,S,c);break;case 31:Es(d,S,c),c&&I&4&&wm(d,S);break;case 13:Es(d,S,c),c&&I&4&&Fm(d,S);break;case 22:S.memoizedState===null&&Es(d,S,c),Ta(S,S.return);break;case 30:break;default:Es(d,S,c)}l=l.sibling}}function bT(r,l){var c=null;r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),r=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(r=l.memoizedState.cachePool.pool),r!==c&&(r!=null&&r.refCount++,c!=null&&ea(c))}function xT(r,l){r=null,l.alternate!==null&&(r=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==r&&(l.refCount++,r!=null&&ea(r))}function fi(r,l,c,f){if(l.subtreeFlags&10256)for(l=l.child;l!==null;)Vm(r,l,c,f),l=l.sibling}function Vm(r,l,c,f){var d=l.flags;switch(l.tag){case 0:case 11:case 15:fi(r,l,c,f),d&2048&&ha(9,l);break;case 1:fi(r,l,c,f);break;case 3:fi(r,l,c,f),d&2048&&(r=null,l.alternate!==null&&(r=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==r&&(l.refCount++,r!=null&&ea(r)));break;case 12:if(d&2048){fi(r,l,c,f),r=l.stateNode;try{var S=l.memoizedProps,I=S.id,g=S.onPostCommit;typeof g=="function"&&g(I,l.alternate===null?"mount":"update",r.passiveEffectDuration,-0)}catch(y){tt(l,l.return,y)}}else fi(r,l,c,f);break;case 31:fi(r,l,c,f);break;case 13:fi(r,l,c,f);break;case 23:break;case 22:S=l.stateNode,I=l.alternate,l.memoizedState!==null?S._visibility&2?fi(r,l,c,f):da(r,l):S._visibility&2?fi(r,l,c,f):(S._visibility|=2,wl(r,l,c,f,(l.subtreeFlags&10256)!==0||!1)),d&2048&&bT(I,l);break;case 24:fi(r,l,c,f),d&2048&&xT(l.alternate,l);break;default:fi(r,l,c,f)}}function wl(r,l,c,f,d){for(d=d&&((l.subtreeFlags&10256)!==0||!1),l=l.child;l!==null;){var S=r,I=l,g=c,y=f,k=I.flags;switch(I.tag){case 0:case 11:case 15:wl(S,I,g,y,d),ha(8,I);break;case 23:break;case 22:var $=I.stateNode;I.memoizedState!==null?$._visibility&2?wl(S,I,g,y,d):da(S,I):($._visibility|=2,wl(S,I,g,y,d)),d&&k&2048&&bT(I.alternate,I);break;case 24:wl(S,I,g,y,d),d&&k&2048&&xT(I.alternate,I);break;default:wl(S,I,g,y,d)}l=l.sibling}}function da(r,l){if(l.subtreeFlags&10256)for(l=l.child;l!==null;){var c=r,f=l,d=f.flags;switch(f.tag){case 22:da(c,f),d&2048&&bT(f.alternate,f);break;case 24:da(c,f),d&2048&&xT(f.alternate,f);break;default:da(c,f)}l=l.sibling}}var Aa=8192;function Fl(r,l,c){if(r.subtreeFlags&Aa)for(r=r.child;r!==null;)Wm(r,l,c),r=r.sibling}function Wm(r,l,c){switch(r.tag){case 26:Fl(r,l,c),r.flags&Aa&&r.memoizedState!==null&&sU(c,Ei,r.memoizedState,r.memoizedProps);break;case 5:Fl(r,l,c);break;case 3:case 4:var f=Ei;Ei=Bu(r.stateNode.containerInfo),Fl(r,l,c),Ei=f;break;case 22:r.memoizedState===null&&(f=r.alternate,f!==null&&f.memoizedState!==null?(f=Aa,Aa=16777216,Fl(r,l,c),Aa=f):Fl(r,l,c));break;default:Fl(r,l,c)}}function Xm(r){var l=r.alternate;if(l!==null&&(r=l.child,r!==null)){l.child=null;do l=r.sibling,r.sibling=null,r=l;while(r!==null)}}function Sa(r){var l=r.deletions;if((r.flags&16)!==0){if(l!==null)for(var c=0;c<l.length;c++){var f=l[c];Vt=f,zm(f,r)}Xm(r)}if(r.subtreeFlags&10256)for(r=r.child;r!==null;)Km(r),r=r.sibling}function Km(r){switch(r.tag){case 0:case 11:case 15:Sa(r),r.flags&2048&&Hs(9,r,r.return);break;case 3:Sa(r);break;case 12:Sa(r);break;case 22:var l=r.stateNode;r.memoizedState!==null&&l._visibility&2&&(r.return===null||r.return.tag!==13)?(l._visibility&=-3,pu(r)):Sa(r);break;default:Sa(r)}}function pu(r){var l=r.deletions;if((r.flags&16)!==0){if(l!==null)for(var c=0;c<l.length;c++){var f=l[c];Vt=f,zm(f,r)}Xm(r)}for(r=r.child;r!==null;){switch(l=r,l.tag){case 0:case 11:case 15:Hs(8,l,l.return),pu(l);break;case 22:c=l.stateNode,c._visibility&2&&(c._visibility&=-3,pu(l));break;default:pu(l)}r=r.sibling}}function zm(r,l){for(;Vt!==null;){var c=Vt;switch(c.tag){case 0:case 11:case 15:Hs(8,c,l);break;case 23:case 22:if(c.memoizedState!==null&&c.memoizedState.cachePool!==null){var f=c.memoizedState.cachePool.pool;f!=null&&f.refCount++}break;case 24:ea(c.memoizedState.cache)}if(f=c.child,f!==null)f.return=c,Vt=f;else e:for(c=r;Vt!==null;){f=Vt;var d=f.sibling,S=f.return;if(Gm(f),f===c){Vt=null;break e}if(d!==null){d.return=S,Vt=d;break e}Vt=S}}}var O0={getCacheForType:function(r){var l=en(yt),c=l.data.get(r);return c===void 0&&(c=r(),l.data.set(r,c)),c},cacheSignal:function(){return en(yt).controller.signal}},N0=typeof WeakMap=="function"?WeakMap:Map,Ze=0,ot=null,ke=null,Xe=0,et=0,Hn=null,ws=!1,Yl=!1,BT=!1,fs=0,Nt=0,Fs=0,Yr=0,GT=0,wn=0,kl=0,Ra=null,pn=null,HT=!1,Cu=0,$m=0,gu=1/0,Lu=null,Ys=null,Gt=0,ks=null,Vl=null,hs=0,wT=0,FT=null,jm=null,Oa=0,YT=null;function Fn(){return(Ze&2)!==0&&Xe!==0?Xe&-Xe:x.T!==null?zT():EO()}function Jm(){if(wn===0)if((Xe&536870912)===0||ze){var r=bc;bc<<=1,(bc&3932160)===0&&(bc=262144),wn=r}else wn=536870912;return r=Bn.current,r!==null&&(r.flags|=32),wn}function Cn(r,l,c){(r===ot&&(et===2||et===9)||r.cancelPendingCommit!==null)&&(Wl(r,0),Vs(r,Xe,wn,!1)),Fo(r,c),((Ze&2)===0||r!==ot)&&(r===ot&&((Ze&2)===0&&(Yr|=c),Nt===4&&Vs(r,Xe,wn,!1)),Di(r))}function qm(r,l,c){if((Ze&6)!==0)throw Error(i(327));var f=!c&&(l&127)===0&&(l&r.expiredLanes)===0||wo(r,l),d=f?p0(r,l):VT(r,l,!0),S=f;do{if(d===0){Yl&&!f&&Vs(r,l,0,!1);break}else{if(c=r.current.alternate,S&&!m0(c)){d=VT(r,l,!1),S=!1;continue}if(d===2){if(S=l,r.errorRecoveryDisabledLanes&S)var I=0;else I=r.pendingLanes&-536870913,I=I!==0?I:I&536870912?536870912:0;if(I!==0){l=I;e:{var g=r;d=Ra;var y=g.current.memoizedState.isDehydrated;if(y&&(Wl(g,I).flags|=256),I=VT(g,I,!1),I!==2){if(BT&&!y){g.errorRecoveryDisabledLanes|=S,Yr|=S,d=4;break e}S=pn,pn=d,S!==null&&(pn===null?pn=S:pn.push.apply(pn,S))}d=I}if(S=!1,d!==2)continue}}if(d===1){Wl(r,0),Vs(r,l,0,!0);break}e:{switch(f=r,S=d,S){case 0:case 1:throw Error(i(345));case 4:if((l&4194048)!==l)break;case 6:Vs(f,l,wn,!ws);break e;case 2:pn=null;break;case 3:case 5:break;default:throw Error(i(329))}if((l&62914560)===l&&(d=Cu+300-re(),10<d)){if(Vs(f,l,wn,!ws),Bc(f,0,!0)!==0)break e;hs=l,f.timeoutHandle=DI(Qm.bind(null,f,c,pn,Lu,HT,l,wn,Yr,kl,ws,S,"Throttled",-0,0),d);break e}Qm(f,c,pn,Lu,HT,l,wn,Yr,kl,ws,S,null,-0,0)}}break}while(!0);Di(r)}function Qm(r,l,c,f,d,S,I,g,y,k,$,te,W,K){if(r.timeoutHandle=-1,te=l.subtreeFlags,te&8192||(te&16785408)===16785408){te={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Qi},Wm(l,S,te);var pe=(S&62914560)===S?Cu-re():(S&4194048)===S?$m-re():0;if(pe=rU(te,pe),pe!==null){hs=S,r.cancelPendingCommit=pe(lI.bind(null,r,l,S,c,f,d,I,g,y,$,te,null,W,K)),Vs(r,S,I,!k);return}}lI(r,l,S,c,f,d,I,g,y)}function m0(r){for(var l=r;;){var c=l.tag;if((c===0||c===11||c===15)&&l.flags&16384&&(c=l.updateQueue,c!==null&&(c=c.stores,c!==null)))for(var f=0;f<c.length;f++){var d=c[f],S=d.getSnapshot;d=d.value;try{if(!bn(S(),d))return!1}catch{return!1}}if(c=l.child,l.subtreeFlags&16384&&c!==null)c.return=l,l=c;else{if(l===r)break;for(;l.sibling===null;){if(l.return===null||l.return===r)return!0;l=l.return}l.sibling.return=l.return,l=l.sibling}}return!0}function Vs(r,l,c,f){l&=~GT,l&=~Yr,r.suspendedLanes|=l,r.pingedLanes&=~l,f&&(r.warmLanes|=l),f=r.expirationTimes;for(var d=l;0<d;){var S=31-Un(d),I=1<<S;f[S]=-1,d&=~I}c!==0&&aO(r,c,l)}function _u(){return(Ze&6)===0?(Na(0),!1):!0}function kT(){if(ke!==null){if(et===0)var r=ke.return;else r=ke,ns=vr=null,sT(r),bl=null,na=0,r=ke;for(;r!==null;)Mm(r.alternate,r),r=r.return;ke=null}}function Wl(r,l){var c=r.timeoutHandle;c!==-1&&(r.timeoutHandle=-1,Y0(c)),c=r.cancelPendingCommit,c!==null&&(r.cancelPendingCommit=null,c()),hs=0,kT(),ot=r,ke=c=es(r.current,null),Xe=l,et=0,Hn=null,ws=!1,Yl=wo(r,l),BT=!1,kl=wn=GT=Yr=Fs=Nt=0,pn=Ra=null,HT=!1,(l&8)!==0&&(l|=l&32);var f=r.entangledLanes;if(f!==0)for(r=r.entanglements,f&=l;0<f;){var d=31-Un(f),S=1<<d;l|=r[d],f&=~S}return fs=l,$c(),c}function Zm(r,l){Ge=null,x.H=ua,l===Ul||l===nu?(l=dN(),et=3):l===Kh?(l=dN(),et=4):et=l===NT?8:l!==null&&typeof l=="object"&&typeof l.then=="function"?6:1,Hn=l,ke===null&&(Nt=1,Au(r,qn(l,r.current)))}function eI(){var r=Bn.current;return r===null?!0:(Xe&4194048)===Xe?ti===null:(Xe&62914560)===Xe||(Xe&536870912)!==0?r===ti:!1}function tI(){var r=x.H;return x.H=ua,r===null?ua:r}function nI(){var r=x.A;return x.A=O0,r}function Du(){Nt=4,ws||(Xe&4194048)!==Xe&&Bn.current!==null||(Yl=!0),(Fs&134217727)===0&&(Yr&134217727)===0||ot===null||Vs(ot,Xe,wn,!1)}function VT(r,l,c){var f=Ze;Ze|=2;var d=tI(),S=nI();(ot!==r||Xe!==l)&&(Lu=null,Wl(r,l)),l=!1;var I=Nt;e:do try{if(et!==0&&ke!==null){var g=ke,y=Hn;switch(et){case 8:kT(),I=6;break e;case 3:case 2:case 9:case 6:Bn.current===null&&(l=!0);var k=et;if(et=0,Hn=null,Xl(r,g,y,k),c&&Yl){I=0;break e}break;default:k=et,et=0,Hn=null,Xl(r,g,y,k)}}I0(),I=Nt;break}catch($){Zm(r,$)}while(!0);return l&&r.shellSuspendCounter++,ns=vr=null,Ze=f,x.H=d,x.A=S,ke===null&&(ot=null,Xe=0,$c()),I}function I0(){for(;ke!==null;)iI(ke)}function p0(r,l){var c=Ze;Ze|=2;var f=tI(),d=nI();ot!==r||Xe!==l?(Lu=null,gu=re()+500,Wl(r,l)):Yl=wo(r,l);e:do try{if(et!==0&&ke!==null){l=ke;var S=Hn;t:switch(et){case 1:et=0,Hn=null,Xl(r,l,S,1);break;case 2:case 9:if(hN(S)){et=0,Hn=null,sI(l);break}l=function(){et!==2&&et!==9||ot!==r||(et=7),Di(r)},S.then(l,l);break e;case 3:et=7;break e;case 4:et=5;break e;case 7:hN(S)?(et=0,Hn=null,sI(l)):(et=0,Hn=null,Xl(r,l,S,7));break;case 5:var I=null;switch(ke.tag){case 26:I=ke.memoizedState;case 5:case 27:var g=ke;if(I?VI(I):g.stateNode.complete){et=0,Hn=null;var y=g.sibling;if(y!==null)ke=y;else{var k=g.return;k!==null?(ke=k,Mu(k)):ke=null}break t}}et=0,Hn=null,Xl(r,l,S,5);break;case 6:et=0,Hn=null,Xl(r,l,S,6);break;case 8:kT(),Nt=6;break e;default:throw Error(i(462))}}C0();break}catch($){Zm(r,$)}while(!0);return ns=vr=null,x.H=f,x.A=d,Ze=c,ke!==null?0:(ot=null,Xe=0,$c(),Nt)}function C0(){for(;ke!==null&&!nh();)iI(ke)}function iI(r){var l=_m(r.alternate,r,fs);r.memoizedProps=r.pendingProps,l===null?Mu(r):ke=l}function sI(r){var l=r,c=l.alternate;switch(l.tag){case 15:case 0:l=mm(c,l,l.pendingProps,l.type,void 0,Xe);break;case 11:l=mm(c,l,l.pendingProps,l.type.render,l.ref,Xe);break;case 5:sT(l);default:Mm(c,l),l=ke=nN(l,fs),l=_m(c,l,fs)}r.memoizedProps=r.pendingProps,l===null?Mu(r):ke=l}function Xl(r,l,c,f){ns=vr=null,sT(l),bl=null,na=0;var d=l.return;try{if(f0(r,d,l,c,Xe)){Nt=1,Au(r,qn(c,r.current)),ke=null;return}}catch(S){if(d!==null)throw ke=d,S;Nt=1,Au(r,qn(c,r.current)),ke=null;return}l.flags&32768?(ze||f===1?r=!0:Yl||(Xe&536870912)!==0?r=!1:(ws=r=!0,(f===2||f===9||f===3||f===6)&&(f=Bn.current,f!==null&&f.tag===13&&(f.flags|=16384))),rI(l,r)):Mu(l)}function Mu(r){var l=r;do{if((l.flags&32768)!==0){rI(l,ws);return}r=l.return;var c=d0(l.alternate,l,fs);if(c!==null){ke=c;return}if(l=l.sibling,l!==null){ke=l;return}ke=l=r}while(l!==null);Nt===0&&(Nt=5)}function rI(r,l){do{var c=A0(r.alternate,r);if(c!==null){c.flags&=32767,ke=c;return}if(c=r.return,c!==null&&(c.flags|=32768,c.subtreeFlags=0,c.deletions=null),!l&&(r=r.sibling,r!==null)){ke=r;return}ke=r=c}while(r!==null);Nt=6,ke=null}function lI(r,l,c,f,d,S,I,g,y){r.cancelPendingCommit=null;do Pu();while(Gt!==0);if((Ze&6)!==0)throw Error(i(327));if(l!==null){if(l===r.current)throw Error(i(177));if(S=l.lanes|l.childLanes,S|=yh,iv(r,c,S,I,g,y),r===ot&&(ke=ot=null,Xe=0),Vl=l,ks=r,hs=c,wT=S,FT=d,jm=f,(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?(r.callbackNode=null,r.callbackPriority=0,D0(Sn,function(){return EI(),null})):(r.callbackNode=null,r.callbackPriority=0),f=(l.flags&13878)!==0,(l.subtreeFlags&13878)!==0||f){f=x.T,x.T=null,d=z.p,z.p=2,I=Ze,Ze|=4;try{S0(r,l,c)}finally{Ze=I,z.p=d,x.T=f}}Gt=1,oI(),aI(),cI()}}function oI(){if(Gt===1){Gt=0;var r=ks,l=Vl,c=(l.flags&13878)!==0;if((l.subtreeFlags&13878)!==0||c){c=x.T,x.T=null;var f=z.p;z.p=2;var d=Ze;Ze|=4;try{Ym(l,r);var S=td,I=zO(r.containerInfo),g=S.focusedElem,y=S.selectionRange;if(I!==g&&g&&g.ownerDocument&&KO(g.ownerDocument.documentElement,g)){if(y!==null&&Lh(g)){var k=y.start,$=y.end;if($===void 0&&($=k),"selectionStart"in g)g.selectionStart=k,g.selectionEnd=Math.min($,g.value.length);else{var te=g.ownerDocument||document,W=te&&te.defaultView||window;if(W.getSelection){var K=W.getSelection(),pe=g.textContent.length,Me=Math.min(y.start,pe),st=y.end===void 0?Me:Math.min(y.end,pe);!K.extend&&Me>st&&(I=st,st=Me,Me=I);var H=XO(g,Me),b=XO(g,st);if(H&&b&&(K.rangeCount!==1||K.anchorNode!==H.node||K.anchorOffset!==H.offset||K.focusNode!==b.node||K.focusOffset!==b.offset)){var Y=te.createRange();Y.setStart(H.node,H.offset),K.removeAllRanges(),Me>st?(K.addRange(Y),K.extend(b.node,b.offset)):(Y.setEnd(b.node,b.offset),K.addRange(Y))}}}}for(te=[],K=g;K=K.parentNode;)K.nodeType===1&&te.push({element:K,left:K.scrollLeft,top:K.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;g<te.length;g++){var Q=te[g];Q.element.scrollLeft=Q.left,Q.element.scrollTop=Q.top}}ku=!!ed,td=ed=null}finally{Ze=d,z.p=f,x.T=c}}r.current=l,Gt=2}}function aI(){if(Gt===2){Gt=0;var r=ks,l=Vl,c=(l.flags&8772)!==0;if((l.subtreeFlags&8772)!==0||c){c=x.T,x.T=null;var f=z.p;z.p=2;var d=Ze;Ze|=4;try{Bm(r,l.alternate,l)}finally{Ze=d,z.p=f,x.T=c}}Gt=3}}function cI(){if(Gt===4||Gt===3){Gt=0,ih();var r=ks,l=Vl,c=hs,f=jm;(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?Gt=5:(Gt=0,Vl=ks=null,uI(r,r.pendingLanes));var d=r.pendingLanes;if(d===0&&(Ys=null),oh(c),l=l.stateNode,vn&&typeof vn.onCommitFiberRoot=="function")try{vn.onCommitFiberRoot(Ho,l,void 0,(l.current.flags&128)===128)}catch{}if(f!==null){l=x.T,d=z.p,z.p=2,x.T=null;try{for(var S=r.onRecoverableError,I=0;I<f.length;I++){var g=f[I];S(g.value,{componentStack:g.stack})}}finally{x.T=l,z.p=d}}(hs&3)!==0&&Pu(),Di(r),d=r.pendingLanes,(c&261930)!==0&&(d&42)!==0?r===YT?Oa++:(Oa=0,YT=r):Oa=0,Na(0)}}function uI(r,l){(r.pooledCacheLanes&=l)===0&&(l=r.pooledCache,l!=null&&(r.pooledCache=null,ea(l)))}function Pu(){return oI(),aI(),cI(),EI()}function EI(){if(Gt!==5)return!1;var r=ks,l=wT;wT=0;var c=oh(hs),f=x.T,d=z.p;try{z.p=32>c?32:c,x.T=null,c=FT,FT=null;var S=ks,I=hs;if(Gt=0,Vl=ks=null,hs=0,(Ze&6)!==0)throw Error(i(331));var g=Ze;if(Ze|=4,Km(S.current),Vm(S,S.current,I,c),Ze=g,Na(0,!1),vn&&typeof vn.onPostCommitFiberRoot=="function")try{vn.onPostCommitFiberRoot(Ho,S)}catch{}return!0}finally{z.p=d,x.T=f,uI(r,l)}}function fI(r,l,c){l=qn(c,l),l=OT(r.stateNode,l,2),r=xs(r,l,2),r!==null&&(Fo(r,2),Di(r))}function tt(r,l,c){if(r.tag===3)fI(r,r,c);else for(;l!==null;){if(l.tag===3){fI(l,r,c);break}else if(l.tag===1){var f=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof f.componentDidCatch=="function"&&(Ys===null||!Ys.has(f))){r=qn(c,r),c=hm(2),f=xs(l,c,2),f!==null&&(Tm(c,f,l,r),Fo(f,2),Di(f));break}}l=l.return}}function WT(r,l,c){var f=r.pingCache;if(f===null){f=r.pingCache=new N0;var d=new Set;f.set(l,d)}else d=f.get(l),d===void 0&&(d=new Set,f.set(l,d));d.has(c)||(BT=!0,d.add(c),r=g0.bind(null,r,l,c),l.then(r,r))}function g0(r,l,c){var f=r.pingCache;f!==null&&f.delete(l),r.pingedLanes|=r.suspendedLanes&c,r.warmLanes&=~c,ot===r&&(Xe&c)===c&&(Nt===4||Nt===3&&(Xe&62914560)===Xe&&300>re()-Cu?(Ze&2)===0&&Wl(r,0):GT|=c,kl===Xe&&(kl=0)),Di(r)}function hI(r,l){l===0&&(l=oO()),r=Mr(r,l),r!==null&&(Fo(r,l),Di(r))}function L0(r){var l=r.memoizedState,c=0;l!==null&&(c=l.retryLane),hI(r,c)}function _0(r,l){var c=0;switch(r.tag){case 31:case 13:var f=r.stateNode,d=r.memoizedState;d!==null&&(c=d.retryLane);break;case 19:f=r.stateNode;break;case 22:f=r.stateNode._retryCache;break;default:throw Error(i(314))}f!==null&&f.delete(l),hI(r,c)}function D0(r,l){return zn(r,l)}var yu=null,Kl=null,XT=!1,vu=!1,KT=!1,Ws=0;function Di(r){r!==Kl&&r.next===null&&(Kl===null?yu=Kl=r:Kl=Kl.next=r),vu=!0,XT||(XT=!0,P0())}function Na(r,l){if(!KT&&vu){KT=!0;do for(var c=!1,f=yu;f!==null;){if(r!==0){var d=f.pendingLanes;if(d===0)var S=0;else{var I=f.suspendedLanes,g=f.pingedLanes;S=(1<<31-Un(42|r)+1)-1,S&=d&~(I&~g),S=S&201326741?S&201326741|1:S?S|2:0}S!==0&&(c=!0,SI(f,S))}else S=Xe,S=Bc(f,f===ot?S:0,f.cancelPendingCommit!==null||f.timeoutHandle!==-1),(S&3)===0||wo(f,S)||(c=!0,SI(f,S));f=f.next}while(c);KT=!1}}function M0(){TI()}function TI(){vu=XT=!1;var r=0;Ws!==0&&F0()&&(r=Ws);for(var l=re(),c=null,f=yu;f!==null;){var d=f.next,S=dI(f,l);S===0?(f.next=null,c===null?yu=d:c.next=d,d===null&&(Kl=c)):(c=f,(r!==0||(S&3)!==0)&&(vu=!0)),f=d}Gt!==0&&Gt!==5||Na(r),Ws!==0&&(Ws=0)}function dI(r,l){for(var c=r.suspendedLanes,f=r.pingedLanes,d=r.expirationTimes,S=r.pendingLanes&-62914561;0<S;){var I=31-Un(S),g=1<<I,y=d[I];y===-1?((g&c)===0||(g&f)!==0)&&(d[I]=nv(g,l)):y<=l&&(r.expiredLanes|=g),S&=~g}if(l=ot,c=Xe,c=Bc(r,r===l?c:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f=r.callbackNode,c===0||r===l&&(et===2||et===9)||r.cancelPendingCommit!==null)return f!==null&&f!==null&&Go(f),r.callbackNode=null,r.callbackPriority=0;if((c&3)===0||wo(r,c)){if(l=c&-c,l===r.callbackPriority)return l;switch(f!==null&&Go(f),oh(c)){case 2:case 8:c=dt;break;case 32:c=Sn;break;case 268435456:c=lO;break;default:c=Sn}return f=AI.bind(null,r),c=zn(c,f),r.callbackPriority=l,r.callbackNode=c,l}return f!==null&&f!==null&&Go(f),r.callbackPriority=2,r.callbackNode=null,2}function AI(r,l){if(Gt!==0&&Gt!==5)return r.callbackNode=null,r.callbackPriority=0,null;var c=r.callbackNode;if(Pu()&&r.callbackNode!==c)return null;var f=Xe;return f=Bc(r,r===ot?f:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f===0?null:(qm(r,f,l),dI(r,re()),r.callbackNode!=null&&r.callbackNode===c?AI.bind(null,r):null)}function SI(r,l){if(Pu())return null;qm(r,l,!0)}function P0(){k0(function(){(Ze&6)!==0?zn(We,M0):TI()})}function zT(){if(Ws===0){var r=yl;r===0&&(r=Uc,Uc<<=1,(Uc&261888)===0&&(Uc=256)),Ws=r}return Ws}function RI(r){return r==null||typeof r=="symbol"||typeof r=="boolean"?null:typeof r=="function"?r:Fc(""+r)}function OI(r,l){var c=l.ownerDocument.createElement("input");return c.name=l.name,c.value=l.value,r.id&&c.setAttribute("form",r.id),l.parentNode.insertBefore(c,l),r=new FormData(r),c.parentNode.removeChild(c),r}function y0(r,l,c,f,d){if(l==="submit"&&c&&c.stateNode===d){var S=RI((d[Rn]||null).action),I=f.submitter;I&&(l=(l=I[Rn]||null)?RI(l.formAction):I.getAttribute("formAction"),l!==null&&(S=l,I=null));var g=new Wc("action","action",null,f,d);r.push({event:g,listeners:[{instance:null,listener:function(){if(f.defaultPrevented){if(Ws!==0){var y=I?OI(d,I):new FormData(d);hT(c,{pending:!0,data:y,method:d.method,action:S},null,y)}}else typeof S=="function"&&(g.preventDefault(),y=I?OI(d,I):new FormData(d),hT(c,{pending:!0,data:y,method:d.method,action:S},S,y))},currentTarget:d}]})}}for(var $T=0;$T<Ph.length;$T++){var jT=Ph[$T],v0=jT.toLowerCase(),U0=jT[0].toUpperCase()+jT.slice(1);ui(v0,"on"+U0)}ui(JO,"onAnimationEnd"),ui(qO,"onAnimationIteration"),ui(QO,"onAnimationStart"),ui("dblclick","onDoubleClick"),ui("focusin","onFocus"),ui("focusout","onBlur"),ui(jv,"onTransitionRun"),ui(Jv,"onTransitionStart"),ui(qv,"onTransitionCancel"),ui(ZO,"onTransitionEnd"),Sl("onMouseEnter",["mouseout","mouseover"]),Sl("onMouseLeave",["mouseout","mouseover"]),Sl("onPointerEnter",["pointerout","pointerover"]),Sl("onPointerLeave",["pointerout","pointerover"]),gr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),gr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),gr("onBeforeInput",["compositionend","keypress","textInput","paste"]),gr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),gr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),gr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ma="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),b0=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ma));function NI(r,l){l=(l&4)!==0;for(var c=0;c<r.length;c++){var f=r[c],d=f.event;f=f.listeners;e:{var S=void 0;if(l)for(var I=f.length-1;0<=I;I--){var g=f[I],y=g.instance,k=g.currentTarget;if(g=g.listener,y!==S&&d.isPropagationStopped())break e;S=g,d.currentTarget=k;try{S(d)}catch($){zc($)}d.currentTarget=null,S=y}else for(I=0;I<f.length;I++){if(g=f[I],y=g.instance,k=g.currentTarget,g=g.listener,y!==S&&d.isPropagationStopped())break e;S=g,d.currentTarget=k;try{S(d)}catch($){zc($)}d.currentTarget=null,S=y}}}}function Ve(r,l){var c=l[ah];c===void 0&&(c=l[ah]=new Set);var f=r+"__bubble";c.has(f)||(mI(l,r,2,!1),c.add(f))}function JT(r,l,c){var f=0;l&&(f|=4),mI(c,r,f,l)}var Uu="_reactListening"+Math.random().toString(36).slice(2);function qT(r){if(!r[Uu]){r[Uu]=!0,TO.forEach(function(c){c!=="selectionchange"&&(b0.has(c)||JT(c,!1,r),JT(c,!0,r))});var l=r.nodeType===9?r:r.ownerDocument;l===null||l[Uu]||(l[Uu]=!0,JT("selectionchange",!1,l))}}function mI(r,l,c,f){switch(JI(l)){case 2:var d=aU;break;case 8:d=cU;break;default:d=fd}c=d.bind(null,l,c,r),d=void 0,!Sh||l!=="touchstart"&&l!=="touchmove"&&l!=="wheel"||(d=!0),f?d!==void 0?r.addEventListener(l,c,{capture:!0,passive:d}):r.addEventListener(l,c,!0):d!==void 0?r.addEventListener(l,c,{passive:d}):r.addEventListener(l,c,!1)}function QT(r,l,c,f,d){var S=f;if((l&1)===0&&(l&2)===0&&f!==null)e:for(;;){if(f===null)return;var I=f.tag;if(I===3||I===4){var g=f.stateNode.containerInfo;if(g===d)break;if(I===4)for(I=f.return;I!==null;){var y=I.tag;if((y===3||y===4)&&I.stateNode.containerInfo===d)return;I=I.return}for(;g!==null;){if(I=Tl(g),I===null)return;if(y=I.tag,y===5||y===6||y===26||y===27){f=S=I;continue e}g=g.parentNode}}f=f.return}LO(function(){var k=S,$=dh(c),te=[];e:{var W=eN.get(r);if(W!==void 0){var K=Wc,pe=r;switch(r){case"keypress":if(kc(c)===0)break e;case"keydown":case"keyup":K=_v;break;case"focusin":pe="focus",K=mh;break;case"focusout":pe="blur",K=mh;break;case"beforeblur":case"afterblur":K=mh;break;case"click":if(c.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":K=MO;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":K=dv;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":K=Pv;break;case JO:case qO:case QO:K=Rv;break;case ZO:K=vv;break;case"scroll":case"scrollend":K=hv;break;case"wheel":K=bv;break;case"copy":case"cut":case"paste":K=Nv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":K=yO;break;case"toggle":case"beforetoggle":K=Bv}var Me=(l&4)!==0,st=!Me&&(r==="scroll"||r==="scrollend"),H=Me?W!==null?W+"Capture":null:W;Me=[];for(var b=k,Y;b!==null;){var Q=b;if(Y=Q.stateNode,Q=Q.tag,Q!==5&&Q!==26&&Q!==27||Y===null||H===null||(Q=Vo(b,H),Q!=null&&Me.push(Ia(b,Q,Y))),st)break;b=b.return}0<Me.length&&(W=new K(W,pe,null,c,$),te.push({event:W,listeners:Me}))}}if((l&7)===0){e:{if(W=r==="mouseover"||r==="pointerover",K=r==="mouseout"||r==="pointerout",W&&c!==Th&&(pe=c.relatedTarget||c.fromElement)&&(Tl(pe)||pe[hl]))break e;if((K||W)&&(W=$.window===$?$:(W=$.ownerDocument)?W.defaultView||W.parentWindow:window,K?(pe=c.relatedTarget||c.toElement,K=k,pe=pe?Tl(pe):null,pe!==null&&(st=o(pe),Me=pe.tag,pe!==st||Me!==5&&Me!==27&&Me!==6)&&(pe=null)):(K=null,pe=k),K!==pe)){if(Me=MO,Q="onMouseLeave",H="onMouseEnter",b="mouse",(r==="pointerout"||r==="pointerover")&&(Me=yO,Q="onPointerLeave",H="onPointerEnter",b="pointer"),st=K==null?W:ko(K),Y=pe==null?W:ko(pe),W=new Me(Q,b+"leave",K,c,$),W.target=st,W.relatedTarget=Y,Q=null,Tl($)===k&&(Me=new Me(H,b+"enter",pe,c,$),Me.target=Y,Me.relatedTarget=st,Q=Me),st=Q,K&&pe)t:{for(Me=x0,H=K,b=pe,Y=0,Q=H;Q;Q=Me(Q))Y++;Q=0;for(var Le=b;Le;Le=Me(Le))Q++;for(;0<Y-Q;)H=Me(H),Y--;for(;0<Q-Y;)b=Me(b),Q--;for(;Y--;){if(H===b||b!==null&&H===b.alternate){Me=H;break t}H=Me(H),b=Me(b)}Me=null}else Me=null;K!==null&&II(te,W,K,Me,!1),pe!==null&&st!==null&&II(te,st,pe,Me,!0)}}e:{if(W=k?ko(k):window,K=W.nodeName&&W.nodeName.toLowerCase(),K==="select"||K==="input"&&W.type==="file")var qe=wO;else if(GO(W))if(FO)qe=Kv;else{qe=Wv;var ge=Vv}else K=W.nodeName,!K||K.toLowerCase()!=="input"||W.type!=="checkbox"&&W.type!=="radio"?k&&hh(k.elementType)&&(qe=wO):qe=Xv;if(qe&&(qe=qe(r,k))){HO(te,qe,c,$);break e}ge&&ge(r,W,k),r==="focusout"&&k&&W.type==="number"&&k.memoizedProps.value!=null&&fh(W,"number",W.value)}switch(ge=k?ko(k):window,r){case"focusin":(GO(ge)||ge.contentEditable==="true")&&(pl=ge,_h=k,qo=null);break;case"focusout":qo=_h=pl=null;break;case"mousedown":Dh=!0;break;case"contextmenu":case"mouseup":case"dragend":Dh=!1,$O(te,c,$);break;case"selectionchange":if($v)break;case"keydown":case"keyup":$O(te,c,$)}var He;if(ph)e:{switch(r){case"compositionstart":var Ke="onCompositionStart";break e;case"compositionend":Ke="onCompositionEnd";break e;case"compositionupdate":Ke="onCompositionUpdate";break e}Ke=void 0}else Il?xO(r,c)&&(Ke="onCompositionEnd"):r==="keydown"&&c.keyCode===229&&(Ke="onCompositionStart");Ke&&(vO&&c.locale!=="ko"&&(Il||Ke!=="onCompositionStart"?Ke==="onCompositionEnd"&&Il&&(He=_O()):(Ds=$,Rh="value"in Ds?Ds.value:Ds.textContent,Il=!0)),ge=bu(k,Ke),0<ge.length&&(Ke=new PO(Ke,r,null,c,$),te.push({event:Ke,listeners:ge}),He?Ke.data=He:(He=BO(c),He!==null&&(Ke.data=He)))),(He=Hv?wv(r,c):Fv(r,c))&&(Ke=bu(k,"onBeforeInput"),0<Ke.length&&(ge=new PO("onBeforeInput","beforeinput",null,c,$),te.push({event:ge,listeners:Ke}),ge.data=He)),y0(te,r,k,c,$)}NI(te,l)})}function Ia(r,l,c){return{instance:r,listener:l,currentTarget:c}}function bu(r,l){for(var c=l+"Capture",f=[];r!==null;){var d=r,S=d.stateNode;if(d=d.tag,d!==5&&d!==26&&d!==27||S===null||(d=Vo(r,c),d!=null&&f.unshift(Ia(r,d,S)),d=Vo(r,l),d!=null&&f.push(Ia(r,d,S))),r.tag===3)return f;r=r.return}return[]}function x0(r){if(r===null)return null;do r=r.return;while(r&&r.tag!==5&&r.tag!==27);return r||null}function II(r,l,c,f,d){for(var S=l._reactName,I=[];c!==null&&c!==f;){var g=c,y=g.alternate,k=g.stateNode;if(g=g.tag,y!==null&&y===f)break;g!==5&&g!==26&&g!==27||k===null||(y=k,d?(k=Vo(c,S),k!=null&&I.unshift(Ia(c,k,y))):d||(k=Vo(c,S),k!=null&&I.push(Ia(c,k,y)))),c=c.return}I.length!==0&&r.push({event:l,listeners:I})}var B0=/\r\n?/g,G0=/\u0000|\uFFFD/g;function pI(r){return(typeof r=="string"?r:""+r).replace(B0,`
|
|
50
|
+
`).replace(G0,"")}function CI(r,l){return l=pI(l),pI(r)===l}function it(r,l,c,f,d,S){switch(c){case"children":typeof f=="string"?l==="body"||l==="textarea"&&f===""||Ol(r,f):(typeof f=="number"||typeof f=="bigint")&&l!=="body"&&Ol(r,""+f);break;case"className":Hc(r,"class",f);break;case"tabIndex":Hc(r,"tabindex",f);break;case"dir":case"role":case"viewBox":case"width":case"height":Hc(r,c,f);break;case"style":CO(r,f,S);break;case"data":if(l!=="object"){Hc(r,"data",f);break}case"src":case"href":if(f===""&&(l!=="a"||c!=="href")){r.removeAttribute(c);break}if(f==null||typeof f=="function"||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(c);break}f=Fc(""+f),r.setAttribute(c,f);break;case"action":case"formAction":if(typeof f=="function"){r.setAttribute(c,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof S=="function"&&(c==="formAction"?(l!=="input"&&it(r,l,"name",d.name,d,null),it(r,l,"formEncType",d.formEncType,d,null),it(r,l,"formMethod",d.formMethod,d,null),it(r,l,"formTarget",d.formTarget,d,null)):(it(r,l,"encType",d.encType,d,null),it(r,l,"method",d.method,d,null),it(r,l,"target",d.target,d,null)));if(f==null||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(c);break}f=Fc(""+f),r.setAttribute(c,f);break;case"onClick":f!=null&&(r.onclick=Qi);break;case"onScroll":f!=null&&Ve("scroll",r);break;case"onScrollEnd":f!=null&&Ve("scrollend",r);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(i(61));if(c=f.__html,c!=null){if(d.children!=null)throw Error(i(60));r.innerHTML=c}}break;case"multiple":r.multiple=f&&typeof f!="function"&&typeof f!="symbol";break;case"muted":r.muted=f&&typeof f!="function"&&typeof f!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(f==null||typeof f=="function"||typeof f=="boolean"||typeof f=="symbol"){r.removeAttribute("xlink:href");break}c=Fc(""+f),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",c);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,""+f):r.removeAttribute(c);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":f&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,""):r.removeAttribute(c);break;case"capture":case"download":f===!0?r.setAttribute(c,""):f!==!1&&f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,f):r.removeAttribute(c);break;case"cols":case"rows":case"size":case"span":f!=null&&typeof f!="function"&&typeof f!="symbol"&&!isNaN(f)&&1<=f?r.setAttribute(c,f):r.removeAttribute(c);break;case"rowSpan":case"start":f==null||typeof f=="function"||typeof f=="symbol"||isNaN(f)?r.removeAttribute(c):r.setAttribute(c,f);break;case"popover":Ve("beforetoggle",r),Ve("toggle",r),Gc(r,"popover",f);break;case"xlinkActuate":qi(r,"http://www.w3.org/1999/xlink","xlink:actuate",f);break;case"xlinkArcrole":qi(r,"http://www.w3.org/1999/xlink","xlink:arcrole",f);break;case"xlinkRole":qi(r,"http://www.w3.org/1999/xlink","xlink:role",f);break;case"xlinkShow":qi(r,"http://www.w3.org/1999/xlink","xlink:show",f);break;case"xlinkTitle":qi(r,"http://www.w3.org/1999/xlink","xlink:title",f);break;case"xlinkType":qi(r,"http://www.w3.org/1999/xlink","xlink:type",f);break;case"xmlBase":qi(r,"http://www.w3.org/XML/1998/namespace","xml:base",f);break;case"xmlLang":qi(r,"http://www.w3.org/XML/1998/namespace","xml:lang",f);break;case"xmlSpace":qi(r,"http://www.w3.org/XML/1998/namespace","xml:space",f);break;case"is":Gc(r,"is",f);break;case"innerText":case"textContent":break;default:(!(2<c.length)||c[0]!=="o"&&c[0]!=="O"||c[1]!=="n"&&c[1]!=="N")&&(c=Ev.get(c)||c,Gc(r,c,f))}}function ZT(r,l,c,f,d,S){switch(c){case"style":CO(r,f,S);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(i(61));if(c=f.__html,c!=null){if(d.children!=null)throw Error(i(60));r.innerHTML=c}}break;case"children":typeof f=="string"?Ol(r,f):(typeof f=="number"||typeof f=="bigint")&&Ol(r,""+f);break;case"onScroll":f!=null&&Ve("scroll",r);break;case"onScrollEnd":f!=null&&Ve("scrollend",r);break;case"onClick":f!=null&&(r.onclick=Qi);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!dO.hasOwnProperty(c))e:{if(c[0]==="o"&&c[1]==="n"&&(d=c.endsWith("Capture"),l=c.slice(2,d?c.length-7:void 0),S=r[Rn]||null,S=S!=null?S[c]:null,typeof S=="function"&&r.removeEventListener(l,S,d),typeof f=="function")){typeof S!="function"&&S!==null&&(c in r?r[c]=null:r.hasAttribute(c)&&r.removeAttribute(c)),r.addEventListener(l,f,d);break e}c in r?r[c]=f:f===!0?r.setAttribute(c,""):Gc(r,c,f)}}}function nn(r,l,c){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ve("error",r),Ve("load",r);var f=!1,d=!1,S;for(S in c)if(c.hasOwnProperty(S)){var I=c[S];if(I!=null)switch(S){case"src":f=!0;break;case"srcSet":d=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(i(137,l));default:it(r,l,S,I,c,null)}}d&&it(r,l,"srcSet",c.srcSet,c,null),f&&it(r,l,"src",c.src,c,null);return;case"input":Ve("invalid",r);var g=S=I=d=null,y=null,k=null;for(f in c)if(c.hasOwnProperty(f)){var $=c[f];if($!=null)switch(f){case"name":d=$;break;case"type":I=$;break;case"checked":y=$;break;case"defaultChecked":k=$;break;case"value":S=$;break;case"defaultValue":g=$;break;case"children":case"dangerouslySetInnerHTML":if($!=null)throw Error(i(137,l));break;default:it(r,l,f,$,c,null)}}NO(r,S,g,y,k,I,d,!1);return;case"select":Ve("invalid",r),f=I=S=null;for(d in c)if(c.hasOwnProperty(d)&&(g=c[d],g!=null))switch(d){case"value":S=g;break;case"defaultValue":I=g;break;case"multiple":f=g;default:it(r,l,d,g,c,null)}l=S,c=I,r.multiple=!!f,l!=null?Rl(r,!!f,l,!1):c!=null&&Rl(r,!!f,c,!0);return;case"textarea":Ve("invalid",r),S=d=f=null;for(I in c)if(c.hasOwnProperty(I)&&(g=c[I],g!=null))switch(I){case"value":f=g;break;case"defaultValue":d=g;break;case"children":S=g;break;case"dangerouslySetInnerHTML":if(g!=null)throw Error(i(91));break;default:it(r,l,I,g,c,null)}IO(r,f,d,S);return;case"option":for(y in c)if(c.hasOwnProperty(y)&&(f=c[y],f!=null))switch(y){case"selected":r.selected=f&&typeof f!="function"&&typeof f!="symbol";break;default:it(r,l,y,f,c,null)}return;case"dialog":Ve("beforetoggle",r),Ve("toggle",r),Ve("cancel",r),Ve("close",r);break;case"iframe":case"object":Ve("load",r);break;case"video":case"audio":for(f=0;f<ma.length;f++)Ve(ma[f],r);break;case"image":Ve("error",r),Ve("load",r);break;case"details":Ve("toggle",r);break;case"embed":case"source":case"link":Ve("error",r),Ve("load",r);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(k in c)if(c.hasOwnProperty(k)&&(f=c[k],f!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(i(137,l));default:it(r,l,k,f,c,null)}return;default:if(hh(l)){for($ in c)c.hasOwnProperty($)&&(f=c[$],f!==void 0&&ZT(r,l,$,f,c,void 0));return}}for(g in c)c.hasOwnProperty(g)&&(f=c[g],f!=null&&it(r,l,g,f,c,null))}function H0(r,l,c,f){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var d=null,S=null,I=null,g=null,y=null,k=null,$=null;for(K in c){var te=c[K];if(c.hasOwnProperty(K)&&te!=null)switch(K){case"checked":break;case"value":break;case"defaultValue":y=te;default:f.hasOwnProperty(K)||it(r,l,K,null,f,te)}}for(var W in f){var K=f[W];if(te=c[W],f.hasOwnProperty(W)&&(K!=null||te!=null))switch(W){case"type":S=K;break;case"name":d=K;break;case"checked":k=K;break;case"defaultChecked":$=K;break;case"value":I=K;break;case"defaultValue":g=K;break;case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(i(137,l));break;default:K!==te&&it(r,l,W,K,f,te)}}Eh(r,I,g,y,k,$,S,d);return;case"select":K=I=g=W=null;for(S in c)if(y=c[S],c.hasOwnProperty(S)&&y!=null)switch(S){case"value":break;case"multiple":K=y;default:f.hasOwnProperty(S)||it(r,l,S,null,f,y)}for(d in f)if(S=f[d],y=c[d],f.hasOwnProperty(d)&&(S!=null||y!=null))switch(d){case"value":W=S;break;case"defaultValue":g=S;break;case"multiple":I=S;default:S!==y&&it(r,l,d,S,f,y)}l=g,c=I,f=K,W!=null?Rl(r,!!c,W,!1):!!f!=!!c&&(l!=null?Rl(r,!!c,l,!0):Rl(r,!!c,c?[]:"",!1));return;case"textarea":K=W=null;for(g in c)if(d=c[g],c.hasOwnProperty(g)&&d!=null&&!f.hasOwnProperty(g))switch(g){case"value":break;case"children":break;default:it(r,l,g,null,f,d)}for(I in f)if(d=f[I],S=c[I],f.hasOwnProperty(I)&&(d!=null||S!=null))switch(I){case"value":W=d;break;case"defaultValue":K=d;break;case"children":break;case"dangerouslySetInnerHTML":if(d!=null)throw Error(i(91));break;default:d!==S&&it(r,l,I,d,f,S)}mO(r,W,K);return;case"option":for(var pe in c)if(W=c[pe],c.hasOwnProperty(pe)&&W!=null&&!f.hasOwnProperty(pe))switch(pe){case"selected":r.selected=!1;break;default:it(r,l,pe,null,f,W)}for(y in f)if(W=f[y],K=c[y],f.hasOwnProperty(y)&&W!==K&&(W!=null||K!=null))switch(y){case"selected":r.selected=W&&typeof W!="function"&&typeof W!="symbol";break;default:it(r,l,y,W,f,K)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Me in c)W=c[Me],c.hasOwnProperty(Me)&&W!=null&&!f.hasOwnProperty(Me)&&it(r,l,Me,null,f,W);for(k in f)if(W=f[k],K=c[k],f.hasOwnProperty(k)&&W!==K&&(W!=null||K!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(W!=null)throw Error(i(137,l));break;default:it(r,l,k,W,f,K)}return;default:if(hh(l)){for(var st in c)W=c[st],c.hasOwnProperty(st)&&W!==void 0&&!f.hasOwnProperty(st)&&ZT(r,l,st,void 0,f,W);for($ in f)W=f[$],K=c[$],!f.hasOwnProperty($)||W===K||W===void 0&&K===void 0||ZT(r,l,$,W,f,K);return}}for(var H in c)W=c[H],c.hasOwnProperty(H)&&W!=null&&!f.hasOwnProperty(H)&&it(r,l,H,null,f,W);for(te in f)W=f[te],K=c[te],!f.hasOwnProperty(te)||W===K||W==null&&K==null||it(r,l,te,W,f,K)}function gI(r){switch(r){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function w0(){if(typeof performance.getEntriesByType=="function"){for(var r=0,l=0,c=performance.getEntriesByType("resource"),f=0;f<c.length;f++){var d=c[f],S=d.transferSize,I=d.initiatorType,g=d.duration;if(S&&g&&gI(I)){for(I=0,g=d.responseEnd,f+=1;f<c.length;f++){var y=c[f],k=y.startTime;if(k>g)break;var $=y.transferSize,te=y.initiatorType;$&&gI(te)&&(y=y.responseEnd,I+=$*(y<g?1:(g-k)/(y-k)))}if(--f,l+=8*(S+I)/(d.duration/1e3),r++,10<r)break}}if(0<r)return l/r/1e6}return navigator.connection&&(r=navigator.connection.downlink,typeof r=="number")?r:5}var ed=null,td=null;function xu(r){return r.nodeType===9?r:r.ownerDocument}function LI(r){switch(r){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function _I(r,l){if(r===0)switch(l){case"svg":return 1;case"math":return 2;default:return 0}return r===1&&l==="foreignObject"?0:r}function nd(r,l){return r==="textarea"||r==="noscript"||typeof l.children=="string"||typeof l.children=="number"||typeof l.children=="bigint"||typeof l.dangerouslySetInnerHTML=="object"&&l.dangerouslySetInnerHTML!==null&&l.dangerouslySetInnerHTML.__html!=null}var id=null;function F0(){var r=window.event;return r&&r.type==="popstate"?r===id?!1:(id=r,!0):(id=null,!1)}var DI=typeof setTimeout=="function"?setTimeout:void 0,Y0=typeof clearTimeout=="function"?clearTimeout:void 0,MI=typeof Promise=="function"?Promise:void 0,k0=typeof queueMicrotask=="function"?queueMicrotask:typeof MI<"u"?function(r){return MI.resolve(null).then(r).catch(V0)}:DI;function V0(r){setTimeout(function(){throw r})}function Xs(r){return r==="head"}function PI(r,l){var c=l,f=0;do{var d=c.nextSibling;if(r.removeChild(c),d&&d.nodeType===8)if(c=d.data,c==="/$"||c==="/&"){if(f===0){r.removeChild(d),Jl(l);return}f--}else if(c==="$"||c==="$?"||c==="$~"||c==="$!"||c==="&")f++;else if(c==="html")pa(r.ownerDocument.documentElement);else if(c==="head"){c=r.ownerDocument.head,pa(c);for(var S=c.firstChild;S;){var I=S.nextSibling,g=S.nodeName;S[Yo]||g==="SCRIPT"||g==="STYLE"||g==="LINK"&&S.rel.toLowerCase()==="stylesheet"||c.removeChild(S),S=I}}else c==="body"&&pa(r.ownerDocument.body);c=d}while(c);Jl(l)}function yI(r,l){var c=r;r=0;do{var f=c.nextSibling;if(c.nodeType===1?l?(c._stashedDisplay=c.style.display,c.style.display="none"):(c.style.display=c._stashedDisplay||"",c.getAttribute("style")===""&&c.removeAttribute("style")):c.nodeType===3&&(l?(c._stashedText=c.nodeValue,c.nodeValue=""):c.nodeValue=c._stashedText||""),f&&f.nodeType===8)if(c=f.data,c==="/$"){if(r===0)break;r--}else c!=="$"&&c!=="$?"&&c!=="$~"&&c!=="$!"||r++;c=f}while(c)}function sd(r){var l=r.firstChild;for(l&&l.nodeType===10&&(l=l.nextSibling);l;){var c=l;switch(l=l.nextSibling,c.nodeName){case"HTML":case"HEAD":case"BODY":sd(c),ch(c);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(c.rel.toLowerCase()==="stylesheet")continue}r.removeChild(c)}}function W0(r,l,c,f){for(;r.nodeType===1;){var d=c;if(r.nodeName.toLowerCase()!==l.toLowerCase()){if(!f&&(r.nodeName!=="INPUT"||r.type!=="hidden"))break}else if(f){if(!r[Yo])switch(l){case"meta":if(!r.hasAttribute("itemprop"))break;return r;case"link":if(S=r.getAttribute("rel"),S==="stylesheet"&&r.hasAttribute("data-precedence"))break;if(S!==d.rel||r.getAttribute("href")!==(d.href==null||d.href===""?null:d.href)||r.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin)||r.getAttribute("title")!==(d.title==null?null:d.title))break;return r;case"style":if(r.hasAttribute("data-precedence"))break;return r;case"script":if(S=r.getAttribute("src"),(S!==(d.src==null?null:d.src)||r.getAttribute("type")!==(d.type==null?null:d.type)||r.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin))&&S&&r.hasAttribute("async")&&!r.hasAttribute("itemprop"))break;return r;default:return r}}else if(l==="input"&&r.type==="hidden"){var S=d.name==null?null:""+d.name;if(d.type==="hidden"&&r.getAttribute("name")===S)return r}else return r;if(r=ni(r.nextSibling),r===null)break}return null}function X0(r,l,c){if(l==="")return null;for(;r.nodeType!==3;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!c||(r=ni(r.nextSibling),r===null))return null;return r}function vI(r,l){for(;r.nodeType!==8;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!l||(r=ni(r.nextSibling),r===null))return null;return r}function rd(r){return r.data==="$?"||r.data==="$~"}function ld(r){return r.data==="$!"||r.data==="$?"&&r.ownerDocument.readyState!=="loading"}function K0(r,l){var c=r.ownerDocument;if(r.data==="$~")r._reactRetry=l;else if(r.data!=="$?"||c.readyState!=="loading")l();else{var f=function(){l(),c.removeEventListener("DOMContentLoaded",f)};c.addEventListener("DOMContentLoaded",f),r._reactRetry=f}}function ni(r){for(;r!=null;r=r.nextSibling){var l=r.nodeType;if(l===1||l===3)break;if(l===8){if(l=r.data,l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"||l==="F!"||l==="F")break;if(l==="/$"||l==="/&")return null}}return r}var od=null;function UI(r){r=r.nextSibling;for(var l=0;r;){if(r.nodeType===8){var c=r.data;if(c==="/$"||c==="/&"){if(l===0)return ni(r.nextSibling);l--}else c!=="$"&&c!=="$!"&&c!=="$?"&&c!=="$~"&&c!=="&"||l++}r=r.nextSibling}return null}function bI(r){r=r.previousSibling;for(var l=0;r;){if(r.nodeType===8){var c=r.data;if(c==="$"||c==="$!"||c==="$?"||c==="$~"||c==="&"){if(l===0)return r;l--}else c!=="/$"&&c!=="/&"||l++}r=r.previousSibling}return null}function xI(r,l,c){switch(l=xu(c),r){case"html":if(r=l.documentElement,!r)throw Error(i(452));return r;case"head":if(r=l.head,!r)throw Error(i(453));return r;case"body":if(r=l.body,!r)throw Error(i(454));return r;default:throw Error(i(451))}}function pa(r){for(var l=r.attributes;l.length;)r.removeAttributeNode(l[0]);ch(r)}var ii=new Map,BI=new Set;function Bu(r){return typeof r.getRootNode=="function"?r.getRootNode():r.nodeType===9?r:r.ownerDocument}var Ts=z.d;z.d={f:z0,r:$0,D:j0,C:J0,L:q0,m:Q0,X:eU,S:Z0,M:tU};function z0(){var r=Ts.f(),l=_u();return r||l}function $0(r){var l=dl(r);l!==null&&l.tag===5&&l.type==="form"?ZN(l):Ts.r(r)}var zl=typeof document>"u"?null:document;function GI(r,l,c){var f=zl;if(f&&typeof l=="string"&&l){var d=jn(l);d='link[rel="'+r+'"][href="'+d+'"]',typeof c=="string"&&(d+='[crossorigin="'+c+'"]'),BI.has(d)||(BI.add(d),r={rel:r,crossOrigin:c,href:l},f.querySelector(d)===null&&(l=f.createElement("link"),nn(l,"link",r),kt(l),f.head.appendChild(l)))}}function j0(r){Ts.D(r),GI("dns-prefetch",r,null)}function J0(r,l){Ts.C(r,l),GI("preconnect",r,l)}function q0(r,l,c){Ts.L(r,l,c);var f=zl;if(f&&r&&l){var d='link[rel="preload"][as="'+jn(l)+'"]';l==="image"&&c&&c.imageSrcSet?(d+='[imagesrcset="'+jn(c.imageSrcSet)+'"]',typeof c.imageSizes=="string"&&(d+='[imagesizes="'+jn(c.imageSizes)+'"]')):d+='[href="'+jn(r)+'"]';var S=d;switch(l){case"style":S=$l(r);break;case"script":S=jl(r)}ii.has(S)||(r=A({rel:"preload",href:l==="image"&&c&&c.imageSrcSet?void 0:r,as:l},c),ii.set(S,r),f.querySelector(d)!==null||l==="style"&&f.querySelector(Ca(S))||l==="script"&&f.querySelector(ga(S))||(l=f.createElement("link"),nn(l,"link",r),kt(l),f.head.appendChild(l)))}}function Q0(r,l){Ts.m(r,l);var c=zl;if(c&&r){var f=l&&typeof l.as=="string"?l.as:"script",d='link[rel="modulepreload"][as="'+jn(f)+'"][href="'+jn(r)+'"]',S=d;switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":S=jl(r)}if(!ii.has(S)&&(r=A({rel:"modulepreload",href:r},l),ii.set(S,r),c.querySelector(d)===null)){switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(c.querySelector(ga(S)))return}f=c.createElement("link"),nn(f,"link",r),kt(f),c.head.appendChild(f)}}}function Z0(r,l,c){Ts.S(r,l,c);var f=zl;if(f&&r){var d=Al(f).hoistableStyles,S=$l(r);l=l||"default";var I=d.get(S);if(!I){var g={loading:0,preload:null};if(I=f.querySelector(Ca(S)))g.loading=5;else{r=A({rel:"stylesheet",href:r,"data-precedence":l},c),(c=ii.get(S))&&ad(r,c);var y=I=f.createElement("link");kt(y),nn(y,"link",r),y._p=new Promise(function(k,$){y.onload=k,y.onerror=$}),y.addEventListener("load",function(){g.loading|=1}),y.addEventListener("error",function(){g.loading|=2}),g.loading|=4,Gu(I,l,f)}I={type:"stylesheet",instance:I,count:1,state:g},d.set(S,I)}}}function eU(r,l){Ts.X(r,l);var c=zl;if(c&&r){var f=Al(c).hoistableScripts,d=jl(r),S=f.get(d);S||(S=c.querySelector(ga(d)),S||(r=A({src:r,async:!0},l),(l=ii.get(d))&&cd(r,l),S=c.createElement("script"),kt(S),nn(S,"link",r),c.head.appendChild(S)),S={type:"script",instance:S,count:1,state:null},f.set(d,S))}}function tU(r,l){Ts.M(r,l);var c=zl;if(c&&r){var f=Al(c).hoistableScripts,d=jl(r),S=f.get(d);S||(S=c.querySelector(ga(d)),S||(r=A({src:r,async:!0,type:"module"},l),(l=ii.get(d))&&cd(r,l),S=c.createElement("script"),kt(S),nn(S,"link",r),c.head.appendChild(S)),S={type:"script",instance:S,count:1,state:null},f.set(d,S))}}function HI(r,l,c,f){var d=(d=Se.current)?Bu(d):null;if(!d)throw Error(i(446));switch(r){case"meta":case"title":return null;case"style":return typeof c.precedence=="string"&&typeof c.href=="string"?(l=$l(c.href),c=Al(d).hoistableStyles,f=c.get(l),f||(f={type:"style",instance:null,count:0,state:null},c.set(l,f)),f):{type:"void",instance:null,count:0,state:null};case"link":if(c.rel==="stylesheet"&&typeof c.href=="string"&&typeof c.precedence=="string"){r=$l(c.href);var S=Al(d).hoistableStyles,I=S.get(r);if(I||(d=d.ownerDocument||d,I={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},S.set(r,I),(S=d.querySelector(Ca(r)))&&!S._p&&(I.instance=S,I.state.loading=5),ii.has(r)||(c={rel:"preload",as:"style",href:c.href,crossOrigin:c.crossOrigin,integrity:c.integrity,media:c.media,hrefLang:c.hrefLang,referrerPolicy:c.referrerPolicy},ii.set(r,c),S||nU(d,r,c,I.state))),l&&f===null)throw Error(i(528,""));return I}if(l&&f!==null)throw Error(i(529,""));return null;case"script":return l=c.async,c=c.src,typeof c=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=jl(c),c=Al(d).hoistableScripts,f=c.get(l),f||(f={type:"script",instance:null,count:0,state:null},c.set(l,f)),f):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,r))}}function $l(r){return'href="'+jn(r)+'"'}function Ca(r){return'link[rel="stylesheet"]['+r+"]"}function wI(r){return A({},r,{"data-precedence":r.precedence,precedence:null})}function nU(r,l,c,f){r.querySelector('link[rel="preload"][as="style"]['+l+"]")?f.loading=1:(l=r.createElement("link"),f.preload=l,l.addEventListener("load",function(){return f.loading|=1}),l.addEventListener("error",function(){return f.loading|=2}),nn(l,"link",c),kt(l),r.head.appendChild(l))}function jl(r){return'[src="'+jn(r)+'"]'}function ga(r){return"script[async]"+r}function FI(r,l,c){if(l.count++,l.instance===null)switch(l.type){case"style":var f=r.querySelector('style[data-href~="'+jn(c.href)+'"]');if(f)return l.instance=f,kt(f),f;var d=A({},c,{"data-href":c.href,"data-precedence":c.precedence,href:null,precedence:null});return f=(r.ownerDocument||r).createElement("style"),kt(f),nn(f,"style",d),Gu(f,c.precedence,r),l.instance=f;case"stylesheet":d=$l(c.href);var S=r.querySelector(Ca(d));if(S)return l.state.loading|=4,l.instance=S,kt(S),S;f=wI(c),(d=ii.get(d))&&ad(f,d),S=(r.ownerDocument||r).createElement("link"),kt(S);var I=S;return I._p=new Promise(function(g,y){I.onload=g,I.onerror=y}),nn(S,"link",f),l.state.loading|=4,Gu(S,c.precedence,r),l.instance=S;case"script":return S=jl(c.src),(d=r.querySelector(ga(S)))?(l.instance=d,kt(d),d):(f=c,(d=ii.get(S))&&(f=A({},c),cd(f,d)),r=r.ownerDocument||r,d=r.createElement("script"),kt(d),nn(d,"link",f),r.head.appendChild(d),l.instance=d);case"void":return null;default:throw Error(i(443,l.type))}else l.type==="stylesheet"&&(l.state.loading&4)===0&&(f=l.instance,l.state.loading|=4,Gu(f,c.precedence,r));return l.instance}function Gu(r,l,c){for(var f=c.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),d=f.length?f[f.length-1]:null,S=d,I=0;I<f.length;I++){var g=f[I];if(g.dataset.precedence===l)S=g;else if(S!==d)break}S?S.parentNode.insertBefore(r,S.nextSibling):(l=c.nodeType===9?c.head:c,l.insertBefore(r,l.firstChild))}function ad(r,l){r.crossOrigin==null&&(r.crossOrigin=l.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=l.referrerPolicy),r.title==null&&(r.title=l.title)}function cd(r,l){r.crossOrigin==null&&(r.crossOrigin=l.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=l.referrerPolicy),r.integrity==null&&(r.integrity=l.integrity)}var Hu=null;function YI(r,l,c){if(Hu===null){var f=new Map,d=Hu=new Map;d.set(c,f)}else d=Hu,f=d.get(c),f||(f=new Map,d.set(c,f));if(f.has(r))return f;for(f.set(r,null),c=c.getElementsByTagName(r),d=0;d<c.length;d++){var S=c[d];if(!(S[Yo]||S[Qt]||r==="link"&&S.getAttribute("rel")==="stylesheet")&&S.namespaceURI!=="http://www.w3.org/2000/svg"){var I=S.getAttribute(l)||"";I=r+I;var g=f.get(I);g?g.push(S):f.set(I,[S])}}return f}function kI(r,l,c){r=r.ownerDocument||r,r.head.insertBefore(c,l==="title"?r.querySelector("head > title"):null)}function iU(r,l,c){if(c===1||l.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return r=l.disabled,typeof l.precedence=="string"&&r==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function VI(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function sU(r,l,c,f){if(c.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(c.state.loading&4)===0){if(c.instance===null){var d=$l(f.href),S=l.querySelector(Ca(d));if(S){l=S._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(r.count++,r=wu.bind(r),l.then(r,r)),c.state.loading|=4,c.instance=S,kt(S);return}S=l.ownerDocument||l,f=wI(f),(d=ii.get(d))&&ad(f,d),S=S.createElement("link"),kt(S);var I=S;I._p=new Promise(function(g,y){I.onload=g,I.onerror=y}),nn(S,"link",f),c.instance=S}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(c,l),(l=c.state.preload)&&(c.state.loading&3)===0&&(r.count++,c=wu.bind(r),l.addEventListener("load",c),l.addEventListener("error",c))}}var ud=0;function rU(r,l){return r.stylesheets&&r.count===0&&Yu(r,r.stylesheets),0<r.count||0<r.imgCount?function(c){var f=setTimeout(function(){if(r.stylesheets&&Yu(r,r.stylesheets),r.unsuspend){var S=r.unsuspend;r.unsuspend=null,S()}},6e4+l);0<r.imgBytes&&ud===0&&(ud=62500*w0());var d=setTimeout(function(){if(r.waitingForImages=!1,r.count===0&&(r.stylesheets&&Yu(r,r.stylesheets),r.unsuspend)){var S=r.unsuspend;r.unsuspend=null,S()}},(r.imgBytes>ud?50:800)+l);return r.unsuspend=c,function(){r.unsuspend=null,clearTimeout(f),clearTimeout(d)}}:null}function wu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yu(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var Fu=null;function Yu(r,l){r.stylesheets=null,r.unsuspend!==null&&(r.count++,Fu=new Map,l.forEach(lU,r),Fu=null,wu.call(r))}function lU(r,l){if(!(l.state.loading&4)){var c=Fu.get(r);if(c)var f=c.get(null);else{c=new Map,Fu.set(r,c);for(var d=r.querySelectorAll("link[data-precedence],style[data-precedence]"),S=0;S<d.length;S++){var I=d[S];(I.nodeName==="LINK"||I.getAttribute("media")!=="not all")&&(c.set(I.dataset.precedence,I),f=I)}f&&c.set(null,f)}d=l.instance,I=d.getAttribute("data-precedence"),S=c.get(I)||f,S===f&&c.set(null,d),c.set(I,d),this.count++,f=wu.bind(this),d.addEventListener("load",f),d.addEventListener("error",f),S?S.parentNode.insertBefore(d,S.nextSibling):(r=r.nodeType===9?r.head:r,r.insertBefore(d,r.firstChild)),l.state.loading|=4}}var La={$$typeof:_,Provider:null,Consumer:null,_currentValue:ne,_currentValue2:ne,_threadCount:0};function oU(r,l,c,f,d,S,I,g,y){this.tag=1,this.containerInfo=r,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=rh(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=rh(0),this.hiddenUpdates=rh(null),this.identifierPrefix=f,this.onUncaughtError=d,this.onCaughtError=S,this.onRecoverableError=I,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=y,this.incompleteTransitions=new Map}function WI(r,l,c,f,d,S,I,g,y,k,$,te){return r=new oU(r,l,c,I,y,k,$,te,g),l=1,S===!0&&(l|=24),S=xn(3,null,null,l),r.current=S,S.stateNode=r,l=Vh(),l.refCount++,r.pooledCache=l,l.refCount++,S.memoizedState={element:f,isDehydrated:c,cache:l},zh(S),r}function XI(r){return r?(r=Ll,r):Ll}function KI(r,l,c,f,d,S){d=XI(d),f.context===null?f.context=d:f.pendingContext=d,f=bs(l),f.payload={element:c},S=S===void 0?null:S,S!==null&&(f.callback=S),c=xs(r,f,l),c!==null&&(Cn(c,r,l),sa(c,r,l))}function zI(r,l){if(r=r.memoizedState,r!==null&&r.dehydrated!==null){var c=r.retryLane;r.retryLane=c!==0&&c<l?c:l}}function Ed(r,l){zI(r,l),(r=r.alternate)&&zI(r,l)}function $I(r){if(r.tag===13||r.tag===31){var l=Mr(r,67108864);l!==null&&Cn(l,r,67108864),Ed(r,67108864)}}function jI(r){if(r.tag===13||r.tag===31){var l=Fn();l=lh(l);var c=Mr(r,l);c!==null&&Cn(c,r,l),Ed(r,l)}}var ku=!0;function aU(r,l,c,f){var d=x.T;x.T=null;var S=z.p;try{z.p=2,fd(r,l,c,f)}finally{z.p=S,x.T=d}}function cU(r,l,c,f){var d=x.T;x.T=null;var S=z.p;try{z.p=8,fd(r,l,c,f)}finally{z.p=S,x.T=d}}function fd(r,l,c,f){if(ku){var d=hd(f);if(d===null)QT(r,l,f,Vu,c),qI(r,f);else if(EU(d,r,l,c,f))f.stopPropagation();else if(qI(r,f),l&4&&-1<uU.indexOf(r)){for(;d!==null;){var S=dl(d);if(S!==null)switch(S.tag){case 3:if(S=S.stateNode,S.current.memoizedState.isDehydrated){var I=Cr(S.pendingLanes);if(I!==0){var g=S;for(g.pendingLanes|=2,g.entangledLanes|=2;I;){var y=1<<31-Un(I);g.entanglements[1]|=y,I&=~y}Di(S),(Ze&6)===0&&(gu=re()+500,Na(0))}}break;case 31:case 13:g=Mr(S,2),g!==null&&Cn(g,S,2),_u(),Ed(S,2)}if(S=hd(f),S===null&&QT(r,l,f,Vu,c),S===d)break;d=S}d!==null&&f.stopPropagation()}else QT(r,l,f,null,c)}}function hd(r){return r=dh(r),Td(r)}var Vu=null;function Td(r){if(Vu=null,r=Tl(r),r!==null){var l=o(r);if(l===null)r=null;else{var c=l.tag;if(c===13){if(r=a(l),r!==null)return r;r=null}else if(c===31){if(r=u(l),r!==null)return r;r=null}else if(c===3){if(l.stateNode.current.memoizedState.isDehydrated)return l.tag===3?l.stateNode.containerInfo:null;r=null}else l!==r&&(r=null)}}return Vu=r,null}function JI(r){switch(r){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ve()){case We:return 2;case dt:return 8;case Sn:case sh:return 32;case lO:return 268435456;default:return 32}default:return 32}}var dd=!1,Ks=null,zs=null,$s=null,_a=new Map,Da=new Map,js=[],uU="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function qI(r,l){switch(r){case"focusin":case"focusout":Ks=null;break;case"dragenter":case"dragleave":zs=null;break;case"mouseover":case"mouseout":$s=null;break;case"pointerover":case"pointerout":_a.delete(l.pointerId);break;case"gotpointercapture":case"lostpointercapture":Da.delete(l.pointerId)}}function Ma(r,l,c,f,d,S){return r===null||r.nativeEvent!==S?(r={blockedOn:l,domEventName:c,eventSystemFlags:f,nativeEvent:S,targetContainers:[d]},l!==null&&(l=dl(l),l!==null&&$I(l)),r):(r.eventSystemFlags|=f,l=r.targetContainers,d!==null&&l.indexOf(d)===-1&&l.push(d),r)}function EU(r,l,c,f,d){switch(l){case"focusin":return Ks=Ma(Ks,r,l,c,f,d),!0;case"dragenter":return zs=Ma(zs,r,l,c,f,d),!0;case"mouseover":return $s=Ma($s,r,l,c,f,d),!0;case"pointerover":var S=d.pointerId;return _a.set(S,Ma(_a.get(S)||null,r,l,c,f,d)),!0;case"gotpointercapture":return S=d.pointerId,Da.set(S,Ma(Da.get(S)||null,r,l,c,f,d)),!0}return!1}function QI(r){var l=Tl(r.target);if(l!==null){var c=o(l);if(c!==null){if(l=c.tag,l===13){if(l=a(c),l!==null){r.blockedOn=l,fO(r.priority,function(){jI(c)});return}}else if(l===31){if(l=u(c),l!==null){r.blockedOn=l,fO(r.priority,function(){jI(c)});return}}else if(l===3&&c.stateNode.current.memoizedState.isDehydrated){r.blockedOn=c.tag===3?c.stateNode.containerInfo:null;return}}}r.blockedOn=null}function Wu(r){if(r.blockedOn!==null)return!1;for(var l=r.targetContainers;0<l.length;){var c=hd(r.nativeEvent);if(c===null){c=r.nativeEvent;var f=new c.constructor(c.type,c);Th=f,c.target.dispatchEvent(f),Th=null}else return l=dl(c),l!==null&&$I(l),r.blockedOn=c,!1;l.shift()}return!0}function ZI(r,l,c){Wu(r)&&c.delete(l)}function fU(){dd=!1,Ks!==null&&Wu(Ks)&&(Ks=null),zs!==null&&Wu(zs)&&(zs=null),$s!==null&&Wu($s)&&($s=null),_a.forEach(ZI),Da.forEach(ZI)}function Xu(r,l){r.blockedOn===l&&(r.blockedOn=null,dd||(dd=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,fU)))}var Ku=null;function ep(r){Ku!==r&&(Ku=r,n.unstable_scheduleCallback(n.unstable_NormalPriority,function(){Ku===r&&(Ku=null);for(var l=0;l<r.length;l+=3){var c=r[l],f=r[l+1],d=r[l+2];if(typeof f!="function"){if(Td(f||c)===null)continue;break}var S=dl(c);S!==null&&(r.splice(l,3),l-=3,hT(S,{pending:!0,data:d,method:c.method,action:f},f,d))}}))}function Jl(r){function l(y){return Xu(y,r)}Ks!==null&&Xu(Ks,r),zs!==null&&Xu(zs,r),$s!==null&&Xu($s,r),_a.forEach(l),Da.forEach(l);for(var c=0;c<js.length;c++){var f=js[c];f.blockedOn===r&&(f.blockedOn=null)}for(;0<js.length&&(c=js[0],c.blockedOn===null);)QI(c),c.blockedOn===null&&js.shift();if(c=(r.ownerDocument||r).$$reactFormReplay,c!=null)for(f=0;f<c.length;f+=3){var d=c[f],S=c[f+1],I=d[Rn]||null;if(typeof S=="function")I||ep(c);else if(I){var g=null;if(S&&S.hasAttribute("formAction")){if(d=S,I=S[Rn]||null)g=I.formAction;else if(Td(d)!==null)continue}else g=I.action;typeof g=="function"?c[f+1]=g:(c.splice(f,3),f-=3),ep(c)}}}function tp(){function r(S){S.canIntercept&&S.info==="react-transition"&&S.intercept({handler:function(){return new Promise(function(I){return d=I})},focusReset:"manual",scroll:"manual"})}function l(){d!==null&&(d(),d=null),f||setTimeout(c,20)}function c(){if(!f&&!navigation.transition){var S=navigation.currentEntry;S&&S.url!=null&&navigation.navigate(S.url,{state:S.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var f=!1,d=null;return navigation.addEventListener("navigate",r),navigation.addEventListener("navigatesuccess",l),navigation.addEventListener("navigateerror",l),setTimeout(c,100),function(){f=!0,navigation.removeEventListener("navigate",r),navigation.removeEventListener("navigatesuccess",l),navigation.removeEventListener("navigateerror",l),d!==null&&(d(),d=null)}}}function Ad(r){this._internalRoot=r}zu.prototype.render=Ad.prototype.render=function(r){var l=this._internalRoot;if(l===null)throw Error(i(409));var c=l.current,f=Fn();KI(c,f,r,l,null,null)},zu.prototype.unmount=Ad.prototype.unmount=function(){var r=this._internalRoot;if(r!==null){this._internalRoot=null;var l=r.containerInfo;KI(r.current,2,null,r,null,null),_u(),l[hl]=null}};function zu(r){this._internalRoot=r}zu.prototype.unstable_scheduleHydration=function(r){if(r){var l=EO();r={blockedOn:null,target:r,priority:l};for(var c=0;c<js.length&&l!==0&&l<js[c].priority;c++);js.splice(c,0,r),c===0&&QI(r)}};var np=e.version;if(np!=="19.2.7")throw Error(i(527,np,"19.2.7"));z.findDOMNode=function(r){var l=r._reactInternals;if(l===void 0)throw typeof r.render=="function"?Error(i(188)):(r=Object.keys(r).join(","),Error(i(268,r)));return r=h(l),r=r!==null?T(r):null,r=r===null?null:r.stateNode,r};var hU={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:x,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var $u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!$u.isDisabled&&$u.supportsFiber)try{Ho=$u.inject(hU),vn=$u}catch{}}return ya.createRoot=function(r,l){if(!s(r))throw Error(i(299));var c=!1,f="",d=cm,S=um,I=Em;return l!=null&&(l.unstable_strictMode===!0&&(c=!0),l.identifierPrefix!==void 0&&(f=l.identifierPrefix),l.onUncaughtError!==void 0&&(d=l.onUncaughtError),l.onCaughtError!==void 0&&(S=l.onCaughtError),l.onRecoverableError!==void 0&&(I=l.onRecoverableError)),l=WI(r,1,!1,null,null,c,f,null,d,S,I,tp),r[hl]=l.current,qT(r),new Ad(l)},ya.hydrateRoot=function(r,l,c){if(!s(r))throw Error(i(299));var f=!1,d="",S=cm,I=um,g=Em,y=null;return c!=null&&(c.unstable_strictMode===!0&&(f=!0),c.identifierPrefix!==void 0&&(d=c.identifierPrefix),c.onUncaughtError!==void 0&&(S=c.onUncaughtError),c.onCaughtError!==void 0&&(I=c.onCaughtError),c.onRecoverableError!==void 0&&(g=c.onRecoverableError),c.formState!==void 0&&(y=c.formState)),l=WI(r,1,!0,l,c??null,f,d,y,S,I,g,tp),l.context=XI(null),c=l.current,f=Fn(),f=lh(f),d=bs(f),d.callback=null,xs(c,d,f),c=f,l.current.lanes=c,Fo(l,c),Di(l),r[hl]=l.current,qT(r),new zu(l)},ya.version="19.2.7",ya}var fp;function CU(){if(fp)return Od.exports;fp=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Od.exports=pU(),Od.exports}var gU=CU();function XL(n){var e,t,i="";if(typeof n=="string"||typeof n=="number")i+=n;else if(typeof n=="object")if(Array.isArray(n)){var s=n.length;for(e=0;e<s;e++)n[e]&&(t=XL(n[e]))&&(i&&(i+=" "),i+=t)}else for(t in n)n[t]&&(i&&(i+=" "),i+=t);return i}function KL(){for(var n,e,t=0,i="",s=arguments.length;t<s;t++)(n=arguments[t])&&(e=XL(n))&&(i&&(i+=" "),i+=e);return i}const hp=n=>typeof n=="boolean"?`${n}`:n===0?"0":n,Tp=KL,LU=(n,e)=>t=>{var i;if((e==null?void 0:e.variants)==null)return Tp(n,t==null?void 0:t.class,t==null?void 0:t.className);const{variants:s,defaultVariants:o}=e,a=Object.keys(s).map(h=>{const T=t==null?void 0:t[h],A=o==null?void 0:o[h];if(T===null)return null;const R=hp(T)||hp(A);return s[h][R]}),u=t&&Object.entries(t).reduce((h,T)=>{let[A,R]=T;return R===void 0||(h[A]=R),h},{}),E=e==null||(i=e.compoundVariants)===null||i===void 0?void 0:i.reduce((h,T)=>{let{class:A,className:R,...O}=T;return Object.entries(O).every(N=>{let[m,C]=N;return Array.isArray(C)?C.includes({...o,...u}[m]):{...o,...u}[m]===C})?[...h,A,R]:h},[]);return Tp(n,a,E,t==null?void 0:t.class,t==null?void 0:t.className)};var Cc=WL();function dp(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function _U(...n){return e=>{let t=!1;const i=n.map(s=>{const o=dp(s,e);return!t&&typeof o=="function"&&(t=!0),o});if(t)return()=>{for(let s=0;s<i.length;s++){const o=i[s];typeof o=="function"?o():dp(n[s],null)}}}}function jt(...n){return M.useCallback(_U(...n),n)}function ec(n){const e=M.forwardRef((t,i)=>{let{children:s,...o}=t,a=null,u=!1;const E=[];Ap(s)&&typeof ju=="function"&&(s=ju(s._payload)),M.Children.forEach(s,R=>{var O;if(UU(R)){u=!0;const N=R;let m="child"in N.props?N.props.child:N.props.children;Ap(m)&&typeof ju=="function"&&(m=ju(m._payload)),a=PU(N,m),E.push((O=a==null?void 0:a.props)==null?void 0:O.children)}else E.push(R)}),a?a=M.cloneElement(a,void 0,E):!u&&M.Children.count(s)===1&&M.isValidElement(s)&&(a=s);const h=a?vU(a):void 0,T=jt(i,h);if(!a){if(s||s===0)throw new Error(u?GU(n):BU(n));return s}const A=yU(o,a.props??{});return a.type!==M.Fragment&&(A.ref=i?T:h),M.cloneElement(a,A)});return e.displayName=`${n}.Slot`,e}var DU=ec("Slot"),MU=Symbol.for("radix.slottable"),PU=(n,e)=>{if("child"in n.props){const t=n.props.child;return M.isValidElement(t)?M.cloneElement(t,void 0,n.props.children(t.props.children)):null}return M.isValidElement(e)?e:null};function yU(n,e){const t={...e};for(const i in e){const s=n[i],o=e[i];/^on[A-Z]/.test(i)?s&&o?t[i]=(...u)=>{const E=o(...u);return s(...u),E}:s&&(t[i]=s):i==="style"?t[i]={...s,...o}:i==="className"&&(t[i]=[s,o].filter(Boolean).join(" "))}return{...n,...t}}function vU(n){var i,s;let e=(i=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:i.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}function UU(n){return M.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===MU}var bU=Symbol.for("react.lazy");function Ap(n){return n!=null&&typeof n=="object"&&"$$typeof"in n&&n.$$typeof===bU&&"_payload"in n&&xU(n._payload)}function xU(n){return typeof n=="object"&&n!==null&&"then"in n}var BU=n=>`${n} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,GU=n=>`${n} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,ju=pc[" use ".trim().toString()],HU=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Pt=HU.reduce((n,e)=>{const t=ec(`Primitive.${e}`),i=M.forwardRef((s,o)=>{const{asChild:a,...u}=s,E=a?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(E,{...u,ref:o})});return i.displayName=`Primitive.${e}`,{...n,[e]:i}},{});function wU(n,e){n&&Cc.flushSync(()=>n.dispatchEvent(e))}var zL=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),FU="VisuallyHidden",YU=M.forwardRef((n,e)=>p.jsx(Pt.span,{...n,ref:e,style:{...zL,...n.style}}));YU.displayName=FU;function QS(n,e=[]){let t=[];function i(o,a){const u=M.createContext(a);u.displayName=o+"Context";const E=t.length;t=[...t,a];const h=A=>{var L;const{scope:R,children:O,...N}=A,m=((L=R==null?void 0:R[n])==null?void 0:L[E])||u,C=M.useMemo(()=>N,Object.values(N));return p.jsx(m.Provider,{value:C,children:O})};h.displayName=o+"Provider";function T(A,R){var m;const O=((m=R==null?void 0:R[n])==null?void 0:m[E])||u,N=M.useContext(O);if(N)return N;if(a!==void 0)return a;throw new Error(`\`${A}\` must be used within \`${o}\``)}return[h,T]}const s=()=>{const o=t.map(a=>M.createContext(a));return function(u){const E=(u==null?void 0:u[n])||o;return M.useMemo(()=>({[`__scope${n}`]:{...u,[n]:E}}),[u,E])}};return s.scopeName=n,[i,kU(s,...e)]}function kU(...n){const e=n[0];if(n.length===1)return e;const t=()=>{const i=n.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(o){const a=i.reduce((u,{useScope:E,scopeName:h})=>{const A=E(o)[`__scope${h}`];return{...u,...A}},{});return M.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return t.scopeName=e.scopeName,t}function VU(n){const e=n+"CollectionProvider",[t,i]=QS(e),[s,o]=t(e,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:C,children:L}=m,D=M.useRef(null),_=M.useRef(new Map).current;return p.jsx(s,{scope:C,itemMap:_,collectionRef:D,children:L})};a.displayName=e;const u=n+"CollectionSlot",E=ec(u),h=M.forwardRef((m,C)=>{const{scope:L,children:D}=m,_=o(u,L),v=jt(C,_.collectionRef);return p.jsx(E,{ref:v,children:D})});h.displayName=u;const T=n+"CollectionItemSlot",A="data-radix-collection-item",R=ec(T),O=M.forwardRef((m,C)=>{const{scope:L,children:D,..._}=m,v=M.useRef(null),U=jt(C,v),G=o(T,L);return M.useEffect(()=>(G.itemMap.set(v,{ref:v,..._}),()=>void G.itemMap.delete(v))),p.jsx(R,{[A]:"",ref:U,children:D})});O.displayName=T;function N(m){const C=o(n+"CollectionConsumer",m);return M.useCallback(()=>{const D=C.collectionRef.current;if(!D)return[];const _=Array.from(D.querySelectorAll(`[${A}]`));return Array.from(C.itemMap.values()).sort((G,B)=>_.indexOf(G.ref.current)-_.indexOf(B.ref.current))},[C.collectionRef,C.itemMap])}return[{Provider:a,Slot:h,ItemSlot:O},N,i]}function xt(n,e,{checkForDefaultPrevented:t=!0}={}){return function(s){if(n==null||n(s),t===!1||!s.defaultPrevented)return e==null?void 0:e(s)}}var $t=globalThis!=null&&globalThis.document?M.useLayoutEffect:()=>{},Sp=pc[" useEffectEvent ".trim().toString()],Rp=pc[" useInsertionEffect ".trim().toString()];function WU(n){if(typeof Sp=="function")return Sp(n);const e=M.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof Rp=="function"?Rp(()=>{e.current=n}):$t(()=>{e.current=n}),M.useMemo(()=>((...t)=>{var i;return(i=e.current)==null?void 0:i.call(e,...t)}),[])}var XU=pc[" useInsertionEffect ".trim().toString()]||$t;function Op({prop:n,defaultProp:e,onChange:t=()=>{},caller:i}){const[s,o,a]=KU({defaultProp:e,onChange:t}),u=n!==void 0,E=u?n:s;{const T=M.useRef(n!==void 0);M.useEffect(()=>{const A=T.current;A!==u&&console.warn(`${i} is changing from ${A?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),T.current=u},[u,i])}const h=M.useCallback(T=>{var A;if(u){const R=zU(T)?T(n):T;R!==n&&((A=a.current)==null||A.call(a,R))}else o(T)},[u,n,o,a]);return[E,h]}function KU({defaultProp:n,onChange:e}){const[t,i]=M.useState(n),s=M.useRef(t),o=M.useRef(e);return XU(()=>{o.current=e},[e]),M.useEffect(()=>{var a;s.current!==t&&((a=o.current)==null||a.call(o,t),s.current=t)},[t,s]),[t,i,o]}function zU(n){return typeof n=="function"}function $U(n,e){return M.useReducer((t,i)=>e[t][i]??t,n)}var $L=n=>{const{present:e,children:t}=n,i=jU(e),s=typeof t=="function"?t({present:i.isPresent}):M.Children.only(t),o=JU(i.ref,qU(s));return typeof t=="function"||i.isPresent?M.cloneElement(s,{ref:o}):null};$L.displayName="Presence";function jU(n){const[e,t]=M.useState(),i=M.useRef(null),s=M.useRef(n),o=M.useRef("none"),a=n?"mounted":"unmounted",[u,E]=$U(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return M.useEffect(()=>{const h=Ju(i.current);o.current=u==="mounted"?h:"none"},[u]),$t(()=>{const h=i.current,T=s.current;if(T!==n){const R=o.current,O=Ju(h);n?E("MOUNT"):O==="none"||(h==null?void 0:h.display)==="none"?E("UNMOUNT"):E(T&&R!==O?"ANIMATION_OUT":"UNMOUNT"),s.current=n}},[n,E]),$t(()=>{if(e){let h;const T=e.ownerDocument.defaultView??window,A=O=>{const m=Ju(i.current).includes(CSS.escape(O.animationName));if(O.target===e&&m&&(E("ANIMATION_END"),!s.current)){const C=e.style.animationFillMode;e.style.animationFillMode="forwards",h=T.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=C)})}},R=O=>{O.target===e&&(o.current=Ju(i.current))};return e.addEventListener("animationstart",R),e.addEventListener("animationcancel",A),e.addEventListener("animationend",A),()=>{T.clearTimeout(h),e.removeEventListener("animationstart",R),e.removeEventListener("animationcancel",A),e.removeEventListener("animationend",A)}}else E("ANIMATION_END")},[e,E]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:M.useCallback(h=>{i.current=h?getComputedStyle(h):null,t(h)},[])}}function Np(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function JU(...n){const e=M.useRef(n);return e.current=n,M.useCallback(t=>{const i=e.current;let s=!1;const o=i.map(a=>{const u=Np(a,t);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let a=0;a<o.length;a++){const u=o[a];typeof u=="function"?u():Np(i[a],null)}}},[])}function Ju(n){return(n==null?void 0:n.animationName)||"none"}function qU(n){var i,s;let e=(i=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:i.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}var QU=pc[" useId ".trim().toString()]||(()=>{}),ZU=0;function ZS(n){const[e,t]=M.useState(QU());return $t(()=>{t(i=>i??String(ZU++))},[n]),e?`radix-${e}`:""}var eb=M.createContext(void 0);function tb(n){const e=M.useContext(eb);return n||e||"ltr"}function lr(n){const e=M.useRef(n);return M.useEffect(()=>{e.current=n}),M.useMemo(()=>((...t)=>{var i;return(i=e.current)==null?void 0:i.call(e,...t)}),[])}var nb="DismissableLayer",YA="dismissableLayer.update",ib="dismissableLayer.pointerDownOutside",sb="dismissableLayer.focusOutside",mp,jL=M.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),JL=M.forwardRef((n,e)=>{const{disableOutsidePointerEvents:t=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:u,onDismiss:E,...h}=n,T=M.useContext(jL),[A,R]=M.useState(null),O=(A==null?void 0:A.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,N]=M.useState({}),m=jt(e,R),C=Array.from(T.layers),[L]=[...T.layersWithOutsidePointerEventsDisabled].slice(-1),D=C.indexOf(L),_=A?C.indexOf(A):-1,v=T.layersWithOutsidePointerEventsDisabled.size>0,U=_>=D,G=M.useRef(!1),B=ob(ie=>{const ee=ie.target;if(!(ee instanceof Node))return;const Ee=[...T.branches].some(ae=>ae.contains(ee));!U||Ee||(o==null||o(ie),u==null||u(ie),ie.defaultPrevented||E==null||E())},{ownerDocument:O,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:G,dismissableSurfaces:T.dismissableSurfaces}),F=ab(ie=>{if(i&&G.current)return;const ee=ie.target;[...T.branches].some(ae=>ae.contains(ee))||(a==null||a(ie),u==null||u(ie),ie.defaultPrevented||E==null||E())},O),oe=A?_===C.length-1:!1,fe=WU(ie=>{ie.key==="Escape"&&(s==null||s(ie),!ie.defaultPrevented&&E&&(ie.preventDefault(),E()))});return M.useEffect(()=>{if(oe)return O.addEventListener("keydown",fe,{capture:!0}),()=>O.removeEventListener("keydown",fe,{capture:!0})},[O,oe]),M.useEffect(()=>{if(A)return t&&(T.layersWithOutsidePointerEventsDisabled.size===0&&(mp=O.body.style.pointerEvents,O.body.style.pointerEvents="none"),T.layersWithOutsidePointerEventsDisabled.add(A)),T.layers.add(A),Ip(),()=>{t&&(T.layersWithOutsidePointerEventsDisabled.delete(A),T.layersWithOutsidePointerEventsDisabled.size===0&&(O.body.style.pointerEvents=mp))}},[A,O,t,T]),M.useEffect(()=>()=>{A&&(T.layers.delete(A),T.layersWithOutsidePointerEventsDisabled.delete(A),Ip())},[A,T]),M.useEffect(()=>{const ie=()=>N({});return document.addEventListener(YA,ie),()=>document.removeEventListener(YA,ie)},[]),p.jsx(Pt.div,{...h,ref:m,style:{pointerEvents:v?U?"auto":"none":void 0,...n.style},onFocusCapture:xt(n.onFocusCapture,F.onFocusCapture),onBlurCapture:xt(n.onBlurCapture,F.onBlurCapture),onPointerDownCapture:xt(n.onPointerDownCapture,B.onPointerDownCapture)})});JL.displayName=nb;var rb="DismissableLayerBranch",lb=M.forwardRef((n,e)=>{const t=M.useContext(jL),i=M.useRef(null),s=jt(e,i);return M.useEffect(()=>{const o=i.current;if(o)return t.branches.add(o),()=>{t.branches.delete(o)}},[t.branches]),p.jsx(Pt.div,{...n,ref:s})});lb.displayName=rb;function ob(n,e){const{ownerDocument:t=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:o}=e,a=lr(n),u=M.useRef(!1),E=M.useRef(!1),h=M.useRef(new Map),T=M.useRef(()=>{});return M.useEffect(()=>{function A(){E.current=!1,s.current=!1,h.current.clear()}function R(){return Array.from(h.current.values()).some(Boolean)}function O(D){if(!E.current)return;const _=D.target;_ instanceof Node&&[...o].some(U=>U.contains(_))||h.current.set(D.type,!0),D.type==="click"&&window.setTimeout(()=>{E.current&&T.current()},0)}function N(D){E.current&&h.current.set(D.type,!1)}const m=D=>{if(D.target&&!u.current){let _=function(){t.removeEventListener("click",T.current);const U=R();A(),U||qL(ib,a,v,{discrete:!0})};const v={originalEvent:D};E.current=!0,s.current=i&&D.button===0,h.current.clear(),!i||D.button!==0?_():(t.removeEventListener("click",T.current),T.current=_,t.addEventListener("click",T.current,{once:!0}))}else t.removeEventListener("click",T.current),A();u.current=!1},C=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const D of C)t.addEventListener(D,O,!0),t.addEventListener(D,N);const L=window.setTimeout(()=>{t.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(L),t.removeEventListener("pointerdown",m),t.removeEventListener("click",T.current);for(const D of C)t.removeEventListener(D,O,!0),t.removeEventListener(D,N)}},[t,a,i,s,o]),{onPointerDownCapture:()=>u.current=!0}}function ab(n,e=globalThis==null?void 0:globalThis.document){const t=lr(n),i=M.useRef(!1);return M.useEffect(()=>{const s=o=>{o.target&&!i.current&&qL(sb,t,{originalEvent:o},{discrete:!1})};return e.addEventListener("focusin",s),()=>e.removeEventListener("focusin",s)},[e,t]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Ip(){const n=new CustomEvent(YA);document.dispatchEvent(n)}function qL(n,e,t,{discrete:i}){const s=t.originalEvent.target,o=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:t});e&&s.addEventListener(n,e,{once:!0}),i?wU(s,o):s.dispatchEvent(o)}var pd="focusScope.autoFocusOnMount",Cd="focusScope.autoFocusOnUnmount",pp={bubbles:!1,cancelable:!0},cb="FocusScope",QL=M.forwardRef((n,e)=>{const{loop:t=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:o,...a}=n,[u,E]=M.useState(null),h=lr(s),T=lr(o),A=M.useRef(null),R=jt(e,E),O=M.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;M.useEffect(()=>{if(i){let m=function(_){if(O.paused||!u)return;const v=_.target;u.contains(v)?A.current=v:Qs(A.current,{select:!0})},C=function(_){if(O.paused||!u)return;const v=_.relatedTarget;v!==null&&(u.contains(v)||Qs(A.current,{select:!0}))},L=function(_){if(document.activeElement===document.body)for(const U of _)U.removedNodes.length>0&&Qs(u)};document.addEventListener("focusin",m),document.addEventListener("focusout",C);const D=new MutationObserver(L);return u&&D.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",C),D.disconnect()}}},[i,u,O.paused]),M.useEffect(()=>{if(u){gp.add(O);const m=document.activeElement;if(!u.contains(m)){const L=new CustomEvent(pd,pp);u.addEventListener(pd,h),u.dispatchEvent(L),L.defaultPrevented||(ub(db(ZL(u)),{select:!0}),document.activeElement===m&&Qs(u))}return()=>{u.removeEventListener(pd,h),setTimeout(()=>{const L=new CustomEvent(Cd,pp);u.addEventListener(Cd,T),u.dispatchEvent(L),L.defaultPrevented||Qs(m??document.body,{select:!0}),u.removeEventListener(Cd,T),gp.remove(O)},0)}}},[u,h,T,O]);const N=M.useCallback(m=>{if(!t&&!i||O.paused)return;const C=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,L=document.activeElement;if(C&&L){const D=m.currentTarget,[_,v]=Eb(D);_&&v?!m.shiftKey&&L===v?(m.preventDefault(),t&&Qs(_,{select:!0})):m.shiftKey&&L===_&&(m.preventDefault(),t&&Qs(v,{select:!0})):L===D&&m.preventDefault()}},[t,i,O.paused]);return p.jsx(Pt.div,{tabIndex:-1,...a,ref:R,onKeyDown:N})});QL.displayName=cb;function ub(n,{select:e=!1}={}){const t=document.activeElement;for(const i of n)if(Qs(i,{select:e}),document.activeElement!==t)return}function Eb(n){const e=ZL(n),t=Cp(e,n),i=Cp(e.reverse(),n);return[t,i]}function ZL(n){const e=[],t=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)e.push(t.currentNode);return e}function Cp(n,e){for(const t of n)if(!fb(t,{upTo:e}))return t}function fb(n,{upTo:e}){if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(e!==void 0&&n===e)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}function hb(n){return n instanceof HTMLInputElement&&"select"in n}function Qs(n,{select:e=!1}={}){if(n&&n.focus){const t=document.activeElement;n.focus({preventScroll:!0}),n!==t&&hb(n)&&e&&n.select()}}var gp=Tb();function Tb(){let n=[];return{add(e){const t=n[0];e!==t&&(t==null||t.pause()),n=Lp(n,e),n.unshift(e)},remove(e){var t;n=Lp(n,e),(t=n[0])==null||t.resume()}}}function Lp(n,e){const t=[...n],i=t.indexOf(e);return i!==-1&&t.splice(i,1),t}function db(n){return n.filter(e=>e.tagName!=="A")}var Ab="Portal",e_=M.forwardRef((n,e)=>{var u;const{container:t,...i}=n,[s,o]=M.useState(!1);$t(()=>o(!0),[]);const a=t||s&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return a?Cc.createPortal(p.jsx(Pt.div,{...i,ref:e}),a):null});e_.displayName=Ab;var qu=0,Mi=null;function Sb(){M.useEffect(()=>{Mi||(Mi={start:_p(),end:_p()});const{start:n,end:e}=Mi;return document.body.firstElementChild!==n&&document.body.insertAdjacentElement("afterbegin",n),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),qu++,()=>{qu===1&&(Mi==null||Mi.start.remove(),Mi==null||Mi.end.remove(),Mi=null),qu=Math.max(0,qu-1)}},[])}function _p(){const n=document.createElement("span");return n.setAttribute("data-radix-focus-guard",""),n.tabIndex=0,n.style.outline="none",n.style.opacity="0",n.style.position="fixed",n.style.pointerEvents="none",n}var Gi=function(){return Gi=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++){t=arguments[i];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Gi.apply(this,arguments)};function t_(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(n);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(n,i[s])&&(t[i[s]]=n[i[s]]);return t}function Rb(n,e,t){if(t||arguments.length===2)for(var i=0,s=e.length,o;i<s;i++)(o||!(i in e))&&(o||(o=Array.prototype.slice.call(e,0,i)),o[i]=e[i]);return n.concat(o||Array.prototype.slice.call(e))}var ME="right-scroll-bar-position",PE="width-before-scroll-bar",Ob="with-scroll-bars-hidden",Nb="--removed-body-scroll-bar-size";function gd(n,e){return typeof n=="function"?n(e):n&&(n.current=e),n}function mb(n,e){var t=M.useState(function(){return{value:n,callback:e,facade:{get current(){return t.value},set current(i){var s=t.value;s!==i&&(t.value=i,t.callback(i,s))}}}})[0];return t.callback=e,t.facade}var Ib=typeof window<"u"?M.useLayoutEffect:M.useEffect,Dp=new WeakMap;function pb(n,e){var t=mb(null,function(i){return n.forEach(function(s){return gd(s,i)})});return Ib(function(){var i=Dp.get(t);if(i){var s=new Set(i),o=new Set(n),a=t.current;s.forEach(function(u){o.has(u)||gd(u,null)}),o.forEach(function(u){s.has(u)||gd(u,a)})}Dp.set(t,n)},[n]),t}function Cb(n){return n}function gb(n,e){e===void 0&&(e=Cb);var t=[],i=!1,s={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:n},useMedium:function(o){var a=e(o,i);return t.push(a),function(){t=t.filter(function(u){return u!==a})}},assignSyncMedium:function(o){for(i=!0;t.length;){var a=t;t=[],a.forEach(o)}t={push:function(u){return o(u)},filter:function(){return t}}},assignMedium:function(o){i=!0;var a=[];if(t.length){var u=t;t=[],u.forEach(o),a=t}var E=function(){var T=a;a=[],T.forEach(o)},h=function(){return Promise.resolve().then(E)};h(),t={push:function(T){a.push(T),h()},filter:function(T){return a=a.filter(T),t}}}};return s}function Lb(n){n===void 0&&(n={});var e=gb(null);return e.options=Gi({async:!0,ssr:!1},n),e}var n_=function(n){var e=n.sideCar,t=t_(n,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=e.read();if(!i)throw new Error("Sidecar medium not found");return M.createElement(i,Gi({},t))};n_.isSideCarExport=!0;function _b(n,e){return n.useMedium(e),n_}var i_=Lb(),Ld=function(){},Df=M.forwardRef(function(n,e){var t=M.useRef(null),i=M.useState({onScrollCapture:Ld,onWheelCapture:Ld,onTouchMoveCapture:Ld}),s=i[0],o=i[1],a=n.forwardProps,u=n.children,E=n.className,h=n.removeScrollBar,T=n.enabled,A=n.shards,R=n.sideCar,O=n.noRelative,N=n.noIsolation,m=n.inert,C=n.allowPinchZoom,L=n.as,D=L===void 0?"div":L,_=n.gapMode,v=t_(n,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),U=R,G=pb([t,e]),B=Gi(Gi({},v),s);return M.createElement(M.Fragment,null,T&&M.createElement(U,{sideCar:i_,removeScrollBar:h,shards:A,noRelative:O,noIsolation:N,inert:m,setCallbacks:o,allowPinchZoom:!!C,lockRef:t,gapMode:_}),a?M.cloneElement(M.Children.only(u),Gi(Gi({},B),{ref:G})):M.createElement(D,Gi({},B,{className:E,ref:G}),u))});Df.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Df.classNames={fullWidth:PE,zeroRight:ME};var Db=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Mb(){if(!document)return null;var n=document.createElement("style");n.type="text/css";var e=Db();return e&&n.setAttribute("nonce",e),n}function Pb(n,e){n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}function yb(n){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(n)}var vb=function(){var n=0,e=null;return{add:function(t){n==0&&(e=Mb())&&(Pb(e,t),yb(e)),n++},remove:function(){n--,!n&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},Ub=function(){var n=vb();return function(e,t){M.useEffect(function(){return n.add(e),function(){n.remove()}},[e&&t])}},s_=function(){var n=Ub(),e=function(t){var i=t.styles,s=t.dynamic;return n(i,s),null};return e},bb={left:0,top:0,right:0,gap:0},_d=function(n){return parseInt(n||"",10)||0},xb=function(n){var e=window.getComputedStyle(document.body),t=e[n==="padding"?"paddingLeft":"marginLeft"],i=e[n==="padding"?"paddingTop":"marginTop"],s=e[n==="padding"?"paddingRight":"marginRight"];return[_d(t),_d(i),_d(s)]},Bb=function(n){if(n===void 0&&(n="margin"),typeof window>"u")return bb;var e=xb(n),t=document.documentElement.clientWidth,i=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,i-t+e[2]-e[0])}},Gb=s_(),Eo="data-scroll-locked",Hb=function(n,e,t,i){var s=n.left,o=n.top,a=n.right,u=n.gap;return t===void 0&&(t="margin"),`
|
|
51
|
+
.`.concat(Ob,` {
|
|
52
|
+
overflow: hidden `).concat(i,`;
|
|
53
|
+
padding-right: `).concat(u,"px ").concat(i,`;
|
|
54
|
+
}
|
|
55
|
+
body[`).concat(Eo,`] {
|
|
56
|
+
overflow: hidden `).concat(i,`;
|
|
57
|
+
overscroll-behavior: contain;
|
|
58
|
+
`).concat([e&&"position: relative ".concat(i,";"),t==="margin"&&`
|
|
59
|
+
padding-left: `.concat(s,`px;
|
|
60
|
+
padding-top: `).concat(o,`px;
|
|
61
|
+
padding-right: `).concat(a,`px;
|
|
62
|
+
margin-left:0;
|
|
63
|
+
margin-top:0;
|
|
64
|
+
margin-right: `).concat(u,"px ").concat(i,`;
|
|
65
|
+
`),t==="padding"&&"padding-right: ".concat(u,"px ").concat(i,";")].filter(Boolean).join(""),`
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.`).concat(ME,` {
|
|
69
|
+
right: `).concat(u,"px ").concat(i,`;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.`).concat(PE,` {
|
|
73
|
+
margin-right: `).concat(u,"px ").concat(i,`;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.`).concat(ME," .").concat(ME,` {
|
|
77
|
+
right: 0 `).concat(i,`;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.`).concat(PE," .").concat(PE,` {
|
|
81
|
+
margin-right: 0 `).concat(i,`;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
body[`).concat(Eo,`] {
|
|
85
|
+
`).concat(Nb,": ").concat(u,`px;
|
|
86
|
+
}
|
|
87
|
+
`)},Mp=function(){var n=parseInt(document.body.getAttribute(Eo)||"0",10);return isFinite(n)?n:0},wb=function(){M.useEffect(function(){return document.body.setAttribute(Eo,(Mp()+1).toString()),function(){var n=Mp()-1;n<=0?document.body.removeAttribute(Eo):document.body.setAttribute(Eo,n.toString())}},[])},Fb=function(n){var e=n.noRelative,t=n.noImportant,i=n.gapMode,s=i===void 0?"margin":i;wb();var o=M.useMemo(function(){return Bb(s)},[s]);return M.createElement(Gb,{styles:Hb(o,!e,s,t?"":"!important")})},kA=!1;if(typeof window<"u")try{var Qu=Object.defineProperty({},"passive",{get:function(){return kA=!0,!0}});window.addEventListener("test",Qu,Qu),window.removeEventListener("test",Qu,Qu)}catch{kA=!1}var ql=kA?{passive:!1}:!1,Yb=function(n){return n.tagName==="TEXTAREA"},r_=function(n,e){if(!(n instanceof Element))return!1;var t=window.getComputedStyle(n);return t[e]!=="hidden"&&!(t.overflowY===t.overflowX&&!Yb(n)&&t[e]==="visible")},kb=function(n){return r_(n,"overflowY")},Vb=function(n){return r_(n,"overflowX")},Pp=function(n,e){var t=e.ownerDocument,i=e;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=l_(n,i);if(s){var o=o_(n,i),a=o[1],u=o[2];if(a>u)return!0}i=i.parentNode}while(i&&i!==t.body);return!1},Wb=function(n){var e=n.scrollTop,t=n.scrollHeight,i=n.clientHeight;return[e,t,i]},Xb=function(n){var e=n.scrollLeft,t=n.scrollWidth,i=n.clientWidth;return[e,t,i]},l_=function(n,e){return n==="v"?kb(e):Vb(e)},o_=function(n,e){return n==="v"?Wb(e):Xb(e)},Kb=function(n,e){return n==="h"&&e==="rtl"?-1:1},zb=function(n,e,t,i,s){var o=Kb(n,window.getComputedStyle(e).direction),a=o*i,u=t.target,E=e.contains(u),h=!1,T=a>0,A=0,R=0;do{if(!u)break;var O=o_(n,u),N=O[0],m=O[1],C=O[2],L=m-C-o*N;(N||L)&&l_(n,u)&&(A+=L,R+=N);var D=u.parentNode;u=D&&D.nodeType===Node.DOCUMENT_FRAGMENT_NODE?D.host:D}while(!E&&u!==document.body||E&&(e.contains(u)||e===u));return(T&&Math.abs(A)<1||!T&&Math.abs(R)<1)&&(h=!0),h},Zu=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},yp=function(n){return[n.deltaX,n.deltaY]},vp=function(n){return n&&"current"in n?n.current:n},$b=function(n,e){return n[0]===e[0]&&n[1]===e[1]},jb=function(n){return`
|
|
88
|
+
.block-interactivity-`.concat(n,` {pointer-events: none;}
|
|
89
|
+
.allow-interactivity-`).concat(n,` {pointer-events: all;}
|
|
90
|
+
`)},Jb=0,Ql=[];function qb(n){var e=M.useRef([]),t=M.useRef([0,0]),i=M.useRef(),s=M.useState(Jb++)[0],o=M.useState(s_)[0],a=M.useRef(n);M.useEffect(function(){a.current=n},[n]),M.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(s));var m=Rb([n.lockRef.current],(n.shards||[]).map(vp),!0).filter(Boolean);return m.forEach(function(C){return C.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),m.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(s))})}}},[n.inert,n.lockRef.current,n.shards]);var u=M.useCallback(function(m,C){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!a.current.allowPinchZoom;var L=Zu(m),D=t.current,_="deltaX"in m?m.deltaX:D[0]-L[0],v="deltaY"in m?m.deltaY:D[1]-L[1],U,G=m.target,B=Math.abs(_)>Math.abs(v)?"h":"v";if("touches"in m&&B==="h"&&G.type==="range")return!1;var F=window.getSelection(),oe=F&&F.anchorNode,fe=oe?oe===G||oe.contains(G):!1;if(fe)return!1;var ie=Pp(B,G);if(!ie)return!0;if(ie?U=B:(U=B==="v"?"h":"v",ie=Pp(B,G)),!ie)return!1;if(!i.current&&"changedTouches"in m&&(_||v)&&(i.current=U),!U)return!0;var ee=i.current||U;return zb(ee,C,m,ee==="h"?_:v)},[]),E=M.useCallback(function(m){var C=m;if(!(!Ql.length||Ql[Ql.length-1]!==o)){var L="deltaY"in C?yp(C):Zu(C),D=e.current.filter(function(U){return U.name===C.type&&(U.target===C.target||C.target===U.shadowParent)&&$b(U.delta,L)})[0];if(D&&D.should){C.cancelable&&C.preventDefault();return}if(!D){var _=(a.current.shards||[]).map(vp).filter(Boolean).filter(function(U){return U.contains(C.target)}),v=_.length>0?u(C,_[0]):!a.current.noIsolation;v&&C.cancelable&&C.preventDefault()}}},[]),h=M.useCallback(function(m,C,L,D){var _={name:m,delta:C,target:L,should:D,shadowParent:Qb(L)};e.current.push(_),setTimeout(function(){e.current=e.current.filter(function(v){return v!==_})},1)},[]),T=M.useCallback(function(m){t.current=Zu(m),i.current=void 0},[]),A=M.useCallback(function(m){h(m.type,yp(m),m.target,u(m,n.lockRef.current))},[]),R=M.useCallback(function(m){h(m.type,Zu(m),m.target,u(m,n.lockRef.current))},[]);M.useEffect(function(){return Ql.push(o),n.setCallbacks({onScrollCapture:A,onWheelCapture:A,onTouchMoveCapture:R}),document.addEventListener("wheel",E,ql),document.addEventListener("touchmove",E,ql),document.addEventListener("touchstart",T,ql),function(){Ql=Ql.filter(function(m){return m!==o}),document.removeEventListener("wheel",E,ql),document.removeEventListener("touchmove",E,ql),document.removeEventListener("touchstart",T,ql)}},[]);var O=n.removeScrollBar,N=n.inert;return M.createElement(M.Fragment,null,N?M.createElement(o,{styles:jb(s)}):null,O?M.createElement(Fb,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function Qb(n){for(var e=null;n!==null;)n instanceof ShadowRoot&&(e=n.host,n=n.host),n=n.parentNode;return e}const Zb=_b(i_,qb);var a_=M.forwardRef(function(n,e){return M.createElement(Df,Gi({},n,{ref:e,sideCar:Zb}))});a_.classNames=Df.classNames;var ex=function(n){if(typeof document>"u")return null;var e=Array.isArray(n)?n[0]:n;return e.ownerDocument.body},Zl=new WeakMap,eE=new WeakMap,tE={},Dd=0,c_=function(n){return n&&(n.host||c_(n.parentNode))},tx=function(n,e){return e.map(function(t){if(n.contains(t))return t;var i=c_(t);return i&&n.contains(i)?i:(console.error("aria-hidden",t,"in not contained inside",n,". Doing nothing"),null)}).filter(function(t){return!!t})},nx=function(n,e,t,i){var s=tx(e,Array.isArray(n)?n:[n]);tE[t]||(tE[t]=new WeakMap);var o=tE[t],a=[],u=new Set,E=new Set(s),h=function(A){!A||u.has(A)||(u.add(A),h(A.parentNode))};s.forEach(h);var T=function(A){!A||E.has(A)||Array.prototype.forEach.call(A.children,function(R){if(u.has(R))T(R);else try{var O=R.getAttribute(i),N=O!==null&&O!=="false",m=(Zl.get(R)||0)+1,C=(o.get(R)||0)+1;Zl.set(R,m),o.set(R,C),a.push(R),m===1&&N&&eE.set(R,!0),C===1&&R.setAttribute(t,"true"),N||R.setAttribute(i,"true")}catch(L){console.error("aria-hidden: cannot operate on ",R,L)}})};return T(e),u.clear(),Dd++,function(){a.forEach(function(A){var R=Zl.get(A)-1,O=o.get(A)-1;Zl.set(A,R),o.set(A,O),R||(eE.has(A)||A.removeAttribute(i),eE.delete(A)),O||A.removeAttribute(t)}),Dd--,Dd||(Zl=new WeakMap,Zl=new WeakMap,eE=new WeakMap,tE={})}},ix=function(n,e,t){t===void 0&&(t="data-aria-hidden");var i=Array.from(Array.isArray(n)?n:[n]),s=ex(n);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),nx(i,s,t,"aria-hidden")):function(){return null}};function sx(n){const e=M.useRef({value:n,previous:n});return M.useMemo(()=>(e.current.value!==n&&(e.current.previous=e.current.value,e.current.value=n),e.current.previous),[n])}function rx(n){const[e,t]=M.useState(void 0);return $t(()=>{if(n){t({width:n.offsetWidth,height:n.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const o=s[0];let a,u;if("borderBoxSize"in o){const E=o.borderBoxSize,h=Array.isArray(E)?E[0]:E;a=h.inlineSize,u=h.blockSize}else a=n.offsetWidth,u=n.offsetHeight;t({width:a,height:u})});return i.observe(n,{box:"border-box"}),()=>i.unobserve(n)}else t(void 0)},[n]),e}const lx=["top","right","bottom","left"],or=Math.min,Wn=Math.max,zE=Math.round,nE=Math.floor,Xi=n=>({x:n,y:n}),ox={left:"right",right:"left",bottom:"top",top:"bottom"};function VA(n,e,t){return Wn(n,or(e,t))}function Ns(n,e){return typeof n=="function"?n(e):n}function ms(n){return n.split("-")[0]}function Po(n){return n.split("-")[1]}function eR(n){return n==="x"?"y":"x"}function tR(n){return n==="y"?"height":"width"}function Yi(n){const e=n[0];return e==="t"||e==="b"?"y":"x"}function nR(n){return eR(Yi(n))}function ax(n,e,t){t===void 0&&(t=!1);const i=Po(n),s=nR(n),o=tR(s);let a=s==="x"?i===(t?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[o]>e.floating[o]&&(a=$E(a)),[a,$E(a)]}function cx(n){const e=$E(n);return[WA(n),e,WA(e)]}function WA(n){return n.includes("start")?n.replace("start","end"):n.replace("end","start")}const Up=["left","right"],bp=["right","left"],ux=["top","bottom"],Ex=["bottom","top"];function fx(n,e,t){switch(n){case"top":case"bottom":return t?e?bp:Up:e?Up:bp;case"left":case"right":return e?ux:Ex;default:return[]}}function hx(n,e,t,i){const s=Po(n);let o=fx(ms(n),t==="start",i);return s&&(o=o.map(a=>a+"-"+s),e&&(o=o.concat(o.map(WA)))),o}function $E(n){const e=ms(n);return ox[e]+n.slice(e.length)}function Tx(n){return{top:0,right:0,bottom:0,left:0,...n}}function u_(n){return typeof n!="number"?Tx(n):{top:n,right:n,bottom:n,left:n}}function jE(n){const{x:e,y:t,width:i,height:s}=n;return{width:i,height:s,top:t,left:e,right:e+i,bottom:t+s,x:e,y:t}}function xp(n,e,t){let{reference:i,floating:s}=n;const o=Yi(e),a=nR(e),u=tR(a),E=ms(e),h=o==="y",T=i.x+i.width/2-s.width/2,A=i.y+i.height/2-s.height/2,R=i[u]/2-s[u]/2;let O;switch(E){case"top":O={x:T,y:i.y-s.height};break;case"bottom":O={x:T,y:i.y+i.height};break;case"right":O={x:i.x+i.width,y:A};break;case"left":O={x:i.x-s.width,y:A};break;default:O={x:i.x,y:i.y}}switch(Po(e)){case"start":O[a]-=R*(t&&h?-1:1);break;case"end":O[a]+=R*(t&&h?-1:1);break}return O}async function dx(n,e){var t;e===void 0&&(e={});const{x:i,y:s,platform:o,rects:a,elements:u,strategy:E}=n,{boundary:h="clippingAncestors",rootBoundary:T="viewport",elementContext:A="floating",altBoundary:R=!1,padding:O=0}=Ns(e,n),N=u_(O),C=u[R?A==="floating"?"reference":"floating":A],L=jE(await o.getClippingRect({element:(t=await(o.isElement==null?void 0:o.isElement(C)))==null||t?C:C.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(u.floating)),boundary:h,rootBoundary:T,strategy:E})),D=A==="floating"?{x:i,y:s,width:a.floating.width,height:a.floating.height}:a.reference,_=await(o.getOffsetParent==null?void 0:o.getOffsetParent(u.floating)),v=await(o.isElement==null?void 0:o.isElement(_))?await(o.getScale==null?void 0:o.getScale(_))||{x:1,y:1}:{x:1,y:1},U=jE(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:D,offsetParent:_,strategy:E}):D);return{top:(L.top-U.top+N.top)/v.y,bottom:(U.bottom-L.bottom+N.bottom)/v.y,left:(L.left-U.left+N.left)/v.x,right:(U.right-L.right+N.right)/v.x}}const Ax=50,Sx=async(n,e,t)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:a}=t,u=a.detectOverflow?a:{...a,detectOverflow:dx},E=await(a.isRTL==null?void 0:a.isRTL(e));let h=await a.getElementRects({reference:n,floating:e,strategy:s}),{x:T,y:A}=xp(h,i,E),R=i,O=0;const N={};for(let m=0;m<o.length;m++){const C=o[m];if(!C)continue;const{name:L,fn:D}=C,{x:_,y:v,data:U,reset:G}=await D({x:T,y:A,initialPlacement:i,placement:R,strategy:s,middlewareData:N,rects:h,platform:u,elements:{reference:n,floating:e}});T=_??T,A=v??A,N[L]={...N[L],...U},G&&O<Ax&&(O++,typeof G=="object"&&(G.placement&&(R=G.placement),G.rects&&(h=G.rects===!0?await a.getElementRects({reference:n,floating:e,strategy:s}):G.rects),{x:T,y:A}=xp(h,R,E)),m=-1)}return{x:T,y:A,placement:R,strategy:s,middlewareData:N}},Rx=n=>({name:"arrow",options:n,async fn(e){const{x:t,y:i,placement:s,rects:o,platform:a,elements:u,middlewareData:E}=e,{element:h,padding:T=0}=Ns(n,e)||{};if(h==null)return{};const A=u_(T),R={x:t,y:i},O=nR(s),N=tR(O),m=await a.getDimensions(h),C=O==="y",L=C?"top":"left",D=C?"bottom":"right",_=C?"clientHeight":"clientWidth",v=o.reference[N]+o.reference[O]-R[O]-o.floating[N],U=R[O]-o.reference[O],G=await(a.getOffsetParent==null?void 0:a.getOffsetParent(h));let B=G?G[_]:0;(!B||!await(a.isElement==null?void 0:a.isElement(G)))&&(B=u.floating[_]||o.floating[N]);const F=v/2-U/2,oe=B/2-m[N]/2-1,fe=or(A[L],oe),ie=or(A[D],oe),ee=fe,Ee=B-m[N]-ie,ae=B/2-m[N]/2+F,Te=VA(ee,ae,Ee),x=!E.arrow&&Po(s)!=null&&ae!==Te&&o.reference[N]/2-(ae<ee?fe:ie)-m[N]/2<0,z=x?ae<ee?ae-ee:ae-Ee:0;return{[O]:R[O]+z,data:{[O]:Te,centerOffset:ae-Te-z,...x&&{alignmentOffset:z}},reset:x}}}),Ox=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(e){var t,i;const{placement:s,middlewareData:o,rects:a,initialPlacement:u,platform:E,elements:h}=e,{mainAxis:T=!0,crossAxis:A=!0,fallbackPlacements:R,fallbackStrategy:O="bestFit",fallbackAxisSideDirection:N="none",flipAlignment:m=!0,...C}=Ns(n,e);if((t=o.arrow)!=null&&t.alignmentOffset)return{};const L=ms(s),D=Yi(u),_=ms(u)===u,v=await(E.isRTL==null?void 0:E.isRTL(h.floating)),U=R||(_||!m?[$E(u)]:cx(u)),G=N!=="none";!R&&G&&U.push(...hx(u,m,N,v));const B=[u,...U],F=await E.detectOverflow(e,C),oe=[];let fe=((i=o.flip)==null?void 0:i.overflows)||[];if(T&&oe.push(F[L]),A){const ae=ax(s,a,v);oe.push(F[ae[0]],F[ae[1]])}if(fe=[...fe,{placement:s,overflows:oe}],!oe.every(ae=>ae<=0)){var ie,ee;const ae=(((ie=o.flip)==null?void 0:ie.index)||0)+1,Te=B[ae];if(Te&&(!(A==="alignment"?D!==Yi(Te):!1)||fe.every(ne=>Yi(ne.placement)===D?ne.overflows[0]>0:!0)))return{data:{index:ae,overflows:fe},reset:{placement:Te}};let x=(ee=fe.filter(z=>z.overflows[0]<=0).sort((z,ne)=>z.overflows[1]-ne.overflows[1])[0])==null?void 0:ee.placement;if(!x)switch(O){case"bestFit":{var Ee;const z=(Ee=fe.filter(ne=>{if(G){const ce=Yi(ne.placement);return ce===D||ce==="y"}return!0}).map(ne=>[ne.placement,ne.overflows.filter(ce=>ce>0).reduce((ce,J)=>ce+J,0)]).sort((ne,ce)=>ne[1]-ce[1])[0])==null?void 0:Ee[0];z&&(x=z);break}case"initialPlacement":x=u;break}if(s!==x)return{reset:{placement:x}}}return{}}}};function Bp(n,e){return{top:n.top-e.height,right:n.right-e.width,bottom:n.bottom-e.height,left:n.left-e.width}}function Gp(n){return lx.some(e=>n[e]>=0)}const Nx=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(e){const{rects:t,platform:i}=e,{strategy:s="referenceHidden",...o}=Ns(n,e);switch(s){case"referenceHidden":{const a=await i.detectOverflow(e,{...o,elementContext:"reference"}),u=Bp(a,t.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:Gp(u)}}}case"escaped":{const a=await i.detectOverflow(e,{...o,altBoundary:!0}),u=Bp(a,t.floating);return{data:{escapedOffsets:u,escaped:Gp(u)}}}default:return{}}}}},E_=new Set(["left","top"]);async function mx(n,e){const{placement:t,platform:i,elements:s}=n,o=await(i.isRTL==null?void 0:i.isRTL(s.floating)),a=ms(t),u=Po(t),E=Yi(t)==="y",h=E_.has(a)?-1:1,T=o&&E?-1:1,A=Ns(e,n);let{mainAxis:R,crossAxis:O,alignmentAxis:N}=typeof A=="number"?{mainAxis:A,crossAxis:0,alignmentAxis:null}:{mainAxis:A.mainAxis||0,crossAxis:A.crossAxis||0,alignmentAxis:A.alignmentAxis};return u&&typeof N=="number"&&(O=u==="end"?N*-1:N),E?{x:O*T,y:R*h}:{x:R*h,y:O*T}}const Ix=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(e){var t,i;const{x:s,y:o,placement:a,middlewareData:u}=e,E=await mx(e,n);return a===((t=u.offset)==null?void 0:t.placement)&&(i=u.arrow)!=null&&i.alignmentOffset?{}:{x:s+E.x,y:o+E.y,data:{...E,placement:a}}}}},px=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:i,placement:s,platform:o}=e,{mainAxis:a=!0,crossAxis:u=!1,limiter:E={fn:L=>{let{x:D,y:_}=L;return{x:D,y:_}}},...h}=Ns(n,e),T={x:t,y:i},A=await o.detectOverflow(e,h),R=Yi(ms(s)),O=eR(R);let N=T[O],m=T[R];if(a){const L=O==="y"?"top":"left",D=O==="y"?"bottom":"right",_=N+A[L],v=N-A[D];N=VA(_,N,v)}if(u){const L=R==="y"?"top":"left",D=R==="y"?"bottom":"right",_=m+A[L],v=m-A[D];m=VA(_,m,v)}const C=E.fn({...e,[O]:N,[R]:m});return{...C,data:{x:C.x-t,y:C.y-i,enabled:{[O]:a,[R]:u}}}}}},Cx=function(n){return n===void 0&&(n={}),{options:n,fn(e){const{x:t,y:i,placement:s,rects:o,middlewareData:a}=e,{offset:u=0,mainAxis:E=!0,crossAxis:h=!0}=Ns(n,e),T={x:t,y:i},A=Yi(s),R=eR(A);let O=T[R],N=T[A];const m=Ns(u,e),C=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(E){const _=R==="y"?"height":"width",v=o.reference[R]-o.floating[_]+C.mainAxis,U=o.reference[R]+o.reference[_]-C.mainAxis;O<v?O=v:O>U&&(O=U)}if(h){var L,D;const _=R==="y"?"width":"height",v=E_.has(ms(s)),U=o.reference[A]-o.floating[_]+(v&&((L=a.offset)==null?void 0:L[A])||0)+(v?0:C.crossAxis),G=o.reference[A]+o.reference[_]+(v?0:((D=a.offset)==null?void 0:D[A])||0)-(v?C.crossAxis:0);N<U?N=U:N>G&&(N=G)}return{[R]:O,[A]:N}}}},gx=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){var t,i;const{placement:s,rects:o,platform:a,elements:u}=e,{apply:E=()=>{},...h}=Ns(n,e),T=await a.detectOverflow(e,h),A=ms(s),R=Po(s),O=Yi(s)==="y",{width:N,height:m}=o.floating;let C,L;A==="top"||A==="bottom"?(C=A,L=R===(await(a.isRTL==null?void 0:a.isRTL(u.floating))?"start":"end")?"left":"right"):(L=A,C=R==="end"?"top":"bottom");const D=m-T.top-T.bottom,_=N-T.left-T.right,v=or(m-T[C],D),U=or(N-T[L],_),G=!e.middlewareData.shift;let B=v,F=U;if((t=e.middlewareData.shift)!=null&&t.enabled.x&&(F=_),(i=e.middlewareData.shift)!=null&&i.enabled.y&&(B=D),G&&!R){const fe=Wn(T.left,0),ie=Wn(T.right,0),ee=Wn(T.top,0),Ee=Wn(T.bottom,0);O?F=N-2*(fe!==0||ie!==0?fe+ie:Wn(T.left,T.right)):B=m-2*(ee!==0||Ee!==0?ee+Ee:Wn(T.top,T.bottom))}await E({...e,availableWidth:F,availableHeight:B});const oe=await a.getDimensions(u.floating);return N!==oe.width||m!==oe.height?{reset:{rects:!0}}:{}}}};function Mf(){return typeof window<"u"}function yo(n){return f_(n)?(n.nodeName||"").toLowerCase():"#document"}function Kn(n){var e;return(n==null||(e=n.ownerDocument)==null?void 0:e.defaultView)||window}function $i(n){var e;return(e=(f_(n)?n.ownerDocument:n.document)||window.document)==null?void 0:e.documentElement}function f_(n){return Mf()?n instanceof Node||n instanceof Kn(n).Node:!1}function Ri(n){return Mf()?n instanceof Element||n instanceof Kn(n).Element:!1}function Cs(n){return Mf()?n instanceof HTMLElement||n instanceof Kn(n).HTMLElement:!1}function Hp(n){return!Mf()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof Kn(n).ShadowRoot}function gc(n){const{overflow:e,overflowX:t,overflowY:i,display:s}=Oi(n);return/auto|scroll|overlay|hidden|clip/.test(e+i+t)&&s!=="inline"&&s!=="contents"}function Lx(n){return/^(table|td|th)$/.test(yo(n))}function Pf(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const _x=/transform|translate|scale|rotate|perspective|filter/,Dx=/paint|layout|strict|content/,kr=n=>!!n&&n!=="none";let Md;function iR(n){const e=Ri(n)?Oi(n):n;return kr(e.transform)||kr(e.translate)||kr(e.scale)||kr(e.rotate)||kr(e.perspective)||!sR()&&(kr(e.backdropFilter)||kr(e.filter))||_x.test(e.willChange||"")||Dx.test(e.contain||"")}function Mx(n){let e=ar(n);for(;Cs(e)&&!mo(e);){if(iR(e))return e;if(Pf(e))return null;e=ar(e)}return null}function sR(){return Md==null&&(Md=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Md}function mo(n){return/^(html|body|#document)$/.test(yo(n))}function Oi(n){return Kn(n).getComputedStyle(n)}function yf(n){return Ri(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function ar(n){if(yo(n)==="html")return n;const e=n.assignedSlot||n.parentNode||Hp(n)&&n.host||$i(n);return Hp(e)?e.host:e}function h_(n){const e=ar(n);return mo(e)?n.ownerDocument?n.ownerDocument.body:n.body:Cs(e)&&gc(e)?e:h_(e)}function tc(n,e,t){var i;e===void 0&&(e=[]),t===void 0&&(t=!0);const s=h_(n),o=s===((i=n.ownerDocument)==null?void 0:i.body),a=Kn(s);if(o){const u=XA(a);return e.concat(a,a.visualViewport||[],gc(s)?s:[],u&&t?tc(u):[])}else return e.concat(s,tc(s,[],t))}function XA(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function T_(n){const e=Oi(n);let t=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const s=Cs(n),o=s?n.offsetWidth:t,a=s?n.offsetHeight:i,u=zE(t)!==o||zE(i)!==a;return u&&(t=o,i=a),{width:t,height:i,$:u}}function rR(n){return Ri(n)?n:n.contextElement}function fo(n){const e=rR(n);if(!Cs(e))return Xi(1);const t=e.getBoundingClientRect(),{width:i,height:s,$:o}=T_(e);let a=(o?zE(t.width):t.width)/i,u=(o?zE(t.height):t.height)/s;return(!a||!Number.isFinite(a))&&(a=1),(!u||!Number.isFinite(u))&&(u=1),{x:a,y:u}}const Px=Xi(0);function d_(n){const e=Kn(n);return!sR()||!e.visualViewport?Px:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function yx(n,e,t){return e===void 0&&(e=!1),!t||e&&t!==Kn(n)?!1:e}function il(n,e,t,i){e===void 0&&(e=!1),t===void 0&&(t=!1);const s=n.getBoundingClientRect(),o=rR(n);let a=Xi(1);e&&(i?Ri(i)&&(a=fo(i)):a=fo(n));const u=yx(o,t,i)?d_(o):Xi(0);let E=(s.left+u.x)/a.x,h=(s.top+u.y)/a.y,T=s.width/a.x,A=s.height/a.y;if(o){const R=Kn(o),O=i&&Ri(i)?Kn(i):i;let N=R,m=XA(N);for(;m&&i&&O!==N;){const C=fo(m),L=m.getBoundingClientRect(),D=Oi(m),_=L.left+(m.clientLeft+parseFloat(D.paddingLeft))*C.x,v=L.top+(m.clientTop+parseFloat(D.paddingTop))*C.y;E*=C.x,h*=C.y,T*=C.x,A*=C.y,E+=_,h+=v,N=Kn(m),m=XA(N)}}return jE({width:T,height:A,x:E,y:h})}function vf(n,e){const t=yf(n).scrollLeft;return e?e.left+t:il($i(n)).left+t}function A_(n,e){const t=n.getBoundingClientRect(),i=t.left+e.scrollLeft-vf(n,t),s=t.top+e.scrollTop;return{x:i,y:s}}function vx(n){let{elements:e,rect:t,offsetParent:i,strategy:s}=n;const o=s==="fixed",a=$i(i),u=e?Pf(e.floating):!1;if(i===a||u&&o)return t;let E={scrollLeft:0,scrollTop:0},h=Xi(1);const T=Xi(0),A=Cs(i);if((A||!A&&!o)&&((yo(i)!=="body"||gc(a))&&(E=yf(i)),A)){const O=il(i);h=fo(i),T.x=O.x+i.clientLeft,T.y=O.y+i.clientTop}const R=a&&!A&&!o?A_(a,E):Xi(0);return{width:t.width*h.x,height:t.height*h.y,x:t.x*h.x-E.scrollLeft*h.x+T.x+R.x,y:t.y*h.y-E.scrollTop*h.y+T.y+R.y}}function Ux(n){return Array.from(n.getClientRects())}function bx(n){const e=$i(n),t=yf(n),i=n.ownerDocument.body,s=Wn(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),o=Wn(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let a=-t.scrollLeft+vf(n);const u=-t.scrollTop;return Oi(i).direction==="rtl"&&(a+=Wn(e.clientWidth,i.clientWidth)-s),{width:s,height:o,x:a,y:u}}const wp=25;function xx(n,e){const t=Kn(n),i=$i(n),s=t.visualViewport;let o=i.clientWidth,a=i.clientHeight,u=0,E=0;if(s){o=s.width,a=s.height;const T=sR();(!T||T&&e==="fixed")&&(u=s.offsetLeft,E=s.offsetTop)}const h=vf(i);if(h<=0){const T=i.ownerDocument,A=T.body,R=getComputedStyle(A),O=T.compatMode==="CSS1Compat"&&parseFloat(R.marginLeft)+parseFloat(R.marginRight)||0,N=Math.abs(i.clientWidth-A.clientWidth-O);N<=wp&&(o-=N)}else h<=wp&&(o+=h);return{width:o,height:a,x:u,y:E}}function Bx(n,e){const t=il(n,!0,e==="fixed"),i=t.top+n.clientTop,s=t.left+n.clientLeft,o=Cs(n)?fo(n):Xi(1),a=n.clientWidth*o.x,u=n.clientHeight*o.y,E=s*o.x,h=i*o.y;return{width:a,height:u,x:E,y:h}}function Fp(n,e,t){let i;if(e==="viewport")i=xx(n,t);else if(e==="document")i=bx($i(n));else if(Ri(e))i=Bx(e,t);else{const s=d_(n);i={x:e.x-s.x,y:e.y-s.y,width:e.width,height:e.height}}return jE(i)}function S_(n,e){const t=ar(n);return t===e||!Ri(t)||mo(t)?!1:Oi(t).position==="fixed"||S_(t,e)}function Gx(n,e){const t=e.get(n);if(t)return t;let i=tc(n,[],!1).filter(u=>Ri(u)&&yo(u)!=="body"),s=null;const o=Oi(n).position==="fixed";let a=o?ar(n):n;for(;Ri(a)&&!mo(a);){const u=Oi(a),E=iR(a);!E&&u.position==="fixed"&&(s=null),(o?!E&&!s:!E&&u.position==="static"&&!!s&&(s.position==="absolute"||s.position==="fixed")||gc(a)&&!E&&S_(n,a))?i=i.filter(T=>T!==a):s=u,a=ar(a)}return e.set(n,i),i}function Hx(n){let{element:e,boundary:t,rootBoundary:i,strategy:s}=n;const a=[...t==="clippingAncestors"?Pf(e)?[]:Gx(e,this._c):[].concat(t),i],u=Fp(e,a[0],s);let E=u.top,h=u.right,T=u.bottom,A=u.left;for(let R=1;R<a.length;R++){const O=Fp(e,a[R],s);E=Wn(O.top,E),h=or(O.right,h),T=or(O.bottom,T),A=Wn(O.left,A)}return{width:h-A,height:T-E,x:A,y:E}}function wx(n){const{width:e,height:t}=T_(n);return{width:e,height:t}}function Fx(n,e,t){const i=Cs(e),s=$i(e),o=t==="fixed",a=il(n,!0,o,e);let u={scrollLeft:0,scrollTop:0};const E=Xi(0);function h(){E.x=vf(s)}if(i||!i&&!o)if((yo(e)!=="body"||gc(s))&&(u=yf(e)),i){const O=il(e,!0,o,e);E.x=O.x+e.clientLeft,E.y=O.y+e.clientTop}else s&&h();o&&!i&&s&&h();const T=s&&!i&&!o?A_(s,u):Xi(0),A=a.left+u.scrollLeft-E.x-T.x,R=a.top+u.scrollTop-E.y-T.y;return{x:A,y:R,width:a.width,height:a.height}}function Pd(n){return Oi(n).position==="static"}function Yp(n,e){if(!Cs(n)||Oi(n).position==="fixed")return null;if(e)return e(n);let t=n.offsetParent;return $i(n)===t&&(t=t.ownerDocument.body),t}function R_(n,e){const t=Kn(n);if(Pf(n))return t;if(!Cs(n)){let s=ar(n);for(;s&&!mo(s);){if(Ri(s)&&!Pd(s))return s;s=ar(s)}return t}let i=Yp(n,e);for(;i&&Lx(i)&&Pd(i);)i=Yp(i,e);return i&&mo(i)&&Pd(i)&&!iR(i)?t:i||Mx(n)||t}const Yx=async function(n){const e=this.getOffsetParent||R_,t=this.getDimensions,i=await t(n.floating);return{reference:Fx(n.reference,await e(n.floating),n.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function kx(n){return Oi(n).direction==="rtl"}const Vx={convertOffsetParentRelativeRectToViewportRelativeRect:vx,getDocumentElement:$i,getClippingRect:Hx,getOffsetParent:R_,getElementRects:Yx,getClientRects:Ux,getDimensions:wx,getScale:fo,isElement:Ri,isRTL:kx};function O_(n,e){return n.x===e.x&&n.y===e.y&&n.width===e.width&&n.height===e.height}function Wx(n,e){let t=null,i;const s=$i(n);function o(){var u;clearTimeout(i),(u=t)==null||u.disconnect(),t=null}function a(u,E){u===void 0&&(u=!1),E===void 0&&(E=1),o();const h=n.getBoundingClientRect(),{left:T,top:A,width:R,height:O}=h;if(u||e(),!R||!O)return;const N=nE(A),m=nE(s.clientWidth-(T+R)),C=nE(s.clientHeight-(A+O)),L=nE(T),_={rootMargin:-N+"px "+-m+"px "+-C+"px "+-L+"px",threshold:Wn(0,or(1,E))||1};let v=!0;function U(G){const B=G[0].intersectionRatio;if(B!==E){if(!v)return a();B?a(!1,B):i=setTimeout(()=>{a(!1,1e-7)},1e3)}B===1&&!O_(h,n.getBoundingClientRect())&&a(),v=!1}try{t=new IntersectionObserver(U,{..._,root:s.ownerDocument})}catch{t=new IntersectionObserver(U,_)}t.observe(n)}return a(!0),o}function Xx(n,e,t,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:E=!1}=i,h=rR(n),T=s||o?[...h?tc(h):[],...e?tc(e):[]]:[];T.forEach(L=>{s&&L.addEventListener("scroll",t,{passive:!0}),o&&L.addEventListener("resize",t)});const A=h&&u?Wx(h,t):null;let R=-1,O=null;a&&(O=new ResizeObserver(L=>{let[D]=L;D&&D.target===h&&O&&e&&(O.unobserve(e),cancelAnimationFrame(R),R=requestAnimationFrame(()=>{var _;(_=O)==null||_.observe(e)})),t()}),h&&!E&&O.observe(h),e&&O.observe(e));let N,m=E?il(n):null;E&&C();function C(){const L=il(n);m&&!O_(m,L)&&t(),m=L,N=requestAnimationFrame(C)}return t(),()=>{var L;T.forEach(D=>{s&&D.removeEventListener("scroll",t),o&&D.removeEventListener("resize",t)}),A==null||A(),(L=O)==null||L.disconnect(),O=null,E&&cancelAnimationFrame(N)}}const Kx=Ix,zx=px,$x=Ox,jx=gx,Jx=Nx,kp=Rx,qx=Cx,Qx=(n,e,t)=>{const i=new Map,s={platform:Vx,...t},o={...s.platform,_c:i};return Sx(n,e,{...s,platform:o})};var Zx=typeof document<"u",e1=function(){},yE=Zx?M.useLayoutEffect:e1;function JE(n,e){if(n===e)return!0;if(typeof n!=typeof e)return!1;if(typeof n=="function"&&n.toString()===e.toString())return!0;let t,i,s;if(n&&e&&typeof n=="object"){if(Array.isArray(n)){if(t=n.length,t!==e.length)return!1;for(i=t;i--!==0;)if(!JE(n[i],e[i]))return!1;return!0}if(s=Object.keys(n),t=s.length,t!==Object.keys(e).length)return!1;for(i=t;i--!==0;)if(!{}.hasOwnProperty.call(e,s[i]))return!1;for(i=t;i--!==0;){const o=s[i];if(!(o==="_owner"&&n.$$typeof)&&!JE(n[o],e[o]))return!1}return!0}return n!==n&&e!==e}function N_(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function Vp(n,e){const t=N_(n);return Math.round(e*t)/t}function yd(n){const e=M.useRef(n);return yE(()=>{e.current=n}),e}function t1(n){n===void 0&&(n={});const{placement:e="bottom",strategy:t="absolute",middleware:i=[],platform:s,elements:{reference:o,floating:a}={},transform:u=!0,whileElementsMounted:E,open:h}=n,[T,A]=M.useState({x:0,y:0,strategy:t,placement:e,middlewareData:{},isPositioned:!1}),[R,O]=M.useState(i);JE(R,i)||O(i);const[N,m]=M.useState(null),[C,L]=M.useState(null),D=M.useCallback(ne=>{ne!==G.current&&(G.current=ne,m(ne))},[]),_=M.useCallback(ne=>{ne!==B.current&&(B.current=ne,L(ne))},[]),v=o||N,U=a||C,G=M.useRef(null),B=M.useRef(null),F=M.useRef(T),oe=E!=null,fe=yd(E),ie=yd(s),ee=yd(h),Ee=M.useCallback(()=>{if(!G.current||!B.current)return;const ne={placement:e,strategy:t,middleware:R};ie.current&&(ne.platform=ie.current),Qx(G.current,B.current,ne).then(ce=>{const J={...ce,isPositioned:ee.current!==!1};ae.current&&!JE(F.current,J)&&(F.current=J,Cc.flushSync(()=>{A(J)}))})},[R,e,t,ie,ee]);yE(()=>{h===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,A(ne=>({...ne,isPositioned:!1})))},[h]);const ae=M.useRef(!1);yE(()=>(ae.current=!0,()=>{ae.current=!1}),[]),yE(()=>{if(v&&(G.current=v),U&&(B.current=U),v&&U){if(fe.current)return fe.current(v,U,Ee);Ee()}},[v,U,Ee,fe,oe]);const Te=M.useMemo(()=>({reference:G,floating:B,setReference:D,setFloating:_}),[D,_]),x=M.useMemo(()=>({reference:v,floating:U}),[v,U]),z=M.useMemo(()=>{const ne={position:t,left:0,top:0};if(!x.floating)return ne;const ce=Vp(x.floating,T.x),J=Vp(x.floating,T.y);return u?{...ne,transform:"translate("+ce+"px, "+J+"px)",...N_(x.floating)>=1.5&&{willChange:"transform"}}:{position:t,left:ce,top:J}},[t,u,x.floating,T.x,T.y]);return M.useMemo(()=>({...T,update:Ee,refs:Te,elements:x,floatingStyles:z}),[T,Ee,Te,x,z])}const n1=n=>{function e(t){return{}.hasOwnProperty.call(t,"current")}return{name:"arrow",options:n,fn(t){const{element:i,padding:s}=typeof n=="function"?n(t):n;return i&&e(i)?i.current!=null?kp({element:i.current,padding:s}).fn(t):{}:i?kp({element:i,padding:s}).fn(t):{}}}},i1=(n,e)=>{const t=Kx(n);return{name:t.name,fn:t.fn,options:[n,e]}},s1=(n,e)=>{const t=zx(n);return{name:t.name,fn:t.fn,options:[n,e]}},r1=(n,e)=>({fn:qx(n).fn,options:[n,e]}),l1=(n,e)=>{const t=$x(n);return{name:t.name,fn:t.fn,options:[n,e]}},o1=(n,e)=>{const t=jx(n);return{name:t.name,fn:t.fn,options:[n,e]}},a1=(n,e)=>{const t=Jx(n);return{name:t.name,fn:t.fn,options:[n,e]}},c1=(n,e)=>{const t=n1(n);return{name:t.name,fn:t.fn,options:[n,e]}};var u1="Arrow",m_=M.forwardRef((n,e)=>{const{children:t,width:i=10,height:s=5,...o}=n;return p.jsx(Pt.svg,{...o,ref:e,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:n.asChild?t:p.jsx("polygon",{points:"0,0 30,0 15,10"})})});m_.displayName=u1;var E1=m_,lR="Popper",[I_,p_]=QS(lR),[f1,C_]=I_(lR),g_=n=>{const{__scopePopper:e,children:t}=n,[i,s]=M.useState(null),[o,a]=M.useState(void 0);return p.jsx(f1,{scope:e,anchor:i,onAnchorChange:s,placementState:o,setPlacementState:a,children:t})};g_.displayName=lR;var L_="PopperAnchor",__=M.forwardRef((n,e)=>{const{__scopePopper:t,virtualRef:i,...s}=n,o=C_(L_,t),a=M.useRef(null),u=o.onAnchorChange,E=M.useCallback(N=>{a.current=N,N&&u(N)},[u]),h=jt(e,E),T=M.useRef(null);M.useEffect(()=>{if(!i)return;const N=T.current;T.current=i.current,N!==T.current&&u(T.current)});const A=o.placementState&&aR(o.placementState),R=A==null?void 0:A[0],O=A==null?void 0:A[1];return i?null:p.jsx(Pt.div,{"data-radix-popper-side":R,"data-radix-popper-align":O,...s,ref:h})});__.displayName=L_;var oR="PopperContent",[h1,T1]=I_(oR),D_=M.forwardRef((n,e)=>{var _e,Ne,Be,ye,Ue,Rt;const{__scopePopper:t,side:i="bottom",sideOffset:s=0,align:o="center",alignOffset:a=0,arrowPadding:u=0,avoidCollisions:E=!0,collisionBoundary:h=[],collisionPadding:T=0,sticky:A="partial",hideWhenDetached:R=!1,updatePositionStrategy:O="optimized",onPlaced:N,...m}=n,C=C_(oR,t),[L,D]=M.useState(null),_=jt(e,D),[v,U]=M.useState(null),G=rx(v),B=(G==null?void 0:G.width)??0,F=(G==null?void 0:G.height)??0,oe=i+(o!=="center"?"-"+o:""),fe=typeof T=="number"?T:{top:0,right:0,bottom:0,left:0,...T},ie=Array.isArray(h)?h:[h],ee=ie.length>0,Ee={padding:fe,boundary:ie.filter(A1),altBoundary:ee},{refs:ae,floatingStyles:Te,placement:x,isPositioned:z,middlewareData:ne}=t1({strategy:"fixed",placement:oe,whileElementsMounted:(...Je)=>Xx(...Je,{animationFrame:O==="always"}),elements:{reference:C.anchor},middleware:[i1({mainAxis:s+F,alignmentAxis:a}),E&&s1({mainAxis:!0,crossAxis:!1,limiter:A==="partial"?r1():void 0,...Ee}),E&&l1({...Ee}),o1({...Ee,apply:({elements:Je,rects:Et,availableWidth:Ct,availableHeight:Bt})=>{const{width:Ci,height:gs}=Et.reference,zn=Je.floating.style;zn.setProperty("--radix-popper-available-width",`${Ct}px`),zn.setProperty("--radix-popper-available-height",`${Bt}px`),zn.setProperty("--radix-popper-anchor-width",`${Ci}px`),zn.setProperty("--radix-popper-anchor-height",`${gs}px`)}}),v&&c1({element:v,padding:u}),S1({arrowWidth:B,arrowHeight:F}),R&&a1({strategy:"referenceHidden",...Ee,boundary:ee?Ee.boundary:void 0})]}),ce=C.setPlacementState;$t(()=>(ce(x),()=>{ce(void 0)}),[x,ce]);const[J,P]=aR(x),X=lr(N);$t(()=>{z&&(X==null||X())},[z,X]);const le=(_e=ne.arrow)==null?void 0:_e.x,se=(Ne=ne.arrow)==null?void 0:Ne.y,he=((Be=ne.arrow)==null?void 0:Be.centerOffset)!==0,[Se,ue]=M.useState();return $t(()=>{L&&ue(window.getComputedStyle(L).zIndex)},[L]),p.jsx("div",{ref:ae.setFloating,"data-radix-popper-content-wrapper":"",style:{...Te,transform:z?Te.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[(ye=ne.transformOrigin)==null?void 0:ye.x,(Ue=ne.transformOrigin)==null?void 0:Ue.y].join(" "),...((Rt=ne.hide)==null?void 0:Rt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:n.dir,children:p.jsx(h1,{scope:t,placedSide:J,placedAlign:P,onArrowChange:U,arrowX:le,arrowY:se,shouldHideArrow:he,children:p.jsx(Pt.div,{"data-side":J,"data-align":P,...m,ref:_,style:{...m.style,animation:z?void 0:"none"}})})})});D_.displayName=oR;var M_="PopperArrow",d1={top:"bottom",right:"left",bottom:"top",left:"right"},P_=M.forwardRef(function(e,t){const{__scopePopper:i,...s}=e,o=T1(M_,i),a=d1[o.placedSide];return p.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:p.jsx(E1,{...s,ref:t,style:{...s.style,display:"block"}})})});P_.displayName=M_;function A1(n){return n!==null}var S1=n=>({name:"transformOrigin",options:n,fn(e){var C,L,D;const{placement:t,rects:i,middlewareData:s}=e,a=((C=s.arrow)==null?void 0:C.centerOffset)!==0,u=a?0:n.arrowWidth,E=a?0:n.arrowHeight,[h,T]=aR(t),A={start:"0%",center:"50%",end:"100%"}[T],R=(((L=s.arrow)==null?void 0:L.x)??0)+u/2,O=(((D=s.arrow)==null?void 0:D.y)??0)+E/2;let N="",m="";return h==="bottom"?(N=a?A:`${R}px`,m=`${-E}px`):h==="top"?(N=a?A:`${R}px`,m=`${i.floating.height+E}px`):h==="right"?(N=`${-E}px`,m=a?A:`${O}px`):h==="left"&&(N=`${i.floating.width+E}px`,m=a?A:`${O}px`),{data:{x:N,y:m}}}});function aR(n){const[e,t="center"]=n.split("-");return[e,t]}var R1=g_,O1=__,N1=D_,m1=P_;function Wp(n,[e,t]){return Math.min(t,Math.max(e,n))}var I1=[" ","Enter","ArrowUp","ArrowDown"],p1=[" ","Enter"],sl="Select",[Uf,bf,C1]=VU(sl),[cl]=QS(sl,[C1,p_]),xf=p_(),[g1,Nr]=cl(sl),[L1,_1]=cl(sl),D1="SelectProvider";function y_(n){const{__scopeSelect:e,children:t,open:i,defaultOpen:s,onOpenChange:o,value:a,defaultValue:u,onValueChange:E,dir:h,name:T,autoComplete:A,disabled:R,required:O,form:N,internal_do_not_use_render:m}=n,C=xf(e),[L,D]=M.useState(null),[_,v]=M.useState(null),[U,G]=M.useState(!1),B=tb(h),[F,oe]=Op({prop:i,defaultProp:s??!1,onChange:o,caller:sl}),[fe,ie]=Op({prop:a,defaultProp:u,onChange:E,caller:sl}),ee=M.useRef(null),Ee=L?!!N||!!L.closest("form"):!0,[ae,Te]=M.useState(new Set),x=ZS(),z=Array.from(ae).map(P=>P.props.value).join(";"),ne=M.useCallback(P=>{Te(X=>new Set(X).add(P))},[]),ce=M.useCallback(P=>{Te(X=>{const le=new Set(X);return le.delete(P),le})},[]),J={required:O,trigger:L,onTriggerChange:D,valueNode:_,onValueNodeChange:v,valueNodeHasChildren:U,onValueNodeHasChildrenChange:G,contentId:x,value:fe,onValueChange:ie,open:F,onOpenChange:oe,dir:B,triggerPointerDownPosRef:ee,disabled:R,name:T,autoComplete:A,form:N,nativeOptions:ae,nativeSelectKey:z,isFormControl:Ee};return p.jsx(R1,{...C,children:p.jsx(g1,{scope:e,...J,children:p.jsx(Uf.Provider,{scope:e,children:p.jsx(L1,{scope:e,onNativeOptionAdd:ne,onNativeOptionRemove:ce,children:X1(m)?m(J):t})})})})}y_.displayName=D1;var v_=n=>{const{__scopeSelect:e,children:t,...i}=n;return p.jsx(y_,{__scopeSelect:e,...i,internal_do_not_use_render:({isFormControl:s})=>p.jsxs(p.Fragment,{children:[t,s?p.jsx(sD,{__scopeSelect:e}):null]})})};v_.displayName=sl;var U_="SelectTrigger",b_=M.forwardRef((n,e)=>{const{__scopeSelect:t,disabled:i=!1,...s}=n,o=xf(t),a=Nr(U_,t),u=a.disabled||i,E=jt(e,a.onTriggerChange),h=bf(t),T=M.useRef("touch"),[A,R,O]=rD(m=>{const C=h().filter(_=>!_.disabled),L=C.find(_=>_.value===a.value),D=lD(C,m,L);D!==void 0&&a.onValueChange(D.value)}),N=m=>{u||(a.onOpenChange(!0),O()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return p.jsx(O1,{asChild:!0,...o,children:p.jsx(Pt.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Bf(a.value)?"":void 0,...s,ref:E,onClick:xt(s.onClick,m=>{m.currentTarget.focus(),T.current!=="mouse"&&N(m)}),onPointerDown:xt(s.onPointerDown,m=>{T.current=m.pointerType;const C=m.target;C.hasPointerCapture(m.pointerId)&&C.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(N(m),m.preventDefault())}),onKeyDown:xt(s.onKeyDown,m=>{const C=A.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&R(m.key),!(C&&m.key===" ")&&I1.includes(m.key)&&(N(),m.preventDefault())})})})});b_.displayName=U_;var x_="SelectValue",B_=M.forwardRef((n,e)=>{const{__scopeSelect:t,className:i,style:s,children:o,placeholder:a="",...u}=n,E=Nr(x_,t),{onValueNodeHasChildrenChange:h}=E,T=o!==void 0,A=jt(e,E.onValueNodeChange);$t(()=>{h(T)},[h,T]);const R=Bf(E.value);return p.jsx(Pt.span,{...u,asChild:R?!1:u.asChild,ref:A,style:{pointerEvents:"none"},children:p.jsx(M.Fragment,{children:R?a:o},R?"placeholder":"value")})});B_.displayName=x_;var M1="SelectIcon",G_=M.forwardRef((n,e)=>{const{__scopeSelect:t,children:i,...s}=n;return p.jsx(Pt.span,{"aria-hidden":!0,...s,ref:e,children:i||"▼"})});G_.displayName=M1;var H_="SelectPortal",[P1,y1]=cl(H_,{forceMount:void 0}),w_=n=>{const{__scopeSelect:e,forceMount:t,...i}=n;return p.jsx(P1,{scope:n.__scopeSelect,forceMount:t,children:p.jsx(e_,{asChild:!0,...i})})};w_.displayName=H_;var cr="SelectContent",F_=M.forwardRef((n,e)=>{const t=y1(cr,n.__scopeSelect),{forceMount:i=t.forceMount,...s}=n,o=Nr(cr,n.__scopeSelect),[a,u]=M.useState();return $t(()=>{u(new DocumentFragment)},[]),p.jsx($L,{present:i||o.open,children:({present:E})=>E?p.jsx(V_,{...s,ref:e}):p.jsx(Y_,{...s,fragment:a})})});F_.displayName=cr;var Y_=M.forwardRef((n,e)=>{const{__scopeSelect:t,children:i,fragment:s}=n;return s?Cc.createPortal(p.jsx(k_,{scope:t,children:p.jsx(Uf.Slot,{scope:t,children:p.jsx("div",{ref:e,children:i})})}),s):null});Y_.displayName="SelectContentFragment";var hi=10,[k_,mr]=cl(cr),v1="SelectContentImpl",U1=ec("SelectContent.RemoveScroll"),V_=M.forwardRef((n,e)=>{const{__scopeSelect:t}=n,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:o,onPointerDownOutside:a,side:u,sideOffset:E,align:h,alignOffset:T,arrowPadding:A,collisionBoundary:R,collisionPadding:O,sticky:N,hideWhenDetached:m,avoidCollisions:C,...L}=n,D=Nr(cr,t),[_,v]=M.useState(null),[U,G]=M.useState(null),B=jt(e,v),[F,oe]=M.useState(null),[fe,ie]=M.useState(null),ee=bf(t),[Ee,ae]=M.useState(!1),Te=M.useRef(!1);M.useEffect(()=>{if(_)return ix(_)},[_]),Sb();const x=M.useCallback(ue=>{const[_e,...Ne]=ee().map(Ue=>Ue.ref.current),[Be]=Ne.slice(-1),ye=document.activeElement;for(const Ue of ue)if(Ue===ye||(Ue==null||Ue.scrollIntoView({block:"nearest"}),Ue===_e&&U&&(U.scrollTop=0),Ue===Be&&U&&(U.scrollTop=U.scrollHeight),Ue==null||Ue.focus(),document.activeElement!==ye))return},[ee,U]),z=M.useCallback(()=>x([F,_]),[x,F,_]);M.useEffect(()=>{Ee&&z()},[Ee,z]);const{onOpenChange:ne,triggerPointerDownPosRef:ce}=D;M.useEffect(()=>{if(_){let ue={x:0,y:0};const _e=Be=>{var ye,Ue;ue={x:Math.abs(Math.round(Be.pageX)-(((ye=ce.current)==null?void 0:ye.x)??0)),y:Math.abs(Math.round(Be.pageY)-(((Ue=ce.current)==null?void 0:Ue.y)??0))}},Ne=Be=>{ue.x<=10&&ue.y<=10?Be.preventDefault():Be.composedPath().includes(_)||ne(!1),document.removeEventListener("pointermove",_e),ce.current=null};return ce.current!==null&&(document.addEventListener("pointermove",_e),document.addEventListener("pointerup",Ne,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",_e),document.removeEventListener("pointerup",Ne,{capture:!0})}}},[_,ne,ce]),M.useEffect(()=>{const ue=()=>ne(!1);return window.addEventListener("blur",ue),window.addEventListener("resize",ue),()=>{window.removeEventListener("blur",ue),window.removeEventListener("resize",ue)}},[ne]);const[J,P]=rD(ue=>{const _e=ee().filter(ye=>!ye.disabled),Ne=_e.find(ye=>ye.ref.current===document.activeElement),Be=lD(_e,ue,Ne);Be&&setTimeout(()=>{var ye;return(ye=Be.ref.current)==null?void 0:ye.focus()})}),X=M.useCallback((ue,_e,Ne)=>{const Be=!Te.current&&!Ne;(D.value!==void 0&&D.value===_e||Be)&&(oe(ue),Be&&(Te.current=!0))},[D.value]),le=M.useCallback(()=>_==null?void 0:_.focus(),[_]),se=M.useCallback((ue,_e,Ne)=>{const Be=!Te.current&&!Ne;(D.value!==void 0&&D.value===_e||Be)&&ie(ue)},[D.value]),he=i==="popper"?KA:W_,Se=he===KA?{side:u,sideOffset:E,align:h,alignOffset:T,arrowPadding:A,collisionBoundary:R,collisionPadding:O,sticky:N,hideWhenDetached:m,avoidCollisions:C}:{};return p.jsx(k_,{scope:t,content:_,viewport:U,onViewportChange:G,itemRefCallback:X,selectedItem:F,onItemLeave:le,itemTextRefCallback:se,focusSelectedItem:z,selectedItemText:fe,position:i,isPositioned:Ee,searchRef:J,children:p.jsx(a_,{as:U1,allowPinchZoom:!0,children:p.jsx(QL,{asChild:!0,trapped:D.open,onMountAutoFocus:ue=>{ue.preventDefault()},onUnmountAutoFocus:xt(s,ue=>{var _e;(_e=D.trigger)==null||_e.focus({preventScroll:!0}),ue.preventDefault()}),children:p.jsx(JL,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:ue=>ue.preventDefault(),onDismiss:()=>D.onOpenChange(!1),children:p.jsx(he,{role:"listbox",id:D.contentId,"data-state":D.open?"open":"closed",dir:D.dir,onContextMenu:ue=>ue.preventDefault(),...L,...Se,onPlaced:()=>ae(!0),ref:B,style:{display:"flex",flexDirection:"column",outline:"none",...L.style},onKeyDown:xt(L.onKeyDown,ue=>{const _e=ue.ctrlKey||ue.altKey||ue.metaKey;if(ue.key==="Tab"&&ue.preventDefault(),!_e&&ue.key.length===1&&P(ue.key),["ArrowUp","ArrowDown","Home","End"].includes(ue.key)){let Be=ee().filter(ye=>!ye.disabled).map(ye=>ye.ref.current);if(["ArrowUp","End"].includes(ue.key)&&(Be=Be.slice().reverse()),["ArrowUp","ArrowDown"].includes(ue.key)){const ye=ue.target,Ue=Be.indexOf(ye);Be=Be.slice(Ue+1)}setTimeout(()=>x(Be)),ue.preventDefault()}})})})})})})});V_.displayName=v1;var b1="SelectItemAlignedPosition",W_=M.forwardRef((n,e)=>{const{__scopeSelect:t,onPlaced:i,...s}=n,o=Nr(cr,t),a=mr(cr,t),[u,E]=M.useState(null),[h,T]=M.useState(null),A=jt(e,T),R=bf(t),O=M.useRef(!1),N=M.useRef(!0),{viewport:m,selectedItem:C,selectedItemText:L,focusSelectedItem:D}=a,_=M.useCallback(()=>{if(o.trigger&&o.valueNode&&u&&h&&m&&C&&L){const B=o.trigger.getBoundingClientRect(),F=h.getBoundingClientRect(),oe=o.valueNode.getBoundingClientRect(),fe=L.getBoundingClientRect();if(o.dir!=="rtl"){const ye=fe.left-F.left,Ue=oe.left-ye,Rt=B.left-Ue,Je=B.width+Rt,Et=Math.max(Je,F.width),Ct=window.innerWidth-hi,Bt=Wp(Ue,[hi,Math.max(hi,Ct-Et)]);u.style.minWidth=Je+"px",u.style.left=Bt+"px"}else{const ye=F.right-fe.right,Ue=window.innerWidth-oe.right-ye,Rt=window.innerWidth-B.right-Ue,Je=B.width+Rt,Et=Math.max(Je,F.width),Ct=window.innerWidth-hi,Bt=Wp(Ue,[hi,Math.max(hi,Ct-Et)]);u.style.minWidth=Je+"px",u.style.right=Bt+"px"}const ie=R(),ee=window.innerHeight-hi*2,Ee=m.scrollHeight,ae=window.getComputedStyle(h),Te=parseInt(ae.borderTopWidth,10),x=parseInt(ae.paddingTop,10),z=parseInt(ae.borderBottomWidth,10),ne=parseInt(ae.paddingBottom,10),ce=Te+x+Ee+ne+z,J=Math.min(C.offsetHeight*5,ce),P=window.getComputedStyle(m),X=parseInt(P.paddingTop,10),le=parseInt(P.paddingBottom,10),se=B.top+B.height/2-hi,he=ee-se,Se=C.offsetHeight/2,ue=C.offsetTop+Se,_e=Te+x+ue,Ne=ce-_e;if(_e<=se){const ye=ie.length>0&&C===ie[ie.length-1].ref.current;u.style.bottom="0px";const Ue=h.clientHeight-m.offsetTop-m.offsetHeight,Rt=Math.max(he,Se+(ye?le:0)+Ue+z),Je=_e+Rt;u.style.height=Je+"px"}else{const ye=ie.length>0&&C===ie[0].ref.current;u.style.top="0px";const Rt=Math.max(se,Te+m.offsetTop+(ye?X:0)+Se)+Ne;u.style.height=Rt+"px",m.scrollTop=_e-se+m.offsetTop}u.style.margin=`${hi}px 0`,u.style.minHeight=J+"px",u.style.maxHeight=ee+"px",i==null||i(),requestAnimationFrame(()=>O.current=!0)}},[R,o.trigger,o.valueNode,u,h,m,C,L,o.dir,i]);$t(()=>_(),[_]);const[v,U]=M.useState();$t(()=>{h&&U(window.getComputedStyle(h).zIndex)},[h]);const G=M.useCallback(B=>{B&&N.current===!0&&(_(),D==null||D(),N.current=!1)},[_,D]);return p.jsx(B1,{scope:t,contentWrapper:u,shouldExpandOnScrollRef:O,onScrollButtonChange:G,children:p.jsx("div",{ref:E,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:v},children:p.jsx(Pt.div,{...s,ref:A,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});W_.displayName=b1;var x1="SelectPopperPosition",KA=M.forwardRef((n,e)=>{const{__scopeSelect:t,align:i="start",collisionPadding:s=hi,...o}=n,a=xf(t);return p.jsx(N1,{...a,...o,ref:e,align:i,collisionPadding:s,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});KA.displayName=x1;var[B1,cR]=cl(cr,{}),zA="SelectViewport",X_=M.forwardRef((n,e)=>{const{__scopeSelect:t,nonce:i,...s}=n,o=mr(zA,t),a=cR(zA,t),u=jt(e,o.onViewportChange),E=M.useRef(0);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),p.jsx(Uf.Slot,{scope:t,children:p.jsx(Pt.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:xt(s.onScroll,h=>{const T=h.currentTarget,{contentWrapper:A,shouldExpandOnScrollRef:R}=a;if(R!=null&&R.current&&A){const O=Math.abs(E.current-T.scrollTop);if(O>0){const N=window.innerHeight-hi*2,m=parseFloat(A.style.minHeight),C=parseFloat(A.style.height),L=Math.max(m,C);if(L<N){const D=L+O,_=Math.min(N,D),v=D-_;A.style.height=_+"px",A.style.bottom==="0px"&&(T.scrollTop=v>0?v:0,A.style.justifyContent="flex-end")}}}E.current=T.scrollTop})})})]})});X_.displayName=zA;var K_="SelectGroup",[G1,H1]=cl(K_),w1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n,s=ZS();return p.jsx(G1,{scope:t,id:s,children:p.jsx(Pt.div,{role:"group","aria-labelledby":s,...i,ref:e})})});w1.displayName=K_;var z_="SelectLabel",F1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n,s=H1(z_,t);return p.jsx(Pt.div,{id:s.id,...i,ref:e})});F1.displayName=z_;var qE="SelectItem",[Y1,$_]=cl(qE),j_=M.forwardRef((n,e)=>{const{__scopeSelect:t,value:i,disabled:s=!1,textValue:o,...a}=n,u=Nr(qE,t),E=mr(qE,t),h=u.value===i,[T,A]=M.useState(o??""),[R,O]=M.useState(!1),N=lr(_=>{var v;return(v=E.itemRefCallback)==null?void 0:v.call(E,_,i,s)}),m=jt(e,N),C=ZS(),L=M.useRef("touch"),D=()=>{s||(u.onValueChange(i),u.onOpenChange(!1))};return p.jsx(Y1,{scope:t,value:i,disabled:s,textId:C,isSelected:h,onItemTextChange:M.useCallback(_=>{A(v=>v||((_==null?void 0:_.textContent)??"").trim())},[]),children:p.jsx(Uf.ItemSlot,{scope:t,value:i,disabled:s,textValue:T,children:p.jsx(Pt.div,{role:"option","aria-labelledby":C,"data-highlighted":R?"":void 0,"aria-selected":h&&R,"data-state":h?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...a,ref:m,onFocus:xt(a.onFocus,()=>O(!0)),onBlur:xt(a.onBlur,()=>O(!1)),onClick:xt(a.onClick,()=>{L.current!=="mouse"&&D()}),onPointerUp:xt(a.onPointerUp,()=>{L.current==="mouse"&&D()}),onPointerDown:xt(a.onPointerDown,_=>{L.current=_.pointerType}),onPointerMove:xt(a.onPointerMove,_=>{var v;L.current=_.pointerType,s?(v=E.onItemLeave)==null||v.call(E):L.current==="mouse"&&_.currentTarget.focus({preventScroll:!0})}),onPointerLeave:xt(a.onPointerLeave,_=>{var v;_.currentTarget===document.activeElement&&((v=E.onItemLeave)==null||v.call(E))}),onKeyDown:xt(a.onKeyDown,_=>{var U;((U=E.searchRef)==null?void 0:U.current)!==""&&_.key===" "||(p1.includes(_.key)&&D(),_.key===" "&&_.preventDefault())})})})})});j_.displayName=qE;var Fa="SelectItemText",J_=M.forwardRef((n,e)=>{const{__scopeSelect:t,className:i,style:s,...o}=n,a=Nr(Fa,t),u=mr(Fa,t),E=$_(Fa,t),h=_1(Fa,t),[T,A]=M.useState(null),R=lr(D=>{var _;return(_=u.itemTextRefCallback)==null?void 0:_.call(u,D,E.value,E.disabled)}),O=jt(e,A,E.onItemTextChange,R),N=T==null?void 0:T.textContent,m=M.useMemo(()=>p.jsx("option",{value:E.value,disabled:E.disabled,children:N},E.value),[E.disabled,E.value,N]),{onNativeOptionAdd:C,onNativeOptionRemove:L}=h;return $t(()=>(C(m),()=>L(m)),[C,L,m]),p.jsxs(p.Fragment,{children:[p.jsx(Pt.span,{id:E.textId,...o,ref:O}),E.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!Bf(a.value)?Cc.createPortal(o.children,a.valueNode):null]})});J_.displayName=Fa;var q_="SelectItemIndicator",Q_=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n;return $_(q_,t).isSelected?p.jsx(Pt.span,{"aria-hidden":!0,...i,ref:e}):null});Q_.displayName=q_;var $A="SelectScrollUpButton",Z_=M.forwardRef((n,e)=>{const t=mr($A,n.__scopeSelect),i=cR($A,n.__scopeSelect),[s,o]=M.useState(!1),a=jt(e,i.onScrollButtonChange);return $t(()=>{if(t.viewport&&t.isPositioned){let u=function(){const h=E.scrollTop>0;o(h)};const E=t.viewport;return u(),E.addEventListener("scroll",u),()=>E.removeEventListener("scroll",u)}},[t.viewport,t.isPositioned]),s?p.jsx(tD,{...n,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:E}=t;u&&E&&(u.scrollTop=u.scrollTop-E.offsetHeight)}}):null});Z_.displayName=$A;var jA="SelectScrollDownButton",eD=M.forwardRef((n,e)=>{const t=mr(jA,n.__scopeSelect),i=cR(jA,n.__scopeSelect),[s,o]=M.useState(!1),a=jt(e,i.onScrollButtonChange);return $t(()=>{if(t.viewport&&t.isPositioned){let u=function(){const h=E.scrollHeight-E.clientHeight,T=Math.ceil(E.scrollTop)<h;o(T)};const E=t.viewport;return u(),E.addEventListener("scroll",u),()=>E.removeEventListener("scroll",u)}},[t.viewport,t.isPositioned]),s?p.jsx(tD,{...n,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:E}=t;u&&E&&(u.scrollTop=u.scrollTop+E.offsetHeight)}}):null});eD.displayName=jA;var tD=M.forwardRef((n,e)=>{const{__scopeSelect:t,onAutoScroll:i,...s}=n,o=mr("SelectScrollButton",t),a=M.useRef(null),u=bf(t),E=M.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return M.useEffect(()=>()=>E(),[E]),$t(()=>{var T;const h=u().find(A=>A.ref.current===document.activeElement);(T=h==null?void 0:h.ref.current)==null||T.scrollIntoView({block:"nearest"})},[u]),p.jsx(Pt.div,{"aria-hidden":!0,...s,ref:e,style:{flexShrink:0,...s.style},onPointerDown:xt(s.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(i,50))}),onPointerMove:xt(s.onPointerMove,()=>{var h;(h=o.onItemLeave)==null||h.call(o),a.current===null&&(a.current=window.setInterval(i,50))}),onPointerLeave:xt(s.onPointerLeave,()=>{E()})})}),k1="SelectSeparator",V1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n;return p.jsx(Pt.div,{"aria-hidden":!0,...i,ref:e})});V1.displayName=k1;var nD="SelectArrow",W1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n,s=xf(t);return mr(nD,t).position==="popper"?p.jsx(m1,{...s,...i,ref:e}):null});W1.displayName=nD;var iD="SelectBubbleInput",sD=M.forwardRef(({__scopeSelect:n,...e},t)=>{const i=Nr(iD,n),{value:s,onValueChange:o,required:a,disabled:u,name:E,autoComplete:h,form:T}=i,{nativeOptions:A,nativeSelectKey:R}=i,O=M.useRef(null),N=jt(t,O),m=s??"",C=sx(m),L=Array.from(A).some(D=>(D.props.value??"")==="");return M.useEffect(()=>{const D=O.current;if(!D)return;const _=window.HTMLSelectElement.prototype,U=Object.getOwnPropertyDescriptor(_,"value").set;if(C!==m&&U){const G=new Event("change",{bubbles:!0});U.call(D,m),D.dispatchEvent(G)}},[C,m]),p.jsxs(Pt.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:E,autoComplete:h,disabled:u,form:T,onChange:D=>o(D.target.value),...e,style:{...zL,...e.style},ref:N,defaultValue:m,children:[Bf(s)&&!L?p.jsx("option",{value:""}):null,Array.from(A)]},R)});sD.displayName=iD;function X1(n){return typeof n=="function"}function Bf(n){return n===""||n===void 0}function rD(n){const e=lr(n),t=M.useRef(""),i=M.useRef(0),s=M.useCallback(a=>{const u=t.current+a;e(u),(function E(h){t.current=h,window.clearTimeout(i.current),h!==""&&(i.current=window.setTimeout(()=>E(""),1e3))})(u)},[e]),o=M.useCallback(()=>{t.current="",window.clearTimeout(i.current)},[]);return M.useEffect(()=>()=>window.clearTimeout(i.current),[]),[t,s,o]}function lD(n,e,t){const s=e.length>1&&Array.from(e).every(h=>h===e[0])?e[0]:e,o=t?n.indexOf(t):-1;let a=K1(n,Math.max(o,0));s.length===1&&(a=a.filter(h=>h!==t));const E=a.find(h=>h.textValue.toLowerCase().startsWith(s.toLowerCase()));return E!==t?E:void 0}function K1(n,e){return n.map((t,i)=>n[(e+i)%n.length])}const z1=(n,e)=>{const t=new Array(n.length+e.length);for(let i=0;i<n.length;i++)t[i]=n[i];for(let i=0;i<e.length;i++)t[n.length+i]=e[i];return t},$1=(n,e)=>({classGroupId:n,validator:e}),oD=(n=new Map,e=null,t)=>({nextPart:n,validators:e,classGroupId:t}),QE="-",Xp=[],j1="arbitrary..",J1=n=>{const e=Q1(n),{conflictingClassGroups:t,conflictingClassGroupModifiers:i}=n;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return q1(a);const u=a.split(QE),E=u[0]===""&&u.length>1?1:0;return aD(u,E,e)},getConflictingClassGroupIds:(a,u)=>{if(u){const E=i[a],h=t[a];return E?h?z1(h,E):E:h||Xp}return t[a]||Xp}}},aD=(n,e,t)=>{if(n.length-e===0)return t.classGroupId;const s=n[e],o=t.nextPart.get(s);if(o){const h=aD(n,e+1,o);if(h)return h}const a=t.validators;if(a===null)return;const u=e===0?n.join(QE):n.slice(e).join(QE),E=a.length;for(let h=0;h<E;h++){const T=a[h];if(T.validator(u))return T.classGroupId}},q1=n=>n.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=n.slice(1,-1),t=e.indexOf(":"),i=e.slice(0,t);return i?j1+i:void 0})(),Q1=n=>{const{theme:e,classGroups:t}=n;return Z1(t,e)},Z1=(n,e)=>{const t=oD();for(const i in n){const s=n[i];uR(s,t,i,e)}return t},uR=(n,e,t,i)=>{const s=n.length;for(let o=0;o<s;o++){const a=n[o];eB(a,e,t,i)}},eB=(n,e,t,i)=>{if(typeof n=="string"){tB(n,e,t);return}if(typeof n=="function"){nB(n,e,t,i);return}iB(n,e,t,i)},tB=(n,e,t)=>{const i=n===""?e:cD(e,n);i.classGroupId=t},nB=(n,e,t,i)=>{if(sB(n)){uR(n(i),e,t,i);return}e.validators===null&&(e.validators=[]),e.validators.push($1(t,n))},iB=(n,e,t,i)=>{const s=Object.entries(n),o=s.length;for(let a=0;a<o;a++){const[u,E]=s[a];uR(E,cD(e,u),t,i)}},cD=(n,e)=>{let t=n;const i=e.split(QE),s=i.length;for(let o=0;o<s;o++){const a=i[o];let u=t.nextPart.get(a);u||(u=oD(),t.nextPart.set(a,u)),t=u}return t},sB=n=>"isThemeGetter"in n&&n.isThemeGetter===!0,rB=n=>{if(n<1)return{get:()=>{},set:()=>{}};let e=0,t=Object.create(null),i=Object.create(null);const s=(o,a)=>{t[o]=a,e++,e>n&&(e=0,i=t,t=Object.create(null))};return{get(o){let a=t[o];if(a!==void 0)return a;if((a=i[o])!==void 0)return s(o,a),a},set(o,a){o in t?t[o]=a:s(o,a)}}},JA="!",Kp=":",lB=[],zp=(n,e,t,i,s)=>({modifiers:n,hasImportantModifier:e,baseClassName:t,maybePostfixModifierPosition:i,isExternal:s}),oB=n=>{const{prefix:e,experimentalParseClassName:t}=n;let i=s=>{const o=[];let a=0,u=0,E=0,h;const T=s.length;for(let m=0;m<T;m++){const C=s[m];if(a===0&&u===0){if(C===Kp){o.push(s.slice(E,m)),E=m+1;continue}if(C==="/"){h=m;continue}}C==="["?a++:C==="]"?a--:C==="("?u++:C===")"&&u--}const A=o.length===0?s:s.slice(E);let R=A,O=!1;A.endsWith(JA)?(R=A.slice(0,-1),O=!0):A.startsWith(JA)&&(R=A.slice(1),O=!0);const N=h&&h>E?h-E:void 0;return zp(o,O,R,N)};if(e){const s=e+Kp,o=i;i=a=>a.startsWith(s)?o(a.slice(s.length)):zp(lB,!1,a,void 0,!0)}if(t){const s=i;i=o=>t({className:o,parseClassName:s})}return i},aB=n=>{const e=new Map;return n.orderSensitiveModifiers.forEach((t,i)=>{e.set(t,1e6+i)}),t=>{const i=[];let s=[];for(let o=0;o<t.length;o++){const a=t[o],u=a[0]==="[",E=e.has(a);u||E?(s.length>0&&(s.sort(),i.push(...s),s=[]),i.push(a)):s.push(a)}return s.length>0&&(s.sort(),i.push(...s)),i}},cB=n=>({cache:rB(n.cacheSize),parseClassName:oB(n),sortModifiers:aB(n),postfixLookupClassGroupIds:uB(n),...J1(n)}),uB=n=>{const e=Object.create(null),t=n.postfixLookupClassGroups;if(t)for(let i=0;i<t.length;i++)e[t[i]]=!0;return e},EB=/\s+/,fB=(n,e)=>{const{parseClassName:t,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:a}=e,u=[],E=n.trim().split(EB);let h="";for(let T=E.length-1;T>=0;T-=1){const A=E[T],{isExternal:R,modifiers:O,hasImportantModifier:N,baseClassName:m,maybePostfixModifierPosition:C}=t(A);if(R){h=A+(h.length>0?" "+h:h);continue}let L=!!C,D;if(L){const B=m.substring(0,C);D=i(B);const F=D&&a[D]?i(m):void 0;F&&F!==D&&(D=F,L=!1)}else D=i(m);if(!D){if(!L){h=A+(h.length>0?" "+h:h);continue}if(D=i(m),!D){h=A+(h.length>0?" "+h:h);continue}L=!1}const _=O.length===0?"":O.length===1?O[0]:o(O).join(":"),v=N?_+JA:_,U=v+D;if(u.indexOf(U)>-1)continue;u.push(U);const G=s(D,L);for(let B=0;B<G.length;++B){const F=G[B];u.push(v+F)}h=A+(h.length>0?" "+h:h)}return h},hB=(...n)=>{let e=0,t,i,s="";for(;e<n.length;)(t=n[e++])&&(i=uD(t))&&(s&&(s+=" "),s+=i);return s},uD=n=>{if(typeof n=="string")return n;let e,t="";for(let i=0;i<n.length;i++)n[i]&&(e=uD(n[i]))&&(t&&(t+=" "),t+=e);return t},TB=(n,...e)=>{let t,i,s,o;const a=E=>{const h=e.reduce((T,A)=>A(T),n());return t=cB(h),i=t.cache.get,s=t.cache.set,o=u,u(E)},u=E=>{const h=i(E);if(h)return h;const T=fB(E,t);return s(E,T),T};return o=a,(...E)=>o(hB(...E))},dB=[],Ht=n=>{const e=t=>t[n]||dB;return e.isThemeGetter=!0,e},ED=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fD=/^\((?:(\w[\w-]*):)?(.+)\)$/i,AB=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,SB=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,RB=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,OB=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,NB=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mB=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,qs=n=>AB.test(n),we=n=>!!n&&!Number.isNaN(Number(n)),Pi=n=>!!n&&Number.isInteger(Number(n)),vd=n=>n.endsWith("%")&&we(n.slice(0,-1)),ds=n=>SB.test(n),hD=()=>!0,IB=n=>RB.test(n)&&!OB.test(n),ER=()=>!1,pB=n=>NB.test(n),CB=n=>mB.test(n),gB=n=>!me(n)&&!Ie(n),LB=n=>n.startsWith("@container")&&(n[10]==="/"&&n[11]!==void 0||n[11]==="s"&&n[16]!==void 0&&n.startsWith("-size/",10)||n[11]==="n"&&n[18]!==void 0&&n.startsWith("-normal/",10)),_B=n=>Ir(n,AD,ER),me=n=>ED.test(n),Vr=n=>Ir(n,SD,IB),$p=n=>Ir(n,xB,we),DB=n=>Ir(n,OD,hD),MB=n=>Ir(n,RD,ER),jp=n=>Ir(n,TD,ER),PB=n=>Ir(n,dD,CB),iE=n=>Ir(n,ND,pB),Ie=n=>fD.test(n),va=n=>ul(n,SD),yB=n=>ul(n,RD),Jp=n=>ul(n,TD),vB=n=>ul(n,AD),UB=n=>ul(n,dD),sE=n=>ul(n,ND,!0),bB=n=>ul(n,OD,!0),Ir=(n,e,t)=>{const i=ED.exec(n);return i?i[1]?e(i[1]):t(i[2]):!1},ul=(n,e,t=!1)=>{const i=fD.exec(n);return i?i[1]?e(i[1]):t:!1},TD=n=>n==="position"||n==="percentage",dD=n=>n==="image"||n==="url",AD=n=>n==="length"||n==="size"||n==="bg-size",SD=n=>n==="length",xB=n=>n==="number",RD=n=>n==="family-name",OD=n=>n==="number"||n==="weight",ND=n=>n==="shadow",BB=()=>{const n=Ht("color"),e=Ht("font"),t=Ht("text"),i=Ht("font-weight"),s=Ht("tracking"),o=Ht("leading"),a=Ht("breakpoint"),u=Ht("container"),E=Ht("spacing"),h=Ht("radius"),T=Ht("shadow"),A=Ht("inset-shadow"),R=Ht("text-shadow"),O=Ht("drop-shadow"),N=Ht("blur"),m=Ht("perspective"),C=Ht("aspect"),L=Ht("ease"),D=Ht("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],U=()=>[...v(),Ie,me],G=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],F=()=>[Ie,me,E],oe=()=>[qs,"full","auto",...F()],fe=()=>[Pi,"none","subgrid",Ie,me],ie=()=>["auto",{span:["full",Pi,Ie,me]},Pi,Ie,me],ee=()=>[Pi,"auto",Ie,me],Ee=()=>["auto","min","max","fr",Ie,me],ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Te=()=>["start","end","center","stretch","center-safe","end-safe"],x=()=>["auto",...F()],z=()=>[qs,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],ne=()=>[qs,"screen","full","dvw","lvw","svw","min","max","fit",...F()],ce=()=>[qs,"screen","full","lh","dvh","lvh","svh","min","max","fit",...F()],J=()=>[n,Ie,me],P=()=>[...v(),Jp,jp,{position:[Ie,me]}],X=()=>["no-repeat",{repeat:["","x","y","space","round"]}],le=()=>["auto","cover","contain",vB,_B,{size:[Ie,me]}],se=()=>[vd,va,Vr],he=()=>["","none","full",h,Ie,me],Se=()=>["",we,va,Vr],ue=()=>["solid","dashed","dotted","double"],_e=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ne=()=>[we,vd,Jp,jp],Be=()=>["","none",N,Ie,me],ye=()=>["none",we,Ie,me],Ue=()=>["none",we,Ie,me],Rt=()=>[we,Ie,me],Je=()=>[qs,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ds],breakpoint:[ds],color:[hD],container:[ds],"drop-shadow":[ds],ease:["in","out","in-out"],font:[gB],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ds],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ds],shadow:[ds],spacing:["px",we],text:[ds],"text-shadow":[ds],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",qs,me,Ie,C]}],container:["container"],"container-type":[{"@container":["","normal","size",Ie,me]}],"container-named":[LB],columns:[{columns:[we,me,Ie,u]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:U()}],overflow:[{overflow:G()}],"overflow-x":[{"overflow-x":G()}],"overflow-y":[{"overflow-y":G()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:oe()}],"inset-x":[{"inset-x":oe()}],"inset-y":[{"inset-y":oe()}],start:[{"inset-s":oe(),start:oe()}],end:[{"inset-e":oe(),end:oe()}],"inset-bs":[{"inset-bs":oe()}],"inset-be":[{"inset-be":oe()}],top:[{top:oe()}],right:[{right:oe()}],bottom:[{bottom:oe()}],left:[{left:oe()}],visibility:["visible","invisible","collapse"],z:[{z:[Pi,"auto",Ie,me]}],basis:[{basis:[qs,"full","auto",u,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[we,qs,"auto","initial","none",me]}],grow:[{grow:["",we,Ie,me]}],shrink:[{shrink:["",we,Ie,me]}],order:[{order:[Pi,"first","last","none",Ie,me]}],"grid-cols":[{"grid-cols":fe()}],"col-start-end":[{col:ie()}],"col-start":[{"col-start":ee()}],"col-end":[{"col-end":ee()}],"grid-rows":[{"grid-rows":fe()}],"row-start-end":[{row:ie()}],"row-start":[{"row-start":ee()}],"row-end":[{"row-end":ee()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ee()}],"auto-rows":[{"auto-rows":Ee()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...ae(),"normal"]}],"justify-items":[{"justify-items":[...Te(),"normal"]}],"justify-self":[{"justify-self":["auto",...Te()]}],"align-content":[{content:["normal",...ae()]}],"align-items":[{items:[...Te(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Te(),{baseline:["","last"]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...Te(),"baseline"]}],"place-self":[{"place-self":["auto",...Te()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pbs:[{pbs:F()}],pbe:[{pbe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:x()}],mx:[{mx:x()}],my:[{my:x()}],ms:[{ms:x()}],me:[{me:x()}],mbs:[{mbs:x()}],mbe:[{mbe:x()}],mt:[{mt:x()}],mr:[{mr:x()}],mb:[{mb:x()}],ml:[{ml:x()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],"inline-size":[{inline:["auto",...ne()]}],"min-inline-size":[{"min-inline":["auto",...ne()]}],"max-inline-size":[{"max-inline":["none",...ne()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[u,"screen",...z()]}],"min-w":[{"min-w":[u,"screen","none",...z()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[a]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh",...z()]}],"font-size":[{text:["base",t,va,Vr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,bB,DB]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",vd,me]}],"font-family":[{font:[yB,MB,e]}],"font-features":[{"font-features":[me]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ie,me]}],"line-clamp":[{"line-clamp":[we,"none",Ie,$p]}],leading:[{leading:[o,...F()]}],"list-image":[{"list-image":["none",Ie,me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ie,me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:J()}],"text-color":[{text:J()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ue(),"wavy"]}],"text-decoration-thickness":[{decoration:[we,"from-font","auto",Ie,Vr]}],"text-decoration-color":[{decoration:J()}],"underline-offset":[{"underline-offset":[we,"auto",Ie,me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"tab-size":[{tab:[Pi,Ie,me]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ie,me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ie,me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:P()}],"bg-repeat":[{bg:X()}],"bg-size":[{bg:le()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Pi,Ie,me],radial:["",Ie,me],conic:[Pi,Ie,me]},UB,PB]}],"bg-color":[{bg:J()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:J()}],"gradient-via":[{via:J()}],"gradient-to":[{to:J()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:Se()}],"border-w-x":[{"border-x":Se()}],"border-w-y":[{"border-y":Se()}],"border-w-s":[{"border-s":Se()}],"border-w-e":[{"border-e":Se()}],"border-w-bs":[{"border-bs":Se()}],"border-w-be":[{"border-be":Se()}],"border-w-t":[{"border-t":Se()}],"border-w-r":[{"border-r":Se()}],"border-w-b":[{"border-b":Se()}],"border-w-l":[{"border-l":Se()}],"divide-x":[{"divide-x":Se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ue(),"hidden","none"]}],"divide-style":[{divide:[...ue(),"hidden","none"]}],"border-color":[{border:J()}],"border-color-x":[{"border-x":J()}],"border-color-y":[{"border-y":J()}],"border-color-s":[{"border-s":J()}],"border-color-e":[{"border-e":J()}],"border-color-bs":[{"border-bs":J()}],"border-color-be":[{"border-be":J()}],"border-color-t":[{"border-t":J()}],"border-color-r":[{"border-r":J()}],"border-color-b":[{"border-b":J()}],"border-color-l":[{"border-l":J()}],"divide-color":[{divide:J()}],"outline-style":[{outline:[...ue(),"none","hidden"]}],"outline-offset":[{"outline-offset":[we,Ie,me]}],"outline-w":[{outline:["",we,va,Vr]}],"outline-color":[{outline:J()}],shadow:[{shadow:["","none",T,sE,iE]}],"shadow-color":[{shadow:J()}],"inset-shadow":[{"inset-shadow":["none",A,sE,iE]}],"inset-shadow-color":[{"inset-shadow":J()}],"ring-w":[{ring:Se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:J()}],"ring-offset-w":[{"ring-offset":[we,Vr]}],"ring-offset-color":[{"ring-offset":J()}],"inset-ring-w":[{"inset-ring":Se()}],"inset-ring-color":[{"inset-ring":J()}],"text-shadow":[{"text-shadow":["none",R,sE,iE]}],"text-shadow-color":[{"text-shadow":J()}],opacity:[{opacity:[we,Ie,me]}],"mix-blend":[{"mix-blend":[..._e(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":_e()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[we]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ne()}],"mask-image-linear-from-color":[{"mask-linear-from":J()}],"mask-image-linear-to-color":[{"mask-linear-to":J()}],"mask-image-t-from-pos":[{"mask-t-from":Ne()}],"mask-image-t-to-pos":[{"mask-t-to":Ne()}],"mask-image-t-from-color":[{"mask-t-from":J()}],"mask-image-t-to-color":[{"mask-t-to":J()}],"mask-image-r-from-pos":[{"mask-r-from":Ne()}],"mask-image-r-to-pos":[{"mask-r-to":Ne()}],"mask-image-r-from-color":[{"mask-r-from":J()}],"mask-image-r-to-color":[{"mask-r-to":J()}],"mask-image-b-from-pos":[{"mask-b-from":Ne()}],"mask-image-b-to-pos":[{"mask-b-to":Ne()}],"mask-image-b-from-color":[{"mask-b-from":J()}],"mask-image-b-to-color":[{"mask-b-to":J()}],"mask-image-l-from-pos":[{"mask-l-from":Ne()}],"mask-image-l-to-pos":[{"mask-l-to":Ne()}],"mask-image-l-from-color":[{"mask-l-from":J()}],"mask-image-l-to-color":[{"mask-l-to":J()}],"mask-image-x-from-pos":[{"mask-x-from":Ne()}],"mask-image-x-to-pos":[{"mask-x-to":Ne()}],"mask-image-x-from-color":[{"mask-x-from":J()}],"mask-image-x-to-color":[{"mask-x-to":J()}],"mask-image-y-from-pos":[{"mask-y-from":Ne()}],"mask-image-y-to-pos":[{"mask-y-to":Ne()}],"mask-image-y-from-color":[{"mask-y-from":J()}],"mask-image-y-to-color":[{"mask-y-to":J()}],"mask-image-radial":[{"mask-radial":[Ie,me]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ne()}],"mask-image-radial-from-color":[{"mask-radial-from":J()}],"mask-image-radial-to-color":[{"mask-radial-to":J()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[we]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ne()}],"mask-image-conic-from-color":[{"mask-conic-from":J()}],"mask-image-conic-to-color":[{"mask-conic-to":J()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:P()}],"mask-repeat":[{mask:X()}],"mask-size":[{mask:le()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ie,me]}],filter:[{filter:["","none",Ie,me]}],blur:[{blur:Be()}],brightness:[{brightness:[we,Ie,me]}],contrast:[{contrast:[we,Ie,me]}],"drop-shadow":[{"drop-shadow":["","none",O,sE,iE]}],"drop-shadow-color":[{"drop-shadow":J()}],grayscale:[{grayscale:["",we,Ie,me]}],"hue-rotate":[{"hue-rotate":[we,Ie,me]}],invert:[{invert:["",we,Ie,me]}],saturate:[{saturate:[we,Ie,me]}],sepia:[{sepia:["",we,Ie,me]}],"backdrop-filter":[{"backdrop-filter":["","none",Ie,me]}],"backdrop-blur":[{"backdrop-blur":Be()}],"backdrop-brightness":[{"backdrop-brightness":[we,Ie,me]}],"backdrop-contrast":[{"backdrop-contrast":[we,Ie,me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",we,Ie,me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[we,Ie,me]}],"backdrop-invert":[{"backdrop-invert":["",we,Ie,me]}],"backdrop-opacity":[{"backdrop-opacity":[we,Ie,me]}],"backdrop-saturate":[{"backdrop-saturate":[we,Ie,me]}],"backdrop-sepia":[{"backdrop-sepia":["",we,Ie,me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ie,me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[we,"initial",Ie,me]}],ease:[{ease:["linear","initial",L,Ie,me]}],delay:[{delay:[we,Ie,me]}],animate:[{animate:["none",D,Ie,me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Ie,me]}],"perspective-origin":[{"perspective-origin":U()}],rotate:[{rotate:ye()}],"rotate-x":[{"rotate-x":ye()}],"rotate-y":[{"rotate-y":ye()}],"rotate-z":[{"rotate-z":ye()}],scale:[{scale:Ue()}],"scale-x":[{"scale-x":Ue()}],"scale-y":[{"scale-y":Ue()}],"scale-z":[{"scale-z":Ue()}],"scale-3d":["scale-3d"],skew:[{skew:Rt()}],"skew-x":[{"skew-x":Rt()}],"skew-y":[{"skew-y":Rt()}],transform:[{transform:[Ie,me,"","none","gpu","cpu"]}],"transform-origin":[{origin:U()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Je()}],"translate-x":[{"translate-x":Je()}],"translate-y":[{"translate-y":Je()}],"translate-z":[{"translate-z":Je()}],"translate-none":["translate-none"],zoom:[{zoom:[Pi,Ie,me]}],accent:[{accent:J()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:J()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ie,me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":J()}],"scrollbar-track-color":[{"scrollbar-track":J()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mbs":[{"scroll-mbs":F()}],"scroll-mbe":[{"scroll-mbe":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pbs":[{"scroll-pbs":F()}],"scroll-pbe":[{"scroll-pbe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ie,me]}],fill:[{fill:["none",...J()]}],"stroke-w":[{stroke:[we,va,Vr,$p]}],stroke:[{stroke:["none",...J()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},GB=TB(BB);function ur(...n){return GB(KL(n))}function HB(n){const e=n.trim();return/^do\b/i.test(e)||/;\s*\S/.test(e.replace(/;\s*$/,""))?!0:!/^(select|with|table|values|explain)\b/i.test(e)}function mD(n,e=new Set){n.relationName&&e.add(n.relationName);for(const t of n.children)mD(t,e);return[...e]}function wB(n){if(n==null)return"—";const e=["B","KiB","MiB","GiB","TiB"];let t=n,i=0;for(;t>=1024&&i<e.length-1;)t/=1024,i++;return`${i===0?t:t.toFixed(1)} ${e[i]}`}const FB=LU("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Tt({className:n,variant:e="default",size:t="default",asChild:i=!1,...s}){const o=i?DU:"button";return p.jsx(o,{"data-slot":"button","data-variant":e,"data-size":t,className:ur(FB({variant:e,size:t,className:n})),...s})}function zr({className:n,type:e,...t}){return p.jsx("input",{type:e,"data-slot":"input",className:ur("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",n),...t})}/**
|
|
91
|
+
* @license lucide-react v1.22.0 - ISC
|
|
92
|
+
*
|
|
93
|
+
* This source code is licensed under the ISC license.
|
|
94
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
95
|
+
*/const ID=(...n)=>n.filter((e,t,i)=>!!e&&e.trim()!==""&&i.indexOf(e)===t).join(" ").trim();/**
|
|
96
|
+
* @license lucide-react v1.22.0 - ISC
|
|
97
|
+
*
|
|
98
|
+
* This source code is licensed under the ISC license.
|
|
99
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
100
|
+
*/const YB=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
|
|
101
|
+
* @license lucide-react v1.22.0 - ISC
|
|
102
|
+
*
|
|
103
|
+
* This source code is licensed under the ISC license.
|
|
104
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
105
|
+
*/const kB=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,i)=>i?i.toUpperCase():t.toLowerCase());/**
|
|
106
|
+
* @license lucide-react v1.22.0 - ISC
|
|
107
|
+
*
|
|
108
|
+
* This source code is licensed under the ISC license.
|
|
109
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
110
|
+
*/const qp=n=>{const e=kB(n);return e.charAt(0).toUpperCase()+e.slice(1)};/**
|
|
111
|
+
* @license lucide-react v1.22.0 - ISC
|
|
112
|
+
*
|
|
113
|
+
* This source code is licensed under the ISC license.
|
|
114
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
115
|
+
*/var Ud={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
|
116
|
+
* @license lucide-react v1.22.0 - ISC
|
|
117
|
+
*
|
|
118
|
+
* This source code is licensed under the ISC license.
|
|
119
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
120
|
+
*/const VB=n=>{for(const e in n)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1},WB=M.createContext({}),XB=()=>M.useContext(WB),KB=M.forwardRef(({color:n,size:e,strokeWidth:t,absoluteStrokeWidth:i,className:s="",children:o,iconNode:a,...u},E)=>{const{size:h=24,strokeWidth:T=2,absoluteStrokeWidth:A=!1,color:R="currentColor",className:O=""}=XB()??{},N=i??A?Number(t??T)*24/Number(e??h):t??T;return M.createElement("svg",{ref:E,...Ud,width:e??h??Ud.width,height:e??h??Ud.height,stroke:n??R,strokeWidth:N,className:ID("lucide",O,s),...!o&&!VB(u)&&{"aria-hidden":"true"},...u},[...a.map(([m,C])=>M.createElement(m,C)),...Array.isArray(o)?o:[o]])});/**
|
|
121
|
+
* @license lucide-react v1.22.0 - ISC
|
|
122
|
+
*
|
|
123
|
+
* This source code is licensed under the ISC license.
|
|
124
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
125
|
+
*/const un=(n,e)=>{const t=M.forwardRef(({className:i,...s},o)=>M.createElement(KB,{ref:o,iconNode:e,className:ID(`lucide-${YB(qp(n))}`,`lucide-${n}`,i),...s}));return t.displayName=qp(n),t};/**
|
|
126
|
+
* @license lucide-react v1.22.0 - ISC
|
|
127
|
+
*
|
|
128
|
+
* This source code is licensed under the ISC license.
|
|
129
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
130
|
+
*/const zB=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],$B=un("check",zB);/**
|
|
131
|
+
* @license lucide-react v1.22.0 - ISC
|
|
132
|
+
*
|
|
133
|
+
* This source code is licensed under the ISC license.
|
|
134
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
135
|
+
*/const jB=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],fR=un("chevron-down",jB);/**
|
|
136
|
+
* @license lucide-react v1.22.0 - ISC
|
|
137
|
+
*
|
|
138
|
+
* This source code is licensed under the ISC license.
|
|
139
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
140
|
+
*/const JB=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],pD=un("chevron-right",JB);/**
|
|
141
|
+
* @license lucide-react v1.22.0 - ISC
|
|
142
|
+
*
|
|
143
|
+
* This source code is licensed under the ISC license.
|
|
144
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
145
|
+
*/const qB=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],QB=un("chevron-up",qB);/**
|
|
146
|
+
* @license lucide-react v1.22.0 - ISC
|
|
147
|
+
*
|
|
148
|
+
* This source code is licensed under the ISC license.
|
|
149
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
150
|
+
*/const ZB=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],eG=un("circle-check",ZB);/**
|
|
151
|
+
* @license lucide-react v1.22.0 - ISC
|
|
152
|
+
*
|
|
153
|
+
* This source code is licensed under the ISC license.
|
|
154
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
155
|
+
*/const tG=[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],nG=un("corner-down-right",tG);/**
|
|
156
|
+
* @license lucide-react v1.22.0 - ISC
|
|
157
|
+
*
|
|
158
|
+
* This source code is licensed under the ISC license.
|
|
159
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
160
|
+
*/const iG=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],sG=un("external-link",iG);/**
|
|
161
|
+
* @license lucide-react v1.22.0 - ISC
|
|
162
|
+
*
|
|
163
|
+
* This source code is licensed under the ISC license.
|
|
164
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
165
|
+
*/const rG=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],lG=un("link",rG);/**
|
|
166
|
+
* @license lucide-react v1.22.0 - ISC
|
|
167
|
+
*
|
|
168
|
+
* This source code is licensed under the ISC license.
|
|
169
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
170
|
+
*/const oG=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],hR=un("lock",oG);/**
|
|
171
|
+
* @license lucide-react v1.22.0 - ISC
|
|
172
|
+
*
|
|
173
|
+
* This source code is licensed under the ISC license.
|
|
174
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
175
|
+
*/const aG=[["path",{d:"M5 12h14",key:"1ays0h"}]],cG=un("minus",aG);/**
|
|
176
|
+
* @license lucide-react v1.22.0 - ISC
|
|
177
|
+
*
|
|
178
|
+
* This source code is licensed under the ISC license.
|
|
179
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
180
|
+
*/const uG=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],EG=un("moon",uG);/**
|
|
181
|
+
* @license lucide-react v1.22.0 - ISC
|
|
182
|
+
*
|
|
183
|
+
* This source code is licensed under the ISC license.
|
|
184
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
185
|
+
*/const fG=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],hG=un("panel-left",fG);/**
|
|
186
|
+
* @license lucide-react v1.22.0 - ISC
|
|
187
|
+
*
|
|
188
|
+
* This source code is licensed under the ISC license.
|
|
189
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
190
|
+
*/const TG=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],dG=un("plus",TG);/**
|
|
191
|
+
* @license lucide-react v1.22.0 - ISC
|
|
192
|
+
*
|
|
193
|
+
* This source code is licensed under the ISC license.
|
|
194
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
195
|
+
*/const AG=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],SG=un("settings",AG);/**
|
|
196
|
+
* @license lucide-react v1.22.0 - ISC
|
|
197
|
+
*
|
|
198
|
+
* This source code is licensed under the ISC license.
|
|
199
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
200
|
+
*/const RG=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],OG=un("sun",RG);/**
|
|
201
|
+
* @license lucide-react v1.22.0 - ISC
|
|
202
|
+
*
|
|
203
|
+
* This source code is licensed under the ISC license.
|
|
204
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
205
|
+
*/const NG=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],mG=un("x",NG);function IG({...n}){return p.jsx(v_,{"data-slot":"select",...n})}function pG({...n}){return p.jsx(B_,{"data-slot":"select-value",...n})}function CG({className:n,size:e="default",children:t,...i}){return p.jsxs(b_,{"data-slot":"select-trigger","data-size":e,className:ur("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",n),...i,children:[t,p.jsx(G_,{asChild:!0,children:p.jsx(fR,{className:"size-4 opacity-50"})})]})}function gG({className:n,children:e,position:t="item-aligned",align:i="center",...s}){return p.jsx(w_,{children:p.jsxs(F_,{"data-slot":"select-content",className:ur("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",t==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",n),position:t,align:i,...s,children:[p.jsx(LG,{}),p.jsx(X_,{className:ur("p-1",t==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:e}),p.jsx(_G,{})]})})}function Qp({className:n,children:e,...t}){return p.jsxs(j_,{"data-slot":"select-item",className:ur("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),...t,children:[p.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:p.jsx(Q_,{children:p.jsx($B,{className:"size-4"})})}),p.jsx(J_,{children:e})]})}function LG({className:n,...e}){return p.jsx(Z_,{"data-slot":"select-scroll-up-button",className:ur("flex cursor-default items-center justify-center py-1",n),...e,children:p.jsx(QB,{className:"size-4"})})}function _G({className:n,...e}){return p.jsx(eD,{"data-slot":"select-scroll-down-button",className:ur("flex cursor-default items-center justify-center py-1",n),...e,children:p.jsx(fR,{className:"size-4"})})}function Bi({active:n,onClick:e,children:t}){return p.jsx(Tt,{variant:n?"default":"secondary",size:"sm",onClick:e,role:"tab","aria-selected":n,children:t})}let Wa=null,DG=0;function Io(n,e="success"){Wa==null||Wa({message:n,kind:e})}const MG={success:"var(--sev-info)",error:"var(--sev-error)"};function PG(){const[n,e]=M.useState([]);return M.useEffect(()=>(Wa=t=>{const i=++DG;e(s=>[...s,{...t,id:i}]),setTimeout(()=>e(s=>s.filter(o=>o.id!==i)),4e3)},()=>{Wa=null}),[]),n.length===0?null:p.jsx("div",{className:"fixed bottom-4 right-4 z-50 flex flex-col gap-2",role:"status","aria-live":"polite",children:n.map(t=>p.jsx("div",{className:"rounded-lg border-l-4 border bg-card px-4 py-2.5 text-sm shadow-lg max-w-sm",style:{borderLeftColor:MG[t.kind]},children:t.message},t.id))})}const V=n=>n.flatMap(yG),yG=n=>vE(UG(n)).map(vG),vG=n=>n.replace(/ +/g," ").trim(),UG=n=>({type:"mandatory_block",items:TR(n,0)[0]}),TR=(n,e,t)=>{const i=[];for(;n[e];){const[s,o]=bG(n,e);if(i.push(s),e=o,n[e]==="|")e++;else if(n[e]==="}"||n[e]==="]"){if(t!==n[e])throw new Error(`Unbalanced parenthesis in: ${n}`);return e++,[i,e]}else if(e===n.length){if(t)throw new Error(`Unbalanced parenthesis in: ${n}`);return[i,e]}else throw new Error(`Unexpected "${n[e]}"`)}return[i,e]},bG=(n,e)=>{const t=[];for(;;){const[i,s]=xG(n,e);if(i)t.push(i),e=s;else break}return t.length===1?[t[0],e]:[{type:"concatenation",items:t},e]},xG=(n,e)=>{if(n[e]==="{")return BG(n,e+1);if(n[e]==="[")return GG(n,e+1);{let t="";for(;n[e]&&/[A-Za-z0-9_ ]/.test(n[e]);)t+=n[e],e++;return[t,e]}},BG=(n,e)=>{const[t,i]=TR(n,e,"}");return[{type:"mandatory_block",items:t},i]},GG=(n,e)=>{const[t,i]=TR(n,e,"]");return[{type:"optional_block",items:t},i]},vE=n=>{if(typeof n=="string")return[n];if(n.type==="concatenation")return n.items.map(vE).reduce(HG,[""]);if(n.type==="mandatory_block")return n.items.flatMap(vE);if(n.type==="optional_block")return["",...n.items.flatMap(vE)];throw new Error(`Unknown node type: ${n}`)},HG=(n,e)=>{const t=[];for(const i of n)for(const s of e)t.push(i+s);return t};var Z;(function(n){n.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",n.IDENTIFIER="IDENTIFIER",n.STRING="STRING",n.VARIABLE="VARIABLE",n.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",n.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",n.RESERVED_KEYWORD="RESERVED_KEYWORD",n.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",n.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",n.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",n.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",n.RESERVED_CLAUSE="RESERVED_CLAUSE",n.RESERVED_SELECT="RESERVED_SELECT",n.RESERVED_JOIN="RESERVED_JOIN",n.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",n.ARRAY_KEYWORD="ARRAY_KEYWORD",n.CASE="CASE",n.END="END",n.WHEN="WHEN",n.ELSE="ELSE",n.THEN="THEN",n.LIMIT="LIMIT",n.BETWEEN="BETWEEN",n.AND="AND",n.OR="OR",n.XOR="XOR",n.OPERATOR="OPERATOR",n.COMMA="COMMA",n.ASTERISK="ASTERISK",n.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",n.OPEN_PAREN="OPEN_PAREN",n.CLOSE_PAREN="CLOSE_PAREN",n.LINE_COMMENT="LINE_COMMENT",n.BLOCK_COMMENT="BLOCK_COMMENT",n.DISABLE_COMMENT="DISABLE_COMMENT",n.NUMBER="NUMBER",n.NAMED_PARAMETER="NAMED_PARAMETER",n.QUOTED_PARAMETER="QUOTED_PARAMETER",n.NUMBERED_PARAMETER="NUMBERED_PARAMETER",n.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",n.CUSTOM_PARAMETER="CUSTOM_PARAMETER",n.DELIMITER="DELIMITER",n.EOF="EOF"})(Z=Z||(Z={}));const CD=n=>({type:Z.EOF,raw:"«EOF»",text:"«EOF»",start:n}),Er=CD(1/0),eo=n=>e=>e.type===n.type&&e.text===n.text,fr={ARRAY:eo({text:"ARRAY",type:Z.RESERVED_DATA_TYPE}),BY:eo({text:"BY",type:Z.RESERVED_KEYWORD}),SET:eo({text:"SET",type:Z.RESERVED_CLAUSE}),STRUCT:eo({text:"STRUCT",type:Z.RESERVED_DATA_TYPE}),WINDOW:eo({text:"WINDOW",type:Z.RESERVED_CLAUSE}),VALUES:eo({text:"VALUES",type:Z.RESERVED_CLAUSE})},gD=n=>n===Z.RESERVED_DATA_TYPE||n===Z.RESERVED_KEYWORD||n===Z.RESERVED_FUNCTION_NAME||n===Z.RESERVED_KEYWORD_PHRASE||n===Z.RESERVED_DATA_TYPE_PHRASE||n===Z.RESERVED_CLAUSE||n===Z.RESERVED_SELECT||n===Z.RESERVED_SET_OPERATION||n===Z.RESERVED_JOIN||n===Z.ARRAY_KEYWORD||n===Z.CASE||n===Z.END||n===Z.WHEN||n===Z.ELSE||n===Z.THEN||n===Z.LIMIT||n===Z.BETWEEN||n===Z.AND||n===Z.OR||n===Z.XOR,wG=n=>n===Z.AND||n===Z.OR||n===Z.XOR,FG=["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],YG=["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],kG=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],VG=V(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),WG=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),Zp=V(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),bd=V(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),XG=V(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),KG=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),zG=V(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),$G=V([]),jG={name:"bigquery",tokenizerOptions:{reservedSelect:VG,reservedClauses:[...WG,...bd,...Zp],reservedSetOperations:XG,reservedJoins:KG,reservedKeywordPhrases:zG,reservedDataTypePhrases:$G,reservedKeywords:YG,reservedDataTypes:kG,reservedFunctionNames:FG,extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:JG},formatOptions:{onelineClauses:[...Zp,...bd],tabularOnelineClauses:bd}};function JG(n){return qG(QG(n))}function qG(n){let e=Er;return n.map(t=>t.text==="OFFSET"&&e.text==="["?(e=t,Object.assign(Object.assign({},t),{type:Z.RESERVED_FUNCTION_NAME})):(e=t,t))}function QG(n){var e;const t=[];for(let i=0;i<n.length;i++){const s=n[i];if((fr.ARRAY(s)||fr.STRUCT(s))&&((e=n[i+1])===null||e===void 0?void 0:e.text)==="<"){const o=ZG(n,i+1),a=n.slice(i,o+1);t.push({type:Z.IDENTIFIER,raw:a.map(eC("raw")).join(""),text:a.map(eC("text")).join(""),start:s.start}),i=o}else t.push(s)}return t}const eC=n=>e=>e.type===Z.IDENTIFIER||e.type===Z.COMMA?e[n]+" ":e[n];function ZG(n,e){let t=0;for(let i=e;i<n.length;i++){const s=n[i];if(s.text==="<"?t++:s.text===">"?t--:s.text===">>"&&(t-=2),t===0)return i}return n.length-1}const eH=["BIT_AND","BIT_OR","BIT_XOR","BLAKE3","CAST","CHARACTER_LENGTH","CHAR_LENGTH","COVAR_POP","COVAR_SAMP","CRC32","CRC32IEEE","CRC64","DATE","DATE_DIFF","DATE_FORMAT","DATE_TRUNC","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","FORMAT_BYTES","FQDN","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","HOUR","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","IPv4CIDRToRange","IPv4NumToString","IPv4NumToStringClassC","IPv4StringToNum","IPv4StringToNumOrDefault","IPv4StringToNumOrNull","IPv4ToIPv6","IPv6CIDRToRange","IPv6NumToString","IPv6StringToNum","IPv6StringToNumOrDefault","IPv6StringToNumOrNull","JSONAllPaths","JSONAllPathsWithTypes","JSONArrayLength","JSONDynamicPaths","JSONDynamicPathsWithTypes","JSONExtract","JSONExtractArrayRaw","JSONExtractArrayRawCaseInsensitive","JSONExtractBool","JSONExtractBoolCaseInsensitive","JSONExtractCaseInsensitive","JSONExtractFloat","JSONExtractFloatCaseInsensitive","JSONExtractInt","JSONExtractIntCaseInsensitive","JSONExtractKeys","JSONExtractKeysAndValues","JSONExtractKeysAndValuesCaseInsensitive","JSONExtractKeysAndValuesRaw","JSONExtractKeysAndValuesRawCaseInsensitive","JSONExtractKeysCaseInsensitive","JSONExtractRaw","JSONExtractRawCaseInsensitive","JSONExtractString","JSONExtractStringCaseInsensitive","JSONExtractUInt","JSONExtractUIntCaseInsensitive","JSONHas","JSONKey","JSONLength","JSONMergePatch","JSONSharedDataPaths","JSONSharedDataPathsWithTypes","JSONType","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_QUERY","JSON_VALUE","L1Distance","L1Norm","L1Normalize","L2Distance","L2Norm","L2Normalize","L2SquaredDistance","L2SquaredNorm","LAST_DAY","LinfDistance","LinfNorm","LinfNormalize","LpDistance","LpNorm","LpNormalize","MACNumToString","MACStringToNum","MACStringToOUI","MAP_FROM_ARRAYS","MD4","MD5","MILLISECOND","MINUTE","MONTH","OCTET_LENGTH","QUARTER","REGEXP_EXTRACT","REGEXP_MATCHES","REGEXP_REPLACE","RIPEMD160","SCHEMA","SECOND","SHA1","SHA224","SHA256","SHA384","SHA512","SHA512_256","STD","STDDEV_POP","STDDEV_SAMP","ST_LineFromWKB","ST_MLineFromWKB","ST_MPolyFromWKB","ST_PointFromWKB","ST_PolyFromWKB","SUBSTRING_INDEX","SVG","TIMESTAMP_DIFF","TO_BASE64","TO_DAYS","TO_UNIXTIME","ULIDStringToDateTime","URLHash","URLHierarchy","URLPathHierarchy","UTCTimestamp","UTC_timestamp","UUIDNumToString","UUIDStringToNum","UUIDToNum","UUIDv7ToDateTime","VAR_POP","VAR_SAMP","YEAR","YYYYMMDDToDate","YYYYMMDDToDate32","YYYYMMDDhhmmssToDateTime","YYYYMMDDhhmmssToDateTime64","_CAST","__actionName","__bitBoolMaskAnd","__bitBoolMaskOr","__bitSwapLastTwo","__bitWrapperFunc","__getScalar","__patchPartitionID","__scalarSubqueryResult","abs","accurateCast","accurateCastOrDefault","accurateCastOrNull","acos","acosh","addDate","addDays","addHours","addInterval","addMicroseconds","addMilliseconds","addMinutes","addMonths","addNanoseconds","addQuarters","addSeconds","addTupleOfIntervals","addWeeks","addYears","addressToLine","addressToLineWithInlines","addressToSymbol","aes_decrypt_mysql","aes_encrypt_mysql","age","aggThrow","alphaTokens","analysisOfVariance","anova","any","anyHeavy","anyLast","anyLastRespectNulls","anyLast_respect_nulls","anyRespectNulls","anyValueRespectNulls","any_respect_nulls","any_value","any_value_respect_nulls","appendTrailingCharIfAbsent","approx_top_count","approx_top_k","approx_top_sum","argMax","argMin","array","arrayAUC","arrayAUCPR","arrayAll","arrayAvg","arrayCompact","arrayConcat","arrayCount","arrayCumSum","arrayCumSumNonNegative","arrayDifference","arrayDistinct","arrayDotProduct","arrayElement","arrayElementOrNull","arrayEnumerate","arrayEnumerateDense","arrayEnumerateDenseRanked","arrayEnumerateUniq","arrayEnumerateUniqRanked","arrayExists","arrayFill","arrayFilter","arrayFirst","arrayFirstIndex","arrayFirstOrNull","arrayFlatten","arrayFold","arrayIntersect","arrayJaccardIndex","arrayJoin","arrayLast","arrayLastIndex","arrayLastOrNull","arrayLevenshteinDistance","arrayLevenshteinDistanceWeighted","arrayMap","arrayMax","arrayMin","arrayNormalizedGini","arrayPRAUC","arrayPartialReverseSort","arrayPartialShuffle","arrayPartialSort","arrayPopBack","arrayPopFront","arrayProduct","arrayPushBack","arrayPushFront","arrayROCAUC","arrayRandomSample","arrayReduce","arrayReduceInRanges","arrayResize","arrayReverse","arrayReverseFill","arrayReverseSort","arrayReverseSplit","arrayRotateLeft","arrayRotateRight","arrayShiftLeft","arrayShiftRight","arrayShingles","arrayShuffle","arraySimilarity","arraySlice","arraySort","arraySplit","arrayStringConcat","arraySum","arraySymmetricDifference","arrayUnion","arrayUniq","arrayWithConstant","arrayZip","arrayZipUnaligned","array_agg","array_concat_agg","ascii","asin","asinh","assumeNotNull","atan","atan2","atanh","authenticatedUser","avg","avgWeighted","bar","base32Decode","base32Encode","base58Decode","base58Encode","base64Decode","base64Encode","base64URLDecode","base64URLEncode","basename","bech32Decode","bech32Encode","bin","bitAnd","bitCount","bitHammingDistance","bitNot","bitOr","bitPositionsToArray","bitRotateLeft","bitRotateRight","bitShiftLeft","bitShiftRight","bitSlice","bitTest","bitTestAll","bitTestAny","bitXor","bitmapAnd","bitmapAndCardinality","bitmapAndnot","bitmapAndnotCardinality","bitmapBuild","bitmapCardinality","bitmapContains","bitmapHasAll","bitmapHasAny","bitmapMax","bitmapMin","bitmapOr","bitmapOrCardinality","bitmapSubsetInRange","bitmapSubsetLimit","bitmapToArray","bitmapTransform","bitmapXor","bitmapXorCardinality","bitmaskToArray","bitmaskToList","blockNumber","blockSerializedSize","blockSize","boundingRatio","buildId","byteHammingDistance","byteSize","byteSlice","byteSwap","caseWithExpr","caseWithExpression","caseWithoutExpr","caseWithoutExpression","catboostEvaluate","categoricalInformationValue","cbrt","ceil","ceiling","changeDay","changeHour","changeMinute","changeMonth","changeSecond","changeYear","char","cityHash64","clamp","coalesce","colorOKLCHToSRGB","colorSRGBToOKLCH","compareSubstrings","concat","concatAssumeInjective","concatWithSeparator","concatWithSeparatorAssumeInjective","concat_ws","connectionId","connection_id","contingency","convertCharset","corr","corrMatrix","corrStable","cos","cosh","cosineDistance","count","countDigits","countEqual","countMatches","countMatchesCaseInsensitive","countSubstrings","countSubstringsCaseInsensitive","countSubstringsCaseInsensitiveUTF8","covarPop","covarPopMatrix","covarPopStable","covarSamp","covarSampMatrix","covarSampStable","cramersV","cramersVBiasCorrected","curdate","currentDatabase","currentProfiles","currentQueryID","currentRoles","currentSchemas","currentUser","current_database","current_date","current_query_id","current_schemas","current_timestamp","current_user","cutFragment","cutIPv6","cutQueryString","cutQueryStringAndFragment","cutToFirstSignificantSubdomain","cutToFirstSignificantSubdomainCustom","cutToFirstSignificantSubdomainCustomRFC","cutToFirstSignificantSubdomainCustomWithWWW","cutToFirstSignificantSubdomainCustomWithWWWRFC","cutToFirstSignificantSubdomainRFC","cutToFirstSignificantSubdomainWithWWW","cutToFirstSignificantSubdomainWithWWWRFC","cutURLParameter","cutWWW","damerauLevenshteinDistance","dateDiff","dateName","dateTime64ToSnowflake","dateTime64ToSnowflakeID","dateTimeToSnowflake","dateTimeToSnowflakeID","dateTimeToUUIDv7","dateTrunc","date_bin","date_diff","decodeHTMLComponent","decodeURLComponent","decodeURLFormComponent","decodeXMLComponent","decrypt","defaultProfiles","defaultRoles","defaultValueOfArgumentType","defaultValueOfTypeName","degrees","deltaSum","deltaSumTimestamp","demangle","denseRank","dense_rank","detectCharset","detectLanguage","detectLanguageMixed","detectLanguageUnknown","detectProgrammingLanguage","detectTonality","dictGet","dictGetAll","dictGetChildren","dictGetDate","dictGetDateOrDefault","dictGetDateTime","dictGetDateTimeOrDefault","dictGetDescendants","dictGetFloat32","dictGetFloat32OrDefault","dictGetFloat64","dictGetFloat64OrDefault","dictGetHierarchy","dictGetIPv4","dictGetIPv4OrDefault","dictGetIPv6","dictGetIPv6OrDefault","dictGetInt16","dictGetInt16OrDefault","dictGetInt32","dictGetInt32OrDefault","dictGetInt64","dictGetInt64OrDefault","dictGetInt8","dictGetInt8OrDefault","dictGetOrDefault","dictGetOrNull","dictGetString","dictGetStringOrDefault","dictGetUInt16","dictGetUInt16OrDefault","dictGetUInt32","dictGetUInt32OrDefault","dictGetUInt64","dictGetUInt64OrDefault","dictGetUInt8","dictGetUInt8OrDefault","dictGetUUID","dictGetUUIDOrDefault","dictHas","dictIsIn","displayName","distanceL1","distanceL2","distanceL2Squared","distanceLinf","distanceLp","distinctDynamicTypes","distinctJSONPaths","distinctJSONPathsAndTypes","divide","divideDecimal","divideOrNull","domain","domainRFC","domainWithoutWWW","domainWithoutWWWRFC","dotProduct","dumpColumnStructure","dynamicElement","dynamicType","e","editDistance","editDistanceUTF8","empty","emptyArrayDate","emptyArrayDateTime","emptyArrayFloat32","emptyArrayFloat64","emptyArrayInt16","emptyArrayInt32","emptyArrayInt64","emptyArrayInt8","emptyArrayString","emptyArrayToSingle","emptyArrayUInt16","emptyArrayUInt32","emptyArrayUInt64","emptyArrayUInt8","enabledProfiles","enabledRoles","encodeURLComponent","encodeURLFormComponent","encodeXMLComponent","encrypt","endsWith","endsWithUTF8","entropy","equals","erf","erfc","errorCodeToName","estimateCompressionRatio","evalMLMethod","exp","exp10","exp2","exponentialMovingAverage","exponentialTimeDecayedAvg","exponentialTimeDecayedCount","exponentialTimeDecayedMax","exponentialTimeDecayedSum","extract","extractAll","extractAllGroups","extractAllGroupsHorizontal","extractAllGroupsVertical","extractGroups","extractKeyValuePairs","extractKeyValuePairsWithEscaping","extractTextFromHTML","extractURLParameter","extractURLParameterNames","extractURLParameters","factorial","farmFingerprint64","farmHash64","file","filesystemAvailable","filesystemCapacity","filesystemUnreserved","finalizeAggregation","financialInternalRateOfReturn","financialInternalRateOfReturnExtended","financialNetPresentValue","financialNetPresentValueExtended","firstLine","firstSignificantSubdomain","firstSignificantSubdomainCustom","firstSignificantSubdomainCustomRFC","firstSignificantSubdomainRFC","firstValueRespectNulls","first_value","first_value_respect_nulls","flameGraph","flatten","flattenTuple","floor","formatDateTime","formatDateTimeInJodaSyntax","formatQuery","formatQueryOrNull","formatQuerySingleLine","formatQuerySingleLineOrNull","formatReadableDecimalSize","formatReadableQuantity","formatReadableSize","formatReadableTimeDelta","formatRow","formatRowNoNewline","fragment","fromDaysSinceYearZero","fromDaysSinceYearZero32","fromModifiedJulianDay","fromModifiedJulianDayOrNull","fromUTCTimestamp","fromUnixTimestamp","fromUnixTimestamp64Micro","fromUnixTimestamp64Milli","fromUnixTimestamp64Nano","fromUnixTimestamp64Second","fromUnixTimestampInJodaSyntax","from_utc_timestamp","fullHostName","fuzzBits","gccMurmurHash","gcd","generateRandomStructure","generateSerialID","generateSnowflakeID","generateULID","generateUUIDv4","generateUUIDv7","geoDistance","geoToH3","geoToS2","geohashDecode","geohashEncode","geohashesInBox","getClientHTTPHeader","getMacro","getMaxTableNameLengthForDatabase","getMergeTreeSetting","getOSKernelVersion","getServerPort","getServerSetting","getSetting","getSettingOrDefault","getSizeOfEnumType","getSubcolumn","getTypeSerializationStreams","globalIn","globalInIgnoreSet","globalNotIn","globalNotInIgnoreSet","globalNotNullIn","globalNotNullInIgnoreSet","globalNullIn","globalNullInIgnoreSet","globalVariable","greatCircleAngle","greatCircleDistance","greater","greaterOrEquals","greatest","groupArray","groupArrayInsertAt","groupArrayIntersect","groupArrayLast","groupArrayMovingAvg","groupArrayMovingSum","groupArraySample","groupArraySorted","groupBitAnd","groupBitOr","groupBitXor","groupBitmap","groupBitmapAnd","groupBitmapOr","groupBitmapXor","groupConcat","groupNumericIndexedVector","groupUniqArray","group_concat","h3CellAreaM2","h3CellAreaRads2","h3Distance","h3EdgeAngle","h3EdgeLengthKm","h3EdgeLengthM","h3ExactEdgeLengthKm","h3ExactEdgeLengthM","h3ExactEdgeLengthRads","h3GetBaseCell","h3GetDestinationIndexFromUnidirectionalEdge","h3GetFaces","h3GetIndexesFromUnidirectionalEdge","h3GetOriginIndexFromUnidirectionalEdge","h3GetPentagonIndexes","h3GetRes0Indexes","h3GetResolution","h3GetUnidirectionalEdge","h3GetUnidirectionalEdgeBoundary","h3GetUnidirectionalEdgesFromHexagon","h3HexAreaKm2","h3HexAreaM2","h3HexRing","h3IndexesAreNeighbors","h3IsPentagon","h3IsResClassIII","h3IsValid","h3Line","h3NumHexagons","h3PointDistKm","h3PointDistM","h3PointDistRads","h3ToCenterChild","h3ToChildren","h3ToGeo","h3ToGeoBoundary","h3ToParent","h3ToString","h3UnidirectionalEdgeIsValid","h3kRing","halfMD5","has","hasAll","hasAny","hasColumnInTable","hasSubsequence","hasSubsequenceCaseInsensitive","hasSubsequenceCaseInsensitiveUTF8","hasSubsequenceUTF8","hasSubstr","hasThreadFuzzer","hasToken","hasTokenCaseInsensitive","hasTokenCaseInsensitiveOrNull","hasTokenOrNull","hex","hilbertDecode","hilbertEncode","histogram","hiveHash","hop","hopEnd","hopStart","hostName","hostname","hypot","icebergBucket","icebergHash","icebergTruncate","identity","idnaDecode","idnaEncode","if","ifNotFinite","ifNull","ignore","inIgnoreSet","indexHint","indexOf","indexOfAssumeSorted","initcap","initcapUTF8","initialQueryID","initialQueryStartTime","initial_query_id","initial_query_start_time","initializeAggregation","instr","intDiv","intDivOrNull","intDivOrZero","intExp10","intExp2","intHash32","intHash64","intervalLengthSum","isConstant","isDecimalOverflow","isDynamicElementInSharedData","isFinite","isIPAddressInRange","isIPv4String","isIPv6String","isInfinite","isMergeTreePartCoveredBy","isNaN","isNotDistinctFrom","isNotNull","isNull","isNullable","isValidJSON","isValidUTF8","isZeroOrNull","jaroSimilarity","jaroWinklerSimilarity","javaHash","javaHashUTF16LE","joinGet","joinGetOrNull","jsonMergePatch","jumpConsistentHash","kafkaMurmurHash","keccak256","kolmogorovSmirnovTest","kostikConsistentHash","kql_array_sort_asc","kql_array_sort_desc","kurtPop","kurtSamp","lag","lagInFrame","largestTriangleThreeBuckets","lastValueRespectNulls","last_value","last_value_respect_nulls","lcase","lcm","lead","leadInFrame","least","left","leftPad","leftPadUTF8","leftUTF8","lemmatize","length","lengthUTF8","less","lessOrEquals","levenshteinDistance","levenshteinDistanceUTF8","lgamma","ln","locate","log","log10","log1p","log2","logTrace","lowCardinalityIndices","lowCardinalityKeys","lower","lowerUTF8","lpad","ltrim","lttb","makeDate","makeDate32","makeDateTime","makeDateTime64","mannWhitneyUTest","map","mapAdd","mapAll","mapApply","mapConcat","mapContains","mapContainsKey","mapContainsKeyLike","mapContainsValue","mapContainsValueLike","mapExists","mapExtractKeyLike","mapExtractValueLike","mapFilter","mapFromArrays","mapFromString","mapKeys","mapPartialReverseSort","mapPartialSort","mapPopulateSeries","mapReverseSort","mapSort","mapSubtract","mapUpdate","mapValues","match","materialize","max","max2","maxIntersections","maxIntersectionsPosition","maxMappedArrays","meanZTest","median","medianBFloat16","medianBFloat16Weighted","medianDD","medianDeterministic","medianExact","medianExactHigh","medianExactLow","medianExactWeighted","medianExactWeightedInterpolated","medianGK","medianInterpolatedWeighted","medianTDigest","medianTDigestWeighted","medianTiming","medianTimingWeighted","mergeTreePartInfo","metroHash64","mid","min","min2","minMappedArrays","minSampleSizeContinous","minSampleSizeContinuous","minSampleSizeConversion","minus","mismatches","mod","modOrNull","modulo","moduloLegacy","moduloOrNull","moduloOrZero","monthName","mortonDecode","mortonEncode","multiFuzzyMatchAllIndices","multiFuzzyMatchAny","multiFuzzyMatchAnyIndex","multiIf","multiMatchAllIndices","multiMatchAny","multiMatchAnyIndex","multiSearchAllPositions","multiSearchAllPositionsCaseInsensitive","multiSearchAllPositionsCaseInsensitiveUTF8","multiSearchAllPositionsUTF8","multiSearchAny","multiSearchAnyCaseInsensitive","multiSearchAnyCaseInsensitiveUTF8","multiSearchAnyUTF8","multiSearchFirstIndex","multiSearchFirstIndexCaseInsensitive","multiSearchFirstIndexCaseInsensitiveUTF8","multiSearchFirstIndexUTF8","multiSearchFirstPosition","multiSearchFirstPositionCaseInsensitive","multiSearchFirstPositionCaseInsensitiveUTF8","multiSearchFirstPositionUTF8","multiply","multiplyDecimal","murmurHash2_32","murmurHash2_64","murmurHash3_128","murmurHash3_32","murmurHash3_64","negate","neighbor","nested","netloc","ngramDistance","ngramDistanceCaseInsensitive","ngramDistanceCaseInsensitiveUTF8","ngramDistanceUTF8","ngramMinHash","ngramMinHashArg","ngramMinHashArgCaseInsensitive","ngramMinHashArgCaseInsensitiveUTF8","ngramMinHashArgUTF8","ngramMinHashCaseInsensitive","ngramMinHashCaseInsensitiveUTF8","ngramMinHashUTF8","ngramSearch","ngramSearchCaseInsensitive","ngramSearchCaseInsensitiveUTF8","ngramSearchUTF8","ngramSimHash","ngramSimHashCaseInsensitive","ngramSimHashCaseInsensitiveUTF8","ngramSimHashUTF8","ngrams","nonNegativeDerivative","normL1","normL2","normL2Squared","normLinf","normLp","normalizeL1","normalizeL2","normalizeLinf","normalizeLp","normalizeQuery","normalizeQueryKeepNames","normalizeUTF8NFC","normalizeUTF8NFD","normalizeUTF8NFKC","normalizeUTF8NFKD","normalizedQueryHash","normalizedQueryHashKeepNames","notEmpty","notEquals","notILike","notIn","notInIgnoreSet","notLike","notNullIn","notNullInIgnoreSet","nothing","nothingNull","nothingUInt64","now","now64","nowInBlock","nowInBlock64","nth_value","ntile","nullIf","nullIn","nullInIgnoreSet","numbers","numericIndexedVectorAllValueSum","numericIndexedVectorBuild","numericIndexedVectorCardinality","numericIndexedVectorGetValue","numericIndexedVectorPointwiseAdd","numericIndexedVectorPointwiseDivide","numericIndexedVectorPointwiseEqual","numericIndexedVectorPointwiseGreater","numericIndexedVectorPointwiseGreaterEqual","numericIndexedVectorPointwiseLess","numericIndexedVectorPointwiseLessEqual","numericIndexedVectorPointwiseMultiply","numericIndexedVectorPointwiseNotEqual","numericIndexedVectorPointwiseSubtract","numericIndexedVectorShortDebugString","numericIndexedVectorToMap","overlay","overlayUTF8","parseDateTime","parseDateTime32BestEffort","parseDateTime32BestEffortOrNull","parseDateTime32BestEffortOrZero","parseDateTime64","parseDateTime64BestEffort","parseDateTime64BestEffortOrNull","parseDateTime64BestEffortOrZero","parseDateTime64BestEffortUS","parseDateTime64BestEffortUSOrNull","parseDateTime64BestEffortUSOrZero","parseDateTime64InJodaSyntax","parseDateTime64InJodaSyntaxOrNull","parseDateTime64InJodaSyntaxOrZero","parseDateTime64OrNull","parseDateTime64OrZero","parseDateTimeBestEffort","parseDateTimeBestEffortOrNull","parseDateTimeBestEffortOrZero","parseDateTimeBestEffortUS","parseDateTimeBestEffortUSOrNull","parseDateTimeBestEffortUSOrZero","parseDateTimeInJodaSyntax","parseDateTimeInJodaSyntaxOrNull","parseDateTimeInJodaSyntaxOrZero","parseDateTimeOrNull","parseDateTimeOrZero","parseReadableSize","parseReadableSizeOrNull","parseReadableSizeOrZero","parseTimeDelta","partitionID","partitionId","path","pathFull","percentRank","percent_rank","pi","plus","pmod","pmodOrNull","pointInEllipses","pointInPolygon","polygonAreaCartesian","polygonAreaSpherical","polygonConvexHullCartesian","polygonPerimeterCartesian","polygonPerimeterSpherical","polygonsDistanceCartesian","polygonsDistanceSpherical","polygonsEqualsCartesian","polygonsIntersectCartesian","polygonsIntersectSpherical","polygonsIntersectionCartesian","polygonsIntersectionSpherical","polygonsSymDifferenceCartesian","polygonsSymDifferenceSpherical","polygonsUnionCartesian","polygonsUnionSpherical","polygonsWithinCartesian","polygonsWithinSpherical","port","portRFC","position","positionCaseInsensitive","positionCaseInsensitiveUTF8","positionUTF8","positiveModulo","positiveModuloOrNull","positive_modulo","positive_modulo_or_null","pow","power","printf","proportionsZTest","protocol","punycodeDecode","punycodeEncode","quantile","quantileBFloat16","quantileBFloat16Weighted","quantileDD","quantileDeterministic","quantileExact","quantileExactExclusive","quantileExactHigh","quantileExactInclusive","quantileExactLow","quantileExactWeighted","quantileExactWeightedInterpolated","quantileGK","quantileInterpolatedWeighted","quantileTDigest","quantileTDigestWeighted","quantileTiming","quantileTimingWeighted","quantiles","quantilesBFloat16","quantilesBFloat16Weighted","quantilesDD","quantilesDeterministic","quantilesExact","quantilesExactExclusive","quantilesExactHigh","quantilesExactInclusive","quantilesExactLow","quantilesExactWeighted","quantilesExactWeightedInterpolated","quantilesGK","quantilesInterpolatedWeighted","quantilesTDigest","quantilesTDigestWeighted","quantilesTiming","quantilesTimingWeighted","queryID","queryString","queryStringAndFragment","query_id","radians","rand","rand32","rand64","randBernoulli","randBinomial","randCanonical","randChiSquared","randConstant","randExponential","randFisherF","randLogNormal","randNegativeBinomial","randNormal","randPoisson","randStudentT","randUniform","randomFixedString","randomPrintableASCII","randomString","randomStringUTF8","rank","rankCorr","readWKBLineString","readWKBMultiLineString","readWKBMultiPolygon","readWKBPoint","readWKBPolygon","readWKTLineString","readWKTMultiLineString","readWKTMultiPolygon","readWKTPoint","readWKTPolygon","readWKTRing","regexpExtract","regexpQuoteMeta","regionHierarchy","regionIn","regionToArea","regionToCity","regionToContinent","regionToCountry","regionToDistrict","regionToName","regionToPopulation","regionToTopContinent","reinterpret","reinterpretAsDate","reinterpretAsDateTime","reinterpretAsFixedString","reinterpretAsFloat32","reinterpretAsFloat64","reinterpretAsInt128","reinterpretAsInt16","reinterpretAsInt256","reinterpretAsInt32","reinterpretAsInt64","reinterpretAsInt8","reinterpretAsString","reinterpretAsUInt128","reinterpretAsUInt16","reinterpretAsUInt256","reinterpretAsUInt32","reinterpretAsUInt64","reinterpretAsUInt8","reinterpretAsUUID","repeat","replace","replaceAll","replaceOne","replaceRegexpAll","replaceRegexpOne","replicate","retention","reverse","reverseUTF8","revision","right","rightPad","rightPadUTF8","rightUTF8","round","roundAge","roundBankers","roundDown","roundDuration","roundToExp2","rowNumberInAllBlocks","rowNumberInBlock","row_number","rpad","rtrim","runningAccumulate","runningConcurrency","runningDifference","runningDifferenceStartingWithFirstValue","s2CapContains","s2CapUnion","s2CellsIntersect","s2GetNeighbors","s2RectAdd","s2RectContains","s2RectIntersection","s2RectUnion","s2ToGeo","scalarProduct","searchAll","searchAny","sequenceCount","sequenceMatch","sequenceMatchEvents","sequenceNextNode","seriesDecomposeSTL","seriesOutliersDetectTukey","seriesPeriodDetectFFT","serverTimeZone","serverTimezone","serverUUID","shardCount","shardNum","showCertificate","sigmoid","sign","simpleJSONExtractBool","simpleJSONExtractFloat","simpleJSONExtractInt","simpleJSONExtractRaw","simpleJSONExtractString","simpleJSONExtractUInt","simpleJSONHas","simpleLinearRegression","sin","singleValueOrNull","sinh","sipHash128","sipHash128Keyed","sipHash128Reference","sipHash128ReferenceKeyed","sipHash64","sipHash64Keyed","skewPop","skewSamp","sleep","sleepEachRow","snowflakeIDToDateTime","snowflakeIDToDateTime64","snowflakeToDateTime","snowflakeToDateTime64","soundex","space","sparkBar","sparkbar","sparseGrams","sparseGramsHashes","sparseGramsHashesUTF8","sparseGramsUTF8","splitByAlpha","splitByChar","splitByNonAlpha","splitByRegexp","splitByString","splitByWhitespace","sqid","sqidDecode","sqidEncode","sqrt","startsWith","startsWithUTF8","stddevPop","stddevPopStable","stddevSamp","stddevSampStable","stem","stochasticLinearRegression","stochasticLogisticRegression","str_to_date","str_to_map","stringBytesEntropy","stringBytesUniq","stringJaccardIndex","stringJaccardIndexUTF8","stringToH3","structureToCapnProtoSchema","structureToProtobufSchema","studentTTest","subBitmap","subDate","substr","substring","substringIndex","substringIndexUTF8","substringUTF8","subtractDays","subtractHours","subtractInterval","subtractMicroseconds","subtractMilliseconds","subtractMinutes","subtractMonths","subtractNanoseconds","subtractQuarters","subtractSeconds","subtractTupleOfIntervals","subtractWeeks","subtractYears","sum","sumCount","sumKahan","sumMapFiltered","sumMapFilteredWithOverflow","sumMapWithOverflow","sumMappedArrays","sumWithOverflow","svg","synonyms","tan","tanh","tcpPort","tgamma","theilsU","throwIf","tid","timeDiff","timeSeriesDeltaToGrid","timeSeriesDerivToGrid","timeSeriesFromGrid","timeSeriesGroupArray","timeSeriesIdToTags","timeSeriesIdToTagsGroup","timeSeriesIdeltaToGrid","timeSeriesInstantDeltaToGrid","timeSeriesInstantRateToGrid","timeSeriesIrateToGrid","timeSeriesLastToGrid","timeSeriesLastTwoSamples","timeSeriesPredictLinearToGrid","timeSeriesRange","timeSeriesRateToGrid","timeSeriesResampleToGridWithStaleness","timeSeriesStoreTags","timeSeriesTagsGroupToTags","timeSlot","timeSlots","timeZone","timeZoneOf","timeZoneOffset","time_bucket","timestamp","timestampDiff","timestamp_diff","timezone","timezoneOf","timezoneOffset","toBFloat16","toBFloat16OrNull","toBFloat16OrZero","toBool","toColumnTypeName","toDate","toDate32","toDate32OrDefault","toDate32OrNull","toDate32OrZero","toDateOrDefault","toDateOrNull","toDateOrZero","toDateTime","toDateTime32","toDateTime64","toDateTime64OrDefault","toDateTime64OrNull","toDateTime64OrZero","toDateTimeOrDefault","toDateTimeOrNull","toDateTimeOrZero","toDayOfMonth","toDayOfWeek","toDayOfYear","toDaysSinceYearZero","toDecimal128","toDecimal128OrDefault","toDecimal128OrNull","toDecimal128OrZero","toDecimal256","toDecimal256OrDefault","toDecimal256OrNull","toDecimal256OrZero","toDecimal32","toDecimal32OrDefault","toDecimal32OrNull","toDecimal32OrZero","toDecimal64","toDecimal64OrDefault","toDecimal64OrNull","toDecimal64OrZero","toDecimalString","toFixedString","toFloat32","toFloat32OrDefault","toFloat32OrNull","toFloat32OrZero","toFloat64","toFloat64OrDefault","toFloat64OrNull","toFloat64OrZero","toHour","toIPv4","toIPv4OrDefault","toIPv4OrNull","toIPv4OrZero","toIPv6","toIPv6OrDefault","toIPv6OrNull","toIPv6OrZero","toISOWeek","toISOYear","toInt128","toInt128OrDefault","toInt128OrNull","toInt128OrZero","toInt16","toInt16OrDefault","toInt16OrNull","toInt16OrZero","toInt256","toInt256OrDefault","toInt256OrNull","toInt256OrZero","toInt32","toInt32OrDefault","toInt32OrNull","toInt32OrZero","toInt64","toInt64OrDefault","toInt64OrNull","toInt64OrZero","toInt8","toInt8OrDefault","toInt8OrNull","toInt8OrZero","toInterval","toIntervalDay","toIntervalHour","toIntervalMicrosecond","toIntervalMillisecond","toIntervalMinute","toIntervalMonth","toIntervalNanosecond","toIntervalQuarter","toIntervalSecond","toIntervalWeek","toIntervalYear","toJSONString","toLastDayOfMonth","toLastDayOfWeek","toLowCardinality","toMillisecond","toMinute","toModifiedJulianDay","toModifiedJulianDayOrNull","toMonday","toMonth","toMonthNumSinceEpoch","toNullable","toQuarter","toRelativeDayNum","toRelativeHourNum","toRelativeMinuteNum","toRelativeMonthNum","toRelativeQuarterNum","toRelativeSecondNum","toRelativeWeekNum","toRelativeYearNum","toSecond","toStartOfDay","toStartOfFifteenMinutes","toStartOfFiveMinute","toStartOfFiveMinutes","toStartOfHour","toStartOfISOYear","toStartOfInterval","toStartOfMicrosecond","toStartOfMillisecond","toStartOfMinute","toStartOfMonth","toStartOfNanosecond","toStartOfQuarter","toStartOfSecond","toStartOfTenMinutes","toStartOfWeek","toStartOfYear","toString","toStringCutToZero","toTime","toTime64","toTime64OrNull","toTime64OrZero","toTimeOrNull","toTimeOrZero","toTimeWithFixedDate","toTimeZone","toTimezone","toTypeName","toUInt128","toUInt128OrDefault","toUInt128OrNull","toUInt128OrZero","toUInt16","toUInt16OrDefault","toUInt16OrNull","toUInt16OrZero","toUInt256","toUInt256OrDefault","toUInt256OrNull","toUInt256OrZero","toUInt32","toUInt32OrDefault","toUInt32OrNull","toUInt32OrZero","toUInt64","toUInt64OrDefault","toUInt64OrNull","toUInt64OrZero","toUInt8","toUInt8OrDefault","toUInt8OrNull","toUInt8OrZero","toUTCTimestamp","toUUID","toUUIDOrDefault","toUUIDOrNull","toUUIDOrZero","toUnixTimestamp","toUnixTimestamp64Micro","toUnixTimestamp64Milli","toUnixTimestamp64Nano","toUnixTimestamp64Second","toValidUTF8","toWeek","toYYYYMM","toYYYYMMDD","toYYYYMMDDhhmmss","toYear","toYearNumSinceEpoch","toYearWeek","to_utc_timestamp","today","tokens","topK","topKWeighted","topLevelDomain","topLevelDomainRFC","transactionID","transactionLatestSnapshot","transactionOldestSnapshot","transform","translate","translateUTF8","trim","trimBoth","trimLeft","trimRight","trunc","tryBase32Decode","tryBase58Decode","tryBase64Decode","tryBase64URLDecode","tryDecrypt","tryIdnaEncode","tryPunycodeDecode","tumble","tumbleEnd","tumbleStart","tuple","tupleConcat","tupleDivide","tupleDivideByNumber","tupleElement","tupleHammingDistance","tupleIntDiv","tupleIntDivByNumber","tupleIntDivOrZero","tupleIntDivOrZeroByNumber","tupleMinus","tupleModulo","tupleModuloByNumber","tupleMultiply","tupleMultiplyByNumber","tupleNames","tupleNegate","tuplePlus","tupleToNameValuePairs","ucase","unbin","unhex","uniq","uniqCombined","uniqCombined64","uniqExact","uniqHLL12","uniqTheta","uniqThetaIntersect","uniqThetaNot","uniqThetaUnion","uniqUpTo","upper","upperUTF8","uptime","user","validateNestedArraySizes","varPop","varPopStable","varSamp","varSampStable","variantElement","variantType","vectorDifference","vectorSum","version","visibleWidth","visitParamExtractBool","visitParamExtractFloat","visitParamExtractInt","visitParamExtractRaw","visitParamExtractString","visitParamExtractUInt","visitParamHas","week","welchTTest","widthBucket","width_bucket","windowFunnel","windowID","wkb","wkt","wordShingleMinHash","wordShingleMinHashArg","wordShingleMinHashArgCaseInsensitive","wordShingleMinHashArgCaseInsensitiveUTF8","wordShingleMinHashArgUTF8","wordShingleMinHashCaseInsensitive","wordShingleMinHashCaseInsensitiveUTF8","wordShingleMinHashUTF8","wordShingleSimHash","wordShingleSimHashCaseInsensitive","wordShingleSimHashCaseInsensitiveUTF8","wordShingleSimHashUTF8","wyHash64","xor","xxHash32","xxHash64","xxh3","yandexConsistentHash","yearweek","yesterday","zookeeperSessionUptime","MergeTree","ReplacingMergeTree","SummingMergeTree","AggregatingMergeTree","CollapsingMergeTree","VersionedCollapsingMergeTree","GraphiteMergeTree","CoalescingMergeTree","Atomic","Shared","Lazy","Replicated","PostgreSQL","MySQL","SQLite","MaterializedPostgreSQL","DataLakeCatalog"],tH=["ACCESS","ACTION","ADD","ADMIN","AFTER","ALGORITHM","ALIAS","ALL","ALLOWED_LATENESS","ALTER","AND","ANTI","APPEND","APPLY","AS","ASC","ASCENDING","ASOF","ASSUME","AST","ASYNC","ATTACH","AUTO_INCREMENT","AZURE","BACKUP","BAGEXPANSION","BASE_BACKUP","BCRYPT_HASH","BCRYPT_PASSWORD","BEGIN","BETWEEN","BIDIRECTIONAL","BOTH","BY","CACHE","CACHES","CASCADE","CASE","CHANGE","CHANGEABLE_IN_READONLY","CHANGED","CHARACTER","CHECK","CLEANUP","CLEAR","CLUSTER","CLUSTERS","CLUSTER_HOST_IDS","CN","CODEC","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPRESSION","CONST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","D","DATA","DATABASE","DATABASES","DAYS","DD","DDL","DEDUPLICATE","DEFAULT","DEFINER","DELAY","DELETE","DELETED","DEPENDS","DESC","DESCENDING","DESCRIBE","DETACH","DETACHED","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DIV","DOUBLE_SHA1_HASH","DOUBLE_SHA1_PASSWORD","DROP","ELSE","ENABLED","END","ENFORCED","ENGINE","ENGINES","EPHEMERAL","ESTIMATE","EVENT","EVENTS","EVERY","EXCEPT","EXCHANGE","EXISTS","EXPLAIN","EXPRESSION","EXTENDED","EXTERNAL","FAKE","FALSE","FETCH","FIELDS","FILESYSTEM","FILL","FILTER","FINAL","FIRST","FOLLOWING","FOR","FOREIGN","FORMAT","FREEZE","FROM","FULL","FULLTEXT","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GRANTEES","GRANTS","GRANULARITY","GROUP","GROUPING","GROUPS","H","HASH","HAVING","HDFS","HH","HIERARCHICAL","HOST","HOURS","HTTP","IDENTIFIED","ILIKE","IN","INDEX","INDEXES","INDICES","INFILE","INHERIT","INJECTIVE","INNER","INSERT","INTERPOLATE","INTERSECT","INTERVAL","INTO","INVISIBLE","INVOKER","IP","IS","IS_OBJECT_ID","JOIN","JWT","KERBEROS","KEY","KEYED","KEYS","KILL","KIND","LARGE","LAST","LAYOUT","LDAP","LEADING","LEVEL","LIFETIME","LIGHTWEIGHT","LIKE","LIMIT","LIMITS","LINEAR","LIST","LIVE","LOCAL","M","MASK","MATERIALIZED","MCS","MEMORY","MERGES","METRICS","MI","MICROSECOND","MICROSECONDS","MILLISECONDS","MINUTES","MM","MODIFY","MONTHS","MOVE","MS","MUTATION","N","NAME","NAMED","NANOSECOND","NANOSECONDS","NEXT","NO","NONE","NOT","NO_PASSWORD","NS","NULL","NULLS","OBJECT","OFFSET","ON","ONLY","OPTIMIZE","OPTION","OR","ORDER","OUTER","OUTFILE","OVER","OVERRIDABLE","OVERRIDE","PART","PARTIAL","PARTITION","PARTITIONS","PART_MOVE_TO_SHARD","PASTE","PERIODIC","PERMANENTLY","PERMISSIVE","PERSISTENT","PIPELINE","PLAINTEXT_PASSWORD","PLAN","POLICY","POPULATE","PRECEDING","PRECISION","PREWHERE","PRIMARY","PRIVILEGES","PROCESSLIST","PROFILE","PROJECTION","PROTOBUF","PULL","Q","QQ","QUALIFY","QUARTERS","QUERY","QUOTA","RANDOMIZE","RANDOMIZED","RANGE","READONLY","REALM","RECOMPRESS","RECURSIVE","REFERENCES","REFRESH","REGEXP","REMOVE","RENAME","RESET","RESPECT","RESTORE","RESTRICT","RESTRICTIVE","RESUME","REVOKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","S","S3","SALT","SAMPLE","SAN","SCHEME","SECONDS","SECURITY","SELECT","SEMI","SEQUENTIAL","SERVER","SET","SETS","SETTING","SETTINGS","SHA256_HASH","SHA256_PASSWORD","SHARD","SHOW","SIGNED","SIMPLE","SNAPSHOT","SOURCE","SPATIAL","SQL","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MICROSECOND","SQL_TSI_MILLISECOND","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_NANOSECOND","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SS","SSH_KEY","SSL_CERTIFICATE","STALENESS","START","STATISTICS","STDOUT","STEP","STORAGE","STRICT","STRICTLY_ASCENDING","SUBPARTITION","SUBPARTITIONS","SUSPEND","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TAGS","TEMPORARY","TEST","THAN","THEN","TIES","TIME","TO","TOP","TOTALS","TRACKING","TRAILING","TRANSACTION","TREE","TRIGGER","TRUE","TRUNCATE","TTL","TYPE","TYPEOF","UNBOUNDED","UNDROP","UNFREEZE","UNION","UNIQUE","UNSET","UNSIGNED","UNTIL","UPDATE","URL","USE","USING","UUID","VALID","VALUES","VARYING","VIEW","VISIBLE","VOLUME","WATCH","WATERMARK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITH_ITEMINDEX","WK","WRITABLE","WW","YEARS","YY","YYYY","ZKPATH"],nH=["AGGREGATEFUNCTION","ARRAY","BFLOAT16","BIGINT","BIGINT SIGNED","BIGINT UNSIGNED","BINARY","BINARY LARGE OBJECT","BINARY VARYING","BIT","BLOB","BYTE","BYTEA","BOOL","CHAR","CHAR LARGE OBJECT","CHAR VARYING","CHARACTER","CHARACTER LARGE OBJECT","CHARACTER VARYING","CLOB","DEC","DOUBLE","DOUBLE PRECISION","DATE","DATE32","DATETIME","DATETIME32","DATETIME64","DECIMAL","DECIMAL128","DECIMAL256","DECIMAL32","DECIMAL64","DYNAMIC","ENUM","ENUM","ENUM16","ENUM8","FIXED","FLOAT","FIXEDSTRING","FLOAT32","FLOAT64","GEOMETRY","INET4","INET6","INT","INT SIGNED","INT UNSIGNED","INT1","INT1 SIGNED","INT1 UNSIGNED","INTEGER","INTEGER SIGNED","INTEGER UNSIGNED","IPV4","IPV6","INT128","INT16","INT256","INT32","INT64","INT8","INTERVALDAY","INTERVALHOUR","INTERVALMICROSECOND","INTERVALMILLISECOND","INTERVALMINUTE","INTERVALMONTH","INTERVALNANOSECOND","INTERVALQUARTER","INTERVALSECOND","INTERVALWEEK","INTERVALYEAR","JSON","LONGBLOB","LONGTEXT","LINESTRING","LOWCARDINALITY","MEDIUMBLOB","MEDIUMINT","MEDIUMINT SIGNED","MEDIUMINT UNSIGNED","MEDIUMTEXT","MAP","MULTILINESTRING","MULTIPOLYGON","NATIONAL CHAR","NATIONAL CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NCHAR","NCHAR LARGE OBJECT","NCHAR VARYING","NUMERIC","NVARCHAR","NESTED","NOTHING","NULLABLE","OBJECT","POINT","POLYGON","REAL","RING","SET","SIGNED","SINGLE","SMALLINT","SMALLINT SIGNED","SMALLINT UNSIGNED","SIMPLEAGGREGATEFUNCTION","STRING","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYINT SIGNED","TINYINT UNSIGNED","TINYTEXT","TIME","TIME64","TUPLE","UINT128","UINT16","UINT256","UINT32","UINT64","UINT8","UNSIGNED","UUID","VARBINARY","VARCHAR","VARCHAR2","VARIANT","YEAR","BOOL","BOOLEAN"],iH=V(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),sH=V(["SET","WITH","FROM","SAMPLE","PREWHERE","WHERE","GROUP BY","HAVING","QUALIFY","ORDER BY","LIMIT","SETTINGS","INTO OUTFILE","FORMAT","WINDOW","PARTITION BY","INSERT INTO","VALUES","DEPENDS ON","MOVE {USER | ROLE | QUOTA | SETTINGS PROFILE | ROW POLICY}","GRANT","REVOKE","CHECK GRANT","SET [DEFAULT] ROLE [NONE | ALL | ALL EXCEPT]","DEDUPLICATE BY","MODIFY STATISTICS","TYPE","ALTER USER [IF EXISTS]","ALTER [ROW] POLICY [IF EXISTS]","DROP {USER | ROLE | QUOTA | PROFILE | SETTINGS PROFILE | ROW POLICY | POLICY} [IF EXISTS]"]),tC=V(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),xd=V(["ALL EXCEPT","ON CLUSTER","UPDATE","SYSTEM RELOAD {DICTIONARIES | DICTIONARY | FUNCTIONS | FUNCTION | ASYNCHRONOUS METRICS}","SYSTEM DROP {DNS CACHE | MARK CACHE | ICEBERG METADATA CACHE | TEXT INDEX DICTIONARY CACHE | TEXT INDEX HEADER CACHE | TEXT INDEX POSTINGS CACHE | REPLICA | DATABASE REPLICA | UNCOMPRESSED CACHE | COMPILED EXPRESSION CACHE | QUERY CONDITION CACHE | QUERY CACHE | FORMAT SCHEMA CACHE | FILESYSTEM CACHE}","SYSTEM FLUSH LOGS","SYSTEM RELOAD {CONFIG | USERS}","SYSTEM SHUTDOWN","SYSTEM KILL","SYSTEM FLUSH DISTRIBUTED","SYSTEM START DISTRIBUTED SENDS","SYSTEM {STOP | START} {LISTEN | MERGES | TTL MERGES | MOVES | FETCHES | REPLICATED SENDS | REPLICATION QUEUES | PULLING REPLICATION LOG}","SYSTEM {SYNC | RESTART | RESTORE} REPLICA","SYSTEM {SYNC | RESTORE} DATABASE REPLICA","SYSTEM RESTART REPLICAS","SYSTEM UNFREEZE","SYSTEM WAIT LOADING PARTS","SYSTEM {LOAD | UNLOAD} PRIMARY KEY","SYSTEM {STOP | START} [REPLICATED] VIEW","SYSTEM {STOP | START} VIEWS","SYSTEM {REFRESH | CANCEL | WAIT} VIEW","WITH NAME","SHOW [CREATE] {TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE}","SHOW DATABASES [[NOT] {LIKE | ILIKE}]","SHOW [FULL] [TEMPORARY] TABLES [FROM | IN]","SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN}","ATTACH {TABLE | DICTIONARY | DATABASE} [IF NOT EXISTS]","DETACH {TABLE | DICTIONARY | DATABASE} [IF EXISTS]","PERMANENTLY","SYNC","DROP {DICTIONARY | DATABASE | PROFILE | VIEW | FUNCTION | NAMED COLLECTION} [IF EXISTS]","DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY]","RENAME TO","EXISTS [TEMPORARY] {TABLE | DICTIONARY | DATABASE}","KILL QUERY","OPTIMIZE TABLE","RENAME {TABLE | DICTIONARY | DATABASE}","EXCHANGE {TABLES | DICTIONARIES}","TRUNCATE TABLE [IF EXISTS]","EXECUTE AS","USE","TO","UNDROP TABLE","CREATE {DATABASE | NAMED COLLECTION} [IF NOT EXISTS]","CREATE [OR REPLACE] {VIEW | DICTIONARY} [IF NOT EXISTS]","CREATE MATERIALIZED VIEW [IF NOT EXISTS]","CREATE FUNCTION","CREATE {USER | ROLE | QUOTA | SETTINGS PROFILE} [IF NOT EXISTS | OR REPLACE]","CREATE [ROW] POLICY [IF NOT EXISTS | OR REPLACE]","REPLACE [TEMPORARY] TABLE [IF NOT EXISTS]","ALTER {ROLE | QUOTA | SETTINGS PROFILE} [IF EXISTS]","ALTER [TEMPORARY] TABLE","ALTER NAMED COLLECTION [IF EXISTS]","GRANTEES","NOT IDENTIFIED","RESET AUTHENTICATION METHODS TO NEW","{IDENTIFIED | ADD IDENTIFIED} [WITH | BY]","[ADD | DROP] HOST {LOCAL | NAME | REGEXP | IP | LIKE}","VALID UNTIL","DROP [ALL] {PROFILES | SETTINGS}","{ADD | MODIFY} SETTINGS","ADD PROFILES","APPLY DELETED MASK","IN PARTITION","{ADD | DROP | RENAME | CLEAR | COMMENT | MODIFY | ALTER | MATERIALIZE} COLUMN","{DETACH | DROP | ATTACH | FETCH | MOVE} {PART | PARTITION}","DROP DETACHED {PART | PARTITION}","{FORGET | REPLACE} PARTITION","CLEAR COLUMN","{FREEZE | UNFREEZE} [PARTITION]","CLEAR INDEX","TO {DISK | VOLUME}","[DELETE | REWRITE PARTS] IN PARTITION","{MODIFY | RESET} SETTING","DELETE WHERE","MODIFY ORDER BY","{MODIFY | REMOVE} SAMPLE BY","{ADD | MATERIALIZE | CLEAR} INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","GRANULARITY","AFTER","FIRST","ADD CONSTRAINT [IF NOT EXISTS]","DROP CONSTRAINT [IF EXISTS]","MODIFY TTL","REMOVE TTL","ADD STATISTICS [IF NOT EXISTS]","{DROP | CLEAR} STATISTICS [IF EXISTS]","MATERIALIZE STATISTICS [ALL | IF EXISTS]","KEYED BY","NOT KEYED","FOR [RANDOMIZED] INTERVAL","AS {PERMISSIVE | RESTRICTIVE}","FOR SELECT","ADD PROJECTION [IF NOT EXISTS]","{DROP | MATERIALIZE | CLEAR} PROJECTION [IF EXISTS]","REFRESH {EVERY | AFTER}","RANDOMIZE FOR","APPEND","APPEND TO","DELETE FROM","EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE]","GRANT ON CLUSTER","GRANT CURRENT GRANTS","WITH GRANT OPTION","REVOKE ON CLUSTER","ADMIN OPTION FOR","CHECK TABLE","PARTITION ID","{DESC | DESCRIBE} TABLE"]),rH=V(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),lH=V(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),oH=V(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),aH={name:"clickhouse",tokenizerOptions:{reservedSelect:iH,reservedClauses:[...sH,...tC,...xd],reservedSetOperations:rH,reservedJoins:lH,reservedKeywordPhrases:oH,reservedKeywords:tH,reservedDataTypes:nH,reservedFunctionNames:eH,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:n=>{const e=/\{([^:]+):/.exec(n);return e?e[1].trim():n}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:cH},formatOptions:{onelineClauses:[...tC,...xd],tabularOnelineClauses:xd}};function cH(n){return n.map((e,t)=>{const i=n[t+1]||Er,s=n[t-1]||Er;return e.type===Z.RESERVED_SELECT&&(i.type===Z.COMMA||s.type===Z.RESERVED_CLAUSE||s.type===Z.COMMA)?Object.assign(Object.assign({},e),{type:Z.RESERVED_KEYWORD}):fr.SET(e)&&i.type===Z.OPEN_PAREN?Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME}):e})}const uH=["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],EH=["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],fH=["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],hH=V(["SELECT [ALL | DISTINCT]"]),TH=V(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),nC=V(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),Bd=V(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),dH=V(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),AH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),SH=V(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),RH=V([]),OH={name:"db2",tokenizerOptions:{reservedSelect:hH,reservedClauses:[...TH,...nC,...Bd],reservedSetOperations:dH,reservedJoins:AH,reservedKeywordPhrases:SH,reservedDataTypePhrases:RH,reservedKeywords:EH,reservedDataTypes:fH,reservedFunctionNames:uH,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...nC,...Bd],tabularOnelineClauses:Bd}},NH=["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],mH=["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],IH=["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],pH=V(["SELECT [ALL | DISTINCT]"]),CH=V(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),iC=V(["CREATE [OR REPLACE] TABLE"]),Gd=V(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),gH=V(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),LH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),_H=V(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),DH=V([]),MH={name:"db2i",tokenizerOptions:{reservedSelect:pH,reservedClauses:[...CH,...iC,...Gd],reservedSetOperations:gH,reservedJoins:LH,reservedKeywordPhrases:_H,reservedDataTypePhrases:DH,reservedKeywords:mH,reservedDataTypes:IH,reservedFunctionNames:NH,nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...iC,...Gd],tabularOnelineClauses:Gd}},PH=["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","RANK","ROW_NUMBER"],yH=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","IS","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],vH=["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],UH=V(["SELECT [ALL | DISTINCT]"]),bH=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),sC=V(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),Hd=V(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),xH=V(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),BH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),GH=V(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),HH=V(["TIMESTAMP WITH TIME ZONE"]),wH={name:"duckdb",tokenizerOptions:{reservedSelect:UH,reservedClauses:[...bH,...sC,...Hd],reservedSetOperations:xH,reservedJoins:BH,reservedKeywordPhrases:GH,reservedDataTypePhrases:HH,supportsXor:!0,reservedKeywords:yH,reservedDataTypes:vH,reservedFunctionNames:PH,nestedBlockComments:!0,extraParens:["[]","{}"],underscoresInNumbers:!0,stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->","->>",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...sC,...Hd],tabularOnelineClauses:Hd}},FH=["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],YH=["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],kH=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],VH=V(["SELECT [ALL | DISTINCT]"]),WH=V(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),rC=V(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),wd=V(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),XH=V(["UNION [ALL | DISTINCT]"]),KH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),zH=V(["{ROWS | RANGE} BETWEEN"]),$H=V([]),jH={name:"hive",tokenizerOptions:{reservedSelect:VH,reservedClauses:[...WH,...rC,...wd],reservedSetOperations:XH,reservedJoins:KH,reservedKeywordPhrases:zH,reservedDataTypePhrases:$H,reservedKeywords:YH,reservedDataTypes:kH,reservedFunctionNames:FH,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...rC,...wd],tabularOnelineClauses:wd}};function Gf(n){return n.map((e,t)=>{const i=n[t+1]||Er;if(fr.SET(e)&&i.text==="(")return Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME});const s=n[t-1]||Er;return fr.VALUES(e)&&s.text==="="?Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME}):e})}const JH=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],qH=["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],QH=["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],ZH=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ew=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),lC=V(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),Fd=V(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),tw=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),nw=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),iw=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),sw=V([]),rw={name:"mariadb",tokenizerOptions:{reservedSelect:ZH,reservedClauses:[...ew,...lC,...Fd],reservedSetOperations:tw,reservedJoins:nw,reservedKeywordPhrases:iw,reservedDataTypePhrases:sw,supportsXor:!0,reservedKeywords:JH,reservedDataTypes:qH,reservedFunctionNames:QH,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:Gf},formatOptions:{onelineClauses:[...lC,...Fd],tabularOnelineClauses:Fd}},lw=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],ow=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],aw=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],cw=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),uw=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),oC=V(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),Yd=V(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Ew=V(["UNION [ALL | DISTINCT]"]),fw=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),hw=V(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Tw=V([]),dw={name:"mysql",tokenizerOptions:{reservedSelect:cw,reservedClauses:[...uw,...oC,...Yd],reservedSetOperations:Ew,reservedJoins:fw,reservedKeywordPhrases:hw,reservedDataTypePhrases:Tw,supportsXor:!0,reservedKeywords:lw,reservedDataTypes:ow,reservedFunctionNames:aw,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:Gf},formatOptions:{onelineClauses:[...oC,...Yd],tabularOnelineClauses:Yd}},Aw=["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],Sw=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Rw=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],Ow=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Nw=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),aC=V(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),kd=V(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),mw=V(["UNION [ALL | DISTINCT]"]),Iw=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),pw=V(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Cw=V([]),gw={name:"tidb",tokenizerOptions:{reservedSelect:Ow,reservedClauses:[...Nw,...aC,...kd],reservedSetOperations:mw,reservedJoins:Iw,reservedKeywordPhrases:pw,reservedDataTypePhrases:Cw,supportsXor:!0,reservedKeywords:Aw,reservedDataTypes:Sw,reservedFunctionNames:Rw,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:Gf},formatOptions:{onelineClauses:[...aC,...kd],tabularOnelineClauses:kd}},Lw=["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],_w=["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],Dw=[],Mw=V(["SELECT [ALL | DISTINCT]"]),Pw=V(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),cC=V(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),yw=V(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),vw=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),Uw=V(["{ROWS | RANGE | GROUPS} BETWEEN"]),bw=V([]),xw={name:"n1ql",tokenizerOptions:{reservedSelect:Mw,reservedClauses:[...Pw,...cC],reservedSetOperations:yw,reservedJoins:vw,reservedKeywordPhrases:Uw,reservedDataTypePhrases:bw,supportsXor:!0,reservedKeywords:_w,reservedDataTypes:Dw,reservedFunctionNames:Lw,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:cC}},Bw=["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],Gw=["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],Hw=["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],ww=V(["SELECT [ALL | DISTINCT | UNIQUE]"]),Fw=V(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),uC=V(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Vd=V(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),Yw=V(["UNION [ALL]","MINUS","INTERSECT"]),kw=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Vw=V(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Ww=V([]),Xw={name:"plsql",tokenizerOptions:{reservedSelect:ww,reservedClauses:[...Fw,...uC,...Vd],reservedSetOperations:Yw,reservedJoins:kw,reservedKeywordPhrases:Vw,reservedDataTypePhrases:Ww,supportsXor:!0,reservedKeywords:Bw,reservedDataTypes:Gw,reservedFunctionNames:Hw,stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:Kw},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...uC,...Vd],tabularOnelineClauses:Vd}};function Kw(n){let e=Er;return n.map(t=>fr.SET(t)&&fr.BY(e)?Object.assign(Object.assign({},t),{type:Z.RESERVED_KEYWORD}):(gD(t.type)&&(e=t),t))}const zw=["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","GEN_RANDOM_UUID","UUIDV4","UUIDV7","UUID_EXTRACT_TIMESTAMP","UUID_EXTRACT_VERSION","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],$w=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],jw=["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","UUID","VARCHAR","XML","ZONE"],Jw=V(["SELECT [ALL | DISTINCT]"]),qw=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),EC=V(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),Wd=V(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE [OF] | DELETE | TRUNCATE}","[NOT] DEFERRABLE","INITIALLY {DEFERRED | IMMEDIATE}","[NOT] DEFERRABLE INITIALLY {DEFERRED | IMMEDIATE}","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMENT ON","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE [OR REPLACE] AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE [DEFAULT] CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE [UNIQUE] INDEX","CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE [OR REPLACE] PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE [OR REPLACE] RULE","CREATE SCHEMA [AUTHORIZATION]","CREATE [TEMPORARY | TEMP | UNLOGGED] SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE [OR REPLACE] TRANSFORM","CREATE [OR REPLACE] [CONSTRAINT] TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE [FUNCTION | PROCEDURE]","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),Qw=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Zw=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),eF=V(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","FOR EACH ROW","OR {INSERT | UPDATE [OF] | DELETE | TRUNCATE}","{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),tF=V(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),nF={name:"postgresql",tokenizerOptions:{reservedSelect:Jw,reservedClauses:[...qw,...EC,...Wd],reservedSetOperations:Qw,reservedJoins:Zw,reservedKeywordPhrases:eF,reservedDataTypePhrases:tF,reservedKeywords:$w,reservedDataTypes:jw,reservedFunctionNames:zw,nestedBlockComments:!0,extraParens:["[]"],underscoresInNumbers:!0,stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^",">^","?#","?-","?|","?-|","?||","@>","<@","<@>","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","~>","#=","::",":","<#>","<=>","<+>","<~>","<%>","&&&","|=|"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...EC,...Wd],tabularOnelineClauses:Wd}},iF=["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],sF=["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],rF=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],lF=V(["SELECT [ALL | DISTINCT]"]),oF=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),fC=V(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Xd=V(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),aF=V(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),cF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),uF=V(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),EF=V([]),fF={name:"redshift",tokenizerOptions:{reservedSelect:lF,reservedClauses:[...oF,...fC,...Xd],reservedSetOperations:aF,reservedJoins:cF,reservedKeywordPhrases:uF,reservedDataTypePhrases:EF,reservedKeywords:sF,reservedDataTypes:rF,reservedFunctionNames:iF,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...fC,...Xd],tabularOnelineClauses:Xd}},hF=["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],TF=["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],dF=["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],AF=V(["SELECT [ALL | DISTINCT]"]),SF=V(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),hC=V(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),Kd=V(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),RF=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),OF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),NF=V(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),mF=V([]),IF={name:"spark",tokenizerOptions:{reservedSelect:AF,reservedClauses:[...SF,...hC,...Kd],reservedSetOperations:RF,reservedJoins:OF,reservedKeywordPhrases:NF,reservedDataTypePhrases:mF,supportsXor:!0,reservedKeywords:hF,reservedDataTypes:TF,reservedFunctionNames:dF,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],identChars:{allowFirstCharNumber:!0},variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:pF},formatOptions:{onelineClauses:[...hC,...Kd],tabularOnelineClauses:Kd}};function pF(n){return n.map((e,t)=>{const i=n[t-1]||Er,s=n[t+1]||Er;return fr.WINDOW(e)&&s.type===Z.OPEN_PAREN?Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME}):e.text==="ITEMS"&&e.type===Z.RESERVED_KEYWORD&&!(i.text==="COLLECTION"&&s.text==="TERMINATED")?Object.assign(Object.assign({},e),{type:Z.IDENTIFIER,text:e.raw}):e})}const CF=["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],gF=["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],LF=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],_F=V(["SELECT [ALL | DISTINCT]"]),DF=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET","RETURNING"]),TC=V(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),zd=V(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),MF=V(["UNION [ALL]","EXCEPT","INTERSECT"]),PF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),yF=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),vF=V([]),UF={name:"sqlite",tokenizerOptions:{reservedSelect:_F,reservedClauses:[...DF,...TC,...zd],reservedSetOperations:MF,reservedJoins:PF,reservedKeywordPhrases:yF,reservedDataTypePhrases:vF,reservedKeywords:gF,reservedDataTypes:LF,reservedFunctionNames:CF,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@"],custom:[{regex:String.raw`\$[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z_][a-zA-Z0-9_]*)*(?:\([^)]*\))?`,key:n=>n.slice(1)}]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...TC,...zd],tabularOnelineClauses:zd}},bF=["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],xF=["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],BF=["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],GF=V(["SELECT [ALL | DISTINCT]"]),HF=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),dC=V(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),$d=V(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),wF=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),FF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),YF=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),kF=V([]),VF={name:"sql",tokenizerOptions:{reservedSelect:GF,reservedClauses:[...HF,...dC,...$d],reservedSetOperations:wF,reservedJoins:FF,reservedKeywordPhrases:YF,reservedDataTypePhrases:kF,reservedKeywords:xF,reservedDataTypes:BF,reservedFunctionNames:bF,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...dC,...$d],tabularOnelineClauses:$d}},WF=["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],XF=["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],KF=["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],zF=V(["SELECT [ALL | DISTINCT]"]),$F=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),AC=V(["CREATE TABLE [IF NOT EXISTS]"]),jd=V(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),jF=V(["UNION [ALL | DISTINCT] [CORRESPONDING]","EXCEPT [ALL | DISTINCT] [CORRESPONDING]","INTERSECT [ALL | DISTINCT] [CORRESPONDING]"]),JF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),qF=V(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),QF=V([]),ZF={name:"trino",tokenizerOptions:{reservedSelect:zF,reservedClauses:[...$F,...AC,...jd],reservedSetOperations:jF,reservedJoins:JF,reservedKeywordPhrases:qF,reservedDataTypePhrases:QF,reservedKeywords:XF,reservedDataTypes:KF,reservedFunctionNames:WF,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...AC,...jd],tabularOnelineClauses:jd}},eY=["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","OPENJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],tY=["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],nY=["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],iY=V(["SELECT [ALL | DISTINCT]"]),sY=V(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET"]),SC=V(["CREATE TABLE"]),Jd=V(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","CREATE DATABASE","ALTER DATABASE","DROP DATABASE [IF EXISTS]","CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}","ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}","DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS]","GO","USE","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION SCHEME","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),rY=V(["UNION [ALL]","EXCEPT","INTERSECT"]),lY=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),oY=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),aY=V([]),cY={name:"transactsql",tokenizerOptions:{reservedSelect:iY,reservedClauses:[...sY,...SC,...Jd],reservedSetOperations:rY,reservedJoins:lY,reservedKeywordPhrases:oY,reservedDataTypePhrases:aY,reservedKeywords:tY,reservedDataTypes:nY,reservedFunctionNames:eY,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...SC,...Jd],tabularOnelineClauses:Jd}},uY=["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],EY=["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],fY=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],hY=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),TY=V(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),RC=V(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),qd=V(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),dY=V(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),AY=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),SY=V(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),RY=V([]),OY={name:"singlestoredb",tokenizerOptions:{reservedSelect:hY,reservedClauses:[...TY,...RC,...qd],reservedSetOperations:dY,reservedJoins:AY,reservedKeywordPhrases:SY,reservedDataTypePhrases:RY,reservedKeywords:uY,reservedDataTypes:EY,reservedFunctionNames:fY,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:Gf},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...RC,...qd],tabularOnelineClauses:qd}},NY=["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IDENTIFIER","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],mY=["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],IY=["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],pY=V(["SELECT [ALL | DISTINCT]"]),CY=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),OC=V(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),Qd=V(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),gY=V(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),LY=V(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),_Y=V(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),DY=V([]),MY={name:"snowflake",tokenizerOptions:{reservedSelect:pY,reservedClauses:[...CY,...OC,...Qd],reservedSetOperations:gY,reservedJoins:LY,reservedKeywordPhrases:_Y,reservedDataTypePhrases:DY,reservedKeywords:mY,reservedDataTypes:IY,reservedFunctionNames:NY,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...OC,...Qd],tabularOnelineClauses:Qd}},PY=Object.freeze(Object.defineProperty({__proto__:null,bigquery:jG,clickhouse:aH,db2:OH,db2i:MH,duckdb:wH,hive:jH,mariadb:rw,mysql:dw,n1ql:xw,plsql:Xw,postgresql:nF,redshift:fF,singlestoredb:OY,snowflake:MY,spark:IF,sql:VF,sqlite:UF,tidb:gw,transactsql:cY,trino:ZF},Symbol.toStringTag,{value:"Module"})),Xa=n=>n[n.length-1],LD=n=>n.sort((e,t)=>t.length-e.length||e.localeCompare(t)),UE=n=>n.replace(/\s+/gu," "),Zd=n=>/\n/.test(n),Si=n=>n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),NC=/\s+/uy,El=n=>new RegExp(`(?:${n})`,"uy"),yY=n=>n.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),vY=n=>n+"(?:-"+n+")*",UY=({prefixes:n,requirePrefix:e})=>`(?:${n.map(yY).join("|")}${e?"":"|"})`,bY=n=>new RegExp(`(?:${n.map(Si).join("|")}).*?(?=\r
|
|
206
|
+
|\r|
|
|
207
|
+
|$)`,"uy"),mC=(n,e=[])=>{const t=n==="open"?0:1,i=["()",...e].map(s=>s[t]);return El(i.map(Si).join("|"))},IC=n=>El(`${LD(n).map(Si).join("|")}`),xY=({rest:n,dashes:e})=>n||e?`(?![${n||""}${e?"-":""}])`:"",As=(n,e={})=>{if(n.length===0)return/^\b$/u;const t=xY(e),i=LD(n).map(Si).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${t}\\b`,"iuy")},eA=(n,e)=>{if(!n.length)return;const t=n.map(Si).join("|");return El(`(?:${t})(?:${e})`)},BY=()=>{const n={"<":">","[":"]","(":")","{":"}"},e="{left}(?:(?!{right}').)*?{right}",t=Object.entries(n).map(([a,u])=>e.replace(/{left}/g,Si(a)).replace(/{right}/g,Si(u))),i=Si(Object.keys(n).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${i}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`},pC={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":BY()},_D=n=>typeof n=="string"?pC[n]:"regex"in n?n.regex:UY(n)+pC[n.quote],GY=n=>El(n.map(e=>"regex"in e?e.regex:_D(e)).join("|")),DD=n=>n.map(_D).join("|"),CC=n=>El(DD(n)),HY=(n={})=>El(MD(n)),MD=({first:n,rest:e,dashes:t,allowFirstCharNumber:i}={})=>{const s="\\p{Alphabetic}\\p{Mark}_",o="\\p{Decimal_Number}",a=Si(n??""),u=Si(e??""),E=i?`[${s}${o}${a}][${s}${o}${u}]*`:`[${s}${a}][${s}${o}${u}]*`;return t?vY(E):E};function PD(n,e){const t=n.slice(0,e).split(/\n/);return{line:t.length,col:t[t.length-1].length+1}}class wY{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let i;for(;this.index<this.input.length;){const s=this.getWhitespace();if(this.index<this.input.length){if(i=this.getNextToken(),!i)throw this.createParseError();t.push(Object.assign(Object.assign({},i),{precedingWhitespace:s}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:i}=PD(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${i}.
|
|
208
|
+
${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
|
|
209
|
+
If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){NC.lastIndex=this.index;const e=NC.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const i=t[0],s={type:e.type,raw:i,text:e.text?e.text(i):i,start:this.index};return e.key&&(s.key=e.key(i)),this.index+=i.length,s}}}const gC=/\/\*/uy,FY=/[\s\S]/uy,YY=/\*\//uy;class kY{constructor(){this.lastIndex=0}exec(e){let t="",i,s=0;if(i=this.matchSection(gC,e))t+=i,s++;else return null;for(;s>0;)if(i=this.matchSection(gC,e))t+=i,s++;else if(i=this.matchSection(YY,e))t+=i,s--;else if(i=this.matchSection(FY,e))t+=i;else return null;return[t]}matchSection(e,t){e.lastIndex=this.lastIndex;const i=e.exec(t);return i&&(this.lastIndex+=i[0].length),i?i[0]:null}}class VY{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const i=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],s=new wY(i,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(e){var t,i,s;return this.validRules([{type:Z.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:Z.BLOCK_COMMENT,regex:e.nestedBlockComments?new kY:/(\/\*[^]*?\*\/)/uy},{type:Z.LINE_COMMENT,regex:bY((t=e.lineCommentTypes)!==null&&t!==void 0?t:["--"])},{type:Z.QUOTED_IDENTIFIER,regex:CC(e.identTypes)},{type:Z.NUMBER,regex:e.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:Z.RESERVED_KEYWORD_PHRASE,regex:As((i=e.reservedKeywordPhrases)!==null&&i!==void 0?i:[],e.identChars),text:wt},{type:Z.RESERVED_DATA_TYPE_PHRASE,regex:As((s=e.reservedDataTypePhrases)!==null&&s!==void 0?s:[],e.identChars),text:wt},{type:Z.CASE,regex:/CASE\b/iuy,text:wt},{type:Z.END,regex:/END\b/iuy,text:wt},{type:Z.BETWEEN,regex:/BETWEEN\b/iuy,text:wt},{type:Z.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:wt},{type:Z.RESERVED_CLAUSE,regex:As(e.reservedClauses,e.identChars),text:wt},{type:Z.RESERVED_SELECT,regex:As(e.reservedSelect,e.identChars),text:wt},{type:Z.RESERVED_SET_OPERATION,regex:As(e.reservedSetOperations,e.identChars),text:wt},{type:Z.WHEN,regex:/WHEN\b/iuy,text:wt},{type:Z.ELSE,regex:/ELSE\b/iuy,text:wt},{type:Z.THEN,regex:/THEN\b/iuy,text:wt},{type:Z.RESERVED_JOIN,regex:As(e.reservedJoins,e.identChars),text:wt},{type:Z.AND,regex:/AND\b/iuy,text:wt},{type:Z.OR,regex:/OR\b/iuy,text:wt},{type:Z.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:wt},...e.operatorKeyword?[{type:Z.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:Z.RESERVED_FUNCTION_NAME,regex:As(e.reservedFunctionNames,e.identChars),text:wt},{type:Z.RESERVED_DATA_TYPE,regex:As(e.reservedDataTypes,e.identChars),text:wt},{type:Z.RESERVED_KEYWORD,regex:As(e.reservedKeywords,e.identChars),text:wt}])}buildRulesAfterParams(e){var t,i;return this.validRules([{type:Z.VARIABLE,regex:e.variableTypes?GY(e.variableTypes):void 0},{type:Z.STRING,regex:CC(e.stringTypes)},{type:Z.IDENTIFIER,regex:HY(e.identChars)},{type:Z.DELIMITER,regex:/[;]/uy},{type:Z.COMMA,regex:/[,]/y},{type:Z.OPEN_PAREN,regex:mC("open",e.extraParens)},{type:Z.CLOSE_PAREN,regex:mC("close",e.extraParens)},{type:Z.OPERATOR,regex:IC(["+","-","/",">","<","=","<>","<=",">=","!=",...(t=e.operators)!==null&&t!==void 0?t:[]])},{type:Z.ASTERISK,regex:/[*]/uy},{type:Z.PROPERTY_ACCESS_OPERATOR,regex:IC([".",...(i=e.propertyAccessOperators)!==null&&i!==void 0?i:[]])}])}buildParamRules(e,t){var i,s,o,a,u;const E={named:(t==null?void 0:t.named)||((i=e.paramTypes)===null||i===void 0?void 0:i.named)||[],quoted:(t==null?void 0:t.quoted)||((s=e.paramTypes)===null||s===void 0?void 0:s.quoted)||[],numbered:(t==null?void 0:t.numbered)||((o=e.paramTypes)===null||o===void 0?void 0:o.numbered)||[],positional:typeof(t==null?void 0:t.positional)=="boolean"?t.positional:(a=e.paramTypes)===null||a===void 0?void 0:a.positional,custom:(t==null?void 0:t.custom)||((u=e.paramTypes)===null||u===void 0?void 0:u.custom)||[]};return this.validRules([{type:Z.NAMED_PARAMETER,regex:eA(E.named,MD(e.paramChars||e.identChars)),key:h=>h.slice(1)},{type:Z.QUOTED_PARAMETER,regex:eA(E.quoted,DD(e.identTypes)),key:h=>(({tokenKey:T,quoteChar:A})=>T.replace(new RegExp(Si("\\"+A),"gu"),A))({tokenKey:h.slice(2,-1),quoteChar:h.slice(-1)})},{type:Z.NUMBERED_PARAMETER,regex:eA(E.numbered,"[0-9]+"),key:h=>h.slice(1)},{type:Z.POSITIONAL_PARAMETER,regex:E.positional?/[?]/y:void 0},...E.custom.map(h=>{var T;return{type:Z.CUSTOM_PARAMETER,regex:El(h.regex),key:(T=h.key)!==null&&T!==void 0?T:(A=>A)}})])}validRules(e){return e.filter(t=>!!t.regex)}}const wt=n=>UE(n.toUpperCase()),LC=new Map,WY=n=>{let e=LC.get(n);return e||(e=XY(n),LC.set(n,e)),e},XY=n=>({tokenizer:new VY(n.tokenizerOptions,n.name),formatOptions:KY(n)}),KY=({tokenizerOptions:n,formatOptions:e})=>{var t,i;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(s=>[s,!0])),tabularOnelineClauses:Object.fromEntries(((t=e.tabularOnelineClauses)!==null&&t!==void 0?t:e.onelineClauses).map(s=>[s,!0])),identifierDashes:!!(!((i=n.identChars)===null||i===void 0)&&i.dashes)}};function zY(n){return n.indentStyle==="tabularLeft"||n.indentStyle==="tabularRight"?" ".repeat(10):n.useTabs?" ":" ".repeat(n.tabWidth)}function to(n){return n.indentStyle==="tabularLeft"||n.indentStyle==="tabularRight"}class $Y{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}}var bE={exports:{}},jY=bE.exports,_C;function JY(){return _C||(_C=1,(function(n){(function(e,t){n.exports?n.exports=t():e.nearley=t()})(jY,function(){function e(h,T,A){return this.id=++e.highestId,this.name=h,this.symbols=T,this.postprocess=A,this}e.highestId=0,e.prototype.toString=function(h){var T=typeof h>"u"?this.symbols.map(E).join(" "):this.symbols.slice(0,h).map(E).join(" ")+" ● "+this.symbols.slice(h).map(E).join(" ");return this.name+" → "+T};function t(h,T,A,R){this.rule=h,this.dot=T,this.reference=A,this.data=[],this.wantedBy=R,this.isComplete=this.dot===h.symbols.length}t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(h){var T=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return T.left=this,T.right=h,T.isComplete&&(T.data=T.build(),T.right=void 0),T},t.prototype.build=function(){var h=[],T=this;do h.push(T.right.data),T=T.left;while(T.left);return h.reverse(),h},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,a.fail))};function i(h,T){this.grammar=h,this.index=T,this.states=[],this.wants={},this.scannable=[],this.completed={}}i.prototype.process=function(h){for(var T=this.states,A=this.wants,R=this.completed,O=0;O<T.length;O++){var N=T[O];if(N.isComplete){if(N.finish(),N.data!==a.fail){for(var m=N.wantedBy,C=m.length;C--;){var L=m[C];this.complete(L,N)}if(N.reference===this.index){var D=N.rule.name;(this.completed[D]=this.completed[D]||[]).push(N)}}}else{var D=N.rule.symbols[N.dot];if(typeof D!="string"){this.scannable.push(N);continue}if(A[D]){if(A[D].push(N),R.hasOwnProperty(D))for(var _=R[D],C=0;C<_.length;C++){var v=_[C];this.complete(N,v)}}else A[D]=[N],this.predict(D)}}},i.prototype.predict=function(h){for(var T=this.grammar.byName[h]||[],A=0;A<T.length;A++){var R=T[A],O=this.wants[h],N=new t(R,0,this.index,O);this.states.push(N)}},i.prototype.complete=function(h,T){var A=h.nextState(T);this.states.push(A)};function s(h,T){this.rules=h,this.start=T||this.rules[0].name;var A=this.byName={};this.rules.forEach(function(R){A.hasOwnProperty(R.name)||(A[R.name]=[]),A[R.name].push(R)})}s.fromCompiled=function(R,T){var A=R.Lexer;R.ParserStart&&(T=R.ParserStart,R=R.ParserRules);var R=R.map(function(N){return new e(N.name,N.symbols,N.postprocess)}),O=new s(R,T);return O.lexer=A,O};function o(){this.reset("")}o.prototype.reset=function(h,T){this.buffer=h,this.index=0,this.line=T?T.line:1,this.lastLineBreak=T?-T.col:0},o.prototype.next=function(){if(this.index<this.buffer.length){var h=this.buffer[this.index++];return h===`
|
|
210
|
+
`&&(this.line+=1,this.lastLineBreak=this.index),{value:h}}},o.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},o.prototype.formatError=function(h,T){var A=this.buffer;if(typeof A=="string"){var R=A.split(`
|
|
211
|
+
`).slice(Math.max(0,this.line-5),this.line),O=A.indexOf(`
|
|
212
|
+
`,this.index);O===-1&&(O=A.length);var N=this.index-this.lastLineBreak,m=String(this.line).length;return T+=" at line "+this.line+" col "+N+`:
|
|
213
|
+
|
|
214
|
+
`,T+=R.map(function(L,D){return C(this.line-R.length+D+1,m)+" "+L},this).join(`
|
|
215
|
+
`),T+=`
|
|
216
|
+
`+C("",m+N)+`^
|
|
217
|
+
`,T}else return T+" at index "+(this.index-1);function C(L,D){var _=String(L);return Array(D-_.length+1).join(" ")+_}};function a(h,T,A){if(h instanceof s)var R=h,A=T;else var R=s.fromCompiled(h,T);this.grammar=R,this.options={keepHistory:!1,lexer:R.lexer||new o};for(var O in A||{})this.options[O]=A[O];this.lexer=this.options.lexer,this.lexerState=void 0;var N=new i(R,0);this.table=[N],N.wants[R.start]=[],N.predict(R.start),N.process(),this.current=0}a.fail={},a.prototype.feed=function(h){var T=this.lexer;T.reset(h,this.lexerState);for(var A;;){try{if(A=T.next(),!A)break}catch(B){var m=new i(this.grammar,this.current+1);this.table.push(m);var R=new Error(this.reportLexerError(B));throw R.offset=this.current,R.token=B.token,R}var O=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var N=this.current+1,m=new i(this.grammar,N);this.table.push(m);for(var C=A.text!==void 0?A.text:A.value,L=T.constructor===o?A.value:A,D=O.scannable,_=D.length;_--;){var v=D[_],U=v.rule.symbols[v.dot];if(U.test?U.test(L):U.type?U.type===A.type:U.literal===C){var G=v.nextState({data:L,token:A,isToken:!0,reference:N-1});m.states.push(G)}}if(m.process(),m.states.length===0){var R=new Error(this.reportError(A));throw R.offset=this.current,R.token=A,R}this.options.keepHistory&&(O.lexerState=T.save()),this.current++}return O&&(this.lexerState=T.save()),this.results=this.finish(),this},a.prototype.reportLexerError=function(h){var T,A,R=h.token;return R?(T="input "+JSON.stringify(R.text[0])+" (lexer error)",A=this.lexer.formatError(R,"Syntax error")):(T="input (lexer error)",A=h.message),this.reportErrorCommon(A,T)},a.prototype.reportError=function(h){var T=(h.type?h.type+" token: ":"")+JSON.stringify(h.value!==void 0?h.value:h),A=this.lexer.formatError(h,"Syntax error");return this.reportErrorCommon(A,T)},a.prototype.reportErrorCommon=function(h,T){var A=[];A.push(h);var R=this.table.length-2,O=this.table[R],N=O.states.filter(function(C){var L=C.rule.symbols[C.dot];return L&&typeof L!="string"});if(N.length===0)A.push("Unexpected "+T+`. I did not expect any more input. Here is the state of my parse table:
|
|
218
|
+
`),this.displayStateStack(O.states,A);else{A.push("Unexpected "+T+`. Instead, I was expecting to see one of the following:
|
|
219
|
+
`);var m=N.map(function(C){return this.buildFirstStateStack(C,[])||[C]},this);m.forEach(function(C){var L=C[0],D=L.rule.symbols[L.dot],_=this.getSymbolDisplay(D);A.push("A "+_+" based on:"),this.displayStateStack(C,A)},this)}return A.push(""),A.join(`
|
|
220
|
+
`)},a.prototype.displayStateStack=function(h,T){for(var A,R=0,O=0;O<h.length;O++){var N=h[O],m=N.rule.toString(N.dot);m===A?R++:(R>0&&T.push(" ^ "+R+" more lines identical to this"),R=0,T.push(" "+m)),A=m}},a.prototype.getSymbolDisplay=function(h){return u(h)},a.prototype.buildFirstStateStack=function(h,T){if(T.indexOf(h)!==-1)return null;if(h.wantedBy.length===0)return[h];var A=h.wantedBy[0],R=[h].concat(T),O=this.buildFirstStateStack(A,R);return O===null?null:[h].concat(O)},a.prototype.save=function(){var h=this.table[this.current];return h.lexerState=this.lexerState,h},a.prototype.restore=function(h){var T=h.index;this.current=T,this.table[T]=h,this.table.splice(T+1),this.lexerState=h.lexerState,this.results=this.finish()},a.prototype.rewind=function(h){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[h])},a.prototype.finish=function(){var h=[],T=this.grammar.start,A=this.table[this.table.length-1];return A.states.forEach(function(R){R.rule.name===T&&R.dot===R.rule.symbols.length&&R.reference===0&&R.data!==a.fail&&h.push(R)}),h.map(function(R){return R.data})};function u(h){var T=typeof h;if(T==="string")return h;if(T==="object"){if(h.literal)return JSON.stringify(h.literal);if(h instanceof RegExp)return"character matching "+h;if(h.type)return h.type+" token";if(h.test)return"token matching "+String(h.test);throw new Error("Unknown symbol type: "+h)}}function E(h){var T=typeof h;if(T==="string")return h;if(T==="object"){if(h.literal)return JSON.stringify(h.literal);if(h instanceof RegExp)return h.toString();if(h.type)return"%"+h.type;if(h.test)return"<"+String(h.test)+">";throw new Error("Unknown symbol type: "+h)}}return{Parser:a,Grammar:s,Rule:e}})})(bE)),bE.exports}var qY=JY();const QY=VL(qY);function ZY(n){return n.map(ek).map(tk).map(nk).map(ik).map(sk)}const ek=(n,e,t)=>{if(gD(n.type)){const i=rk(t,e);if(i&&i.type===Z.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},n),{type:Z.IDENTIFIER,text:n.raw});const s=vo(t,e);if(s&&s.type===Z.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},n),{type:Z.IDENTIFIER,text:n.raw})}return n},tk=(n,e,t)=>{if(n.type===Z.RESERVED_FUNCTION_NAME){const i=vo(t,e);if(!i||!yD(i))return Object.assign(Object.assign({},n),{type:Z.IDENTIFIER,text:n.raw})}return n},nk=(n,e,t)=>{if(n.type===Z.RESERVED_DATA_TYPE){const i=vo(t,e);if(i&&yD(i))return Object.assign(Object.assign({},n),{type:Z.RESERVED_PARAMETERIZED_DATA_TYPE})}return n},ik=(n,e,t)=>{if(n.type===Z.IDENTIFIER){const i=vo(t,e);if(i&&vD(i))return Object.assign(Object.assign({},n),{type:Z.ARRAY_IDENTIFIER})}return n},sk=(n,e,t)=>{if(n.type===Z.RESERVED_DATA_TYPE){const i=vo(t,e);if(i&&vD(i))return Object.assign(Object.assign({},n),{type:Z.ARRAY_KEYWORD})}return n},rk=(n,e)=>vo(n,e,-1),vo=(n,e,t=1)=>{let i=1;for(;n[e+i*t]&&lk(n[e+i*t]);)i++;return n[e+i*t]},yD=n=>n.type===Z.OPEN_PAREN&&n.text==="(",vD=n=>n.type===Z.OPEN_PAREN&&n.text==="[",lk=n=>n.type===Z.BLOCK_COMMENT||n.type===Z.LINE_COMMENT;class UD{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:i}=PD(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${i}`}has(e){return e in Z}}var Ce;(function(n){n.statement="statement",n.clause="clause",n.set_operation="set_operation",n.function_call="function_call",n.parameterized_data_type="parameterized_data_type",n.array_subscript="array_subscript",n.property_access="property_access",n.parenthesis="parenthesis",n.between_predicate="between_predicate",n.case_expression="case_expression",n.case_when="case_when",n.case_else="case_else",n.limit_clause="limit_clause",n.all_columns_asterisk="all_columns_asterisk",n.literal="literal",n.identifier="identifier",n.keyword="keyword",n.data_type="data_type",n.parameter="parameter",n.operator="operator",n.comma="comma",n.line_comment="line_comment",n.block_comment="block_comment",n.disable_comment="disable_comment"})(Ce=Ce||(Ce={}));function tA(n){return n[0]}const Pe=new UD(n=>[]),Wr=([[n]])=>n,Wt=n=>({type:Ce.keyword,tokenType:n.type,text:n.text,raw:n.raw}),DC=n=>({type:Ce.data_type,text:n.text,raw:n.raw}),Xt=(n,{leading:e,trailing:t})=>(e!=null&&e.length&&(n=Object.assign(Object.assign({},n),{leadingComments:e})),t!=null&&t.length&&(n=Object.assign(Object.assign({},n),{trailingComments:t})),n),ok=(n,{leading:e,trailing:t})=>{if(e!=null&&e.length){const[i,...s]=n;n=[Xt(i,{leading:e}),...s]}if(t!=null&&t.length){const i=n.slice(0,-1),s=n[n.length-1];n=[...i,Xt(s,{trailing:t})]}return n},ak={Lexer:Pe,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:n=>n[0].concat([n[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([n])=>{const e=n[n.length-1];return e&&!e.hasSemicolon?e.children.length>0?n:n.slice(0,-1):n}},{name:"statement$subexpression$1",symbols:[Pe.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[Pe.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([n,[e]])=>({type:Ce.statement,children:n,hasSemicolon:e.type===Z.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:n=>n[0].concat([n[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([n,e])=>[...n,...e]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:Wr},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:tA},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[Pe.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([n,e,t,i])=>{if(i){const[s,o]=i;return{type:Ce.limit_clause,limitKw:Xt(Wt(n),{trailing:e}),offset:t,count:o}}else return{type:Ce.limit_clause,limitKw:Xt(Wt(n),{trailing:e}),count:t}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([n,[e,t]])=>({type:Ce.clause,nameKw:Wt(n),children:[e,...t]})},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([n])=>({type:Ce.clause,nameKw:Wt(n),children:[]})},{name:"all_columns_asterisk",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:Ce.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"other_clause",symbols:[Pe.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([n,e])=>({type:Ce.clause,nameKw:Wt(n),children:e})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"set_operation",symbols:[Pe.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([n,e])=>({type:Ce.set_operation,nameKw:Wt(n),children:e})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:n=>n[0].concat([n[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:tA},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:n=>n[0].concat([n[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([n,e])=>[n,...e]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:n=>n[0].concat([n[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([n,e])=>[n,...e]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([n,e])=>Xt(n,{trailing:e})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([n,e])=>Xt(e,{leading:n})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([n,e])=>Xt(e,{leading:n})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:Wr},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:Wr},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:Wr},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:Wr},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:Wr},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:Wr},{name:"array_subscript",symbols:[Pe.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([n,e,t])=>({type:Ce.array_subscript,array:Xt({type:Ce.identifier,quoted:!1,text:n.text},{trailing:e}),parenthesis:t})},{name:"array_subscript",symbols:[Pe.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([n,e,t])=>({type:Ce.array_subscript,array:Xt(Wt(n),{trailing:e}),parenthesis:t})},{name:"function_call",symbols:[Pe.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([n,e,t])=>({type:Ce.function_call,nameKw:Xt(Wt(n),{trailing:e}),parenthesis:t})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([n,e,t])=>({type:Ce.parenthesis,children:e,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([n,e,t])=>({type:Ce.parenthesis,children:e,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([n,e,t])=>({type:Ce.parenthesis,children:e,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",Pe.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([n,e,t,i,[s]])=>({type:Ce.property_access,object:Xt(n,{trailing:e}),operator:t.text,property:Xt(s,{leading:i})})},{name:"between_predicate",symbols:[Pe.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",Pe.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([n,e,t,i,s,o,a])=>({type:Ce.between_predicate,betweenKw:Wt(n),expr1:ok(t,{leading:e,trailing:i}),andKw:Wt(s),expr2:[Xt(a,{leading:o})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:tA},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:n=>n[0].concat([n[1]])},{name:"case_expression",symbols:[Pe.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",Pe.has("END")?{type:"END"}:END],postprocess:([n,e,t,i,s])=>({type:Ce.case_expression,caseKw:Xt(Wt(n),{trailing:e}),endKw:Wt(s),expr:t||[],clauses:i})},{name:"case_clause",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",Pe.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([n,e,t,i,s,o])=>({type:Ce.case_when,whenKw:Xt(Wt(n),{trailing:e}),thenKw:Xt(Wt(i),{trailing:s}),condition:t,result:o})},{name:"case_clause",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([n,e,t])=>({type:Ce.case_else,elseKw:Xt(Wt(n),{trailing:e}),result:t})},{name:"comma$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[n]])=>({type:Ce.comma})},{name:"asterisk$subexpression$1",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[n]])=>({type:Ce.operator,text:n.text})},{name:"operator$subexpression$1",symbols:[Pe.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[n]])=>({type:Ce.operator,text:n.text})},{name:"identifier$subexpression$1",symbols:[Pe.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[n]])=>({type:Ce.identifier,quoted:n.type!=="IDENTIFIER",text:n.text})},{name:"parameter$subexpression$1",symbols:[Pe.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[n]])=>({type:Ce.parameter,key:n.key,text:n.text})},{name:"literal$subexpression$1",symbols:[Pe.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[Pe.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[n]])=>({type:Ce.literal,text:n.text})},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[n]])=>Wt(n)},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[n]])=>DC(n)},{name:"data_type",symbols:[Pe.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([n,e,t])=>({type:Ce.parameterized_data_type,dataType:Xt(DC(n),{trailing:e}),parenthesis:t})},{name:"logic_operator$subexpression$1",symbols:[Pe.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[n]])=>Wt(n)},{name:"other_keyword$subexpression$1",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[n]])=>Wt(n)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:n=>n[0].concat([n[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([n])=>n},{name:"comment",symbols:[Pe.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([n])=>({type:Ce.line_comment,text:n.text,precedingWhitespace:n.precedingWhitespace})},{name:"comment",symbols:[Pe.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([n])=>({type:Ce.block_comment,text:n.text,precedingWhitespace:n.precedingWhitespace})},{name:"comment",symbols:[Pe.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([n])=>({type:Ce.disable_comment,text:n.text,precedingWhitespace:n.precedingWhitespace})}],ParserStart:"main"},{Parser:ck,Grammar:uk}=QY;function Ek(n){let e={};const t=new UD(s=>[...ZY(n.tokenize(s,e)),CD(s.length)]),i=new ck(uk.fromCompiled(ak),{lexer:t});return{parse:(s,o)=>{e=o;const{results:a}=i.feed(s);if(a.length===1)return a[0];throw a.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
|
|
221
|
+
${JSON.stringify(a,void 0,2)}`)}}}var j;(function(n){n[n.SPACE=0]="SPACE",n[n.NO_SPACE=1]="NO_SPACE",n[n.NO_NEWLINE=2]="NO_NEWLINE",n[n.NEWLINE=3]="NEWLINE",n[n.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",n[n.INDENT=5]="INDENT",n[n.SINGLE_INDENT=6]="SINGLE_INDENT"})(j=j||(j={}));class bD{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case j.SPACE:this.items.push(j.SPACE);break;case j.NO_SPACE:this.trimHorizontalWhitespace();break;case j.NO_NEWLINE:this.trimWhitespace();break;case j.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(j.NEWLINE);break;case j.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(j.MANDATORY_NEWLINE);break;case j.INDENT:this.addIndentation();break;case j.SINGLE_INDENT:this.items.push(j.SINGLE_INDENT);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;fk(Xa(this.items));)this.items.pop()}trimWhitespace(){for(;hk(Xa(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(Xa(this.items)){case j.NEWLINE:this.items.pop(),this.items.push(e);break;case j.MANDATORY_NEWLINE:break;default:this.items.push(e);break}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(j.SINGLE_INDENT)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}isAtStartOfLine(){for(let e=this.items.length-1;e>=0;e--){const t=this.items[e];if(t!==j.SINGLE_INDENT)return t===j.NEWLINE||t===j.MANDATORY_NEWLINE}return!1}itemToString(e){switch(e){case j.SPACE:return" ";case j.NEWLINE:case j.MANDATORY_NEWLINE:return`
|
|
222
|
+
`;case j.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}const fk=n=>n===j.SPACE||n===j.SINGLE_INDENT,hk=n=>n===j.SPACE||n===j.SINGLE_INDENT||n===j.NEWLINE;function MC(n,e){if(e==="standard")return n;let t=[];return n.length>=10&&n.includes(" ")&&([n,...t]=n.split(" ")),e==="tabularLeft"?n=n.padEnd(9," "):n=n.padStart(9," "),n+["",...t].join(" ")}function PC(n){return wG(n)||n===Z.RESERVED_CLAUSE||n===Z.RESERVED_SELECT||n===Z.RESERVED_SET_OPERATION||n===Z.RESERVED_JOIN||n===Z.LIMIT}const nA="top-level",Tk="block-level";class xD{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(nA)}increaseBlockLevel(){this.indentTypes.push(Tk)}decreaseTopLevel(){this.indentTypes.length>0&&Xa(this.indentTypes)===nA&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===nA;);}}class dk extends bD{constructor(e){super(new xD("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(t=>this.addToLength(t)),this.length>this.expressionWidth)throw new qA;super.add(...e)}addToLength(e){if(typeof e=="string")this.length+=e.length,this.trailingSpace=!1;else{if(e===j.MANDATORY_NEWLINE||e===j.NEWLINE)throw new qA;e===j.INDENT||e===j.SINGLE_INDENT||e===j.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(e===j.NO_NEWLINE||e===j.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class qA extends Error{}class ZE{constructor({cfg:e,dialectCfg:t,params:i,layout:s,inline:o=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=o,this.params=i,this.layout=s}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case Ce.function_call:return this.formatFunctionCall(e);case Ce.parameterized_data_type:return this.formatParameterizedDataType(e);case Ce.array_subscript:return this.formatArraySubscript(e);case Ce.property_access:return this.formatPropertyAccess(e);case Ce.parenthesis:return this.formatParenthesis(e);case Ce.between_predicate:return this.formatBetweenPredicate(e);case Ce.case_expression:return this.formatCaseExpression(e);case Ce.case_when:return this.formatCaseWhen(e);case Ce.case_else:return this.formatCaseElse(e);case Ce.clause:return this.formatClause(e);case Ce.set_operation:return this.formatSetOperation(e);case Ce.limit_clause:return this.formatLimitClause(e);case Ce.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case Ce.literal:return this.formatLiteral(e);case Ce.identifier:return this.formatIdentifier(e);case Ce.parameter:return this.formatParameter(e);case Ce.operator:return this.formatOperator(e);case Ce.comma:return this.formatComma(e);case Ce.line_comment:return this.formatLineComment(e);case Ce.block_comment:return this.formatBlockComment(e);case Ce.disable_comment:return this.formatBlockComment(e);case Ce.data_type:return this.formatDataType(e);case Ce.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case Ce.data_type:t=this.showDataType(e.array);break;case Ce.keyword:t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array);break}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(j.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(j.NO_SPACE,e.closeParen,j.SPACE)):(this.layout.add(e.openParen,j.NEWLINE),to(this.cfg)?(this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(j.NEWLINE,j.INDENT,e.closeParen,j.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),j.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(j.NO_SPACE,j.SPACE,this.showNonTabularKw(e.andKw),j.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(j.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(j.NEWLINE,j.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(j.NEWLINE,j.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(j.NEWLINE,j.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):to(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return to(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.NEWLINE),this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),to(this.cfg)?this.layout.add(j.SPACE):this.layout.add(j.NEWLINE,j.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(j.NO_SPACE,",",j.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",j.SPACE)}formatLiteral(e){this.layout.add(e.text,j.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),j.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),j.SPACE)}formatOperator({text:e}){e==="-"&&this.dialectCfg.identifierDashes?this.layout.add(e,j.SPACE):this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(j.NO_SPACE,e):e===":"?this.layout.add(j.NO_SPACE,e,j.SPACE):this.layout.add(e,j.SPACE)}formatComma(e){this.inline?this.layout.add(j.NO_SPACE,",",j.SPACE):this.layout.add(j.NO_SPACE,",",j.NEWLINE,j.INDENT)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(t=>{t.type===Ce.line_comment?this.formatLineComment(t):this.formatBlockComment(t)})}formatLineComment(e){Zd(e.precedingWhitespace||"")?this.layout.add(j.NEWLINE,j.INDENT,e.text,j.MANDATORY_NEWLINE,j.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(j.NO_NEWLINE,j.SPACE,e.text,j.MANDATORY_NEWLINE,j.INDENT):this.layout.add(e.text,j.MANDATORY_NEWLINE,j.INDENT)}formatBlockComment(e){e.type===Ce.block_comment&&this.isStandaloneBlockComment(e)?(this.splitBlockComment(e.text).forEach(t=>{this.layout.add(j.NEWLINE,j.INDENT,t)}),this.layout.add(j.NEWLINE,j.INDENT)):this.layout.add(e.text,j.SPACE)}isStandaloneBlockComment(e){return Zd(e.text)||Zd(e.precedingWhitespace||"")||this.layout.isAtStartOfLine()}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(i=>/^\s*\*/.test(i))&&/^\s*\*\/$/.test(Xa(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(t=>/^\s*\*/.test(t)?" "+t.replace(/^\s*/,""):t):e.split(/\n/).map(t=>t.replace(/^\s*/,""))}formatSubExpression(e){return new ZE({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(e)}formatInlineExpression(e){const t=this.params.getPositionalParameterIndex();try{return new ZE({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new dk(this.cfg.expressionWidth),inline:!0}).format(e)}catch(i){if(i instanceof qA){this.params.setPositionalParameterIndex(t);return}else throw i}}formatKeywordNode(e){switch(e.tokenType){case Z.RESERVED_JOIN:return this.formatJoin(e);case Z.AND:case Z.OR:case Z.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){to(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),j.SPACE)}formatLogicalOperator(e){this.cfg.logicalOperatorNewline==="before"?to(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE):this.layout.add(this.showKw(e),j.NEWLINE,j.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),j.SPACE)}showKw(e){return PC(e.tokenType)?MC(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return UE(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return PC(e.tokenType)?MC(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return UE(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return UE(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class Ak{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new $Y(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return Ek(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(t=>this.formatStatement(t)).join(`
|
|
223
|
+
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new ZE({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new bD(new xD(zY(this.cfg)))}).format(e.children);return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(j.NEWLINE,";"):t.add(j.NO_NEWLINE,";")),t.toString()}}class xE extends Error{}function Sk(n){const e=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const t of e)if(t in n)throw new xE(`${t} config is no more supported.`);if(n.expressionWidth<=0)throw new xE(`expressionWidth config must be positive number. Received ${n.expressionWidth} instead.`);if(n.params&&!Rk(n.params)&&console.warn('WARNING: All "params" option values should be strings.'),n.paramTypes&&!Ok(n.paramTypes))throw new xE("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return n}function Rk(n){return(n instanceof Array?n:Object.values(n)).every(t=>typeof t=="string")}function Ok(n){return n.custom&&Array.isArray(n.custom)?n.custom.every(e=>e.regex!==""):!0}var Nk=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(n);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(n,i[s])&&(t[i[s]]=n[i[s]]);return t};const BD={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},mk=Object.keys(BD),Ik={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},pk=(n,e={})=>{if(typeof e.language=="string"&&!mk.includes(e.language))throw new xE(`Unsupported SQL dialect: ${e.language}`);const t=BD[e.language||"sql"];return Ck(n,Object.assign(Object.assign({},e),{dialect:PY[t]}))},Ck=(n,e)=>{var{dialect:t}=e,i=Nk(e,["dialect"]);if(typeof n!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof n);const s=Sk(Object.assign(Object.assign({},Ik),i));return new Ak(WY(t),s).format(n)},GD=1024;let gk=0,iA=class{constructor(e,t){this.from=e,this.to=t}};class Ye{constructor(e={}){this.id=gk++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Pn.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}Ye.closedBy=new Ye({deserialize:n=>n.split(" ")});Ye.openedBy=new Ye({deserialize:n=>n.split(" ")});Ye.group=new Ye({deserialize:n=>n.split(" ")});Ye.isolate=new Ye({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});Ye.contextHash=new Ye({perNode:!0});Ye.lookAhead=new Ye({perNode:!0});Ye.mounted=new Ye({perNode:!0});class Ka{constructor(e,t,i,s=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=s}static get(e){return e&&e.props&&e.props[Ye.mounted.id]}}const Lk=Object.create(null);class Pn{constructor(e,t,i,s=0){this.name=e,this.props=t,this.id=i,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):Lk,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new Pn(e.name||"",t,e.id,i);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(s)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[o[0].id]=o[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Ye.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let s of i.split(" "))t[s]=e[i];return i=>{for(let s=i.prop(Ye.group),o=-1;o<(s?s.length:0);o++){let a=t[o<0?i.name:s[o]];if(a)return a}}}}Pn.none=new Pn("",Object.create(null),0,8);class dR{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let i of this.types){let s=null;for(let o of e){let a=o(i);if(a){s||(s=Object.assign({},i.props));let u=a[1],E=a[0];E.combine&&E.id in s&&(u=E.combine(s[E.id],u)),s[E.id]=u}}t.push(s?new Pn(i.name,s,i.id,i.flags):i)}return new dR(t)}}const rE=new WeakMap,yC=new WeakMap;var mt;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(mt||(mt={}));class Mt{constructor(e,t,i,s,o){if(this.type=e,this.children=t,this.positions=i,this.length=s,this.props=null,o&&o.length){this.props=Object.create(null);for(let[a,u]of o)this.props[typeof a=="number"?a:a.id]=u}}toString(){let e=Ka.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let i of this.children){let s=i.toString();s&&(t&&(t+=","),t+=s)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new ZA(this.topNode,e)}cursorAt(e,t=0,i=0){let s=rE.get(this)||this.topNode,o=new ZA(s);return o.moveTo(e,t),rE.set(this,o._tree),o}get topNode(){return new ai(this,0,0,null)}resolve(e,t=0){let i=nc(rE.get(this)||this.topNode,e,t,!1);return rE.set(this,i),i}resolveInner(e,t=0){let i=nc(yC.get(this)||this.topNode,e,t,!0);return yC.set(this,i),i}resolveStack(e,t=0){return Mk(this,e,t)}iterate(e){let{enter:t,leave:i,from:s=0,to:o=this.length}=e,a=e.mode||0,u=(a&mt.IncludeAnonymous)>0;for(let E=this.cursor(a|mt.IncludeAnonymous);;){let h=!1;if(E.from<=o&&E.to>=s&&(!u&&E.type.isAnonymous||t(E)!==!1)){if(E.firstChild())continue;h=!0}for(;h&&i&&(u||!E.type.isAnonymous)&&i(E),!E.nextSibling();){if(!E.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:RR(Pn.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,s)=>new Mt(this.type,t,i,s,this.propValues),e.makeTree||((t,i,s)=>new Mt(Pn.none,t,i,s)))}static build(e){return Pk(e)}}Mt.empty=new Mt(Pn.none,[],[],0);class AR{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new AR(this.buffer,this.index)}}class hr{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Pn.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],s=this.set.types[t],o=s.name;if(/\W/.test(o)&&!s.isError&&(o=JSON.stringify(o)),e+=4,i==e)return o;let a=[];for(;e<i;)a.push(this.childString(e)),e=this.buffer[e+3];return o+"("+a.join(",")+")"}findChild(e,t,i,s,o){let{buffer:a}=this,u=-1;for(let E=e;E!=t&&!(HD(o,s,a[E+1],a[E+2])&&(u=E,i>0));E=a[E+3]);return u}slice(e,t,i){let s=this.buffer,o=new Uint16Array(t-e),a=0;for(let u=e,E=0;u<t;){o[E++]=s[u++],o[E++]=s[u++]-i;let h=o[E++]=s[u++]-i;o[E++]=s[u++]-e,a=Math.max(a,h)}return new hr(o,a,this.set)}}function HD(n,e,t,i){switch(n){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function nc(n,e,t,i){for(var s;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let a=!i&&n instanceof ai&&n.index<0?null:n.parent;if(!a)return n;n=a}let o=i?0:mt.IgnoreOverlays;if(i)for(let a=n,u=a.parent;u;a=u,u=a.parent)a instanceof ai&&a.index<0&&((s=u.enter(e,t,o))===null||s===void 0?void 0:s.from)!=a.from&&(n=u);for(;;){let a=n.enter(e,t,o);if(!a)return n;n=a}}class wD{cursor(e=0){return new ZA(this,e)}getChild(e,t=null,i=null){let s=vC(this,e,t,i);return s.length?s[0]:null}getChildren(e,t=null,i=null){return vC(this,e,t,i)}resolve(e,t=0){return nc(this,e,t,!1)}resolveInner(e,t=0){return nc(this,e,t,!0)}matchContext(e){return QA(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),i=this;for(;t;){let s=t.lastChild;if(!s||s.to!=t.to)break;s.type.isError&&s.from==s.to?(i=t,t=s.prevSibling):t=s}return i}get node(){return this}get next(){return this.parent}}class ai extends wD{constructor(e,t,i,s){super(),this._tree=e,this.from=t,this.index=i,this._parent=s}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,s,o=0){for(let a=this;;){for(let{children:u,positions:E}=a._tree,h=t>0?u.length:-1;e!=h;e+=t){let T=u[e],A=E[e]+a.from,R;if(!(!(o&mt.EnterBracketed&&T instanceof Mt&&(R=Ka.get(T))&&!R.overlay&&R.bracketed&&i>=A&&i<=A+T.length)&&!HD(s,i,A,A+T.length))){if(T instanceof hr){if(o&mt.ExcludeBuffers)continue;let O=T.findChild(0,T.buffer.length,t,i-A,s);if(O>-1)return new ir(new _k(a,T,e,A),null,O)}else if(o&mt.IncludeAnonymous||!T.type.isAnonymous||SR(T)){let O;if(!(o&mt.IgnoreMounts)&&(O=Ka.get(T))&&!O.overlay)return new ai(O.tree,A,e,a);let N=new ai(T,A,e,a);return o&mt.IncludeAnonymous||!N.type.isAnonymous?N:N.nextChild(t<0?T.children.length-1:0,t,i,s,o)}}}if(o&mt.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let s;if(!(i&mt.IgnoreOverlays)&&(s=Ka.get(this._tree))&&s.overlay){let o=e-this.from,a=i&mt.EnterBracketed&&s.bracketed;for(let{from:u,to:E}of s.overlay)if((t>0||a?u<=o:u<o)&&(t<0||a?E>=o:E>o))return new ai(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function vC(n,e,t,i){let s=n.cursor(),o=[];if(!s.firstChild())return o;if(t!=null){for(let a=!1;!a;)if(a=s.type.is(t),!s.nextSibling())return o}for(;;){if(i!=null&&s.type.is(i))return o;if(s.type.is(e)&&o.push(s.node),!s.nextSibling())return i==null?o:[]}}function QA(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class _k{constructor(e,t,i,s){this.parent=e,this.buffer=t,this.index=i,this.start=s}}class ir extends wD{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:s}=this.context,o=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,i);return o<0?null:new ir(this.context,this,o)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&mt.ExcludeBuffers)return null;let{buffer:s}=this.context,o=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new ir(this.context,this,o)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new ir(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new ir(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,s=this.index+4,o=i.buffer[this.index+3];if(o>s){let a=i.buffer[this.index+1];e.push(i.slice(s,o,a)),t.push(0)}return new Mt(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function FD(n){if(!n.length)return null;let e=0,t=n[0];for(let o=1;o<n.length;o++){let a=n[o];(a.from>t.from||a.to<t.to)&&(t=a,e=o)}let i=t instanceof ai&&t.index<0?null:t.parent,s=n.slice();return i?s[e]=i:s.splice(e,1),new Dk(s,t)}class Dk{constructor(e,t){this.heads=e,this.node=t}get next(){return FD(this.heads)}}function Mk(n,e,t){let i=n.resolveInner(e,t),s=null;for(let o=i instanceof ai?i:i.context.parent;o;o=o.parent)if(o.index<0){let a=o.parent;(s||(s=[i])).push(a.resolve(e,t)),o=a}else{let a=Ka.get(o.tree);if(a&&a.overlay&&a.overlay[0].from<=e&&a.overlay[a.overlay.length-1].to>=e){let u=new ai(a.tree,a.overlay[0].from+o.from,-1,o);(s||(s=[i])).push(nc(u,e,t,!1))}}return s?FD(s):i}class ZA{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~mt.EnterBracketed,e instanceof ai)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:s}=this.buffer;return this.type=t||s.set.types[s.buffer[e]],this.from=i+s.buffer[e+1],this.to=i+s.buffer[e+2],!0}yield(e){return e?e instanceof ai?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:s}=this.buffer,o=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.buffer.start,i);return o<0?!1:(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&mt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&mt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&mt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let s=i<0?0:this.stack[i]+4;if(this.index!=s)return this.yieldBuf(t.findChild(s,this.index,-1,0,4))}else{let s=t.buffer[this.index+3];if(s<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(s)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:s}=this;if(s){if(e>0){if(this.index<s.buffer.buffer.length)return!1}else for(let o=0;o<this.index;o++)if(s.buffer.buffer[o+3]<this.index)return!1;({index:t,parent:i}=s)}else({index:t,_parent:i}=this._tree);for(;i;{index:t,_parent:i}=i)if(t>-1)for(let o=t+e,a=e<0?-1:i._tree.children.length;o!=a;o+=e){let u=i._tree.children[o];if(this.mode&mt.IncludeAnonymous||u instanceof hr||!u.type.isAnonymous||SR(u))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let s=this.index,o=this.stack.length;o>=0;){for(let a=e;a;a=a._parent)if(a.index==s){if(s==this.index)return a;t=a,i=o+1;break e}s=this.stack[--o]}for(let s=i;s<this.stack.length;s++)t=new ir(this.buffer,t,this.stack[s]);return this.bufferNode=new ir(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let s=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(s=!0)}for(;;){if(s&&t&&t(this),s=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,s=!0}}}matchContext(e){if(!this.buffer)return QA(this.node.parent,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let s=e.length-1,o=this.stack.length-1;s>=0;o--){if(o<0)return QA(this._tree,e,s);let a=i[t.buffer[this.stack[o]]];if(!a.isAnonymous){if(e[s]&&e[s]!=a.name)return!1;s--}}return!0}}function SR(n){return n.children.some(e=>e instanceof hr||!e.type.isAnonymous||SR(e))}function Pk(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:s=GD,reused:o=[],minRepeatType:a=i.types.length}=n,u=Array.isArray(t)?new AR(t,t.length):t,E=i.types,h=0,T=0;function A(U,G,B,F,oe,fe){let{id:ie,start:ee,end:Ee,size:ae}=u,Te=T,x=h;if(ae<0)if(u.next(),ae==-1){let P=o[ie];B.push(P),F.push(ee-U);return}else if(ae==-3){h=ie;return}else if(ae==-4){T=ie;return}else throw new RangeError(`Unrecognized record size: ${ae}`);let z=E[ie],ne,ce,J=ee-U;if(Ee-ee<=s&&(ce=C(u.pos-G,oe))){let P=new Uint16Array(ce.size-ce.skip),X=u.pos-ce.size,le=P.length;for(;u.pos>X;)le=L(ce.start,P,le);ne=new hr(P,Ee-ce.start,i),J=ce.start-U}else{let P=u.pos-ae;u.next();let X=[],le=[],se=ie>=a?ie:-1,he=0,Se=Ee;for(;u.pos>P;)se>=0&&u.id==se&&u.size>=0?(u.end<=Se-s&&(N(X,le,ee,he,u.end,Se,se,Te,x),he=X.length,Se=u.end),u.next()):fe>2500?R(ee,P,X,le):A(ee,P,X,le,se,fe+1);if(se>=0&&he>0&&he<X.length&&N(X,le,ee,he,ee,Se,se,Te,x),X.reverse(),le.reverse(),se>-1&&he>0){let ue=O(z,x);ne=RR(z,X,le,0,X.length,0,Ee-ee,ue,ue)}else ne=m(z,X,le,Ee-ee,Te-Ee,x)}B.push(ne),F.push(J)}function R(U,G,B,F){let oe=[],fe=0,ie=-1;for(;u.pos>G;){let{id:ee,start:Ee,end:ae,size:Te}=u;if(Te>4)u.next();else{if(ie>-1&&Ee<ie)break;ie<0&&(ie=ae-s),oe.push(ee,Ee,ae),fe++,u.next()}}if(fe){let ee=new Uint16Array(fe*4),Ee=oe[oe.length-2];for(let ae=oe.length-3,Te=0;ae>=0;ae-=3)ee[Te++]=oe[ae],ee[Te++]=oe[ae+1]-Ee,ee[Te++]=oe[ae+2]-Ee,ee[Te++]=Te;B.push(new hr(ee,oe[2]-Ee,i)),F.push(Ee-U)}}function O(U,G){return(B,F,oe)=>{let fe=0,ie=B.length-1,ee,Ee;if(ie>=0&&(ee=B[ie])instanceof Mt){if(!ie&&ee.type==U&&ee.length==oe)return ee;(Ee=ee.prop(Ye.lookAhead))&&(fe=F[ie]+ee.length+Ee)}return m(U,B,F,oe,fe,G)}}function N(U,G,B,F,oe,fe,ie,ee,Ee){let ae=[],Te=[];for(;U.length>F;)ae.push(U.pop()),Te.push(G.pop()+B-oe);U.push(m(i.types[ie],ae,Te,fe-oe,ee-fe,Ee)),G.push(oe-B)}function m(U,G,B,F,oe,fe,ie){if(fe){let ee=[Ye.contextHash,fe];ie=ie?[ee].concat(ie):[ee]}if(oe>25){let ee=[Ye.lookAhead,oe];ie=ie?[ee].concat(ie):[ee]}return new Mt(U,G,B,F,ie)}function C(U,G){let B=u.fork(),F=0,oe=0,fe=0,ie=B.end-s,ee={size:0,start:0,skip:0};e:for(let Ee=B.pos-U;B.pos>Ee;){let ae=B.size;if(B.id==G&&ae>=0){ee.size=F,ee.start=oe,ee.skip=fe,fe+=4,F+=4,B.next();continue}let Te=B.pos-ae;if(ae<0||Te<Ee||B.start<ie)break;let x=B.id>=a?4:0,z=B.start;for(B.next();B.pos>Te;){if(B.size<0)if(B.size==-3||B.size==-4)x+=4;else break e;else B.id>=a&&(x+=4);B.next()}oe=z,F+=ae,fe+=x}return(G<0||F==U)&&(ee.size=F,ee.start=oe,ee.skip=fe),ee.size>4?ee:void 0}function L(U,G,B){let{id:F,start:oe,end:fe,size:ie}=u;if(u.next(),ie>=0&&F<a){let ee=B;if(ie>4){let Ee=u.pos-(ie-4);for(;u.pos>Ee;)B=L(U,G,B)}G[--B]=ee,G[--B]=fe-U,G[--B]=oe-U,G[--B]=F}else ie==-3?h=F:ie==-4&&(T=F);return B}let D=[],_=[];for(;u.pos>0;)A(n.start||0,n.bufferStart||0,D,_,-1,0);let v=(e=n.length)!==null&&e!==void 0?e:D.length?_[0]+D[0].length:0;return new Mt(E[n.topID],D.reverse(),_.reverse(),v)}const UC=new WeakMap;function BE(n,e){if(!n.isAnonymous||e instanceof hr||e.type!=n)return 1;let t=UC.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof Mt)){t=1;break}t+=BE(n,i)}UC.set(e,t)}return t}function RR(n,e,t,i,s,o,a,u,E){let h=0;for(let N=i;N<s;N++)h+=BE(n,e[N]);let T=Math.ceil(h*1.5/8),A=[],R=[];function O(N,m,C,L,D){for(let _=C;_<L;){let v=_,U=m[_],G=BE(n,N[_]);for(_++;_<L;_++){let B=BE(n,N[_]);if(G+B>=T)break;G+=B}if(_==v+1){if(G>T){let B=N[v];O(B.children,B.positions,0,B.children.length,m[v]+D);continue}A.push(N[v])}else{let B=m[_-1]+N[_-1].length-U;A.push(RR(n,N,m,v,_,U,B,null,E))}R.push(U+D-o)}}return O(e,t,i,s,0),(u||E)(A,R,a)}class el{constructor(e,t,i,s,o=!1,a=!1){this.from=e,this.to=t,this.tree=i,this.offset=s,this.open=(o?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let s=[new el(0,e.length,e,0,!1,i)];for(let o of t)o.to>e.length&&s.push(o);return s}static applyChanges(e,t,i=128){if(!t.length)return e;let s=[],o=1,a=e.length?e[0]:null;for(let u=0,E=0,h=0;;u++){let T=u<t.length?t[u]:null,A=T?T.fromA:1e9;if(A-E>=i)for(;a&&a.from<A;){let R=a;if(E>=R.from||A<=R.to||h){let O=Math.max(R.from,E)-h,N=Math.min(R.to,A)-h;R=O>=N?null:new el(O,N,R.tree,R.offset+h,u>0,!!T)}if(R&&s.push(R),a.to>A)break;a=o<e.length?e[o++]:null}if(!T)break;E=T.toA,h=T.toA-T.toB}return s}}class YD{startParse(e,t,i){return typeof e=="string"&&(e=new yk(e)),i=i?i.length?i.map(s=>new iA(s.from,s.to)):[new iA(0,0)]:[new iA(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let s=this.startParse(e,t,i);for(;;){let o=s.advance();if(o)return o}}}class yk{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new Ye({perNode:!0});var bC={};class ef{constructor(e,t,i,s,o,a,u,E,h,T=0,A){this.p=e,this.stack=t,this.state=i,this.reducePos=s,this.pos=o,this.score=a,this.buffer=u,this.bufferBase=E,this.curContext=h,this.lookAhead=T,this.parent=A}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let s=e.parser.context;return new ef(e,[],t,i,i,0,[],0,s?new xC(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,s=e&65535,{parser:o}=this.p,a=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),u=o.dynamicPrecedence(s);if(u&&(this.score+=u),i==0){s<o.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(o.getGoto(this.state,s,!0),this.reducePos),s<o.minRepeatTerm&&this.storeNode(s,this.reducePos,this.reducePos,a?8:4,!0),this.reduceContext(s,this.reducePos);return}let E=this.stack.length-(i-1)*3-(e&262144?6:0),h=E?this.stack[E-2]:this.p.ranges[0].from;s<o.minRepeatTerm&&h==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let T=this.reducePos-h;T>=2e3&&!(!((t=this.p.parser.nodeSet.types[s])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=T):this.p.lastBigReductionSize<T&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=h,this.p.lastBigReductionSize=T));let A=E?this.stack[E-1]:0,R=this.bufferBase+this.buffer.length-A;if(s<o.minRepeatTerm||e&131072){let O=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(s,h,O,R+4,!0)}if(e&262144)this.state=this.stack[E];else{let O=this.stack[E-3];this.state=o.getGoto(O,s,!0)}for(;this.stack.length>E;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,t,i,s=4,o=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let a=this.buffer.length;if(a>0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(t==i)return;if(this.buffer[a-2]>=t){this.buffer[a-2]=i;return}}}if(!o||this.pos==i)this.buffer.push(e,t,i,s);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let u=!1;for(let E=a;E>0&&this.buffer[E-2]>i;E-=4)if(this.buffer[E-1]>=0){u=!0;break}if(u)for(;a>0&&this.buffer[a-2]>i;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,s>4&&(s-=4)}this.buffer[a]=e,this.buffer[a+1]=t,this.buffer[a+2]=i,this.buffer[a+3]=s}}shift(e,t,i,s){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let o=e,{parser:a}=this.p;this.pos=s;let u=a.stateFlag(o,1);!u&&(s>i||t<=a.maxNode)&&(this.reducePos=s),this.pushState(o,u?i:Math.min(i,this.reducePos)),this.shiftContext(t,i),t<=a.maxNode&&this.buffer.push(t,i,s,4)}else this.pos=s,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,s,4)}apply(e,t,i,s){e&65536?this.reduce(e):this.shift(e,t,i,s)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(i,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new ef(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new vk(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let s=[];for(let o=0,a;o<t.length;o+=2)(a=t[o+1])!=this.state&&this.p.parser.hasAction(a,e)&&s.push(t[o],a);if(this.stack.length<120)for(let o=0;s.length<8&&o<t.length;o+=2){let a=t[o+1];s.some((u,E)=>E&1&&u==a)||s.push(t[o],a)}t=s}let i=[];for(let s=0;s<t.length&&i.length<4;s+=2){let o=t[s+1];if(o==this.state)continue;let a=this.split();a.pushState(o,this.pos),a.storeNode(0,a.pos,a.pos,4,!0),a.shiftContext(t[s],this.pos),a.reducePos=this.pos,a.score-=200,i.push(a)}return i}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if((t&65536)==0)return!1;if(!e.validAction(this.state,t)){let i=t>>19,s=t&65535,o=this.stack.length-i*3;if(o<0||e.getGoto(this.stack[o],s,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;t=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(s,o)=>{if(!t.includes(s))return t.push(s),e.allActions(s,a=>{if(!(a&393216))if(a&65536){let u=(a>>19)-o;if(u>1){let E=a&65535,h=this.stack.length-u*3;if(h>=0&&e.getGoto(this.stack[h],E,!1)>=0)return u<<19|65536|E}}else{let u=i(a,o+1);if(u!=null)return u}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new xC(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class xC{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class vk{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class tf{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new tf(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new tf(this.stack,this.pos,this.index)}}function lE(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let i=0,s=0;i<n.length;){let o=0;for(;;){let a=n.charCodeAt(i++),u=!1;if(a==126){o=65535;break}a>=92&&a--,a>=34&&a--;let E=a-32;if(E>=46&&(E-=46,u=!0),o+=E,u)break;o*=46}t?t[s++]=o:t=new e(o)}return t}class GE{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const BC=new GE;class Uk{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=BC,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,s=this.rangeIndex,o=this.pos+e;for(;o<i.from;){if(!s)return null;let a=this.ranges[--s];o-=i.from-a.to,i=a}for(;t<0?o>i.to:o>=i.to;){if(s==this.ranges.length-1)return null;let a=this.ranges[++s];o+=a.from-i.to,i=a}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,s;if(t>=0&&t<this.chunk.length)i=this.pos+e,s=this.chunk.charCodeAt(t);else{let o=this.resolveOffset(e,1);if(o==null)return-1;if(i=o,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)s=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let a=this.rangeIndex,u=this.range;for(;u.to<=i;)u=this.ranges[++a];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>u.to&&(this.chunk2=this.chunk2.slice(0,u.to-i)),s=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),s}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=BC,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(i+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return i}}class ho{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;xk(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}ho.prototype.contextual=ho.prototype.fallback=ho.prototype.extend=!1;ho.prototype.fallback=ho.prototype.extend=!1;class bk{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function xk(n,e,t,i,s,o){let a=0,u=1<<i,{dialect:E}=t.p.parser;e:for(;(u&n[a])!=0;){let h=n[a+1];for(let O=a+3;O<h;O+=2)if((n[O+1]&u)>0){let N=n[O];if(E.allows(N)&&(e.token.value==-1||e.token.value==N||Bk(N,e.token.value,s,o))){e.acceptToken(N);break}}let T=e.next,A=0,R=n[a+2];if(e.next<0&&R>A&&n[h+R*3-3]==65535){a=n[h+R*3-1];continue e}for(;A<R;){let O=A+R>>1,N=h+O+(O<<1),m=n[N],C=n[N+1]||65536;if(T<m)R=O;else if(T>=C)A=O+1;else{a=n[N+2],e.advance();continue e}}break}}function GC(n,e,t){for(let i=e,s;(s=n[i])!=65535;i++)if(s==t)return i-e;return-1}function Bk(n,e,t,i){let s=GC(t,i,e);return s<0||GC(t,i,n)<s}const Yn=typeof process<"u"&&bC&&/\bparse\b/.test(bC.LOG);let sA=null;function HC(n,e,t){let i=n.cursor(mt.IncludeAnonymous);for(i.moveTo(e);;)if(!(t<0?i.childBefore(e):i.childAfter(e)))for(;;){if((t<0?i.to<e:i.from>e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(n.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:n.length}}class Gk{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?HC(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?HC(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let i=this.trees[t],s=this.index[t];if(s==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=i.children[s],a=this.start[t]+i.positions[s];if(a>e)return this.nextStart=a,null;if(o instanceof Mt){if(a==e){if(a<this.safeFrom)return null;let u=a+o.length;if(u<=this.safeTo){let E=o.prop(Ye.lookAhead);if(!E||u+E<this.fragment.to)return o}}this.index[t]++,a+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+o.length}}}class Hk{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new GE)}getActions(e){let t=0,i=null,{parser:s}=e.p,{tokenizers:o}=s,a=s.stateSlot(e.state,3),u=e.curContext?e.curContext.hash:0,E=0;for(let h=0;h<o.length;h++){if((1<<h&a)==0)continue;let T=o[h],A=this.tokens[h];if(!(i&&!T.fallback)&&((T.contextual||A.start!=e.pos||A.mask!=a||A.context!=u)&&(this.updateCachedToken(A,T,e),A.mask=a,A.context=u),A.lookAhead>A.end+25&&(E=Math.max(A.lookAhead,E)),A.value!=0)){let R=t;if(A.extended>-1&&(t=this.addActions(e,A.extended,A.end,t)),t=this.addActions(e,A.value,A.end,t),!T.extend&&(i=A,t>R))break}}for(;this.actions.length>t;)this.actions.pop();return E&&e.setLookAhead(E),!i&&e.pos==this.stream.end&&(i=new GE,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new GE,{pos:i,p:s}=e;return t.start=i,t.end=Math.min(i+1,s.stream.end),t.value=i==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,i){let s=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(s,e),i),e.value>-1){let{parser:o}=i.p;for(let a=0;a<o.specialized.length;a++)if(o.specialized[a]==e.value){let u=o.specializers[a](this.stream.read(e.start,e.end),i);if(u>=0&&i.p.parser.dialect.allows(u>>1)){(u&1)==0?e.value=u>>1:e.extended=u>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,i,s){for(let o=0;o<s;o+=3)if(this.actions[o]==e)return s;return this.actions[s++]=e,this.actions[s++]=t,this.actions[s++]=i,s}addActions(e,t,i,s){let{state:o}=e,{parser:a}=e.p,{data:u}=a;for(let E=0;E<2;E++)for(let h=a.stateSlot(o,E?2:1);;h+=3){if(u[h]==65535)if(u[h+1]==1)h=Ss(u,h+2);else{s==0&&u[h+1]==2&&(s=this.putAction(Ss(u,h+2),t,i,s));break}u[h]==t&&(s=this.putAction(Ss(u,h+1),t,i,s))}return s}}class wk{constructor(e,t,i,s){this.parser=e,this.input=t,this.ranges=s,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Uk(t,s),this.tokens=new Hk(e,this.stream),this.topTerm=e.top[1];let{from:o}=s[0];this.stacks=[ef.start(this,e.top[0],o)],this.fragments=i.length&&this.stream.end-o>e.bufferLength*4?new Gk(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],s,o;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let u=e[a];for(;;){if(this.tokens.mainToken=null,u.pos>t)i.push(u);else{if(this.advanceStack(u,i,e))continue;{s||(s=[],o=[]),s.push(u);let E=this.tokens.getMainToken(u);o.push(E.value,E.end)}}break}}if(!i.length){let a=s&&Yk(s);if(a)return Yn&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Yn&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&s){let a=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,o,i);if(a)return Yn&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(i.length>a)for(i.sort((u,E)=>E.score-u.score);i.length>a;)i.pop();i.some(u=>u.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let a=0;a<i.length-1;a++){let u=i[a];for(let E=a+1;E<i.length;E++){let h=i[E];if(u.sameState(h)||u.buffer.length>500&&h.buffer.length>500)if((u.score-h.score||u.buffer.length-h.buffer.length)>0)i.splice(E--,1);else{i.splice(a--,1);continue e}}}i.length>12&&(i.sort((a,u)=>u.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a<i.length;a++)i[a].pos<this.minStackPos&&(this.minStackPos=i[a].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,i){let s=e.pos,{parser:o}=this,a=Yn?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,T=h?e.curContext.hash:0;for(let A=this.fragments.nodeAt(s);A;){let R=this.parser.nodeSet.types[A.type.id]==A.type?o.getGoto(e.state,A.type.id):-1;if(R>-1&&A.length&&(!h||(A.prop(Ye.contextHash)||0)==T))return e.useNode(A,R),Yn&&console.log(a+this.stackID(e)+` (via reuse of ${o.getName(A.type.id)})`),!0;if(!(A instanceof Mt)||A.children.length==0||A.positions[0]>0)break;let O=A.children[0];if(O instanceof Mt&&A.positions[0]==0)A=O;else break}}let u=o.stateSlot(e.state,4);if(u>0)return e.reduce(u),Yn&&console.log(a+this.stackID(e)+` (via always-reduce ${o.getName(u&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let E=this.tokens.getActions(e);for(let h=0;h<E.length;){let T=E[h++],A=E[h++],R=E[h++],O=h==E.length||!i,N=O?e:e.split(),m=this.tokens.mainToken;if(N.apply(T,A,m?m.start:N.pos,R),Yn&&console.log(a+this.stackID(N)+` (via ${(T&65536)==0?"shift":`reduce of ${o.getName(T&65535)}`} for ${o.getName(A)} @ ${s}${N==e?"":", split"})`),O)return!0;N.pos>s?t.push(N):i.push(N)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return wC(e,t),!0}}runRecovery(e,t,i){let s=null,o=!1;for(let a=0;a<e.length;a++){let u=e[a],E=t[a<<1],h=t[(a<<1)+1],T=Yn?this.stackID(u)+" -> ":"";if(u.deadEnd&&(o||(o=!0,u.restart(),Yn&&console.log(T+this.stackID(u)+" (restarted)"),this.advanceFully(u,i))))continue;let A=u.split(),R=T;for(let O=0;O<10&&A.forceReduce()&&(Yn&&console.log(R+this.stackID(A)+" (via force-reduce)"),!this.advanceFully(A,i));O++)Yn&&(R=this.stackID(A)+" -> ");for(let O of u.recoverByInsert(E))Yn&&console.log(T+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,i);this.stream.end>u.pos?(h==u.pos&&(h++,E=0),u.recoverByDelete(E,h),Yn&&console.log(T+this.stackID(u)+` (via recover-delete ${this.parser.getName(E)})`),wC(u,i)):(!s||s.score<A.score)&&(s=A)}return s}stackToTree(e){return e.close(),Mt.build({buffer:tf.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(sA||(sA=new WeakMap)).get(e);return t||sA.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function wC(n,e){for(let t=0;t<e.length;t++){let i=e[t];if(i.pos==n.pos&&i.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class Fk{constructor(e,t,i){this.source=e,this.flags=t,this.disabled=i}allows(e){return!this.disabled||this.disabled[e]==0}}class ic extends YD{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let u=0;u<e.repeatNodeCount;u++)t.push("");let i=Object.keys(e.topRules).map(u=>e.topRules[u][1]),s=[];for(let u=0;u<t.length;u++)s.push([]);function o(u,E,h){s[u].push([E,E.deserialize(String(h))])}if(e.nodeProps)for(let u of e.nodeProps){let E=u[0];typeof E=="string"&&(E=Ye[E]);for(let h=1;h<u.length;){let T=u[h++];if(T>=0)o(T,E,u[h++]);else{let A=u[h+-T];for(let R=-T;R>0;R--)o(u[h++],E,A);h++}}}this.nodeSet=new dR(t.map((u,E)=>Pn.define({name:E>=this.minRepeatTerm?void 0:u,id:E,props:s[E],top:i.indexOf(E)>-1,error:E==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(E)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=GD;let a=lE(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let u=0;u<this.specializerSpecs.length;u++)this.specialized[u]=this.specializerSpecs[u].term;this.specializers=this.specializerSpecs.map(FC),this.states=lE(e.states,Uint32Array),this.data=lE(e.stateData),this.goto=lE(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(u=>typeof u=="number"?new ho(a,u):u),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let s=new wk(this,e,t,i);for(let o of this.wrappers)s=o(s,e,t,i);return s}getGoto(e,t,i=!1){let s=this.goto;if(t>=s[0])return-1;for(let o=s[t+1];;){let a=s[o++],u=a&1,E=s[o++];if(u&&i)return E;for(let h=o+(a>>1);o<h;o++)if(s[o]==e)return E;if(u)return-1}}hasAction(e,t){let i=this.data;for(let s=0;s<2;s++)for(let o=this.stateSlot(e,s?2:1),a;;o+=3){if((a=i[o])==65535)if(i[o+1]==1)a=i[o=Ss(i,o+2)];else{if(i[o+1]==2)return Ss(i,o+2);break}if(a==t||a==0)return Ss(i,o+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),s=i?t(i):void 0;for(let o=this.stateSlot(e,1);s==null;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=Ss(this.data,o+2);else break;s=t(Ss(this.data,o+1))}return s}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Ss(this.data,i+2);else break;if((this.data[i+2]&1)==0){let s=this.data[i+1];t.some((o,a)=>a&1&&o==s)||t.push(this.data[i],s)}}return t}configure(e){let t=Object.assign(Object.create(ic.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let s=e.tokenizers.find(o=>o.from==i);return s?s.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,s)=>{let o=e.specializers.find(u=>u.from==i.external);if(!o)return i;let a=Object.assign(Object.assign({},i),{external:o.to});return t.specializers[s]=FC(a),a})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let o of e.split(" ")){let a=t.indexOf(o);a>=0&&(i[a]=!0)}let s=null;for(let o=0;o<t.length;o++)if(!i[o])for(let a=this.dialects[t[o]],u;(u=this.data[a++])!=65535;)(s||(s=new Uint8Array(this.maxTerm+1)))[u]=1;return new Fk(e,i,s)}static deserialize(e){return new ic(e)}}function Ss(n,e){return n[e]|n[e+1]<<16}function Yk(n){let e=null;for(let t of n){let i=t.p.stoppedAt;(t.pos==t.p.stream.end||i!=null&&t.pos>i)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function FC(n){if(n.external){let e=n.extend?1:0;return(t,i)=>n.external(t,i)<<1|e}return n.get}let kk=0;class si{constructor(e,t,i,s){this.name=e,this.set=t,this.base=i,this.modified=s,this.id=kk++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof si&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let s=new si(i,[],null,[]);if(s.set.push(s),t)for(let o of t.set)s.set.push(o);return s}static defineModifier(e){let t=new nf(e);return i=>i.modified.indexOf(t)>-1?i:nf.get(i.base||i,i.modified.concat(t).sort((s,o)=>s.id-o.id))}}let Vk=0;class nf{constructor(e){this.name=e,this.instances=[],this.id=Vk++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(u=>u.base==e&&Wk(t,u.modified));if(i)return i;let s=[],o=new si(e.name,s,e,t);for(let u of t)u.instances.push(o);let a=Xk(t);for(let u of e.set)if(!u.modified.length)for(let E of a)s.push(nf.get(u,E));return o}}function Wk(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function Xk(n){let e=[[]];for(let t=0;t<n.length;t++)for(let i=0,s=e.length;i<s;i++)e.push(e[i].concat(n[t]));return e.sort((t,i)=>i.length-t.length)}function NR(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let s of t.split(" "))if(s){let o=[],a=2,u=s;for(let A=0;;){if(u=="..."&&A>0&&A+3==s.length){a=1;break}let R=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(u);if(!R)throw new RangeError("Invalid path: "+s);if(o.push(R[0]=="*"?"":R[0][0]=='"'?JSON.parse(R[0]):R[0]),A+=R[0].length,A==s.length)break;let O=s[A++];if(A==s.length&&O=="!"){a=0;break}if(O!="/")throw new RangeError("Invalid path: "+s);u=s.slice(A)}let E=o.length-1,h=o[E];if(!h)throw new RangeError("Invalid path: "+s);let T=new sc(i,a,E>0?o.slice(0,E):null);e[h]=T.sort(e[h])}}return kD.add(e)}const kD=new Ye({combine(n,e){let t,i,s;for(;n||e;){if(!n||e&&n.depth>=e.depth?(s=e,e=e.next):(s=n,n=n.next),t&&t.mode==s.mode&&!s.context&&!t.context)continue;let o=new sc(s.tags,s.mode,s.context);t?t.next=o:i=o,t=o}return i}});class sc{constructor(e,t,i,s){this.tags=e,this.mode=t,this.context=i,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}sc.empty=new sc([],2,null);function VD(n,e){let t=Object.create(null);for(let o of n)if(!Array.isArray(o.tag))t[o.tag.id]=o.class;else for(let a of o.tag)t[a.id]=o.class;let{scope:i,all:s=null}=e||{};return{style:o=>{let a=s;for(let u of o)for(let E of u.set){let h=t[E.id];if(h){a=a?a+" "+h:h;break}}return a},scope:i}}function Kk(n,e){let t=null;for(let i of n){let s=i.style(e);s&&(t=t?t+" "+s:s)}return t}function zk(n,e,t,i=0,s=n.length){let o=new $k(i,Array.isArray(e)?e:[e],t);o.highlightRange(n.cursor(),i,s,"",o.highlighters),o.flush(s)}class $k{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,s,o){let{type:a,from:u,to:E}=e;if(u>=i||E<=t)return;a.isTop&&(o=this.highlighters.filter(O=>!O.scope||O.scope(a)));let h=s,T=jk(e)||sc.empty,A=Kk(o,T.tags);if(A&&(h&&(h+=" "),h+=A,T.mode==1&&(s+=(s?" ":"")+A)),this.startSpan(Math.max(t,u),h),T.opaque)return;let R=e.tree&&e.tree.prop(Ye.mounted);if(R&&R.overlay){let O=e.node.enter(R.overlay[0].from+u,1),N=this.highlighters.filter(C=>!C.scope||C.scope(R.tree.type)),m=e.firstChild();for(let C=0,L=u;;C++){let D=C<R.overlay.length?R.overlay[C]:null,_=D?D.from+u:E,v=Math.max(t,L),U=Math.min(i,_);if(v<U&&m)for(;e.from<U&&(this.highlightRange(e,v,U,s,o),this.startSpan(Math.min(U,e.to),h),!(e.to>=_||!e.nextSibling())););if(!D||_>i)break;L=D.to+u,L>t&&(this.highlightRange(O.cursor(),Math.max(t,D.from+u),Math.min(i,L),"",N),this.startSpan(Math.min(i,L),h))}m&&e.parent()}else if(e.firstChild()){R&&(s="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,s,o),this.startSpan(Math.min(i,e.to),h)}while(e.nextSibling());e.parent()}}}function jk(n){let e=n.type.prop(kD);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const de=si.define,oE=de(),Zs=de(),YC=de(Zs),kC=de(Zs),er=de(),aE=de(er),rA=de(er),xi=de(),Xr=de(xi),yi=de(),vi=de(),eS=de(),Ua=de(eS),cE=de(),w={comment:oE,lineComment:de(oE),blockComment:de(oE),docComment:de(oE),name:Zs,variableName:de(Zs),typeName:YC,tagName:de(YC),propertyName:kC,attributeName:de(kC),className:de(Zs),labelName:de(Zs),namespace:de(Zs),macroName:de(Zs),literal:er,string:aE,docString:de(aE),character:de(aE),attributeValue:de(aE),number:rA,integer:de(rA),float:de(rA),bool:de(er),regexp:de(er),escape:de(er),color:de(er),url:de(er),keyword:yi,self:de(yi),null:de(yi),atom:de(yi),unit:de(yi),modifier:de(yi),operatorKeyword:de(yi),controlKeyword:de(yi),definitionKeyword:de(yi),moduleKeyword:de(yi),operator:vi,derefOperator:de(vi),arithmeticOperator:de(vi),logicOperator:de(vi),bitwiseOperator:de(vi),compareOperator:de(vi),updateOperator:de(vi),definitionOperator:de(vi),typeOperator:de(vi),controlOperator:de(vi),punctuation:eS,separator:de(eS),bracket:Ua,angleBracket:de(Ua),squareBracket:de(Ua),paren:de(Ua),brace:de(Ua),content:xi,heading:Xr,heading1:de(Xr),heading2:de(Xr),heading3:de(Xr),heading4:de(Xr),heading5:de(Xr),heading6:de(Xr),contentSeparator:de(xi),list:de(xi),quote:de(xi),emphasis:de(xi),strong:de(xi),link:de(xi),monospace:de(xi),strikethrough:de(xi),inserted:de(),deleted:de(),changed:de(),invalid:de(),meta:cE,documentMeta:de(cE),annotation:de(cE),processingInstruction:de(cE),definition:si.defineModifier("definition"),constant:si.defineModifier("constant"),function:si.defineModifier("function"),standard:si.defineModifier("standard"),local:si.defineModifier("local"),special:si.defineModifier("special")};for(let n in w){let e=w[n];e instanceof si&&(e.name=n)}VD([{tag:w.link,class:"tok-link"},{tag:w.heading,class:"tok-heading"},{tag:w.emphasis,class:"tok-emphasis"},{tag:w.strong,class:"tok-strong"},{tag:w.keyword,class:"tok-keyword"},{tag:w.atom,class:"tok-atom"},{tag:w.bool,class:"tok-bool"},{tag:w.url,class:"tok-url"},{tag:w.labelName,class:"tok-labelName"},{tag:w.inserted,class:"tok-inserted"},{tag:w.deleted,class:"tok-deleted"},{tag:w.literal,class:"tok-literal"},{tag:w.string,class:"tok-string"},{tag:w.number,class:"tok-number"},{tag:[w.regexp,w.escape,w.special(w.string)],class:"tok-string2"},{tag:w.variableName,class:"tok-variableName"},{tag:w.local(w.variableName),class:"tok-variableName tok-local"},{tag:w.definition(w.variableName),class:"tok-variableName tok-definition"},{tag:w.special(w.variableName),class:"tok-variableName2"},{tag:w.definition(w.propertyName),class:"tok-propertyName tok-definition"},{tag:w.typeName,class:"tok-typeName"},{tag:w.namespace,class:"tok-namespace"},{tag:w.className,class:"tok-className"},{tag:w.macroName,class:"tok-macroName"},{tag:w.propertyName,class:"tok-propertyName"},{tag:w.operator,class:"tok-operator"},{tag:w.comment,class:"tok-comment"},{tag:w.meta,class:"tok-meta"},{tag:w.invalid,class:"tok-invalid"},{tag:w.punctuation,class:"tok-punctuation"}]);const Jk=NR({String:w.string,Number:w.number,"True False":w.bool,PropertyName:w.propertyName,Null:w.null,", :":w.separator,"[ ]":w.squareBracket,"{ }":w.brace}),qk=ic.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Jk],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let tS=[],WD=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?WD:tS).push(t=t+n[e])})();function Qk(n){if(n<768)return!1;for(let e=0,t=tS.length;;){let i=e+t>>1;if(n<tS[i])t=i;else if(n>=WD[i])e=i+1;else return!0;if(e==t)return!1}}function VC(n){return n>=127462&&n<=127487}const WC=8205;function Zk(n,e,t=!0,i=!0){return(t?XD:eV)(n,e,i)}function XD(n,e,t){if(e==n.length)return e;e&&KD(n.charCodeAt(e))&&zD(n.charCodeAt(e-1))&&e--;let i=lA(n,e);for(e+=XC(i);e<n.length;){let s=lA(n,e);if(i==WC||s==WC||t&&Qk(s))e+=XC(s),i=s;else if(VC(s)){let o=0,a=e-2;for(;a>=0&&VC(lA(n,a));)o++,a-=2;if(o%2==0)break;e+=2}else break}return e}function eV(n,e,t){for(;e>1;){let i=XD(n,e-2,t);if(i<e)return i;e--}return 0}function lA(n,e){let t=n.charCodeAt(e);if(!zD(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return KD(i)?(t-55296<<10)+(i-56320)+65536:t}function KD(n){return n>=56320&&n<57344}function zD(n){return n>=55296&&n<56320}function XC(n){return n<65536?1:2}class je{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=po(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),Hi.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=po(this,e,t);let i=[];return this.decompose(e,t,i,0),Hi.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new za(this),o=new za(e);for(let a=t,u=t;;){if(s.next(a),o.next(a),a=0,s.lineBreak!=o.lineBreak||s.done!=o.done||s.value!=o.value)return!1;if(u+=s.value.length,s.done||u>=i)return!0}}iter(e=1){return new za(this,e)}iterRange(e,t=this.length){return new $D(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new jD(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?je.empty:e.length<=32?new Dt(e):Hi.from(Dt.split(e,[]))}}class Dt extends je{constructor(e,t=tV(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let o=0;;o++){let a=this.text[o],u=s+a.length;if((t?i:u)>=e)return new nV(s,u,i,a);s=u+1,i++}}decompose(e,t,i,s){let o=e<=0&&t>=this.length?this:new Dt(KC(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let a=i.pop(),u=HE(o.text,a.text.slice(),0,o.length);if(u.length<=32)i.push(new Dt(u,a.length+o.length));else{let E=u.length>>1;i.push(new Dt(u.slice(0,E)),new Dt(u.slice(E)))}}else i.push(o)}replace(e,t,i){if(!(i instanceof Dt))return super.replace(e,t,i);[e,t]=po(this,e,t);let s=HE(this.text,HE(i.text,KC(this.text,0,e)),t),o=this.length+i.length-(t-e);return s.length<=32?new Dt(s,o):Hi.from(Dt.split(s,[]),o)}sliceString(e,t=this.length,i=`
|
|
224
|
+
`){[e,t]=po(this,e,t);let s="";for(let o=0,a=0;o<=t&&a<this.text.length;a++){let u=this.text[a],E=o+u.length;o>e&&a&&(s+=i),e<E&&t>o&&(s+=u.slice(Math.max(0,e-o),t-o)),o=E+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let o of e)i.push(o),s+=o.length+1,i.length==32&&(t.push(new Dt(i,s)),i=[],s=-1);return s>-1&&t.push(new Dt(i,s)),t}}class Hi extends je{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let o=0;;o++){let a=this.children[o],u=s+a.length,E=i+a.lines-1;if((t?E:u)>=e)return a.lineInner(e,t,i,s);s=u+1,i=E+1}}decompose(e,t,i,s){for(let o=0,a=0;a<=t&&o<this.children.length;o++){let u=this.children[o],E=a+u.length;if(e<=E&&t>=a){let h=s&((a<=e?1:0)|(E>=t?2:0));a>=e&&E<=t&&!h?i.push(u):u.decompose(e-a,t-a,i,h)}a=E+1}}replace(e,t,i){if([e,t]=po(this,e,t),i.lines<this.lines)for(let s=0,o=0;s<this.children.length;s++){let a=this.children[s],u=o+a.length;if(e>=o&&t<=u){let E=a.replace(e-o,t-o,i),h=this.lines-a.lines+E.lines;if(E.lines<h>>4&&E.lines>h>>6){let T=this.children.slice();return T[s]=E,new Hi(T,this.length-(t-e)+i.length)}return super.replace(o,u,E)}o=u+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
|
225
|
+
`){[e,t]=po(this,e,t);let s="";for(let o=0,a=0;o<this.children.length&&a<=t;o++){let u=this.children[o],E=a+u.length;a>e&&o&&(s+=i),e<E&&t>a&&(s+=u.sliceString(e-a,t-a,i)),a=E+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Hi))return 0;let i=0,[s,o,a,u]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,o+=t){if(s==a||o==u)return i;let E=this.children[s],h=e.children[o];if(E!=h)return i+E.scanIdentical(h,t);i+=E.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let O of e)i+=O.lines;if(i<32){let O=[];for(let N of e)N.flatten(O);return new Dt(O,t)}let s=Math.max(32,i>>5),o=s<<1,a=s>>1,u=[],E=0,h=-1,T=[];function A(O){let N;if(O.lines>o&&O instanceof Hi)for(let m of O.children)A(m);else O.lines>a&&(E>a||!E)?(R(),u.push(O)):O instanceof Dt&&E&&(N=T[T.length-1])instanceof Dt&&O.lines+N.lines<=32?(E+=O.lines,h+=O.length+1,T[T.length-1]=new Dt(N.text.concat(O.text),N.length+1+O.length)):(E+O.lines>s&&R(),E+=O.lines,h+=O.length+1,T.push(O))}function R(){E!=0&&(u.push(T.length==1?T[0]:Hi.from(T,h)),h=-1,E=T.length=0)}for(let O of e)A(O);return R(),u.length==1?u[0]:new Hi(u,t)}}je.empty=new Dt([""],0);function tV(n){let e=-1;for(let t of n)e+=t.length+1;return e}function HE(n,e,t=0,i=1e9){for(let s=0,o=0,a=!0;o<n.length&&s<=i;o++){let u=n[o],E=s+u.length;E>=t&&(E>i&&(u=u.slice(0,i-s)),s<t&&(u=u.slice(t-s)),a?(e[e.length-1]+=u,a=!1):e.push(u)),s=E+1}return e}function KC(n,e,t){return HE(n,[""],e,t)}class za{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Dt?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],o=this.offsets[i],a=o>>1,u=s instanceof Dt?s.text.length:s.children.length;if(a==(t>0?u:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((o&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
226
|
+
`,this;e--}else if(s instanceof Dt){let E=s.text[a+(t<0?-1:0)];if(this.offsets[i]+=t,E.length>Math.max(0,e))return this.value=e==0?E:t>0?E.slice(e):E.slice(0,E.length-e),this;e-=E.length}else{let E=s.children[a+(t<0?-1:0)];e>E.length?(e-=E.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(E),this.offsets.push(t>0?1:(E instanceof Dt?E.text.length:E.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class $D{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new za(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class jD{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(je.prototype[Symbol.iterator]=function(){return this.iter()},za.prototype[Symbol.iterator]=$D.prototype[Symbol.iterator]=jD.prototype[Symbol.iterator]=function(){return this});class nV{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}function po(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function zt(n,e,t=!0,i=!0){return Zk(n,e,t,i)}function iV(n){return n>=56320&&n<57344}function sV(n){return n>=55296&&n<56320}function gn(n,e){let t=n.charCodeAt(e);if(!sV(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return iV(i)?(t-55296<<10)+(i-56320)+65536:t}function mR(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function wi(n){return n<65536?1:2}const nS=/\r\n?|\n/;var dn=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(dn||(dn={}));class Ki{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let o=this.sections[t++],a=this.sections[t++];a<0?(e(i,s,o),s+=o):s+=a,i+=o}}iterChangedRanges(e,t=!1){iS(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s,i)}return new Ki(e)}composeDesc(e){return this.empty?e:e.empty?this:JD(this,e)}mapDesc(e,t=!1){return e.empty?this:sS(this,e,t)}mapPos(e,t=-1,i=dn.Simple){let s=0,o=0;for(let a=0;a<this.sections.length;){let u=this.sections[a++],E=this.sections[a++],h=s+u;if(E<0){if(h>e)return o+(e-s);o+=u}else{if(i!=dn.Simple&&h>=e&&(i==dn.TrackDel&&s<e&&h>e||i==dn.TrackBefore&&s<e||i==dn.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!u)return e==s||t<0?o:o+E;o+=E}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return o}touchesRange(e,t=e){for(let i=0,s=0;i<this.sections.length&&s<=t;){let o=this.sections[i++],a=this.sections[i++],u=s+o;if(a>=0&&s<=t&&u>=e)return s<e&&u>t?"cover":!0;s=u}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];e+=(e?" ":"")+i+(s>=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Ki(e)}static create(e){return new Ki(e)}}class Ft extends Ki{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return iS(this,(t,i,s,o,a)=>e=e.replace(s,s+(i-t),a),!1),e}mapDesc(e,t=!1){return sS(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,o=0;s<t.length;s+=2){let a=t[s],u=t[s+1];if(u>=0){t[s]=u,t[s+1]=a;let E=s>>1;for(;i.length<E;)i.push(je.empty);i.push(a?e.slice(o,o+a):je.empty)}o+=a}return new Ft(t,i)}compose(e){return this.empty?e:e.empty?this:JD(this,e,!0)}map(e,t=!1){return e.empty?this:sS(this,e,t,!0)}iterChanges(e,t=!1){iS(this,e,t)}get desc(){return Ki.create(this.sections)}filter(e){let t=[],i=[],s=[],o=new rc(this);e:for(let a=0,u=0;;){let E=a==e.length?1e9:e[a++];for(;u<E||u==E&&o.len==0;){if(o.done)break e;let T=Math.min(o.len,E-u);cn(s,T,-1);let A=o.ins==-1?-1:o.off==0?o.ins:0;cn(t,T,A),A>0&&sr(i,t,o.text),o.forward(T),u+=T}let h=e[a++];for(;u<h;){if(o.done)break e;let T=Math.min(o.len,h-u);cn(t,T,-1),cn(s,T,o.ins==-1?-1:o.off==0?o.ins:0),o.forward(T),u+=T}}return{changes:new Ft(t,i),filtered:Ki.create(s)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],s=this.sections[t+1];s<0?e.push(i):s==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let s=[],o=[],a=0,u=null;function E(T=!1){if(!T&&!s.length)return;a<t&&cn(s,t-a,-1);let A=new Ft(s,o);u=u?u.compose(A.map(u)):A,s=[],o=[],a=0}function h(T){if(Array.isArray(T))for(let A of T)h(A);else if(T instanceof Ft){if(T.length!=t)throw new RangeError(`Mismatched change set length (got ${T.length}, expected ${t})`);E(),u=u?u.compose(T.map(u)):T}else{let{from:A,to:R=A,insert:O}=T;if(A>R||A<0||R>t)throw new RangeError(`Invalid change range ${A} to ${R} (in doc of length ${t})`);let N=O?typeof O=="string"?je.of(O.split(i||nS)):O:je.empty,m=N.length;if(A==R&&m==0)return;A<a&&E(),A>a&&cn(s,A-a,-1),cn(s,R-A,m),sr(o,s,N),a=R}}return h(e),E(!u),u}static empty(e){return new Ft(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let s=0;s<e.length;s++){let o=e[s];if(typeof o=="number")t.push(o,-1);else{if(!Array.isArray(o)||typeof o[0]!="number"||o.some((a,u)=>u&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(o.length==1)t.push(o[0],0);else{for(;i.length<s;)i.push(je.empty);i[s]=je.of(o.slice(1)),t.push(o[0],i[s].length)}}}return new Ft(t,i)}static createSet(e,t){return new Ft(e,t)}}function cn(n,e,t,i=!1){if(e==0&&t<=0)return;let s=n.length-2;s>=0&&t<=0&&t==n[s+1]?n[s]+=e:s>=0&&e==0&&n[s]==0?n[s+1]+=t:i?(n[s]+=e,n[s+1]+=t):n.push(e,t)}function sr(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(je.empty);n.push(t)}}function iS(n,e,t){let i=n.inserted;for(let s=0,o=0,a=0;a<n.sections.length;){let u=n.sections[a++],E=n.sections[a++];if(E<0)s+=u,o+=u;else{let h=s,T=o,A=je.empty;for(;h+=u,T+=E,E&&i&&(A=A.append(i[a-2>>1])),!(t||a==n.sections.length||n.sections[a+1]<0);)u=n.sections[a++],E=n.sections[a++];e(s,h,o,T,A),s=h,o=T}}}function sS(n,e,t,i=!1){let s=[],o=i?[]:null,a=new rc(n),u=new rc(e);for(let E=-1;;){if(a.done&&u.len||u.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&u.ins==-1){let h=Math.min(a.len,u.len);cn(s,h,-1),a.forward(h),u.forward(h)}else if(u.ins>=0&&(a.ins<0||E==a.i||a.off==0&&(u.len<a.len||u.len==a.len&&!t))){let h=u.len;for(cn(s,u.ins,-1);h;){let T=Math.min(a.len,h);a.ins>=0&&E<a.i&&a.len<=T&&(cn(s,0,a.ins),o&&sr(o,s,a.text),E=a.i),a.forward(T),h-=T}u.next()}else if(a.ins>=0){let h=0,T=a.len;for(;T;)if(u.ins==-1){let A=Math.min(T,u.len);h+=A,T-=A,u.forward(A)}else if(u.ins==0&&u.len<T)T-=u.len,u.next();else break;cn(s,h,E<a.i?a.ins:0),o&&E<a.i&&sr(o,s,a.text),E=a.i,a.forward(a.len-T)}else{if(a.done&&u.done)return o?Ft.createSet(s,o):Ki.create(s);throw new Error("Mismatched change set lengths")}}}function JD(n,e,t=!1){let i=[],s=t?[]:null,o=new rc(n),a=new rc(e);for(let u=!1;;){if(o.done&&a.done)return s?Ft.createSet(i,s):Ki.create(i);if(o.ins==0)cn(i,o.len,0,u),o.next();else if(a.len==0&&!a.done)cn(i,0,a.ins,u),s&&sr(s,i,a.text),a.next();else{if(o.done||a.done)throw new Error("Mismatched change set lengths");{let E=Math.min(o.len2,a.len),h=i.length;if(o.ins==-1){let T=a.ins==-1?-1:a.off?0:a.ins;cn(i,E,T,u),s&&T&&sr(s,i,a.text)}else a.ins==-1?(cn(i,o.off?0:o.len,E,u),s&&sr(s,i,o.textBit(E))):(cn(i,o.off?0:o.len,a.off?0:a.ins,u),s&&!a.off&&sr(s,i,a.text));u=(o.ins>E||a.ins>=0&&a.len>E)&&(u||i.length>h),o.forward2(E),a.forward(E)}}}}class rc{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?je.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?je.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class tr{constructor(e,t,i,s){this.from=e,this.to=t,this.flags=i,this.goalColumn=s}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let i,s;return this.empty?i=s=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),i==this.from&&s==this.to?this:new tr(i,s,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return q.range(e,t,void 0,void 0,i);let s=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return q.range(this.anchor,s,void 0,void 0,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return q.range(e.anchor,e.head)}static create(e,t,i,s){return new tr(e,t,i,s)}}class q{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:q.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new q([this.main],0)}addRange(e,t=!0){return q.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,q.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new q(e.ranges.map(t=>tr.fromJSON(t)),e.main)}static single(e,t=e){return new q([q.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,s=0;s<e.length;s++){let o=e[s];if(o.empty?o.from<=i:o.from<i)return q.normalized(e.slice(),t);i=o.to}return new q(e,t)}static cursor(e,t=0,i,s){return tr.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i)),s)}static range(e,t,i,s,o){let a=s==null?7:Math.min(6,s);return!o&&e!=t&&(o=t<e?1:-1),o&&(a|=o<0?8:16),t<e?tr.create(t,e,a|32,i):tr.create(e,t,a,i)}static undirectionalRange(e,t){return tr.create(e,t,64,void 0)}static normalized(e,t=0){let i=e[t];e.sort((s,o)=>s.from-o.from),t=e.indexOf(i);for(let s=1;s<e.length;s++){let o=e[s],a=e[s-1];if(o.empty?o.from<=a.to:o.from<a.to){let u=a.from,E=Math.max(o.to,a.to);s<=t&&t--,e.splice(--s,2,o.anchor>o.head?q.range(E,u):q.range(u,E))}}return new q(e,t)}}function qD(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let IR=0;class Re{constructor(e,t,i,s,o){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=s,this.id=IR++,this.default=e([]),this.extensions=typeof o=="function"?o(this):o}get reader(){return this}static define(e={}){return new Re(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:pR),!!e.static,e.enables)}of(e){return new wE([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new wE(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new wE(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function pR(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class wE{constructor(e,t,i,s){this.dependencies=e,this.facet=t,this.type=i,this.value=s,this.id=IR++}dynamicSlot(e){var t;let i=this.value,s=this.facet.compareInput,o=this.id,a=e[o]>>1,u=this.type==2,E=!1,h=!1,T=[];for(let A of this.dependencies)A=="doc"?E=!0:A=="selection"?h=!0:(((t=e[A.id])!==null&&t!==void 0?t:1)&1)==0&&T.push(e[A.id]);return{create(A){return A.values[a]=i(A),1},update(A,R){if(E&&R.docChanged||h&&(R.docChanged||R.selection)||rS(A,T)){let O=i(A);if(u?!zC(O,A.values[a],s):!s(O,A.values[a]))return A.values[a]=O,1}return 0},reconfigure:(A,R)=>{let O,N=R.config.address[o];if(N!=null){let m=rf(R,N);if(this.dependencies.every(C=>C instanceof Re?R.facet(C)===A.facet(C):C instanceof qt?R.field(C,!1)==A.field(C,!1):!0)||(u?zC(O=i(A),m,s):s(O=i(A),m)))return A.values[a]=m,0}else O=i(A);return A.values[a]=O,1}}}}function zC(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function rS(n,e){let t=!1;for(let i of e)$a(n,i)&1&&(t=!0);return t}function rV(n,e,t){let i=t.map(E=>n[E.id]),s=t.map(E=>E.type),o=i.filter(E=>!(E&1)),a=n[e.id]>>1;function u(E){let h=[];for(let T=0;T<i.length;T++){let A=rf(E,i[T]);if(s[T]==2)for(let R of A)h.push(R);else h.push(A)}return e.combine(h)}return{create(E){for(let h of i)$a(E,h);return E.values[a]=u(E),1},update(E,h){if(!rS(E,o))return 0;let T=u(E);return e.compare(T,E.values[a])?0:(E.values[a]=T,1)},reconfigure(E,h){let T=rS(E,i),A=h.config.facets[e.id],R=h.facet(e);if(A&&!T&&pR(t,A))return E.values[a]=R,0;let O=u(E);return e.compare(O,R)?(E.values[a]=R,0):(E.values[a]=O,1)}}}const uE=Re.define({static:!0});class qt{constructor(e,t,i,s,o){this.id=e,this.createF=t,this.updateF=i,this.compareF=s,this.spec=o,this.provides=void 0}static define(e){let t=new qt(IR++,e.create,e.update,e.compare||((i,s)=>i===s),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(uE).find(i=>i.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,s)=>{let o=i.values[t],a=this.updateF(o,s);return this.compareF(o,a)?0:(i.values[t]=a,1)},reconfigure:(i,s)=>{let o=i.facet(uE),a=s.facet(uE),u;return(u=o.find(E=>E.field==this))&&u!=a.find(E=>E.field==this)?(i.values[t]=u.create(i),1):s.config.address[this.id]!=null?(i.values[t]=s.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,uE.of({field:this,create:e})]}get extension(){return this}}const Jr={lowest:4,low:3,default:2,high:1,highest:0};function ba(n){return e=>new QD(e,n)}const fl={highest:ba(Jr.highest),high:ba(Jr.high),default:ba(Jr.default),low:ba(Jr.low),lowest:ba(Jr.lowest)};class QD{constructor(e,t){this.inner=e,this.prec=t}}class Hf{of(e){return new lS(this,e)}reconfigure(e){return Hf.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class lS{constructor(e,t){this.compartment=e,this.inner=t}}class sf{constructor(e,t,i,s,o,a){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=s,this.staticValues=o,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let s=[],o=Object.create(null),a=new Map;for(let R of lV(e,t,a))R instanceof qt?s.push(R):(o[R.facet.id]||(o[R.facet.id]=[])).push(R);let u=Object.create(null),E=[],h=[];for(let R of s)u[R.id]=h.length<<1,h.push(O=>R.slot(O));let T=i==null?void 0:i.config.facets;for(let R in o){let O=o[R],N=O[0].facet,m=T&&T[R]||[];if(O.every(C=>C.type==0))if(u[N.id]=E.length<<1|1,pR(m,O))E.push(i.facet(N));else{let C=N.combine(O.map(L=>L.value));E.push(i&&N.compare(C,i.facet(N))?i.facet(N):C)}else{for(let C of O)C.type==0?(u[C.id]=E.length<<1|1,E.push(C.value)):(u[C.id]=h.length<<1,h.push(L=>C.dynamicSlot(L)));u[N.id]=h.length<<1,h.push(C=>rV(C,N,O))}}let A=h.map(R=>R(u));return new sf(e,a,A,u,E,o)}}function lV(n,e,t){let i=[[],[],[],[],[]],s=new Map;function o(a,u){let E=s.get(a);if(E!=null){if(E<=u)return;let h=i[E].indexOf(a);h>-1&&i[E].splice(h,1),a instanceof lS&&t.delete(a.compartment)}if(s.set(a,u),Array.isArray(a))for(let h of a)o(h,u);else if(a instanceof lS){if(t.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(a.compartment)||a.inner;t.set(a.compartment,h),o(h,u)}else if(a instanceof QD)o(a.inner,a.prec);else if(a instanceof qt)i[u].push(a),a.provides&&o(a.provides,u);else if(a instanceof wE)i[u].push(a),a.facet.extensions&&o(a.facet.extensions,Jr.default);else{let h=a.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(h,u)}}return o(n,Jr.default),i.reduce((a,u)=>a.concat(u))}function $a(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let s=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|s}function rf(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const ZD=Re.define(),oS=Re.define({combine:n=>n.some(e=>e),static:!0}),eM=Re.define({combine:n=>n.length?n[0]:void 0,static:!0}),tM=Re.define(),nM=Re.define(),iM=Re.define(),sM=Re.define({combine:n=>n.length?n[0]:!1});class ji{constructor(e,t){this.type=e,this.value=t}static define(){return new oV}}class oV{of(e){return new ji(this,e)}}class aV{constructor(e){this.map=e}of(e){return new xe(this,e)}}class xe{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new xe(this.type,t)}is(e){return this.type==e}static define(e={}){return new aV(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let s of e){let o=s.map(t);o&&i.push(o)}return i}}xe.reconfigure=xe.define();xe.appendConfig=xe.define();class Yt{constructor(e,t,i,s,o,a){this.startState=e,this.changes=t,this.selection=i,this.effects=s,this.annotations=o,this.scrollIntoView=a,this._doc=null,this._state=null,i&&qD(i,t.newLength),o.some(u=>u.type==Yt.time)||(this.annotations=o.concat(Yt.time.of(Date.now())))}static create(e,t,i,s,o,a){return new Yt(e,t,i,s,o,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(Yt.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}Yt.time=ji.define();Yt.userEvent=ji.define();Yt.addToHistory=ji.define();Yt.remote=ji.define();function cV(n,e){let t=[];for(let i=0,s=0;;){let o,a;if(i<n.length&&(s==e.length||e[s]>=n[i]))o=n[i++],a=n[i++];else if(s<e.length)o=e[s++],a=e[s++];else return t;!t.length||t[t.length-1]<o?t.push(o,a):t[t.length-1]<a&&(t[t.length-1]=a)}}function rM(n,e,t){var i;let s,o,a;return t?(s=e.changes,o=Ft.empty(e.changes.length),a=n.changes.compose(e.changes)):(s=e.changes.map(n.changes),o=n.changes.mapDesc(e.changes,!0),a=n.changes.compose(s)),{changes:a,selection:e.selection?e.selection.map(o):(i=n.selection)===null||i===void 0?void 0:i.map(s),effects:xe.mapEffects(n.effects,s).concat(xe.mapEffects(e.effects,o)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function aS(n,e,t){let i=e.selection,s=To(e.annotations);return e.userEvent&&(s=s.concat(Yt.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ft?e.changes:Ft.of(e.changes||[],t,n.facet(eM)),selection:i&&(i instanceof q?i:q.single(i.anchor,i.head)),effects:To(e.effects),annotations:s,scrollIntoView:!!e.scrollIntoView}}function lM(n,e,t){let i=aS(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let o=1;o<e.length;o++){e[o].filter===!1&&(t=!1);let a=!!e[o].sequential;i=rM(i,aS(n,e[o],a?i.changes.newLength:n.doc.length),a)}let s=Yt.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return EV(t?uV(s):s)}function uV(n){let e=n.startState,t=!0;for(let s of e.facet(tM)){let o=s(n);if(o===!1){t=!1;break}Array.isArray(o)&&(t=t===!0?o:cV(t,o))}if(t!==!0){let s,o;if(t===!1)o=n.changes.invertedDesc,s=Ft.empty(e.doc.length);else{let a=n.changes.filter(t);s=a.changes,o=a.filtered.mapDesc(a.changes).invertedDesc}n=Yt.create(e,s,n.selection&&n.selection.map(o),xe.mapEffects(n.effects,o),n.annotations,n.scrollIntoView)}let i=e.facet(nM);for(let s=i.length-1;s>=0;s--){let o=i[s](n);o instanceof Yt?n=o:Array.isArray(o)&&o.length==1&&o[0]instanceof Yt?n=o[0]:n=lM(e,To(o),!1)}return n}function EV(n){let e=n.startState,t=e.facet(iM),i=n;for(let s=t.length-1;s>=0;s--){let o=t[s](n);o&&Object.keys(o).length&&(i=rM(i,aS(e,o,n.changes.newLength),!0))}return i==n?n:Yt.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const fV=[];function To(n){return n==null?fV:Array.isArray(n)?n:[n]}var St=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(St||(St={}));const hV=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let cS;try{cS=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function TV(n){if(cS)return cS.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||hV.test(t)))return!0}return!1}function dV(n){return e=>{if(!/\S/.test(e))return St.Space;if(TV(e))return St.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return St.Word;return St.Other}}class $e{constructor(e,t,i,s,o,a){this.config=e,this.doc=t,this.selection=i,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=o,a&&(a._state=this);for(let u=0;u<this.config.dynamicSlots.length;u++)$a(this,u<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return $a(this,i),rf(this,i)}update(...e){return lM(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:s}=t;for(let u of e.effects)u.is(Hf.reconfigure)?(t&&(s=new Map,t.compartments.forEach((E,h)=>s.set(h,E)),t=null),s.set(u.value.compartment,u.value.extension)):u.is(xe.reconfigure)?(t=null,i=u.value):u.is(xe.appendConfig)&&(t=null,i=To(i).concat(u.value));let o;t?o=e.startState.values.slice():(t=sf.resolve(i,s,this),o=new $e(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(E,h)=>h.reconfigure(E,this),null).values);let a=e.startState.facet(oS)?e.newSelection:e.newSelection.asSingle();new $e(t,e.newDoc,a,o,(u,E)=>E.update(u,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:q.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),s=this.changes(i.changes),o=[i.range],a=To(i.effects);for(let u=1;u<t.ranges.length;u++){let E=e(t.ranges[u]),h=this.changes(E.changes),T=h.map(s);for(let R=0;R<u;R++)o[R]=o[R].map(T);let A=s.mapDesc(h,!0);o.push(E.range.map(A)),s=s.compose(T),a=xe.mapEffects(a,T).concat(xe.mapEffects(To(E.effects),A))}return{changes:s,selection:q.create(o,t.mainIndex),effects:a}}changes(e=[]){return e instanceof Ft?e:Ft.of(e,this.doc.length,this.facet($e.lineSeparator))}toText(e){return je.of(e.split(this.facet($e.lineSeparator)||nS))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:($a(this,t),rf(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let s=e[i];s instanceof qt&&this.config.address[s.id]!=null&&(t[i]=s.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let s=[];if(i){for(let o in i)if(Object.prototype.hasOwnProperty.call(e,o)){let a=i[o],u=e[o];s.push(a.init(E=>a.spec.fromJSON(u,E)))}}return $e.create({doc:e.doc,selection:q.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=sf.resolve(e.extensions||[],new Map),i=e.doc instanceof je?e.doc:je.of((e.doc||"").split(t.staticFacet($e.lineSeparator)||nS)),s=e.selection?e.selection instanceof q?e.selection:q.single(e.selection.anchor,e.selection.head):q.single(0);return qD(s,i.length),t.staticFacet(oS)||(s=s.asSingle()),new $e(t,i,s,t.dynamicSlots.map(()=>null),(o,a)=>a.create(o),null)}get tabSize(){return this.facet($e.tabSize)}get lineBreak(){return this.facet($e.lineSeparator)||`
|
|
227
|
+
`}get readOnly(){return this.facet(sM)}phrase(e,...t){for(let i of this.facet($e.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let o=+(s||1);return!o||o>t.length?i:t[o-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let o of this.facet(ZD))for(let a of o(this,t,i))Object.prototype.hasOwnProperty.call(a,e)&&s.push(a[e]);return s}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return dV(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),o=this.charCategorizer(e),a=e-i,u=e-i;for(;a>0;){let E=zt(t,a,!1);if(o(t.slice(E,a))!=St.Word)break;a=E}for(;u<s;){let E=zt(t,u);if(o(t.slice(u,E))!=St.Word)break;u=E}return a==u?null:q.range(a+i,u+i)}}$e.allowMultipleSelections=oS;$e.tabSize=Re.define({combine:n=>n.length?n[0]:4});$e.lineSeparator=eM;$e.readOnly=sM;$e.phrases=Re.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(s=>n[s]==e[s])}});$e.languageData=ZD;$e.changeFilter=tM;$e.transactionFilter=nM;$e.transactionExtender=iM;Hf.reconfigure=xe.define();function mi(n,e,t={}){let i={};for(let s of n)for(let o of Object.keys(s)){let a=s[o],u=i[o];if(u===void 0)i[o]=a;else if(!(u===a||a===void 0))if(Object.hasOwnProperty.call(t,o))i[o]=t[o](u,a);else throw new Error("Config merge conflict for field "+o)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}class Tr{eq(e){return this==e}range(e,t=e){return lc.create(e,t,this)}}Tr.prototype.startSide=Tr.prototype.endSide=0;Tr.prototype.point=!1;Tr.prototype.mapMode=dn.TrackDel;function CR(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class lc{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new lc(e,t,i)}}function uS(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class gR{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let o=i?this.to:this.from;for(let a=s,u=o.length;;){if(a==u)return a;let E=a+u>>1,h=o[E]-e||(i?this.value[E].endSide:this.value[E].startSide)-t;if(E==a)return h>=0?a:u;h>=0?u=E:a=E+1}}between(e,t,i,s){for(let o=this.findIndex(t,-1e9,!0),a=this.findIndex(i,1e9,!1,o);o<a;o++)if(s(this.from[o]+e,this.to[o]+e,this.value[o])===!1)return!1}map(e,t){let i=[],s=[],o=[],a=-1,u=-1;for(let E=0;E<this.value.length;E++){let h=this.value[E],T=this.from[E]+e,A=this.to[E]+e,R,O;if(T==A){let N=t.mapPos(T,h.startSide,h.mapMode);if(N==null||(R=O=N,h.startSide!=h.endSide&&(O=t.mapPos(T,h.endSide),O<R)))continue}else if(R=t.mapPos(T,h.startSide),O=t.mapPos(A,h.endSide),R>O||R==O&&h.startSide>0&&h.endSide<=0)continue;(O-R||h.endSide-h.startSide)<0||(a<0&&(a=R),h.point&&(u=Math.max(u,O-R)),i.push(h),s.push(R-a),o.push(O-a))}return{mapped:i.length?new gR(s,o,i,u):null,pos:a}}}class Fe{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new Fe(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:o=this.length}=e,a=e.filter;if(t.length==0&&!a)return this;if(i&&(t=t.slice().sort(uS)),this.isEmpty)return t.length?Fe.of(t):this;let u=new oM(this,null,-1).goto(0),E=0,h=[],T=new Is;for(;u.value||E<t.length;)if(E<t.length&&(u.from-t[E].from||u.startSide-t[E].value.startSide)>=0){let A=t[E++];T.addInner(A.from,A.to,A.value)||h.push(A)}else u.rangeIndex==1&&u.chunkIndex<this.chunk.length&&(E==t.length||this.chunkEnd(u.chunkIndex)<t[E].from)&&(!a||s>this.chunkEnd(u.chunkIndex)||o<this.chunkPos[u.chunkIndex])&&T.addChunk(this.chunkPos[u.chunkIndex],this.chunk[u.chunkIndex])?u.nextChunk():((!a||s>u.to||o<u.from||a(u.from,u.to,u.value))&&(T.addInner(u.from,u.to,u.value)||h.push(lc.create(u.from,u.to,u.value))),u.next());return T.finishInner(this.nextLayer.isEmpty&&!h.length?Fe.empty:this.nextLayer.update({add:h,filter:a,filterFrom:s,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],s=-1;for(let a=0;a<this.chunk.length;a++){let u=this.chunkPos[a],E=this.chunk[a],h=e.touchesRange(u,u+E.length);if(h===!1)s=Math.max(s,E.maxPoint),t.push(E),i.push(e.mapPos(u));else if(h===!0){let{mapped:T,pos:A}=E.map(u,e);T&&(s=Math.max(s,T.maxPoint),t.push(T),i.push(A))}}let o=this.nextLayer.map(e);return t.length==0?o:new Fe(i,t,o||Fe.empty,s)}between(e,t,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let o=this.chunkPos[s],a=this.chunk[s];if(t>=o&&e<=o+a.length&&a.between(o,e-o,t-o,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return oc.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return oc.from(e).goto(t)}static compare(e,t,i,s,o=-1){let a=e.filter(A=>A.maxPoint>0||!A.isEmpty&&A.maxPoint>=o),u=t.filter(A=>A.maxPoint>0||!A.isEmpty&&A.maxPoint>=o),E=$C(a,u,i),h=new xa(a,E,o),T=new xa(u,E,o);i.iterGaps((A,R,O)=>jC(h,A,T,R,O,s)),i.empty&&i.length==0&&jC(h,0,T,0,0,s)}static eq(e,t,i=0,s){s==null&&(s=999999999);let o=e.filter(T=>!T.isEmpty&&t.indexOf(T)<0),a=t.filter(T=>!T.isEmpty&&e.indexOf(T)<0);if(o.length!=a.length)return!1;if(!o.length)return!0;let u=$C(o,a),E=new xa(o,u,0).goto(i),h=new xa(a,u,0).goto(i);for(;;){if(E.to!=h.to||!ES(E.active,h.active)||E.point&&(!h.point||!CR(E.point,h.point)))return!1;if(E.to>s)return!0;E.next(),h.next()}}static spans(e,t,i,s,o=-1){let a=new xa(e,null,o).goto(t),u=t,E=a.openStart;for(;;){let h=Math.min(a.to,i);if(a.point){let T=a.activeForPoint(a.to),A=a.pointFrom<t?T.length+1:a.point.startSide<0?T.length:Math.min(T.length,E);s.point(u,h,a.point,T,A,a.pointRank),E=Math.min(a.openEnd(h),T.length)}else h>u&&(s.span(u,h,a.active,E),E=a.openEnd(h));if(a.to>i)return E+(a.point&&a.to>i?1:0);u=a.to,a.next()}}static of(e,t=!1){let i=new Is;for(let s of e instanceof lc?[e]:t?AV(e):e)i.add(s.from,s.to,s.value);return i.finish()}static join(e){if(!e.length)return Fe.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let s=e[i];s!=Fe.empty;s=s.nextLayer)t=new Fe(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}Fe.empty=new Fe([],[],null,-1);function AV(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(uS(e,i)>0)return n.slice().sort(uS);e=i}return n}Fe.empty.nextLayer=Fe.empty;class Is{finishChunk(e){this.chunks.push(new gR(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Is)).add(e,t,i)}addInner(e,t,i){let s=e-this.lastTo||i.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(Fe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=Fe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function $C(n,e,t){let i=new Map;for(let o of n)for(let a=0;a<o.chunk.length;a++)o.chunk[a].maxPoint<=0&&i.set(o.chunk[a],o.chunkPos[a]);let s=new Set;for(let o of e)for(let a=0;a<o.chunk.length;a++){let u=i.get(o.chunk[a]);u!=null&&(t?t.mapPos(u):u)==o.chunkPos[a]&&!(t!=null&&t.touchesRange(u,u+o.chunk[a].length))&&s.add(o.chunk[a])}return s}class oM{constructor(e,t,i,s=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=s}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let s=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(s)||this.layer.chunkEnd(this.chunkIndex)<e||s.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let s=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<s)&&this.setRangeIndex(s)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class oc{constructor(e){this.heap=e}static from(e,t=null,i=-1){let s=[];for(let o=0;o<e.length;o++)for(let a=e[o];!a.isEmpty;a=a.nextLayer)a.maxPoint>=i&&s.push(new oM(a,t,i,o));return s.length==1?s[0]:new oc(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)oA(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)oA(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),oA(this.heap,0)}}}function oA(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let s=n[i];if(i+1<n.length&&s.compare(n[i+1])>=0&&(s=n[i+1],i++),t.compare(s)<0)break;n[i]=t,n[e]=s,e=i}}class xa{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=oc.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){EE(this.active,e),EE(this.activeTo,e),EE(this.activeRank,e),this.minActive=JC(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:s,rank:o}=this.cursor;for(;t<this.activeRank.length&&(o-this.activeRank[t]||s-this.activeTo[t])>0;)t++;fE(this.active,t,i),fE(this.activeTo,t,s),fE(this.activeRank,t,o),e&&fE(e,t,this.cursor.from),this.minActive=JC(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),i&&EE(i,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let o=this.cursor.value;if(!o.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=o,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=o.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let s=i.length-1;s>=0&&i[s]<e;s--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function jC(n,e,t,i,s,o){n.goto(e),t.goto(i);let a=i+s,u=i,E=i-e,h=!!o.boundChange;for(let T=!1;;){let A=n.to+E-t.to,R=A||n.endSide-t.endSide,O=R<0?n.to+E:t.to,N=Math.min(O,a);if(n.point||t.point?(n.point&&t.point&&CR(n.point,t.point)&&ES(n.activeForPoint(n.to),t.activeForPoint(t.to))||o.comparePoint(u,N,n.point,t.point),T=!1):(T&&o.boundChange(u),N>u&&!ES(n.active,t.active)&&o.compareRange(u,N,n.active,t.active),h&&N<a&&(A||n.openEnd(O)!=t.openEnd(O))&&(T=!0)),O>a)break;u=O,R<=0&&n.next(),R>=0&&t.next()}}function ES(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!CR(n[t],e[t]))return!1;return!0}function EE(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function fE(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function JC(n,e){let t=-1,i=1e9;for(let s=0;s<e.length;s++)(e[s]-i||n[s].endSide-n[t].endSide)<0&&(t=s,i=e[s]);return t}function Uo(n,e,t=n.length){let i=0;for(let s=0;s<t&&s<n.length;)n.charCodeAt(s)==9?(i+=e-i%e,s++):(i++,s=zt(n,s));return i}function fS(n,e,t,i){for(let s=0,o=0;;){if(o>=e)return s;if(s==n.length)break;o+=n.charCodeAt(s)==9?t-o%t:1,s=zt(n,s)}return i===!0?-1:n.length}const hS="ͼ",qC=typeof Symbol>"u"?"__"+hS:Symbol.for(hS),TS=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),QC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class dr{constructor(e,t){this.rules=[];let{finish:i}=t||{};function s(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function o(a,u,E,h){let T=[],A=/^@(\w+)\b/.exec(a[0]),R=A&&A[1]=="keyframes";if(A&&u==null)return E.push(a[0]+";");for(let O in u){let N=u[O];if(/&/.test(O))o(O.split(/,\s*/).map(m=>a.map(C=>m.replace(/&/,C))).reduce((m,C)=>m.concat(C)),N,E);else if(N&&typeof N=="object"){if(!A)throw new RangeError("The value of a property ("+O+") should be a primitive value.");o(s(O),N,T,R)}else N!=null&&T.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+N+";")}(T.length||R)&&E.push((i&&!A&&!h?a.map(i):a).join(", ")+" {"+T.join(" ")+"}")}for(let a in e)o(s(a),e[a],this.rules)}getRules(){return this.rules.join(`
|
|
228
|
+
`)}static newName(){let e=QC[qC]||1;return QC[qC]=e+1,hS+e.toString(36)}static mount(e,t,i){let s=e[TS],o=i&&i.nonce;s?o&&s.setNonce(o):s=new SV(e,o),s.mount(Array.isArray(t)?t:[t],e)}}let ZC=new Map;class SV{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let o=ZC.get(i);if(o)return e[TS]=o;this.sheet=new s.CSSStyleSheet,ZC.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[TS]=this}mount(e,t){let i=this.sheet,s=0,o=0;for(let a=0;a<e.length;a++){let u=e[a],E=this.modules.indexOf(u);if(E<o&&E>-1&&(this.modules.splice(E,1),o--,E=-1),E==-1){if(this.modules.splice(o++,0,u),i)for(let h=0;h<u.rules.length;h++)i.insertRule(u.rules[h],s++)}else{for(;o<E;)s+=this.modules[o++].rules.length;s+=u.rules.length,o++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let a="";for(let E=0;E<this.modules.length;E++)a+=this.modules[E].getRules()+`
|
|
229
|
+
`;this.styleTag.textContent=a;let u=t.head||t;this.styleTag.parentNode!=u&&u.insertBefore(this.styleTag,u.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Ar={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},ac={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},RV=typeof navigator<"u"&&/Mac/.test(navigator.platform),OV=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var rn=0;rn<10;rn++)Ar[48+rn]=Ar[96+rn]=String(rn);for(var rn=1;rn<=24;rn++)Ar[rn+111]="F"+rn;for(var rn=65;rn<=90;rn++)Ar[rn]=String.fromCharCode(rn+32),ac[rn]=String.fromCharCode(rn);for(var aA in Ar)ac.hasOwnProperty(aA)||(ac[aA]=Ar[aA]);function NV(n){var e=RV&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||OV&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?ac:Ar)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function lt(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=t[i];typeof s=="string"?n.setAttribute(i,s):s!=null&&(n[i]=s)}e++}for(;e<arguments.length;e++)aM(n,arguments[e]);return n}function aM(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)aM(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let Tn=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},dS=typeof document<"u"?document:{documentElement:{style:{}}};const AS=/Edge\/(\d+)/.exec(Tn.userAgent),cM=/MSIE \d/.test(Tn.userAgent),SS=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Tn.userAgent),wf=!!(cM||SS||AS),eg=!wf&&/gecko\/(\d+)/i.test(Tn.userAgent),cA=!wf&&/Chrome\/(\d+)/.exec(Tn.userAgent),tg="webkitFontSmoothing"in dS.documentElement.style,RS=!wf&&/Apple Computer/.test(Tn.vendor),ng=RS&&(/Mobile\/\w+/.test(Tn.userAgent)||Tn.maxTouchPoints>2);var Oe={mac:ng||/Mac/.test(Tn.platform),windows:/Win/.test(Tn.platform),linux:/Linux|X11/.test(Tn.platform),ie:wf,ie_version:cM?dS.documentMode||6:SS?+SS[1]:AS?+AS[1]:0,gecko:eg,gecko_version:eg?+(/Firefox\/(\d+)/.exec(Tn.userAgent)||[0,0])[1]:0,chrome:!!cA,chrome_version:cA?+cA[1]:0,ios:ng,android:/Android\b/.test(Tn.userAgent),webkit:tg,webkit_version:tg?+(/\bAppleWebKit\/(\d+)/.exec(Tn.userAgent)||[0,0])[1]:0,safari:RS,safari_version:RS?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Tn.userAgent)||[0,0])[1]:0,tabSize:dS.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function LR(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const lf=Object.create(null);function _R(n,e,t){if(n==e)return!0;n||(n=lf),e||(e=lf);let i=Object.keys(n),s=Object.keys(e);if(i.length-0!=s.length-0)return!1;for(let o of i)if(o!=t&&(s.indexOf(o)==-1||n[o]!==e[o]))return!1;return!0}function mV(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function ig(n,e,t){let i=!1;if(e)for(let s in e)t&&s in t||(i=!0,s=="style"?n.style.cssText="":n.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(i=!0,s=="style"?n.style.cssText=t[s]:n.setAttribute(s,t[s]));return i}function IV(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class Ji{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ln=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(ln||(ln={}));class De extends Tr{constructor(e,t,i,s){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=s}get heightRelevant(){return!1}static mark(e){return new Lc(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new rl(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,s;if(e.isBlockGap)i=-5e8,s=4e8;else{let{start:o,end:a}=uM(e,t);i=(o?t?-3e8:-1:5e8)-1,s=(a?t?2e8:1:-6e8)+1}return new rl(e,i,s,t,e.widget||null,!0)}static line(e){return new _c(e)}static set(e,t=!1){return Fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}De.none=Fe.empty;class Lc extends De{constructor(e){let{start:t,end:i}=uM(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?LR(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||lf}eq(e){return this==e||e instanceof Lc&&this.tagName==e.tagName&&_R(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Lc.prototype.point=!1;class _c extends De{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof _c&&this.spec.class==e.spec.class&&_R(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}_c.prototype.mapMode=dn.TrackBefore;_c.prototype.point=!0;class rl extends De{constructor(e,t,i,s,o,a){super(t,i,o,e),this.block=s,this.isReplace=a,this.mapMode=s?t<=0?dn.TrackBefore:dn.TrackAfter:dn.TrackDel}get type(){return this.startSide!=this.endSide?ln.WidgetRange:this.startSide<=0?ln.WidgetBefore:ln.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof rl&&pV(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}rl.prototype.point=!0;function uM(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function pV(n,e){return n==e||!!(n&&e&&n.compare(e))}function Ao(n,e,t,i=0){let s=t.length-1;s>=0&&t[s]+i>=n?t[s]=Math.max(t[s],e):t.push(n,e)}class cc extends Tr{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof cc&&this.tagName==e.tagName&&_R(this.attributes,e.attributes)}static create(e){return new cc(e.tagName,e.attributes||lf,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return Fe.of(e,t)}}cc.prototype.startSide=cc.prototype.endSide=-1;function uc(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function OS(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function ja(n,e){if(!e.anchorNode)return!1;try{return OS(n,e.anchorNode)}catch{return!1}}function Ja(n){return n.nodeType==3?fc(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function qa(n,e,t,i){return t?sg(n,e,t,i,-1)||sg(n,e,t,i,1):!1}function Sr(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function of(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function sg(n,e,t,i,s){for(;;){if(n==t&&e==i)return!0;if(e==(s<0?0:ps(n))){if(n.nodeName=="DIV")return!1;let o=n.parentNode;if(!o||o.nodeType!=1)return!1;e=Sr(n)+(s<0?0:1),n=o}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?ps(n):0}else return!1}}function ps(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Ec(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function CV(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function EM(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function gV(n,e,t,i,s,o,a,u){let E=n.ownerDocument,h=E.defaultView||window;for(let T=n,A=!1;T&&!A;)if(T.nodeType==1){let R,O=T==E.body,N=1,m=1;if(O)R=CV(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(T).position)&&(A=!0),T.scrollHeight<=T.clientHeight&&T.scrollWidth<=T.clientWidth){T=T.assignedSlot||T.parentNode;continue}let D=T.getBoundingClientRect();({scaleX:N,scaleY:m}=EM(T,D)),R={left:D.left,right:D.left+T.clientWidth*N,top:D.top,bottom:D.top+T.clientHeight*m}}let C=0,L=0;if(s=="nearest")e.top<R.top+a?(L=e.top-(R.top+a),t>0&&e.bottom>R.bottom+L&&(L=e.bottom-R.bottom+a)):e.bottom>R.bottom-a&&(L=e.bottom-R.bottom+a,t<0&&e.top-L<R.top&&(L=e.top-(R.top+a)));else{let D=e.bottom-e.top,_=R.bottom-R.top;L=(s=="center"&&D<=_?e.top+D/2-_/2:s=="start"||s=="center"&&t<0?e.top-a:e.bottom-_+a)-R.top}if(i=="nearest"?e.left<R.left+o?(C=e.left-(R.left+o),t>0&&e.right>R.right+C&&(C=e.right-R.right+o)):e.right>R.right-o&&(C=e.right-R.right+o,t<0&&e.left<R.left+C&&(C=e.left-(R.left+o))):C=(i=="center"?e.left+(e.right-e.left)/2-(R.right-R.left)/2:i=="start"==u?e.left-o:e.right-(R.right-R.left)+o)-R.left,C||L)if(O)h.scrollBy(C,L);else{let D=0,_=0;if(L){let v=T.scrollTop;T.scrollTop+=L/m,_=(T.scrollTop-v)*m}if(C){let v=T.scrollLeft;T.scrollLeft+=C/N,D=(T.scrollLeft-v)*N}e={left:e.left-D,top:e.top-_,right:e.right-D,bottom:e.bottom-_},D&&Math.abs(D-C)<1&&(i="nearest"),_&&Math.abs(_-L)<1&&(s="nearest")}if(O)break;(e.top<R.top||e.bottom>R.bottom||e.left<R.left||e.right>R.right)&&(e={left:Math.max(e.left,R.left),right:Math.min(e.right,R.right),top:Math.max(e.top,R.top),bottom:Math.min(e.bottom,R.bottom)}),T=T.assignedSlot||T.parentNode}else if(T.nodeType==11)T=T.host;else break}function fM(n,e=!0){let t=n.ownerDocument,i=null,s=null;for(let o=n.parentNode;o&&!(o==t.body||(!e||i)&&s);)if(o.nodeType==1)!s&&o.scrollHeight>o.clientHeight&&(s=o),e&&!i&&o.scrollWidth>o.clientWidth&&(i=o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;return{x:i,y:s}}class LV{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?ps(t):0),i,Math.min(e.focusOffset,i?ps(i):0))}set(e,t,i,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=s}}let $r=null;Oe.safari&&Oe.safari_version>=26&&($r=!1);function hM(n){if(n.setActive)return n.setActive();if($r)return n.focus($r);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus($r==null?{get preventScroll(){return $r={preventScroll:!0},!0}}:void 0),!$r){$r=!1;for(let t=0;t<e.length;){let i=e[t++],s=e[t++],o=e[t++];i.scrollTop!=s&&(i.scrollTop=s),i.scrollLeft!=o&&(i.scrollLeft=o)}}}let rg;function fc(n,e,t=e){let i=rg||(rg=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function So(n,e,t,i){let s={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:s.altKey,ctrlKey:s.ctrlKey,shiftKey:s.shiftKey,metaKey:s.metaKey}=i);let o=new KeyboardEvent("keydown",s);o.synthetic=!0,n.dispatchEvent(o);let a=new KeyboardEvent("keyup",s);return a.synthetic=!0,n.dispatchEvent(a),o.defaultPrevented||a.defaultPrevented}function _V(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function DV(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,ps(t));;)if(i){if(t.nodeType!=1)return!1;let s=t.childNodes[i-1];s.contentEditable=="false"?i--:(t=s,i=ps(t))}else{if(t==n)return!0;i=Sr(t),t=t.parentNode}}function TM(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function dM(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=ps(t)}else if(t.parentNode&&!of(t))i=Sr(t),t=t.parentNode;else return null}}function AM(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!of(t))i=Sr(t)+1,t=t.parentNode;else return null}}class di{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new di(e.parentNode,Sr(e),t)}static after(e,t){return new di(e.parentNode,Sr(e)+1,t)}}var ct=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(ct||(ct={}));const ll=ct.LTR,DR=ct.RTL;function SM(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const MV=SM("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),PV=SM("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),NS=Object.create(null),Ui=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);NS[e]=t,NS[t]=-e}function RM(n){return n<=247?MV[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?PV[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const yV=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class ki{get dir(){return this.level%2?DR:ll}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,s){let o=-1;for(let a=0;a<e.length;a++){let u=e[a];if(u.from<=t&&u.to>=t){if(u.level==i)return a;(o<0||(s!=0?s<0?u.from<t:u.to>t:e[o].level>u.level))&&(o=a)}}if(o<0)throw new RangeError("Index out of range");return o}}function OM(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],s=e[t];if(i.from!=s.from||i.to!=s.to||i.direction!=s.direction||!OM(i.inner,s.inner))return!1}return!0}const at=[];function vV(n,e,t,i,s){for(let o=0;o<=i.length;o++){let a=o?i[o-1].to:e,u=o<i.length?i[o].from:t,E=o?256:s;for(let h=a,T=E,A=E;h<u;h++){let R=RM(n.charCodeAt(h));R==512?R=T:R==8&&A==4&&(R=16),at[h]=R==4?2:R,R&7&&(A=R),T=R}for(let h=a,T=E,A=E;h<u;h++){let R=at[h];if(R==128)h<u-1&&T==at[h+1]&&T&24?R=at[h]=T:at[h]=256;else if(R==64){let O=h+1;for(;O<u&&at[O]==64;)O++;let N=h&&T==8||O<t&&at[O]==8?A==1?1:8:256;for(let m=h;m<O;m++)at[m]=N;h=O-1}else R==8&&A==1&&(at[h]=1);T=R,R&7&&(A=R)}}}function UV(n,e,t,i,s){let o=s==1?2:1;for(let a=0,u=0,E=0;a<=i.length;a++){let h=a?i[a-1].to:e,T=a<i.length?i[a].from:t;for(let A=h,R,O,N;A<T;A++)if(O=NS[R=n.charCodeAt(A)])if(O<0){for(let m=u-3;m>=0;m-=3)if(Ui[m+1]==-O){let C=Ui[m+2],L=C&2?s:C&4?C&1?o:s:0;L&&(at[A]=at[Ui[m]]=L),u=m;break}}else{if(Ui.length==189)break;Ui[u++]=A,Ui[u++]=R,Ui[u++]=E}else if((N=at[A])==2||N==1){let m=N==s;E=m?0:1;for(let C=u-3;C>=0;C-=3){let L=Ui[C+2];if(L&2)break;if(m)Ui[C+2]|=2;else{if(L&4)break;Ui[C+2]|=4}}}}}function bV(n,e,t,i){for(let s=0,o=i;s<=t.length;s++){let a=s?t[s-1].to:n,u=s<t.length?t[s].from:e;for(let E=a;E<u;){let h=at[E];if(h==256){let T=E+1;for(;;)if(T==u){if(s==t.length)break;T=t[s++].to,u=s<t.length?t[s].from:e}else if(at[T]==256)T++;else break;let A=o==1,R=(T<e?at[T]:i)==1,O=A==R?A?1:2:i;for(let N=T,m=s,C=m?t[m-1].to:n;N>E;)N==C&&(N=t[--m].from,C=m?t[m-1].to:n),at[--N]=O;E=T}else o=h,E++}}}function mS(n,e,t,i,s,o,a){let u=i%2?2:1;if(i%2==s%2)for(let E=e,h=0;E<t;){let T=!0,A=!1;if(h==o.length||E<o[h].from){let m=at[E];m!=u&&(T=!1,A=m==16)}let R=!T&&u==1?[]:null,O=T?i:i+1,N=E;e:for(;;)if(h<o.length&&N==o[h].from){if(A)break e;let m=o[h];if(!T)for(let C=m.to,L=h+1;;){if(C==t)break e;if(L<o.length&&o[L].from==C)C=o[L++].to;else{if(at[C]==u)break e;break}}if(h++,R)R.push(m);else{m.from>E&&a.push(new ki(E,m.from,O));let C=m.direction==ll!=!(O%2);IS(n,C?i+1:i,s,m.inner,m.from,m.to,a),E=m.to}N=m.to}else{if(N==t||(T?at[N]!=u:at[N]==u))break;N++}R?mS(n,E,N,i+1,s,R,a):E<N&&a.push(new ki(E,N,O)),E=N}else for(let E=t,h=o.length;E>e;){let T=!0,A=!1;if(!h||E>o[h-1].to){let m=at[E-1];m!=u&&(T=!1,A=m==16)}let R=!T&&u==1?[]:null,O=T?i:i+1,N=E;e:for(;;)if(h&&N==o[h-1].to){if(A)break e;let m=o[--h];if(!T)for(let C=m.from,L=h;;){if(C==e)break e;if(L&&o[L-1].to==C)C=o[--L].from;else{if(at[C-1]==u)break e;break}}if(R)R.push(m);else{m.to<E&&a.push(new ki(m.to,E,O));let C=m.direction==ll!=!(O%2);IS(n,C?i+1:i,s,m.inner,m.from,m.to,a),E=m.from}N=m.from}else{if(N==e||(T?at[N-1]!=u:at[N-1]==u))break;N--}R?mS(n,N,E,i+1,s,R,a):N<E&&a.push(new ki(N,E,O)),E=N}}function IS(n,e,t,i,s,o,a){let u=e%2?2:1;vV(n,s,o,i,u),UV(n,s,o,i,u),bV(s,o,i,u),mS(n,s,o,e,t,i,a)}function xV(n,e,t){if(!n)return[new ki(0,0,e==DR?1:0)];if(e==ll&&!t.length&&!yV.test(n))return NM(n.length);if(t.length)for(;n.length>at.length;)at[at.length]=256;let i=[],s=e==ll?0:1;return IS(n,s,s,t,0,n.length,i),i}function NM(n){return[new ki(0,n,0)]}let mM="";function BV(n,e,t,i,s){var o;let a=i.head-n.from,u=ki.find(e,a,(o=i.bidiLevel)!==null&&o!==void 0?o:-1,i.assoc),E=e[u],h=E.side(s,t);if(a==h){let R=u+=s?1:-1;if(R<0||R>=e.length)return null;E=e[u=R],a=E.side(!s,t),h=E.side(s,t)}let T=zt(n.text,a,E.forward(s,t));(T<E.from||T>E.to)&&(T=h),mM=n.text.slice(Math.min(a,T),Math.max(a,T));let A=u==(s?e.length-1:0)?null:e[u+(s?1:-1)];return A&&T==h&&A.level+(s?0:1)<E.level?q.cursor(A.side(!s,t)+n.from,A.forward(s,t)?1:-1,A.level):q.cursor(T+n.from,E.forward(s,t)?-1:1,E.level)}function GV(n,e,t){for(let i=e;i<t;i++){let s=RM(n.charCodeAt(i));if(s==1)return ll;if(s==2||s==4)return DR}return ll}const IM=Re.define(),pM=Re.define(),CM=Re.define(),gM=Re.define(),pS=Re.define(),LM=Re.define(),_M=Re.define(),MR=Re.define(),PR=Re.define(),DM=Re.define({combine:n=>n.some(e=>e)}),MM=Re.define({combine:n=>n.some(e=>e)}),PM=Re.define();class Ro{constructor(e,t,i,s,o,a=!1){this.range=e,this.y=t,this.x=i,this.yMargin=s,this.xMargin=o,this.isSnapshot=a}map(e){return e.empty?this:new Ro(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Ro(q.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const hE=xe.define({map:(n,e)=>n.map(e)}),yM=xe.define();function Dn(n,e,t){let i=n.facet(gM);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const Rs=Re.define({combine:n=>n.length?n[0]:!0});let HV=0;const oo=Re.define({combine(n){return n.filter((e,t)=>{for(let i=0;i<t;i++)if(n[i].plugin==e.plugin)return!1;return!0})}});class pt{constructor(e,t,i,s,o){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=s,this.baseExtensions=o(this),this.extension=this.baseExtensions.concat(oo.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(oo.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:i,eventObservers:s,provide:o,decorations:a}=t||{};return new pt(HV++,e,i,s,u=>{let E=[];return a&&E.push(Ff.of(h=>{let T=h.plugin(u);return T?a(T):De.none})),o&&E.push(o(u)),E})}static fromClass(e,t){return pt.define((i,s)=>new e(i,s),t)}}class uA{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Dn(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Dn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Dn(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const vM=Re.define(),yR=Re.define(),Ff=Re.define(),UM=Re.define(),vR=Re.define(),Dc=Re.define(),bM=Re.define();function lg(n,e){let t=n.state.facet(bM);if(!t.length)return t;let i=t.map(o=>o instanceof Function?o(n):o),s=[];return Fe.spans(i,e.from,e.to,{point(){},span(o,a,u,E){let h=o-e.from,T=a-e.from,A=s;for(let R=u.length-1;R>=0;R--,E--){let O=u[R].spec.bidiIsolate,N;if(O==null&&(O=GV(e.text,h,T)),E>0&&A.length&&(N=A[A.length-1]).to==h&&N.direction==O)N.to=T,A=N.inner;else{let m={from:h,to:T,direction:O,inner:[]};A.push(m),A=m.inner}}}}),s}const xM=Re.define();function UR(n){let e=0,t=0,i=0,s=0;for(let o of n.state.facet(xM)){let a=o(n);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(t=Math.max(t,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(s=Math.max(s,a.bottom)))}return{left:e,right:t,top:i,bottom:s}}const Ya=Re.define();class ri{constructor(e,t,i,s){this.fromA=e,this.toA=t,this.fromB=i,this.toB=s}join(e){return new ri(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>i.toA)){if(s.toA<i.fromA)break;i=i.join(s),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let s=0,o=0,a=0;;){let u=s<e.length?e[s].fromB:1e9,E=o<t.length?t[o]:1e9,h=Math.min(u,E);if(h==1e9)break;let T=h+a,A=h,R=T;for(;;)if(o<t.length&&t[o]<=A){let O=t[o+1];o+=2,A=Math.max(A,O);for(let N=s;N<e.length&&e[N].fromB<=A;N++)a=e[N].toA-e[N].toB;R=Math.max(R,O+a)}else if(s<e.length&&e[s].fromB<=A){let O=e[s++];A=Math.max(A,O.toB),R=Math.max(R,O.toA),a=O.toA-O.toB}else break;i.push(new ri(T,R,h,A))}return i}}class af{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Ft.empty(this.startState.doc.length);for(let o of i)this.changes=this.changes.compose(o.changes);let s=[];this.changes.iterChangedRanges((o,a,u,E)=>s.push(new ri(o,a,u,E))),this.changedRanges=s}static create(e,t,i){return new af(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const wV=[];class It{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return wV}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&mV(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let s of this.children){if(s==e)return i;i+=s.length+s.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t){return null}domPosFor(e,t){let i=Sr(this.dom),s=this.length?e>0:t>0;return new di(this.parent.dom,i+(s?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof kf)return e;return null}static get(e){return e.cmTile}}class Yf extends It{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,s,o=(e==null?void 0:e.node)==t?e:null,a=0;for(let u of this.children){if(u.sync(e),a+=u.length+u.breakAfter,s=i?i.nextSibling:t.firstChild,o&&s!=u.dom&&(o.written=!0),u.dom.parentNode==t)for(;s&&s!=u.dom;)s=og(s);else t.insertBefore(u.dom,s);i=u.dom}for(s=i?i.nextSibling:t.firstChild,o&&s&&(o.written=!0);s;)s=og(s);this.length=a}}function og(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class kf extends Yf{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=It.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,s=0,o=0;;)if(s==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&o++,s=t.pop()}else{let a=i.children[s++];if(a instanceof Os)t.push(s),i=a,s=0;else{let u=o+a.length,E=e(a,o);if(E!==void 0)return E;o=u+a.breakAfter}}}resolveBlock(e,t){let i,s=-1,o,a=-1;if(this.blockTiles((u,E)=>{let h=E+u.length;if(e>=E&&e<=h){if(u.isWidget()&&t>=-1&&t<=1){if(u.flags&32)return!0;u.flags&16&&(i=void 0)}(E<e||e==h&&(t<-1?u.length:u.covers(1)))&&(!i||!u.isWidget()&&i.isWidget())&&(i=u,s=e-E),(h>e||e==E&&(t>1?u.length:u.covers(-1)))&&(!o||!u.isWidget()&&o.isWidget())&&(o=u,a=e-E)}}),!i&&!o)throw new Error("No tile at position "+e);return i&&t<0||!o?{tile:i,offset:s}:{tile:o,offset:a}}}class Os extends Yf{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new Os(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class Co extends Yf{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let s=new Co(t||document.createElement("div"),e);return(!t||!i)&&(s.flags|=4),s}get domAttrs(){return this.attrs}resolveInline(e,t,i){let s=null,o=-1,a=null,u=-1;function E(T,A){for(let R=0,O=0;R<T.children.length&&O<=A;R++){let N=T.children[R],m=O+N.length;m>=A&&(N.isComposite()?E(N,A-O):(!a||a.isHidden&&(t>0||i&&YV(a,N)))&&(m>A||N.flags&32)?(a=N,u=A-O):(O<A||N.flags&16&&!N.isHidden)&&(s=N,o=A-O)),O=m}}E(this,e);let h=(t<0?s:a)||s||a;return h?{tile:h,offset:h==s?o:u}:null}coordsIn(e,t){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t):FV(this)}domIn(e,t){let i=this.resolveInline(e,t);if(i){let{tile:s,offset:o}=i;if(this.dom.contains(s.dom))return s.isText()?new di(s.dom,Math.min(s.dom.nodeValue.length,o)):s.domPosFor(o,s.flags&16?1:s.flags&32?-1:t);let a=i.tile.parent,u=!1;for(let E of a.children){if(u)return new di(E.dom,0);E==i.tile&&(u=!0)}}return new di(this.dom,0)}}function FV(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Ja(e);return t[t.length-1]||null}function YV(n,e){let t=n.coordsIn(0,1),i=e.coordsIn(0,1);return t&&i&&i.top<t.bottom}class _n extends Yf{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let i=new _n(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class Qr extends It{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t){let i=this.dom.nodeValue.length;e>i&&(e=i);let s=e,o=e,a=0;e==0&&t<0||e==i&&t>=0?Oe.chrome||Oe.gecko||(e?(s--,a=1):o<i&&(o++,a=-1)):t<0?s--:o<i&&o++;let u=fc(this.dom,s,o).getClientRects();if(!u.length)return null;let E=u[(a?a<0:t>=0)?0:u.length-1];return Oe.safari&&!a&&E.width==0&&(E=Array.prototype.find.call(u,h=>h.width)||E),a?Ec(E,a<0):E||null}static of(e,t){let i=new Qr(t||document.createTextNode(e),e);return t||(i.flags|=2),i}}class ol extends It{constructor(e,t,i,s){super(e,t,s),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let s=this.widget.coordsAt(this.dom,e,t);if(s)return s;if(i)return Ec(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let o=this.dom.getClientRects(),a=null;if(!o.length)return null;let u=this.flags&16?!0:this.flags&32?!1:e>0;for(let E=u?o.length-1:0;a=o[E],!(e>0?E==0:E==o.length-1||a.top<a.bottom);E+=u?-1:1);return Ec(a,!u)}}get overrideDOMText(){if(!this.length)return je.empty;let{root:e}=this;if(!e)return je.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,i,s,o){return o||(o=e.toDOM(t),e.editable||(o.contentEditable="false")),new ol(o,i,e,s)}}class cf extends It{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return je.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class kV{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:s,index:o,beforeBreak:a,parents:u}=this;for(;e||t>0;)if(s.isComposite())if(a){if(!e)break;i&&i.break(),e--,a=!1}else if(o==s.children.length){if(!e&&!u.length)break;i&&i.leave(s),a=!!s.breakAfter,{tile:s,index:o}=u.pop(),o++}else{let E=s.children[o],h=E.breakAfter;(t>0?E.length<=e:E.length<e)&&(!i||i.skip(E,0,E.length)!==!1||!E.isComposite)?(a=!!h,o++,e-=E.length):(u.push({tile:s,index:o}),s=E,o=0,i&&E.isComposite()&&i.enter(E))}else if(o==s.length)a=!!s.breakAfter,{tile:s,index:o}=u.pop(),o++;else if(e){let E=Math.min(e,s.length-o);i&&i.skip(s,o,o+E),e-=E,o+=E}else break;return this.tile=s,this.index=o,this.beforeBreak=a,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class VV{constructor(e,t,i,s){this.from=e,this.to=t,this.wrapper=i,this.rank=s}}class WV{constructor(e,t,i){this.cache=e,this.root=t,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,i,s){var o;this.flushBuffer();let a=this.ensureMarks(t,i),u=a.lastChild;if(u&&u.isText()&&!(u.flags&8)&&u.length+e.length<512){this.cache.reused.set(u,2);let E=a.children[a.children.length-1]=new Qr(u.dom,u.text+e);E.parent=a}else a.append(s||Qr.of(e,(o=this.cache.find(Qr))===null||o===void 0?void 0:o.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let i=this.curLine;i.dom!=t.line.dom&&(i.setDOM(this.cache.reused.has(t.line)?EA(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let s=i;for(let u=t.marks.length-1;u>=0;u--){let E=t.marks[u],h=s.lastChild;if(h instanceof _n&&h.mark.eq(E.mark))h.dom!=E.dom&&h.setDOM(EA(E.dom)),s=h;else{if(this.cache.reused.get(E)){let A=It.get(E.dom);A&&A.setDOM(EA(E.dom))}let T=_n.of(E.mark,E.dom);s.append(T),s=T}this.cache.reused.set(E,2)}let o=It.get(e.text);o&&this.cache.reused.set(o,2);let a=new Qr(e.text,e.text.nodeValue);a.flags|=8,this.pos=e.range.toB,s.append(a)}addInlineWidget(e,t,i){let s=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);s||this.flushBuffer();let o=this.ensureMarks(t,i);!s&&!(e.flags&16)&&o.append(this.getBuffer(1)),o.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=BM);let s=Co.start(e,t||((i=this.cache.find(Co))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=s)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let s=this.curLine;for(let o=e.length-1;o>=0;o--){let a=e[o],u;if(t>0&&(u=s.lastChild)&&u instanceof _n&&u.mark.eq(a))s=u,t--;else{let E=_n.of(a,(i=this.cache.find(_n,h=>h.mark.eq(a)))===null||i===void 0?void 0:i.dom);s.append(E),s=E,t=0}}return s}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!ag(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Oe.ios&&ag(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(fA,0,32)||new ol(fA.toDOM(),0,fA,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,i=new VV(e.from,e.to,e.value,t),s=this.wrappers.length;for(;s>0&&(this.wrappers[s-1].rank-i.rank||this.wrappers[s-1].to-i.to)<0;)s--;this.wrappers.splice(s,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let s=t.lastChild;if(i.from<this.pos&&s instanceof Os&&s.wrapper.eq(i.wrapper))t=s;else{let o=Os.of(i.wrapper,(e=this.cache.find(Os,a=>a.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(o),t=o}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(cf,void 0,1);return i&&(i.flags=t),i||new cf(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class XV{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=s;let u=this.textOff=Math.min(e,s.length);return o?null:s.slice(0,u)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}}const uf=[ol,Co,Qr,_n,cf,Os,kf];for(let n=0;n<uf.length;n++)uf[n].bucket=n;class KV{constructor(e){this.view=e,this.buckets=uf.map(()=>[]),this.index=uf.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let s=e.bucket,o=this.buckets[s],a=this.index[s];for(let u=o.length-1;u>=0;u--){let E=(u+a)%o.length,h=o[E];if((!t||t(h))&&!this.reused.has(h))return o.splice(E,1),E<a&&this.index[s]--,this.reused.set(h,i),h}return null}findWidget(e,t,i){let s=this.buckets[0];if(s.length)for(let o=0,a=0;;o++){if(o==s.length){if(a)return null;a=1,o=0}let u=s[o];if(!this.reused.has(u)&&(a==0?u.widget.compare(e):u.widget.constructor==e.constructor&&e.updateDOM(u.dom,this.view,u.widget)))return s.splice(o,1),o<this.index[0]&&this.index[0]--,u.widget==e&&u.length==t&&(u.flags&497)==i?(this.reused.set(u,1),u):(this.reused.set(u,2),new ol(u.dom,t,e,u.flags&-498|i))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class zV{constructor(e,t,i,s,o){this.view=e,this.decorations=s,this.disallowBlockEffectsFor=o,this.openWidget=!1,this.openMarks=0,this.cache=new KV(e),this.text=new XV(e.state.doc),this.builder=new WV(this.cache,new kf(e,e.contentDOM),Fe.iter(i)),this.cache.reused.set(t,2),this.old=new kV(t),this.reuseWalker={skip:(a,u,E)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let s=0,o=0,a=0;;){let u=a<e.length?e[a++]:null,E=u?u.fromA:this.old.root.length;if(E>s){let h=E-s;this.preserve(h,!a,!u),s=E,o+=h}if(!u)break;t&&u.fromA<=t.range.fromA&&u.toA>=t.range.toA?(this.forward(u.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(o,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,u.toA),this.emit(t.range.toB,u.toB)):(this.forward(u.fromA,u.toA),this.emit(o,u.toB)),o=u.toB,s=u.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let s=JV(this.old),o=this.openMarks;this.old.advance(e,i?1:-1,{skip:(a,u,E)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(E-u);else{let h=E>0||u<a.length?ol.of(a.widget,this.view,E-u,a.flags&496,this.cache.maybeReuse(a)):this.cache.reuse(a);h.flags&256?(h.flags&=-2,this.builder.addBlockWidget(h)):(this.builder.ensureLine(null),this.builder.addInlineWidget(h,s,o),o=s.length)}else if(a.isText())this.builder.ensureLine(null),!u&&E==a.length&&!this.cache.reused.has(a)?this.builder.addText(a.text,s,o,this.cache.reuse(a)):(this.cache.add(a),this.builder.addText(a.text.slice(u,E),s,o)),o=s.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof cf)this.cache.add(a);else if(a instanceof _n)this.builder.ensureLine(null),this.builder.addMark(a,s,o),this.cache.reused.set(a,1),o=s.length;else return!1;this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof _n&&s.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?s.length&&(s.length=o=0):a instanceof _n&&(s.shift(),o=Math.min(o,s.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,s=this.builder,o=0,a=Fe.spans(this.decorations,e,t,{point:(u,E,h,T,A,R)=>{if(h instanceof rl){if(this.disallowBlockEffectsFor[R]){if(h.block)throw new RangeError("Block decorations may not be specified via plugins");if(E>this.view.state.doc.lineAt(u).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(o=T.length,A>T.length)s.continueWidget(E-u);else{let O=h.widget||(h.block?go.block:go.inline),N=$V(h),m=this.cache.findWidget(O,E-u,N)||ol.of(O,this.view,E-u,N);h.block?(h.startSide>0&&s.addLineStartIfNotCovered(i),s.addBlockWidget(m)):(s.ensureLine(i),s.addInlineWidget(m,T,A))}i=null}else i=jV(i,h);E>u&&this.text.skip(E-u)},span:(u,E,h,T)=>{for(let A=u;A<E;){let R=this.text.next(Math.min(512,E-A));R==null?(s.addLineStartIfNotCovered(i),s.addBreak(),A++):(s.ensureLine(i),s.addText(R,h,A==u?T:h.length),A+=R.length),i=null}o=h.length}});this.openWidget=a>o,this.openWidget||s.addLineStartIfNotCovered(i),this.openMarks=a}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let s=e.parentNode;;s=s.parentNode){let o=It.get(s);if(s==this.view.contentDOM)break;o instanceof _n?t.push(o):o!=null&&o.isLine()?i=o:o instanceof Os||(s.nodeName=="DIV"&&!i&&s!=this.view.contentDOM?i=new Co(s,BM):i||t.push(_n.of(new Lc({tagName:s.nodeName.toLowerCase(),attributes:IV(s)}),s)))}return{line:i,marks:t}}}function ag(n,e){let t=i=>{for(let s of i.children)if((e?s.isText():s.length)||t(s))return!0;return!1};return t(n)}function $V(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const BM={class:"cm-line"};function jV(n,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(n||(n={class:"cm-line"}),t&&LR(t,n),i&&(n.class+=" "+i)),n}function JV(n){let e=[];for(let t=n.parents.length;t>1;t--){let i=t==n.parents.length?n.tile:n.parents[t].tile;i instanceof _n&&e.push(i.mark)}return e}function EA(n){let e=It.get(n);return e&&e.setDOM(n.cloneNode()),n}class go extends Ji{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}go.inline=new go("span");go.block=new go("div");const fA=new class extends Ji{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class cg{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=De.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new kf(e,e.contentDOM),this.updateInner([new ri(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:T,toA:A})=>A<this.minWidthFrom||T>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?s=this.domChanged.newSel.head:!r2(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let o=s>-1?QV(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){let{from:T,to:A}=this.hasComposition;i=new ri(T,A,e.changes.mapPos(T,-1),e.changes.mapPos(A,1)).addToSet(i.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(Oe.ie||Oe.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,u=this.blockWrappers;this.updateDeco();let E=t2(a,this.decorations,e.changes);E.length&&(i=ri.extendWithRanges(i,E));let h=i2(u,this.blockWrappers,e.changes);return h.length&&(i=ri.extendWithRanges(i,h)),o&&!i.some(T=>T.fromA<=o.range.fromA&&T.toA>=o.range.toA)&&(i=o.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let a=this.tile,u=new zV(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&It.get(t.text)&&u.cache.reused.set(It.get(t.text),2),this.tile=u.run(e,t),CS(a,u.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=Oe.chrome||Oe.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(o),o&&(o.written||i.selectionRange.focusNode!=o.node||!this.tile.dom.contains(o.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.tile.children)o.isWidget()&&o.widget instanceof hA&&s.push(o.dom);i.updateGaps(s)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(yM)&&(this.editContextFormatting=i.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,s=this.view.root.activeElement,o=s==i,a=!o&&!(this.view.state.facet(Rs)||i.tabIndex>-1)&&ja(i,this.view.observer.selectionRange)&&!(s&&i.contains(s));if(!(o||t||a))return;let u=this.forceSelection;this.forceSelection=!1;let E=this.view.state.selection.main,h,T;if(E.empty?T=h=this.inlineDOMNearPos(E.anchor,E.assoc||1):(T=this.inlineDOMNearPos(E.head,E.head==E.from?1:-1),h=this.inlineDOMNearPos(E.anchor,E.anchor==E.from?1:-1)),Oe.gecko&&E.empty&&!this.hasComposition&&qV(h)){let R=document.createTextNode("");this.view.observer.ignore(()=>h.node.insertBefore(R,h.node.childNodes[h.offset]||null)),h=T=new di(R,0),u=!0}let A=this.view.observer.selectionRange;(u||!A.focusNode||(!qa(h.node,h.offset,A.anchorNode,A.anchorOffset)||!qa(T.node,T.offset,A.focusNode,A.focusOffset))&&!this.suppressWidgetCursorChange(A,E))&&(this.view.observer.ignore(()=>{Oe.android&&Oe.chrome&&i.contains(A.focusNode)&&s2(A.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let R=uc(this.view.root);if(R)if(E.empty){if(Oe.gecko){let O=ZV(h.node,h.offset);if(O&&O!=3){let N=(O==1?dM:AM)(h.node,h.offset);N&&(h=new di(N.node,N.offset))}}R.collapse(h.node,h.offset),E.bidiLevel!=null&&R.caretBidiLevel!==void 0&&(R.caretBidiLevel=E.bidiLevel)}else if(R.extend){R.collapse(h.node,h.offset);try{R.extend(T.node,T.offset)}catch{}}else{let O=document.createRange();E.anchor>E.head&&([h,T]=[T,h]),O.setEnd(T.node,T.offset),O.setStart(h.node,h.offset),R.removeAllRanges(),R.addRange(O)}a&&this.view.root.activeElement==i&&(i.blur(),s&&s.focus())}),this.view.observer.setSelectionRange(h,T)),this.impreciseAnchor=h.precise?null:new di(A.anchorNode,A.anchorOffset),this.impreciseHead=T.precise?null:new di(A.focusNode,A.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&qa(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=uc(e.root),{anchorNode:s,anchorOffset:o}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let a=this.lineAt(t.head,t.assoc);if(!a)return;let u=a.posAtStart;if(t.head==u||t.head==u+a.length)return;let E=this.coordsAt(t.head,-1),h=this.coordsAt(t.head,1);if(!E||!h||E.bottom>h.top)return;let T=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(T.node,T.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let A=e.observer.selectionRange;e.docView.posFromDOM(A.anchorNode,A.anchorOffset)!=t.from&&i.collapse(s,o)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let s=i.posAtStart;if(i.isComposite()){let o;if(e==i.dom)o=i.dom.childNodes[t];else{let a=ps(e)==0?0:t==0?-1:1;for(;;){let u=e.parentNode;if(u==i.dom)break;a==0&&u.firstChild!=u.lastChild&&(e==u.firstChild?a=-1:a=1),e=u}a<0?o=e:o=e.nextSibling}if(o==i.dom.firstChild)return s;for(;o&&!It.get(o);)o=o.nextSibling;if(!o)return s+i.length;for(let a=0,u=s;;a++){let E=i.children[a];if(E.dom==o)return u;u+=E.length+E.breakAfter}}else return i.isText()?e==i.dom?s+t:s+(t?i.length:0):s}domAtPos(e,t){let{tile:i,offset:s}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(e,t):i.domIn(s,t)}inlineDOMNearPos(e,t){let i,s=-1,o=!1,a,u=-1,E=!1;return this.tile.blockTiles((h,T)=>{if(h.isWidget()){if(h.flags&32&&T>=e)return!0;h.flags&16&&(o=!0)}else{let A=T+h.length;if(T<=e&&(i=h,s=e-T,o=A<e),A>=e&&!a&&(a=h,u=e-T,E=T>e),T>e&&a)return!0}}),!i&&!a?this.domAtPos(e,t):(o&&a?i=null:E&&i&&(a=null),i&&t<0||!a?i.domIn(s,t):a.domIn(u,t))}coordsAt(e,t){let{tile:i,offset:s}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof hA?null:i.coordsInWidget(s,t,!0):i.coordsIn(s,t)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function s(o,a){if(o.isComposite())for(let u of o.children){if(u.length>=a){let E=s(u,a);if(E)return E}if(a-=u.length,a<0)break}else if(o.isText()&&a<o.length){let u=zt(o.text,a);if(u==a)return null;let E=fc(o.dom,a,u).getClientRects();for(let h=0;h<E.length;h++){let T=E[h];if(h==E.length-1||T.top<T.bottom&&T.left<T.right)return T}}return null}return s(t,i)}measureVisibleLineHeights(e){let t=[],{from:i,to:s}=e,o=this.view.contentDOM.clientWidth,a=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,u=-1,E=this.view.textDirection==ct.LTR,h=0,T=(A,R,O)=>{for(let N=0;N<A.children.length&&!(R>s);N++){let m=A.children[N],C=R+m.length,L=m.dom.getBoundingClientRect(),{height:D}=L;if(O&&!N&&(h+=L.top-O.top),m instanceof Os)C>i&&T(m,R,L);else if(R>=i&&(h>0&&t.push(-h),t.push(D+h),h=0,a)){let _=m.dom.lastChild,v=_?Ja(_):[];if(v.length){let U=v[v.length-1],G=E?U.right-L.left:L.right-U.left;G>u&&(u=G,this.minWidth=o,this.minWidthFrom=R,this.minWidthTo=C)}}O&&N==A.children.length-1&&(h+=O.bottom-L.bottom),R=C+m.breakAfter}};return T(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ct.RTL:ct.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let u=0,E;for(let h of a.children){if(!h.isText()||/[^ -~]/.test(h.text))return;let T=Ja(h.dom);if(T.length!=1)return;u+=T[0].width,E=T[0].height}if(u)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:u/a.length,textHeight:E}}});if(e)return e;let t=document.createElement("div"),i,s,o;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let a=Ja(t.firstChild)[0];i=t.getBoundingClientRect().height,s=a&&a.width?a.width/27:7,o=a&&a.height?a.height:i,t.remove()}),{lineHeight:i,charWidth:s,textHeight:o}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,s=0;;s++){let o=s==t.viewports.length?null:t.viewports[s],a=o?o.from-1:this.view.state.doc.length;if(a>i){let u=(t.lineBlockAt(a).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(De.replace({widget:new hA(u),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!o)break;i=o.to+1}return De.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ff).map(o=>(this.dynamicDecorationMap[e++]=typeof o=="function")?o(this.view):o),i=!1,s=this.view.state.facet(vR).map((o,a)=>{let u=typeof o=="function";return u&&(i=!0),u?o(this.view):o});for(s.length&&(this.dynamicDecorationMap[e++]=i,t.push(Fe.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(UM).map(o=>typeof o=="function"?o(this.view):o)}scrollIntoView(e){var t;if(e.isSnapshot){let T=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=T.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let T of this.view.state.facet(PM))try{if(T(this.view,e.range,e))return!0}catch(A){Dn(this.view.state,A,"scroll handler")}let{range:i}=e,s=this.coordsAt(i.head,(t=i.assoc)!==null&&t!==void 0?t:i.empty?0:i.head>i.anchor?-1:1),o;if(!s)return;!i.empty&&(o=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(s={left:Math.min(s.left,o.left),top:Math.min(s.top,o.top),right:Math.max(s.right,o.right),bottom:Math.max(s.bottom,o.bottom)});let a=UR(this.view),u={left:s.left-a.left,top:s.top-a.top,right:s.right+a.right,bottom:s.bottom+a.bottom},{offsetWidth:E,offsetHeight:h}=this.view.scrollDOM;if(gV(this.view.scrollDOM,u,i.head<i.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,E),-E),Math.max(Math.min(e.yMargin,h),-h),this.view.textDirection==ct.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(s.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||s.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let T=this.view.docView.lineAt(i.head,1);T&&T.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let t=i=>i.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){CS(this.tile)}}function CS(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let i of n.children)CS(i,e)}}function qV(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function GM(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=dM(t.focusNode,t.focusOffset),s=AM(t.focusNode,t.focusOffset),o=i||s;if(s&&i&&s.node!=i.node){let u=It.get(s.node);if(!u||u.isText()&&u.text!=s.node.nodeValue)o=s;else if(n.docView.lastCompositionAfterCursor){let E=It.get(i.node);!E||E.isText()&&E.text!=i.node.nodeValue||(o=s)}}if(n.docView.lastCompositionAfterCursor=o!=i,!o)return null;let a=e-o.offset;return{from:a,to:a+o.node.nodeValue.length,node:o.node}}function QV(n,e,t){let i=GM(n,t);if(!i)return null;let{node:s,from:o,to:a}=i,u=s.nodeValue;if(/[\n\r]/.test(u)||n.state.doc.sliceString(i.from,i.to)!=u)return null;let E=e.invertedDesc;return{range:new ri(E.mapPos(o),E.mapPos(a),o,a),text:s}}function ZV(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let e2=class{constructor(){this.changes=[]}compareRange(e,t){Ao(e,t,this.changes)}comparePoint(e,t){Ao(e,t,this.changes)}boundChange(e){Ao(e,e,this.changes)}};function t2(n,e,t){let i=new e2;return Fe.compare(n,e,t,i),i.changes}class n2{constructor(){this.changes=[]}compareRange(e,t){Ao(e,t,this.changes)}comparePoint(){}boundChange(e){Ao(e,e,this.changes)}}function i2(n,e,t){let i=new n2;return Fe.compare(n,e,t,i),i.changes}function s2(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function r2(n,e){let t=!1;return e&&n.iterChangedRanges((i,s)=>{i<e.to&&s>e.from&&(t=!0)}),t}class hA extends Ji{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function l2(n,e,t=1){let i=n.charCategorizer(e),s=n.doc.lineAt(e),o=e-s.from;if(s.length==0)return q.cursor(e);o==0?t=1:o==s.length&&(t=-1);let a=o,u=o;t<0?a=zt(s.text,o,!1):u=zt(s.text,o);let E=i(s.text.slice(a,u));for(;a>0;){let h=zt(s.text,a,!1);if(i(s.text.slice(h,a))!=E)break;a=h}for(;u<s.length;){let h=zt(s.text,u);if(i(s.text.slice(u,h))!=E)break;u=h}return q.undirectionalRange(a+s.from,u+s.from)}function o2(n,e,t,i,s){let o=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let u=n.viewState.heightOracle.textHeight,E=Math.floor((s-t.top-(n.defaultLineHeight-u)*.5)/u);o+=E*n.viewState.heightOracle.lineLength}let a=n.state.sliceDoc(t.from,t.to);return t.from+fS(a,o,n.state.tabSize)}function gS(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let s;for(let o of i.type){if(o.from>e)break;if(!(o.to<e)){if(o.from<e&&o.to>e)return o;(!s||o.type==ln.Text&&(s.type!=o.type||(t<0?o.from<e:o.to>e)))&&(s=o)}}return s||i}return i}function a2(n,e,t,i){let s=gS(n,e.head,e.assoc||-1),o=!i||s.type!=ln.Text||!(n.lineWrapping||s.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(o){let a=n.dom.getBoundingClientRect(),u=n.textDirectionAt(s.from),E=n.posAtCoords({x:t==(u==ct.LTR)?a.right-1:a.left+1,y:(o.top+o.bottom)/2});if(E!=null)return q.cursor(E,t?-1:1)}return q.cursor(t?s.to:s.from,t?-1:1)}function ug(n,e,t,i){let s=n.state.doc.lineAt(e.head),o=n.bidiSpans(s),a=n.textDirectionAt(s.from);for(let u=e,E=null;;){let h=BV(s,o,a,u,t),T=mM;if(!h){if(s.number==(t?n.state.doc.lines:1))return u;T=`
|
|
230
|
+
`,s=n.state.doc.line(s.number+(t?1:-1)),o=n.bidiSpans(s),h=n.visualLineSide(s,!t)}if(E){if(!E(T))return u}else{if(!i)return h;E=i(T)}u=h}}function c2(n,e,t){let i=n.state.charCategorizer(e),s=i(t);return o=>{let a=i(o);return s==St.Space&&(s=a),s==a}}function u2(n,e,t,i){let s=e.head,o=t?1:-1;if(s==(t?n.state.doc.length:0))return q.cursor(s,e.assoc);let a=e.goalColumn,u,E=n.contentDOM.getBoundingClientRect(),h=n.coordsAtPos(s,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),T=n.documentTop;if(h)a==null&&(a=h.left-E.left),u=o<0?h.top:h.bottom;else{let N=n.viewState.lineBlockAt(s);a==null&&(a=Math.min(E.right-E.left,n.defaultCharacterWidth*(s-N.from))),u=(o<0?N.top:N.bottom)+T}let A=E.left+a,R=n.viewState.heightOracle.textHeight>>1,O=i??R;for(let N=0;;N+=R){let m=u+(O+N)*o,C=LS(n,{x:A,y:m},!1,o);if(t?m>E.bottom:m<E.top)return q.cursor(C.pos,C.assoc);let L=n.coordsAtPos(C.pos,C.assoc),D=L?(L.top+L.bottom)/2:0;if(!L||(t?D>u:D<u))return q.cursor(C.pos,C.assoc,void 0,a)}}function Qa(n,e,t){for(;;){let i=0;for(let s of n)s.between(e-1,e+1,(o,a,u)=>{if(e>o&&e<a){let E=i||t||(e-o<a-e?-1:1);e=E<0?o:a,i=E}});if(!i)return e}}function HM(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let s=e.ranges[i],o=null;if(s.empty){let a=Qa(n,s.from,0);a!=s.from&&(o=q.cursor(a,-1))}else{let a=Qa(n,s.from,-1),u=Qa(n,s.to,1);(a!=s.from||u!=s.to)&&(s.undirectional?o=q.undirectionalRange(s.from,s.to):o=q.range(s.from==s.anchor?a:u,s.from==s.head?a:u))}o&&(t||(t=e.ranges.slice()),t[i]=o)}return t?q.create(t,e.mainIndex):e}function TA(n,e,t){let i=Qa(n.state.facet(Dc).map(s=>s(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:q.cursor(i,i<t.from?1:-1)}class Fi{constructor(e,t){this.pos=e,this.assoc=t}}function LS(n,e,t,i){let s=n.contentDOM.getBoundingClientRect(),o=s.top+n.viewState.paddingTop,{x:a,y:u}=e,E=u-o,h;for(;;){if(E<0)return new Fi(0,1);if(E>n.viewState.docHeight)return new Fi(n.state.doc.length,-1);if(h=n.elementAtHeight(E),i==null)break;if(h.type==ln.Text){if(i<0?h.to<n.viewport.from:h.from>n.viewport.to)break;let R=n.docView.coordsAt(i<0?h.from:h.to,i>0?-1:1);if(R&&(i<0?R.top<=E+o:R.bottom>=E+o))break}let A=n.viewState.heightOracle.textHeight/2;E=i>0?h.bottom+A:h.top-A}if(n.viewport.from>=h.to||n.viewport.to<=h.from){if(t)return null;if(h.type==ln.Text){let A=o2(n,s,h,a,u);return new Fi(A,A==h.from?1:-1)}}if(h.type!=ln.Text)return E<(h.top+h.bottom)/2?new Fi(h.from,1):new Fi(h.to,-1);let T=n.docView.lineAt(h.from,2);return(!T||T.length!=h.length)&&(T=n.docView.lineAt(h.from,-2)),new E2(n,a,u,n.textDirectionAt(h.from)).scanTile(T,h.from)}class E2{constructor(e,t,i,s){this.view=e,this.x=t,this.y=i,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[ki.find(s,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[ki.find(s,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:s}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+s.from<t)}scan(e,t,i=!1){let s=0,o=e.length-1,a=new Set,u=this.bidiIn(e[0],e[o]),E,h,T=-1,A=1e9,R;e:for(;s<o;){let N=o-s,m=s+o>>1;t:if(a.has(m)){let L=s+Math.floor(Math.random()*N);for(let D=0;D<N;D++){if(!a.has(L)){m=L;break t}L++,L==o&&(L=s)}break e}a.add(m);let C=t(m);if(C)for(let L=0;L<C.length;L++){let D=C[L],_=0;if(!(D.width==0&&C.length>1)){if(D.bottom<this.y)(!E||E.bottom<D.bottom)&&(E=D),_=1;else if(D.top>this.y)(!h||h.top>D.top)&&(h=D),_=-1;else{let v=D.left>this.x?this.x-D.left:D.right<this.x?this.x-D.right:0,U=Math.abs(v);U<A&&(T=m,A=U,R=D),v&&(_=v<0==(this.baseDir==ct.LTR)?-1:1)}_==-1&&(!u||this.baseDirAt(e[m],1))?o=m:_==1&&(!u||this.baseDirAt(e[m+1],-1))&&(s=m+1)}}}if(!R){if(!h&&!E)return{i:e[0],after:!1};let N=E&&(!h||this.y-E.bottom<h.top-this.y)?E:h;return this.y=(N.top+N.bottom)/2,this.scan(e,t,!0)}if(A&&!i){let{top:N,bottom:m}=R;if(E&&E.bottom>(N+N+m)/3)return this.y=E.bottom-1,this.scan(e,t,!0);if(h&&h.top<(N+m+m)/3)return this.y=h.top+1,this.scan(e,t,!0)}let O=(u?this.dirAt(e[T],1):this.baseDir)==ct.LTR;return{i:T,after:this.x>(R.left+R.right)/2==O}}scanText(e,t){let i=[];for(let o=0;o<e.length;o=zt(e.text,o))i.push(t+o);i.push(t+e.length);let s=this.scan(i,o=>{let a=i[o]-t,u=i[o+1]-t;return fc(e.dom,a,u).getClientRects()});return s.after?new Fi(i[s.i+1],-1):new Fi(i[s.i],1)}scanTile(e,t){if(!e.length)return new Fi(t,1);if(e.children.length==1){let u=e.children[0];if(u.isText())return this.scanText(u,t);if(u.isComposite())return this.scanTile(u,t)}let i=[t];for(let u=0,E=t;u<e.children.length;u++)i.push(E+=e.children[u].length);let s=this.scan(i,u=>{let E=e.children[u];return E.flags&48?null:(E.dom.nodeType==1?E.dom:fc(E.dom,0,E.length)).getClientRects()}),o=e.children[s.i],a=i[s.i];return o.isText()?this.scanText(o,a):o.isComposite()?this.scanTile(o,a):s.after?new Fi(i[s.i+1],-1):new Fi(a,1)}}const so="";class f2{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet($e.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=so}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let s=e;;){this.findPointBefore(i,s);let o=this.text.length;this.readNode(s);let a=It.get(s),u=s.nextSibling;if(u==t){a!=null&&a.breakAfter&&!u&&i!=this.view.contentDOM&&this.lineBreak();break}let E=It.get(u);(a&&E?a.breakAfter:(a?a.breakAfter:of(s))||of(u)&&(s.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>o)&&!T2(u,t)&&this.lineBreak(),s=u}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let o=-1,a=1,u;if(this.lineSeparator?(o=t.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(u=s.exec(t))&&(o=u.index,a=u[0].length),this.append(t.slice(i,o<0?t.length:o)),o<0)break;if(this.lineBreak(),a>1)for(let E of this.points)E.node==e&&E.pos>this.text.length&&(E.pos-=a-1);i=o+a}}readNode(e){let t=It.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let s=i.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(h2(e,i.node,i.offset)?t:0))}}function h2(n,e,t){for(;;){if(!e||t<ps(e))return!1;if(e==n)return!0;t=Sr(e)+1,e=e.parentNode}}function T2(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let i=It.get(n);if(!(i!=null&&i.isWidget()))return!1;i&&(t||(t=[])).push(i)}if(t)for(let i of t){let s=i.overrideDOMText;if(s!=null&&s.length)return!1}return!0}class Eg{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class d2{constructor(e,t,i,s){this.typeOver=s,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:o,impreciseAnchor:a}=e.docView,u=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=wM(e.docView.tile,t,i,0))){let E=o||a?[]:S2(e),h=new f2(E,e);h.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=h.text,this.newSel=R2(E,this.bounds.from)}else{let E=e.observer.selectionRange,h=o&&o.node==E.focusNode&&o.offset==E.focusOffset||!OS(e.contentDOM,E.focusNode)?u.main.head:e.docView.posFromDOM(E.focusNode,E.focusOffset),T=a&&a.node==E.anchorNode&&a.offset==E.anchorOffset||!OS(e.contentDOM,E.anchorNode)?u.main.anchor:e.docView.posFromDOM(E.anchorNode,E.anchorOffset),A=e.viewport;if((Oe.ios||Oe.chrome)&&h!=T&&Math.min(h,T)<=u.main.from&&Math.max(h,T)>=u.main.to&&(A.from>0||A.to<e.state.doc.length)){let R=Math.min(h,T),O=Math.max(h,T),N=A.from-R,m=A.to-O;(N==0||N==1||R==0)&&(m==0||m==-1||O==e.state.doc.length)&&(h=0,T=e.state.doc.length)}if(e.inputState.composing>-1&&u.ranges.length>1)this.newSel=u.replaceRange(q.range(T,h));else if(e.lineWrapping&&T==h&&!(u.main.empty&&u.main.head==h)&&e.inputState.lastTouchTime>Date.now()-100){let R=e.coordsAtPos(h,-1),O=0;R&&(O=e.inputState.lastTouchY<=R.bottom?-1:1),this.newSel=q.create([q.cursor(h,O)])}else this.newSel=q.single(T,h)}}}function wM(n,e,t,i){if(n.isComposite()){let s=-1,o=-1,a=-1,u=-1;for(let E=0,h=i,T=i;E<n.children.length;E++){let A=n.children[E],R=h+A.length;if(h<e&&R>t)return wM(A,e,t,h);if(R>=e&&s==-1&&(s=E,o=h),h>t&&A.dom.parentNode==n.dom){a=E,u=T;break}T=R,h=R+A.breakAfter}return{from:o,to:u<0?i+n.length:u,startDOM:(s?n.children[s-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:a<n.children.length&&a>=0?n.children[a].dom:null}}else return n.isText()?{from:i,to:i+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function FM(n,e){let t,{newSel:i}=e,{state:s}=n,o=s.selection.main,a=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:u,to:E}=e.bounds,h=o.from,T=null;(a===8||Oe.android&&e.text.length<E-u)&&(h=o.to,T="end");let A=s.doc.sliceString(u,E,so),R,O;!o.empty&&o.from>=u&&o.to<=E&&(e.typeOver||A!=e.text)&&A.slice(0,o.from-u)==e.text.slice(0,o.from-u)&&A.slice(o.to-u)==e.text.slice(R=e.text.length-(A.length-(o.to-u)))?t={from:o.from,to:o.to,insert:je.of(e.text.slice(o.from-u,R).split(so))}:(O=YM(A,e.text,h-u,T))&&(Oe.chrome&&a==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==so+so&&O.toB--,t={from:u+O.from,to:u+O.toA,insert:je.of(e.text.slice(O.from,O.toB).split(so))})}else i&&(!n.hasFocus&&s.facet(Rs)||Ef(i,o))&&(i=null);if(!t&&!i)return!1;if((Oe.mac||Oe.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=q.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:je.of([t.insert.toString().replace("."," ")])}):s.doc.lineAt(o.from).to<o.to&&n.docView.lineHasWidget(o.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:o.from,to:o.to,insert:s.toText(n.inputState.insertingText)}:Oe.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
|
|
231
|
+
`&&n.lineWrapping&&(i&&(i=q.single(i.main.anchor-1,i.main.head-1)),t={from:o.from,to:o.to,insert:je.of([" "])}),t)return bR(n,t,i,a);if(i&&!Ef(i,o)){let u=!1,E="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(u=!0),E=n.inputState.lastSelectionOrigin,E=="select.pointer"&&(i=HM(s.facet(Dc).map(h=>h(n)),i))),n.dispatch({selection:i,scrollIntoView:u,userEvent:E}),!0}else return!1}function bR(n,e,t,i=-1){if(Oe.ios&&n.inputState.flushIOSKey(e))return!0;let s=n.state.selection.main;if(Oe.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&n.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&So(n.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>s.head)&&So(n.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&So(n.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let a,u=()=>a||(a=A2(n,e,t));return n.state.facet(LM).some(E=>E(n,e.from,e.to,o,u))||n.dispatch(u()),!0}function A2(n,e,t){let i,s=n.state,o=s.selection.main,a=-1;if(e.from==e.to&&e.from<o.from||e.from>o.to){let E=e.from<o.from?-1:1,h=E<0?o.from:o.to,T=Qa(s.facet(Dc).map(A=>A(n)),h,E);e.from==T&&(a=T)}if(a>-1)i={changes:e,selection:q.cursor(e.from+e.insert.length,-1)};else if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let E=o.from<e.from?s.sliceDoc(o.from,e.from):"",h=o.to>e.to?s.sliceDoc(e.to,o.to):"";i=s.replaceSelection(n.state.toText(E+e.insert.sliceString(0,void 0,n.state.lineBreak)+h))}else{let E=s.changes(e),h=t&&t.main.to<=E.newLength?t.main:void 0;if(s.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=o.to+10&&e.to>=o.to-10){let T=n.state.sliceDoc(e.from,e.to),A,R=t&&GM(n,t.main.head);if(R){let N=e.insert.length-(e.to-e.from);A={from:R.from,to:R.to-N}}else A=n.state.doc.lineAt(o.head);let O=o.to-e.to;i=s.changeByRange(N=>{if(N.from==o.from&&N.to==o.to)return{changes:E,range:h||N.map(E)};let m=N.to-O,C=m-T.length;if(n.state.sliceDoc(C,m)!=T||m>=A.from&&C<=A.to)return{range:N};let L=s.changes({from:C,to:m,insert:e.insert}),D=N.to-o.to;return{changes:L,range:h?q.range(Math.max(0,h.anchor+D),Math.max(0,h.head+D)):N.map(L)}})}else i={changes:E,selection:h&&s.selection.replaceRange(h)}}let u="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,u+=".compose",n.inputState.compositionFirstChange&&(u+=".start",n.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:u,scrollIntoView:!0})}function YM(n,e,t,i){let s=Math.min(n.length,e.length),o=0;for(;o<s&&n.charCodeAt(o)==e.charCodeAt(o);)o++;if(o==s&&n.length==e.length)return null;let a=n.length,u=e.length;for(;a>0&&u>0&&n.charCodeAt(a-1)==e.charCodeAt(u-1);)a--,u--;if(i=="end"){let E=Math.max(0,o-Math.min(a,u));t-=a+E-o}if(a<o&&n.length<e.length){let E=t<=o&&t>=a?o-t:0;o-=E,u=o+(u-a),a=o}else if(u<o){let E=t<=o&&t>=u?o-t:0;o-=E,a=o+(a-u),u=o}return{from:o,toA:a,toB:u}}function S2(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:o}=n.observer.selectionRange;return t&&(e.push(new Eg(t,i)),(s!=t||o!=i)&&e.push(new Eg(s,o))),e}function R2(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?q.single(t+e,i+e):null}function Ef(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class O2{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Oe.safari&&e.contentDOM.addEventListener("input",()=>null),Oe.gecko&&x2(e.contentDOM.ownerDocument)}handleEvent(e){!D2(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let s of i.observers)s(this.view,t);for(let s of i.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=m2(e),i=this.handlers,s=this.view.contentDOM;for(let o in t)if(o!="scroll"){let a=!t[o].handlers.length,u=i[o];u&&a!=!u.handlers.length&&(s.removeEventListener(o,this.handleEvent),u=null),u||s.addEventListener(o,this.handleEvent,{passive:a})}for(let o in i)o!="scroll"&&!t[o]&&s.removeEventListener(o,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&VM.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Oe.android&&Oe.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(Oe.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(kM.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||I2.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&Oe.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&N2(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,So(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Oe.safari&&!Oe.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function N2(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function fg(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(s){Dn(t.state,s)}}}function m2(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let s=i.spec,o=s&&s.plugin.domEventHandlers,a=s&&s.plugin.domEventObservers;if(o)for(let u in o){let E=o[u];E&&t(u).handlers.push(fg(i.value,E))}if(a)for(let u in a){let E=a[u];E&&t(u).observers.push(fg(i.value,E))}}for(let i in Ni)t(i).handlers.push(Ni[i]);for(let i in yn)t(i).observers.push(yn[i]);return e}const kM=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],I2="dthko",VM=[16,17,18,20,91,92,224,225],TE=6;function dE(n){return Math.max(0,n)*.7+8}function p2(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class C2{constructor(e,t,i,s){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=fM(e.contentDOM),this.atoms=e.state.facet(Dc).map(a=>a(e));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet($e.allowMultipleSelections)&&g2(e,t),this.dragging=_2(e,t)&&KM(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&p2(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,s=0,o=0,a=this.view.win.innerWidth,u=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:u}=this.scrollParents.y.getBoundingClientRect());let E=UR(this.view);e.clientX-E.left<=s+TE?t=-dE(s-e.clientX):e.clientX+E.right>=a-TE&&(t=dE(e.clientX-a)),e.clientY-E.top<=o+TE?i=-dE(o-e.clientY):e.clientY+E.bottom>=u-TE&&(i=dE(e.clientY-u)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=HM(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function g2(n,e){let t=n.state.facet(IM);return t.length?t[0](e):Oe.mac?e.metaKey:e.ctrlKey}function L2(n,e){let t=n.state.facet(pM);return t.length?t[0](e):Oe.mac?!e.altKey:!e.ctrlKey}function _2(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=uc(n.root);if(!i||i.rangeCount==0)return!0;let s=i.getRangeAt(0).getClientRects();for(let o=0;o<s.length;o++){let a=s[o];if(a.left<=e.clientX&&a.right>=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function D2(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=It.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}const Ni=Object.create(null),yn=Object.create(null),WM=Oe.ie&&Oe.ie_version<15||Oe.ios&&Oe.webkit_version<604;function M2(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),XM(n,t.value)},50)}function Vf(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function XM(n,e){e=Vf(n.state,MR,e);let{state:t}=n,i,s=1,o=t.toText(e),a=o.lines==t.selection.ranges.length;if(_S!=null&&t.selection.ranges.every(E=>E.empty)&&_S==o.toString()){let E=-1;i=t.changeByRange(h=>{let T=t.doc.lineAt(h.from);if(T.from==E)return{range:h};E=T.from;let A=t.toText((a?o.line(s++).text:e)+t.lineBreak);return{changes:{from:T.from,insert:A},range:q.cursor(h.from+A.length)}})}else a?i=t.changeByRange(E=>{let h=o.line(s++);return{changes:{from:E.from,to:E.to,insert:h.text},range:q.cursor(E.from+h.length)}}):i=t.replaceSelection(o);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}yn.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};yn.wheel=yn.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Ni.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);yn.touchstart=(n,e)=>{let t=n.inputState,i=e.targetTouches[0];t.lastTouchTime=Date.now(),i&&(t.lastTouchX=i.clientX,t.lastTouchY=i.clientY),t.setSelectionOrigin("select.pointer")};yn.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Ni.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(CM))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=y2(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new C2(n,e,t,i)),i&&n.observer.ignore(()=>{hM(n.contentDOM);let o=n.root.activeElement;o&&!o.contains(n.contentDOM)&&o.blur()});let s=n.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function hg(n,e,t,i){if(i==1)return q.cursor(e,t);if(i==2)return l2(n.state,e,t);{let s=n.docView.lineAt(e,t),o=n.state.doc.lineAt(s?s.posAtEnd:e),a=s?s.posAtStart:o.from,u=s?s.posAtEnd:o.to;return u<n.state.doc.length&&u==o.to&&u++,q.undirectionalRange(a,u)}}const P2=Oe.ie&&Oe.ie_version<=11;let Tg=null,dg=0,Ag=0;function KM(n){if(!P2)return n.detail;let e=Tg,t=Ag;return Tg=n,Ag=Date.now(),dg=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(dg+1)%3:1}function y2(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=KM(e),s=n.state.selection;return{update(o){o.docChanged&&(t.pos=o.changes.mapPos(t.pos),s=s.map(o.changes))},get(o,a,u){let E=n.posAndSideAtCoords({x:o.clientX,y:o.clientY},!1),h,T=hg(n,E.pos,E.assoc,i);if(t.pos!=E.pos&&!a){let A=hg(n,t.pos,t.assoc,i),R=Math.min(A.from,T.from),O=Math.max(A.to,T.to);T=R<T.from?q.range(R,O,T.assoc):q.range(O,R,T.assoc)}return a?s.replaceRange(s.main.extend(T.from,T.to,T.assoc)):u&&i==1&&s.ranges.length>1&&(h=v2(s,E.pos))?h:u?s.addRange(T):q.create([T])}}}function v2(n,e){for(let t=0;t<n.ranges.length;t++){let{from:i,to:s}=n.ranges[t];if(i<=e&&s>=e)return q.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Ni.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let s=n.docView.tile.nearest(e.target);if(s&&s.isWidget()){let o=s.posAtStart,a=o+s.length;(o>=t.to||a<=t.from)&&(t=q.undirectionalRange(o,a))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Vf(n.state,PR,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ni.dragend=n=>(n.inputState.draggedContent=null,!1);function Sg(n,e,t,i){if(t=Vf(n.state,MR,t),!t)return;let s=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=n.inputState,a=i&&o&&L2(n,e)?{from:o.from,to:o.to}:null,u={from:s,insert:t},E=n.state.changes(a?[a,u]:u);n.focus(),n.dispatch({changes:E,selection:{anchor:E.mapPos(s,-1),head:E.mapPos(s,1)},userEvent:a?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Ni.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),s=0,o=()=>{++s==t.length&&Sg(n,e,i.filter(a=>a!=null).join(n.state.lineBreak),!1)};for(let a=0;a<t.length;a++){let u=new FileReader;u.onerror=o,u.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(u.result)||(i[a]=u.result),o()},u.readAsText(t[a])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return Sg(n,e,i,!0),!0}return!1};Ni.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=WM?null:e.clipboardData;return t?(XM(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(M2(n),!1)};function U2(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function b2(n){let e=[],t=[],i=!1;for(let s of n.selection.ranges)s.empty||(e.push(n.sliceDoc(s.from,s.to)),t.push(s));if(!e.length){let s=-1;for(let{from:o}of n.selection.ranges){let a=n.doc.lineAt(o);a.number>s&&(e.push(a.text),t.push({from:a.from,to:Math.min(n.doc.length,a.to+1)})),s=a.number}i=!0}return{text:Vf(n,PR,e.join(n.lineBreak)),ranges:t,linewise:i}}let _S=null;Ni.copy=Ni.cut=(n,e)=>{if(!ja(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:i,linewise:s}=b2(n.state);if(!t&&!s)return!1;_S=s?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let o=WM?null:e.clipboardData;return o?(o.clearData(),o.setData("text/plain",t),!0):(U2(n,t),!1)};const zM=ji.define();function $M(n,e){let t=[];for(let i of n.facet(_M)){let s=i(n,e);s&&t.push(s)}return t.length?n.update({effects:t,annotations:zM.of(!0)}):null}function jM(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=$M(n.state,e);t?n.dispatch(t):n.update([])}},10)}yn.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),jM(n)};yn.blur=n=>{n.observer.clearSelectionRange(),jM(n)};yn.compositionstart=yn.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};yn.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,Oe.chrome&&Oe.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};yn.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Ni.beforeinput=(n,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let o=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),a=e.getTargetRanges();if(o&&a.length){let u=a[0],E=n.posAtDOM(u.startContainer,u.startOffset),h=n.posAtDOM(u.endContainer,u.endOffset);return bR(n,{from:E,to:h,insert:n.state.toText(o)},null),!0}}let s;if(Oe.chrome&&Oe.android&&(s=kM.find(o=>o.inputType==e.inputType))&&(n.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let o=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>o+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return Oe.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),Oe.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>yn.compositionend(n,e),20),!1};const Rg=new Set;function x2(n){Rg.has(n)||(Rg.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Og=["pre-wrap","normal","pre-line","break-spaces"];let Lo=!1;function Ng(){Lo=!1}class B2{constructor(e){this.lineWrapping=e,this.doc=je.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Og.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let s=e[i];s<0?i++:this.heightSamples[Math.floor(s*10)]||(t=!0,this.heightSamples[Math.floor(s*10)]=!0)}return t}refresh(e,t,i,s,o,a){let u=Og.indexOf(e)>-1,E=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=u;if(this.lineWrapping=u,this.lineHeight=t,this.charWidth=i,this.textHeight=s,this.lineLength=o,E){this.heightSamples={};for(let h=0;h<a.length;h++){let T=a[h];T<0?h++:this.heightSamples[Math.floor(T*10)]=!0}}return E}}class G2{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Ti{constructor(e,t,i,s,o){this.from=e,this.length=t,this.top=i,this.height=s,this._content=o}get type(){return typeof this._content=="number"?ln.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof rl?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Ti(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var ut=(function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n})(ut||(ut={}));const FE=.001;class An{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>FE&&(Lo=!0),this.height=e)}replace(e,t,i){return An.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,s){let o=this,a=i.doc;for(let u=s.length-1;u>=0;u--){let{fromA:E,toA:h,fromB:T,toB:A}=s[u],R=o.lineAt(E,ut.ByPosNoHeight,i.setDoc(t),0,0),O=R.to>=h?R:o.lineAt(h,ut.ByPosNoHeight,i,0,0);for(A+=O.to-h,h=O.to;u>0&&R.from<=s[u-1].toA;)E=s[u-1].fromA,T=s[u-1].fromB,u--,E<R.from&&(R=o.lineAt(E,ut.ByPosNoHeight,i,0,0));T+=R.from-E,E=R.from;let N=xR.build(i.setDoc(a),e,T,A);o=ff(o,o.replace(E,h,N))}return o.updateHeight(i,0)}static empty(){return new Vn(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,i=e.length,s=0,o=0;for(;;)if(t==i)if(s>o*2){let u=e[t-1];u.break?e.splice(--t,1,u.left,null,u.right):e.splice(--t,1,u.left,u.right),i+=1+u.break,s-=u.size}else if(o>s*2){let u=e[i];u.break?e.splice(i,1,u.left,null,u.right):e.splice(i,1,u.left,u.right),i+=2+u.break,o-=u.size}else break;else if(s<o){let u=e[t++];u&&(s+=u.size)}else{let u=e[--i];u&&(o+=u.size)}let a=0;return e[t-1]==null?(a=1,t--):e[t]==null&&(a=1,i++),new w2(An.of(e.slice(0,t)),a,An.of(e.slice(i)))}}function ff(n,e){return n==e?n:(n.constructor!=e.constructor&&(Lo=!0),e)}An.prototype.size=1;const H2=De.replace({});class JM extends An{constructor(e,t,i){super(e,t),this.deco=i,this.spaceAbove=0}mainBlock(e,t){return new Ti(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,i,s){return this.spaceAbove&&e<i+this.spaceAbove?new Ti(s,0,i,this.spaceAbove,H2):this.mainBlock(i,s)}lineAt(e,t,i,s,o){let a=this.mainBlock(s,o);return this.spaceAbove?this.blockAt(0,i,s,o).join(a):a}forEachLine(e,t,i,s,o,a){e<=o+this.length&&t>=o&&a(this.lineAt(0,ut.ByPos,i,s,o))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more&&this.setMeasuredHeight(s),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Vn extends JM{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new Ti(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let s=i[0];return i.length==1&&(s instanceof Vn||s instanceof sn&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof sn?s=new Vn(s.length,this.height,this.spaceAbove):s.height=this.height,this.outdated||(s.outdated=!1),s):An.of(i)}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more?this.setMeasuredHeight(s):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class sn extends An{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,o=s-i+1,a,u=0;if(e.lineWrapping){let E=Math.min(this.height,e.lineHeight*o);a=E/o,this.length>o+1&&(u=(this.height-E)/(this.length-o-1))}else a=this.height/o;return{firstLine:i,lastLine:s,perLine:a,perChar:u}}blockAt(e,t,i,s){let{firstLine:o,lastLine:a,perLine:u,perChar:E}=this.heightMetrics(t,s);if(t.lineWrapping){let h=s+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),T=t.doc.lineAt(h),A=u+T.length*E,R=Math.max(i,e-A/2);return new Ti(T.from,T.length,R,A,0)}else{let h=Math.max(0,Math.min(a-o,Math.floor((e-i)/u))),{from:T,length:A}=t.doc.line(o+h);return new Ti(T,A,i+u*h,u,0)}}lineAt(e,t,i,s,o){if(t==ut.ByHeight)return this.blockAt(e,i,s,o);if(t==ut.ByPosNoHeight){let{from:O,to:N}=i.doc.lineAt(e);return new Ti(O,N-O,0,0,0)}let{firstLine:a,perLine:u,perChar:E}=this.heightMetrics(i,o),h=i.doc.lineAt(e),T=u+h.length*E,A=h.number-a,R=s+u*A+E*(h.from-o-A);return new Ti(h.from,h.length,Math.max(s,Math.min(R,s+this.height-T)),T,0)}forEachLine(e,t,i,s,o,a){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:u,perLine:E,perChar:h}=this.heightMetrics(i,o);for(let T=e,A=s;T<=t;){let R=i.doc.lineAt(T);if(T==e){let N=R.number-u;A+=E*N+h*(e-o-N)}let O=E+h*R.length;a(new Ti(R.from,R.length,A,O,0)),A+=O,T=R.to+1}}replace(e,t,i){let s=this.length-t;if(s>0){let o=i[i.length-1];o instanceof sn?i[i.length-1]=new sn(o.length+s):i.push(null,new sn(s-1))}if(e>0){let o=i[0];o instanceof sn?i[0]=new sn(e+o.length):i.unshift(new sn(e-1),null)}return An.of(i)}decomposeLeft(e,t){t.push(new sn(e-1),null)}decomposeRight(e,t){t.push(null,new sn(this.length-e-1))}updateHeight(e,t=0,i=!1,s){let o=t+this.length;if(s&&s.from<=t+this.length&&s.more){let a=[],u=Math.max(t,s.from),E=-1;for(s.from>t&&a.push(new sn(s.from-t-1).updateHeight(e,t));u<=o&&s.more;){let T=e.doc.lineAt(u).length;a.length&&a.push(null);let A=s.heights[s.index++],R=0;A<0&&(R=-A,A=s.heights[s.index++]),E==-1?E=A:Math.abs(A-E)>=FE&&(E=-2);let O=new Vn(T,A,R);O.outdated=!1,a.push(O),u+=T+1}u<=o&&a.push(null,new sn(o-u).updateHeight(e,u));let h=An.of(a);return(E<0||Math.abs(h.height-this.height)>=FE||Math.abs(E-this.heightMetrics(e,t).perLine)>=FE)&&(Lo=!0),ff(this,h)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class w2 extends An{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,s){let o=i+this.left.height;return e<o?this.left.blockAt(e,t,i,s):this.right.blockAt(e,t,o,s+this.left.length+this.break)}lineAt(e,t,i,s,o){let a=s+this.left.height,u=o+this.left.length+this.break,E=t==ut.ByHeight?e<a:e<u,h=E?this.left.lineAt(e,t,i,s,o):this.right.lineAt(e,t,i,a,u);if(this.break||(E?h.to<u:h.from>u))return h;let T=t==ut.ByPosNoHeight?ut.ByPosNoHeight:ut.ByPos;return E?h.join(this.right.lineAt(u,T,i,a,u)):this.left.lineAt(u,T,i,s,o).join(h)}forEachLine(e,t,i,s,o,a){let u=s+this.left.height,E=o+this.left.length+this.break;if(this.break)e<E&&this.left.forEachLine(e,t,i,s,o,a),t>=E&&this.right.forEachLine(e,t,i,u,E,a);else{let h=this.lineAt(E,ut.ByPos,i,s,o);e<h.from&&this.left.forEachLine(e,h.from-1,i,s,o,a),h.to>=e&&h.from<=t&&a(h),t>h.to&&this.right.forEachLine(h.to+1,t,i,u,E,a)}}replace(e,t,i){let s=this.left.length+this.break;if(t<s)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,i));let o=[];e>0&&this.decomposeLeft(e,o);let a=o.length;for(let u of i)o.push(u);if(e>0&&mg(o,a-1),t<this.length){let u=o.length;this.decomposeRight(t,o),mg(o,u)}return An.of(o)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,s=i+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<s&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?An.of(this.break?[e,null,t]:[e,t]):(this.left=ff(this.left,e),this.right=ff(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,s){let{left:o,right:a}=this,u=t+o.length+this.break,E=null;return s&&s.from<=t+o.length&&s.more?E=o=o.updateHeight(e,t,i,s):o.updateHeight(e,t,i),s&&s.from<=u+a.length&&s.more?E=a=a.updateHeight(e,u,i,s):a.updateHeight(e,u,i),E?this.balanced(o,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mg(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof sn&&(i=n[e+1])instanceof sn&&n.splice(e-1,3,new sn(t.length+1+i.length))}const F2=5;class xR{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof Vn?s.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Vn(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let s=i.widget?i.widget.estimatedHeight:0,o=i.widget?i.widget.lineBreaks:0;s<0&&(s=this.oracle.lineHeight);let a=t-e;i.block?this.addBlock(new JM(a,s,i)):(a||o||s>=F2)&&this.addLineDeco(s,o,a)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Vn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new sn(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Vn)return e;let t=new Vn(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let s=this.ensureLine();s.length+=i,s.collapsed+=i,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Vn)&&!this.isCovered?this.nodes.push(new Vn(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let s of this.nodes)s instanceof Vn&&s.updateHeight(this.oracle,i),i+=s?s.length:1;return this.nodes}static build(e,t,i,s){let o=new xR(i,e);return Fe.spans(t,i,s,o,0),o.finish(i)}}function Y2(n,e,t){let i=new k2;return Fe.compare(n,e,t,i,0),i.changes}class k2{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,s){(e<t||i&&i.heightRelevant||s&&s.heightRelevant)&&Ao(e,t,this.changes,5)}}function V2(n,e){let t=n.getBoundingClientRect(),i=n.ownerDocument,s=i.defaultView||window,o=Math.max(0,t.left),a=Math.min(s.innerWidth,t.right),u=Math.max(0,t.top),E=Math.min(s.innerHeight,t.bottom);for(let h=n.parentNode;h&&h!=i.body;)if(h.nodeType==1){let T=h,A=window.getComputedStyle(T);if((T.scrollHeight>T.clientHeight||T.scrollWidth>T.clientWidth)&&A.overflow!="visible"){let R=T.getBoundingClientRect();o=Math.max(o,R.left),a=Math.min(a,R.right),u=Math.max(u,R.top),E=Math.min(h==n.parentNode?s.innerHeight:E,R.bottom)}h=A.position=="absolute"||A.position=="fixed"?T.offsetParent:T.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:o-t.left,right:Math.max(o,a)-t.left,top:u-(t.top+e),bottom:Math.max(u,E)-(t.top+e)}}function W2(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function X2(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class dA{constructor(e,t,i,s){this.from=e,this.to=t,this.size=i,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let s=e[i],o=t[i];if(s.from!=o.from||s.to!=o.to||s.size!=o.size)return!1}return!0}draw(e,t){return De.replace({widget:new K2(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class K2 extends Ji{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Ig{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=pg,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ct.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(yR).some(s=>typeof s!="function"&&s.class=="cm-lineWrapping");this.heightOracle=new B2(i),this.stateDeco=Cg(t),this.heightMap=An.empty().applyChanges(this.stateDeco,je.empty,this.heightOracle.setDoc(t.doc),[new ri(0,0,0,t.doc.length)]);for(let s=0;s<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());s++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=De.set(this.lineGaps.map(s=>s.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let s=i?t.head:t.anchor;if(!e.some(({from:o,to:a})=>s>=o&&s<=a)){let{from:o,to:a}=this.lineBlockAt(s);e.push(new AE(o,a))}}return this.viewports=e.sort((i,s)=>i.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?pg:new BR(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(ka(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Cg(this.state);let s=e.changedRanges,o=ri.extendWithRanges(s,Y2(i,this.stateDeco,e?e.changes:Ft.empty(this.state.doc.length))),a=this.heightMap.height,u=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Ng(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=a||Lo)&&(e.flags|=2),u?(this.scrollAnchorPos=e.changes.mapPos(u.from,-1),this.scrollAnchorHeight=u.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let E=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<E.from||t.range.head>E.to)||!this.viewportIsAppropriate(E))&&(E=this.getViewport(0,t));let h=E.from!=this.viewport.from||E.to!=this.viewport.to;this.viewport=E,e.flags|=this.updateForViewport(),(h||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(MM)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),s=this.heightOracle,o=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ct.RTL:ct.LTR;let a=this.heightOracle.mustRefreshForWrapping(o)||this.mustMeasureContent==="refresh",u=t.getBoundingClientRect(),E=a||this.mustMeasureContent||this.contentDOMHeight!=u.height;this.contentDOMHeight=u.height,this.mustMeasureContent=!1;let h=0,T=0;if(u.width&&u.height){let{scaleX:U,scaleY:G}=EM(t,u);(U>.005&&Math.abs(this.scaleX-U)>.005||G>.005&&Math.abs(this.scaleY-G)>.005)&&(this.scaleX=U,this.scaleY=G,h|=16,a=E=!0)}let A=(parseInt(i.paddingTop)||0)*this.scaleY,R=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=A||this.paddingBottom!=R)&&(this.paddingTop=A,this.paddingBottom=R,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(E=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let O=fM(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let N=this.getScrollOffset();this.scrollOffset!=N&&(this.scrollAnchorHeight=-1,this.scrollOffset=N),this.scrolledToBottom=TM(this.scrollParent||e.win);let m=(this.printing?X2:V2)(t,this.paddingTop),C=m.top-this.pixelViewport.top,L=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let D=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(D!=this.inView&&(this.inView=D,D&&(E=!0)),!this.inView&&!this.scrollTarget&&!W2(e.dom))return 0;let _=u.width;if((this.contentDOMWidth!=_||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=u.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),E){let U=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(U)&&(a=!0),a||s.lineWrapping&&Math.abs(_-this.contentDOMWidth)>s.charWidth){let{lineHeight:G,charWidth:B,textHeight:F}=e.docView.measureTextSize();a=G>0&&s.refresh(o,G,B,F,Math.max(5,_/B),U),a&&(e.docView.minWidth=0,h|=16)}C>0&&L>0?T=Math.max(C,L):C<0&&L<0&&(T=Math.min(C,L)),Ng();for(let G of this.viewports){let B=G.from==this.viewport.from?U:e.docView.measureVisibleLineHeights(G);this.heightMap=(a?An.empty().applyChanges(this.stateDeco,je.empty,this.heightOracle,[new ri(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,a,new G2(G.from,B))}Lo&&(h|=2)}let v=!this.viewportIsAppropriate(this.viewport,T)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(T,this.scrollTarget),h|=this.updateForViewport()),(h&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,o=this.heightOracle,{visibleTop:a,visibleBottom:u}=this,E=new AE(s.lineAt(a-i*1e3,ut.ByHeight,o,0,0).from,s.lineAt(u+(1-i)*1e3,ut.ByHeight,o,0,0).to);if(t){let{head:h}=t.range;if(h<E.from||h>E.to){let T=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),A=s.lineAt(h,ut.ByPos,o,0,0),R;t.y=="center"?R=(A.top+A.bottom)/2-T/2:t.y=="start"||t.y=="nearest"&&h<E.from?R=A.top:R=A.bottom-T,E=new AE(s.lineAt(R-1e3/2,ut.ByHeight,o,0,0).from,s.lineAt(R+T+1e3/2,ut.ByHeight,o,0,0).to)}}return E}mapViewport(e,t){let i=t.mapPos(e.from,-1),s=t.mapPos(e.to,1);return new AE(this.heightMap.lineAt(i,ut.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(s,ut.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:s}=this.heightMap.lineAt(e,ut.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,ut.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:u}=this;return(e==0||s<=a-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||o>=u+Math.max(10,Math.min(i,250)))&&s>a-2*1e3&&o<u+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let s of e)t.touchesRange(s.from,s.to)||i.push(new dA(t.mapPos(s.from),t.mapPos(s.to),s.size,s.displaySize));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,s=i?1e4:2e3,o=s>>1,a=s<<1;if(this.defaultTextDirection!=ct.LTR&&!i)return[];let u=[],E=(T,A,R,O)=>{if(A-T<o)return;let N=this.state.selection.main,m=[N.from];N.empty||m.push(N.to);for(let L of m)if(L>T&&L<A){E(T,L-10,R,O),E(L+10,A,R,O);return}let C=$2(e,L=>L.from>=R.from&&L.to<=R.to&&Math.abs(L.from-T)<o&&Math.abs(L.to-A)<o&&!m.some(D=>L.from<D&&L.to>D));if(!C){if(A<R.to&&t&&i&&t.visibleRanges.some(_=>_.from<=A&&_.to>=A)){let _=t.moveToLineBoundary(q.cursor(A),!1,!0).head;_>T&&(A=_)}let L=this.gapSize(R,T,A,O),D=i||L<2e6?L:2e6;C=new dA(T,A,L,D)}u.push(C)},h=T=>{if(T.length<a||T.type!=ln.Text)return;let A=z2(T.from,T.to,this.stateDeco);if(A.total<a)return;let R=this.scrollTarget?this.scrollTarget.range.head:null,O,N;if(i){let m=s/this.heightOracle.lineLength*this.heightOracle.lineHeight,C,L;if(R!=null){let D=RE(A,R),_=((this.visibleBottom-this.visibleTop)/2+m)/T.height;C=D-_,L=D+_}else C=(this.visibleTop-T.top-m)/T.height,L=(this.visibleBottom-T.top+m)/T.height;O=SE(A,C),N=SE(A,L)}else{let m=A.total*this.heightOracle.charWidth,C=s*this.heightOracle.charWidth,L=0;if(m>2e6)for(let G of e)G.from>=T.from&&G.from<T.to&&G.size!=G.displaySize&&G.from*this.heightOracle.charWidth+L<this.pixelViewport.left&&(L=G.size-G.displaySize);let D=this.pixelViewport.left+L,_=this.pixelViewport.right+L,v,U;if(R!=null){let G=RE(A,R),B=((_-D)/2+C)/m;v=G-B,U=G+B}else v=(D-C)/m,U=(_+C)/m;O=SE(A,v),N=SE(A,U)}O>T.from&&E(T.from,O,T,A),N<T.to&&E(N,T.to,T,A)};for(let T of this.viewportLines)Array.isArray(T.type)?T.type.forEach(h):h(T);return u}gapSize(e,t,i,s){let o=RE(s,i)-RE(s,t);return this.heightOracle.lineWrapping?e.height*o:s.total*this.heightOracle.charWidth*o}updateLineGaps(e){dA.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=De.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];Fe.spans(t,this.viewport.from,this.viewport.to,{span(o,a){i.push({from:o,to:a})},point(){}},20);let s=0;if(i.length!=this.visibleRanges.length)s=12;else for(let o=0;o<i.length&&!(s&8);o++){let a=this.visibleRanges[o],u=i[o];(a.from!=u.from||a.to!=u.to)&&(s|=4,e&&e.mapPos(a.from,-1)==u.from&&e.mapPos(a.to,1)==u.to||(s|=8))}return this.visibleRanges=i,s}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ka(this.heightMap.lineAt(e,ut.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||ka(this.heightMap.lineAt(this.scaler.fromDOM(e),ut.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return ka(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class AE{constructor(e,t){this.from=e,this.to=t}}function z2(n,e,t){let i=[],s=n,o=0;return Fe.spans(t,n,e,{span(){},point(a,u){a>s&&(i.push({from:s,to:a}),o+=a-s),s=u}},20),s<e&&(i.push({from:s,to:e}),o+=e-s),{total:o,ranges:i}}function SE({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let s=0;;s++){let{from:o,to:a}=e[s],u=a-o;if(i<=u)return o+i;i-=u}}function RE(n,e){let t=0;for(let{from:i,to:s}of n.ranges){if(e<=s){t+=e-i;break}t+=s-i}return t/n.total}function $2(n,e){for(let t of n)if(e(t))return t}const pg={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function Cg(n){let e=n.facet(Ff).filter(i=>typeof i!="function"),t=n.facet(vR).filter(i=>typeof i!="function");return t.length&&e.push(Fe.join(t)),e}class BR{constructor(e,t,i){let s=0,o=0,a=0;this.viewports=i.map(({from:u,to:E})=>{let h=t.lineAt(u,ut.ByPos,e,0,0).top,T=t.lineAt(E,ut.ByPos,e,0,0).bottom;return s+=T-h,{from:u,to:E,top:h,bottom:T,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let u of this.viewports)u.domTop=a+(u.top-o)*this.scale,a=u.domBottom=u.domTop+(u.bottom-u.top),o=u.bottom}toDOM(e){for(let t=0,i=0,s=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return s+(e-i)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);i=o.bottom,s=o.domBottom}}fromDOM(e){for(let t=0,i=0,s=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return i+(e-s)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);i=o.bottom,s=o.domBottom}}eq(e){return e instanceof BR?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,i)=>t.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}}function ka(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new Ti(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(s=>ka(s,e)):n._content)}const OE=Re.define({combine:n=>n.join(" ")}),DS=Re.define({combine:n=>n.indexOf(!0)>-1}),MS=dr.newName(),qM=dr.newName(),QM=dr.newName(),ZM={"&light":"."+qM,"&dark":"."+QM};function PS(n,e,t){return new dr(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,s=>{if(s=="&")return n;if(!t||!t[s])throw new RangeError(`Unsupported selector: ${s}`);return t[s]}):n+" "+i}})}const j2=PS("."+MS,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},ZM),J2={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},AA=Oe.ie&&Oe.ie_version<=11;class q2{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new LV,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(Oe.ie&&Oe.ie_version<=11||Oe.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Oe.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Oe.chrome&&Oe.chrome_version<126)&&(this.editContext=new Z2(e),e.state.facet(Rs)&&(e.contentDOM.editContext=this.editContext.editContext)),AA&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,s=this.selectionRange;if(i.state.facet(Rs)?i.root.activeElement!=this.dom:!ja(this.dom,s))return;let o=s.anchorNode&&i.docView.tile.nearest(s.anchorNode);if(o&&o.isWidget()&&o.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Oe.ie&&Oe.ie_version<=11||Oe.android&&Oe.chrome)&&!i.state.selection.main.empty&&s.focusNode&&qa(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=uc(e.root);if(!t)return!1;let i=Oe.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Q2(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let s=ja(this.dom,i);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&DV(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),s&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(i.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=t)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,J2),AA&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),AA&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let s=()=>{let o=this.delayedAndroidKey;o&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=o.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&o.force&&So(this.dom,o.key,o.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,s=!1;for(let o of e){let a=this.readMutation(o);a&&(a.typeOver&&(s=!0),t==-1?{from:t,to:i}=a:(t=Math.min(a.from,t),i=Math.max(a.to,i)))}return{from:t,to:i,typeOver:s}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),s=this.selectionChanged&&ja(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new d2(this.view,e,t,i);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,s=FM(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!Ef(this.view.state.selection,t.newSel.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=gg(t,e.previousSibling||e.target.previousSibling,-1),s=gg(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Rs)!=e.state.facet(Rs)&&(e.view.contentDOM.editContext=e.state.facet(Rs)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function gg(n,e,t){for(;e;){let i=It.get(e);if(i&&i.parent==n)return i;let s=e.parentNode;e=s!=n.dom?s:t>0?e.nextSibling:e.previousSibling}return null}function Lg(n,e){let t=e.startContainer,i=e.startOffset,s=e.endContainer,o=e.endOffset,a=n.docView.domAtPos(n.state.selection.main.anchor,1);return qa(a.node,a.offset,s,o)&&([t,i,s,o]=[s,o,t,i]),{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:o}}function Q2(n,e){if(e.getComposedRanges){let s=e.getComposedRanges(n.root)[0];if(s)return Lg(n,s)}let t=null;function i(s){s.preventDefault(),s.stopImmediatePropagation(),t=s.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?Lg(n,t):null}class Z2{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let s=e.state.selection.main,{anchor:o,head:a}=s,u=this.toEditorPos(i.updateRangeStart),E=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:u,drifted:!1});let h=E-u>i.text.length;u==this.from&&o<this.from?u=o:E==this.to&&o>this.to&&(E=o);let T=YM(e.state.sliceDoc(u,E),i.text,(h?s.from:s.to)-u,h?"end":null);if(!T){let R=q.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));Ef(R,s)||e.dispatch({selection:R,userEvent:"select"});return}let A={from:T.from+u,to:T.toA+u,insert:je.of(i.text.slice(T.from,T.toB).split(`
|
|
232
|
+
`))};if((Oe.mac||Oe.android)&&A.from==a-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(A={from:u,to:E,insert:je.of([i.text.replace("."," ")])}),this.pendingContextChange=A,!e.state.readOnly){let R=this.to-this.from+(A.to-A.from+A.insert.length);bR(e,A,q.single(this.toEditorPos(i.selectionStart,R),this.toEditorPos(i.selectionEnd,R)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),A.from<A.to&&!A.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let s=[],o=null;for(let a=this.toEditorPos(i.rangeStart),u=this.toEditorPos(i.rangeEnd);a<u;a++){let E=e.coordsForChar(a);o=E&&new DOMRect(E.left,E.top,E.right-E.left,E.bottom-E.top)||o||new DOMRect,s.push(o)}t.updateCharacterBounds(i.rangeStart,s)},this.handlers.textformatupdate=i=>{let s=[];for(let o of i.getTextFormats()){let a=o.underlineStyle,u=o.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(u)){let E=this.toEditorPos(o.rangeStart),h=this.toEditorPos(o.rangeEnd);if(E<h){let T=`text-decoration: underline ${/^[a-z]/.test(a)?a+" ":a=="Dashed"?"dashed ":a=="Squiggle"?"wavy ":""}${/thin/i.test(u)?1:2}px`;s.push(De.mark({attributes:{style:T}}).range(E,h))}}}e.dispatch({effects:yM.of(De.set(s))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let s=uc(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,s=this.pendingContextChange;return e.changes.iterChanges((o,a,u,E,h)=>{if(i)return;let T=h.length-(a-o);if(s&&a>=s.to)if(s.from==o&&s.to==a&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=T,this.to+=T;return}else s=null,this.revertPending(e.state);if(o+=t,a+=t,a<=this.from)this.from+=T,this.to+=T;else if(o<this.to){if(o<this.from||a>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(o),this.toContextPos(a),h.toString()),this.to+=T}t+=T}),s&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Ae{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(s=>s.forEach(o=>i(o,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||_V(e.parent)||document,this.viewState=new Ig(this,e.state||$e.create(e)),e.scrollTo&&e.scrollTo.is(hE)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(oo).map(s=>new uA(s));for(let s of this.plugins)s.update(this);this.observer=new q2(this),this.inputState=new O2(this),this.inputState.ensureHandlers(this.plugins),this.docView=new cg(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof Yt?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,s,o=this.state;for(let R of e){if(R.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=R.state}if(this.destroyed){this.viewState.state=o;return}let a=this.hasFocus,u=0,E=null;e.some(R=>R.annotation(zM))?(this.inputState.notifiedFocused=a,u=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,E=$M(o,a),E||(u=1));let h=this.observer.delayedAndroidKey,T=null;if(h?(this.observer.clearDelayedAndroidKey(),T=this.observer.readChange(),(T&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(T=null)):this.observer.clear(),o.facet($e.phrases)!=this.state.facet($e.phrases))return this.setState(o);s=af.create(this,o,e),s.flags|=u;let A=this.viewState.scrollTarget;try{this.updateState=2;for(let R of e){if(A&&(A=A.map(R.changes)),R.scrollIntoView){let{main:O}=R.state.selection,{x:N,y:m}=this.state.facet(Ae.cursorScrollMargin);A=new Ro(O.empty?O:q.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,N)}for(let O of R.effects)O.is(hE)&&(A=O.value.clip(this.state))}this.viewState.update(s,A),this.bidiCache=hf.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),t=this.docView.update(s),this.state.facet(Ya)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(R=>R.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(OE)!=s.state.facet(OE)&&(this.viewState.mustMeasureContent=!0),(t||i||A||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!s.empty)for(let R of this.state.facet(pS))try{R(s)}catch(O){Dn(this.state,O,"update listener")}(E||T)&&Promise.resolve().then(()=>{E&&this.state==E.startState&&this.dispatch(E),T&&!FM(this,T)&&h.force&&So(this.contentDOM,h.key,h.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Ig(this,e),this.plugins=e.facet(oo).map(i=>new uA(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new cg(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(oo),i=e.state.facet(oo);if(t!=i){let s=[];for(let o of i){let a=t.indexOf(o);if(a<0)s.push(new uA(o));else{let u=this.plugins[a];u.mustUpdate=e,s.push(u)}}for(let o of this.plugins)o.mustUpdate!=e&&o.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s<this.plugins.length;s++)this.plugins[s].update(this);t!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(i){Dn(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,s=this.viewState.getScrollOffset(),{scrollAnchorPos:o,scrollAnchorHeight:a}=this.viewState;Math.abs(s-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let u=0;;u++){if(a<0)if(TM(i||this.win))o=-1,a=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(s);o=O.from,a=O.top}this.updateState=1;let E=this.viewState.measure();if(!E&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(u>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];E&4||([this.measureRequests,h]=[h,this.measureRequests]);let T=h.map(O=>{try{return O.read(this)}catch(N){return Dn(this.state,N),_g}}),A=af.create(this,this.state,[]),R=!1;A.flags|=E,t?t.flags|=E:t=A,this.updateState=2,A.empty||(this.updatePlugins(A),this.inputState.update(A),this.updateAttrs(),R=this.docView.update(A),R&&this.docViewUpdate());for(let O=0;O<h.length;O++)if(T[O]!=_g)try{let N=h[O];N.write&&N.write(T[O],this)}catch(N){Dn(this.state,N)}if(R&&this.docView.updateSelection(!0),!A.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,a=-1;continue}else{let N=((o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-a)/this.scaleY;if((N>1||N<-1)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){s=s+N,i?i.scrollTop+=N:this.win.scrollBy(0,N),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let u of this.state.facet(pS))u(t)}get themeClasses(){return MS+" "+(this.state.facet(DS)?QM:qM)+" "+this.state.facet(OE)}updateAttrs(){let e=Dg(this,vM,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Rs)?"true":"false",class:"cm-content",style:`${Oe.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Dg(this,yR,t);let i=this.observer.ignore(()=>{let s=ig(this.contentDOM,this.contentAttrs,t),o=ig(this.dom,this.editorAttrs,e);return s||o});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let s of i.effects)if(s.is(Ae.announce)){t&&(this.announceDOM.textContent=""),t=!1;let o=this.announceDOM.appendChild(document.createElement("div"));o.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(Ya);let e=this.state.facet(Ae.cspNonce);dr.mount(this.root,this.styleModules.concat(j2).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(i=>i.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return TA(this,e,ug(this,e,t,i))}moveByGroup(e,t){return TA(this,e,ug(this,e,t,i=>c2(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),s=this.textDirectionAt(e.from),o=i[t?i.length-1:0];return q.cursor(o.side(t,s)+e.from,o.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,i=!0){return a2(this,e,t,i)}moveVertically(e,t,i){return TA(this,e,u2(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=LS(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),LS(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let s=this.state.doc.lineAt(e),o=this.bidiSpans(s),a=o[ki.find(o,e-s.from,-1,t)];return Ec(i,a.dir==ct.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(DM)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>eW)return NM(e.length);let t=this.textDirectionAt(e.from),i;for(let o of this.bidiCache)if(o.from==e.from&&o.dir==t&&(o.fresh||OM(o.isolates,i=lg(this,e))))return o.order;i||(i=lg(this,e));let s=xV(e.text,t,i);return this.bidiCache.push(new hf(e.from,e.to,t,i,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Oe.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{hM(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,s,o,a;return hE.of(new Ro(typeof e=="number"?q.cursor(e):e,(i=t.y)!==null&&i!==void 0?i:"nearest",(s=t.x)!==null&&s!==void 0?s:"nearest",(o=t.yMargin)!==null&&o!==void 0?o:5,(a=t.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return hE.of(new Ro(q.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return pt.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return pt.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=dr.newName(),s=[OE.of(i),Ya.of(PS(`.${i}`,e))];return t&&t.dark&&s.push(DS.of(!0)),s}static baseTheme(e){return fl.lowest(Ya.of(PS("."+MS,e,ZM)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),s=i&&It.get(i)||It.get(e);return((t=s==null?void 0:s.root)===null||t===void 0?void 0:t.view)||null}}Ae.styleModule=Ya;Ae.inputHandler=LM;Ae.clipboardInputFilter=MR;Ae.clipboardOutputFilter=PR;Ae.scrollHandler=PM;Ae.focusChangeEffect=_M;Ae.perLineTextDirection=DM;Ae.exceptionSink=gM;Ae.updateListener=pS;Ae.editable=Rs;Ae.mouseSelectionStyle=CM;Ae.dragMovesSelection=pM;Ae.clickAddsSelectionRange=IM;Ae.decorations=Ff;Ae.blockWrappers=UM;Ae.outerDecorations=vR;Ae.atomicRanges=Dc;Ae.bidiIsolatedRanges=bM;Ae.cursorScrollMargin=Re.define({combine:n=>{let e=5,t=5;for(let i of n)typeof i=="number"?e=t=i:{x:e,y:t}=i;return{x:e,y:t}}});Ae.scrollMargins=xM;Ae.darkTheme=DS;Ae.cspNonce=Re.define({combine:n=>n.length?n[0]:""});Ae.contentAttributes=yR;Ae.editorAttributes=vM;Ae.lineWrapping=Ae.contentAttributes.of({class:"cm-lineWrapping"});Ae.announce=xe.define();const eW=4096,_g={};class hf{constructor(e,t,i,s,o,a){this.from=e,this.to=t,this.dir=i,this.isolates=s,this.fresh=o,this.order=a}static update(e,t){if(t.empty&&!e.some(o=>o.fresh))return e;let i=[],s=e.length?e[e.length-1].dir:ct.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let a=e[o];a.dir==s&&!t.touchesRange(a.from,a.to)&&i.push(new hf(t.mapPos(a.from,1),t.mapPos(a.to,-1),a.dir,a.isolates,!1,a.order))}return i}}function Dg(n,e,t){for(let i=n.state.facet(e),s=i.length-1;s>=0;s--){let o=i[s],a=typeof o=="function"?o(n):o;a&&LR(a,t)}return t}const tW=Oe.mac?"mac":Oe.windows?"win":Oe.linux?"linux":"key";function nW(n,e){const t=n.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let s,o,a,u;for(let E=0;E<t.length-1;++E){const h=t[E];if(/^(cmd|meta|m)$/i.test(h))u=!0;else if(/^a(lt)?$/i.test(h))s=!0;else if(/^(c|ctrl|control)$/i.test(h))o=!0;else if(/^s(hift)?$/i.test(h))a=!0;else if(/^mod$/i.test(h))e=="mac"?u=!0:o=!0;else throw new Error("Unrecognized modifier name: "+h)}return s&&(i="Alt-"+i),o&&(i="Ctrl-"+i),u&&(i="Meta-"+i),a&&(i="Shift-"+i),i}function NE(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const iW=fl.default(Ae.domEventHandlers({keydown(n,e){return tP(eP(e.state),n,e,"editor")}})),Mc=Re.define({enables:iW}),Mg=new WeakMap;function eP(n){let e=n.facet(Mc),t=Mg.get(e);return t||Mg.set(e,t=lW(e.reduce((i,s)=>i.concat(s),[]))),t}function sW(n,e,t){return tP(eP(n.state),e,n,t)}let nr=null;const rW=4e3;function lW(n,e=tW){let t=Object.create(null),i=Object.create(null),s=(a,u)=>{let E=i[a];if(E==null)i[a]=u;else if(E!=u)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},o=(a,u,E,h,T)=>{var A,R;let O=t[a]||(t[a]=Object.create(null)),N=u.split(/ (?!$)/).map(L=>nW(L,e));for(let L=1;L<N.length;L++){let D=N.slice(0,L).join(" ");s(D,!0),O[D]||(O[D]={preventDefault:!0,stopPropagation:!1,run:[_=>{let v=nr={view:_,prefix:D,scope:a};return setTimeout(()=>{nr==v&&(nr=null)},rW),!0}]})}let m=N.join(" ");s(m,!1);let C=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((R=(A=O._any)===null||A===void 0?void 0:A.run)===null||R===void 0?void 0:R.slice())||[]});E&&C.run.push(E),h&&(C.preventDefault=!0),T&&(C.stopPropagation=!0)};for(let a of n){let u=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let h of u){let T=t[h]||(t[h]=Object.create(null));T._any||(T._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:A}=a;for(let R in T)T[R].run.push(O=>A(O,yS))}let E=a[e]||a.key;if(E)for(let h of u)o(h,E,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(h,"Shift-"+E,a.shift,a.preventDefault,a.stopPropagation)}return t}let yS=null;function tP(n,e,t,i){yS=e;let s=NV(e),o=gn(s,0),a=wi(o)==s.length&&s!=" ",u="",E=!1,h=!1,T=!1;nr&&nr.view==t&&nr.scope==i&&(u=nr.prefix+" ",VM.indexOf(e.keyCode)<0&&(h=!0,nr=null));let A=new Set,R=C=>{if(C){for(let L of C.run)if(!A.has(L)&&(A.add(L),L(t)))return C.stopPropagation&&(T=!0),!0;C.preventDefault&&(C.stopPropagation&&(T=!0),h=!0)}return!1},O=n[i],N,m;return O&&(R(O[u+NE(s,e,!a)])?E=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Oe.windows&&e.ctrlKey&&e.altKey)&&!(Oe.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(N=Ar[e.keyCode])&&N!=s?(R(O[u+NE(N,e,!0)])||e.shiftKey&&(m=ac[e.keyCode])!=s&&m!=N&&R(O[u+NE(m,e,!1)]))&&(E=!0):a&&e.shiftKey&&R(O[u+NE(s,e,!0)])&&(E=!0),!E&&R(O._any)&&(E=!0)),h&&(E=!0),E&&T&&e.stopPropagation(),yS=null,E}class tl{constructor(e,t,i,s,o){this.className=e,this.left=t,this.top=i,this.width=s,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let s=e.coordsAtPos(i.head,i.assoc||1);if(!s)return[];let o=nP(e);return[new tl(t,s.left-o.left,s.top-o.top,null,s.bottom-s.top)]}else return oW(e,t,i)}}function nP(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==ct.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Pg(n,e,t,i){let s=n.coordsAtPos(e,t*2);if(!s)return i;let o=n.dom.getBoundingClientRect(),a=(s.top+s.bottom)/2,u=n.posAtCoords({x:o.left+1,y:a}),E=n.posAtCoords({x:o.right-1,y:a});return u==null||E==null?i:{from:Math.max(i.from,Math.min(u,E)),to:Math.min(i.to,Math.max(u,E))}}function oW(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),s=Math.min(t.to,n.viewport.to),o=n.textDirection==ct.LTR,a=n.contentDOM,u=a.getBoundingClientRect(),E=nP(n),h=a.querySelector(".cm-line"),T=h&&window.getComputedStyle(h),A=u.left+(T?parseInt(T.paddingLeft)+Math.min(0,parseInt(T.textIndent)):0),R=u.right-(T?parseInt(T.paddingRight):0),O=gS(n,i,1),N=gS(n,s,-1),m=O.type==ln.Text?O:null,C=N.type==ln.Text?N:null;if(m&&(n.lineWrapping||O.widgetLineBreaks)&&(m=Pg(n,i,1,m)),C&&(n.lineWrapping||N.widgetLineBreaks)&&(C=Pg(n,s,-1,C)),m&&C&&m.from==C.from&&m.to==C.to)return D(_(t.from,t.to,m));{let U=m?_(t.from,null,m):v(O,!1),G=C?_(null,t.to,C):v(N,!0),B=[];return(m||O).to<(C||N).from-(m&&C?1:0)||O.widgetLineBreaks>1&&U.bottom+n.defaultLineHeight/2<G.top?B.push(L(A,U.bottom,R,G.top)):U.bottom<G.top&&n.elementAtHeight((U.bottom+G.top)/2).type==ln.Text&&(U.bottom=G.top=(U.bottom+G.top)/2),D(U).concat(B).concat(D(G))}function L(U,G,B,F){return new tl(e,U-E.left,G-E.top,Math.max(0,B-U),F-G)}function D({top:U,bottom:G,horizontal:B}){let F=[];for(let oe=0;oe<B.length;oe+=2)F.push(L(B[oe],U,B[oe+1],G));return F}function _(U,G,B){let F=1e9,oe=-1e9,fe=[];function ie(ae,Te,x,z,ne){let ce=n.coordsAtPos(ae,ae==B.to?-2:2),J=n.coordsAtPos(x,x==B.from?2:-2);!ce||!J||(F=Math.min(ce.top,J.top,F),oe=Math.max(ce.bottom,J.bottom,oe),ne==ct.LTR?fe.push(o&&Te?A:ce.left,o&&z?R:J.right):fe.push(!o&&z?A:J.left,!o&&Te?R:ce.right))}let ee=U??B.from,Ee=G??B.to;for(let ae of n.visibleRanges)if(ae.to>ee&&ae.from<Ee)for(let Te=Math.max(ae.from,ee),x=Math.min(ae.to,Ee);;){let z=n.state.doc.lineAt(Te);for(let ne of n.bidiSpans(z)){let ce=ne.from+z.from,J=ne.to+z.from;if(ce>=x)break;J>Te&&ie(Math.max(ce,Te),U==null&&ce<=ee,Math.min(J,x),G==null&&J>=Ee,ne.dir)}if(Te=z.to+1,Te>=x)break}return fe.length==0&&ie(ee,U==null,Ee,G==null,n.textDirection),{top:F,bottom:oe,horizontal:fe}}function v(U,G){let B=u.top+(G?U.top:U.bottom);return{top:B,bottom:B,horizontal:[]}}}function aW(n,e){return n.constructor==e.constructor&&n.eq(e)}class cW{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(YE)!=e.state.facet(YE)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(YE);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,i)=>!aW(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[i].constructor&&s.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(s.draw(),t);for(;t;){let s=t.nextSibling;t.remove(),t=s}this.drawn=e,Oe.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const YE=Re.define();function iP(n){return[pt.define(e=>new cW(e,n)),YE.of(n)]}const _o=Re.define({combine(n){return mi(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function uW(n={}){return[_o.of(n),EW,fW,hW,MM.of(!0)]}function sP(n){return n.startState.facet(_o)!=n.state.facet(_o)}const EW=iP({above:!0,markers(n){let{state:e}=n,t=e.facet(_o),i=[];for(let s of e.selection.ranges){let o=s==e.selection.main;if(s.empty||t.drawRangeCursor&&!(o&&Oe.ios&&t.iosSelectionHandles)){let a=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",u=s.empty?s:q.cursor(s.head,s.assoc);for(let E of tl.forRange(n,a,u))i.push(E)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=sP(n);return t&&yg(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){yg(e.state,n)},class:"cm-cursorLayer"});function yg(n,e){e.style.animationDuration=n.facet(_o).cursorBlinkRate+"ms"}const fW=iP({above:!1,markers(n){let e=[],{main:t,ranges:i}=n.state.selection;for(let s of i)if(!s.empty)for(let o of tl.forRange(n,"cm-selectionBackground",s))e.push(o);if(Oe.ios&&!t.empty&&n.state.facet(_o).iosSelectionHandles){for(let s of tl.forRange(n,"cm-selectionHandle cm-selectionHandle-start",q.cursor(t.from,1)))e.push(s);for(let s of tl.forRange(n,"cm-selectionHandle cm-selectionHandle-end",q.cursor(t.to,1)))e.push(s)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||sP(n)},class:"cm-selectionLayer"}),hW=fl.highest(Ae.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),rP=xe.define({map(n,e){return n==null?null:e.mapPos(n)}}),Va=qt.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(rP)?i.value:t,n)}}),TW=pt.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(Va);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(Va)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(Va),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(Va)!=n&&this.view.dispatch({effects:rP.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dW(){return[Va,TW]}function vg(n,e,t,i,s){e.lastIndex=0;for(let o=n.iterRange(t,i),a=t,u;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;u=e.exec(o.value);)s(a+u.index,u)}function AW(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let i=[];for(let{from:s,to:o}of t)s=Math.max(n.state.doc.lineAt(s).from,s-e),o=Math.min(n.state.doc.lineAt(o).to,o+e),i.length&&i[i.length-1].to>=s?i[i.length-1].to=o:i.push({from:s,to:o});return i}class SW{constructor(e){const{regexp:t,decoration:i,decorate:s,boundary:o,maxLength:a=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(u,E,h,T)=>s(T,h,h+u[0].length,u,E);else if(typeof i=="function")this.addMatch=(u,E,h,T)=>{let A=i(u,E,h);A&&T(h,h+u[0].length,A)};else if(i)this.addMatch=(u,E,h,T)=>T(h,h+u[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=o,this.maxLength=a}createDeco(e){let t=new Is,i=t.add.bind(t);for(let{from:s,to:o}of AW(e,this.maxLength))vg(e.state.doc,this.regexp,s,o,(a,u)=>this.addMatch(u,e,a,i));return t.finish()}updateDeco(e,t){let i=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((o,a,u,E)=>{E>=e.view.viewport.from&&u<=e.view.viewport.to&&(i=Math.min(u,i),s=Math.max(E,s))}),e.viewportMoved||s-i>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),i,s):t}updateRange(e,t,i,s){for(let o of e.visibleRanges){let a=Math.max(o.from,i),u=Math.min(o.to,s);if(u>=a){let E=e.state.doc.lineAt(a),h=E.to<u?e.state.doc.lineAt(u):E,T=Math.max(o.from,E.from),A=Math.min(o.to,h.to);if(this.boundary){for(;a>E.from;a--)if(this.boundary.test(E.text[a-1-E.from])){T=a;break}for(;u<h.to;u++)if(this.boundary.test(h.text[u-h.from])){A=u;break}}let R=[],O,N=(m,C,L)=>R.push(L.range(m,C));if(E==h)for(this.regexp.lastIndex=T-E.from;(O=this.regexp.exec(E.text))&&O.index<A-E.from;)this.addMatch(O,e,O.index+E.from,N);else vg(e.state.doc,this.regexp,T,A,(m,C)=>this.addMatch(C,e,m,N));t=t.update({filterFrom:T,filterTo:A,filter:(m,C)=>m<T||C>A,add:R})}}return t}}const vS=/x/.unicode!=null?"gu":"g",RW=new RegExp(`[\0-\b
|
|
233
|
+
--\u2028\u2029\uFEFF-]`,vS),OW={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let SA=null;function NW(){var n;if(SA==null&&typeof document<"u"&&document.body){let e=document.body.style;SA=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return SA||!1}const kE=Re.define({combine(n){let e=mi(n,{render:null,specialChars:RW,addSpecialChars:null});return(e.replaceTabs=!NW())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,vS)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,vS)),e}});function mW(n={}){return[kE.of(n),IW()]}let Ug=null;function IW(){return Ug||(Ug=pt.fromClass(class{constructor(n){this.view=n,this.decorations=De.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(kE)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new SW({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:s}=t.state,o=gn(e[0],0);if(o==9){let a=s.lineAt(i),u=t.state.tabSize,E=Uo(a.text,u,i-a.from);return De.replace({widget:new LW((u-E%u)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=De.replace({widget:new gW(n,o)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(kE);n.startState.facet(kE)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const pW="•";function CW(n){return n>=32?pW:n==10?"":String.fromCharCode(9216+n)}class gW extends Ji{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=CW(this.code),i=e.state.phrase("Control character")+" "+(OW[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,t);if(s)return s;let o=document.createElement("span");return o.textContent=t,o.title=i,o.setAttribute("aria-label",i),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class LW extends Ji{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function _W(){return MW}const DW=De.line({class:"cm-activeLine"}),MW=pt.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let s=n.lineBlockAt(i.head);s.from>e&&(t.push(DW.range(s.from)),e=s.from)}return De.set(t)}},{decorations:n=>n.decorations});class PW extends Ji{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Ja(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),s=Ec(t[0],i.direction!="rtl"),o=parseInt(i.lineHeight);return s.bottom-s.top>o*1.5?{left:s.left,right:s.right,top:s.top,bottom:s.top+o}:s}ignoreEvent(){return!1}}function yW(n){let e=pt.fromClass(class{constructor(t){this.view=t,this.placeholder=n?De.set([De.widget({widget:new PW(n),side:1}).range(0)]):De.none}get decorations(){return this.view.state.doc.length?De.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,Ae.contentAttributes.of({"aria-placeholder":n})]:e}const US=2e3;function vW(n,e,t){let i=Math.min(e.line,t.line),s=Math.max(e.line,t.line),o=[];if(e.off>US||t.off>US||e.col<0||t.col<0){let a=Math.min(e.off,t.off),u=Math.max(e.off,t.off);for(let E=i;E<=s;E++){let h=n.doc.line(E);h.length<=u&&o.push(q.range(h.from+a,h.to+u))}}else{let a=Math.min(e.col,t.col),u=Math.max(e.col,t.col);for(let E=i;E<=s;E++){let h=n.doc.line(E),T=fS(h.text,a,n.tabSize,!0);if(T<0)o.push(q.cursor(h.to));else{let A=fS(h.text,u,n.tabSize);o.push(q.range(h.from+T,h.from+A))}}}return o}function UW(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function bg(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),s=t-i.from,o=s>US?-1:s==i.length?UW(n,e.clientX):Uo(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:o,off:s}}function bW(n,e){let t=bg(n,e),i=n.state.selection;return t?{update(s){if(s.docChanged){let o=s.changes.mapPos(s.startState.doc.line(t.line).from),a=s.state.doc.lineAt(o);t={line:a.number,col:t.col,off:Math.min(t.off,a.length)},i=i.map(s.changes)}},get(s,o,a){let u=bg(n,s);if(!u)return i;let E=vW(n.state,t,u);return E.length?a?q.create(E.concat(i.ranges)):q.create(E):i}}:null}function xW(n){let e=(t=>t.altKey&&t.button==0);return Ae.mouseSelectionStyle.of((t,i)=>e(i)?bW(t,i):null)}const BW={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},GW={style:"cursor: crosshair"};function HW(n={}){let[e,t]=BW[n.key||"Alt"],i=pt.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||t(s))},keyup(s){(s.keyCode==e||!t(s))&&this.set(!1)},mousemove(s){this.set(t(s))}}});return[i,Ae.contentAttributes.of(s=>{var o;return!((o=s.plugin(i))===null||o===void 0)&&o.isDown?GW:null})]}const mE="-10000px";class lP{constructor(e,t,i,s){this.facet=t,this.createTooltipView=i,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(a=>a);let o=null;this.tooltipViews=this.tooltips.map(a=>o=i(a,o))}update(e,t){var i;let s=e.state.facet(this.facet),o=s.filter(E=>E);if(s===this.input){for(let E of this.tooltipViews)E.update&&E.update(e);return!1}let a=[],u=t?[]:null;for(let E=0;E<o.length;E++){let h=o[E],T=-1;if(h){for(let A=0;A<this.tooltips.length;A++){let R=this.tooltips[A];R&&R.create==h.create&&(T=A)}if(T<0)a[E]=this.createTooltipView(h,E?a[E-1]:null),u&&(u[E]=!!h.above);else{let A=a[E]=this.tooltipViews[T];u&&(u[E]=t[T]),A.update&&A.update(e)}}}for(let E of this.tooltipViews)a.indexOf(E)<0&&(this.removeTooltipView(E),(i=E.destroy)===null||i===void 0||i.call(E));return t&&(u.forEach((E,h)=>t[h]=E),t.length=u.length),this.input=s,this.tooltips=o,this.tooltipViews=a,!0}}function wW(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const RA=Re.define({combine:n=>{var e,t,i;return{position:Oe.ios?"absolute":((e=n.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(s=>s.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=n.find(s=>s.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||wW}}}),xg=new WeakMap,GR=pt.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(RA);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new lP(n,Wf,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,i=n.state.facet(RA);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",t.dom.appendChild(s)}return t.dom.style.position=this.position,t.dom.style.top=mE,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(n=i.destroy)===null||n===void 0||n.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(Oe.safari){let a=o.getBoundingClientRect();t=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else t=!!o.offsetParent&&o.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(n=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),s=UR(this.view);return{visible:{left:i.left+s.left,top:i.top+s.top,right:i.right-s.right,bottom:i.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,a)=>{let u=this.manager.tooltipViews[a];return u.getCoords?u.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(RA).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let u of this.manager.tooltipViews)u.dom.style.position="absolute"}let{visible:t,space:i,scaleX:s,scaleY:o}=n,a=[];for(let u=0;u<this.manager.tooltips.length;u++){let E=this.manager.tooltips[u],h=this.manager.tooltipViews[u],{dom:T}=h,A=n.pos[u],R=n.size[u];if(!A||E.clip!==!1&&(A.bottom<=Math.max(t.top,i.top)||A.top>=Math.min(t.bottom,i.bottom)||A.right<Math.max(t.left,i.left)-.1||A.left>Math.min(t.right,i.right)+.1)){T.style.top=mE;continue}let O=E.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,N=O?7:0,m=R.right-R.left,C=(e=xg.get(h))!==null&&e!==void 0?e:R.bottom-R.top,L=h.offset||YW,D=this.view.textDirection==ct.LTR,_=R.width>i.right-i.left?D?i.left:i.right-R.width:D?Math.max(i.left,Math.min(A.left-(O?14:0)+L.x,i.right-m)):Math.min(Math.max(i.left,A.left-m+(O?14:0)-L.x),i.right-m),v=this.above[u];!E.strictSide&&(v?A.top-C-N-L.y<i.top:A.bottom+C+N+L.y>i.bottom)&&v==i.bottom-A.bottom>A.top-i.top&&(v=this.above[u]=!v);let U=(v?A.top-i.top:i.bottom-A.bottom)-N;if(U<C&&h.resize!==!1){if(U<this.view.defaultLineHeight){T.style.top=mE;continue}xg.set(h,C),T.style.height=(C=U)/o+"px"}else T.style.height&&(T.style.height="");let G=v?A.top-C-N-L.y:A.bottom+N+L.y,B=_+m;if(h.overlap!==!0)for(let F of a)F.left<B&&F.right>_&&F.top<G+C&&F.bottom>G&&(G=v?F.top-C-2-N:F.bottom+N+2);if(this.position=="absolute"?(T.style.top=(G-n.parent.top)/o+"px",Bg(T,(_-n.parent.left)/s)):(T.style.top=G/o+"px",Bg(T,_/s)),O){let F=A.left+(D?L.x:-L.x)-(_+14-7);O.style.left=F/s+"px"}h.overlap!==!0&&a.push({left:_,top:G,right:B,bottom:G+C}),T.classList.toggle("cm-tooltip-above",v),T.classList.toggle("cm-tooltip-below",!v),h.positioned&&h.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=mE}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Bg(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const FW=Ae.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),YW={x:0,y:0},Wf=Re.define({enables:[GR,FW]}),Tf=Re.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Xf{static create(e){return new Xf(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new lP(e,Tf,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let s=i[e];if(s!==void 0){if(t===void 0)t=s;else if(t!==s)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const kW=Wf.compute([Tf],n=>{let e=n.facet(Tf);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:Xf.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),oP=Re.define();class VW{constructor(e,t,i,s,o,a){this.view=e,this.source=t,this.field=i,this.locked=s,this.setHover=o,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,i=e.docView.tile.nearest(t.target);if(!i)return;let s,o=1;if(i.isWidget())s=i.posAtStart;else{if(s=e.posAtCoords(t),s==null)return;let a=e.coordsAtPos(s);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let u=e.bidiSpans(e.state.doc.lineAt(s)).find(h=>h.from<=s&&h.to>=s),E=u&&u.dir==ct.RTL?-1:1;o=t.x<a.left?-E:E}this.activateHover(e,s,o)}activateHover(e,t,i,s){let o=this.source(e,t,i),a=u=>{if(u&&!(Array.isArray(u)&&!u.length)){let E=Array.isArray(u)?u:[u];s&&this.locked.set(E,s),e.dispatch({effects:this.setHover.of(E)})}};if(o&&"then"in o){let u=this.pending={pos:t};o.then(E=>{this.pending==u&&(this.pending=null,a(E))},E=>Dn(e.state,E,"hover tooltip"))}else a(o)}get tooltip(){let e=this.view.plugin(GR),t=e?e.manager.tooltips.findIndex(i=>i.create==Xf.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:o}=this;if(s.length&&!this.locked.has(s)&&o&&!WW(o.dom,e)||this.pending){let{pos:a}=s[0]||this.pending,u=(i=(t=s[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:a;(a==u?this.view.posAtCoords(this.lastMove)!=a:!XW(this.view,a,u,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t);let{active:s}=this;s.length&&!this.locked.has(s)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const IE=4;function WW(n,e){let{left:t,right:i,top:s,bottom:o}=n.getBoundingClientRect(),a;if(a=n.querySelector(".cm-tooltip-arrow")){let u=a.getBoundingClientRect();s=Math.min(u.top,s),o=Math.max(u.bottom,o)}return e.clientX>=t-IE&&e.clientX<=i+IE&&e.clientY>=s-IE&&e.clientY<=o+IE}function XW(n,e,t,i,s,o){let a=n.scrollDOM.getBoundingClientRect(),u=n.documentTop+n.documentPadding.top+n.contentHeight;if(a.left>i||a.right<i||a.top>s||Math.min(a.bottom,u)<s)return!1;let E=n.posAtCoords({x:i,y:s},!1);return E>=e&&E<=t}function KW(n,e={}){let t=xe.define(),i=new WeakMap,s=qt.define({create(){return[]},update(a,u){let E=i.get(a);if(a.length&&(e.hideOnChange&&(u.docChanged||u.selection)?a=[]:E&&E(u)?a=[]:e.hideOn&&(a=a.filter(h=>!e.hideOn(u,h)))),u.docChanged&&a.length){let h=[];for(let T of a){let A=u.changes.mapPos(T.pos,-1,dn.TrackDel);if(A!=null){let R=Object.assign(Object.create(null),T);R.pos=A,R.end!=null&&(R.end=u.changes.mapPos(R.end)),h.push(R)}}a=h}for(let h of u.effects)h.is(t)&&(a=h.value,E=void 0),(h.is($W)&&!h.value||h.value==s)&&(a=[]);return a.length&&E&&i.set(a,E),a},provide:a=>Tf.from(a)});const o=pt.define(a=>new VW(a,n,s,i,t,e.hoverTime||300));return{active:s,extension:[s,o,oP.of(o),kW]}}function zW(n,e,t,i={}){var s;let o=n.state.facet(oP).map(a=>n.plugin(a)).filter(a=>!!a);if(i.tooltip&&i.tooltip.active){let a=o.find(u=>u.field==i.tooltip.active);a&&(o=[a])}for(let a of o)a.activateHover(n,e,t,(s=i.until)!==null&&s!==void 0?s:(()=>!1))}function aP(n,e){let t=n.plugin(GR);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const $W=xe.define(),Gg=Re.define({combine(n){let e,t;for(let i of n)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function HR(n,e){let t=n.plugin(cP),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const cP=pt.fromClass(class{constructor(n){this.input=n.state.facet(hc),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(Gg);this.top=new pE(n,!0,e.topContainer),this.bottom=new pE(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(Gg);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new pE(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new pE(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(hc);if(t!=this.input){let i=t.filter(E=>E),s=[],o=[],a=[],u=[];for(let E of i){let h=this.specs.indexOf(E),T;h<0?(T=E(n.view),u.push(T)):(T=this.panels[h],T.update&&T.update(n)),s.push(T),(T.top?o:a).push(T)}this.specs=i,this.panels=s,this.top.sync(o),this.bottom.sync(a);for(let E of u)E.dom.classList.add("cm-panel"),E.mount&&E.mount()}else for(let i of this.panels)i.update&&i.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class pE{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Hg(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Hg(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Hg(n){let e=n.nextSibling;return n.remove(),e}const hc=Re.define({enables:cP});function jW(n,e){let t,i=new Promise(a=>t=a),s=a=>JW(a,e,t);n.state.field(OA,!1)?n.dispatch({effects:uP.of(s)}):n.dispatch({effects:xe.appendConfig.of(OA.init(()=>[s]))});let o=EP.of(s);return{close:o,result:i.then(a=>((n.win.queueMicrotask||(E=>n.win.setTimeout(E,10)))(()=>{n.state.field(OA).indexOf(s)>-1&&n.dispatch({effects:o})}),a))}}const OA=qt.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(uP)?n=[t.value].concat(n):t.is(EP)&&(n=n.filter(i=>i!=t.value));return n},provide:n=>hc.computeN([n],e=>e.field(n))}),uP=xe.define(),EP=xe.define();function JW(n,e,t){let i=e.content?e.content(n,()=>a(null)):null;if(!i){if(i=lt("form"),e.input){let u=lt("input",e.input);/^(text|password|number|email|tel|url)$/.test(u.type)&&u.classList.add("cm-textfield"),u.name||(u.name="input"),i.appendChild(lt("label",(e.label||"")+": ",u))}else i.appendChild(document.createTextNode(e.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(lt("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let s=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let u=0;u<s.length;u++){let E=s[u];E.addEventListener("keydown",h=>{h.keyCode==27?(h.preventDefault(),a(null)):h.keyCode==13&&(h.preventDefault(),a(E))}),E.addEventListener("submit",h=>{h.preventDefault(),a(E)})}let o=lt("div",i,lt("button",{onclick:()=>a(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(o.className=e.class),o.classList.add("cm-dialog");function a(u){o.contains(o.ownerDocument.activeElement)&&n.focus(),t(u)}return{dom:o,top:e.top,mount:()=>{if(e.focus){let u;typeof e.focus=="string"?u=i.querySelector(e.focus):u=i.querySelector("input")||i.querySelector("button"),u&&"select"in u?u.select():u&&"focus"in u&&u.focus()}}}}class zi extends Tr{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}zi.prototype.elementClass="";zi.prototype.toDOM=void 0;zi.prototype.mapMode=dn.TrackBefore;zi.prototype.startSide=zi.prototype.endSide=-1;zi.prototype.point=!0;const VE=Re.define(),qW=Re.define(),QW={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Za=Re.define();function fP(n){return[hP(),Za.of({...QW,...n})]}const wg=Re.define({combine:n=>n.some(e=>e)});function hP(n){return[ZW]}const ZW=pt.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Za).map(e=>new Yg(n,e)),this.fixed=!n.state.facet(wg);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(wg)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=Fe.iter(this.view.state.facet(VE),this.view.viewport.from),i=[],s=this.gutters.map(o=>new eX(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(o.type)){let a=!0;for(let u of o.type)if(u.type==ln.Text&&a){bS(t,i,u.from);for(let E of s)E.line(this.view,u,i);a=!1}else if(u.widget)for(let E of s)E.widget(this.view,u)}else if(o.type==ln.Text){bS(t,i,o.from);for(let a of s)a.line(this.view,o,i)}else if(o.widget)for(let a of s)a.widget(this.view,o);for(let o of s)o.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Za),t=n.state.facet(Za),i=n.docChanged||n.heightChanged||n.viewportChanged||!Fe.eq(n.startState.facet(VE),n.state.facet(VE),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let s of this.gutters)s.update(n)&&(i=!0);else{i=!0;let s=[];for(let o of t){let a=e.indexOf(o);a<0?s.push(new Yg(this.view,o)):(this.gutters[a].update(n),s.push(this.gutters[a]))}for(let o of this.gutters)o.dom.remove(),s.indexOf(o)<0&&o.destroy();for(let o of s)o.config.side=="after"?this.getDOMAfter().appendChild(o.dom):this.dom.appendChild(o.dom);this.gutters=s}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,s=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ct.LTR?{left:i,right:s}:{right:i,left:s}})});function Fg(n){return Array.isArray(n)?n:[n]}function bS(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class eX{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=Fe.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:s}=this,o=(t.top-this.height)/e.scaleY,a=t.height/e.scaleY;if(this.i==s.elements.length){let u=new TP(e,a,o,i);s.elements.push(u),s.dom.appendChild(u.dom)}else s.elements[this.i].update(e,a,o,i);this.height=t.bottom,this.i++}line(e,t,i){let s=[];bS(this.cursor,s,t.from),i.length&&(s=s.concat(i));let o=this.gutter.config.lineMarker(e,t,s);o&&s.unshift(o);let a=this.gutter;s.length==0&&!a.config.renderEmptyElements||this.addElement(e,t,s)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),s=i?[i]:null;for(let o of e.state.facet(qW)){let a=o(e,t.widget,t);a&&(s||(s=[])).push(a)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Yg{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,s=>{let o=s.target,a;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let E=o.getBoundingClientRect();a=(E.top+E.bottom)/2}else a=s.clientY;let u=e.lineBlockAtHeight(a-e.documentTop);t.domEventHandlers[i](e,u,s)&&s.preventDefault()});this.markers=Fg(t.markers(e)),t.initialSpacer&&(this.spacer=new TP(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Fg(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let i=e.view.viewport;return!Fe.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class TP{constructor(e,t,i,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,s)}update(e,t,i,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),tX(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,t){let i="cm-gutterElement",s=this.dom.firstChild;for(let o=0,a=0;;){let u=a,E=o<t.length?t[o++]:null,h=!1;if(E){let T=E.elementClass;T&&(i+=" "+T);for(let A=a;A<this.markers.length;A++)if(this.markers[A].compare(E)){u=A,h=!0;break}}else u=this.markers.length;for(;a<u;){let T=this.markers[a++];if(T.toDOM){T.destroy(s);let A=s.nextSibling;s.remove(),s=A}}if(!E)break;E.toDOM&&(h?s=s.nextSibling:this.dom.insertBefore(E.toDOM(e),s)),h&&a++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}}function tX(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const nX=Re.define(),iX=Re.define(),ao=Re.define({combine(n){return mi(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let s in t){let o=i[s],a=t[s];i[s]=o?(u,E,h)=>o(u,E,h)||a(u,E,h):a}return i}})}});class NA extends zi{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function mA(n,e){return n.state.facet(ao).formatNumber(e,n.state)}const sX=Za.compute([ao],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(nX)},lineMarker(e,t,i){return i.some(s=>s.toDOM)?null:new NA(mA(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let s of e.state.facet(iX)){let o=s(e,t,i);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(ao)!=e.state.facet(ao),initialSpacer(e){return new NA(mA(e,kg(e.state.doc.lines)))},updateSpacer(e,t){let i=mA(t.view,kg(t.view.state.doc.lines));return i==e.number?e:new NA(i)},domEventHandlers:n.facet(ao).domEventHandlers,side:"before"}));function rX(n={}){return[ao.of(n),hP(),sX]}function kg(n){let e=9;for(;e<n;)e=e*10+9;return e}const lX=new class extends zi{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},oX=VE.compute(["selection"],n=>{let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head).from;s>t&&(t=s,e.push(lX.range(s)))}return Fe.of(e)});function aX(){return oX}var IA;const co=new Ye;function cX(n){return Re.define({combine:n?e=>e.concat(n):void 0})}const uX=new Ye;class Ai{constructor(e,t,i=[],s=""){this.data=e,this.name=s,$e.prototype.hasOwnProperty("tree")||Object.defineProperty($e.prototype,"tree",{get(){return Jt(this)}}),this.parser=t,this.extension=[Rr.of(this),$e.languageData.of((o,a,u)=>{let E=Vg(o,a,u),h=E.type.prop(co);if(!h)return[];let T=o.facet(h),A=E.type.prop(uX);if(A){let R=E.resolve(a-E.from,u);for(let O of A)if(O.test(R,o)){let N=o.facet(O.facet);return O.type=="replace"?N:N.concat(T)}}return T})].concat(i)}isActiveAt(e,t,i=-1){return Vg(e,t,i).type.prop(co)==this.data}findRegions(e){let t=e.facet(Rr);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],s=(o,a)=>{if(o.prop(co)==this.data){i.push({from:a,to:a+o.length});return}let u=o.prop(Ye.mounted);if(u){if(u.tree.prop(co)==this.data){if(u.overlay)for(let E of u.overlay)i.push({from:E.from+a,to:E.to+a});else i.push({from:a,to:a+o.length});return}else if(u.overlay){let E=i.length;if(s(u.tree,u.overlay[0].from+a),i.length>E)return}}for(let E=0;E<o.children.length;E++){let h=o.children[E];h instanceof Mt&&s(h,o.positions[E]+a)}};return s(Jt(e),0),i}get allowsNesting(){return!0}}Ai.setState=xe.define();function Vg(n,e,t){let i=n.facet(Rr),s=Jt(n).topNode;if(!i||i.allowsNesting)for(let o=s;o;o=o.enter(e,t,mt.ExcludeBuffers|mt.EnterBracketed))o.type.isTop&&(s=o);return s}class Tc extends Ai{constructor(e,t,i){super(e,t,[],i),this.parser=t}static define(e){let t=cX(e.languageData);return new Tc(t,e.parser.configure({props:[co.add(i=>i.isTop?t:void 0)]}),e.name)}configure(e,t){return new Tc(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Jt(n){let e=n.field(Ai.state,!1);return e?e.tree:Mt.empty}class EX{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Ba=null;class df{constructor(e,t,i=[],s,o,a,u,E){this.parser=e,this.state=t,this.fragments=i,this.tree=s,this.treeLen=o,this.viewport=a,this.skipped=u,this.scheduleOn=E,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new df(e,t,[],Mt.empty,0,i,[],null)}startParse(){return this.parser.startParse(new EX(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Mt.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let s=this.parse.advance();if(s)if(this.fragments=this.withoutTempSkipped(el.addTree(s,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=s,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(el.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ba;Ba=this;try{return e()}finally{Ba=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Wg(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:s,treeLen:o,viewport:a,skipped:u}=this;if(this.takeTree(),!e.empty){let E=[];if(e.iterChangedRanges((h,T,A,R)=>E.push({fromA:h,toA:T,fromB:A,toB:R})),i=el.applyChanges(i,E),s=Mt.empty,o=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){u=[];for(let h of this.skipped){let T=e.mapPos(h.from,1),A=e.mapPos(h.to,-1);T<A&&u.push({from:T,to:A})}}}return new df(this.parser,t,i,s,o,a,u,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:s,to:o}=this.skipped[i];s<e.to&&o>e.from&&(this.fragments=Wg(this.fragments,s,o),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends YD{createParse(t,i,s){let o=s[0].from,a=s[s.length-1].to;return{parsedPos:o,advance(){let E=Ba;if(E){for(let h of s)E.tempSkipped.push(h);e&&(E.scheduleOn=E.scheduleOn?Promise.all([E.scheduleOn,e]):e)}return this.parsedPos=a,new Mt(Pn.none,[],[],a-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ba}}function Wg(n,e,t){return el.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Do{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Do(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=df.create(e.facet(Rr).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Do(i)}}Ai.state=qt.define({create:Do.init,update(n,e){for(let t of e.effects)if(t.is(Ai.setState))return t.value;return e.startState.facet(Rr)!=e.state.facet(Rr)?Do.init(e.state):n.apply(e)}});let dP=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(dP=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const pA=typeof navigator<"u"&&(!((IA=navigator.scheduling)===null||IA===void 0)&&IA.isInputPending)?()=>navigator.scheduling.isInputPending():null,fX=pt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ai.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ai.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=dP(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:s}}=this.view,o=i.field(Ai.state);if(o.tree==o.context.tree&&o.context.isDone(s+1e5))return;let a=Date.now()+Math.min(this.chunkBudget,100,e&&!pA?Math.max(25,e.timeRemaining()-5):1e9),u=o.context.treeLen<s&&i.doc.length>s+1e3,E=o.context.work(()=>pA&&pA()||Date.now()>a,s+(u?0:1e5));this.chunkBudget-=Date.now()-t,(E||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Ai.setState.of(new Do(o.context))})),this.chunkBudget>0&&!(E&&!u)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Dn(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Rr=Re.define({combine(n){return n.length?n[0]:null},enables:n=>[Ai.state,fX,Ae.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class AP{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const hX=Re.define(),Kf=Re.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Af(n){let e=n.facet(Kf);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function dc(n,e){let t="",i=n.tabSize,s=n.facet(Kf)[0];if(s==" "){for(;e>=i;)t+=" ",e-=i;s=" "}for(let o=0;o<e;o++)t+=s;return t}function wR(n,e){n instanceof $e&&(n=new zf(n));for(let i of n.state.facet(hX)){let s=i(n,e);if(s!==void 0)return s}let t=Jt(n.state);return t.length>=e?TX(n,t,e):null}class zf{constructor(e,t={}){this.state=e,this.options=t,this.unit=Af(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:o}=this.options;return s!=null&&s>=i.from&&s<=i.to?o&&s==e?{text:"",from:e}:(t<0?s<e:s<=e)?{text:i.text.slice(s-i.from),from:s}:{text:i.text.slice(0,s-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:s}=this.lineAt(e,t);return i.slice(e-s,Math.min(i.length,e+100-s))}column(e,t=1){let{text:i,from:s}=this.lineAt(e,t),o=this.countColumn(i,e-s),a=this.options.overrideIndentation?this.options.overrideIndentation(s):-1;return a>-1&&(o+=a-this.countColumn(i,i.search(/\S|$/))),o}countColumn(e,t=e.length){return Uo(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:s}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let a=o(s);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const FR=new Ye;function TX(n,e,t){let i=e.resolveStack(t),s=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(s!=i.node){let o=[];for(let a=s;a&&!(a.from<i.node.from||a.to>i.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)o.push(a);for(let a=o.length-1;a>=0;a--)i={node:o[a],next:i}}return SP(i,n,t)}function SP(n,e,t){for(let i=n;i;i=i.next){let s=AX(i.node);if(s)return s(YR.create(e,t,i))}return 0}function dX(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function AX(n){let e=n.type.prop(FR);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(Ye.closedBy))){let s=n.lastChild,o=s&&i.indexOf(s.name)>-1;return a=>NX(a,!0,1,void 0,o&&!dX(a)?s.from:void 0)}return n.parent==null?SX:null}function SX(){return 0}class YR extends zf{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new YR(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(RX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return SP(this.context.next,this.base,this.pos)}}function RX(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function OX(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let s=n.options.simulateBreak,o=n.state.doc.lineAt(t.from),a=s==null||s<=o.from?o.to:Math.min(o.to,s);for(let u=t.to;;){let E=e.childAfter(u);if(!E||E==i)return null;if(!E.type.isSkipped){if(E.from>=a)return null;let h=/^ */.exec(o.text.slice(t.to-o.from))[0].length;return{from:t.from,to:t.to+h}}u=E.to}}function NX(n,e,t,i,s){let o=n.textAfter,a=o.match(/^\s*/)[0].length,u=i&&o.slice(a,a+i.length)==i||s==n.pos+a,E=OX(n);return E?u?n.column(E.from):n.column(E.to):n.baseIndent+(u?0:n.unit*t)}function xS({except:n,units:e=1}={}){return t=>{let i=n&&n.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const mX=200;function IX(){return $e.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:i}=n.newSelection.main,s=t.lineAt(i);if(i>s.from+mX)return n;let o=t.sliceString(s.from,i);if(!e.some(h=>h.test(o)))return n;let{state:a}=n,u=-1,E=[];for(let{head:h}of a.selection.ranges){let T=a.doc.lineAt(h);if(T.from==u)continue;u=T.from;let A=wR(a,T.from);if(A==null)continue;let R=/^\s*/.exec(T.text)[0],O=dc(a,A);R!=O&&E.push({from:T.from,to:T.from+R.length,insert:O})}return E.length?[n,{changes:E,sequential:!0}]:n})}const pX=Re.define(),kR=new Ye;function CX(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function gX(n,e,t){let i=Jt(n);if(i.length<t)return null;let s=i.resolveStack(t,1),o=null;for(let a=s;a;a=a.next){let u=a.node;if(u.to<=t||u.from>t)continue;if(o&&u.from<e)break;let E=u.type.prop(kR);if(E&&(u.to<i.length-50||i.length==n.doc.length||!LX(u))){let h=E(u,n);h&&h.from<=t&&h.from>=e&&h.to>t&&(o=h)}}return o}function LX(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function Sf(n,e,t){for(let i of n.facet(pX)){let s=i(n,e,t);if(s)return s}return gX(n,e,t)}function RP(n,e){let t=e.mapPos(n.from,1),i=e.mapPos(n.to,-1);return t>=i?void 0:{from:t,to:i}}const $f=xe.define({map:RP}),Pc=xe.define({map:RP});function OP(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(n.lineBlockAt(t));return e}const al=qt.define({create(){return De.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,s)=>n=Xg(n,i,s)),n=n.map(e.changes);let t=[];for(let i of e.effects)i.is($f)&&!_X(n,i.value.from,i.value.to)?t.push(i.value):i.is(Pc)&&(n=n.update({filter:(s,o)=>i.value.from!=s||i.value.to!=o,filterFrom:i.value.from,filterTo:i.value.to}));if(t.length){let{preparePlaceholder:i}=e.state.facet(IP),s=t.map(o=>(i?De.replace({widget:new bX(i(e.state,o))}):Kg).range(o.from,o.to));n=n.update({add:s})}return e.selection&&(n=Xg(n,e.selection.main.head)),n},provide:n=>Ae.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(i,s)=>{t.push(i,s)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let i=n[t++],s=n[t++];if(typeof i!="number"||typeof s!="number")throw new RangeError("Invalid JSON for fold state");e.push(Kg.range(i,s))}return De.set(e,!0)}});function Xg(n,e,t=e){let i=!1;return n.between(e,t,(s,o)=>{s<t&&o>e&&(i=!0)}),i?n.update({filterFrom:e,filterTo:t,filter:(s,o)=>s>=t||o<=e}):n}function Rf(n,e,t){var i;let s=null;return(i=n.field(al,!1))===null||i===void 0||i.between(e,t,(o,a)=>{(!s||s.from>o)&&(s={from:o,to:a})}),s}function _X(n,e,t){let i=!1;return n.between(e,e,(s,o)=>{s==e&&o==t&&(i=!0)}),i}function NP(n,e){return n.field(al,!1)?e:e.concat(xe.appendConfig.of(pP()))}const DX=n=>{for(let e of OP(n)){let t=Sf(n.state,e.from,e.to);if(t)return n.dispatch({effects:NP(n.state,[$f.of(t),mP(n,t)])}),!0}return!1},MX=n=>{if(!n.state.field(al,!1))return!1;let e=[];for(let t of OP(n)){let i=Rf(n.state,t.from,t.to);i&&e.push(Pc.of(i),mP(n,i,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function mP(n,e,t=!0){let i=n.state.doc.lineAt(e.from).number,s=n.state.doc.lineAt(e.to).number;return Ae.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${n.state.phrase("to")} ${s}.`)}const PX=n=>{let{state:e}=n,t=[];for(let i=0;i<e.doc.length;){let s=n.lineBlockAt(i),o=Sf(e,s.from,s.to);o&&t.push($f.of(o)),i=(o?n.lineBlockAt(o.to):s).to+1}return t.length&&n.dispatch({effects:NP(n.state,t)}),!!t.length},yX=n=>{let e=n.state.field(al,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(i,s)=>{t.push(Pc.of({from:i,to:s}))}),n.dispatch({effects:t}),!0},vX=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:DX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:MX},{key:"Ctrl-Alt-[",run:PX},{key:"Ctrl-Alt-]",run:yX}],UX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},IP=Re.define({combine(n){return mi(n,UX)}});function pP(n){return[al,GX]}function CP(n,e){let{state:t}=n,i=t.facet(IP),s=a=>{let u=n.lineBlockAt(n.posAtDOM(a.target)),E=Rf(n.state,u.from,u.to);E&&n.dispatch({effects:Pc.of(E)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(n,s,e);let o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",t.phrase("folded code")),o.title=t.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=s,o}const Kg=De.replace({widget:new class extends Ji{toDOM(n){return CP(n,null)}}});class bX extends Ji{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return CP(e,this.value)}}const xX={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class CA extends zi{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function BX(n={}){let e={...xX,...n},t=new CA(e,!0),i=new CA(e,!1),s=pt.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(Rr)!=a.state.facet(Rr)||a.startState.field(al,!1)!=a.state.field(al,!1)||Jt(a.startState)!=Jt(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let u=new Is;for(let E of a.viewportLineBlocks){let h=Rf(a.state,E.from,E.to)?i:Sf(a.state,E.from,E.to)?t:null;h&&u.add(E.from,E.from,h)}return u.finish()}}),{domEventHandlers:o}=e;return[s,fP({class:"cm-foldGutter",markers(a){var u;return((u=a.plugin(s))===null||u===void 0?void 0:u.markers)||Fe.empty},initialSpacer(){return new CA(e,!1)},domEventHandlers:{...o,click:(a,u,E)=>{if(o.click&&o.click(a,u,E))return!0;let h=Rf(a.state,u.from,u.to);if(h)return a.dispatch({effects:Pc.of(h)}),!0;let T=Sf(a.state,u.from,u.to);return T?(a.dispatch({effects:$f.of(T)}),!0):!1}}}),pP()]}const GX=Ae.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class bo{constructor(e,t){this.specs=e;let i;function s(u){let E=dr.newName();return(i||(i=Object.create(null)))["."+E]=u,E}const o=typeof t.all=="string"?t.all:t.all?s(t.all):void 0,a=t.scope;this.scope=a instanceof Ai?u=>u.prop(co)==a.data:a?u=>u==a:void 0,this.style=VD(e.map(u=>({tag:u.tag,class:u.class||s(Object.assign({},u,{tag:null}))})),{all:o}).style,this.module=i?new dr(i):null,this.themeType=t.themeType}static define(e,t){return new bo(e,t||{})}}const BS=Re.define(),gP=Re.define({combine(n){return n.length?[n[0]]:null}});function gA(n){let e=n.facet(BS);return e.length?e:n.facet(gP)}function VR(n,e){let t=[wX],i;return n instanceof bo&&(n.module&&t.push(Ae.styleModule.of(n.module)),i=n.themeType),e!=null&&e.fallback?t.push(gP.of(n)):i?t.push(BS.computeN([Ae.darkTheme],s=>s.facet(Ae.darkTheme)==(i=="dark")?[n]:[])):t.push(BS.of(n)),t}class HX{constructor(e){this.markCache=Object.create(null),this.tree=Jt(e.state),this.decorations=this.buildDeco(e,gA(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=Jt(e.state),i=gA(e.state),s=i!=gA(e.startState),{viewport:o}=e.view,a=e.changes.mapPos(this.decoratedTo,1);t.length<o.to&&!s&&t.type==this.tree.type&&a>=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=o.to)}buildDeco(e,t){if(!t||!this.tree.length)return De.none;let i=new Is;for(let{from:s,to:o}of e.visibleRanges)zk(this.tree,t,(a,u,E)=>{i.add(a,u,this.markCache[E]||(this.markCache[E]=De.mark({class:E})))},s,o);return i.finish()}}const wX=fl.high(pt.fromClass(HX,{decorations:n=>n.decorations})),FX=bo.define([{tag:w.meta,color:"#404740"},{tag:w.link,textDecoration:"underline"},{tag:w.heading,textDecoration:"underline",fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strong,fontWeight:"bold"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.keyword,color:"#708"},{tag:[w.atom,w.bool,w.url,w.contentSeparator,w.labelName],color:"#219"},{tag:[w.literal,w.inserted],color:"#164"},{tag:[w.string,w.deleted],color:"#a11"},{tag:[w.regexp,w.escape,w.special(w.string)],color:"#e40"},{tag:w.definition(w.variableName),color:"#00f"},{tag:w.local(w.variableName),color:"#30a"},{tag:[w.typeName,w.namespace],color:"#085"},{tag:w.className,color:"#167"},{tag:[w.special(w.variableName),w.macroName],color:"#256"},{tag:w.definition(w.propertyName),color:"#00c"},{tag:w.comment,color:"#940"},{tag:w.invalid,color:"#f00"}]),YX=Ae.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),LP=1e4,_P="()[]{}",DP=Re.define({combine(n){return mi(n,{afterCursor:!0,brackets:_P,maxScanDistance:LP,renderMatch:WX})}}),kX=De.mark({class:"cm-matchingBracket"}),VX=De.mark({class:"cm-nonmatchingBracket"});function WX(n){let e=[],t=n.matched?kX:VX;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function zg(n){let e=[],t=n.facet(DP);for(let i of n.selection.ranges){if(!i.empty)continue;let s=Vi(n,i.head,-1,t)||i.head>0&&Vi(n,i.head-1,1,t)||t.afterCursor&&(Vi(n,i.head,1,t)||i.head<n.doc.length&&Vi(n,i.head+1,-1,t));s&&(e=e.concat(t.renderMatch(s,n)))}return De.set(e,!0)}const XX=pt.fromClass(class{constructor(n){this.paused=!1,this.decorations=zg(n.state)}update(n){(n.docChanged||n.selectionSet||this.paused)&&(n.view.composing?(this.decorations=this.decorations.map(n.changes),this.paused=!0):(this.decorations=zg(n.state),this.paused=!1))}},{decorations:n=>n.decorations}),KX=[XX,YX];function zX(n={}){return[DP.of(n),KX]}const $X=new Ye;function GS(n,e,t){let i=n.prop(e<0?Ye.openedBy:Ye.closedBy);if(i)return i;if(n.name.length==1){let s=t.indexOf(n.name);if(s>-1&&s%2==(e<0?1:0))return[t[s+e]]}return null}function HS(n){let e=n.type.prop($X);return e?e(n.node):n}function Vi(n,e,t,i={}){let s=i.maxScanDistance||LP,o=i.brackets||_P,a=Jt(n),u=a.resolveInner(e,t);for(let E=u;E;E=E.parent){let h=GS(E.type,t,o);if(h&&E.from<E.to){let T=HS(E);if(T&&(t>0?e>=T.from&&e<T.to:e>T.from&&e<=T.to))return jX(n,e,t,E,T,h,o)}}return JX(n,e,t,a,u.type,s,o)}function jX(n,e,t,i,s,o,a){let u=i.parent,E={from:s.from,to:s.to},h=0,T=u==null?void 0:u.cursor();if(T&&(t<0?T.childBefore(i.from):T.childAfter(i.to)))do if(t<0?T.to<=i.from:T.from>=i.to){if(h==0&&o.indexOf(T.type.name)>-1&&T.from<T.to){let A=HS(T);return{start:E,end:A?{from:A.from,to:A.to}:void 0,matched:!0}}else if(GS(T.type,t,a))h++;else if(GS(T.type,-t,a)){if(h==0){let A=HS(T);return{start:E,end:A&&A.from<A.to?{from:A.from,to:A.to}:void 0,matched:!1}}h--}}while(t<0?T.prevSibling():T.nextSibling());return{start:E,matched:!1}}function JX(n,e,t,i,s,o,a){if(t<0?!e:e==n.doc.length)return null;let u=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),E=a.indexOf(u);if(E<0||E%2==0!=t>0)return null;let h={from:t<0?e-1:e,to:t>0?e+1:e},T=n.doc.iterRange(e,t>0?n.doc.length:0),A=0;for(let R=0;!T.next().done&&R<=o;){let O=T.value;t<0&&(R+=O.length);let N=e+R*t;for(let m=t>0?0:O.length-1,C=t>0?O.length:-1;m!=C;m+=t){let L=a.indexOf(O[m]);if(!(L<0||i.resolveInner(N+m,1).type!=s))if(L%2==0==t>0)A++;else{if(A==1)return{start:h,end:{from:N+m,to:N+m+1},matched:L>>1==E>>1};A--}}t>0&&(R+=O.length)}return T.done?{start:h,matched:!1}:null}const qX=Object.create(null),$g=[Pn.none],jg=[],Jg=Object.create(null),QX=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])QX[n]=ZX(qX,e);function LA(n,e){jg.indexOf(n)>-1||(jg.push(n),console.warn(e))}function ZX(n,e){let t=[];for(let u of e.split(" ")){let E=[];for(let h of u.split(".")){let T=n[h]||w[h];T?typeof T=="function"?E.length?E=E.map(T):LA(h,`Modifier ${h} used at start of tag`):E.length?LA(h,`Tag ${h} used as modifier`):E=Array.isArray(T)?T:[T]:LA(h,`Unknown highlighting tag ${h}`)}for(let h of E)t.push(h)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),s=i+" "+t.map(u=>u.id),o=Jg[s];if(o)return o.id;let a=Jg[s]=Pn.define({id:$g.length,name:i,props:[NR({[i]:t})]});return $g.push(a),a.id}ct.RTL,ct.LTR;const eK=Tc.define({name:"json",parser:qk.configure({props:[FR.add({Object:xS({except:/^\s*\}/}),Array:xS({except:/^\s*\]/})}),kR.add({"Object Array":CX})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function tK(){return new AP(eK)}class MP{constructor(e,t,i,s){this.state=e,this.pos=t,this.explicit=i,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=Jt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),s=t.text.slice(i-t.from,this.pos-t.from),o=s.search(yP(e,!1));return o<0?null:{from:i+o,to:this.pos,text:s.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function qg(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function nK(n){let e=Object.create(null),t=Object.create(null);for(let{label:s}of n){e[s[0]]=!0;for(let o=1;o<s.length;o++)t[s[o]]=!0}let i=qg(e)+qg(t)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function PP(n){let e=n.map(s=>typeof s=="string"?{label:s}:s),[t,i]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:nK(e);return s=>{let o=s.matchBefore(i);return o||s.explicit?{from:o?o.from:s.pos,options:e,validFor:t}:null}}function iK(n,e){return t=>{for(let i=Jt(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(n.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class Qg{constructor(e,t,i,s){this.completion=e,this.source=t,this.match=i,this.score=s}}function nl(n){return n.selection.main.from}function yP(n,e){var t;let{source:i}=n,s=e&&i[0]!="^",o=i[i.length-1]!="$";return!s&&!o?n:new RegExp(`${s?"^":""}(?:${i})${o?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const vP=ji.define();function sK(n,e,t,i){let{main:s}=n.selection,o=t-s.from,a=i-s.from;return{...n.changeByRange(u=>{if(u!=s&&t!=i&&n.sliceDoc(u.from+o,u.from+a)!=n.sliceDoc(t,i))return{range:u};let E=n.toText(e);return{changes:{from:u.from+o,to:i==s.from?u.to:u.from+a,insert:E},range:q.cursor(u.from+o+E.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Zg=new WeakMap;function rK(n){if(!Array.isArray(n))return n;let e=Zg.get(n);return e||Zg.set(n,e=PP(n)),e}const Of=xe.define(),Ac=xe.define();class lK{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let i=gn(e,t),s=wi(i);this.chars.push(i);let o=e.slice(t,t+s),a=o.toUpperCase();this.folded.push(gn(a==o?o.toLowerCase():a,0)),t+=s}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:i,any:s,precise:o,byWord:a}=this;if(t.length==1){let D=gn(e,0),_=wi(D),v=_==e.length?0:-100;if(D!=t[0])if(D==i[0])v+=-200;else return null;return this.ret(v,[0,_])}let u=e.indexOf(this.pattern);if(u==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let E=t.length,h=0;if(u<0){for(let D=0,_=Math.min(e.length,200);D<_&&h<E;){let v=gn(e,D);(v==t[h]||v==i[h])&&(s[h++]=D),D+=wi(v)}if(h<E)return null}let T=0,A=0,R=!1,O=0,N=-1,m=-1,C=/[a-z]/.test(e),L=!0;for(let D=0,_=Math.min(e.length,200),v=0;D<_&&A<E;){let U=gn(e,D);u<0&&(T<E&&U==t[T]&&(o[T++]=D),O<E&&(U==t[O]||U==i[O]?(O==0&&(N=D),m=D+1,O++):O=0));let G,B=U<255?U>=48&&U<=57||U>=97&&U<=122?2:U>=65&&U<=90?1:0:(G=mR(U))!=G.toLowerCase()?1:G!=G.toUpperCase()?2:0;(!D||B==1&&C||v==0&&B!=0)&&(t[A]==U||i[A]==U&&(R=!0)?a[A++]=D:a.length&&(L=!1)),v=B,D+=wi(U)}return A==E&&a[0]==0&&L?this.result(-100+(R?-200:0),a,e):O==E&&N==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):u>-1?this.ret(-700-e.length,[u,u+this.pattern.length]):O==E?this.ret(-900-e.length,[N,m]):A==E?this.result(-100+(R?-200:0)+-700+(L?0:-1100),a,e):t.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,t,i){let s=[],o=0;for(let a of t){let u=a+(this.astral?wi(gn(i,a)):1);o&&s[o-1]==a?s[o-1]=u:(s[o++]=a,s[o++]=u)}return this.ret(e-i.length,s)}}class oK{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),i=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,t.length],this.score=i+(e.length==this.pattern.length?0:-100),this)}}const Kt=Re.define({combine(n){return mi(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:aK,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>eL(e(i),t(i)),optionClass:(e,t)=>i=>eL(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function eL(n,e){return n?e?n+" "+e:n:e}function aK(n,e,t,i,s,o){let a=n.textDirection==ct.RTL,u=a,E=!1,h="top",T,A,R=e.left-s.left,O=s.right-e.right,N=i.right-i.left,m=i.bottom-i.top;if(u&&R<Math.min(N,O)?u=!1:!u&&O<Math.min(N,R)&&(u=!0),N<=(u?R:O))T=Math.max(s.top,Math.min(t.top,s.bottom-m))-e.top,A=Math.min(400,u?R:O);else{E=!0,A=Math.min(400,(a?e.right:s.right-e.left)-30);let D=s.bottom-e.bottom;D>=m||D>e.top?T=t.bottom-e.top:(h="bottom",T=e.bottom-t.top)}let C=(e.bottom-e.top)/o.offsetHeight,L=(e.right-e.left)/o.offsetWidth;return{style:`${h}: ${T/C}px; max-width: ${A/L}px`,class:"cm-completionInfo-"+(E?a?"left-narrow":"right-narrow":u?"left":"right")}}const WR=xe.define();function cK(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,s,o){let a=document.createElement("span");a.className="cm-completionLabel";let u=t.displayLabel||t.label,E=0;for(let h=0;h<o.length;){let T=o[h++],A=o[h++];T>E&&a.appendChild(document.createTextNode(u.slice(E,T)));let R=a.appendChild(document.createElement("span"));R.appendChild(document.createTextNode(u.slice(T,A))),R.className="cm-completionMatchedText",E=A}return E<u.length&&a.appendChild(document.createTextNode(u.slice(E))),a},position:50},{render(t){if(!t.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=t.detail,i},position:80}),e.sort((t,i)=>t.position-i.position).map(t=>t.render)}function _A(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let s=Math.floor(e/t);return{from:s*t,to:(s+1)*t}}let i=Math.ceil((n-e)/t);return{from:n-i*t,to:n-(i-1)*t}}class uK{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:E=>this.placeInfo(E),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:o,selected:a}=s.open,u=e.state.facet(Kt);this.optionContent=cK(u),this.optionClass=u.optionClass,this.tooltipClass=u.tooltipClass,this.range=_A(o.length,a,u.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",E=>{let{options:h}=e.state.field(t).open;for(let T=E.target,A;T&&T!=this.dom;T=T.parentNode)if(T.nodeName=="LI"&&(A=/-(\d+)$/.exec(T.id))&&+A[1]<h.length){this.applyCompletion(e,h[+A[1]]),E.preventDefault();return}if(E.target==this.list){let T=this.list.classList.contains("cm-completionListIncompleteTop")&&E.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&E.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;T!=null&&(e.dispatch({effects:WR.of(T)}),E.preventDefault())}}),this.dom.addEventListener("focusout",E=>{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(Kt).closeOnBlur&&E.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ac.of(null)})}),this.showOptions(o,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=s){let{options:o,selected:a,disabled:u}=i.open;(!s.open||s.open.options!=o)&&(this.range=_A(o.length,a,e.state.facet(Kt).maxRenderedOptions),this.showOptions(o,i.id)),this.updateSel(),u!=((t=s.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!u)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=_A(t.options.length,t.selected,this.view.state.facet(Kt).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:s}=t.options[t.selected],{info:o}=s;if(!o)return;let a=typeof o=="string"?document.createTextNode(o):o(s);if(!a)return;"then"in a?a.then(u=>{u&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(u,s)}).catch(u=>Dn(this.view.state,u,"completion info")):(this.addInfoPane(a,s),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:o}=e;i.appendChild(s),this.infoDestroy=o||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,s=this.range.from;i;i=i.nextSibling,s++)i.nodeName!="LI"||!i.id?s--:s==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return t&&fK(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),o=this.space;if(!o){let a=this.dom.ownerDocument.documentElement;o={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return s.top>Math.min(o.bottom,t.bottom)-10||s.bottom<Math.max(o.top,t.top)+10?null:this.view.state.facet(Kt).positionInfo(this.view,t,s,i,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,i){const s=document.createElement("ul");s.id=t,s.setAttribute("role","listbox"),s.setAttribute("aria-expanded","true"),s.setAttribute("aria-label",this.view.state.phrase("Completions")),s.addEventListener("mousedown",a=>{a.target==s&&a.preventDefault()});let o=null;for(let a=i.from;a<i.to;a++){let{completion:u,match:E}=e[a],{section:h}=u;if(h){let R=typeof h=="string"?h:h.name;if(R!=o&&(a>i.from||i.from==0))if(o=R,typeof h!="string"&&h.header)s.appendChild(h.header(h));else{let O=s.appendChild(document.createElement("completion-section"));O.textContent=R}}const T=s.appendChild(document.createElement("li"));T.id=t+"-"+a,T.setAttribute("role","option");let A=this.optionClass(u);A&&(T.className=A);for(let R of this.optionContent){let O=R(u,this.view.state,this.view,E);O&&T.appendChild(O)}}return i.from&&s.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&s.classList.add("cm-completionListIncompleteBottom"),s}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function EK(n,e){return t=>new uK(t,n,e)}function fK(n,e){let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),s=t.height/n.offsetHeight;i.top<t.top?n.scrollTop-=(t.top-i.top)/s:i.bottom>t.bottom&&(n.scrollTop+=(i.bottom-t.bottom)/s)}function tL(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function hK(n,e){let t=[],i=null,s=null,o=T=>{t.push(T);let{section:A}=T.completion;if(A){i||(i=[]);let R=typeof A=="string"?A:A.name;i.some(O=>O.name==R)||i.push(typeof A=="string"?{name:R}:A)}},a=e.facet(Kt);for(let T of n)if(T.hasResult()){let A=T.result.getMatch;if(T.result.filter===!1)for(let R of T.result.options)o(new Qg(R,T.source,A?A(R):[],1e9-t.length));else{let R=e.sliceDoc(T.from,T.to),O,N=a.filterStrict?new oK(R):new lK(R);for(let m of T.result.options)if(O=N.match(m.label)){let C=m.displayLabel?A?A(m,O.matched):[]:O.matched,L=O.score+(m.boost||0);if(o(new Qg(m,T.source,C,L)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:D}=m.section;s||(s=Object.create(null)),s[D]=Math.max(L,s[D]||-1e9)}}}}if(i){let T=Object.create(null),A=0,R=(O,N)=>(O.rank==="dynamic"&&N.rank==="dynamic"?s[N.name]-s[O.name]:0)||(typeof O.rank=="number"?O.rank:1e9)-(typeof N.rank=="number"?N.rank:1e9)||(O.name<N.name?-1:1);for(let O of i.sort(R))A-=1e5,T[O.name]=A;for(let O of t){let{section:N}=O.completion;N&&(O.score+=T[typeof N=="string"?N:N.name])}}let u=[],E=null,h=a.compareCompletions;for(let T of t.sort((A,R)=>R.score-A.score||h(A.completion,R.completion))){let A=T.completion;!E||E.label!=A.label||E.detail!=A.detail||E.type!=null&&A.type!=null&&E.type!=A.type||E.apply!=A.apply||E.boost!=A.boost?u.push(T):tL(T.completion)>tL(E)&&(u[u.length-1]=T),E=T.completion}return u}class uo{constructor(e,t,i,s,o,a){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=s,this.selected=o,this.disabled=a}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new uo(this.options,nL(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,s,o,a){if(s&&!a&&e.some(h=>h.isPending))return s.setDisabled();let u=hK(e,t);if(!u.length)return s&&e.some(h=>h.isPending)?s.setDisabled():null;let E=t.facet(Kt).selectOnOpen?0:-1;if(s&&s.selected!=E&&s.selected!=-1){let h=s.options[s.selected].completion;for(let T=0;T<u.length;T++)if(u[T].completion==h){E=T;break}}return new uo(u,nL(i,E),{pos:e.reduce((h,T)=>T.hasResult()?Math.min(h,T.from):h,1e8),create:OK,above:o.aboveCursor},s?s.timestamp:Date.now(),E,!1)}map(e){return new uo(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new uo(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Nf{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new Nf(SK,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Kt),o=(i.override||t.languageDataAt("autocomplete",nl(t)).map(rK)).map(E=>(this.active.find(T=>T.source==E)||new li(E,this.active.some(T=>T.state!=0)?1:0)).update(e,i));o.length==this.active.length&&o.every((E,h)=>E==this.active[h])&&(o=this.active);let a=this.open,u=e.effects.some(E=>E.is(XR));a&&e.docChanged&&(a=a.map(e.changes)),e.selection||o.some(E=>E.hasResult()&&e.changes.touchesRange(E.from,E.to))||!TK(o,this.active)||u?a=uo.build(o,t,this.id,a,i,u):a&&a.disabled&&!o.some(E=>E.isPending)&&(a=null),!a&&o.every(E=>!E.isPending)&&o.some(E=>E.hasResult())&&(o=o.map(E=>E.hasResult()?new li(E.source,0):E));for(let E of e.effects)E.is(WR)&&(a=a&&a.setSelected(E.value,this.id));return o==this.active&&a==this.open?this:new Nf(o,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?dK:AK}}function TK(n,e){if(n==e)return!0;for(let t=0,i=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;i<e.length&&!e[i].hasResult();)i++;let s=t==n.length,o=i==e.length;if(s||o)return s==o;if(n[t++].result!=e[i++].result)return!1}}const dK={"aria-autocomplete":"list"},AK={};function nL(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const SK=[];function UP(n,e){if(n.isUserEvent("input.complete")){let i=n.annotation(vP);if(i&&e.activateOnCompletion(i))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class li{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=UP(e,t),s=this;(i&8||i&16&&this.touches(e))&&(s=new li(s.source,0)),i&4&&s.state==0&&(s=new li(this.source,1)),s=s.updateFor(e,i);for(let o of e.effects)if(o.is(Of))s=new li(s.source,1,o.value);else if(o.is(Ac))s=new li(s.source,0);else if(o.is(XR))for(let a of o.value)a.source==s.source&&(s=a);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(nl(e.state))}}class Oo extends li{constructor(e,t,i,s,o,a){super(e,3,t),this.limit=i,this.result=s,this.from=o,this.to=a}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let o=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),u=nl(e.state);if(u>a||!s||t&2&&(nl(e.startState)==this.from||u<this.limit))return new li(this.source,t&4?1:0);let E=e.changes.mapPos(this.limit);return RK(s.validFor,e.state,o,a)?new Oo(this.source,this.explicit,E,s,o,a):s.update&&(s=s.update(s,o,a,new MP(e.state,u,!1)))?new Oo(this.source,this.explicit,E,s,s.from,(i=s.to)!==null&&i!==void 0?i:nl(e.state)):new li(this.source,1,this.explicit)}map(e){if(e.empty)return this;let t=this.result.map?this.result.map(this.result,e):this.result;return t?new Oo(this.source,this.explicit,e.mapPos(this.limit),t,e.mapPos(this.from),e.mapPos(this.to,1)):new li(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function RK(n,e,t,i){if(!n)return!1;let s=e.sliceDoc(t,i);return typeof n=="function"?n(s,t,i,e):yP(n,!0).test(s)}const XR=xe.define({map(n,e){return n.map(t=>t.map(e))}}),Ln=qt.define({create(){return Nf.start()},update(n,e){return n.update(e)},provide:n=>[Wf.from(n,e=>e.tooltip),Ae.contentAttributes.from(n,e=>e.attrs)]});function KR(n,e){const t=e.completion.apply||e.completion.label;let i=n.state.field(Ln).active.find(s=>s.source==e.source);return i instanceof Oo?(typeof t=="string"?n.dispatch({...sK(n.state,t,i.from,i.to),annotations:vP.of(e.completion)}):t(n,e.completion,i.from,i.to),!0):!1}const OK=EK(Ln,KR);function CE(n,e="option"){return t=>{let i=t.state.field(Ln,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<t.state.facet(Kt).interactionDelay)return!1;let s=1,o;e=="page"&&(o=aP(t,i.open.tooltip))&&(s=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:a}=i.open.options,u=i.open.selected>-1?i.open.selected+s*(n?1:-1):n?0:a-1;return u<0?u=e=="page"?0:a-1:u>=a&&(u=e=="page"?a-1:0),t.dispatch({effects:WR.of(u)}),!0}}const NK=n=>{let e=n.state.field(Ln,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Kt).interactionDelay?!1:KR(n,e.open.options[e.open.selected])},DA=n=>n.state.field(Ln,!1)?(n.dispatch({effects:Of.of(!0)}),!0):!1,mK=n=>{let e=n.state.field(Ln,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Ac.of(null)}),!0)};class IK{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const pK=50,CK=1e3,gK=pt.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(Ln).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(Ln),t=n.state.facet(Kt);if(!n.selectionSet&&!n.docChanged&&n.startState.field(Ln)==e)return;let i=n.transactions.some(o=>{let a=UP(o,t);return a&8||(o.selection||o.docChanged)&&!(a&3)});for(let o=0;o<this.running.length;o++){let a=this.running[o];if(i||a.context.abortOnDocChange&&n.docChanged||a.updates.length+n.transactions.length>pK&&Date.now()-a.time>CK){for(let u of a.context.abortListeners)try{u()}catch(E){Dn(this.view.state,E)}a.context.abortListeners=null,this.running.splice(o--,1)}else a.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(o=>o.effects.some(a=>a.is(Of)))&&(this.pendingStart=!0);let s=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(o=>o.isPending&&!this.running.some(a=>a.active.source==o.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let o of n.transactions)o.isUserEvent("input.type")?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(Ln);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Kt).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=nl(e),i=new MP(e,t,n.explicit,this.view),s=new IK(n,i);this.running.push(s),Promise.resolve(n.source(i)).then(o=>{s.context.aborted||(s.done=o||null,this.scheduleAccept())},o=>{this.view.dispatch({effects:Ac.of(null)}),Dn(this.view.state,o)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Kt).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Kt),i=this.view.state.field(Ln);for(let s=0;s<this.running.length;s++){let o=this.running[s];if(o.done===void 0)continue;if(this.running.splice(s--,1),o.done){let u=nl(o.updates.length?o.updates[0].startState:this.view.state),E=Math.min(u,o.done.from+(o.active.explicit?0:1)),h=new Oo(o.active.source,o.active.explicit,E,o.done,o.done.from,(n=o.done.to)!==null&&n!==void 0?n:u);for(let T of o.updates)h=h.update(T,t);if(h.hasResult()){e.push(h);continue}}let a=i.active.find(u=>u.source==o.active.source);if(a&&a.isPending)if(o.done==null){let u=new li(o.active.source,0);for(let E of o.updates)u=u.update(E,t);u.isPending||e.push(u)}else this.startQuery(a)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:XR.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(Ln,!1);if(e&&e.tooltip&&this.view.state.facet(Kt).closeOnBlur){let t=e.open&&aP(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Ac.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Of.of(!1)}),20),this.composing=0}}}),LK=typeof navigator=="object"&&/Win/.test(navigator.platform),_K=fl.highest(Ae.domEventHandlers({keydown(n,e){let t=e.state.field(Ln,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(LK&&n.altKey)||n.metaKey)return!1;let i=t.open.options[t.open.selected],s=t.active.find(a=>a.source==i.source),o=i.completion.commitCharacters||s.result.commitCharacters;return o&&o.indexOf(n.key)>-1&&KR(e,i),!1}})),DK=Ae.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Sc={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Zr=xe.define({map(n,e){let t=e.mapPos(n,-1,dn.TrackAfter);return t??void 0}}),zR=new class extends Tr{};zR.startSide=1;zR.endSide=-1;const bP=qt.define({create(){return Fe.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(Zr)&&(n=n.update({add:[zR.range(t.value,t.value+1)]}));return n}});function MK(){return[yK,bP]}const MA="()[]{}<>«»»«[]{}";function xP(n){for(let e=0;e<MA.length;e+=2)if(MA.charCodeAt(e)==n)return MA.charAt(e+1);return mR(n<128?n:n+1)}function BP(n,e){return n.languageDataAt("closeBrackets",e)[0]||Sc}const PK=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),yK=Ae.inputHandler.of((n,e,t,i)=>{if((PK?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let s=n.state.selection.main;if(i.length>2||i.length==2&&wi(gn(i,0))==1||e!=s.from||t!=s.to)return!1;let o=bK(n.state,i);return o?(n.dispatch(o),!0):!1}),vK=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let i=BP(n,n.selection.main.head).brackets||Sc.brackets,s=null,o=n.changeByRange(a=>{if(a.empty){let u=xK(n.doc,a.head);for(let E of i)if(E==u&&jf(n.doc,a.head)==xP(gn(E,0)))return{changes:{from:a.head-E.length,to:a.head+E.length},range:q.cursor(a.head-E.length)}}return{range:s=a}});return s||e(n.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},UK=[{key:"Backspace",run:vK}];function bK(n,e){let t=BP(n,n.selection.main.head),i=t.brackets||Sc.brackets;for(let s of i){let o=xP(gn(s,0));if(e==s)return o==s?HK(n,s,i.indexOf(s+s+s)>-1,t):BK(n,s,o,t.before||Sc.before);if(e==o&&GP(n,n.selection.main.from))return GK(n,s,o)}return null}function GP(n,e){let t=!1;return n.field(bP).between(0,n.doc.length,i=>{i==e&&(t=!0)}),t}function jf(n,e){let t=n.sliceString(e,e+2);return t.slice(0,wi(gn(t,0)))}function xK(n,e){let t=n.sliceString(e-2,e);return wi(gn(t,0))==t.length?t:t.slice(1)}function BK(n,e,t,i){let s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:t,from:a.to}],effects:Zr.of(a.to+e.length),range:q.range(a.anchor+e.length,a.head+e.length)};let u=jf(n.doc,a.head);return!u||/\s/.test(u)||i.indexOf(u)>-1?{changes:{insert:e+t,from:a.head},effects:Zr.of(a.head+e.length),range:q.cursor(a.head+e.length)}:{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function GK(n,e,t){let i=null,s=n.changeByRange(o=>o.empty&&jf(n.doc,o.head)==t?{changes:{from:o.head,to:o.head+t.length,insert:t},range:q.cursor(o.head+t.length)}:i={range:o});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function HK(n,e,t,i){let s=i.stringPrefixes||Sc.stringPrefixes,o=null,a=n.changeByRange(u=>{if(!u.empty)return{changes:[{insert:e,from:u.from},{insert:e,from:u.to}],effects:Zr.of(u.to+e.length),range:q.range(u.anchor+e.length,u.head+e.length)};let E=u.head,h=jf(n.doc,E),T;if(h==e){if(iL(n,E))return{changes:{insert:e+e,from:E},effects:Zr.of(E+e.length),range:q.cursor(E+e.length)};if(GP(n,E)){let R=t&&n.sliceDoc(E,E+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:E,to:E+R.length,insert:R},range:q.cursor(E+R.length)}}}else{if(t&&n.sliceDoc(E-2*e.length,E)==e+e&&(T=sL(n,E-2*e.length,s))>-1&&iL(n,T))return{changes:{insert:e+e+e+e,from:E},effects:Zr.of(E+e.length),range:q.cursor(E+e.length)};if(n.charCategorizer(E)(h)!=St.Word&&sL(n,E,s)>-1&&!wK(n,E,e,s))return{changes:{insert:e+e,from:E},effects:Zr.of(E+e.length),range:q.cursor(E+e.length)}}return{range:o=u}});return o?null:n.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function iL(n,e){let t=Jt(n).resolveInner(e+1);return t.parent&&t.from==e}function wK(n,e,t,i){let s=Jt(n).resolveInner(e,-1),o=i.reduce((a,u)=>Math.max(a,u.length),0);for(let a=0;a<5;a++){let u=n.sliceDoc(s.from,Math.min(s.to,s.from+t.length+o)),E=u.indexOf(t);if(!E||E>-1&&i.indexOf(u.slice(0,E))>-1){let T=s.firstChild;for(;T&&T.from==s.from&&T.to-T.from>t.length+E;){if(n.sliceDoc(T.to-t.length,T.to)==t)return!1;T=T.firstChild}return!0}let h=s.to==e&&s.parent;if(!h)break;s=h}return!1}function sL(n,e,t){let i=n.charCategorizer(e);if(i(n.sliceDoc(e-1,e))!=St.Word)return e;for(let s of t){let o=e-s.length;if(n.sliceDoc(o,e)==s&&i(n.sliceDoc(o-1,o))!=St.Word)return o}return-1}function FK(n={}){return[_K,Ln,Kt.of(n),gK,YK,DK]}const HP=[{key:"Ctrl-Space",run:DA},{mac:"Alt-`",run:DA},{mac:"Alt-i",run:DA},{key:"Escape",run:mK},{key:"ArrowDown",run:CE(!0)},{key:"ArrowUp",run:CE(!1)},{key:"PageDown",run:CE(!0,"page")},{key:"PageUp",run:CE(!1,"page")},{key:"Enter",run:NK}],YK=fl.highest(Mc.computeN([Kt],n=>n.facet(Kt).defaultKeymap?[HP]:[])),kK=36,rL=1,VK=2,no=3,PA=4,WK=5,XK=6,KK=7,zK=8,$K=9,jK=10,JK=11,qK=12,QK=13,ZK=14,e3=15,t3=16,n3=17,lL=18,i3=19,wP=20,FP=21,oL=22,s3=23,r3=24;function wS(n){return n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57}function l3(n){return n>=48&&n<=57||n>=97&&n<=102||n>=65&&n<=70}function jr(n,e,t){for(let i=!1;;){if(n.next<0)return;if(n.next==e&&!i){n.advance();return}i=t&&!i&&n.next==92,n.advance()}}function o3(n,e){e:for(;;){if(n.next<0)return;if(n.next==36){n.advance();for(let t=0;t<e.length;t++){if(n.next!=e.charCodeAt(t))continue e;n.advance()}if(n.next==36){n.advance();return}}else n.advance()}}function a3(n,e){let t="[{<(".indexOf(String.fromCharCode(e)),i=t<0?e:"]}>)".charCodeAt(t);for(;;){if(n.next<0)return;if(n.next==i&&n.peek(1)==39){n.advance(2);return}n.advance()}}function FS(n,e){for(;!(n.next!=95&&!wS(n.next));)e!=null&&(e+=String.fromCharCode(n.next)),n.advance();return e}function c3(n){if(n.next==39||n.next==34||n.next==96){let e=n.next;n.advance(),jr(n,e,!1)}else FS(n)}function aL(n,e){for(;n.next==48||n.next==49;)n.advance();e&&n.next==e&&n.advance()}function cL(n,e){for(;;){if(n.next==46){if(e)break;e=!0}else if(n.next<48||n.next>57)break;n.advance()}if(n.next==69||n.next==101)for(n.advance(),(n.next==43||n.next==45)&&n.advance();n.next>=48&&n.next<=57;)n.advance()}function uL(n){for(;!(n.next<0||n.next==10);)n.advance()}function Kr(n,e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)==n)return!0;return!1}const yA=` \r
|
|
234
|
+
`;function YP(n,e,t){let i=Object.create(null);i.true=i.false=WK,i.null=i.unknown=XK;for(let s of n.split(" "))s&&(i[s]=wP);for(let s of e.split(" "))s&&(i[s]=FP);for(let s of(t||"").split(" "))s&&(i[s]=r3);return i}const kP="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",VP="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",YS={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:YP(VP,kP)};function u3(n,e,t,i){let s={};for(let o in YS)s[o]=(n.hasOwnProperty(o)?n:YS)[o];return e&&(s.words=YP(e,t||"",i)),s}function WP(n){return new bk(e=>{var t;let{next:i}=e;if(e.advance(),Kr(i,yA)){for(;Kr(e.next,yA);)e.advance();e.acceptToken(kK)}else if(i==36&&n.doubleDollarQuotedStrings){let s=FS(e,"");e.next==36&&(e.advance(),o3(e,s),e.acceptToken(no))}else if(i==39||i==34&&n.doubleQuotedStrings)jr(e,i,n.backslashEscapes),e.acceptToken(no);else if(i==35&&n.hashComments||i==47&&e.next==47&&n.slashComments)uL(e),e.acceptToken(rL);else if(i==45&&e.next==45&&(!n.spaceAfterDashes||e.peek(1)==32))uL(e),e.acceptToken(rL);else if(i==47&&e.next==42){e.advance();for(let s=1;;){let o=e.next;if(e.next<0)break;if(e.advance(),o==42&&e.next==47){if(s--,e.advance(),!s)break}else o==47&&e.next==42&&(s++,e.advance())}e.acceptToken(VK)}else if((i==101||i==69)&&e.next==39)e.advance(),jr(e,39,!0),e.acceptToken(no);else if((i==110||i==78)&&e.next==39&&n.charSetCasts)e.advance(),jr(e,39,n.backslashEscapes),e.acceptToken(no);else if(i==95&&n.charSetCasts)for(let s=0;;s++){if(e.next==39&&s>1){e.advance(),jr(e,39,n.backslashEscapes),e.acceptToken(no);break}if(!wS(e.next))break;e.advance()}else if(n.plsqlQuotingMechanism&&(i==113||i==81)&&e.next==39&&e.peek(1)>0&&!Kr(e.peek(1),yA)){let s=e.peek(1);e.advance(2),a3(e,s),e.acceptToken(no)}else if(Kr(i,n.identifierQuotes)){const s=i==91?93:i;jr(e,s,!1),e.acceptToken(i3)}else if(i==40)e.acceptToken(KK);else if(i==41)e.acceptToken(zK);else if(i==123)e.acceptToken($K);else if(i==125)e.acceptToken(jK);else if(i==91)e.acceptToken(JK);else if(i==93)e.acceptToken(qK);else if(i==59)e.acceptToken(QK);else if(n.unquotedBitLiterals&&i==48&&e.next==98)e.advance(),aL(e),e.acceptToken(oL);else if((i==98||i==66)&&(e.next==39||e.next==34)){const s=e.next;e.advance(),n.treatBitsAsBytes?(jr(e,s,n.backslashEscapes),e.acceptToken(s3)):(aL(e,s),e.acceptToken(oL))}else if(i==48&&(e.next==120||e.next==88)||(i==120||i==88)&&e.next==39){let s=e.next==39;for(e.advance();l3(e.next);)e.advance();s&&e.next==39&&e.advance(),e.acceptToken(PA)}else if(i==46&&e.next>=48&&e.next<=57)cL(e,!0),e.acceptToken(PA);else if(i==46)e.acceptToken(ZK);else if(i>=48&&i<=57)cL(e,!1),e.acceptToken(PA);else if(Kr(i,n.operatorChars)){for(;Kr(e.next,n.operatorChars);)e.advance();e.acceptToken(e3)}else if(Kr(i,n.specialVar))e.next==i&&e.advance(),c3(e),e.acceptToken(n3);else if(i==58||i==44)e.acceptToken(t3);else if(wS(i)){let s=FS(e,String.fromCharCode(i));e.acceptToken(e.next==46||e.peek(-s.length-1)==46?lL:(t=n.words[s.toLowerCase()])!==null&&t!==void 0?t:lL)}})}const XP=WP(YS),E3=ic.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,XP],topRules:{Script:[0,25]},tokenPrec:0});function kS(n){let e=n.cursor().moveTo(n.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function Rc(n,e){let t=n.sliceString(e.from,e.to),i=/^([`'"\[])(.*)([`'"\]])$/.exec(t);return i?i[2]:t}function mf(n){return n&&(n.name=="Identifier"||n.name=="QuotedIdentifier")}function f3(n,e){if(e.name=="CompositeIdentifier"){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)mf(i)&&t.push(Rc(n,i));return t}return[Rc(n,e)]}function EL(n,e){for(let t=[];;){if(!e||e.name!=".")return t;let i=kS(e);if(!mf(i))return t;t.unshift(Rc(n,i)),e=kS(i)}}function h3(n,e){let t=Jt(n).resolveInner(e,-1),i=d3(n.doc,t);return t.name=="Identifier"||t.name=="QuotedIdentifier"||t.name=="Keyword"?{from:t.from,quoted:t.name=="QuotedIdentifier"?n.doc.sliceString(t.from,t.from+1):null,parents:EL(n.doc,kS(t)),aliases:i}:t.name=="."?{from:e,quoted:null,parents:EL(n.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}const T3=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function d3(n,e){let t;for(let s=e;!t;s=s.parent){if(!s)return null;s.name=="Statement"&&(t=s)}let i=null;for(let s=t.firstChild,o=!1,a=null;s;s=s.nextSibling){let u=s.name=="Keyword"?n.sliceString(s.from,s.to).toLowerCase():null,E=null;if(!o)o=u=="from";else if(u=="as"&&a&&mf(s.nextSibling))E=Rc(n,s.nextSibling);else{if(u&&T3.has(u))break;a&&mf(s)&&(E=Rc(n,s))}E&&(i||(i=Object.create(null)),i[E]=f3(n,a)),a=/Identifier$/.test(s.name)?s:null}return i}function A3(n,e,t){return t.map(i=>({...i,label:i.label[0]==n?i.label:n+i.label+e,apply:void 0}))}const S3=/^\w*$/,R3=/^[`'"\[]?\w*[`'"\]]?$/;function fL(n){return n.self&&typeof n.self.label=="string"}class $R{constructor(e,t){this.idQuote=e,this.idCaseInsensitive=t,this.list=[],this.children=void 0}child(e){let t=this.children||(this.children=Object.create(null)),i=t[e];return i||(e&&!this.list.some(s=>s.label==e)&&this.list.push(hL(e,"type",this.idQuote,this.idCaseInsensitive)),t[e]=new $R(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(i=>i.label==e.label);t>-1?this.list[t]=e:this.list.push(e)}addCompletions(e){for(let t of e)this.addCompletion(typeof t=="string"?hL(t,"property",this.idQuote,this.idCaseInsensitive):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):fL(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let i=e[t],s=null,o=t.replace(/\\?\./g,u=>u=="."?"\0":u).split("\0"),a=this;fL(i)&&(s=i.self,i=i.children);for(let u=0;u<o.length;u++)s&&u==o.length-1&&a.addCompletion(s),a=a.child(o[u].replace(/\\\./g,"."));a.addNamespace(i)}}}function hL(n,e,t,i){return new RegExp("^[a-z_][a-z_\\d]*$",i?"i":"").test(n)?{label:n,type:e}:{label:n,type:e,apply:t+n+KP(t)}}function KP(n){return n==="["?"]":n}function O3(n,e,t,i,s,o){var a;let u=((a=o==null?void 0:o.spec.identifierQuotes)===null||a===void 0?void 0:a[0])||'"',E=new $R(u,!!(o!=null&&o.spec.caseInsensitiveIdentifiers)),h=s?E.child(s):null;return E.addNamespace(n),e&&(h||E).addCompletions(e),t&&E.addCompletions(t),h&&E.addCompletions(h.list),i&&E.addCompletions((h||E).child(i).list),T=>{let{parents:A,from:R,quoted:O,empty:N,aliases:m}=h3(T.state,T.pos);if(N&&!T.explicit)return null;m&&A.length==1&&(A=m[A[0]]||A);let C=E;for(let D of A){for(;!C.children||!C.children[D];)if(C==E&&h)C=h;else if(C==h&&i)C=C.child(i);else return null;let _=C.maybeChild(D);if(!_)return null;C=_}let L=C.list;if(C==E&&m&&(L=L.concat(Object.keys(m).map(D=>({label:D,type:"constant"})))),O){let D=O[0],_=KP(D),v=T.state.sliceDoc(T.pos,T.pos+1)==_;return{from:R,to:v?T.pos+1:void 0,options:A3(D,_,L),validFor:R3}}else return{from:R,options:L,validFor:S3}}}function N3(n){return n==FP?"type":n==wP?"keyword":"variable"}function m3(n,e,t){let i=Object.keys(n).map(s=>t(e?s.toUpperCase():s,N3(n[s])));return iK(["QuotedIdentifier","String","LineComment","BlockComment","."],PP(i))}let I3=E3.configure({props:[FR.add({Statement:xS()}),kR.add({Statement(n,e){return{from:Math.min(n.from+100,e.doc.lineAt(n.from).to),to:n.to}},BlockComment(n){return{from:n.from+2,to:n.to-2}}}),NR({Keyword:w.keyword,Type:w.typeName,Builtin:w.standard(w.name),Bits:w.number,Bytes:w.string,Bool:w.bool,Null:w.null,Number:w.number,String:w.string,Identifier:w.name,QuotedIdentifier:w.special(w.string),SpecialVar:w.special(w.name),LineComment:w.lineComment,BlockComment:w.blockComment,Operator:w.operator,"Semi Punctuation":w.punctuation,"( )":w.paren,"{ }":w.brace,"[ ]":w.squareBracket})]});class Oc{constructor(e,t,i){this.dialect=e,this.language=t,this.spec=i}get extension(){return this.language.extension}configureLanguage(e,t){return new Oc(this.dialect,this.language.configure(e,t),this.spec)}static define(e){let t=u3(e,e.keywords,e.types,e.builtin),i=Tc.define({name:"sql",parser:I3.configure({tokenizers:[{from:XP,to:WP(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new Oc(t,i,e)}}function p3(n,e){return{label:n,type:e,boost:-1}}function C3(n,e=!1,t){return m3(n.dialect.words,e,t||p3)}function g3(n){return n.schema?O3(n.schema,n.tables,n.schemas,n.defaultTable,n.defaultSchema,n.dialect||jR):()=>null}function L3(n){return n.schema?(n.dialect||jR).language.data.of({autocomplete:g3(n)}):[]}function _3(n={}){let e=n.dialect||jR;return new AP(e.language,[L3(n),e.language.data.of({autocomplete:C3(e,n.upperCaseKeywords,n.keywordCompletion)})])}const jR=Oc.define({}),D3=Oc.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:VP+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:kP+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"});class TL{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class qr{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let s=i.facet(Nc).markerFilter;s&&(e=s(e,i));let o=e.slice().sort((O,N)=>O.from-N.from||O.to-N.to),a=new Is,u=[],E=0,h=i.doc.iter(),T=0,A=i.doc.length;for(let O=0;;){let N=O==o.length?null:o[O];if(!N&&!u.length)break;let m,C;if(u.length)m=E,C=u.reduce((_,v)=>Math.min(_,v.to),N&&N.from>m?N.from:1e8);else{if(m=N.from,m>A)break;C=N.to,u.push(N),O++}for(;O<o.length;){let _=o[O];if(_.from==m&&(_.to>_.from||_.to==m))u.push(_),O++,C=Math.min(_.to,C);else{C=Math.min(_.from,C);break}}C=Math.min(C,A);let L=!1;if(u.some(_=>_.from==m&&(_.to==C||C==A))&&(L=m==C,!L&&C-m<10)){let _=m-(T+h.value.length);_>0&&(h.next(_),T=m);for(let v=m;;){if(v>=C){L=!0;break}if(!h.lineBreak&&T+h.value.length>v)break;v=T+h.value.length,T+=h.value.length,h.next()}}let D=ZP(u);if(L)a.add(m,m,De.widget({widget:new x3(D),diagnostics:u.slice()}));else{let _=u.reduce((v,U)=>U.markClass?v+" "+U.markClass:v,"");a.add(m,C,De.mark({class:"cm-lintRange cm-lintRange-"+D+_,diagnostics:u.slice(),inclusiveEnd:u.some(v=>v.to>C)}))}if(E=C,E==A)break;for(let _=0;_<u.length;_++)u[_].to<=E&&u.splice(_--,1)}let R=a.finish();return new qr(R,t,Or(R))}}function Or(n,e=null,t=0){let i=null;return n.between(t,1e9,(s,o,{spec:a})=>{if(!(e&&a.diagnostics.indexOf(e)<0))if(!i)i=new TL(s,o,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new TL(i.from,o,i.diagnostic)}}),i}function zP(n,e){let t=e.pos,i=e.end||t,s=n.state.facet(Nc).hideOn(n,t,i);if(s!=null)return s;let o=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(a=>a.is(Jf))||n.changes.touchesRange(o.from,Math.max(o.to,i)))}function $P(n,e){return n.field(Xn,!1)?e:e.concat(xe.appendConfig.of(V3))}function M3(n,e){return{effects:$P(n,[Jf.of(e)])}}const Jf=xe.define(),JR=xe.define(),jP=xe.define(),Xn=qt.define({create(){return new qr(De.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,s=n.panel;if(n.selected){let o=e.changes.mapPos(n.selected.from,1);i=Or(t,n.selected.diagnostic,o)||Or(t,null,o)}!t.size&&s&&e.state.facet(Nc).autoPanel&&(s=null),n=new qr(t,s,i)}for(let t of e.effects)if(t.is(Jf)){let i=e.state.facet(Nc).autoPanel?t.value.length?mc.open:null:n.panel;n=qr.init(t.value,i,e.state)}else t.is(JR)?n=new qr(n.diagnostics,t.value?mc.open:null,n.selected):t.is(jP)&&(n=new qr(n.diagnostics,n.panel,t.value));return n},provide:n=>[hc.from(n,e=>e.panel),Ae.decorations.from(n,e=>e.diagnostics)]}),P3=De.mark({class:"cm-lintRange cm-lintRange-active"});function y3(n,e,t){let{diagnostics:i}=n.state.field(Xn),s,o=-1,a=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(E,h,{spec:T})=>{if(e>=E&&e<=h&&(E==h||(e>E||t>0)&&(e<h||t<0)))return s=T.diagnostics,o=E,a=h,!1});let u=n.state.facet(Nc).tooltipFilter;return s&&u&&(s=u(s,n.state)),s?{pos:o,end:a,above:!0,create(){return{dom:JP(n,s)}}}:null}function JP(n,e){return lt("ul",{class:"cm-tooltip-lint"},e.map(t=>QP(n,t,!1)))}const v3=n=>{let e=n.state.field(Xn,!1);(!e||!e.panel)&&n.dispatch({effects:$P(n.state,[JR.of(!0)])});let t=HR(n,mc.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},dL=n=>{let e=n.state.field(Xn,!1);return!e||!e.panel?!1:(n.dispatch({effects:JR.of(!1)}),!0)},U3=n=>{let e=n.state.field(Xn,!1);if(!e)return!1;let t=n.state.selection.main,i=Or(e.diagnostics,null,t.to+1);return!i&&(i=Or(e.diagnostics,null,0),!i||i.from==t.from&&i.to==t.to)?!1:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),zW(n,i.from,1,{tooltip:ny,until:s=>s.docChanged||s.newSelection.main.head<i.from||s.newSelection.main.head>i.to}),!0)},b3=[{key:"Mod-Shift-m",run:v3,preventDefault:!0},{key:"F8",run:U3}],Nc=Re.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...mi(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:AL,tooltipFilter:AL,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,s,o)=>e(i,s,o)||t(i,s,o):e:t,autoPanel:(e,t)=>e||t})}}});function AL(n,e){return n?e?(t,i)=>e(n(t,i),i):n:e}function qP(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;i<t.length;i++){let s=t[i];if(/[a-zA-Z]/.test(s)&&!e.some(o=>o.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function QP(n,e,t){var i;let s=t?qP(e.actions):[];return lt("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},lt("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((o,a)=>{let u=!1,E=O=>{if(O.preventDefault(),u)return;u=!0;let N=Or(n.state.field(Xn).diagnostics,e);N&&o.apply(n,N.from,N.to)},{name:h}=o,T=s[a]?h.indexOf(s[a]):-1,A=T<0?h:[h.slice(0,T),lt("u",h.slice(T,T+1)),h.slice(T+1)],R=o.markClass?" "+o.markClass:"";return lt("button",{type:"button",class:"cm-diagnosticAction"+R,onclick:E,onmousedown:E,"aria-label":` Action: ${h}${T<0?"":` (access key "${s[a]})"`}.`},A)}),e.source&<("div",{class:"cm-diagnosticSource"},e.source))}class x3 extends Ji{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return lt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class SL{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=QP(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class mc{constructor(e){this.view=e,this.items=[];let t=s=>{if(!(s.ctrlKey||s.altKey||s.metaKey)){if(s.keyCode==27)dL(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:o}=this.items[this.selectedIndex],a=qP(o.actions);for(let u=0;u<a.length;u++)if(a[u].toUpperCase().charCodeAt(0)==s.keyCode){let E=Or(this.view.state.field(Xn).diagnostics,o);E&&o.actions[u].apply(e,E.from,E.to)}}else return;s.preventDefault()}},i=s=>{for(let o=0;o<this.items.length;o++)this.items[o].dom.contains(s.target)&&this.moveSelection(o)};this.list=lt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=lt("div",{class:"cm-panel-lint"},this.list,lt("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>dL(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Xn).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Xn),i=0,s=!1,o=null,a=new Set;for(e.between(0,this.view.state.doc.length,(u,E,{spec:h})=>{for(let T of h.diagnostics){if(a.has(T))continue;a.add(T);let A=-1,R;for(let O=i;O<this.items.length;O++)if(this.items[O].diagnostic==T){A=O;break}A<0?(R=new SL(this.view,T),this.items.splice(i,0,R),s=!0):(R=this.items[A],A>i&&(this.items.splice(i,A-i),s=!0)),t&&R.diagnostic==t.diagnostic?R.dom.hasAttribute("aria-selected")||(R.dom.setAttribute("aria-selected","true"),o=R):R.dom.hasAttribute("aria-selected")&&R.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new SL(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:u,panel:E})=>{let h=E.height/this.list.offsetHeight;u.top<E.top?this.list.scrollTop-=(E.top-u.top)/h:u.bottom>E.bottom&&(this.list.scrollTop+=(u.bottom-E.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Xn),i=Or(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:jP.of(i)})}static open(e){return new mc(e)}}function WE(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function gE(n){return WE(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const B3=Ae.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:gE("#f11")},".cm-lintRange-warning":{backgroundImage:gE("orange")},".cm-lintRange-info":{backgroundImage:gE("#999")},".cm-lintRange-hint":{backgroundImage:gE("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function G3(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function ZP(n){let e="hint",t=1;for(let i of n){let s=G3(i.severity);s>t&&(t=s,e=i.severity)}return e}class ey extends zi{constructor(e){super(),this.diagnostics=e,this.severity=ZP(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let i=this.diagnostics,s=e.state.facet(qf).tooltipFilter;return s&&(i=s(i,e.state)),i.length&&(t.onmouseover=()=>w3(e,t,i)),t}}function H3(n,e){let t=i=>{let s=e.getBoundingClientRect();if(!(i.clientX>s.left-10&&i.clientX<s.right+10&&i.clientY>s.top-10&&i.clientY<s.bottom+10)){for(let o=i.target;o;o=o.parentNode)if(o.nodeType==1&&o.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",t),n.state.field(ty)&&n.dispatch({effects:qR.of(null)})}};window.addEventListener("mousemove",t)}function w3(n,e,t){function i(){let a=n.elementAtHeight(e.getBoundingClientRect().top+5-n.documentTop);n.coordsAtPos(a.from)&&n.dispatch({effects:qR.of({pos:a.from,above:!1,clip:!1,create(){return{dom:JP(n,t),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,H3(n,e)}let{hoverTime:s}=n.state.facet(qf),o=setTimeout(i,s);e.onmouseout=()=>{clearTimeout(o),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(o),o=setTimeout(i,s)}}function F3(n,e){let t=Object.create(null);for(let s of e){let o=n.lineAt(s.from);(t[o.from]||(t[o.from]=[])).push(s)}let i=[];for(let s in t)i.push(new ey(t[s]).range(+s));return Fe.of(i,!0)}const Y3=fP({class:"cm-gutter-lint",markers:n=>n.state.field(VS),widgetMarker:(n,e,t)=>{let i=[];return n.state.field(VS).between(t.from,t.to,(s,o,a)=>{s>t.from&&s<t.to&&i.push(...a.diagnostics)}),i.length?new ey(i):null}}),VS=qt.define({create(){return Fe.empty},update(n,e){n=n.map(e.changes);let t=e.state.facet(qf).markerFilter;for(let i of e.effects)if(i.is(Jf)){let s=i.value;t&&(s=t(s||[],e.state)),n=F3(e.state.doc,s.slice(0))}return n}}),qR=xe.define(),ty=qt.define({create(){return null},update(n,e){return n&&e.docChanged&&(n=zP(e,n)?null:{...n,pos:e.changes.mapPos(n.pos)}),e.effects.reduce((t,i)=>i.is(qR)?i.value:t,n)},provide:n=>Wf.from(n)}),k3=Ae.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:WE('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:WE('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:WE('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),ny=KW(y3,{hideOn:zP}),V3=[Xn,Ae.decorations.compute([Xn],n=>{let{selected:e,panel:t}=n.field(Xn);return!e||!t||e.from==e.to?De.none:De.set([P3.range(e.from,e.to)])}),ny,B3],qf=Re.define({combine(n){return mi(n,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function W3(n={}){return[qf.of(n),VS,Y3,k3,ty]}function WS(){return WS=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n},WS.apply(null,arguments)}function X3(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.indexOf(i)!==-1)continue;t[i]=n[i]}return t}const K3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=ZR(n.state,t.from);return i.line?z3(n):i.block?j3(n):!1};function QR(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(i(t.update(s)),!0):!1}}const z3=QR(Q3,0),$3=QR(iy,0),j3=QR((n,e)=>iy(n,e,q3(e)),0);function ZR(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Ga=50;function J3(n,{open:e,close:t},i,s){let o=n.sliceDoc(i-Ga,i),a=n.sliceDoc(s,s+Ga),u=/\s*$/.exec(o)[0].length,E=/^\s*/.exec(a)[0].length,h=o.length-u;if(o.slice(h-e.length,h)==e&&a.slice(E,E+t.length)==t)return{open:{pos:i-u,margin:u&&1},close:{pos:s+E,margin:E&&1}};let T,A;s-i<=2*Ga?T=A=n.sliceDoc(i,s):(T=n.sliceDoc(i,i+Ga),A=n.sliceDoc(s-Ga,s));let R=/^\s*/.exec(T)[0].length,O=/\s*$/.exec(A)[0].length,N=A.length-O-t.length;return T.slice(R,R+e.length)==e&&A.slice(N,N+t.length)==t?{open:{pos:i+R+e.length,margin:/\s/.test(T.charAt(R+e.length))?1:0},close:{pos:s-O-t.length,margin:/\s/.test(A.charAt(N-1))?1:0}}:null}function q3(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),s=t.to<=i.to?i:n.doc.lineAt(t.to);s.from>i.from&&s.from==t.to&&(s=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let o=e.length-1;o>=0&&e[o].to>i.from?e[o].to=s.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:s.to})}return e}function iy(n,e,t=e.selection.ranges){let i=t.map(o=>ZR(e,o.from).block);if(!i.every(o=>o))return null;let s=t.map((o,a)=>J3(e,i[a],o.from,o.to));if(n!=2&&!s.every(o=>o))return{changes:e.changes(t.map((o,a)=>s[a]?[]:[{from:o.from,insert:i[a].open+" "},{from:o.to,insert:" "+i[a].close}]))};if(n!=1&&s.some(o=>o)){let o=[];for(let a=0,u;a<s.length;a++)if(u=s[a]){let E=i[a],{open:h,close:T}=u;o.push({from:h.pos-E.open.length,to:h.pos+h.margin},{from:T.pos-T.margin,to:T.pos+E.close.length})}return{changes:o}}return null}function Q3(n,e,t=e.selection.ranges){let i=[],s=-1;e:for(let{from:o,to:a}of t){let u=i.length,E=1e9,h;for(let T=o;T<=a;){let A=e.doc.lineAt(T);if(h==null&&(h=ZR(e,A.from).line,!h))continue e;if(A.from>s&&(o==a||a>A.from)){s=A.from;let R=/^\s*/.exec(A.text)[0].length,O=R==A.length,N=A.text.slice(R,R+h.length)==h?R:-1;R<A.text.length&&R<E&&(E=R),i.push({line:A,comment:N,token:h,indent:R,empty:O,single:!1})}T=A.to+1}if(E<1e9)for(let T=u;T<i.length;T++)i[T].indent<i[T].line.text.length&&(i[T].indent=E);i.length==u+1&&(i[u].single=!0)}if(n!=2&&i.some(o=>o.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:u,token:E,indent:h,empty:T,single:A}of i)(A||!T)&&o.push({from:u.from+h,insert:E+" "});let a=e.changes(o);return{changes:a,selection:e.selection.map(a,1)}}else if(n!=1&&i.some(o=>o.comment>=0)){let o=[];for(let{line:a,comment:u,token:E}of i)if(u>=0){let h=a.from+u,T=h+E.length;a.text[T-a.from]==" "&&T++,o.push({from:h,to:T})}return{changes:o}}return null}const XS=ji.define(),Z3=ji.define(),e4=Re.define(),sy=Re.define({combine(n){return mi(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,s)=>e(i,s)||t(i,s)})}}),ry=qt.define({create(){return Wi.empty},update(n,e){let t=e.state.facet(sy),i=e.annotation(XS);if(i){let E=Mn.fromTransaction(e,i.selection),h=i.side,T=h==0?n.undone:n.done;return E?T=If(T,T.length,t.minDepth,E):T=ay(T,e.startState.selection),new Wi(h==0?i.rest:T,h==0?T:i.rest)}let s=e.annotation(Z3);if((s=="full"||s=="before")&&(n=n.isolate()),e.annotation(Yt.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let o=Mn.fromTransaction(e),a=e.annotation(Yt.time),u=e.annotation(Yt.userEvent);return o?n=n.addChanges(o,a,u,t,e):e.selection&&(n=n.addSelection(e.startState.selection,a,u,t.newGroupDelay)),(s=="full"||s=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Wi(n.done.map(Mn.fromJSON),n.undone.map(Mn.fromJSON))}});function t4(n={}){return[ry,sy.of(n),Ae.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?ly:e.inputType=="historyRedo"?KS:null;return i?(e.preventDefault(),i(t)):!1}})]}function Qf(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let s=t.field(ry,!1);if(!s)return!1;let o=s.pop(n,t,e);return o?(i(o),!0):!1}}const ly=Qf(0,!1),KS=Qf(1,!1),n4=Qf(0,!0),i4=Qf(1,!0);class Mn{constructor(e,t,i,s,o){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=s,this.selectionsAfter=o}setSelAfter(e){return new Mn(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new Mn(e.changes&&Ft.fromJSON(e.changes),[],e.mapped&&Ki.fromJSON(e.mapped),e.startSelection&&q.fromJSON(e.startSelection),e.selectionsAfter.map(q.fromJSON))}static fromTransaction(e,t){let i=oi;for(let s of e.startState.facet(e4)){let o=s(e);o.length&&(i=i.concat(o))}return!i.length&&e.changes.empty?null:new Mn(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,oi)}static selection(e){return new Mn(void 0,oi,void 0,void 0,e)}}function If(n,e,t,i){let s=e+1>t+20?e-t-1:0,o=n.slice(s,e);return o.push(i),o}function s4(n,e){let t=[],i=!1;return n.iterChangedRanges((s,o)=>t.push(s,o)),e.iterChangedRanges((s,o,a,u)=>{for(let E=0;E<t.length;){let h=t[E++],T=t[E++];u>=h&&a<=T&&(i=!0)}}),i}function r4(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function oy(n,e){return n.length?e.length?n.concat(e):n:e}const oi=[],l4=200;function ay(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-l4));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),If(n,n.length-1,1e9,t.setSelAfter(i)))}else return[Mn.selection([e])]}function o4(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function vA(n,e){if(!n.length)return n;let t=n.length,i=oi;for(;t;){let s=a4(n[t-1],e,i);if(s.changes&&!s.changes.empty||s.effects.length){let o=n.slice(0,t);return o[t-1]=s,o}else e=s.mapped,t--,i=s.selectionsAfter}return i.length?[Mn.selection(i)]:oi}function a4(n,e,t){let i=oy(n.selectionsAfter.length?n.selectionsAfter.map(u=>u.map(e)):oi,t);if(!n.changes)return Mn.selection(i);let s=n.changes.map(e),o=e.mapDesc(n.changes,!0),a=n.mapped?n.mapped.composeDesc(o):o;return new Mn(s,xe.mapEffects(n.effects,e),a,n.startSelection.map(o),i)}const c4=/^(input\.type|delete)($|\.)/;class Wi{constructor(e,t,i=0,s=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=s}isolate(){return this.prevTime?new Wi(this.done,this.undone):this}addChanges(e,t,i,s,o){let a=this.done,u=a[a.length-1];return u&&u.changes&&!u.changes.empty&&e.changes&&(!i||c4.test(i))&&(!u.selectionsAfter.length&&t-this.prevTime<s.newGroupDelay&&s.joinToEvent(o,s4(u.changes,e.changes))||i=="input.type.compose")?a=If(a,a.length-1,s.minDepth,new Mn(e.changes.compose(u.changes),oy(xe.mapEffects(e.effects,u.changes),u.effects),u.mapped,u.startSelection,oi)):a=If(a,a.length,s.minDepth,e),new Wi(a,oi,t,i)}addSelection(e,t,i,s){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:oi;return o.length>0&&t-this.prevTime<s&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&r4(o[o.length-1],e)?this:new Wi(ay(this.done,e),this.undone,t,i)}addMapping(e){return new Wi(vA(this.done,e),vA(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let s=e==0?this.done:this.undone;if(s.length==0)return null;let o=s[s.length-1],a=o.selectionsAfter[0]||(o.startSelection?o.startSelection.map(o.changes.invertedDesc,1):t.selection);if(i&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:XS.of({side:e,rest:o4(s),selection:a}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let u=s.length==1?oi:s.slice(0,s.length-1);return o.mapped&&(u=vA(u,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:XS.of({side:e,rest:u,selection:a}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Wi.empty=new Wi(oi,oi);const u4=[{key:"Mod-z",run:ly,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:KS,preventDefault:!0},{linux:"Ctrl-Shift-z",run:KS,preventDefault:!0},{key:"Mod-u",run:n4,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:i4,preventDefault:!0}];function xo(n,e){return q.create(n.ranges.map(e),n.mainIndex)}function Ii(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function pi({state:n,dispatch:e},t){let i=xo(n.selection,t);return i.eq(n.selection,!0)?!1:(e(Ii(n,i)),!0)}function Zf(n,e){return q.cursor(e?n.to:n.from)}function cy(n,e){return pi(n,t=>t.empty?n.moveByChar(t,e):Zf(t,e))}function En(n){return n.textDirectionAt(n.state.selection.main.head)==ct.LTR}const uy=n=>cy(n,!En(n)),Ey=n=>cy(n,En(n));function fy(n,e){return pi(n,t=>t.empty?n.moveByGroup(t,e):Zf(t,e))}const E4=n=>fy(n,!En(n)),f4=n=>fy(n,En(n));function h4(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function eh(n,e,t){let i=Jt(n).resolveInner(e.head),s=t?Ye.closedBy:Ye.openedBy;for(let E=e.head;;){let h=t?i.childAfter(E):i.childBefore(E);if(!h)break;h4(n,h,s)?i=h:E=t?h.to:h.from}let o=i.type.prop(s),a,u;return o&&(a=t?Vi(n,i.from,1):Vi(n,i.to,-1))&&a.matched?u=t?a.end.to:a.end.from:u=t?i.to:i.from,q.cursor(u,t?-1:1)}const T4=n=>pi(n,e=>eh(n.state,e,!En(n))),d4=n=>pi(n,e=>eh(n.state,e,En(n)));function hy(n,e){return pi(n,t=>{if(!t.empty)return Zf(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}const Ty=n=>hy(n,!1),dy=n=>hy(n,!0);function Ay(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,i=0,s;if(e){for(let o of n.state.facet(Ae.scrollMargins)){let a=o(n);a!=null&&a.top&&(t=Math.max(a==null?void 0:a.top,t)),a!=null&&a.bottom&&(i=Math.max(a==null?void 0:a.bottom,i))}s=n.scrollDOM.clientHeight-t-i}else s=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:i,selfScroll:e,height:Math.max(n.defaultLineHeight,s-5)}}function Sy(n,e){let t=Ay(n),{state:i}=n,s=xo(i.selection,a=>a.empty?n.moveVertically(a,e,t.height):Zf(a,e));if(s.eq(i.selection))return!1;let o;if(t.selfScroll){let a=n.coordsAtPos(i.selection.main.head),u=n.scrollDOM.getBoundingClientRect(),E=u.top+t.marginTop,h=u.bottom-t.marginBottom;a&&a.top>E&&a.bottom<h&&(o=Ae.scrollIntoView(s.main.head,{y:"start",yMargin:a.top-E}))}return n.dispatch(Ii(i,s),{effects:o}),!0}const RL=n=>Sy(n,!1),zS=n=>Sy(n,!0);function pr(n,e,t){let i=n.lineBlockAt(e.head),s=n.moveToLineBoundary(e,t);if(s.head==e.head&&s.head!=(t?i.to:i.from)&&(s=n.moveToLineBoundary(e,t,!1)),!t&&s.head==i.from&&i.length){let o=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;o&&e.head!=i.from+o&&(s=q.cursor(i.from+o))}return s}const A4=n=>pi(n,e=>pr(n,e,!0)),S4=n=>pi(n,e=>pr(n,e,!1)),R4=n=>pi(n,e=>pr(n,e,!En(n))),O4=n=>pi(n,e=>pr(n,e,En(n))),N4=n=>pi(n,e=>q.cursor(n.lineBlockAt(e.head).from,1)),m4=n=>pi(n,e=>q.cursor(n.lineBlockAt(e.head).to,-1));function I4(n,e,t){let i=!1,s=xo(n.selection,o=>{let a=Vi(n,o.head,-1)||Vi(n,o.head,1)||o.head>0&&Vi(n,o.head-1,1)||o.head<n.doc.length&&Vi(n,o.head+1,-1);if(!a||!a.end)return o;i=!0;let u=a.start.from==o.head?a.end.to:a.end.from;return q.cursor(u)});return i?(e(Ii(n,s)),!0):!1}const p4=({state:n,dispatch:e})=>I4(n,e);function ci(n,e,t){let i=xo(n.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=e&&(s=q.range(s.head,s.anchor));let o=t(s);return q.range(s.anchor,o.head,o.goalColumn,o.bidiLevel||void 0,o.assoc)});return i.eq(n.state.selection)?!1:(n.dispatch(Ii(n.state,i)),!0)}function Ry(n,e){return ci(n,e,t=>n.moveByChar(t,e))}const Oy=n=>Ry(n,!En(n)),Ny=n=>Ry(n,En(n));function my(n,e){return ci(n,e,t=>n.moveByGroup(t,e))}const C4=n=>my(n,!En(n)),g4=n=>my(n,En(n)),L4=n=>{let e=!En(n);return ci(n,e,t=>eh(n.state,t,e))},_4=n=>{let e=En(n);return ci(n,e,t=>eh(n.state,t,e))};function Iy(n,e){return ci(n,e,t=>n.moveVertically(t,e))}const py=n=>Iy(n,!1),Cy=n=>Iy(n,!0);function gy(n,e){return ci(n,e,t=>n.moveVertically(t,e,Ay(n).height))}const OL=n=>gy(n,!1),NL=n=>gy(n,!0),D4=n=>ci(n,!0,e=>pr(n,e,!0)),M4=n=>ci(n,!1,e=>pr(n,e,!1)),P4=n=>{let e=!En(n);return ci(n,e,t=>pr(n,t,e))},y4=n=>{let e=En(n);return ci(n,e,t=>pr(n,t,e))},v4=n=>ci(n,!1,e=>q.cursor(n.lineBlockAt(e.head).from)),U4=n=>ci(n,!0,e=>q.cursor(n.lineBlockAt(e.head).to)),mL=({state:n,dispatch:e})=>(e(Ii(n,{anchor:0})),!0),IL=({state:n,dispatch:e})=>(e(Ii(n,{anchor:n.doc.length})),!0),pL=({state:n,dispatch:e})=>(e(Ii(n,{anchor:n.selection.main.anchor,head:0})),!0),CL=({state:n,dispatch:e})=>(e(Ii(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),b4=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),x4=({state:n,dispatch:e})=>{let t=th(n).map(({from:i,to:s})=>q.range(i,Math.min(s+1,n.doc.length)));return e(n.update({selection:q.create(t),userEvent:"select"})),!0},B4=({state:n,dispatch:e})=>{let t=xo(n.selection,i=>{let s=Jt(n),o=s.resolveStack(i.from,1);if(i.empty){let a=s.resolveStack(i.from,-1);a.node.from>=o.node.from&&a.node.to<=o.node.to&&(o=a)}for(let a=o;a;a=a.next){let{node:u}=a;if((u.from<i.from&&u.to>=i.to||u.to>i.to&&u.from<=i.from)&&a.next)return q.range(u.to,u.from)}return i});return t.eq(n.selection)?!1:(e(Ii(n,t)),!0)};function Ly(n,e){let{state:t}=n,i=t.selection,s=t.selection.ranges.slice();for(let o of t.selection.ranges){let a=t.doc.lineAt(o.head);if(e?a.to<n.state.doc.length:a.from>0)for(let u=o;;){let E=n.moveVertically(u,e);if(E.head<a.from||E.head>a.to){s.some(h=>h.head==E.head)||s.push(E);break}else{if(E.head==u.head)break;u=E}}}return s.length==i.ranges.length?!1:(n.dispatch(Ii(t,q.create(s,s.length-1))),!0)}const G4=n=>Ly(n,!1),H4=n=>Ly(n,!0),w4=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=q.create([t.main]):t.main.empty||(i=q.create([q.cursor(t.main.head)])),i?(e(Ii(n,i)),!0):!1};function yc(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,s=i.changeByRange(o=>{let{from:a,to:u}=o;if(a==u){let E=e(o);E<a?(t="delete.backward",E=LE(n,E,!1)):E>a&&(t="delete.forward",E=LE(n,E,!0)),a=Math.min(a,E),u=Math.max(u,E)}else a=LE(n,a,!1),u=LE(n,u,!0);return a==u?{range:o}:{changes:{from:a,to:u},range:q.cursor(a,a<o.head?-1:1)}});return s.changes.empty?!1:(n.dispatch(i.update(s,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?Ae.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function LE(n,e,t){if(n instanceof Ae)for(let i of n.state.facet(Ae.atomicRanges).map(s=>s(n)))i.between(e,e,(s,o)=>{s<e&&o>e&&(e=t?o:s)});return e}const _y=(n,e,t)=>yc(n,i=>{let s=i.from,{state:o}=n,a=o.doc.lineAt(s),u,E;if(t&&!e&&s>a.from&&s<a.from+200&&!/[^ \t]/.test(u=a.text.slice(0,s-a.from))){if(u[u.length-1]==" ")return s-1;let h=Uo(u,o.tabSize),T=h%Af(o)||Af(o);for(let A=0;A<T&&u[u.length-1-A]==" ";A++)s--;E=s}else E=zt(a.text,s-a.from,e,e)+a.from,E==s&&a.number!=(e?o.doc.lines:1)?E+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(a.text.slice(E-a.from,s-a.from))&&(E=zt(a.text,E-a.from,!1,!1)+a.from);return E}),$S=n=>_y(n,!1,!0),Dy=n=>_y(n,!0,!1),My=(n,e)=>yc(n,t=>{let i=t.head,{state:s}=n,o=s.doc.lineAt(i),a=s.charCategorizer(i);for(let u=null;;){if(i==(e?o.to:o.from)){i==t.head&&o.number!=(e?s.doc.lines:1)&&(i+=e?1:-1);break}let E=zt(o.text,i-o.from,e)+o.from,h=o.text.slice(Math.min(i,E)-o.from,Math.max(i,E)-o.from),T=a(h);if(u!=null&&T!=u)break;(h!=" "||i!=t.head)&&(u=T),i=E}return i}),Py=n=>My(n,!1),F4=n=>My(n,!0),Y4=n=>yc(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),k4=n=>yc(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),V4=n=>yc(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),W4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:je.of(["",""])},range:q.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},X4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let s=i.from,o=n.doc.lineAt(s),a=s==o.from?s-1:zt(o.text,s-o.from,!1)+o.from,u=s==o.to?s+1:zt(o.text,s-o.from,!0)+o.from;return{changes:{from:a,to:u,insert:n.doc.slice(s,u).append(n.doc.slice(a,s))},range:q.cursor(u)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function th(n){let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.from),o=n.doc.lineAt(i.to);if(!i.empty&&i.to==o.from&&(o=n.doc.lineAt(i.to-1)),t>=s.number){let a=e[e.length-1];a.to=o.to,a.ranges.push(i)}else e.push({from:s.from,to:o.to,ranges:[i]});t=o.number+1}return e}function yy(n,e,t){if(n.readOnly)return!1;let i=[],s=[];for(let o of th(n)){if(t?o.to==n.doc.length:o.from==0)continue;let a=n.doc.lineAt(t?o.to+1:o.from-1),u=a.length+1;if(t){i.push({from:o.to,to:a.to},{from:o.from,insert:a.text+n.lineBreak});for(let E of o.ranges)s.push(q.range(Math.min(n.doc.length,E.anchor+u),Math.min(n.doc.length,E.head+u)))}else{i.push({from:a.from,to:o.from},{from:o.to,insert:n.lineBreak+a.text});for(let E of o.ranges)s.push(q.range(E.anchor-u,E.head-u))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:q.create(s,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const K4=({state:n,dispatch:e})=>yy(n,e,!1),z4=({state:n,dispatch:e})=>yy(n,e,!0);function vy(n,e,t){if(n.readOnly)return!1;let i=[];for(let o of th(n))t?i.push({from:o.from,insert:n.doc.slice(o.from,o.to)+n.lineBreak}):i.push({from:o.to,insert:n.lineBreak+n.doc.slice(o.from,o.to)});let s=n.changes(i);return e(n.update({changes:s,selection:n.selection.map(s,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const $4=({state:n,dispatch:e})=>vy(n,e,!1),j4=({state:n,dispatch:e})=>vy(n,e,!0),J4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(th(e).map(({from:s,to:o})=>(s>0?s--:o<e.doc.length&&o++,{from:s,to:o}))),i=xo(e.selection,s=>{let o;if(n.lineWrapping){let a=n.lineBlockAt(s.head),u=n.coordsAtPos(s.head,s.assoc||1);u&&(o=a.bottom+n.documentTop-u.bottom+n.defaultLineHeight/2)}return n.moveVertically(s,!0,o)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function q4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Jt(n).resolveInner(e),i=t.childBefore(e),s=t.childAfter(e),o;return i&&s&&i.to<=e&&s.from>=e&&(o=i.type.prop(Ye.closedBy))&&o.indexOf(s.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(s.from).from&&!/\S/.test(n.sliceDoc(i.to,s.from))?{from:i.to,to:s.from}:null}const gL=Uy(!1),Q4=Uy(!0);function Uy(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(s=>{let{from:o,to:a}=s,u=e.doc.lineAt(o),E=!n&&o==a&&q4(e,o);n&&(o=a=(a<=u.to?u:e.doc.lineAt(a)).to);let h=new zf(e,{simulateBreak:o,simulateDoubleBreak:!!E}),T=wR(h,o);for(T==null&&(T=Uo(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));a<u.to&&/\s/.test(u.text[a-u.from]);)a++;E?{from:o,to:a}=E:o>u.from&&o<u.from+100&&!/\S/.test(u.text.slice(0,o))&&(o=u.from);let A=["",dc(e,T)];return E&&A.push(dc(e,h.lineIndent(u.from,-1))),{changes:{from:o,to:a,insert:je.of(A)},range:q.cursor(o+1+A[1].length)}});return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function eO(n,e){let t=-1;return n.changeByRange(i=>{let s=[];for(let a=i.from;a<=i.to;){let u=n.doc.lineAt(a);u.number>t&&(i.empty||i.to>u.from)&&(e(u,s,i),t=u.number),a=u.to+1}let o=n.changes(s);return{changes:s,range:q.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}})}const Z4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new zf(n,{overrideIndentation:o=>{let a=t[o];return a??-1}}),s=eO(n,(o,a,u)=>{let E=wR(i,o.from);if(E==null)return;/\S/.test(o.text)||(E=0);let h=/^\s*/.exec(o.text)[0],T=dc(n,E);(h!=T||u.from<o.from+h.length)&&(t[o.from]=E,a.push({from:o.from,to:o.from+h.length,insert:T}))});return s.changes.empty||e(n.update(s,{userEvent:"indent"})),!0},by=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(eO(n,(t,i)=>{i.push({from:t.from,insert:n.facet(Kf)})}),{userEvent:"input.indent"})),!0),xy=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(eO(n,(t,i)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let o=Uo(s,n.tabSize),a=0,u=dc(n,Math.max(0,o-Af(n)));for(;a<s.length&&a<u.length&&s.charCodeAt(a)==u.charCodeAt(a);)a++;i.push({from:t.from+a,to:t.from+s.length,insert:u.slice(a)})}),{userEvent:"delete.dedent"})),!0),ez=n=>(n.setTabFocusMode(),!0),tz=[{key:"Ctrl-b",run:uy,shift:Oy,preventDefault:!0},{key:"Ctrl-f",run:Ey,shift:Ny},{key:"Ctrl-p",run:Ty,shift:py},{key:"Ctrl-n",run:dy,shift:Cy},{key:"Ctrl-a",run:N4,shift:v4},{key:"Ctrl-e",run:m4,shift:U4},{key:"Ctrl-d",run:Dy},{key:"Ctrl-h",run:$S},{key:"Ctrl-k",run:Y4},{key:"Ctrl-Alt-h",run:Py},{key:"Ctrl-o",run:W4},{key:"Ctrl-t",run:X4},{key:"Ctrl-v",run:zS}],nz=[{key:"ArrowLeft",run:uy,shift:Oy,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:E4,shift:C4,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:R4,shift:P4,preventDefault:!0},{key:"ArrowRight",run:Ey,shift:Ny,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:f4,shift:g4,preventDefault:!0},{mac:"Cmd-ArrowRight",run:O4,shift:y4,preventDefault:!0},{key:"ArrowUp",run:Ty,shift:py,preventDefault:!0},{mac:"Cmd-ArrowUp",run:mL,shift:pL},{mac:"Ctrl-ArrowUp",run:RL,shift:OL},{key:"ArrowDown",run:dy,shift:Cy,preventDefault:!0},{mac:"Cmd-ArrowDown",run:IL,shift:CL},{mac:"Ctrl-ArrowDown",run:zS,shift:NL},{key:"PageUp",run:RL,shift:OL},{key:"PageDown",run:zS,shift:NL},{key:"Home",run:S4,shift:M4,preventDefault:!0},{key:"Mod-Home",run:mL,shift:pL},{key:"End",run:A4,shift:D4,preventDefault:!0},{key:"Mod-End",run:IL,shift:CL},{key:"Enter",run:gL,shift:gL},{key:"Mod-a",run:b4},{key:"Backspace",run:$S,shift:$S,preventDefault:!0},{key:"Delete",run:Dy,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Py,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:F4,preventDefault:!0},{mac:"Mod-Backspace",run:k4,preventDefault:!0},{mac:"Mod-Delete",run:V4,preventDefault:!0}].concat(tz.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),iz=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:T4,shift:L4},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:d4,shift:_4},{key:"Alt-ArrowUp",run:K4},{key:"Shift-Alt-ArrowUp",run:$4},{key:"Alt-ArrowDown",run:z4},{key:"Shift-Alt-ArrowDown",run:j4},{key:"Mod-Alt-ArrowUp",run:G4},{key:"Mod-Alt-ArrowDown",run:H4},{key:"Escape",run:w4},{key:"Mod-Enter",run:Q4},{key:"Alt-l",mac:"Ctrl-l",run:x4},{key:"Mod-i",run:B4,preventDefault:!0},{key:"Mod-[",run:xy},{key:"Mod-]",run:by},{key:"Mod-Alt-\\",run:Z4},{key:"Shift-Mod-k",run:J4},{key:"Shift-Mod-\\",run:p4},{key:"Mod-/",run:K3},{key:"Alt-A",run:$3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:ez}].concat(nz),sz={key:"Tab",run:by,shift:xy},LL=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Mo{constructor(e,t,i=0,s=e.length,o,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,s),this.bufferStart=i,this.normalize=o?u=>o(LL(u)):LL,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return gn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=mR(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=wi(e);let s=this.normalize(t);if(s.length)for(let o=0,a=i,u=!0;;o++){let E=s.charCodeAt(o),h=this.match(E,a,u,this.bufferPos+this.bufferStart,o==s.length-1);if(h)return this.value=h,this;if(o==s.length-1)break;u&&o<t.length&&t.charCodeAt(o)==E?a++:u=!1}}}match(e,t,i,s,o){let a=null;for(let u=0;u<this.matches.length;){let E=this.matches[u],h=!1;this.query.charCodeAt(E.index)==e&&(E.index==this.query.length-1?a={from:E.from,to:s,precise:o&&E.precise}:(E.index++,h=!0)),h?u++:this.matches.splice(u,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:s,precise:i&&o}:this.matches.push({from:t,index:1,precise:i})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}}typeof Symbol<"u"&&(Mo.prototype[Symbol.iterator]=function(){return this});const By={from:-1,to:-1,match:/.*/.exec(""),precise:!0},tO="gm"+(/x/.unicode==null?"":"u");class Gy{constructor(e,t,i,s=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=By,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Hy(e,t,i,s,o);this.re=new RegExp(t,tO+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=e.iter();let a=e.lineAt(s);this.curLineStart=a.from,this.matchPos=pf(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,s=i+t[0].length;if(this.matchPos=pf(this.text,s+(i==s?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<s||i>this.value.to)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const UA=new WeakMap;class No{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let s=UA.get(e);if(!s||s.from>=i||s.to<=t){let u=new No(t,e.sliceString(t,i));return UA.set(e,u),u}if(s.from==t&&s.to==i)return s;let{text:o,from:a}=s;return a>t&&(o=e.sliceString(t,a)+o,a=t),s.to<i&&(o+=e.sliceString(s.to,i)),UA.set(e,new No(a,o)),new No(t,o.slice(t-a,i-a))}}class Hy{constructor(e,t,i,s,o){this.text=e,this.to=o,this.done=!1,this.value=By,this.matchPos=pf(e,s),this.re=new RegExp(t,tO+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=No.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,s=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,precise:!0,match:t},this.matchPos=pf(this.text,s+(i==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=No.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Gy.prototype[Symbol.iterator]=Hy.prototype[Symbol.iterator]=function(){return this});function rz(n){try{return new RegExp(n,tO),!0}catch{return!1}}function pf(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e<t.to&&(i=t.text.charCodeAt(e-t.from))>=56320&&i<57344;)e++;return e}const lz=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:i,result:s}=jW(n,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:e.phrase("go")});return s.then(o=>{let a=o&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(o.elements.line.value);if(!a){n.dispatch({effects:i});return}let u=e.doc.lineAt(e.selection.main.head),[,E,h,T,A]=a,R=T?+T.slice(1):0,O=h?+h:u.number;if(h&&A){let C=O/100;E&&(C=C*(E=="-"?-1:1)+u.number/e.doc.lines),O=Math.round(e.doc.lines*C)}else h&&E&&(O=O*(E=="-"?-1:1)+u.number);let N=e.doc.line(Math.max(1,Math.min(e.doc.lines,O))),m=q.cursor(N.from+Math.max(0,Math.min(R,N.length)));n.dispatch({effects:[i,Ae.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0},oz={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},az=Re.define({combine(n){return mi(n,oz,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function cz(n){return[Tz,hz]}const uz=De.mark({class:"cm-selectionMatch"}),Ez=De.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function _L(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=St.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=St.Word)}function fz(n,e,t,i){return n(e.sliceDoc(t,t+1))==St.Word&&n(e.sliceDoc(i-1,i))==St.Word}const hz=pt.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(az),{state:t}=n,i=t.selection;if(i.ranges.length>1)return De.none;let s=i.main,o,a=null;if(s.empty){if(!e.highlightWordAroundCursor)return De.none;let E=t.wordAt(s.head);if(!E)return De.none;a=t.charCategorizer(s.head),o=t.sliceDoc(E.from,E.to)}else{let E=s.to-s.from;if(E<e.minSelectionLength||E>200)return De.none;if(e.wholeWords){if(o=t.sliceDoc(s.from,s.to),a=t.charCategorizer(s.head),!(_L(a,t,s.from,s.to)&&fz(a,t,s.from,s.to)))return De.none}else if(o=t.sliceDoc(s.from,s.to),!o)return De.none}let u=[];for(let E of n.visibleRanges){let h=new Mo(t.doc,o,E.from,E.to);for(;!h.next().done;){let{from:T,to:A}=h.value;if((!a||_L(a,t,T,A))&&(s.empty&&T<=s.from&&A>=s.to?u.push(Ez.range(T,A)):(T>=s.to||A<=s.from)&&u.push(uz.range(T,A)),u.length>e.maxMatches))return De.none}}return De.set(u)}},{decorations:n=>n.decorations}),Tz=Ae.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),dz=({state:n,dispatch:e})=>{let{selection:t}=n,i=q.create(t.ranges.map(s=>n.wordAt(s.head)||q.cursor(s.head)),t.mainIndex);return i.eq(t)?!1:(e(n.update({selection:i})),!0)};function Az(n,e){let{main:t,ranges:i}=n.selection,s=n.wordAt(t.head),o=s&&s.from==t.from&&s.to==t.to;for(let a=!1,u=new Mo(n.doc,e,i[i.length-1].to);;)if(u.next(),u.done){if(a)return null;u=new Mo(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(E=>E.from==u.value.from))continue;if(o){let E=n.wordAt(u.value.from);if(!E||E.from!=u.value.from||E.to!=u.value.to)continue}return u.value}}const Sz=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(o=>o.from===o.to))return dz({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(o=>n.sliceDoc(o.from,o.to)!=i))return!1;let s=Az(n,i);return s?(e(n.update({selection:n.selection.addRange(q.range(s.from,s.to),!1),effects:Ae.scrollIntoView(s.to)})),!0):!1},Bo=Re.define({combine(n){return mi(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new yz(e),scrollToMatch:e=>Ae.scrollIntoView(e)})}});class wy{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||rz(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?`
|
|
235
|
+
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new pz(this):new Nz(this)}getCursor(e,t=0,i){let s=e.doc?e:$e.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?lo(this,s,t,i):ro(this,s,t,i)}}class Fy{constructor(e){this.spec=e}}function Rz(n,e,t){return(i,s,o,a)=>{if(t&&!t(i,s,o,a))return!1;let u=i>=a&&s<=a+o.length?o.slice(i-a,s-a):e.doc.sliceString(i,s);return n(u,e,i,s)}}function ro(n,e,t,i){let s;return n.wholeWord&&(s=Oz(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(s=Rz(n.test,e,s)),new Mo(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:o=>o.toLowerCase(),s)}function Oz(n,e){return(t,i,s,o)=>((o>t||o+s.length<i)&&(o=Math.max(0,t-2),s=n.sliceString(o,Math.min(n.length,i+2))),(e(Cf(s,t-o))!=St.Word||e(gf(s,t-o))!=St.Word)&&(e(gf(s,i-o))!=St.Word||e(Cf(s,i-o))!=St.Word))}class Nz extends Fy{constructor(e){super(e)}nextMatch(e,t,i){let s=ro(this.spec,e,i,e.doc.length).nextOverlapping();if(s.done){let o=Math.min(e.doc.length,t+this.spec.unquoted.length);s=ro(this.spec,e,0,o).nextOverlapping()}return s.done||s.value.from==t&&s.value.to==i?null:s.value}prevMatchInRange(e,t,i){for(let s=i;;){let o=Math.max(t,s-1e4-this.spec.unquoted.length),a=ro(this.spec,e,o,s),u=null;for(;!a.nextOverlapping().done;)u=a.value;if(u)return u;if(o==t)return null;s-=1e4}}prevMatch(e,t,i){let s=this.prevMatchInRange(e,0,t);return s||(s=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=t||s.to!=i)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=ro(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let o=ro(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)s(o.value.from,o.value.to)}}function mz(n,e,t){return(i,s,o)=>(!t||t(i,s,o))&&n(o[0],e,i,s)}function lo(n,e,t,i){let s;return n.wholeWord&&(s=Iz(e.charCategorizer(e.selection.main.head))),n.test&&(s=mz(n.test,e,s)),new Gy(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:s},t,i)}function Cf(n,e){return n.slice(zt(n,e,!1),e)}function gf(n,e){return n.slice(e,zt(n,e))}function Iz(n){return(e,t,i)=>!i[0].length||(n(Cf(i.input,i.index))!=St.Word||n(gf(i.input,i.index))!=St.Word)&&(n(gf(i.input,i.index+i[0].length))!=St.Word||n(Cf(i.input,i.index+i[0].length))!=St.Word)}class pz extends Fy{nextMatch(e,t,i){let s=lo(this.spec,e,i,e.doc.length).next();return s.done&&(s=lo(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let o=Math.max(t,i-s*1e4),a=lo(this.spec,e,o,i),u=null;for(;!a.next().done;)u=a.value;if(u&&(o==t||u.from>o+10))return u;if(o==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let o=+i.slice(0,s);if(o>0&&o<e.match.length)return e.match[o]+i.slice(s)}return t})}matchAll(e,t){let i=lo(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let o=lo(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!o.next().done;)s(o.value.from,o.value.to)}}const Ic=xe.define(),nO=xe.define(),rr=qt.define({create(n){return new bA(jS(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Ic)?n=new bA(t.value.create(),n.panel):t.is(nO)&&(n=new bA(n.query,t.value?iO:null));return n},provide:n=>hc.from(n,e=>e.panel)});class bA{constructor(e,t){this.query=e,this.panel=t}}const Cz=De.mark({class:"cm-searchMatch"}),gz=De.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Lz=pt.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(rr))}update(n){let e=n.state.field(rr);(e!=n.startState.field(rr)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return De.none;let{view:t}=this,i=new Is;for(let s=0,o=t.visibleRanges,a=o.length;s<a;s++){let{from:u,to:E}=o[s];for(;s<a-1&&E>o[s+1].from-500;)E=o[++s].to;n.highlight(t.state,u,E,(h,T)=>{let A=t.state.selection.ranges.some(R=>R.from==h&&R.to==T);i.add(h,T,A?gz:Cz)})}return i.finish()}},{decorations:n=>n.decorations});function vc(n){return e=>{let t=e.state.field(rr,!1);return t&&t.query.spec.valid?n(e,t):Vy(e)}}const Lf=vc((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let s=q.single(i.from,i.to),o=n.state.facet(Bo);return n.dispatch({selection:s,effects:[sO(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),ky(n),!0}),_f=vc((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);if(!s)return!1;let o=q.single(s.from,s.to),a=n.state.facet(Bo);return n.dispatch({selection:o,effects:[sO(n,s),a.scrollToMatch(o.main,n)],userEvent:"select.search"}),ky(n),!0}),_z=vc((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:q.create(t.map(i=>q.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Dz=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:s}=t.main,o=[],a=0;for(let u=new Mo(n.doc,n.sliceDoc(i,s));!u.next().done;){if(o.length>1e3)return!1;u.value.from==i&&(a=o.length),o.push(q.range(u.value.from,u.value.to))}return e(n.update({selection:q.create(o,a),userEvent:"select.search.matches"})),!0},DL=vc((n,{query:e})=>{let{state:t}=n,{from:i,to:s}=t.selection.main;if(t.readOnly)return!1;let o=e.nextMatch(t,i,i);if(!o)return!1;let a=o,u=[],E,h,T=[];a.precise?a.from==i&&a.to==s&&(h=t.toText(e.getReplacement(a)),u.push({from:a.from,to:a.to,insert:h}),a=e.nextMatch(t,a.from,a.to),T.push(Ae.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))):a=e.nextMatch(t,a.from,a.to);let A=n.state.changes(u);return a&&(E=q.single(a.from,a.to).map(A),T.push(sO(n,a)),T.push(t.facet(Bo).scrollToMatch(E.main,n))),n.dispatch({changes:A,selection:E,effects:T,userEvent:"input.replace"}),!0}),Mz=vc((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let s of e.matchAll(n.state,1e9)){let{from:o,to:a,precise:u}=s;u&&t.push({from:o,to:a,insert:e.getReplacement(s)})}if(!t.length)return!1;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Ae.announce.of(i),userEvent:"input.replace.all"}),!0});function iO(n){return n.state.facet(Bo).createPanel(n)}function jS(n,e){var t,i,s,o,a;let u=n.selection.main,E=u.empty||u.to>u.from+100?"":n.sliceDoc(u.from,u.to);if(e&&!E)return e;let h=n.facet(Bo);return new wy({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:h.literal)?E:E.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(s=e==null?void 0:e.literal)!==null&&s!==void 0?s:h.literal,regexp:(o=e==null?void 0:e.regexp)!==null&&o!==void 0?o:h.regexp,wholeWord:(a=e==null?void 0:e.wholeWord)!==null&&a!==void 0?a:h.wholeWord})}function Yy(n){let e=HR(n,iO);return e&&e.dom.querySelector("[main-field]")}function ky(n){let e=Yy(n);e&&e==n.root.activeElement&&e.select()}const Vy=n=>{let e=n.state.field(rr,!1);if(e&&e.panel){let t=Yy(n);if(t&&t!=n.root.activeElement){let i=jS(n.state,e.query.spec);i.valid&&n.dispatch({effects:Ic.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[nO.of(!0),e?Ic.of(jS(n.state,e.query.spec)):xe.appendConfig.of(Uz)]});return!0},Wy=n=>{let e=n.state.field(rr,!1);if(!e||!e.panel)return!1;let t=HR(n,iO);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:nO.of(!1)}),!0},Pz=[{key:"Mod-f",run:Vy,scope:"editor search-panel"},{key:"F3",run:Lf,shift:_f,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Lf,shift:_f,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Wy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Dz},{key:"Mod-Alt-g",run:lz},{key:"Mod-d",run:Sz,preventDefault:!0}];class yz{constructor(e){this.view=e;let t=this.query=e.state.field(rr).query.spec;this.commit=this.commit.bind(this),this.searchField=lt("input",{value:t.search,placeholder:kn(e,"Find"),"aria-label":kn(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=lt("input",{value:t.replace,placeholder:kn(e,"Replace"),"aria-label":kn(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=lt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=lt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=lt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(s,o,a){return lt("button",{class:"cm-button",name:s,onclick:o,type:"button"},a)}this.dom=lt("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>Lf(e),[kn(e,"next")]),i("prev",()=>_f(e),[kn(e,"previous")]),i("select",()=>_z(e),[kn(e,"all")]),lt("label",null,[this.caseField,kn(e,"match case")]),lt("label",null,[this.reField,kn(e,"regexp")]),lt("label",null,[this.wordField,kn(e,"by word")]),...e.state.readOnly?[]:[lt("br"),this.replaceField,i("replace",()=>DL(e),[kn(e,"replace")]),i("replaceAll",()=>Mz(e),[kn(e,"replace all")])],lt("button",{name:"close",onclick:()=>Wy(e),"aria-label":kn(e,"close"),type:"button"},["×"])])}commit(){let e=new wy({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Ic.of(e)}))}keydown(e){sW(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?_f:Lf)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),DL(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(Ic)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Bo).top}}function kn(n,e){return n.state.phrase(e)}const _E=30,DE=/[\s\.,:;?!]/;function sO(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,o=Math.max(i.from,e-_E),a=Math.min(s,t+_E),u=n.state.sliceDoc(o,a);if(o!=i.from){for(let E=0;E<_E;E++)if(!DE.test(u[E+1])&&DE.test(u[E])){u=u.slice(E);break}}if(a!=s){for(let E=u.length-1;E>u.length-_E;E--)if(!DE.test(u[E-1])&&DE.test(u[E])){u=u.slice(0,E);break}}return Ae.announce.of(`${n.state.phrase("current match")}. ${u} ${n.state.phrase("on line")} ${i.number}.`)}const vz=Ae.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Uz=[rr,fl.low(Lz),vz];var ML=function(e){e===void 0&&(e={});var t=e,i=t.crosshairCursor,s=i===void 0?!1:i,o=[];e.closeBracketsKeymap!==!1&&(o=o.concat(UK)),e.defaultKeymap!==!1&&(o=o.concat(iz)),e.searchKeymap!==!1&&(o=o.concat(Pz)),e.historyKeymap!==!1&&(o=o.concat(u4)),e.foldKeymap!==!1&&(o=o.concat(vX)),e.completionKeymap!==!1&&(o=o.concat(HP)),e.lintKeymap!==!1&&(o=o.concat(b3));var a=[];return e.lineNumbers!==!1&&a.push(rX()),e.highlightActiveLineGutter!==!1&&a.push(aX()),e.highlightSpecialChars!==!1&&a.push(mW()),e.history!==!1&&a.push(t4()),e.foldGutter!==!1&&a.push(BX()),e.drawSelection!==!1&&a.push(uW()),e.dropCursor!==!1&&a.push(dW()),e.allowMultipleSelections!==!1&&a.push($e.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&a.push(IX()),e.syntaxHighlighting!==!1&&a.push(VR(FX,{fallback:!0})),e.bracketMatching!==!1&&a.push(zX()),e.closeBrackets!==!1&&a.push(MK()),e.autocompletion!==!1&&a.push(FK()),e.rectangularSelection!==!1&&a.push(xW()),s!==!1&&a.push(HW()),e.highlightActiveLine!==!1&&a.push(_W()),e.highlightSelectionMatches!==!1&&a.push(cz()),e.tabSize&&typeof e.tabSize=="number"&&a.push(Kf.of(" ".repeat(e.tabSize))),a.concat([Mc.of(o.flat())]).filter(Boolean)};const bz="#e5c07b",PL="#e06c75",xz="#56b6c2",Bz="#ffffff",XE="#abb2bf",JS="#7d8799",Gz="#61afef",Hz="#98c379",yL="#d19a66",wz="#c678dd",Fz="#21252b",vL="#2c313a",UL="#282c34",xA="#353a42",Yz="#3E4451",bL="#528bff",kz=Ae.theme({"&":{color:XE,backgroundColor:UL},".cm-content":{caretColor:bL},".cm-cursor, .cm-dropCursor":{borderLeftColor:bL},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Yz},".cm-panels":{backgroundColor:Fz,color:XE},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:UL,color:JS,border:"none"},".cm-activeLineGutter":{backgroundColor:vL},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:xA},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:xA,borderBottomColor:xA},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:vL,color:XE}}},{dark:!0}),Vz=bo.define([{tag:w.keyword,color:wz},{tag:[w.name,w.deleted,w.character,w.propertyName,w.macroName],color:PL},{tag:[w.function(w.variableName),w.labelName],color:Gz},{tag:[w.color,w.constant(w.name),w.standard(w.name)],color:yL},{tag:[w.definition(w.name),w.separator],color:XE},{tag:[w.typeName,w.className,w.number,w.changed,w.annotation,w.modifier,w.self,w.namespace],color:bz},{tag:[w.operator,w.operatorKeyword,w.url,w.escape,w.regexp,w.link,w.special(w.string)],color:xz},{tag:[w.meta,w.comment],color:JS},{tag:w.strong,fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.link,color:JS,textDecoration:"underline"},{tag:w.heading,fontWeight:"bold",color:PL},{tag:[w.atom,w.bool,w.special(w.variableName)],color:yL},{tag:[w.processingInstruction,w.string,w.inserted],color:Hz},{tag:w.invalid,color:Bz}]),Wz=[kz,VR(Vz)];var Xz=Ae.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Kz=function(e){e===void 0&&(e={});var t=e,i=t.indentWithTab,s=i===void 0?!0:i,o=t.editable,a=o===void 0?!0:o,u=t.readOnly,E=u===void 0?!1:u,h=t.theme,T=h===void 0?"light":h,A=t.placeholder,R=A===void 0?"":A,O=t.basicSetup,N=O===void 0?!0:O,m=[];switch(s&&m.unshift(Mc.of([sz])),N&&(typeof N=="boolean"?m.unshift(ML()):m.unshift(ML(N))),R&&m.unshift(yW(R)),T){case"light":m.push(Xz);break;case"dark":m.push(Wz);break;case"none":break;default:m.push(T);break}return a===!1&&m.push(Ae.editable.of(!1)),E&&m.push($e.readOnly.of(!0)),[...m]},zz=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class $z{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class xL{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var BA=null,jz=()=>typeof window>"u"?new xL:(BA||(BA=new xL),BA),BL=ji.define(),Jz=200,qz=[];function Qz(n){var e=n.value,t=n.selection,i=n.onChange,s=n.onStatistics,o=n.onCreateEditor,a=n.onUpdate,u=n.extensions,E=u===void 0?qz:u,h=n.autoFocus,T=n.theme,A=T===void 0?"light":T,R=n.height,O=R===void 0?null:R,N=n.minHeight,m=N===void 0?null:N,C=n.maxHeight,L=C===void 0?null:C,D=n.width,_=D===void 0?null:D,v=n.minWidth,U=v===void 0?null:v,G=n.maxWidth,B=G===void 0?null:G,F=n.placeholder,oe=F===void 0?"":F,fe=n.editable,ie=fe===void 0?!0:fe,ee=n.readOnly,Ee=ee===void 0?!1:ee,ae=n.indentWithTab,Te=ae===void 0?!0:ae,x=n.basicSetup,z=x===void 0?!0:x,ne=n.root,ce=n.initialState,J=M.useState(),P=J[0],X=J[1],le=M.useState(),se=le[0],he=le[1],Se=M.useState(),ue=Se[0],_e=Se[1],Ne=M.useState(()=>({current:null}))[0],Be=M.useState(()=>({current:null}))[0],ye=Ae.theme({"&":{height:O,minHeight:m,maxHeight:L,width:_,minWidth:U,maxWidth:B},"& .cm-scroller":{height:"100% !important"}}),Ue=Ae.updateListener.of(Et=>{if(Et.docChanged&&typeof i=="function"&&!Et.transactions.some(Ci=>Ci.annotation(BL))){Ne.current?Ne.current.reset():(Ne.current=new $z(()=>{if(Be.current){var Ci=Be.current;Be.current=null,Ci()}Ne.current=null},Jz),jz().add(Ne.current));var Ct=Et.state.doc,Bt=Ct.toString();i(Bt,Et)}s&&s(zz(Et))}),Rt=Kz({theme:A,editable:ie,readOnly:Ee,placeholder:oe,indentWithTab:Te,basicSetup:z}),Je=[Ue,ye,...Rt];return a&&typeof a=="function"&&Je.push(Ae.updateListener.of(a)),Je=Je.concat(E),M.useLayoutEffect(()=>{if(P&&!ue){var Et={doc:e,selection:t,extensions:Je},Ct=ce?$e.fromJSON(ce.json,Et,ce.fields):$e.create(Et);if(_e(Ct),!se){var Bt=new Ae({state:Ct,parent:P,root:ne});he(Bt),o&&o(Bt,Ct)}}return()=>{se&&(_e(void 0),he(void 0))}},[P,ue]),M.useEffect(()=>{n.container&&X(n.container)},[n.container]),M.useEffect(()=>()=>{se&&(se.destroy(),he(void 0)),Ne.current&&(Ne.current.cancel(),Ne.current=null)},[se]),M.useEffect(()=>{h&&se&&se.focus()},[h,se]),M.useEffect(()=>{se&&se.dispatch({effects:xe.reconfigure.of(Je)})},[A,E,O,m,L,_,U,B,oe,ie,Ee,Te,z,i,a]),M.useEffect(()=>{if(e!==void 0){var Et=se?se.state.doc.toString():"";if(se&&e!==Et){var Ct=Ne.current&&!Ne.current.isDone,Bt=()=>{se&&e!==se.state.doc.toString()&&se.dispatch({changes:{from:0,to:se.state.doc.toString().length,insert:e||""},annotations:[BL.of(!0)]})};Ct?Be.current=Bt:Bt()}}},[e,se]),{state:ue,setState:_e,view:se,setView:he,container:P,setContainer:X}}var Zz=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xy=M.forwardRef((n,e)=>{var t=n.className,i=n.value,s=i===void 0?"":i,o=n.selection,a=n.extensions,u=a===void 0?[]:a,E=n.onChange,h=n.onStatistics,T=n.onCreateEditor,A=n.onUpdate,R=n.autoFocus,O=n.theme,N=O===void 0?"light":O,m=n.height,C=n.minHeight,L=n.maxHeight,D=n.width,_=n.minWidth,v=n.maxWidth,U=n.basicSetup,G=n.placeholder,B=n.indentWithTab,F=n.editable,oe=n.readOnly,fe=n.root,ie=n.initialState,ee=X3(n,Zz),Ee=M.useRef(null),ae=Qz({root:fe,value:s,autoFocus:R,theme:N,height:m,minHeight:C,maxHeight:L,width:D,minWidth:_,maxWidth:v,basicSetup:U,placeholder:G,indentWithTab:B,editable:F,readOnly:oe,selection:o,onChange:E,onStatistics:h,onCreateEditor:T,onUpdate:A,extensions:u,initialState:ie}),Te=ae.state,x=ae.view,z=ae.container,ne=ae.setContainer;M.useImperativeHandle(e,()=>({editor:Ee.current,state:Te,view:x}),[Ee,z,Te,x]);var ce=M.useCallback(P=>{Ee.current=P,ne(P)},[ne]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var J=typeof N=="string"?"cm-theme-"+N:"cm-theme";return p.jsx("div",WS({ref:ce,className:""+J+(t?" "+t:"")},ee))});Xy.displayName="CodeMirror";const e6=Ae.theme({"&":{backgroundColor:"var(--muted)",color:"var(--foreground)",fontSize:"13px",borderRadius:"var(--radius-md, 8px)"},"&.cm-focused":{outline:"none"},".cm-content":{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",padding:"10px 4px",caretColor:"var(--foreground)"},".cm-gutters":{backgroundColor:"var(--muted)",color:"var(--muted-foreground)",border:"none"},".cm-activeLine":{backgroundColor:"color-mix(in oklch, var(--foreground) 6%, transparent)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--foreground)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--foreground)"},".cm-selectionBackground, &.cm-focused .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in oklch, var(--primary) 30%, transparent)"},".cm-matchingBracket":{backgroundColor:"color-mix(in oklch, var(--primary) 25%, transparent)",outline:"1px solid var(--border)"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)",borderRadius:"var(--radius-sm, 6px)"},".cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:"var(--primary)",color:"var(--primary-foreground)"},".cm-lintRange-error":{textDecoration:"underline wavy var(--sev-error)"}}),t6=bo.define([{tag:w.keyword,color:"var(--sev-info)",fontWeight:"600"},{tag:[w.string,w.special(w.string)],color:"var(--sev-warn)"},{tag:[w.number,w.bool,w.null],color:"var(--sev-warn)"},{tag:w.comment,color:"var(--muted-foreground)",fontStyle:"italic"},{tag:[w.function(w.variableName),w.function(w.propertyName)],color:"var(--sev-info)"},{tag:[w.typeName,w.className],color:"var(--sev-info)"},{tag:[w.operator,w.punctuation,w.separator],color:"var(--muted-foreground)"},{tag:[w.propertyName,w.attributeName],color:"var(--foreground)"}]),n6=[e6,VR(t6)],GL=M.forwardRef(function({value:e,onChange:t,onRun:i,language:s,schema:o,error:a,placeholder:u,minHeight:E="120px"},h){const T=M.useRef(null);M.useImperativeHandle(h,()=>({insertText(R){var C;const O=(C=T.current)==null?void 0:C.view;if(!O)return;const{from:N,to:m}=O.state.selection.main;O.dispatch({changes:{from:N,to:m,insert:R},selection:{anchor:N+R.length}}),O.focus()},focus(){var R,O;(O=(R=T.current)==null?void 0:R.view)==null||O.focus()}}));const A=M.useMemo(()=>{const R=s==="sql"?_3({dialect:D3,schema:o,defaultSchema:"public",upperCaseKeywords:!1}):tK(),O=Mc.of([{key:"Mod-Enter",preventDefault:!0,run:()=>(i==null||i(),!0)}]);return[R,O,W3(),Ae.lineWrapping,...n6]},[s,o,i]);return M.useEffect(()=>{var m;const R=(m=T.current)==null?void 0:m.view;if(!R)return;const O=R.state.doc.length,N=a&&O>0?[{from:Math.min(Math.max(a.offset,0),O-1),to:Math.min(a.offset+1,O),severity:"error",message:a.message}]:[];R.dispatch(M3(R.state,N))},[a,e]),p.jsx(Xy,{ref:T,value:e,onChange:t,extensions:A,placeholder:u,minHeight:E,theme:"none",basicSetup:{lineNumbers:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!0,highlightActiveLine:!0,foldGutter:!1}})});function HL(n){let e=n.nodeType;return n.indexName&&n.relationName?e+=` using ${n.indexName} on ${n.relationName}`:n.relationName&&(e+=` on ${n.relationName}`),n.alias&&n.alias!==n.relationName&&(e+=` (${n.alias})`),e}const KE={regressed:"var(--sev-error)",improved:"var(--sev-info)",added:"var(--sev-warn)",removed:"var(--muted-foreground)"};function i6(n){const e=new Map;for(const t of n.removed)e.set(t.signature,"removed");for(const t of n.added)e.set(t.signature,"added");for(const t of n.improved)e.set(t.signature,"improved");for(const t of n.regressed)e.set(t.signature,"regressed");return e}function Ky({node:n,depth:e,classes:t,side:i}){const s=t.get(HL(n)),o=s==="added"?i==="after"?s:void 0:s==="removed"?i==="before"?s:void 0:s,a=n.metrics;return p.jsxs("div",{children:[p.jsxs("div",{className:`whitespace-nowrap ${o==="removed"?"line-through opacity-60":""}`,style:{paddingLeft:`${e*16}px`,color:o?KE[o]:void 0},children:[HL(n),p.jsxs("span",{className:"text-muted-foreground text-xs",children:[a.selfMs!=null&&` self ${a.selfMs.toFixed(1)} ms`,a.totalRows!=null&&` rows=${a.totalRows.toLocaleString()}`]})]}),n.children.map(u=>p.jsx(Ky,{node:u,depth:e+1,classes:t,side:i},u.id))]})}function s6({diff:n,onClose:e}){const t=(n.execDeltaMs??0)>0,i=n.execDeltaMs==null?"Compared plans":`${Math.abs(n.execDeltaMs).toFixed(1)} ms ${t?"slower":"faster"}${n.execDeltaPct!=null?` (${n.execDeltaPct>=0?"+":""}${n.execDeltaPct.toFixed(1)}%)`:""}`,s=(a,u,E)=>u.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium mt-3 mb-1",children:a}),u.slice(0,12).map(h=>p.jsxs("div",{className:"text-sm flex gap-2",children:[p.jsx("span",{className:"flex-1 truncate",children:h.signature}),p.jsxs("span",{style:{color:E},children:[h.deltaMs>=0?"+":"",h.deltaMs.toFixed(1)," ms",h.deltaPct!=null?` (${h.deltaPct>=0?"+":""}${h.deltaPct.toFixed(0)}%)`:""]})]},h.signature))]}),o=n.beforePlan&&n.afterPlan?i6(n):null;return p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"font-medium",children:"Diff (before → after)"}),p.jsx("span",{className:"text-sm",style:{color:t?"var(--sev-error)":"var(--sev-info)"},children:i}),p.jsx(Tt,{variant:"secondary",size:"sm",className:"ml-auto",onClick:e,children:"Close"})]}),s("Regressed (slower)",n.regressed,"var(--sev-error)"),s("Improved (faster)",n.improved,"var(--sev-info)"),s("Added nodes",n.added,"var(--muted-foreground)"),s("Removed nodes",n.removed,"var(--muted-foreground)"),n.newFindings.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium mt-3 mb-1",style:{color:"var(--sev-error)"},children:"New findings"}),n.newFindings.map((a,u)=>p.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[p.jsx(dG,{className:"size-3.5 shrink-0",style:{color:"var(--sev-error)"}})," ",a.title," ",p.jsx("span",{className:"text-xs text-muted-foreground",children:a.code})]},u))]}),n.resolvedFindings.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium mt-3 mb-1",style:{color:"var(--sev-info)"},children:"Resolved findings"}),n.resolvedFindings.map((a,u)=>p.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[p.jsx(cG,{className:"size-3.5 shrink-0",style:{color:"var(--sev-info)"}})," ",a.title," ",p.jsx("span",{className:"text-xs text-muted-foreground",children:a.code})]},u))]}),o&&n.beforePlan&&n.afterPlan&&p.jsxs("div",{className:"pt-3",children:[p.jsx("div",{className:"text-sm font-medium mb-2",children:"Plans side by side"}),p.jsx("div",{className:"grid gap-4 lg:grid-cols-2",children:[["Before",n.beforePlan,"before"],["After",n.afterPlan,"after"]].map(([a,u,E])=>p.jsxs("div",{className:"rounded-lg border p-3 overflow-x-auto",style:{background:"var(--card)"},children:[p.jsx("div",{className:"text-xs uppercase tracking-wide text-muted-foreground mb-2",children:a}),p.jsx("div",{className:"font-mono text-sm",children:p.jsx(Ky,{node:u,depth:0,classes:o,side:E})})]},E))}),p.jsxs("div",{className:"flex gap-4 mt-2 text-xs text-muted-foreground",children:[p.jsx("span",{style:{color:KE.regressed},children:"■ slower"}),p.jsx("span",{style:{color:KE.improved},children:"■ faster"}),p.jsx("span",{style:{color:KE.added},children:"■ added"}),p.jsx("span",{className:"line-through",children:"■ removed"})]})]})]})}function r6({live:n,onClose:e}){return p.jsxs("div",{className:"space-y-3",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"font-medium",children:"Live locks"}),p.jsxs("span",{className:"text-xs text-muted-foreground",children:[n.sessions.length," client sessions · ",n.blocked.length," blocked"]}),p.jsx(Tt,{variant:"secondary",size:"sm",className:"ml-auto",onClick:e,children:"Close"})]}),n.blocked.length===0?p.jsx("div",{className:"text-sm text-muted-foreground rounded-lg border p-4",style:{background:"var(--card)"},children:"No lock contention right now — nothing is waiting on another session."}):n.blocked.map(t=>p.jsxs("div",{className:"rounded-lg border-l-4 p-3",style:{borderColor:"var(--sev-warn)",background:"var(--card)"},children:[p.jsxs("div",{className:"text-sm",children:[p.jsxs("b",{children:["pid ",t.pid]})," (",t.user??"?",") is ",p.jsx("b",{children:"blocked by"})," pid ",t.blockedBy.join(", "),t.ageSeconds!=null&&p.jsxs("span",{className:"text-muted-foreground",children:[" · waiting ",t.ageSeconds.toFixed(0),"s"]}),t.waitEvent&&p.jsxs("span",{className:"text-muted-foreground",children:[" · ",t.waitEvent]})]}),t.query&&p.jsx("pre",{className:"text-xs bg-secondary rounded p-2 mt-2 overflow-x-auto",children:t.query}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Inspect the blocker; if needed, cancel it with ",p.jsxs("code",{children:["SELECT pg_cancel_backend(",t.blockedBy[0],");"]})," or terminate with ",p.jsx("code",{children:"pg_terminate_backend(…)"}),"."]})]},t.pid))]})}const l6="modulepreload",o6=function(n){return"/"+n},wL={},a6=function(e,t,i){let s=Promise.resolve();if(t&&t.length>0){let a=function(h){return Promise.all(h.map(T=>Promise.resolve(T).then(A=>({status:"fulfilled",value:A}),A=>({status:"rejected",reason:A}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),E=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));s=a(t.map(h=>{if(h=o6(h),h in wL)return;wL[h]=!0;const T=h.endsWith(".css"),A=T?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${A}`))return;const R=document.createElement("link");if(R.rel=T?"stylesheet":l6,T||(R.as="script"),R.crossOrigin="",R.href=h,E&&R.setAttribute("nonce",E),document.head.appendChild(R),T)return new Promise((O,N)=>{R.addEventListener("load",O),R.addEventListener("error",()=>N(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(a){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=a,window.dispatchEvent(u),!u.defaultPrevented)throw a}return s.then(a=>{for(const u of a||[])u.status==="rejected"&&o(u.reason);return e().catch(o)})};async function an(n,e){const t=await fetch(n,e),i=await t.json().catch(()=>({}));if(!t.ok)throw i.error??{code:"PGX_ERROR",title:`Request failed (${t.status})`};return i}const bi=n=>({method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n)}),hn={meta:()=>an("/api/meta"),settings:()=>an("/api/settings"),saveSettings:n=>an("/api/settings",{...bi(n),method:"PUT"}),analyze:(n,e)=>an("/api/analyze",bi({plan:n,sql:e})),run:n=>an("/api/run",bi(n)),analyzeSql:n=>an("/api/analyze-sql",bi(n)),schema:n=>an("/api/schema",bi(n)),catalog:n=>an("/api/catalog",bi(n)),connections:()=>an("/api/connections"),createConnection:n=>an("/api/connections",bi(n)),deleteConnection:n=>an(`/api/connections/${n}`,{method:"DELETE"}),history:()=>an("/api/history"),getRun:n=>an(`/api/history/${n}`),deleteRun:n=>an(`/api/history/${n}`,{method:"DELETE"}),liveLocks:n=>an("/api/locks/live",bi(n)),diff:(n,e)=>an("/api/diff",bi({beforeId:n,afterId:e})),export:async(n,e)=>{const t=await fetch("/api/export",bi({runId:n,format:e}));if(!t.ok)throw(await t.json().catch(()=>({}))).error??{code:"PGX_ERROR",title:"Export failed"};return t.text()}},rO={error:"var(--sev-error)",warn:"var(--sev-warn)",info:"var(--sev-info)"},c6={error:"Critical",warn:"Warning",info:"Note"},FL=n=>/^PGX_(LOCK|DDL|WRITE|DROP_INDEX|SELECT_FOR|UPDATE_UNINDEXED)/.test(n),u6={LIMIT:"Returns a specified number of rows from a record set.",SORT:"Sorts a record set based on the specified sort key.",INCREMENTALSORT:"Sorts a record set already partially sorted on a prefix of the sort key.","NESTED LOOP":"Joins two record sets by looping through every record in the first set and finding matches in the second.","MERGE JOIN":"Joins two record sets by first sorting them on the join key.",HASH:"Builds a hash table from the input records. Used by Hash Join.","HASH JOIN":"Joins two record sets by hashing one of them.",AGGREGATE:"Groups records based on a GROUP BY or aggregate function (like sum()).",HASHAGGREGATE:"Groups records via a hash on the grouping key, then applies aggregates.",GROUPAGGREGATE:"Groups already-sorted records and applies aggregates.",GROUP:"Groups a sorted record set on the grouping key.","SEQ SCAN":"Reads a table sequentially, row by row. A single read pass over the whole table.","PARALLEL SEQ SCAN":"A sequential scan split across parallel workers.","INDEX SCAN":"Finds records via an index, then reads the matching rows from the table (two read steps).","INDEX ONLY SCAN":"Answers the query from the index alone, without reading the table (needs a current visibility map).","BITMAP HEAP SCAN":"Reads the table pages identified by a Bitmap Index Scan.","BITMAP INDEX SCAN":"Builds a bitmap of matching pages from an index; feeds a Bitmap Heap Scan.","CTE SCAN":"Scans the materialized results of a WITH (CTE) query.","SUBQUERY SCAN":"Scans the output of a sub-query.","FUNCTION SCAN":"Scans the rows returned by a set-returning function.","VALUES SCAN":"Scans an inline VALUES list.",MEMOIZE:"Caches results of the inner side of a nested loop, skipping re-execution for repeated parameters.",MATERIALIZE:"Stores the child's output so it can be re-read without re-executing the child.",UNIQUE:"Removes adjacent duplicate rows from a sorted input.",WINDOWAGG:"Computes window functions over the input rows.",APPEND:"Concatenates the outputs of several child plans (e.g. UNION ALL, partitions).","MERGE APPEND":"Merges the outputs of several sorted child plans, preserving order.",GATHER:"Collects rows from parallel workers, in no particular order.","GATHER MERGE":"Collects rows from parallel workers, preserving their sort order.",MODIFYTABLE:"Applies INSERT / UPDATE / DELETE / MERGE changes to a table.",RESULT:"Emits a computed result, often a single row or a constant."};function E6(n){return u6[n.toUpperCase()]}const _t=n=>n==null?"—":n.toLocaleString(),Ha=n=>n==null?"—":`${n.toFixed(n<10?2:1)} ms`,GA=n=>n==null?"—":`${n.toLocaleString()} kB`;function f6(n){let e=n.nodeType;return n.indexName&&n.relationName?e+=` using ${n.indexName} on ${n.relationName}`:n.relationName?e+=` on ${n.relationName}`:n.indexName&&(e+=` on ${n.indexName}`),n.alias&&n.alias!==n.relationName&&(e+=` (${n.alias})`),e}function rt({label:n,value:e}){return e==null||e==="—"||e===""?null:p.jsxs("div",{className:"flex gap-2 text-sm py-0.5",children:[p.jsx("span",{className:"text-muted-foreground w-40 shrink-0",children:n}),p.jsx("span",{className:"min-w-0 break-words",children:e})]})}function io({title:n,children:e}){return p.jsxs("div",{children:[p.jsx("div",{className:"text-xs uppercase tracking-wide text-muted-foreground mt-3 mb-1",children:n}),e]})}const h6=n=>[n.sharedHitBlocks,n.sharedReadBlocks,n.sharedDirtiedBlocks,n.sharedWrittenBlocks,n.localHitBlocks,n.localReadBlocks,n.tempReadBlocks,n.tempWrittenBlocks,n.ioReadTime,n.ioWriteTime,n.walRecords].some(e=>e!=null),T6=n=>{var e;return n.filter||n.indexCond||n.recheckCond||n.hashCond||n.joinFilter||(((e=n.sortKey)==null?void 0:e.length)??0)>0};function d6({node:n,onClose:e}){var o;const t=n.metrics,i=E6(n.nodeType),s=t.estimateFactor!=null&&t.estimateDirection&&t.estimateDirection!=="accurate"?`${t.estimateFactor.toFixed(t.estimateFactor<10?1:0)}× ${t.estimateDirection}-estimated`:"accurate";return p.jsxs("div",{className:"rounded-lg border p-3 text-sm w-full lg:w-96 shrink-0 self-start",style:{background:"var(--card)"},children:[p.jsxs("div",{className:"flex items-start gap-2",children:[p.jsxs("div",{className:"min-w-0",children:[p.jsx("div",{className:"font-medium break-words",children:f6(n)}),i&&p.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:i})]}),e&&p.jsx(Tt,{variant:"ghost",size:"icon",onClick:e,className:"ml-auto h-7 w-7 text-muted-foreground",title:"Close",children:p.jsx(mG,{className:"size-4"})})]}),p.jsxs(io,{title:"General",children:[p.jsx(rt,{label:"Rows (actual / planned)",value:`${_t(t.totalRows??n.actualRows)} / ${_t(n.planRows)}`}),p.jsx(rt,{label:"Estimate",value:s}),p.jsx(rt,{label:"Loops",value:n.actualLoops!=null?_t(n.actualLoops):null}),p.jsx(rt,{label:"Self time",value:t.selfMs!=null?`${Ha(t.selfMs)}${t.pctOfTotal!=null?` (${t.pctOfTotal.toFixed(0)}%)`:""}`:null}),p.jsx(rt,{label:"Total time (incl.)",value:t.inclusiveMs!=null?Ha(t.inclusiveMs):null}),p.jsx(rt,{label:"Cost (startup..total)",value:n.totalCost!=null?`${n.startupCost??0}..${n.totalCost}`:null}),p.jsx(rt,{label:"Row width",value:n.planWidth!=null?`${n.planWidth} B`:null})]}),T6(n)&&p.jsxs(io,{title:"Conditions",children:[p.jsx(rt,{label:"Filter",value:n.filter}),p.jsx(rt,{label:"Rows removed",value:n.rowsRemovedByFilter!=null?_t(n.rowsRemovedByFilter):null}),p.jsx(rt,{label:"Index Cond",value:n.indexCond}),p.jsx(rt,{label:"Recheck Cond",value:n.recheckCond}),p.jsx(rt,{label:"Hash Cond",value:n.hashCond}),p.jsx(rt,{label:"Join Filter",value:n.joinFilter}),p.jsx(rt,{label:"Sort Key",value:(o=n.sortKey)==null?void 0:o.join(", ")})]}),(n.sortMethod||n.hashBatches!=null||n.peakMemoryUsage!=null||n.heapFetches!=null||n.lossyHeapBlocks!=null)&&p.jsxs(io,{title:"Memory & work",children:[p.jsx(rt,{label:"Sort method",value:n.sortMethod}),p.jsx(rt,{label:"Sort space",value:n.sortSpaceUsed!=null?`${GA(n.sortSpaceUsed)} (${n.sortSpaceType??"?"})`:null}),p.jsx(rt,{label:"Peak memory",value:n.peakMemoryUsage!=null?GA(n.peakMemoryUsage):null}),p.jsx(rt,{label:"Hash batches",value:n.hashBatches!=null?`${n.hashBatches}${n.hashBuckets!=null?` · ${_t(n.hashBuckets)} buckets`:""}`:null}),p.jsx(rt,{label:"Disk usage",value:n.diskUsage!=null?GA(n.diskUsage):null}),p.jsx(rt,{label:"Heap fetches",value:n.heapFetches!=null?_t(n.heapFetches):null}),p.jsx(rt,{label:"Bitmap heap blocks",value:n.lossyHeapBlocks!=null?`${_t(n.exactHeapBlocks)} exact / ${_t(n.lossyHeapBlocks)} lossy`:null})]}),h6(n)&&p.jsxs(io,{title:"Buffers & I/O",children:[p.jsx(rt,{label:"Shared (hit/read)",value:n.sharedHitBlocks!=null||n.sharedReadBlocks!=null?`${_t(n.sharedHitBlocks??0)} / ${_t(n.sharedReadBlocks??0)}`:null}),p.jsx(rt,{label:"Shared (dirtied/written)",value:n.sharedDirtiedBlocks!=null||n.sharedWrittenBlocks!=null?`${_t(n.sharedDirtiedBlocks??0)} / ${_t(n.sharedWrittenBlocks??0)}`:null}),p.jsx(rt,{label:"Local (hit/read)",value:n.localHitBlocks!=null||n.localReadBlocks!=null?`${_t(n.localHitBlocks??0)} / ${_t(n.localReadBlocks??0)}`:null}),p.jsx(rt,{label:"Temp (read/written)",value:n.tempReadBlocks!=null||n.tempWrittenBlocks!=null?`${_t(n.tempReadBlocks??0)} / ${_t(n.tempWrittenBlocks??0)}`:null}),p.jsx(rt,{label:"I/O time (read/write)",value:n.ioReadTime!=null||n.ioWriteTime!=null?`${Ha(n.ioReadTime??0)} / ${Ha(n.ioWriteTime??0)}`:null}),p.jsx(rt,{label:"Cache hit ratio",value:t.cacheHitRatio!=null?`${(t.cacheHitRatio*100).toFixed(1)}%`:null}),p.jsx(rt,{label:"WAL (records/bytes/fpi)",value:n.walRecords!=null?`${_t(n.walRecords)} / ${_t(n.walBytes)} / ${_t(n.walFpi)}`:null})]}),n.workers&&n.workers.length>0&&p.jsx(io,{title:`Workers (${n.workers.length})`,children:p.jsxs("table",{className:"w-full text-xs text-muted-foreground",children:[p.jsx("thead",{className:"text-left",children:p.jsxs("tr",{children:[p.jsx("th",{className:"font-medium",children:"#"}),p.jsx("th",{className:"font-medium text-right",children:"rows"}),p.jsx("th",{className:"font-medium text-right",children:"loops"}),p.jsx("th",{className:"font-medium text-right",children:"time"})]})}),p.jsx("tbody",{children:n.workers.map(a=>p.jsxs("tr",{children:[p.jsx("td",{className:"text-foreground",children:a.number}),p.jsx("td",{className:"text-right tabular-nums",children:_t(a.actualRows)}),p.jsx("td",{className:"text-right tabular-nums",children:_t(a.actualLoops)}),p.jsx("td",{className:"text-right tabular-nums",children:Ha(a.actualTotalTime)})]},a.number))})]})}),n.output&&n.output.length>0&&p.jsx(io,{title:"Output",children:p.jsx("div",{className:"font-mono text-xs break-words text-muted-foreground",children:n.output.join(", ")})})]})}const A6=M.lazy(()=>a6(()=>import("./PlanGraph-CD8gYPCY.js"),__vite__mapDeps([0,1])).then(n=>({default:n.PlanGraph})));function zy({report:n,stats:e}){var T,A,R,O,N,m,C,L,D;const[t,i]=M.useState("findings"),[s,o]=M.useState(null),[a,u]=M.useState("graph"),E=n.diagnostics.filter(_=>FL(_.code)),h=n.diagnostics.filter(_=>!FL(_.code));return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{className:"rounded-lg p-4 border-l-4",style:{borderColor:n.worstSeverity?rO[n.worstSeverity]:"var(--sev-info)",background:"var(--card)"},children:[p.jsx("div",{className:"font-medium",children:n.verdict}),p.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[n.summary.executionTimeMs!=null&&p.jsxs(p.Fragment,{children:["exec ",n.summary.executionTimeMs.toFixed(1)," ms · "]}),n.summary.planningTimeMs!=null&&p.jsxs(p.Fragment,{children:["plan ",n.summary.planningTimeMs.toFixed(1)," ms · "]}),n.summary.serializationTimeMs!=null&&p.jsxs(p.Fragment,{children:["serialize ",n.summary.serializationTimeMs.toFixed(1)," ms · "]}),n.summary.nodeCount," nodes · ",n.summary.hasBuffers?"buffers":"no buffers",n.server&&p.jsxs(p.Fragment,{children:[" · PG ",n.server.major]})]}),(((A=(T=n.jit)==null?void 0:T.timing)==null?void 0:A.total)!=null||(((R=n.triggers)==null?void 0:R.length)??0)>0||n.settings)&&p.jsxs("div",{className:"flex flex-wrap gap-1.5 mt-2 text-xs",children:[((N=(O=n.jit)==null?void 0:O.timing)==null?void 0:N.total)!=null&&p.jsxs("span",{className:"rounded bg-secondary px-2 py-0.5",children:["JIT ",n.jit.timing.total.toFixed(1)," ms",n.jit.functions?` · ${n.jit.functions} fn`:""]}),(((m=n.triggers)==null?void 0:m.length)??0)>0&&p.jsxs("span",{className:"rounded bg-secondary px-2 py-0.5",title:(C=n.triggers)==null?void 0:C.map(_=>{var v;return`${_.name}: ${(v=_.time)==null?void 0:v.toFixed(1)} ms`}).join(`
|
|
236
|
+
`),children:[(L=n.triggers)==null?void 0:L.length," trigger",((D=n.triggers)==null?void 0:D.length)===1?"":"s"]}),n.settings&&p.jsxs("span",{className:"rounded bg-secondary px-2 py-0.5",title:Object.entries(n.settings).map(([_,v])=>`${_} = ${v}`).join(`
|
|
237
|
+
`),children:[Object.keys(n.settings).length," non-default setting",Object.keys(n.settings).length===1?"":"s"]})]})]}),p.jsxs("div",{className:"flex gap-2 items-center flex-wrap",role:"tablist","aria-label":"Report sections",children:[p.jsxs(Bi,{active:t==="findings",onClick:()=>i("findings"),children:["Findings (",h.length,")"]}),p.jsx(Bi,{active:t==="plan",onClick:()=>i("plan"),children:"Plan"}),n.stats&&p.jsx(Bi,{active:t==="stats",onClick:()=>i("stats"),children:"Stats"}),e.length>0&&p.jsxs(Bi,{active:t==="tables",onClick:()=>i("tables"),children:["Tables (",e.length,")"]}),E.length>0&&p.jsx(Bi,{active:!1,onClick:()=>i("findings"),children:p.jsxs("span",{className:"inline-flex items-center gap-1",children:[p.jsx(hR,{className:"size-3.5"})," ",E.length]})}),p.jsx(Bi,{active:t==="raw",onClick:()=>i("raw"),children:"Raw JSON"}),p.jsxs("div",{className:"ml-auto flex gap-1 items-center",children:[p.jsx("span",{className:"text-xs text-muted-foreground mr-1",children:"Export"}),p.jsx(Tt,{variant:"secondary",size:"sm",onClick:()=>jy(JSON.stringify(n,null,2),"report.json","application/json"),children:"JSON"}),n.runId&&p.jsxs(p.Fragment,{children:[p.jsx(Tt,{variant:"secondary",size:"sm",onClick:()=>kL(n.runId,"markdown","report.md","text/markdown"),children:"MD"}),p.jsx(Tt,{variant:"secondary",size:"sm",onClick:()=>kL(n.runId,"html","report.html","text/html"),children:"HTML"}),p.jsxs(Tt,{variant:"secondary",size:"sm",title:"Copy a link to this run",onClick:()=>{const _=`${window.location.origin}${window.location.pathname}#run=${n.runId}`;navigator.clipboard.writeText(_).then(()=>Io("Link copied — anyone with access to this studio can open it."),()=>Io("Could not copy the link.","error"))},children:[p.jsx(lG,{className:"size-3.5"})," Link"]})]})]})]}),t==="findings"&&p.jsxs("div",{className:"space-y-3",children:[E.map((_,v)=>p.jsx(YL,{d:_,lock:!0},`l${v}`)),h.map((_,v)=>p.jsx(YL,{d:_},`f${v}`)),n.diagnostics.length===0&&p.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[p.jsx(eG,{className:"size-4",style:{color:"var(--sev-info)"}})," No findings — looks healthy."]})]}),t==="plan"&&p.jsxs("div",{className:"flex flex-col lg:flex-row gap-4",children:[p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsxs("div",{className:"flex gap-1 mb-2",role:"tablist","aria-label":"Plan view",children:[p.jsx(Bi,{active:a==="graph",onClick:()=>u("graph"),children:"Graph"}),p.jsx(Bi,{active:a==="text",onClick:()=>u("text"),children:"Text"})]}),a==="graph"?p.jsx(M.Suspense,{fallback:p.jsx("div",{className:"text-sm text-muted-foreground p-4",children:"Loading graph…"}),children:p.jsx(A6,{root:n.plan,onSelect:o,selectedId:s==null?void 0:s.id})}):p.jsx("div",{className:"overflow-x-auto font-mono text-sm",children:p.jsx($y,{node:n.plan,depth:0,onSelect:o,selectedId:s==null?void 0:s.id})})]}),s&&p.jsx(d6,{node:s,onClose:()=>o(null)})]}),t==="stats"&&n.stats&&p.jsx(S6,{stats:n.stats,hasAnalyze:n.summary.hasAnalyze}),t==="tables"&&p.jsx("div",{className:"space-y-2",children:e.map(_=>{var v;return p.jsxs("div",{className:"rounded-lg border p-3 text-sm",style:{background:"var(--card)"},children:[p.jsx("div",{className:"font-medium",children:_.relation}),p.jsxs("div",{className:"text-muted-foreground mt-1",children:["~",((v=_.estRows)==null?void 0:v.toLocaleString())??"?"," rows · ",wB(_.totalBytes)," · ",_.indexes.length," index",_.indexes.length===1?"":"es",!_.lastAnalyze&&!_.lastAutoanalyze&&p.jsx("span",{style:{color:"var(--sev-warn)"},children:" · never analyzed (stats may be stale)"})]}),_.indexes.length>0&&p.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["indexes: ",_.indexes.join(", ")]})]},_.relation)})}),t==="raw"&&p.jsx("pre",{className:"text-xs overflow-x-auto bg-secondary rounded-md p-3",children:JSON.stringify(n,null,2)})]})}function S6({stats:n,hasAnalyze:e}){return p.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[p.jsx(HA,{title:"By node type",rows:n.byNodeType,hasAnalyze:e}),p.jsx(HA,{title:"By table",rows:n.byRelation,hasAnalyze:e}),p.jsx(HA,{title:"By index",rows:n.byIndex,hasAnalyze:e})]})}function HA({title:n,rows:e,hasAnalyze:t}){const[i,s]=M.useState(t?"selfMs":"count"),o=[...e].sort((E,h)=>i==="key"?E.key.localeCompare(h.key):i==="count"?h.count-E.count:h.selfMs-E.selfMs),a=Math.max(...e.map(E=>E.selfMs),1e-4),u=(E,h,T="")=>p.jsx(Tt,{variant:"ghost",onClick:()=>s(E),className:`h-auto p-0 text-xs font-medium ${i===E?"text-foreground":"text-muted-foreground"} ${T}`,children:h});return p.jsxs("div",{className:"rounded-lg border p-3 min-w-0",style:{background:"var(--card)"},children:[p.jsxs("div",{className:"text-xs uppercase tracking-wide text-muted-foreground mb-2",children:[n," ",p.jsxs("span",{className:"normal-case",children:["· ",e.length]})]}),e.length===0?p.jsx("div",{className:"text-sm text-muted-foreground",children:"—"}):p.jsxs("table",{className:"w-full text-sm text-muted-foreground",children:[p.jsx("thead",{className:"text-left text-xs",children:p.jsxs("tr",{children:[p.jsx("th",{className:"font-medium",children:u("key","Name")}),p.jsx("th",{className:"font-medium text-right w-10",children:u("count","n")}),t&&p.jsx("th",{className:"font-medium text-right",children:u("selfMs","self")})]})}),p.jsx("tbody",{children:o.map(E=>p.jsxs("tr",{className:"border-t border-border/60",children:[p.jsx("td",{className:"py-1 pr-2 text-foreground truncate max-w-[10rem]",title:E.key,children:E.key}),p.jsx("td",{className:"py-1 text-right tabular-nums",children:E.count}),t&&p.jsxs("td",{className:"py-1 text-right tabular-nums whitespace-nowrap",children:[p.jsx("span",{className:"inline-block align-middle mr-1 h-1.5 rounded",style:{width:`${Math.round(E.selfMs/a*36)}px`,background:"var(--sev-info)"}}),E.selfMs.toFixed(1),"ms ",p.jsxs("span",{className:"text-xs",children:["(",E.pctOfTotal.toFixed(0),"%)"]})]})]},E.key))})]})]})}function YL({d:n,lock:e}){var t;return p.jsxs("div",{className:"rounded-lg border p-3",style:{background:"var(--card)"},children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("span",{className:"text-xs font-semibold px-2 py-0.5 rounded text-white",style:{background:rO[n.severity]},children:c6[n.severity]}),e&&p.jsxs("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-0.5 rounded bg-secondary",children:[p.jsx(hR,{className:"size-3"})," lock"]}),p.jsx("span",{className:"font-medium",children:n.title}),p.jsx("span",{className:"text-xs text-muted-foreground ml-auto",children:n.code})]}),p.jsxs("p",{className:"text-sm mt-2",children:[p.jsx("b",{children:"What:"})," ",n.detail]}),p.jsxs("p",{className:"text-sm text-muted-foreground",children:[p.jsx("b",{children:"Why:"})," ",n.cause]}),p.jsxs("p",{className:"text-sm mt-1",children:[p.jsx("b",{children:"Fix:"})," ",n.remediation.summary]}),(t=n.remediation.commands)==null?void 0:t.map((i,s)=>p.jsx("pre",{className:"text-xs bg-secondary rounded p-2 mt-2 overflow-x-auto",children:i.sql??i.shell},s)),n.docsUrl&&p.jsxs("a",{className:"inline-flex items-center gap-1 text-xs text-sev-info underline",href:n.docsUrl,target:"_blank",rel:"noreferrer",children:["PostgreSQL docs ",p.jsx(sG,{className:"size-3"})]})]})}function $y({node:n,depth:e,onSelect:t,selectedId:i}){const s=n.metrics,o=s.pctOfTotal??0,a=o>=50?"var(--sev-error)":o>=20?"var(--sev-warn)":void 0,u=`${n.nodeType}${n.relationName?` on ${n.relationName}`:""}${n.indexName?` using ${n.indexName}`:""}`,E=n.actualLoops===0;return p.jsxs("div",{children:[p.jsx("div",{style:{paddingLeft:`${e*16}px`},children:p.jsxs(Tt,{variant:"ghost",onClick:()=>t(n),className:`h-auto px-1 -mx-1 justify-start font-normal whitespace-normal text-left ${i===n.id?"bg-accent ring-1 ring-[var(--sev-info)]":""}`,children:[p.jsxs("span",{style:{color:a,fontWeight:a?600:400},children:[e>0&&p.jsx(nG,{className:"inline size-3 mr-1 -translate-y-px text-muted-foreground"}),u]}),p.jsxs("span",{className:"text-muted-foreground",children:[E&&" (never executed)",s.totalRows!=null&&` rows=${s.totalRows.toLocaleString()}`,s.estimateFactor!=null&&s.estimateFactor>=2&&s.estimateDirection!=="accurate"&&` (${s.estimateFactor.toFixed(0)}× ${s.estimateDirection})`,s.selfMs!=null&&` self ${s.selfMs.toFixed(1)} ms`,s.pctOfTotal!=null&&s.pctOfTotal>=1&&` (${s.pctOfTotal.toFixed(0)}%)`]})]})}),n.children.map(h=>p.jsx($y,{node:h,depth:e+1,onSelect:t,selectedId:i},h.id))]})}function jy(n,e,t){const i=URL.createObjectURL(new Blob([n],{type:t})),s=document.createElement("a");s.href=i,s.download=`pgexplain-${e}`,s.click(),URL.revokeObjectURL(i)}async function kL(n,e,t,i){try{jy(await hn.export(n,e),t,i)}catch(s){const o=s;Io(`Export failed: ${o.detail||o.title||"server unreachable"}`,"error")}}function R6({script:n}){const e=n.units.filter(i=>i.status==="analyzed").length,t=n.units.length-e;return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{className:"rounded-lg p-3 border-l-4",style:{borderColor:"var(--sev-info)",background:"var(--card)"},children:[p.jsx("div",{className:"font-medium",children:"Cost-only analysis — nothing was executed"}),p.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Extracted ",n.units.length," statement(s) · ",e," analyzed, ",t," skipped. No rows touched, no sequences advanced, no triggers fired",n.serverMajor?` · PG ${n.serverMajor}`:"","."]})]}),n.units.map((i,s)=>p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-1 font-medium text-sm",children:[p.jsx(pD,{className:"size-4 shrink-0"})," ",i.label,i.loopNote&&p.jsxs("span",{className:"text-muted-foreground",children:[" (",i.loopNote,")"]})]}),i.status==="analyzed"&&i.report?p.jsx(zy,{report:i.report,stats:[]}):p.jsxs("div",{className:"rounded-lg border p-3 text-sm",style:{background:"var(--card)"},children:[p.jsxs("span",{style:{color:i.status==="error"?"var(--sev-warn)":"var(--muted-foreground)"},children:[i.status==="error"?"Could not analyze":"Skipped",":"]})," ",i.reason,i.errorCode&&p.jsxs("span",{className:"text-xs text-muted-foreground",children:[" [",i.errorCode,"]"]})]})]},`${i.label}-${s}`))]})}function O6({settings:n,onClose:e}){const[t,i]=M.useState(n.thresholds),s=async()=>{try{await hn.saveSettings({thresholds:t,rules:n.rules}),Io("Settings saved — applied to new analyses.")}catch(o){Io(`Could not save settings: ${o.title}`,"error")}};return p.jsxs("div",{className:"max-w-2xl space-y-4",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"font-medium",children:"Settings"}),p.jsx("span",{className:"text-xs text-muted-foreground",children:"Advisor thresholds — saved to your data dir and applied to new analyses."}),p.jsx(Tt,{variant:"secondary",size:"sm",className:"ml-auto",onClick:e,children:"Close"})]}),p.jsx("div",{className:"grid grid-cols-2 gap-2",children:Object.entries(t).map(([o,a])=>p.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[p.jsx("span",{className:"flex-1 text-muted-foreground",children:o}),p.jsx(zr,{type:"number",value:a,onChange:u=>i({...t,[o]:Number(u.target.value)}),className:"w-28"})]},o))}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx(Tt,{onClick:s,children:"Save"}),p.jsx("span",{className:"text-xs text-muted-foreground",children:"Per-rule enable/severity overrides are editable in the config file."})]})]})}const wA="__manual__";function N6(){const[n,e]=M.useState(()=>localStorage.getItem("theme")==="dark");M.useEffect(()=>{document.documentElement.classList.toggle("dark",n),localStorage.setItem("theme",n?"dark":"light")},[n]);const[t,i]=M.useState("run"),[s,o]=M.useState("select * from pg_class limit 50"),[a,u]=M.useState(""),[E,h]=M.useState({host:"",port:"",database:"",user:"",password:""}),[T,A]=M.useState(null),[R,O]=M.useState(null),[N,m]=M.useState(!1),[C,L]=M.useState([]),[D,_]=M.useState(null),[v,U]=M.useState(!1),[G,B]=M.useState([]),[F,oe]=M.useState(null),[fe,ie]=M.useState(null),[ee,Ee]=M.useState(null),[ae,Te]=M.useState([]),[x,z]=M.useState(""),[ne,ce]=M.useState([]),[J,P]=M.useState([]),[X,le]=M.useState(null),[se,he]=M.useState(null),[Se,ue]=M.useState(!0),[_e,Ne]=M.useState(""),[Be,ye]=M.useState(!1),Ue=M.useRef(null),Rt=M.useMemo(()=>{const re=_e.trim().toLowerCase();return re?C.filter(ve=>ve.verdict.toLowerCase().includes(re)||ve.kind.includes(re)||new Date(ve.createdAt).toLocaleString().toLowerCase().includes(re)):C},[C,_e]),Je=M.useMemo(()=>{const re={};for(const ve of J)re[ve.name]=ve.columns,re[`${ve.schema}.${ve.name}`]=ve.columns;return re},[J]),Et=M.useCallback(()=>{o(re=>{try{return pk(re,{language:"postgresql"})}catch{return re}})},[]);M.useEffect(()=>{const re=We=>We instanceof HTMLElement&&!!We.closest("input, textarea, [contenteditable=true]"),ve=We=>{var Sn;const dt=We.metaKey||We.ctrlKey;dt&&!We.shiftKey&&We.key.toLowerCase()==="k"?(We.preventDefault(),(Sn=Ue.current)==null||Sn.focus()):dt&&We.shiftKey&&We.key.toLowerCase()==="f"?(We.preventDefault(),Et()):We.key==="?"&&!dt&&!re(We.target)?ye(sh=>!sh):We.key==="Escape"&&ye(!1)};return window.addEventListener("keydown",ve),()=>window.removeEventListener("keydown",ve)},[Et]);const Ct=M.useCallback(()=>{hn.history().then(re=>L(re.runs)).catch(()=>{})},[]),Bt=M.useCallback(()=>{hn.connections().then(re=>Te(re.connections)).catch(()=>{})},[]);M.useEffect(Ct,[Ct]),M.useEffect(Bt,[Bt]),M.useEffect(()=>{if(!x){P([]);return}let re=!1;return hn.catalog({connectionId:x}).then(ve=>!re&&P(ve.tables)).catch(()=>{}),()=>{re=!0}},[x]);const Ci=async()=>{const re=prompt("Name this connection:");re&&(await hn.createConnection({name:re,...FA(E)}),Bt())},gs=async()=>{var re;m(!0),O(null),Ee(null),le(null);try{const ve=x?{connectionId:x}:{connection:FA(E)};if(t==="run"&&HB(s)){Ee(await hn.analyzeSql({...ve,sql:s})),A(null);return}const We=t==="run"?await hn.run({...ve,sql:s}):await hn.analyze(a,s.trim()||void 0);if(A(We),ce([]),We.runId&&(window.location.hash=`run=${We.runId}`),Ct(),t==="run"){const dt=mD(We.plan);dt.length&&hn.schema({...ve,relations:dt}).then(Sn=>ce(Sn.relations)).catch(()=>{}),!x&&J.length===0&&hn.catalog(ve).then(Sn=>P(Sn.tables)).catch(()=>{})}}catch(ve){const We=ve;O(We),A(null);const dt=(re=We.meta)==null?void 0:re.position;t==="run"&&typeof dt=="number"&&dt>0&&le({offset:dt-1,message:We.detail||We.title})}finally{m(!1)}},zn=M.useCallback(async re=>{try{const ve=await hn.getRun(re);A({...ve.report,runId:ve.id}),ce([]),_(null),oe(null),Ee(null),O(null),window.location.hash=`run=${ve.id}`}catch(ve){O(ve),Io("Run not found — it may have been deleted from history.","error"),window.location.hash=""}},[]);M.useEffect(()=>{var ve;const re=(ve=window.location.hash.match(/^#run=(.+)$/))==null?void 0:ve[1];re&&zn(decodeURIComponent(re))},[zn]);const Go=re=>{if(!v){zn(re);return}B(ve=>ve.includes(re)?ve.filter(We=>We!==re):[...ve,re].slice(-2))},nh=async()=>{if(G.length===2){O(null);try{const[re,ve]=G,We=C.findIndex(dt=>dt.id===re)>C.findIndex(dt=>dt.id===ve);oe(await hn.diff(We?re:ve,We?ve:re)),A(null),_(null),Ee(null)}catch(re){O(re)}}},ih=async()=>{m(!0),O(null);try{_(await hn.liveLocks(x?{connectionId:x}:{connection:FA(E)})),A(null),Ee(null)}catch(re){O(re)}finally{m(!1)}};return p.jsxs("div",{className:`h-screen grid overflow-hidden ${Se?"grid-cols-1 md:grid-cols-[260px_1fr]":"grid-cols-1"}`,children:[Se&&p.jsxs("aside",{className:"border-r hidden md:flex flex-col min-h-0","aria-label":"History and schema",children:[p.jsxs("div",{className:"px-4 py-3 border-b",children:[p.jsx("div",{className:"font-semibold",children:"pgexplain studio"}),p.jsx("div",{className:"text-xs text-muted-foreground",children:"PostgreSQL EXPLAIN, locally"})]}),p.jsxs("div",{className:"px-3 py-2 flex items-center gap-1",children:[p.jsx("span",{className:"text-xs uppercase tracking-wide text-muted-foreground flex-1",children:"History"}),p.jsx(Tt,{variant:v?"default":"secondary",size:"sm",onClick:()=>{U(re=>!re),B([])},children:"Compare"}),p.jsx(Tt,{variant:"ghost",size:"icon",title:n?"Switch to light mode":"Switch to dark mode",onClick:()=>e(re=>!re),children:n?p.jsx(OG,{className:"size-4"}):p.jsx(EG,{className:"size-4"})}),p.jsx(Tt,{variant:"ghost",size:"icon",title:"Settings",onClick:async()=>ie(await hn.settings()),children:p.jsx(SG,{className:"size-4"})})]}),v&&p.jsx("div",{className:"px-3 pb-2",children:p.jsxs(Tt,{variant:"secondary",size:"sm",className:"w-full",disabled:G.length!==2,onClick:nh,children:["Diff selected (",G.length,"/2)"]})}),C.length>0&&p.jsx("div",{className:"px-3 pb-2",children:p.jsx(zr,{placeholder:"Filter history…",value:_e,onChange:re=>Ne(re.target.value),className:"h-8 text-sm"})}),p.jsxs("div",{className:"flex-1 overflow-y-auto px-2 pb-4 space-y-1",children:[C.length===0&&p.jsx("div",{className:"px-2 text-sm text-muted-foreground",children:"No runs yet."}),C.length>0&&Rt.length===0&&p.jsxs("div",{className:"px-2 text-sm text-muted-foreground",children:['No runs match "',_e,'".']}),Rt.map(re=>p.jsxs(Tt,{variant:"ghost",onClick:()=>Go(re.id),className:`w-full flex-col items-start h-auto px-2 py-2 font-normal whitespace-normal ${G.includes(re.id)?"ring-2 ring-[var(--sev-info)]":""}`,children:[p.jsxs("div",{className:"flex items-center gap-2 w-full",children:[p.jsx("span",{className:"size-2 rounded-full shrink-0",style:{background:re.worstSeverity?rO[re.worstSeverity]:"var(--sev-info)"}}),p.jsx("span",{className:"truncate flex-1 text-sm text-left",children:re.verdict||re.kind})]}),p.jsxs("div",{className:"text-xs text-muted-foreground mt-0.5 w-full text-left",children:[re.kind," · ",re.execMs!=null?`${re.execMs.toFixed(0)} ms`:"no timing"]})]},re.id))]}),J.length>0&&p.jsxs("div",{className:"border-t flex flex-col min-h-0 max-h-[45%]",children:[p.jsxs("div",{className:"px-3 py-2 text-xs uppercase tracking-wide text-muted-foreground",children:["Schema · ",J.length," tables"]}),p.jsx("div",{className:"flex-1 overflow-y-auto px-2 pb-3 space-y-0.5",children:J.map(re=>{const ve=`${re.schema}.${re.name}`,We=se===ve;return p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center gap-1",children:[p.jsx(Tt,{variant:"ghost",onClick:()=>he(We?null:ve),className:"h-5 w-5 p-0 text-muted-foreground shrink-0",children:We?p.jsx(fR,{className:"size-3.5"}):p.jsx(pD,{className:"size-3.5"})}),p.jsx(Tt,{variant:"ghost",onClick:()=>{var dt;return(dt=Ue.current)==null?void 0:dt.insertText(re.name)},title:`${ve} — click to insert`,className:"flex-1 justify-start h-7 px-1 text-sm min-w-0",children:p.jsx("span",{className:"truncate",children:re.name})})]}),We&&p.jsx("div",{className:"ml-5 border-l pl-2 space-y-0.5 py-0.5",children:re.columns.map(dt=>p.jsx(Tt,{variant:"ghost",onClick:()=>{var Sn;return(Sn=Ue.current)==null?void 0:Sn.insertText(dt)},className:"w-full justify-start h-6 px-1 text-xs text-muted-foreground font-normal min-w-0",children:p.jsx("span",{className:"truncate",children:dt})},dt))})]},ve)})})]})]}),p.jsxs("main",{className:"flex flex-col min-h-0 overflow-hidden",children:[p.jsxs("div",{className:"border-b p-4 space-y-3",children:[p.jsxs("div",{className:"flex gap-2 items-center",role:"tablist","aria-label":"Input mode",children:[p.jsx(Tt,{variant:"ghost",size:"icon-sm",className:"hidden md:inline-flex",title:Se?"Hide sidebar":"Show sidebar","aria-label":Se?"Hide sidebar":"Show sidebar",onClick:()=>ue(re=>!re),children:p.jsx(hG,{className:"size-4"})}),p.jsx(Bi,{active:t==="run",onClick:()=>i("run"),children:"Run query"}),p.jsx(Bi,{active:t==="paste",onClick:()=>i("paste"),children:"Paste plan"})]}),t==="run"&&p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs(IG,{value:x||wA,onValueChange:re=>z(re===wA?"":re),children:[p.jsx(CG,{className:"flex-1",children:p.jsx(pG,{})}),p.jsxs(gG,{children:[p.jsx(Qp,{value:wA,children:"Manual connection / PG* env"}),ae.map(re=>p.jsxs(Qp,{value:re.id,children:[re.name," ",re.database?`(${re.database})`:""]},re.id))]})]}),!x&&p.jsx(Tt,{variant:"secondary",size:"sm",onClick:Ci,children:"Save connection"})]}),!x&&p.jsxs("div",{className:"grid grid-cols-5 gap-2",children:[p.jsx(zr,{placeholder:"host (blank = local socket)",value:E.host,onChange:re=>h({...E,host:re.target.value})}),p.jsx(zr,{placeholder:"port",value:E.port,onChange:re=>h({...E,port:re.target.value})}),p.jsx(zr,{placeholder:"database",value:E.database,onChange:re=>h({...E,database:re.target.value})}),p.jsx(zr,{placeholder:"user",value:E.user,onChange:re=>h({...E,user:re.target.value})}),p.jsx(zr,{type:"password",placeholder:"password",value:E.password,onChange:re=>h({...E,password:re.target.value})})]})]}),t==="paste"?p.jsx("div",{className:"rounded-md border overflow-hidden",children:p.jsx(GL,{language:"json",value:a,onChange:u,placeholder:"Paste EXPLAIN (FORMAT JSON) output here",minHeight:"140px"})}):null,p.jsx("div",{className:"rounded-md border overflow-hidden",children:p.jsx(GL,{ref:Ue,language:"sql",value:s,onChange:o,onRun:gs,schema:Je,error:X,placeholder:t==="run"?"SELECT … — ⌘/Ctrl+Enter to run":"Optional: the SQL, to enable lock warnings",minHeight:"120px"})}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx(Tt,{onClick:gs,disabled:N,children:N?"Explaining…":t==="run"?"Explain":"Analyze"}),p.jsx(Tt,{variant:"secondary",onClick:Et,title:"Format SQL (Shift+⌘/Ctrl+F)",children:"Format"}),t==="run"&&p.jsxs(Tt,{variant:"secondary",onClick:ih,disabled:N,children:[p.jsx(hR,{className:"size-4"})," Live locks"]}),p.jsx("span",{className:"text-xs text-muted-foreground",children:t==="run"?"Runs EXPLAIN (ANALYZE, BUFFERS) safely — rolled back, read-only.":"No database needed."})]})]}),p.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[fe&&p.jsx(O6,{settings:fe,onClose:()=>ie(null)}),!fe&&R&&p.jsx(m6,{err:R}),!fe&&ee&&p.jsx(R6,{script:ee}),!fe&&F&&!ee&&p.jsx(s6,{diff:F,onClose:()=>oe(null)}),!fe&&D&&!F&&!ee&&p.jsx(r6,{live:D,onClose:()=>_(null)}),!fe&&T&&!D&&!F&&!ee&&p.jsx(zy,{report:T,stats:ne}),!fe&&!R&&!T&&!D&&!F&&!ee&&p.jsx(I6,{})]})]}),Be&&p.jsx("div",{className:"fixed inset-0 z-40 bg-black/30 flex items-center justify-center",onClick:()=>ye(!1),role:"dialog","aria-label":"Keyboard shortcuts",children:p.jsxs("div",{className:"rounded-lg border bg-card p-5 text-sm shadow-xl min-w-64",onClick:re=>re.stopPropagation(),children:[p.jsx("div",{className:"font-medium mb-3",children:"Keyboard shortcuts"}),p.jsx(wa,{keys:"⌘/Ctrl + Enter",label:"Run / analyze"}),p.jsx(wa,{keys:"⌘/Ctrl + K",label:"Focus SQL editor"}),p.jsx(wa,{keys:"⇧ + ⌘/Ctrl + F",label:"Format SQL"}),p.jsx(wa,{keys:"?",label:"Toggle this help"}),p.jsx(wa,{keys:"Esc",label:"Close"})]})}),p.jsx(PG,{})]})}function wa({keys:n,label:e}){return p.jsxs("div",{className:"flex items-center gap-4 py-1",children:[p.jsx("kbd",{className:"rounded bg-secondary px-1.5 py-0.5 text-xs font-mono",children:n}),p.jsx("span",{className:"text-muted-foreground ml-auto",children:e})]})}function FA(n){const e={};for(const[t,i]of Object.entries(n))i&&(e[t]=t==="port"?Number(i):i);return e}function m6({err:n}){var e;return p.jsxs("div",{className:"rounded-lg border-l-4 p-4",style:{borderColor:"var(--sev-error)",background:"var(--card)"},children:[p.jsxs("div",{className:"font-medium",children:[n.title," ",p.jsx("span",{className:"text-xs text-muted-foreground",children:n.code})]}),n.detail&&p.jsx("p",{className:"text-sm mt-1",children:n.detail}),((e=n.remediation)==null?void 0:e.summary)&&p.jsxs("p",{className:"text-sm mt-1",children:[p.jsx("b",{children:"Fix:"})," ",n.remediation.summary]})]})}function I6(){return p.jsx("div",{className:"h-full flex items-center justify-center text-center text-muted-foreground",children:p.jsxs("div",{children:[p.jsx("div",{className:"text-lg",children:"Run a query or paste a plan"}),p.jsx("div",{className:"text-sm mt-1",children:"Findings tell you what's slow and exactly how to fix it."})]})})}const Jy=document.getElementById("root");if(!Jy)throw new Error("missing #root");gU.createRoot(Jy).render(p.jsx(M.StrictMode,{children:p.jsx(N6,{})}));export{Tt as B,OU as R,M as a,VL as g,p as j,f6 as n,qS as r};
|