database-devtools 0.1.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/LICENSE +5 -0
- package/dist/adapter/index.cjs +314 -0
- package/dist/adapter/index.cjs.map +1 -0
- package/dist/adapter/index.d.cts +34 -0
- package/dist/adapter/index.d.ts +34 -0
- package/dist/adapter/index.js +6 -0
- package/dist/adapter/index.js.map +1 -0
- package/dist/adapter-BjJm71wW.d.cts +30 -0
- package/dist/adapter-DJSjDewg.d.ts +30 -0
- package/dist/adapters/sqlite/index.cjs +251 -0
- package/dist/adapters/sqlite/index.cjs.map +1 -0
- package/dist/adapters/sqlite/index.d.cts +21 -0
- package/dist/adapters/sqlite/index.d.ts +21 -0
- package/dist/adapters/sqlite/index.js +6 -0
- package/dist/adapters/sqlite/index.js.map +1 -0
- package/dist/chunk-2JGL2JVD.js +52 -0
- package/dist/chunk-2JGL2JVD.js.map +1 -0
- package/dist/chunk-AZECU6D7.js +27 -0
- package/dist/chunk-AZECU6D7.js.map +1 -0
- package/dist/chunk-BLOSGEQV.js +71 -0
- package/dist/chunk-BLOSGEQV.js.map +1 -0
- package/dist/chunk-CPVVIH5G.js +258 -0
- package/dist/chunk-CPVVIH5G.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +10 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/chunk-HIDZTOJ3.js +9 -0
- package/dist/chunk-HIDZTOJ3.js.map +1 -0
- package/dist/chunk-I65IM47D.js +243 -0
- package/dist/chunk-I65IM47D.js.map +1 -0
- package/dist/chunk-MXVIGMVT.js +3 -0
- package/dist/chunk-MXVIGMVT.js.map +1 -0
- package/dist/chunk-O6AO7KHA.js +3 -0
- package/dist/chunk-O6AO7KHA.js.map +1 -0
- package/dist/chunk-TNDOAHT5.js +1784 -0
- package/dist/chunk-TNDOAHT5.js.map +1 -0
- package/dist/chunk-ZS5MZR75.js +655 -0
- package/dist/chunk-ZS5MZR75.js.map +1 -0
- package/dist/cli.cjs +2053 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/client/index.cjs +947 -0
- package/dist/client/index.cjs.map +1 -0
- package/dist/client/index.d.cts +75 -0
- package/dist/client/index.d.ts +75 -0
- package/dist/client/index.js +98 -0
- package/dist/client/index.js.map +1 -0
- package/dist/createDevToolsServer-B7NQ_5H4.d.cts +292 -0
- package/dist/createDevToolsServer-DlNMoCJR.d.ts +292 -0
- package/dist/handleDeviceSnapshot-CR-4QMdk.d.ts +116 -0
- package/dist/handleDeviceSnapshot-cYGuitSc.d.cts +116 -0
- package/dist/index.cjs +5877 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +61 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.js +2748 -0
- package/dist/index.js.map +1 -0
- package/dist/inspector/index.cjs +57 -0
- package/dist/inspector/index.cjs.map +1 -0
- package/dist/inspector/index.d.cts +26 -0
- package/dist/inspector/index.d.ts +26 -0
- package/dist/inspector/index.js +5 -0
- package/dist/inspector/index.js.map +1 -0
- package/dist/inspectors/sqlite/index.cjs +306 -0
- package/dist/inspectors/sqlite/index.cjs.map +1 -0
- package/dist/inspectors/sqlite/index.d.cts +53 -0
- package/dist/inspectors/sqlite/index.d.ts +53 -0
- package/dist/inspectors/sqlite/index.js +260 -0
- package/dist/inspectors/sqlite/index.js.map +1 -0
- package/dist/register-BuicFu9L.d.cts +32 -0
- package/dist/register-aITLN9Q9.d.ts +32 -0
- package/dist/server/index.cjs +1948 -0
- package/dist/server/index.cjs.map +1 -0
- package/dist/server/index.d.cts +15 -0
- package/dist/server/index.d.ts +15 -0
- package/dist/server/index.js +7 -0
- package/dist/server/index.js.map +1 -0
- package/dist/snapshot-Dhyecgo2.d.cts +33 -0
- package/dist/snapshot-Dhyecgo2.d.ts +33 -0
- package/dist/types/protocol.cjs +309 -0
- package/dist/types/protocol.cjs.map +1 -0
- package/dist/types/protocol.d.cts +291 -0
- package/dist/types/protocol.d.ts +291 -0
- package/dist/types/protocol.js +4 -0
- package/dist/types/protocol.js.map +1 -0
- package/dist/types-BRLJdBRY.d.cts +16 -0
- package/dist/types-CF6qEU-_.d.ts +16 -0
- package/dist/types-CIA11diJ.d.cts +62 -0
- package/dist/types-CKVRCX-e.d.ts +62 -0
- package/dist/web/assets/index-CLEaIsUd.css +1 -0
- package/dist/web/assets/index-DQrPRTOy.js +100 -0
- package/dist/web/assets/sql-wasm-UFUCzYNW.wasm +0 -0
- package/dist/web/index.html +26 -0
- package/dist/write-C3toEIMs.d.cts +21 -0
- package/dist/write-C3toEIMs.d.ts +21 -0
- package/package.json +137 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var vp=Object.defineProperty;var Gp=(i,e,t)=>e in i?vp(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var ln=(i,e,t)=>Gp(i,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))s(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const E of o.addedNodes)E.tagName==="LINK"&&E.rel==="modulepreload"&&s(E)}).observe(document,{childList:!0,subtree:!0});function t(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(a){if(a.ep)return;a.ep=!0;const o=t(a);fetch(a.href,o)}})();function TC(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var XA={exports:{}},mo={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var UN;function Bp(){if(UN)return mo;UN=1;var i=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function t(s,a,o){var E=null;if(o!==void 0&&(E=""+o),a.key!==void 0&&(E=""+a.key),"key"in a){o={};for(var T in a)T!=="key"&&(o[T]=a[T])}else o=a;return a=o.ref,{$$typeof:i,type:s,key:E,ref:a!==void 0?a:null,props:o}}return mo.Fragment=e,mo.jsx=t,mo.jsxs=t,mo}var yN;function xp(){return yN||(yN=1,XA.exports=Bp()),XA.exports}var I=xp(),KA={exports:{}},Ke={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react.production.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var bN;function Hp(){if(bN)return Ke;bN=1;var i=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),E=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),O=Symbol.iterator;function d(U){return U===null||typeof U!="object"?null:(U=O&&U[O]||U["@@iterator"],typeof U=="function"?U:null)}var L={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},p=Object.assign,g={};function v(U,P,q){this.props=U,this.context=P,this.refs=g,this.updater=q||L}v.prototype.isReactComponent={},v.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=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,U,P,"setState")},v.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function B(){}B.prototype=v.prototype;function K(U,P,q){this.props=U,this.context=P,this.refs=g,this.updater=q||L}var Z=K.prototype=new B;Z.constructor=K,p(Z,v.prototype),Z.isPureReactComponent=!0;var Te=Array.isArray,$={H:null,A:null,T:null,S:null,V:null},ae=Object.prototype.hasOwnProperty;function j(U,P,q,ee,le,Oe){return q=Oe.ref,{$$typeof:i,type:U,key:P,ref:q!==void 0?q:null,props:Oe}}function ce(U,P){return j(U.type,P,void 0,void 0,void 0,U.props)}function he(U){return typeof U=="object"&&U!==null&&U.$$typeof===i}function Se(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(q){return P[q]})}var de=/\/+/g;function ue(U,P){return typeof U=="object"&&U!==null&&U.key!=null?Se(""+U.key):P.toString(36)}function Le(){}function Pe(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(Le,Le):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function Ue(U,P,q,ee,le){var Oe=typeof U;(Oe==="undefined"||Oe==="boolean")&&(U=null);var Ne=!1;if(U===null)Ne=!0;else switch(Oe){case"bigint":case"string":case"number":Ne=!0;break;case"object":switch(U.$$typeof){case i:case e:Ne=!0;break;case R:return Ne=U._init,Ue(Ne(U._payload),P,q,ee,le)}}if(Ne)return le=le(U),Ne=ee===""?"."+ue(U,0):ee,Te(le)?(q="",Ne!=null&&(q=Ne.replace(de,"$&/")+"/"),Ue(le,P,q,"",function(Dt){return Dt})):le!=null&&(he(le)&&(le=ce(le,q+(le.key==null||U&&U.key===le.key?"":(""+le.key).replace(de,"$&/")+"/")+Ne)),P.push(le)),1;Ne=0;var We=ee===""?".":ee+":";if(Te(U))for(var $e=0;$e<U.length;$e++)ee=U[$e],Oe=We+ue(ee,$e),Ne+=Ue(ee,P,q,Oe,le);else if($e=d(U),typeof $e=="function")for(U=$e.call(U),$e=0;!(ee=U.next()).done;)ee=ee.value,Oe=We+ue(ee,$e++),Ne+=Ue(ee,P,q,Oe,le);else if(Oe==="object"){if(typeof U.then=="function")return Ue(Pe(U),P,q,ee,le);throw P=String(U),Error("Objects are not valid as a React child (found: "+(P==="[object Object]"?"object with keys {"+Object.keys(U).join(", ")+"}":P)+"). If you meant to render a collection of children, use an array instead.")}return Ne}function X(U,P,q){if(U==null)return U;var ee=[],le=0;return Ue(U,ee,"","",function(Oe){return P.call(q,Oe,le++)}),ee}function Ee(U){if(U._status===-1){var P=U._result;P=P(),P.then(function(q){(U._status===0||U._status===-1)&&(U._status=1,U._result=q)},function(q){(U._status===0||U._status===-1)&&(U._status=2,U._result=q)}),U._status===-1&&(U._status=0,U._result=P)}if(U._status===1)return U._result.default;throw U._result}var fe=typeof reportError=="function"?reportError:function(U){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var P=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof U=="object"&&U!==null&&typeof U.message=="string"?String(U.message):String(U),error:U});if(!window.dispatchEvent(P))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",U);return}console.error(U)};function De(){}return Ke.Children={map:X,forEach:function(U,P,q){X(U,function(){P.apply(this,arguments)},q)},count:function(U){var P=0;return X(U,function(){P++}),P},toArray:function(U){return X(U,function(P){return P})||[]},only:function(U){if(!he(U))throw Error("React.Children.only expected to receive a single React element child.");return U}},Ke.Component=v,Ke.Fragment=t,Ke.Profiler=a,Ke.PureComponent=K,Ke.StrictMode=s,Ke.Suspense=c,Ke.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=$,Ke.__COMPILER_RUNTIME={__proto__:null,c:function(U){return $.H.useMemoCache(U)}},Ke.cache=function(U){return function(){return U.apply(null,arguments)}},Ke.cloneElement=function(U,P,q){if(U==null)throw Error("The argument must be a React element, but you passed "+U+".");var ee=p({},U.props),le=U.key,Oe=void 0;if(P!=null)for(Ne in P.ref!==void 0&&(Oe=void 0),P.key!==void 0&&(le=""+P.key),P)!ae.call(P,Ne)||Ne==="key"||Ne==="__self"||Ne==="__source"||Ne==="ref"&&P.ref===void 0||(ee[Ne]=P[Ne]);var Ne=arguments.length-2;if(Ne===1)ee.children=q;else if(1<Ne){for(var We=Array(Ne),$e=0;$e<Ne;$e++)We[$e]=arguments[$e+2];ee.children=We}return j(U.type,le,void 0,void 0,Oe,ee)},Ke.createContext=function(U){return U={$$typeof:E,_currentValue:U,_currentValue2:U,_threadCount:0,Provider:null,Consumer:null},U.Provider=U,U.Consumer={$$typeof:o,_context:U},U},Ke.createElement=function(U,P,q){var ee,le={},Oe=null;if(P!=null)for(ee in P.key!==void 0&&(Oe=""+P.key),P)ae.call(P,ee)&&ee!=="key"&&ee!=="__self"&&ee!=="__source"&&(le[ee]=P[ee]);var Ne=arguments.length-2;if(Ne===1)le.children=q;else if(1<Ne){for(var We=Array(Ne),$e=0;$e<Ne;$e++)We[$e]=arguments[$e+2];le.children=We}if(U&&U.defaultProps)for(ee in Ne=U.defaultProps,Ne)le[ee]===void 0&&(le[ee]=Ne[ee]);return j(U,Oe,void 0,void 0,null,le)},Ke.createRef=function(){return{current:null}},Ke.forwardRef=function(U){return{$$typeof:T,render:U}},Ke.isValidElement=he,Ke.lazy=function(U){return{$$typeof:R,_payload:{_status:-1,_result:U},_init:Ee}},Ke.memo=function(U,P){return{$$typeof:A,type:U,compare:P===void 0?null:P}},Ke.startTransition=function(U){var P=$.T,q={};$.T=q;try{var ee=U(),le=$.S;le!==null&&le(q,ee),typeof ee=="object"&&ee!==null&&typeof ee.then=="function"&&ee.then(De,fe)}catch(Oe){fe(Oe)}finally{$.T=P}},Ke.unstable_useCacheRefresh=function(){return $.H.useCacheRefresh()},Ke.use=function(U){return $.H.use(U)},Ke.useActionState=function(U,P,q){return $.H.useActionState(U,P,q)},Ke.useCallback=function(U,P){return $.H.useCallback(U,P)},Ke.useContext=function(U){return $.H.useContext(U)},Ke.useDebugValue=function(){},Ke.useDeferredValue=function(U,P){return $.H.useDeferredValue(U,P)},Ke.useEffect=function(U,P,q){var ee=$.H;if(typeof q=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return ee.useEffect(U,P)},Ke.useId=function(){return $.H.useId()},Ke.useImperativeHandle=function(U,P,q){return $.H.useImperativeHandle(U,P,q)},Ke.useInsertionEffect=function(U,P){return $.H.useInsertionEffect(U,P)},Ke.useLayoutEffect=function(U,P){return $.H.useLayoutEffect(U,P)},Ke.useMemo=function(U,P){return $.H.useMemo(U,P)},Ke.useOptimistic=function(U,P){return $.H.useOptimistic(U,P)},Ke.useReducer=function(U,P,q){return $.H.useReducer(U,P,q)},Ke.useRef=function(U){return $.H.useRef(U)},Ke.useState=function(U){return $.H.useState(U)},Ke.useSyncExternalStore=function(U,P,q){return $.H.useSyncExternalStore(U,P,q)},Ke.useTransition=function(){return $.H.useTransition()},Ke.version="19.1.0",Ke}var vN;function YR(){return vN||(vN=1,KA.exports=Hp()),KA.exports}var y=YR(),jA={exports:{}},po={},qA={exports:{}},$A={};/**
|
|
18
|
+
* @license React
|
|
19
|
+
* scheduler.production.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/var GN;function wp(){return GN||(GN=1,(function(i){function e(X,Ee){var fe=X.length;X.push(Ee);e:for(;0<fe;){var De=fe-1>>>1,U=X[De];if(0<a(U,Ee))X[De]=Ee,X[fe]=U,fe=De;else break e}}function t(X){return X.length===0?null:X[0]}function s(X){if(X.length===0)return null;var Ee=X[0],fe=X.pop();if(fe!==Ee){X[0]=fe;e:for(var De=0,U=X.length,P=U>>>1;De<P;){var q=2*(De+1)-1,ee=X[q],le=q+1,Oe=X[le];if(0>a(ee,fe))le<U&&0>a(Oe,ee)?(X[De]=Oe,X[le]=fe,De=le):(X[De]=ee,X[q]=fe,De=q);else if(le<U&&0>a(Oe,fe))X[De]=Oe,X[le]=fe,De=le;else break e}}return Ee}function a(X,Ee){var fe=X.sortIndex-Ee.sortIndex;return fe!==0?fe:X.id-Ee.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;i.unstable_now=function(){return o.now()}}else{var E=Date,T=E.now();i.unstable_now=function(){return E.now()-T}}var c=[],A=[],R=1,O=null,d=3,L=!1,p=!1,g=!1,v=!1,B=typeof setTimeout=="function"?setTimeout:null,K=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function Te(X){for(var Ee=t(A);Ee!==null;){if(Ee.callback===null)s(A);else if(Ee.startTime<=X)s(A),Ee.sortIndex=Ee.expirationTime,e(c,Ee);else break;Ee=t(A)}}function $(X){if(g=!1,Te(X),!p)if(t(c)!==null)p=!0,ae||(ae=!0,ue());else{var Ee=t(A);Ee!==null&&Ue($,Ee.startTime-X)}}var ae=!1,j=-1,ce=5,he=-1;function Se(){return v?!0:!(i.unstable_now()-he<ce)}function de(){if(v=!1,ae){var X=i.unstable_now();he=X;var Ee=!0;try{e:{p=!1,g&&(g=!1,K(j),j=-1),L=!0;var fe=d;try{t:{for(Te(X),O=t(c);O!==null&&!(O.expirationTime>X&&Se());){var De=O.callback;if(typeof De=="function"){O.callback=null,d=O.priorityLevel;var U=De(O.expirationTime<=X);if(X=i.unstable_now(),typeof U=="function"){O.callback=U,Te(X),Ee=!0;break t}O===t(c)&&s(c),Te(X)}else s(c);O=t(c)}if(O!==null)Ee=!0;else{var P=t(A);P!==null&&Ue($,P.startTime-X),Ee=!1}}break e}finally{O=null,d=fe,L=!1}Ee=void 0}}finally{Ee?ue():ae=!1}}}var ue;if(typeof Z=="function")ue=function(){Z(de)};else if(typeof MessageChannel<"u"){var Le=new MessageChannel,Pe=Le.port2;Le.port1.onmessage=de,ue=function(){Pe.postMessage(null)}}else ue=function(){B(de,0)};function Ue(X,Ee){j=B(function(){X(i.unstable_now())},Ee)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(X){X.callback=null},i.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"):ce=0<X?Math.floor(1e3/X):5},i.unstable_getCurrentPriorityLevel=function(){return d},i.unstable_next=function(X){switch(d){case 1:case 2:case 3:var Ee=3;break;default:Ee=d}var fe=d;d=Ee;try{return X()}finally{d=fe}},i.unstable_requestPaint=function(){v=!0},i.unstable_runWithPriority=function(X,Ee){switch(X){case 1:case 2:case 3:case 4:case 5:break;default:X=3}var fe=d;d=X;try{return Ee()}finally{d=fe}},i.unstable_scheduleCallback=function(X,Ee,fe){var De=i.unstable_now();switch(typeof fe=="object"&&fe!==null?(fe=fe.delay,fe=typeof fe=="number"&&0<fe?De+fe:De):fe=De,X){case 1:var U=-1;break;case 2:U=250;break;case 5:U=1073741823;break;case 4:U=1e4;break;default:U=5e3}return U=fe+U,X={id:R++,callback:Ee,priorityLevel:X,startTime:fe,expirationTime:U,sortIndex:-1},fe>De?(X.sortIndex=fe,e(A,X),t(c)===null&&X===t(A)&&(g?(K(j),j=-1):g=!0,Ue($,fe-De))):(X.sortIndex=U,e(c,X),p||L||(p=!0,ae||(ae=!0,ue()))),X},i.unstable_shouldYield=Se,i.unstable_wrapCallback=function(X){var Ee=d;return function(){var fe=d;d=Ee;try{return X.apply(this,arguments)}finally{d=fe}}}})($A)),$A}var BN;function Yp(){return BN||(BN=1,qA.exports=wp()),qA.exports}var JA={exports:{}},dn={};/**
|
|
26
|
+
* @license React
|
|
27
|
+
* react-dom.production.js
|
|
28
|
+
*
|
|
29
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
30
|
+
*
|
|
31
|
+
* This source code is licensed under the MIT license found in the
|
|
32
|
+
* LICENSE file in the root directory of this source tree.
|
|
33
|
+
*/var xN;function Fp(){if(xN)return dn;xN=1;var i=YR();function e(c){var A="https://react.dev/errors/"+c;if(1<arguments.length){A+="?args[]="+encodeURIComponent(arguments[1]);for(var R=2;R<arguments.length;R++)A+="&args[]="+encodeURIComponent(arguments[R])}return"Minified React error #"+c+"; visit "+A+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function t(){}var s={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},a=Symbol.for("react.portal");function o(c,A,R){var O=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:O==null?null:""+O,children:c,containerInfo:A,implementation:R}}var E=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function T(c,A){if(c==="font")return"";if(typeof A=="string")return A==="use-credentials"?A:""}return dn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,dn.createPortal=function(c,A){var R=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!A||A.nodeType!==1&&A.nodeType!==9&&A.nodeType!==11)throw Error(e(299));return o(c,A,null,R)},dn.flushSync=function(c){var A=E.T,R=s.p;try{if(E.T=null,s.p=2,c)return c()}finally{E.T=A,s.p=R,s.d.f()}},dn.preconnect=function(c,A){typeof c=="string"&&(A?(A=A.crossOrigin,A=typeof A=="string"?A==="use-credentials"?A:"":void 0):A=null,s.d.C(c,A))},dn.prefetchDNS=function(c){typeof c=="string"&&s.d.D(c)},dn.preinit=function(c,A){if(typeof c=="string"&&A&&typeof A.as=="string"){var R=A.as,O=T(R,A.crossOrigin),d=typeof A.integrity=="string"?A.integrity:void 0,L=typeof A.fetchPriority=="string"?A.fetchPriority:void 0;R==="style"?s.d.S(c,typeof A.precedence=="string"?A.precedence:void 0,{crossOrigin:O,integrity:d,fetchPriority:L}):R==="script"&&s.d.X(c,{crossOrigin:O,integrity:d,fetchPriority:L,nonce:typeof A.nonce=="string"?A.nonce:void 0})}},dn.preinitModule=function(c,A){if(typeof c=="string")if(typeof A=="object"&&A!==null){if(A.as==null||A.as==="script"){var R=T(A.as,A.crossOrigin);s.d.M(c,{crossOrigin:R,integrity:typeof A.integrity=="string"?A.integrity:void 0,nonce:typeof A.nonce=="string"?A.nonce:void 0})}}else A==null&&s.d.M(c)},dn.preload=function(c,A){if(typeof c=="string"&&typeof A=="object"&&A!==null&&typeof A.as=="string"){var R=A.as,O=T(R,A.crossOrigin);s.d.L(c,R,{crossOrigin:O,integrity:typeof A.integrity=="string"?A.integrity:void 0,nonce:typeof A.nonce=="string"?A.nonce:void 0,type:typeof A.type=="string"?A.type:void 0,fetchPriority:typeof A.fetchPriority=="string"?A.fetchPriority:void 0,referrerPolicy:typeof A.referrerPolicy=="string"?A.referrerPolicy:void 0,imageSrcSet:typeof A.imageSrcSet=="string"?A.imageSrcSet:void 0,imageSizes:typeof A.imageSizes=="string"?A.imageSizes:void 0,media:typeof A.media=="string"?A.media:void 0})}},dn.preloadModule=function(c,A){if(typeof c=="string")if(A){var R=T(A.as,A.crossOrigin);s.d.m(c,{as:typeof A.as=="string"&&A.as!=="script"?A.as:void 0,crossOrigin:R,integrity:typeof A.integrity=="string"?A.integrity:void 0})}else s.d.m(c)},dn.requestFormReset=function(c){s.d.r(c)},dn.unstable_batchedUpdates=function(c,A){return c(A)},dn.useFormState=function(c,A,R){return E.H.useFormState(c,A,R)},dn.useFormStatus=function(){return E.H.useHostTransitionStatus()},dn.version="19.1.0",dn}var HN;function Vp(){if(HN)return JA.exports;HN=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(e){console.error(e)}}return i(),JA.exports=Fp(),JA.exports}/**
|
|
34
|
+
* @license React
|
|
35
|
+
* react-dom-client.production.js
|
|
36
|
+
*
|
|
37
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
38
|
+
*
|
|
39
|
+
* This source code is licensed under the MIT license found in the
|
|
40
|
+
* LICENSE file in the root directory of this source tree.
|
|
41
|
+
*/var wN;function kp(){if(wN)return po;wN=1;var i=Yp(),e=YR(),t=Vp();function s(n){var r="https://react.dev/errors/"+n;if(1<arguments.length){r+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)r+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+n+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11)}function o(n){var r=n,l=n;if(n.alternate)for(;r.return;)r=r.return;else{n=r;do r=n,(r.flags&4098)!==0&&(l=r.return),n=r.return;while(n)}return r.tag===3?l:null}function E(n){if(n.tag===13){var r=n.memoizedState;if(r===null&&(n=n.alternate,n!==null&&(r=n.memoizedState)),r!==null)return r.dehydrated}return null}function T(n){if(o(n)!==n)throw Error(s(188))}function c(n){var r=n.alternate;if(!r){if(r=o(n),r===null)throw Error(s(188));return r!==n?null:n}for(var l=n,u=r;;){var h=l.return;if(h===null)break;var S=h.alternate;if(S===null){if(u=h.return,u!==null){l=u;continue}break}if(h.child===S.child){for(S=h.child;S;){if(S===l)return T(h),n;if(S===u)return T(h),r;S=S.sibling}throw Error(s(188))}if(l.return!==u.return)l=h,u=S;else{for(var C=!1,D=h.child;D;){if(D===l){C=!0,l=h,u=S;break}if(D===u){C=!0,u=h,l=S;break}D=D.sibling}if(!C){for(D=S.child;D;){if(D===l){C=!0,l=S,u=h;break}if(D===u){C=!0,u=S,l=h;break}D=D.sibling}if(!C)throw Error(s(189))}}if(l.alternate!==u)throw Error(s(190))}if(l.tag!==3)throw Error(s(188));return l.stateNode.current===l?n:r}function A(n){var r=n.tag;if(r===5||r===26||r===27||r===6)return n;for(n=n.child;n!==null;){if(r=A(n),r!==null)return r;n=n.sibling}return null}var R=Object.assign,O=Symbol.for("react.element"),d=Symbol.for("react.transitional.element"),L=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),v=Symbol.for("react.profiler"),B=Symbol.for("react.provider"),K=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),Te=Symbol.for("react.forward_ref"),$=Symbol.for("react.suspense"),ae=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),ce=Symbol.for("react.lazy"),he=Symbol.for("react.activity"),Se=Symbol.for("react.memo_cache_sentinel"),de=Symbol.iterator;function ue(n){return n===null||typeof n!="object"?null:(n=de&&n[de]||n["@@iterator"],typeof n=="function"?n:null)}var Le=Symbol.for("react.client.reference");function Pe(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===Le?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case p:return"Fragment";case v:return"Profiler";case g:return"StrictMode";case $:return"Suspense";case ae:return"SuspenseList";case he:return"Activity"}if(typeof n=="object")switch(n.$$typeof){case L:return"Portal";case Z:return(n.displayName||"Context")+".Provider";case K:return(n._context.displayName||"Context")+".Consumer";case Te:var r=n.render;return n=n.displayName,n||(n=r.displayName||r.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case j:return r=n.displayName||null,r!==null?r:Pe(n.type)||"Memo";case ce:r=n._payload,n=n._init;try{return Pe(n(r))}catch{}}return null}var Ue=Array.isArray,X=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ee=t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,fe={pending:!1,data:null,method:null,action:null},De=[],U=-1;function P(n){return{current:n}}function q(n){0>U||(n.current=De[U],De[U]=null,U--)}function ee(n,r){U++,De[U]=n.current,n.current=r}var le=P(null),Oe=P(null),Ne=P(null),We=P(null);function $e(n,r){switch(ee(Ne,r),ee(Oe,n),ee(le,null),r.nodeType){case 9:case 11:n=(n=r.documentElement)&&(n=n.namespaceURI)?rN(n):0;break;default:if(n=r.tagName,r=r.namespaceURI)r=rN(r),n=aN(r,n);else switch(n){case"svg":n=1;break;case"math":n=2;break;default:n=0}}q(le),ee(le,n)}function Dt(){q(le),q(Oe),q(Ne)}function Lt(n){n.memoizedState!==null&&ee(We,n);var r=le.current,l=aN(r,n.type);r!==l&&(ee(Oe,n),ee(le,l))}function yt(n){Oe.current===n&&(q(le),q(Oe)),We.current===n&&(q(We),No._currentValue=fe)}var et=Object.prototype.hasOwnProperty,pn=i.unstable_scheduleCallback,qt=i.unstable_cancelCallback,_t=i.unstable_shouldYield,Tn=i.unstable_requestPaint,Zt=i.unstable_now,ii=i.unstable_getCurrentPriorityLevel,wi=i.unstable_ImmediatePriority,Wn=i.unstable_UserBlockingPriority,Xn=i.unstable_NormalPriority,ye=i.unstable_LowPriority,we=i.unstable_IdlePriority,ke=i.log,ot=i.unstable_setDisableYieldValue,gt=null,Xt=null;function si(n){if(typeof ke=="function"&&ot(n),Xt&&typeof Xt.setStrictMode=="function")try{Xt.setStrictMode(gt,n)}catch{}}var J=Math.clz32?Math.clz32:Ot,be=Math.log,nt=Math.LN2;function Ot(n){return n>>>=0,n===0?32:31-(be(n)/nt|0)|0}var xt=256,ri=4194304;function en(n){var r=n&42;if(r!==0)return r;switch(n&-n){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:case 262144:case 524288:case 1048576:case 2097152:return n&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return n&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return n}}function Yi(n,r,l){var u=n.pendingLanes;if(u===0)return 0;var h=0,S=n.suspendedLanes,C=n.pingedLanes;n=n.warmLanes;var D=u&134217727;return D!==0?(u=D&~S,u!==0?h=en(u):(C&=D,C!==0?h=en(C):l||(l=D&~n,l!==0&&(h=en(l))))):(D=u&~S,D!==0?h=en(D):C!==0?h=en(C):l||(l=u&~n,l!==0&&(h=en(l)))),h===0?0:r!==0&&r!==h&&(r&S)===0&&(S=h&-h,l=r&-r,S>=l||S===32&&(l&4194048)!==0)?r:h}function di(n,r){return(n.pendingLanes&~(n.suspendedLanes&~n.pingedLanes)&r)===0}function Ae(n,r){switch(n){case 1:case 2:case 4:case 8:case 64:return r+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 r+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 pl(){var n=xt;return xt<<=1,(xt&4194048)===0&&(xt=256),n}function Fi(){var n=ri;return ri<<=1,(ri&62914560)===0&&(ri=4194304),n}function On(n){for(var r=[],l=0;31>l;l++)r.push(n);return r}function Es(n,r){n.pendingLanes|=r,r!==268435456&&(n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0)}function Dl(n,r,l,u,h,S){var C=n.pendingLanes;n.pendingLanes=l,n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0,n.expiredLanes&=l,n.entangledLanes&=l,n.errorRecoveryDisabledLanes&=l,n.shellSuspendCounter=0;var D=n.entanglements,M=n.expirationTimes,Y=n.hiddenUpdates;for(l=C&~l;0<l;){var z=31-J(l),se=1<<z;D[z]=0,M[z]=-1;var k=Y[z];if(k!==null)for(Y[z]=null,z=0;z<k.length;z++){var W=k[z];W!==null&&(W.lane&=-536870913)}l&=~se}u!==0&&Ra(n,u,0),S!==0&&h===0&&n.tag!==0&&(n.suspendedLanes|=S&~(C&~r))}function Ra(n,r,l){n.pendingLanes|=r,n.suspendedLanes&=~r;var u=31-J(r);n.entangledLanes|=r,n.entanglements[u]=n.entanglements[u]|1073741824|l&4194090}function Vi(n,r){var l=n.entangledLanes|=r;for(n=n.entanglements;l;){var u=31-J(l),h=1<<u;h&r|n[u]&r&&(n[u]|=r),l&=~h}}function Sa(n){switch(n){case 2:n=1;break;case 8:n=4;break;case 32:n=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:n=128;break;case 268435456:n=134217728;break;default:n=0}return n}function tn(n){return n&=-n,2<n?8<n?(n&134217727)!==0?32:268435456:8:2}function us(){var n=Ee.p;return n!==0?n:(n=window.event,n===void 0?32:mN(n.type))}function rE(n,r){var l=Ee.p;try{return Ee.p=n,r()}finally{Ee.p=l}}var Ii=Math.random().toString(36).slice(2),Ht="__reactFiber$"+Ii,Et="__reactProps$"+Ii,Ts="__reactContainer$"+Ii,gl="__reactEvents$"+Ii,Ml="__reactListeners$"+Ii,vT="__reactHandles$"+Ii,fa="__reactResources$"+Ii,Gs="__reactMarker$"+Ii;function Bs(n){delete n[Ht],delete n[Et],delete n[gl],delete n[Ml],delete n[vT]}function xs(n){var r=n[Ht];if(r)return r;for(var l=n.parentNode;l;){if(r=l[Ts]||l[Ht]){if(l=r.alternate,r.child!==null||l!==null&&l.child!==null)for(n=uN(n);n!==null;){if(l=n[Ht])return l;n=uN(n)}return r}n=l,l=n.parentNode}return null}function cn(n){if(n=n[Ht]||n[Ts]){var r=n.tag;if(r===5||r===6||r===13||r===26||r===27||r===3)return n}return null}function ki(n){var r=n.tag;if(r===5||r===26||r===27||r===6)return n.stateNode;throw Error(s(33))}function Wi(n){var r=n[fa];return r||(r=n[fa]={hoistableStyles:new Map,hoistableScripts:new Map}),r}function wt(n){n[Gs]=!0}var Pl=new Set,Hs={};function Xi(n,r){Ci(n,r),Ci(n+"Capture",r)}function Ci(n,r){for(Hs[n]=r,n=0;n<r.length;n++)Pl.add(r[n])}var aE=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]*$"),cs={},Oa={};function lE(n){return et.call(Oa,n)?!0:et.call(cs,n)?!1:aE.test(n)?Oa[n]=!0:(cs[n]=!0,!1)}function gr(n,r,l){if(lE(r))if(l===null)n.removeAttribute(r);else{switch(typeof l){case"undefined":case"function":case"symbol":n.removeAttribute(r);return;case"boolean":var u=r.toLowerCase().slice(0,5);if(u!=="data-"&&u!=="aria-"){n.removeAttribute(r);return}}n.setAttribute(r,""+l)}}function Mr(n,r,l){if(l===null)n.removeAttribute(r);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":n.removeAttribute(r);return}n.setAttribute(r,""+l)}}function _i(n,r,l,u){if(u===null)n.removeAttribute(l);else{switch(typeof u){case"undefined":case"function":case"symbol":case"boolean":n.removeAttribute(l);return}n.setAttributeNS(r,l,""+u)}}var ai,ht;function yn(n){if(ai===void 0)try{throw Error()}catch(l){var r=l.stack.trim().match(/\n( *(at )?)/);ai=r&&r[1]||"",ht=-1<l.stack.indexOf(`
|
|
42
|
+
at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
43
|
+
`+ai+n+ht}var ws=!1;function Ys(n,r){if(!n||ws)return"";ws=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var u={DetermineComponentFrameRoot:function(){try{if(r){var se=function(){throw Error()};if(Object.defineProperty(se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(se,[])}catch(W){var k=W}Reflect.construct(n,[],se)}else{try{se.call()}catch(W){k=W}n.call(se.prototype)}}else{try{throw Error()}catch(W){k=W}(se=n())&&typeof se.catch=="function"&&se.catch(function(){})}}catch(W){if(W&&k&&typeof W.stack=="string")return[W.stack,k.stack]}return[null,null]}};u.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var h=Object.getOwnPropertyDescriptor(u.DetermineComponentFrameRoot,"name");h&&h.configurable&&Object.defineProperty(u.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var S=u.DetermineComponentFrameRoot(),C=S[0],D=S[1];if(C&&D){var M=C.split(`
|
|
44
|
+
`),Y=D.split(`
|
|
45
|
+
`);for(h=u=0;u<M.length&&!M[u].includes("DetermineComponentFrameRoot");)u++;for(;h<Y.length&&!Y[h].includes("DetermineComponentFrameRoot");)h++;if(u===M.length||h===Y.length)for(u=M.length-1,h=Y.length-1;1<=u&&0<=h&&M[u]!==Y[h];)h--;for(;1<=u&&0<=h;u--,h--)if(M[u]!==Y[h]){if(u!==1||h!==1)do if(u--,h--,0>h||M[u]!==Y[h]){var z=`
|
|
46
|
+
`+M[u].replace(" at new "," at ");return n.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",n.displayName)),z}while(1<=u&&0<=h);break}}}finally{ws=!1,Error.prepareStackTrace=l}return(l=n?n.displayName||n.name:"")?yn(l):""}function Na(n){switch(n.tag){case 26:case 27:case 5:return yn(n.type);case 16:return yn("Lazy");case 13:return yn("Suspense");case 19:return yn("SuspenseList");case 0:case 15:return Ys(n.type,!1);case 11:return Ys(n.type.render,!1);case 1:return Ys(n.type,!0);case 31:return yn("Activity");default:return""}}function da(n){try{var r="";do r+=Na(n),n=n.return;while(n);return r}catch(l){return`
|
|
47
|
+
Error generating stack: `+l.message+`
|
|
48
|
+
`+l.stack}}function bn(n){switch(typeof n){case"bigint":case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function oE(n){var r=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(r==="checkbox"||r==="radio")}function Pr(n){var r=oE(n)?"checked":"value",l=Object.getOwnPropertyDescriptor(n.constructor.prototype,r),u=""+n[r];if(!n.hasOwnProperty(r)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var h=l.get,S=l.set;return Object.defineProperty(n,r,{configurable:!0,get:function(){return h.call(this)},set:function(C){u=""+C,S.call(this,C)}}),Object.defineProperty(n,r,{enumerable:l.enumerable}),{getValue:function(){return u},setValue:function(C){u=""+C},stopTracking:function(){n._valueTracker=null,delete n[r]}}}}function Ur(n){n._valueTracker||(n._valueTracker=Pr(n))}function Ul(n){if(!n)return!1;var r=n._valueTracker;if(!r)return!0;var l=r.getValue(),u="";return n&&(u=oE(n)?n.checked?"true":"false":n.value),n=u,n!==l?(r.setValue(n),!0):!1}function Ia(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}var yl=/[\n"\\]/g;function Dn(n){return n.replace(yl,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yr(n,r,l,u,h,S,C,D){n.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?n.type=C:n.removeAttribute("type"),r!=null?C==="number"?(r===0&&n.value===""||n.value!=r)&&(n.value=""+bn(r)):n.value!==""+bn(r)&&(n.value=""+bn(r)):C!=="submit"&&C!=="reset"||n.removeAttribute("value"),r!=null?Fs(n,C,bn(r)):l!=null?Fs(n,C,bn(l)):u!=null&&n.removeAttribute("value"),h==null&&S!=null&&(n.defaultChecked=!!S),h!=null&&(n.checked=h&&typeof h!="function"&&typeof h!="symbol"),D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"?n.name=""+bn(D):n.removeAttribute("name")}function EE(n,r,l,u,h,S,C,D){if(S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(n.type=S),r!=null||l!=null){if(!(S!=="submit"&&S!=="reset"||r!=null))return;l=l!=null?""+bn(l):"",r=r!=null?""+bn(r):l,D||r===n.value||(n.value=r),n.defaultValue=r}u=u??h,u=typeof u!="function"&&typeof u!="symbol"&&!!u,n.checked=D?n.checked:!!u,n.defaultChecked=!!u,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(n.name=C)}function Fs(n,r,l){r==="number"&&Ia(n.ownerDocument)===n||n.defaultValue===""+l||(n.defaultValue=""+l)}function vn(n,r,l,u){if(n=n.options,r){r={};for(var h=0;h<l.length;h++)r["$"+l[h]]=!0;for(l=0;l<n.length;l++)h=r.hasOwnProperty("$"+n[l].value),n[l].selected!==h&&(n[l].selected=h),h&&u&&(n[l].defaultSelected=!0)}else{for(l=""+bn(l),r=null,h=0;h<n.length;h++){if(n[h].value===l){n[h].selected=!0,u&&(n[h].defaultSelected=!0);return}r!==null||n[h].disabled||(r=n[h])}r!==null&&(r.selected=!0)}}function Ca(n,r,l){if(r!=null&&(r=""+bn(r),r!==n.value&&(n.value=r),l==null)){n.defaultValue!==r&&(n.defaultValue=r);return}n.defaultValue=l!=null?""+bn(l):""}function Li(n,r,l,u){if(r==null){if(u!=null){if(l!=null)throw Error(s(92));if(Ue(u)){if(1<u.length)throw Error(s(93));u=u[0]}l=u}l==null&&(l=""),r=l}l=bn(r),n.defaultValue=l,u=n.textContent,u===l&&u!==""&&u!==null&&(n.value=u)}function As(n,r){if(r){var l=n.firstChild;if(l&&l===n.lastChild&&l.nodeType===3){l.nodeValue=r;return}}n.textContent=r}var GT=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 bl(n,r,l){var u=r.indexOf("--")===0;l==null||typeof l=="boolean"||l===""?u?n.setProperty(r,""):r==="float"?n.cssFloat="":n[r]="":u?n.setProperty(r,l):typeof l!="number"||l===0||GT.has(r)?r==="float"?n.cssFloat=l:n[r]=(""+l).trim():n[r]=l+"px"}function Vs(n,r,l){if(r!=null&&typeof r!="object")throw Error(s(62));if(n=n.style,l!=null){for(var u in l)!l.hasOwnProperty(u)||r!=null&&r.hasOwnProperty(u)||(u.indexOf("--")===0?n.setProperty(u,""):u==="float"?n.cssFloat="":n[u]="");for(var h in r)u=r[h],r.hasOwnProperty(h)&&l[h]!==u&&bl(n,h,u)}else for(var S in r)r.hasOwnProperty(S)&&bl(n,S,r[S])}function ks(n){if(n.indexOf("-")===-1)return!1;switch(n){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 br=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"]]),uE=/^[\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 vr(n){return uE.test(""+n)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":n}var Ws=null;function mi(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var pi=null,Di=null;function gi(n){var r=cn(n);if(r&&(n=r.stateNode)){var l=n[Et]||null;e:switch(n=r.stateNode,r.type){case"input":if(yr(n,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name),r=l.name,l.type==="radio"&&r!=null){for(l=n;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll('input[name="'+Dn(""+r)+'"][type="radio"]'),r=0;r<l.length;r++){var u=l[r];if(u!==n&&u.form===n.form){var h=u[Et]||null;if(!h)throw Error(s(90));yr(u,h.value,h.defaultValue,h.defaultValue,h.checked,h.defaultChecked,h.type,h.name)}}for(r=0;r<l.length;r++)u=l[r],u.form===n.form&&Ul(u)}break e;case"textarea":Ca(n,l.value,l.defaultValue);break e;case"select":r=l.value,r!=null&&vn(n,!!l.multiple,r,!1)}}}var vl=!1;function _a(n,r,l){if(vl)return n(r,l);vl=!0;try{var u=n(r);return u}finally{if(vl=!1,(pi!==null||Di!==null)&&(zE(),pi&&(r=pi,n=Di,Di=pi=null,gi(r),n)))for(r=0;r<n.length;r++)gi(n[r])}}function hs(n,r){var l=n.stateNode;if(l===null)return null;var u=l[Et]||null;if(u===null)return null;l=u[r];e:switch(r){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(u=!u.disabled)||(n=n.type,u=!(n==="button"||n==="input"||n==="select"||n==="textarea")),n=!u;break e;default:n=!1}if(n)return null;if(l&&typeof l!="function")throw Error(s(231,r,typeof l));return l}var li=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),La=!1;if(li)try{var f={};Object.defineProperty(f,"passive",{get:function(){La=!0}}),window.addEventListener("test",f,f),window.removeEventListener("test",f,f)}catch{La=!1}var N=null,_=null,m=null;function b(){if(m)return m;var n,r=_,l=r.length,u,h="value"in N?N.value:N.textContent,S=h.length;for(n=0;n<l&&r[n]===h[n];n++);var C=l-n;for(u=1;u<=C&&r[l-u]===h[S-u];u++);return m=h.slice(n,1<u?1-u:void 0)}function V(n){var r=n.keyCode;return"charCode"in n?(n=n.charCode,n===0&&r===13&&(n=13)):n=r,n===10&&(n=13),32<=n||n===13?n:0}function ie(){return!0}function ve(){return!1}function Xe(n){function r(l,u,h,S,C){this._reactName=l,this._targetInst=h,this.type=u,this.nativeEvent=S,this.target=C,this.currentTarget=null;for(var D in n)n.hasOwnProperty(D)&&(l=n[D],this[D]=l?l(S):S[D]);return this.isDefaultPrevented=(S.defaultPrevented!=null?S.defaultPrevented:S.returnValue===!1)?ie:ve,this.isPropagationStopped=ve,this}return R(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=ie)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=ie)},persist:function(){},isPersistent:ie}),r}var Ye={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(n){return n.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ut=Xe(Ye),Mt=R({},Ye,{view:0,detail:0}),TE=Xe(Mt),Gl,ma,Gr,Br=R({},Mt,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xl,button:0,buttons:0,relatedTarget:function(n){return n.relatedTarget===void 0?n.fromElement===n.srcElement?n.toElement:n.fromElement:n.relatedTarget},movementX:function(n){return"movementX"in n?n.movementX:(n!==Gr&&(Gr&&n.type==="mousemove"?(Gl=n.screenX-Gr.screenX,ma=n.screenY-Gr.screenY):ma=Gl=0,Gr=n),Gl)},movementY:function(n){return"movementY"in n?n.movementY:ma}}),cE=Xe(Br),BT=R({},Br,{dataTransfer:0}),xT=Xe(BT),HT=R({},Mt,{relatedTarget:0}),Bl=Xe(HT),wT=R({},Ye,{animationName:0,elapsedTime:0,pseudoElement:0}),YT=Xe(wT),FT=R({},Ye,{clipboardData:function(n){return"clipboardData"in n?n.clipboardData:window.clipboardData}}),AE=Xe(FT),VT=R({},Ye,{data:0}),hE=Xe(VT),kT={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},WT={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"},XT={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function KT(n){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(n):(n=XT[n])?!!r[n]:!1}function xl(){return KT}var RE=R({},Mt,{key:function(n){if(n.key){var r=kT[n.key]||n.key;if(r!=="Unidentified")return r}return n.type==="keypress"?(n=V(n),n===13?"Enter":String.fromCharCode(n)):n.type==="keydown"||n.type==="keyup"?WT[n.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xl,charCode:function(n){return n.type==="keypress"?V(n):0},keyCode:function(n){return n.type==="keydown"||n.type==="keyup"?n.keyCode:0},which:function(n){return n.type==="keypress"?V(n):n.type==="keydown"||n.type==="keyup"?n.keyCode:0}}),jT=Xe(RE),qT=R({},Br,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),SE=Xe(qT),$T=R({},Mt,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xl}),JT=Xe($T),QT=R({},Ye,{propertyName:0,elapsedTime:0,pseudoElement:0}),fE=Xe(QT),zT=R({},Br,{deltaX:function(n){return"deltaX"in n?n.deltaX:"wheelDeltaX"in n?-n.wheelDeltaX:0},deltaY:function(n){return"deltaY"in n?n.deltaY:"wheelDeltaY"in n?-n.wheelDeltaY:"wheelDelta"in n?-n.wheelDelta:0},deltaZ:0,deltaMode:0}),ZT=Xe(zT),ec=R({},Ye,{newState:0,oldState:0}),pa=Xe(ec),OE=[9,13,27,32],Da=li&&"CompositionEvent"in window,Xs=null;li&&"documentMode"in document&&(Xs=document.documentMode);var H=li&&"TextEvent"in window&&!Xs,re=li&&(!Da||Xs&&8<Xs&&11>=Xs),_e=" ",ge=!1;function je(n,r){switch(n){case"keyup":return OE.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function it(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var nn=!1;function Gn(n,r){switch(n){case"compositionend":return it(r);case"keypress":return r.which!==32?null:(ge=!0,_e);case"textInput":return n=r.data,n===_e&&ge?null:n;default:return null}}function gn(n,r){if(nn)return n==="compositionend"||!Da&&je(n,r)?(n=b(),m=_=N=null,nn=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1<r.char.length)return r.char;if(r.which)return String.fromCharCode(r.which)}return null;case"compositionend":return re&&r.locale!=="ko"?null:r.data;default:return null}}var Kn={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 ga(n){var r=n&&n.nodeName&&n.nodeName.toLowerCase();return r==="input"?!!Kn[n.type]:r==="textarea"}function Ki(n,r,l,u){pi?Di?Di.push(u):Di=[u]:pi=u,r=su(r,"onChange"),0<r.length&&(l=new ut("onChange","change",null,l,u),n.push({event:l,listeners:r}))}var xr=null,Hl=null;function Em(n){eN(n,0)}function NE(n){var r=ki(n);if(Ul(r))return n}function dS(n,r){if(n==="change")return r}var IS=!1;if(li){var tc;if(li){var nc="oninput"in document;if(!nc){var CS=document.createElement("div");CS.setAttribute("oninput","return;"),nc=typeof CS.oninput=="function"}tc=nc}else tc=!1;IS=tc&&(!document.documentMode||9<document.documentMode)}function _S(){xr&&(xr.detachEvent("onpropertychange",LS),Hl=xr=null)}function LS(n){if(n.propertyName==="value"&&NE(Hl)){var r=[];Ki(r,Hl,n,mi(n)),_a(Em,r)}}function um(n,r,l){n==="focusin"?(_S(),xr=r,Hl=l,xr.attachEvent("onpropertychange",LS)):n==="focusout"&&_S()}function Tm(n){if(n==="selectionchange"||n==="keyup"||n==="keydown")return NE(Hl)}function cm(n,r){if(n==="click")return NE(r)}function Am(n,r){if(n==="input"||n==="change")return NE(r)}function hm(n,r){return n===r&&(n!==0||1/n===1/r)||n!==n&&r!==r}var jn=typeof Object.is=="function"?Object.is:hm;function wl(n,r){if(jn(n,r))return!0;if(typeof n!="object"||n===null||typeof r!="object"||r===null)return!1;var l=Object.keys(n),u=Object.keys(r);if(l.length!==u.length)return!1;for(u=0;u<l.length;u++){var h=l[u];if(!et.call(r,h)||!jn(n[h],r[h]))return!1}return!0}function mS(n){for(;n&&n.firstChild;)n=n.firstChild;return n}function pS(n,r){var l=mS(n);n=0;for(var u;l;){if(l.nodeType===3){if(u=n+l.textContent.length,n<=r&&u>=r)return{node:l,offset:r-n};n=u}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=mS(l)}}function DS(n,r){return n&&r?n===r?!0:n&&n.nodeType===3?!1:r&&r.nodeType===3?DS(n,r.parentNode):"contains"in n?n.contains(r):n.compareDocumentPosition?!!(n.compareDocumentPosition(r)&16):!1:!1}function gS(n){n=n!=null&&n.ownerDocument!=null&&n.ownerDocument.defaultView!=null?n.ownerDocument.defaultView:window;for(var r=Ia(n.document);r instanceof n.HTMLIFrameElement;){try{var l=typeof r.contentWindow.location.href=="string"}catch{l=!1}if(l)n=r.contentWindow;else break;r=Ia(n.document)}return r}function ic(n){var r=n&&n.nodeName&&n.nodeName.toLowerCase();return r&&(r==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||r==="textarea"||n.contentEditable==="true")}var Rm=li&&"documentMode"in document&&11>=document.documentMode,Ma=null,sc=null,Yl=null,rc=!1;function MS(n,r,l){var u=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;rc||Ma==null||Ma!==Ia(u)||(u=Ma,"selectionStart"in u&&ic(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Yl&&wl(Yl,u)||(Yl=u,u=su(sc,"onSelect"),0<u.length&&(r=new ut("onSelect","select",null,r,l),n.push({event:r,listeners:u}),r.target=Ma)))}function Hr(n,r){var l={};return l[n.toLowerCase()]=r.toLowerCase(),l["Webkit"+n]="webkit"+r,l["Moz"+n]="moz"+r,l}var Pa={animationend:Hr("Animation","AnimationEnd"),animationiteration:Hr("Animation","AnimationIteration"),animationstart:Hr("Animation","AnimationStart"),transitionrun:Hr("Transition","TransitionRun"),transitionstart:Hr("Transition","TransitionStart"),transitioncancel:Hr("Transition","TransitionCancel"),transitionend:Hr("Transition","TransitionEnd")},ac={},PS={};li&&(PS=document.createElement("div").style,"AnimationEvent"in window||(delete Pa.animationend.animation,delete Pa.animationiteration.animation,delete Pa.animationstart.animation),"TransitionEvent"in window||delete Pa.transitionend.transition);function wr(n){if(ac[n])return ac[n];if(!Pa[n])return n;var r=Pa[n],l;for(l in r)if(r.hasOwnProperty(l)&&l in PS)return ac[n]=r[l];return n}var US=wr("animationend"),yS=wr("animationiteration"),bS=wr("animationstart"),Sm=wr("transitionrun"),fm=wr("transitionstart"),Om=wr("transitioncancel"),vS=wr("transitionend"),GS=new Map,lc="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(" ");lc.push("scrollEnd");function Mi(n,r){GS.set(n,r),Xi(r,[n])}var BS=new WeakMap;function oi(n,r){if(typeof n=="object"&&n!==null){var l=BS.get(n);return l!==void 0?l:(r={value:n,source:r,stack:da(r)},BS.set(n,r),r)}return{value:n,source:r,stack:da(r)}}var Ei=[],Ua=0,oc=0;function dE(){for(var n=Ua,r=oc=Ua=0;r<n;){var l=Ei[r];Ei[r++]=null;var u=Ei[r];Ei[r++]=null;var h=Ei[r];Ei[r++]=null;var S=Ei[r];if(Ei[r++]=null,u!==null&&h!==null){var C=u.pending;C===null?h.next=h:(h.next=C.next,C.next=h),u.pending=h}S!==0&&xS(l,h,S)}}function IE(n,r,l,u){Ei[Ua++]=n,Ei[Ua++]=r,Ei[Ua++]=l,Ei[Ua++]=u,oc|=u,n.lanes|=u,n=n.alternate,n!==null&&(n.lanes|=u)}function Ec(n,r,l,u){return IE(n,r,l,u),CE(n)}function ya(n,r){return IE(n,null,null,r),CE(n)}function xS(n,r,l){n.lanes|=l;var u=n.alternate;u!==null&&(u.lanes|=l);for(var h=!1,S=n.return;S!==null;)S.childLanes|=l,u=S.alternate,u!==null&&(u.childLanes|=l),S.tag===22&&(n=S.stateNode,n===null||n._visibility&1||(h=!0)),n=S,S=S.return;return n.tag===3?(S=n.stateNode,h&&r!==null&&(h=31-J(l),n=S.hiddenUpdates,u=n[h],u===null?n[h]=[r]:u.push(r),r.lane=l|536870912),S):null}function CE(n){if(50<To)throw To=0,RA=null,Error(s(185));for(var r=n.return;r!==null;)n=r,r=n.return;return n.tag===3?n.stateNode:null}var ba={};function Nm(n,r,l,u){this.tag=n,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=r,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=u,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qn(n,r,l,u){return new Nm(n,r,l,u)}function uc(n){return n=n.prototype,!(!n||!n.isReactComponent)}function Rs(n,r){var l=n.alternate;return l===null?(l=qn(n.tag,r,n.key,n.mode),l.elementType=n.elementType,l.type=n.type,l.stateNode=n.stateNode,l.alternate=n,n.alternate=l):(l.pendingProps=r,l.type=n.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=n.flags&65011712,l.childLanes=n.childLanes,l.lanes=n.lanes,l.child=n.child,l.memoizedProps=n.memoizedProps,l.memoizedState=n.memoizedState,l.updateQueue=n.updateQueue,r=n.dependencies,l.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext},l.sibling=n.sibling,l.index=n.index,l.ref=n.ref,l.refCleanup=n.refCleanup,l}function HS(n,r){n.flags&=65011714;var l=n.alternate;return l===null?(n.childLanes=0,n.lanes=r,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,r=l.dependencies,n.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext}),n}function _E(n,r,l,u,h,S){var C=0;if(u=n,typeof n=="function")uc(n)&&(C=1);else if(typeof n=="string")C=Ip(n,l,le.current)?26:n==="html"||n==="head"||n==="body"?27:5;else e:switch(n){case he:return n=qn(31,l,r,h),n.elementType=he,n.lanes=S,n;case p:return Yr(l.children,h,S,r);case g:C=8,h|=24;break;case v:return n=qn(12,l,r,h|2),n.elementType=v,n.lanes=S,n;case $:return n=qn(13,l,r,h),n.elementType=$,n.lanes=S,n;case ae:return n=qn(19,l,r,h),n.elementType=ae,n.lanes=S,n;default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case B:case Z:C=10;break e;case K:C=9;break e;case Te:C=11;break e;case j:C=14;break e;case ce:C=16,u=null;break e}C=29,l=Error(s(130,n===null?"null":typeof n,"")),u=null}return r=qn(C,l,r,h),r.elementType=n,r.type=u,r.lanes=S,r}function Yr(n,r,l,u){return n=qn(7,n,u,r),n.lanes=l,n}function Tc(n,r,l){return n=qn(6,n,null,r),n.lanes=l,n}function cc(n,r,l){return r=qn(4,n.children!==null?n.children:[],n.key,r),r.lanes=l,r.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},r}var va=[],Ga=0,LE=null,mE=0,ui=[],Ti=0,Fr=null,Ss=1,fs="";function Vr(n,r){va[Ga++]=mE,va[Ga++]=LE,LE=n,mE=r}function wS(n,r,l){ui[Ti++]=Ss,ui[Ti++]=fs,ui[Ti++]=Fr,Fr=n;var u=Ss;n=fs;var h=32-J(u)-1;u&=~(1<<h),l+=1;var S=32-J(r)+h;if(30<S){var C=h-h%5;S=(u&(1<<C)-1).toString(32),u>>=C,h-=C,Ss=1<<32-J(r)+h|l<<h|u,fs=S+n}else Ss=1<<S|l<<h|u,fs=n}function Ac(n){n.return!==null&&(Vr(n,1),wS(n,1,0))}function hc(n){for(;n===LE;)LE=va[--Ga],va[Ga]=null,mE=va[--Ga],va[Ga]=null;for(;n===Fr;)Fr=ui[--Ti],ui[Ti]=null,fs=ui[--Ti],ui[Ti]=null,Ss=ui[--Ti],ui[Ti]=null}var Mn=null,bt=null,lt=!1,kr=null,ji=!1,Rc=Error(s(519));function Wr(n){var r=Error(s(418,""));throw kl(oi(r,n)),Rc}function YS(n){var r=n.stateNode,l=n.type,u=n.memoizedProps;switch(r[Ht]=n,r[Et]=u,l){case"dialog":ze("cancel",r),ze("close",r);break;case"iframe":case"object":case"embed":ze("load",r);break;case"video":case"audio":for(l=0;l<Ao.length;l++)ze(Ao[l],r);break;case"source":ze("error",r);break;case"img":case"image":case"link":ze("error",r),ze("load",r);break;case"details":ze("toggle",r);break;case"input":ze("invalid",r),EE(r,u.value,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name,!0),Ur(r);break;case"select":ze("invalid",r);break;case"textarea":ze("invalid",r),Li(r,u.value,u.defaultValue,u.children),Ur(r)}l=u.children,typeof l!="string"&&typeof l!="number"&&typeof l!="bigint"||r.textContent===""+l||u.suppressHydrationWarning===!0||sN(r.textContent,l)?(u.popover!=null&&(ze("beforetoggle",r),ze("toggle",r)),u.onScroll!=null&&ze("scroll",r),u.onScrollEnd!=null&&ze("scrollend",r),u.onClick!=null&&(r.onclick=ru),r=!0):r=!1,r||Wr(n)}function FS(n){for(Mn=n.return;Mn;)switch(Mn.tag){case 5:case 13:ji=!1;return;case 27:case 3:ji=!0;return;default:Mn=Mn.return}}function Fl(n){if(n!==Mn)return!1;if(!lt)return FS(n),lt=!0,!1;var r=n.tag,l;if((l=r!==3&&r!==27)&&((l=r===5)&&(l=n.type,l=!(l!=="form"&&l!=="button")||UA(n.type,n.memoizedProps)),l=!l),l&&bt&&Wr(n),FS(n),r===13){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(s(317));e:{for(n=n.nextSibling,r=0;n;){if(n.nodeType===8)if(l=n.data,l==="/$"){if(r===0){bt=Ui(n.nextSibling);break e}r--}else l!=="$"&&l!=="$!"&&l!=="$?"||r++;n=n.nextSibling}bt=null}}else r===27?(r=bt,lr(n.type)?(n=GA,GA=null,bt=n):bt=r):bt=Mn?Ui(n.stateNode.nextSibling):null;return!0}function Vl(){bt=Mn=null,lt=!1}function VS(){var n=kr;return n!==null&&(Hn===null?Hn=n:Hn.push.apply(Hn,n),kr=null),n}function kl(n){kr===null?kr=[n]:kr.push(n)}var Sc=P(null),Xr=null,Os=null;function Ks(n,r,l){ee(Sc,r._currentValue),r._currentValue=l}function Ns(n){n._currentValue=Sc.current,q(Sc)}function fc(n,r,l){for(;n!==null;){var u=n.alternate;if((n.childLanes&r)!==r?(n.childLanes|=r,u!==null&&(u.childLanes|=r)):u!==null&&(u.childLanes&r)!==r&&(u.childLanes|=r),n===l)break;n=n.return}}function Oc(n,r,l,u){var h=n.child;for(h!==null&&(h.return=n);h!==null;){var S=h.dependencies;if(S!==null){var C=h.child;S=S.firstContext;e:for(;S!==null;){var D=S;S=h;for(var M=0;M<r.length;M++)if(D.context===r[M]){S.lanes|=l,D=S.alternate,D!==null&&(D.lanes|=l),fc(S.return,l,n),u||(C=null);break e}S=D.next}}else if(h.tag===18){if(C=h.return,C===null)throw Error(s(341));C.lanes|=l,S=C.alternate,S!==null&&(S.lanes|=l),fc(C,l,n),C=null}else C=h.child;if(C!==null)C.return=h;else for(C=h;C!==null;){if(C===n){C=null;break}if(h=C.sibling,h!==null){h.return=C.return,C=h;break}C=C.return}h=C}}function Wl(n,r,l,u){n=null;for(var h=r,S=!1;h!==null;){if(!S){if((h.flags&524288)!==0)S=!0;else if((h.flags&262144)!==0)break}if(h.tag===10){var C=h.alternate;if(C===null)throw Error(s(387));if(C=C.memoizedProps,C!==null){var D=h.type;jn(h.pendingProps.value,C.value)||(n!==null?n.push(D):n=[D])}}else if(h===We.current){if(C=h.alternate,C===null)throw Error(s(387));C.memoizedState.memoizedState!==h.memoizedState.memoizedState&&(n!==null?n.push(No):n=[No])}h=h.return}n!==null&&Oc(r,n,l,u),r.flags|=262144}function pE(n){for(n=n.firstContext;n!==null;){if(!jn(n.context._currentValue,n.memoizedValue))return!0;n=n.next}return!1}function Kr(n){Xr=n,Os=null,n=n.dependencies,n!==null&&(n.firstContext=null)}function Nn(n){return kS(Xr,n)}function DE(n,r){return Xr===null&&Kr(n),kS(n,r)}function kS(n,r){var l=r._currentValue;if(r={context:r,memoizedValue:l,next:null},Os===null){if(n===null)throw Error(s(308));Os=r,n.dependencies={lanes:0,firstContext:r},n.flags|=524288}else Os=Os.next=r;return l}var dm=typeof AbortController<"u"?AbortController:function(){var n=[],r=this.signal={aborted:!1,addEventListener:function(l,u){n.push(u)}};this.abort=function(){r.aborted=!0,n.forEach(function(l){return l()})}},Im=i.unstable_scheduleCallback,Cm=i.unstable_NormalPriority,$t={$$typeof:Z,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Nc(){return{controller:new dm,data:new Map,refCount:0}}function Xl(n){n.refCount--,n.refCount===0&&Im(Cm,function(){n.controller.abort()})}var Kl=null,dc=0,Ba=0,xa=null;function _m(n,r){if(Kl===null){var l=Kl=[];dc=0,Ba=CA(),xa={status:"pending",value:void 0,then:function(u){l.push(u)}}}return dc++,r.then(WS,WS),r}function WS(){if(--dc===0&&Kl!==null){xa!==null&&(xa.status="fulfilled");var n=Kl;Kl=null,Ba=0,xa=null;for(var r=0;r<n.length;r++)(0,n[r])()}}function Lm(n,r){var l=[],u={status:"pending",value:null,reason:null,then:function(h){l.push(h)}};return n.then(function(){u.status="fulfilled",u.value=r;for(var h=0;h<l.length;h++)(0,l[h])(r)},function(h){for(u.status="rejected",u.reason=h,h=0;h<l.length;h++)(0,l[h])(void 0)}),u}var XS=X.S;X.S=function(n,r){typeof r=="object"&&r!==null&&typeof r.then=="function"&&_m(n,r),XS!==null&&XS(n,r)};var jr=P(null);function Ic(){var n=jr.current;return n!==null?n:It.pooledCache}function gE(n,r){r===null?ee(jr,jr.current):ee(jr,r.pool)}function KS(){var n=Ic();return n===null?null:{parent:$t._currentValue,pool:n}}var jl=Error(s(460)),jS=Error(s(474)),ME=Error(s(542)),Cc={then:function(){}};function qS(n){return n=n.status,n==="fulfilled"||n==="rejected"}function PE(){}function $S(n,r,l){switch(l=n[l],l===void 0?n.push(r):l!==r&&(r.then(PE,PE),r=l),r.status){case"fulfilled":return r.value;case"rejected":throw n=r.reason,QS(n),n;default:if(typeof r.status=="string")r.then(PE,PE);else{if(n=It,n!==null&&100<n.shellSuspendCounter)throw Error(s(482));n=r,n.status="pending",n.then(function(u){if(r.status==="pending"){var h=r;h.status="fulfilled",h.value=u}},function(u){if(r.status==="pending"){var h=r;h.status="rejected",h.reason=u}})}switch(r.status){case"fulfilled":return r.value;case"rejected":throw n=r.reason,QS(n),n}throw ql=r,jl}}var ql=null;function JS(){if(ql===null)throw Error(s(459));var n=ql;return ql=null,n}function QS(n){if(n===jl||n===ME)throw Error(s(483))}var js=!1;function _c(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Lc(n,r){n=n.updateQueue,r.updateQueue===n&&(r.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,callbacks:null})}function qs(n){return{lane:n,tag:0,payload:null,callback:null,next:null}}function $s(n,r,l){var u=n.updateQueue;if(u===null)return null;if(u=u.shared,(ct&2)!==0){var h=u.pending;return h===null?r.next=r:(r.next=h.next,h.next=r),u.pending=r,r=CE(n),xS(n,null,l),r}return IE(n,u,r,l),CE(n)}function $l(n,r,l){if(r=r.updateQueue,r!==null&&(r=r.shared,(l&4194048)!==0)){var u=r.lanes;u&=n.pendingLanes,l|=u,r.lanes=l,Vi(n,l)}}function mc(n,r){var l=n.updateQueue,u=n.alternate;if(u!==null&&(u=u.updateQueue,l===u)){var h=null,S=null;if(l=l.firstBaseUpdate,l!==null){do{var C={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};S===null?h=S=C:S=S.next=C,l=l.next}while(l!==null);S===null?h=S=r:S=S.next=r}else h=S=r;l={baseState:u.baseState,firstBaseUpdate:h,lastBaseUpdate:S,shared:u.shared,callbacks:u.callbacks},n.updateQueue=l;return}n=l.lastBaseUpdate,n===null?l.firstBaseUpdate=r:n.next=r,l.lastBaseUpdate=r}var pc=!1;function Jl(){if(pc){var n=xa;if(n!==null)throw n}}function Ql(n,r,l,u){pc=!1;var h=n.updateQueue;js=!1;var S=h.firstBaseUpdate,C=h.lastBaseUpdate,D=h.shared.pending;if(D!==null){h.shared.pending=null;var M=D,Y=M.next;M.next=null,C===null?S=Y:C.next=Y,C=M;var z=n.alternate;z!==null&&(z=z.updateQueue,D=z.lastBaseUpdate,D!==C&&(D===null?z.firstBaseUpdate=Y:D.next=Y,z.lastBaseUpdate=M))}if(S!==null){var se=h.baseState;C=0,z=Y=M=null,D=S;do{var k=D.lane&-536870913,W=k!==D.lane;if(W?(tt&k)===k:(u&k)===k){k!==0&&k===Ba&&(pc=!0),z!==null&&(z=z.next={lane:0,tag:D.tag,payload:D.payload,callback:null,next:null});e:{var Fe=n,Be=D;k=r;var ft=l;switch(Be.tag){case 1:if(Fe=Be.payload,typeof Fe=="function"){se=Fe.call(ft,se,k);break e}se=Fe;break e;case 3:Fe.flags=Fe.flags&-65537|128;case 0:if(Fe=Be.payload,k=typeof Fe=="function"?Fe.call(ft,se,k):Fe,k==null)break e;se=R({},se,k);break e;case 2:js=!0}}k=D.callback,k!==null&&(n.flags|=64,W&&(n.flags|=8192),W=h.callbacks,W===null?h.callbacks=[k]:W.push(k))}else W={lane:k,tag:D.tag,payload:D.payload,callback:D.callback,next:null},z===null?(Y=z=W,M=se):z=z.next=W,C|=k;if(D=D.next,D===null){if(D=h.shared.pending,D===null)break;W=D,D=W.next,W.next=null,h.lastBaseUpdate=W,h.shared.pending=null}}while(!0);z===null&&(M=se),h.baseState=M,h.firstBaseUpdate=Y,h.lastBaseUpdate=z,S===null&&(h.shared.lanes=0),ir|=C,n.lanes=C,n.memoizedState=se}}function zS(n,r){if(typeof n!="function")throw Error(s(191,n));n.call(r)}function ZS(n,r){var l=n.callbacks;if(l!==null)for(n.callbacks=null,n=0;n<l.length;n++)zS(l[n],r)}var Ha=P(null),UE=P(0);function ef(n,r){n=ps,ee(UE,n),ee(Ha,r),ps=n|r.baseLanes}function Dc(){ee(UE,ps),ee(Ha,Ha.current)}function gc(){ps=UE.current,q(Ha),q(UE)}var Js=0,qe=null,Rt=null,Kt=null,yE=!1,wa=!1,qr=!1,bE=0,zl=0,Ya=null,mm=0;function Yt(){throw Error(s(321))}function Mc(n,r){if(r===null)return!1;for(var l=0;l<r.length&&l<n.length;l++)if(!jn(n[l],r[l]))return!1;return!0}function Pc(n,r,l,u,h,S){return Js=S,qe=r,r.memoizedState=null,r.updateQueue=null,r.lanes=0,X.H=n===null||n.memoizedState===null?Hf:wf,qr=!1,S=l(u,h),qr=!1,wa&&(S=nf(r,l,u,h)),tf(n),S}function tf(n){X.H=wE;var r=Rt!==null&&Rt.next!==null;if(Js=0,Kt=Rt=qe=null,yE=!1,zl=0,Ya=null,r)throw Error(s(300));n===null||sn||(n=n.dependencies,n!==null&&pE(n)&&(sn=!0))}function nf(n,r,l,u){qe=n;var h=0;do{if(wa&&(Ya=null),zl=0,wa=!1,25<=h)throw Error(s(301));if(h+=1,Kt=Rt=null,n.updateQueue!=null){var S=n.updateQueue;S.lastEffect=null,S.events=null,S.stores=null,S.memoCache!=null&&(S.memoCache.index=0)}X.H=ym,S=r(l,u)}while(wa);return S}function pm(){var n=X.H,r=n.useState()[0];return r=typeof r.then=="function"?Zl(r):r,n=n.useState()[0],(Rt!==null?Rt.memoizedState:null)!==n&&(qe.flags|=1024),r}function Uc(){var n=bE!==0;return bE=0,n}function yc(n,r,l){r.updateQueue=n.updateQueue,r.flags&=-2053,n.lanes&=~l}function bc(n){if(yE){for(n=n.memoizedState;n!==null;){var r=n.queue;r!==null&&(r.pending=null),n=n.next}yE=!1}Js=0,Kt=Rt=qe=null,wa=!1,zl=bE=0,Ya=null}function Bn(){var n={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Kt===null?qe.memoizedState=Kt=n:Kt=Kt.next=n,Kt}function jt(){if(Rt===null){var n=qe.alternate;n=n!==null?n.memoizedState:null}else n=Rt.next;var r=Kt===null?qe.memoizedState:Kt.next;if(r!==null)Kt=r,Rt=n;else{if(n===null)throw qe.alternate===null?Error(s(467)):Error(s(310));Rt=n,n={memoizedState:Rt.memoizedState,baseState:Rt.baseState,baseQueue:Rt.baseQueue,queue:Rt.queue,next:null},Kt===null?qe.memoizedState=Kt=n:Kt=Kt.next=n}return Kt}function vc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Zl(n){var r=zl;return zl+=1,Ya===null&&(Ya=[]),n=$S(Ya,n,r),r=qe,(Kt===null?r.memoizedState:Kt.next)===null&&(r=r.alternate,X.H=r===null||r.memoizedState===null?Hf:wf),n}function vE(n){if(n!==null&&typeof n=="object"){if(typeof n.then=="function")return Zl(n);if(n.$$typeof===Z)return Nn(n)}throw Error(s(438,String(n)))}function Gc(n){var r=null,l=qe.updateQueue;if(l!==null&&(r=l.memoCache),r==null){var u=qe.alternate;u!==null&&(u=u.updateQueue,u!==null&&(u=u.memoCache,u!=null&&(r={data:u.data.map(function(h){return h.slice()}),index:0})))}if(r==null&&(r={data:[],index:0}),l===null&&(l=vc(),qe.updateQueue=l),l.memoCache=r,l=r.data[r.index],l===void 0)for(l=r.data[r.index]=Array(n),u=0;u<n;u++)l[u]=Se;return r.index++,l}function ds(n,r){return typeof r=="function"?r(n):r}function GE(n){var r=jt();return Bc(r,Rt,n)}function Bc(n,r,l){var u=n.queue;if(u===null)throw Error(s(311));u.lastRenderedReducer=l;var h=n.baseQueue,S=u.pending;if(S!==null){if(h!==null){var C=h.next;h.next=S.next,S.next=C}r.baseQueue=h=S,u.pending=null}if(S=n.baseState,h===null)n.memoizedState=S;else{r=h.next;var D=C=null,M=null,Y=r,z=!1;do{var se=Y.lane&-536870913;if(se!==Y.lane?(tt&se)===se:(Js&se)===se){var k=Y.revertLane;if(k===0)M!==null&&(M=M.next={lane:0,revertLane:0,action:Y.action,hasEagerState:Y.hasEagerState,eagerState:Y.eagerState,next:null}),se===Ba&&(z=!0);else if((Js&k)===k){Y=Y.next,k===Ba&&(z=!0);continue}else se={lane:0,revertLane:Y.revertLane,action:Y.action,hasEagerState:Y.hasEagerState,eagerState:Y.eagerState,next:null},M===null?(D=M=se,C=S):M=M.next=se,qe.lanes|=k,ir|=k;se=Y.action,qr&&l(S,se),S=Y.hasEagerState?Y.eagerState:l(S,se)}else k={lane:se,revertLane:Y.revertLane,action:Y.action,hasEagerState:Y.hasEagerState,eagerState:Y.eagerState,next:null},M===null?(D=M=k,C=S):M=M.next=k,qe.lanes|=se,ir|=se;Y=Y.next}while(Y!==null&&Y!==r);if(M===null?C=S:M.next=D,!jn(S,n.memoizedState)&&(sn=!0,z&&(l=xa,l!==null)))throw l;n.memoizedState=S,n.baseState=C,n.baseQueue=M,u.lastRenderedState=S}return h===null&&(u.lanes=0),[n.memoizedState,u.dispatch]}function xc(n){var r=jt(),l=r.queue;if(l===null)throw Error(s(311));l.lastRenderedReducer=n;var u=l.dispatch,h=l.pending,S=r.memoizedState;if(h!==null){l.pending=null;var C=h=h.next;do S=n(S,C.action),C=C.next;while(C!==h);jn(S,r.memoizedState)||(sn=!0),r.memoizedState=S,r.baseQueue===null&&(r.baseState=S),l.lastRenderedState=S}return[S,u]}function sf(n,r,l){var u=qe,h=jt(),S=lt;if(S){if(l===void 0)throw Error(s(407));l=l()}else l=r();var C=!jn((Rt||h).memoizedState,l);C&&(h.memoizedState=l,sn=!0),h=h.queue;var D=lf.bind(null,u,h,n);if(eo(2048,8,D,[n]),h.getSnapshot!==r||C||Kt!==null&&Kt.memoizedState.tag&1){if(u.flags|=2048,Fa(9,BE(),af.bind(null,u,h,l,r),null),It===null)throw Error(s(349));S||(Js&124)!==0||rf(u,r,l)}return l}function rf(n,r,l){n.flags|=16384,n={getSnapshot:r,value:l},r=qe.updateQueue,r===null?(r=vc(),qe.updateQueue=r,r.stores=[n]):(l=r.stores,l===null?r.stores=[n]:l.push(n))}function af(n,r,l,u){r.value=l,r.getSnapshot=u,of(r)&&Ef(n)}function lf(n,r,l){return l(function(){of(r)&&Ef(n)})}function of(n){var r=n.getSnapshot;n=n.value;try{var l=r();return!jn(n,l)}catch{return!0}}function Ef(n){var r=ya(n,2);r!==null&&Zn(r,n,2)}function Hc(n){var r=Bn();if(typeof n=="function"){var l=n;if(n=l(),qr){si(!0);try{l()}finally{si(!1)}}}return r.memoizedState=r.baseState=n,r.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:n},r}function uf(n,r,l,u){return n.baseState=l,Bc(n,Rt,typeof u=="function"?u:ds)}function Dm(n,r,l,u,h){if(HE(n))throw Error(s(485));if(n=r.action,n!==null){var S={payload:h,action:n,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(C){S.listeners.push(C)}};X.T!==null?l(!0):S.isTransition=!1,u(S),l=r.pending,l===null?(S.next=r.pending=S,Tf(r,S)):(S.next=l.next,r.pending=l.next=S)}}function Tf(n,r){var l=r.action,u=r.payload,h=n.state;if(r.isTransition){var S=X.T,C={};X.T=C;try{var D=l(h,u),M=X.S;M!==null&&M(C,D),cf(n,r,D)}catch(Y){wc(n,r,Y)}finally{X.T=S}}else try{S=l(h,u),cf(n,r,S)}catch(Y){wc(n,r,Y)}}function cf(n,r,l){l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(function(u){Af(n,r,u)},function(u){return wc(n,r,u)}):Af(n,r,l)}function Af(n,r,l){r.status="fulfilled",r.value=l,hf(r),n.state=l,r=n.pending,r!==null&&(l=r.next,l===r?n.pending=null:(l=l.next,r.next=l,Tf(n,l)))}function wc(n,r,l){var u=n.pending;if(n.pending=null,u!==null){u=u.next;do r.status="rejected",r.reason=l,hf(r),r=r.next;while(r!==u)}n.action=null}function hf(n){n=n.listeners;for(var r=0;r<n.length;r++)(0,n[r])()}function Rf(n,r){return r}function Sf(n,r){if(lt){var l=It.formState;if(l!==null){e:{var u=qe;if(lt){if(bt){t:{for(var h=bt,S=ji;h.nodeType!==8;){if(!S){h=null;break t}if(h=Ui(h.nextSibling),h===null){h=null;break t}}S=h.data,h=S==="F!"||S==="F"?h:null}if(h){bt=Ui(h.nextSibling),u=h.data==="F!";break e}}Wr(u)}u=!1}u&&(r=l[0])}}return l=Bn(),l.memoizedState=l.baseState=r,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rf,lastRenderedState:r},l.queue=u,l=Gf.bind(null,qe,u),u.dispatch=l,u=Hc(!1),S=Wc.bind(null,qe,!1,u.queue),u=Bn(),h={state:r,dispatch:null,action:n,pending:null},u.queue=h,l=Dm.bind(null,qe,h,S,l),h.dispatch=l,u.memoizedState=n,[r,l,!1]}function ff(n){var r=jt();return Of(r,Rt,n)}function Of(n,r,l){if(r=Bc(n,r,Rf)[0],n=GE(ds)[0],typeof r=="object"&&r!==null&&typeof r.then=="function")try{var u=Zl(r)}catch(C){throw C===jl?ME:C}else u=r;r=jt();var h=r.queue,S=h.dispatch;return l!==r.memoizedState&&(qe.flags|=2048,Fa(9,BE(),gm.bind(null,h,l),null)),[u,S,n]}function gm(n,r){n.action=r}function Nf(n){var r=jt(),l=Rt;if(l!==null)return Of(r,l,n);jt(),r=r.memoizedState,l=jt();var u=l.queue.dispatch;return l.memoizedState=n,[r,u,!1]}function Fa(n,r,l,u){return n={tag:n,create:l,deps:u,inst:r,next:null},r=qe.updateQueue,r===null&&(r=vc(),qe.updateQueue=r),l=r.lastEffect,l===null?r.lastEffect=n.next=n:(u=l.next,l.next=n,n.next=u,r.lastEffect=n),n}function BE(){return{destroy:void 0,resource:void 0}}function df(){return jt().memoizedState}function xE(n,r,l,u){var h=Bn();u=u===void 0?null:u,qe.flags|=n,h.memoizedState=Fa(1|r,BE(),l,u)}function eo(n,r,l,u){var h=jt();u=u===void 0?null:u;var S=h.memoizedState.inst;Rt!==null&&u!==null&&Mc(u,Rt.memoizedState.deps)?h.memoizedState=Fa(r,S,l,u):(qe.flags|=n,h.memoizedState=Fa(1|r,S,l,u))}function If(n,r){xE(8390656,8,n,r)}function Cf(n,r){eo(2048,8,n,r)}function _f(n,r){return eo(4,2,n,r)}function Lf(n,r){return eo(4,4,n,r)}function mf(n,r){if(typeof r=="function"){n=n();var l=r(n);return function(){typeof l=="function"?l():r(null)}}if(r!=null)return n=n(),r.current=n,function(){r.current=null}}function pf(n,r,l){l=l!=null?l.concat([n]):null,eo(4,4,mf.bind(null,r,n),l)}function Yc(){}function Df(n,r){var l=jt();r=r===void 0?null:r;var u=l.memoizedState;return r!==null&&Mc(r,u[1])?u[0]:(l.memoizedState=[n,r],n)}function gf(n,r){var l=jt();r=r===void 0?null:r;var u=l.memoizedState;if(r!==null&&Mc(r,u[1]))return u[0];if(u=n(),qr){si(!0);try{n()}finally{si(!1)}}return l.memoizedState=[u,r],u}function Fc(n,r,l){return l===void 0||(Js&1073741824)!==0?n.memoizedState=r:(n.memoizedState=l,n=UO(),qe.lanes|=n,ir|=n,l)}function Mf(n,r,l,u){return jn(l,r)?l:Ha.current!==null?(n=Fc(n,l,u),jn(n,r)||(sn=!0),n):(Js&42)===0?(sn=!0,n.memoizedState=l):(n=UO(),qe.lanes|=n,ir|=n,r)}function Pf(n,r,l,u,h){var S=Ee.p;Ee.p=S!==0&&8>S?S:8;var C=X.T,D={};X.T=D,Wc(n,!1,r,l);try{var M=h(),Y=X.S;if(Y!==null&&Y(D,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var z=Lm(M,u);to(n,r,z,zn(n))}else to(n,r,u,zn(n))}catch(se){to(n,r,{then:function(){},status:"rejected",reason:se},zn())}finally{Ee.p=S,X.T=C}}function Mm(){}function Vc(n,r,l,u){if(n.tag!==5)throw Error(s(476));var h=Uf(n).queue;Pf(n,h,r,fe,l===null?Mm:function(){return yf(n),l(u)})}function Uf(n){var r=n.memoizedState;if(r!==null)return r;r={memoizedState:fe,baseState:fe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:fe},next:null};var l={};return r.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:l},next:null},n.memoizedState=r,n=n.alternate,n!==null&&(n.memoizedState=r),r}function yf(n){var r=Uf(n).next.queue;to(n,r,{},zn())}function kc(){return Nn(No)}function bf(){return jt().memoizedState}function vf(){return jt().memoizedState}function Pm(n){for(var r=n.return;r!==null;){switch(r.tag){case 24:case 3:var l=zn();n=qs(l);var u=$s(r,n,l);u!==null&&(Zn(u,r,l),$l(u,r,l)),r={cache:Nc()},n.payload=r;return}r=r.return}}function Um(n,r,l){var u=zn();l={lane:u,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null},HE(n)?Bf(r,l):(l=Ec(n,r,l,u),l!==null&&(Zn(l,n,u),xf(l,r,u)))}function Gf(n,r,l){var u=zn();to(n,r,l,u)}function to(n,r,l,u){var h={lane:u,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null};if(HE(n))Bf(r,h);else{var S=n.alternate;if(n.lanes===0&&(S===null||S.lanes===0)&&(S=r.lastRenderedReducer,S!==null))try{var C=r.lastRenderedState,D=S(C,l);if(h.hasEagerState=!0,h.eagerState=D,jn(D,C))return IE(n,r,h,0),It===null&&dE(),!1}catch{}finally{}if(l=Ec(n,r,h,u),l!==null)return Zn(l,n,u),xf(l,r,u),!0}return!1}function Wc(n,r,l,u){if(u={lane:2,revertLane:CA(),action:u,hasEagerState:!1,eagerState:null,next:null},HE(n)){if(r)throw Error(s(479))}else r=Ec(n,l,u,2),r!==null&&Zn(r,n,2)}function HE(n){var r=n.alternate;return n===qe||r!==null&&r===qe}function Bf(n,r){wa=yE=!0;var l=n.pending;l===null?r.next=r:(r.next=l.next,l.next=r),n.pending=r}function xf(n,r,l){if((l&4194048)!==0){var u=r.lanes;u&=n.pendingLanes,l|=u,r.lanes=l,Vi(n,l)}}var wE={readContext:Nn,use:vE,useCallback:Yt,useContext:Yt,useEffect:Yt,useImperativeHandle:Yt,useLayoutEffect:Yt,useInsertionEffect:Yt,useMemo:Yt,useReducer:Yt,useRef:Yt,useState:Yt,useDebugValue:Yt,useDeferredValue:Yt,useTransition:Yt,useSyncExternalStore:Yt,useId:Yt,useHostTransitionStatus:Yt,useFormState:Yt,useActionState:Yt,useOptimistic:Yt,useMemoCache:Yt,useCacheRefresh:Yt},Hf={readContext:Nn,use:vE,useCallback:function(n,r){return Bn().memoizedState=[n,r===void 0?null:r],n},useContext:Nn,useEffect:If,useImperativeHandle:function(n,r,l){l=l!=null?l.concat([n]):null,xE(4194308,4,mf.bind(null,r,n),l)},useLayoutEffect:function(n,r){return xE(4194308,4,n,r)},useInsertionEffect:function(n,r){xE(4,2,n,r)},useMemo:function(n,r){var l=Bn();r=r===void 0?null:r;var u=n();if(qr){si(!0);try{n()}finally{si(!1)}}return l.memoizedState=[u,r],u},useReducer:function(n,r,l){var u=Bn();if(l!==void 0){var h=l(r);if(qr){si(!0);try{l(r)}finally{si(!1)}}}else h=r;return u.memoizedState=u.baseState=h,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:h},u.queue=n,n=n.dispatch=Um.bind(null,qe,n),[u.memoizedState,n]},useRef:function(n){var r=Bn();return n={current:n},r.memoizedState=n},useState:function(n){n=Hc(n);var r=n.queue,l=Gf.bind(null,qe,r);return r.dispatch=l,[n.memoizedState,l]},useDebugValue:Yc,useDeferredValue:function(n,r){var l=Bn();return Fc(l,n,r)},useTransition:function(){var n=Hc(!1);return n=Pf.bind(null,qe,n.queue,!0,!1),Bn().memoizedState=n,[!1,n]},useSyncExternalStore:function(n,r,l){var u=qe,h=Bn();if(lt){if(l===void 0)throw Error(s(407));l=l()}else{if(l=r(),It===null)throw Error(s(349));(tt&124)!==0||rf(u,r,l)}h.memoizedState=l;var S={value:l,getSnapshot:r};return h.queue=S,If(lf.bind(null,u,S,n),[n]),u.flags|=2048,Fa(9,BE(),af.bind(null,u,S,l,r),null),l},useId:function(){var n=Bn(),r=It.identifierPrefix;if(lt){var l=fs,u=Ss;l=(u&~(1<<32-J(u)-1)).toString(32)+l,r="«"+r+"R"+l,l=bE++,0<l&&(r+="H"+l.toString(32)),r+="»"}else l=mm++,r="«"+r+"r"+l.toString(32)+"»";return n.memoizedState=r},useHostTransitionStatus:kc,useFormState:Sf,useActionState:Sf,useOptimistic:function(n){var r=Bn();r.memoizedState=r.baseState=n;var l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return r.queue=l,r=Wc.bind(null,qe,!0,l),l.dispatch=r,[n,r]},useMemoCache:Gc,useCacheRefresh:function(){return Bn().memoizedState=Pm.bind(null,qe)}},wf={readContext:Nn,use:vE,useCallback:Df,useContext:Nn,useEffect:Cf,useImperativeHandle:pf,useInsertionEffect:_f,useLayoutEffect:Lf,useMemo:gf,useReducer:GE,useRef:df,useState:function(){return GE(ds)},useDebugValue:Yc,useDeferredValue:function(n,r){var l=jt();return Mf(l,Rt.memoizedState,n,r)},useTransition:function(){var n=GE(ds)[0],r=jt().memoizedState;return[typeof n=="boolean"?n:Zl(n),r]},useSyncExternalStore:sf,useId:bf,useHostTransitionStatus:kc,useFormState:ff,useActionState:ff,useOptimistic:function(n,r){var l=jt();return uf(l,Rt,n,r)},useMemoCache:Gc,useCacheRefresh:vf},ym={readContext:Nn,use:vE,useCallback:Df,useContext:Nn,useEffect:Cf,useImperativeHandle:pf,useInsertionEffect:_f,useLayoutEffect:Lf,useMemo:gf,useReducer:xc,useRef:df,useState:function(){return xc(ds)},useDebugValue:Yc,useDeferredValue:function(n,r){var l=jt();return Rt===null?Fc(l,n,r):Mf(l,Rt.memoizedState,n,r)},useTransition:function(){var n=xc(ds)[0],r=jt().memoizedState;return[typeof n=="boolean"?n:Zl(n),r]},useSyncExternalStore:sf,useId:bf,useHostTransitionStatus:kc,useFormState:Nf,useActionState:Nf,useOptimistic:function(n,r){var l=jt();return Rt!==null?uf(l,Rt,n,r):(l.baseState=n,[n,l.queue.dispatch])},useMemoCache:Gc,useCacheRefresh:vf},Va=null,no=0;function YE(n){var r=no;return no+=1,Va===null&&(Va=[]),$S(Va,n,r)}function io(n,r){r=r.props.ref,n.ref=r!==void 0?r:null}function FE(n,r){throw r.$$typeof===O?Error(s(525)):(n=Object.prototype.toString.call(r),Error(s(31,n==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":n)))}function Yf(n){var r=n._init;return r(n._payload)}function Ff(n){function r(x,G){if(n){var w=x.deletions;w===null?(x.deletions=[G],x.flags|=16):w.push(G)}}function l(x,G){if(!n)return null;for(;G!==null;)r(x,G),G=G.sibling;return null}function u(x){for(var G=new Map;x!==null;)x.key!==null?G.set(x.key,x):G.set(x.index,x),x=x.sibling;return G}function h(x,G){return x=Rs(x,G),x.index=0,x.sibling=null,x}function S(x,G,w){return x.index=w,n?(w=x.alternate,w!==null?(w=w.index,w<G?(x.flags|=67108866,G):w):(x.flags|=67108866,G)):(x.flags|=1048576,G)}function C(x){return n&&x.alternate===null&&(x.flags|=67108866),x}function D(x,G,w,ne){return G===null||G.tag!==6?(G=Tc(w,x.mode,ne),G.return=x,G):(G=h(G,w),G.return=x,G)}function M(x,G,w,ne){var Ce=w.type;return Ce===p?z(x,G,w.props.children,ne,w.key):G!==null&&(G.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===ce&&Yf(Ce)===G.type)?(G=h(G,w.props),io(G,w),G.return=x,G):(G=_E(w.type,w.key,w.props,null,x.mode,ne),io(G,w),G.return=x,G)}function Y(x,G,w,ne){return G===null||G.tag!==4||G.stateNode.containerInfo!==w.containerInfo||G.stateNode.implementation!==w.implementation?(G=cc(w,x.mode,ne),G.return=x,G):(G=h(G,w.children||[]),G.return=x,G)}function z(x,G,w,ne,Ce){return G===null||G.tag!==7?(G=Yr(w,x.mode,ne,Ce),G.return=x,G):(G=h(G,w),G.return=x,G)}function se(x,G,w){if(typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint")return G=Tc(""+G,x.mode,w),G.return=x,G;if(typeof G=="object"&&G!==null){switch(G.$$typeof){case d:return w=_E(G.type,G.key,G.props,null,x.mode,w),io(w,G),w.return=x,w;case L:return G=cc(G,x.mode,w),G.return=x,G;case ce:var ne=G._init;return G=ne(G._payload),se(x,G,w)}if(Ue(G)||ue(G))return G=Yr(G,x.mode,w,null),G.return=x,G;if(typeof G.then=="function")return se(x,YE(G),w);if(G.$$typeof===Z)return se(x,DE(x,G),w);FE(x,G)}return null}function k(x,G,w,ne){var Ce=G!==null?G.key:null;if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return Ce!==null?null:D(x,G,""+w,ne);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case d:return w.key===Ce?M(x,G,w,ne):null;case L:return w.key===Ce?Y(x,G,w,ne):null;case ce:return Ce=w._init,w=Ce(w._payload),k(x,G,w,ne)}if(Ue(w)||ue(w))return Ce!==null?null:z(x,G,w,ne,null);if(typeof w.then=="function")return k(x,G,YE(w),ne);if(w.$$typeof===Z)return k(x,G,DE(x,w),ne);FE(x,w)}return null}function W(x,G,w,ne,Ce){if(typeof ne=="string"&&ne!==""||typeof ne=="number"||typeof ne=="bigint")return x=x.get(w)||null,D(G,x,""+ne,Ce);if(typeof ne=="object"&&ne!==null){switch(ne.$$typeof){case d:return x=x.get(ne.key===null?w:ne.key)||null,M(G,x,ne,Ce);case L:return x=x.get(ne.key===null?w:ne.key)||null,Y(G,x,ne,Ce);case ce:var Je=ne._init;return ne=Je(ne._payload),W(x,G,w,ne,Ce)}if(Ue(ne)||ue(ne))return x=x.get(w)||null,z(G,x,ne,Ce,null);if(typeof ne.then=="function")return W(x,G,w,YE(ne),Ce);if(ne.$$typeof===Z)return W(x,G,w,DE(G,ne),Ce);FE(G,ne)}return null}function Fe(x,G,w,ne){for(var Ce=null,Je=null,Me=G,xe=G=0,an=null;Me!==null&&xe<w.length;xe++){Me.index>xe?(an=Me,Me=null):an=Me.sibling;var at=k(x,Me,w[xe],ne);if(at===null){Me===null&&(Me=an);break}n&&Me&&at.alternate===null&&r(x,Me),G=S(at,G,xe),Je===null?Ce=at:Je.sibling=at,Je=at,Me=an}if(xe===w.length)return l(x,Me),lt&&Vr(x,xe),Ce;if(Me===null){for(;xe<w.length;xe++)Me=se(x,w[xe],ne),Me!==null&&(G=S(Me,G,xe),Je===null?Ce=Me:Je.sibling=Me,Je=Me);return lt&&Vr(x,xe),Ce}for(Me=u(Me);xe<w.length;xe++)an=W(Me,x,xe,w[xe],ne),an!==null&&(n&&an.alternate!==null&&Me.delete(an.key===null?xe:an.key),G=S(an,G,xe),Je===null?Ce=an:Je.sibling=an,Je=an);return n&&Me.forEach(function(cr){return r(x,cr)}),lt&&Vr(x,xe),Ce}function Be(x,G,w,ne){if(w==null)throw Error(s(151));for(var Ce=null,Je=null,Me=G,xe=G=0,an=null,at=w.next();Me!==null&&!at.done;xe++,at=w.next()){Me.index>xe?(an=Me,Me=null):an=Me.sibling;var cr=k(x,Me,at.value,ne);if(cr===null){Me===null&&(Me=an);break}n&&Me&&cr.alternate===null&&r(x,Me),G=S(cr,G,xe),Je===null?Ce=cr:Je.sibling=cr,Je=cr,Me=an}if(at.done)return l(x,Me),lt&&Vr(x,xe),Ce;if(Me===null){for(;!at.done;xe++,at=w.next())at=se(x,at.value,ne),at!==null&&(G=S(at,G,xe),Je===null?Ce=at:Je.sibling=at,Je=at);return lt&&Vr(x,xe),Ce}for(Me=u(Me);!at.done;xe++,at=w.next())at=W(Me,x,xe,at.value,ne),at!==null&&(n&&at.alternate!==null&&Me.delete(at.key===null?xe:at.key),G=S(at,G,xe),Je===null?Ce=at:Je.sibling=at,Je=at);return n&&Me.forEach(function(bp){return r(x,bp)}),lt&&Vr(x,xe),Ce}function ft(x,G,w,ne){if(typeof w=="object"&&w!==null&&w.type===p&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case d:e:{for(var Ce=w.key;G!==null;){if(G.key===Ce){if(Ce=w.type,Ce===p){if(G.tag===7){l(x,G.sibling),ne=h(G,w.props.children),ne.return=x,x=ne;break e}}else if(G.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===ce&&Yf(Ce)===G.type){l(x,G.sibling),ne=h(G,w.props),io(ne,w),ne.return=x,x=ne;break e}l(x,G);break}else r(x,G);G=G.sibling}w.type===p?(ne=Yr(w.props.children,x.mode,ne,w.key),ne.return=x,x=ne):(ne=_E(w.type,w.key,w.props,null,x.mode,ne),io(ne,w),ne.return=x,x=ne)}return C(x);case L:e:{for(Ce=w.key;G!==null;){if(G.key===Ce)if(G.tag===4&&G.stateNode.containerInfo===w.containerInfo&&G.stateNode.implementation===w.implementation){l(x,G.sibling),ne=h(G,w.children||[]),ne.return=x,x=ne;break e}else{l(x,G);break}else r(x,G);G=G.sibling}ne=cc(w,x.mode,ne),ne.return=x,x=ne}return C(x);case ce:return Ce=w._init,w=Ce(w._payload),ft(x,G,w,ne)}if(Ue(w))return Fe(x,G,w,ne);if(ue(w)){if(Ce=ue(w),typeof Ce!="function")throw Error(s(150));return w=Ce.call(w),Be(x,G,w,ne)}if(typeof w.then=="function")return ft(x,G,YE(w),ne);if(w.$$typeof===Z)return ft(x,G,DE(x,w),ne);FE(x,w)}return typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint"?(w=""+w,G!==null&&G.tag===6?(l(x,G.sibling),ne=h(G,w),ne.return=x,x=ne):(l(x,G),ne=Tc(w,x.mode,ne),ne.return=x,x=ne),C(x)):l(x,G)}return function(x,G,w,ne){try{no=0;var Ce=ft(x,G,w,ne);return Va=null,Ce}catch(Me){if(Me===jl||Me===ME)throw Me;var Je=qn(29,Me,null,x.mode);return Je.lanes=ne,Je.return=x,Je}finally{}}}var ka=Ff(!0),Vf=Ff(!1),ci=P(null),qi=null;function Qs(n){var r=n.alternate;ee(Jt,Jt.current&1),ee(ci,n),qi===null&&(r===null||Ha.current!==null||r.memoizedState!==null)&&(qi=n)}function kf(n){if(n.tag===22){if(ee(Jt,Jt.current),ee(ci,n),qi===null){var r=n.alternate;r!==null&&r.memoizedState!==null&&(qi=n)}}else zs()}function zs(){ee(Jt,Jt.current),ee(ci,ci.current)}function Is(n){q(ci),qi===n&&(qi=null),q(Jt)}var Jt=P(0);function VE(n){for(var r=n;r!==null;){if(r.tag===13){var l=r.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||vA(l)))return r}else if(r.tag===19&&r.memoizedProps.revealOrder!==void 0){if((r.flags&128)!==0)return r}else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}function Xc(n,r,l,u){r=n.memoizedState,l=l(u,r),l=l==null?r:R({},r,l),n.memoizedState=l,n.lanes===0&&(n.updateQueue.baseState=l)}var Kc={enqueueSetState:function(n,r,l){n=n._reactInternals;var u=zn(),h=qs(u);h.payload=r,l!=null&&(h.callback=l),r=$s(n,h,u),r!==null&&(Zn(r,n,u),$l(r,n,u))},enqueueReplaceState:function(n,r,l){n=n._reactInternals;var u=zn(),h=qs(u);h.tag=1,h.payload=r,l!=null&&(h.callback=l),r=$s(n,h,u),r!==null&&(Zn(r,n,u),$l(r,n,u))},enqueueForceUpdate:function(n,r){n=n._reactInternals;var l=zn(),u=qs(l);u.tag=2,r!=null&&(u.callback=r),r=$s(n,u,l),r!==null&&(Zn(r,n,l),$l(r,n,l))}};function Wf(n,r,l,u,h,S,C){return n=n.stateNode,typeof n.shouldComponentUpdate=="function"?n.shouldComponentUpdate(u,S,C):r.prototype&&r.prototype.isPureReactComponent?!wl(l,u)||!wl(h,S):!0}function Xf(n,r,l,u){n=r.state,typeof r.componentWillReceiveProps=="function"&&r.componentWillReceiveProps(l,u),typeof r.UNSAFE_componentWillReceiveProps=="function"&&r.UNSAFE_componentWillReceiveProps(l,u),r.state!==n&&Kc.enqueueReplaceState(r,r.state,null)}function $r(n,r){var l=r;if("ref"in r){l={};for(var u in r)u!=="ref"&&(l[u]=r[u])}if(n=n.defaultProps){l===r&&(l=R({},l));for(var h in n)l[h]===void 0&&(l[h]=n[h])}return l}var kE=typeof reportError=="function"?reportError:function(n){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var r=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof n=="object"&&n!==null&&typeof n.message=="string"?String(n.message):String(n),error:n});if(!window.dispatchEvent(r))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",n);return}console.error(n)};function Kf(n){kE(n)}function jf(n){console.error(n)}function qf(n){kE(n)}function WE(n,r){try{var l=n.onUncaughtError;l(r.value,{componentStack:r.stack})}catch(u){setTimeout(function(){throw u})}}function $f(n,r,l){try{var u=n.onCaughtError;u(l.value,{componentStack:l.stack,errorBoundary:r.tag===1?r.stateNode:null})}catch(h){setTimeout(function(){throw h})}}function jc(n,r,l){return l=qs(l),l.tag=3,l.payload={element:null},l.callback=function(){WE(n,r)},l}function Jf(n){return n=qs(n),n.tag=3,n}function Qf(n,r,l,u){var h=l.type.getDerivedStateFromError;if(typeof h=="function"){var S=u.value;n.payload=function(){return h(S)},n.callback=function(){$f(r,l,u)}}var C=l.stateNode;C!==null&&typeof C.componentDidCatch=="function"&&(n.callback=function(){$f(r,l,u),typeof h!="function"&&(sr===null?sr=new Set([this]):sr.add(this));var D=u.stack;this.componentDidCatch(u.value,{componentStack:D!==null?D:""})})}function bm(n,r,l,u,h){if(l.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){if(r=l.alternate,r!==null&&Wl(r,l,h,!0),l=ci.current,l!==null){switch(l.tag){case 13:return qi===null?fA():l.alternate===null&&vt===0&&(vt=3),l.flags&=-257,l.flags|=65536,l.lanes=h,u===Cc?l.flags|=16384:(r=l.updateQueue,r===null?l.updateQueue=new Set([u]):r.add(u),NA(n,u,h)),!1;case 22:return l.flags|=65536,u===Cc?l.flags|=16384:(r=l.updateQueue,r===null?(r={transitions:null,markerInstances:null,retryQueue:new Set([u])},l.updateQueue=r):(l=r.retryQueue,l===null?r.retryQueue=new Set([u]):l.add(u)),NA(n,u,h)),!1}throw Error(s(435,l.tag))}return NA(n,u,h),fA(),!1}if(lt)return r=ci.current,r!==null?((r.flags&65536)===0&&(r.flags|=256),r.flags|=65536,r.lanes=h,u!==Rc&&(n=Error(s(422),{cause:u}),kl(oi(n,l)))):(u!==Rc&&(r=Error(s(423),{cause:u}),kl(oi(r,l))),n=n.current.alternate,n.flags|=65536,h&=-h,n.lanes|=h,u=oi(u,l),h=jc(n.stateNode,u,h),mc(n,h),vt!==4&&(vt=2)),!1;var S=Error(s(520),{cause:u});if(S=oi(S,l),uo===null?uo=[S]:uo.push(S),vt!==4&&(vt=2),r===null)return!0;u=oi(u,l),l=r;do{switch(l.tag){case 3:return l.flags|=65536,n=h&-h,l.lanes|=n,n=jc(l.stateNode,u,n),mc(l,n),!1;case 1:if(r=l.type,S=l.stateNode,(l.flags&128)===0&&(typeof r.getDerivedStateFromError=="function"||S!==null&&typeof S.componentDidCatch=="function"&&(sr===null||!sr.has(S))))return l.flags|=65536,h&=-h,l.lanes|=h,h=Jf(h),Qf(h,n,l,u),mc(l,h),!1}l=l.return}while(l!==null);return!1}var zf=Error(s(461)),sn=!1;function An(n,r,l,u){r.child=n===null?Vf(r,null,l,u):ka(r,n.child,l,u)}function Zf(n,r,l,u,h){l=l.render;var S=r.ref;if("ref"in u){var C={};for(var D in u)D!=="ref"&&(C[D]=u[D])}else C=u;return Kr(r),u=Pc(n,r,l,C,S,h),D=Uc(),n!==null&&!sn?(yc(n,r,h),Cs(n,r,h)):(lt&&D&&Ac(r),r.flags|=1,An(n,r,u,h),r.child)}function eO(n,r,l,u,h){if(n===null){var S=l.type;return typeof S=="function"&&!uc(S)&&S.defaultProps===void 0&&l.compare===null?(r.tag=15,r.type=S,tO(n,r,S,u,h)):(n=_E(l.type,null,u,r,r.mode,h),n.ref=r.ref,n.return=r,r.child=n)}if(S=n.child,!tA(n,h)){var C=S.memoizedProps;if(l=l.compare,l=l!==null?l:wl,l(C,u)&&n.ref===r.ref)return Cs(n,r,h)}return r.flags|=1,n=Rs(S,u),n.ref=r.ref,n.return=r,r.child=n}function tO(n,r,l,u,h){if(n!==null){var S=n.memoizedProps;if(wl(S,u)&&n.ref===r.ref)if(sn=!1,r.pendingProps=u=S,tA(n,h))(n.flags&131072)!==0&&(sn=!0);else return r.lanes=n.lanes,Cs(n,r,h)}return qc(n,r,l,u,h)}function nO(n,r,l){var u=r.pendingProps,h=u.children,S=n!==null?n.memoizedState:null;if(u.mode==="hidden"){if((r.flags&128)!==0){if(u=S!==null?S.baseLanes|l:l,n!==null){for(h=r.child=n.child,S=0;h!==null;)S=S|h.lanes|h.childLanes,h=h.sibling;r.childLanes=S&~u}else r.childLanes=0,r.child=null;return iO(n,r,u,l)}if((l&536870912)!==0)r.memoizedState={baseLanes:0,cachePool:null},n!==null&&gE(r,S!==null?S.cachePool:null),S!==null?ef(r,S):Dc(),kf(r);else return r.lanes=r.childLanes=536870912,iO(n,r,S!==null?S.baseLanes|l:l,l)}else S!==null?(gE(r,S.cachePool),ef(r,S),zs(),r.memoizedState=null):(n!==null&&gE(r,null),Dc(),zs());return An(n,r,h,l),r.child}function iO(n,r,l,u){var h=Ic();return h=h===null?null:{parent:$t._currentValue,pool:h},r.memoizedState={baseLanes:l,cachePool:h},n!==null&&gE(r,null),Dc(),kf(r),n!==null&&Wl(n,r,u,!0),null}function XE(n,r){var l=r.ref;if(l===null)n!==null&&n.ref!==null&&(r.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(s(284));(n===null||n.ref!==l)&&(r.flags|=4194816)}}function qc(n,r,l,u,h){return Kr(r),l=Pc(n,r,l,u,void 0,h),u=Uc(),n!==null&&!sn?(yc(n,r,h),Cs(n,r,h)):(lt&&u&&Ac(r),r.flags|=1,An(n,r,l,h),r.child)}function sO(n,r,l,u,h,S){return Kr(r),r.updateQueue=null,l=nf(r,u,l,h),tf(n),u=Uc(),n!==null&&!sn?(yc(n,r,S),Cs(n,r,S)):(lt&&u&&Ac(r),r.flags|=1,An(n,r,l,S),r.child)}function rO(n,r,l,u,h){if(Kr(r),r.stateNode===null){var S=ba,C=l.contextType;typeof C=="object"&&C!==null&&(S=Nn(C)),S=new l(u,S),r.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,S.updater=Kc,r.stateNode=S,S._reactInternals=r,S=r.stateNode,S.props=u,S.state=r.memoizedState,S.refs={},_c(r),C=l.contextType,S.context=typeof C=="object"&&C!==null?Nn(C):ba,S.state=r.memoizedState,C=l.getDerivedStateFromProps,typeof C=="function"&&(Xc(r,l,C,u),S.state=r.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof S.getSnapshotBeforeUpdate=="function"||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(C=S.state,typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount(),C!==S.state&&Kc.enqueueReplaceState(S,S.state,null),Ql(r,u,S,h),Jl(),S.state=r.memoizedState),typeof S.componentDidMount=="function"&&(r.flags|=4194308),u=!0}else if(n===null){S=r.stateNode;var D=r.memoizedProps,M=$r(l,D);S.props=M;var Y=S.context,z=l.contextType;C=ba,typeof z=="object"&&z!==null&&(C=Nn(z));var se=l.getDerivedStateFromProps;z=typeof se=="function"||typeof S.getSnapshotBeforeUpdate=="function",D=r.pendingProps!==D,z||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(D||Y!==C)&&Xf(r,S,u,C),js=!1;var k=r.memoizedState;S.state=k,Ql(r,u,S,h),Jl(),Y=r.memoizedState,D||k!==Y||js?(typeof se=="function"&&(Xc(r,l,se,u),Y=r.memoizedState),(M=js||Wf(r,l,M,u,k,Y,C))?(z||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"&&(r.flags|=4194308)):(typeof S.componentDidMount=="function"&&(r.flags|=4194308),r.memoizedProps=u,r.memoizedState=Y),S.props=u,S.state=Y,S.context=C,u=M):(typeof S.componentDidMount=="function"&&(r.flags|=4194308),u=!1)}else{S=r.stateNode,Lc(n,r),C=r.memoizedProps,z=$r(l,C),S.props=z,se=r.pendingProps,k=S.context,Y=l.contextType,M=ba,typeof Y=="object"&&Y!==null&&(M=Nn(Y)),D=l.getDerivedStateFromProps,(Y=typeof D=="function"||typeof S.getSnapshotBeforeUpdate=="function")||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(C!==se||k!==M)&&Xf(r,S,u,M),js=!1,k=r.memoizedState,S.state=k,Ql(r,u,S,h),Jl();var W=r.memoizedState;C!==se||k!==W||js||n!==null&&n.dependencies!==null&&pE(n.dependencies)?(typeof D=="function"&&(Xc(r,l,D,u),W=r.memoizedState),(z=js||Wf(r,l,z,u,k,W,M)||n!==null&&n.dependencies!==null&&pE(n.dependencies))?(Y||typeof S.UNSAFE_componentWillUpdate!="function"&&typeof S.componentWillUpdate!="function"||(typeof S.componentWillUpdate=="function"&&S.componentWillUpdate(u,W,M),typeof S.UNSAFE_componentWillUpdate=="function"&&S.UNSAFE_componentWillUpdate(u,W,M)),typeof S.componentDidUpdate=="function"&&(r.flags|=4),typeof S.getSnapshotBeforeUpdate=="function"&&(r.flags|=1024)):(typeof S.componentDidUpdate!="function"||C===n.memoizedProps&&k===n.memoizedState||(r.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||C===n.memoizedProps&&k===n.memoizedState||(r.flags|=1024),r.memoizedProps=u,r.memoizedState=W),S.props=u,S.state=W,S.context=M,u=z):(typeof S.componentDidUpdate!="function"||C===n.memoizedProps&&k===n.memoizedState||(r.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||C===n.memoizedProps&&k===n.memoizedState||(r.flags|=1024),u=!1)}return S=u,XE(n,r),u=(r.flags&128)!==0,S||u?(S=r.stateNode,l=u&&typeof l.getDerivedStateFromError!="function"?null:S.render(),r.flags|=1,n!==null&&u?(r.child=ka(r,n.child,null,h),r.child=ka(r,null,l,h)):An(n,r,l,h),r.memoizedState=S.state,n=r.child):n=Cs(n,r,h),n}function aO(n,r,l,u){return Vl(),r.flags|=256,An(n,r,l,u),r.child}var $c={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Jc(n){return{baseLanes:n,cachePool:KS()}}function Qc(n,r,l){return n=n!==null?n.childLanes&~l:0,r&&(n|=Ai),n}function lO(n,r,l){var u=r.pendingProps,h=!1,S=(r.flags&128)!==0,C;if((C=S)||(C=n!==null&&n.memoizedState===null?!1:(Jt.current&2)!==0),C&&(h=!0,r.flags&=-129),C=(r.flags&32)!==0,r.flags&=-33,n===null){if(lt){if(h?Qs(r):zs(),lt){var D=bt,M;if(M=D){e:{for(M=D,D=ji;M.nodeType!==8;){if(!D){D=null;break e}if(M=Ui(M.nextSibling),M===null){D=null;break e}}D=M}D!==null?(r.memoizedState={dehydrated:D,treeContext:Fr!==null?{id:Ss,overflow:fs}:null,retryLane:536870912,hydrationErrors:null},M=qn(18,null,null,0),M.stateNode=D,M.return=r,r.child=M,Mn=r,bt=null,M=!0):M=!1}M||Wr(r)}if(D=r.memoizedState,D!==null&&(D=D.dehydrated,D!==null))return vA(D)?r.lanes=32:r.lanes=536870912,null;Is(r)}return D=u.children,u=u.fallback,h?(zs(),h=r.mode,D=KE({mode:"hidden",children:D},h),u=Yr(u,h,l,null),D.return=r,u.return=r,D.sibling=u,r.child=D,h=r.child,h.memoizedState=Jc(l),h.childLanes=Qc(n,C,l),r.memoizedState=$c,u):(Qs(r),zc(r,D))}if(M=n.memoizedState,M!==null&&(D=M.dehydrated,D!==null)){if(S)r.flags&256?(Qs(r),r.flags&=-257,r=Zc(n,r,l)):r.memoizedState!==null?(zs(),r.child=n.child,r.flags|=128,r=null):(zs(),h=u.fallback,D=r.mode,u=KE({mode:"visible",children:u.children},D),h=Yr(h,D,l,null),h.flags|=2,u.return=r,h.return=r,u.sibling=h,r.child=u,ka(r,n.child,null,l),u=r.child,u.memoizedState=Jc(l),u.childLanes=Qc(n,C,l),r.memoizedState=$c,r=h);else if(Qs(r),vA(D)){if(C=D.nextSibling&&D.nextSibling.dataset,C)var Y=C.dgst;C=Y,u=Error(s(419)),u.stack="",u.digest=C,kl({value:u,source:null,stack:null}),r=Zc(n,r,l)}else if(sn||Wl(n,r,l,!1),C=(l&n.childLanes)!==0,sn||C){if(C=It,C!==null&&(u=l&-l,u=(u&42)!==0?1:Sa(u),u=(u&(C.suspendedLanes|l))!==0?0:u,u!==0&&u!==M.retryLane))throw M.retryLane=u,ya(n,u),Zn(C,n,u),zf;D.data==="$?"||fA(),r=Zc(n,r,l)}else D.data==="$?"?(r.flags|=192,r.child=n.child,r=null):(n=M.treeContext,bt=Ui(D.nextSibling),Mn=r,lt=!0,kr=null,ji=!1,n!==null&&(ui[Ti++]=Ss,ui[Ti++]=fs,ui[Ti++]=Fr,Ss=n.id,fs=n.overflow,Fr=r),r=zc(r,u.children),r.flags|=4096);return r}return h?(zs(),h=u.fallback,D=r.mode,M=n.child,Y=M.sibling,u=Rs(M,{mode:"hidden",children:u.children}),u.subtreeFlags=M.subtreeFlags&65011712,Y!==null?h=Rs(Y,h):(h=Yr(h,D,l,null),h.flags|=2),h.return=r,u.return=r,u.sibling=h,r.child=u,u=h,h=r.child,D=n.child.memoizedState,D===null?D=Jc(l):(M=D.cachePool,M!==null?(Y=$t._currentValue,M=M.parent!==Y?{parent:Y,pool:Y}:M):M=KS(),D={baseLanes:D.baseLanes|l,cachePool:M}),h.memoizedState=D,h.childLanes=Qc(n,C,l),r.memoizedState=$c,u):(Qs(r),l=n.child,n=l.sibling,l=Rs(l,{mode:"visible",children:u.children}),l.return=r,l.sibling=null,n!==null&&(C=r.deletions,C===null?(r.deletions=[n],r.flags|=16):C.push(n)),r.child=l,r.memoizedState=null,l)}function zc(n,r){return r=KE({mode:"visible",children:r},n.mode),r.return=n,n.child=r}function KE(n,r){return n=qn(22,n,null,r),n.lanes=0,n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},n}function Zc(n,r,l){return ka(r,n.child,null,l),n=zc(r,r.pendingProps.children),n.flags|=2,r.memoizedState=null,n}function oO(n,r,l){n.lanes|=r;var u=n.alternate;u!==null&&(u.lanes|=r),fc(n.return,r,l)}function eA(n,r,l,u,h){var S=n.memoizedState;S===null?n.memoizedState={isBackwards:r,rendering:null,renderingStartTime:0,last:u,tail:l,tailMode:h}:(S.isBackwards=r,S.rendering=null,S.renderingStartTime=0,S.last=u,S.tail=l,S.tailMode=h)}function EO(n,r,l){var u=r.pendingProps,h=u.revealOrder,S=u.tail;if(An(n,r,u.children,l),u=Jt.current,(u&2)!==0)u=u&1|2,r.flags|=128;else{if(n!==null&&(n.flags&128)!==0)e:for(n=r.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&oO(n,l,r);else if(n.tag===19)oO(n,l,r);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===r)break e;for(;n.sibling===null;){if(n.return===null||n.return===r)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}u&=1}switch(ee(Jt,u),h){case"forwards":for(l=r.child,h=null;l!==null;)n=l.alternate,n!==null&&VE(n)===null&&(h=l),l=l.sibling;l=h,l===null?(h=r.child,r.child=null):(h=l.sibling,l.sibling=null),eA(r,!1,h,l,S);break;case"backwards":for(l=null,h=r.child,r.child=null;h!==null;){if(n=h.alternate,n!==null&&VE(n)===null){r.child=h;break}n=h.sibling,h.sibling=l,l=h,h=n}eA(r,!0,l,null,S);break;case"together":eA(r,!1,null,null,void 0);break;default:r.memoizedState=null}return r.child}function Cs(n,r,l){if(n!==null&&(r.dependencies=n.dependencies),ir|=r.lanes,(l&r.childLanes)===0)if(n!==null){if(Wl(n,r,l,!1),(l&r.childLanes)===0)return null}else return null;if(n!==null&&r.child!==n.child)throw Error(s(153));if(r.child!==null){for(n=r.child,l=Rs(n,n.pendingProps),r.child=l,l.return=r;n.sibling!==null;)n=n.sibling,l=l.sibling=Rs(n,n.pendingProps),l.return=r;l.sibling=null}return r.child}function tA(n,r){return(n.lanes&r)!==0?!0:(n=n.dependencies,!!(n!==null&&pE(n)))}function vm(n,r,l){switch(r.tag){case 3:$e(r,r.stateNode.containerInfo),Ks(r,$t,n.memoizedState.cache),Vl();break;case 27:case 5:Lt(r);break;case 4:$e(r,r.stateNode.containerInfo);break;case 10:Ks(r,r.type,r.memoizedProps.value);break;case 13:var u=r.memoizedState;if(u!==null)return u.dehydrated!==null?(Qs(r),r.flags|=128,null):(l&r.child.childLanes)!==0?lO(n,r,l):(Qs(r),n=Cs(n,r,l),n!==null?n.sibling:null);Qs(r);break;case 19:var h=(n.flags&128)!==0;if(u=(l&r.childLanes)!==0,u||(Wl(n,r,l,!1),u=(l&r.childLanes)!==0),h){if(u)return EO(n,r,l);r.flags|=128}if(h=r.memoizedState,h!==null&&(h.rendering=null,h.tail=null,h.lastEffect=null),ee(Jt,Jt.current),u)break;return null;case 22:case 23:return r.lanes=0,nO(n,r,l);case 24:Ks(r,$t,n.memoizedState.cache)}return Cs(n,r,l)}function uO(n,r,l){if(n!==null)if(n.memoizedProps!==r.pendingProps)sn=!0;else{if(!tA(n,l)&&(r.flags&128)===0)return sn=!1,vm(n,r,l);sn=(n.flags&131072)!==0}else sn=!1,lt&&(r.flags&1048576)!==0&&wS(r,mE,r.index);switch(r.lanes=0,r.tag){case 16:e:{n=r.pendingProps;var u=r.elementType,h=u._init;if(u=h(u._payload),r.type=u,typeof u=="function")uc(u)?(n=$r(u,n),r.tag=1,r=rO(null,r,u,n,l)):(r.tag=0,r=qc(null,r,u,n,l));else{if(u!=null){if(h=u.$$typeof,h===Te){r.tag=11,r=Zf(null,r,u,n,l);break e}else if(h===j){r.tag=14,r=eO(null,r,u,n,l);break e}}throw r=Pe(u)||u,Error(s(306,r,""))}}return r;case 0:return qc(n,r,r.type,r.pendingProps,l);case 1:return u=r.type,h=$r(u,r.pendingProps),rO(n,r,u,h,l);case 3:e:{if($e(r,r.stateNode.containerInfo),n===null)throw Error(s(387));u=r.pendingProps;var S=r.memoizedState;h=S.element,Lc(n,r),Ql(r,u,null,l);var C=r.memoizedState;if(u=C.cache,Ks(r,$t,u),u!==S.cache&&Oc(r,[$t],l,!0),Jl(),u=C.element,S.isDehydrated)if(S={element:u,isDehydrated:!1,cache:C.cache},r.updateQueue.baseState=S,r.memoizedState=S,r.flags&256){r=aO(n,r,u,l);break e}else if(u!==h){h=oi(Error(s(424)),r),kl(h),r=aO(n,r,u,l);break e}else{switch(n=r.stateNode.containerInfo,n.nodeType){case 9:n=n.body;break;default:n=n.nodeName==="HTML"?n.ownerDocument.body:n}for(bt=Ui(n.firstChild),Mn=r,lt=!0,kr=null,ji=!0,l=Vf(r,null,u,l),r.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling}else{if(Vl(),u===h){r=Cs(n,r,l);break e}An(n,r,u,l)}r=r.child}return r;case 26:return XE(n,r),n===null?(l=hN(r.type,null,r.pendingProps,null))?r.memoizedState=l:lt||(l=r.type,n=r.pendingProps,u=au(Ne.current).createElement(l),u[Ht]=r,u[Et]=n,Rn(u,l,n),wt(u),r.stateNode=u):r.memoizedState=hN(r.type,n.memoizedProps,r.pendingProps,n.memoizedState),null;case 27:return Lt(r),n===null&<&&(u=r.stateNode=TN(r.type,r.pendingProps,Ne.current),Mn=r,ji=!0,h=bt,lr(r.type)?(GA=h,bt=Ui(u.firstChild)):bt=h),An(n,r,r.pendingProps.children,l),XE(n,r),n===null&&(r.flags|=4194304),r.child;case 5:return n===null&<&&((h=u=bt)&&(u=op(u,r.type,r.pendingProps,ji),u!==null?(r.stateNode=u,Mn=r,bt=Ui(u.firstChild),ji=!1,h=!0):h=!1),h||Wr(r)),Lt(r),h=r.type,S=r.pendingProps,C=n!==null?n.memoizedProps:null,u=S.children,UA(h,S)?u=null:C!==null&&UA(h,C)&&(r.flags|=32),r.memoizedState!==null&&(h=Pc(n,r,pm,null,null,l),No._currentValue=h),XE(n,r),An(n,r,u,l),r.child;case 6:return n===null&<&&((n=l=bt)&&(l=Ep(l,r.pendingProps,ji),l!==null?(r.stateNode=l,Mn=r,bt=null,n=!0):n=!1),n||Wr(r)),null;case 13:return lO(n,r,l);case 4:return $e(r,r.stateNode.containerInfo),u=r.pendingProps,n===null?r.child=ka(r,null,u,l):An(n,r,u,l),r.child;case 11:return Zf(n,r,r.type,r.pendingProps,l);case 7:return An(n,r,r.pendingProps,l),r.child;case 8:return An(n,r,r.pendingProps.children,l),r.child;case 12:return An(n,r,r.pendingProps.children,l),r.child;case 10:return u=r.pendingProps,Ks(r,r.type,u.value),An(n,r,u.children,l),r.child;case 9:return h=r.type._context,u=r.pendingProps.children,Kr(r),h=Nn(h),u=u(h),r.flags|=1,An(n,r,u,l),r.child;case 14:return eO(n,r,r.type,r.pendingProps,l);case 15:return tO(n,r,r.type,r.pendingProps,l);case 19:return EO(n,r,l);case 31:return u=r.pendingProps,l=r.mode,u={mode:u.mode,children:u.children},n===null?(l=KE(u,l),l.ref=r.ref,r.child=l,l.return=r,r=l):(l=Rs(n.child,u),l.ref=r.ref,r.child=l,l.return=r,r=l),r;case 22:return nO(n,r,l);case 24:return Kr(r),u=Nn($t),n===null?(h=Ic(),h===null&&(h=It,S=Nc(),h.pooledCache=S,S.refCount++,S!==null&&(h.pooledCacheLanes|=l),h=S),r.memoizedState={parent:u,cache:h},_c(r),Ks(r,$t,h)):((n.lanes&l)!==0&&(Lc(n,r),Ql(r,null,null,l),Jl()),h=n.memoizedState,S=r.memoizedState,h.parent!==u?(h={parent:u,cache:u},r.memoizedState=h,r.lanes===0&&(r.memoizedState=r.updateQueue.baseState=h),Ks(r,$t,u)):(u=S.cache,Ks(r,$t,u),u!==h.cache&&Oc(r,[$t],l,!0))),An(n,r,r.pendingProps.children,l),r.child;case 29:throw r.pendingProps}throw Error(s(156,r.tag))}function _s(n){n.flags|=4}function TO(n,r){if(r.type!=="stylesheet"||(r.state.loading&4)!==0)n.flags&=-16777217;else if(n.flags|=16777216,!NN(r)){if(r=ci.current,r!==null&&((tt&4194048)===tt?qi!==null:(tt&62914560)!==tt&&(tt&536870912)===0||r!==qi))throw ql=Cc,jS;n.flags|=8192}}function jE(n,r){r!==null&&(n.flags|=4),n.flags&16384&&(r=n.tag!==22?Fi():536870912,n.lanes|=r,ja|=r)}function so(n,r){if(!lt)switch(n.tailMode){case"hidden":r=n.tail;for(var l=null;r!==null;)r.alternate!==null&&(l=r),r=r.sibling;l===null?n.tail=null:l.sibling=null;break;case"collapsed":l=n.tail;for(var u=null;l!==null;)l.alternate!==null&&(u=l),l=l.sibling;u===null?r||n.tail===null?n.tail=null:n.tail.sibling=null:u.sibling=null}}function Pt(n){var r=n.alternate!==null&&n.alternate.child===n.child,l=0,u=0;if(r)for(var h=n.child;h!==null;)l|=h.lanes|h.childLanes,u|=h.subtreeFlags&65011712,u|=h.flags&65011712,h.return=n,h=h.sibling;else for(h=n.child;h!==null;)l|=h.lanes|h.childLanes,u|=h.subtreeFlags,u|=h.flags,h.return=n,h=h.sibling;return n.subtreeFlags|=u,n.childLanes=l,r}function Gm(n,r,l){var u=r.pendingProps;switch(hc(r),r.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Pt(r),null;case 1:return Pt(r),null;case 3:return l=r.stateNode,u=null,n!==null&&(u=n.memoizedState.cache),r.memoizedState.cache!==u&&(r.flags|=2048),Ns($t),Dt(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(n===null||n.child===null)&&(Fl(r)?_s(r):n===null||n.memoizedState.isDehydrated&&(r.flags&256)===0||(r.flags|=1024,VS())),Pt(r),null;case 26:return l=r.memoizedState,n===null?(_s(r),l!==null?(Pt(r),TO(r,l)):(Pt(r),r.flags&=-16777217)):l?l!==n.memoizedState?(_s(r),Pt(r),TO(r,l)):(Pt(r),r.flags&=-16777217):(n.memoizedProps!==u&&_s(r),Pt(r),r.flags&=-16777217),null;case 27:yt(r),l=Ne.current;var h=r.type;if(n!==null&&r.stateNode!=null)n.memoizedProps!==u&&_s(r);else{if(!u){if(r.stateNode===null)throw Error(s(166));return Pt(r),null}n=le.current,Fl(r)?YS(r):(n=TN(h,u,l),r.stateNode=n,_s(r))}return Pt(r),null;case 5:if(yt(r),l=r.type,n!==null&&r.stateNode!=null)n.memoizedProps!==u&&_s(r);else{if(!u){if(r.stateNode===null)throw Error(s(166));return Pt(r),null}if(n=le.current,Fl(r))YS(r);else{switch(h=au(Ne.current),n){case 1:n=h.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:n=h.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":n=h.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":n=h.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":n=h.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?h.createElement("select",{is:u.is}):h.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?h.createElement(l,{is:u.is}):h.createElement(l)}}n[Ht]=r,n[Et]=u;e:for(h=r.child;h!==null;){if(h.tag===5||h.tag===6)n.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===r)break e;for(;h.sibling===null;){if(h.return===null||h.return===r)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}r.stateNode=n;e:switch(Rn(n,l,u),l){case"button":case"input":case"select":case"textarea":n=!!u.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&_s(r)}}return Pt(r),r.flags&=-16777217,null;case 6:if(n&&r.stateNode!=null)n.memoizedProps!==u&&_s(r);else{if(typeof u!="string"&&r.stateNode===null)throw Error(s(166));if(n=Ne.current,Fl(r)){if(n=r.stateNode,l=r.memoizedProps,u=null,h=Mn,h!==null)switch(h.tag){case 27:case 5:u=h.memoizedProps}n[Ht]=r,n=!!(n.nodeValue===l||u!==null&&u.suppressHydrationWarning===!0||sN(n.nodeValue,l)),n||Wr(r)}else n=au(n).createTextNode(u),n[Ht]=r,r.stateNode=n}return Pt(r),null;case 13:if(u=r.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(h=Fl(r),u!==null&&u.dehydrated!==null){if(n===null){if(!h)throw Error(s(318));if(h=r.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(s(317));h[Ht]=r}else Vl(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;Pt(r),h=!1}else h=VS(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=h),h=!0;if(!h)return r.flags&256?(Is(r),r):(Is(r),null)}if(Is(r),(r.flags&128)!==0)return r.lanes=l,r;if(l=u!==null,n=n!==null&&n.memoizedState!==null,l){u=r.child,h=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(h=u.alternate.memoizedState.cachePool.pool);var S=null;u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(S=u.memoizedState.cachePool.pool),S!==h&&(u.flags|=2048)}return l!==n&&l&&(r.child.flags|=8192),jE(r,r.updateQueue),Pt(r),null;case 4:return Dt(),n===null&&pA(r.stateNode.containerInfo),Pt(r),null;case 10:return Ns(r.type),Pt(r),null;case 19:if(q(Jt),h=r.memoizedState,h===null)return Pt(r),null;if(u=(r.flags&128)!==0,S=h.rendering,S===null)if(u)so(h,!1);else{if(vt!==0||n!==null&&(n.flags&128)!==0)for(n=r.child;n!==null;){if(S=VE(n),S!==null){for(r.flags|=128,so(h,!1),n=S.updateQueue,r.updateQueue=n,jE(r,n),r.subtreeFlags=0,n=l,l=r.child;l!==null;)HS(l,n),l=l.sibling;return ee(Jt,Jt.current&1|2),r.child}n=n.sibling}h.tail!==null&&Zt()>JE&&(r.flags|=128,u=!0,so(h,!1),r.lanes=4194304)}else{if(!u)if(n=VE(S),n!==null){if(r.flags|=128,u=!0,n=n.updateQueue,r.updateQueue=n,jE(r,n),so(h,!0),h.tail===null&&h.tailMode==="hidden"&&!S.alternate&&!lt)return Pt(r),null}else 2*Zt()-h.renderingStartTime>JE&&l!==536870912&&(r.flags|=128,u=!0,so(h,!1),r.lanes=4194304);h.isBackwards?(S.sibling=r.child,r.child=S):(n=h.last,n!==null?n.sibling=S:r.child=S,h.last=S)}return h.tail!==null?(r=h.tail,h.rendering=r,h.tail=r.sibling,h.renderingStartTime=Zt(),r.sibling=null,n=Jt.current,ee(Jt,u?n&1|2:n&1),r):(Pt(r),null);case 22:case 23:return Is(r),gc(),u=r.memoizedState!==null,n!==null?n.memoizedState!==null!==u&&(r.flags|=8192):u&&(r.flags|=8192),u?(l&536870912)!==0&&(r.flags&128)===0&&(Pt(r),r.subtreeFlags&6&&(r.flags|=8192)):Pt(r),l=r.updateQueue,l!==null&&jE(r,l.retryQueue),l=null,n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),u=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(u=r.memoizedState.cachePool.pool),u!==l&&(r.flags|=2048),n!==null&&q(jr),null;case 24:return l=null,n!==null&&(l=n.memoizedState.cache),r.memoizedState.cache!==l&&(r.flags|=2048),Ns($t),Pt(r),null;case 25:return null;case 30:return null}throw Error(s(156,r.tag))}function Bm(n,r){switch(hc(r),r.tag){case 1:return n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 3:return Ns($t),Dt(),n=r.flags,(n&65536)!==0&&(n&128)===0?(r.flags=n&-65537|128,r):null;case 26:case 27:case 5:return yt(r),null;case 13:if(Is(r),n=r.memoizedState,n!==null&&n.dehydrated!==null){if(r.alternate===null)throw Error(s(340));Vl()}return n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 19:return q(Jt),null;case 4:return Dt(),null;case 10:return Ns(r.type),null;case 22:case 23:return Is(r),gc(),n!==null&&q(jr),n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 24:return Ns($t),null;case 25:return null;default:return null}}function cO(n,r){switch(hc(r),r.tag){case 3:Ns($t),Dt();break;case 26:case 27:case 5:yt(r);break;case 4:Dt();break;case 13:Is(r);break;case 19:q(Jt);break;case 10:Ns(r.type);break;case 22:case 23:Is(r),gc(),n!==null&&q(jr);break;case 24:Ns($t)}}function ro(n,r){try{var l=r.updateQueue,u=l!==null?l.lastEffect:null;if(u!==null){var h=u.next;l=h;do{if((l.tag&n)===n){u=void 0;var S=l.create,C=l.inst;u=S(),C.destroy=u}l=l.next}while(l!==h)}}catch(D){Nt(r,r.return,D)}}function Zs(n,r,l){try{var u=r.updateQueue,h=u!==null?u.lastEffect:null;if(h!==null){var S=h.next;u=S;do{if((u.tag&n)===n){var C=u.inst,D=C.destroy;if(D!==void 0){C.destroy=void 0,h=r;var M=l,Y=D;try{Y()}catch(z){Nt(h,M,z)}}}u=u.next}while(u!==S)}}catch(z){Nt(r,r.return,z)}}function AO(n){var r=n.updateQueue;if(r!==null){var l=n.stateNode;try{ZS(r,l)}catch(u){Nt(n,n.return,u)}}}function hO(n,r,l){l.props=$r(n.type,n.memoizedProps),l.state=n.memoizedState;try{l.componentWillUnmount()}catch(u){Nt(n,r,u)}}function ao(n,r){try{var l=n.ref;if(l!==null){switch(n.tag){case 26:case 27:case 5:var u=n.stateNode;break;case 30:u=n.stateNode;break;default:u=n.stateNode}typeof l=="function"?n.refCleanup=l(u):l.current=u}}catch(h){Nt(n,r,h)}}function $i(n,r){var l=n.ref,u=n.refCleanup;if(l!==null)if(typeof u=="function")try{u()}catch(h){Nt(n,r,h)}finally{n.refCleanup=null,n=n.alternate,n!=null&&(n.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(h){Nt(n,r,h)}else l.current=null}function RO(n){var r=n.type,l=n.memoizedProps,u=n.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":l.autoFocus&&u.focus();break e;case"img":l.src?u.src=l.src:l.srcSet&&(u.srcset=l.srcSet)}}catch(h){Nt(n,n.return,h)}}function nA(n,r,l){try{var u=n.stateNode;ip(u,n.type,l,r),u[Et]=r}catch(h){Nt(n,n.return,h)}}function SO(n){return n.tag===5||n.tag===3||n.tag===26||n.tag===27&&lr(n.type)||n.tag===4}function iA(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||SO(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.tag===27&&lr(n.type)||n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function sA(n,r,l){var u=n.tag;if(u===5||u===6)n=n.stateNode,r?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(n,r):(r=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,r.appendChild(n),l=l._reactRootContainer,l!=null||r.onclick!==null||(r.onclick=ru));else if(u!==4&&(u===27&&lr(n.type)&&(l=n.stateNode,r=null),n=n.child,n!==null))for(sA(n,r,l),n=n.sibling;n!==null;)sA(n,r,l),n=n.sibling}function qE(n,r,l){var u=n.tag;if(u===5||u===6)n=n.stateNode,r?l.insertBefore(n,r):l.appendChild(n);else if(u!==4&&(u===27&&lr(n.type)&&(l=n.stateNode),n=n.child,n!==null))for(qE(n,r,l),n=n.sibling;n!==null;)qE(n,r,l),n=n.sibling}function fO(n){var r=n.stateNode,l=n.memoizedProps;try{for(var u=n.type,h=r.attributes;h.length;)r.removeAttributeNode(h[0]);Rn(r,u,l),r[Ht]=n,r[Et]=l}catch(S){Nt(n,n.return,S)}}var Ls=!1,Ft=!1,rA=!1,OO=typeof WeakSet=="function"?WeakSet:Set,rn=null;function xm(n,r){if(n=n.containerInfo,MA=cu,n=gS(n),ic(n)){if("selectionStart"in n)var l={start:n.selectionStart,end:n.selectionEnd};else e:{l=(l=n.ownerDocument)&&l.defaultView||window;var u=l.getSelection&&l.getSelection();if(u&&u.rangeCount!==0){l=u.anchorNode;var h=u.anchorOffset,S=u.focusNode;u=u.focusOffset;try{l.nodeType,S.nodeType}catch{l=null;break e}var C=0,D=-1,M=-1,Y=0,z=0,se=n,k=null;t:for(;;){for(var W;se!==l||h!==0&&se.nodeType!==3||(D=C+h),se!==S||u!==0&&se.nodeType!==3||(M=C+u),se.nodeType===3&&(C+=se.nodeValue.length),(W=se.firstChild)!==null;)k=se,se=W;for(;;){if(se===n)break t;if(k===l&&++Y===h&&(D=C),k===S&&++z===u&&(M=C),(W=se.nextSibling)!==null)break;se=k,k=se.parentNode}se=W}l=D===-1||M===-1?null:{start:D,end:M}}else l=null}l=l||{start:0,end:0}}else l=null;for(PA={focusedElem:n,selectionRange:l},cu=!1,rn=r;rn!==null;)if(r=rn,n=r.child,(r.subtreeFlags&1024)!==0&&n!==null)n.return=r,rn=n;else for(;rn!==null;){switch(r=rn,S=r.alternate,n=r.flags,r.tag){case 0:break;case 11:case 15:break;case 1:if((n&1024)!==0&&S!==null){n=void 0,l=r,h=S.memoizedProps,S=S.memoizedState,u=l.stateNode;try{var Fe=$r(l.type,h,l.elementType===l.type);n=u.getSnapshotBeforeUpdate(Fe,S),u.__reactInternalSnapshotBeforeUpdate=n}catch(Be){Nt(l,l.return,Be)}}break;case 3:if((n&1024)!==0){if(n=r.stateNode.containerInfo,l=n.nodeType,l===9)bA(n);else if(l===1)switch(n.nodeName){case"HEAD":case"HTML":case"BODY":bA(n);break;default:n.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((n&1024)!==0)throw Error(s(163))}if(n=r.sibling,n!==null){n.return=r.return,rn=n;break}rn=r.return}}function NO(n,r,l){var u=l.flags;switch(l.tag){case 0:case 11:case 15:er(n,l),u&4&&ro(5,l);break;case 1:if(er(n,l),u&4)if(n=l.stateNode,r===null)try{n.componentDidMount()}catch(C){Nt(l,l.return,C)}else{var h=$r(l.type,r.memoizedProps);r=r.memoizedState;try{n.componentDidUpdate(h,r,n.__reactInternalSnapshotBeforeUpdate)}catch(C){Nt(l,l.return,C)}}u&64&&AO(l),u&512&&ao(l,l.return);break;case 3:if(er(n,l),u&64&&(n=l.updateQueue,n!==null)){if(r=null,l.child!==null)switch(l.child.tag){case 27:case 5:r=l.child.stateNode;break;case 1:r=l.child.stateNode}try{ZS(n,r)}catch(C){Nt(l,l.return,C)}}break;case 27:r===null&&u&4&&fO(l);case 26:case 5:er(n,l),r===null&&u&4&&RO(l),u&512&&ao(l,l.return);break;case 12:er(n,l);break;case 13:er(n,l),u&4&&CO(n,l),u&64&&(n=l.memoizedState,n!==null&&(n=n.dehydrated,n!==null&&(l=Km.bind(null,l),up(n,l))));break;case 22:if(u=l.memoizedState!==null||Ls,!u){r=r!==null&&r.memoizedState!==null||Ft,h=Ls;var S=Ft;Ls=u,(Ft=r)&&!S?tr(n,l,(l.subtreeFlags&8772)!==0):er(n,l),Ls=h,Ft=S}break;case 30:break;default:er(n,l)}}function dO(n){var r=n.alternate;r!==null&&(n.alternate=null,dO(r)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(r=n.stateNode,r!==null&&Bs(r)),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}var mt=null,xn=!1;function ms(n,r,l){for(l=l.child;l!==null;)IO(n,r,l),l=l.sibling}function IO(n,r,l){if(Xt&&typeof Xt.onCommitFiberUnmount=="function")try{Xt.onCommitFiberUnmount(gt,l)}catch{}switch(l.tag){case 26:Ft||$i(l,r),ms(n,r,l),l.memoizedState?l.memoizedState.count--:l.stateNode&&(l=l.stateNode,l.parentNode.removeChild(l));break;case 27:Ft||$i(l,r);var u=mt,h=xn;lr(l.type)&&(mt=l.stateNode,xn=!1),ms(n,r,l),Ro(l.stateNode),mt=u,xn=h;break;case 5:Ft||$i(l,r);case 6:if(u=mt,h=xn,mt=null,ms(n,r,l),mt=u,xn=h,mt!==null)if(xn)try{(mt.nodeType===9?mt.body:mt.nodeName==="HTML"?mt.ownerDocument.body:mt).removeChild(l.stateNode)}catch(S){Nt(l,r,S)}else try{mt.removeChild(l.stateNode)}catch(S){Nt(l,r,S)}break;case 18:mt!==null&&(xn?(n=mt,EN(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,l.stateNode),Lo(n)):EN(mt,l.stateNode));break;case 4:u=mt,h=xn,mt=l.stateNode.containerInfo,xn=!0,ms(n,r,l),mt=u,xn=h;break;case 0:case 11:case 14:case 15:Ft||Zs(2,l,r),Ft||Zs(4,l,r),ms(n,r,l);break;case 1:Ft||($i(l,r),u=l.stateNode,typeof u.componentWillUnmount=="function"&&hO(l,r,u)),ms(n,r,l);break;case 21:ms(n,r,l);break;case 22:Ft=(u=Ft)||l.memoizedState!==null,ms(n,r,l),Ft=u;break;default:ms(n,r,l)}}function CO(n,r){if(r.memoizedState===null&&(n=r.alternate,n!==null&&(n=n.memoizedState,n!==null&&(n=n.dehydrated,n!==null))))try{Lo(n)}catch(l){Nt(r,r.return,l)}}function Hm(n){switch(n.tag){case 13:case 19:var r=n.stateNode;return r===null&&(r=n.stateNode=new OO),r;case 22:return n=n.stateNode,r=n._retryCache,r===null&&(r=n._retryCache=new OO),r;default:throw Error(s(435,n.tag))}}function aA(n,r){var l=Hm(n);r.forEach(function(u){var h=jm.bind(null,n,u);l.has(u)||(l.add(u),u.then(h,h))})}function $n(n,r){var l=r.deletions;if(l!==null)for(var u=0;u<l.length;u++){var h=l[u],S=n,C=r,D=C;e:for(;D!==null;){switch(D.tag){case 27:if(lr(D.type)){mt=D.stateNode,xn=!1;break e}break;case 5:mt=D.stateNode,xn=!1;break e;case 3:case 4:mt=D.stateNode.containerInfo,xn=!0;break e}D=D.return}if(mt===null)throw Error(s(160));IO(S,C,h),mt=null,xn=!1,S=h.alternate,S!==null&&(S.return=null),h.return=null}if(r.subtreeFlags&13878)for(r=r.child;r!==null;)_O(r,n),r=r.sibling}var Pi=null;function _O(n,r){var l=n.alternate,u=n.flags;switch(n.tag){case 0:case 11:case 14:case 15:$n(r,n),Jn(n),u&4&&(Zs(3,n,n.return),ro(3,n),Zs(5,n,n.return));break;case 1:$n(r,n),Jn(n),u&512&&(Ft||l===null||$i(l,l.return)),u&64&&Ls&&(n=n.updateQueue,n!==null&&(u=n.callbacks,u!==null&&(l=n.shared.hiddenCallbacks,n.shared.hiddenCallbacks=l===null?u:l.concat(u))));break;case 26:var h=Pi;if($n(r,n),Jn(n),u&512&&(Ft||l===null||$i(l,l.return)),u&4){var S=l!==null?l.memoizedState:null;if(u=n.memoizedState,l===null)if(u===null)if(n.stateNode===null){e:{u=n.type,l=n.memoizedProps,h=h.ownerDocument||h;t:switch(u){case"title":S=h.getElementsByTagName("title")[0],(!S||S[Gs]||S[Ht]||S.namespaceURI==="http://www.w3.org/2000/svg"||S.hasAttribute("itemprop"))&&(S=h.createElement(u),h.head.insertBefore(S,h.querySelector("head > title"))),Rn(S,u,l),S[Ht]=n,wt(S),u=S;break e;case"link":var C=fN("link","href",h).get(u+(l.href||""));if(C){for(var D=0;D<C.length;D++)if(S=C[D],S.getAttribute("href")===(l.href==null||l.href===""?null:l.href)&&S.getAttribute("rel")===(l.rel==null?null:l.rel)&&S.getAttribute("title")===(l.title==null?null:l.title)&&S.getAttribute("crossorigin")===(l.crossOrigin==null?null:l.crossOrigin)){C.splice(D,1);break t}}S=h.createElement(u),Rn(S,u,l),h.head.appendChild(S);break;case"meta":if(C=fN("meta","content",h).get(u+(l.content||""))){for(D=0;D<C.length;D++)if(S=C[D],S.getAttribute("content")===(l.content==null?null:""+l.content)&&S.getAttribute("name")===(l.name==null?null:l.name)&&S.getAttribute("property")===(l.property==null?null:l.property)&&S.getAttribute("http-equiv")===(l.httpEquiv==null?null:l.httpEquiv)&&S.getAttribute("charset")===(l.charSet==null?null:l.charSet)){C.splice(D,1);break t}}S=h.createElement(u),Rn(S,u,l),h.head.appendChild(S);break;default:throw Error(s(468,u))}S[Ht]=n,wt(S),u=S}n.stateNode=u}else ON(h,n.type,n.stateNode);else n.stateNode=SN(h,u,n.memoizedProps);else S!==u?(S===null?l.stateNode!==null&&(l=l.stateNode,l.parentNode.removeChild(l)):S.count--,u===null?ON(h,n.type,n.stateNode):SN(h,u,n.memoizedProps)):u===null&&n.stateNode!==null&&nA(n,n.memoizedProps,l.memoizedProps)}break;case 27:$n(r,n),Jn(n),u&512&&(Ft||l===null||$i(l,l.return)),l!==null&&u&4&&nA(n,n.memoizedProps,l.memoizedProps);break;case 5:if($n(r,n),Jn(n),u&512&&(Ft||l===null||$i(l,l.return)),n.flags&32){h=n.stateNode;try{As(h,"")}catch(W){Nt(n,n.return,W)}}u&4&&n.stateNode!=null&&(h=n.memoizedProps,nA(n,h,l!==null?l.memoizedProps:h)),u&1024&&(rA=!0);break;case 6:if($n(r,n),Jn(n),u&4){if(n.stateNode===null)throw Error(s(162));u=n.memoizedProps,l=n.stateNode;try{l.nodeValue=u}catch(W){Nt(n,n.return,W)}}break;case 3:if(Eu=null,h=Pi,Pi=lu(r.containerInfo),$n(r,n),Pi=h,Jn(n),u&4&&l!==null&&l.memoizedState.isDehydrated)try{Lo(r.containerInfo)}catch(W){Nt(n,n.return,W)}rA&&(rA=!1,LO(n));break;case 4:u=Pi,Pi=lu(n.stateNode.containerInfo),$n(r,n),Jn(n),Pi=u;break;case 12:$n(r,n),Jn(n);break;case 13:$n(r,n),Jn(n),n.child.flags&8192&&n.memoizedState!==null!=(l!==null&&l.memoizedState!==null)&&(cA=Zt()),u&4&&(u=n.updateQueue,u!==null&&(n.updateQueue=null,aA(n,u)));break;case 22:h=n.memoizedState!==null;var M=l!==null&&l.memoizedState!==null,Y=Ls,z=Ft;if(Ls=Y||h,Ft=z||M,$n(r,n),Ft=z,Ls=Y,Jn(n),u&8192)e:for(r=n.stateNode,r._visibility=h?r._visibility&-2:r._visibility|1,h&&(l===null||M||Ls||Ft||Jr(n)),l=null,r=n;;){if(r.tag===5||r.tag===26){if(l===null){M=l=r;try{if(S=M.stateNode,h)C=S.style,typeof C.setProperty=="function"?C.setProperty("display","none","important"):C.display="none";else{D=M.stateNode;var se=M.memoizedProps.style,k=se!=null&&se.hasOwnProperty("display")?se.display:null;D.style.display=k==null||typeof k=="boolean"?"":(""+k).trim()}}catch(W){Nt(M,M.return,W)}}}else if(r.tag===6){if(l===null){M=r;try{M.stateNode.nodeValue=h?"":M.memoizedProps}catch(W){Nt(M,M.return,W)}}}else if((r.tag!==22&&r.tag!==23||r.memoizedState===null||r===n)&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===n)break e;for(;r.sibling===null;){if(r.return===null||r.return===n)break e;l===r&&(l=null),r=r.return}l===r&&(l=null),r.sibling.return=r.return,r=r.sibling}u&4&&(u=n.updateQueue,u!==null&&(l=u.retryQueue,l!==null&&(u.retryQueue=null,aA(n,l))));break;case 19:$n(r,n),Jn(n),u&4&&(u=n.updateQueue,u!==null&&(n.updateQueue=null,aA(n,u)));break;case 30:break;case 21:break;default:$n(r,n),Jn(n)}}function Jn(n){var r=n.flags;if(r&2){try{for(var l,u=n.return;u!==null;){if(SO(u)){l=u;break}u=u.return}if(l==null)throw Error(s(160));switch(l.tag){case 27:var h=l.stateNode,S=iA(n);qE(n,S,h);break;case 5:var C=l.stateNode;l.flags&32&&(As(C,""),l.flags&=-33);var D=iA(n);qE(n,D,C);break;case 3:case 4:var M=l.stateNode.containerInfo,Y=iA(n);sA(n,Y,M);break;default:throw Error(s(161))}}catch(z){Nt(n,n.return,z)}n.flags&=-3}r&4096&&(n.flags&=-4097)}function LO(n){if(n.subtreeFlags&1024)for(n=n.child;n!==null;){var r=n;LO(r),r.tag===5&&r.flags&1024&&r.stateNode.reset(),n=n.sibling}}function er(n,r){if(r.subtreeFlags&8772)for(r=r.child;r!==null;)NO(n,r.alternate,r),r=r.sibling}function Jr(n){for(n=n.child;n!==null;){var r=n;switch(r.tag){case 0:case 11:case 14:case 15:Zs(4,r,r.return),Jr(r);break;case 1:$i(r,r.return);var l=r.stateNode;typeof l.componentWillUnmount=="function"&&hO(r,r.return,l),Jr(r);break;case 27:Ro(r.stateNode);case 26:case 5:$i(r,r.return),Jr(r);break;case 22:r.memoizedState===null&&Jr(r);break;case 30:Jr(r);break;default:Jr(r)}n=n.sibling}}function tr(n,r,l){for(l=l&&(r.subtreeFlags&8772)!==0,r=r.child;r!==null;){var u=r.alternate,h=n,S=r,C=S.flags;switch(S.tag){case 0:case 11:case 15:tr(h,S,l),ro(4,S);break;case 1:if(tr(h,S,l),u=S,h=u.stateNode,typeof h.componentDidMount=="function")try{h.componentDidMount()}catch(Y){Nt(u,u.return,Y)}if(u=S,h=u.updateQueue,h!==null){var D=u.stateNode;try{var M=h.shared.hiddenCallbacks;if(M!==null)for(h.shared.hiddenCallbacks=null,h=0;h<M.length;h++)zS(M[h],D)}catch(Y){Nt(u,u.return,Y)}}l&&C&64&&AO(S),ao(S,S.return);break;case 27:fO(S);case 26:case 5:tr(h,S,l),l&&u===null&&C&4&&RO(S),ao(S,S.return);break;case 12:tr(h,S,l);break;case 13:tr(h,S,l),l&&C&4&&CO(h,S);break;case 22:S.memoizedState===null&&tr(h,S,l),ao(S,S.return);break;case 30:break;default:tr(h,S,l)}r=r.sibling}}function lA(n,r){var l=null;n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),n=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(n=r.memoizedState.cachePool.pool),n!==l&&(n!=null&&n.refCount++,l!=null&&Xl(l))}function oA(n,r){n=null,r.alternate!==null&&(n=r.alternate.memoizedState.cache),r=r.memoizedState.cache,r!==n&&(r.refCount++,n!=null&&Xl(n))}function Ji(n,r,l,u){if(r.subtreeFlags&10256)for(r=r.child;r!==null;)mO(n,r,l,u),r=r.sibling}function mO(n,r,l,u){var h=r.flags;switch(r.tag){case 0:case 11:case 15:Ji(n,r,l,u),h&2048&&ro(9,r);break;case 1:Ji(n,r,l,u);break;case 3:Ji(n,r,l,u),h&2048&&(n=null,r.alternate!==null&&(n=r.alternate.memoizedState.cache),r=r.memoizedState.cache,r!==n&&(r.refCount++,n!=null&&Xl(n)));break;case 12:if(h&2048){Ji(n,r,l,u),n=r.stateNode;try{var S=r.memoizedProps,C=S.id,D=S.onPostCommit;typeof D=="function"&&D(C,r.alternate===null?"mount":"update",n.passiveEffectDuration,-0)}catch(M){Nt(r,r.return,M)}}else Ji(n,r,l,u);break;case 13:Ji(n,r,l,u);break;case 23:break;case 22:S=r.stateNode,C=r.alternate,r.memoizedState!==null?S._visibility&2?Ji(n,r,l,u):lo(n,r):S._visibility&2?Ji(n,r,l,u):(S._visibility|=2,Wa(n,r,l,u,(r.subtreeFlags&10256)!==0)),h&2048&&lA(C,r);break;case 24:Ji(n,r,l,u),h&2048&&oA(r.alternate,r);break;default:Ji(n,r,l,u)}}function Wa(n,r,l,u,h){for(h=h&&(r.subtreeFlags&10256)!==0,r=r.child;r!==null;){var S=n,C=r,D=l,M=u,Y=C.flags;switch(C.tag){case 0:case 11:case 15:Wa(S,C,D,M,h),ro(8,C);break;case 23:break;case 22:var z=C.stateNode;C.memoizedState!==null?z._visibility&2?Wa(S,C,D,M,h):lo(S,C):(z._visibility|=2,Wa(S,C,D,M,h)),h&&Y&2048&&lA(C.alternate,C);break;case 24:Wa(S,C,D,M,h),h&&Y&2048&&oA(C.alternate,C);break;default:Wa(S,C,D,M,h)}r=r.sibling}}function lo(n,r){if(r.subtreeFlags&10256)for(r=r.child;r!==null;){var l=n,u=r,h=u.flags;switch(u.tag){case 22:lo(l,u),h&2048&&lA(u.alternate,u);break;case 24:lo(l,u),h&2048&&oA(u.alternate,u);break;default:lo(l,u)}r=r.sibling}}var oo=8192;function Xa(n){if(n.subtreeFlags&oo)for(n=n.child;n!==null;)pO(n),n=n.sibling}function pO(n){switch(n.tag){case 26:Xa(n),n.flags&oo&&n.memoizedState!==null&&_p(Pi,n.memoizedState,n.memoizedProps);break;case 5:Xa(n);break;case 3:case 4:var r=Pi;Pi=lu(n.stateNode.containerInfo),Xa(n),Pi=r;break;case 22:n.memoizedState===null&&(r=n.alternate,r!==null&&r.memoizedState!==null?(r=oo,oo=16777216,Xa(n),oo=r):Xa(n));break;default:Xa(n)}}function DO(n){var r=n.alternate;if(r!==null&&(n=r.child,n!==null)){r.child=null;do r=n.sibling,n.sibling=null,n=r;while(n!==null)}}function Eo(n){var r=n.deletions;if((n.flags&16)!==0){if(r!==null)for(var l=0;l<r.length;l++){var u=r[l];rn=u,MO(u,n)}DO(n)}if(n.subtreeFlags&10256)for(n=n.child;n!==null;)gO(n),n=n.sibling}function gO(n){switch(n.tag){case 0:case 11:case 15:Eo(n),n.flags&2048&&Zs(9,n,n.return);break;case 3:Eo(n);break;case 12:Eo(n);break;case 22:var r=n.stateNode;n.memoizedState!==null&&r._visibility&2&&(n.return===null||n.return.tag!==13)?(r._visibility&=-3,$E(n)):Eo(n);break;default:Eo(n)}}function $E(n){var r=n.deletions;if((n.flags&16)!==0){if(r!==null)for(var l=0;l<r.length;l++){var u=r[l];rn=u,MO(u,n)}DO(n)}for(n=n.child;n!==null;){switch(r=n,r.tag){case 0:case 11:case 15:Zs(8,r,r.return),$E(r);break;case 22:l=r.stateNode,l._visibility&2&&(l._visibility&=-3,$E(r));break;default:$E(r)}n=n.sibling}}function MO(n,r){for(;rn!==null;){var l=rn;switch(l.tag){case 0:case 11:case 15:Zs(8,l,r);break;case 23:case 22:if(l.memoizedState!==null&&l.memoizedState.cachePool!==null){var u=l.memoizedState.cachePool.pool;u!=null&&u.refCount++}break;case 24:Xl(l.memoizedState.cache)}if(u=l.child,u!==null)u.return=l,rn=u;else e:for(l=n;rn!==null;){u=rn;var h=u.sibling,S=u.return;if(dO(u),u===l){rn=null;break e}if(h!==null){h.return=S,rn=h;break e}rn=S}}}var wm={getCacheForType:function(n){var r=Nn($t),l=r.data.get(n);return l===void 0&&(l=n(),r.data.set(n,l)),l}},Ym=typeof WeakMap=="function"?WeakMap:Map,ct=0,It=null,Qe=null,tt=0,At=0,Qn=null,nr=!1,Ka=!1,EA=!1,ps=0,vt=0,ir=0,Qr=0,uA=0,Ai=0,ja=0,uo=null,Hn=null,TA=!1,cA=0,JE=1/0,QE=null,sr=null,hn=0,rr=null,qa=null,$a=0,AA=0,hA=null,PO=null,To=0,RA=null;function zn(){if((ct&2)!==0&&tt!==0)return tt&-tt;if(X.T!==null){var n=Ba;return n!==0?n:CA()}return us()}function UO(){Ai===0&&(Ai=(tt&536870912)===0||lt?pl():536870912);var n=ci.current;return n!==null&&(n.flags|=32),Ai}function Zn(n,r,l){(n===It&&(At===2||At===9)||n.cancelPendingCommit!==null)&&(Ja(n,0),ar(n,tt,Ai,!1)),Es(n,l),((ct&2)===0||n!==It)&&(n===It&&((ct&2)===0&&(Qr|=l),vt===4&&ar(n,tt,Ai,!1)),Qi(n))}function yO(n,r,l){if((ct&6)!==0)throw Error(s(327));var u=!l&&(r&124)===0&&(r&n.expiredLanes)===0||di(n,r),h=u?km(n,r):OA(n,r,!0),S=u;do{if(h===0){Ka&&!u&&ar(n,r,0,!1);break}else{if(l=n.current.alternate,S&&!Fm(l)){h=OA(n,r,!1),S=!1;continue}if(h===2){if(S=r,n.errorRecoveryDisabledLanes&S)var C=0;else C=n.pendingLanes&-536870913,C=C!==0?C:C&536870912?536870912:0;if(C!==0){r=C;e:{var D=n;h=uo;var M=D.current.memoizedState.isDehydrated;if(M&&(Ja(D,C).flags|=256),C=OA(D,C,!1),C!==2){if(EA&&!M){D.errorRecoveryDisabledLanes|=S,Qr|=S,h=4;break e}S=Hn,Hn=h,S!==null&&(Hn===null?Hn=S:Hn.push.apply(Hn,S))}h=C}if(S=!1,h!==2)continue}}if(h===1){Ja(n,0),ar(n,r,0,!0);break}e:{switch(u=n,S=h,S){case 0:case 1:throw Error(s(345));case 4:if((r&4194048)!==r)break;case 6:ar(u,r,Ai,!nr);break e;case 2:Hn=null;break;case 3:case 5:break;default:throw Error(s(329))}if((r&62914560)===r&&(h=cA+300-Zt(),10<h)){if(ar(u,r,Ai,!nr),Yi(u,0,!0)!==0)break e;u.timeoutHandle=lN(bO.bind(null,u,l,Hn,QE,TA,r,Ai,Qr,ja,nr,S,2,-0,0),h);break e}bO(u,l,Hn,QE,TA,r,Ai,Qr,ja,nr,S,0,-0,0)}}break}while(!0);Qi(n)}function bO(n,r,l,u,h,S,C,D,M,Y,z,se,k,W){if(n.timeoutHandle=-1,se=r.subtreeFlags,(se&8192||(se&16785408)===16785408)&&(Oo={stylesheets:null,count:0,unsuspend:Cp},pO(r),se=Lp(),se!==null)){n.cancelPendingCommit=se(YO.bind(null,n,r,S,l,u,h,C,D,M,z,1,k,W)),ar(n,S,C,!Y);return}YO(n,r,S,l,u,h,C,D,M)}function Fm(n){for(var r=n;;){var l=r.tag;if((l===0||l===11||l===15)&&r.flags&16384&&(l=r.updateQueue,l!==null&&(l=l.stores,l!==null)))for(var u=0;u<l.length;u++){var h=l[u],S=h.getSnapshot;h=h.value;try{if(!jn(S(),h))return!1}catch{return!1}}if(l=r.child,r.subtreeFlags&16384&&l!==null)l.return=r,r=l;else{if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return!0;r=r.return}r.sibling.return=r.return,r=r.sibling}}return!0}function ar(n,r,l,u){r&=~uA,r&=~Qr,n.suspendedLanes|=r,n.pingedLanes&=~r,u&&(n.warmLanes|=r),u=n.expirationTimes;for(var h=r;0<h;){var S=31-J(h),C=1<<S;u[S]=-1,h&=~C}l!==0&&Ra(n,l,r)}function zE(){return(ct&6)===0?(co(0),!1):!0}function SA(){if(Qe!==null){if(At===0)var n=Qe.return;else n=Qe,Os=Xr=null,bc(n),Va=null,no=0,n=Qe;for(;n!==null;)cO(n.alternate,n),n=n.return;Qe=null}}function Ja(n,r){var l=n.timeoutHandle;l!==-1&&(n.timeoutHandle=-1,rp(l)),l=n.cancelPendingCommit,l!==null&&(n.cancelPendingCommit=null,l()),SA(),It=n,Qe=l=Rs(n.current,null),tt=r,At=0,Qn=null,nr=!1,Ka=di(n,r),EA=!1,ja=Ai=uA=Qr=ir=vt=0,Hn=uo=null,TA=!1,(r&8)!==0&&(r|=r&32);var u=n.entangledLanes;if(u!==0)for(n=n.entanglements,u&=r;0<u;){var h=31-J(u),S=1<<h;r|=n[h],u&=~S}return ps=r,dE(),l}function vO(n,r){qe=null,X.H=wE,r===jl||r===ME?(r=JS(),At=3):r===jS?(r=JS(),At=4):At=r===zf?8:r!==null&&typeof r=="object"&&typeof r.then=="function"?6:1,Qn=r,Qe===null&&(vt=1,WE(n,oi(r,n.current)))}function GO(){var n=X.H;return X.H=wE,n===null?wE:n}function BO(){var n=X.A;return X.A=wm,n}function fA(){vt=4,nr||(tt&4194048)!==tt&&ci.current!==null||(Ka=!0),(ir&134217727)===0&&(Qr&134217727)===0||It===null||ar(It,tt,Ai,!1)}function OA(n,r,l){var u=ct;ct|=2;var h=GO(),S=BO();(It!==n||tt!==r)&&(QE=null,Ja(n,r)),r=!1;var C=vt;e:do try{if(At!==0&&Qe!==null){var D=Qe,M=Qn;switch(At){case 8:SA(),C=6;break e;case 3:case 2:case 9:case 6:ci.current===null&&(r=!0);var Y=At;if(At=0,Qn=null,Qa(n,D,M,Y),l&&Ka){C=0;break e}break;default:Y=At,At=0,Qn=null,Qa(n,D,M,Y)}}Vm(),C=vt;break}catch(z){vO(n,z)}while(!0);return r&&n.shellSuspendCounter++,Os=Xr=null,ct=u,X.H=h,X.A=S,Qe===null&&(It=null,tt=0,dE()),C}function Vm(){for(;Qe!==null;)xO(Qe)}function km(n,r){var l=ct;ct|=2;var u=GO(),h=BO();It!==n||tt!==r?(QE=null,JE=Zt()+500,Ja(n,r)):Ka=di(n,r);e:do try{if(At!==0&&Qe!==null){r=Qe;var S=Qn;t:switch(At){case 1:At=0,Qn=null,Qa(n,r,S,1);break;case 2:case 9:if(qS(S)){At=0,Qn=null,HO(r);break}r=function(){At!==2&&At!==9||It!==n||(At=7),Qi(n)},S.then(r,r);break e;case 3:At=7;break e;case 4:At=5;break e;case 7:qS(S)?(At=0,Qn=null,HO(r)):(At=0,Qn=null,Qa(n,r,S,7));break;case 5:var C=null;switch(Qe.tag){case 26:C=Qe.memoizedState;case 5:case 27:var D=Qe;if(!C||NN(C)){At=0,Qn=null;var M=D.sibling;if(M!==null)Qe=M;else{var Y=D.return;Y!==null?(Qe=Y,ZE(Y)):Qe=null}break t}}At=0,Qn=null,Qa(n,r,S,5);break;case 6:At=0,Qn=null,Qa(n,r,S,6);break;case 8:SA(),vt=6;break e;default:throw Error(s(462))}}Wm();break}catch(z){vO(n,z)}while(!0);return Os=Xr=null,X.H=u,X.A=h,ct=l,Qe!==null?0:(It=null,tt=0,dE(),vt)}function Wm(){for(;Qe!==null&&!_t();)xO(Qe)}function xO(n){var r=uO(n.alternate,n,ps);n.memoizedProps=n.pendingProps,r===null?ZE(n):Qe=r}function HO(n){var r=n,l=r.alternate;switch(r.tag){case 15:case 0:r=sO(l,r,r.pendingProps,r.type,void 0,tt);break;case 11:r=sO(l,r,r.pendingProps,r.type.render,r.ref,tt);break;case 5:bc(r);default:cO(l,r),r=Qe=HS(r,ps),r=uO(l,r,ps)}n.memoizedProps=n.pendingProps,r===null?ZE(n):Qe=r}function Qa(n,r,l,u){Os=Xr=null,bc(r),Va=null,no=0;var h=r.return;try{if(bm(n,h,r,l,tt)){vt=1,WE(n,oi(l,n.current)),Qe=null;return}}catch(S){if(h!==null)throw Qe=h,S;vt=1,WE(n,oi(l,n.current)),Qe=null;return}r.flags&32768?(lt||u===1?n=!0:Ka||(tt&536870912)!==0?n=!1:(nr=n=!0,(u===2||u===9||u===3||u===6)&&(u=ci.current,u!==null&&u.tag===13&&(u.flags|=16384))),wO(r,n)):ZE(r)}function ZE(n){var r=n;do{if((r.flags&32768)!==0){wO(r,nr);return}n=r.return;var l=Gm(r.alternate,r,ps);if(l!==null){Qe=l;return}if(r=r.sibling,r!==null){Qe=r;return}Qe=r=n}while(r!==null);vt===0&&(vt=5)}function wO(n,r){do{var l=Bm(n.alternate,n);if(l!==null){l.flags&=32767,Qe=l;return}if(l=n.return,l!==null&&(l.flags|=32768,l.subtreeFlags=0,l.deletions=null),!r&&(n=n.sibling,n!==null)){Qe=n;return}Qe=n=l}while(n!==null);vt=6,Qe=null}function YO(n,r,l,u,h,S,C,D,M){n.cancelPendingCommit=null;do eu();while(hn!==0);if((ct&6)!==0)throw Error(s(327));if(r!==null){if(r===n.current)throw Error(s(177));if(S=r.lanes|r.childLanes,S|=oc,Dl(n,l,S,C,D,M),n===It&&(Qe=It=null,tt=0),qa=r,rr=n,$a=l,AA=S,hA=h,PO=u,(r.subtreeFlags&10256)!==0||(r.flags&10256)!==0?(n.callbackNode=null,n.callbackPriority=0,qm(Xn,function(){return XO(),null})):(n.callbackNode=null,n.callbackPriority=0),u=(r.flags&13878)!==0,(r.subtreeFlags&13878)!==0||u){u=X.T,X.T=null,h=Ee.p,Ee.p=2,C=ct,ct|=4;try{xm(n,r,l)}finally{ct=C,Ee.p=h,X.T=u}}hn=1,FO(),VO(),kO()}}function FO(){if(hn===1){hn=0;var n=rr,r=qa,l=(r.flags&13878)!==0;if((r.subtreeFlags&13878)!==0||l){l=X.T,X.T=null;var u=Ee.p;Ee.p=2;var h=ct;ct|=4;try{_O(r,n);var S=PA,C=gS(n.containerInfo),D=S.focusedElem,M=S.selectionRange;if(C!==D&&D&&D.ownerDocument&&DS(D.ownerDocument.documentElement,D)){if(M!==null&&ic(D)){var Y=M.start,z=M.end;if(z===void 0&&(z=Y),"selectionStart"in D)D.selectionStart=Y,D.selectionEnd=Math.min(z,D.value.length);else{var se=D.ownerDocument||document,k=se&&se.defaultView||window;if(k.getSelection){var W=k.getSelection(),Fe=D.textContent.length,Be=Math.min(M.start,Fe),ft=M.end===void 0?Be:Math.min(M.end,Fe);!W.extend&&Be>ft&&(C=ft,ft=Be,Be=C);var x=pS(D,Be),G=pS(D,ft);if(x&&G&&(W.rangeCount!==1||W.anchorNode!==x.node||W.anchorOffset!==x.offset||W.focusNode!==G.node||W.focusOffset!==G.offset)){var w=se.createRange();w.setStart(x.node,x.offset),W.removeAllRanges(),Be>ft?(W.addRange(w),W.extend(G.node,G.offset)):(w.setEnd(G.node,G.offset),W.addRange(w))}}}}for(se=[],W=D;W=W.parentNode;)W.nodeType===1&&se.push({element:W,left:W.scrollLeft,top:W.scrollTop});for(typeof D.focus=="function"&&D.focus(),D=0;D<se.length;D++){var ne=se[D];ne.element.scrollLeft=ne.left,ne.element.scrollTop=ne.top}}cu=!!MA,PA=MA=null}finally{ct=h,Ee.p=u,X.T=l}}n.current=r,hn=2}}function VO(){if(hn===2){hn=0;var n=rr,r=qa,l=(r.flags&8772)!==0;if((r.subtreeFlags&8772)!==0||l){l=X.T,X.T=null;var u=Ee.p;Ee.p=2;var h=ct;ct|=4;try{NO(n,r.alternate,r)}finally{ct=h,Ee.p=u,X.T=l}}hn=3}}function kO(){if(hn===4||hn===3){hn=0,Tn();var n=rr,r=qa,l=$a,u=PO;(r.subtreeFlags&10256)!==0||(r.flags&10256)!==0?hn=5:(hn=0,qa=rr=null,WO(n,n.pendingLanes));var h=n.pendingLanes;if(h===0&&(sr=null),tn(l),r=r.stateNode,Xt&&typeof Xt.onCommitFiberRoot=="function")try{Xt.onCommitFiberRoot(gt,r,void 0,(r.current.flags&128)===128)}catch{}if(u!==null){r=X.T,h=Ee.p,Ee.p=2,X.T=null;try{for(var S=n.onRecoverableError,C=0;C<u.length;C++){var D=u[C];S(D.value,{componentStack:D.stack})}}finally{X.T=r,Ee.p=h}}($a&3)!==0&&eu(),Qi(n),h=n.pendingLanes,(l&4194090)!==0&&(h&42)!==0?n===RA?To++:(To=0,RA=n):To=0,co(0)}}function WO(n,r){(n.pooledCacheLanes&=r)===0&&(r=n.pooledCache,r!=null&&(n.pooledCache=null,Xl(r)))}function eu(n){return FO(),VO(),kO(),XO()}function XO(){if(hn!==5)return!1;var n=rr,r=AA;AA=0;var l=tn($a),u=X.T,h=Ee.p;try{Ee.p=32>l?32:l,X.T=null,l=hA,hA=null;var S=rr,C=$a;if(hn=0,qa=rr=null,$a=0,(ct&6)!==0)throw Error(s(331));var D=ct;if(ct|=4,gO(S.current),mO(S,S.current,C,l),ct=D,co(0,!1),Xt&&typeof Xt.onPostCommitFiberRoot=="function")try{Xt.onPostCommitFiberRoot(gt,S)}catch{}return!0}finally{Ee.p=h,X.T=u,WO(n,r)}}function KO(n,r,l){r=oi(l,r),r=jc(n.stateNode,r,2),n=$s(n,r,2),n!==null&&(Es(n,2),Qi(n))}function Nt(n,r,l){if(n.tag===3)KO(n,n,l);else for(;r!==null;){if(r.tag===3){KO(r,n,l);break}else if(r.tag===1){var u=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(sr===null||!sr.has(u))){n=oi(l,n),l=Jf(2),u=$s(r,l,2),u!==null&&(Qf(l,u,r,n),Es(u,2),Qi(u));break}}r=r.return}}function NA(n,r,l){var u=n.pingCache;if(u===null){u=n.pingCache=new Ym;var h=new Set;u.set(r,h)}else h=u.get(r),h===void 0&&(h=new Set,u.set(r,h));h.has(l)||(EA=!0,h.add(l),n=Xm.bind(null,n,r,l),r.then(n,n))}function Xm(n,r,l){var u=n.pingCache;u!==null&&u.delete(r),n.pingedLanes|=n.suspendedLanes&l,n.warmLanes&=~l,It===n&&(tt&l)===l&&(vt===4||vt===3&&(tt&62914560)===tt&&300>Zt()-cA?(ct&2)===0&&Ja(n,0):uA|=l,ja===tt&&(ja=0)),Qi(n)}function jO(n,r){r===0&&(r=Fi()),n=ya(n,r),n!==null&&(Es(n,r),Qi(n))}function Km(n){var r=n.memoizedState,l=0;r!==null&&(l=r.retryLane),jO(n,l)}function jm(n,r){var l=0;switch(n.tag){case 13:var u=n.stateNode,h=n.memoizedState;h!==null&&(l=h.retryLane);break;case 19:u=n.stateNode;break;case 22:u=n.stateNode._retryCache;break;default:throw Error(s(314))}u!==null&&u.delete(r),jO(n,l)}function qm(n,r){return pn(n,r)}var tu=null,za=null,dA=!1,nu=!1,IA=!1,zr=0;function Qi(n){n!==za&&n.next===null&&(za===null?tu=za=n:za=za.next=n),nu=!0,dA||(dA=!0,Jm())}function co(n,r){if(!IA&&nu){IA=!0;do for(var l=!1,u=tu;u!==null;){if(n!==0){var h=u.pendingLanes;if(h===0)var S=0;else{var C=u.suspendedLanes,D=u.pingedLanes;S=(1<<31-J(42|n)+1)-1,S&=h&~(C&~D),S=S&201326741?S&201326741|1:S?S|2:0}S!==0&&(l=!0,QO(u,S))}else S=tt,S=Yi(u,u===It?S:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),(S&3)===0||di(u,S)||(l=!0,QO(u,S));u=u.next}while(l);IA=!1}}function $m(){qO()}function qO(){nu=dA=!1;var n=0;zr!==0&&(sp()&&(n=zr),zr=0);for(var r=Zt(),l=null,u=tu;u!==null;){var h=u.next,S=$O(u,r);S===0?(u.next=null,l===null?tu=h:l.next=h,h===null&&(za=l)):(l=u,(n!==0||(S&3)!==0)&&(nu=!0)),u=h}co(n)}function $O(n,r){for(var l=n.suspendedLanes,u=n.pingedLanes,h=n.expirationTimes,S=n.pendingLanes&-62914561;0<S;){var C=31-J(S),D=1<<C,M=h[C];M===-1?((D&l)===0||(D&u)!==0)&&(h[C]=Ae(D,r)):M<=r&&(n.expiredLanes|=D),S&=~D}if(r=It,l=tt,l=Yi(n,n===r?l:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),u=n.callbackNode,l===0||n===r&&(At===2||At===9)||n.cancelPendingCommit!==null)return u!==null&&u!==null&&qt(u),n.callbackNode=null,n.callbackPriority=0;if((l&3)===0||di(n,l)){if(r=l&-l,r===n.callbackPriority)return r;switch(u!==null&&qt(u),tn(l)){case 2:case 8:l=Wn;break;case 32:l=Xn;break;case 268435456:l=we;break;default:l=Xn}return u=JO.bind(null,n),l=pn(l,u),n.callbackPriority=r,n.callbackNode=l,r}return u!==null&&u!==null&&qt(u),n.callbackPriority=2,n.callbackNode=null,2}function JO(n,r){if(hn!==0&&hn!==5)return n.callbackNode=null,n.callbackPriority=0,null;var l=n.callbackNode;if(eu()&&n.callbackNode!==l)return null;var u=tt;return u=Yi(n,n===It?u:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),u===0?null:(yO(n,u,r),$O(n,Zt()),n.callbackNode!=null&&n.callbackNode===l?JO.bind(null,n):null)}function QO(n,r){if(eu())return null;yO(n,r,!0)}function Jm(){ap(function(){(ct&6)!==0?pn(wi,$m):qO()})}function CA(){return zr===0&&(zr=pl()),zr}function zO(n){return n==null||typeof n=="symbol"||typeof n=="boolean"?null:typeof n=="function"?n:vr(""+n)}function ZO(n,r){var l=r.ownerDocument.createElement("input");return l.name=r.name,l.value=r.value,n.id&&l.setAttribute("form",n.id),r.parentNode.insertBefore(l,r),n=new FormData(n),l.parentNode.removeChild(l),n}function Qm(n,r,l,u,h){if(r==="submit"&&l&&l.stateNode===h){var S=zO((h[Et]||null).action),C=u.submitter;C&&(r=(r=C[Et]||null)?zO(r.formAction):C.getAttribute("formAction"),r!==null&&(S=r,C=null));var D=new ut("action","action",null,u,h);n.push({event:D,listeners:[{instance:null,listener:function(){if(u.defaultPrevented){if(zr!==0){var M=C?ZO(h,C):new FormData(h);Vc(l,{pending:!0,data:M,method:h.method,action:S},null,M)}}else typeof S=="function"&&(D.preventDefault(),M=C?ZO(h,C):new FormData(h),Vc(l,{pending:!0,data:M,method:h.method,action:S},S,M))},currentTarget:h}]})}}for(var _A=0;_A<lc.length;_A++){var LA=lc[_A],zm=LA.toLowerCase(),Zm=LA[0].toUpperCase()+LA.slice(1);Mi(zm,"on"+Zm)}Mi(US,"onAnimationEnd"),Mi(yS,"onAnimationIteration"),Mi(bS,"onAnimationStart"),Mi("dblclick","onDoubleClick"),Mi("focusin","onFocus"),Mi("focusout","onBlur"),Mi(Sm,"onTransitionRun"),Mi(fm,"onTransitionStart"),Mi(Om,"onTransitionCancel"),Mi(vS,"onTransitionEnd"),Ci("onMouseEnter",["mouseout","mouseover"]),Ci("onMouseLeave",["mouseout","mouseover"]),Ci("onPointerEnter",["pointerout","pointerover"]),Ci("onPointerLeave",["pointerout","pointerover"]),Xi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Xi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Xi("onBeforeInput",["compositionend","keypress","textInput","paste"]),Xi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Xi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Xi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ao="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(" "),ep=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ao));function eN(n,r){r=(r&4)!==0;for(var l=0;l<n.length;l++){var u=n[l],h=u.event;u=u.listeners;e:{var S=void 0;if(r)for(var C=u.length-1;0<=C;C--){var D=u[C],M=D.instance,Y=D.currentTarget;if(D=D.listener,M!==S&&h.isPropagationStopped())break e;S=D,h.currentTarget=Y;try{S(h)}catch(z){kE(z)}h.currentTarget=null,S=M}else for(C=0;C<u.length;C++){if(D=u[C],M=D.instance,Y=D.currentTarget,D=D.listener,M!==S&&h.isPropagationStopped())break e;S=D,h.currentTarget=Y;try{S(h)}catch(z){kE(z)}h.currentTarget=null,S=M}}}}function ze(n,r){var l=r[gl];l===void 0&&(l=r[gl]=new Set);var u=n+"__bubble";l.has(u)||(tN(r,n,2,!1),l.add(u))}function mA(n,r,l){var u=0;r&&(u|=4),tN(l,n,u,r)}var iu="_reactListening"+Math.random().toString(36).slice(2);function pA(n){if(!n[iu]){n[iu]=!0,Pl.forEach(function(l){l!=="selectionchange"&&(ep.has(l)||mA(l,!1,n),mA(l,!0,n))});var r=n.nodeType===9?n:n.ownerDocument;r===null||r[iu]||(r[iu]=!0,mA("selectionchange",!1,r))}}function tN(n,r,l,u){switch(mN(r)){case 2:var h=Dp;break;case 8:h=gp;break;default:h=YA}l=h.bind(null,r,l,n),h=void 0,!La||r!=="touchstart"&&r!=="touchmove"&&r!=="wheel"||(h=!0),u?h!==void 0?n.addEventListener(r,l,{capture:!0,passive:h}):n.addEventListener(r,l,!0):h!==void 0?n.addEventListener(r,l,{passive:h}):n.addEventListener(r,l,!1)}function DA(n,r,l,u,h){var S=u;if((r&1)===0&&(r&2)===0&&u!==null)e:for(;;){if(u===null)return;var C=u.tag;if(C===3||C===4){var D=u.stateNode.containerInfo;if(D===h)break;if(C===4)for(C=u.return;C!==null;){var M=C.tag;if((M===3||M===4)&&C.stateNode.containerInfo===h)return;C=C.return}for(;D!==null;){if(C=xs(D),C===null)return;if(M=C.tag,M===5||M===6||M===26||M===27){u=S=C;continue e}D=D.parentNode}}u=u.return}_a(function(){var Y=S,z=mi(l),se=[];e:{var k=GS.get(n);if(k!==void 0){var W=ut,Fe=n;switch(n){case"keypress":if(V(l)===0)break e;case"keydown":case"keyup":W=jT;break;case"focusin":Fe="focus",W=Bl;break;case"focusout":Fe="blur",W=Bl;break;case"beforeblur":case"afterblur":W=Bl;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":W=cE;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":W=xT;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":W=JT;break;case US:case yS:case bS:W=YT;break;case vS:W=fE;break;case"scroll":case"scrollend":W=TE;break;case"wheel":W=ZT;break;case"copy":case"cut":case"paste":W=AE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":W=SE;break;case"toggle":case"beforetoggle":W=pa}var Be=(r&4)!==0,ft=!Be&&(n==="scroll"||n==="scrollend"),x=Be?k!==null?k+"Capture":null:k;Be=[];for(var G=Y,w;G!==null;){var ne=G;if(w=ne.stateNode,ne=ne.tag,ne!==5&&ne!==26&&ne!==27||w===null||x===null||(ne=hs(G,x),ne!=null&&Be.push(ho(G,ne,w))),ft)break;G=G.return}0<Be.length&&(k=new W(k,Fe,null,l,z),se.push({event:k,listeners:Be}))}}if((r&7)===0){e:{if(k=n==="mouseover"||n==="pointerover",W=n==="mouseout"||n==="pointerout",k&&l!==Ws&&(Fe=l.relatedTarget||l.fromElement)&&(xs(Fe)||Fe[Ts]))break e;if((W||k)&&(k=z.window===z?z:(k=z.ownerDocument)?k.defaultView||k.parentWindow:window,W?(Fe=l.relatedTarget||l.toElement,W=Y,Fe=Fe?xs(Fe):null,Fe!==null&&(ft=o(Fe),Be=Fe.tag,Fe!==ft||Be!==5&&Be!==27&&Be!==6)&&(Fe=null)):(W=null,Fe=Y),W!==Fe)){if(Be=cE,ne="onMouseLeave",x="onMouseEnter",G="mouse",(n==="pointerout"||n==="pointerover")&&(Be=SE,ne="onPointerLeave",x="onPointerEnter",G="pointer"),ft=W==null?k:ki(W),w=Fe==null?k:ki(Fe),k=new Be(ne,G+"leave",W,l,z),k.target=ft,k.relatedTarget=w,ne=null,xs(z)===Y&&(Be=new Be(x,G+"enter",Fe,l,z),Be.target=w,Be.relatedTarget=ft,ne=Be),ft=ne,W&&Fe)t:{for(Be=W,x=Fe,G=0,w=Be;w;w=Za(w))G++;for(w=0,ne=x;ne;ne=Za(ne))w++;for(;0<G-w;)Be=Za(Be),G--;for(;0<w-G;)x=Za(x),w--;for(;G--;){if(Be===x||x!==null&&Be===x.alternate)break t;Be=Za(Be),x=Za(x)}Be=null}else Be=null;W!==null&&nN(se,k,W,Be,!1),Fe!==null&&ft!==null&&nN(se,ft,Fe,Be,!0)}}e:{if(k=Y?ki(Y):window,W=k.nodeName&&k.nodeName.toLowerCase(),W==="select"||W==="input"&&k.type==="file")var Ce=dS;else if(ga(k))if(IS)Ce=Am;else{Ce=Tm;var Je=um}else W=k.nodeName,!W||W.toLowerCase()!=="input"||k.type!=="checkbox"&&k.type!=="radio"?Y&&ks(Y.elementType)&&(Ce=dS):Ce=cm;if(Ce&&(Ce=Ce(n,Y))){Ki(se,Ce,l,z);break e}Je&&Je(n,k,Y),n==="focusout"&&Y&&k.type==="number"&&Y.memoizedProps.value!=null&&Fs(k,"number",k.value)}switch(Je=Y?ki(Y):window,n){case"focusin":(ga(Je)||Je.contentEditable==="true")&&(Ma=Je,sc=Y,Yl=null);break;case"focusout":Yl=sc=Ma=null;break;case"mousedown":rc=!0;break;case"contextmenu":case"mouseup":case"dragend":rc=!1,MS(se,l,z);break;case"selectionchange":if(Rm)break;case"keydown":case"keyup":MS(se,l,z)}var Me;if(Da)e:{switch(n){case"compositionstart":var xe="onCompositionStart";break e;case"compositionend":xe="onCompositionEnd";break e;case"compositionupdate":xe="onCompositionUpdate";break e}xe=void 0}else nn?je(n,l)&&(xe="onCompositionEnd"):n==="keydown"&&l.keyCode===229&&(xe="onCompositionStart");xe&&(re&&l.locale!=="ko"&&(nn||xe!=="onCompositionStart"?xe==="onCompositionEnd"&&nn&&(Me=b()):(N=z,_="value"in N?N.value:N.textContent,nn=!0)),Je=su(Y,xe),0<Je.length&&(xe=new hE(xe,n,null,l,z),se.push({event:xe,listeners:Je}),Me?xe.data=Me:(Me=it(l),Me!==null&&(xe.data=Me)))),(Me=H?Gn(n,l):gn(n,l))&&(xe=su(Y,"onBeforeInput"),0<xe.length&&(Je=new hE("onBeforeInput","beforeinput",null,l,z),se.push({event:Je,listeners:xe}),Je.data=Me)),Qm(se,n,Y,l,z)}eN(se,r)})}function ho(n,r,l){return{instance:n,listener:r,currentTarget:l}}function su(n,r){for(var l=r+"Capture",u=[];n!==null;){var h=n,S=h.stateNode;if(h=h.tag,h!==5&&h!==26&&h!==27||S===null||(h=hs(n,l),h!=null&&u.unshift(ho(n,h,S)),h=hs(n,r),h!=null&&u.push(ho(n,h,S))),n.tag===3)return u;n=n.return}return[]}function Za(n){if(n===null)return null;do n=n.return;while(n&&n.tag!==5&&n.tag!==27);return n||null}function nN(n,r,l,u,h){for(var S=r._reactName,C=[];l!==null&&l!==u;){var D=l,M=D.alternate,Y=D.stateNode;if(D=D.tag,M!==null&&M===u)break;D!==5&&D!==26&&D!==27||Y===null||(M=Y,h?(Y=hs(l,S),Y!=null&&C.unshift(ho(l,Y,M))):h||(Y=hs(l,S),Y!=null&&C.push(ho(l,Y,M)))),l=l.return}C.length!==0&&n.push({event:r,listeners:C})}var tp=/\r\n?/g,np=/\u0000|\uFFFD/g;function iN(n){return(typeof n=="string"?n:""+n).replace(tp,`
|
|
49
|
+
`).replace(np,"")}function sN(n,r){return r=iN(r),iN(n)===r}function ru(){}function St(n,r,l,u,h,S){switch(l){case"children":typeof u=="string"?r==="body"||r==="textarea"&&u===""||As(n,u):(typeof u=="number"||typeof u=="bigint")&&r!=="body"&&As(n,""+u);break;case"className":Mr(n,"class",u);break;case"tabIndex":Mr(n,"tabindex",u);break;case"dir":case"role":case"viewBox":case"width":case"height":Mr(n,l,u);break;case"style":Vs(n,u,S);break;case"data":if(r!=="object"){Mr(n,"data",u);break}case"src":case"href":if(u===""&&(r!=="a"||l!=="href")){n.removeAttribute(l);break}if(u==null||typeof u=="function"||typeof u=="symbol"||typeof u=="boolean"){n.removeAttribute(l);break}u=vr(""+u),n.setAttribute(l,u);break;case"action":case"formAction":if(typeof u=="function"){n.setAttribute(l,"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"&&(l==="formAction"?(r!=="input"&&St(n,r,"name",h.name,h,null),St(n,r,"formEncType",h.formEncType,h,null),St(n,r,"formMethod",h.formMethod,h,null),St(n,r,"formTarget",h.formTarget,h,null)):(St(n,r,"encType",h.encType,h,null),St(n,r,"method",h.method,h,null),St(n,r,"target",h.target,h,null)));if(u==null||typeof u=="symbol"||typeof u=="boolean"){n.removeAttribute(l);break}u=vr(""+u),n.setAttribute(l,u);break;case"onClick":u!=null&&(n.onclick=ru);break;case"onScroll":u!=null&&ze("scroll",n);break;case"onScrollEnd":u!=null&&ze("scrollend",n);break;case"dangerouslySetInnerHTML":if(u!=null){if(typeof u!="object"||!("__html"in u))throw Error(s(61));if(l=u.__html,l!=null){if(h.children!=null)throw Error(s(60));n.innerHTML=l}}break;case"multiple":n.multiple=u&&typeof u!="function"&&typeof u!="symbol";break;case"muted":n.muted=u&&typeof u!="function"&&typeof u!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(u==null||typeof u=="function"||typeof u=="boolean"||typeof u=="symbol"){n.removeAttribute("xlink:href");break}l=vr(""+u),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":u!=null&&typeof u!="function"&&typeof u!="symbol"?n.setAttribute(l,""+u):n.removeAttribute(l);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":u&&typeof u!="function"&&typeof u!="symbol"?n.setAttribute(l,""):n.removeAttribute(l);break;case"capture":case"download":u===!0?n.setAttribute(l,""):u!==!1&&u!=null&&typeof u!="function"&&typeof u!="symbol"?n.setAttribute(l,u):n.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":u!=null&&typeof u!="function"&&typeof u!="symbol"&&!isNaN(u)&&1<=u?n.setAttribute(l,u):n.removeAttribute(l);break;case"rowSpan":case"start":u==null||typeof u=="function"||typeof u=="symbol"||isNaN(u)?n.removeAttribute(l):n.setAttribute(l,u);break;case"popover":ze("beforetoggle",n),ze("toggle",n),gr(n,"popover",u);break;case"xlinkActuate":_i(n,"http://www.w3.org/1999/xlink","xlink:actuate",u);break;case"xlinkArcrole":_i(n,"http://www.w3.org/1999/xlink","xlink:arcrole",u);break;case"xlinkRole":_i(n,"http://www.w3.org/1999/xlink","xlink:role",u);break;case"xlinkShow":_i(n,"http://www.w3.org/1999/xlink","xlink:show",u);break;case"xlinkTitle":_i(n,"http://www.w3.org/1999/xlink","xlink:title",u);break;case"xlinkType":_i(n,"http://www.w3.org/1999/xlink","xlink:type",u);break;case"xmlBase":_i(n,"http://www.w3.org/XML/1998/namespace","xml:base",u);break;case"xmlLang":_i(n,"http://www.w3.org/XML/1998/namespace","xml:lang",u);break;case"xmlSpace":_i(n,"http://www.w3.org/XML/1998/namespace","xml:space",u);break;case"is":gr(n,"is",u);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=br.get(l)||l,gr(n,l,u))}}function gA(n,r,l,u,h,S){switch(l){case"style":Vs(n,u,S);break;case"dangerouslySetInnerHTML":if(u!=null){if(typeof u!="object"||!("__html"in u))throw Error(s(61));if(l=u.__html,l!=null){if(h.children!=null)throw Error(s(60));n.innerHTML=l}}break;case"children":typeof u=="string"?As(n,u):(typeof u=="number"||typeof u=="bigint")&&As(n,""+u);break;case"onScroll":u!=null&&ze("scroll",n);break;case"onScrollEnd":u!=null&&ze("scrollend",n);break;case"onClick":u!=null&&(n.onclick=ru);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Hs.hasOwnProperty(l))e:{if(l[0]==="o"&&l[1]==="n"&&(h=l.endsWith("Capture"),r=l.slice(2,h?l.length-7:void 0),S=n[Et]||null,S=S!=null?S[l]:null,typeof S=="function"&&n.removeEventListener(r,S,h),typeof u=="function")){typeof S!="function"&&S!==null&&(l in n?n[l]=null:n.hasAttribute(l)&&n.removeAttribute(l)),n.addEventListener(r,u,h);break e}l in n?n[l]=u:u===!0?n.setAttribute(l,""):gr(n,l,u)}}}function Rn(n,r,l){switch(r){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ze("error",n),ze("load",n);var u=!1,h=!1,S;for(S in l)if(l.hasOwnProperty(S)){var C=l[S];if(C!=null)switch(S){case"src":u=!0;break;case"srcSet":h=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,r));default:St(n,r,S,C,l,null)}}h&&St(n,r,"srcSet",l.srcSet,l,null),u&&St(n,r,"src",l.src,l,null);return;case"input":ze("invalid",n);var D=S=C=h=null,M=null,Y=null;for(u in l)if(l.hasOwnProperty(u)){var z=l[u];if(z!=null)switch(u){case"name":h=z;break;case"type":C=z;break;case"checked":M=z;break;case"defaultChecked":Y=z;break;case"value":S=z;break;case"defaultValue":D=z;break;case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(s(137,r));break;default:St(n,r,u,z,l,null)}}EE(n,S,D,M,Y,C,h,!1),Ur(n);return;case"select":ze("invalid",n),u=C=S=null;for(h in l)if(l.hasOwnProperty(h)&&(D=l[h],D!=null))switch(h){case"value":S=D;break;case"defaultValue":C=D;break;case"multiple":u=D;default:St(n,r,h,D,l,null)}r=S,l=C,n.multiple=!!u,r!=null?vn(n,!!u,r,!1):l!=null&&vn(n,!!u,l,!0);return;case"textarea":ze("invalid",n),S=h=u=null;for(C in l)if(l.hasOwnProperty(C)&&(D=l[C],D!=null))switch(C){case"value":u=D;break;case"defaultValue":h=D;break;case"children":S=D;break;case"dangerouslySetInnerHTML":if(D!=null)throw Error(s(91));break;default:St(n,r,C,D,l,null)}Li(n,u,h,S),Ur(n);return;case"option":for(M in l)if(l.hasOwnProperty(M)&&(u=l[M],u!=null))switch(M){case"selected":n.selected=u&&typeof u!="function"&&typeof u!="symbol";break;default:St(n,r,M,u,l,null)}return;case"dialog":ze("beforetoggle",n),ze("toggle",n),ze("cancel",n),ze("close",n);break;case"iframe":case"object":ze("load",n);break;case"video":case"audio":for(u=0;u<Ao.length;u++)ze(Ao[u],n);break;case"image":ze("error",n),ze("load",n);break;case"details":ze("toggle",n);break;case"embed":case"source":case"link":ze("error",n),ze("load",n);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(Y in l)if(l.hasOwnProperty(Y)&&(u=l[Y],u!=null))switch(Y){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,r));default:St(n,r,Y,u,l,null)}return;default:if(ks(r)){for(z in l)l.hasOwnProperty(z)&&(u=l[z],u!==void 0&&gA(n,r,z,u,l,void 0));return}}for(D in l)l.hasOwnProperty(D)&&(u=l[D],u!=null&&St(n,r,D,u,l,null))}function ip(n,r,l,u){switch(r){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var h=null,S=null,C=null,D=null,M=null,Y=null,z=null;for(W in l){var se=l[W];if(l.hasOwnProperty(W)&&se!=null)switch(W){case"checked":break;case"value":break;case"defaultValue":M=se;default:u.hasOwnProperty(W)||St(n,r,W,null,u,se)}}for(var k in u){var W=u[k];if(se=l[k],u.hasOwnProperty(k)&&(W!=null||se!=null))switch(k){case"type":S=W;break;case"name":h=W;break;case"checked":Y=W;break;case"defaultChecked":z=W;break;case"value":C=W;break;case"defaultValue":D=W;break;case"children":case"dangerouslySetInnerHTML":if(W!=null)throw Error(s(137,r));break;default:W!==se&&St(n,r,k,W,u,se)}}yr(n,C,D,M,Y,z,S,h);return;case"select":W=C=D=k=null;for(S in l)if(M=l[S],l.hasOwnProperty(S)&&M!=null)switch(S){case"value":break;case"multiple":W=M;default:u.hasOwnProperty(S)||St(n,r,S,null,u,M)}for(h in u)if(S=u[h],M=l[h],u.hasOwnProperty(h)&&(S!=null||M!=null))switch(h){case"value":k=S;break;case"defaultValue":D=S;break;case"multiple":C=S;default:S!==M&&St(n,r,h,S,u,M)}r=D,l=C,u=W,k!=null?vn(n,!!l,k,!1):!!u!=!!l&&(r!=null?vn(n,!!l,r,!0):vn(n,!!l,l?[]:"",!1));return;case"textarea":W=k=null;for(D in l)if(h=l[D],l.hasOwnProperty(D)&&h!=null&&!u.hasOwnProperty(D))switch(D){case"value":break;case"children":break;default:St(n,r,D,null,u,h)}for(C in u)if(h=u[C],S=l[C],u.hasOwnProperty(C)&&(h!=null||S!=null))switch(C){case"value":k=h;break;case"defaultValue":W=h;break;case"children":break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(s(91));break;default:h!==S&&St(n,r,C,h,u,S)}Ca(n,k,W);return;case"option":for(var Fe in l)if(k=l[Fe],l.hasOwnProperty(Fe)&&k!=null&&!u.hasOwnProperty(Fe))switch(Fe){case"selected":n.selected=!1;break;default:St(n,r,Fe,null,u,k)}for(M in u)if(k=u[M],W=l[M],u.hasOwnProperty(M)&&k!==W&&(k!=null||W!=null))switch(M){case"selected":n.selected=k&&typeof k!="function"&&typeof k!="symbol";break;default:St(n,r,M,k,u,W)}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 Be in l)k=l[Be],l.hasOwnProperty(Be)&&k!=null&&!u.hasOwnProperty(Be)&&St(n,r,Be,null,u,k);for(Y in u)if(k=u[Y],W=l[Y],u.hasOwnProperty(Y)&&k!==W&&(k!=null||W!=null))switch(Y){case"children":case"dangerouslySetInnerHTML":if(k!=null)throw Error(s(137,r));break;default:St(n,r,Y,k,u,W)}return;default:if(ks(r)){for(var ft in l)k=l[ft],l.hasOwnProperty(ft)&&k!==void 0&&!u.hasOwnProperty(ft)&&gA(n,r,ft,void 0,u,k);for(z in u)k=u[z],W=l[z],!u.hasOwnProperty(z)||k===W||k===void 0&&W===void 0||gA(n,r,z,k,u,W);return}}for(var x in l)k=l[x],l.hasOwnProperty(x)&&k!=null&&!u.hasOwnProperty(x)&&St(n,r,x,null,u,k);for(se in u)k=u[se],W=l[se],!u.hasOwnProperty(se)||k===W||k==null&&W==null||St(n,r,se,k,u,W)}var MA=null,PA=null;function au(n){return n.nodeType===9?n:n.ownerDocument}function rN(n){switch(n){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function aN(n,r){if(n===0)switch(r){case"svg":return 1;case"math":return 2;default:return 0}return n===1&&r==="foreignObject"?0:n}function UA(n,r){return n==="textarea"||n==="noscript"||typeof r.children=="string"||typeof r.children=="number"||typeof r.children=="bigint"||typeof r.dangerouslySetInnerHTML=="object"&&r.dangerouslySetInnerHTML!==null&&r.dangerouslySetInnerHTML.__html!=null}var yA=null;function sp(){var n=window.event;return n&&n.type==="popstate"?n===yA?!1:(yA=n,!0):(yA=null,!1)}var lN=typeof setTimeout=="function"?setTimeout:void 0,rp=typeof clearTimeout=="function"?clearTimeout:void 0,oN=typeof Promise=="function"?Promise:void 0,ap=typeof queueMicrotask=="function"?queueMicrotask:typeof oN<"u"?function(n){return oN.resolve(null).then(n).catch(lp)}:lN;function lp(n){setTimeout(function(){throw n})}function lr(n){return n==="head"}function EN(n,r){var l=r,u=0,h=0;do{var S=l.nextSibling;if(n.removeChild(l),S&&S.nodeType===8)if(l=S.data,l==="/$"){if(0<u&&8>u){l=u;var C=n.ownerDocument;if(l&1&&Ro(C.documentElement),l&2&&Ro(C.body),l&4)for(l=C.head,Ro(l),C=l.firstChild;C;){var D=C.nextSibling,M=C.nodeName;C[Gs]||M==="SCRIPT"||M==="STYLE"||M==="LINK"&&C.rel.toLowerCase()==="stylesheet"||l.removeChild(C),C=D}}if(h===0){n.removeChild(S),Lo(r);return}h--}else l==="$"||l==="$?"||l==="$!"?h++:u=l.charCodeAt(0)-48;else u=0;l=S}while(l);Lo(r)}function bA(n){var r=n.firstChild;for(r&&r.nodeType===10&&(r=r.nextSibling);r;){var l=r;switch(r=r.nextSibling,l.nodeName){case"HTML":case"HEAD":case"BODY":bA(l),Bs(l);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(l.rel.toLowerCase()==="stylesheet")continue}n.removeChild(l)}}function op(n,r,l,u){for(;n.nodeType===1;){var h=l;if(n.nodeName.toLowerCase()!==r.toLowerCase()){if(!u&&(n.nodeName!=="INPUT"||n.type!=="hidden"))break}else if(u){if(!n[Gs])switch(r){case"meta":if(!n.hasAttribute("itemprop"))break;return n;case"link":if(S=n.getAttribute("rel"),S==="stylesheet"&&n.hasAttribute("data-precedence"))break;if(S!==h.rel||n.getAttribute("href")!==(h.href==null||h.href===""?null:h.href)||n.getAttribute("crossorigin")!==(h.crossOrigin==null?null:h.crossOrigin)||n.getAttribute("title")!==(h.title==null?null:h.title))break;return n;case"style":if(n.hasAttribute("data-precedence"))break;return n;case"script":if(S=n.getAttribute("src"),(S!==(h.src==null?null:h.src)||n.getAttribute("type")!==(h.type==null?null:h.type)||n.getAttribute("crossorigin")!==(h.crossOrigin==null?null:h.crossOrigin))&&S&&n.hasAttribute("async")&&!n.hasAttribute("itemprop"))break;return n;default:return n}}else if(r==="input"&&n.type==="hidden"){var S=h.name==null?null:""+h.name;if(h.type==="hidden"&&n.getAttribute("name")===S)return n}else return n;if(n=Ui(n.nextSibling),n===null)break}return null}function Ep(n,r,l){if(r==="")return null;for(;n.nodeType!==3;)if((n.nodeType!==1||n.nodeName!=="INPUT"||n.type!=="hidden")&&!l||(n=Ui(n.nextSibling),n===null))return null;return n}function vA(n){return n.data==="$!"||n.data==="$?"&&n.ownerDocument.readyState==="complete"}function up(n,r){var l=n.ownerDocument;if(n.data!=="$?"||l.readyState==="complete")r();else{var u=function(){r(),l.removeEventListener("DOMContentLoaded",u)};l.addEventListener("DOMContentLoaded",u),n._reactRetry=u}}function Ui(n){for(;n!=null;n=n.nextSibling){var r=n.nodeType;if(r===1||r===3)break;if(r===8){if(r=n.data,r==="$"||r==="$!"||r==="$?"||r==="F!"||r==="F")break;if(r==="/$")return null}}return n}var GA=null;function uN(n){n=n.previousSibling;for(var r=0;n;){if(n.nodeType===8){var l=n.data;if(l==="$"||l==="$!"||l==="$?"){if(r===0)return n;r--}else l==="/$"&&r++}n=n.previousSibling}return null}function TN(n,r,l){switch(r=au(l),n){case"html":if(n=r.documentElement,!n)throw Error(s(452));return n;case"head":if(n=r.head,!n)throw Error(s(453));return n;case"body":if(n=r.body,!n)throw Error(s(454));return n;default:throw Error(s(451))}}function Ro(n){for(var r=n.attributes;r.length;)n.removeAttributeNode(r[0]);Bs(n)}var hi=new Map,cN=new Set;function lu(n){return typeof n.getRootNode=="function"?n.getRootNode():n.nodeType===9?n:n.ownerDocument}var Ds=Ee.d;Ee.d={f:Tp,r:cp,D:Ap,C:hp,L:Rp,m:Sp,X:Op,S:fp,M:Np};function Tp(){var n=Ds.f(),r=zE();return n||r}function cp(n){var r=cn(n);r!==null&&r.tag===5&&r.type==="form"?yf(r):Ds.r(n)}var el=typeof document>"u"?null:document;function AN(n,r,l){var u=el;if(u&&typeof r=="string"&&r){var h=Dn(r);h='link[rel="'+n+'"][href="'+h+'"]',typeof l=="string"&&(h+='[crossorigin="'+l+'"]'),cN.has(h)||(cN.add(h),n={rel:n,crossOrigin:l,href:r},u.querySelector(h)===null&&(r=u.createElement("link"),Rn(r,"link",n),wt(r),u.head.appendChild(r)))}}function Ap(n){Ds.D(n),AN("dns-prefetch",n,null)}function hp(n,r){Ds.C(n,r),AN("preconnect",n,r)}function Rp(n,r,l){Ds.L(n,r,l);var u=el;if(u&&n&&r){var h='link[rel="preload"][as="'+Dn(r)+'"]';r==="image"&&l&&l.imageSrcSet?(h+='[imagesrcset="'+Dn(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(h+='[imagesizes="'+Dn(l.imageSizes)+'"]')):h+='[href="'+Dn(n)+'"]';var S=h;switch(r){case"style":S=tl(n);break;case"script":S=nl(n)}hi.has(S)||(n=R({rel:"preload",href:r==="image"&&l&&l.imageSrcSet?void 0:n,as:r},l),hi.set(S,n),u.querySelector(h)!==null||r==="style"&&u.querySelector(So(S))||r==="script"&&u.querySelector(fo(S))||(r=u.createElement("link"),Rn(r,"link",n),wt(r),u.head.appendChild(r)))}}function Sp(n,r){Ds.m(n,r);var l=el;if(l&&n){var u=r&&typeof r.as=="string"?r.as:"script",h='link[rel="modulepreload"][as="'+Dn(u)+'"][href="'+Dn(n)+'"]',S=h;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":S=nl(n)}if(!hi.has(S)&&(n=R({rel:"modulepreload",href:n},r),hi.set(S,n),l.querySelector(h)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(fo(S)))return}u=l.createElement("link"),Rn(u,"link",n),wt(u),l.head.appendChild(u)}}}function fp(n,r,l){Ds.S(n,r,l);var u=el;if(u&&n){var h=Wi(u).hoistableStyles,S=tl(n);r=r||"default";var C=h.get(S);if(!C){var D={loading:0,preload:null};if(C=u.querySelector(So(S)))D.loading=5;else{n=R({rel:"stylesheet",href:n,"data-precedence":r},l),(l=hi.get(S))&&BA(n,l);var M=C=u.createElement("link");wt(M),Rn(M,"link",n),M._p=new Promise(function(Y,z){M.onload=Y,M.onerror=z}),M.addEventListener("load",function(){D.loading|=1}),M.addEventListener("error",function(){D.loading|=2}),D.loading|=4,ou(C,r,u)}C={type:"stylesheet",instance:C,count:1,state:D},h.set(S,C)}}}function Op(n,r){Ds.X(n,r);var l=el;if(l&&n){var u=Wi(l).hoistableScripts,h=nl(n),S=u.get(h);S||(S=l.querySelector(fo(h)),S||(n=R({src:n,async:!0},r),(r=hi.get(h))&&xA(n,r),S=l.createElement("script"),wt(S),Rn(S,"link",n),l.head.appendChild(S)),S={type:"script",instance:S,count:1,state:null},u.set(h,S))}}function Np(n,r){Ds.M(n,r);var l=el;if(l&&n){var u=Wi(l).hoistableScripts,h=nl(n),S=u.get(h);S||(S=l.querySelector(fo(h)),S||(n=R({src:n,async:!0,type:"module"},r),(r=hi.get(h))&&xA(n,r),S=l.createElement("script"),wt(S),Rn(S,"link",n),l.head.appendChild(S)),S={type:"script",instance:S,count:1,state:null},u.set(h,S))}}function hN(n,r,l,u){var h=(h=Ne.current)?lu(h):null;if(!h)throw Error(s(446));switch(n){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(r=tl(l.href),l=Wi(h).hoistableStyles,u=l.get(r),u||(u={type:"style",instance:null,count:0,state:null},l.set(r,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){n=tl(l.href);var S=Wi(h).hoistableStyles,C=S.get(n);if(C||(h=h.ownerDocument||h,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},S.set(n,C),(S=h.querySelector(So(n)))&&!S._p&&(C.instance=S,C.state.loading=5),hi.has(n)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},hi.set(n,l),S||dp(h,n,l,C.state))),r&&u===null)throw Error(s(528,""));return C}if(r&&u!==null)throw Error(s(529,""));return null;case"script":return r=l.async,l=l.src,typeof l=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=nl(l),l=Wi(h).hoistableScripts,u=l.get(r),u||(u={type:"script",instance:null,count:0,state:null},l.set(r,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,n))}}function tl(n){return'href="'+Dn(n)+'"'}function So(n){return'link[rel="stylesheet"]['+n+"]"}function RN(n){return R({},n,{"data-precedence":n.precedence,precedence:null})}function dp(n,r,l,u){n.querySelector('link[rel="preload"][as="style"]['+r+"]")?u.loading=1:(r=n.createElement("link"),u.preload=r,r.addEventListener("load",function(){return u.loading|=1}),r.addEventListener("error",function(){return u.loading|=2}),Rn(r,"link",l),wt(r),n.head.appendChild(r))}function nl(n){return'[src="'+Dn(n)+'"]'}function fo(n){return"script[async]"+n}function SN(n,r,l){if(r.count++,r.instance===null)switch(r.type){case"style":var u=n.querySelector('style[data-href~="'+Dn(l.href)+'"]');if(u)return r.instance=u,wt(u),u;var h=R({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return u=(n.ownerDocument||n).createElement("style"),wt(u),Rn(u,"style",h),ou(u,l.precedence,n),r.instance=u;case"stylesheet":h=tl(l.href);var S=n.querySelector(So(h));if(S)return r.state.loading|=4,r.instance=S,wt(S),S;u=RN(l),(h=hi.get(h))&&BA(u,h),S=(n.ownerDocument||n).createElement("link"),wt(S);var C=S;return C._p=new Promise(function(D,M){C.onload=D,C.onerror=M}),Rn(S,"link",u),r.state.loading|=4,ou(S,l.precedence,n),r.instance=S;case"script":return S=nl(l.src),(h=n.querySelector(fo(S)))?(r.instance=h,wt(h),h):(u=l,(h=hi.get(S))&&(u=R({},l),xA(u,h)),n=n.ownerDocument||n,h=n.createElement("script"),wt(h),Rn(h,"link",u),n.head.appendChild(h),r.instance=h);case"void":return null;default:throw Error(s(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(u=r.instance,r.state.loading|=4,ou(u,l.precedence,n));return r.instance}function ou(n,r,l){for(var u=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=u.length?u[u.length-1]:null,S=h,C=0;C<u.length;C++){var D=u[C];if(D.dataset.precedence===r)S=D;else if(S!==h)break}S?S.parentNode.insertBefore(n,S.nextSibling):(r=l.nodeType===9?l.head:l,r.insertBefore(n,r.firstChild))}function BA(n,r){n.crossOrigin==null&&(n.crossOrigin=r.crossOrigin),n.referrerPolicy==null&&(n.referrerPolicy=r.referrerPolicy),n.title==null&&(n.title=r.title)}function xA(n,r){n.crossOrigin==null&&(n.crossOrigin=r.crossOrigin),n.referrerPolicy==null&&(n.referrerPolicy=r.referrerPolicy),n.integrity==null&&(n.integrity=r.integrity)}var Eu=null;function fN(n,r,l){if(Eu===null){var u=new Map,h=Eu=new Map;h.set(l,u)}else h=Eu,u=h.get(l),u||(u=new Map,h.set(l,u));if(u.has(n))return u;for(u.set(n,null),l=l.getElementsByTagName(n),h=0;h<l.length;h++){var S=l[h];if(!(S[Gs]||S[Ht]||n==="link"&&S.getAttribute("rel")==="stylesheet")&&S.namespaceURI!=="http://www.w3.org/2000/svg"){var C=S.getAttribute(r)||"";C=n+C;var D=u.get(C);D?D.push(S):u.set(C,[S])}}return u}function ON(n,r,l){n=n.ownerDocument||n,n.head.insertBefore(l,r==="title"?n.querySelector("head > title"):null)}function Ip(n,r,l){if(l===1||r.itemProp!=null)return!1;switch(n){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return n=r.disabled,typeof r.precedence=="string"&&n==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function NN(n){return!(n.type==="stylesheet"&&(n.state.loading&3)===0)}var Oo=null;function Cp(){}function _p(n,r,l){if(Oo===null)throw Error(s(475));var u=Oo;if(r.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var h=tl(l.href),S=n.querySelector(So(h));if(S){n=S._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(u.count++,u=uu.bind(u),n.then(u,u)),r.state.loading|=4,r.instance=S,wt(S);return}S=n.ownerDocument||n,l=RN(l),(h=hi.get(h))&&BA(l,h),S=S.createElement("link"),wt(S);var C=S;C._p=new Promise(function(D,M){C.onload=D,C.onerror=M}),Rn(S,"link",l),r.instance=S}u.stylesheets===null&&(u.stylesheets=new Map),u.stylesheets.set(r,n),(n=r.state.preload)&&(r.state.loading&3)===0&&(u.count++,r=uu.bind(u),n.addEventListener("load",r),n.addEventListener("error",r))}}function Lp(){if(Oo===null)throw Error(s(475));var n=Oo;return n.stylesheets&&n.count===0&&HA(n,n.stylesheets),0<n.count?function(r){var l=setTimeout(function(){if(n.stylesheets&&HA(n,n.stylesheets),n.unsuspend){var u=n.unsuspend;n.unsuspend=null,u()}},6e4);return n.unsuspend=r,function(){n.unsuspend=null,clearTimeout(l)}}:null}function uu(){if(this.count--,this.count===0){if(this.stylesheets)HA(this,this.stylesheets);else if(this.unsuspend){var n=this.unsuspend;this.unsuspend=null,n()}}}var Tu=null;function HA(n,r){n.stylesheets=null,n.unsuspend!==null&&(n.count++,Tu=new Map,r.forEach(mp,n),Tu=null,uu.call(n))}function mp(n,r){if(!(r.state.loading&4)){var l=Tu.get(n);if(l)var u=l.get(null);else{l=new Map,Tu.set(n,l);for(var h=n.querySelectorAll("link[data-precedence],style[data-precedence]"),S=0;S<h.length;S++){var C=h[S];(C.nodeName==="LINK"||C.getAttribute("media")!=="not all")&&(l.set(C.dataset.precedence,C),u=C)}u&&l.set(null,u)}h=r.instance,C=h.getAttribute("data-precedence"),S=l.get(C)||u,S===u&&l.set(null,h),l.set(C,h),this.count++,u=uu.bind(this),h.addEventListener("load",u),h.addEventListener("error",u),S?S.parentNode.insertBefore(h,S.nextSibling):(n=n.nodeType===9?n.head:n,n.insertBefore(h,n.firstChild)),r.state.loading|=4}}var No={$$typeof:Z,Provider:null,Consumer:null,_currentValue:fe,_currentValue2:fe,_threadCount:0};function pp(n,r,l,u,h,S,C,D){this.tag=1,this.containerInfo=n,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=On(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=On(0),this.hiddenUpdates=On(null),this.identifierPrefix=u,this.onUncaughtError=h,this.onCaughtError=S,this.onRecoverableError=C,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=D,this.incompleteTransitions=new Map}function dN(n,r,l,u,h,S,C,D,M,Y,z,se){return n=new pp(n,r,l,C,D,M,Y,se),r=1,S===!0&&(r|=24),S=qn(3,null,null,r),n.current=S,S.stateNode=n,r=Nc(),r.refCount++,n.pooledCache=r,r.refCount++,S.memoizedState={element:u,isDehydrated:l,cache:r},_c(S),n}function IN(n){return n?(n=ba,n):ba}function CN(n,r,l,u,h,S){h=IN(h),u.context===null?u.context=h:u.pendingContext=h,u=qs(r),u.payload={element:l},S=S===void 0?null:S,S!==null&&(u.callback=S),l=$s(n,u,r),l!==null&&(Zn(l,n,r),$l(l,n,r))}function _N(n,r){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var l=n.retryLane;n.retryLane=l!==0&&l<r?l:r}}function wA(n,r){_N(n,r),(n=n.alternate)&&_N(n,r)}function LN(n){if(n.tag===13){var r=ya(n,67108864);r!==null&&Zn(r,n,67108864),wA(n,67108864)}}var cu=!0;function Dp(n,r,l,u){var h=X.T;X.T=null;var S=Ee.p;try{Ee.p=2,YA(n,r,l,u)}finally{Ee.p=S,X.T=h}}function gp(n,r,l,u){var h=X.T;X.T=null;var S=Ee.p;try{Ee.p=8,YA(n,r,l,u)}finally{Ee.p=S,X.T=h}}function YA(n,r,l,u){if(cu){var h=FA(u);if(h===null)DA(n,r,u,Au,l),pN(n,u);else if(Pp(h,n,r,l,u))u.stopPropagation();else if(pN(n,u),r&4&&-1<Mp.indexOf(n)){for(;h!==null;){var S=cn(h);if(S!==null)switch(S.tag){case 3:if(S=S.stateNode,S.current.memoizedState.isDehydrated){var C=en(S.pendingLanes);if(C!==0){var D=S;for(D.pendingLanes|=2,D.entangledLanes|=2;C;){var M=1<<31-J(C);D.entanglements[1]|=M,C&=~M}Qi(S),(ct&6)===0&&(JE=Zt()+500,co(0))}}break;case 13:D=ya(S,2),D!==null&&Zn(D,S,2),zE(),wA(S,2)}if(S=FA(u),S===null&&DA(n,r,u,Au,l),S===h)break;h=S}h!==null&&u.stopPropagation()}else DA(n,r,u,null,l)}}function FA(n){return n=mi(n),VA(n)}var Au=null;function VA(n){if(Au=null,n=xs(n),n!==null){var r=o(n);if(r===null)n=null;else{var l=r.tag;if(l===13){if(n=E(r),n!==null)return n;n=null}else if(l===3){if(r.stateNode.current.memoizedState.isDehydrated)return r.tag===3?r.stateNode.containerInfo:null;n=null}else r!==n&&(n=null)}}return Au=n,null}function mN(n){switch(n){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(ii()){case wi:return 2;case Wn:return 8;case Xn:case ye:return 32;case we:return 268435456;default:return 32}default:return 32}}var kA=!1,or=null,Er=null,ur=null,Io=new Map,Co=new Map,Tr=[],Mp="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 pN(n,r){switch(n){case"focusin":case"focusout":or=null;break;case"dragenter":case"dragleave":Er=null;break;case"mouseover":case"mouseout":ur=null;break;case"pointerover":case"pointerout":Io.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":Co.delete(r.pointerId)}}function _o(n,r,l,u,h,S){return n===null||n.nativeEvent!==S?(n={blockedOn:r,domEventName:l,eventSystemFlags:u,nativeEvent:S,targetContainers:[h]},r!==null&&(r=cn(r),r!==null&&LN(r)),n):(n.eventSystemFlags|=u,r=n.targetContainers,h!==null&&r.indexOf(h)===-1&&r.push(h),n)}function Pp(n,r,l,u,h){switch(r){case"focusin":return or=_o(or,n,r,l,u,h),!0;case"dragenter":return Er=_o(Er,n,r,l,u,h),!0;case"mouseover":return ur=_o(ur,n,r,l,u,h),!0;case"pointerover":var S=h.pointerId;return Io.set(S,_o(Io.get(S)||null,n,r,l,u,h)),!0;case"gotpointercapture":return S=h.pointerId,Co.set(S,_o(Co.get(S)||null,n,r,l,u,h)),!0}return!1}function DN(n){var r=xs(n.target);if(r!==null){var l=o(r);if(l!==null){if(r=l.tag,r===13){if(r=E(l),r!==null){n.blockedOn=r,rE(n.priority,function(){if(l.tag===13){var u=zn();u=Sa(u);var h=ya(l,u);h!==null&&Zn(h,l,u),wA(l,u)}});return}}else if(r===3&&l.stateNode.current.memoizedState.isDehydrated){n.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}n.blockedOn=null}function hu(n){if(n.blockedOn!==null)return!1;for(var r=n.targetContainers;0<r.length;){var l=FA(n.nativeEvent);if(l===null){l=n.nativeEvent;var u=new l.constructor(l.type,l);Ws=u,l.target.dispatchEvent(u),Ws=null}else return r=cn(l),r!==null&&LN(r),n.blockedOn=l,!1;r.shift()}return!0}function gN(n,r,l){hu(n)&&l.delete(r)}function Up(){kA=!1,or!==null&&hu(or)&&(or=null),Er!==null&&hu(Er)&&(Er=null),ur!==null&&hu(ur)&&(ur=null),Io.forEach(gN),Co.forEach(gN)}function Ru(n,r){n.blockedOn===r&&(n.blockedOn=null,kA||(kA=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Up)))}var Su=null;function MN(n){Su!==n&&(Su=n,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Su===n&&(Su=null);for(var r=0;r<n.length;r+=3){var l=n[r],u=n[r+1],h=n[r+2];if(typeof u!="function"){if(VA(u||l)===null)continue;break}var S=cn(l);S!==null&&(n.splice(r,3),r-=3,Vc(S,{pending:!0,data:h,method:l.method,action:u},u,h))}}))}function Lo(n){function r(M){return Ru(M,n)}or!==null&&Ru(or,n),Er!==null&&Ru(Er,n),ur!==null&&Ru(ur,n),Io.forEach(r),Co.forEach(r);for(var l=0;l<Tr.length;l++){var u=Tr[l];u.blockedOn===n&&(u.blockedOn=null)}for(;0<Tr.length&&(l=Tr[0],l.blockedOn===null);)DN(l),l.blockedOn===null&&Tr.shift();if(l=(n.ownerDocument||n).$$reactFormReplay,l!=null)for(u=0;u<l.length;u+=3){var h=l[u],S=l[u+1],C=h[Et]||null;if(typeof S=="function")C||MN(l);else if(C){var D=null;if(S&&S.hasAttribute("formAction")){if(h=S,C=S[Et]||null)D=C.formAction;else if(VA(h)!==null)continue}else D=C.action;typeof D=="function"?l[u+1]=D:(l.splice(u,3),u-=3),MN(l)}}}function WA(n){this._internalRoot=n}fu.prototype.render=WA.prototype.render=function(n){var r=this._internalRoot;if(r===null)throw Error(s(409));var l=r.current,u=zn();CN(l,u,n,r,null,null)},fu.prototype.unmount=WA.prototype.unmount=function(){var n=this._internalRoot;if(n!==null){this._internalRoot=null;var r=n.containerInfo;CN(n.current,2,null,n,null,null),zE(),r[Ts]=null}};function fu(n){this._internalRoot=n}fu.prototype.unstable_scheduleHydration=function(n){if(n){var r=us();n={blockedOn:null,target:n,priority:r};for(var l=0;l<Tr.length&&r!==0&&r<Tr[l].priority;l++);Tr.splice(l,0,n),l===0&&DN(n)}};var PN=e.version;if(PN!=="19.1.0")throw Error(s(527,PN,"19.1.0"));Ee.findDOMNode=function(n){var r=n._reactInternals;if(r===void 0)throw typeof n.render=="function"?Error(s(188)):(n=Object.keys(n).join(","),Error(s(268,n)));return n=c(r),n=n!==null?A(n):null,n=n===null?null:n.stateNode,n};var yp={bundleType:0,version:"19.1.0",rendererPackageName:"react-dom",currentDispatcherRef:X,reconcilerVersion:"19.1.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ou=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ou.isDisabled&&Ou.supportsFiber)try{gt=Ou.inject(yp),Xt=Ou}catch{}}return po.createRoot=function(n,r){if(!a(n))throw Error(s(299));var l=!1,u="",h=Kf,S=jf,C=qf,D=null;return r!=null&&(r.unstable_strictMode===!0&&(l=!0),r.identifierPrefix!==void 0&&(u=r.identifierPrefix),r.onUncaughtError!==void 0&&(h=r.onUncaughtError),r.onCaughtError!==void 0&&(S=r.onCaughtError),r.onRecoverableError!==void 0&&(C=r.onRecoverableError),r.unstable_transitionCallbacks!==void 0&&(D=r.unstable_transitionCallbacks)),r=dN(n,1,!1,null,null,l,u,h,S,C,D,null),n[Ts]=r.current,pA(n),new WA(r)},po.hydrateRoot=function(n,r,l){if(!a(n))throw Error(s(299));var u=!1,h="",S=Kf,C=jf,D=qf,M=null,Y=null;return l!=null&&(l.unstable_strictMode===!0&&(u=!0),l.identifierPrefix!==void 0&&(h=l.identifierPrefix),l.onUncaughtError!==void 0&&(S=l.onUncaughtError),l.onCaughtError!==void 0&&(C=l.onCaughtError),l.onRecoverableError!==void 0&&(D=l.onRecoverableError),l.unstable_transitionCallbacks!==void 0&&(M=l.unstable_transitionCallbacks),l.formState!==void 0&&(Y=l.formState)),r=dN(n,1,!0,r,l??null,u,h,S,C,D,M,Y),r.context=IN(null),l=r.current,u=zn(),u=Sa(u),h=qs(u),h.callback=null,$s(l,h,u),l=u,r.current.lanes=l,Es(r,l),Qi(r),n[Ts]=r.current,pA(n),new fu(r)},po.version="19.1.0",po}var YN;function Wp(){if(YN)return jA.exports;YN=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(e){console.error(e)}}return i(),jA.exports=kp(),jA.exports}var Xp=Wp(),Kp=class{constructor(){ln(this,"definitions",new Map)}register(i){this.definitions.set(i.kind,i)}get(i){return this.definitions.get(i)}listSupported(){return[...this.definitions.values()].sort((i,e)=>i.displayName.localeCompare(e.displayName)).map(i=>({kind:i.kind,displayName:i.displayName}))}detectFromBytes(i){return[...this.definitions.values()].find(e=>{var t;return(t=e.canOpenBytes)==null?void 0:t.call(e,i)})}detectFromSnapshot(i){const e=this.definitions.get(i.kind);return e||[...this.definitions.values()].find(t=>t.mimeTypes.includes(i.mimeType))}},QA=null;function cC(){return QA||(QA=new Kp),QA}async function jp(i){const e=cC(),t=e.get(i.kind)??e.detectFromBytes(i.bytes)??e.detectFromSnapshot(i);if(!t)throw new Error(`No inspector registered for database kind "${i.kind}"`);const s=await t.createInspector();return await s.open(i.bytes),s}var zA={exports:{}},FN;function qp(){return FN||(FN=1,(function(i,e){var t=void 0,s=function(a){return t||(t=new Promise(function(o,E){var li,La;var T=typeof a<"u"?a:{},c=T.onAbort;T.onAbort=function(f){E(new Error(f)),c&&c(f)},T.postRun=T.postRun||[],T.postRun.push(function(){o(T)}),i=void 0;var A;A||(A=typeof T<"u"?T:{});var R=!!globalThis.window,O=!!globalThis.WorkerGlobalScope;A.onRuntimeInitialized=function(){function f(H,re){switch(typeof re){case"boolean":ec(H,re?1:0);break;case"number":QT(H,re);break;case"string":zT(H,re,-1,-1);break;case"object":if(re===null)fE(H);else if(re.length!=null){var _e=ks(re.length);ae.set(re,_e),ZT(H,_e,re.length,-1),br(_e)}else pa(H,"Wrong API use : tried to return a value of an unknown type ("+re+").",-1);break;default:fE(H)}}function N(H,re){for(var _e=[],ge=0;ge<H;ge+=1){var je=We(re+4*ge,"i32"),it=jT(je);if(it===1||it===2)je=JT(je);else if(it===3)je=SE(je);else if(it===4){it=je,je=qT(it),it=$T(it);for(var nn=new Uint8Array(je),Gn=0;Gn<je;Gn+=1)nn[Gn]=ae[it+Gn];je=nn}else je=null;_e.push(je)}return _e}function _(H,re){this.Qa=H,this.db=re,this.Oa=1,this.yb=[]}function m(H,re){if(this.db=re,this.ob=Fs(H),this.ob===null)throw Error("Unable to allocate memory for the SQL string");this.ub=this.ob,this.gb=this.Fb=null}function b(H){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),H!=null){var re=this.filename,_e="/",ge=re;if(_e&&(_e=typeof _e=="string"?_e:Es(_e),ge=re?qt(_e+"/"+re):_e),re=be(!0,!0),ge=xs(ge,re),H){if(typeof H=="string"){_e=Array(H.length);for(var je=0,it=H.length;je<it;++je)_e[je]=H.charCodeAt(je);H=_e}Ci(ge,re|146),_e=cs(ge,577),Mr(_e,H,0,H.length,0),Oa(_e),Ci(ge,re)}}this.handleError(ve(this.filename,V)),this.db=We(V,"i32"),Da(this.db),this.pb={},this.Sa={}}var V=mi(4),ie=A.cwrap,ve=ie("sqlite3_open","number",["string","number"]),Xe=ie("sqlite3_close_v2","number",["number"]),Ye=ie("sqlite3_exec","number",["number","string","number","number","number"]),ut=ie("sqlite3_changes","number",["number"]),Mt=ie("sqlite3_prepare_v2","number",["number","string","number","number","number"]),TE=ie("sqlite3_sql","string",["number"]),Gl=ie("sqlite3_normalized_sql","string",["number"]),ma=ie("sqlite3_prepare_v2","number",["number","number","number","number","number"]),Gr=ie("sqlite3_bind_text","number",["number","number","number","number","number"]),Br=ie("sqlite3_bind_blob","number",["number","number","number","number","number"]),cE=ie("sqlite3_bind_double","number",["number","number","number"]),BT=ie("sqlite3_bind_int","number",["number","number","number"]),xT=ie("sqlite3_bind_parameter_index","number",["number","string"]),HT=ie("sqlite3_step","number",["number"]),Bl=ie("sqlite3_errmsg","string",["number"]),wT=ie("sqlite3_column_count","number",["number"]),YT=ie("sqlite3_data_count","number",["number"]),FT=ie("sqlite3_column_double","number",["number","number"]),AE=ie("sqlite3_column_text","string",["number","number"]),VT=ie("sqlite3_column_blob","number",["number","number"]),hE=ie("sqlite3_column_bytes","number",["number","number"]),kT=ie("sqlite3_column_type","number",["number","number"]),WT=ie("sqlite3_column_name","string",["number","number"]),XT=ie("sqlite3_reset","number",["number"]),KT=ie("sqlite3_clear_bindings","number",["number"]),xl=ie("sqlite3_finalize","number",["number"]),RE=ie("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),jT=ie("sqlite3_value_type","number",["number"]),qT=ie("sqlite3_value_bytes","number",["number"]),SE=ie("sqlite3_value_text","string",["number"]),$T=ie("sqlite3_value_blob","number",["number"]),JT=ie("sqlite3_value_double","number",["number"]),QT=ie("sqlite3_result_double","",["number","number"]),fE=ie("sqlite3_result_null","",["number"]),zT=ie("sqlite3_result_text","",["number","string","number","number"]),ZT=ie("sqlite3_result_blob","",["number","number","number","number"]),ec=ie("sqlite3_result_int","",["number","number"]),pa=ie("sqlite3_result_error","",["number","string","number"]),OE=ie("sqlite3_aggregate_context","number",["number","number"]),Da=ie("RegisterExtensionFunctions","number",["number"]),Xs=ie("sqlite3_update_hook","number",["number","number","number"]);_.prototype.bind=function(H){if(!this.Qa)throw"Statement closed";return this.reset(),Array.isArray(H)?this.Wb(H):H!=null&&typeof H=="object"?this.Xb(H):!0},_.prototype.step=function(){if(!this.Qa)throw"Statement closed";this.Oa=1;var H=HT(this.Qa);switch(H){case 100:return!0;case 101:return!1;default:throw this.db.handleError(H)}},_.prototype.Pb=function(H){return H==null&&(H=this.Oa,this.Oa+=1),FT(this.Qa,H)},_.prototype.hc=function(H){if(H==null&&(H=this.Oa,this.Oa+=1),H=AE(this.Qa,H),typeof BigInt!="function")throw Error("BigInt is not supported");return BigInt(H)},_.prototype.mc=function(H){return H==null&&(H=this.Oa,this.Oa+=1),AE(this.Qa,H)},_.prototype.getBlob=function(H){H==null&&(H=this.Oa,this.Oa+=1);var re=hE(this.Qa,H);H=VT(this.Qa,H);for(var _e=new Uint8Array(re),ge=0;ge<re;ge+=1)_e[ge]=ae[H+ge];return _e},_.prototype.get=function(H,re){re=re||{},H!=null&&this.bind(H)&&this.step(),H=[];for(var _e=YT(this.Qa),ge=0;ge<_e;ge+=1)switch(kT(this.Qa,ge)){case 1:var je=re.useBigInt?this.hc(ge):this.Pb(ge);H.push(je);break;case 2:H.push(this.Pb(ge));break;case 3:H.push(this.mc(ge));break;case 4:H.push(this.getBlob(ge));break;default:H.push(null)}return H},_.prototype.Db=function(){for(var H=[],re=wT(this.Qa),_e=0;_e<re;_e+=1)H.push(WT(this.Qa,_e));return H},_.prototype.Ob=function(H,re){H=this.get(H,re),re=this.Db();for(var _e={},ge=0;ge<re.length;ge+=1)_e[re[ge]]=H[ge];return _e},_.prototype.lc=function(){return TE(this.Qa)},_.prototype.ic=function(){return Gl(this.Qa)},_.prototype.Jb=function(H){return H!=null&&this.bind(H),this.step(),this.reset()},_.prototype.Lb=function(H,re){re==null&&(re=this.Oa,this.Oa+=1),H=Fs(H),this.yb.push(H),this.db.handleError(Gr(this.Qa,re,H,-1,0))},_.prototype.Vb=function(H,re){re==null&&(re=this.Oa,this.Oa+=1);var _e=ks(H.length);ae.set(H,_e),this.yb.push(_e),this.db.handleError(Br(this.Qa,re,_e,H.length,0))},_.prototype.Kb=function(H,re){re==null&&(re=this.Oa,this.Oa+=1),this.db.handleError((H===(H|0)?BT:cE)(this.Qa,re,H))},_.prototype.Yb=function(H){H==null&&(H=this.Oa,this.Oa+=1),Br(this.Qa,H,0,0,0)},_.prototype.Mb=function(H,re){switch(re==null&&(re=this.Oa,this.Oa+=1),typeof H){case"string":this.Lb(H,re);return;case"number":this.Kb(H,re);return;case"bigint":this.Lb(H.toString(),re);return;case"boolean":this.Kb(H+0,re);return;case"object":if(H===null){this.Yb(re);return}if(H.length!=null){this.Vb(H,re);return}}throw"Wrong API use : tried to bind a value of an unknown type ("+H+")."},_.prototype.Xb=function(H){var re=this;return Object.keys(H).forEach(function(_e){var ge=xT(re.Qa,_e);ge!==0&&re.Mb(H[_e],ge)}),!0},_.prototype.Wb=function(H){for(var re=0;re<H.length;re+=1)this.Mb(H[re],re+1);return!0},_.prototype.reset=function(){return this.Cb(),KT(this.Qa)===0&&XT(this.Qa)===0},_.prototype.Cb=function(){for(var H;(H=this.yb.pop())!==void 0;)br(H)},_.prototype.cb=function(){this.Cb();var H=xl(this.Qa)===0;return delete this.db.pb[this.Qa],this.Qa=0,H},m.prototype.next=function(){if(this.ob===null)return{done:!0};if(this.gb!==null&&(this.gb.cb(),this.gb=null),!this.db.db)throw this.Ab(),Error("Database closed");var H=pi(),re=mi(4);Dt(V),Dt(re);try{this.db.handleError(ma(this.db.db,this.ub,-1,V,re)),this.ub=We(re,"i32");var _e=We(V,"i32");return _e===0?(this.Ab(),{done:!0}):(this.gb=new _(_e,this.db),this.db.pb[_e]=this.gb,{value:this.gb,done:!1})}catch(ge){throw this.Fb=et(this.ub),this.Ab(),ge}finally{Ws(H)}},m.prototype.Ab=function(){br(this.ob),this.ob=null},m.prototype.jc=function(){return this.Fb!==null?this.Fb:et(this.ub)},typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"&&(m.prototype[Symbol.iterator]=function(){return this}),b.prototype.Jb=function(H,re){if(!this.db)throw"Database closed";if(re){H=this.Gb(H,re);try{H.step()}finally{H.cb()}}else this.handleError(Ye(this.db,H,0,0,V));return this},b.prototype.exec=function(H,re,_e){if(!this.db)throw"Database closed";var ge=null,je=null,it=null;try{it=je=Fs(H);var nn=mi(4);for(H=[];We(it,"i8")!==0;){Dt(V),Dt(nn),this.handleError(ma(this.db,it,-1,V,nn));var Gn=We(V,"i32");if(it=We(nn,"i32"),Gn!==0){var gn=null;for(ge=new _(Gn,this),re!=null&&ge.bind(re);ge.step();)gn===null&&(gn={columns:ge.Db(),values:[]},H.push(gn)),gn.values.push(ge.get(null,_e));ge.cb()}}return H}catch(Kn){throw ge&&ge.cb(),Kn}finally{je&&br(je)}},b.prototype.ec=function(H,re,_e,ge,je){typeof re=="function"&&(ge=_e,_e=re,re=void 0),H=this.Gb(H,re);try{for(;H.step();)_e(H.Ob(null,je))}finally{H.cb()}if(typeof ge=="function")return ge()},b.prototype.Gb=function(H,re){if(Dt(V),this.handleError(Mt(this.db,H,-1,V,0)),H=We(V,"i32"),H===0)throw"Nothing to prepare";var _e=new _(H,this);return re!=null&&_e.bind(re),this.pb[H]=_e},b.prototype.pc=function(H){return new m(H,this)},b.prototype.fc=function(){Object.values(this.pb).forEach(function(re){re.cb()}),Object.values(this.Sa).forEach(Li),this.Sa={},this.handleError(Xe(this.db));var H=_i(this.filename);return this.handleError(ve(this.filename,V)),this.db=We(V,"i32"),Da(this.db),H},b.prototype.close=function(){this.db!==null&&(Object.values(this.pb).forEach(function(H){H.cb()}),Object.values(this.Sa).forEach(Li),this.Sa={},this.fb&&(Li(this.fb),this.fb=void 0),this.handleError(Xe(this.db)),Pl("/"+this.filename),this.db=null)},b.prototype.handleError=function(H){if(H===0)return null;throw H=Bl(this.db),Error(H)},b.prototype.kc=function(){return ut(this.db)},b.prototype.bc=function(H,re){Object.prototype.hasOwnProperty.call(this.Sa,H)&&(Li(this.Sa[H]),delete this.Sa[H]);var _e=Vs(function(ge,je,it){je=N(je,it);try{var nn=re.apply(null,je)}catch(Gn){pa(ge,Gn,-1);return}f(ge,nn)},"viii");return this.Sa[H]=_e,this.handleError(RE(this.db,H,re.length,1,0,_e,0,0,0)),this},b.prototype.ac=function(H,re){var _e=re.init||function(){return null},ge=re.finalize||function(gn){return gn},je=re.step;if(!je)throw"An aggregate function must have a step function in "+H;var it={};Object.hasOwnProperty.call(this.Sa,H)&&(Li(this.Sa[H]),delete this.Sa[H]),re=H+"__finalize",Object.hasOwnProperty.call(this.Sa,re)&&(Li(this.Sa[re]),delete this.Sa[re]);var nn=Vs(function(gn,Kn,ga){var Ki=OE(gn,1);Object.hasOwnProperty.call(it,Ki)||(it[Ki]=_e()),Kn=N(Kn,ga),Kn=[it[Ki]].concat(Kn);try{it[Ki]=je.apply(null,Kn)}catch(xr){delete it[Ki],pa(gn,xr,-1)}},"viii"),Gn=Vs(function(gn){var Kn=OE(gn,1);try{var ga=ge(it[Kn])}catch(Ki){delete it[Kn],pa(gn,Ki,-1);return}f(gn,ga),delete it[Kn]},"vi");return this.Sa[H]=nn,this.Sa[re]=Gn,this.handleError(RE(this.db,H,je.length-1,1,0,0,nn,Gn,0)),this},b.prototype.vc=function(H){return this.fb&&(Xs(this.db,0,0),Li(this.fb),this.fb=void 0),H?(this.fb=Vs(function(re,_e,ge,je,it){switch(_e){case 18:re="insert";break;case 23:re="update";break;case 9:re="delete";break;default:throw"unknown operationCode in updateHook callback: "+_e}if(ge=et(ge),je=et(je),it>Number.MAX_SAFE_INTEGER)throw"rowId too big to fit inside a Number";H(re,ge,je,Number(it))},"viiiij"),Xs(this.db,this.fb,0),this):this},_.prototype.bind=_.prototype.bind,_.prototype.step=_.prototype.step,_.prototype.get=_.prototype.get,_.prototype.getColumnNames=_.prototype.Db,_.prototype.getAsObject=_.prototype.Ob,_.prototype.getSQL=_.prototype.lc,_.prototype.getNormalizedSQL=_.prototype.ic,_.prototype.run=_.prototype.Jb,_.prototype.reset=_.prototype.reset,_.prototype.freemem=_.prototype.Cb,_.prototype.free=_.prototype.cb,m.prototype.next=m.prototype.next,m.prototype.getRemainingSQL=m.prototype.jc,b.prototype.run=b.prototype.Jb,b.prototype.exec=b.prototype.exec,b.prototype.each=b.prototype.ec,b.prototype.prepare=b.prototype.Gb,b.prototype.iterateStatements=b.prototype.pc,b.prototype.export=b.prototype.fc,b.prototype.close=b.prototype.close,b.prototype.handleError=b.prototype.handleError,b.prototype.getRowsModified=b.prototype.kc,b.prototype.create_function=b.prototype.bc,b.prototype.create_aggregate=b.prototype.ac,b.prototype.updateHook=b.prototype.vc,A.Database=b};var d="./this.program",L=(La=(li=globalThis.document)==null?void 0:li.currentScript)==null?void 0:La.src;O&&(L=self.location.href);var p="",g,v;if(R||O){try{p=new URL(".",L).href}catch{}O&&(v=f=>{var N=new XMLHttpRequest;return N.open("GET",f,!1),N.responseType="arraybuffer",N.send(null),new Uint8Array(N.response)}),g=async f=>{if(f=await fetch(f,{credentials:"same-origin"}),f.ok)return f.arrayBuffer();throw Error(f.status+" : "+f.url)}}var B=console.log.bind(console),K=console.error.bind(console),Z,Te=!1,$,ae,j,ce,he,Se,de,ue,Le;function Pe(){var f=Di.buffer;ae=new Int8Array(f),ce=new Int16Array(f),j=new Uint8Array(f),he=new Int32Array(f),Se=new Uint32Array(f),de=new Float32Array(f),ue=new Float64Array(f),Le=new BigInt64Array(f),new BigUint64Array(f)}function Ue(f){var N;throw(N=A.onAbort)==null||N.call(A,f),f="Aborted("+f+")",K(f),Te=!0,new WebAssembly.RuntimeError(f+". Build with -sASSERTIONS for more info.")}var X;async function Ee(f){if(!Z)try{var N=await g(f);return new Uint8Array(N)}catch{}if(f==X&&Z)f=new Uint8Array(Z);else if(v)f=v(f);else throw"both async and sync fetching of the wasm failed";return f}async function fe(f,N){try{var _=await Ee(f);return await WebAssembly.instantiate(_,N)}catch(m){K(`failed to asynchronously prepare wasm: ${m}`),Ue(m)}}async function De(f){var N=X;if(!Z)try{var _=fetch(N,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(_,f)}catch(m){K(`wasm streaming compile failed: ${m}`),K("falling back to ArrayBuffer instantiation")}return fe(N,f)}class U{constructor(N){ln(this,"name","ExitStatus");this.message=`Program terminated with exit(${N})`,this.status=N}}var P=f=>{for(;0<f.length;)f.shift()(A)},q=[],ee=[],le=()=>{var f=A.preRun.shift();ee.push(f)},Oe=0,Ne=null;function We(f,N="i8"){switch(N.endsWith("*")&&(N="*"),N){case"i1":return ae[f];case"i8":return ae[f];case"i16":return ce[f>>1];case"i32":return he[f>>2];case"i64":return Le[f>>3];case"float":return de[f>>2];case"double":return ue[f>>3];case"*":return Se[f>>2];default:Ue(`invalid type for getValue: ${N}`)}}var $e=!0;function Dt(f){var N="i32";switch(N.endsWith("*")&&(N="*"),N){case"i1":ae[f]=0;break;case"i8":ae[f]=0;break;case"i16":ce[f>>1]=0;break;case"i32":he[f>>2]=0;break;case"i64":Le[f>>3]=BigInt(0);break;case"float":de[f>>2]=0;break;case"double":ue[f>>3]=0;break;case"*":Se[f>>2]=0;break;default:Ue(`invalid type for setValue: ${N}`)}}var Lt=new TextDecoder,yt=(f,N,_,m)=>{if(_=N+_,m)return _;for(;f[N]&&!(N>=_);)++N;return N},et=(f,N,_)=>f?Lt.decode(j.subarray(f,yt(j,f,N,_))):"",pn=(f,N)=>{for(var _=0,m=f.length-1;0<=m;m--){var b=f[m];b==="."?f.splice(m,1):b===".."?(f.splice(m,1),_++):_&&(f.splice(m,1),_--)}if(N)for(;_;_--)f.unshift("..");return f},qt=f=>{var N=f.charAt(0)==="/",_=f.slice(-1)==="/";return(f=pn(f.split("/").filter(m=>!!m),!N).join("/"))||N||(f="."),f&&_&&(f+="/"),(N?"/":"")+f},_t=f=>{var N=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(f).slice(1);return f=N[0],N=N[1],!f&&!N?".":(N&&(N=N.slice(0,-1)),f+N)},Tn=f=>f&&f.match(/([^\/]+|\/)\/*$/)[1],Zt=()=>f=>crypto.getRandomValues(f),ii=f=>{(ii=Zt())(f)},wi=(...f)=>{for(var N="",_=!1,m=f.length-1;-1<=m&&!_;m--){if(_=0<=m?f[m]:"/",typeof _!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!_)return"";N=_+"/"+N,_=_.charAt(0)==="/"}return N=pn(N.split("/").filter(b=>!!b),!_).join("/"),(_?"/":"")+N||"."},Wn=f=>{var N=yt(f,0);return Lt.decode(f.buffer?f.subarray(0,N):new Uint8Array(f.slice(0,N)))},Xn=[],ye=f=>{for(var N=0,_=0;_<f.length;++_){var m=f.charCodeAt(_);127>=m?N++:2047>=m?N+=2:55296<=m&&57343>=m?(N+=4,++_):N+=3}return N},we=(f,N,_,m)=>{if(!(0<m))return 0;var b=_;m=_+m-1;for(var V=0;V<f.length;++V){var ie=f.codePointAt(V);if(127>=ie){if(_>=m)break;N[_++]=ie}else if(2047>=ie){if(_+1>=m)break;N[_++]=192|ie>>6,N[_++]=128|ie&63}else if(65535>=ie){if(_+2>=m)break;N[_++]=224|ie>>12,N[_++]=128|ie>>6&63,N[_++]=128|ie&63}else{if(_+3>=m)break;N[_++]=240|ie>>18,N[_++]=128|ie>>12&63,N[_++]=128|ie>>6&63,N[_++]=128|ie&63,V++}}return N[_]=0,_-b},ke=[];function ot(f,N){ke[f]={input:[],output:[],kb:N},fa(f,gt)}var gt={open(f){var N=ke[f.node.nb];if(!N)throw new Ae(43);f.Va=N,f.seekable=!1},close(f){f.Va.kb.lb(f.Va)},lb(f){f.Va.kb.lb(f.Va)},read(f,N,_,m){if(!f.Va||!f.Va.kb.Qb)throw new Ae(60);for(var b=0,V=0;V<m;V++){try{var ie=f.Va.kb.Qb(f.Va)}catch{throw new Ae(29)}if(ie===void 0&&b===0)throw new Ae(6);if(ie==null)break;b++,N[_+V]=ie}return b&&(f.node.$a=Date.now()),b},write(f,N,_,m){if(!f.Va||!f.Va.kb.Hb)throw new Ae(60);try{for(var b=0;b<m;b++)f.Va.kb.Hb(f.Va,N[_+b])}catch{throw new Ae(29)}return m&&(f.node.Ua=f.node.Ta=Date.now()),b}},Xt={Qb(){var _;e:{if(!Xn.length){var f=null;if((_=globalThis.window)!=null&&_.prompt&&(f=window.prompt("Input: "),f!==null&&(f+=`
|
|
50
|
+
`)),!f){var N=null;break e}N=Array(ye(f)+1),f=we(f,N,0,N.length),N.length=f,Xn=N}N=Xn.shift()}return N},Hb(f,N){N===null||N===10?(B(Wn(f.output)),f.output=[]):N!=0&&f.output.push(N)},lb(f){var N;0<((N=f.output)==null?void 0:N.length)&&(B(Wn(f.output)),f.output=[])},Dc(){return{yc:25856,Ac:5,xc:191,zc:35387,wc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},Ec(){return 0},Fc(){return[24,80]}},si={Hb(f,N){N===null||N===10?(K(Wn(f.output)),f.output=[]):N!=0&&f.output.push(N)},lb(f){var N;0<((N=f.output)==null?void 0:N.length)&&(K(Wn(f.output)),f.output=[])}},J={Za:null,ab(){return J.createNode(null,"/",16895,0)},createNode(f,N,_,m){if((_&61440)===24576||(_&61440)===4096)throw new Ae(63);return J.Za||(J.Za={dir:{node:{Wa:J.La.Wa,Xa:J.La.Xa,mb:J.La.mb,rb:J.La.rb,Tb:J.La.Tb,xb:J.La.xb,vb:J.La.vb,Ib:J.La.Ib,wb:J.La.wb},stream:{Ya:J.Ma.Ya}},file:{node:{Wa:J.La.Wa,Xa:J.La.Xa},stream:{Ya:J.Ma.Ya,read:J.Ma.read,write:J.Ma.write,sb:J.Ma.sb,tb:J.Ma.tb}},link:{node:{Wa:J.La.Wa,Xa:J.La.Xa,eb:J.La.eb},stream:{}},Nb:{node:{Wa:J.La.Wa,Xa:J.La.Xa},stream:vT}}),_=Sa(f,N,_,m),tn(_.mode)?(_.La=J.Za.dir.node,_.Ma=J.Za.dir.stream,_.Na={}):(_.mode&61440)===32768?(_.La=J.Za.file.node,_.Ma=J.Za.file.stream,_.Ra=0,_.Na=null):(_.mode&61440)===40960?(_.La=J.Za.link.node,_.Ma=J.Za.link.stream):(_.mode&61440)===8192&&(_.La=J.Za.Nb.node,_.Ma=J.Za.Nb.stream),_.$a=_.Ua=_.Ta=Date.now(),f&&(f.Na[N]=_,f.$a=f.Ua=f.Ta=_.$a),_},Cc(f){return f.Na?f.Na.subarray?f.Na.subarray(0,f.Ra):new Uint8Array(f.Na):new Uint8Array(0)},La:{Wa(f){var N={};return N.cc=(f.mode&61440)===8192?f.id:1,N.oc=f.id,N.mode=f.mode,N.rc=1,N.uid=0,N.nc=0,N.nb=f.nb,tn(f.mode)?N.size=4096:(f.mode&61440)===32768?N.size=f.Ra:(f.mode&61440)===40960?N.size=f.link.length:N.size=0,N.$a=new Date(f.$a),N.Ua=new Date(f.Ua),N.Ta=new Date(f.Ta),N.Zb=4096,N.$b=Math.ceil(N.size/N.Zb),N},Xa(f,N){for(var _ of["mode","atime","mtime","ctime"])N[_]!=null&&(f[_]=N[_]);N.size!==void 0&&(N=N.size,f.Ra!=N&&(N==0?(f.Na=null,f.Ra=0):(_=f.Na,f.Na=new Uint8Array(N),_&&f.Na.set(_.subarray(0,Math.min(N,f.Ra))),f.Ra=N)))},mb(){throw J.zb||(J.zb=new Ae(44),J.zb.stack="<generic error, no stack>"),J.zb},rb(f,N,_,m){return J.createNode(f,N,_,m)},Tb(f,N,_){try{var m=Vi(N,_)}catch{}if(m){if(tn(f.mode))for(var b in m.Na)throw new Ae(55);Ra(m)}delete f.parent.Na[f.name],N.Na[_]=f,f.name=_,N.Ta=N.Ua=f.parent.Ta=f.parent.Ua=Date.now()},xb(f,N){delete f.Na[N],f.Ta=f.Ua=Date.now()},vb(f,N){var _=Vi(f,N),m;for(m in _.Na)throw new Ae(55);delete f.Na[N],f.Ta=f.Ua=Date.now()},Ib(f){return[".","..",...Object.keys(f.Na)]},wb(f,N,_){return f=J.createNode(f,N,41471,0),f.link=_,f},eb(f){if((f.mode&61440)!==40960)throw new Ae(28);return f.link}},Ma:{read(f,N,_,m,b){var V=f.node.Na;if(b>=f.node.Ra)return 0;if(f=Math.min(f.node.Ra-b,m),8<f&&V.subarray)N.set(V.subarray(b,b+f),_);else for(m=0;m<f;m++)N[_+m]=V[b+m];return f},write(f,N,_,m,b,V){if(N.buffer===ae.buffer&&(V=!1),!m)return 0;if(f=f.node,f.Ua=f.Ta=Date.now(),N.subarray&&(!f.Na||f.Na.subarray)){if(V)return f.Na=N.subarray(_,_+m),f.Ra=m;if(f.Ra===0&&b===0)return f.Na=N.slice(_,_+m),f.Ra=m;if(b+m<=f.Ra)return f.Na.set(N.subarray(_,_+m),b),m}V=b+m;var ie=f.Na?f.Na.length:0;if(ie>=V||(V=Math.max(V,ie*(1048576>ie?2:1.125)>>>0),ie!=0&&(V=Math.max(V,256)),ie=f.Na,f.Na=new Uint8Array(V),0<f.Ra&&f.Na.set(ie.subarray(0,f.Ra),0)),f.Na.subarray&&N.subarray)f.Na.set(N.subarray(_,_+m),b);else for(V=0;V<m;V++)f.Na[b+V]=N[_+V];return f.Ra=Math.max(f.Ra,b+m),m},Ya(f,N,_){if(_===1?N+=f.position:_===2&&(f.node.mode&61440)===32768&&(N+=f.node.Ra),0>N)throw new Ae(28);return N},sb(f,N,_,m,b){if((f.node.mode&61440)!==32768)throw new Ae(43);if(f=f.node.Na,b&2||!f||f.buffer!==ae.buffer){b=!0,m=65536*Math.ceil(N/65536);var V=uE(65536,m);if(V&&j.fill(0,V,V+m),m=V,!m)throw new Ae(48);f&&((0<_||_+N<f.length)&&(f.subarray?f=f.subarray(_,_+N):f=Array.prototype.slice.call(f,_,_+N)),ae.set(f,m))}else b=!1,m=f.byteOffset;return{tc:m,Ub:b}},tb(f,N,_,m){return J.Ma.write(f,N,0,m,_,!1),0}}},be=(f,N)=>{var _=0;return f&&(_|=365),N&&(_|=146),_},nt=null,Ot={},xt=[],ri=1,en=null,Yi=!1,di=!0,Ae=class{constructor(f){ln(this,"name","ErrnoError");this.Pa=f}},pl=class{constructor(){ln(this,"qb",{});ln(this,"node",null)}get flags(){return this.qb.flags}set flags(f){this.qb.flags=f}get position(){return this.qb.position}set position(f){this.qb.position=f}},Fi=class{constructor(f,N,_,m){ln(this,"La",{});ln(this,"Ma",{});ln(this,"ib",null);f||(f=this),this.parent=f,this.ab=f.ab,this.id=ri++,this.name=N,this.mode=_,this.nb=m,this.$a=this.Ua=this.Ta=Date.now()}get read(){return(this.mode&365)===365}set read(f){f?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)===146}set write(f){f?this.mode|=146:this.mode&=-147}};function On(f,N={}){if(!f)throw new Ae(44);N.Bb??(N.Bb=!0),f.charAt(0)==="/"||(f="//"+f);var _=0;e:for(;40>_;_++){f=f.split("/").filter(ve=>!!ve);for(var m=nt,b="/",V=0;V<f.length;V++){var ie=V===f.length-1;if(ie&&N.parent)break;if(f[V]!==".")if(f[V]==="..")if(b=_t(b),m===m.parent){f=b+"/"+f.slice(V+1).join("/"),_--;continue e}else m=m.parent;else{b=qt(b+"/"+f[V]);try{m=Vi(m,f[V])}catch(ve){if((ve==null?void 0:ve.Pa)===44&&ie&&N.sc)return{path:b};throw ve}if(!m.ib||ie&&!N.Bb||(m=m.ib.root),(m.mode&61440)===40960&&(!ie||N.hb)){if(!m.La.eb)throw new Ae(52);m=m.La.eb(m),m.charAt(0)==="/"||(m=_t(b)+"/"+m),f=m+"/"+f.slice(V+1).join("/");continue e}}}return{path:b,node:m}}throw new Ae(32)}function Es(f){for(var N;;){if(f===f.parent)return f=f.ab.Sb,N?f[f.length-1]!=="/"?`${f}/${N}`:f+N:f;N=N?`${f.name}/${N}`:f.name,f=f.parent}}function Dl(f,N){for(var _=0,m=0;m<N.length;m++)_=(_<<5)-_+N.charCodeAt(m)|0;return(f+_>>>0)%en.length}function Ra(f){var N=Dl(f.parent.id,f.name);if(en[N]===f)en[N]=f.jb;else for(N=en[N];N;){if(N.jb===f){N.jb=f.jb;break}N=N.jb}}function Vi(f,N){var _=tn(f.mode)?(_=us(f,"x"))?_:f.La.mb?0:2:54;if(_)throw new Ae(_);for(_=en[Dl(f.id,N)];_;_=_.jb){var m=_.name;if(_.parent.id===f.id&&m===N)return _}return f.La.mb(f,N)}function Sa(f,N,_,m){return f=new Fi(f,N,_,m),N=Dl(f.parent.id,f.name),f.jb=en[N],en[N]=f}function tn(f){return(f&61440)===16384}function us(f,N){return di?0:N.includes("r")&&!(f.mode&292)||N.includes("w")&&!(f.mode&146)||N.includes("x")&&!(f.mode&73)?2:0}function rE(f,N){if(!tn(f.mode))return 54;try{return Vi(f,N),20}catch{}return us(f,"wx")}function Ii(f,N,_){try{var m=Vi(f,N)}catch(b){return b.Pa}if(f=us(f,"wx"))return f;if(_){if(!tn(m.mode))return 54;if(m===m.parent||Es(m)==="/")return 10}else if(tn(m.mode))return 31;return 0}function Ht(f){if(!f)throw new Ae(63);return f}function Et(f){if(f=xt[f],!f)throw new Ae(8);return f}function Ts(f,N=-1){if(f=Object.assign(new pl,f),N==-1)e:{for(N=0;4096>=N;N++)if(!xt[N])break e;throw new Ae(33)}return f.bb=N,xt[N]=f}function gl(f,N=-1){var _,m;return f=Ts(f,N),(m=(_=f.Ma)==null?void 0:_.Bc)==null||m.call(_,f),f}function Ml(f,N,_){var m=f==null?void 0:f.Ma.Xa;f=m?f:N,m??(m=N.La.Xa),Ht(m),m(f,_)}var vT={open(f){var N,_;f.Ma=Ot[f.node.nb].Ma,(_=(N=f.Ma).open)==null||_.call(N,f)},Ya(){throw new Ae(70)}};function fa(f,N){Ot[f]={Ma:N}}function Gs(f,N){var _=N==="/";if(_&&nt)throw new Ae(10);if(!_&&N){var m=On(N,{Bb:!1});if(N=m.path,m=m.node,m.ib)throw new Ae(10);if(!tn(m.mode))throw new Ae(54)}N={type:f,Gc:{},Sb:N,qc:[]},f=f.ab(N),f.ab=N,N.root=f,_?nt=f:m&&(m.ib=N,m.ab&&m.ab.qc.push(N))}function Bs(f,N,_){var m=On(f,{parent:!0}).node;if(f=Tn(f),!f)throw new Ae(28);if(f==="."||f==="..")throw new Ae(20);var b=rE(m,f);if(b)throw new Ae(b);if(!m.La.rb)throw new Ae(63);return m.La.rb(m,f,N,_)}function xs(f,N=438){return Bs(f,N&4095|32768,0)}function cn(f,N=511){return Bs(f,N&1023|16384,0)}function ki(f,N,_){typeof _>"u"&&(_=N,N=438),Bs(f,N|8192,_)}function Wi(f,N){if(!wi(f))throw new Ae(44);var _=On(N,{parent:!0}).node;if(!_)throw new Ae(44);N=Tn(N);var m=rE(_,N);if(m)throw new Ae(m);if(!_.La.wb)throw new Ae(63);_.La.wb(_,N,f)}function wt(f){var N=On(f,{parent:!0}).node;f=Tn(f);var _=Vi(N,f),m=Ii(N,f,!0);if(m)throw new Ae(m);if(!N.La.vb)throw new Ae(63);if(_.ib)throw new Ae(10);N.La.vb(N,f),Ra(_)}function Pl(f){var N=On(f,{parent:!0}).node;if(!N)throw new Ae(44);f=Tn(f);var _=Vi(N,f),m=Ii(N,f,!1);if(m)throw new Ae(m);if(!N.La.xb)throw new Ae(63);if(_.ib)throw new Ae(10);N.La.xb(N,f),Ra(_)}function Hs(f,N){return f=On(f,{hb:!N}).node,Ht(f.La.Wa)(f)}function Xi(f,N,_,m){Ml(f,N,{mode:_&4095|N.mode&-4096,Ta:Date.now(),dc:m})}function Ci(f,N){f=typeof f=="string"?On(f,{hb:!0}).node:f,Xi(null,f,N)}function aE(f,N,_){if(tn(N.mode))throw new Ae(31);if((N.mode&61440)!==32768)throw new Ae(28);var m=us(N,"w");if(m)throw new Ae(m);Ml(f,N,{size:_,timestamp:Date.now()})}function cs(f,N,_=438){if(f==="")throw new Ae(44);if(typeof N=="string"){var m={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[N];if(typeof m>"u")throw Error(`Unknown file open mode: ${N}`);N=m}if(_=N&64?_&4095|32768:0,typeof f=="object")m=f;else{var b=f.endsWith("/"),V=On(f,{hb:!(N&131072),sc:!0});m=V.node,f=V.path}if(V=!1,N&64)if(m){if(N&128)throw new Ae(20)}else{if(b)throw new Ae(31);m=Bs(f,_|511,0),V=!0}if(!m)throw new Ae(44);if((m.mode&61440)===8192&&(N&=-513),N&65536&&!tn(m.mode))throw new Ae(54);if(!V&&(m?(m.mode&61440)===40960?b=32:(b=["r","w","rw"][N&3],N&512&&(b+="w"),b=tn(m.mode)&&(b!=="r"||N&576)?31:us(m,b)):b=44,b))throw new Ae(b);return N&512&&!V&&(b=m,b=typeof b=="string"?On(b,{hb:!0}).node:b,aE(null,b,0)),N=Ts({node:m,path:Es(m),flags:N&-131713,seekable:!0,position:0,Ma:m.Ma,uc:[],error:!1}),N.Ma.open&&N.Ma.open(N),V&&Ci(m,_&511),N}function Oa(f){if(f.bb===null)throw new Ae(8);f.Eb&&(f.Eb=null);try{f.Ma.close&&f.Ma.close(f)}catch(N){throw N}finally{xt[f.bb]=null}f.bb=null}function lE(f,N,_){if(f.bb===null)throw new Ae(8);if(!f.seekable||!f.Ma.Ya)throw new Ae(70);if(_!=0&&_!=1&&_!=2)throw new Ae(28);f.position=f.Ma.Ya(f,N,_),f.uc=[]}function gr(f,N,_,m,b){if(0>m||0>b)throw new Ae(28);if(f.bb===null)throw new Ae(8);if((f.flags&2097155)===1)throw new Ae(8);if(tn(f.node.mode))throw new Ae(31);if(!f.Ma.read)throw new Ae(28);var V=typeof b<"u";if(!V)b=f.position;else if(!f.seekable)throw new Ae(70);return N=f.Ma.read(f,N,_,m,b),V||(f.position+=N),N}function Mr(f,N,_,m,b){if(0>m||0>b)throw new Ae(28);if(f.bb===null)throw new Ae(8);if((f.flags&2097155)===0)throw new Ae(8);if(tn(f.node.mode))throw new Ae(31);if(!f.Ma.write)throw new Ae(28);f.seekable&&f.flags&1024&&lE(f,0,2);var V=typeof b<"u";if(!V)b=f.position;else if(!f.seekable)throw new Ae(70);return N=f.Ma.write(f,N,_,m,b,void 0),V||(f.position+=N),N}function _i(f){var N=N||0;N=cs(f,N),f=Hs(f).size;var _=new Uint8Array(f);return gr(N,_,0,f,0),Oa(N),_}function ai(f,N,_){f=qt("/dev/"+f);var m=be(!!N,!!_);ai.Rb??(ai.Rb=64);var b=ai.Rb++<<8|0;fa(b,{open(V){V.seekable=!1},close(){var V;(V=_==null?void 0:_.buffer)!=null&&V.length&&_(10)},read(V,ie,ve,Xe){for(var Ye=0,ut=0;ut<Xe;ut++){try{var Mt=N()}catch{throw new Ae(29)}if(Mt===void 0&&Ye===0)throw new Ae(6);if(Mt==null)break;Ye++,ie[ve+ut]=Mt}return Ye&&(V.node.$a=Date.now()),Ye},write(V,ie,ve,Xe){for(var Ye=0;Ye<Xe;Ye++)try{_(ie[ve+Ye])}catch{throw new Ae(29)}return Xe&&(V.node.Ua=V.node.Ta=Date.now()),Ye}}),ki(f,m,b)}var ht={};function yn(f,N,_){if(N.charAt(0)==="/")return N;if(f=f===-100?"/":Et(f).path,N.length==0){if(!_)throw new Ae(44);return f}return f+"/"+N}function ws(f,N){Se[f>>2]=N.cc,Se[f+4>>2]=N.mode,Se[f+8>>2]=N.rc,Se[f+12>>2]=N.uid,Se[f+16>>2]=N.nc,Se[f+20>>2]=N.nb,Le[f+24>>3]=BigInt(N.size),he[f+32>>2]=4096,he[f+36>>2]=N.$b;var _=N.$a.getTime(),m=N.Ua.getTime(),b=N.Ta.getTime();return Le[f+40>>3]=BigInt(Math.floor(_/1e3)),Se[f+48>>2]=_%1e3*1e6,Le[f+56>>3]=BigInt(Math.floor(m/1e3)),Se[f+64>>2]=m%1e3*1e6,Le[f+72>>3]=BigInt(Math.floor(b/1e3)),Se[f+80>>2]=b%1e3*1e6,Le[f+88>>3]=BigInt(N.oc),0}var Ys=void 0,Na=()=>{var f=he[+Ys>>2];return Ys+=4,f},da=0,bn=[0,31,60,91,121,152,182,213,244,274,305,335],oE=[0,31,59,90,120,151,181,212,243,273,304,334],Pr={},Ur=f=>{if(!(f instanceof U||f=="unwind"))throw f},Ul=f=>{var N;throw $=f,$e||0<da||((N=A.onExit)==null||N.call(A,f),Te=!0),new U(f)},Ia=f=>{if(!Te)try{f()}catch(N){Ur(N)}finally{if(!($e||0<da))try{$=f=$,Ul(f)}catch(N){Ur(N)}}},yl={},Dn=()=>{var m;if(!yr){var f={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(((m=globalThis.navigator)==null?void 0:m.language)??"C").replace("-","_")+".UTF-8",_:d||"./this.program"},N;for(N in yl)yl[N]===void 0?delete f[N]:f[N]=yl[N];var _=[];for(N in f)_.push(`${N}=${f[N]}`);yr=_}return yr},yr,EE=(f,N,_,m)=>{var b={string:Ye=>{var ut=0;if(Ye!=null&&Ye!==0){ut=ye(Ye)+1;var Mt=mi(ut);we(Ye,j,Mt,ut),ut=Mt}return ut},array:Ye=>{var ut=mi(Ye.length);return ae.set(Ye,ut),ut}};f=A["_"+f];var V=[],ie=0;if(m)for(var ve=0;ve<m.length;ve++){var Xe=b[_[ve]];Xe?(ie===0&&(ie=pi()),V[ve]=Xe(m[ve])):V[ve]=m[ve]}return _=f(...V),_=(function(Ye){return ie!==0&&Ws(ie),N==="string"?et(Ye):N==="boolean"?!!Ye:Ye})(_)},Fs=f=>{var N=ye(f)+1,_=ks(N);return _&&we(f,j,_,N),_},vn,Ca=[],Li=f=>{vn.delete(gi.get(f)),gi.set(f,null),Ca.push(f)},As=f=>{const N=f.length;return[N%128|128,N>>7,...f]},GT={i:127,p:127,j:126,f:125,d:124,e:111},bl=f=>As(Array.from(f,N=>GT[N])),Vs=(f,N)=>{if(!vn){vn=new WeakMap;var _=gi.length;if(vn)for(var m=0;m<0+_;m++){var b=gi.get(m);b&&vn.set(b,m)}}if(_=vn.get(f)||0)return _;_=Ca.length?Ca.pop():gi.grow(1);try{gi.set(_,f)}catch(V){if(!(V instanceof TypeError))throw V;N=Uint8Array.of(0,97,115,109,1,0,0,0,1,...As([1,96,...bl(N.slice(1)),...bl(N[0]==="v"?"":N[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),N=new WebAssembly.Module(N),N=new WebAssembly.Instance(N,{e:{f}}).exports.f,gi.set(_,N)}return vn.set(f,_),_};if(en=Array(4096),Gs(J,"/"),cn("/tmp"),cn("/home"),cn("/home/web_user"),(function(){cn("/dev"),fa(259,{read:()=>0,write:(m,b,V,ie)=>ie,Ya:()=>0}),ki("/dev/null",259),ot(1280,Xt),ot(1536,si),ki("/dev/tty",1280),ki("/dev/tty1",1536);var f=new Uint8Array(1024),N=0,_=()=>(N===0&&(ii(f),N=f.byteLength),f[--N]);ai("random",_),ai("urandom",_),cn("/dev/shm"),cn("/dev/shm/tmp")})(),(function(){cn("/proc");var f=cn("/proc/self");cn("/proc/self/fd"),Gs({ab(){var N=Sa(f,"fd",16895,73);return N.Ma={Ya:J.Ma.Ya},N.La={mb(_,m){_=+m;var b=Et(_);return _={parent:null,ab:{Sb:"fake"},La:{eb:()=>b.path},id:_+1},_.parent=_},Ib(){return Array.from(xt.entries()).filter(([,_])=>_).map(([_])=>_.toString())}},N}},"/proc/self/fd")})(),A.noExitRuntime&&($e=A.noExitRuntime),A.print&&(B=A.print),A.printErr&&(K=A.printErr),A.wasmBinary&&(Z=A.wasmBinary),A.thisProgram&&(d=A.thisProgram),A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);0<A.preInit.length;)A.preInit.shift()();A.stackSave=()=>pi(),A.stackRestore=f=>Ws(f),A.stackAlloc=f=>mi(f),A.cwrap=(f,N,_,m)=>{var b=!_||_.every(V=>V==="number"||V==="boolean");return N!=="string"&&b&&!m?A["_"+f]:(...V)=>EE(f,N,_,V)},A.addFunction=Vs,A.removeFunction=Li,A.UTF8ToString=et,A.stringToNewUTF8=Fs,A.writeArrayToMemory=(f,N)=>{ae.set(f,N)};var ks,br,uE,vr,Ws,mi,pi,Di,gi,vl={a:(f,N,_,m)=>Ue(`Assertion failed: ${et(f)}, at: `+[N?et(N):"unknown filename",_,m?et(m):"unknown function"]),i:function(f,N){try{return f=et(f),Ci(f,N),0}catch(_){if(typeof ht>"u"||_.name!=="ErrnoError")throw _;return-_.Pa}},L:function(f,N,_){try{if(N=et(N),N=yn(f,N),_&-8)return-28;var m=On(N,{hb:!0}).node;return m?(f="",_&4&&(f+="r"),_&2&&(f+="w"),_&1&&(f+="x"),f&&us(m,f)?-2:0):-44}catch(b){if(typeof ht>"u"||b.name!=="ErrnoError")throw b;return-b.Pa}},j:function(f,N){try{var _=Et(f);return Xi(_,_.node,N,!1),0}catch(m){if(typeof ht>"u"||m.name!=="ErrnoError")throw m;return-m.Pa}},h:function(f){try{var N=Et(f);return Ml(N,N.node,{timestamp:Date.now(),dc:!1}),0}catch(_){if(typeof ht>"u"||_.name!=="ErrnoError")throw _;return-_.Pa}},b:function(f,N,_){Ys=_;try{var m=Et(f);switch(N){case 0:var b=Na();if(0>b)break;for(;xt[b];)b++;return gl(m,b).bb;case 1:case 2:return 0;case 3:return m.flags;case 4:return b=Na(),m.flags|=b,0;case 12:return b=Na(),ce[b+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(V){if(typeof ht>"u"||V.name!=="ErrnoError")throw V;return-V.Pa}},g:function(f,N){try{var _=Et(f),m=_.node,b=_.Ma.Wa;f=b?_:m,b??(b=m.La.Wa),Ht(b);var V=b(f);return ws(N,V)}catch(ie){if(typeof ht>"u"||ie.name!=="ErrnoError")throw ie;return-ie.Pa}},H:function(f,N){N=-9007199254740992>N||9007199254740992<N?NaN:Number(N);try{if(isNaN(N))return-61;var _=Et(f);if(0>N||(_.flags&2097155)===0)throw new Ae(28);return aE(_,_.node,N),0}catch(m){if(typeof ht>"u"||m.name!=="ErrnoError")throw m;return-m.Pa}},G:function(f,N){try{if(N===0)return-28;var _=ye("/")+1;return N<_?-68:(we("/",j,f,N),_)}catch(m){if(typeof ht>"u"||m.name!=="ErrnoError")throw m;return-m.Pa}},K:function(f,N){try{return f=et(f),ws(N,Hs(f,!0))}catch(_){if(typeof ht>"u"||_.name!=="ErrnoError")throw _;return-_.Pa}},C:function(f,N,_){try{return N=et(N),N=yn(f,N),cn(N,_),0}catch(m){if(typeof ht>"u"||m.name!=="ErrnoError")throw m;return-m.Pa}},J:function(f,N,_,m){try{N=et(N);var b=m&256;return N=yn(f,N,m&4096),ws(_,b?Hs(N,!0):Hs(N))}catch(V){if(typeof ht>"u"||V.name!=="ErrnoError")throw V;return-V.Pa}},x:function(f,N,_,m){Ys=m;try{N=et(N),N=yn(f,N);var b=m?Na():0;return cs(N,_,b).bb}catch(V){if(typeof ht>"u"||V.name!=="ErrnoError")throw V;return-V.Pa}},v:function(f,N,_,m){try{if(N=et(N),N=yn(f,N),0>=m)return-28;var b=On(N).node;if(!b)throw new Ae(44);if(!b.La.eb)throw new Ae(28);var V=b.La.eb(b),ie=Math.min(m,ye(V)),ve=ae[_+ie];return we(V,j,_,m+1),ae[_+ie]=ve,ie}catch(Xe){if(typeof ht>"u"||Xe.name!=="ErrnoError")throw Xe;return-Xe.Pa}},u:function(f){try{return f=et(f),wt(f),0}catch(N){if(typeof ht>"u"||N.name!=="ErrnoError")throw N;return-N.Pa}},f:function(f,N){try{return f=et(f),ws(N,Hs(f))}catch(_){if(typeof ht>"u"||_.name!=="ErrnoError")throw _;return-_.Pa}},r:function(f,N,_){try{if(N=et(N),N=yn(f,N),_)if(_===512)wt(N);else return-28;else Pl(N);return 0}catch(m){if(typeof ht>"u"||m.name!=="ErrnoError")throw m;return-m.Pa}},q:function(f,N,_){try{N=et(N),N=yn(f,N,!0);var m=Date.now(),b,V;if(_){var ie=Se[_>>2]+4294967296*he[_+4>>2],ve=he[_+8>>2];ve==1073741823?b=m:ve==1073741822?b=null:b=1e3*ie+ve/1e6,_+=16,ie=Se[_>>2]+4294967296*he[_+4>>2],ve=he[_+8>>2],ve==1073741823?V=m:ve==1073741822?V=null:V=1e3*ie+ve/1e6}else V=b=m;if((V??b)!==null){f=b;var Xe=On(N,{hb:!0}).node;Ht(Xe.La.Xa)(Xe,{$a:f,Ua:V})}return 0}catch(Ye){if(typeof ht>"u"||Ye.name!=="ErrnoError")throw Ye;return-Ye.Pa}},m:()=>Ue(""),l:()=>{$e=!1,da=0},A:function(f,N){f=-9007199254740992>f||9007199254740992<f?NaN:Number(f),f=new Date(1e3*f),he[N>>2]=f.getSeconds(),he[N+4>>2]=f.getMinutes(),he[N+8>>2]=f.getHours(),he[N+12>>2]=f.getDate(),he[N+16>>2]=f.getMonth(),he[N+20>>2]=f.getFullYear()-1900,he[N+24>>2]=f.getDay();var _=f.getFullYear();he[N+28>>2]=(_%4!==0||_%100===0&&_%400!==0?oE:bn)[f.getMonth()]+f.getDate()-1|0,he[N+36>>2]=-(60*f.getTimezoneOffset()),_=new Date(f.getFullYear(),6,1).getTimezoneOffset();var m=new Date(f.getFullYear(),0,1).getTimezoneOffset();he[N+32>>2]=(_!=m&&f.getTimezoneOffset()==Math.min(m,_))|0},y:function(f,N,_,m,b,V,ie){b=-9007199254740992>b||9007199254740992<b?NaN:Number(b);try{var ve=Et(m);if((N&2)!==0&&(_&2)===0&&(ve.flags&2097155)!==2)throw new Ae(2);if((ve.flags&2097155)===1)throw new Ae(2);if(!ve.Ma.sb)throw new Ae(43);if(!f)throw new Ae(28);var Xe=ve.Ma.sb(ve,f,b,N,_),Ye=Xe.tc;return he[V>>2]=Xe.Ub,Se[ie>>2]=Ye,0}catch(ut){if(typeof ht>"u"||ut.name!=="ErrnoError")throw ut;return-ut.Pa}},z:function(f,N,_,m,b,V){V=-9007199254740992>V||9007199254740992<V?NaN:Number(V);try{var ie=Et(b);if(_&2){if((ie.node.mode&61440)!==32768)throw new Ae(43);m&2||ie.Ma.tb&&ie.Ma.tb(ie,j.slice(f,f+N),V,N,m)}}catch(ve){if(typeof ht>"u"||ve.name!=="ErrnoError")throw ve;return-ve.Pa}},n:(f,N)=>{if(Pr[f]&&(clearTimeout(Pr[f].id),delete Pr[f]),!N)return 0;var _=setTimeout(()=>{delete Pr[f],Ia(()=>vr(f,performance.now()))},N);return Pr[f]={id:_,Hc:N},0},B:(f,N,_,m)=>{var b=new Date().getFullYear(),V=new Date(b,0,1).getTimezoneOffset();b=new Date(b,6,1).getTimezoneOffset(),Se[f>>2]=60*Math.max(V,b),he[N>>2]=+(V!=b),N=ie=>{var ve=Math.abs(ie);return`UTC${0<=ie?"-":"+"}${String(Math.floor(ve/60)).padStart(2,"0")}${String(ve%60).padStart(2,"0")}`},f=N(V),N=N(b),b<V?(we(f,j,_,17),we(N,j,m,17)):(we(f,j,m,17),we(N,j,_,17))},d:()=>Date.now(),s:()=>2147483648,c:()=>performance.now(),o:f=>{var N=j.length;if(f>>>=0,2147483648<f)return!1;for(var _=1;4>=_;_*=2){var m=N*(1+.2/_);m=Math.min(m,f+100663296);e:{m=(Math.min(2147483648,65536*Math.ceil(Math.max(f,m)/65536))-Di.buffer.byteLength+65535)/65536|0;try{Di.grow(m),Pe();var b=1;break e}catch{}b=void 0}if(b)return!0}return!1},E:(f,N)=>{var _=0,m=0,b;for(b of Dn()){var V=N+_;Se[f+m>>2]=V,_+=we(b,j,V,1/0)+1,m+=4}return 0},F:(f,N)=>{var _=Dn();Se[f>>2]=_.length,f=0;for(var m of _)f+=ye(m)+1;return Se[N>>2]=f,0},e:function(f){try{var N=Et(f);return Oa(N),0}catch(_){if(typeof ht>"u"||_.name!=="ErrnoError")throw _;return _.Pa}},p:function(f,N){try{var _=Et(f);return ae[N]=_.Va?2:tn(_.mode)?3:(_.mode&61440)===40960?7:4,ce[N+2>>1]=0,Le[N+8>>3]=BigInt(0),Le[N+16>>3]=BigInt(0),0}catch(m){if(typeof ht>"u"||m.name!=="ErrnoError")throw m;return m.Pa}},w:function(f,N,_,m){try{e:{var b=Et(f);f=N;for(var V,ie=N=0;ie<_;ie++){var ve=Se[f>>2],Xe=Se[f+4>>2];f+=8;var Ye=gr(b,ae,ve,Xe,V);if(0>Ye){var ut=-1;break e}if(N+=Ye,Ye<Xe)break;typeof V<"u"&&(V+=Ye)}ut=N}return Se[m>>2]=ut,0}catch(Mt){if(typeof ht>"u"||Mt.name!=="ErrnoError")throw Mt;return Mt.Pa}},D:function(f,N,_,m){N=-9007199254740992>N||9007199254740992<N?NaN:Number(N);try{if(isNaN(N))return 61;var b=Et(f);return lE(b,N,_),Le[m>>3]=BigInt(b.position),b.Eb&&N===0&&_===0&&(b.Eb=null),0}catch(V){if(typeof ht>"u"||V.name!=="ErrnoError")throw V;return V.Pa}},I:function(f){var _,m;try{var N=Et(f);return(m=(_=N.Ma)==null?void 0:_.lb)==null?void 0:m.call(_,N)}catch(b){if(typeof ht>"u"||b.name!=="ErrnoError")throw b;return b.Pa}},t:function(f,N,_,m){try{e:{var b=Et(f);f=N;for(var V,ie=N=0;ie<_;ie++){var ve=Se[f>>2],Xe=Se[f+4>>2];f+=8;var Ye=Mr(b,ae,ve,Xe,V);if(0>Ye){var ut=-1;break e}if(N+=Ye,Ye<Xe)break;typeof V<"u"&&(V+=Ye)}ut=N}return Se[m>>2]=ut,0}catch(Mt){if(typeof ht>"u"||Mt.name!=="ErrnoError")throw Mt;return Mt.Pa}},k:Ul};function _a(){function f(){var b;if(A.calledRun=!0,!Te){if(!A.noFSInit&&!Yi){var N,_;Yi=!0,N??(N=A.stdin),_??(_=A.stdout),m??(m=A.stderr),N?ai("stdin",N):Wi("/dev/tty","/dev/stdin"),_?ai("stdout",null,_):Wi("/dev/tty","/dev/stdout"),m?ai("stderr",null,m):Wi("/dev/tty1","/dev/stderr"),cs("/dev/stdin",0),cs("/dev/stdout",1),cs("/dev/stderr",1)}if(hs.N(),di=!1,(b=A.onRuntimeInitialized)==null||b.call(A),A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;){var m=A.postRun.shift();q.push(m)}P(q)}}if(0<Oe)Ne=_a;else{if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)le();P(ee),0<Oe?Ne=_a:A.setStatus?(A.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>A.setStatus(""),1),f()},1)):f()}}var hs;return(async function(){var _;function f(m){var b;return m=hs=m.exports,A._sqlite3_free=m.P,A._sqlite3_value_text=m.Q,A._sqlite3_prepare_v2=m.R,A._sqlite3_step=m.S,A._sqlite3_reset=m.T,A._sqlite3_exec=m.U,A._sqlite3_finalize=m.V,A._sqlite3_column_name=m.W,A._sqlite3_column_text=m.X,A._sqlite3_column_type=m.Y,A._sqlite3_errmsg=m.Z,A._sqlite3_clear_bindings=m._,A._sqlite3_value_blob=m.$,A._sqlite3_value_bytes=m.aa,A._sqlite3_value_double=m.ba,A._sqlite3_value_int=m.ca,A._sqlite3_value_type=m.da,A._sqlite3_result_blob=m.ea,A._sqlite3_result_double=m.fa,A._sqlite3_result_error=m.ga,A._sqlite3_result_int=m.ha,A._sqlite3_result_int64=m.ia,A._sqlite3_result_null=m.ja,A._sqlite3_result_text=m.ka,A._sqlite3_aggregate_context=m.la,A._sqlite3_column_count=m.ma,A._sqlite3_data_count=m.na,A._sqlite3_column_blob=m.oa,A._sqlite3_column_bytes=m.pa,A._sqlite3_column_double=m.qa,A._sqlite3_bind_blob=m.ra,A._sqlite3_bind_double=m.sa,A._sqlite3_bind_int=m.ta,A._sqlite3_bind_text=m.ua,A._sqlite3_bind_parameter_index=m.va,A._sqlite3_sql=m.wa,A._sqlite3_normalized_sql=m.xa,A._sqlite3_changes=m.ya,A._sqlite3_close_v2=m.za,A._sqlite3_create_function_v2=m.Aa,A._sqlite3_update_hook=m.Ba,A._sqlite3_open=m.Ca,ks=A._malloc=m.Da,br=A._free=m.Ea,A._RegisterExtensionFunctions=m.Fa,uE=m.Ga,vr=m.Ha,Ws=m.Ia,mi=m.Ja,pi=m.Ka,Di=m.M,gi=m.O,Pe(),Oe--,(b=A.monitorRunDependencies)==null||b.call(A,Oe),Oe==0&&Ne&&(m=Ne,Ne=null,m()),hs}Oe++,(_=A.monitorRunDependencies)==null||_.call(A,Oe);var N={a:vl};return A.instantiateWasm?new Promise(m=>{A.instantiateWasm(N,(b,V)=>{m(f(b))})}):(X??(X=A.locateFile?A.locateFile("sql-wasm-browser.wasm",p):p+"sql-wasm-browser.wasm"),f((await De(N)).instance))})(),_a(),T}),t)};i.exports=s,i.exports.default=s})(zA)),zA.exports}var $p=qp();const Jp=TC($p);var ZA=null,xu=null;function Qp(i){xu=i}async function zp(){return ZA||(ZA=Jp({locateFile:()=>(xu==null?void 0:xu())??"/sql-wasm.wasm"})),ZA}function bo(i){return`"${i.replace(/"/g,'""')}"`}function Zp(i,e){const t=e==null?void 0:e.trim();if(!t||i.length===0)return{clause:"",params:[]};const s=`%${t}%`;return{clause:` WHERE (${i.map(o=>`CAST(${bo(o.name)} AS TEXT) LIKE ?`).join(" OR ")})`,params:i.map(()=>s)}}function eD(i,e){return e&&i.some(t=>t.name===e)?e:null}var tD="application/x-sqlite3";function VN(i){return i==null?null:typeof i=="number"||typeof i=="string"?i:i instanceof Uint8Array?`[BLOB ${i.byteLength} bytes]`:String(i)}var nD=class AC{constructor(e){ln(this,"db");ln(this,"tableNames",new Set);this.db=e}static async open(e){const t=await zp(),s=new t.Database(new Uint8Array(e)),a=new AC(s);return a.listTables().forEach(o=>a.tableNames.add(o.name)),a}close(){this.db.close()}listTables(){const e=this.db.prepare(`SELECT name FROM sqlite_master
|
|
51
|
+
WHERE type = 'table' AND name NOT LIKE 'sqlite_%'
|
|
52
|
+
ORDER BY name`),t=[];for(;e.step();){const s=String(e.get()[0]),a=this.db.prepare(`SELECT COUNT(*) AS c FROM ${bo(s)}`);a.step();const o=Number(a.get()[0]??0);a.free(),t.push({name:s,rowCount:o})}return e.free(),t}getSchema(){return this.listTables().map(t=>({name:t.name,columns:this.getTableColumns(t.name)}))}getTableColumns(e){return this.assertKnownTable(e),this.readTableColumns(e)}fetchTablePage(e){this.assertKnownTable(e.table);const t=this.readTableColumns(e.table),s=t.map(B=>B.name),a=bo(e.table),{clause:o,params:E}=Zp(t,e.search),T=eD(t,e.sortColumn),c=e.sortDir==="desc"?"DESC":"ASC",A=Math.max(1,e.page),R=Math.max(1,e.pageSize),O=(A-1)*R,d=this.db.prepare(`SELECT COUNT(*) AS c FROM ${a}${o}`);d.bind(E),d.step();const L=Number(d.get()[0]??0);d.free();const p=T?` ORDER BY ${bo(T)} ${c}`:"",g=this.db.prepare(`SELECT * FROM ${a}${o}${p} LIMIT ? OFFSET ?`);g.bind([...E,R,O]);const v=[];for(;g.step();)v.push(s.map((B,K)=>VN(g.get()[K])));return g.free(),{columns:s,rows:v,totalCount:L,page:A,pageSize:R}}executeQuery(e){const t=performance.now(),s=this.db.exec(e),a=performance.now()-t;if(s.length===0)return{columns:[],rows:[],rowCount:0,durationMs:a};const o=s[0];return{columns:o.columns,rows:o.values.map(E=>E.map(T=>VN(T))),rowCount:o.values.length,durationMs:a}}assertKnownTable(e){if(!this.tableNames.has(e))throw new Error(`Unknown table: ${e}`)}readTableColumns(e){const t=this.db.prepare(`PRAGMA table_info(${bo(e)})`),s=[];for(;t.step();){const a=t.getAsObject();s.push({name:a.name,type:a.type||"ANY",notNull:a.notnull===1,pk:a.pk>0,defaultValue:a.dflt_value})}return t.free(),s}};function hC(i){return new TextDecoder().decode(new Uint8Array(i,0,16)).startsWith("SQLite format 3")}function RC(i,e){const t=e.trim().toLowerCase();return t?i.filter(s=>s.name.toLowerCase().includes(t)):i}function iD(i,e,t){const s=[...i].sort((a,o)=>e==="rows"?a.rowCount-o.rowCount:a.name.localeCompare(o.name));return t==="desc"?s.reverse():s}var sD=class{constructor(){ln(this,"kind","sqlite");ln(this,"capabilities",{explorer:!0,schemaView:!0,tableData:!0,sqlWorkspace:!0});ln(this,"session",null)}async open(i){this.close();const e=i instanceof ArrayBuffer?i:new Uint8Array(i.bytes).buffer;if(!hC(e))throw new Error("Snapshot is not a valid SQLite database file");this.session=await nD.open(e)}close(){var i;(i=this.session)==null||i.close(),this.session=null}listTables(){return this.requireSession().listTables()}getSchema(){return this.requireSession().getSchema()}fetchTablePage(i){return this.requireSession().fetchTablePage(i)}executeQuery(i){return this.requireSession().executeQuery(i)}requireSession(){if(!this.session)throw new Error("No database loaded");return this.session}},rD={kind:"sqlite",displayName:"SQLite",mimeTypes:[tD,"application/octet-stream"],canOpenBytes:hC,createInspector:()=>new sD};function SC(i){cC().register(rD)}SC();const aD="/assets/sql-wasm-UFUCzYNW.wasm";function lD(){return FR("device")}function oD(){return FR("txn")}function ED(){return FR("write")}function FR(i){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return`${i}-${crypto.randomUUID()}`;const e=Math.random().toString(36).slice(2,10);return`${i}-${Date.now()}-${e}`}var Ar={MOBILE:"mobile",BROWSER:"browser"},pt={REGISTER:"register",PING:"ping",PONG:"pong",DEVICE_STATUS:"deviceStatus",REFRESH_REQUEST:"refreshRequest",SNAPSHOT_UPLOAD_REQUESTED:"snapshotUploadRequested",REFRESH_STATUS:"refreshStatus",SNAPSHOT_READY:"snapshotReady",REFRESH_ERROR:"refreshError",EXPORT_SNAPSHOT_REQUEST:"exportSnapshotRequest",EXPORT_SNAPSHOT_ERROR:"exportSnapshotError",BEGIN_TRANSACTION_REQUEST:"beginTransactionRequest",COMMIT_TRANSACTION_REQUEST:"commitTransactionRequest",ROLLBACK_TRANSACTION_REQUEST:"rollbackTransactionRequest",WRITE_REQUEST:"writeRequest",BEGIN_TRANSACTION:"beginTransaction",COMMIT_TRANSACTION:"commitTransaction",ROLLBACK_TRANSACTION:"rollbackTransaction",EXECUTE_WRITE:"executeWrite",TRANSACTION_ACK:"transactionAck",WRITE_ACK:"writeAck",TRANSACTION_STATUS:"transactionStatus",WRITE_RESULT:"writeResult",WRITE_ERROR:"writeError"},fC="/ws",VR=3847,OC="/api/devices",kR="/api/project/devices";function NC(i="localhost",e=VR){return`ws://${i}:${e}${fC}`}function uD(i,e){return`${i.replace(/\/$/,"")}${OC}/${encodeURIComponent(e)}/snapshot`}function dC(i){const e=new URL(i);return e.protocol=e.protocol==="wss:"?"https:":"http:",e.pathname="",e.search="",e.hash="",e.toString().replace(/\/$/,"")}function kn(i){return typeof i=="object"&&i!==null&&typeof i.type=="string"}function TD(i){if(!kn(i)||i.type!==pt.SNAPSHOT_UPLOAD_REQUESTED)return!1;const e=i;return typeof e.deviceId=="string"&&e.refreshType==="snapshot"}function cD(i){if(!kn(i)||i.type!==pt.REFRESH_STATUS)return!1;const e=i;return typeof e.deviceId=="string"&&typeof e.state=="string"}function AD(i){if(!kn(i)||i.type!==pt.SNAPSHOT_READY)return!1;const e=i;return typeof e.deviceId=="string"&&typeof e.size=="number"&&typeof e.exportedAt=="number"&&typeof e.kind=="string"&&typeof e.mimeType=="string"}function hD(i){if(!kn(i)||i.type!==pt.REFRESH_ERROR)return!1;const e=i;return typeof e.deviceId=="string"&&typeof e.code=="string"}function RD(i){if(!kn(i)||i.type!==pt.EXPORT_SNAPSHOT_ERROR)return!1;const e=i;return typeof e.code=="string"&&typeof e.message=="string"}function SD(i){return!kn(i)||i.type!==pt.PING?!1:typeof i.pingId=="string"}function fD(i){if(!kn(i)||i.type!==pt.DEVICE_STATUS)return!1;const e=i;return typeof e.payload=="object"&&e.payload!==null}function OD(i){return!kn(i)||i.type!==pt.BEGIN_TRANSACTION?!1:typeof i.transactionId=="string"}function ND(i){return!kn(i)||i.type!==pt.COMMIT_TRANSACTION?!1:typeof i.transactionId=="string"}function dD(i){return!kn(i)||i.type!==pt.ROLLBACK_TRANSACTION?!1:typeof i.transactionId=="string"}function ID(i){if(!kn(i)||i.type!==pt.EXECUTE_WRITE)return!1;const e=i;return typeof e.writeId=="string"&&typeof e.transactionId=="string"&&typeof e.operation=="object"&&e.operation!==null}function CD(i){if(!kn(i)||i.type!==pt.TRANSACTION_STATUS)return!1;const e=i;return typeof e.transactionId=="string"&&typeof e.deviceId=="string"&&typeof e.state=="string"}function _D(i){if(!kn(i)||i.type!==pt.WRITE_RESULT)return!1;const e=i;return typeof e.writeId=="string"&&typeof e.transactionId=="string"&&typeof e.rowsAffected=="number"}function LD(i){if(!kn(i)||i.type!==pt.WRITE_ERROR)return!1;const e=i;return typeof e.transactionId=="string"&&typeof e.code=="string"}var mD=1e3,pD=3e4,DD=500;function gD(i,e={}){const t=e.baseMs??mD,s=e.maxMs??pD,a=e.jitterMs??DD,o=t*2**i,E=Math.min(o,s),T=Math.floor(Math.random()*a);return E+T}var MD=class{constructor({onReconnect:i,...e}){ln(this,"attempt",0);ln(this,"timer",null);ln(this,"onReconnect");ln(this,"options");this.onReconnect=i,this.options=e}schedule(){if(this.timer!==null)return;const i=gD(this.attempt,this.options);this.attempt+=1,this.timer=setTimeout(()=>{this.timer=null,this.onReconnect()},i)}reset(){this.attempt=0,this.cancel()}cancel(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)}},kN=3e4;function PD(i={}){const e=i.role??Ar.MOBILE,t=i.WebSocketImpl??globalThis.WebSocket;if(!t)throw new Error("WebSocket is not available in this environment.");let s=null,a=null,o="disconnected",E=null,T=!1,c="idle",A=null,R=null;const O=new Map,d=new Map,L=e===Ar.MOBILE?i.deviceId??lD():void 0;let p=i.serverUrl??NC("localhost",VR);const g=P=>{var q;o!==P&&(o=P,(q=i.onConnectionStateChange)==null||q.call(i,P))},v=P=>{var q;c!==P&&(c=P,(q=i.onTransactionStateChange)==null||q.call(i,P))},B=()=>{v("idle"),A=null,R=null},K=(P,q)=>{const ee=O.get(P);ee&&(ee.reject(q),O.delete(P))},Z=P=>{for(const[q,ee]of O)ee.reject(P),O.delete(q);for(const[q,ee]of d)ee.reject(P),d.delete(q);B()},Te=new MD({onReconnect:()=>{ce()}}),$=P=>{!s||s.readyState!==t.OPEN||s.send(JSON.stringify({...P,timestamp:Date.now()}))},ae=()=>{$({type:pt.REGISTER,role:e,...L?{deviceId:L}:{},...i.metadata?{metadata:i.metadata}:{}})},j=P=>{var q,ee,le,Oe,Ne,We,$e,Dt,Lt,yt,et,pn,qt;if(SD(P)){$({type:pt.PONG,pingId:P.pingId});return}if(fD(P)){a=P.payload,(q=i.onDeviceStatus)==null||q.call(i,P.payload);return}if(TD(P)){(ee=i.onSnapshotUploadRequested)==null||ee.call(i,P);return}if(RD(P)){(le=i.onExportSnapshotError)==null||le.call(i,P);return}if(cD(P)){(Oe=i.onRefreshStatus)==null||Oe.call(i,P);return}if(AD(P)){(Ne=i.onSnapshotReady)==null||Ne.call(i,P);return}if(hD(P)){(We=i.onRefreshError)==null||We.call(i,P);return}if(OD(P)){($e=i.onBeginTransaction)==null||$e.call(i,P);return}if(ND(P)){(Dt=i.onCommitTransaction)==null||Dt.call(i,P);return}if(dD(P)){(Lt=i.onRollbackTransaction)==null||Lt.call(i,P);return}if(ID(P)){(yt=i.onExecuteWrite)==null||yt.call(i,P);return}if(CD(P)){if((et=i.onTransactionStatus)==null||et.call(i,P),e!==Ar.BROWSER)return;const _t=O.get(P.transactionId);if(P.state==="open"&&(_t==null?void 0:_t.action)==="begin"){v("open"),A=P.transactionId,R=P.deviceId,_t.resolve(),O.delete(P.transactionId);return}if(P.state==="idle"&&_t&&(_t.action==="commit"||_t.action==="rollback")){B(),_t.resolve(),O.delete(P.transactionId);return}P.state==="failed"&&(K(P.transactionId,new Error(P.message??"Transaction failed")),B());return}if(_D(P)){(pn=i.onWriteResult)==null||pn.call(i,P);const _t=d.get(P.writeId);_t&&(_t.resolve({rowsAffected:P.rowsAffected}),d.delete(P.writeId));return}if(LD(P)){(qt=i.onWriteError)==null||qt.call(i,P);const _t=new Error(P.message);if(P.writeId){const Tn=d.get(P.writeId);Tn&&(Tn.reject(_t),d.delete(P.writeId))}else K(P.transactionId,_t),B()}},ce=()=>{s&&(s.readyState===t.OPEN||s.readyState===t.CONNECTING)||(g(T?"disconnected":o==="disconnected"?"connecting":"reconnecting"),s=new t(p),s.addEventListener("open",()=>{var P;Te.reset(),E=null,g("connected"),(P=i.onConnect)==null||P.call(i),ae()}),s.addEventListener("message",P=>{let q;try{q=JSON.parse(String(P.data))}catch{return}j(q)}),s.addEventListener("close",()=>{var P;if(s=null,(P=i.onDisconnect)==null||P.call(i),Z(new Error("Disconnected from DevTools hub")),T){g("disconnected");return}g("reconnecting"),Te.schedule()}),s.addEventListener("error",()=>{var q;const P=new Error(`WebSocket connection failed: ${p}`);E=P.message,(q=i.onError)==null||q.call(i,P)}))},he=()=>{T=!1,ce()},Se=()=>{T=!0,Te.cancel(),s==null||s.close(),s=null,Z(new Error("Disconnected")),g("disconnected")},de=P=>{p=P;const q=o==="connected"||o==="connecting"||o==="reconnecting";Se(),T=!1,q&&he()},ue=P=>{$({type:pt.REFRESH_REQUEST,deviceId:P,refreshType:"snapshot"})},Le=()=>{$({type:pt.EXPORT_SNAPSHOT_REQUEST,refreshType:"snapshot"})},Pe=P=>{$({type:pt.TRANSACTION_ACK,...P})},Ue=P=>{$({type:pt.WRITE_ACK,...P})},X=(P,q)=>new Promise((ee,le)=>{const Oe=setTimeout(()=>{O.delete(P),le(new Error(`Transaction ${q} timed out`))},kN);O.set(P,{action:q,resolve:()=>{clearTimeout(Oe),ee()},reject:Ne=>{clearTimeout(Oe),le(Ne)}})});return{connect:he,disconnect:Se,getConnectionState:()=>o,getLastConnectionError:()=>E,getDeviceStatus:()=>a,getDeviceId:()=>L,getServerUrl:()=>p,setServerUrl:de,send:$,requestRefresh:ue,requestExportSnapshot:Le,sendTransactionAck:Pe,sendWriteAck:Ue,beginTransaction:async P=>{if(e!==Ar.BROWSER)throw new Error("beginTransaction is only available for browser clients");if(c!=="idle")throw new Error("A transaction is already active");const q=oD();v("opening"),A=q,R=P;const ee=X(q,"begin");$({type:pt.BEGIN_TRANSACTION_REQUEST,transactionId:q,deviceId:P}),await ee},commitTransaction:async()=>{if(e!==Ar.BROWSER)throw new Error("commitTransaction is only available for browser clients");if(!A||!R||c!=="open")throw new Error("No open transaction");const P=A,q=R;v("committing");const ee=X(P,"commit");$({type:pt.COMMIT_TRANSACTION_REQUEST,transactionId:P,deviceId:q}),await ee},rollbackTransaction:async()=>{if(e!==Ar.BROWSER)throw new Error("rollbackTransaction is only available for browser clients");if(!A||!R)throw new Error("No active transaction");const P=A,q=R;v("rolling_back");const ee=X(P,"rollback");$({type:pt.ROLLBACK_TRANSACTION_REQUEST,transactionId:P,deviceId:q}),await ee},executeWrite:async P=>{if(e!==Ar.BROWSER)throw new Error("executeWrite is only available for browser clients");if(!A||!R||c!=="open")throw new Error("No open transaction");const q=ED(),ee=new Promise((le,Oe)=>{const Ne=setTimeout(()=>{d.delete(q),Oe(new Error("Write operation timed out"))},kN);d.set(q,{resolve:We=>{clearTimeout(Ne),le(We)},reject:We=>{clearTimeout(Ne),Oe(We)}})});return $({type:pt.WRITE_REQUEST,writeId:q,transactionId:A,deviceId:R,operation:P}),ee},getTransactionState:()=>c,getActiveTransactionId:()=>A}}async function IC(i){let e;try{e=await fetch(i)}catch(t){const s=t instanceof Error?t.message:String(t);throw new Error(`Network error fetching snapshot from ${i}. ${s} If the web UI runs on a different port than the hub, ensure CORS is enabled on the hub HTTP API.`)}if(!e.ok)throw new Error(`Failed to fetch snapshot from ${i}: ${e.status} ${e.statusText}`);return e.arrayBuffer()}function WR(i,e){return e!=null&&e.useSameOriginApi&&typeof window<"u"?window.location.origin:i.startsWith("ws://")||i.startsWith("wss://")?dC(i):i.replace(/\/$/,"")}function UD(i,e,t){return`${WR(i,t)}${kR}/${encodeURIComponent(e)}/database`}function yD(i,e,t){return`${WR(i,t)}${kR}/${encodeURIComponent(e)}/database/meta`}function bD(i,e){return`${WR(i,e)}${kR}`}async function CC(i,e){let t;try{t=await fetch(i)}catch(s){const a=s instanceof Error?s.message:String(s);throw new Error(`Network error fetching ${e} from ${i}. ${a}`)}if(!t.ok)throw new Error(`Failed to fetch ${e} from ${i}: ${t.status} ${t.statusText}`);return await t.json()}async function vD(i,e,t){const s=yD(i,e,t);return CC(s,"device export metadata")}async function GD(i,e,t){const s=UD(i,e,t);return IC(s)}async function WN(i,e){const t=bD(i,e);return(await CC(t,"device exports")).devices??[]}function BD(i,e){switch(i){case"DEVICE_OFFLINE":return"Selected device disconnected. Reconnect the mobile app and try again.";case"REFRESH_IN_PROGRESS":return"A refresh is already in progress for this device.";case"EXPORT_FAILED":return`Device failed to export or upload snapshot: ${e}`;case"UPLOAD_FAILED":return`Snapshot upload failed on the hub: ${e}`;case"TIMEOUT":return"Timed out waiting for the device to upload a snapshot.";case"SNAPSHOT_NOT_FOUND":return"Snapshot expired or was not found. Click Refresh again.";case"INVALID_REQUEST":return`Invalid refresh request: ${e}`;default:return e}}function xD(i,e,t={}){const s=`${OC}/${encodeURIComponent(e)}/snapshot`;return t.useSameOriginApi?s:uD(dC(i),e)}function Zo(i,e=4){return i.length<=e*2+1?i:`${i.slice(0,e)}…${i.slice(-e)}`}function _C(i,e,t){var a;const s=e==null?void 0:e.mobiles.find(o=>o.deviceId===i);return(a=s==null?void 0:s.metadata)!=null&&a.appName?s.metadata.appName:t!=null&&t.databaseName?t.databaseName:t!=null&&t.label?t.label:"Device export"}function XN(i,e,t){return{deviceId:i,deviceName:_C(i,e,t)}}function KN(i,e){return`${i.deviceName} (${Zo(i.deviceId)}) · ${e}`}function LC(i,e){if(e)return i.find(t=>{var s;return((s=t.metadata)==null?void 0:s.bundleId)===e})}function HD(i){var s,a;const e=new Set(i.mobiles.map(o=>o.deviceId)),t=new Map(i.exports.map(o=>[o.deviceId,o]));if(i.selectedDeviceId){if(e.has(i.selectedDeviceId))return i.selectedDeviceId;const o=t.get(i.selectedDeviceId);if(o){const E=LC(i.mobiles,o.bundleId);return E?E.deviceId:i.mobiles.length===1?i.mobiles[0].deviceId:i.selectedDeviceId}}return((s=i.mobiles[0])==null?void 0:s.deviceId)??((a=i.exports[0])==null?void 0:a.deviceId)??null}function wD(i){var s;if(!i.selectedDeviceId||i.mobiles.length===0||i.mobiles.some(a=>a.deviceId===i.selectedDeviceId))return null;const e=i.exports.find(a=>a.deviceId===i.selectedDeviceId),t=LC(i.mobiles,e==null?void 0:e.bundleId);return t?t.deviceId:((s=i.mobiles[0])==null?void 0:s.deviceId)??null}function YD(){return typeof window>"u"?NC("localhost",VR):`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${fC}`}function Nu(){return{useSameOriginApi:!0}}const FD=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|REPLACE|ATTACH|DETACH|REINDEX|VACUUM|TRUNCATE)\b/i;function VD(i){var s;const e=i.trim();if(!e)throw new Error("SQL query is empty");if(FD.test(e))throw new Error("DevTools is read-only; only SELECT, PRAGMA, EXPLAIN, and WITH queries are allowed");const t=e.split(";").map(a=>a.trim()).filter(Boolean);for(const a of t){const E=(s=a.replace(/^\s*(--[^\n]*\n|\/\*[\s\S]*?\*\/\s*)*/g,"").trim().split(/\s+/)[0])==null?void 0:s.toUpperCase();if(E&&E!=="SELECT"&&E!=="PRAGMA"&&E!=="EXPLAIN"&&E!=="WITH")throw new Error(`DevTools is read-only; "${E}" statements are not allowed`)}}const kD=5e3,mC=y.createContext(null);function WD({children:i}){const[e,t]=y.useState([]),s=y.useRef(new Map),a=y.useCallback(T=>{const c=s.current.get(T);c&&(clearTimeout(c),s.current.delete(T)),t(A=>A.filter(R=>R.id!==T))},[]),o=y.useCallback(T=>{const c=`toast-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,A={id:c,title:T.title,message:T.message,variant:T.variant??"info",durationMs:T.durationMs??kD};t(O=>[...O.slice(-2),A]);const R=setTimeout(()=>{a(c)},A.durationMs);s.current.set(c,R)},[a]),E=y.useMemo(()=>({toasts:e,showToast:o,dismissToast:a}),[e,o,a]);return I.jsx(mC.Provider,{value:E,children:i})}function XR(){const i=y.useContext(mC);if(!i)throw new Error("useToast must be used within ToastProvider");return i}const pC=y.createContext(null);function XD(i,e){return{deviceId:i,connectionId:"offline",connectedAt:e.updatedAt,metadata:{appName:e.databaseName??e.label,platform:"offline"}}}function KD({children:i}){const{showToast:e}=XR(),[t,s]=y.useState("connecting"),[a,o]=y.useState(null),[E,T]=y.useState([]),[c,A]=y.useState(null),[R,O]=y.useState(null),[d,L]=y.useState("idle"),[p,g]=y.useState(null),[v,B]=y.useState(null),[K,Z]=y.useState(null),[Te,$]=y.useState(null),[ae,j]=y.useState([]),[ce,he]=y.useState([]),[Se,de]=y.useState(null),[ue,Le]=y.useState(!1),[Pe,Ue]=y.useState(null),[X,Ee]=y.useState("idle"),fe=y.useRef(null),De=y.useRef(null),U=y.useRef(!1),P=y.useRef(null),q=y.useRef(null),ee=y.useRef(null),le=y.useRef(null);y.useEffect(()=>{P.current=c},[c]),y.useEffect(()=>{q.current=a},[a]);const Oe=y.useCallback(()=>{var J;(J=ee.current)==null||J.close(),ee.current=null,j([]),he([]),Le(!1),Ue(null),le.current=null},[]),Ne=y.useCallback(async(J,be,nt)=>{var xt;const Ot=await jp({kind:be,mimeType:nt,bytes:J});(xt=ee.current)==null||xt.close(),ee.current=Ot,j(Ot.listTables()),he(Ot.getSchema()),Le(!0)},[]),We=y.useCallback(async(J,be,nt,Ot)=>{if(await Ne(nt,be.kind??"sqlite",be.mimeType??"application/x-sqlite3"),B({deviceId:J,size:be.size??nt.byteLength,exportedAt:be.updatedAt??Date.now(),kind:be.kind??"sqlite",mimeType:be.mimeType??"application/x-sqlite3",databaseName:be.databaseName,relativePath:be.relativePath}),Ue("export"),le.current=J,Z(be.updatedAt??Date.now()),L("ready"),$(null),de(null),!(Ot!=null&&Ot.silent)){const xt=XN(J,q.current,{databaseName:be.databaseName});e({title:"Device export loaded",message:KN(xt,be.databaseName??be.kind??"sqlite"),variant:"success"})}},[Ne,e]),$e=y.useCallback(async(J,be)=>{const nt=fe.current;if(!nt||t!=="connected"||U.current)return!1;U.current=!0;const Ot=Nu();try{const xt=await vD(nt.getServerUrl(),J,Ot);if(!xt.exists)return!1;const ri=await GD(nt.getServerUrl(),J,Ot);return await We(J,xt,ri,be),!0}catch{return!1}finally{U.current=!1}},[We,t]),Dt=y.useCallback(async J=>{const be=De.current,nt=P.current,Ot=be??nt,xt=!be;if(!Ot||J.deviceId!==Ot)return;const ri=fe.current;if(!ri)return;const en=xD(ri.getServerUrl(),J.deviceId,{...Nu()});let Yi;try{Yi=await IC(en)}catch(Fi){L("error"),$(Fi instanceof Error?Fi.message:"Snapshot uploaded but download failed"),De.current=null;return}try{await Ne(Yi,J.kind,J.mimeType)}catch(Fi){L("error"),$(Fi instanceof Error?`Failed to open snapshot in browser: ${Fi.message}`:"Failed to open snapshot in browser"),De.current=null;return}B({deviceId:J.deviceId,size:J.size,exportedAt:J.exportedAt,kind:J.kind,mimeType:J.mimeType,databaseName:J.databaseName}),Ue("live"),le.current=J.deviceId,Z(J.exportedAt),L("ready"),g("ready"),$(null),de(null),De.current=null;const di=J.databaseName??J.kind,Ae=XN(J.deviceId,q.current,{databaseName:di});e({title:(xt?"mobile":"browser")==="mobile"?"New database received":"Database refreshed",message:KN(Ae,di),variant:"success"}),WN(ri.getServerUrl(),Nu()).then(T).catch(()=>{})},[Ne,e]);y.useEffect(()=>{const J=PD({role:Ar.BROWSER,serverUrl:YD(),onConnectionStateChange:s,onDeviceStatus:be=>{o(be),O(Date.now())},onRefreshStatus:be=>{De.current&&be.deviceId!==De.current||g(be.state)},onSnapshotReady:Dt,onRefreshError:be=>{const nt=De.current,Ot=P.current;nt&&be.deviceId!==nt||!nt&&be.deviceId!==Ot||(L("error"),$(BD(be.code,be.message)),g(be.code==="TIMEOUT"?"timeout":"failed"),De.current=null)},onTransactionStateChange:Ee});return fe.current=J,J.connect(),()=>{J.disconnect(),fe.current=null,Oe()}},[Dt,Oe]),y.useEffect(()=>{if(t!=="connected"){T([]);return}const J=fe.current;J&&WN(J.getServerUrl(),Nu()).then(T).catch(()=>T([]))},[t]),y.useEffect(()=>{const J=(a==null?void 0:a.mobiles)??[],be=E.filter(Ot=>!!Ot.deviceId).map(Ot=>({deviceId:Ot.deviceId,bundleId:Ot.bundleId})),nt=HD({selectedDeviceId:c,mobiles:J,exports:be});nt!==c&&A(nt)},[a,E,c]),y.useEffect(()=>{t!=="connected"||!c||ue&&le.current===c||$e(c,{silent:!0})},[t,c,ue,$e]);const Lt=y.useMemo(()=>{if(!c)return null;const J=a==null?void 0:a.mobiles.find(nt=>nt.deviceId===c);if(J)return J;const be=E.find(nt=>nt.deviceId===c);return be?XD(c,be):null},[a,E,c]),yt=y.useMemo(()=>c?(a==null?void 0:a.mobiles.some(J=>J.deviceId===c))??!1:!1,[a,c]),et=(a==null?void 0:a.mobileCount)??0,pn=y.useMemo(()=>et>0&&!yt,[et,yt]),qt=y.useMemo(()=>wD({selectedDeviceId:c,mobiles:(a==null?void 0:a.mobiles)??[],exports:E.filter(J=>!!J.deviceId).map(J=>({deviceId:J.deviceId,bundleId:J.bundleId}))}),[a,E,c]),_t=y.useCallback(()=>{qt&&A(qt)},[qt]),Tn=y.useMemo(()=>!!(ue&&!yt),[ue,yt]),Zt=y.useMemo(()=>{var J,be;return c?(J=Lt==null?void 0:Lt.metadata)!=null&&J.appName?Lt.metadata.appName:_C(c,a,{databaseName:v==null?void 0:v.databaseName,label:(be=E.find(nt=>nt.deviceId===c))==null?void 0:be.label}):"No device"},[E,a,Lt,c,v==null?void 0:v.databaseName]),ii=y.useMemo(()=>t==="connected"&&yt,[t,yt]),wi=c??"offline",Wn=y.useCallback(()=>{if(!c||d==="refreshing")return;if(!ii){L("error"),$("Connect the device to refresh live data");return}const J=fe.current;J&&(De.current=c,J.requestRefresh(c),L("refreshing"),g("requested"),$(null),de(null))},[c,d,ii]),Xn=y.useCallback(J=>{const be=ee.current;if(!be)throw new Error("No database loaded. Select a device with an export or refresh from a connected device.");try{return VD(J),de(null),be.executeQuery(J)}catch(nt){const Ot=nt instanceof Error?nt.message:"Query failed";throw de(Ot),nt}},[]),ye=y.useCallback(J=>{const be=ee.current;if(!be)throw new Error("No database loaded. Select a device with an export or refresh from a connected device.");return be.fetchTablePage(J)},[]),we=y.useCallback(()=>{de(null)},[]),ke=y.useCallback(async()=>{if(!c||Tn)throw new Error("No live device selected");const J=fe.current;if(!J)throw new Error("Not connected to the DevTools hub");await J.beginTransaction(c)},[c,Tn]),ot=y.useCallback(async()=>{const J=fe.current;if(!J)throw new Error("Not connected to the DevTools hub");await J.commitTransaction()},[]),gt=y.useCallback(async()=>{const J=fe.current;if(!J)throw new Error("Not connected to the DevTools hub");await J.rollbackTransaction()},[]),Xt=y.useCallback(async J=>{const be=fe.current;if(!be)throw new Error("Not connected to the DevTools hub");return be.executeWrite(J)},[]),si=y.useMemo(()=>({connectionState:t,deviceStatus:a,selectedDeviceId:c,setSelectedDeviceId:A,selectedDevice:Lt,deviceExports:E,lastUpdatedAt:R,refreshState:d,syncState:p,snapshotMeta:v,lastSnapshotAt:K,refreshError:Te,refresh:Wn,databaseSource:Pe,hasDatabase:ue,isOfflineDatabase:Tn,isDeviceLive:yt,liveMobileCount:et,hasLiveMobileAvailable:pn,liveSwitchTargetId:qt,switchToConnectedDevice:_t,deviceDisplayName:Zt,canRefreshFromDevice:ii,databaseSessionId:wi,tables:ae,schema:ce,executeQuery:Xn,fetchTablePage:ye,queryError:Se,clearQueryError:we,transactionState:X,beginWriteTransaction:ke,commitWriteTransaction:ot,rollbackWriteTransaction:gt,executeWriteOperation:Xt}),[t,a,c,Lt,E,R,d,p,v,K,Te,Wn,Pe,ue,Tn,yt,et,pn,qt,_t,Zt,ii,wi,ae,ce,Xn,ye,Se,we,X,ke,ot,gt,Xt]);return I.jsx(pC.Provider,{value:si,children:i})}function Ut(){const i=y.useContext(pC);if(!i)throw new Error("useDevTools must be used within DevToolsProvider");return i}const jN=!1,DC=y.createContext(null);function jD({children:i}){const{connectionState:e,selectedDeviceId:t,hasDatabase:s,refresh:a,beginWriteTransaction:o,commitWriteTransaction:E,rollbackWriteTransaction:T,executeWriteOperation:c,transactionState:A}=Ut(),[R,O]=y.useState(!1),[d,L]=y.useState(0),[p,g]=y.useState(null),[v,B]=y.useState(null),K=y.useCallback(Le=>{{O(!1);return}},[]),Z=A==="open",Te=A==="opening"||A==="committing"||A==="rolling_back";y.useEffect(()=>{},[R,Z,Te,t,s,e,o,K]),y.useEffect(()=>{R||Z&&T().catch(()=>{})},[R,Z,T]);const $=y.useCallback(async()=>{g(null),await o()},[o]),ae=y.useCallback(async()=>{g(null),await E(),a()},[E,a]),j=y.useCallback(async()=>{g(null),await T()},[T]),ce=y.useCallback(async Le=>{g(null),L(Pe=>Pe+1);try{return await c(Le)}catch(Pe){const Ue=Pe instanceof Error?Pe.message:"Write failed";throw g(Ue),Pe}finally{L(Pe=>Math.max(0,Pe-1))}},[c]),he=y.useCallback(()=>{B(null)},[]),Se=y.useCallback(Le=>{B(Le)},[]),de=y.useCallback(()=>{g(null)},[]),ue=y.useMemo(()=>({editMode:R,setEditMode:K,transactionOpen:Z,transactionBusy:Te,pendingWrites:d,writeError:p,clearWriteError:de,confirmAction:v,closeConfirm:he,requestConfirm:Se,startTransaction:$,commitTransaction:ae,rollbackTransaction:j,executeWrite:ce}),[R,K,Z,Te,d,p,de,v,he,Se,$,ae,j,ce]);return I.jsx(DC.Provider,{value:ue,children:i})}function KR(){const i=y.useContext(DC);if(!i)throw new Error("useEditMode must be used within EditModeProvider");return i}function qD(i,e,t){return i&&e.includes(i)?i:t?null:e[0]??null}const gC=y.createContext(null),MC=[25,50,100];function $D({children:i}){const{hasDatabase:e,tables:t,schema:s,fetchTablePage:a,databaseSessionId:o}=Ut(),[E,T]=y.useState(null),[c,A]=y.useState("data"),[R,O]=y.useState(""),[d,L]=y.useState("name"),[p,g]=y.useState("asc"),[v,B]=y.useState(1),[K,Z]=y.useState(MC[1]),[Te,$]=y.useState(""),[ae,j]=y.useState(""),[ce,he]=y.useState({column:null,dir:"asc"}),[Se,de]=y.useState(0),ue=y.useRef(!1),Le=y.useRef(o),Pe=y.useCallback(()=>{de(le=>le+1)},[]),Ue=y.useCallback(le=>{le!==null&&(ue.current=!1),T(le)},[]),X=y.useCallback(()=>{ue.current=!0,T(null)},[]),Ee=y.useMemo(()=>iD(RC(t,R),d,p),[t,R,d,p]),fe=y.useMemo(()=>{var le;return E?((le=s.find(Oe=>Oe.name===E))==null?void 0:le.columns)??[]:[]},[s,E]);y.useEffect(()=>{o!==Le.current&&(Le.current=o,ue.current=!1,T(null))},[o]),y.useEffect(()=>{if(!e){ue.current=!1,T(null);return}if(t.length===0){T(null);return}const le=t.map(Oe=>Oe.name);T(Oe=>qD(Oe,le,ue.current))},[e,t]),y.useEffect(()=>{const le=window.setTimeout(()=>{j(Te)},300);return()=>{window.clearTimeout(le)}},[Te]),y.useEffect(()=>{B(1),$(""),j(""),he({column:null,dir:"asc"})},[E]),y.useEffect(()=>{B(1)},[ae,ce.column,ce.dir,K]);const De=y.useMemo(()=>{if(!e||!E)return null;try{return a({table:E,page:v,pageSize:K,sortColumn:ce.column,sortDir:ce.dir,search:ae})}catch{return null}},[e,E,v,K,ce.column,ce.dir,ae,a,Se]),U=De?Math.max(1,Math.ceil(De.totalCount/De.pageSize)):1,P=y.useCallback(()=>{g(le=>le==="asc"?"desc":"asc")},[]),q=y.useCallback(le=>{he(Oe=>Oe.column!==le?{column:le,dir:"asc"}:Oe.dir==="asc"?{column:le,dir:"desc"}:{column:null,dir:"asc"})},[]),ee=y.useMemo(()=>({selectedTable:E,setSelectedTable:Ue,clearTableSelection:X,view:c,setView:A,tableSearch:R,setTableSearch:O,tableSort:d,setTableSort:L,tableSortDir:p,toggleTableSortDir:P,filteredTables:Ee,page:v,pageSize:K,setPage:B,setPageSize:Z,rowSearch:Te,setRowSearch:$,sortColumn:ce.column,sortDir:ce.dir,toggleSort:q,tablePage:De,tableColumns:fe,totalPages:U,dataVersion:Se,bumpDataVersion:Pe}),[E,Ue,X,c,R,d,p,P,Ee,v,K,Te,ce.column,ce.dir,q,De,fe,U,Se,Pe]);return I.jsx(gC.Provider,{value:ee,children:i})}function Bi(){const i=y.useContext(gC);if(!i)throw new Error("useExplorer must be used within ExplorerProvider");return i}const PC="database-devtools-onboarding-dismissed",UC="database-devtools-first-query-run";function JD(){try{return localStorage.getItem(PC)==="true"}catch{return!1}}function QD(){try{localStorage.setItem(PC,"true")}catch{}}function zD(){try{return localStorage.getItem(UC)==="true"}catch{return!1}}function ZD(){try{localStorage.setItem(UC,"true")}catch{}}const yC=y.createContext(null);function eg({children:i}){const{connectionState:e,hasDatabase:t}=Ut(),[s,a]=y.useState(JD),[o,E]=y.useState(zD),T=y.useMemo(()=>[{id:"hub",label:"Connect to the DevTools hub",done:e==="connected"},{id:"device",label:"Load a device database export",done:t},{id:"query",label:"Run your first SQL query",done:o}],[e,t,o]),c=T.every(L=>L.done),A=!s&&!c,R=y.useCallback(()=>{QD(),a(!0)},[]),O=y.useCallback(()=>{ZD(),E(!0)},[]),d=y.useMemo(()=>({visible:A,steps:T,dismiss:R,markQueryRun:O}),[A,T,R,O]);return I.jsx(yC.Provider,{value:d,children:i})}function bC(){const i=y.useContext(yC);if(!i)throw new Error("useOnboarding must be used within OnboardingProvider");return i}const F=i=>i.flatMap(tg),tg=i=>Hu(ig(i)).map(ng),ng=i=>i.replace(/ +/g," ").trim(),ig=i=>({type:"mandatory_block",items:jR(i,0)[0]}),jR=(i,e,t)=>{const s=[];for(;i[e];){const[a,o]=sg(i,e);if(s.push(a),e=o,i[e]==="|")e++;else if(i[e]==="}"||i[e]==="]"){if(t!==i[e])throw new Error(`Unbalanced parenthesis in: ${i}`);return e++,[s,e]}else if(e===i.length){if(t)throw new Error(`Unbalanced parenthesis in: ${i}`);return[s,e]}else throw new Error(`Unexpected "${i[e]}"`)}return[s,e]},sg=(i,e)=>{const t=[];for(;;){const[s,a]=rg(i,e);if(s)t.push(s),e=a;else break}return t.length===1?[t[0],e]:[{type:"concatenation",items:t},e]},rg=(i,e)=>{if(i[e]==="{")return ag(i,e+1);if(i[e]==="[")return lg(i,e+1);{let t="";for(;i[e]&&/[A-Za-z0-9_ ]/.test(i[e]);)t+=i[e],e++;return[t,e]}},ag=(i,e)=>{const[t,s]=jR(i,e,"}");return[{type:"mandatory_block",items:t},s]},lg=(i,e)=>{const[t,s]=jR(i,e,"]");return[{type:"optional_block",items:t},s]},Hu=i=>{if(typeof i=="string")return[i];if(i.type==="concatenation")return i.items.map(Hu).reduce(og,[""]);if(i.type==="mandatory_block")return i.items.flatMap(Hu);if(i.type==="optional_block")return["",...i.items.flatMap(Hu)];throw new Error(`Unknown node type: ${i}`)},og=(i,e)=>{const t=[];for(const s of i)for(const a of e)t.push(s+a);return t};var te;(function(i){i.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",i.IDENTIFIER="IDENTIFIER",i.STRING="STRING",i.VARIABLE="VARIABLE",i.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",i.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",i.RESERVED_KEYWORD="RESERVED_KEYWORD",i.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",i.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",i.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",i.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",i.RESERVED_CLAUSE="RESERVED_CLAUSE",i.RESERVED_SELECT="RESERVED_SELECT",i.RESERVED_JOIN="RESERVED_JOIN",i.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",i.ARRAY_KEYWORD="ARRAY_KEYWORD",i.CASE="CASE",i.END="END",i.WHEN="WHEN",i.ELSE="ELSE",i.THEN="THEN",i.LIMIT="LIMIT",i.BETWEEN="BETWEEN",i.AND="AND",i.OR="OR",i.XOR="XOR",i.OPERATOR="OPERATOR",i.COMMA="COMMA",i.ASTERISK="ASTERISK",i.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",i.OPEN_PAREN="OPEN_PAREN",i.CLOSE_PAREN="CLOSE_PAREN",i.LINE_COMMENT="LINE_COMMENT",i.BLOCK_COMMENT="BLOCK_COMMENT",i.DISABLE_COMMENT="DISABLE_COMMENT",i.NUMBER="NUMBER",i.NAMED_PARAMETER="NAMED_PARAMETER",i.QUOTED_PARAMETER="QUOTED_PARAMETER",i.NUMBERED_PARAMETER="NUMBERED_PARAMETER",i.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",i.CUSTOM_PARAMETER="CUSTOM_PARAMETER",i.DELIMITER="DELIMITER",i.EOF="EOF"})(te=te||(te={}));const vC=i=>({type:te.EOF,raw:"«EOF»",text:"«EOF»",start:i}),dr=vC(1/0),il=i=>e=>e.type===i.type&&e.text===i.text,Ir={ARRAY:il({text:"ARRAY",type:te.RESERVED_DATA_TYPE}),BY:il({text:"BY",type:te.RESERVED_KEYWORD}),SET:il({text:"SET",type:te.RESERVED_CLAUSE}),STRUCT:il({text:"STRUCT",type:te.RESERVED_DATA_TYPE}),WINDOW:il({text:"WINDOW",type:te.RESERVED_CLAUSE}),VALUES:il({text:"VALUES",type:te.RESERVED_CLAUSE})},GC=i=>i===te.RESERVED_DATA_TYPE||i===te.RESERVED_KEYWORD||i===te.RESERVED_FUNCTION_NAME||i===te.RESERVED_KEYWORD_PHRASE||i===te.RESERVED_DATA_TYPE_PHRASE||i===te.RESERVED_CLAUSE||i===te.RESERVED_SELECT||i===te.RESERVED_SET_OPERATION||i===te.RESERVED_JOIN||i===te.ARRAY_KEYWORD||i===te.CASE||i===te.END||i===te.WHEN||i===te.ELSE||i===te.THEN||i===te.LIMIT||i===te.BETWEEN||i===te.AND||i===te.OR||i===te.XOR,Eg=i=>i===te.AND||i===te.OR||i===te.XOR,ug=["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"],Tg=["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"],cg=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],Ag=F(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),hg=F(["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"]),qN=F(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),eh=F(["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"]),Rg=F(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),Sg=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),fg=F(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),Og=F([]),Ng={name:"bigquery",tokenizerOptions:{reservedSelect:Ag,reservedClauses:[...hg,...eh,...qN],reservedSetOperations:Rg,reservedJoins:Sg,reservedKeywordPhrases:fg,reservedDataTypePhrases:Og,reservedKeywords:Tg,reservedDataTypes:cg,reservedFunctionNames:ug,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:dg},formatOptions:{onelineClauses:[...qN,...eh],tabularOnelineClauses:eh}};function dg(i){return Ig(Cg(i))}function Ig(i){let e=dr;return i.map(t=>t.text==="OFFSET"&&e.text==="["?(e=t,Object.assign(Object.assign({},t),{type:te.RESERVED_FUNCTION_NAME})):(e=t,t))}function Cg(i){var e;const t=[];for(let s=0;s<i.length;s++){const a=i[s];if((Ir.ARRAY(a)||Ir.STRUCT(a))&&((e=i[s+1])===null||e===void 0?void 0:e.text)==="<"){const o=_g(i,s+1),E=i.slice(s,o+1);t.push({type:te.IDENTIFIER,raw:E.map($N("raw")).join(""),text:E.map($N("text")).join(""),start:a.start}),s=o}else t.push(a)}return t}const $N=i=>e=>e.type===te.IDENTIFIER||e.type===te.COMMA?e[i]+" ":e[i];function _g(i,e){let t=0;for(let s=e;s<i.length;s++){const a=i[s];if(a.text==="<"?t++:a.text===">"?t--:a.text===">>"&&(t-=2),t===0)return s}return i.length-1}const Lg=["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"],mg=["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"],pg=["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"],Dg=F(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),gg=F(["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]"]),JN=F(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),th=F(["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"]),Mg=F(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),Pg=F(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),Ug=F(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),yg={name:"clickhouse",tokenizerOptions:{reservedSelect:Dg,reservedClauses:[...gg,...JN,...th],reservedSetOperations:Mg,reservedJoins:Pg,reservedKeywordPhrases:Ug,reservedKeywords:mg,reservedDataTypes:pg,reservedFunctionNames:Lg,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:i=>{const e=/\{([^:]+):/.exec(i);return e?e[1].trim():i}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:bg},formatOptions:{onelineClauses:[...JN,...th],tabularOnelineClauses:th}};function bg(i){return i.map((e,t)=>{const s=i[t+1]||dr,a=i[t-1]||dr;return e.type===te.RESERVED_SELECT&&(s.type===te.COMMA||a.type===te.RESERVED_CLAUSE||a.type===te.COMMA)?Object.assign(Object.assign({},e),{type:te.RESERVED_KEYWORD}):Ir.SET(e)&&s.type===te.OPEN_PAREN?Object.assign(Object.assign({},e),{type:te.RESERVED_FUNCTION_NAME}):e})}const vg=["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"],Gg=["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"],Bg=["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"],xg=F(["SELECT [ALL | DISTINCT]"]),Hg=F(["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"]),QN=F(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),nh=F(["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"]),wg=F(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Yg=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),Fg=F(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Vg=F([]),kg={name:"db2",tokenizerOptions:{reservedSelect:xg,reservedClauses:[...Hg,...QN,...nh],reservedSetOperations:wg,reservedJoins:Yg,reservedKeywordPhrases:Fg,reservedDataTypePhrases:Vg,reservedKeywords:Gg,reservedDataTypes:Bg,reservedFunctionNames:vg,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:[...QN,...nh],tabularOnelineClauses:nh}},Wg=["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"],Xg=["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"],Kg=["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"],jg=F(["SELECT [ALL | DISTINCT]"]),qg=F(["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"]),zN=F(["CREATE [OR REPLACE] TABLE"]),ih=F(["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}"]),$g=F(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Jg=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),Qg=F(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),zg=F([]),Zg={name:"db2i",tokenizerOptions:{reservedSelect:jg,reservedClauses:[...qg,...zN,...ih],reservedSetOperations:$g,reservedJoins:Jg,reservedKeywordPhrases:Qg,reservedDataTypePhrases:zg,reservedKeywords:Xg,reservedDataTypes:Kg,reservedFunctionNames:Wg,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:[...zN,...ih],tabularOnelineClauses:ih}},eM=["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"],tM=["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"],nM=["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"],iM=F(["SELECT [ALL | DISTINCT]"]),sM=F(["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"]),ZN=F(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),sh=F(["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]"]),rM=F(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),aM=F(["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"]),lM=F(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),oM=F(["TIMESTAMP WITH TIME ZONE"]),EM={name:"duckdb",tokenizerOptions:{reservedSelect:iM,reservedClauses:[...sM,...ZN,...sh],reservedSetOperations:rM,reservedJoins:aM,reservedKeywordPhrases:lM,reservedDataTypePhrases:oM,supportsXor:!0,reservedKeywords:tM,reservedDataTypes:nM,reservedFunctionNames:eM,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:[...ZN,...sh],tabularOnelineClauses:sh}},uM=["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"],TM=["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"],cM=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],AM=F(["SELECT [ALL | DISTINCT]"]),hM=F(["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"]),ed=F(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),rh=F(["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"]),RM=F(["UNION [ALL | DISTINCT]"]),SM=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),fM=F(["{ROWS | RANGE} BETWEEN"]),OM=F([]),NM={name:"hive",tokenizerOptions:{reservedSelect:AM,reservedClauses:[...hM,...ed,...rh],reservedSetOperations:RM,reservedJoins:SM,reservedKeywordPhrases:fM,reservedDataTypePhrases:OM,reservedKeywords:TM,reservedDataTypes:cM,reservedFunctionNames:uM,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...ed,...rh],tabularOnelineClauses:rh}};function dT(i){return i.map((e,t)=>{const s=i[t+1]||dr;if(Ir.SET(e)&&s.text==="(")return Object.assign(Object.assign({},e),{type:te.RESERVED_FUNCTION_NAME});const a=i[t-1]||dr;return Ir.VALUES(e)&&a.text==="="?Object.assign(Object.assign({},e),{type:te.RESERVED_FUNCTION_NAME}):e})}const dM=["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"],IM=["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"],CM=["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"],_M=F(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),LM=F(["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"]),td=F(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),ah=F(["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"]),mM=F(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),pM=F(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),DM=F(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),gM=F([]),MM={name:"mariadb",tokenizerOptions:{reservedSelect:_M,reservedClauses:[...LM,...td,...ah],reservedSetOperations:mM,reservedJoins:pM,reservedKeywordPhrases:DM,reservedDataTypePhrases:gM,supportsXor:!0,reservedKeywords:dM,reservedDataTypes:IM,reservedFunctionNames:CM,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:dT},formatOptions:{onelineClauses:[...td,...ah],tabularOnelineClauses:ah}},PM=["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"],UM=["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"],yM=["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"],bM=F(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),vM=F(["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"]),nd=F(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),lh=F(["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"]),GM=F(["UNION [ALL | DISTINCT]"]),BM=F(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),xM=F(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),HM=F([]),wM={name:"mysql",tokenizerOptions:{reservedSelect:bM,reservedClauses:[...vM,...nd,...lh],reservedSetOperations:GM,reservedJoins:BM,reservedKeywordPhrases:xM,reservedDataTypePhrases:HM,supportsXor:!0,reservedKeywords:PM,reservedDataTypes:UM,reservedFunctionNames:yM,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:dT},formatOptions:{onelineClauses:[...nd,...lh],tabularOnelineClauses:lh}},YM=["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"],FM=["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"],VM=["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"],kM=F(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),WM=F(["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"]),id=F(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),oh=F(["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"]),XM=F(["UNION [ALL | DISTINCT]"]),KM=F(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),jM=F(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),qM=F([]),$M={name:"tidb",tokenizerOptions:{reservedSelect:kM,reservedClauses:[...WM,...id,...oh],reservedSetOperations:XM,reservedJoins:KM,reservedKeywordPhrases:jM,reservedDataTypePhrases:qM,supportsXor:!0,reservedKeywords:YM,reservedDataTypes:FM,reservedFunctionNames:VM,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:dT},formatOptions:{onelineClauses:[...id,...oh],tabularOnelineClauses:oh}},JM=["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"],QM=["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"],zM=[],ZM=F(["SELECT [ALL | DISTINCT]"]),eP=F(["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"]),sd=F(["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"]),tP=F(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),nP=F(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),iP=F(["{ROWS | RANGE | GROUPS} BETWEEN"]),sP=F([]),rP={name:"n1ql",tokenizerOptions:{reservedSelect:ZM,reservedClauses:[...eP,...sd],reservedSetOperations:tP,reservedJoins:nP,reservedKeywordPhrases:iP,reservedDataTypePhrases:sP,supportsXor:!0,reservedKeywords:QM,reservedDataTypes:zM,reservedFunctionNames:JM,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:sd}},aP=["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"],lP=["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"],oP=["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"],EP=F(["SELECT [ALL | DISTINCT | UNIQUE]"]),uP=F(["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"]),rd=F(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Eh=F(["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"]),TP=F(["UNION [ALL]","MINUS","INTERSECT"]),cP=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),AP=F(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),hP=F([]),RP={name:"plsql",tokenizerOptions:{reservedSelect:EP,reservedClauses:[...uP,...rd,...Eh],reservedSetOperations:TP,reservedJoins:cP,reservedKeywordPhrases:AP,reservedDataTypePhrases:hP,supportsXor:!0,reservedKeywords:aP,reservedDataTypes:lP,reservedFunctionNames:oP,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:SP},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...rd,...Eh],tabularOnelineClauses:Eh}};function SP(i){let e=dr;return i.map(t=>Ir.SET(t)&&Ir.BY(e)?Object.assign(Object.assign({},t),{type:te.RESERVED_KEYWORD}):(GC(t.type)&&(e=t),t))}const fP=["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"],OP=["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"],NP=["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"],dP=F(["SELECT [ALL | DISTINCT]"]),IP=F(["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"]),ad=F(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),uh=F(["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"]),CP=F(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),_P=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),LP=F(["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"]),mP=F(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),pP={name:"postgresql",tokenizerOptions:{reservedSelect:dP,reservedClauses:[...IP,...ad,...uh],reservedSetOperations:CP,reservedJoins:_P,reservedKeywordPhrases:LP,reservedDataTypePhrases:mP,reservedKeywords:OP,reservedDataTypes:NP,reservedFunctionNames:fP,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:[...ad,...uh],tabularOnelineClauses:uh}},DP=["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"],gP=["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"],MP=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],PP=F(["SELECT [ALL | DISTINCT]"]),UP=F(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),ld=F(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Th=F(["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"]),yP=F(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),bP=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),vP=F(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),GP=F([]),BP={name:"redshift",tokenizerOptions:{reservedSelect:PP,reservedClauses:[...UP,...ld,...Th],reservedSetOperations:yP,reservedJoins:bP,reservedKeywordPhrases:vP,reservedDataTypePhrases:GP,reservedKeywords:gP,reservedDataTypes:MP,reservedFunctionNames:DP,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ld,...Th],tabularOnelineClauses:Th}},xP=["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"],HP=["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"],wP=["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"],YP=F(["SELECT [ALL | DISTINCT]"]),FP=F(["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"]),od=F(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),ch=F(["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"]),VP=F(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),kP=F(["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"]),WP=F(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),XP=F([]),KP={name:"spark",tokenizerOptions:{reservedSelect:YP,reservedClauses:[...FP,...od,...ch],reservedSetOperations:VP,reservedJoins:kP,reservedKeywordPhrases:WP,reservedDataTypePhrases:XP,supportsXor:!0,reservedKeywords:xP,reservedDataTypes:HP,reservedFunctionNames:wP,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:jP},formatOptions:{onelineClauses:[...od,...ch],tabularOnelineClauses:ch}};function jP(i){return i.map((e,t)=>{const s=i[t-1]||dr,a=i[t+1]||dr;return Ir.WINDOW(e)&&a.type===te.OPEN_PAREN?Object.assign(Object.assign({},e),{type:te.RESERVED_FUNCTION_NAME}):e.text==="ITEMS"&&e.type===te.RESERVED_KEYWORD&&!(s.text==="COLLECTION"&&a.text==="TERMINATED")?Object.assign(Object.assign({},e),{type:te.IDENTIFIER,text:e.raw}):e})}const qP=["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"],$P=["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"],JP=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],QP=F(["SELECT [ALL | DISTINCT]"]),zP=F(["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"]),Ed=F(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),Ah=F(["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"]),ZP=F(["UNION [ALL]","EXCEPT","INTERSECT"]),eU=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),tU=F(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),nU=F([]),iU={name:"sqlite",tokenizerOptions:{reservedSelect:QP,reservedClauses:[...zP,...Ed,...Ah],reservedSetOperations:ZP,reservedJoins:eU,reservedKeywordPhrases:tU,reservedDataTypePhrases:nU,reservedKeywords:$P,reservedDataTypes:JP,reservedFunctionNames:qP,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:i=>i.slice(1)}]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...Ed,...Ah],tabularOnelineClauses:Ah}},sU=["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"],rU=["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"],aU=["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"],lU=F(["SELECT [ALL | DISTINCT]"]),oU=F(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),ud=F(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),hh=F(["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"]),EU=F(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),uU=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),TU=F(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),cU=F([]),AU={name:"sql",tokenizerOptions:{reservedSelect:lU,reservedClauses:[...oU,...ud,...hh],reservedSetOperations:EU,reservedJoins:uU,reservedKeywordPhrases:TU,reservedDataTypePhrases:cU,reservedKeywords:rU,reservedDataTypes:aU,reservedFunctionNames:sU,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...ud,...hh],tabularOnelineClauses:hh}},hU=["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"],RU=["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"],SU=["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"],fU=F(["SELECT [ALL | DISTINCT]"]),OU=F(["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"]),Td=F(["CREATE TABLE [IF NOT EXISTS]"]),Rh=F(["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"]),NU=F(["UNION [ALL | DISTINCT] [CORRESPONDING]","EXCEPT [ALL | DISTINCT] [CORRESPONDING]","INTERSECT [ALL | DISTINCT] [CORRESPONDING]"]),dU=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),IU=F(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),CU=F([]),_U={name:"trino",tokenizerOptions:{reservedSelect:fU,reservedClauses:[...OU,...Td,...Rh],reservedSetOperations:NU,reservedJoins:dU,reservedKeywordPhrases:IU,reservedDataTypePhrases:CU,reservedKeywords:RU,reservedDataTypes:SU,reservedFunctionNames:hU,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...Td,...Rh],tabularOnelineClauses:Rh}},LU=["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"],mU=["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"],pU=["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"],DU=F(["SELECT [ALL | DISTINCT]"]),gU=F(["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"]),cd=F(["CREATE TABLE"]),Sh=F(["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"]),MU=F(["UNION [ALL]","EXCEPT","INTERSECT"]),PU=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),UU=F(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),yU=F([]),bU={name:"transactsql",tokenizerOptions:{reservedSelect:DU,reservedClauses:[...gU,...cd,...Sh],reservedSetOperations:MU,reservedJoins:PU,reservedKeywordPhrases:UU,reservedDataTypePhrases:yU,reservedKeywords:mU,reservedDataTypes:pU,reservedFunctionNames:LU,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...cd,...Sh],tabularOnelineClauses:Sh}},vU=["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"],GU=["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"],BU=["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"],xU=F(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),HU=F(["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"]),Ad=F(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),fh=F(["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"]),wU=F(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),YU=F(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),FU=F(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),VU=F([]),kU={name:"singlestoredb",tokenizerOptions:{reservedSelect:xU,reservedClauses:[...HU,...Ad,...fh],reservedSetOperations:wU,reservedJoins:YU,reservedKeywordPhrases:FU,reservedDataTypePhrases:VU,reservedKeywords:vU,reservedDataTypes:GU,reservedFunctionNames:BU,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:dT},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Ad,...fh],tabularOnelineClauses:fh}},WU=["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"],XU=["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"],KU=["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"],jU=F(["SELECT [ALL | DISTINCT]"]),qU=F(["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"]),hd=F(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),Oh=F(["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"]),$U=F(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),JU=F(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),QU=F(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),zU=F([]),ZU={name:"snowflake",tokenizerOptions:{reservedSelect:jU,reservedClauses:[...qU,...hd,...Oh],reservedSetOperations:$U,reservedJoins:JU,reservedKeywordPhrases:QU,reservedDataTypePhrases:zU,reservedKeywords:XU,reservedDataTypes:KU,reservedFunctionNames:WU,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:[...hd,...Oh],tabularOnelineClauses:Oh}},ey=Object.freeze(Object.defineProperty({__proto__:null,bigquery:Ng,clickhouse:yg,db2:kg,db2i:Zg,duckdb:EM,hive:NM,mariadb:MM,mysql:wM,n1ql:rP,plsql:RP,postgresql:pP,redshift:BP,singlestoredb:kU,snowflake:ZU,spark:KP,sql:AU,sqlite:iU,tidb:$M,transactsql:bU,trino:_U},Symbol.toStringTag,{value:"Module"})),xo=i=>i[i.length-1],BC=i=>i.sort((e,t)=>t.length-e.length||e.localeCompare(t)),wu=i=>i.replace(/\s+/gu," "),Nh=i=>/\n/.test(i),vi=i=>i.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),Rd=/\s+/uy,Aa=i=>new RegExp(`(?:${i})`,"uy"),ty=i=>i.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),ny=i=>i+"(?:-"+i+")*",iy=({prefixes:i,requirePrefix:e})=>`(?:${i.map(ty).join("|")}${e?"":"|"})`,sy=i=>new RegExp(`(?:${i.map(vi).join("|")}).*?(?=\r
|
|
53
|
+
|\r|
|
|
54
|
+
|$)`,"uy"),Sd=(i,e=[])=>{const t=i==="open"?0:1,s=["()",...e].map(a=>a[t]);return Aa(s.map(vi).join("|"))},fd=i=>Aa(`${BC(i).map(vi).join("|")}`),ry=({rest:i,dashes:e})=>i||e?`(?![${i||""}${e?"-":""}])`:"",gs=(i,e={})=>{if(i.length===0)return/^\b$/u;const t=ry(e),s=BC(i).map(vi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${s})${t}\\b`,"iuy")},dh=(i,e)=>{if(!i.length)return;const t=i.map(vi).join("|");return Aa(`(?:${t})(?:${e})`)},ay=()=>{const i={"<":">","[":"]","(":")","{":"}"},e="{left}(?:(?!{right}').)*?{right}",t=Object.entries(i).map(([E,T])=>e.replace(/{left}/g,vi(E)).replace(/{right}/g,vi(T))),s=vi(Object.keys(i).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${s}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`},Od={"``":"(?:`[^`]*`)+","[]":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''":ay()},xC=i=>typeof i=="string"?Od[i]:"regex"in i?i.regex:iy(i)+Od[i.quote],ly=i=>Aa(i.map(e=>"regex"in e?e.regex:xC(e)).join("|")),HC=i=>i.map(xC).join("|"),Nd=i=>Aa(HC(i)),oy=(i={})=>Aa(wC(i)),wC=({first:i,rest:e,dashes:t,allowFirstCharNumber:s}={})=>{const a="\\p{Alphabetic}\\p{Mark}_",o="\\p{Decimal_Number}",E=vi(i??""),T=vi(e??""),c=s?`[${a}${o}${E}][${a}${o}${T}]*`:`[${a}${E}][${a}${o}${T}]*`;return t?ny(c):c};function YC(i,e){const t=i.slice(0,e).split(/\n/);return{line:t.length,col:t[t.length-1].length+1}}class Ey{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 s;for(;this.index<this.input.length;){const a=this.getWhitespace();if(this.index<this.input.length){if(s=this.getNextToken(),!s)throw this.createParseError();t.push(Object.assign(Object.assign({},s),{precedingWhitespace:a}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:s}=YC(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${s}.
|
|
55
|
+
${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
|
|
56
|
+
If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){Rd.lastIndex=this.index;const e=Rd.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 s=t[0],a={type:e.type,raw:s,text:e.text?e.text(s):s,start:this.index};return e.key&&(a.key=e.key(s)),this.index+=s.length,a}}}const dd=/\/\*/uy,uy=/[\s\S]/uy,Ty=/\*\//uy;class cy{constructor(){this.lastIndex=0}exec(e){let t="",s,a=0;if(s=this.matchSection(dd,e))t+=s,a++;else return null;for(;a>0;)if(s=this.matchSection(dd,e))t+=s,a++;else if(s=this.matchSection(Ty,e))t+=s,a--;else if(s=this.matchSection(uy,e))t+=s;else return null;return[t]}matchSection(e,t){e.lastIndex=this.lastIndex;const s=e.exec(t);return s&&(this.lastIndex+=s[0].length),s?s[0]:null}}class Ay{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const s=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],a=new Ey(s,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(a):a}buildRulesBeforeParams(e){var t,s,a;return this.validRules([{type:te.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:te.BLOCK_COMMENT,regex:e.nestedBlockComments?new cy:/(\/\*[^]*?\*\/)/uy},{type:te.LINE_COMMENT,regex:sy((t=e.lineCommentTypes)!==null&&t!==void 0?t:["--"])},{type:te.QUOTED_IDENTIFIER,regex:Nd(e.identTypes)},{type:te.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:te.RESERVED_KEYWORD_PHRASE,regex:gs((s=e.reservedKeywordPhrases)!==null&&s!==void 0?s:[],e.identChars),text:Qt},{type:te.RESERVED_DATA_TYPE_PHRASE,regex:gs((a=e.reservedDataTypePhrases)!==null&&a!==void 0?a:[],e.identChars),text:Qt},{type:te.CASE,regex:/CASE\b/iuy,text:Qt},{type:te.END,regex:/END\b/iuy,text:Qt},{type:te.BETWEEN,regex:/BETWEEN\b/iuy,text:Qt},{type:te.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:Qt},{type:te.RESERVED_CLAUSE,regex:gs(e.reservedClauses,e.identChars),text:Qt},{type:te.RESERVED_SELECT,regex:gs(e.reservedSelect,e.identChars),text:Qt},{type:te.RESERVED_SET_OPERATION,regex:gs(e.reservedSetOperations,e.identChars),text:Qt},{type:te.WHEN,regex:/WHEN\b/iuy,text:Qt},{type:te.ELSE,regex:/ELSE\b/iuy,text:Qt},{type:te.THEN,regex:/THEN\b/iuy,text:Qt},{type:te.RESERVED_JOIN,regex:gs(e.reservedJoins,e.identChars),text:Qt},{type:te.AND,regex:/AND\b/iuy,text:Qt},{type:te.OR,regex:/OR\b/iuy,text:Qt},{type:te.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:Qt},...e.operatorKeyword?[{type:te.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:te.RESERVED_FUNCTION_NAME,regex:gs(e.reservedFunctionNames,e.identChars),text:Qt},{type:te.RESERVED_DATA_TYPE,regex:gs(e.reservedDataTypes,e.identChars),text:Qt},{type:te.RESERVED_KEYWORD,regex:gs(e.reservedKeywords,e.identChars),text:Qt}])}buildRulesAfterParams(e){var t,s;return this.validRules([{type:te.VARIABLE,regex:e.variableTypes?ly(e.variableTypes):void 0},{type:te.STRING,regex:Nd(e.stringTypes)},{type:te.IDENTIFIER,regex:oy(e.identChars)},{type:te.DELIMITER,regex:/[;]/uy},{type:te.COMMA,regex:/[,]/y},{type:te.OPEN_PAREN,regex:Sd("open",e.extraParens)},{type:te.CLOSE_PAREN,regex:Sd("close",e.extraParens)},{type:te.OPERATOR,regex:fd(["+","-","/",">","<","=","<>","<=",">=","!=",...(t=e.operators)!==null&&t!==void 0?t:[]])},{type:te.ASTERISK,regex:/[*]/uy},{type:te.PROPERTY_ACCESS_OPERATOR,regex:fd([".",...(s=e.propertyAccessOperators)!==null&&s!==void 0?s:[]])}])}buildParamRules(e,t){var s,a,o,E,T;const c={named:(t==null?void 0:t.named)||((s=e.paramTypes)===null||s===void 0?void 0:s.named)||[],quoted:(t==null?void 0:t.quoted)||((a=e.paramTypes)===null||a===void 0?void 0:a.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:(E=e.paramTypes)===null||E===void 0?void 0:E.positional,custom:(t==null?void 0:t.custom)||((T=e.paramTypes)===null||T===void 0?void 0:T.custom)||[]};return this.validRules([{type:te.NAMED_PARAMETER,regex:dh(c.named,wC(e.paramChars||e.identChars)),key:A=>A.slice(1)},{type:te.QUOTED_PARAMETER,regex:dh(c.quoted,HC(e.identTypes)),key:A=>(({tokenKey:R,quoteChar:O})=>R.replace(new RegExp(vi("\\"+O),"gu"),O))({tokenKey:A.slice(2,-1),quoteChar:A.slice(-1)})},{type:te.NUMBERED_PARAMETER,regex:dh(c.numbered,"[0-9]+"),key:A=>A.slice(1)},{type:te.POSITIONAL_PARAMETER,regex:c.positional?/[?]/y:void 0},...c.custom.map(A=>{var R;return{type:te.CUSTOM_PARAMETER,regex:Aa(A.regex),key:(R=A.key)!==null&&R!==void 0?R:(O=>O)}})])}validRules(e){return e.filter(t=>!!t.regex)}}const Qt=i=>wu(i.toUpperCase()),Id=new Map,hy=i=>{let e=Id.get(i);return e||(e=Ry(i),Id.set(i,e)),e},Ry=i=>({tokenizer:new Ay(i.tokenizerOptions,i.name),formatOptions:Sy(i)}),Sy=({tokenizerOptions:i,formatOptions:e})=>{var t,s;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(a=>[a,!0])),tabularOnelineClauses:Object.fromEntries(((t=e.tabularOnelineClauses)!==null&&t!==void 0?t:e.onelineClauses).map(a=>[a,!0])),identifierDashes:!!(!((s=i.identChars)===null||s===void 0)&&s.dashes)}};function fy(i){return i.indentStyle==="tabularLeft"||i.indentStyle==="tabularRight"?" ".repeat(10):i.useTabs?" ":" ".repeat(i.tabWidth)}function sl(i){return i.indentStyle==="tabularLeft"||i.indentStyle==="tabularRight"}class Oy{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 Yu={exports:{}},Ny=Yu.exports,Cd;function dy(){return Cd||(Cd=1,(function(i){(function(e,t){i.exports?i.exports=t():e.nearley=t()})(Ny,function(){function e(A,R,O){return this.id=++e.highestId,this.name=A,this.symbols=R,this.postprocess=O,this}e.highestId=0,e.prototype.toString=function(A){var R=typeof A>"u"?this.symbols.map(c).join(" "):this.symbols.slice(0,A).map(c).join(" ")+" ● "+this.symbols.slice(A).map(c).join(" ");return this.name+" → "+R};function t(A,R,O,d){this.rule=A,this.dot=R,this.reference=O,this.data=[],this.wantedBy=d,this.isComplete=this.dot===A.symbols.length}t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(A){var R=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return R.left=this,R.right=A,R.isComplete&&(R.data=R.build(),R.right=void 0),R},t.prototype.build=function(){var A=[],R=this;do A.push(R.right.data),R=R.left;while(R.left);return A.reverse(),A},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,E.fail))};function s(A,R){this.grammar=A,this.index=R,this.states=[],this.wants={},this.scannable=[],this.completed={}}s.prototype.process=function(A){for(var R=this.states,O=this.wants,d=this.completed,L=0;L<R.length;L++){var p=R[L];if(p.isComplete){if(p.finish(),p.data!==E.fail){for(var g=p.wantedBy,v=g.length;v--;){var B=g[v];this.complete(B,p)}if(p.reference===this.index){var K=p.rule.name;(this.completed[K]=this.completed[K]||[]).push(p)}}}else{var K=p.rule.symbols[p.dot];if(typeof K!="string"){this.scannable.push(p);continue}if(O[K]){if(O[K].push(p),d.hasOwnProperty(K))for(var Z=d[K],v=0;v<Z.length;v++){var Te=Z[v];this.complete(p,Te)}}else O[K]=[p],this.predict(K)}}},s.prototype.predict=function(A){for(var R=this.grammar.byName[A]||[],O=0;O<R.length;O++){var d=R[O],L=this.wants[A],p=new t(d,0,this.index,L);this.states.push(p)}},s.prototype.complete=function(A,R){var O=A.nextState(R);this.states.push(O)};function a(A,R){this.rules=A,this.start=R||this.rules[0].name;var O=this.byName={};this.rules.forEach(function(d){O.hasOwnProperty(d.name)||(O[d.name]=[]),O[d.name].push(d)})}a.fromCompiled=function(d,R){var O=d.Lexer;d.ParserStart&&(R=d.ParserStart,d=d.ParserRules);var d=d.map(function(p){return new e(p.name,p.symbols,p.postprocess)}),L=new a(d,R);return L.lexer=O,L};function o(){this.reset("")}o.prototype.reset=function(A,R){this.buffer=A,this.index=0,this.line=R?R.line:1,this.lastLineBreak=R?-R.col:0},o.prototype.next=function(){if(this.index<this.buffer.length){var A=this.buffer[this.index++];return A===`
|
|
57
|
+
`&&(this.line+=1,this.lastLineBreak=this.index),{value:A}}},o.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},o.prototype.formatError=function(A,R){var O=this.buffer;if(typeof O=="string"){var d=O.split(`
|
|
58
|
+
`).slice(Math.max(0,this.line-5),this.line),L=O.indexOf(`
|
|
59
|
+
`,this.index);L===-1&&(L=O.length);var p=this.index-this.lastLineBreak,g=String(this.line).length;return R+=" at line "+this.line+" col "+p+`:
|
|
60
|
+
|
|
61
|
+
`,R+=d.map(function(B,K){return v(this.line-d.length+K+1,g)+" "+B},this).join(`
|
|
62
|
+
`),R+=`
|
|
63
|
+
`+v("",g+p)+`^
|
|
64
|
+
`,R}else return R+" at index "+(this.index-1);function v(B,K){var Z=String(B);return Array(K-Z.length+1).join(" ")+Z}};function E(A,R,O){if(A instanceof a)var d=A,O=R;else var d=a.fromCompiled(A,R);this.grammar=d,this.options={keepHistory:!1,lexer:d.lexer||new o};for(var L in O||{})this.options[L]=O[L];this.lexer=this.options.lexer,this.lexerState=void 0;var p=new s(d,0);this.table=[p],p.wants[d.start]=[],p.predict(d.start),p.process(),this.current=0}E.fail={},E.prototype.feed=function(A){var R=this.lexer;R.reset(A,this.lexerState);for(var O;;){try{if(O=R.next(),!O)break}catch(j){var g=new s(this.grammar,this.current+1);this.table.push(g);var d=new Error(this.reportLexerError(j));throw d.offset=this.current,d.token=j.token,d}var L=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var p=this.current+1,g=new s(this.grammar,p);this.table.push(g);for(var v=O.text!==void 0?O.text:O.value,B=R.constructor===o?O.value:O,K=L.scannable,Z=K.length;Z--;){var Te=K[Z],$=Te.rule.symbols[Te.dot];if($.test?$.test(B):$.type?$.type===O.type:$.literal===v){var ae=Te.nextState({data:B,token:O,isToken:!0,reference:p-1});g.states.push(ae)}}if(g.process(),g.states.length===0){var d=new Error(this.reportError(O));throw d.offset=this.current,d.token=O,d}this.options.keepHistory&&(L.lexerState=R.save()),this.current++}return L&&(this.lexerState=R.save()),this.results=this.finish(),this},E.prototype.reportLexerError=function(A){var R,O,d=A.token;return d?(R="input "+JSON.stringify(d.text[0])+" (lexer error)",O=this.lexer.formatError(d,"Syntax error")):(R="input (lexer error)",O=A.message),this.reportErrorCommon(O,R)},E.prototype.reportError=function(A){var R=(A.type?A.type+" token: ":"")+JSON.stringify(A.value!==void 0?A.value:A),O=this.lexer.formatError(A,"Syntax error");return this.reportErrorCommon(O,R)},E.prototype.reportErrorCommon=function(A,R){var O=[];O.push(A);var d=this.table.length-2,L=this.table[d],p=L.states.filter(function(v){var B=v.rule.symbols[v.dot];return B&&typeof B!="string"});if(p.length===0)O.push("Unexpected "+R+`. I did not expect any more input. Here is the state of my parse table:
|
|
65
|
+
`),this.displayStateStack(L.states,O);else{O.push("Unexpected "+R+`. Instead, I was expecting to see one of the following:
|
|
66
|
+
`);var g=p.map(function(v){return this.buildFirstStateStack(v,[])||[v]},this);g.forEach(function(v){var B=v[0],K=B.rule.symbols[B.dot],Z=this.getSymbolDisplay(K);O.push("A "+Z+" based on:"),this.displayStateStack(v,O)},this)}return O.push(""),O.join(`
|
|
67
|
+
`)},E.prototype.displayStateStack=function(A,R){for(var O,d=0,L=0;L<A.length;L++){var p=A[L],g=p.rule.toString(p.dot);g===O?d++:(d>0&&R.push(" ^ "+d+" more lines identical to this"),d=0,R.push(" "+g)),O=g}},E.prototype.getSymbolDisplay=function(A){return T(A)},E.prototype.buildFirstStateStack=function(A,R){if(R.indexOf(A)!==-1)return null;if(A.wantedBy.length===0)return[A];var O=A.wantedBy[0],d=[A].concat(R),L=this.buildFirstStateStack(O,d);return L===null?null:[A].concat(L)},E.prototype.save=function(){var A=this.table[this.current];return A.lexerState=this.lexerState,A},E.prototype.restore=function(A){var R=A.index;this.current=R,this.table[R]=A,this.table.splice(R+1),this.lexerState=A.lexerState,this.results=this.finish()},E.prototype.rewind=function(A){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[A])},E.prototype.finish=function(){var A=[],R=this.grammar.start,O=this.table[this.table.length-1];return O.states.forEach(function(d){d.rule.name===R&&d.dot===d.rule.symbols.length&&d.reference===0&&d.data!==E.fail&&A.push(d)}),A.map(function(d){return d.data})};function T(A){var R=typeof A;if(R==="string")return A;if(R==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return"character matching "+A;if(A.type)return A.type+" token";if(A.test)return"token matching "+String(A.test);throw new Error("Unknown symbol type: "+A)}}function c(A){var R=typeof A;if(R==="string")return A;if(R==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return A.toString();if(A.type)return"%"+A.type;if(A.test)return"<"+String(A.test)+">";throw new Error("Unknown symbol type: "+A)}}return{Parser:E,Grammar:a,Rule:e}})})(Yu)),Yu.exports}var Iy=dy();const Cy=TC(Iy);function _y(i){return i.map(Ly).map(my).map(py).map(Dy).map(gy)}const Ly=(i,e,t)=>{if(GC(i.type)){const s=My(t,e);if(s&&s.type===te.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},i),{type:te.IDENTIFIER,text:i.raw});const a=Cl(t,e);if(a&&a.type===te.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},i),{type:te.IDENTIFIER,text:i.raw})}return i},my=(i,e,t)=>{if(i.type===te.RESERVED_FUNCTION_NAME){const s=Cl(t,e);if(!s||!FC(s))return Object.assign(Object.assign({},i),{type:te.IDENTIFIER,text:i.raw})}return i},py=(i,e,t)=>{if(i.type===te.RESERVED_DATA_TYPE){const s=Cl(t,e);if(s&&FC(s))return Object.assign(Object.assign({},i),{type:te.RESERVED_PARAMETERIZED_DATA_TYPE})}return i},Dy=(i,e,t)=>{if(i.type===te.IDENTIFIER){const s=Cl(t,e);if(s&&VC(s))return Object.assign(Object.assign({},i),{type:te.ARRAY_IDENTIFIER})}return i},gy=(i,e,t)=>{if(i.type===te.RESERVED_DATA_TYPE){const s=Cl(t,e);if(s&&VC(s))return Object.assign(Object.assign({},i),{type:te.ARRAY_KEYWORD})}return i},My=(i,e)=>Cl(i,e,-1),Cl=(i,e,t=1)=>{let s=1;for(;i[e+s*t]&&Py(i[e+s*t]);)s++;return i[e+s*t]},FC=i=>i.type===te.OPEN_PAREN&&i.text==="(",VC=i=>i.type===te.OPEN_PAREN&&i.text==="[",Py=i=>i.type===te.BLOCK_COMMENT||i.type===te.LINE_COMMENT;class kC{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:s}=YC(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${s}`}has(e){return e in te}}var pe;(function(i){i.statement="statement",i.clause="clause",i.set_operation="set_operation",i.function_call="function_call",i.parameterized_data_type="parameterized_data_type",i.array_subscript="array_subscript",i.property_access="property_access",i.parenthesis="parenthesis",i.between_predicate="between_predicate",i.case_expression="case_expression",i.case_when="case_when",i.case_else="case_else",i.limit_clause="limit_clause",i.all_columns_asterisk="all_columns_asterisk",i.literal="literal",i.identifier="identifier",i.keyword="keyword",i.data_type="data_type",i.parameter="parameter",i.operator="operator",i.comma="comma",i.line_comment="line_comment",i.block_comment="block_comment",i.disable_comment="disable_comment"})(pe=pe||(pe={}));function Ih(i){return i[0]}const He=new kC(i=>[]),Zr=([[i]])=>i,on=i=>({type:pe.keyword,tokenType:i.type,text:i.text,raw:i.raw}),_d=i=>({type:pe.data_type,text:i.text,raw:i.raw}),En=(i,{leading:e,trailing:t})=>(e!=null&&e.length&&(i=Object.assign(Object.assign({},i),{leadingComments:e})),t!=null&&t.length&&(i=Object.assign(Object.assign({},i),{trailingComments:t})),i),Uy=(i,{leading:e,trailing:t})=>{if(e!=null&&e.length){const[s,...a]=i;i=[En(s,{leading:e}),...a]}if(t!=null&&t.length){const s=i.slice(0,-1),a=i[i.length-1];i=[...s,En(a,{trailing:t})]}return i},yy={Lexer:He,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:i=>i[0].concat([i[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([i])=>{const e=i[i.length-1];return e&&!e.hasSemicolon?e.children.length>0?i:i.slice(0,-1):i}},{name:"statement$subexpression$1",symbols:[He.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[He.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([i,[e]])=>({type:pe.statement,children:i,hasSemicolon:e.type===te.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:i=>i[0].concat([i[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:i=>i[0].concat([i[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([i,e])=>[...i,...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:Zr},{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:i=>i[0].concat([i[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[He.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:Ih},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[He.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([i,e,t,s])=>{if(s){const[a,o]=s;return{type:pe.limit_clause,limitKw:En(on(i),{trailing:e}),offset:t,count:o}}else return{type:pe.limit_clause,limitKw:En(on(i),{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:i=>i[0].concat([i[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:i=>i[0].concat([i[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[He.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([i,[e,t]])=>({type:pe.clause,nameKw:on(i),children:[e,...t]})},{name:"select_clause",symbols:[He.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([i])=>({type:pe.clause,nameKw:on(i),children:[]})},{name:"all_columns_asterisk",symbols:[He.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:pe.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:i=>i[0].concat([i[1]])},{name:"other_clause",symbols:[He.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([i,e])=>({type:pe.clause,nameKw:on(i),children:e})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:i=>i[0].concat([i[1]])},{name:"set_operation",symbols:[He.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([i,e])=>({type:pe.set_operation,nameKw:on(i),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:i=>i[0].concat([i[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:Ih},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:i=>i[0].concat([i[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([i,e])=>[i,...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:i=>i[0].concat([i[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([i,e])=>[i,...e]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([i,e])=>En(i,{trailing:e})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([i,e])=>En(e,{leading:i})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([i,e])=>En(e,{leading:i})},{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:Zr},{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:Zr},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:Zr},{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:Zr},{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:Zr},{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:Zr},{name:"array_subscript",symbols:[He.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([i,e,t])=>({type:pe.array_subscript,array:En({type:pe.identifier,quoted:!1,text:i.text},{trailing:e}),parenthesis:t})},{name:"array_subscript",symbols:[He.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([i,e,t])=>({type:pe.array_subscript,array:En(on(i),{trailing:e}),parenthesis:t})},{name:"function_call",symbols:[He.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([i,e,t])=>({type:pe.function_call,nameKw:En(on(i),{trailing:e}),parenthesis:t})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([i,e,t])=>({type:pe.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:i=>i[0].concat([i[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([i,e,t])=>({type:pe.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:i=>i[0].concat([i[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([i,e,t])=>({type:pe.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","_",He.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([i,e,t,s,[a]])=>({type:pe.property_access,object:En(i,{trailing:e}),operator:t.text,property:En(a,{leading:s})})},{name:"between_predicate",symbols:[He.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",He.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([i,e,t,s,a,o,E])=>({type:pe.between_predicate,betweenKw:on(i),expr1:Uy(t,{leading:e,trailing:s}),andKw:on(a),expr2:[En(E,{leading:o})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:Ih},{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:i=>i[0].concat([i[1]])},{name:"case_expression",symbols:[He.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",He.has("END")?{type:"END"}:END],postprocess:([i,e,t,s,a])=>({type:pe.case_expression,caseKw:En(on(i),{trailing:e}),endKw:on(a),expr:t||[],clauses:s})},{name:"case_clause",symbols:[He.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",He.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([i,e,t,s,a,o])=>({type:pe.case_when,whenKw:En(on(i),{trailing:e}),thenKw:En(on(s),{trailing:a}),condition:t,result:o})},{name:"case_clause",symbols:[He.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([i,e,t])=>({type:pe.case_else,elseKw:En(on(i),{trailing:e}),result:t})},{name:"comma$subexpression$1",symbols:[He.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[i]])=>({type:pe.comma})},{name:"asterisk$subexpression$1",symbols:[He.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[i]])=>({type:pe.operator,text:i.text})},{name:"operator$subexpression$1",symbols:[He.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[i]])=>({type:pe.operator,text:i.text})},{name:"identifier$subexpression$1",symbols:[He.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[He.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[He.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[i]])=>({type:pe.identifier,quoted:i.type!=="IDENTIFIER",text:i.text})},{name:"parameter$subexpression$1",symbols:[He.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[He.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[He.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[He.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[He.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[i]])=>({type:pe.parameter,key:i.key,text:i.text})},{name:"literal$subexpression$1",symbols:[He.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[He.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[i]])=>({type:pe.literal,text:i.text})},{name:"keyword$subexpression$1",symbols:[He.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[He.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[He.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[i]])=>on(i)},{name:"data_type$subexpression$1",symbols:[He.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[He.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[i]])=>_d(i)},{name:"data_type",symbols:[He.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([i,e,t])=>({type:pe.parameterized_data_type,dataType:En(_d(i),{trailing:e}),parenthesis:t})},{name:"logic_operator$subexpression$1",symbols:[He.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[He.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[He.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[i]])=>on(i)},{name:"other_keyword$subexpression$1",symbols:[He.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[He.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[He.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[He.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[i]])=>on(i)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:i=>i[0].concat([i[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([i])=>i},{name:"comment",symbols:[He.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([i])=>({type:pe.line_comment,text:i.text,precedingWhitespace:i.precedingWhitespace})},{name:"comment",symbols:[He.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([i])=>({type:pe.block_comment,text:i.text,precedingWhitespace:i.precedingWhitespace})},{name:"comment",symbols:[He.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([i])=>({type:pe.disable_comment,text:i.text,precedingWhitespace:i.precedingWhitespace})}],ParserStart:"main"},{Parser:by,Grammar:vy}=Cy;function Gy(i){let e={};const t=new kC(a=>[..._y(i.tokenize(a,e)),vC(a.length)]),s=new by(vy.fromCompiled(yy),{lexer:t});return{parse:(a,o)=>{e=o;const{results:E}=s.feed(a);if(E.length===1)return E[0];throw E.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
|
|
68
|
+
${JSON.stringify(E,void 0,2)}`)}}}var Q;(function(i){i[i.SPACE=0]="SPACE",i[i.NO_SPACE=1]="NO_SPACE",i[i.NO_NEWLINE=2]="NO_NEWLINE",i[i.NEWLINE=3]="NEWLINE",i[i.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",i[i.INDENT=5]="INDENT",i[i.SINGLE_INDENT=6]="SINGLE_INDENT"})(Q=Q||(Q={}));class WC{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case Q.SPACE:this.items.push(Q.SPACE);break;case Q.NO_SPACE:this.trimHorizontalWhitespace();break;case Q.NO_NEWLINE:this.trimWhitespace();break;case Q.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(Q.NEWLINE);break;case Q.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(Q.MANDATORY_NEWLINE);break;case Q.INDENT:this.addIndentation();break;case Q.SINGLE_INDENT:this.items.push(Q.SINGLE_INDENT);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;By(xo(this.items));)this.items.pop()}trimWhitespace(){for(;xy(xo(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(xo(this.items)){case Q.NEWLINE:this.items.pop(),this.items.push(e);break;case Q.MANDATORY_NEWLINE:break;default:this.items.push(e);break}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(Q.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!==Q.SINGLE_INDENT)return t===Q.NEWLINE||t===Q.MANDATORY_NEWLINE}return!1}itemToString(e){switch(e){case Q.SPACE:return" ";case Q.NEWLINE:case Q.MANDATORY_NEWLINE:return`
|
|
69
|
+
`;case Q.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}const By=i=>i===Q.SPACE||i===Q.SINGLE_INDENT,xy=i=>i===Q.SPACE||i===Q.SINGLE_INDENT||i===Q.NEWLINE;function Ld(i,e){if(e==="standard")return i;let t=[];return i.length>=10&&i.includes(" ")&&([i,...t]=i.split(" ")),e==="tabularLeft"?i=i.padEnd(9," "):i=i.padStart(9," "),i+["",...t].join(" ")}function md(i){return Eg(i)||i===te.RESERVED_CLAUSE||i===te.RESERVED_SELECT||i===te.RESERVED_SET_OPERATION||i===te.RESERVED_JOIN||i===te.LIMIT}const Ch="top-level",Hy="block-level";class XC{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(Ch)}increaseBlockLevel(){this.indentTypes.push(Hy)}decreaseTopLevel(){this.indentTypes.length>0&&xo(this.indentTypes)===Ch&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===Ch;);}}class wy extends WC{constructor(e){super(new XC("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(t=>this.addToLength(t)),this.length>this.expressionWidth)throw new qh;super.add(...e)}addToLength(e){if(typeof e=="string")this.length+=e.length,this.trailingSpace=!1;else{if(e===Q.MANDATORY_NEWLINE||e===Q.NEWLINE)throw new qh;e===Q.INDENT||e===Q.SINGLE_INDENT||e===Q.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(e===Q.NO_NEWLINE||e===Q.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class qh extends Error{}class Ju{constructor({cfg:e,dialectCfg:t,params:s,layout:a,inline:o=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=o,this.params=s,this.layout=a}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 pe.function_call:return this.formatFunctionCall(e);case pe.parameterized_data_type:return this.formatParameterizedDataType(e);case pe.array_subscript:return this.formatArraySubscript(e);case pe.property_access:return this.formatPropertyAccess(e);case pe.parenthesis:return this.formatParenthesis(e);case pe.between_predicate:return this.formatBetweenPredicate(e);case pe.case_expression:return this.formatCaseExpression(e);case pe.case_when:return this.formatCaseWhen(e);case pe.case_else:return this.formatCaseElse(e);case pe.clause:return this.formatClause(e);case pe.set_operation:return this.formatSetOperation(e);case pe.limit_clause:return this.formatLimitClause(e);case pe.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case pe.literal:return this.formatLiteral(e);case pe.identifier:return this.formatIdentifier(e);case pe.parameter:return this.formatParameter(e);case pe.operator:return this.formatOperator(e);case pe.comma:return this.formatComma(e);case pe.line_comment:return this.formatLineComment(e);case pe.block_comment:return this.formatBlockComment(e);case pe.disable_comment:return this.formatBlockComment(e);case pe.data_type:return this.formatDataType(e);case pe.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 pe.data_type:t=this.showDataType(e.array);break;case pe.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(Q.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(Q.NO_SPACE,e.closeParen,Q.SPACE)):(this.layout.add(e.openParen,Q.NEWLINE),sl(this.cfg)?(this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(Q.NEWLINE,Q.INDENT,e.closeParen,Q.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),Q.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(Q.NO_SPACE,Q.SPACE,this.showNonTabularKw(e.andKw),Q.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(Q.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(Q.NEWLINE,Q.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(Q.NEWLINE,Q.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(Q.NEWLINE,Q.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):sl(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return sl(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.NEWLINE),this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),sl(this.cfg)?this.layout.add(Q.SPACE):this.layout.add(Q.NEWLINE,Q.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(Q.NO_SPACE,",",Q.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",Q.SPACE)}formatLiteral(e){this.layout.add(e.text,Q.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),Q.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),Q.SPACE)}formatOperator({text:e}){e==="-"&&this.dialectCfg.identifierDashes?this.layout.add(e,Q.SPACE):this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(Q.NO_SPACE,e):e===":"?this.layout.add(Q.NO_SPACE,e,Q.SPACE):this.layout.add(e,Q.SPACE)}formatComma(e){this.inline?this.layout.add(Q.NO_SPACE,",",Q.SPACE):this.layout.add(Q.NO_SPACE,",",Q.NEWLINE,Q.INDENT)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(t=>{t.type===pe.line_comment?this.formatLineComment(t):this.formatBlockComment(t)})}formatLineComment(e){Nh(e.precedingWhitespace||"")?this.layout.add(Q.NEWLINE,Q.INDENT,e.text,Q.MANDATORY_NEWLINE,Q.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(Q.NO_NEWLINE,Q.SPACE,e.text,Q.MANDATORY_NEWLINE,Q.INDENT):this.layout.add(e.text,Q.MANDATORY_NEWLINE,Q.INDENT)}formatBlockComment(e){e.type===pe.block_comment&&this.isStandaloneBlockComment(e)?(this.splitBlockComment(e.text).forEach(t=>{this.layout.add(Q.NEWLINE,Q.INDENT,t)}),this.layout.add(Q.NEWLINE,Q.INDENT)):this.layout.add(e.text,Q.SPACE)}isStandaloneBlockComment(e){return Nh(e.text)||Nh(e.precedingWhitespace||"")||this.layout.isAtStartOfLine()}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(s=>/^\s*\*/.test(s))&&/^\s*\*\/$/.test(xo(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 Ju({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 Ju({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new wy(this.cfg.expressionWidth),inline:!0}).format(e)}catch(s){if(s instanceof qh){this.params.setPositionalParameterIndex(t);return}else throw s}}formatKeywordNode(e){switch(e.tokenType){case te.RESERVED_JOIN:return this.formatJoin(e);case te.AND:case te.OR:case te.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){sl(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),Q.SPACE)}formatLogicalOperator(e){this.cfg.logicalOperatorNewline==="before"?sl(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE):this.layout.add(this.showKw(e),Q.NEWLINE,Q.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),Q.SPACE)}showKw(e){return md(e.tokenType)?Ld(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return wu(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return md(e.tokenType)?Ld(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return wu(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 wu(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class Yy{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new Oy(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return Gy(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(t=>this.formatStatement(t)).join(`
|
|
70
|
+
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new Ju({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new WC(new XC(fy(this.cfg)))}).format(e.children);return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(Q.NEWLINE,";"):t.add(Q.NO_NEWLINE,";")),t.toString()}}class Fu extends Error{}function Fy(i){const e=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const t of e)if(t in i)throw new Fu(`${t} config is no more supported.`);if(i.expressionWidth<=0)throw new Fu(`expressionWidth config must be positive number. Received ${i.expressionWidth} instead.`);if(i.params&&!Vy(i.params)&&console.warn('WARNING: All "params" option values should be strings.'),i.paramTypes&&!ky(i.paramTypes))throw new Fu("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return i}function Vy(i){return(i instanceof Array?i:Object.values(i)).every(t=>typeof t=="string")}function ky(i){return i.custom&&Array.isArray(i.custom)?i.custom.every(e=>e.regex!==""):!0}var Wy=function(i,e){var t={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&e.indexOf(s)<0&&(t[s]=i[s]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(i);a<s.length;a++)e.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(i,s[a])&&(t[s[a]]=i[s[a]]);return t};const KC={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"},Xy=Object.keys(KC),Ky={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},jy=(i,e={})=>{if(typeof e.language=="string"&&!Xy.includes(e.language))throw new Fu(`Unsupported SQL dialect: ${e.language}`);const t=KC[e.language||"sql"];return qy(i,Object.assign(Object.assign({},e),{dialect:ey[t]}))},qy=(i,e)=>{var{dialect:t}=e,s=Wy(e,["dialect"]);if(typeof i!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof i);const a=Fy(Object.assign(Object.assign({},Ky),s));return new Yy(hy(t),a).format(i)};function $y(i){try{return jy(i,{language:"sqlite",tabWidth:2,keywordCase:"upper"})}catch{return i}}function pd(i){return i===null?"":`"${String(i).replace(/"/g,'""')}"`}function Jy(i){return i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Dd(i){return i===null?"<Cell/>":typeof i=="number"&&Number.isFinite(i)?`<Cell><Data ss:Type="Number">${i}</Data></Cell>`:`<Cell><Data ss:Type="String">${Jy(String(i))}</Data></Cell>`}function Qy(i){const e=i.columns.join(" "),t=i.rows.map(s=>s.map(a=>a===null?"":String(a)).join(" ")).join(`
|
|
71
|
+
`);return`${e}
|
|
72
|
+
${t}`}function zy(i){const e=i.columns.map(s=>pd(s)).join(","),t=i.rows.map(s=>s.map(a=>pd(a)).join(",")).join(`
|
|
73
|
+
`);return`${e}
|
|
74
|
+
${t}`}function Zy(i){const e=i.rows.map(t=>{const s={};return i.columns.forEach((a,o)=>{s[a]=t[o]??null}),s});return JSON.stringify(e,null,2)}function eb(i){const e=`<Row>${i.columns.map(s=>Dd(s)).join("")}</Row>`,t=i.rows.map(s=>`<Row>${s.map(a=>Dd(a)).join("")}</Row>`).join("");return`<?xml version="1.0"?>
|
|
75
|
+
<?mso-application progid="Excel.Sheet"?>
|
|
76
|
+
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
|
|
77
|
+
xmlns:o="urn:schemas-microsoft-com:office:office"
|
|
78
|
+
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
|
79
|
+
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
|
|
80
|
+
<Worksheet ss:Name="Results">
|
|
81
|
+
<Table>
|
|
82
|
+
${e}
|
|
83
|
+
${t}
|
|
84
|
+
</Table>
|
|
85
|
+
</Worksheet>
|
|
86
|
+
</Workbook>`}function _h(i,e,t){const s=new Blob([e],{type:t}),a=URL.createObjectURL(s),o=document.createElement("a");o.href=a,o.download=i,o.click(),URL.revokeObjectURL(a)}async function tb(i){await navigator.clipboard.writeText(i)}const nb="",jC=50,$h="database-devtools-query-history",Jh="database-devtools-query-favorites";function IT(i){try{const e=localStorage.getItem(i);return e?JSON.parse(e):{}}catch{return{}}}function qC(i,e){localStorage.setItem(i,JSON.stringify(e))}function CT(i){return i??"__global__"}function $C(i){return IT($h)[CT(i)]??[]}function JC(i,e){const t=IT($h);t[CT(i)]=e.slice(0,jC),qC($h,t)}function gd(i,e){const t=$C(i),s=[e,...t.filter(a=>a.sql!==e.sql)].slice(0,jC);return JC(i,s),s}function ib(i){JC(i,[])}function qR(i){return IT(Jh)[CT(i)]??[]}function QC(i,e){const t=IT(Jh);t[CT(i)]=e,qC(Jh,t)}function sb(i,e){const s=qR(i).filter(o=>o.name!==e.name),a=[e,...s];return QC(i,a),a}function rb(i,e){const t=qR(i).filter(s=>s.id!==e);return QC(i,t),t}function ab(i){const e=i.sql.trim().split(`
|
|
87
|
+
`)[0]??"";return e.length>48?`${e.slice(0,48)}…`:e}function Md(i,e,t){return{id:`hist-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,sql:i,ranAt:Date.now(),durationMs:e==null?void 0:e.durationMs,rowCount:e==null?void 0:e.rowCount,error:t}}function lb(i,e){return{id:`fav-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:i,sql:e,createdAt:Date.now()}}const zC="database-devtools-query-tabs";function ZC(i){return i??"__global__"}function e_(){try{const i=sessionStorage.getItem(zC);return i?JSON.parse(i):{}}catch{return{}}}function ob(i){sessionStorage.setItem(zC,JSON.stringify(i))}function Eb(){return{id:`tab-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,title:"Query 1",sql:nb}}function Pd(i){const t=e_()[ZC(i)];if(!t||t.tabs.length===0){const a=Eb();return{tabs:[a],activeTabId:a.id}}const s=t.tabs.some(a=>a.id===t.activeTabId)?t.activeTabId:t.tabs[0].id;return{tabs:t.tabs,activeTabId:s}}function ub(i,e,t){const s=e_();s[ZC(i)]={tabs:e,activeTabId:t},ob(s)}function Tb(i){return{id:`tab-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,title:`Query ${i}`,sql:""}}const t_="database-devtools-workspace-preferences",Do={objectExplorerOpen:!0,bottomPanelTab:"results",editorSplitRatio:.42,navCollapsed:!1};function cb(i){return i==="results"||i==="data"||i==="output"||i==="history"?i:i==="messages"||i==="schema"?i==="schema"?"data":"output":"results"}function Ab(){try{const i=localStorage.getItem(t_);if(!i)return Do;const e=JSON.parse(i);return{objectExplorerOpen:typeof e.objectExplorerOpen=="boolean"?e.objectExplorerOpen:Do.objectExplorerOpen,bottomPanelTab:cb(e.bottomPanelTab),editorSplitRatio:typeof e.editorSplitRatio=="number"?Math.min(.75,Math.max(.2,e.editorSplitRatio)):Do.editorSplitRatio,navCollapsed:typeof e.navCollapsed=="boolean"?e.navCollapsed:Do.navCollapsed}}catch{return Do}}function hb(i){try{localStorage.setItem(t_,JSON.stringify(i))}catch{}}const n_=y.createContext(null);function Rb({children:i}){const e=y.useMemo(()=>Ab(),[]),[t,s]=y.useState(e.objectExplorerOpen),[a,o]=y.useState(e.bottomPanelTab),[E,T]=y.useState(e.editorSplitRatio),[c,A]=y.useState(e.navCollapsed),[R,O]=y.useState(!1),[d,L]=y.useState(!1),p=y.useCallback(j=>{hb(j)},[]),g=y.useCallback(j=>{s(j),p({objectExplorerOpen:j,bottomPanelTab:a,editorSplitRatio:E,navCollapsed:c})},[a,E,c,p]),v=y.useCallback(()=>{s(j=>{const ce=!j;return p({objectExplorerOpen:ce,bottomPanelTab:a,editorSplitRatio:E,navCollapsed:c}),ce})},[a,E,c,p]),B=y.useCallback(j=>{o(j),p({objectExplorerOpen:t,bottomPanelTab:j,editorSplitRatio:E,navCollapsed:c}),j==="output"&&L(!1)},[E,c,t,p]),K=y.useCallback(j=>{const ce=Math.min(.75,Math.max(.2,j));T(ce),p({objectExplorerOpen:t,bottomPanelTab:a,editorSplitRatio:ce,navCollapsed:c})},[a,c,t,p]),Z=y.useCallback(j=>{A(j),p({objectExplorerOpen:t,bottomPanelTab:a,editorSplitRatio:E,navCollapsed:j})},[a,E,t,p]),Te=y.useCallback(()=>{L(!1)},[]),$=y.useCallback(()=>{L(!0)},[]);y.useEffect(()=>{p({objectExplorerOpen:t,bottomPanelTab:a,editorSplitRatio:E,navCollapsed:c})},[a,E,c,t,p]);const ae=y.useMemo(()=>({objectExplorerOpen:t,toggleObjectExplorer:v,setObjectExplorerOpen:g,bottomPanelTab:a,setBottomPanelTab:B,editorSplitRatio:E,setEditorSplitRatio:K,shortcutsOpen:R,setShortcutsOpen:O,outputUnread:d,clearOutputUnread:Te,markOutputUnread:$,navCollapsed:c,setNavCollapsed:Z}),[t,v,g,a,B,E,K,R,d,Te,$,c,Z]);return I.jsx(n_.Provider,{value:ae,children:i})}function pr(){const i=y.useContext(n_);if(!i)throw new Error("useWorkspace must be used within WorkspaceProvider");return i}const i_=y.createContext(null);function Lh(i,e=!1){return{...i,dirty:e}}function Sb(i,e,t){return{...i,sql:e,dirty:e!==t}}function fb({children:i}){const{databaseSessionId:e,hasDatabase:t,executeQuery:s,clearQueryError:a}=Ut(),{clearTableSelection:o}=Bi(),{setBottomPanelTab:E,markOutputUnread:T}=pr(),{showToast:c}=XR(),{markQueryRun:A}=bC(),R=y.useRef(Pd(e)),[O,d]=y.useState(()=>R.current.tabs.map(ye=>Lh(ye))),[L,p]=y.useState(R.current.activeTabId),[g,v]=y.useState(()=>{const ye={};return R.current.tabs.forEach(we=>{ye[we.id]=we.sql}),ye}),[B,K]=y.useState(null),[Z,Te]=y.useState(null),[$,ae]=y.useState(!1),[j,ce]=y.useState(null),[he,Se]=y.useState(null),[de,ue]=y.useState([]),[Le,Pe]=y.useState([]),[Ue,X]=y.useState(!1),[Ee,fe]=y.useState(null),De=y.useMemo(()=>O.find(ye=>ye.id===L)??O[0],[O,L]),U=(De==null?void 0:De.sql)??"";y.useEffect(()=>{const ye=Pd(e);d(ye.tabs.map(ke=>Lh(ke))),p(ye.activeTabId);const we={};ye.tabs.forEach(ke=>{we[ke.id]=ke.sql}),v(we),K(null),Te(null),ce(null),Se(null)},[e]),y.useEffect(()=>{O.length!==0&&ub(e,O.map(({id:ye,title:we,sql:ke})=>({id:ye,title:we,sql:ke})),L)},[O,L,e]),y.useEffect(()=>{ue($C(e)),Pe(qR(e))},[e]);const P=y.useCallback(ye=>{d(we=>we.map(ke=>ke.id===L?Sb(ke,ye,g[ke.id]??ke.sql):ke))},[L,g]),q=P,ee=y.useCallback(()=>{const ye=O.length+1,we=Tb(ye),ke=Lh(we);d(ot=>[...ot,ke]),v(ot=>({...ot,[ke.id]:ke.sql})),p(ke.id)},[O.length]),le=y.useCallback(ye=>{if(O.length===1)return;const we=O.find(ke=>ke.id===ye);we!=null&&we.dirty&&!window.confirm(`Close ${we.title} without saving changes?`)||(d(ke=>{const ot=ke.filter(gt=>gt.id!==ye);return L===ye&&p(ot[0].id),ot}),v(ke=>{const ot={...ke};return delete ot[ye],ot}))},[O,L]),Oe=y.useCallback((ye,we)=>{const ke=we.trim();ke&&d(ot=>ot.map(gt=>gt.id===ye?{...gt,title:ke}:gt))},[]),Ne=y.useCallback(ye=>{p(ye)},[]),We=y.useCallback((ye,we)=>{if(!t||$)return;const ke=(ye??U).trim();if(!ke){Se("Nothing to run — enter a SQL statement first."),E("output"),T();return}we!=null&&we.keepTableSelection||o(),ae(!0),Te(null),Se(null),a();try{const ot=s(ke);K(ot),ce({durationMs:ot.durationMs,rowCount:ot.rowCount,ranAt:Date.now()}),Se(`Query executed successfully. ${ot.rowCount} row${ot.rowCount===1?"":"s"} returned in ${ot.durationMs.toFixed(1)} ms.`);const gt=Md(ke,ot);ue(gd(e,gt)),E("results"),A()}catch(ot){const gt=ot instanceof Error?ot.message:"Query failed";Te(gt),K(null),ce(null),Se(gt);const Xt=Md(ke,void 0,gt);ue(gd(e,Xt)),E("output"),T(),c({title:"Query failed",message:gt,variant:"error"})}finally{ae(!1)}},[t,$,U,s,a,e,E,T,A,c,o]),$e=y.useCallback(()=>{const ye=$y(U);P(ye)},[U,P]),Dt=y.useCallback(()=>{P("")},[P]),Lt=y.useCallback(ye=>{P(ye),K(null),Te(null),ce(null),Se(null)},[P]),yt=y.useCallback(ye=>{P(ye),K(null),Te(null),ce(null),Se(null),window.setTimeout(()=>{We(ye,{keepTableSelection:!0})},0)},[P,We]),et=y.useCallback(ye=>{const we=de.find(ke=>ke.id===ye);we&&(Lt(we.sql),E("results"))},[de,Lt,E]),pn=y.useCallback(ye=>{const we=Le.find(ke=>ke.id===ye);we&&Lt(we.sql)},[Le,Lt]),qt=y.useCallback(ye=>{const we=ye.trim();we&&(Pe(sb(e,lb(we,U))),X(!1),E("history"))},[U,e,E]),_t=y.useCallback(ye=>{Pe(rb(e,ye))},[e]),Tn=y.useCallback(()=>{ib(e),ue([])},[e]),Zt=y.useCallback(async()=>{!B||B.columns.length===0||(await tb(Qy(B)),fe("Copied to clipboard"),window.setTimeout(()=>fe(null),2e3))},[B]),ii=y.useCallback(()=>{!B||B.columns.length===0||_h("query-results.csv",zy(B),"text/csv;charset=utf-8")},[B]),wi=y.useCallback(()=>{!B||B.columns.length===0||_h("query-results.json",Zy(B),"application/json")},[B]),Wn=y.useCallback(()=>{!B||B.columns.length===0||_h("query-results.xls",eb(B),"application/vnd.ms-excel")},[B]),Xn=y.useMemo(()=>({tabs:O,activeTabId:L,activeTab:De,sql:U,setSql:q,createTab:ee,closeTab:le,switchTab:Ne,result:B,error:Z,running:$,executionMeta:j,lastMessage:he,runQuery:We,formatActiveSql:$e,clearActiveSql:Dt,history:de,favorites:Le,loadFromHistory:et,loadFavorite:pn,saveFavorite:qt,deleteFavorite:_t,clearHistory:Tn,copyResults:Zt,exportCsv:ii,exportJson:wi,exportExcel:Wn,saveDialogOpen:Ue,openSaveDialog:()=>X(!0),closeSaveDialog:()=>X(!1),copyStatus:Ee,insertSql:Lt,insertSqlAndRun:yt,renameTab:Oe}),[O,L,De,U,ee,le,Ne,B,Z,$,j,he,We,$e,Dt,de,Le,et,pn,qt,_t,Tn,Zt,ii,wi,Wn,Ue,Ee,Lt,yt,Oe]);return I.jsx(i_.Provider,{value:Xn,children:i})}function Oi(){const i=y.useContext(i_);if(!i)throw new Error("useSqlWorkspace must be used within SqlWorkspaceProvider");return i}const s_="database-devtools-theme",r_=y.createContext(null);function Ob(){if(typeof window>"u")return"dark";const i=localStorage.getItem(s_);return i==="light"||i==="dark"?i:window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function Nb({children:i}){const[e,t]=y.useState(Ob);y.useEffect(()=>{document.documentElement.setAttribute("data-theme",e),localStorage.setItem(s_,e)},[e]);const s=y.useCallback(E=>{t(E)},[]),a=y.useCallback(()=>{t(E=>E==="dark"?"light":"dark")},[]),o=y.useMemo(()=>({theme:e,toggleTheme:a,setTheme:s}),[e,a,s]);return I.jsx(r_.Provider,{value:o,children:i})}function db(){const i=y.useContext(r_);if(!i)throw new Error("useTheme must be used within ThemeProvider");return i}function Ib({action:i,onClose:e}){const t=async()=>{try{await i.onConfirm(),e()}catch{}};return I.jsxs(I.Fragment,{children:[I.jsx("button",{type:"button",className:"confirm-dialog__backdrop","aria-label":"Close dialog",onClick:e}),I.jsxs("div",{className:"confirm-dialog",role:"alertdialog","aria-labelledby":"confirm-dialog-title",children:[I.jsx("h3",{id:"confirm-dialog-title",className:"confirm-dialog__title",children:i.title}),I.jsx("p",{className:"confirm-dialog__message",children:i.message}),I.jsxs("div",{className:"confirm-dialog__actions",children:[I.jsx("button",{type:"button",className:"button button--ghost",onClick:e,children:"Cancel"}),I.jsx("button",{type:"button",className:`button ${i.destructive?"button--danger":"button--primary"}`,onClick:()=>{t()},children:i.confirmLabel??"Confirm"})]})]})]})}function Cb(){const{confirmAction:i,closeConfirm:e}=KR();return i?I.jsx(Ib,{action:i,onClose:e}):null}function _b(){const{toasts:i,dismissToast:e}=XR();return i.length===0?null:I.jsx("div",{"aria-label":"Notifications",className:"toast-viewport",role:"region",children:i.map(t=>I.jsxs("div",{className:`toast toast--${t.variant??"info"}`,role:"status","aria-live":"polite",children:[I.jsxs("div",{className:"toast__content",children:[I.jsx("p",{className:"toast__title",children:t.title}),I.jsx("p",{className:"toast__message",children:t.message})]}),I.jsx("button",{type:"button",className:"toast__dismiss","aria-label":"Dismiss notification",onClick:()=>e(t.id),children:"×"})]},t.id))})}const Ud="(max-width: 767px)";function Lb(){const[i,e]=y.useState(()=>typeof window<"u"&&window.matchMedia(Ud).matches);return y.useEffect(()=>{const t=window.matchMedia(Ud),s=()=>e(t.matches);return s(),t.addEventListener("change",s),()=>{t.removeEventListener("change",s)}},[]),i}const ns={OVERVIEW:"overview",WORKSPACE:"workspace"},mb=[{id:ns.OVERVIEW,label:"Overview",icon:"overview"},{id:ns.WORKSPACE,label:"Workspace",icon:"workspace"}];function pb(i){const{visible:e,steps:t,dismiss:s}=bC(),[a,o]=y.useState(!1),E=y.useMemo(()=>t.filter(c=>c.done).length,[t]),T=E>=3;return e?T&&!a?I.jsx("aside",{className:"getting-started getting-started--compact","aria-label":"Getting started progress",children:I.jsxs("div",{className:"getting-started__compact-row",children:[I.jsxs("span",{className:"getting-started__compact-label",children:["Getting started: ",E,"/",t.length," complete"]}),I.jsxs("div",{className:"getting-started__compact-actions",children:[I.jsx("button",{type:"button",className:"getting-started__dismiss",onClick:()=>o(!0),children:"Show steps"}),I.jsx("button",{type:"button",className:"getting-started__dismiss",onClick:s,children:"Dismiss"})]})]})}):I.jsxs("aside",{className:"getting-started","aria-label":"Getting started checklist",children:[I.jsxs("div",{className:"getting-started__header",children:[I.jsxs("h2",{className:"getting-started__title",children:["Getting started ",I.jsxs("span",{className:"getting-started__progress",children:["(",E,"/",t.length,")"]})]}),I.jsx("button",{type:"button",className:"getting-started__dismiss",onClick:s,children:"Dismiss"})]}),I.jsx("ol",{className:"getting-started__list",children:t.map(c=>I.jsxs("li",{className:`getting-started__item ${c.done?"getting-started__item--done":""}`,children:[I.jsx("span",{className:"getting-started__marker","aria-hidden":!0,children:c.done?"✓":"○"}),I.jsx("span",{children:c.label})]},c.id))}),I.jsx("p",{className:"getting-started__hint",children:"Use the status card below for Refresh and Open Workspace actions."})]}):null}function aa(i,e=Date.now()){const t=e-i,s=Math.round(t/1e3);if(s<10)return"just now";if(s<60)return`${s}s ago`;const a=Math.round(s/60);if(a<60)return`${a}m ago`;const o=Math.round(a/60);return o<48?`${o}h ago`:new Date(i).toLocaleString()}function Db(i){return i<1024?`${i} B`:i<1024*1024?`${(i/1024).toFixed(1)} KB`:`${(i/(1024*1024)).toFixed(1)} MB`}function gb(i){return new Date(i).toLocaleString()}function Mb({onOpenWorkspace:i,onRunSql:e,onBrowseTables:t}){const{hasDatabase:s,tables:a,snapshotMeta:o,isOfflineDatabase:E,isDeviceLive:T}=Ut();if(!s||!o)return I.jsxs("article",{className:"overview-card overview-card--placeholder",children:[I.jsx("h3",{className:"overview-card__title",children:"SQLite database"}),I.jsx("p",{className:"overview-card__placeholder-title",children:"No snapshot loaded"}),I.jsx("p",{className:"overview-card__placeholder-text",children:"Use Refresh in the status card above to pull a read-only copy from the device."})]});const c=T?"Live device":E?"Offline export":"Snapshot";return I.jsxs("article",{className:"overview-card",children:[I.jsx("h3",{className:"overview-card__title",children:"SQLite database"}),I.jsxs("dl",{className:"overview-stats",children:[I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Database"}),I.jsx("dd",{children:o.databaseName??o.kind})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Tables"}),I.jsx("dd",{children:a.length})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Size"}),I.jsx("dd",{children:Db(o.size)})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Refreshed"}),I.jsx("dd",{title:gb(o.exportedAt),children:aa(o.exportedAt)})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Source"}),I.jsx("dd",{children:c})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Dialect"}),I.jsx("dd",{children:"sqlite"})]})]}),I.jsxs("div",{className:"overview-card__links",children:[I.jsx("button",{type:"button",className:"overview-card__link",onClick:i,children:"Open workspace"}),I.jsx("button",{type:"button",className:"overview-card__link",onClick:t,children:"Browse tables"}),I.jsx("button",{type:"button",className:"overview-card__link",onClick:e,children:"Run SQL"})]})]})}function Pb({value:i,label:e="Copy",mono:t=!1}){const[s,a]=y.useState(!1),o=async()=>{await navigator.clipboard.writeText(i),a(!0),window.setTimeout(()=>a(!1),1500)};return I.jsxs("span",{className:"copyable-value",children:[I.jsx("span",{className:t?"mono":void 0,children:i}),I.jsx("button",{type:"button",className:"copyable-value__button",onClick:()=>void o(),children:s?"Copied":e})]})}function Ub(i){switch(i){case"connected":return"Connected";case"reconnecting":return"Reconnecting";case"connecting":return"Connecting";case"disconnected":return"Disconnected"}}function Vu({state:i,label:e}){return I.jsxs("span",{className:`status-badge status-badge--${i}`,children:[I.jsx("span",{className:"status-badge__dot","aria-hidden":!0}),e??Ub(i)]})}function yb(i){return i.hubState!=="connected"?"hub-offline":i.isDeviceLive?"device-online":i.hasDatabase&&i.hasLiveMobileAvailable?"offline-export-live-available":i.hasDatabase?"offline-export":"waiting"}function a_(){const{connectionState:i,isDeviceLive:e,hasDatabase:t,hasLiveMobileAvailable:s}=Ut();switch(yb({hubState:i,isDeviceLive:e,hasDatabase:t,hasLiveMobileAvailable:s})){case"hub-offline":return I.jsx(Vu,{state:i,label:"Hub offline"});case"device-online":return I.jsx(Vu,{state:"connected",label:"Device online"});case"offline-export-live-available":return I.jsx("span",{className:"status-badge status-badge--live-available",children:"Live device available"});case"offline-export":return I.jsx("span",{className:"status-badge status-badge--offline",children:"Offline export"});default:return I.jsx(Vu,{state:"connecting",label:"Waiting for device"})}}function mh(i){return new Date(i).toLocaleString()}function bb(){const{connectionState:i,selectedDevice:e,selectedDeviceId:t,deviceStatus:s,deviceDisplayName:a,lastUpdatedAt:o,isDeviceLive:E,isOfflineDatabase:T,hasLiveMobileAvailable:c,snapshotMeta:A}=Ut(),[R,O]=y.useState(!1);if(!e&&!t)return null;const d=e==null?void 0:e.metadata,L=E?(d==null?void 0:d.platform)??"unknown":"offline export",p=E?(d==null?void 0:d.appVersion)??"—":"—";return I.jsxs("article",{className:"overview-card",children:[I.jsx("h3",{className:"overview-card__title",children:"Session"}),I.jsxs("div",{className:"overview-card__highlight",children:[I.jsx(a_,{}),I.jsxs("div",{children:[I.jsx("p",{className:"overview-card__headline",children:a}),I.jsxs("p",{className:"overview-card__subline",children:[L," · v",p]})]})]}),I.jsxs("dl",{className:"overview-stats",children:[I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Hub"}),I.jsx("dd",{children:i==="connected"?"Connected":"Offline"})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Device link"}),I.jsx("dd",{children:E?"Live":c?"Offline export · live available":T?"Offline export":"Not connected"})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Mobile devices"}),I.jsx("dd",{children:(s==null?void 0:s.mobileCount)??0})]}),I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Device"}),I.jsx("dd",{children:t?Zo(t):"—"})]}),o&&I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Status updated"}),I.jsx("dd",{title:mh(o),children:aa(o)})]}),(A==null?void 0:A.exportedAt)&&T&&I.jsxs("div",{className:"overview-stats__row",children:[I.jsx("dt",{children:"Export saved"}),I.jsx("dd",{title:mh(A.exportedAt),children:aa(A.exportedAt)})]})]}),e&&I.jsxs(I.Fragment,{children:[I.jsx("button",{type:"button",className:"overview-card__toggle","aria-expanded":R,onClick:()=>O(g=>!g),children:R?"Hide device details":"Show device details"}),R&&I.jsxs("dl",{className:"meta-list overview-card__details",children:[I.jsxs("div",{className:"meta-list__row",children:[I.jsx("dt",{children:"Bundle ID"}),I.jsx("dd",{className:"mono",children:(d==null?void 0:d.bundleId)??"—"})]}),I.jsxs("div",{className:"meta-list__row",children:[I.jsx("dt",{children:"Device ID"}),I.jsx("dd",{children:I.jsx(Pb,{mono:!0,value:e.deviceId})})]}),I.jsxs("div",{className:"meta-list__row",children:[I.jsx("dt",{children:E?"Connected at":"Export from"}),I.jsx("dd",{title:mh(e.connectedAt),children:aa(e.connectedAt)})]})]})]})]})}function vb({onOpenWorkspace:i}){const{selectedDeviceId:e,deviceDisplayName:t,hasDatabase:s,tables:a,snapshotMeta:o,refreshState:E,syncState:T,refresh:c,refreshError:A,isOfflineDatabase:R,isDeviceLive:O,canRefreshFromDevice:d,connectionState:L,liveMobileCount:p,hasLiveMobileAvailable:g,switchToConnectedDevice:v}=Ut();if(!e&&!s)return null;const B=E==="refreshing",K=!d||B,Z=e?`${t} · ${Zo(e)}`:"No device selected";let Te="No database snapshot loaded",$="warning";if(s&&o){$="success";const j=R?"from offline export":"from live device";Te=`${`${a.length} table${a.length===1?"":"s"} · ${Gb(o.size)}`} ${j}`}else B&&($="muted",Te=T==="exporting"?"Exporting database on device…":T==="uploading"?"Uploading snapshot to hub…":"Refreshing database…");const ae=O?"Mobile device connected to the hub":g?`${p} device${p===1?"":"s"} online — switch to refresh live data`:R?`Browsing saved export · last refreshed ${o?aa(o.exportedAt):"unknown"}`:L==="connected"?"Hub connected · waiting for a device export":"Start the hub to connect";return I.jsxs("section",{className:"overview-hero","aria-label":"Connection and database status",children:[I.jsxs("div",{className:"overview-hero__status",children:[I.jsxs("div",{className:"overview-hero__status-row",children:[I.jsx(a_,{}),I.jsx("span",{className:"overview-hero__device",children:Z})]}),I.jsx("p",{className:"overview-hero__context",children:ae}),I.jsx("p",{className:`overview-hero__database overview-hero__database--${$}`,children:Te}),L!=="connected"&&I.jsxs("p",{className:"overview-hero__hint",children:["Start the hub with ",I.jsx("code",{className:"mono",children:"npx database-devtools"})," on your machine."]}),g&&L==="connected"&&I.jsx("p",{className:"overview-hero__hint",children:"You are viewing a saved export. A connected device is available — switch to it, then use Refresh for live data."}),R&&!g&&L==="connected"&&I.jsx("p",{className:"overview-hero__hint",children:"Connect the mobile app and use Refresh to update this device export."}),A&&E==="error"&&I.jsx("p",{className:"overview-hero__error",role:"alert",children:A})]}),I.jsxs("div",{className:"overview-hero__actions",children:[g&&I.jsx("button",{type:"button",className:"overview-hero__primary",onClick:v,children:"Switch to connected device"}),s?I.jsx("button",{type:"button",className:g?"overview-hero__secondary":"overview-hero__primary",onClick:i,children:"Open Workspace"}):I.jsx("button",{type:"button",className:"overview-hero__primary",disabled:K,onClick:c,children:B?"Refreshing…":"Refresh database"}),s&&I.jsx("button",{type:"button",className:"overview-hero__secondary",disabled:K,onClick:c,title:d?void 0:"Connect the device to refresh live data",children:B?"Refreshing…":"Refresh"})]})]})}function Gb(i){return i<1024?`${i} B`:i<1024*1024?`${(i/1024).toFixed(1)} KB`:`${(i/(1024*1024)).toFixed(1)} MB`}function Bb({onBrowseTable:i,onBrowseTables:e}){const{hasDatabase:t,tables:s}=Ut();if(!t||s.length===0)return null;const a=s.slice(0,8);return I.jsxs("section",{className:"overview-tables","aria-label":"Table preview",children:[I.jsxs("div",{className:"overview-tables__header",children:[I.jsx("h3",{className:"overview-card__title",children:"Tables"}),s.length>a.length&&I.jsxs("button",{type:"button",className:"overview-card__link",onClick:e,children:["View all ",s.length]})]}),I.jsx("ul",{className:"overview-tables__list",children:a.map(o=>I.jsx("li",{children:I.jsxs("button",{type:"button",className:"overview-tables__item",onClick:()=>i(o.name),children:[I.jsx("span",{className:"overview-tables__name mono",children:o.name}),I.jsxs("span",{className:"overview-tables__count",children:[o.rowCount.toLocaleString()," row",o.rowCount===1?"":"s"]})]})},o.name))})]})}function yd(i){return new Date(i).toLocaleString()}function xb({onOpenWorkspace:i,onBrowseTable:e,onBrowseTables:t,onRunSql:s}){const{selectedDevice:a,lastSnapshotAt:o,lastUpdatedAt:E,hasDatabase:T}=Ut();return!a&&!T?I.jsx("section",{className:"panel panel--overview panel--overview-empty",children:I.jsxs("div",{className:"overview-empty",children:[I.jsx("h2",{className:"overview-empty__title",children:"No device connected"}),I.jsx("p",{className:"overview-empty__text",children:"Connect a mobile app and refresh once, or select a device with a saved export."}),I.jsxs("ol",{className:"overview-empty__steps",children:[I.jsxs("li",{children:["Run ",I.jsx("code",{className:"mono",children:"npx database-devtools"})," on your machine"]}),I.jsxs("li",{children:["Open your mobile app with ",I.jsx("code",{className:"mono",children:"DatabaseDevTools"})," enabled"]}),I.jsxs("li",{children:["Refresh once to save ",I.jsxs("code",{className:"mono",children:["Database-","{deviceId}",".db"]})]})]})]})}):I.jsxs("section",{className:"panel panel--overview",children:[I.jsxs("header",{className:"overview-header",children:[I.jsx("h2",{className:"panel__title",children:"Overview"}),I.jsx("p",{className:"overview-header__subtitle",children:"Connection status, database snapshot, and quick links into Workspace."})]}),I.jsx(vb,{onOpenWorkspace:i}),I.jsxs("div",{className:"overview-dashboard",children:[I.jsx(bb,{}),I.jsx(Mb,{onBrowseTables:t,onOpenWorkspace:i,onRunSql:s})]}),I.jsx(Bb,{onBrowseTable:e,onBrowseTables:t}),(o||E)&&I.jsxs("footer",{className:"overview-footer",children:[o&&I.jsxs("span",{title:yd(o),children:["Snapshot ",aa(o)]}),o&&E&&I.jsx("span",{className:"overview-footer__sep",children:"·"}),E&&I.jsxs("span",{title:yd(E),children:["Status ",aa(E)]})]})]})}function Hb(){const{saveDialogOpen:i,closeSaveDialog:e,saveFavorite:t}=Oi(),[s,a]=y.useState("");if(!i)return null;const o=E=>{E.preventDefault(),t(s),a("")};return I.jsxs(I.Fragment,{children:[I.jsx("button",{type:"button",className:"row-drawer__backdrop","aria-label":"Close save dialog",onClick:e}),I.jsxs("div",{className:"sql-dialog",role:"dialog","aria-labelledby":"save-favorite-title",children:[I.jsx("h3",{id:"save-favorite-title",className:"sql-dialog__title",children:"Save favorite query"}),I.jsxs("form",{onSubmit:o,children:[I.jsx("label",{className:"field-label",htmlFor:"favorite-name",children:"Name"}),I.jsx("input",{id:"favorite-name",className:"explorer-search",value:s,onChange:E=>a(E.target.value),placeholder:"My query",autoFocus:!0}),I.jsxs("div",{className:"sql-dialog__actions",children:[I.jsx("button",{type:"button",className:"sql-toolbar__secondary",onClick:e,children:"Cancel"}),I.jsx("button",{type:"submit",className:"query-run-button",disabled:!s.trim(),children:"Save"})]})]})]})]})}let Qh=[],l_=[];(()=>{let i="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<i.length;e++)(e%2?l_:Qh).push(t=t+i[e])})();function wb(i){if(i<768)return!1;for(let e=0,t=Qh.length;;){let s=e+t>>1;if(i<Qh[s])t=s;else if(i>=l_[s])e=s+1;else return!0;if(e==t)return!1}}function bd(i){return i>=127462&&i<=127487}const vd=8205;function Yb(i,e,t=!0,s=!0){return(t?o_:Fb)(i,e,s)}function o_(i,e,t){if(e==i.length)return e;e&&E_(i.charCodeAt(e))&&u_(i.charCodeAt(e-1))&&e--;let s=ph(i,e);for(e+=Gd(s);e<i.length;){let a=ph(i,e);if(s==vd||a==vd||t&&wb(a))e+=Gd(a),s=a;else if(bd(a)){let o=0,E=e-2;for(;E>=0&&bd(ph(i,E));)o++,E-=2;if(o%2==0)break;e+=2}else break}return e}function Fb(i,e,t){for(;e>1;){let s=o_(i,e-2,t);if(s<e)return s;e--}return 0}function ph(i,e){let t=i.charCodeAt(e);if(!u_(t)||e+1==i.length)return t;let s=i.charCodeAt(e+1);return E_(s)?(t-55296<<10)+(s-56320)+65536:t}function E_(i){return i>=56320&&i<57344}function u_(i){return i>=55296&&i<56320}function Gd(i){return i<65536?1:2}class rt{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,s){[e,t]=Rl(this,e,t);let a=[];return this.decompose(0,e,a,2),s.length&&s.decompose(0,s.length,a,3),this.decompose(t,this.length,a,1),is.from(a,this.length-(t-e)+s.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Rl(this,e,t);let s=[];return this.decompose(e,t,s,0),is.from(s,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),s=this.length-this.scanIdentical(e,-1),a=new Ho(this),o=new Ho(e);for(let E=t,T=t;;){if(a.next(E),o.next(E),E=0,a.lineBreak!=o.lineBreak||a.done!=o.done||a.value!=o.value)return!1;if(T+=a.value.length,a.done||T>=s)return!0}}iter(e=1){return new Ho(this,e)}iterRange(e,t=this.length){return new T_(this,e,t)}iterLines(e,t){let s;if(e==null)s=this.iter();else{t==null&&(t=this.lines+1);let a=this.line(e).from;s=this.iterRange(a,Math.max(a,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new c_(s)}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]?rt.empty:e.length<=32?new Vt(e):is.from(Vt.split(e,[]))}}class Vt extends rt{constructor(e,t=Vb(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,s,a){for(let o=0;;o++){let E=this.text[o],T=a+E.length;if((t?s:T)>=e)return new kb(a,T,s,E);a=T+1,s++}}decompose(e,t,s,a){let o=e<=0&&t>=this.length?this:new Vt(Bd(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(a&1){let E=s.pop(),T=ku(o.text,E.text.slice(),0,o.length);if(T.length<=32)s.push(new Vt(T,E.length+o.length));else{let c=T.length>>1;s.push(new Vt(T.slice(0,c)),new Vt(T.slice(c)))}}else s.push(o)}replace(e,t,s){if(!(s instanceof Vt))return super.replace(e,t,s);[e,t]=Rl(this,e,t);let a=ku(this.text,ku(s.text,Bd(this.text,0,e)),t),o=this.length+s.length-(t-e);return a.length<=32?new Vt(a,o):is.from(Vt.split(a,[]),o)}sliceString(e,t=this.length,s=`
|
|
88
|
+
`){[e,t]=Rl(this,e,t);let a="";for(let o=0,E=0;o<=t&&E<this.text.length;E++){let T=this.text[E],c=o+T.length;o>e&&E&&(a+=s),e<c&&t>o&&(a+=T.slice(Math.max(0,e-o),t-o)),o=c+1}return a}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let s=[],a=-1;for(let o of e)s.push(o),a+=o.length+1,s.length==32&&(t.push(new Vt(s,a)),s=[],a=-1);return a>-1&&t.push(new Vt(s,a)),t}}class is extends rt{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let s of e)this.lines+=s.lines}lineInner(e,t,s,a){for(let o=0;;o++){let E=this.children[o],T=a+E.length,c=s+E.lines-1;if((t?c:T)>=e)return E.lineInner(e,t,s,a);a=T+1,s=c+1}}decompose(e,t,s,a){for(let o=0,E=0;E<=t&&o<this.children.length;o++){let T=this.children[o],c=E+T.length;if(e<=c&&t>=E){let A=a&((E<=e?1:0)|(c>=t?2:0));E>=e&&c<=t&&!A?s.push(T):T.decompose(e-E,t-E,s,A)}E=c+1}}replace(e,t,s){if([e,t]=Rl(this,e,t),s.lines<this.lines)for(let a=0,o=0;a<this.children.length;a++){let E=this.children[a],T=o+E.length;if(e>=o&&t<=T){let c=E.replace(e-o,t-o,s),A=this.lines-E.lines+c.lines;if(c.lines<A>>4&&c.lines>A>>6){let R=this.children.slice();return R[a]=c,new is(R,this.length-(t-e)+s.length)}return super.replace(o,T,c)}o=T+1}return super.replace(e,t,s)}sliceString(e,t=this.length,s=`
|
|
89
|
+
`){[e,t]=Rl(this,e,t);let a="";for(let o=0,E=0;o<this.children.length&&E<=t;o++){let T=this.children[o],c=E+T.length;E>e&&o&&(a+=s),e<c&&t>E&&(a+=T.sliceString(e-E,t-E,s)),E=c+1}return a}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof is))return 0;let s=0,[a,o,E,T]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;a+=t,o+=t){if(a==E||o==T)return s;let c=this.children[a],A=e.children[o];if(c!=A)return s+c.scanIdentical(A,t);s+=c.length+1}}static from(e,t=e.reduce((s,a)=>s+a.length+1,-1)){let s=0;for(let L of e)s+=L.lines;if(s<32){let L=[];for(let p of e)p.flatten(L);return new Vt(L,t)}let a=Math.max(32,s>>5),o=a<<1,E=a>>1,T=[],c=0,A=-1,R=[];function O(L){let p;if(L.lines>o&&L instanceof is)for(let g of L.children)O(g);else L.lines>E&&(c>E||!c)?(d(),T.push(L)):L instanceof Vt&&c&&(p=R[R.length-1])instanceof Vt&&L.lines+p.lines<=32?(c+=L.lines,A+=L.length+1,R[R.length-1]=new Vt(p.text.concat(L.text),p.length+1+L.length)):(c+L.lines>a&&d(),c+=L.lines,A+=L.length+1,R.push(L))}function d(){c!=0&&(T.push(R.length==1?R[0]:is.from(R,A)),A=-1,c=R.length=0)}for(let L of e)O(L);return d(),T.length==1?T[0]:new is(T,t)}}rt.empty=new Vt([""],0);function Vb(i){let e=-1;for(let t of i)e+=t.length+1;return e}function ku(i,e,t=0,s=1e9){for(let a=0,o=0,E=!0;o<i.length&&a<=s;o++){let T=i[o],c=a+T.length;c>=t&&(c>s&&(T=T.slice(0,s-a)),a<t&&(T=T.slice(t-a)),E?(e[e.length-1]+=T,E=!1):e.push(T)),a=c+1}return e}function Bd(i,e,t){return ku(i,[""],e,t)}class Ho{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 Vt?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let s=this.nodes.length-1,a=this.nodes[s],o=this.offsets[s],E=o>>1,T=a instanceof Vt?a.text.length:a.children.length;if(E==(t>0?T:0)){if(s==0)return this.done=!0,this.value="",this;t>0&&this.offsets[s-1]++,this.nodes.pop(),this.offsets.pop()}else if((o&1)==(t>0?0:1)){if(this.offsets[s]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
90
|
+
`,this;e--}else if(a instanceof Vt){let c=a.text[E+(t<0?-1:0)];if(this.offsets[s]+=t,c.length>Math.max(0,e))return this.value=e==0?c:t>0?c.slice(e):c.slice(0,c.length-e),this;e-=c.length}else{let c=a.children[E+(t<0?-1:0)];e>c.length?(e-=c.length,this.offsets[s]+=t):(t<0&&this.offsets[s]--,this.nodes.push(c),this.offsets.push(t>0?1:(c instanceof Vt?c.text.length:c.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class T_{constructor(e,t,s){this.value="",this.done=!1,this.cursor=new Ho(e,t>s?-1:1),this.pos=t>s?e.length:0,this.from=Math.min(t,s),this.to=Math.max(t,s)}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 s=t<0?this.pos-this.from:this.to-this.pos;e>s&&(e=s),s-=e;let{value:a}=this.cursor.next(e);return this.pos+=(a.length+e)*t,this.value=a.length<=s?a:t<0?a.slice(a.length-s):a.slice(0,s),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 c_{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:s,value:a}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):s?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=a,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(rt.prototype[Symbol.iterator]=function(){return this.iter()},Ho.prototype[Symbol.iterator]=T_.prototype[Symbol.iterator]=c_.prototype[Symbol.iterator]=function(){return this});class kb{constructor(e,t,s,a){this.from=e,this.to=t,this.number=s,this.text=a}get length(){return this.to-this.from}}function Rl(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function Cn(i,e,t=!0,s=!0){return Yb(i,e,t,s)}function Wb(i){return i>=56320&&i<57344}function Xb(i){return i>=55296&&i<56320}function Kb(i,e){let t=i.charCodeAt(e);if(!Xb(t)||e+1==i.length)return t;let s=i.charCodeAt(e+1);return Wb(s)?(t-55296<<10)+(s-56320)+65536:t}function jb(i){return i<65536?1:2}const zh=/\r\n?|\n/;var ni=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(ni||(ni={}));class ys{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 s=this.sections[t+1];e+=s<0?this.sections[t]:s}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,s=0,a=0;t<this.sections.length;){let o=this.sections[t++],E=this.sections[t++];E<0?(e(s,a,o),a+=o):a+=E,s+=o}}iterChangedRanges(e,t=!1){Zh(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let s=this.sections[t++],a=this.sections[t++];a<0?e.push(s,a):e.push(a,s)}return new ys(e)}composeDesc(e){return this.empty?e:e.empty?this:A_(this,e)}mapDesc(e,t=!1){return e.empty?this:eR(this,e,t)}mapPos(e,t=-1,s=ni.Simple){let a=0,o=0;for(let E=0;E<this.sections.length;){let T=this.sections[E++],c=this.sections[E++],A=a+T;if(c<0){if(A>e)return o+(e-a);o+=T}else{if(s!=ni.Simple&&A>=e&&(s==ni.TrackDel&&a<e&&A>e||s==ni.TrackBefore&&a<e||s==ni.TrackAfter&&A>e))return null;if(A>e||A==e&&t<0&&!T)return e==a||t<0?o:o+c;o+=c}a=A}if(e>a)throw new RangeError(`Position ${e} is out of range for changeset of length ${a}`);return o}touchesRange(e,t=e){for(let s=0,a=0;s<this.sections.length&&a<=t;){let o=this.sections[s++],E=this.sections[s++],T=a+o;if(E>=0&&a<=t&&T>=e)return a<e&&T>t?"cover":!0;a=T}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let s=this.sections[t++],a=this.sections[t++];e+=(e?" ":"")+s+(a>=0?":"+a:"")}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 ys(e)}static create(e){return new ys(e)}}class un extends ys{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 Zh(this,(t,s,a,o,E)=>e=e.replace(a,a+(s-t),E),!1),e}mapDesc(e,t=!1){return eR(this,e,t,!0)}invert(e){let t=this.sections.slice(),s=[];for(let a=0,o=0;a<t.length;a+=2){let E=t[a],T=t[a+1];if(T>=0){t[a]=T,t[a+1]=E;let c=a>>1;for(;s.length<c;)s.push(rt.empty);s.push(E?e.slice(o,o+E):rt.empty)}o+=E}return new un(t,s)}compose(e){return this.empty?e:e.empty?this:A_(this,e,!0)}map(e,t=!1){return e.empty?this:eR(this,e,t,!0)}iterChanges(e,t=!1){Zh(this,e,t)}get desc(){return ys.create(this.sections)}filter(e){let t=[],s=[],a=[],o=new Xo(this);e:for(let E=0,T=0;;){let c=E==e.length?1e9:e[E++];for(;T<c||T==c&&o.len==0;){if(o.done)break e;let R=Math.min(o.len,c-T);In(a,R,-1);let O=o.ins==-1?-1:o.off==0?o.ins:0;In(t,R,O),O>0&&Or(s,t,o.text),o.forward(R),T+=R}let A=e[E++];for(;T<A;){if(o.done)break e;let R=Math.min(o.len,A-T);In(t,R,-1),In(a,R,o.ins==-1?-1:o.off==0?o.ins:0),o.forward(R),T+=R}}return{changes:new un(t,s),filtered:ys.create(a)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let s=this.sections[t],a=this.sections[t+1];a<0?e.push(s):a==0?e.push([s]):e.push([s].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,s){let a=[],o=[],E=0,T=null;function c(R=!1){if(!R&&!a.length)return;E<t&&In(a,t-E,-1);let O=new un(a,o);T=T?T.compose(O.map(T)):O,a=[],o=[],E=0}function A(R){if(Array.isArray(R))for(let O of R)A(O);else if(R instanceof un){if(R.length!=t)throw new RangeError(`Mismatched change set length (got ${R.length}, expected ${t})`);c(),T=T?T.compose(R.map(T)):R}else{let{from:O,to:d=O,insert:L}=R;if(O>d||O<0||d>t)throw new RangeError(`Invalid change range ${O} to ${d} (in doc of length ${t})`);let p=L?typeof L=="string"?rt.of(L.split(s||zh)):L:rt.empty,g=p.length;if(O==d&&g==0)return;O<E&&c(),O>E&&In(a,O-E,-1),In(a,d-O,g),Or(o,a,p),E=d}}return A(e),c(!T),T}static empty(e){return new un(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],s=[];for(let a=0;a<e.length;a++){let o=e[a];if(typeof o=="number")t.push(o,-1);else{if(!Array.isArray(o)||typeof o[0]!="number"||o.some((E,T)=>T&&typeof E!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(o.length==1)t.push(o[0],0);else{for(;s.length<a;)s.push(rt.empty);s[a]=rt.of(o.slice(1)),t.push(o[0],s[a].length)}}}return new un(t,s)}static createSet(e,t){return new un(e,t)}}function In(i,e,t,s=!1){if(e==0&&t<=0)return;let a=i.length-2;a>=0&&t<=0&&t==i[a+1]?i[a]+=e:a>=0&&e==0&&i[a]==0?i[a+1]+=t:s?(i[a]+=e,i[a+1]+=t):i.push(e,t)}function Or(i,e,t){if(t.length==0)return;let s=e.length-2>>1;if(s<i.length)i[i.length-1]=i[i.length-1].append(t);else{for(;i.length<s;)i.push(rt.empty);i.push(t)}}function Zh(i,e,t){let s=i.inserted;for(let a=0,o=0,E=0;E<i.sections.length;){let T=i.sections[E++],c=i.sections[E++];if(c<0)a+=T,o+=T;else{let A=a,R=o,O=rt.empty;for(;A+=T,R+=c,c&&s&&(O=O.append(s[E-2>>1])),!(t||E==i.sections.length||i.sections[E+1]<0);)T=i.sections[E++],c=i.sections[E++];e(a,A,o,R,O),a=A,o=R}}}function eR(i,e,t,s=!1){let a=[],o=s?[]:null,E=new Xo(i),T=new Xo(e);for(let c=-1;;){if(E.done&&T.len||T.done&&E.len)throw new Error("Mismatched change set lengths");if(E.ins==-1&&T.ins==-1){let A=Math.min(E.len,T.len);In(a,A,-1),E.forward(A),T.forward(A)}else if(T.ins>=0&&(E.ins<0||c==E.i||E.off==0&&(T.len<E.len||T.len==E.len&&!t))){let A=T.len;for(In(a,T.ins,-1);A;){let R=Math.min(E.len,A);E.ins>=0&&c<E.i&&E.len<=R&&(In(a,0,E.ins),o&&Or(o,a,E.text),c=E.i),E.forward(R),A-=R}T.next()}else if(E.ins>=0){let A=0,R=E.len;for(;R;)if(T.ins==-1){let O=Math.min(R,T.len);A+=O,R-=O,T.forward(O)}else if(T.ins==0&&T.len<R)R-=T.len,T.next();else break;In(a,A,c<E.i?E.ins:0),o&&c<E.i&&Or(o,a,E.text),c=E.i,E.forward(E.len-R)}else{if(E.done&&T.done)return o?un.createSet(a,o):ys.create(a);throw new Error("Mismatched change set lengths")}}}function A_(i,e,t=!1){let s=[],a=t?[]:null,o=new Xo(i),E=new Xo(e);for(let T=!1;;){if(o.done&&E.done)return a?un.createSet(s,a):ys.create(s);if(o.ins==0)In(s,o.len,0,T),o.next();else if(E.len==0&&!E.done)In(s,0,E.ins,T),a&&Or(a,s,E.text),E.next();else{if(o.done||E.done)throw new Error("Mismatched change set lengths");{let c=Math.min(o.len2,E.len),A=s.length;if(o.ins==-1){let R=E.ins==-1?-1:E.off?0:E.ins;In(s,c,R,T),a&&R&&Or(a,s,E.text)}else E.ins==-1?(In(s,o.off?0:o.len,c,T),a&&Or(a,s,o.textBit(c))):(In(s,o.off?0:o.len,E.off?0:E.ins,T),a&&!E.off&&Or(a,s,E.text));T=(o.ins>c||E.ins>=0&&E.len>c)&&(T||s.length>A),o.forward2(c),E.forward(c)}}}}class Xo{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?rt.empty:e[t]}textBit(e){let{inserted:t}=this.set,s=this.i-2>>1;return s>=t.length&&!e?rt.empty:t[s].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 Sr{constructor(e,t,s,a){this.from=e,this.to=t,this.flags=s,this.goalColumn=a}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 s,a;return this.empty?s=a=e.mapPos(this.from,t):(s=e.mapPos(this.from,1),a=e.mapPos(this.to,-1)),s==this.from&&a==this.to?this:new Sr(s,a,this.flags,this.goalColumn)}extend(e,t=e,s=0){if(e<=this.anchor&&t>=this.anchor)return oe.range(e,t,void 0,void 0,s);let a=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return oe.range(this.anchor,a,void 0,void 0,s)}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 oe.range(e.anchor,e.head)}static create(e,t,s,a){return new Sr(e,t,s,a)}}class oe{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:oe.create(this.ranges.map(s=>s.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let s=0;s<this.ranges.length;s++)if(!this.ranges[s].eq(e.ranges[s],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new oe([this.main],0)}addRange(e,t=!0){return oe.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let s=this.ranges.slice();return s[t]=e,oe.create(s,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 oe(e.ranges.map(t=>Sr.fromJSON(t)),e.main)}static single(e,t=e){return new oe([oe.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 s=0,a=0;a<e.length;a++){let o=e[a];if(o.empty?o.from<=s:o.from<s)return oe.normalized(e.slice(),t);s=o.to}return new oe(e,t)}static cursor(e,t=0,s,a){return Sr.create(e,e,(t==0?0:t<0?8:16)|(s==null?7:Math.min(6,s)),a)}static range(e,t,s,a,o){let E=a==null?7:Math.min(6,a);return!o&&e!=t&&(o=t<e?1:-1),o&&(E|=o<0?8:16),t<e?Sr.create(t,e,E|32,s):Sr.create(e,t,E,s)}static undirectionalRange(e,t){return Sr.create(e,t,64,void 0)}static normalized(e,t=0){let s=e[t];e.sort((a,o)=>a.from-o.from),t=e.indexOf(s);for(let a=1;a<e.length;a++){let o=e[a],E=e[a-1];if(o.empty?o.from<=E.to:o.from<E.to){let T=E.from,c=Math.max(o.to,E.to);a<=t&&t--,e.splice(--a,2,o.anchor>o.head?oe.range(c,T):oe.range(T,c))}}return new oe(e,t)}}function h_(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let $R=0;class Ge{constructor(e,t,s,a,o){this.combine=e,this.compareInput=t,this.compare=s,this.isStatic=a,this.id=$R++,this.default=e([]),this.extensions=typeof o=="function"?o(this):o}get reader(){return this}static define(e={}){return new Ge(e.combine||(t=>t),e.compareInput||((t,s)=>t===s),e.compare||(e.combine?(t,s)=>t===s:JR),!!e.static,e.enables)}of(e){return new Wu([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wu(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wu(e,this,2,t)}from(e,t){return t||(t=s=>s),this.compute([e],s=>t(s.field(e)))}}function JR(i,e){return i==e||i.length==e.length&&i.every((t,s)=>t===e[s])}class Wu{constructor(e,t,s,a){this.dependencies=e,this.facet=t,this.type=s,this.value=a,this.id=$R++}dynamicSlot(e){var t;let s=this.value,a=this.facet.compareInput,o=this.id,E=e[o]>>1,T=this.type==2,c=!1,A=!1,R=[];for(let O of this.dependencies)O=="doc"?c=!0:O=="selection"?A=!0:(((t=e[O.id])!==null&&t!==void 0?t:1)&1)==0&&R.push(e[O.id]);return{create(O){return O.values[E]=s(O),1},update(O,d){if(c&&d.docChanged||A&&(d.docChanged||d.selection)||tR(O,R)){let L=s(O);if(T?!xd(L,O.values[E],a):!a(L,O.values[E]))return O.values[E]=L,1}return 0},reconfigure:(O,d)=>{let L,p=d.config.address[o];if(p!=null){let g=zu(d,p);if(this.dependencies.every(v=>v instanceof Ge?d.facet(v)===O.facet(v):v instanceof ha?d.field(v,!1)==O.field(v,!1):!0)||(T?xd(L=s(O),g,a):a(L=s(O),g)))return O.values[E]=g,0}else L=s(O);return O.values[E]=L,1}}}}function xd(i,e,t){if(i.length!=e.length)return!1;for(let s=0;s<i.length;s++)if(!t(i[s],e[s]))return!1;return!0}function tR(i,e){let t=!1;for(let s of e)wo(i,s)&1&&(t=!0);return t}function qb(i,e,t){let s=t.map(c=>i[c.id]),a=t.map(c=>c.type),o=s.filter(c=>!(c&1)),E=i[e.id]>>1;function T(c){let A=[];for(let R=0;R<s.length;R++){let O=zu(c,s[R]);if(a[R]==2)for(let d of O)A.push(d);else A.push(O)}return e.combine(A)}return{create(c){for(let A of s)wo(c,A);return c.values[E]=T(c),1},update(c,A){if(!tR(c,o))return 0;let R=T(c);return e.compare(R,c.values[E])?0:(c.values[E]=R,1)},reconfigure(c,A){let R=tR(c,s),O=A.config.facets[e.id],d=A.facet(e);if(O&&!R&&JR(t,O))return c.values[E]=d,0;let L=T(c);return e.compare(L,d)?(c.values[E]=d,0):(c.values[E]=L,1)}}}const du=Ge.define({static:!0});class ha{constructor(e,t,s,a,o){this.id=e,this.createF=t,this.updateF=s,this.compareF=a,this.spec=o,this.provides=void 0}static define(e){let t=new ha($R++,e.create,e.update,e.compare||((s,a)=>s===a),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(du).find(s=>s.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:s=>(s.values[t]=this.create(s),1),update:(s,a)=>{let o=s.values[t],E=this.updateF(o,a);return this.compareF(o,E)?0:(s.values[t]=E,1)},reconfigure:(s,a)=>{let o=s.facet(du),E=a.facet(du),T;return(T=o.find(c=>c.field==this))&&T!=E.find(c=>c.field==this)?(s.values[t]=T.create(s),1):a.config.address[this.id]!=null?(s.values[t]=a.field(this),0):(s.values[t]=this.create(s),1)}}}init(e){return[this,du.of({field:this,create:e})]}get extension(){return this}}const sa={lowest:4,low:3,default:2,high:1,highest:0};function go(i){return e=>new S_(e,i)}const R_={highest:go(sa.highest),high:go(sa.high),default:go(sa.default),low:go(sa.low),lowest:go(sa.lowest)};class S_{constructor(e,t){this.inner=e,this.prec=t}}class _l{of(e){return new nR(this,e)}reconfigure(e){return _l.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class nR{constructor(e,t){this.compartment=e,this.inner=t}}class Qu{constructor(e,t,s,a,o,E){for(this.base=e,this.compartments=t,this.dynamicSlots=s,this.address=a,this.staticValues=o,this.facets=E,this.statusTemplate=[];this.statusTemplate.length<s.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,s){let a=[],o=Object.create(null),E=new Map;for(let d of $b(e,t,E))d instanceof ha?a.push(d):(o[d.facet.id]||(o[d.facet.id]=[])).push(d);let T=Object.create(null),c=[],A=[];for(let d of a)T[d.id]=A.length<<1,A.push(L=>d.slot(L));let R=s==null?void 0:s.config.facets;for(let d in o){let L=o[d],p=L[0].facet,g=R&&R[d]||[];if(L.every(v=>v.type==0))if(T[p.id]=c.length<<1|1,JR(g,L))c.push(s.facet(p));else{let v=p.combine(L.map(B=>B.value));c.push(s&&p.compare(v,s.facet(p))?s.facet(p):v)}else{for(let v of L)v.type==0?(T[v.id]=c.length<<1|1,c.push(v.value)):(T[v.id]=A.length<<1,A.push(B=>v.dynamicSlot(B)));T[p.id]=A.length<<1,A.push(v=>qb(v,p,L))}}let O=A.map(d=>d(T));return new Qu(e,E,O,T,c,o)}}function $b(i,e,t){let s=[[],[],[],[],[]],a=new Map;function o(E,T){let c=a.get(E);if(c!=null){if(c<=T)return;let A=s[c].indexOf(E);A>-1&&s[c].splice(A,1),E instanceof nR&&t.delete(E.compartment)}if(a.set(E,T),Array.isArray(E))for(let A of E)o(A,T);else if(E instanceof nR){if(t.has(E.compartment))throw new RangeError("Duplicate use of compartment in extensions");let A=e.get(E.compartment)||E.inner;t.set(E.compartment,A),o(A,T)}else if(E instanceof S_)o(E.inner,E.prec);else if(E instanceof ha)s[T].push(E),E.provides&&o(E.provides,T);else if(E instanceof Wu)s[T].push(E),E.facet.extensions&&o(E.facet.extensions,sa.default);else{let A=E.extension;if(!A)throw new Error(`Unrecognized extension value in extension set (${E}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(A,T)}}return o(i,sa.default),s.reduce((E,T)=>E.concat(T))}function wo(i,e){if(e&1)return 2;let t=e>>1,s=i.status[t];if(s==4)throw new Error("Cyclic dependency between fields and/or facets");if(s&2)return s;i.status[t]=4;let a=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|a}function zu(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}const f_=Ge.define(),iR=Ge.define({combine:i=>i.some(e=>e),static:!0}),O_=Ge.define({combine:i=>i.length?i[0]:void 0,static:!0}),N_=Ge.define(),d_=Ge.define(),I_=Ge.define(),C_=Ge.define({combine:i=>i.length?i[0]:!1});class Ll{constructor(e,t){this.type=e,this.value=t}static define(){return new Jb}}class Jb{of(e){return new Ll(this,e)}}class Qb{constructor(e){this.map=e}of(e){return new zt(this,e)}}class zt{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 zt(this.type,t)}is(e){return this.type==e}static define(e={}){return new Qb(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let s=[];for(let a of e){let o=a.map(t);o&&s.push(o)}return s}}zt.reconfigure=zt.define();zt.appendConfig=zt.define();class _n{constructor(e,t,s,a,o,E){this.startState=e,this.changes=t,this.selection=s,this.effects=a,this.annotations=o,this.scrollIntoView=E,this._doc=null,this._state=null,s&&h_(s,t.newLength),o.some(T=>T.type==_n.time)||(this.annotations=o.concat(_n.time.of(Date.now())))}static create(e,t,s,a,o,E){return new _n(e,t,s,a,o,E)}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(_n.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}_n.time=Ll.define();_n.userEvent=Ll.define();_n.addToHistory=Ll.define();_n.remote=Ll.define();function zb(i,e){let t=[];for(let s=0,a=0;;){let o,E;if(s<i.length&&(a==e.length||e[a]>=i[s]))o=i[s++],E=i[s++];else if(a<e.length)o=e[a++],E=e[a++];else return t;!t.length||t[t.length-1]<o?t.push(o,E):t[t.length-1]<E&&(t[t.length-1]=E)}}function __(i,e,t){var s;let a,o,E;return t?(a=e.changes,o=un.empty(e.changes.length),E=i.changes.compose(e.changes)):(a=e.changes.map(i.changes),o=i.changes.mapDesc(e.changes,!0),E=i.changes.compose(a)),{changes:E,selection:e.selection?e.selection.map(o):(s=i.selection)===null||s===void 0?void 0:s.map(a),effects:zt.mapEffects(i.effects,a).concat(zt.mapEffects(e.effects,o)),annotations:i.annotations.length?i.annotations.concat(e.annotations):e.annotations,scrollIntoView:i.scrollIntoView||e.scrollIntoView}}function sR(i,e,t){let s=e.selection,a=ul(e.annotations);return e.userEvent&&(a=a.concat(_n.userEvent.of(e.userEvent))),{changes:e.changes instanceof un?e.changes:un.of(e.changes||[],t,i.facet(O_)),selection:s&&(s instanceof oe?s:oe.single(s.anchor,s.head)),effects:ul(e.effects),annotations:a,scrollIntoView:!!e.scrollIntoView}}function L_(i,e,t){let s=sR(i,e.length?e[0]:{},i.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 E=!!e[o].sequential;s=__(s,sR(i,e[o],E?s.changes.newLength:i.doc.length),E)}let a=_n.create(i,s.changes,s.selection,s.effects,s.annotations,s.scrollIntoView);return e0(t?Zb(a):a)}function Zb(i){let e=i.startState,t=!0;for(let a of e.facet(N_)){let o=a(i);if(o===!1){t=!1;break}Array.isArray(o)&&(t=t===!0?o:zb(t,o))}if(t!==!0){let a,o;if(t===!1)o=i.changes.invertedDesc,a=un.empty(e.doc.length);else{let E=i.changes.filter(t);a=E.changes,o=E.filtered.mapDesc(E.changes).invertedDesc}i=_n.create(e,a,i.selection&&i.selection.map(o),zt.mapEffects(i.effects,o),i.annotations,i.scrollIntoView)}let s=e.facet(d_);for(let a=s.length-1;a>=0;a--){let o=s[a](i);o instanceof _n?i=o:Array.isArray(o)&&o.length==1&&o[0]instanceof _n?i=o[0]:i=L_(e,ul(o),!1)}return i}function e0(i){let e=i.startState,t=e.facet(I_),s=i;for(let a=t.length-1;a>=0;a--){let o=t[a](i);o&&Object.keys(o).length&&(s=__(s,sR(e,o,i.changes.newLength),!0))}return s==i?i:_n.create(e,i.changes,i.selection,s.effects,s.annotations,s.scrollIntoView)}const t0=[];function ul(i){return i==null?t0:Array.isArray(i)?i:[i]}var Us=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(Us||(Us={}));const n0=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let rR;try{rR=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function i0(i){if(rR)return rR.test(i);for(let e=0;e<i.length;e++){let t=i[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||n0.test(t)))return!0}return!1}function s0(i){return e=>{if(!/\S/.test(e))return Us.Space;if(i0(e))return Us.Word;for(let t=0;t<i.length;t++)if(e.indexOf(i[t])>-1)return Us.Word;return Us.Other}}class Tt{constructor(e,t,s,a,o,E){this.config=e,this.doc=t,this.selection=s,this.values=a,this.status=e.statusTemplate.slice(),this.computeSlot=o,E&&(E._state=this);for(let T=0;T<this.config.dynamicSlots.length;T++)wo(this,T<<1);this.computeSlot=null}field(e,t=!0){let s=this.config.address[e.id];if(s==null){if(t)throw new RangeError("Field is not present in this state");return}return wo(this,s),zu(this,s)}update(...e){return L_(this,e,!0)}applyTransaction(e){let t=this.config,{base:s,compartments:a}=t;for(let T of e.effects)T.is(_l.reconfigure)?(t&&(a=new Map,t.compartments.forEach((c,A)=>a.set(A,c)),t=null),a.set(T.value.compartment,T.value.extension)):T.is(zt.reconfigure)?(t=null,s=T.value):T.is(zt.appendConfig)&&(t=null,s=ul(s).concat(T.value));let o;t?o=e.startState.values.slice():(t=Qu.resolve(s,a,this),o=new Tt(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(c,A)=>A.reconfigure(c,this),null).values);let E=e.startState.facet(iR)?e.newSelection:e.newSelection.asSingle();new Tt(t,e.newDoc,E,o,(T,c)=>c.update(T,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:oe.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,s=e(t.ranges[0]),a=this.changes(s.changes),o=[s.range],E=ul(s.effects);for(let T=1;T<t.ranges.length;T++){let c=e(t.ranges[T]),A=this.changes(c.changes),R=A.map(a);for(let d=0;d<T;d++)o[d]=o[d].map(R);let O=a.mapDesc(A,!0);o.push(c.range.map(O)),a=a.compose(R),E=zt.mapEffects(E,R).concat(zt.mapEffects(ul(c.effects),O))}return{changes:a,selection:oe.create(o,t.mainIndex),effects:E}}changes(e=[]){return e instanceof un?e:un.of(e,this.doc.length,this.facet(Tt.lineSeparator))}toText(e){return rt.of(e.split(this.facet(Tt.lineSeparator)||zh))}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:(wo(this,t),zu(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let s in e){let a=e[s];a instanceof ha&&this.config.address[a.id]!=null&&(t[s]=a.spec.toJSON(this.field(e[s]),this))}return t}static fromJSON(e,t={},s){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let a=[];if(s){for(let o in s)if(Object.prototype.hasOwnProperty.call(e,o)){let E=s[o],T=e[o];a.push(E.init(c=>E.spec.fromJSON(T,c)))}}return Tt.create({doc:e.doc,selection:oe.fromJSON(e.selection),extensions:t.extensions?a.concat([t.extensions]):a})}static create(e={}){let t=Qu.resolve(e.extensions||[],new Map),s=e.doc instanceof rt?e.doc:rt.of((e.doc||"").split(t.staticFacet(Tt.lineSeparator)||zh)),a=e.selection?e.selection instanceof oe?e.selection:oe.single(e.selection.anchor,e.selection.head):oe.single(0);return h_(a,s.length),t.staticFacet(iR)||(a=a.asSingle()),new Tt(t,s,a,t.dynamicSlots.map(()=>null),(o,E)=>E.create(o),null)}get tabSize(){return this.facet(Tt.tabSize)}get lineBreak(){return this.facet(Tt.lineSeparator)||`
|
|
91
|
+
`}get readOnly(){return this.facet(C_)}phrase(e,...t){for(let s of this.facet(Tt.phrases))if(Object.prototype.hasOwnProperty.call(s,e)){e=s[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(s,a)=>{if(a=="$")return"$";let o=+(a||1);return!o||o>t.length?s:t[o-1]})),e}languageDataAt(e,t,s=-1){let a=[];for(let o of this.facet(f_))for(let E of o(this,t,s))Object.prototype.hasOwnProperty.call(E,e)&&a.push(E[e]);return a}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return s0(t.length?t[0]:"")}wordAt(e){let{text:t,from:s,length:a}=this.doc.lineAt(e),o=this.charCategorizer(e),E=e-s,T=e-s;for(;E>0;){let c=Cn(t,E,!1);if(o(t.slice(c,E))!=Us.Word)break;E=c}for(;T<a;){let c=Cn(t,T);if(o(t.slice(T,c))!=Us.Word)break;T=c}return E==T?null:oe.range(E+s,T+s)}}Tt.allowMultipleSelections=iR;Tt.tabSize=Ge.define({combine:i=>i.length?i[0]:4});Tt.lineSeparator=O_;Tt.readOnly=C_;Tt.phrases=Ge.define({compare(i,e){let t=Object.keys(i),s=Object.keys(e);return t.length==s.length&&t.every(a=>i[a]==e[a])}});Tt.languageData=f_;Tt.changeFilter=N_;Tt.transactionFilter=d_;Tt.transactionExtender=I_;_l.reconfigure=zt.define();function r0(i,e,t={}){let s={};for(let a of i)for(let o of Object.keys(a)){let E=a[o],T=s[o];if(T===void 0)s[o]=E;else if(!(T===E||E===void 0))if(Object.hasOwnProperty.call(t,o))s[o]=t[o](T,E);else throw new Error("Config merge conflict for field "+o)}for(let a in e)s[a]===void 0&&(s[a]=e[a]);return s}class Cr{eq(e){return this==e}range(e,t=e){return aR.create(e,t,this)}}Cr.prototype.startSide=Cr.prototype.endSide=0;Cr.prototype.point=!1;Cr.prototype.mapMode=ni.TrackDel;function QR(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}let aR=class m_{constructor(e,t,s){this.from=e,this.to=t,this.value=s}static create(e,t,s){return new m_(e,t,s)}};function lR(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}class zR{constructor(e,t,s,a){this.from=e,this.to=t,this.value=s,this.maxPoint=a}get length(){return this.to[this.to.length-1]}findIndex(e,t,s,a=0){let o=s?this.to:this.from;for(let E=a,T=o.length;;){if(E==T)return E;let c=E+T>>1,A=o[c]-e||(s?this.value[c].endSide:this.value[c].startSide)-t;if(c==E)return A>=0?E:T;A>=0?T=c:E=c+1}}between(e,t,s,a){for(let o=this.findIndex(t,-1e9,!0),E=this.findIndex(s,1e9,!1,o);o<E;o++)if(a(this.from[o]+e,this.to[o]+e,this.value[o])===!1)return!1}map(e,t){let s=[],a=[],o=[],E=-1,T=-1;for(let c=0;c<this.value.length;c++){let A=this.value[c],R=this.from[c]+e,O=this.to[c]+e,d,L;if(R==O){let p=t.mapPos(R,A.startSide,A.mapMode);if(p==null||(d=L=p,A.startSide!=A.endSide&&(L=t.mapPos(R,A.endSide),L<d)))continue}else if(d=t.mapPos(R,A.startSide),L=t.mapPos(O,A.endSide),d>L||d==L&&A.startSide>0&&A.endSide<=0)continue;(L-d||A.endSide-A.startSide)<0||(E<0&&(E=d),A.point&&(T=Math.max(T,L-d)),s.push(A),a.push(d-E),o.push(L-E))}return{mapped:s.length?new zR(a,o,s,T):null,pos:E}}}class st{constructor(e,t,s,a){this.chunkPos=e,this.chunk=t,this.nextLayer=s,this.maxPoint=a}static create(e,t,s,a){return new st(e,t,s,a)}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:s=!1,filterFrom:a=0,filterTo:o=this.length}=e,E=e.filter;if(t.length==0&&!E)return this;if(s&&(t=t.slice().sort(lR)),this.isEmpty)return t.length?st.of(t):this;let T=new p_(this,null,-1).goto(0),c=0,A=[],R=new Zu;for(;T.value||c<t.length;)if(c<t.length&&(T.from-t[c].from||T.startSide-t[c].value.startSide)>=0){let O=t[c++];R.addInner(O.from,O.to,O.value)||A.push(O)}else T.rangeIndex==1&&T.chunkIndex<this.chunk.length&&(c==t.length||this.chunkEnd(T.chunkIndex)<t[c].from)&&(!E||a>this.chunkEnd(T.chunkIndex)||o<this.chunkPos[T.chunkIndex])&&R.addChunk(this.chunkPos[T.chunkIndex],this.chunk[T.chunkIndex])?T.nextChunk():((!E||a>T.to||o<T.from||E(T.from,T.to,T.value))&&(R.addInner(T.from,T.to,T.value)||A.push(aR.create(T.from,T.to,T.value))),T.next());return R.finishInner(this.nextLayer.isEmpty&&!A.length?st.empty:this.nextLayer.update({add:A,filter:E,filterFrom:a,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],s=[],a=-1;for(let E=0;E<this.chunk.length;E++){let T=this.chunkPos[E],c=this.chunk[E],A=e.touchesRange(T,T+c.length);if(A===!1)a=Math.max(a,c.maxPoint),t.push(c),s.push(e.mapPos(T));else if(A===!0){let{mapped:R,pos:O}=c.map(T,e);R&&(a=Math.max(a,R.maxPoint),t.push(R),s.push(O))}}let o=this.nextLayer.map(e);return t.length==0?o:new st(s,t,o||st.empty,a)}between(e,t,s){if(!this.isEmpty){for(let a=0;a<this.chunk.length;a++){let o=this.chunkPos[a],E=this.chunk[a];if(t>=o&&e<=o+E.length&&E.between(o,e-o,t-o,s)===!1)return}this.nextLayer.between(e,t,s)}}iter(e=0){return Ko.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ko.from(e).goto(t)}static compare(e,t,s,a,o=-1){let E=e.filter(O=>O.maxPoint>0||!O.isEmpty&&O.maxPoint>=o),T=t.filter(O=>O.maxPoint>0||!O.isEmpty&&O.maxPoint>=o),c=Hd(E,T,s),A=new Mo(E,c,o),R=new Mo(T,c,o);s.iterGaps((O,d,L)=>wd(A,O,R,d,L,a)),s.empty&&s.length==0&&wd(A,0,R,0,0,a)}static eq(e,t,s=0,a){a==null&&(a=999999999);let o=e.filter(R=>!R.isEmpty&&t.indexOf(R)<0),E=t.filter(R=>!R.isEmpty&&e.indexOf(R)<0);if(o.length!=E.length)return!1;if(!o.length)return!0;let T=Hd(o,E),c=new Mo(o,T,0).goto(s),A=new Mo(E,T,0).goto(s);for(;;){if(c.to!=A.to||!oR(c.active,A.active)||c.point&&(!A.point||!QR(c.point,A.point)))return!1;if(c.to>a)return!0;c.next(),A.next()}}static spans(e,t,s,a,o=-1){let E=new Mo(e,null,o).goto(t),T=t,c=E.openStart;for(;;){let A=Math.min(E.to,s);if(E.point){let R=E.activeForPoint(E.to),O=E.pointFrom<t?R.length+1:E.point.startSide<0?R.length:Math.min(R.length,c);a.point(T,A,E.point,R,O,E.pointRank),c=Math.min(E.openEnd(A),R.length)}else A>T&&(a.span(T,A,E.active,c),c=E.openEnd(A));if(E.to>s)return c+(E.point&&E.to>s?1:0);T=E.to,E.next()}}static of(e,t=!1){let s=new Zu;for(let a of e instanceof aR?[e]:t?a0(e):e)s.add(a.from,a.to,a.value);return s.finish()}static join(e){if(!e.length)return st.empty;let t=e[e.length-1];for(let s=e.length-2;s>=0;s--)for(let a=e[s];a!=st.empty;a=a.nextLayer)t=new st(a.chunkPos,a.chunk,t,Math.max(a.maxPoint,t.maxPoint));return t}}st.empty=new st([],[],null,-1);function a0(i){if(i.length>1)for(let e=i[0],t=1;t<i.length;t++){let s=i[t];if(lR(e,s)>0)return i.slice().sort(lR);e=s}return i}st.empty.nextLayer=st.empty;class Zu{finishChunk(e){this.chunks.push(new zR(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,s){this.addInner(e,t,s)||(this.nextLayer||(this.nextLayer=new Zu)).add(e,t,s)}addInner(e,t,s){let a=e-this.lastTo||s.startSide-this.last.endSide;if(a<=0&&(e-this.lastFrom||s.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return a<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=s,this.lastFrom=e,this.lastTo=t,this.value.push(s),s.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 s=t.value.length-1;return this.last=t.value[s],this.lastFrom=t.from[s]+e,this.lastTo=t.to[s]+e,!0}finish(){return this.finishInner(st.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=st.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Hd(i,e,t){let s=new Map;for(let o of i)for(let E=0;E<o.chunk.length;E++)o.chunk[E].maxPoint<=0&&s.set(o.chunk[E],o.chunkPos[E]);let a=new Set;for(let o of e)for(let E=0;E<o.chunk.length;E++){let T=s.get(o.chunk[E]);T!=null&&(t?t.mapPos(T):T)==o.chunkPos[E]&&!(t!=null&&t.touchesRange(T,T+o.chunk[E].length))&&a.add(o.chunk[E])}return a}class p_{constructor(e,t,s,a=0){this.layer=e,this.skip=t,this.minPoint=s,this.rank=a}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,s){for(;this.chunkIndex<this.layer.chunk.length;){let a=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(a)||this.layer.chunkEnd(this.chunkIndex)<e||a.maxPoint<this.minPoint))break;this.chunkIndex++,s=!1}if(this.chunkIndex<this.layer.chunk.length){let a=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!s||this.rangeIndex<a)&&this.setRangeIndex(a)}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],s=e+t.from[this.rangeIndex];if(this.from=s,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 Ko{constructor(e){this.heap=e}static from(e,t=null,s=-1){let a=[];for(let o=0;o<e.length;o++)for(let E=e[o];!E.isEmpty;E=E.nextLayer)E.maxPoint>=s&&a.push(new p_(E,t,s,o));return a.length==1?a[0]:new Ko(a)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let s of this.heap)s.goto(e,t);for(let s=this.heap.length>>1;s>=0;s--)Dh(this.heap,s);return this.next(),this}forward(e,t){for(let s of this.heap)s.forward(e,t);for(let s=this.heap.length>>1;s>=0;s--)Dh(this.heap,s);(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(),Dh(this.heap,0)}}}function Dh(i,e){for(let t=i[e];;){let s=(e<<1)+1;if(s>=i.length)break;let a=i[s];if(s+1<i.length&&a.compare(i[s+1])>=0&&(a=i[s+1],s++),t.compare(a)<0)break;i[s]=t,i[e]=a,e=s}}class Mo{constructor(e,t,s){this.minPoint=s,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=Ko.from(e,t,s)}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){Iu(this.active,e),Iu(this.activeTo,e),Iu(this.activeRank,e),this.minActive=Yd(this.active,this.activeTo)}addActive(e){let t=0,{value:s,to:a,rank:o}=this.cursor;for(;t<this.activeRank.length&&(o-this.activeRank[t]||a-this.activeTo[t])>0;)t++;Cu(this.active,t,s),Cu(this.activeTo,t,a),Cu(this.activeRank,t,o),e&&Cu(e,t,this.cursor.from),this.minActive=Yd(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let s=this.openStart<0?[]:null;for(;;){let a=this.minActive;if(a>-1&&(this.activeTo[a]-this.cursor.from||this.active[a].endSide-this.cursor.startSide)<0){if(this.activeTo[a]>e){this.to=this.activeTo[a],this.endSide=this.active[a].endSide;break}this.removeActive(a),s&&Iu(s,a)}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(s),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(s){this.openStart=0;for(let a=s.length-1;a>=0&&s[a]<e;a--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let s=this.active.length-1;s>=0&&!(this.activeRank[s]<this.pointRank);s--)(this.activeTo[s]>e||this.activeTo[s]==e&&this.active[s].endSide>=this.point.endSide)&&t.push(this.active[s]);return t.reverse()}openEnd(e){let t=0;for(let s=this.activeTo.length-1;s>=0&&this.activeTo[s]>e;s--)t++;return t}}function wd(i,e,t,s,a,o){i.goto(e),t.goto(s);let E=s+a,T=s,c=s-e,A=!!o.boundChange;for(let R=!1;;){let O=i.to+c-t.to,d=O||i.endSide-t.endSide,L=d<0?i.to+c:t.to,p=Math.min(L,E);if(i.point||t.point?(i.point&&t.point&&QR(i.point,t.point)&&oR(i.activeForPoint(i.to),t.activeForPoint(t.to))||o.comparePoint(T,p,i.point,t.point),R=!1):(R&&o.boundChange(T),p>T&&!oR(i.active,t.active)&&o.compareRange(T,p,i.active,t.active),A&&p<E&&(O||i.openEnd(L)!=t.openEnd(L))&&(R=!0)),L>E)break;T=L,d<=0&&i.next(),d>=0&&t.next()}}function oR(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(i[t]!=e[t]&&!QR(i[t],e[t]))return!1;return!0}function Iu(i,e){for(let t=e,s=i.length-1;t<s;t++)i[t]=i[t+1];i.pop()}function Cu(i,e,t){for(let s=i.length-1;s>=e;s--)i[s+1]=i[s];i[e]=t}function Yd(i,e){let t=-1,s=1e9;for(let a=0;a<e.length;a++)(e[a]-s||i[a].endSide-i[t].endSide)<0&&(t=a,s=e[a]);return t}function _T(i,e,t=i.length){let s=0;for(let a=0;a<t&&a<i.length;)i.charCodeAt(a)==9?(s+=e-s%e,a++):(s++,a=Cn(i,a));return s}function l0(i,e,t,s){for(let a=0,o=0;;){if(o>=e)return a;if(a==i.length)break;o+=i.charCodeAt(a)==9?t-o%t:1,a=Cn(i,a)}return i.length}const ER="ͼ",Fd=typeof Symbol>"u"?"__"+ER:Symbol.for(ER),uR=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Vd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Sl{constructor(e,t){this.rules=[];let{finish:s}=t||{};function a(E){return/^@/.test(E)?[E]:E.split(/,\s*/)}function o(E,T,c,A){let R=[],O=/^@(\w+)\b/.exec(E[0]),d=O&&O[1]=="keyframes";if(O&&T==null)return c.push(E[0]+";");for(let L in T){let p=T[L];if(/&/.test(L))o(L.split(/,\s*/).map(g=>E.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),p,c);else if(p&&typeof p=="object"){if(!O)throw new RangeError("The value of a property ("+L+") should be a primitive value.");o(a(L),p,R,d)}else p!=null&&R.push(L.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(R.length||d)&&c.push((s&&!O&&!A?E.map(s):E).join(", ")+" {"+R.join(" ")+"}")}for(let E in e)o(a(E),e[E],this.rules)}getRules(){return this.rules.join(`
|
|
92
|
+
`)}static newName(){let e=Vd[Fd]||1;return Vd[Fd]=e+1,ER+e.toString(36)}static mount(e,t,s){let a=e[uR],o=s&&s.nonce;a?o&&a.setNonce(o):a=new o0(e,o),a.mount(Array.isArray(t)?t:[t],e)}}let kd=new Map;class o0{constructor(e,t){let s=e.ownerDocument||e,a=s.defaultView;if(!e.head&&e.adoptedStyleSheets&&a.CSSStyleSheet){let o=kd.get(s);if(o)return e[uR]=o;this.sheet=new a.CSSStyleSheet,kd.set(s,this)}else this.styleTag=s.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[uR]=this}mount(e,t){let s=this.sheet,a=0,o=0;for(let E=0;E<e.length;E++){let T=e[E],c=this.modules.indexOf(T);if(c<o&&c>-1&&(this.modules.splice(c,1),o--,c=-1),c==-1){if(this.modules.splice(o++,0,T),s)for(let A=0;A<T.rules.length;A++)s.insertRule(T.rules[A],a++)}else{for(;o<c;)a+=this.modules[o++].rules.length;a+=T.rules.length,o++}}if(s)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let E="";for(let c=0;c<this.modules.length;c++)E+=this.modules[c].getRules()+`
|
|
93
|
+
`;this.styleTag.textContent=E;let T=t.head||t;this.styleTag.parentNode!=T&&T.insertBefore(this.styleTag,T.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var _r={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:"'"},jo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},E0=typeof navigator<"u"&&/Mac/.test(navigator.platform),u0=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var fn=0;fn<10;fn++)_r[48+fn]=_r[96+fn]=String(fn);for(var fn=1;fn<=24;fn++)_r[fn+111]="F"+fn;for(var fn=65;fn<=90;fn++)_r[fn]=String.fromCharCode(fn+32),jo[fn]=String.fromCharCode(fn);for(var gh in _r)jo.hasOwnProperty(gh)||(jo[gh]=_r[gh]);function T0(i){var e=E0&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||u0&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?jo:_r)[i.keyCode]||i.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}let Pn=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},TR=typeof document<"u"?document:{documentElement:{style:{}}};const cR=/Edge\/(\d+)/.exec(Pn.userAgent),D_=/MSIE \d/.test(Pn.userAgent),AR=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Pn.userAgent),LT=!!(D_||AR||cR),Wd=!LT&&/gecko\/(\d+)/i.test(Pn.userAgent),Mh=!LT&&/Chrome\/(\d+)/.exec(Pn.userAgent),c0="webkitFontSmoothing"in TR.documentElement.style,hR=!LT&&/Apple Computer/.test(Pn.vendor),Xd=hR&&(/Mobile\/\w+/.test(Pn.userAgent)||Pn.maxTouchPoints>2);var Ie={mac:Xd||/Mac/.test(Pn.platform),windows:/Win/.test(Pn.platform),linux:/Linux|X11/.test(Pn.platform),ie:LT,ie_version:D_?TR.documentMode||6:AR?+AR[1]:cR?+cR[1]:0,gecko:Wd,gecko_version:Wd?+(/Firefox\/(\d+)/.exec(Pn.userAgent)||[0,0])[1]:0,chrome:!!Mh,chrome_version:Mh?+Mh[1]:0,ios:Xd,android:/Android\b/.test(Pn.userAgent),webkit_version:c0?+(/\bAppleWebKit\/(\d+)/.exec(Pn.userAgent)||[0,0])[1]:0,safari:hR,safari_version:hR?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Pn.userAgent)||[0,0])[1]:0,tabSize:TR.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function ZR(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}const eT=Object.create(null);function eS(i,e,t){if(i==e)return!0;i||(i=eT),e||(e=eT);let s=Object.keys(i),a=Object.keys(e);if(s.length-0!=a.length-0)return!1;for(let o of s)if(o!=t&&(a.indexOf(o)==-1||i[o]!==e[o]))return!1;return!0}function A0(i,e){for(let t=i.attributes.length-1;t>=0;t--){let s=i.attributes[t].name;e[s]==null&&i.removeAttribute(s)}for(let t in e){let s=e[t];t=="style"?i.style.cssText=s:i.getAttribute(t)!=s&&i.setAttribute(t,s)}}function Kd(i,e,t){let s=!1;if(e)for(let a in e)t&&a in t||(s=!0,a=="style"?i.style.cssText="":i.removeAttribute(a));if(t)for(let a in t)e&&e[a]==t[a]||(s=!0,a=="style"?i.style.cssText=t[a]:i.setAttribute(a,t[a]));return s}function h0(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let s=i.attributes[t];e[s.name]=s.value}return e}class mT{eq(e){return!1}updateDOM(e,t,s){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,s){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Yn=(function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i})(Yn||(Yn={}));class Ln extends Cr{constructor(e,t,s,a){super(),this.startSide=e,this.endSide=t,this.widget=s,this.spec=a}get heightRelevant(){return!1}static mark(e){return new eE(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),s=!!e.block;return t+=s&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new oa(e,t,t,s,e.widget||null,!1)}static replace(e){let t=!!e.block,s,a;if(e.isBlockGap)s=-5e8,a=4e8;else{let{start:o,end:E}=g_(e,t);s=(o?t?-3e8:-1:5e8)-1,a=(E?t?2e8:1:-6e8)+1}return new oa(e,s,a,t,e.widget||null,!0)}static line(e){return new tE(e)}static set(e,t=!1){return st.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Ln.none=st.empty;class eE extends Ln{constructor(e){let{start:t,end:s}=g_(e);super(t?-1:5e8,s?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?ZR(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||eT}eq(e){return this==e||e instanceof eE&&this.tagName==e.tagName&&eS(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)}}eE.prototype.point=!1;class tE extends Ln{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof tE&&this.spec.class==e.spec.class&&eS(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)}}tE.prototype.mapMode=ni.TrackBefore;tE.prototype.point=!0;class oa extends Ln{constructor(e,t,s,a,o,E){super(t,s,o,e),this.block=a,this.isReplace=E,this.mapMode=a?t<=0?ni.TrackBefore:ni.TrackAfter:ni.TrackDel}get type(){return this.startSide!=this.endSide?Yn.WidgetRange:this.startSide<=0?Yn.WidgetBefore:Yn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof oa&&R0(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)}}oa.prototype.point=!0;function g_(i,e=!1){let{inclusiveStart:t,inclusiveEnd:s}=i;return t==null&&(t=i.inclusive),s==null&&(s=i.inclusive),{start:t??e,end:s??e}}function R0(i,e){return i==e||!!(i&&e&&i.compare(e))}function Tl(i,e,t,s=0){let a=t.length-1;a>=0&&t[a]+s>=i?t[a]=Math.max(t[a],e):t.push(i,e)}class qo extends Cr{constructor(e,t,s){super(),this.tagName=e,this.attributes=t,this.rank=s}eq(e){return e==this||e instanceof qo&&this.tagName==e.tagName&&eS(this.attributes,e.attributes)}static create(e){return new qo(e.tagName,e.attributes||eT,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return st.of(e,t)}}qo.prototype.startSide=qo.prototype.endSide=-1;function $o(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function RR(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Yo(i,e){if(!e.anchorNode)return!1;try{return RR(i,e.anchorNode)}catch{return!1}}function Xu(i){return i.nodeType==3?Jo(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function Fo(i,e,t,s){return t?jd(i,e,t,s,-1)||jd(i,e,t,s,1):!1}function Lr(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function tT(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function jd(i,e,t,s,a){for(;;){if(i==t&&e==s)return!0;if(e==(a<0?0:vs(i))){if(i.nodeName=="DIV")return!1;let o=i.parentNode;if(!o||o.nodeType!=1)return!1;e=Lr(i)+(a<0?0:1),i=o}else if(i.nodeType==1){if(i=i.childNodes[e+(a<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=a<0?vs(i):0}else return!1}}function vs(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function nT(i,e){let t=e?i.left:i.right;return{left:t,right:t,top:i.top,bottom:i.bottom}}function S0(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function M_(i,e){let t=e.width/i.offsetWidth,s=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(e.height-i.offsetHeight)<1)&&(s=1),{scaleX:t,scaleY:s}}function f0(i,e,t,s,a,o,E,T){let c=i.ownerDocument,A=c.defaultView||window;for(let R=i,O=!1;R&&!O;)if(R.nodeType==1){let d,L=R==c.body,p=1,g=1;if(L)d=S0(A);else{if(/^(fixed|sticky)$/.test(getComputedStyle(R).position)&&(O=!0),R.scrollHeight<=R.clientHeight&&R.scrollWidth<=R.clientWidth){R=R.assignedSlot||R.parentNode;continue}let K=R.getBoundingClientRect();({scaleX:p,scaleY:g}=M_(R,K)),d={left:K.left,right:K.left+R.clientWidth*p,top:K.top,bottom:K.top+R.clientHeight*g}}let v=0,B=0;if(a=="nearest")e.top<d.top+E?(B=e.top-(d.top+E),t>0&&e.bottom>d.bottom+B&&(B=e.bottom-d.bottom+E)):e.bottom>d.bottom-E&&(B=e.bottom-d.bottom+E,t<0&&e.top-B<d.top&&(B=e.top-(d.top+E)));else{let K=e.bottom-e.top,Z=d.bottom-d.top;B=(a=="center"&&K<=Z?e.top+K/2-Z/2:a=="start"||a=="center"&&t<0?e.top-E:e.bottom-Z+E)-d.top}if(s=="nearest"?e.left<d.left+o?(v=e.left-(d.left+o),t>0&&e.right>d.right+v&&(v=e.right-d.right+o)):e.right>d.right-o&&(v=e.right-d.right+o,t<0&&e.left<d.left+v&&(v=e.left-(d.left+o))):v=(s=="center"?e.left+(e.right-e.left)/2-(d.right-d.left)/2:s=="start"==T?e.left-o:e.right-(d.right-d.left)+o)-d.left,v||B)if(L)A.scrollBy(v,B);else{let K=0,Z=0;if(B){let Te=R.scrollTop;R.scrollTop+=B/g,Z=(R.scrollTop-Te)*g}if(v){let Te=R.scrollLeft;R.scrollLeft+=v/p,K=(R.scrollLeft-Te)*p}e={left:e.left-K,top:e.top-Z,right:e.right-K,bottom:e.bottom-Z},K&&Math.abs(K-v)<1&&(s="nearest"),Z&&Math.abs(Z-B)<1&&(a="nearest")}if(L)break;(e.top<d.top||e.bottom>d.bottom||e.left<d.left||e.right>d.right)&&(e={left:Math.max(e.left,d.left),right:Math.min(e.right,d.right),top:Math.max(e.top,d.top),bottom:Math.min(e.bottom,d.bottom)}),R=R.assignedSlot||R.parentNode}else if(R.nodeType==11)R=R.host;else break}function P_(i,e=!0){let t=i.ownerDocument,s=null,a=null;for(let o=i.parentNode;o&&!(o==t.body||(!e||s)&&a);)if(o.nodeType==1)!a&&o.scrollHeight>o.clientHeight&&(a=o),e&&!s&&o.scrollWidth>o.clientWidth&&(s=o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;return{x:s,y:a}}class O0{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:s}=e;this.set(t,Math.min(e.anchorOffset,t?vs(t):0),s,Math.min(e.focusOffset,s?vs(s):0))}set(e,t,s,a){this.anchorNode=e,this.anchorOffset=t,this.focusNode=s,this.focusOffset=a}}let na=null;Ie.safari&&Ie.safari_version>=26&&(na=!1);function U_(i){if(i.setActive)return i.setActive();if(na)return i.focus(na);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(na==null?{get preventScroll(){return na={preventScroll:!0},!0}}:void 0),!na){na=!1;for(let t=0;t<e.length;){let s=e[t++],a=e[t++],o=e[t++];s.scrollTop!=a&&(s.scrollTop=a),s.scrollLeft!=o&&(s.scrollLeft=o)}}}let qd;function Jo(i,e,t=e){let s=qd||(qd=document.createRange());return s.setEnd(i,t),s.setStart(i,e),s}function cl(i,e,t,s){let a={key:e,code:e,keyCode:t,which:t,cancelable:!0};s&&({altKey:a.altKey,ctrlKey:a.ctrlKey,shiftKey:a.shiftKey,metaKey:a.metaKey}=s);let o=new KeyboardEvent("keydown",a);o.synthetic=!0,i.dispatchEvent(o);let E=new KeyboardEvent("keyup",a);return E.synthetic=!0,i.dispatchEvent(E),o.defaultPrevented||E.defaultPrevented}function N0(i){for(;i;){if(i&&(i.nodeType==9||i.nodeType==11&&i.host))return i;i=i.assignedSlot||i.parentNode}return null}function d0(i,e){let t=e.focusNode,s=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=s)return!1;for(s=Math.min(s,vs(t));;)if(s){if(t.nodeType!=1)return!1;let a=t.childNodes[s-1];a.contentEditable=="false"?s--:(t=a,s=vs(t))}else{if(t==i)return!0;s=Lr(t),t=t.parentNode}}function y_(i){return i instanceof Window?i.pageYOffset>Math.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function b_(i,e){for(let t=i,s=e;;){if(t.nodeType==3&&s>0)return{node:t,offset:s};if(t.nodeType==1&&s>0){if(t.contentEditable=="false")return null;t=t.childNodes[s-1],s=vs(t)}else if(t.parentNode&&!tT(t))s=Lr(t),t=t.parentNode;else return null}}function v_(i,e){for(let t=i,s=e;;){if(t.nodeType==3&&s<t.nodeValue.length)return{node:t,offset:s};if(t.nodeType==1&&s<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[s],s=0}else if(t.parentNode&&!tT(t))s=Lr(t)+1,t=t.parentNode;else return null}}class bi{constructor(e,t,s=!0){this.node=e,this.offset=t,this.precise=s}static before(e,t){return new bi(e.parentNode,Lr(e),t)}static after(e,t){return new bi(e.parentNode,Lr(e)+1,t)}}var kt=(function(i){return i[i.LTR=0]="LTR",i[i.RTL=1]="RTL",i})(kt||(kt={}));const Ea=kt.LTR,tS=kt.RTL;function G_(i){let e=[];for(let t=0;t<i.length;t++)e.push(1<<+i[t]);return e}const I0=G_("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),C0=G_("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),SR=Object.create(null),zi=[];for(let i of["()","[]","{}"]){let e=i.charCodeAt(0),t=i.charCodeAt(1);SR[e]=t,SR[t]=-e}function B_(i){return i<=247?I0[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?C0[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8204?256:64336<=i&&i<=65023?4:1}const _0=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class rs{get dir(){return this.level%2?tS:Ea}constructor(e,t,s){this.from=e,this.to=t,this.level=s}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,s,a){let o=-1;for(let E=0;E<e.length;E++){let T=e[E];if(T.from<=t&&T.to>=t){if(T.level==s)return E;(o<0||(a!=0?a<0?T.from<t:T.to>t:e[o].level>T.level))&&(o=E)}}if(o<0)throw new RangeError("Index out of range");return o}}function x_(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++){let s=i[t],a=e[t];if(s.from!=a.from||s.to!=a.to||s.direction!=a.direction||!x_(s.inner,a.inner))return!1}return!0}const dt=[];function L0(i,e,t,s,a){for(let o=0;o<=s.length;o++){let E=o?s[o-1].to:e,T=o<s.length?s[o].from:t,c=o?256:a;for(let A=E,R=c,O=c;A<T;A++){let d=B_(i.charCodeAt(A));d==512?d=R:d==8&&O==4&&(d=16),dt[A]=d==4?2:d,d&7&&(O=d),R=d}for(let A=E,R=c,O=c;A<T;A++){let d=dt[A];if(d==128)A<T-1&&R==dt[A+1]&&R&24?d=dt[A]=R:dt[A]=256;else if(d==64){let L=A+1;for(;L<T&&dt[L]==64;)L++;let p=A&&R==8||L<t&&dt[L]==8?O==1?1:8:256;for(let g=A;g<L;g++)dt[g]=p;A=L-1}else d==8&&O==1&&(dt[A]=1);R=d,d&7&&(O=d)}}}function m0(i,e,t,s,a){let o=a==1?2:1;for(let E=0,T=0,c=0;E<=s.length;E++){let A=E?s[E-1].to:e,R=E<s.length?s[E].from:t;for(let O=A,d,L,p;O<R;O++)if(L=SR[d=i.charCodeAt(O)])if(L<0){for(let g=T-3;g>=0;g-=3)if(zi[g+1]==-L){let v=zi[g+2],B=v&2?a:v&4?v&1?o:a:0;B&&(dt[O]=dt[zi[g]]=B),T=g;break}}else{if(zi.length==189)break;zi[T++]=O,zi[T++]=d,zi[T++]=c}else if((p=dt[O])==2||p==1){let g=p==a;c=g?0:1;for(let v=T-3;v>=0;v-=3){let B=zi[v+2];if(B&2)break;if(g)zi[v+2]|=2;else{if(B&4)break;zi[v+2]|=4}}}}}function p0(i,e,t,s){for(let a=0,o=s;a<=t.length;a++){let E=a?t[a-1].to:i,T=a<t.length?t[a].from:e;for(let c=E;c<T;){let A=dt[c];if(A==256){let R=c+1;for(;;)if(R==T){if(a==t.length)break;R=t[a++].to,T=a<t.length?t[a].from:e}else if(dt[R]==256)R++;else break;let O=o==1,d=(R<e?dt[R]:s)==1,L=O==d?O?1:2:s;for(let p=R,g=a,v=g?t[g-1].to:i;p>c;)p==v&&(p=t[--g].from,v=g?t[g-1].to:i),dt[--p]=L;c=R}else o=A,c++}}}function fR(i,e,t,s,a,o,E){let T=s%2?2:1;if(s%2==a%2)for(let c=e,A=0;c<t;){let R=!0,O=!1;if(A==o.length||c<o[A].from){let g=dt[c];g!=T&&(R=!1,O=g==16)}let d=!R&&T==1?[]:null,L=R?s:s+1,p=c;e:for(;;)if(A<o.length&&p==o[A].from){if(O)break e;let g=o[A];if(!R)for(let v=g.to,B=A+1;;){if(v==t)break e;if(B<o.length&&o[B].from==v)v=o[B++].to;else{if(dt[v]==T)break e;break}}if(A++,d)d.push(g);else{g.from>c&&E.push(new rs(c,g.from,L));let v=g.direction==Ea!=!(L%2);NR(i,v?s+1:s,a,g.inner,g.from,g.to,E),c=g.to}p=g.to}else{if(p==t||(R?dt[p]!=T:dt[p]==T))break;p++}d?fR(i,c,p,s+1,a,d,E):c<p&&E.push(new rs(c,p,L)),c=p}else for(let c=t,A=o.length;c>e;){let R=!0,O=!1;if(!A||c>o[A-1].to){let g=dt[c-1];g!=T&&(R=!1,O=g==16)}let d=!R&&T==1?[]:null,L=R?s:s+1,p=c;e:for(;;)if(A&&p==o[A-1].to){if(O)break e;let g=o[--A];if(!R)for(let v=g.from,B=A;;){if(v==e)break e;if(B&&o[B-1].to==v)v=o[--B].from;else{if(dt[v-1]==T)break e;break}}if(d)d.push(g);else{g.to<c&&E.push(new rs(g.to,c,L));let v=g.direction==Ea!=!(L%2);NR(i,v?s+1:s,a,g.inner,g.from,g.to,E),c=g.from}p=g.from}else{if(p==e||(R?dt[p-1]!=T:dt[p-1]==T))break;p--}d?fR(i,p,c,s+1,a,d,E):p<c&&E.push(new rs(p,c,L)),c=p}}function NR(i,e,t,s,a,o,E){let T=e%2?2:1;L0(i,a,o,s,T),m0(i,a,o,s,T),p0(a,o,s,T),fR(i,a,o,e,t,s,E)}function D0(i,e,t){if(!i)return[new rs(0,0,e==tS?1:0)];if(e==Ea&&!t.length&&!_0.test(i))return H_(i.length);if(t.length)for(;i.length>dt.length;)dt[dt.length]=256;let s=[],a=e==Ea?0:1;return NR(i,a,a,t,0,i.length,s),s}function H_(i){return[new rs(0,i,0)]}let w_="";function g0(i,e,t,s,a){var o;let E=s.head-i.from,T=rs.find(e,E,(o=s.bidiLevel)!==null&&o!==void 0?o:-1,s.assoc),c=e[T],A=c.side(a,t);if(E==A){let d=T+=a?1:-1;if(d<0||d>=e.length)return null;c=e[T=d],E=c.side(!a,t),A=c.side(a,t)}let R=Cn(i.text,E,c.forward(a,t));(R<c.from||R>c.to)&&(R=A),w_=i.text.slice(Math.min(E,R),Math.max(E,R));let O=T==(a?e.length-1:0)?null:e[T+(a?1:-1)];return O&&R==A&&O.level+(a?0:1)<c.level?oe.cursor(O.side(!a,t)+i.from,O.forward(a,t)?1:-1,O.level):oe.cursor(R+i.from,c.forward(a,t)?-1:1,c.level)}function M0(i,e,t){for(let s=e;s<t;s++){let a=B_(i.charCodeAt(s));if(a==1)return Ea;if(a==2||a==4)return tS}return Ea}const Y_=Ge.define(),F_=Ge.define(),V_=Ge.define(),k_=Ge.define(),dR=Ge.define(),W_=Ge.define(),X_=Ge.define(),nS=Ge.define(),iS=Ge.define(),K_=Ge.define({combine:i=>i.some(e=>e)}),P0=Ge.define({combine:i=>i.some(e=>e)}),j_=Ge.define();class Al{constructor(e,t,s,a,o,E=!1){this.range=e,this.y=t,this.x=s,this.yMargin=a,this.xMargin=o,this.isSnapshot=E}map(e){return e.empty?this:new Al(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 Al(oe.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const _u=zt.define({map:(i,e)=>i.map(e)}),q_=zt.define();function as(i,e,t){let s=i.facet(k_);s.length?s[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const Ps=Ge.define({combine:i=>i.length?i[0]:!0});let U0=0;const ll=Ge.define({combine(i){return i.filter((e,t)=>{for(let s=0;s<t;s++)if(i[s].plugin==e.plugin)return!1;return!0})}});class ua{constructor(e,t,s,a,o){this.id=e,this.create=t,this.domEventHandlers=s,this.domEventObservers=a,this.baseExtensions=o(this),this.extension=this.baseExtensions.concat(ll.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(ll.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:s,eventObservers:a,provide:o,decorations:E}=t||{};return new ua(U0++,e,s,a,T=>{let c=[];return E&&c.push(pT.of(A=>{let R=A.plugin(T);return R?E(R):Ln.none})),o&&c.push(o(T)),c})}static fromClass(e,t){return ua.define((s,a)=>new e(s,a),t)}}class Ph{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(s){if(as(t.state,s,"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){as(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(s){as(e.state,s,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const $_=Ge.define(),sS=Ge.define(),pT=Ge.define(),J_=Ge.define(),rS=Ge.define(),nE=Ge.define(),Q_=Ge.define();function $d(i,e){let t=i.state.facet(Q_);if(!t.length)return t;let s=t.map(o=>o instanceof Function?o(i):o),a=[];return st.spans(s,e.from,e.to,{point(){},span(o,E,T,c){let A=o-e.from,R=E-e.from,O=a;for(let d=T.length-1;d>=0;d--,c--){let L=T[d].spec.bidiIsolate,p;if(L==null&&(L=M0(e.text,A,R)),c>0&&O.length&&(p=O[O.length-1]).to==A&&p.direction==L)p.to=R,O=p.inner;else{let g={from:A,to:R,direction:L,inner:[]};O.push(g),O=g.inner}}}}),a}const z_=Ge.define();function Z_(i){let e=0,t=0,s=0,a=0;for(let o of i.state.facet(z_)){let E=o(i);E&&(E.left!=null&&(e=Math.max(e,E.left)),E.right!=null&&(t=Math.max(t,E.right)),E.top!=null&&(s=Math.max(s,E.top)),E.bottom!=null&&(a=Math.max(a,E.bottom)))}return{left:e,right:t,top:s,bottom:a}}const vo=Ge.define();class Si{constructor(e,t,s,a){this.fromA=e,this.toA=t,this.fromB=s,this.toB=a}join(e){return new Si(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,s=this;for(;t>0;t--){let a=e[t-1];if(!(a.fromA>s.toA)){if(a.toA<s.fromA)break;s=s.join(a),e.splice(t-1,1)}}return e.splice(t,0,s),e}static extendWithRanges(e,t){if(t.length==0)return e;let s=[];for(let a=0,o=0,E=0;;){let T=a<e.length?e[a].fromB:1e9,c=o<t.length?t[o]:1e9,A=Math.min(T,c);if(A==1e9)break;let R=A+E,O=A,d=R;for(;;)if(o<t.length&&t[o]<=O){let L=t[o+1];o+=2,O=Math.max(O,L);for(let p=a;p<e.length&&e[p].fromB<=O;p++)E=e[p].toA-e[p].toB;d=Math.max(d,L+E)}else if(a<e.length&&e[a].fromB<=O){let L=e[a++];O=Math.max(O,L.toB),d=Math.max(d,L.toA),E=L.toA-L.toB}else break;s.push(new Si(R,d,A,O))}return s}}class iT{constructor(e,t,s){this.view=e,this.state=t,this.transactions=s,this.flags=0,this.startState=e.state,this.changes=un.empty(this.startState.doc.length);for(let o of s)this.changes=this.changes.compose(o.changes);let a=[];this.changes.iterChangedRanges((o,E,T,c)=>a.push(new Si(o,E,T,c))),this.changedRanges=a}static create(e,t,s){return new iT(e,t,s)}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 y0=[];class Bt{constructor(e,t,s=0){this.dom=e,this.length=t,this.flags=s,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return y0}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&&A0(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 s=t;for(let a of this.children){if(a==e)return s;s+=a.length+a.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 s=Lr(this.dom),a=this.length?e>0:t>0;return new bi(this.parent.dom,s+(a?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 gT)return e;return null}static get(e){return e.cmTile}}class DT extends Bt{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,s=null,a,o=(e==null?void 0:e.node)==t?e:null,E=0;for(let T of this.children){if(T.sync(e),E+=T.length+T.breakAfter,a=s?s.nextSibling:t.firstChild,o&&a!=T.dom&&(o.written=!0),T.dom.parentNode==t)for(;a&&a!=T.dom;)a=Jd(a);else t.insertBefore(T.dom,a);s=T.dom}for(a=s?s.nextSibling:t.firstChild,o&&a&&(o.written=!0);a;)a=Jd(a);this.length=E}}function Jd(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}class gT extends DT{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=Bt.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],s=this,a=0,o=0;;)if(a==s.children.length){if(!t.length)return;s=s.parent,s.breakAfter&&o++,a=t.pop()}else{let E=s.children[a++];if(E instanceof bs)t.push(a),s=E,a=0;else{let T=o+E.length,c=e(E,o);if(c!==void 0)return c;o=T+E.breakAfter}}}resolveBlock(e,t){let s,a=-1,o,E=-1;if(this.blockTiles((T,c)=>{let A=c+T.length;if(e>=c&&e<=A){if(T.isWidget()&&t>=-1&&t<=1){if(T.flags&32)return!0;T.flags&16&&(s=void 0)}(c<e||e==A&&(t<-1?T.length:T.covers(1)))&&(!s||!T.isWidget()&&s.isWidget())&&(s=T,a=e-c),(A>e||e==c&&(t>1?T.length:T.covers(-1)))&&(!o||!T.isWidget()&&o.isWidget())&&(o=T,E=e-c)}}),!s&&!o)throw new Error("No tile at position "+e);return s&&t<0||!o?{tile:s,offset:a}:{tile:o,offset:E}}}class bs extends DT{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 s=new bs(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class fl extends DT{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,s){let a=new fl(t||document.createElement("div"),e);return(!t||!s)&&(a.flags|=4),a}get domAttrs(){return this.attrs}resolveInline(e,t,s){let a=null,o=-1,E=null,T=-1;function c(R,O){for(let d=0,L=0;d<R.children.length&&L<=O;d++){let p=R.children[d],g=L+p.length;g>=O&&(p.isComposite()?c(p,O-L):(!E||E.isHidden&&(t>0||s&&v0(E,p)))&&(g>O||p.flags&32)?(E=p,T=O-L):(L<O||p.flags&16&&!p.isHidden)&&(a=p,o=O-L)),L=g}}c(this,e);let A=(t<0?a:E)||a||E;return A?{tile:A,offset:A==a?o:T}:null}coordsIn(e,t){let s=this.resolveInline(e,t,!0);return s?s.tile.coordsIn(Math.max(0,s.offset),t):b0(this)}domIn(e,t){let s=this.resolveInline(e,t);if(s){let{tile:a,offset:o}=s;if(this.dom.contains(a.dom))return a.isText()?new bi(a.dom,Math.min(a.dom.nodeValue.length,o)):a.domPosFor(o,a.flags&16?1:a.flags&32?-1:t);let E=s.tile.parent,T=!1;for(let c of E.children){if(T)return new bi(c.dom,0);c==s.tile&&(T=!0)}}return new bi(this.dom,0)}}function b0(i){let e=i.dom.lastChild;if(!e)return i.dom.getBoundingClientRect();let t=Xu(e);return t[t.length-1]||null}function v0(i,e){let t=i.coordsIn(0,1),s=e.coordsIn(0,1);return t&&s&&s.top<t.bottom}class wn extends DT{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let s=new wn(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class ra extends Bt{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 s=this.dom.nodeValue.length;e>s&&(e=s);let a=e,o=e,E=0;e==0&&t<0||e==s&&t>=0?Ie.chrome||Ie.gecko||(e?(a--,E=1):o<s&&(o++,E=-1)):t<0?a--:o<s&&o++;let T=Jo(this.dom,a,o).getClientRects();if(!T.length)return null;let c=T[(E?E<0:t>=0)?0:T.length-1];return Ie.safari&&!E&&c.width==0&&(c=Array.prototype.find.call(T,A=>A.width)||c),E?nT(c,E<0):c||null}static of(e,t){let s=new ra(t||document.createTextNode(e),e);return t||(s.flags|=2),s}}class Ta extends Bt{constructor(e,t,s,a){super(e,t,a),this.widget=s}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,s){let a=this.widget.coordsAt(this.dom,e,t);if(a)return a;if(s)return nT(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let o=this.dom.getClientRects(),E=null;if(!o.length)return null;let T=this.flags&16?!0:this.flags&32?!1:e>0;for(let c=T?o.length-1:0;E=o[c],!(e>0?c==0:c==o.length-1||E.top<E.bottom);c+=T?-1:1);return nT(E,!T)}}get overrideDOMText(){if(!this.length)return rt.empty;let{root:e}=this;if(!e)return rt.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,s,a,o){return o||(o=e.toDOM(t),e.editable||(o.contentEditable="false")),new Ta(o,s,e,a)}}class sT extends Bt{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 rt.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class G0{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,s){let{tile:a,index:o,beforeBreak:E,parents:T}=this;for(;e||t>0;)if(a.isComposite())if(E){if(!e)break;s&&s.break(),e--,E=!1}else if(o==a.children.length){if(!e&&!T.length)break;s&&s.leave(a),E=!!a.breakAfter,{tile:a,index:o}=T.pop(),o++}else{let c=a.children[o],A=c.breakAfter;(t>0?c.length<=e:c.length<e)&&(!s||s.skip(c,0,c.length)!==!1||!c.isComposite)?(E=!!A,o++,e-=c.length):(T.push({tile:a,index:o}),a=c,o=0,s&&c.isComposite()&&s.enter(c))}else if(o==a.length)E=!!a.breakAfter,{tile:a,index:o}=T.pop(),o++;else if(e){let c=Math.min(e,a.length-o);s&&s.skip(a,o,o+c),e-=c,o+=c}else break;return this.tile=a,this.index=o,this.beforeBreak=E,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class B0{constructor(e,t,s,a){this.from=e,this.to=t,this.wrapper=s,this.rank=a}}class x0{constructor(e,t,s){this.cache=e,this.root=t,this.blockWrappers=s,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,s,a){var o;this.flushBuffer();let E=this.ensureMarks(t,s),T=E.lastChild;if(T&&T.isText()&&!(T.flags&8)&&T.length+e.length<512){this.cache.reused.set(T,2);let c=E.children[E.children.length-1]=new ra(T.dom,T.text+e);c.parent=E}else E.append(a||ra.of(e,(o=this.cache.find(ra))===null||o===void 0?void 0:o.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let s=this.curLine;s.dom!=t.line.dom&&(s.setDOM(this.cache.reused.has(t.line)?Uh(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let a=s;for(let T=t.marks.length-1;T>=0;T--){let c=t.marks[T],A=a.lastChild;if(A instanceof wn&&A.mark.eq(c.mark))A.dom!=c.dom&&A.setDOM(Uh(c.dom)),a=A;else{if(this.cache.reused.get(c)){let O=Bt.get(c.dom);O&&O.setDOM(Uh(c.dom))}let R=wn.of(c.mark,c.dom);a.append(R),a=R}this.cache.reused.set(c,2)}let o=Bt.get(e.text);o&&this.cache.reused.set(o,2);let E=new ra(e.text,e.text.nodeValue);E.flags|=8,this.pos=e.range.toB,a.append(E)}addInlineWidget(e,t,s){let a=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);a||this.flushBuffer();let o=this.ensureMarks(t,s);!a&&!(e.flags&16)&&o.append(this.getBuffer(1)),o.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,s){this.flushBuffer(),this.ensureMarks(t,s).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 s;e||(e=eL);let a=fl.start(e,t||((s=this.cache.find(fl))===null||s===void 0?void 0:s.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=a)}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 s;let a=this.curLine;for(let o=e.length-1;o>=0;o--){let E=e[o],T;if(t>0&&(T=a.lastChild)&&T instanceof wn&&T.mark.eq(E))a=T,t--;else{let c=wn.of(E,(s=this.cache.find(wn,A=>A.mark.eq(E)))===null||s===void 0?void 0:s.dom);a.append(c),a=c,t=0}}return a}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Qd(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Ie.ios&&Qd(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(yh,0,32)||new Ta(yh.toDOM(),0,yh,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,s=new B0(e.from,e.to,e.value,t),a=this.wrappers.length;for(;a>0&&(this.wrappers[a-1].rank-s.rank||this.wrappers[a-1].to-s.to)<0;)a--;this.wrappers.splice(a,0,s)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let s of this.wrappers){let a=t.lastChild;if(s.from<this.pos&&a instanceof bs&&a.wrapper.eq(s.wrapper))t=a;else{let o=bs.of(s.wrapper,(e=this.cache.find(bs,E=>E.wrapper.eq(s.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),s=this.cache.find(sT,void 0,1);return s&&(s.flags=t),s||new sT(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class H0{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:a,lineBreak:o,done:E}=this.cursor.next(this.skipCount);if(this.skipCount=0,E)throw new Error("Ran out of text content when drawing inline views");this.text=a;let T=this.textOff=Math.min(e,a.length);return o?null:a.slice(0,T)}let t=Math.min(this.text.length,this.textOff+e),s=this.text.slice(this.textOff,t);return this.textOff=t,s}}const rT=[Ta,fl,ra,wn,sT,bs,gT];for(let i=0;i<rT.length;i++)rT[i].bucket=i;class w0{constructor(e){this.view=e,this.buckets=rT.map(()=>[]),this.index=rT.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,s=this.buckets[t];s.length<6?s.push(e):s[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,s=2){let a=e.bucket,o=this.buckets[a],E=this.index[a];for(let T=o.length-1;T>=0;T--){let c=(T+E)%o.length,A=o[c];if((!t||t(A))&&!this.reused.has(A))return o.splice(c,1),c<E&&this.index[a]--,this.reused.set(A,s),A}return null}findWidget(e,t,s){let a=this.buckets[0];if(a.length)for(let o=0,E=0;;o++){if(o==a.length){if(E)return null;E=1,o=0}let T=a[o];if(!this.reused.has(T)&&(E==0?T.widget.compare(e):T.widget.constructor==e.constructor&&e.updateDOM(T.dom,this.view,T.widget)))return a.splice(o,1),o<this.index[0]&&this.index[0]--,T.widget==e&&T.length==t&&(T.flags&497)==s?(this.reused.set(T,1),T):(this.reused.set(T,2),new Ta(T.dom,t,e,T.flags&-498|s))}}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 Y0{constructor(e,t,s,a,o){this.view=e,this.decorations=a,this.disallowBlockEffectsFor=o,this.openWidget=!1,this.openMarks=0,this.cache=new w0(e),this.text=new H0(e.state.doc),this.builder=new x0(this.cache,new gT(e,e.contentDOM),st.iter(s)),this.cache.reused.set(t,2),this.old=new G0(t),this.reuseWalker={skip:(E,T,c)=>{if(this.cache.add(E),E.isComposite())return!1},enter:E=>this.cache.add(E),leave:()=>{},break:()=>{}}}run(e,t){let s=t&&this.getCompositionContext(t.text);for(let a=0,o=0,E=0;;){let T=E<e.length?e[E++]:null,c=T?T.fromA:this.old.root.length;if(c>a){let A=c-a;this.preserve(A,!E,!T),a=c,o+=A}if(!T)break;t&&T.fromA<=t.range.fromA&&T.toA>=t.range.toA?(this.forward(T.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,s),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,T.toA),this.emit(t.range.toB,T.toB)):(this.forward(T.fromA,T.toA),this.emit(o,T.toB)),o=T.toB,a=T.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,s){let a=k0(this.old),o=this.openMarks;this.old.advance(e,s?1:-1,{skip:(E,T,c)=>{if(E.isWidget())if(this.openWidget)this.builder.continueWidget(c-T);else{let A=c>0||T<E.length?Ta.of(E.widget,this.view,c-T,E.flags&496,this.cache.maybeReuse(E)):this.cache.reuse(E);A.flags&256?(A.flags&=-2,this.builder.addBlockWidget(A)):(this.builder.ensureLine(null),this.builder.addInlineWidget(A,a,o),o=a.length)}else if(E.isText())this.builder.ensureLine(null),!T&&c==E.length&&!this.cache.reused.has(E)?this.builder.addText(E.text,a,o,this.cache.reuse(E)):(this.cache.add(E),this.builder.addText(E.text.slice(T,c),a,o)),o=a.length;else if(E.isLine())E.flags&=-2,this.cache.reused.set(E,1),this.builder.addLine(E);else if(E instanceof sT)this.cache.add(E);else if(E instanceof wn)this.builder.ensureLine(null),this.builder.addMark(E,a,o),this.cache.reused.set(E,1),o=a.length;else return!1;this.openWidget=!1},enter:E=>{E.isLine()?this.builder.addLineStart(E.attrs,this.cache.maybeReuse(E)):(this.cache.add(E),E instanceof wn&&a.unshift(E.mark)),this.openWidget=!1},leave:E=>{E.isLine()?a.length&&(a.length=o=0):E instanceof wn&&(a.shift(),o=Math.min(o,a.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let s=null,a=this.builder,o=0,E=st.spans(this.decorations,e,t,{point:(T,c,A,R,O,d)=>{if(A instanceof oa){if(this.disallowBlockEffectsFor[d]){if(A.block)throw new RangeError("Block decorations may not be specified via plugins");if(c>this.view.state.doc.lineAt(T).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(o=R.length,O>R.length)a.continueWidget(c-T);else{let L=A.widget||(A.block?Ol.block:Ol.inline),p=F0(A),g=this.cache.findWidget(L,c-T,p)||Ta.of(L,this.view,c-T,p);A.block?(A.startSide>0&&a.addLineStartIfNotCovered(s),a.addBlockWidget(g)):(a.ensureLine(s),a.addInlineWidget(g,R,O))}s=null}else s=V0(s,A);c>T&&this.text.skip(c-T)},span:(T,c,A,R)=>{for(let O=T;O<c;){let d=this.text.next(Math.min(512,c-O));d==null?(a.addLineStartIfNotCovered(s),a.addBreak(),O++):(a.ensureLine(s),a.addText(d,A,O==T?R:A.length),O+=d.length),s=null}o=A.length}});this.openWidget=E>o,this.openWidget||a.addLineStartIfNotCovered(s),this.openMarks=E}forward(e,t,s=1){t-e<=10?this.old.advance(t-e,s,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,s,this.reuseWalker))}getCompositionContext(e){let t=[],s=null;for(let a=e.parentNode;;a=a.parentNode){let o=Bt.get(a);if(a==this.view.contentDOM)break;o instanceof wn?t.push(o):o!=null&&o.isLine()?s=o:o instanceof bs||(a.nodeName=="DIV"&&!s&&a!=this.view.contentDOM?s=new fl(a,eL):s||t.push(wn.of(new eE({tagName:a.nodeName.toLowerCase(),attributes:h0(a)}),a)))}return{line:s,marks:t}}}function Qd(i,e){let t=s=>{for(let a of s.children)if((e?a.isText():a.length)||t(a))return!0;return!1};return t(i)}function F0(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}const eL={class:"cm-line"};function V0(i,e){let t=e.spec.attributes,s=e.spec.class;return!t&&!s||(i||(i={class:"cm-line"}),t&&ZR(t,i),s&&(i.class+=" "+s)),i}function k0(i){let e=[];for(let t=i.parents.length;t>1;t--){let s=t==i.parents.length?i.tile:i.parents[t].tile;s instanceof wn&&e.push(s.mark)}return e}function Uh(i){let e=Bt.get(i);return e&&e.setDOM(i.cloneNode()),i}class Ol extends mT{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}}Ol.inline=new Ol("span");Ol.block=new Ol("div");const yh=new class extends mT{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class zd{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Ln.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 gT(e,e.contentDOM),this.updateInner([new Si(0,0,0,e.state.doc.length)],null)}update(e){var t;let s=e.changedRanges;this.minWidth>0&&s.length&&(s.every(({fromA:R,toA:O})=>O<this.minWidthFrom||R>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 a=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?a=this.domChanged.newSel.head:!z0(e.changes,this.hasComposition)&&!e.selectionSet&&(a=e.state.selection.main.head));let o=a>-1?X0(this.view,e.changes,a):null;if(this.domChanged=null,this.hasComposition){let{from:R,to:O}=this.hasComposition;s=new Si(R,O,e.changes.mapPos(R,-1),e.changes.mapPos(O,1)).addToSet(s.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(Ie.ie||Ie.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let E=this.decorations,T=this.blockWrappers;this.updateDeco();let c=q0(E,this.decorations,e.changes);c.length&&(s=Si.extendWithRanges(s,c));let A=J0(T,this.blockWrappers,e.changes);return A.length&&(s=Si.extendWithRanges(s,A)),o&&!s.some(R=>R.fromA<=o.range.fromA&&R.toA>=o.range.toA)&&(s=o.range.addToSet(s.slice())),this.tile.flags&2&&s.length==0?!1:(this.updateInner(s,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:s}=this.view;s.ignore(()=>{if(t||e.length){let E=this.tile,T=new Y0(this.view,E,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Bt.get(t.text)&&T.cache.reused.set(Bt.get(t.text),2),this.tile=T.run(e,t),IR(E,T.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=Ie.chrome||Ie.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(o),o&&(o.written||s.selectionRange.focusNode!=o.node||!this.tile.dom.contains(o.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let a=[];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 bh&&a.push(o.dom);s.updateGaps(a)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let s of t.effects)s.is(q_)&&(this.editContextFormatting=s.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:s}=this.tile,a=this.view.root.activeElement,o=a==s,E=!o&&!(this.view.state.facet(Ps)||s.tabIndex>-1)&&Yo(s,this.view.observer.selectionRange)&&!(a&&s.contains(a));if(!(o||t||E))return;let T=this.forceSelection;this.forceSelection=!1;let c=this.view.state.selection.main,A,R;if(c.empty?R=A=this.inlineDOMNearPos(c.anchor,c.assoc||1):(R=this.inlineDOMNearPos(c.head,c.head==c.from?1:-1),A=this.inlineDOMNearPos(c.anchor,c.anchor==c.from?1:-1)),Ie.gecko&&c.empty&&!this.hasComposition&&W0(A)){let d=document.createTextNode("");this.view.observer.ignore(()=>A.node.insertBefore(d,A.node.childNodes[A.offset]||null)),A=R=new bi(d,0),T=!0}let O=this.view.observer.selectionRange;(T||!O.focusNode||(!Fo(A.node,A.offset,O.anchorNode,O.anchorOffset)||!Fo(R.node,R.offset,O.focusNode,O.focusOffset))&&!this.suppressWidgetCursorChange(O,c))&&(this.view.observer.ignore(()=>{Ie.android&&Ie.chrome&&s.contains(O.focusNode)&&Q0(O.focusNode,s)&&(s.blur(),s.focus({preventScroll:!0}));let d=$o(this.view.root);if(d)if(c.empty){if(Ie.gecko){let L=K0(A.node,A.offset);if(L&&L!=3){let p=(L==1?b_:v_)(A.node,A.offset);p&&(A=new bi(p.node,p.offset))}}d.collapse(A.node,A.offset),c.bidiLevel!=null&&d.caretBidiLevel!==void 0&&(d.caretBidiLevel=c.bidiLevel)}else if(d.extend){d.collapse(A.node,A.offset);try{d.extend(R.node,R.offset)}catch{}}else{let L=document.createRange();c.anchor>c.head&&([A,R]=[R,A]),L.setEnd(R.node,R.offset),L.setStart(A.node,A.offset),d.removeAllRanges(),d.addRange(L)}E&&this.view.root.activeElement==s&&(s.blur(),a&&a.focus())}),this.view.observer.setSelectionRange(A,R)),this.impreciseAnchor=A.precise?null:new bi(O.anchorNode,O.anchorOffset),this.impreciseHead=R.precise?null:new bi(O.focusNode,O.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Fo(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,s=$o(e.root),{anchorNode:a,anchorOffset:o}=e.observer.selectionRange;if(!s||!t.empty||!t.assoc||!s.modify)return;let E=this.lineAt(t.head,t.assoc);if(!E)return;let T=E.posAtStart;if(t.head==T||t.head==T+E.length)return;let c=this.coordsAt(t.head,-1),A=this.coordsAt(t.head,1);if(!c||!A||c.bottom>A.top)return;let R=this.domAtPos(t.head+t.assoc,t.assoc);s.collapse(R.node,R.offset),s.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let O=e.observer.selectionRange;e.docView.posFromDOM(O.anchorNode,O.anchorOffset)!=t.from&&s.collapse(a,o)}posFromDOM(e,t){let s=this.tile.nearest(e);if(!s)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let a=s.posAtStart;if(s.isComposite()){let o;if(e==s.dom)o=s.dom.childNodes[t];else{let E=vs(e)==0?0:t==0?-1:1;for(;;){let T=e.parentNode;if(T==s.dom)break;E==0&&T.firstChild!=T.lastChild&&(e==T.firstChild?E=-1:E=1),e=T}E<0?o=e:o=e.nextSibling}if(o==s.dom.firstChild)return a;for(;o&&!Bt.get(o);)o=o.nextSibling;if(!o)return a+s.length;for(let E=0,T=a;;E++){let c=s.children[E];if(c.dom==o)return T;T+=c.length+c.breakAfter}}else return s.isText()?e==s.dom?a+t:a+(t?s.length:0):a}domAtPos(e,t){let{tile:s,offset:a}=this.tile.resolveBlock(e,t);return s.isWidget()?s.domPosFor(e,t):s.domIn(a,t)}inlineDOMNearPos(e,t){let s,a=-1,o=!1,E,T=-1,c=!1;return this.tile.blockTiles((A,R)=>{if(A.isWidget()){if(A.flags&32&&R>=e)return!0;A.flags&16&&(o=!0)}else{let O=R+A.length;if(R<=e&&(s=A,a=e-R,o=O<e),O>=e&&!E&&(E=A,T=e-R,c=R>e),R>e&&E)return!0}}),!s&&!E?this.domAtPos(e,t):(o&&E?s=null:c&&s&&(E=null),s&&t<0||!E?s.domIn(a,t):E.domIn(T,t))}coordsAt(e,t){let{tile:s,offset:a}=this.tile.resolveBlock(e,t);return s.isWidget()?s.widget instanceof bh?null:s.coordsInWidget(a,t,!0):s.coordsIn(a,t)}lineAt(e,t){let{tile:s}=this.tile.resolveBlock(e,t);return s.isLine()?s:null}coordsForChar(e){let{tile:t,offset:s}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function a(o,E){if(o.isComposite())for(let T of o.children){if(T.length>=E){let c=a(T,E);if(c)return c}if(E-=T.length,E<0)break}else if(o.isText()&&E<o.length){let T=Cn(o.text,E);if(T==E)return null;let c=Jo(o.dom,E,T).getClientRects();for(let A=0;A<c.length;A++){let R=c[A];if(A==c.length-1||R.top<R.bottom&&R.left<R.right)return R}}return null}return a(t,s)}measureVisibleLineHeights(e){let t=[],{from:s,to:a}=e,o=this.view.contentDOM.clientWidth,E=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,T=-1,c=this.view.textDirection==kt.LTR,A=0,R=(O,d,L)=>{for(let p=0;p<O.children.length&&!(d>a);p++){let g=O.children[p],v=d+g.length,B=g.dom.getBoundingClientRect(),{height:K}=B;if(L&&!p&&(A+=B.top-L.top),g instanceof bs)v>s&&R(g,d,B);else if(d>=s&&(A>0&&t.push(-A),t.push(K+A),A=0,E)){let Z=g.dom.lastChild,Te=Z?Xu(Z):[];if(Te.length){let $=Te[Te.length-1],ae=c?$.right-B.left:B.right-$.left;ae>T&&(T=ae,this.minWidth=o,this.minWidthFrom=d,this.minWidthTo=v)}}L&&p==O.children.length-1&&(A+=L.bottom-B.bottom),d=v+g.breakAfter}};return R(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?kt.RTL:kt.LTR}measureTextSize(){let e=this.tile.blockTiles(E=>{if(E.isLine()&&E.children.length&&E.length<=20){let T=0,c;for(let A of E.children){if(!A.isText()||/[^ -~]/.test(A.text))return;let R=Xu(A.dom);if(R.length!=1)return;T+=R[0].width,c=R[0].height}if(T)return{lineHeight:E.dom.getBoundingClientRect().height,charWidth:T/E.length,textHeight:c}}});if(e)return e;let t=document.createElement("div"),s,a,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 E=Xu(t.firstChild)[0];s=t.getBoundingClientRect().height,a=E&&E.width?E.width/27:7,o=E&&E.height?E.height:s,t.remove()}),{lineHeight:s,charWidth:a,textHeight:o}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let s=0,a=0;;a++){let o=a==t.viewports.length?null:t.viewports[a],E=o?o.from-1:this.view.state.doc.length;if(E>s){let T=(t.lineBlockAt(E).bottom-t.lineBlockAt(s).top)/this.view.scaleY;e.push(Ln.replace({widget:new bh(T),block:!0,inclusive:!0,isBlockGap:!0}).range(s,E))}if(!o)break;s=o.to+1}return Ln.set(e)}updateDeco(){let e=1,t=this.view.state.facet(pT).map(o=>(this.dynamicDecorationMap[e++]=typeof o=="function")?o(this.view):o),s=!1,a=this.view.state.facet(rS).map((o,E)=>{let T=typeof o=="function";return T&&(s=!0),T?o(this.view):o});for(a.length&&(this.dynamicDecorationMap[e++]=s,t.push(st.join(a))),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(J_).map(o=>typeof o=="function"?o(this.view):o)}scrollIntoView(e){var t;if(e.isSnapshot){let R=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=R.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let R of this.view.state.facet(j_))try{if(R(this.view,e.range,e))return!0}catch(O){as(this.view.state,O,"scroll handler")}let{range:s}=e,a=this.coordsAt(s.head,(t=s.assoc)!==null&&t!==void 0?t:s.empty?0:s.head>s.anchor?-1:1),o;if(!a)return;!s.empty&&(o=this.coordsAt(s.anchor,s.anchor>s.head?-1:1))&&(a={left:Math.min(a.left,o.left),top:Math.min(a.top,o.top),right:Math.max(a.right,o.right),bottom:Math.max(a.bottom,o.bottom)});let E=Z_(this.view),T={left:a.left-E.left,top:a.top-E.top,right:a.right+E.right,bottom:a.bottom+E.bottom},{offsetWidth:c,offsetHeight:A}=this.view.scrollDOM;if(f0(this.view.scrollDOM,T,s.head<s.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,c),-c),Math.max(Math.min(e.yMargin,A),-A),this.view.textDirection==kt.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(a.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||a.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let R=this.view.docView.lineAt(s.head,1);R&&R.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let t=s=>s.isWidget()||s.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){IR(this.tile)}}function IR(i,e){let t=e==null?void 0:e.get(i);if(t!=1){t==null&&i.destroy();for(let s of i.children)IR(s,e)}}function W0(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function tL(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let s=b_(t.focusNode,t.focusOffset),a=v_(t.focusNode,t.focusOffset),o=s||a;if(a&&s&&a.node!=s.node){let T=Bt.get(a.node);if(!T||T.isText()&&T.text!=a.node.nodeValue)o=a;else if(i.docView.lastCompositionAfterCursor){let c=Bt.get(s.node);!c||c.isText()&&c.text!=s.node.nodeValue||(o=a)}}if(i.docView.lastCompositionAfterCursor=o!=s,!o)return null;let E=e-o.offset;return{from:E,to:E+o.node.nodeValue.length,node:o.node}}function X0(i,e,t){let s=tL(i,t);if(!s)return null;let{node:a,from:o,to:E}=s,T=a.nodeValue;if(/[\n\r]/.test(T)||i.state.doc.sliceString(s.from,s.to)!=T)return null;let c=e.invertedDesc;return{range:new Si(c.mapPos(o),c.mapPos(E),o,E),text:a}}function K0(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e<i.childNodes.length&&i.childNodes[e].contentEditable=="false"?2:0)}let j0=class{constructor(){this.changes=[]}compareRange(e,t){Tl(e,t,this.changes)}comparePoint(e,t){Tl(e,t,this.changes)}boundChange(e){Tl(e,e,this.changes)}};function q0(i,e,t){let s=new j0;return st.compare(i,e,t,s),s.changes}class $0{constructor(){this.changes=[]}compareRange(e,t){Tl(e,t,this.changes)}comparePoint(){}boundChange(e){Tl(e,e,this.changes)}}function J0(i,e,t){let s=new $0;return st.compare(i,e,t,s),s.changes}function Q0(i,e){for(let t=i;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function z0(i,e){let t=!1;return e&&i.iterChangedRanges((s,a)=>{s<e.to&&a>e.from&&(t=!0)}),t}class bh extends mT{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 Z0(i,e,t=1){let s=i.charCategorizer(e),a=i.doc.lineAt(e),o=e-a.from;if(a.length==0)return oe.cursor(e);o==0?t=1:o==a.length&&(t=-1);let E=o,T=o;t<0?E=Cn(a.text,o,!1):T=Cn(a.text,o);let c=s(a.text.slice(E,T));for(;E>0;){let A=Cn(a.text,E,!1);if(s(a.text.slice(A,E))!=c)break;E=A}for(;T<a.length;){let A=Cn(a.text,T);if(s(a.text.slice(T,A))!=c)break;T=A}return oe.undirectionalRange(E+a.from,T+a.from)}function ev(i,e,t,s,a){let o=Math.round((s-e.left)*i.defaultCharacterWidth);if(i.lineWrapping&&t.height>i.defaultLineHeight*1.5){let T=i.viewState.heightOracle.textHeight,c=Math.floor((a-t.top-(i.defaultLineHeight-T)*.5)/T);o+=c*i.viewState.heightOracle.lineLength}let E=i.state.sliceDoc(t.from,t.to);return t.from+l0(E,o,i.state.tabSize)}function tv(i,e,t){let s=i.lineBlockAt(e);if(Array.isArray(s.type)){let a;for(let o of s.type){if(o.from>e)break;if(!(o.to<e)){if(o.from<e&&o.to>e)return o;(!a||o.type==Yn.Text&&(a.type!=o.type||(t<0?o.from<e:o.to>e)))&&(a=o)}}return a||s}return s}function nv(i,e,t,s){let a=tv(i,e.head,e.assoc||-1),o=!s||a.type!=Yn.Text||!(i.lineWrapping||a.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>a.from?e.head-1:e.head);if(o){let E=i.dom.getBoundingClientRect(),T=i.textDirectionAt(a.from),c=i.posAtCoords({x:t==(T==kt.LTR)?E.right-1:E.left+1,y:(o.top+o.bottom)/2});if(c!=null)return oe.cursor(c,t?-1:1)}return oe.cursor(t?a.to:a.from,t?-1:1)}function Zd(i,e,t,s){let a=i.state.doc.lineAt(e.head),o=i.bidiSpans(a),E=i.textDirectionAt(a.from);for(let T=e,c=null;;){let A=g0(a,o,E,T,t),R=w_;if(!A){if(a.number==(t?i.state.doc.lines:1))return T;R=`
|
|
94
|
+
`,a=i.state.doc.line(a.number+(t?1:-1)),o=i.bidiSpans(a),A=i.visualLineSide(a,!t)}if(c){if(!c(R))return T}else{if(!s)return A;c=s(R)}T=A}}function iv(i,e,t){let s=i.state.charCategorizer(e),a=s(t);return o=>{let E=s(o);return a==Us.Space&&(a=E),a==E}}function sv(i,e,t,s){let a=e.head,o=t?1:-1;if(a==(t?i.state.doc.length:0))return oe.cursor(a,e.assoc);let E=e.goalColumn,T,c=i.contentDOM.getBoundingClientRect(),A=i.coordsAtPos(a,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),R=i.documentTop;if(A)E==null&&(E=A.left-c.left),T=o<0?A.top:A.bottom;else{let p=i.viewState.lineBlockAt(a);E==null&&(E=Math.min(c.right-c.left,i.defaultCharacterWidth*(a-p.from))),T=(o<0?p.top:p.bottom)+R}let O=c.left+E,d=i.viewState.heightOracle.textHeight>>1,L=s??d;for(let p=0;;p+=d){let g=T+(L+p)*o,v=CR(i,{x:O,y:g},!1,o);if(t?g>c.bottom:g<c.top)return oe.cursor(v.pos,v.assoc);let B=i.coordsAtPos(v.pos,v.assoc),K=B?(B.top+B.bottom)/2:0;if(!B||(t?K>T:K<T))return oe.cursor(v.pos,v.assoc,void 0,E)}}function Vo(i,e,t){for(;;){let s=0;for(let a of i)a.between(e-1,e+1,(o,E,T)=>{if(e>o&&e<E){let c=s||t||(e-o<E-e?-1:1);e=c<0?o:E,s=c}});if(!s)return e}}function nL(i,e){let t=null;for(let s=0;s<e.ranges.length;s++){let a=e.ranges[s],o=null;if(a.empty){let E=Vo(i,a.from,0);E!=a.from&&(o=oe.cursor(E,-1))}else{let E=Vo(i,a.from,-1),T=Vo(i,a.to,1);(E!=a.from||T!=a.to)&&(a.undirectional?o=oe.undirectionalRange(a.from,a.to):o=oe.range(a.from==a.anchor?E:T,a.from==a.head?E:T))}o&&(t||(t=e.ranges.slice()),t[s]=o)}return t?oe.create(t,e.mainIndex):e}function vh(i,e,t){let s=Vo(i.state.facet(nE).map(a=>a(i)),t.from,e.head>t.from?-1:1);return s==t.from?t:oe.cursor(s,s<t.from?1:-1)}class ss{constructor(e,t){this.pos=e,this.assoc=t}}function CR(i,e,t,s){let a=i.contentDOM.getBoundingClientRect(),o=a.top+i.viewState.paddingTop,{x:E,y:T}=e,c=T-o,A;for(;;){if(c<0)return new ss(0,1);if(c>i.viewState.docHeight)return new ss(i.state.doc.length,-1);if(A=i.elementAtHeight(c),s==null)break;if(A.type==Yn.Text){if(s<0?A.to<i.viewport.from:A.from>i.viewport.to)break;let d=i.docView.coordsAt(s<0?A.from:A.to,s>0?-1:1);if(d&&(s<0?d.top<=c+o:d.bottom>=c+o))break}let O=i.viewState.heightOracle.textHeight/2;c=s>0?A.bottom+O:A.top-O}if(i.viewport.from>=A.to||i.viewport.to<=A.from){if(t)return null;if(A.type==Yn.Text){let O=ev(i,a,A,E,T);return new ss(O,O==A.from?1:-1)}}if(A.type!=Yn.Text)return c<(A.top+A.bottom)/2?new ss(A.from,1):new ss(A.to,-1);let R=i.docView.lineAt(A.from,2);return(!R||R.length!=A.length)&&(R=i.docView.lineAt(A.from,-2)),new rv(i,E,T,i.textDirectionAt(A.from)).scanTile(R,A.from)}class rv{constructor(e,t,s,a){this.view=e,this.x=t,this.y=s,this.baseDir=a,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:s,spans:a}=this.bidiSpansAt(e);return a[rs.find(a,e-s.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:s,spans:a}=this.bidiSpansAt(e);return a[rs.find(a,e-s.from,-1,t)].dir}bidiIn(e,t){let{spans:s,line:a}=this.bidiSpansAt(e);return s.length>1||s.length&&(s[0].level!=this.baseDir||s[0].to+a.from<t)}scan(e,t,s=!1){let a=0,o=e.length-1,E=new Set,T=this.bidiIn(e[0],e[o]),c,A,R=-1,O=1e9,d;e:for(;a<o;){let p=o-a,g=a+o>>1;t:if(E.has(g)){let B=a+Math.floor(Math.random()*p);for(let K=0;K<p;K++){if(!E.has(B)){g=B;break t}B++,B==o&&(B=a)}break e}E.add(g);let v=t(g);if(v)for(let B=0;B<v.length;B++){let K=v[B],Z=0;if(!(K.width==0&&v.length>1)){if(K.bottom<this.y)(!c||c.bottom<K.bottom)&&(c=K),Z=1;else if(K.top>this.y)(!A||A.top>K.top)&&(A=K),Z=-1;else{let Te=K.left>this.x?this.x-K.left:K.right<this.x?this.x-K.right:0,$=Math.abs(Te);$<O&&(R=g,O=$,d=K),Te&&(Z=Te<0==(this.baseDir==kt.LTR)?-1:1)}Z==-1&&(!T||this.baseDirAt(e[g],1))?o=g:Z==1&&(!T||this.baseDirAt(e[g+1],-1))&&(a=g+1)}}}if(!d){if(!A&&!c)return{i:e[0],after:!1};let p=c&&(!A||this.y-c.bottom<A.top-this.y)?c:A;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(O&&!s){let{top:p,bottom:g}=d;if(c&&c.bottom>(p+p+g)/3)return this.y=c.bottom-1,this.scan(e,t,!0);if(A&&A.top<(p+g+g)/3)return this.y=A.top+1,this.scan(e,t,!0)}let L=(T?this.dirAt(e[R],1):this.baseDir)==kt.LTR;return{i:R,after:this.x>(d.left+d.right)/2==L}}scanText(e,t){let s=[];for(let o=0;o<e.length;o=Cn(e.text,o))s.push(t+o);s.push(t+e.length);let a=this.scan(s,o=>{let E=s[o]-t,T=s[o+1]-t;return Jo(e.dom,E,T).getClientRects()});return a.after?new ss(s[a.i+1],-1):new ss(s[a.i],1)}scanTile(e,t){if(!e.length)return new ss(t,1);if(e.children.length==1){let T=e.children[0];if(T.isText())return this.scanText(T,t);if(T.isComposite())return this.scanTile(T,t)}let s=[t];for(let T=0,c=t;T<e.children.length;T++)s.push(c+=e.children[T].length);let a=this.scan(s,T=>{let c=e.children[T];return c.flags&48?null:(c.dom.nodeType==1?c.dom:Jo(c.dom,0,c.length)).getClientRects()}),o=e.children[a.i],E=s[a.i];return o.isText()?this.scanText(o,E):o.isComposite()?this.scanTile(o,E):a.after?new ss(s[a.i+1],-1):new ss(E,1)}}const al="";class av{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(Tt.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=al}readRange(e,t){if(!e)return this;let s=e.parentNode;for(let a=e;;){this.findPointBefore(s,a);let o=this.text.length;this.readNode(a);let E=Bt.get(a),T=a.nextSibling;if(T==t){E!=null&&E.breakAfter&&!T&&s!=this.view.contentDOM&&this.lineBreak();break}let c=Bt.get(T);(E&&c?E.breakAfter:(E?E.breakAfter:tT(a))||tT(T)&&(a.nodeName!="BR"||E!=null&&E.isWidget())&&this.text.length>o)&&!ov(T,t)&&this.lineBreak(),a=T}return this.findPointBefore(s,t),this}readTextNode(e){let t=e.nodeValue;for(let s of this.points)s.node==e&&(s.pos=this.text.length+Math.min(s.offset,t.length));for(let s=0,a=this.lineSeparator?null:/\r\n?|\n/g;;){let o=-1,E=1,T;if(this.lineSeparator?(o=t.indexOf(this.lineSeparator,s),E=this.lineSeparator.length):(T=a.exec(t))&&(o=T.index,E=T[0].length),this.append(t.slice(s,o<0?t.length:o)),o<0)break;if(this.lineBreak(),E>1)for(let c of this.points)c.node==e&&c.pos>this.text.length&&(c.pos-=E-1);s=o+E}}readNode(e){let t=Bt.get(e),s=t&&t.overrideDOMText;if(s!=null){this.findPointInside(e,s.length);for(let a=s.iter();!a.next().done;)a.lineBreak?this.lineBreak():this.append(a.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 s of this.points)s.node==e&&e.childNodes[s.offset]==t&&(s.pos=this.text.length)}findPointInside(e,t){for(let s of this.points)(e.nodeType==3?s.node==e:e.contains(s.node))&&(s.pos=this.text.length+(lv(e,s.node,s.offset)?t:0))}}function lv(i,e,t){for(;;){if(!e||t<vs(e))return!1;if(e==i)return!0;t=Lr(e)+1,e=e.parentNode}}function ov(i,e){let t;for(;!(i==e||!i);i=i.nextSibling){let s=Bt.get(i);if(!(s!=null&&s.isWidget()))return!1;s&&(t||(t=[])).push(s)}if(t)for(let s of t){let a=s.overrideDOMText;if(a!=null&&a.length)return!1}return!0}class eI{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Ev{constructor(e,t,s,a){this.typeOver=a,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:o,impreciseAnchor:E}=e.docView,T=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=iL(e.docView.tile,t,s,0))){let c=o||E?[]:Tv(e),A=new av(c,e);A.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=A.text,this.newSel=cv(c,this.bounds.from)}else{let c=e.observer.selectionRange,A=o&&o.node==c.focusNode&&o.offset==c.focusOffset||!RR(e.contentDOM,c.focusNode)?T.main.head:e.docView.posFromDOM(c.focusNode,c.focusOffset),R=E&&E.node==c.anchorNode&&E.offset==c.anchorOffset||!RR(e.contentDOM,c.anchorNode)?T.main.anchor:e.docView.posFromDOM(c.anchorNode,c.anchorOffset),O=e.viewport;if((Ie.ios||Ie.chrome)&&A!=R&&Math.min(A,R)<=T.main.from&&Math.max(A,R)>=T.main.to&&(O.from>0||O.to<e.state.doc.length)){let d=Math.min(A,R),L=Math.max(A,R),p=O.from-d,g=O.to-L;(p==0||p==1||d==0)&&(g==0||g==-1||L==e.state.doc.length)&&(A=0,R=e.state.doc.length)}if(e.inputState.composing>-1&&T.ranges.length>1)this.newSel=T.replaceRange(oe.range(R,A));else if(e.lineWrapping&&R==A&&!(T.main.empty&&T.main.head==A)&&e.inputState.lastTouchTime>Date.now()-100){let d=e.coordsAtPos(A,-1),L=0;d&&(L=e.inputState.lastTouchY<=d.bottom?-1:1),this.newSel=oe.create([oe.cursor(A,L)])}else this.newSel=oe.single(R,A)}}}function iL(i,e,t,s){if(i.isComposite()){let a=-1,o=-1,E=-1,T=-1;for(let c=0,A=s,R=s;c<i.children.length;c++){let O=i.children[c],d=A+O.length;if(A<e&&d>t)return iL(O,e,t,A);if(d>=e&&a==-1&&(a=c,o=A),A>t&&O.dom.parentNode==i.dom){E=c,T=R;break}R=d,A=d+O.breakAfter}return{from:o,to:T<0?s+i.length:T,startDOM:(a?i.children[a-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:E<i.children.length&&E>=0?i.children[E].dom:null}}else return i.isText()?{from:s,to:s+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function sL(i,e){let t,{newSel:s}=e,{state:a}=i,o=a.selection.main,E=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:T,to:c}=e.bounds,A=o.from,R=null;(E===8||Ie.android&&e.text.length<c-T)&&(A=o.to,R="end");let O=a.doc.sliceString(T,c,al),d,L;!o.empty&&o.from>=T&&o.to<=c&&(e.typeOver||O!=e.text)&&O.slice(0,o.from-T)==e.text.slice(0,o.from-T)&&O.slice(o.to-T)==e.text.slice(d=e.text.length-(O.length-(o.to-T)))?t={from:o.from,to:o.to,insert:rt.of(e.text.slice(o.from-T,d).split(al))}:(L=rL(O,e.text,A-T,R))&&(Ie.chrome&&E==13&&L.toB==L.from+2&&e.text.slice(L.from,L.toB)==al+al&&L.toB--,t={from:T+L.from,to:T+L.toA,insert:rt.of(e.text.slice(L.from,L.toB).split(al))})}else s&&(!i.hasFocus&&a.facet(Ps)||aT(s,o))&&(s=null);if(!t&&!s)return!1;if((Ie.mac||Ie.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(s&&t.insert.length==2&&(s=oe.single(s.main.anchor-1,s.main.head-1)),t={from:t.from,to:t.to,insert:rt.of([t.insert.toString().replace("."," ")])}):a.doc.lineAt(o.from).to<o.to&&i.docView.lineHasWidget(o.to)&&i.inputState.insertingTextAt>Date.now()-50?t={from:o.from,to:o.to,insert:a.toText(i.inputState.insertingText)}:Ie.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
|
|
95
|
+
`&&i.lineWrapping&&(s&&(s=oe.single(s.main.anchor-1,s.main.head-1)),t={from:o.from,to:o.to,insert:rt.of([" "])}),t)return aS(i,t,s,E);if(s&&!aT(s,o)){let T=!1,c="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(T=!0),c=i.inputState.lastSelectionOrigin,c=="select.pointer"&&(s=nL(a.facet(nE).map(A=>A(i)),s))),i.dispatch({selection:s,scrollIntoView:T,userEvent:c}),!0}else return!1}function aS(i,e,t,s=-1){if(Ie.ios&&i.inputState.flushIOSKey(e))return!0;let a=i.state.selection.main;if(Ie.android&&(e.to==a.to&&(e.from==a.from||e.from==a.from-1&&i.state.sliceDoc(e.from,a.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&cl(i.contentDOM,"Enter",13)||(e.from==a.from-1&&e.to==a.to&&e.insert.length==0||s==8&&e.insert.length<e.to-e.from&&e.to>a.head)&&cl(i.contentDOM,"Backspace",8)||e.from==a.from&&e.to==a.to+1&&e.insert.length==0&&cl(i.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let E,T=()=>E||(E=uv(i,e,t));return i.state.facet(W_).some(c=>c(i,e.from,e.to,o,T))||i.dispatch(T()),!0}function uv(i,e,t){let s,a=i.state,o=a.selection.main,E=-1;if(e.from==e.to&&e.from<o.from||e.from>o.to){let c=e.from<o.from?-1:1,A=c<0?o.from:o.to,R=Vo(a.facet(nE).map(O=>O(i)),A,c);e.from==R&&(E=R)}if(E>-1)s={changes:e,selection:oe.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)&&i.inputState.composing<0){let c=o.from<e.from?a.sliceDoc(o.from,e.from):"",A=o.to>e.to?a.sliceDoc(e.to,o.to):"";s=a.replaceSelection(i.state.toText(c+e.insert.sliceString(0,void 0,i.state.lineBreak)+A))}else{let c=a.changes(e),A=t&&t.main.to<=c.newLength?t.main:void 0;if(a.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=o.to+10&&e.to>=o.to-10){let R=i.state.sliceDoc(e.from,e.to),O,d=t&&tL(i,t.main.head);if(d){let p=e.insert.length-(e.to-e.from);O={from:d.from,to:d.to-p}}else O=i.state.doc.lineAt(o.head);let L=o.to-e.to;s=a.changeByRange(p=>{if(p.from==o.from&&p.to==o.to)return{changes:c,range:A||p.map(c)};let g=p.to-L,v=g-R.length;if(i.state.sliceDoc(v,g)!=R||g>=O.from&&v<=O.to)return{range:p};let B=a.changes({from:v,to:g,insert:e.insert}),K=p.to-o.to;return{changes:B,range:A?oe.range(Math.max(0,A.anchor+K),Math.max(0,A.head+K)):p.map(B)}})}else s={changes:c,selection:A&&a.selection.replaceRange(A)}}let T="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,T+=".compose",i.inputState.compositionFirstChange&&(T+=".start",i.inputState.compositionFirstChange=!1)),a.update(s,{userEvent:T,scrollIntoView:!0})}function rL(i,e,t,s){let a=Math.min(i.length,e.length),o=0;for(;o<a&&i.charCodeAt(o)==e.charCodeAt(o);)o++;if(o==a&&i.length==e.length)return null;let E=i.length,T=e.length;for(;E>0&&T>0&&i.charCodeAt(E-1)==e.charCodeAt(T-1);)E--,T--;if(s=="end"){let c=Math.max(0,o-Math.min(E,T));t-=E+c-o}if(E<o&&i.length<e.length){let c=t<=o&&t>=E?o-t:0;o-=c,T=o+(T-E),E=o}else if(T<o){let c=t<=o&&t>=T?o-t:0;o-=c,E=o+(E-T),T=o}return{from:o,toA:E,toB:T}}function Tv(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:s,focusNode:a,focusOffset:o}=i.observer.selectionRange;return t&&(e.push(new eI(t,s)),(a!=t||o!=s)&&e.push(new eI(a,o))),e}function cv(i,e){if(i.length==0)return null;let t=i[0].pos,s=i.length==2?i[1].pos:t;return t>-1&&s>-1?oe.single(t+e,s+e):null}function aT(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}class Av{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,Ie.safari&&e.contentDOM.addEventListener("input",()=>null),Ie.gecko&&Mv(e.contentDOM.ownerDocument)}handleEvent(e){!Cv(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 s=this.handlers[e];if(s){for(let a of s.observers)a(this.view,t);for(let a of s.handlers){if(t.defaultPrevented)break;if(a(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Rv(e),s=this.handlers,a=this.view.contentDOM;for(let o in t)if(o!="scroll"){let E=!t[o].handlers.length,T=s[o];T&&E!=!T.handlers.length&&(a.removeEventListener(o,this.handleEvent),T=null),T||a.addEventListener(o,this.handleEvent,{passive:E})}for(let o in s)o!="scroll"&&!t[o]&&a.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&&lL.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Ie.android&&Ie.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(Ie.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(aL.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||Sv.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&Ie.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&hv(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,cl(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Ie.safari&&!Ie.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 hv(i){return i.visualViewport?i.visualViewport.height*i.visualViewport.scale/i.document.documentElement.clientHeight<.85:!1}function tI(i,e){return(t,s)=>{try{return e.call(i,s,t)}catch(a){as(t.state,a)}}}function Rv(i){let e=Object.create(null);function t(s){return e[s]||(e[s]={observers:[],handlers:[]})}for(let s of i){let a=s.spec,o=a&&a.plugin.domEventHandlers,E=a&&a.plugin.domEventObservers;if(o)for(let T in o){let c=o[T];c&&t(T).handlers.push(tI(s.value,c))}if(E)for(let T in E){let c=E[T];c&&t(T).observers.push(tI(s.value,c))}}for(let s in Gi)t(s).handlers.push(Gi[s]);for(let s in Fn)t(s).observers.push(Fn[s]);return e}const aL=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Sv="dthko",lL=[16,17,18,20,91,92,224,225],Lu=6;function mu(i){return Math.max(0,i)*.7+8}function fv(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}class Ov{constructor(e,t,s,a){this.view=e,this.startEvent=t,this.style=s,this.mustSelect=a,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=P_(e.contentDOM),this.atoms=e.state.facet(nE).map(E=>E(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(Tt.allowMultipleSelections)&&Nv(e,t),this.dragging=Iv(e,t)&&uL(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&&fv(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,s=0,a=0,o=0,E=this.view.win.innerWidth,T=this.view.win.innerHeight;this.scrollParents.x&&({left:a,right:E}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:T}=this.scrollParents.y.getBoundingClientRect());let c=Z_(this.view);e.clientX-c.left<=a+Lu?t=-mu(a-e.clientX):e.clientX+c.right>=E-Lu&&(t=mu(e.clientX-E)),e.clientY-c.top<=o+Lu?s=-mu(o-e.clientY):e.clientY+c.bottom>=T-Lu&&(s=mu(e.clientY-T)),this.setScrollSpeed(t,s)}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,s=nL(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!s.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:s,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 Nv(i,e){let t=i.state.facet(Y_);return t.length?t[0](e):Ie.mac?e.metaKey:e.ctrlKey}function dv(i,e){let t=i.state.facet(F_);return t.length?t[0](e):Ie.mac?!e.altKey:!e.ctrlKey}function Iv(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let s=$o(i.root);if(!s||s.rangeCount==0)return!0;let a=s.getRangeAt(0).getClientRects();for(let o=0;o<a.length;o++){let E=a[o];if(E.left<=e.clientX&&E.right>=e.clientX&&E.top<=e.clientY&&E.bottom>=e.clientY)return!0}return!1}function Cv(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,s;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(s=Bt.get(t))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}const Gi=Object.create(null),Fn=Object.create(null),oL=Ie.ie&&Ie.ie_version<15||Ie.ios&&Ie.webkit_version<604;function _v(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),EL(i,t.value)},50)}function MT(i,e,t){for(let s of i.facet(e))t=s(t,i);return t}function EL(i,e){e=MT(i.state,nS,e);let{state:t}=i,s,a=1,o=t.toText(e),E=o.lines==t.selection.ranges.length;if(_R!=null&&t.selection.ranges.every(c=>c.empty)&&_R==o.toString()){let c=-1;s=t.changeByRange(A=>{let R=t.doc.lineAt(A.from);if(R.from==c)return{range:A};c=R.from;let O=t.toText((E?o.line(a++).text:e)+t.lineBreak);return{changes:{from:R.from,insert:O},range:oe.cursor(A.from+O.length)}})}else E?s=t.changeByRange(c=>{let A=o.line(a++);return{changes:{from:c.from,to:c.to,insert:A.text},range:oe.cursor(c.from+A.length)}}):s=t.replaceSelection(o);i.dispatch(s,{userEvent:"input.paste",scrollIntoView:!0})}Fn.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};Fn.wheel=Fn.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Gi.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);Fn.touchstart=(i,e)=>{let t=i.inputState,s=e.targetTouches[0];t.lastTouchTime=Date.now(),s&&(t.lastTouchX=s.clientX,t.lastTouchY=s.clientY),t.setSelectionOrigin("select.pointer")};Fn.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Gi.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let s of i.state.facet(V_))if(t=s(i,e),t)break;if(!t&&e.button==0&&(t=mv(i,e)),t){let s=!i.hasFocus;i.inputState.startMouseSelection(new Ov(i,e,t,s)),s&&i.observer.ignore(()=>{U_(i.contentDOM);let o=i.root.activeElement;o&&!o.contains(i.contentDOM)&&o.blur()});let a=i.inputState.mouseSelection;if(a)return a.start(e),a.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function nI(i,e,t,s){if(s==1)return oe.cursor(e,t);if(s==2)return Z0(i.state,e,t);{let a=i.docView.lineAt(e,t),o=i.state.doc.lineAt(a?a.posAtEnd:e),E=a?a.posAtStart:o.from,T=a?a.posAtEnd:o.to;return T<i.state.doc.length&&T==o.to&&T++,oe.undirectionalRange(E,T)}}const Lv=Ie.ie&&Ie.ie_version<=11;let iI=null,sI=0,rI=0;function uL(i){if(!Lv)return i.detail;let e=iI,t=rI;return iI=i,rI=Date.now(),sI=!e||t>Date.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(sI+1)%3:1}function mv(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=uL(e),a=i.state.selection;return{update(o){o.docChanged&&(t.pos=o.changes.mapPos(t.pos),a=a.map(o.changes))},get(o,E,T){let c=i.posAndSideAtCoords({x:o.clientX,y:o.clientY},!1),A,R=nI(i,c.pos,c.assoc,s);if(t.pos!=c.pos&&!E){let O=nI(i,t.pos,t.assoc,s),d=Math.min(O.from,R.from),L=Math.max(O.to,R.to);R=d<R.from?oe.range(d,L,R.assoc):oe.range(L,d,R.assoc)}return E?a.replaceRange(a.main.extend(R.from,R.to,R.assoc)):T&&s==1&&a.ranges.length>1&&(A=pv(a,c.pos))?A:T?a.addRange(R):oe.create([R])}}}function pv(i,e){for(let t=0;t<i.ranges.length;t++){let{from:s,to:a}=i.ranges[t];if(s<=e&&a>=e)return oe.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Gi.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let a=i.docView.tile.nearest(e.target);if(a&&a.isWidget()){let o=a.posAtStart,E=o+a.length;(o>=t.to||E<=t.from)&&(t=oe.undirectionalRange(o,E))}}let{inputState:s}=i;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",MT(i.state,iS,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Gi.dragend=i=>(i.inputState.draggedContent=null,!1);function aI(i,e,t,s){if(t=MT(i.state,nS,t),!t)return;let a=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=i.inputState,E=s&&o&&dv(i,e)?{from:o.from,to:o.to}:null,T={from:a,insert:t},c=i.state.changes(E?[E,T]:T);i.focus(),i.dispatch({changes:c,selection:{anchor:c.mapPos(a,-1),head:c.mapPos(a,1)},userEvent:E?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Gi.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let s=Array(t.length),a=0,o=()=>{++a==t.length&&aI(i,e,s.filter(E=>E!=null).join(i.state.lineBreak),!1)};for(let E=0;E<t.length;E++){let T=new FileReader;T.onerror=o,T.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(T.result)||(s[E]=T.result),o()},T.readAsText(t[E])}return!0}else{let s=e.dataTransfer.getData("Text");if(s)return aI(i,e,s,!0),!0}return!1};Gi.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=oL?null:e.clipboardData;return t?(EL(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(_v(i),!1)};function Dv(i,e){let t=i.dom.parentNode;if(!t)return;let s=t.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=e,s.focus(),s.selectionEnd=e.length,s.selectionStart=0,setTimeout(()=>{s.remove(),i.focus()},50)}function gv(i){let e=[],t=[],s=!1;for(let a of i.selection.ranges)a.empty||(e.push(i.sliceDoc(a.from,a.to)),t.push(a));if(!e.length){let a=-1;for(let{from:o}of i.selection.ranges){let E=i.doc.lineAt(o);E.number>a&&(e.push(E.text),t.push({from:E.from,to:Math.min(i.doc.length,E.to+1)})),a=E.number}s=!0}return{text:MT(i,iS,e.join(i.lineBreak)),ranges:t,linewise:s}}let _R=null;Gi.copy=Gi.cut=(i,e)=>{if(!Yo(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:s,linewise:a}=gv(i.state);if(!t&&!a)return!1;_R=a?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let o=oL?null:e.clipboardData;return o?(o.clearData(),o.setData("text/plain",t),!0):(Dv(i,t),!1)};const TL=Ll.define();function cL(i,e){let t=[];for(let s of i.facet(X_)){let a=s(i,e);a&&t.push(a)}return t.length?i.update({effects:t,annotations:TL.of(!0)}):null}function AL(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=cL(i.state,e);t?i.dispatch(t):i.update([])}},10)}Fn.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),AL(i)};Fn.blur=i=>{i.observer.clearSelectionRange(),AL(i)};Fn.compositionstart=Fn.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};Fn.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,Ie.chrome&&Ie.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};Fn.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Gi.beforeinput=(i,e)=>{var t,s;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let o=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),E=e.getTargetRanges();if(o&&E.length){let T=E[0],c=i.posAtDOM(T.startContainer,T.startOffset),A=i.posAtDOM(T.endContainer,T.endOffset);return aS(i,{from:c,to:A,insert:i.state.toText(o)},null),!0}}let a;if(Ie.chrome&&Ie.android&&(a=aL.find(o=>o.inputType==e.inputType))&&(i.observer.delayAndroidKey(a.key,a.keyCode),a.key=="Backspace"||a.key=="Delete")){let o=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var E;(((E=window.visualViewport)===null||E===void 0?void 0:E.height)||0)>o+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return Ie.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),Ie.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>Fn.compositionend(i,e),20),!1};const lI=new Set;function Mv(i){lI.has(i)||(lI.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}const oI=["pre-wrap","normal","pre-line","break-spaces"];let Nl=!1;function EI(){Nl=!1}class Pv{constructor(e){this.lineWrapping=e,this.doc=rt.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let s=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(s+=Math.max(0,Math.ceil((t-e-s*this.lineLength*.5)/this.lineLength))),this.lineHeight*s}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 oI.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let s=0;s<e.length;s++){let a=e[s];a<0?s++:this.heightSamples[Math.floor(a*10)]||(t=!0,this.heightSamples[Math.floor(a*10)]=!0)}return t}refresh(e,t,s,a,o,E){let T=oI.indexOf(e)>-1,c=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=T;if(this.lineWrapping=T,this.lineHeight=t,this.charWidth=s,this.textHeight=a,this.lineLength=o,c){this.heightSamples={};for(let A=0;A<E.length;A++){let R=E[A];R<0?A++:this.heightSamples[Math.floor(R*10)]=!0}}return c}}class Uv{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class yi{constructor(e,t,s,a,o){this.from=e,this.length=t,this.top=s,this.height=a,this._content=o}get type(){return typeof this._content=="number"?Yn.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 oa?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 yi(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Ct=(function(i){return i[i.ByPos=0]="ByPos",i[i.ByHeight=1]="ByHeight",i[i.ByPosNoHeight=2]="ByPosNoHeight",i})(Ct||(Ct={}));const Ku=.001;class Un{constructor(e,t,s=2){this.length=e,this.height=t,this.flags=s}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)>Ku&&(Nl=!0),this.height=e)}replace(e,t,s){return Un.of(s)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,s,a){let o=this,E=s.doc;for(let T=a.length-1;T>=0;T--){let{fromA:c,toA:A,fromB:R,toB:O}=a[T],d=o.lineAt(c,Ct.ByPosNoHeight,s.setDoc(t),0,0),L=d.to>=A?d:o.lineAt(A,Ct.ByPosNoHeight,s,0,0);for(O+=L.to-A,A=L.to;T>0&&d.from<=a[T-1].toA;)c=a[T-1].fromA,R=a[T-1].fromB,T--,c<d.from&&(d=o.lineAt(c,Ct.ByPosNoHeight,s,0,0));R+=d.from-c,c=d.from;let p=lS.build(s.setDoc(E),e,R,O);o=lT(o,o.replace(c,A,p))}return o.updateHeight(s,0)}static empty(){return new ti(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,s=e.length,a=0,o=0;for(;;)if(t==s)if(a>o*2){let T=e[t-1];T.break?e.splice(--t,1,T.left,null,T.right):e.splice(--t,1,T.left,T.right),s+=1+T.break,a-=T.size}else if(o>a*2){let T=e[s];T.break?e.splice(s,1,T.left,null,T.right):e.splice(s,1,T.left,T.right),s+=2+T.break,o-=T.size}else break;else if(a<o){let T=e[t++];T&&(a+=T.size)}else{let T=e[--s];T&&(o+=T.size)}let E=0;return e[t-1]==null?(E=1,t--):e[t]==null&&(E=1,s++),new bv(Un.of(e.slice(0,t)),E,Un.of(e.slice(s)))}}function lT(i,e){return i==e?i:(i.constructor!=e.constructor&&(Nl=!0),e)}Un.prototype.size=1;const yv=Ln.replace({});class hL extends Un{constructor(e,t,s){super(e,t),this.deco=s,this.spaceAbove=0}mainBlock(e,t){return new yi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,s,a){return this.spaceAbove&&e<s+this.spaceAbove?new yi(a,0,s,this.spaceAbove,yv):this.mainBlock(s,a)}lineAt(e,t,s,a,o){let E=this.mainBlock(a,o);return this.spaceAbove?this.blockAt(0,s,a,o).join(E):E}forEachLine(e,t,s,a,o,E){e<=o+this.length&&t>=o&&E(this.lineAt(0,Ct.ByPos,s,a,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,s=!1,a){return a&&a.from<=t&&a.more&&this.setMeasuredHeight(a),this.outdated=!1,this}toString(){return`block(${this.length})`}}class ti extends hL{constructor(e,t,s){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=s}mainBlock(e,t){return new yi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,s){let a=s[0];return s.length==1&&(a instanceof ti||a instanceof Sn&&a.flags&4)&&Math.abs(this.length-a.length)<10?(a instanceof Sn?a=new ti(a.length,this.height,this.spaceAbove):a.height=this.height,this.outdated||(a.outdated=!1),a):Un.of(s)}updateHeight(e,t=0,s=!1,a){return a&&a.from<=t&&a.more?this.setMeasuredHeight(a):(s||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 Un{constructor(e){super(e,0)}heightMetrics(e,t){let s=e.doc.lineAt(t).number,a=e.doc.lineAt(t+this.length).number,o=a-s+1,E,T=0;if(e.lineWrapping){let c=Math.min(this.height,e.lineHeight*o);E=c/o,this.length>o+1&&(T=(this.height-c)/(this.length-o-1))}else E=this.height/o;return{firstLine:s,lastLine:a,perLine:E,perChar:T}}blockAt(e,t,s,a){let{firstLine:o,lastLine:E,perLine:T,perChar:c}=this.heightMetrics(t,a);if(t.lineWrapping){let A=a+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-s)/this.height))*this.length)),R=t.doc.lineAt(A),O=T+R.length*c,d=Math.max(s,e-O/2);return new yi(R.from,R.length,d,O,0)}else{let A=Math.max(0,Math.min(E-o,Math.floor((e-s)/T))),{from:R,length:O}=t.doc.line(o+A);return new yi(R,O,s+T*A,T,0)}}lineAt(e,t,s,a,o){if(t==Ct.ByHeight)return this.blockAt(e,s,a,o);if(t==Ct.ByPosNoHeight){let{from:L,to:p}=s.doc.lineAt(e);return new yi(L,p-L,0,0,0)}let{firstLine:E,perLine:T,perChar:c}=this.heightMetrics(s,o),A=s.doc.lineAt(e),R=T+A.length*c,O=A.number-E,d=a+T*O+c*(A.from-o-O);return new yi(A.from,A.length,Math.max(a,Math.min(d,a+this.height-R)),R,0)}forEachLine(e,t,s,a,o,E){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:T,perLine:c,perChar:A}=this.heightMetrics(s,o);for(let R=e,O=a;R<=t;){let d=s.doc.lineAt(R);if(R==e){let p=d.number-T;O+=c*p+A*(e-o-p)}let L=c+A*d.length;E(new yi(d.from,d.length,O,L,0)),O+=L,R=d.to+1}}replace(e,t,s){let a=this.length-t;if(a>0){let o=s[s.length-1];o instanceof Sn?s[s.length-1]=new Sn(o.length+a):s.push(null,new Sn(a-1))}if(e>0){let o=s[0];o instanceof Sn?s[0]=new Sn(e+o.length):s.unshift(new Sn(e-1),null)}return Un.of(s)}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,s=!1,a){let o=t+this.length;if(a&&a.from<=t+this.length&&a.more){let E=[],T=Math.max(t,a.from),c=-1;for(a.from>t&&E.push(new Sn(a.from-t-1).updateHeight(e,t));T<=o&&a.more;){let R=e.doc.lineAt(T).length;E.length&&E.push(null);let O=a.heights[a.index++],d=0;O<0&&(d=-O,O=a.heights[a.index++]),c==-1?c=O:Math.abs(O-c)>=Ku&&(c=-2);let L=new ti(R,O,d);L.outdated=!1,E.push(L),T+=R+1}T<=o&&E.push(null,new Sn(o-T).updateHeight(e,T));let A=Un.of(E);return(c<0||Math.abs(A.height-this.height)>=Ku||Math.abs(c-this.heightMetrics(e,t).perLine)>=Ku)&&(Nl=!0),lT(this,A)}else(s||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class bv extends Un{constructor(e,t,s){super(e.length+t+s.length,e.height+s.height,t|(e.outdated||s.outdated?2:0)),this.left=e,this.right=s,this.size=e.size+s.size}get break(){return this.flags&1}blockAt(e,t,s,a){let o=s+this.left.height;return e<o?this.left.blockAt(e,t,s,a):this.right.blockAt(e,t,o,a+this.left.length+this.break)}lineAt(e,t,s,a,o){let E=a+this.left.height,T=o+this.left.length+this.break,c=t==Ct.ByHeight?e<E:e<T,A=c?this.left.lineAt(e,t,s,a,o):this.right.lineAt(e,t,s,E,T);if(this.break||(c?A.to<T:A.from>T))return A;let R=t==Ct.ByPosNoHeight?Ct.ByPosNoHeight:Ct.ByPos;return c?A.join(this.right.lineAt(T,R,s,E,T)):this.left.lineAt(T,R,s,a,o).join(A)}forEachLine(e,t,s,a,o,E){let T=a+this.left.height,c=o+this.left.length+this.break;if(this.break)e<c&&this.left.forEachLine(e,t,s,a,o,E),t>=c&&this.right.forEachLine(e,t,s,T,c,E);else{let A=this.lineAt(c,Ct.ByPos,s,a,o);e<A.from&&this.left.forEachLine(e,A.from-1,s,a,o,E),A.to>=e&&A.from<=t&&E(A),t>A.to&&this.right.forEachLine(A.to+1,t,s,T,c,E)}}replace(e,t,s){let a=this.left.length+this.break;if(t<a)return this.balanced(this.left.replace(e,t,s),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-a,t-a,s));let o=[];e>0&&this.decomposeLeft(e,o);let E=o.length;for(let T of s)o.push(T);if(e>0&&uI(o,E-1),t<this.length){let T=o.length;this.decomposeRight(t,o),uI(o,T)}return Un.of(o)}decomposeLeft(e,t){let s=this.left.length;if(e<=s)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(s++,e>=s&&t.push(null)),e>s&&this.right.decomposeLeft(e-s,t)}decomposeRight(e,t){let s=this.left.length,a=s+this.break;if(e>=a)return this.right.decomposeRight(e-a,t);e<s&&this.left.decomposeRight(e,t),this.break&&e<a&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Un.of(this.break?[e,null,t]:[e,t]):(this.left=lT(this.left,e),this.right=lT(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,s=!1,a){let{left:o,right:E}=this,T=t+o.length+this.break,c=null;return a&&a.from<=t+o.length&&a.more?c=o=o.updateHeight(e,t,s,a):o.updateHeight(e,t,s),a&&a.from<=T+E.length&&a.more?c=E=E.updateHeight(e,T,s,a):E.updateHeight(e,T,s),c?this.balanced(o,E):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function uI(i,e){let t,s;i[e]==null&&(t=i[e-1])instanceof Sn&&(s=i[e+1])instanceof Sn&&i.splice(e-1,3,new Sn(t.length+1+s.length))}const vv=5;class lS{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 s=Math.min(t,this.lineEnd),a=this.nodes[this.nodes.length-1];a instanceof ti?a.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new ti(s-this.pos,-1,0)),this.writtenTo=s,t>s&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,s){if(e<t||s.heightRelevant){let a=s.widget?s.widget.estimatedHeight:0,o=s.widget?s.widget.lineBreaks:0;a<0&&(a=this.oracle.lineHeight);let E=t-e;s.block?this.addBlock(new hL(E,a,s)):(E||o||a>=vv)&&this.addLineDeco(a,o,E)}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 ti(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let s=new Sn(t-e);return this.oracle.doc.lineAt(e).to==t&&(s.flags|=4),s}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ti)return e;let t=new ti(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,s){let a=this.ensureLine();a.length+=s,a.collapsed+=s,a.widgetHeight=Math.max(a.widgetHeight,e),a.breaks+=t,this.writtenTo=this.pos=this.pos+s}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof ti)&&!this.isCovered?this.nodes.push(new ti(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let s=e;for(let a of this.nodes)a instanceof ti&&a.updateHeight(this.oracle,s),s+=a?a.length:1;return this.nodes}static build(e,t,s,a){let o=new lS(s,e);return st.spans(t,s,a,o,0),o.finish(s)}}function Gv(i,e,t){let s=new Bv;return st.compare(i,e,t,s,0),s.changes}class Bv{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,s,a){(e<t||s&&s.heightRelevant||a&&a.heightRelevant)&&Tl(e,t,this.changes,5)}}function xv(i,e){let t=i.getBoundingClientRect(),s=i.ownerDocument,a=s.defaultView||window,o=Math.max(0,t.left),E=Math.min(a.innerWidth,t.right),T=Math.max(0,t.top),c=Math.min(a.innerHeight,t.bottom);for(let A=i.parentNode;A&&A!=s.body;)if(A.nodeType==1){let R=A,O=window.getComputedStyle(R);if((R.scrollHeight>R.clientHeight||R.scrollWidth>R.clientWidth)&&O.overflow!="visible"){let d=R.getBoundingClientRect();o=Math.max(o,d.left),E=Math.min(E,d.right),T=Math.max(T,d.top),c=Math.min(A==i.parentNode?a.innerHeight:c,d.bottom)}A=O.position=="absolute"||O.position=="fixed"?R.offsetParent:R.parentNode}else if(A.nodeType==11)A=A.host;else break;return{left:o-t.left,right:Math.max(o,E)-t.left,top:T-(t.top+e),bottom:Math.max(T,c)-(t.top+e)}}function Hv(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function wv(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class Gh{constructor(e,t,s,a){this.from=e,this.to=t,this.size=s,this.displaySize=a}static same(e,t){if(e.length!=t.length)return!1;for(let s=0;s<e.length;s++){let a=e[s],o=t[s];if(a.from!=o.from||a.to!=o.to||a.size!=o.size)return!1}return!0}draw(e,t){return Ln.replace({widget:new Yv(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class Yv extends mT{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 TI{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=cI,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=kt.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let s=t.facet(sS).some(a=>typeof a!="function"&&a.class=="cm-lineWrapping");this.heightOracle=new Pv(s),this.stateDeco=AI(t),this.heightMap=Un.empty().applyChanges(this.stateDeco,rt.empty,this.heightOracle.setDoc(t.doc),[new Si(0,0,0,t.doc.length)]);for(let a=0;a<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());a++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Ln.set(this.lineGaps.map(a=>a.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let s=0;s<=1;s++){let a=s?t.head:t.anchor;if(!e.some(({from:o,to:E})=>a>=o&&a<=E)){let{from:o,to:E}=this.lineBlockAt(a);e.push(new pu(o,E))}}return this.viewports=e.sort((s,a)=>s.from-a.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?cI:new oS(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(Go(e,this.scaler))})}update(e,t=null){this.state=e.state;let s=this.stateDeco;this.stateDeco=AI(this.state);let a=e.changedRanges,o=Si.extendWithRanges(a,Gv(s,this.stateDeco,e?e.changes:un.empty(this.state.doc.length))),E=this.heightMap.height,T=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);EI(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=E||Nl)&&(e.flags|=2),T?(this.scrollAnchorPos=e.changes.mapPos(T.from,-1),this.scrollAnchorHeight=T.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=E);let c=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<c.from||t.range.head>c.to)||!this.viewportIsAppropriate(c))&&(c=this.getViewport(0,t));let A=c.from!=this.viewport.from||c.to!=this.viewport.to;this.viewport=c,e.flags|=this.updateForViewport(),(A||!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(P0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,s=window.getComputedStyle(t),a=this.heightOracle,o=s.whiteSpace;this.defaultTextDirection=s.direction=="rtl"?kt.RTL:kt.LTR;let E=this.heightOracle.mustRefreshForWrapping(o)||this.mustMeasureContent==="refresh",T=t.getBoundingClientRect(),c=E||this.mustMeasureContent||this.contentDOMHeight!=T.height;this.contentDOMHeight=T.height,this.mustMeasureContent=!1;let A=0,R=0;if(T.width&&T.height){let{scaleX:$,scaleY:ae}=M_(t,T);($>.005&&Math.abs(this.scaleX-$)>.005||ae>.005&&Math.abs(this.scaleY-ae)>.005)&&(this.scaleX=$,this.scaleY=ae,A|=16,E=c=!0)}let O=(parseInt(s.paddingTop)||0)*this.scaleY,d=(parseInt(s.paddingBottom)||0)*this.scaleY;(this.paddingTop!=O||this.paddingBottom!=d)&&(this.paddingTop=O,this.paddingBottom=d,A|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(a.lineWrapping&&(c=!0),this.editorWidth=e.scrollDOM.clientWidth,A|=16);let L=P_(this.view.contentDOM,!1).y;L!=this.scrollParent&&(this.scrollParent=L,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=y_(this.scrollParent||e.win);let g=(this.printing?wv:xv)(t,this.paddingTop),v=g.top-this.pixelViewport.top,B=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let K=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(K!=this.inView&&(this.inView=K,K&&(c=!0)),!this.inView&&!this.scrollTarget&&!Hv(e.dom))return 0;let Z=T.width;if((this.contentDOMWidth!=Z||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=T.width,this.editorHeight=e.scrollDOM.clientHeight,A|=16),c){let $=e.docView.measureVisibleLineHeights(this.viewport);if(a.mustRefreshForHeights($)&&(E=!0),E||a.lineWrapping&&Math.abs(Z-this.contentDOMWidth)>a.charWidth){let{lineHeight:ae,charWidth:j,textHeight:ce}=e.docView.measureTextSize();E=ae>0&&a.refresh(o,ae,j,ce,Math.max(5,Z/j),$),E&&(e.docView.minWidth=0,A|=16)}v>0&&B>0?R=Math.max(v,B):v<0&&B<0&&(R=Math.min(v,B)),EI();for(let ae of this.viewports){let j=ae.from==this.viewport.from?$:e.docView.measureVisibleLineHeights(ae);this.heightMap=(E?Un.empty().applyChanges(this.stateDeco,rt.empty,this.heightOracle,[new Si(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(a,0,E,new Uv(ae.from,j))}Nl&&(A|=2)}let Te=!this.viewportIsAppropriate(this.viewport,R)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return Te&&(A&2&&(A|=this.updateScaler()),this.viewport=this.getViewport(R,this.scrollTarget),A|=this.updateForViewport()),(A&2||Te)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(E?[]:this.lineGaps,e)),A|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),A}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let s=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),a=this.heightMap,o=this.heightOracle,{visibleTop:E,visibleBottom:T}=this,c=new pu(a.lineAt(E-s*1e3,Ct.ByHeight,o,0,0).from,a.lineAt(T+(1-s)*1e3,Ct.ByHeight,o,0,0).to);if(t){let{head:A}=t.range;if(A<c.from||A>c.to){let R=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),O=a.lineAt(A,Ct.ByPos,o,0,0),d;t.y=="center"?d=(O.top+O.bottom)/2-R/2:t.y=="start"||t.y=="nearest"&&A<c.from?d=O.top:d=O.bottom-R,c=new pu(a.lineAt(d-1e3/2,Ct.ByHeight,o,0,0).from,a.lineAt(d+R+1e3/2,Ct.ByHeight,o,0,0).to)}}return c}mapViewport(e,t){let s=t.mapPos(e.from,-1),a=t.mapPos(e.to,1);return new pu(this.heightMap.lineAt(s,Ct.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(a,Ct.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},s=0){if(!this.inView)return!0;let{top:a}=this.heightMap.lineAt(e,Ct.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,Ct.ByPos,this.heightOracle,0,0),{visibleTop:E,visibleBottom:T}=this;return(e==0||a<=E-Math.max(10,Math.min(-s,250)))&&(t==this.state.doc.length||o>=T+Math.max(10,Math.min(s,250)))&&a>E-2*1e3&&o<T+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let s=[];for(let a of e)t.touchesRange(a.from,a.to)||s.push(new Gh(t.mapPos(a.from),t.mapPos(a.to),a.size,a.displaySize));return s}ensureLineGaps(e,t){let s=this.heightOracle.lineWrapping,a=s?1e4:2e3,o=a>>1,E=a<<1;if(this.defaultTextDirection!=kt.LTR&&!s)return[];let T=[],c=(R,O,d,L)=>{if(O-R<o)return;let p=this.state.selection.main,g=[p.from];p.empty||g.push(p.to);for(let B of g)if(B>R&&B<O){c(R,B-10,d,L),c(B+10,O,d,L);return}let v=Vv(e,B=>B.from>=d.from&&B.to<=d.to&&Math.abs(B.from-R)<o&&Math.abs(B.to-O)<o&&!g.some(K=>B.from<K&&B.to>K));if(!v){if(O<d.to&&t&&s&&t.visibleRanges.some(Z=>Z.from<=O&&Z.to>=O)){let Z=t.moveToLineBoundary(oe.cursor(O),!1,!0).head;Z>R&&(O=Z)}let B=this.gapSize(d,R,O,L),K=s||B<2e6?B:2e6;v=new Gh(R,O,B,K)}T.push(v)},A=R=>{if(R.length<E||R.type!=Yn.Text)return;let O=Fv(R.from,R.to,this.stateDeco);if(O.total<E)return;let d=this.scrollTarget?this.scrollTarget.range.head:null,L,p;if(s){let g=a/this.heightOracle.lineLength*this.heightOracle.lineHeight,v,B;if(d!=null){let K=gu(O,d),Z=((this.visibleBottom-this.visibleTop)/2+g)/R.height;v=K-Z,B=K+Z}else v=(this.visibleTop-R.top-g)/R.height,B=(this.visibleBottom-R.top+g)/R.height;L=Du(O,v),p=Du(O,B)}else{let g=O.total*this.heightOracle.charWidth,v=a*this.heightOracle.charWidth,B=0;if(g>2e6)for(let ae of e)ae.from>=R.from&&ae.from<R.to&&ae.size!=ae.displaySize&&ae.from*this.heightOracle.charWidth+B<this.pixelViewport.left&&(B=ae.size-ae.displaySize);let K=this.pixelViewport.left+B,Z=this.pixelViewport.right+B,Te,$;if(d!=null){let ae=gu(O,d),j=((Z-K)/2+v)/g;Te=ae-j,$=ae+j}else Te=(K-v)/g,$=(Z+v)/g;L=Du(O,Te),p=Du(O,$)}L>R.from&&c(R.from,L,R,O),p<R.to&&c(p,R.to,R,O)};for(let R of this.viewportLines)Array.isArray(R.type)?R.type.forEach(A):A(R);return T}gapSize(e,t,s,a){let o=gu(a,s)-gu(a,t);return this.heightOracle.lineWrapping?e.height*o:a.total*this.heightOracle.charWidth*o}updateLineGaps(e){Gh.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Ln.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 s=[];st.spans(t,this.viewport.from,this.viewport.to,{span(o,E){s.push({from:o,to:E})},point(){}},20);let a=0;if(s.length!=this.visibleRanges.length)a=12;else for(let o=0;o<s.length&&!(a&8);o++){let E=this.visibleRanges[o],T=s[o];(E.from!=T.from||E.to!=T.to)&&(a|=4,e&&e.mapPos(E.from,-1)==T.from&&e.mapPos(E.to,1)==T.to||(a|=8))}return this.visibleRanges=s,a}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Go(this.heightMap.lineAt(e,Ct.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)||Go(this.heightMap.lineAt(this.scaler.fromDOM(e),Ct.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 Go(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 pu{constructor(e,t){this.from=e,this.to=t}}function Fv(i,e,t){let s=[],a=i,o=0;return st.spans(t,i,e,{span(){},point(E,T){E>a&&(s.push({from:a,to:E}),o+=E-a),a=T}},20),a<e&&(s.push({from:a,to:e}),o+=e-a),{total:o,ranges:s}}function Du({total:i,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let s=Math.floor(i*t);for(let a=0;;a++){let{from:o,to:E}=e[a],T=E-o;if(s<=T)return o+s;s-=T}}function gu(i,e){let t=0;for(let{from:s,to:a}of i.ranges){if(e<=a){t+=e-s;break}t+=a-s}return t/i.total}function Vv(i,e){for(let t of i)if(e(t))return t}const cI={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function AI(i){let e=i.facet(pT).filter(s=>typeof s!="function"),t=i.facet(rS).filter(s=>typeof s!="function");return t.length&&e.push(st.join(t)),e}class oS{constructor(e,t,s){let a=0,o=0,E=0;this.viewports=s.map(({from:T,to:c})=>{let A=t.lineAt(T,Ct.ByPos,e,0,0).top,R=t.lineAt(c,Ct.ByPos,e,0,0).bottom;return a+=R-A,{from:T,to:c,top:A,bottom:R,domTop:0,domBottom:0}}),this.scale=(7e6-a)/(t.height-a);for(let T of this.viewports)T.domTop=E+(T.top-o)*this.scale,E=T.domBottom=T.domTop+(T.bottom-T.top),o=T.bottom}toDOM(e){for(let t=0,s=0,a=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return a+(e-s)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);s=o.bottom,a=o.domBottom}}fromDOM(e){for(let t=0,s=0,a=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return s+(e-a)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);s=o.bottom,a=o.domBottom}}eq(e){return e instanceof oS?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,s)=>t.from==e.viewports[s].from&&t.to==e.viewports[s].to):!1}}function Go(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),s=e.toDOM(i.bottom);return new yi(i.from,i.length,t,s-t,Array.isArray(i._content)?i._content.map(a=>Go(a,e)):i._content)}const Mu=Ge.define({combine:i=>i.join(" ")}),LR=Ge.define({combine:i=>i.indexOf(!0)>-1}),mR=Sl.newName(),RL=Sl.newName(),SL=Sl.newName(),fL={"&light":"."+RL,"&dark":"."+SL};function pR(i,e,t){return new Sl(e,{finish(s){return/&/.test(s)?s.replace(/&\w*/,a=>{if(a=="&")return i;if(!t||!t[a])throw new RangeError(`Unsupported selector: ${a}`);return t[a]}):i+" "+s}})}const kv=pR("."+mR,{"&":{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"}},fL),Wv={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Bh=Ie.ie&&Ie.ie_version<=11;class Xv{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new O0,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 s of t)this.queue.push(s);(Ie.ie&&Ie.ie_version<=11||Ie.ios&&e.composing)&&t.some(s=>s.type=="childList"&&s.removedNodes.length||s.type=="characterData"&&s.oldValue.length>s.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Ie.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Ie.chrome&&Ie.chrome_version<126)&&(this.editContext=new jv(e),e.state.facet(Ps)&&(e.contentDOM.editContext=this.editContext.editContext)),Bh&&(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,s)=>t!=e[s]))){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:s}=this,a=this.selectionRange;if(s.state.facet(Ps)?s.root.activeElement!=this.dom:!Yo(this.dom,a))return;let o=a.anchorNode&&s.docView.tile.nearest(a.anchorNode);if(o&&o.isWidget()&&o.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Ie.ie&&Ie.ie_version<=11||Ie.android&&Ie.chrome)&&!s.state.selection.main.empty&&a.focusNode&&Fo(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=$o(e.root);if(!t)return!1;let s=Ie.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Kv(this.view,t)||t;if(!s||this.selectionRange.eq(s))return!1;let a=Yo(this.dom,s);return a&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&d0(this.dom,s)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(s),a&&(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 s=this.dom;s;)if(s.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==s?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);for(let s of this.scrollTargets=t)s.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,Wv),Bh&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Bh&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var s;if(!this.delayedAndroidKey){let a=()=>{let o=this.delayedAndroidKey;o&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=o.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&o.force&&cl(this.dom,o.key,o.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(a)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((s=this.delayedAndroidKey)===null||s===void 0)&&s.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,s=-1,a=!1;for(let o of e){let E=this.readMutation(o);E&&(E.typeOver&&(a=!0),t==-1?{from:t,to:s}=E:(t=Math.min(E.from,t),s=Math.max(E.to,s)))}return{from:t,to:s,typeOver:a}}readChange(){let{from:e,to:t,typeOver:s}=this.processRecords(),a=this.selectionChanged&&Yo(this.dom,this.selectionRange);if(e<0&&!a)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new Ev(this.view,e,t,s);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 s=this.view.state,a=sL(this.view,t);return this.view.state==s&&(t.domChanged||t.newSel&&!aT(this.view.state.selection,t.newSel.main))&&this.view.update([]),a}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 s=hI(t,e.previousSibling||e.target.previousSibling,-1),a=hI(t,e.nextSibling||e.target.nextSibling,1);return{from:s?t.posAfter(s):t.posAtStart,to:a?t.posBefore(a):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(Ps)!=e.state.facet(Ps)&&(e.view.contentDOM.editContext=e.state.facet(Ps)?this.editContext.editContext:null))}destroy(){var e,t,s;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(s=this.resizeScroll)===null||s===void 0||s.disconnect();for(let a of this.scrollTargets)a.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 hI(i,e,t){for(;e;){let s=Bt.get(e);if(s&&s.parent==i)return s;let a=e.parentNode;e=a!=i.dom?a:t>0?e.nextSibling:e.previousSibling}return null}function RI(i,e){let t=e.startContainer,s=e.startOffset,a=e.endContainer,o=e.endOffset,E=i.docView.domAtPos(i.state.selection.main.anchor,1);return Fo(E.node,E.offset,a,o)&&([t,s,a,o]=[a,o,t,s]),{anchorNode:t,anchorOffset:s,focusNode:a,focusOffset:o}}function Kv(i,e){if(e.getComposedRanges){let a=e.getComposedRanges(i.root)[0];if(a)return RI(i,a)}let t=null;function s(a){a.preventDefault(),a.stopImmediatePropagation(),t=a.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",s,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",s,!0),t?RI(i,t):null}class jv{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=s=>{let a=e.state.selection.main,{anchor:o,head:E}=a,T=this.toEditorPos(s.updateRangeStart),c=this.toEditorPos(s.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:s.updateRangeStart,editorBase:T,drifted:!1});let A=c-T>s.text.length;T==this.from&&o<this.from?T=o:c==this.to&&o>this.to&&(c=o);let R=rL(e.state.sliceDoc(T,c),s.text,(A?a.from:a.to)-T,A?"end":null);if(!R){let d=oe.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));aT(d,a)||e.dispatch({selection:d,userEvent:"select"});return}let O={from:R.from+T,to:R.toA+T,insert:rt.of(s.text.slice(R.from,R.toB).split(`
|
|
96
|
+
`))};if((Ie.mac||Ie.android)&&O.from==E-1&&/^\. ?$/.test(s.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(O={from:T,to:c,insert:rt.of([s.text.replace("."," ")])}),this.pendingContextChange=O,!e.state.readOnly){let d=this.to-this.from+(O.to-O.from+O.insert.length);aS(e,O,oe.single(this.toEditorPos(s.selectionStart,d),this.toEditorPos(s.selectionEnd,d)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),O.from<O.to&&!O.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,s.updateRangeStart-1),Math.min(t.text.length,s.updateRangeStart+1)))&&this.handlers.compositionend(s)},this.handlers.characterboundsupdate=s=>{let a=[],o=null;for(let E=this.toEditorPos(s.rangeStart),T=this.toEditorPos(s.rangeEnd);E<T;E++){let c=e.coordsForChar(E);o=c&&new DOMRect(c.left,c.top,c.right-c.left,c.bottom-c.top)||o||new DOMRect,a.push(o)}t.updateCharacterBounds(s.rangeStart,a)},this.handlers.textformatupdate=s=>{let a=[];for(let o of s.getTextFormats()){let E=o.underlineStyle,T=o.underlineThickness;if(!/none/i.test(E)&&!/none/i.test(T)){let c=this.toEditorPos(o.rangeStart),A=this.toEditorPos(o.rangeEnd);if(c<A){let R=`text-decoration: underline ${/^[a-z]/.test(E)?E+" ":E=="Dashed"?"dashed ":E=="Squiggle"?"wavy ":""}${/thin/i.test(T)?1:2}px`;a.push(Ln.mark({attributes:{style:R}}).range(c,A))}}}e.dispatch({effects:q_.of(Ln.set(a))})},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:s}=this.composing;this.composing=null,s&&this.reset(e.state)}};for(let s in this.handlers)t.addEventListener(s,this.handlers[s]);this.measureReq={read:s=>{let a=$o(s.root);a&&a.rangeCount&&this.editContext.updateSelectionBounds(a.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,s=!1,a=this.pendingContextChange;return e.changes.iterChanges((o,E,T,c,A)=>{if(s)return;let R=A.length-(E-o);if(a&&E>=a.to)if(a.from==o&&a.to==E&&a.insert.eq(A)){a=this.pendingContextChange=null,t+=R,this.to+=R;return}else a=null,this.revertPending(e.state);if(o+=t,E+=t,E<=this.from)this.from+=R,this.to+=R;else if(o<this.to){if(o<this.from||E>this.to||this.to-this.from+A.length>3e4){s=!0;return}this.editContext.updateText(this.toContextPos(o),this.toContextPos(E),A.toString()),this.to+=R}t+=R}),a&&!s&&this.revertPending(e.state),!s}update(e){let t=this.pendingContextChange,s=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(s.from,s.to)&&e.transactions.some(a=>!a.isUserEvent("input.type")&&a.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,s=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),a=this.toContextPos(t.head);(this.editContext.selectionStart!=s||this.editContext.selectionEnd!=a)&&this.editContext.updateSelection(s,a)}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 s=this.composing;return s&&s.drifted?s.editorBase+(e-s.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 Ve{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:s}=e;this.dispatchTransactions=e.dispatchTransactions||s&&(a=>a.forEach(o=>s(o,this)))||(a=>this.update(a)),this.dispatch=this.dispatch.bind(this),this._root=e.root||N0(e.parent)||document,this.viewState=new TI(this,e.state||Tt.create(e)),e.scrollTo&&e.scrollTo.is(_u)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(ll).map(a=>new Ph(a));for(let a of this.plugins)a.update(this);this.observer=new Xv(this),this.inputState=new Av(this),this.inputState.ensureHandlers(this.plugins),this.docView=new zd(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 _n?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,s=!1,a,o=this.state;for(let d of e){if(d.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=d.state}if(this.destroyed){this.viewState.state=o;return}let E=this.hasFocus,T=0,c=null;e.some(d=>d.annotation(TL))?(this.inputState.notifiedFocused=E,T=1):E!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=E,c=cL(o,E),c||(T=1));let A=this.observer.delayedAndroidKey,R=null;if(A?(this.observer.clearDelayedAndroidKey(),R=this.observer.readChange(),(R&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(R=null)):this.observer.clear(),o.facet(Tt.phrases)!=this.state.facet(Tt.phrases))return this.setState(o);a=iT.create(this,o,e),a.flags|=T;let O=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(O&&(O=O.map(d.changes)),d.scrollIntoView){let{main:L}=d.state.selection,{x:p,y:g}=this.state.facet(Ve.cursorScrollMargin);O=new Al(L.empty?L:oe.cursor(L.head,L.head>L.anchor?-1:1),"nearest","nearest",g,p)}for(let L of d.effects)L.is(_u)&&(O=L.value.clip(this.state))}this.viewState.update(a,O),this.bidiCache=oT.update(this.bidiCache,a.changes),a.empty||(this.updatePlugins(a),this.inputState.update(a)),t=this.docView.update(a),this.state.facet(vo)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(a.startState.facet(Mu)!=a.state.facet(Mu)&&(this.viewState.mustMeasureContent=!0),(t||s||O||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!a.empty)for(let d of this.state.facet(dR))try{d(a)}catch(L){as(this.state,L,"update listener")}(c||R)&&Promise.resolve().then(()=>{c&&this.state==c.startState&&this.dispatch(c),R&&!sL(this,R)&&A.force&&cl(this.contentDOM,A.key,A.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 s of this.plugins)s.destroy(this);this.viewState=new TI(this,e),this.plugins=e.facet(ll).map(s=>new Ph(s)),this.pluginMap.clear();for(let s of this.plugins)s.update(this);this.docView.destroy(),this.docView=new zd(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(ll),s=e.state.facet(ll);if(t!=s){let a=[];for(let o of s){let E=t.indexOf(o);if(E<0)a.push(new Ph(o));else{let T=this.plugins[E];T.mustUpdate=e,a.push(T)}}for(let o of this.plugins)o.mustUpdate!=e&&o.destroy(this);this.plugins=a,this.pluginMap.clear()}else for(let a of this.plugins)a.mustUpdate=e;for(let a=0;a<this.plugins.length;a++)this.plugins[a].update(this);t!=s&&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(s){as(this.state,s,"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,s=this.viewState.scrollParent,a=this.viewState.getScrollOffset(),{scrollAnchorPos:o,scrollAnchorHeight:E}=this.viewState;Math.abs(a-this.viewState.scrollOffset)>1&&(E=-1),this.viewState.scrollAnchorHeight=-1;try{for(let T=0;;T++){if(E<0)if(y_(s||this.win))o=-1,E=this.viewState.heightMap.height;else{let L=this.viewState.scrollAnchorAt(a);o=L.from,E=L.top}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(T>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let A=[];c&4||([this.measureRequests,A]=[A,this.measureRequests]);let R=A.map(L=>{try{return L.read(this)}catch(p){return as(this.state,p),SI}}),O=iT.create(this,this.state,[]),d=!1;O.flags|=c,t?t.flags|=c:t=O,this.updateState=2,O.empty||(this.updatePlugins(O),this.inputState.update(O),this.updateAttrs(),d=this.docView.update(O),d&&this.docViewUpdate());for(let L=0;L<A.length;L++)if(R[L]!=SI)try{let p=A[L];p.write&&p.write(R[L],this)}catch(p){as(this.state,p)}if(d&&this.docView.updateSelection(!0),!O.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,E=-1;continue}else{let p=((o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-E)/this.scaleY;if((p>1||p<-1)&&(s==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){a=a+p,s?s.scrollTop+=p:this.win.scrollBy(0,p),E=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let T of this.state.facet(dR))T(t)}get themeClasses(){return mR+" "+(this.state.facet(LR)?SL:RL)+" "+this.state.facet(Mu)}updateAttrs(){let e=fI(this,$_,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Ps)?"true":"false",class:"cm-content",style:`${Ie.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),fI(this,sS,t);let s=this.observer.ignore(()=>{let a=Kd(this.contentDOM,this.contentAttrs,t),o=Kd(this.dom,this.editorAttrs,e);return a||o});return this.editorAttrs=e,this.contentAttrs=t,s}showAnnouncements(e){let t=!0;for(let s of e)for(let a of s.effects)if(a.is(Ve.announce)){t&&(this.announceDOM.textContent=""),t=!1;let o=this.announceDOM.appendChild(document.createElement("div"));o.textContent=a.value}}mountStyles(){this.styleModules=this.state.facet(vo);let e=this.state.facet(Ve.cspNonce);Sl.mount(this.root,this.styleModules.concat(kv).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(s=>s.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,s){return vh(this,e,Zd(this,e,t,s))}moveByGroup(e,t){return vh(this,e,Zd(this,e,t,s=>iv(this,e.head,s)))}visualLineSide(e,t){let s=this.bidiSpans(e),a=this.textDirectionAt(e.from),o=s[t?s.length-1:0];return oe.cursor(o.side(t,a)+e.from,o.forward(!t,a)?1:-1)}moveToLineBoundary(e,t,s=!0){return nv(this,e,t,s)}moveVertically(e,t,s){return vh(this,e,sv(this,e,t,s))}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 s=CR(this,e,t);return s&&s.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),CR(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let s=this.docView.coordsAt(e,t);if(!s||s.left==s.right)return s;let a=this.state.doc.lineAt(e),o=this.bidiSpans(a),E=o[rs.find(o,e-a.from,-1,t)];return nT(s,E.dir==kt.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(K_)||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>qv)return H_(e.length);let t=this.textDirectionAt(e.from),s;for(let o of this.bidiCache)if(o.from==e.from&&o.dir==t&&(o.fresh||x_(o.isolates,s=$d(this,e))))return o.order;s||(s=$d(this,e));let a=D0(e.text,t,s);return this.bidiCache.push(new oT(e.from,e.to,t,s,!0,a)),a}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Ie.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{U_(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 s,a,o,E;return _u.of(new Al(typeof e=="number"?oe.cursor(e):e,(s=t.y)!==null&&s!==void 0?s:"nearest",(a=t.x)!==null&&a!==void 0?a:"nearest",(o=t.yMargin)!==null&&o!==void 0?o:5,(E=t.xMargin)!==null&&E!==void 0?E:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,s=this.viewState.scrollAnchorAt(e);return _u.of(new Al(oe.cursor(s.from),"start","start",s.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 ua.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return ua.define(()=>({}),{eventObservers:e})}static theme(e,t){let s=Sl.newName(),a=[Mu.of(s),vo.of(pR(`.${s}`,e))];return t&&t.dark&&a.push(LR.of(!0)),a}static baseTheme(e){return R_.lowest(vo.of(pR("."+mR,e,fL)))}static findFromDOM(e){var t;let s=e.querySelector(".cm-content"),a=s&&Bt.get(s)||Bt.get(e);return((t=a==null?void 0:a.root)===null||t===void 0?void 0:t.view)||null}}Ve.styleModule=vo;Ve.inputHandler=W_;Ve.clipboardInputFilter=nS;Ve.clipboardOutputFilter=iS;Ve.scrollHandler=j_;Ve.focusChangeEffect=X_;Ve.perLineTextDirection=K_;Ve.exceptionSink=k_;Ve.updateListener=dR;Ve.editable=Ps;Ve.mouseSelectionStyle=V_;Ve.dragMovesSelection=F_;Ve.clickAddsSelectionRange=Y_;Ve.decorations=pT;Ve.blockWrappers=J_;Ve.outerDecorations=rS;Ve.atomicRanges=nE;Ve.bidiIsolatedRanges=Q_;Ve.cursorScrollMargin=Ge.define({combine:i=>{let e=5,t=5;for(let s of i)typeof s=="number"?e=t=s:{x:e,y:t}=s;return{x:e,y:t}}});Ve.scrollMargins=z_;Ve.darkTheme=LR;Ve.cspNonce=Ge.define({combine:i=>i.length?i[0]:""});Ve.contentAttributes=sS;Ve.editorAttributes=$_;Ve.lineWrapping=Ve.contentAttributes.of({class:"cm-lineWrapping"});Ve.announce=zt.define();const qv=4096,SI={};class oT{constructor(e,t,s,a,o,E){this.from=e,this.to=t,this.dir=s,this.isolates=a,this.fresh=o,this.order=E}static update(e,t){if(t.empty&&!e.some(o=>o.fresh))return e;let s=[],a=e.length?e[e.length-1].dir:kt.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let E=e[o];E.dir==a&&!t.touchesRange(E.from,E.to)&&s.push(new oT(t.mapPos(E.from,1),t.mapPos(E.to,-1),E.dir,E.isolates,!1,E.order))}return s}}function fI(i,e,t){for(let s=i.state.facet(e),a=s.length-1;a>=0;a--){let o=s[a],E=typeof o=="function"?o(i):o;E&&ZR(E,t)}return t}const $v=Ie.mac?"mac":Ie.windows?"win":Ie.linux?"linux":"key";function Jv(i,e){const t=i.split(/-(?!$)/);let s=t[t.length-1];s=="Space"&&(s=" ");let a,o,E,T;for(let c=0;c<t.length-1;++c){const A=t[c];if(/^(cmd|meta|m)$/i.test(A))T=!0;else if(/^a(lt)?$/i.test(A))a=!0;else if(/^(c|ctrl|control)$/i.test(A))o=!0;else if(/^s(hift)?$/i.test(A))E=!0;else if(/^mod$/i.test(A))e=="mac"?T=!0:o=!0;else throw new Error("Unrecognized modifier name: "+A)}return a&&(s="Alt-"+s),o&&(s="Ctrl-"+s),T&&(s="Meta-"+s),E&&(s="Shift-"+s),s}function Pu(i,e,t){return e.altKey&&(i="Alt-"+i),e.ctrlKey&&(i="Ctrl-"+i),e.metaKey&&(i="Meta-"+i),t!==!1&&e.shiftKey&&(i="Shift-"+i),i}const Qv=R_.default(Ve.domEventHandlers({keydown(i,e){return tG(zv(e.state),i,e,"editor")}})),OL=Ge.define({enables:Qv}),OI=new WeakMap;function zv(i){let e=i.facet(OL),t=OI.get(e);return t||OI.set(e,t=eG(e.reduce((s,a)=>s.concat(a),[]))),t}let fr=null;const Zv=4e3;function eG(i,e=$v){let t=Object.create(null),s=Object.create(null),a=(E,T)=>{let c=s[E];if(c==null)s[E]=T;else if(c!=T)throw new Error("Key binding "+E+" is used both as a regular binding and as a multi-stroke prefix")},o=(E,T,c,A,R)=>{var O,d;let L=t[E]||(t[E]=Object.create(null)),p=T.split(/ (?!$)/).map(B=>Jv(B,e));for(let B=1;B<p.length;B++){let K=p.slice(0,B).join(" ");a(K,!0),L[K]||(L[K]={preventDefault:!0,stopPropagation:!1,run:[Z=>{let Te=fr={view:Z,prefix:K,scope:E};return setTimeout(()=>{fr==Te&&(fr=null)},Zv),!0}]})}let g=p.join(" ");a(g,!1);let v=L[g]||(L[g]={preventDefault:!1,stopPropagation:!1,run:((d=(O=L._any)===null||O===void 0?void 0:O.run)===null||d===void 0?void 0:d.slice())||[]});c&&v.run.push(c),A&&(v.preventDefault=!0),R&&(v.stopPropagation=!0)};for(let E of i){let T=E.scope?E.scope.split(" "):["editor"];if(E.any)for(let A of T){let R=t[A]||(t[A]=Object.create(null));R._any||(R._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:O}=E;for(let d in R)R[d].run.push(L=>O(L,DR))}let c=E[e]||E.key;if(c)for(let A of T)o(A,c,E.run,E.preventDefault,E.stopPropagation),E.shift&&o(A,"Shift-"+c,E.shift,E.preventDefault,E.stopPropagation)}return t}let DR=null;function tG(i,e,t,s){DR=e;let a=T0(e),o=Kb(a,0),E=jb(o)==a.length&&a!=" ",T="",c=!1,A=!1,R=!1;fr&&fr.view==t&&fr.scope==s&&(T=fr.prefix+" ",lL.indexOf(e.keyCode)<0&&(A=!0,fr=null));let O=new Set,d=v=>{if(v){for(let B of v.run)if(!O.has(B)&&(O.add(B),B(t)))return v.stopPropagation&&(R=!0),!0;v.preventDefault&&(v.stopPropagation&&(R=!0),A=!0)}return!1},L=i[s],p,g;return L&&(d(L[T+Pu(a,e,!E)])?c=!0:E&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Ie.windows&&e.ctrlKey&&e.altKey)&&!(Ie.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=_r[e.keyCode])&&p!=a?(d(L[T+Pu(p,e,!0)])||e.shiftKey&&(g=jo[e.keyCode])!=a&&g!=p&&d(L[T+Pu(g,e,!1)]))&&(c=!0):E&&e.shiftKey&&d(L[T+Pu(a,e,!0)])&&(c=!0),!c&&d(L._any)&&(c=!0)),A&&(c=!0),c&&R&&e.stopPropagation(),DR=null,c}class ca extends Cr{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ca.prototype.elementClass="";ca.prototype.toDOM=void 0;ca.prototype.mapMode=ni.TrackBefore;ca.prototype.startSide=ca.prototype.endSide=-1;ca.prototype.point=!0;const xh=Ge.define(),nG=Ge.define(),ju=Ge.define(),NI=Ge.define({combine:i=>i.some(e=>e)});function iG(i){return[sG]}const sG=ua.fromClass(class{constructor(i){this.view=i,this.domAfter=null,this.prevViewport=i.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=i.state.facet(ju).map(e=>new II(i,e)),this.fixed=!i.state.facet(NI);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),i.scrollDOM.insertBefore(this.dom,i.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(i){if(this.updateGutters(i)){let e=this.prevViewport,t=i.view.viewport,s=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(s<(t.to-t.from)*.8)}if(i.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(NI)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=i.view.viewport}syncGutters(i){let e=this.dom.nextSibling;i&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=st.iter(this.view.state.facet(xh),this.view.viewport.from),s=[],a=this.gutters.map(o=>new rG(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(o.type)){let E=!0;for(let T of o.type)if(T.type==Yn.Text&&E){gR(t,s,T.from);for(let c of a)c.line(this.view,T,s);E=!1}else if(T.widget)for(let c of a)c.widget(this.view,T)}else if(o.type==Yn.Text){gR(t,s,o.from);for(let E of a)E.line(this.view,o,s)}else if(o.widget)for(let E of a)E.widget(this.view,o);for(let o of a)o.finish();i&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(i){let e=i.startState.facet(ju),t=i.state.facet(ju),s=i.docChanged||i.heightChanged||i.viewportChanged||!st.eq(i.startState.facet(xh),i.state.facet(xh),i.view.viewport.from,i.view.viewport.to);if(e==t)for(let a of this.gutters)a.update(i)&&(s=!0);else{s=!0;let a=[];for(let o of t){let E=e.indexOf(o);E<0?a.push(new II(this.view,o)):(this.gutters[E].update(i),a.push(this.gutters[E]))}for(let o of this.gutters)o.dom.remove(),a.indexOf(o)<0&&o.destroy();for(let o of a)o.config.side=="after"?this.getDOMAfter().appendChild(o.dom):this.dom.appendChild(o.dom);this.gutters=a}return s}destroy(){for(let i of this.gutters)i.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:i=>Ve.scrollMargins.of(e=>{let t=e.plugin(i);if(!t||t.gutters.length==0||!t.fixed)return null;let s=t.dom.offsetWidth*e.scaleX,a=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==kt.LTR?{left:s,right:a}:{right:s,left:a}})});function dI(i){return Array.isArray(i)?i:[i]}function gR(i,e,t){for(;i.value&&i.from<=t;)i.from==t&&e.push(i.value),i.next()}class rG{constructor(e,t,s){this.gutter=e,this.height=s,this.i=0,this.cursor=st.iter(e.markers,t.from)}addElement(e,t,s){let{gutter:a}=this,o=(t.top-this.height)/e.scaleY,E=t.height/e.scaleY;if(this.i==a.elements.length){let T=new NL(e,E,o,s);a.elements.push(T),a.dom.appendChild(T.dom)}else a.elements[this.i].update(e,E,o,s);this.height=t.bottom,this.i++}line(e,t,s){let a=[];gR(this.cursor,a,t.from),s.length&&(a=a.concat(s));let o=this.gutter.config.lineMarker(e,t,a);o&&a.unshift(o);let E=this.gutter;a.length==0&&!E.config.renderEmptyElements||this.addElement(e,t,a)}widget(e,t){let s=this.gutter.config.widgetMarker(e,t.widget,t),a=s?[s]:null;for(let o of e.state.facet(nG)){let E=o(e,t.widget,t);E&&(a||(a=[])).push(E)}a&&this.addElement(e,t,a)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class II{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 s in t.domEventHandlers)this.dom.addEventListener(s,a=>{let o=a.target,E;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let c=o.getBoundingClientRect();E=(c.top+c.bottom)/2}else E=a.clientY;let T=e.lineBlockAtHeight(E-e.documentTop);t.domEventHandlers[s](e,T,a)&&a.preventDefault()});this.markers=dI(t.markers(e)),t.initialSpacer&&(this.spacer=new NL(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=dI(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let a=this.config.updateSpacer(this.spacer.markers[0],e);a!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[a])}let s=e.view.viewport;return!st.eq(this.markers,t,s.from,s.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class NL{constructor(e,t,s,a){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,s,a)}update(e,t,s,a){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=s&&(this.dom.style.marginTop=(this.above=s)?s+"px":""),aG(this.markers,a)||this.setMarkers(e,a)}setMarkers(e,t){let s="cm-gutterElement",a=this.dom.firstChild;for(let o=0,E=0;;){let T=E,c=o<t.length?t[o++]:null,A=!1;if(c){let R=c.elementClass;R&&(s+=" "+R);for(let O=E;O<this.markers.length;O++)if(this.markers[O].compare(c)){T=O,A=!0;break}}else T=this.markers.length;for(;E<T;){let R=this.markers[E++];if(R.toDOM){R.destroy(a);let O=a.nextSibling;a.remove(),a=O}}if(!c)break;c.toDOM&&(A?a=a.nextSibling:this.dom.insertBefore(c.toDOM(e),a)),A&&E++}this.dom.className=s,this.markers=t}destroy(){this.setMarkers(null,[])}}function aG(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(!i[t].compare(e[t]))return!1;return!0}const lG=Ge.define(),oG=Ge.define(),ol=Ge.define({combine(i){return r0(i,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let s=Object.assign({},e);for(let a in t){let o=s[a],E=t[a];s[a]=o?(T,c,A)=>o(T,c,A)||E(T,c,A):E}return s}})}});class Hh extends ca{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function wh(i,e){return i.state.facet(ol).formatNumber(e,i.state)}const EG=ju.compute([ol],i=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(lG)},lineMarker(e,t,s){return s.some(a=>a.toDOM)?null:new Hh(wh(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,s)=>{for(let a of e.state.facet(oG)){let o=a(e,t,s);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(ol)!=e.state.facet(ol),initialSpacer(e){return new Hh(wh(e,CI(e.state.doc.lines)))},updateSpacer(e,t){let s=wh(t.view,CI(t.view.state.doc.lines));return s==e.number?e:new Hh(s)},domEventHandlers:i.facet(ol).domEventHandlers,side:"before"}));function uG(i={}){return[ol.of(i),iG(),EG]}function CI(i){let e=9;for(;e<i;)e=e*10+9;return e}const dL=1024;let TG=0;class Yh{constructor(e,t){this.from=e,this.to=t}}class Ze{constructor(e={}){this.id=TG++,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=Vn.match(e)),t=>{let s=e(t);return s===void 0?null:[this,s]}}}Ze.closedBy=new Ze({deserialize:i=>i.split(" ")});Ze.openedBy=new Ze({deserialize:i=>i.split(" ")});Ze.group=new Ze({deserialize:i=>i.split(" ")});Ze.isolate=new Ze({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});Ze.contextHash=new Ze({perNode:!0});Ze.lookAhead=new Ze({perNode:!0});Ze.mounted=new Ze({perNode:!0});class ko{constructor(e,t,s,a=!1){this.tree=e,this.overlay=t,this.parser=s,this.bracketed=a}static get(e){return e&&e.props&&e.props[Ze.mounted.id]}}const cG=Object.create(null);class Vn{constructor(e,t,s,a=0){this.name=e,this.props=t,this.id=s,this.flags=a}static define(e){let t=e.props&&e.props.length?Object.create(null):cG,s=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),a=new Vn(e.name||"",t,e.id,s);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(a)),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 a}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(Ze.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let s in e)for(let a of s.split(" "))t[a]=e[s];return s=>{for(let a=s.prop(Ze.group),o=-1;o<(a?a.length:0);o++){let E=t[o<0?s.name:a[o]];if(E)return E}}}}Vn.none=new Vn("",Object.create(null),0,8);class ES{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 s of this.types){let a=null;for(let o of e){let E=o(s);if(E){a||(a=Object.assign({},s.props));let T=E[1],c=E[0];c.combine&&c.id in a&&(T=c.combine(a[c.id],T)),a[c.id]=T}}t.push(a?new Vn(s.name,a,s.id,s.flags):s)}return new ES(t)}}const Uu=new WeakMap,_I=new WeakMap;var Gt;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays",i[i.EnterBracketed=16]="EnterBracketed"})(Gt||(Gt={}));class Wt{constructor(e,t,s,a,o){if(this.type=e,this.children=t,this.positions=s,this.length=a,this.props=null,o&&o.length){this.props=Object.create(null);for(let[E,T]of o)this.props[typeof E=="number"?E:E.id]=T}}toString(){let e=ko.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let s of this.children){let a=s.toString();a&&(t&&(t+=","),t+=a)}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 PR(this.topNode,e)}cursorAt(e,t=0,s=0){let a=Uu.get(this)||this.topNode,o=new PR(a);return o.moveTo(e,t),Uu.set(this,o._tree),o}get topNode(){return new fi(this,0,0,null)}resolve(e,t=0){let s=Qo(Uu.get(this)||this.topNode,e,t,!1);return Uu.set(this,s),s}resolveInner(e,t=0){let s=Qo(_I.get(this)||this.topNode,e,t,!0);return _I.set(this,s),s}resolveStack(e,t=0){return RG(this,e,t)}iterate(e){let{enter:t,leave:s,from:a=0,to:o=this.length}=e,E=e.mode||0,T=(E&Gt.IncludeAnonymous)>0;for(let c=this.cursor(E|Gt.IncludeAnonymous);;){let A=!1;if(c.from<=o&&c.to>=a&&(!T&&c.type.isAnonymous||t(c)!==!1)){if(c.firstChild())continue;A=!0}for(;A&&s&&(T||!c.type.isAnonymous)&&s(c),!c.nextSibling();){if(!c.parent())return;A=!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:cS(Vn.none,this.children,this.positions,0,this.children.length,0,this.length,(t,s,a)=>new Wt(this.type,t,s,a,this.propValues),e.makeTree||((t,s,a)=>new Wt(Vn.none,t,s,a)))}static build(e){return SG(e)}}Wt.empty=new Wt(Vn.none,[],[],0);class uS{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 uS(this.buffer,this.index)}}class mr{constructor(e,t,s){this.buffer=e,this.length=t,this.set=s}get type(){return Vn.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],s=this.buffer[e+3],a=this.set.types[t],o=a.name;if(/\W/.test(o)&&!a.isError&&(o=JSON.stringify(o)),e+=4,s==e)return o;let E=[];for(;e<s;)E.push(this.childString(e)),e=this.buffer[e+3];return o+"("+E.join(",")+")"}findChild(e,t,s,a,o){let{buffer:E}=this,T=-1;for(let c=e;c!=t&&!(IL(o,a,E[c+1],E[c+2])&&(T=c,s>0));c=E[c+3]);return T}slice(e,t,s){let a=this.buffer,o=new Uint16Array(t-e),E=0;for(let T=e,c=0;T<t;){o[c++]=a[T++],o[c++]=a[T++]-s;let A=o[c++]=a[T++]-s;o[c++]=a[T++]-e,E=Math.max(E,A)}return new mr(o,E,this.set)}}function IL(i,e,t,s){switch(i){case-2:return t<e;case-1:return s>=e&&t<e;case 0:return t<e&&s>e;case 1:return t<=e&&s>e;case 2:return s>e;case 4:return!0}}function Qo(i,e,t,s){for(var a;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to<e);){let E=!s&&i instanceof fi&&i.index<0?null:i.parent;if(!E)return i;i=E}let o=s?0:Gt.IgnoreOverlays;if(s)for(let E=i,T=E.parent;T;E=T,T=E.parent)E instanceof fi&&E.index<0&&((a=T.enter(e,t,o))===null||a===void 0?void 0:a.from)!=E.from&&(i=T);for(;;){let E=i.enter(e,t,o);if(!E)return i;i=E}}class CL{cursor(e=0){return new PR(this,e)}getChild(e,t=null,s=null){let a=LI(this,e,t,s);return a.length?a[0]:null}getChildren(e,t=null,s=null){return LI(this,e,t,s)}resolve(e,t=0){return Qo(this,e,t,!1)}resolveInner(e,t=0){return Qo(this,e,t,!0)}matchContext(e){return MR(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),s=this;for(;t;){let a=t.lastChild;if(!a||a.to!=t.to)break;a.type.isError&&a.from==a.to?(s=t,t=a.prevSibling):t=a}return s}get node(){return this}get next(){return this.parent}}class fi extends CL{constructor(e,t,s,a){super(),this._tree=e,this.from=t,this.index=s,this._parent=a}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,s,a,o=0){for(let E=this;;){for(let{children:T,positions:c}=E._tree,A=t>0?T.length:-1;e!=A;e+=t){let R=T[e],O=c[e]+E.from,d;if(!(!(o&Gt.EnterBracketed&&R instanceof Wt&&(d=ko.get(R))&&!d.overlay&&d.bracketed&&s>=O&&s<=O+R.length)&&!IL(a,s,O,O+R.length))){if(R instanceof mr){if(o&Gt.ExcludeBuffers)continue;let L=R.findChild(0,R.buffer.length,t,s-O,a);if(L>-1)return new Nr(new AG(E,R,e,O),null,L)}else if(o&Gt.IncludeAnonymous||!R.type.isAnonymous||TS(R)){let L;if(!(o&Gt.IgnoreMounts)&&(L=ko.get(R))&&!L.overlay)return new fi(L.tree,O,e,E);let p=new fi(R,O,e,E);return o&Gt.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?R.children.length-1:0,t,s,a,o)}}}if(o&Gt.IncludeAnonymous||!E.type.isAnonymous||(E.index>=0?e=E.index+t:e=t<0?-1:E._parent._tree.children.length,E=E._parent,!E))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,s=0){let a;if(!(s&Gt.IgnoreOverlays)&&(a=ko.get(this._tree))&&a.overlay){let o=e-this.from,E=s&Gt.EnterBracketed&&a.bracketed;for(let{from:T,to:c}of a.overlay)if((t>0||E?T<=o:T<o)&&(t<0||E?c>=o:c>o))return new fi(a.tree,a.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,s)}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 LI(i,e,t,s){let a=i.cursor(),o=[];if(!a.firstChild())return o;if(t!=null){for(let E=!1;!E;)if(E=a.type.is(t),!a.nextSibling())return o}for(;;){if(s!=null&&a.type.is(s))return o;if(a.type.is(e)&&o.push(a.node),!a.nextSibling())return s==null?o:[]}}function MR(i,e,t=e.length-1){for(let s=i;t>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(e[t]&&e[t]!=s.name)return!1;t--}}return!0}class AG{constructor(e,t,s,a){this.parent=e,this.buffer=t,this.index=s,this.start=a}}class Nr extends CL{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,s){super(),this.context=e,this._parent=t,this.index=s,this.type=e.buffer.set.types[e.buffer.buffer[s]]}child(e,t,s){let{buffer:a}=this.context,o=a.findChild(this.index+4,a.buffer[this.index+3],e,t-this.context.start,s);return o<0?null:new Nr(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,s=0){if(s&Gt.ExcludeBuffers)return null;let{buffer:a}=this.context,o=a.findChild(this.index+4,a.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new Nr(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 Nr(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 Nr(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:s}=this.context,a=this.index+4,o=s.buffer[this.index+3];if(o>a){let E=s.buffer[this.index+1];e.push(s.slice(a,o,E)),t.push(0)}return new Wt(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function _L(i){if(!i.length)return null;let e=0,t=i[0];for(let o=1;o<i.length;o++){let E=i[o];(E.from>t.from||E.to<t.to)&&(t=E,e=o)}let s=t instanceof fi&&t.index<0?null:t.parent,a=i.slice();return s?a[e]=s:a.splice(e,1),new hG(a,t)}class hG{constructor(e,t){this.heads=e,this.node=t}get next(){return _L(this.heads)}}function RG(i,e,t){let s=i.resolveInner(e,t),a=null;for(let o=s instanceof fi?s:s.context.parent;o;o=o.parent)if(o.index<0){let E=o.parent;(a||(a=[s])).push(E.resolve(e,t)),o=E}else{let E=ko.get(o.tree);if(E&&E.overlay&&E.overlay[0].from<=e&&E.overlay[E.overlay.length-1].to>=e){let T=new fi(E.tree,E.overlay[0].from+o.from,-1,o);(a||(a=[s])).push(Qo(T,e,t,!1))}}return a?_L(a):s}class PR{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&~Gt.EnterBracketed,e instanceof fi)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let s=e._parent;s;s=s._parent)this.stack.unshift(s.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:s,buffer:a}=this.buffer;return this.type=t||a.set.types[a.buffer[e]],this.from=s+a.buffer[e+1],this.to=s+a.buffer[e+2],!0}yield(e){return e?e instanceof fi?(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,s){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,s,this.mode));let{buffer:a}=this.buffer,o=a.findChild(this.index+4,a.buffer[this.index+3],e,t-this.buffer.start,s);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,s=this.mode){return this.buffer?s&Gt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Gt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Gt.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,s=this.stack.length-1;if(e<0){let a=s<0?0:this.stack[s]+4;if(this.index!=a)return this.yieldBuf(t.findChild(a,this.index,-1,0,4))}else{let a=t.buffer[this.index+3];if(a<(s<0?t.buffer.length:t.buffer[this.stack[s]+3]))return this.yieldBuf(a)}return s<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,s,{buffer:a}=this;if(a){if(e>0){if(this.index<a.buffer.buffer.length)return!1}else for(let o=0;o<this.index;o++)if(a.buffer.buffer[o+3]<this.index)return!1;({index:t,parent:s}=a)}else({index:t,_parent:s}=this._tree);for(;s;{index:t,_parent:s}=s)if(t>-1)for(let o=t+e,E=e<0?-1:s._tree.children.length;o!=E;o+=e){let T=s._tree.children[o];if(this.mode&Gt.IncludeAnonymous||T instanceof mr||!T.type.isAnonymous||TS(T))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,s=0;if(e&&e.context==this.buffer)e:for(let a=this.index,o=this.stack.length;o>=0;){for(let E=e;E;E=E._parent)if(E.index==a){if(a==this.index)return E;t=E,s=o+1;break e}a=this.stack[--o]}for(let a=s;a<this.stack.length;a++)t=new Nr(this.buffer,t,this.stack[a]);return this.bufferNode=new Nr(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let s=0;;){let a=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){s++;continue}this.type.isAnonymous||(a=!0)}for(;;){if(a&&t&&t(this),a=this.type.isAnonymous,!s)return;if(this.nextSibling())break;this.parent(),s--,a=!0}}}matchContext(e){if(!this.buffer)return MR(this.node.parent,e);let{buffer:t}=this.buffer,{types:s}=t.set;for(let a=e.length-1,o=this.stack.length-1;a>=0;o--){if(o<0)return MR(this._tree,e,a);let E=s[t.buffer[this.stack[o]]];if(!E.isAnonymous){if(e[a]&&e[a]!=E.name)return!1;a--}}return!0}}function TS(i){return i.children.some(e=>e instanceof mr||!e.type.isAnonymous||TS(e))}function SG(i){var e;let{buffer:t,nodeSet:s,maxBufferLength:a=dL,reused:o=[],minRepeatType:E=s.types.length}=i,T=Array.isArray(t)?new uS(t,t.length):t,c=s.types,A=0,R=0;function O($,ae,j,ce,he,Se){let{id:de,start:ue,end:Le,size:Pe}=T,Ue=R,X=A;if(Pe<0)if(T.next(),Pe==-1){let P=o[de];j.push(P),ce.push(ue-$);return}else if(Pe==-3){A=de;return}else if(Pe==-4){R=de;return}else throw new RangeError(`Unrecognized record size: ${Pe}`);let Ee=c[de],fe,De,U=ue-$;if(Le-ue<=a&&(De=v(T.pos-ae,he))){let P=new Uint16Array(De.size-De.skip),q=T.pos-De.size,ee=P.length;for(;T.pos>q;)ee=B(De.start,P,ee);fe=new mr(P,Le-De.start,s),U=De.start-$}else{let P=T.pos-Pe;T.next();let q=[],ee=[],le=de>=E?de:-1,Oe=0,Ne=Le;for(;T.pos>P;)le>=0&&T.id==le&&T.size>=0?(T.end<=Ne-a&&(p(q,ee,ue,Oe,T.end,Ne,le,Ue,X),Oe=q.length,Ne=T.end),T.next()):Se>2500?d(ue,P,q,ee):O(ue,P,q,ee,le,Se+1);if(le>=0&&Oe>0&&Oe<q.length&&p(q,ee,ue,Oe,ue,Ne,le,Ue,X),q.reverse(),ee.reverse(),le>-1&&Oe>0){let We=L(Ee,X);fe=cS(Ee,q,ee,0,q.length,0,Le-ue,We,We)}else fe=g(Ee,q,ee,Le-ue,Ue-Le,X)}j.push(fe),ce.push(U)}function d($,ae,j,ce){let he=[],Se=0,de=-1;for(;T.pos>ae;){let{id:ue,start:Le,end:Pe,size:Ue}=T;if(Ue>4)T.next();else{if(de>-1&&Le<de)break;de<0&&(de=Pe-a),he.push(ue,Le,Pe),Se++,T.next()}}if(Se){let ue=new Uint16Array(Se*4),Le=he[he.length-2];for(let Pe=he.length-3,Ue=0;Pe>=0;Pe-=3)ue[Ue++]=he[Pe],ue[Ue++]=he[Pe+1]-Le,ue[Ue++]=he[Pe+2]-Le,ue[Ue++]=Ue;j.push(new mr(ue,he[2]-Le,s)),ce.push(Le-$)}}function L($,ae){return(j,ce,he)=>{let Se=0,de=j.length-1,ue,Le;if(de>=0&&(ue=j[de])instanceof Wt){if(!de&&ue.type==$&&ue.length==he)return ue;(Le=ue.prop(Ze.lookAhead))&&(Se=ce[de]+ue.length+Le)}return g($,j,ce,he,Se,ae)}}function p($,ae,j,ce,he,Se,de,ue,Le){let Pe=[],Ue=[];for(;$.length>ce;)Pe.push($.pop()),Ue.push(ae.pop()+j-he);$.push(g(s.types[de],Pe,Ue,Se-he,ue-Se,Le)),ae.push(he-j)}function g($,ae,j,ce,he,Se,de){if(Se){let ue=[Ze.contextHash,Se];de=de?[ue].concat(de):[ue]}if(he>25){let ue=[Ze.lookAhead,he];de=de?[ue].concat(de):[ue]}return new Wt($,ae,j,ce,de)}function v($,ae){let j=T.fork(),ce=0,he=0,Se=0,de=j.end-a,ue={size:0,start:0,skip:0};e:for(let Le=j.pos-$;j.pos>Le;){let Pe=j.size;if(j.id==ae&&Pe>=0){ue.size=ce,ue.start=he,ue.skip=Se,Se+=4,ce+=4,j.next();continue}let Ue=j.pos-Pe;if(Pe<0||Ue<Le||j.start<de)break;let X=j.id>=E?4:0,Ee=j.start;for(j.next();j.pos>Ue;){if(j.size<0)if(j.size==-3||j.size==-4)X+=4;else break e;else j.id>=E&&(X+=4);j.next()}he=Ee,ce+=Pe,Se+=X}return(ae<0||ce==$)&&(ue.size=ce,ue.start=he,ue.skip=Se),ue.size>4?ue:void 0}function B($,ae,j){let{id:ce,start:he,end:Se,size:de}=T;if(T.next(),de>=0&&ce<E){let ue=j;if(de>4){let Le=T.pos-(de-4);for(;T.pos>Le;)j=B($,ae,j)}ae[--j]=ue,ae[--j]=Se-$,ae[--j]=he-$,ae[--j]=ce}else de==-3?A=ce:de==-4&&(R=ce);return j}let K=[],Z=[];for(;T.pos>0;)O(i.start||0,i.bufferStart||0,K,Z,-1,0);let Te=(e=i.length)!==null&&e!==void 0?e:K.length?Z[0]+K[0].length:0;return new Wt(c[i.topID],K.reverse(),Z.reverse(),Te)}const mI=new WeakMap;function qu(i,e){if(!i.isAnonymous||e instanceof mr||e.type!=i)return 1;let t=mI.get(e);if(t==null){t=1;for(let s of e.children){if(s.type!=i||!(s instanceof Wt)){t=1;break}t+=qu(i,s)}mI.set(e,t)}return t}function cS(i,e,t,s,a,o,E,T,c){let A=0;for(let p=s;p<a;p++)A+=qu(i,e[p]);let R=Math.ceil(A*1.5/8),O=[],d=[];function L(p,g,v,B,K){for(let Z=v;Z<B;){let Te=Z,$=g[Z],ae=qu(i,p[Z]);for(Z++;Z<B;Z++){let j=qu(i,p[Z]);if(ae+j>=R)break;ae+=j}if(Z==Te+1){if(ae>R){let j=p[Te];L(j.children,j.positions,0,j.children.length,g[Te]+K);continue}O.push(p[Te])}else{let j=g[Z-1]+p[Z-1].length-$;O.push(cS(i,p,g,Te,Z,$,j,null,c))}d.push($+K-o)}}return L(e,t,s,a,0),(T||c)(O,d,E)}class la{constructor(e,t,s,a,o=!1,E=!1){this.from=e,this.to=t,this.tree=s,this.offset=a,this.open=(o?1:0)|(E?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],s=!1){let a=[new la(0,e.length,e,0,!1,s)];for(let o of t)o.to>e.length&&a.push(o);return a}static applyChanges(e,t,s=128){if(!t.length)return e;let a=[],o=1,E=e.length?e[0]:null;for(let T=0,c=0,A=0;;T++){let R=T<t.length?t[T]:null,O=R?R.fromA:1e9;if(O-c>=s)for(;E&&E.from<O;){let d=E;if(c>=d.from||O<=d.to||A){let L=Math.max(d.from,c)-A,p=Math.min(d.to,O)-A;d=L>=p?null:new la(L,p,d.tree,d.offset+A,T>0,!!R)}if(d&&a.push(d),E.to>O)break;E=o<e.length?e[o++]:null}if(!R)break;c=R.toA,A=R.toA-R.toB}return a}}class LL{startParse(e,t,s){return typeof e=="string"&&(e=new fG(e)),s=s?s.length?s.map(a=>new Yh(a.from,a.to)):[new Yh(0,0)]:[new Yh(0,e.length)],this.createParse(e,t||[],s)}parse(e,t,s){let a=this.startParse(e,t,s);for(;;){let o=a.advance();if(o)return o}}}class fG{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 Ze({perNode:!0});let OG=0;class Ri{constructor(e,t,s,a){this.name=e,this.set=t,this.base=s,this.modified=a,this.id=OG++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let s=typeof e=="string"?e:"?";if(e instanceof Ri&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let a=new Ri(s,[],null,[]);if(a.set.push(a),t)for(let o of t.set)a.set.push(o);return a}static defineModifier(e){let t=new ET(e);return s=>s.modified.indexOf(t)>-1?s:ET.get(s.base||s,s.modified.concat(t).sort((a,o)=>a.id-o.id))}}let NG=0;class ET{constructor(e){this.name=e,this.instances=[],this.id=NG++}static get(e,t){if(!t.length)return e;let s=t[0].instances.find(T=>T.base==e&&dG(t,T.modified));if(s)return s;let a=[],o=new Ri(e.name,a,e,t);for(let T of t)T.instances.push(o);let E=IG(t);for(let T of e.set)if(!T.modified.length)for(let c of E)a.push(ET.get(T,c));return o}}function dG(i,e){return i.length==e.length&&i.every((t,s)=>t==e[s])}function IG(i){let e=[[]];for(let t=0;t<i.length;t++)for(let s=0,a=e.length;s<a;s++)e.push(e[s].concat(i[t]));return e.sort((t,s)=>s.length-t.length)}function mL(i){let e=Object.create(null);for(let t in i){let s=i[t];Array.isArray(s)||(s=[s]);for(let a of t.split(" "))if(a){let o=[],E=2,T=a;for(let O=0;;){if(T=="..."&&O>0&&O+3==a.length){E=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(T);if(!d)throw new RangeError("Invalid path: "+a);if(o.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),O+=d[0].length,O==a.length)break;let L=a[O++];if(O==a.length&&L=="!"){E=0;break}if(L!="/")throw new RangeError("Invalid path: "+a);T=a.slice(O)}let c=o.length-1,A=o[c];if(!A)throw new RangeError("Invalid path: "+a);let R=new uT(s,E,c>0?o.slice(0,c):null);e[A]=R.sort(e[A])}}return CG.add(e)}const CG=new Ze({combine(i,e){let t,s,a;for(;i||e;){if(!i||e&&i.depth>=e.depth?(a=e,e=e.next):(a=i,i=i.next),t&&t.mode==a.mode&&!a.context&&!t.context)continue;let o=new uT(a.tags,a.mode,a.context);t?t.next=o:s=o,t=o}return s}});class uT{constructor(e,t,s,a){this.tags=e,this.mode=t,this.context=s,this.next=a}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}}uT.empty=new uT([],2,null);function _G(i,e){let t=Object.create(null);for(let o of i)if(!Array.isArray(o.tag))t[o.tag.id]=o.class;else for(let E of o.tag)t[E.id]=o.class;let{scope:s,all:a=null}={};return{style:o=>{let E=a;for(let T of o)for(let c of T.set){let A=t[c.id];if(A){E=E?E+" "+A:A;break}}return E},scope:s}}const Re=Ri.define,yu=Re(),hr=Re(),pI=Re(hr),DI=Re(hr),Rr=Re(),bu=Re(Rr),Fh=Re(Rr),ts=Re(),ea=Re(ts),Zi=Re(),es=Re(),UR=Re(),Po=Re(UR),vu=Re(),me={comment:yu,lineComment:Re(yu),blockComment:Re(yu),docComment:Re(yu),name:hr,variableName:Re(hr),typeName:pI,tagName:Re(pI),propertyName:DI,attributeName:Re(DI),className:Re(hr),labelName:Re(hr),namespace:Re(hr),macroName:Re(hr),literal:Rr,string:bu,docString:Re(bu),character:Re(bu),attributeValue:Re(bu),number:Fh,integer:Re(Fh),float:Re(Fh),bool:Re(Rr),regexp:Re(Rr),escape:Re(Rr),color:Re(Rr),url:Re(Rr),keyword:Zi,self:Re(Zi),null:Re(Zi),atom:Re(Zi),unit:Re(Zi),modifier:Re(Zi),operatorKeyword:Re(Zi),controlKeyword:Re(Zi),definitionKeyword:Re(Zi),moduleKeyword:Re(Zi),operator:es,derefOperator:Re(es),arithmeticOperator:Re(es),logicOperator:Re(es),bitwiseOperator:Re(es),compareOperator:Re(es),updateOperator:Re(es),definitionOperator:Re(es),typeOperator:Re(es),controlOperator:Re(es),punctuation:UR,separator:Re(UR),bracket:Po,angleBracket:Re(Po),squareBracket:Re(Po),paren:Re(Po),brace:Re(Po),content:ts,heading:ea,heading1:Re(ea),heading2:Re(ea),heading3:Re(ea),heading4:Re(ea),heading5:Re(ea),heading6:Re(ea),contentSeparator:Re(ts),list:Re(ts),quote:Re(ts),emphasis:Re(ts),strong:Re(ts),link:Re(ts),monospace:Re(ts),strikethrough:Re(ts),inserted:Re(),deleted:Re(),changed:Re(),invalid:Re(),meta:vu,documentMeta:Re(vu),annotation:Re(vu),processingInstruction:Re(vu),definition:Ri.defineModifier("definition"),constant:Ri.defineModifier("constant"),function:Ri.defineModifier("function"),standard:Ri.defineModifier("standard"),local:Ri.defineModifier("local"),special:Ri.defineModifier("special")};for(let i in me){let e=me[i];e instanceof Ri&&(e.name=i)}_G([{tag:me.link,class:"tok-link"},{tag:me.heading,class:"tok-heading"},{tag:me.emphasis,class:"tok-emphasis"},{tag:me.strong,class:"tok-strong"},{tag:me.keyword,class:"tok-keyword"},{tag:me.atom,class:"tok-atom"},{tag:me.bool,class:"tok-bool"},{tag:me.url,class:"tok-url"},{tag:me.labelName,class:"tok-labelName"},{tag:me.inserted,class:"tok-inserted"},{tag:me.deleted,class:"tok-deleted"},{tag:me.literal,class:"tok-literal"},{tag:me.string,class:"tok-string"},{tag:me.number,class:"tok-number"},{tag:[me.regexp,me.escape,me.special(me.string)],class:"tok-string2"},{tag:me.variableName,class:"tok-variableName"},{tag:me.local(me.variableName),class:"tok-variableName tok-local"},{tag:me.definition(me.variableName),class:"tok-variableName tok-definition"},{tag:me.special(me.variableName),class:"tok-variableName2"},{tag:me.definition(me.propertyName),class:"tok-propertyName tok-definition"},{tag:me.typeName,class:"tok-typeName"},{tag:me.namespace,class:"tok-namespace"},{tag:me.className,class:"tok-className"},{tag:me.macroName,class:"tok-macroName"},{tag:me.propertyName,class:"tok-propertyName"},{tag:me.operator,class:"tok-operator"},{tag:me.comment,class:"tok-comment"},{tag:me.meta,class:"tok-meta"},{tag:me.invalid,class:"tok-invalid"},{tag:me.punctuation,class:"tok-punctuation"}]);var Vh;const Bo=new Ze;function LG(i){return Ge.define({combine:i?e=>e.concat(i):void 0})}const mG=new Ze;class ls{constructor(e,t,s=[],a=""){this.data=e,this.name=a,Tt.prototype.hasOwnProperty("tree")||Object.defineProperty(Tt.prototype,"tree",{get(){return os(this)}}),this.parser=t,this.extension=[Il.of(this),Tt.languageData.of((o,E,T)=>{let c=gI(o,E,T),A=c.type.prop(Bo);if(!A)return[];let R=o.facet(A),O=c.type.prop(mG);if(O){let d=c.resolve(E-c.from,T);for(let L of O)if(L.test(d,o)){let p=o.facet(L.facet);return L.type=="replace"?p:p.concat(R)}}return R})].concat(s)}isActiveAt(e,t,s=-1){return gI(e,t,s).type.prop(Bo)==this.data}findRegions(e){let t=e.facet(Il);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let s=[],a=(o,E)=>{if(o.prop(Bo)==this.data){s.push({from:E,to:E+o.length});return}let T=o.prop(Ze.mounted);if(T){if(T.tree.prop(Bo)==this.data){if(T.overlay)for(let c of T.overlay)s.push({from:c.from+E,to:c.to+E});else s.push({from:E,to:E+o.length});return}else if(T.overlay){let c=s.length;if(a(T.tree,T.overlay[0].from+E),s.length>c)return}}for(let c=0;c<o.children.length;c++){let A=o.children[c];A instanceof Wt&&a(A,o.positions[c]+E)}};return a(os(e),0),s}get allowsNesting(){return!0}}ls.setState=zt.define();function gI(i,e,t){let s=i.facet(Il),a=os(i).topNode;if(!s||s.allowsNesting)for(let o=a;o;o=o.enter(e,t,Gt.ExcludeBuffers|Gt.EnterBracketed))o.type.isTop&&(a=o);return a}class TT extends ls{constructor(e,t,s){super(e,t,[],s),this.parser=t}static define(e){let t=LG(e.languageData);return new TT(t,e.parser.configure({props:[Bo.add(s=>s.isTop?t:void 0)]}),e.name)}configure(e,t){return new TT(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function os(i){let e=i.field(ls.state,!1);return e?e.tree:Wt.empty}class pG{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 s=this.cursorPos-this.string.length;return e<s||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-s,t-s)}}let Uo=null;class cT{constructor(e,t,s=[],a,o,E,T,c){this.parser=e,this.state=t,this.fragments=s,this.tree=a,this.treeLen=o,this.viewport=E,this.skipped=T,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(e,t,s){return new cT(e,t,[],Wt.empty,0,s,[],null)}startParse(){return this.parser.startParse(new pG(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Wt.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var s;if(typeof e=="number"){let a=Date.now()+e;e=()=>Date.now()>a}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 a=this.parse.advance();if(a)if(this.fragments=this.withoutTempSkipped(la.addTree(a,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(s=this.parse.stoppedAt)!==null&&s!==void 0?s:this.state.doc.length,this.tree=a,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(la.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Uo;Uo=this;try{return e()}finally{Uo=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=MI(e,t.from,t.to);return e}changes(e,t){let{fragments:s,tree:a,treeLen:o,viewport:E,skipped:T}=this;if(this.takeTree(),!e.empty){let c=[];if(e.iterChangedRanges((A,R,O,d)=>c.push({fromA:A,toA:R,fromB:O,toB:d})),s=la.applyChanges(s,c),a=Wt.empty,o=0,E={from:e.mapPos(E.from,-1),to:e.mapPos(E.to,1)},this.skipped.length){T=[];for(let A of this.skipped){let R=e.mapPos(A.from,1),O=e.mapPos(A.to,-1);R<O&&T.push({from:R,to:O})}}}return new cT(this.parser,t,s,a,o,E,T,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 s=0;s<this.skipped.length;s++){let{from:a,to:o}=this.skipped[s];a<e.to&&o>e.from&&(this.fragments=MI(this.fragments,a,o),this.skipped.splice(s--,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 LL{createParse(t,s,a){let o=a[0].from,E=a[a.length-1].to;return{parsedPos:o,advance(){let c=Uo;if(c){for(let A of a)c.tempSkipped.push(A);e&&(c.scheduleOn=c.scheduleOn?Promise.all([c.scheduleOn,e]):e)}return this.parsedPos=E,new Wt(Vn.none,[],[],E-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 Uo}}function MI(i,e,t){return la.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}class dl{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),s=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,s)||t.takeTree(),new dl(t)}static init(e){let t=Math.min(3e3,e.doc.length),s=cT.create(e.facet(Il).parser,e,{from:0,to:t});return s.work(20,t)||s.takeTree(),new dl(s)}}ls.state=ha.define({create:dl.init,update(i,e){for(let t of e.effects)if(t.is(ls.setState))return t.value;return e.startState.facet(Il)!=e.state.facet(Il)?dl.init(e.state):i.apply(e)}});let pL=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(pL=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const kh=typeof navigator<"u"&&(!((Vh=navigator.scheduling)===null||Vh===void 0)&&Vh.isInputPending)?()=>navigator.scheduling.isInputPending():null,DG=ua.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(ls.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(ls.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=pL(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:s,viewport:{to:a}}=this.view,o=s.field(ls.state);if(o.tree==o.context.tree&&o.context.isDone(a+1e5))return;let E=Date.now()+Math.min(this.chunkBudget,100,e&&!kh?Math.max(25,e.timeRemaining()-5):1e9),T=o.context.treeLen<a&&s.doc.length>a+1e3,c=o.context.work(()=>kh&&kh()||Date.now()>E,a+(T?0:1e5));this.chunkBudget-=Date.now()-t,(c||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:ls.setState.of(new dl(o.context))})),this.chunkBudget>0&&!(c&&!T)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>as(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()}}}),Il=Ge.define({combine(i){return i.length?i[0]:null},enables:i=>[ls.state,DG,Ve.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]});class gG{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const MG=Ge.define(),AS=Ge.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function AT(i){let e=i.facet(AS);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function hT(i,e){let t="",s=i.tabSize,a=i.facet(AS)[0];if(a==" "){for(;e>=s;)t+=" ",e-=s;a=" "}for(let o=0;o<e;o++)t+=a;return t}function DL(i,e){i instanceof Tt&&(i=new PT(i));for(let s of i.state.facet(MG)){let a=s(i,e);if(a!==void 0)return a}let t=os(i.state);return t.length>=e?PG(i,t,e):null}class PT{constructor(e,t={}){this.state=e,this.options=t,this.unit=AT(e)}lineAt(e,t=1){let s=this.state.doc.lineAt(e),{simulateBreak:a,simulateDoubleBreak:o}=this.options;return a!=null&&a>=s.from&&a<=s.to?o&&a==e?{text:"",from:e}:(t<0?a<e:a<=e)?{text:s.text.slice(a-s.from),from:a}:{text:s.text.slice(0,a-s.from),from:s.from}:s}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:s,from:a}=this.lineAt(e,t);return s.slice(e-a,Math.min(s.length,e+100-a))}column(e,t=1){let{text:s,from:a}=this.lineAt(e,t),o=this.countColumn(s,e-a),E=this.options.overrideIndentation?this.options.overrideIndentation(a):-1;return E>-1&&(o+=E-this.countColumn(s,s.search(/\S|$/))),o}countColumn(e,t=e.length){return _T(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:s,from:a}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let E=o(a);if(E>-1)return E}return this.countColumn(s,s.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const gL=new Ze;function PG(i,e,t){let s=e.resolveStack(t),a=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(a!=s.node){let o=[];for(let E=a;E&&!(E.from<s.node.from||E.to>s.node.to||E.from==s.node.from&&E.type==s.node.type);E=E.parent)o.push(E);for(let E=o.length-1;E>=0;E--)s={node:o[E],next:s}}return ML(s,i,t)}function ML(i,e,t){for(let s=i;s;s=s.next){let a=yG(s.node);if(a)return a(hS.create(e,t,s))}return 0}function UG(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function yG(i){let e=i.type.prop(gL);if(e)return e;let t=i.firstChild,s;if(t&&(s=t.type.prop(Ze.closedBy))){let a=i.lastChild,o=a&&s.indexOf(a.name)>-1;return E=>BG(E,!0,1,void 0,o&&!UG(E)?a.from:void 0)}return i.parent==null?bG:null}function bG(){return 0}class hS extends PT{constructor(e,t,s){super(e.state,e.options),this.base=e,this.pos=t,this.context=s}get node(){return this.context.node}static create(e,t,s){return new hS(e,t,s)}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 s=e.resolve(t.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(vG(s,e))break;t=this.state.doc.lineAt(s.from)}return this.lineIndent(t.from)}continue(){return ML(this.context.next,this.base,this.pos)}}function vG(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function GG(i){let e=i.node,t=e.childAfter(e.from),s=e.lastChild;if(!t)return null;let a=i.options.simulateBreak,o=i.state.doc.lineAt(t.from),E=a==null||a<=o.from?o.to:Math.min(o.to,a);for(let T=t.to;;){let c=e.childAfter(T);if(!c||c==s)return null;if(!c.type.isSkipped){if(c.from>=E)return null;let A=/^ */.exec(o.text.slice(t.to-o.from))[0].length;return{from:t.from,to:t.to+A}}T=c.to}}function BG(i,e,t,s,a){let o=i.textAfter,E=o.match(/^\s*/)[0].length,T=s&&o.slice(E,E+s.length)==s||a==i.pos+E,c=GG(i);return c?T?i.column(c.from):i.column(c.to):i.baseIndent+(T?0:i.unit*t)}function xG({except:i,units:e=1}={}){return t=>{let s=i&&i.test(t.textAfter);return t.baseIndent+(s?0:e*t.unit)}}const HG=new Ze,wG=1e4,YG="()[]{}",FG=new Ze;function yR(i,e,t){let s=i.prop(e<0?Ze.openedBy:Ze.closedBy);if(s)return s;if(i.name.length==1){let a=t.indexOf(i.name);if(a>-1&&a%2==(e<0?1:0))return[t[a+e]]}return null}function bR(i){let e=i.type.prop(FG);return e?e(i.node):i}function El(i,e,t,s={}){let a=s.maxScanDistance||wG,o=s.brackets||YG,E=os(i),T=E.resolveInner(e,t);for(let c=T;c;c=c.parent){let A=yR(c.type,t,o);if(A&&c.from<c.to){let R=bR(c);if(R&&(t>0?e>=R.from&&e<R.to:e>R.from&&e<=R.to))return VG(i,e,t,c,R,A,o)}}return kG(i,e,t,E,T.type,a,o)}function VG(i,e,t,s,a,o,E){let T=s.parent,c={from:a.from,to:a.to},A=0,R=T==null?void 0:T.cursor();if(R&&(t<0?R.childBefore(s.from):R.childAfter(s.to)))do if(t<0?R.to<=s.from:R.from>=s.to){if(A==0&&o.indexOf(R.type.name)>-1&&R.from<R.to){let O=bR(R);return{start:c,end:O?{from:O.from,to:O.to}:void 0,matched:!0}}else if(yR(R.type,t,E))A++;else if(yR(R.type,-t,E)){if(A==0){let O=bR(R);return{start:c,end:O&&O.from<O.to?{from:O.from,to:O.to}:void 0,matched:!1}}A--}}while(t<0?R.prevSibling():R.nextSibling());return{start:c,matched:!1}}function kG(i,e,t,s,a,o,E){if(t<0?!e:e==i.doc.length)return null;let T=t<0?i.sliceDoc(e-1,e):i.sliceDoc(e,e+1),c=E.indexOf(T);if(c<0||c%2==0!=t>0)return null;let A={from:t<0?e-1:e,to:t>0?e+1:e},R=i.doc.iterRange(e,t>0?i.doc.length:0),O=0;for(let d=0;!R.next().done&&d<=o;){let L=R.value;t<0&&(d+=L.length);let p=e+d*t;for(let g=t>0?0:L.length-1,v=t>0?L.length:-1;g!=v;g+=t){let B=E.indexOf(L[g]);if(!(B<0||s.resolveInner(p+g,1).type!=a))if(B%2==0==t>0)O++;else{if(O==1)return{start:A,end:{from:p+g,to:p+g+1},matched:B>>1==c>>1};O--}}t>0&&(d+=L.length)}return R.done?{start:A,matched:!1}:null}const WG=Object.create(null),PI=[Vn.none],UI=[],yI=Object.create(null),XG=Object.create(null);for(let[i,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"]])XG[i]=KG(WG,e);function Wh(i,e){UI.indexOf(i)>-1||(UI.push(i),console.warn(e))}function KG(i,e){let t=[];for(let T of e.split(" ")){let c=[];for(let A of T.split(".")){let R=i[A]||me[A];R?typeof R=="function"?c.length?c=c.map(R):Wh(A,`Modifier ${A} used at start of tag`):c.length?Wh(A,`Tag ${A} used as modifier`):c=Array.isArray(R)?R:[R]:Wh(A,`Unknown highlighting tag ${A}`)}for(let A of c)t.push(A)}if(!t.length)return 0;let s=e.replace(/ /g,"_"),a=s+" "+t.map(T=>T.id),o=yI[a];if(o)return o.id;let E=yI[a]=Vn.define({id:PI.length,name:s,props:[mL({[s]:t})]});return PI.push(E),E.id}kt.RTL,kt.LTR;const jG=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),s=SS(i.state,t.from);return s.line?qG(i):s.block?JG(i):!1};function RS(i,e){return({state:t,dispatch:s})=>{if(t.readOnly)return!1;let a=i(e,t);return a?(s(t.update(a)),!0):!1}}const qG=RS(ZG,0),$G=RS(PL,0),JG=RS((i,e)=>PL(i,e,zG(e)),0);function SS(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const yo=50;function QG(i,{open:e,close:t},s,a){let o=i.sliceDoc(s-yo,s),E=i.sliceDoc(a,a+yo),T=/\s*$/.exec(o)[0].length,c=/^\s*/.exec(E)[0].length,A=o.length-T;if(o.slice(A-e.length,A)==e&&E.slice(c,c+t.length)==t)return{open:{pos:s-T,margin:T&&1},close:{pos:a+c,margin:c&&1}};let R,O;a-s<=2*yo?R=O=i.sliceDoc(s,a):(R=i.sliceDoc(s,s+yo),O=i.sliceDoc(a-yo,a));let d=/^\s*/.exec(R)[0].length,L=/\s*$/.exec(O)[0].length,p=O.length-L-t.length;return R.slice(d,d+e.length)==e&&O.slice(p,p+t.length)==t?{open:{pos:s+d+e.length,margin:/\s/.test(R.charAt(d+e.length))?1:0},close:{pos:a-L-t.length,margin:/\s/.test(O.charAt(p-1))?1:0}}:null}function zG(i){let e=[];for(let t of i.selection.ranges){let s=i.doc.lineAt(t.from),a=t.to<=s.to?s:i.doc.lineAt(t.to);a.from>s.from&&a.from==t.to&&(a=t.to==s.to+1?s:i.doc.lineAt(t.to-1));let o=e.length-1;o>=0&&e[o].to>s.from?e[o].to=a.to:e.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:a.to})}return e}function PL(i,e,t=e.selection.ranges){let s=t.map(o=>SS(e,o.from).block);if(!s.every(o=>o))return null;let a=t.map((o,E)=>QG(e,s[E],o.from,o.to));if(i!=2&&!a.every(o=>o))return{changes:e.changes(t.map((o,E)=>a[E]?[]:[{from:o.from,insert:s[E].open+" "},{from:o.to,insert:" "+s[E].close}]))};if(i!=1&&a.some(o=>o)){let o=[];for(let E=0,T;E<a.length;E++)if(T=a[E]){let c=s[E],{open:A,close:R}=T;o.push({from:A.pos-c.open.length,to:A.pos+A.margin},{from:R.pos-R.margin,to:R.pos+c.close.length})}return{changes:o}}return null}function ZG(i,e,t=e.selection.ranges){let s=[],a=-1;e:for(let{from:o,to:E}of t){let T=s.length,c=1e9,A;for(let R=o;R<=E;){let O=e.doc.lineAt(R);if(A==null&&(A=SS(e,O.from).line,!A))continue e;if(O.from>a&&(o==E||E>O.from)){a=O.from;let d=/^\s*/.exec(O.text)[0].length,L=d==O.length,p=O.text.slice(d,d+A.length)==A?d:-1;d<O.text.length&&d<c&&(c=d),s.push({line:O,comment:p,token:A,indent:d,empty:L,single:!1})}R=O.to+1}if(c<1e9)for(let R=T;R<s.length;R++)s[R].indent<s[R].line.text.length&&(s[R].indent=c);s.length==T+1&&(s[T].single=!0)}if(i!=2&&s.some(o=>o.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:T,token:c,indent:A,empty:R,single:O}of s)(O||!R)&&o.push({from:T.from+A,insert:c+" "});let E=e.changes(o);return{changes:E,selection:e.selection.map(E,1)}}else if(i!=1&&s.some(o=>o.comment>=0)){let o=[];for(let{line:E,comment:T,token:c}of s)if(T>=0){let A=E.from+T,R=A+c.length;E.text[R-E.from]==" "&&R++,o.push({from:A,to:R})}return{changes:o}}return null}function ml(i,e){return oe.create(i.ranges.map(e),i.mainIndex)}function xi(i,e){return i.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Hi({state:i,dispatch:e},t){let s=ml(i.selection,t);return s.eq(i.selection,!0)?!1:(e(xi(i,s)),!0)}function UT(i,e){return oe.cursor(e?i.to:i.from)}function UL(i,e){return Hi(i,t=>t.empty?i.moveByChar(t,e):UT(t,e))}function mn(i){return i.textDirectionAt(i.state.selection.main.head)==kt.LTR}const yL=i=>UL(i,!mn(i)),bL=i=>UL(i,mn(i));function vL(i,e){return Hi(i,t=>t.empty?i.moveByGroup(t,e):UT(t,e))}const eB=i=>vL(i,!mn(i)),tB=i=>vL(i,mn(i));function nB(i,e,t){if(e.type.prop(t))return!0;let s=e.to-e.from;return s&&(s>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function yT(i,e,t){let s=os(i).resolveInner(e.head),a=t?Ze.closedBy:Ze.openedBy;for(let c=e.head;;){let A=t?s.childAfter(c):s.childBefore(c);if(!A)break;nB(i,A,a)?s=A:c=t?A.to:A.from}let o=s.type.prop(a),E,T;return o&&(E=t?El(i,s.from,1):El(i,s.to,-1))&&E.matched?T=t?E.end.to:E.end.from:T=t?s.to:s.from,oe.cursor(T,t?-1:1)}const iB=i=>Hi(i,e=>yT(i.state,e,!mn(i))),sB=i=>Hi(i,e=>yT(i.state,e,mn(i)));function GL(i,e){return Hi(i,t=>{if(!t.empty)return UT(t,e);let s=i.moveVertically(t,e);return s.head!=t.head?s:i.moveToLineBoundary(t,e)})}const BL=i=>GL(i,!1),xL=i=>GL(i,!0);function HL(i){let e=i.scrollDOM.clientHeight<i.scrollDOM.scrollHeight-2,t=0,s=0,a;if(e){for(let o of i.state.facet(Ve.scrollMargins)){let E=o(i);E!=null&&E.top&&(t=Math.max(E==null?void 0:E.top,t)),E!=null&&E.bottom&&(s=Math.max(E==null?void 0:E.bottom,s))}a=i.scrollDOM.clientHeight-t-s}else a=(i.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:s,selfScroll:e,height:Math.max(i.defaultLineHeight,a-5)}}function wL(i,e){let t=HL(i),{state:s}=i,a=ml(s.selection,E=>E.empty?i.moveVertically(E,e,t.height):UT(E,e));if(a.eq(s.selection))return!1;let o;if(t.selfScroll){let E=i.coordsAtPos(s.selection.main.head),T=i.scrollDOM.getBoundingClientRect(),c=T.top+t.marginTop,A=T.bottom-t.marginBottom;E&&E.top>c&&E.bottom<A&&(o=Ve.scrollIntoView(a.main.head,{y:"start",yMargin:E.top-c}))}return i.dispatch(xi(s,a),{effects:o}),!0}const bI=i=>wL(i,!1),vR=i=>wL(i,!0);function Dr(i,e,t){let s=i.lineBlockAt(e.head),a=i.moveToLineBoundary(e,t);if(a.head==e.head&&a.head!=(t?s.to:s.from)&&(a=i.moveToLineBoundary(e,t,!1)),!t&&a.head==s.from&&s.length){let o=/^\s*/.exec(i.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;o&&e.head!=s.from+o&&(a=oe.cursor(s.from+o))}return a}const rB=i=>Hi(i,e=>Dr(i,e,!0)),aB=i=>Hi(i,e=>Dr(i,e,!1)),lB=i=>Hi(i,e=>Dr(i,e,!mn(i))),oB=i=>Hi(i,e=>Dr(i,e,mn(i))),EB=i=>Hi(i,e=>oe.cursor(i.lineBlockAt(e.head).from,1)),uB=i=>Hi(i,e=>oe.cursor(i.lineBlockAt(e.head).to,-1));function TB(i,e,t){let s=!1,a=ml(i.selection,o=>{let E=El(i,o.head,-1)||El(i,o.head,1)||o.head>0&&El(i,o.head-1,1)||o.head<i.doc.length&&El(i,o.head+1,-1);if(!E||!E.end)return o;s=!0;let T=E.start.from==o.head?E.end.to:E.end.from;return oe.cursor(T)});return s?(e(xi(i,a)),!0):!1}const cB=({state:i,dispatch:e})=>TB(i,e);function Ni(i,e,t){let s=ml(i.state.selection,a=>{a.undirectional&&a.head>=a.anchor!=e&&(a=oe.range(a.head,a.anchor));let o=t(a);return oe.range(a.anchor,o.head,o.goalColumn,o.bidiLevel||void 0,o.assoc)});return s.eq(i.state.selection)?!1:(i.dispatch(xi(i.state,s)),!0)}function YL(i,e){return Ni(i,e,t=>i.moveByChar(t,e))}const FL=i=>YL(i,!mn(i)),VL=i=>YL(i,mn(i));function kL(i,e){return Ni(i,e,t=>i.moveByGroup(t,e))}const AB=i=>kL(i,!mn(i)),hB=i=>kL(i,mn(i)),RB=i=>{let e=!mn(i);return Ni(i,e,t=>yT(i.state,t,e))},SB=i=>{let e=mn(i);return Ni(i,e,t=>yT(i.state,t,e))};function WL(i,e){return Ni(i,e,t=>i.moveVertically(t,e))}const XL=i=>WL(i,!1),KL=i=>WL(i,!0);function jL(i,e){return Ni(i,e,t=>i.moveVertically(t,e,HL(i).height))}const vI=i=>jL(i,!1),GI=i=>jL(i,!0),fB=i=>Ni(i,!0,e=>Dr(i,e,!0)),OB=i=>Ni(i,!1,e=>Dr(i,e,!1)),NB=i=>{let e=!mn(i);return Ni(i,e,t=>Dr(i,t,e))},dB=i=>{let e=mn(i);return Ni(i,e,t=>Dr(i,t,e))},IB=i=>Ni(i,!1,e=>oe.cursor(i.lineBlockAt(e.head).from)),CB=i=>Ni(i,!0,e=>oe.cursor(i.lineBlockAt(e.head).to)),BI=({state:i,dispatch:e})=>(e(xi(i,{anchor:0})),!0),xI=({state:i,dispatch:e})=>(e(xi(i,{anchor:i.doc.length})),!0),HI=({state:i,dispatch:e})=>(e(xi(i,{anchor:i.selection.main.anchor,head:0})),!0),wI=({state:i,dispatch:e})=>(e(xi(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),_B=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),LB=({state:i,dispatch:e})=>{let t=bT(i).map(({from:s,to:a})=>oe.range(s,Math.min(a+1,i.doc.length)));return e(i.update({selection:oe.create(t),userEvent:"select"})),!0},mB=({state:i,dispatch:e})=>{let t=ml(i.selection,s=>{let a=os(i),o=a.resolveStack(s.from,1);if(s.empty){let E=a.resolveStack(s.from,-1);E.node.from>=o.node.from&&E.node.to<=o.node.to&&(o=E)}for(let E=o;E;E=E.next){let{node:T}=E;if((T.from<s.from&&T.to>=s.to||T.to>s.to&&T.from<=s.from)&&E.next)return oe.range(T.to,T.from)}return s});return t.eq(i.selection)?!1:(e(xi(i,t)),!0)};function qL(i,e){let{state:t}=i,s=t.selection,a=t.selection.ranges.slice();for(let o of t.selection.ranges){let E=t.doc.lineAt(o.head);if(e?E.to<i.state.doc.length:E.from>0)for(let T=o;;){let c=i.moveVertically(T,e);if(c.head<E.from||c.head>E.to){a.some(A=>A.head==c.head)||a.push(c);break}else{if(c.head==T.head)break;T=c}}}return a.length==s.ranges.length?!1:(i.dispatch(xi(t,oe.create(a,a.length-1))),!0)}const pB=i=>qL(i,!1),DB=i=>qL(i,!0),gB=({state:i,dispatch:e})=>{let t=i.selection,s=null;return t.ranges.length>1?s=oe.create([t.main]):t.main.empty||(s=oe.create([oe.cursor(t.main.head)])),s?(e(xi(i,s)),!0):!1};function iE(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:s}=i,a=s.changeByRange(o=>{let{from:E,to:T}=o;if(E==T){let c=e(o);c<E?(t="delete.backward",c=Gu(i,c,!1)):c>E&&(t="delete.forward",c=Gu(i,c,!0)),E=Math.min(E,c),T=Math.max(T,c)}else E=Gu(i,E,!1),T=Gu(i,T,!0);return E==T?{range:o}:{changes:{from:E,to:T},range:oe.cursor(E,E<o.head?-1:1)}});return a.changes.empty?!1:(i.dispatch(s.update(a,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?Ve.announce.of(s.phrase("Selection deleted")):void 0})),!0)}function Gu(i,e,t){if(i instanceof Ve)for(let s of i.state.facet(Ve.atomicRanges).map(a=>a(i)))s.between(e,e,(a,o)=>{a<e&&o>e&&(e=t?o:a)});return e}const $L=(i,e,t)=>iE(i,s=>{let a=s.from,{state:o}=i,E=o.doc.lineAt(a),T,c;if(t&&!e&&a>E.from&&a<E.from+200&&!/[^ \t]/.test(T=E.text.slice(0,a-E.from))){if(T[T.length-1]==" ")return a-1;let A=_T(T,o.tabSize),R=A%AT(o)||AT(o);for(let O=0;O<R&&T[T.length-1-O]==" ";O++)a--;c=a}else c=Cn(E.text,a-E.from,e,e)+E.from,c==a&&E.number!=(e?o.doc.lines:1)?c+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(E.text.slice(c-E.from,a-E.from))&&(c=Cn(E.text,c-E.from,!1,!1)+E.from);return c}),GR=i=>$L(i,!1,!0),JL=i=>$L(i,!0,!1),QL=(i,e)=>iE(i,t=>{let s=t.head,{state:a}=i,o=a.doc.lineAt(s),E=a.charCategorizer(s);for(let T=null;;){if(s==(e?o.to:o.from)){s==t.head&&o.number!=(e?a.doc.lines:1)&&(s+=e?1:-1);break}let c=Cn(o.text,s-o.from,e)+o.from,A=o.text.slice(Math.min(s,c)-o.from,Math.max(s,c)-o.from),R=E(A);if(T!=null&&R!=T)break;(A!=" "||s!=t.head)&&(T=R),s=c}return s}),zL=i=>QL(i,!1),MB=i=>QL(i,!0),PB=i=>iE(i,e=>{let t=i.lineBlockAt(e.head).to;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)}),UB=i=>iE(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),yB=i=>iE(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)}),bB=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(s=>({changes:{from:s.from,to:s.to,insert:rt.of(["",""])},range:oe.cursor(s.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},vB=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(s=>{if(!s.empty||s.from==0||s.from==i.doc.length)return{range:s};let a=s.from,o=i.doc.lineAt(a),E=a==o.from?a-1:Cn(o.text,a-o.from,!1)+o.from,T=a==o.to?a+1:Cn(o.text,a-o.from,!0)+o.from;return{changes:{from:E,to:T,insert:i.doc.slice(a,T).append(i.doc.slice(E,a))},range:oe.cursor(T)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function bT(i){let e=[],t=-1;for(let s of i.selection.ranges){let a=i.doc.lineAt(s.from),o=i.doc.lineAt(s.to);if(!s.empty&&s.to==o.from&&(o=i.doc.lineAt(s.to-1)),t>=a.number){let E=e[e.length-1];E.to=o.to,E.ranges.push(s)}else e.push({from:a.from,to:o.to,ranges:[s]});t=o.number+1}return e}function ZL(i,e,t){if(i.readOnly)return!1;let s=[],a=[];for(let o of bT(i)){if(t?o.to==i.doc.length:o.from==0)continue;let E=i.doc.lineAt(t?o.to+1:o.from-1),T=E.length+1;if(t){s.push({from:o.to,to:E.to},{from:o.from,insert:E.text+i.lineBreak});for(let c of o.ranges)a.push(oe.range(Math.min(i.doc.length,c.anchor+T),Math.min(i.doc.length,c.head+T)))}else{s.push({from:E.from,to:o.from},{from:o.to,insert:i.lineBreak+E.text});for(let c of o.ranges)a.push(oe.range(c.anchor-T,c.head-T))}}return s.length?(e(i.update({changes:s,scrollIntoView:!0,selection:oe.create(a,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}const GB=({state:i,dispatch:e})=>ZL(i,e,!1),BB=({state:i,dispatch:e})=>ZL(i,e,!0);function em(i,e,t){if(i.readOnly)return!1;let s=[];for(let o of bT(i))t?s.push({from:o.from,insert:i.doc.slice(o.from,o.to)+i.lineBreak}):s.push({from:o.to,insert:i.lineBreak+i.doc.slice(o.from,o.to)});let a=i.changes(s);return e(i.update({changes:a,selection:i.selection.map(a,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const xB=({state:i,dispatch:e})=>em(i,e,!1),HB=({state:i,dispatch:e})=>em(i,e,!0),wB=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(bT(e).map(({from:a,to:o})=>(a>0?a--:o<e.doc.length&&o++,{from:a,to:o}))),s=ml(e.selection,a=>{let o;if(i.lineWrapping){let E=i.lineBlockAt(a.head),T=i.coordsAtPos(a.head,a.assoc||1);T&&(o=E.bottom+i.documentTop-T.bottom+i.defaultLineHeight/2)}return i.moveVertically(a,!0,o)}).map(t);return i.dispatch({changes:t,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0};function YB(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=os(i).resolveInner(e),s=t.childBefore(e),a=t.childAfter(e),o;return s&&a&&s.to<=e&&a.from>=e&&(o=s.type.prop(Ze.closedBy))&&o.indexOf(a.name)>-1&&i.doc.lineAt(s.to).from==i.doc.lineAt(a.from).from&&!/\S/.test(i.sliceDoc(s.to,a.from))?{from:s.to,to:a.from}:null}const YI=tm(!1),FB=tm(!0);function tm(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let s=e.changeByRange(a=>{let{from:o,to:E}=a,T=e.doc.lineAt(o),c=!i&&o==E&&YB(e,o);i&&(o=E=(E<=T.to?T:e.doc.lineAt(E)).to);let A=new PT(e,{simulateBreak:o,simulateDoubleBreak:!!c}),R=DL(A,o);for(R==null&&(R=_T(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));E<T.to&&/\s/.test(T.text[E-T.from]);)E++;c?{from:o,to:E}=c:o>T.from&&o<T.from+100&&!/\S/.test(T.text.slice(0,o))&&(o=T.from);let O=["",hT(e,R)];return c&&O.push(hT(e,A.lineIndent(T.from,-1))),{changes:{from:o,to:E,insert:rt.of(O)},range:oe.cursor(o+1+O[1].length)}});return t(e.update(s,{scrollIntoView:!0,userEvent:"input"})),!0}}function fS(i,e){let t=-1;return i.changeByRange(s=>{let a=[];for(let E=s.from;E<=s.to;){let T=i.doc.lineAt(E);T.number>t&&(s.empty||s.to>T.from)&&(e(T,a,s),t=T.number),E=T.to+1}let o=i.changes(a);return{changes:a,range:oe.range(o.mapPos(s.anchor,1),o.mapPos(s.head,1))}})}const VB=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),s=new PT(i,{overrideIndentation:o=>{let E=t[o];return E??-1}}),a=fS(i,(o,E,T)=>{let c=DL(s,o.from);if(c==null)return;/\S/.test(o.text)||(c=0);let A=/^\s*/.exec(o.text)[0],R=hT(i,c);(A!=R||T.from<o.from+A.length)&&(t[o.from]=c,E.push({from:o.from,to:o.from+A.length,insert:R}))});return a.changes.empty||e(i.update(a,{userEvent:"indent"})),!0},kB=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(fS(i,(t,s)=>{s.push({from:t.from,insert:i.facet(AS)})}),{userEvent:"input.indent"})),!0),WB=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(fS(i,(t,s)=>{let a=/^\s*/.exec(t.text)[0];if(!a)return;let o=_T(a,i.tabSize),E=0,T=hT(i,Math.max(0,o-AT(i)));for(;E<a.length&&E<T.length&&a.charCodeAt(E)==T.charCodeAt(E);)E++;s.push({from:t.from+E,to:t.from+a.length,insert:T.slice(E)})}),{userEvent:"delete.dedent"})),!0),XB=i=>(i.setTabFocusMode(),!0),KB=[{key:"Ctrl-b",run:yL,shift:FL,preventDefault:!0},{key:"Ctrl-f",run:bL,shift:VL},{key:"Ctrl-p",run:BL,shift:XL},{key:"Ctrl-n",run:xL,shift:KL},{key:"Ctrl-a",run:EB,shift:IB},{key:"Ctrl-e",run:uB,shift:CB},{key:"Ctrl-d",run:JL},{key:"Ctrl-h",run:GR},{key:"Ctrl-k",run:PB},{key:"Ctrl-Alt-h",run:zL},{key:"Ctrl-o",run:bB},{key:"Ctrl-t",run:vB},{key:"Ctrl-v",run:vR}],jB=[{key:"ArrowLeft",run:yL,shift:FL,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:eB,shift:AB,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:lB,shift:NB,preventDefault:!0},{key:"ArrowRight",run:bL,shift:VL,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:tB,shift:hB,preventDefault:!0},{mac:"Cmd-ArrowRight",run:oB,shift:dB,preventDefault:!0},{key:"ArrowUp",run:BL,shift:XL,preventDefault:!0},{mac:"Cmd-ArrowUp",run:BI,shift:HI},{mac:"Ctrl-ArrowUp",run:bI,shift:vI},{key:"ArrowDown",run:xL,shift:KL,preventDefault:!0},{mac:"Cmd-ArrowDown",run:xI,shift:wI},{mac:"Ctrl-ArrowDown",run:vR,shift:GI},{key:"PageUp",run:bI,shift:vI},{key:"PageDown",run:vR,shift:GI},{key:"Home",run:aB,shift:OB,preventDefault:!0},{key:"Mod-Home",run:BI,shift:HI},{key:"End",run:rB,shift:fB,preventDefault:!0},{key:"Mod-End",run:xI,shift:wI},{key:"Enter",run:YI,shift:YI},{key:"Mod-a",run:_B},{key:"Backspace",run:GR,shift:GR,preventDefault:!0},{key:"Delete",run:JL,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:zL,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:MB,preventDefault:!0},{mac:"Mod-Backspace",run:UB,preventDefault:!0},{mac:"Mod-Delete",run:yB,preventDefault:!0}].concat(KB.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),qB=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:iB,shift:RB},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:sB,shift:SB},{key:"Alt-ArrowUp",run:GB},{key:"Shift-Alt-ArrowUp",run:xB},{key:"Alt-ArrowDown",run:BB},{key:"Shift-Alt-ArrowDown",run:HB},{key:"Mod-Alt-ArrowUp",run:pB},{key:"Mod-Alt-ArrowDown",run:DB},{key:"Escape",run:gB},{key:"Mod-Enter",run:FB},{key:"Alt-l",mac:"Ctrl-l",run:LB},{key:"Mod-i",run:mB,preventDefault:!0},{key:"Mod-[",run:WB},{key:"Mod-]",run:kB},{key:"Mod-Alt-\\",run:VB},{key:"Shift-Mod-k",run:wB},{key:"Shift-Mod-\\",run:cB},{key:"Mod-/",run:jG},{key:"Alt-A",run:$G},{key:"Ctrl-m",mac:"Shift-Alt-m",run:XB}].concat(jB);var FI={};class RT{constructor(e,t,s,a,o,E,T,c,A,R=0,O){this.p=e,this.stack=t,this.state=s,this.reducePos=a,this.pos=o,this.score=E,this.buffer=T,this.bufferBase=c,this.curContext=A,this.lookAhead=R,this.parent=O}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,s=0){let a=e.parser.context;return new RT(e,[],t,s,s,0,[],0,a?new VI(a,a.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 s=e>>19,a=e&65535,{parser:o}=this.p,E=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),T=o.dynamicPrecedence(a);if(T&&(this.score+=T),s==0){a<o.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(o.getGoto(this.state,a,!0),this.reducePos),a<o.minRepeatTerm&&this.storeNode(a,this.reducePos,this.reducePos,E?8:4,!0),this.reduceContext(a,this.reducePos);return}let c=this.stack.length-(s-1)*3-(e&262144?6:0),A=c?this.stack[c-2]:this.p.ranges[0].from;a<o.minRepeatTerm&&A==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let R=this.reducePos-A;R>=2e3&&!(!((t=this.p.parser.nodeSet.types[a])===null||t===void 0)&&t.isAnonymous)&&(A==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=R):this.p.lastBigReductionSize<R&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=A,this.p.lastBigReductionSize=R));let O=c?this.stack[c-1]:0,d=this.bufferBase+this.buffer.length-O;if(a<o.minRepeatTerm||e&131072){let L=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(a,A,L,d+4,!0)}if(e&262144)this.state=this.stack[c];else{let L=this.stack[c-3];this.state=o.getGoto(L,a,!0)}for(;this.stack.length>c;)this.stack.pop();this.reduceContext(a,A)}storeNode(e,t,s,a=4,o=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let E=this.buffer.length;if(E>0&&this.buffer[E-4]==0&&this.buffer[E-1]>-1){if(t==s)return;if(this.buffer[E-2]>=t){this.buffer[E-2]=s;return}}}if(!o||this.pos==s)this.buffer.push(e,t,s,a);else{let E=this.buffer.length;if(E>0&&(this.buffer[E-4]!=0||this.buffer[E-1]<0)){let T=!1;for(let c=E;c>0&&this.buffer[c-2]>s;c-=4)if(this.buffer[c-1]>=0){T=!0;break}if(T)for(;E>0&&this.buffer[E-2]>s;)this.buffer[E]=this.buffer[E-4],this.buffer[E+1]=this.buffer[E-3],this.buffer[E+2]=this.buffer[E-2],this.buffer[E+3]=this.buffer[E-1],E-=4,a>4&&(a-=4)}this.buffer[E]=e,this.buffer[E+1]=t,this.buffer[E+2]=s,this.buffer[E+3]=a}}shift(e,t,s,a){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let o=e,{parser:E}=this.p;this.pos=a;let T=E.stateFlag(o,1);!T&&(a>s||t<=E.maxNode)&&(this.reducePos=a),this.pushState(o,T?s:Math.min(s,this.reducePos)),this.shiftContext(t,s),t<=E.maxNode&&this.buffer.push(t,s,a,4)}else this.pos=a,this.shiftContext(t,s),t<=this.p.parser.maxNode&&this.buffer.push(t,s,a,4)}apply(e,t,s,a){e&65536?this.reduce(e):this.shift(e,t,s,a)}useNode(e,t){let s=this.p.reused.length-1;(s<0||this.p.reused[s]!=e)&&(this.p.reused.push(e),s++);let a=this.pos;this.reducePos=this.pos=a+e.length,this.pushState(t,a),this.buffer.push(s,a,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 s=e.buffer.slice(t),a=e.bufferBase+t;for(;e&&a==e.bufferBase;)e=e.parent;return new RT(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,a,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let s=e<=this.p.parser.maxNode;s&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,s?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new $B(this);;){let s=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(s==0)return!1;if((s&65536)==0)return!0;t.reduce(s)}}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 a=[];for(let o=0,E;o<t.length;o+=2)(E=t[o+1])!=this.state&&this.p.parser.hasAction(E,e)&&a.push(t[o],E);if(this.stack.length<120)for(let o=0;a.length<8&&o<t.length;o+=2){let E=t[o+1];a.some((T,c)=>c&1&&T==E)||a.push(t[o],E)}t=a}let s=[];for(let a=0;a<t.length&&s.length<4;a+=2){let o=t[a+1];if(o==this.state)continue;let E=this.split();E.pushState(o,this.pos),E.storeNode(0,E.pos,E.pos,4,!0),E.shiftContext(t[a],this.pos),E.reducePos=this.pos,E.score-=200,s.push(E)}return s}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 s=t>>19,a=t&65535,o=this.stack.length-s*3;if(o<0||e.getGoto(this.stack[o],a,!1)<0){let E=this.findForcedReduction();if(E==null)return!1;t=E}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=[],s=(a,o)=>{if(!t.includes(a))return t.push(a),e.allActions(a,E=>{if(!(E&393216))if(E&65536){let T=(E>>19)-o;if(T>1){let c=E&65535,A=this.stack.length-T*3;if(A>=0&&e.getGoto(this.stack[A],c,!1)>=0)return T<<19|65536|c}}else{let T=s(E,o+1);if(T!=null)return T}})};return s(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 VI(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 VI{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class $B{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,s=e>>19;s==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(s-1)*3;let a=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=a}}class ST{constructor(e,t,s){this.stack=e,this.pos=t,this.index=s,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new ST(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 ST(this.stack,this.pos,this.index)}}function Bu(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let s=0,a=0;s<i.length;){let o=0;for(;;){let E=i.charCodeAt(s++),T=!1;if(E==126){o=65535;break}E>=92&&E--,E>=34&&E--;let c=E-32;if(c>=46&&(c-=46,T=!0),o+=c,T)break;o*=46}t?t[a++]=o:t=new e(o)}return t}class $u{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const kI=new $u;class JB{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=kI,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 s=this.range,a=this.rangeIndex,o=this.pos+e;for(;o<s.from;){if(!a)return null;let E=this.ranges[--a];o-=s.from-E.to,s=E}for(;t<0?o>s.to:o>=s.to;){if(a==this.ranges.length-1)return null;let E=this.ranges[++a];o+=E.from-s.to,s=E}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,s,a;if(t>=0&&t<this.chunk.length)s=this.pos+e,a=this.chunk.charCodeAt(t);else{let o=this.resolveOffset(e,1);if(o==null)return-1;if(s=o,s>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)a=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let E=this.rangeIndex,T=this.range;for(;T.to<=s;)T=this.ranges[++E];this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>T.to&&(this.chunk2=this.chunk2.slice(0,T.to-s)),a=this.chunk2.charCodeAt(0)}}return s>=this.token.lookAhead&&(this.token.lookAhead=s+1),a}acceptToken(e,t=0){let s=t?this.resolveOffset(t,-1):this.pos;if(s==null||s<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=s}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=kI,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 s="";for(let a of this.ranges){if(a.from>=t)break;a.to>e&&(s+=this.input.read(Math.max(a.from,e),Math.min(a.to,t)))}return s}}class hl{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:s}=t.p;zB(this.data,e,t,this.id,s.data,s.tokenPrecTable)}}hl.prototype.contextual=hl.prototype.fallback=hl.prototype.extend=!1;hl.prototype.fallback=hl.prototype.extend=!1;class QB{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function zB(i,e,t,s,a,o){let E=0,T=1<<s,{dialect:c}=t.p.parser;e:for(;(T&i[E])!=0;){let A=i[E+1];for(let L=E+3;L<A;L+=2)if((i[L+1]&T)>0){let p=i[L];if(c.allows(p)&&(e.token.value==-1||e.token.value==p||ZB(p,e.token.value,a,o))){e.acceptToken(p);break}}let R=e.next,O=0,d=i[E+2];if(e.next<0&&d>O&&i[A+d*3-3]==65535){E=i[A+d*3-1];continue e}for(;O<d;){let L=O+d>>1,p=A+L+(L<<1),g=i[p],v=i[p+1]||65536;if(R<g)d=L;else if(R>=v)O=L+1;else{E=i[p+2],e.advance();continue e}}break}}function WI(i,e,t){for(let s=e,a;(a=i[s])!=65535;s++)if(a==t)return s-e;return-1}function ZB(i,e,t,s){let a=WI(t,s,e);return a<0||WI(t,s,i)<a}const ei=typeof process<"u"&&FI&&/\bparse\b/.test(FI.LOG);let Xh=null;function XI(i,e,t){let s=i.cursor(Gt.IncludeAnonymous);for(s.moveTo(e);;)if(!(t<0?s.childBefore(e):s.childAfter(e)))for(;;){if((t<0?s.to<e:s.from>e)&&!s.type.isError)return t<0?Math.max(0,Math.min(s.to-1,e-25)):Math.min(i.length,Math.max(s.from+1,e+25));if(t<0?s.prevSibling():s.nextSibling())break;if(!s.parent())return t<0?0:i.length}}class ex{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?XI(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?XI(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 s=this.trees[t],a=this.index[t];if(a==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=s.children[a],E=this.start[t]+s.positions[a];if(E>e)return this.nextStart=E,null;if(o instanceof Wt){if(E==e){if(E<this.safeFrom)return null;let T=E+o.length;if(T<=this.safeTo){let c=o.prop(Ze.lookAhead);if(!c||T+c<this.fragment.to)return o}}this.index[t]++,E+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(E),this.index.push(0))}else this.index[t]++,this.nextStart=E+o.length}}}class tx{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(s=>new $u)}getActions(e){let t=0,s=null,{parser:a}=e.p,{tokenizers:o}=a,E=a.stateSlot(e.state,3),T=e.curContext?e.curContext.hash:0,c=0;for(let A=0;A<o.length;A++){if((1<<A&E)==0)continue;let R=o[A],O=this.tokens[A];if(!(s&&!R.fallback)&&((R.contextual||O.start!=e.pos||O.mask!=E||O.context!=T)&&(this.updateCachedToken(O,R,e),O.mask=E,O.context=T),O.lookAhead>O.end+25&&(c=Math.max(O.lookAhead,c)),O.value!=0)){let d=t;if(O.extended>-1&&(t=this.addActions(e,O.extended,O.end,t)),t=this.addActions(e,O.value,O.end,t),!R.extend&&(s=O,t>d))break}}for(;this.actions.length>t;)this.actions.pop();return c&&e.setLookAhead(c),!s&&e.pos==this.stream.end&&(s=new $u,s.value=e.p.parser.eofTerm,s.start=s.end=e.pos,t=this.addActions(e,s.value,s.end,t)),this.mainToken=s,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new $u,{pos:s,p:a}=e;return t.start=s,t.end=Math.min(s+1,a.stream.end),t.value=s==a.stream.end?a.parser.eofTerm:0,t}updateCachedToken(e,t,s){let a=this.stream.clipPos(s.pos);if(t.token(this.stream.reset(a,e),s),e.value>-1){let{parser:o}=s.p;for(let E=0;E<o.specialized.length;E++)if(o.specialized[E]==e.value){let T=o.specializers[E](this.stream.read(e.start,e.end),s);if(T>=0&&s.p.parser.dialect.allows(T>>1)){(T&1)==0?e.value=T>>1:e.extended=T>>1;break}}}else e.value=0,e.end=this.stream.clipPos(a+1)}putAction(e,t,s,a){for(let o=0;o<a;o+=3)if(this.actions[o]==e)return a;return this.actions[a++]=e,this.actions[a++]=t,this.actions[a++]=s,a}addActions(e,t,s,a){let{state:o}=e,{parser:E}=e.p,{data:T}=E;for(let c=0;c<2;c++)for(let A=E.stateSlot(o,c?2:1);;A+=3){if(T[A]==65535)if(T[A+1]==1)A=Ms(T,A+2);else{a==0&&T[A+1]==2&&(a=this.putAction(Ms(T,A+2),t,s,a));break}T[A]==t&&(a=this.putAction(Ms(T,A+1),t,s,a))}return a}}class nx{constructor(e,t,s,a){this.parser=e,this.input=t,this.ranges=a,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 JB(t,a),this.tokens=new tx(e,this.stream),this.topTerm=e.top[1];let{from:o}=a[0];this.stacks=[RT.start(this,e.top[0],o)],this.fragments=s.length&&this.stream.end-o>e.bufferLength*4?new ex(s,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,s=this.stacks=[],a,o;if(this.bigReductionCount>300&&e.length==1){let[E]=e;for(;E.forceReduce()&&E.stack.length&&E.stack[E.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let E=0;E<e.length;E++){let T=e[E];for(;;){if(this.tokens.mainToken=null,T.pos>t)s.push(T);else{if(this.advanceStack(T,s,e))continue;{a||(a=[],o=[]),a.push(T);let c=this.tokens.getMainToken(T);o.push(c.value,c.end)}}break}}if(!s.length){let E=a&&sx(a);if(E)return ei&&console.log("Finish with "+this.stackID(E)),this.stackToTree(E);if(this.parser.strict)throw ei&&a&&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&&a){let E=this.stoppedAt!=null&&a[0].pos>this.stoppedAt?a[0]:this.runRecovery(a,o,s);if(E)return ei&&console.log("Force-finish "+this.stackID(E)),this.stackToTree(E.forceAll())}if(this.recovering){let E=this.recovering==1?1:this.recovering*3;if(s.length>E)for(s.sort((T,c)=>c.score-T.score);s.length>E;)s.pop();s.some(T=>T.reducePos>t)&&this.recovering--}else if(s.length>1){e:for(let E=0;E<s.length-1;E++){let T=s[E];for(let c=E+1;c<s.length;c++){let A=s[c];if(T.sameState(A)||T.buffer.length>500&&A.buffer.length>500)if((T.score-A.score||T.buffer.length-A.buffer.length)>0)s.splice(c--,1);else{s.splice(E--,1);continue e}}}s.length>12&&(s.sort((E,T)=>T.score-E.score),s.splice(12,s.length-12))}this.minStackPos=s[0].pos;for(let E=1;E<s.length;E++)s[E].pos<this.minStackPos&&(this.minStackPos=s[E].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,s){let a=e.pos,{parser:o}=this,E=ei?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&a>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let A=e.curContext&&e.curContext.tracker.strict,R=A?e.curContext.hash:0;for(let O=this.fragments.nodeAt(a);O;){let d=this.parser.nodeSet.types[O.type.id]==O.type?o.getGoto(e.state,O.type.id):-1;if(d>-1&&O.length&&(!A||(O.prop(Ze.contextHash)||0)==R))return e.useNode(O,d),ei&&console.log(E+this.stackID(e)+` (via reuse of ${o.getName(O.type.id)})`),!0;if(!(O instanceof Wt)||O.children.length==0||O.positions[0]>0)break;let L=O.children[0];if(L instanceof Wt&&O.positions[0]==0)O=L;else break}}let T=o.stateSlot(e.state,4);if(T>0)return e.reduce(T),ei&&console.log(E+this.stackID(e)+` (via always-reduce ${o.getName(T&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let c=this.tokens.getActions(e);for(let A=0;A<c.length;){let R=c[A++],O=c[A++],d=c[A++],L=A==c.length||!s,p=L?e:e.split(),g=this.tokens.mainToken;if(p.apply(R,O,g?g.start:p.pos,d),ei&&console.log(E+this.stackID(p)+` (via ${(R&65536)==0?"shift":`reduce of ${o.getName(R&65535)}`} for ${o.getName(O)} @ ${a}${p==e?"":", split"})`),L)return!0;p.pos>a?t.push(p):s.push(p)}return!1}advanceFully(e,t){let s=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>s)return KI(e,t),!0}}runRecovery(e,t,s){let a=null,o=!1;for(let E=0;E<e.length;E++){let T=e[E],c=t[E<<1],A=t[(E<<1)+1],R=ei?this.stackID(T)+" -> ":"";if(T.deadEnd&&(o||(o=!0,T.restart(),ei&&console.log(R+this.stackID(T)+" (restarted)"),this.advanceFully(T,s))))continue;let O=T.split(),d=R;for(let L=0;L<10&&O.forceReduce()&&(ei&&console.log(d+this.stackID(O)+" (via force-reduce)"),!this.advanceFully(O,s));L++)ei&&(d=this.stackID(O)+" -> ");for(let L of T.recoverByInsert(c))ei&&console.log(R+this.stackID(L)+" (via recover-insert)"),this.advanceFully(L,s);this.stream.end>T.pos?(A==T.pos&&(A++,c=0),T.recoverByDelete(c,A),ei&&console.log(R+this.stackID(T)+` (via recover-delete ${this.parser.getName(c)})`),KI(T,s)):(!a||a.score<O.score)&&(a=O)}return a}stackToTree(e){return e.close(),Wt.build({buffer:ST.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=(Xh||(Xh=new WeakMap)).get(e);return t||Xh.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function KI(i,e){for(let t=0;t<e.length;t++){let s=e[t];if(s.pos==i.pos&&s.sameState(i)){e[t].score<i.score&&(e[t]=i);return}}e.push(i)}class ix{constructor(e,t,s){this.source=e,this.flags=t,this.disabled=s}allows(e){return!this.disabled||this.disabled[e]==0}}class fT extends LL{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 T=0;T<e.repeatNodeCount;T++)t.push("");let s=Object.keys(e.topRules).map(T=>e.topRules[T][1]),a=[];for(let T=0;T<t.length;T++)a.push([]);function o(T,c,A){a[T].push([c,c.deserialize(String(A))])}if(e.nodeProps)for(let T of e.nodeProps){let c=T[0];typeof c=="string"&&(c=Ze[c]);for(let A=1;A<T.length;){let R=T[A++];if(R>=0)o(R,c,T[A++]);else{let O=T[A+-R];for(let d=-R;d>0;d--)o(T[A++],c,O);A++}}}this.nodeSet=new ES(t.map((T,c)=>Vn.define({name:c>=this.minRepeatTerm?void 0:T,id:c,props:a[c],top:s.indexOf(c)>-1,error:c==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(c)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=dL;let E=Bu(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let T=0;T<this.specializerSpecs.length;T++)this.specialized[T]=this.specializerSpecs[T].term;this.specializers=this.specializerSpecs.map(jI),this.states=Bu(e.states,Uint32Array),this.data=Bu(e.stateData),this.goto=Bu(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(T=>typeof T=="number"?new hl(E,T):T),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,s){let a=new nx(this,e,t,s);for(let o of this.wrappers)a=o(a,e,t,s);return a}getGoto(e,t,s=!1){let a=this.goto;if(t>=a[0])return-1;for(let o=a[t+1];;){let E=a[o++],T=E&1,c=a[o++];if(T&&s)return c;for(let A=o+(E>>1);o<A;o++)if(a[o]==e)return c;if(T)return-1}}hasAction(e,t){let s=this.data;for(let a=0;a<2;a++)for(let o=this.stateSlot(e,a?2:1),E;;o+=3){if((E=s[o])==65535)if(s[o+1]==1)E=s[o=Ms(s,o+2)];else{if(s[o+1]==2)return Ms(s,o+2);break}if(E==t||E==0)return Ms(s,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,s=>s==t?!0:null)}allActions(e,t){let s=this.stateSlot(e,4),a=s?t(s):void 0;for(let o=this.stateSlot(e,1);a==null;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=Ms(this.data,o+2);else break;a=t(Ms(this.data,o+1))}return a}nextStates(e){let t=[];for(let s=this.stateSlot(e,1);;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Ms(this.data,s+2);else break;if((this.data[s+2]&1)==0){let a=this.data[s+1];t.some((o,E)=>E&1&&o==a)||t.push(this.data[s],a)}}return t}configure(e){let t=Object.assign(Object.create(fT.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let s=this.topRules[e.top];if(!s)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=s}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(s=>{let a=e.tokenizers.find(o=>o.from==s);return a?a.to:s})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((s,a)=>{let o=e.specializers.find(T=>T.from==s.external);if(!o)return s;let E=Object.assign(Object.assign({},s),{external:o.to});return t.specializers[a]=jI(E),E})),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),s=t.map(()=>!1);if(e)for(let o of e.split(" ")){let E=t.indexOf(o);E>=0&&(s[E]=!0)}let a=null;for(let o=0;o<t.length;o++)if(!s[o])for(let E=this.dialects[t[o]],T;(T=this.data[E++])!=65535;)(a||(a=new Uint8Array(this.maxTerm+1)))[T]=1;return new ix(e,s,a)}static deserialize(e){return new fT(e)}}function Ms(i,e){return i[e]|i[e+1]<<16}function sx(i){let e=null;for(let t of i){let s=t.p.stoppedAt;(t.pos==t.p.stream.end||s!=null&&t.pos>s)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function jI(i){if(i.external){let e=i.extend?1:0;return(t,s)=>i.external(t,s)<<1|e}return i.get}function qI(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function rx(i){let e=Object.create(null),t=Object.create(null);for(let{label:a}of i){e[a[0]]=!0;for(let o=1;o<a.length;o++)t[a[o]]=!0}let s=qI(e)+qI(t)+"*$";return[new RegExp("^"+s),new RegExp(s)]}function ax(i){let e=i.map(a=>typeof a=="string"?{label:a}:a),[t,s]=e.every(a=>/^\w+$/.test(a.label))?[/\w*$/,/\w+$/]:rx(e);return a=>{let o=a.matchBefore(s);return o||a.explicit?{from:o?o.from:a.pos,options:e,validFor:t}:null}}function lx(i,e){return t=>{for(let s=os(t.state).resolveInner(t.pos,-1);s;s=s.parent){if(i.indexOf(s.name)>-1)return null;if(s.type.isTop)break}return e(t)}}const nm=new class extends Cr{};nm.startSide=1;nm.endSide=-1;const ox=36,$I=1,Ex=2,rl=3,Kh=4,ux=5,Tx=6,cx=7,Ax=8,hx=9,Rx=10,Sx=11,fx=12,Ox=13,Nx=14,dx=15,Ix=16,Cx=17,JI=18,_x=19,im=20,sm=21,QI=22,Lx=23,mx=24;function BR(i){return i>=65&&i<=90||i>=97&&i<=122||i>=48&&i<=57}function px(i){return i>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70}function ia(i,e,t){for(let s=!1;;){if(i.next<0)return;if(i.next==e&&!s){i.advance();return}s=t&&!s&&i.next==92,i.advance()}}function Dx(i,e){e:for(;;){if(i.next<0)return;if(i.next==36){i.advance();for(let t=0;t<e.length;t++){if(i.next!=e.charCodeAt(t))continue e;i.advance()}if(i.next==36){i.advance();return}}else i.advance()}}function gx(i,e){let t="[{<(".indexOf(String.fromCharCode(e)),s=t<0?e:"]}>)".charCodeAt(t);for(;;){if(i.next<0)return;if(i.next==s&&i.peek(1)==39){i.advance(2);return}i.advance()}}function xR(i,e){for(;!(i.next!=95&&!BR(i.next));)e!=null&&(e+=String.fromCharCode(i.next)),i.advance();return e}function Mx(i){if(i.next==39||i.next==34||i.next==96){let e=i.next;i.advance(),ia(i,e,!1)}else xR(i)}function zI(i,e){for(;i.next==48||i.next==49;)i.advance();e&&i.next==e&&i.advance()}function ZI(i,e){for(;;){if(i.next==46){if(e)break;e=!0}else if(i.next<48||i.next>57)break;i.advance()}if(i.next==69||i.next==101)for(i.advance(),(i.next==43||i.next==45)&&i.advance();i.next>=48&&i.next<=57;)i.advance()}function eC(i){for(;!(i.next<0||i.next==10);)i.advance()}function ta(i,e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)==i)return!0;return!1}const jh=` \r
|
|
97
|
+
`;function rm(i,e,t){let s=Object.create(null);s.true=s.false=ux,s.null=s.unknown=Tx;for(let a of i.split(" "))a&&(s[a]=im);for(let a of e.split(" "))a&&(s[a]=sm);for(let a of(t||"").split(" "))a&&(s[a]=mx);return s}const Px="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 ",Ux="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 ",HR={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:rm(Ux,Px)};function yx(i,e,t,s){let a={};for(let o in HR)a[o]=(i.hasOwnProperty(o)?i:HR)[o];return e&&(a.words=rm(e,t||"",s)),a}function am(i){return new QB(e=>{var t;let{next:s}=e;if(e.advance(),ta(s,jh)){for(;ta(e.next,jh);)e.advance();e.acceptToken(ox)}else if(s==36&&i.doubleDollarQuotedStrings){let a=xR(e,"");e.next==36&&(e.advance(),Dx(e,a),e.acceptToken(rl))}else if(s==39||s==34&&i.doubleQuotedStrings)ia(e,s,i.backslashEscapes),e.acceptToken(rl);else if(s==35&&i.hashComments||s==47&&e.next==47&&i.slashComments)eC(e),e.acceptToken($I);else if(s==45&&e.next==45&&(!i.spaceAfterDashes||e.peek(1)==32))eC(e),e.acceptToken($I);else if(s==47&&e.next==42){e.advance();for(let a=1;;){let o=e.next;if(e.next<0)break;if(e.advance(),o==42&&e.next==47){if(a--,e.advance(),!a)break}else o==47&&e.next==42&&(a++,e.advance())}e.acceptToken(Ex)}else if((s==101||s==69)&&e.next==39)e.advance(),ia(e,39,!0),e.acceptToken(rl);else if((s==110||s==78)&&e.next==39&&i.charSetCasts)e.advance(),ia(e,39,i.backslashEscapes),e.acceptToken(rl);else if(s==95&&i.charSetCasts)for(let a=0;;a++){if(e.next==39&&a>1){e.advance(),ia(e,39,i.backslashEscapes),e.acceptToken(rl);break}if(!BR(e.next))break;e.advance()}else if(i.plsqlQuotingMechanism&&(s==113||s==81)&&e.next==39&&e.peek(1)>0&&!ta(e.peek(1),jh)){let a=e.peek(1);e.advance(2),gx(e,a),e.acceptToken(rl)}else if(ta(s,i.identifierQuotes)){const a=s==91?93:s;ia(e,a,!1),e.acceptToken(_x)}else if(s==40)e.acceptToken(cx);else if(s==41)e.acceptToken(Ax);else if(s==123)e.acceptToken(hx);else if(s==125)e.acceptToken(Rx);else if(s==91)e.acceptToken(Sx);else if(s==93)e.acceptToken(fx);else if(s==59)e.acceptToken(Ox);else if(i.unquotedBitLiterals&&s==48&&e.next==98)e.advance(),zI(e),e.acceptToken(QI);else if((s==98||s==66)&&(e.next==39||e.next==34)){const a=e.next;e.advance(),i.treatBitsAsBytes?(ia(e,a,i.backslashEscapes),e.acceptToken(Lx)):(zI(e,a),e.acceptToken(QI))}else if(s==48&&(e.next==120||e.next==88)||(s==120||s==88)&&e.next==39){let a=e.next==39;for(e.advance();px(e.next);)e.advance();a&&e.next==39&&e.advance(),e.acceptToken(Kh)}else if(s==46&&e.next>=48&&e.next<=57)ZI(e,!0),e.acceptToken(Kh);else if(s==46)e.acceptToken(Nx);else if(s>=48&&s<=57)ZI(e,!1),e.acceptToken(Kh);else if(ta(s,i.operatorChars)){for(;ta(e.next,i.operatorChars);)e.advance();e.acceptToken(dx)}else if(ta(s,i.specialVar))e.next==s&&e.advance(),Mx(e),e.acceptToken(Cx);else if(s==58||s==44)e.acceptToken(Ix);else if(BR(s)){let a=xR(e,String.fromCharCode(s));e.acceptToken(e.next==46||e.peek(-a.length-1)==46?JI:(t=i.words[a.toLowerCase()])!==null&&t!==void 0?t:JI)}})}const lm=am(HR),bx=fT.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,lm],topRules:{Script:[0,25]},tokenPrec:0});function wR(i){let e=i.cursor().moveTo(i.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function zo(i,e){let t=i.sliceString(e.from,e.to),s=/^([`'"\[])(.*)([`'"\]])$/.exec(t);return s?s[2]:t}function OT(i){return i&&(i.name=="Identifier"||i.name=="QuotedIdentifier")}function vx(i,e){if(e.name=="CompositeIdentifier"){let t=[];for(let s=e.firstChild;s;s=s.nextSibling)OT(s)&&t.push(zo(i,s));return t}return[zo(i,e)]}function tC(i,e){for(let t=[];;){if(!e||e.name!=".")return t;let s=wR(e);if(!OT(s))return t;t.unshift(zo(i,s)),e=wR(s)}}function Gx(i,e){let t=os(i).resolveInner(e,-1),s=xx(i.doc,t);return t.name=="Identifier"||t.name=="QuotedIdentifier"||t.name=="Keyword"?{from:t.from,quoted:t.name=="QuotedIdentifier"?i.doc.sliceString(t.from,t.from+1):null,parents:tC(i.doc,wR(t)),aliases:s}:t.name=="."?{from:e,quoted:null,parents:tC(i.doc,t),aliases:s}:{from:e,quoted:null,parents:[],empty:!0,aliases:s}}const Bx=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function xx(i,e){let t;for(let a=e;!t;a=a.parent){if(!a)return null;a.name=="Statement"&&(t=a)}let s=null;for(let a=t.firstChild,o=!1,E=null;a;a=a.nextSibling){let T=a.name=="Keyword"?i.sliceString(a.from,a.to).toLowerCase():null,c=null;if(!o)o=T=="from";else if(T=="as"&&E&&OT(a.nextSibling))c=zo(i,a.nextSibling);else{if(T&&Bx.has(T))break;E&&OT(a)&&(c=zo(i,a))}c&&(s||(s=Object.create(null)),s[c]=vx(i,E)),E=/Identifier$/.test(a.name)?a:null}return s}function Hx(i,e,t){return t.map(s=>({...s,label:s.label[0]==i?s.label:i+s.label+e,apply:void 0}))}const wx=/^\w*$/,Yx=/^[`'"\[]?\w*[`'"\]]?$/;function nC(i){return i.self&&typeof i.self.label=="string"}class OS{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)),s=t[e];return s||(e&&!this.list.some(a=>a.label==e)&&this.list.push(iC(e,"type",this.idQuote,this.idCaseInsensitive)),t[e]=new OS(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(s=>s.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"?iC(t,"property",this.idQuote,this.idCaseInsensitive):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):nC(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let s=e[t],a=null,o=t.replace(/\\?\./g,T=>T=="."?"\0":T).split("\0"),E=this;nC(s)&&(a=s.self,s=s.children);for(let T=0;T<o.length;T++)a&&T==o.length-1&&E.addCompletion(a),E=E.child(o[T].replace(/\\\./g,"."));E.addNamespace(s)}}}function iC(i,e,t,s){return new RegExp("^[a-z_][a-z_\\d]*$",s?"i":"").test(i)?{label:i,type:e}:{label:i,type:e,apply:t+i+om(t)}}function om(i){return i==="["?"]":i}function Fx(i,e,t,s,a,o){var E;let T=((E=o==null?void 0:o.spec.identifierQuotes)===null||E===void 0?void 0:E[0])||'"',c=new OS(T,!!(o!=null&&o.spec.caseInsensitiveIdentifiers)),A=a?c.child(a):null;return c.addNamespace(i),e&&(A||c).addCompletions(e),t&&c.addCompletions(t),A&&c.addCompletions(A.list),s&&c.addCompletions((A||c).child(s).list),R=>{let{parents:O,from:d,quoted:L,empty:p,aliases:g}=Gx(R.state,R.pos);if(p&&!R.explicit)return null;g&&O.length==1&&(O=g[O[0]]||O);let v=c;for(let K of O){for(;!v.children||!v.children[K];)if(v==c&&A)v=A;else if(v==A&&s)v=v.child(s);else return null;let Z=v.maybeChild(K);if(!Z)return null;v=Z}let B=v.list;if(v==c&&g&&(B=B.concat(Object.keys(g).map(K=>({label:K,type:"constant"})))),L){let K=L[0],Z=om(K),Te=R.state.sliceDoc(R.pos,R.pos+1)==Z;return{from:d,to:Te?R.pos+1:void 0,options:Hx(K,Z,B),validFor:Yx}}else return{from:d,options:B,validFor:wx}}}function Vx(i){return i==sm?"type":i==im?"keyword":"variable"}function kx(i,e,t){let s=Object.keys(i).map(a=>t(e?a.toUpperCase():a,Vx(i[a])));return lx(["QuotedIdentifier","String","LineComment","BlockComment","."],ax(s))}let Wx=bx.configure({props:[gL.add({Statement:xG()}),HG.add({Statement(i,e){return{from:Math.min(i.from+100,e.doc.lineAt(i.from).to),to:i.to}},BlockComment(i){return{from:i.from+2,to:i.to-2}}}),mL({Keyword:me.keyword,Type:me.typeName,Builtin:me.standard(me.name),Bits:me.number,Bytes:me.string,Bool:me.bool,Null:me.null,Number:me.number,String:me.string,Identifier:me.name,QuotedIdentifier:me.special(me.string),SpecialVar:me.special(me.name),LineComment:me.lineComment,BlockComment:me.blockComment,Operator:me.operator,"Semi Punctuation":me.punctuation,"( )":me.paren,"{ }":me.brace,"[ ]":me.squareBracket})]});class NT{constructor(e,t,s){this.dialect=e,this.language=t,this.spec=s}get extension(){return this.language.extension}configureLanguage(e,t){return new NT(this.dialect,this.language.configure(e,t),this.spec)}static define(e){let t=yx(e,e.keywords,e.types,e.builtin),s=TT.define({name:"sql",parser:Wx.configure({tokenizers:[{from:lm,to:am(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new NT(t,s,e)}}function Xx(i,e){return{label:i,type:e,boost:-1}}function Kx(i,e=!1,t){return kx(i.dialect.words,e,t||Xx)}function jx(i){return i.schema?Fx(i.schema,i.tables,i.schemas,i.defaultTable,i.defaultSchema,i.dialect||NS):()=>null}function qx(i){return i.schema?(i.dialect||NS).language.data.of({autocomplete:jx(i)}):[]}function sC(i={}){let e=i.dialect||NS;return new gG(e.language,[qx(i),e.language.data.of({autocomplete:Kx(e,i.upperCaseKeywords,i.keywordCompletion)})])}const NS=NT.define({});function $x(i,e){const{from:t,to:s}=e;if(t!==s){const a=i.slice(t,s).trim();if(a)return a}return i}function rC(i){const e={};for(const t of i)e[t.name]=t.columns.map(s=>s.name);return e}const aC=new _l,lC=new _l,Jx=Ve.theme({"&":{fontSize:"0.8125rem",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",backgroundColor:"var(--bg-surface)",color:"var(--text-primary)",height:"100%"},".cm-scroller":{overflow:"auto",height:"100%"},".cm-content":{minHeight:"100%",caretColor:"var(--accent)"},".cm-gutters":{backgroundColor:"var(--bg-elevated)",color:"var(--text-muted)",borderRight:"1px solid var(--border)"},"&.cm-focused":{outline:"2px solid var(--accent-soft)",outlineOffset:"-1px"},".cm-activeLine":{backgroundColor:"var(--bg-hover)"}});function oC(i){const{from:e,to:t}=i.state.selection.main;return $x(i.state.doc.toString(),{from:e,to:t})}const Qx=y.forwardRef(function({value:e,onChange:t,onRun:s,disabled:a=!1},o){const{schema:E}=Ut(),T=y.useRef(null),c=y.useRef(null),A=y.useRef(t),R=y.useRef(s);return y.useImperativeHandle(o,()=>({getSqlToRun:()=>{const O=c.current;return O?oC(O):e}})),y.useEffect(()=>{A.current=t,R.current=s},[t,s]),y.useEffect(()=>{if(!T.current)return;const O=new Ve({state:Tt.create({doc:e,extensions:[uG(),lC.of(sC({schema:rC(E)})),Ve.lineWrapping,Jx,aC.of(Ve.editable.of(!a)),OL.of([...qB,{key:"Mod-Enter",run:d=>(R.current(oC(d)),!0)},{key:"Mod-Shift-f",run:()=>!1}]),Ve.updateListener.of(d=>{d.docChanged&&A.current(d.state.doc.toString())})]}),parent:T.current});return c.current=O,()=>{O.destroy(),c.current=null}},[]),y.useEffect(()=>{const O=c.current;O&&O.dispatch({effects:[aC.reconfigure(Ve.editable.of(!a)),lC.reconfigure(sC({schema:rC(E)}))]})},[a,E]),y.useEffect(()=>{const O=c.current;if(!O)return;const d=O.state.doc.toString();d!==e&&O.dispatch({changes:{from:0,to:d.length,insert:e}})},[e]),I.jsx("div",{className:"sql-editor-cm sql-editor-cm--fill",ref:T,id:"sql-editor","aria-label":"SQL editor"})});function zx({size:i=18,className:e}){return I.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:[I.jsx("rect",{x:"3",y:"3",width:"8",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"2"}),I.jsx("rect",{x:"13",y:"3",width:"8",height:"5",rx:"1.5",stroke:"currentColor",strokeWidth:"2"}),I.jsx("rect",{x:"13",y:"10",width:"8",height:"11",rx:"1.5",stroke:"currentColor",strokeWidth:"2"}),I.jsx("rect",{x:"3",y:"13",width:"8",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"2"})]})}function Zx({size:i=18,className:e}){return I.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:[I.jsx("ellipse",{cx:"12",cy:"5",rx:"8",ry:"3",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6",stroke:"currentColor",strokeWidth:"2"})]})}function e1({size:i=16,className:e}){return I.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"currentColor",className:e,"aria-hidden":!0,children:I.jsx("path",{d:"M8 5v14l11-7z"})})}function Wo({size:i=14,className:e,expanded:t=!1}){return I.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,style:{transform:t?"rotate(90deg)":void 0,transition:"transform 0.15s ease"},children:I.jsx("path",{d:"M9 6l6 6-6 6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}function t1({size:i=14,className:e}){return I.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:[I.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M3 10h18M9 10v9",stroke:"currentColor",strokeWidth:"2"})]})}function n1({size:i=14,className:e}){return I.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:[I.jsx("ellipse",{cx:"12",cy:"6",rx:"8",ry:"3",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M4 6v6c0 1.7 3.6 3 8 3s8-1.3 8-3V6",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M4 12v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6",stroke:"currentColor",strokeWidth:"2"})]})}function i1({size:i=14,className:e}){return I.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:[I.jsx("rect",{x:"7",y:"2",width:"10",height:"20",rx:"2",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M11 18h2",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})}function s1({size:i=14,className:e}){return I.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:I.jsx("path",{d:"M12 5v14M5 12h14",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}function r1({size:i=14,className:e}){return I.jsx("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:I.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}function a1({size:i=16,className:e}){return I.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",className:e,"aria-hidden":!0,children:[I.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M9 3v18",stroke:"currentColor",strokeWidth:"2"})]})}function l1({editorRef:i}){const{hasDatabase:e}=Ut(),{running:t,runQuery:s,openSaveDialog:a,formatActiveSql:o,clearActiveSql:E}=Oi(),T=()=>{var A;const c=(A=i.current)==null?void 0:A.getSqlToRun();s(c)};return I.jsxs("div",{className:"sql-toolbar",children:[I.jsxs("div",{className:"sql-toolbar__left",children:[I.jsxs("button",{type:"button",className:"query-run-button",disabled:!e||t,onClick:T,title:e?"Run query or selection (Ctrl+Enter)":"Refresh to load database snapshot",children:[I.jsx(e1,{}),t?"Running…":"Run"]}),I.jsx("button",{type:"button",className:"sql-toolbar__secondary",disabled:!e,onClick:o,title:"Format SQL (Ctrl+Shift+F)",children:"Format"}),I.jsx("button",{type:"button",className:"sql-toolbar__secondary",onClick:E,title:"Clear the editor",children:"Clear"}),I.jsx("button",{type:"button",className:"sql-toolbar__secondary",onClick:a,title:"Save current query as a favorite",children:"Save favorite"}),I.jsx("span",{className:"sql-toolbar__hint",children:"Ctrl+Enter to run selection or all"})]}),I.jsx("div",{className:"sql-toolbar__right",children:I.jsx("span",{className:"field-label__hint",children:"Read-only"})})]})}function o1(){const{history:i,loadFromHistory:e,clearHistory:t}=Oi();return i.length===0?I.jsx("p",{className:"sql-sidebar__empty",children:"No query history yet."}):I.jsxs(I.Fragment,{children:[I.jsx("div",{className:"sql-sidebar__actions",children:I.jsx("button",{type:"button",className:"sql-sidebar__link",onClick:t,children:"Clear history"})}),I.jsx("ul",{className:"sql-sidebar__list",children:i.map(s=>I.jsx("li",{children:I.jsxs("button",{type:"button",className:`sql-sidebar__item ${s.error?"sql-sidebar__item--error":""}`,onClick:()=>e(s.id),children:[I.jsx("span",{className:"sql-sidebar__item-title mono",children:ab(s)}),I.jsxs("span",{className:"sql-sidebar__item-meta",children:[new Date(s.ranAt).toLocaleString(),s.error?" · Error":` · ${s.rowCount??0} rows`]})]})},s.id))})]})}function E1(){const{favorites:i,loadFavorite:e,deleteFavorite:t}=Oi();return i.length===0?I.jsx("p",{className:"sql-sidebar__empty",children:"No saved favorites yet."}):I.jsx("ul",{className:"sql-sidebar__list",children:i.map(s=>{var a;return I.jsxs("li",{className:"sql-sidebar__favorite",children:[I.jsxs("button",{type:"button",className:"sql-sidebar__item",onClick:()=>e(s.id),children:[I.jsx("span",{className:"sql-sidebar__item-title",children:s.name}),I.jsx("span",{className:"sql-sidebar__item-meta mono",children:(a=s.sql.trim().split(`
|
|
98
|
+
`)[0])==null?void 0:a.slice(0,40)})]}),I.jsx("button",{type:"button",className:"sql-sidebar__delete","aria-label":`Delete ${s.name}`,onClick:()=>t(s.id),children:"×"})]},s.id)})})}function u1(){const[i,e]=y.useState("history");return I.jsxs("div",{className:"history-panel",children:[I.jsxs("div",{className:"explorer-tabs history-panel__tabs",role:"tablist","aria-label":"Saved queries",children:[I.jsx("button",{type:"button",role:"tab","aria-selected":i==="history",className:`explorer-tabs__item ${i==="history"?"explorer-tabs__item--active":""}`,onClick:()=>e("history"),children:"History"}),I.jsx("button",{type:"button",role:"tab","aria-selected":i==="favorites",className:`explorer-tabs__item ${i==="favorites"?"explorer-tabs__item--active":""}`,onClick:()=>e("favorites"),children:"Favorites"})]}),I.jsx("div",{className:"history-panel__content",children:i==="history"?I.jsx(o1,{}):I.jsx(E1,{})})]})}function T1(i){switch(i){case"requested":return"Requesting sync…";case"exporting":return"Exporting on device…";case"uploading":return"Uploading snapshot…";case"ready":return"Snapshot ready";case"failed":case"timeout":return"Sync failed";default:return null}}function sE(){const{connectionState:i,selectedDeviceId:e,refreshState:t,syncState:s,refreshError:a,refresh:o,canRefreshFromDevice:E}=Ut(),T=!E||t==="refreshing",c=T1(s);return I.jsxs("div",{className:"refresh-control",children:[I.jsx("button",{type:"button",className:"refresh-button",disabled:T,onClick:o,"aria-busy":t==="refreshing",children:t==="refreshing"?"Refreshing…":"Refresh"}),c&&t==="refreshing"&&I.jsx("span",{className:"refresh-control__status",children:c}),a&&t==="error"&&I.jsx("span",{className:"refresh-control__error",role:"alert",title:a,children:a.length>48?`${a.slice(0,48)}…`:a})]})}function c1(i,e){return i===null&&e===null?0:i===null?1:e===null?-1:typeof i=="number"&&typeof e=="number"?i-e:String(i).localeCompare(String(e))}function A1({columns:i,rows:e}){const[t,s]=y.useState({column:null,direction:"asc"}),[a,o]=y.useState(null),E=y.useMemo(()=>{if(!t.column)return e;const A=i.indexOf(t.column);return A<0?e:[...e].sort((R,O)=>{const d=c1(R[A]??null,O[A]??null);return t.direction==="asc"?d:-d})},[i,e,t.column,t.direction]),T=A=>{s(R=>R.column!==A?{column:A,direction:"asc"}:R.direction==="asc"?{column:A,direction:"desc"}:{column:null,direction:"asc"})},c=async(A,R)=>{const O=A===null?"NULL":String(A);await navigator.clipboard.writeText(O),o(R),window.setTimeout(()=>o(null),1500)};return I.jsxs("div",{className:"query-results-grid",children:[I.jsxs("p",{className:"query-results-grid__meta",children:["Showing ",E.length," row",E.length===1?"":"s",a?" · Copied":" · Click a cell to copy"]}),I.jsx("div",{className:"data-table-wrapper",children:I.jsxs("table",{className:"data-table",children:[I.jsx("thead",{children:I.jsx("tr",{children:i.map(A=>I.jsx("th",{children:I.jsxs("button",{type:"button",className:`data-grid__sort ${t.column===A?"data-grid__sort--active":""}`,onClick:()=>T(A),children:[I.jsx("span",{children:A}),t.column===A&&I.jsx("span",{className:"data-grid__sort-indicator",children:t.direction==="asc"?"↑":"↓"})]})},A))})}),I.jsx("tbody",{children:E.map((A,R)=>I.jsx("tr",{children:A.map((O,d)=>{const L=`${R}-${d}`;return I.jsx("td",{children:I.jsx("button",{type:"button",className:"query-results-grid__cell",onClick:()=>void c(O,L),children:O===null?I.jsx("span",{className:"data-grid__null",children:"NULL"}):String(O)})},L)})},R))})]})})]})}const h1=[{format:"copy",label:"Copy"},{format:"csv",label:"CSV"},{format:"json",label:"JSON"},{format:"excel",label:"Excel"}];function R1({disabled:i=!1}){const{copyResults:e,exportCsv:t,exportJson:s,exportExcel:a}=Oi(),[o,E]=y.useState(!1),T=y.useRef(null),c=y.useId();y.useEffect(()=>{if(!o)return;const R=d=>{var L;(L=T.current)!=null&&L.contains(d.target)||E(!1)},O=d=>{d.key==="Escape"&&E(!1)};return document.addEventListener("mousedown",R),document.addEventListener("keydown",O),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",O)}},[o]),y.useEffect(()=>{i&&E(!1)},[i]);const A=R=>{switch(R){case"copy":e();break;case"csv":t();break;case"json":s();break;case"excel":a();break}E(!1)};return I.jsxs("div",{className:"results-export",ref:T,children:[I.jsxs("button",{type:"button",className:"sql-toolbar__secondary results-export__trigger",disabled:i,"aria-expanded":o,"aria-haspopup":"menu","aria-controls":c,onClick:()=>E(R=>!R),children:["Export",I.jsx(Wo,{expanded:o,size:12})]}),o&&I.jsx("menu",{id:c,className:"results-export__menu",role:"menu","aria-label":"Export results",children:h1.map(R=>I.jsx("li",{role:"none",children:I.jsx("button",{type:"button",role:"menuitem",onClick:()=>A(R.format),children:R.label})},R.format))})]})}function EC(){const{result:i,copyStatus:e}=Oi(),t=!i||i.columns.length===0;return I.jsx("div",{className:"results-toolbar",children:I.jsxs("div",{className:"results-toolbar__actions",children:[I.jsx(R1,{disabled:t}),e&&I.jsx("span",{className:"results-toolbar__status",children:e})]})})}function S1(){const{hasDatabase:i}=Ut(),{result:e,error:t,running:s}=Oi(),{setBottomPanelTab:a}=pr();return i?s?I.jsx("div",{className:"sql-results explorer-empty",children:I.jsx("div",{className:"loading-skeleton loading-skeleton--text",children:"Running query…"})}):t?I.jsxs("div",{className:"sql-results explorer-empty",children:[I.jsx("p",{className:"query-error",role:"alert",children:t}),I.jsx("button",{type:"button",className:"sql-toolbar__secondary",onClick:()=>a("output"),children:"View details in Output"})]}):e?e.columns.length===0?I.jsxs("div",{className:"sql-results",children:[I.jsx(EC,{}),I.jsx("p",{className:"panel__footer",children:"Query completed with no result set."})]}):I.jsxs("div",{className:"sql-results",children:[I.jsx(EC,{}),I.jsx(A1,{columns:e.columns,rows:e.rows})]}):I.jsxs("div",{className:"sql-results explorer-empty",children:[I.jsx("p",{children:"Run a query to see results here."}),I.jsx("p",{className:"bottom-panel__placeholder",children:"Tip: click a table in Object Explorer, or use SELECT TOP 100 from the context menu."})]}):I.jsxs("div",{className:"sql-results explorer-empty explorer-empty--panel",children:[I.jsx("p",{className:"explorer-empty__title",children:"No database loaded"}),I.jsx("p",{className:"explorer-empty__text",children:"Refresh to sync a snapshot from the device."}),I.jsx(sE,{})]})}function f1({column:i}){const{sortColumn:e,sortDir:t,toggleSort:s}=Bi(),a=e===i;return I.jsxs("button",{type:"button",className:`data-grid__sort ${a?"data-grid__sort--active":""}`,onClick:()=>s(i),children:[I.jsx("span",{children:i}),a&&I.jsx("span",{className:"data-grid__sort-indicator",children:t==="asc"?"↑":"↓"})]})}function O1(){const{tablePage:i}=Bi();return i?i.columns.length===0?I.jsx("div",{className:"explorer-empty",children:I.jsx("p",{children:"This table has no columns."})}):i.rows.length===0?I.jsx("div",{className:"explorer-empty",children:I.jsx("p",{children:"No rows match your search."})}):I.jsx("div",{className:"data-table-wrapper data-grid",children:I.jsxs("table",{className:"data-table",children:[I.jsx("thead",{children:I.jsx("tr",{children:i.columns.map(e=>I.jsx("th",{children:I.jsx(f1,{column:e})},e))})}),I.jsx("tbody",{children:i.rows.map((e,t)=>I.jsx("tr",{className:"data-grid__row",children:e.map((s,a)=>I.jsx("td",{children:s===null?I.jsx("span",{className:"data-grid__null",children:"NULL"}):String(s)},a))},t))})]})}):I.jsx("div",{className:"explorer-empty",children:I.jsx("p",{children:"Select a table to view rows."})})}function N1(i,e){const t=i.trim();if(t===""||t.toLowerCase()==="null")return null;if(/INT|REAL|NUM|DEC|FLOAT|DOUBLE/i.test(e)){const s=Number(t);if(!Number.isNaN(s))return s}return t}function d1({onClose:i}){const{selectedTable:e,tableColumns:t,bumpDataVersion:s}=Bi(),{executeWrite:a,requestConfirm:o,transactionOpen:E}=KR(),[T,c]=y.useState(()=>{const d={};for(const L of t)d[L.name]=L.defaultValue??"";return d}),[A,R]=y.useState(!1);if(!e||!E)return null;const O=()=>{o({title:"Insert row",message:`Insert a new row into ${e}?`,confirmLabel:"Insert",onConfirm:async()=>{R(!0);try{const d=Object.fromEntries(t.filter(L=>(T[L.name]??"").trim()!==""||L.notNull).map(L=>[L.name,N1(T[L.name]??"",L.type)]));await a({kind:"insert",table:e,values:d}),s(),i()}finally{R(!1)}}})};return I.jsxs(I.Fragment,{children:[I.jsx("button",{type:"button",className:"confirm-dialog__backdrop","aria-label":"Close dialog",onClick:i}),I.jsxs("div",{className:"confirm-dialog insert-row-dialog",role:"dialog","aria-labelledby":"insert-row-title",children:[I.jsxs("h3",{id:"insert-row-title",className:"confirm-dialog__title",children:["Insert row into ",I.jsx("span",{className:"mono",children:e})]}),I.jsx("div",{className:"insert-row-dialog__fields",children:t.map(d=>I.jsx(I1,{column:d,value:T[d.name]??"",onChange:L=>c(p=>({...p,[d.name]:L}))},d.name))}),I.jsxs("div",{className:"confirm-dialog__actions",children:[I.jsx("button",{type:"button",className:"button button--ghost",onClick:i,children:"Cancel"}),I.jsx("button",{type:"button",className:"button button--primary",disabled:A,onClick:O,children:A?"Inserting…":"Insert"})]})]})]})}function I1({column:i,value:e,onChange:t}){return I.jsxs("label",{className:"insert-row-dialog__field",children:[I.jsxs("span",{className:"insert-row-dialog__label mono",children:[i.name,i.notNull&&I.jsx("span",{className:"insert-row-dialog__required",children:"*"})]}),I.jsx("input",{type:"text",className:"insert-row-dialog__input mono",value:e,placeholder:i.pk?"auto":i.type,onChange:s=>t(s.target.value)})]})}function C1({embedded:i=!1}){const{selectedTable:e,view:t,setView:s,tablePage:a,rowSearch:o,setRowSearch:E}=Bi(),{editMode:T,transactionOpen:c}=KR(),[A,R]=y.useState(!1);return e?I.jsxs("div",{className:`explorer-toolbar ${i?"explorer-toolbar--embedded":""}`,children:[I.jsxs("div",{className:"explorer-toolbar__left",children:[I.jsx("h2",{className:"explorer-toolbar__title mono",children:e}),a&&I.jsxs("span",{className:"explorer-toolbar__meta",children:[a.totalCount.toLocaleString()," row",a.totalCount===1?"":"s"]})]}),I.jsx("div",{className:"explorer-toolbar__center",children:I.jsxs("div",{className:"explorer-tabs",role:"tablist","aria-label":"Table views",children:[I.jsx("button",{type:"button",role:"tab","aria-selected":t==="data",className:`explorer-tabs__item ${t==="data"?"explorer-tabs__item--active":""}`,onClick:()=>s("data"),title:"Browse table rows",children:"Data"}),I.jsx("button",{type:"button",role:"tab","aria-selected":t==="schema",className:`explorer-tabs__item ${t==="schema"?"explorer-tabs__item--active":""}`,onClick:()=>s("schema"),title:"View table schema",children:"Schema"})]})}),I.jsxs("div",{className:"explorer-toolbar__right",children:[t==="data"&&T&&c&&I.jsx("button",{type:"button",className:"button button--ghost explorer-toolbar__insert",onClick:()=>R(!0),children:"+ Insert row"}),t==="data"&&I.jsx("input",{type:"search",className:"explorer-search explorer-search--compact",placeholder:"Search rows…",value:o,onChange:O=>E(O.target.value),"aria-label":"Search rows"})]}),A&&I.jsx(d1,{onClose:()=>R(!1)})]}):null}function _1(){const{page:i,setPage:e,pageSize:t,setPageSize:s,totalPages:a,tablePage:o}=Bi();return o?I.jsxs("div",{className:"pagination-bar",children:[I.jsx("div",{className:"pagination-bar__left",children:I.jsxs("label",{className:"pagination-bar__label",children:["Rows per page",I.jsx("select",{className:"explorer-select",value:t,onChange:E=>s(Number(E.target.value)),children:MC.map(E=>I.jsx("option",{value:E,children:E},E))})]})}),I.jsxs("div",{className:"pagination-bar__center",children:["Page ",i," of ",a,I.jsxs("span",{className:"pagination-bar__count",children:["(",o.totalCount.toLocaleString()," total)"]})]}),I.jsxs("div",{className:"pagination-bar__right",children:[I.jsx("button",{type:"button",className:"pagination-bar__button",disabled:i<=1,onClick:()=>e(i-1),children:"Previous"}),I.jsx("button",{type:"button",className:"pagination-bar__button",disabled:i>=a,onClick:()=>e(i+1),children:"Next"})]})]}):null}function L1(){const{selectedTable:i,tableColumns:e}=Bi();return i?e.length===0?I.jsx("div",{className:"explorer-empty",children:I.jsx("p",{children:"No schema information for this table."})}):I.jsx("div",{className:"schema-tree schema-view",children:I.jsxs("details",{className:"schema-tree__table",open:!0,children:[I.jsx("summary",{className:"schema-tree__summary mono",children:i}),I.jsx("ul",{className:"schema-tree__columns",children:e.map(t=>I.jsxs("li",{className:"schema-tree__column",children:[I.jsx("span",{className:"mono",children:t.name}),I.jsx("span",{className:"schema-tree__type",children:t.type}),t.pk&&I.jsx("span",{className:"schema-tree__badge",children:"PK"}),t.notNull&&I.jsx("span",{className:"schema-tree__badge",children:"NOT NULL"}),t.defaultValue!==null&&I.jsxs("span",{className:"schema-tree__default mono",children:["default ",t.defaultValue]})]},t.name))})]})}):I.jsx("div",{className:"explorer-empty",children:I.jsx("p",{children:"Select a table to view schema."})})}function m1(){const{hasDatabase:i}=Ut(),{selectedTable:e,view:t}=Bi();return i?e?I.jsxs("div",{className:"table-browse-panel",children:[I.jsx(C1,{embedded:!0}),I.jsx("div",{className:"table-browse-panel__content",children:t==="data"?I.jsx(O1,{}):I.jsx(L1,{})}),t==="data"&&I.jsx(_1,{})]}):I.jsx("div",{className:"explorer-empty",children:I.jsx("p",{children:"Select a table in Object Explorer to browse data or schema."})}):I.jsxs("div",{className:"explorer-empty explorer-empty--panel",children:[I.jsx("p",{className:"explorer-empty__title",children:"No database loaded"}),I.jsx("p",{className:"explorer-empty__text",children:"Refresh to browse table data on the Data tab."}),I.jsx(sE,{})]})}function p1(i,e,t){switch(i){case"results":return e===null?"Results":`Results (${e})`;case"data":return"Data";case"output":return t?"Output •":"Output";case"history":return"History"}}const D1=["results","data","output","history"];function g1(){const{bottomPanelTab:i,setBottomPanelTab:e,outputUnread:t}=pr(),{result:s,error:a,lastMessage:o,executionMeta:E}=Oi(),{selectedTable:T}=Bi(),c=(s==null?void 0:s.rowCount)??null,A=R=>{e(R)};return I.jsxs("div",{className:"bottom-panel",children:[I.jsxs("div",{className:"bottom-panel__header",children:[I.jsx("div",{className:"bottom-panel__tabs",role:"tablist","aria-label":"Output panels",children:D1.map(R=>I.jsx("button",{type:"button",role:"tab","aria-selected":i===R,className:`bottom-panel__tab ${i===R?"bottom-panel__tab--active":""} ${R==="output"&&t?"bottom-panel__tab--unread":""}`,onClick:()=>A(R),children:p1(R,R==="results"?c:null,t)},R))}),T&&i==="data"&&I.jsx("p",{className:"bottom-panel__breadcrumb mono",children:T})]}),I.jsxs("div",{className:"bottom-panel__content",role:"tabpanel",children:[i==="results"&&I.jsx(S1,{}),i==="data"&&I.jsx(m1,{}),i==="output"&&I.jsx("div",{className:"bottom-panel__messages",children:a?I.jsx("p",{className:"query-error",role:"alert",children:a}):o?I.jsx("p",{className:"bottom-panel__message",children:o}):E?I.jsxs("p",{className:"bottom-panel__message",children:["Last query: ",E.rowCount," row",E.rowCount===1?"":"s"," in"," ",E.durationMs.toFixed(1)," ms"]}):I.jsx("p",{className:"bottom-panel__placeholder",children:"Query messages, timing info, and errors appear here."})}),i==="history"&&I.jsx("div",{className:"bottom-panel__history",children:I.jsx(u1,{})})]})]})}function M1(i){return`SELECT * FROM "${i.replace(/"/g,'""')}"
|
|
99
|
+
LIMIT 100;`}function P1(){const{selectedDevice:i,deviceDisplayName:e,hasDatabase:t,tables:s,snapshotMeta:a}=Ut(),{selectedTable:o,setSelectedTable:E,setView:T}=Bi(),{insertSql:c,insertSqlAndRun:A}=Oi(),{setBottomPanelTab:R}=pr(),[O,d]=y.useState(""),[L,p]=y.useState(null),g=y.useMemo(()=>RC(s,O),[s,O]);if(!t)return I.jsx("div",{className:"object-explorer object-explorer--empty",children:I.jsx("p",{children:"No database loaded for this device."})});const v=(i==null?void 0:i.deviceId)??(a==null?void 0:a.deviceId)??"unknown",B=`${e} (${Zo(v)})`,K=(a==null?void 0:a.databaseName)??(a==null?void 0:a.kind)??"sqlite",Z=j=>{E(j),T("data"),R("data"),p(null)},Te=j=>{E(j),T("schema"),R("data"),p(null)},$=(j,ce=!1)=>{const he=M1(j);ce?A(he):(c(he),R("results")),p(null)},ae=(j,ce)=>{j.preventDefault(),p({tableName:ce,x:j.clientX,y:j.clientY})};return I.jsxs("div",{className:"object-explorer",role:"tree","aria-label":"Object Explorer",children:[I.jsxs("div",{className:"object-explorer__header",children:[I.jsx("h2",{className:"object-explorer__title",children:"Object Explorer"}),t&&I.jsx("input",{type:"search",className:"explorer-search",placeholder:"Filter tables…",value:O,onChange:j=>d(j.target.value),"aria-label":"Filter tables"})]}),I.jsx("div",{className:"object-explorer__tree",children:I.jsxs("details",{className:"object-explorer__node",open:!0,children:[I.jsxs("summary",{className:"object-explorer__summary",children:[I.jsx(Wo,{expanded:!0}),I.jsx(i1,{}),I.jsx("span",{className:"object-explorer__label",children:B})]}),t?I.jsxs("details",{className:"object-explorer__node object-explorer__node--nested",open:!0,children:[I.jsxs("summary",{className:"object-explorer__summary",children:[I.jsx(Wo,{expanded:!0}),I.jsx(n1,{}),I.jsx("span",{className:"object-explorer__label",children:K})]}),I.jsxs("details",{className:"object-explorer__node object-explorer__node--nested",open:!0,children:[I.jsxs("summary",{className:"object-explorer__summary",children:[I.jsx(Wo,{expanded:!0}),I.jsx("span",{className:"object-explorer__label",children:"Tables"}),I.jsx("span",{className:"object-explorer__count",children:g.length})]}),g.length===0?I.jsx("p",{className:"object-explorer__hint",children:"No tables match your search."}):I.jsx("ul",{className:"object-explorer__list",role:"group",children:g.map(j=>I.jsx("li",{className:`object-explorer__table ${o===j.name?"object-explorer__table--active":""}`,role:"treeitem","aria-selected":o===j.name,children:I.jsxs("button",{type:"button",className:"object-explorer__table-row",onClick:()=>Z(j.name),onDoubleClick:()=>$(j.name,!0),onContextMenu:ce=>ae(ce,j.name),children:[I.jsx(t1,{}),I.jsx("span",{className:"object-explorer__table-name mono",children:j.name}),I.jsx("span",{className:"object-explorer__count",children:j.rowCount})]})},j.name))})]})]}):I.jsxs("div",{className:"object-explorer__hint-block",children:[I.jsx("p",{className:"object-explorer__hint",children:"Refresh to load database objects."}),I.jsx(sE,{})]})]})}),L&&I.jsxs(I.Fragment,{children:[I.jsx("button",{type:"button",className:"object-explorer__menu-backdrop","aria-label":"Close table menu",onClick:()=>p(null)}),I.jsxs("menu",{className:"object-explorer__menu",style:{top:L.y,left:L.x},children:[I.jsx("button",{type:"button",onClick:()=>$(L.tableName,!0),children:"SELECT TOP 100 & Run"}),I.jsx("button",{type:"button",onClick:()=>$(L.tableName),children:"SELECT TOP 100"}),I.jsx("button",{type:"button",onClick:()=>Z(L.tableName),children:"Browse data"}),I.jsx("button",{type:"button",onClick:()=>Te(L.tableName),children:"View schema"})]})]})]})}function U1(){const{tabs:i,activeTabId:e,switchTab:t,createTab:s,closeTab:a,renameTab:o}=Oi(),[E,T]=y.useState(null),[c,A]=y.useState(""),R=(d,L)=>{T(d),A(L)},O=()=>{E&&o(E,c),T(null),A("")};return I.jsxs("div",{className:"query-tabs",role:"tablist","aria-label":"Query tabs",children:[i.map(d=>{const L=d.id===e,p=E===d.id;return I.jsxs("div",{className:`query-tabs__tab ${L?"query-tabs__tab--active":""}`,children:[p?I.jsx("input",{className:"query-tabs__rename",value:c,autoFocus:!0,onChange:g=>A(g.target.value),onBlur:O,onKeyDown:g=>{g.key==="Enter"&&O(),g.key==="Escape"&&T(null)}}):I.jsxs("button",{type:"button",role:"tab","aria-selected":L,className:"query-tabs__button",title:d.sql.trim().split(`
|
|
100
|
+
`)[0]??d.title,onClick:()=>t(d.id),onDoubleClick:()=>R(d.id,d.title),children:[d.title,d.dirty?"*":""]}),i.length>1&&I.jsx("button",{type:"button",className:"query-tabs__close","aria-label":`Close ${d.title}`,onClick:()=>a(d.id),children:I.jsx(r1,{size:12})})]},d.id)}),I.jsx("button",{type:"button",className:"query-tabs__add","aria-label":"New query tab",onClick:s,children:I.jsx(s1,{})})]})}function y1({onResize:i,containerRef:e,minRatio:t=.2,maxRatio:s=.75}){const a=y.useRef(!1),o=y.useCallback(E=>{E.preventDefault(),a.current=!0;const T=A=>{if(!a.current||!e.current)return;const R=e.current.getBoundingClientRect(),O=(A.clientY-R.top)/R.height;i(Math.min(s,Math.max(t,O)))},c=()=>{a.current=!1,window.removeEventListener("mousemove",T),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",T),window.addEventListener("mouseup",c)},[e,s,t,i]);return I.jsx("div",{className:"resize-splitter",role:"separator","aria-orientation":"horizontal","aria-label":"Resize editor and results",onMouseDown:o})}const b1=[{keys:"Ctrl+Enter",description:"Run query (or selection)"},{keys:"Ctrl+Shift+F",description:"Format SQL"},{keys:"?",description:"Show keyboard shortcuts"}];function v1(){const{shortcutsOpen:i,setShortcutsOpen:e}=pr();return i?I.jsxs(I.Fragment,{children:[I.jsx("button",{type:"button",className:"shortcuts-dialog__backdrop","aria-label":"Close shortcuts",onClick:()=>e(!1)}),I.jsxs("div",{className:"shortcuts-dialog",role:"dialog","aria-labelledby":"shortcuts-title",children:[I.jsx("h2",{id:"shortcuts-title",className:"shortcuts-dialog__title",children:"Keyboard shortcuts"}),I.jsx("ul",{className:"shortcuts-dialog__list",children:b1.map(t=>I.jsxs("li",{className:"shortcuts-dialog__row",children:[I.jsx("kbd",{className:"shortcuts-dialog__keys",children:t.keys}),I.jsx("span",{children:t.description})]},t.keys))}),I.jsx("div",{className:"shortcuts-dialog__actions",children:I.jsx("button",{type:"button",className:"sql-toolbar__secondary",onClick:()=>e(!1),children:"Close"})})]})]}):null}function G1(){const{hasDatabase:i}=Ut();return i?null:I.jsxs("div",{className:"workspace-empty workspace-empty--inline",children:[I.jsxs("div",{children:[I.jsx("p",{className:"workspace-empty__title",children:"No database loaded"}),I.jsx("p",{className:"workspace-empty__text",children:"Refresh to pull a snapshot from the device before running SQL or browsing tables."})]}),I.jsx(sE,{})]})}function B1(){const{hasDatabase:i}=Ut(),{sql:e,setSql:t,runQuery:s,formatActiveSql:a}=Oi(),{objectExplorerOpen:o,toggleObjectExplorer:E,editorSplitRatio:T,setEditorSplitRatio:c,setShortcutsOpen:A}=pr(),R=y.useRef(null),O=y.useRef(null);return y.useEffect(()=>{const d=L=>{if(L.key==="?"&&!L.ctrlKey&&!L.metaKey&&!L.altKey){const p=L.target;if(p!=null&&p.closest('input, textarea, [contenteditable="true"], .cm-content'))return;L.preventDefault(),A(!0)}if((L.ctrlKey||L.metaKey)&&L.shiftKey&&L.key.toLowerCase()==="f"){const p=L.target;p!=null&&p.closest(".cm-editor")&&(L.preventDefault(),a())}};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[a,A]),i?I.jsxs("section",{className:"panel panel--workspace",children:[I.jsx(v1,{}),I.jsx(Hb,{}),I.jsxs("div",{className:`workspace ${o?"":"workspace--explorer-collapsed"}`,children:[o&&I.jsx("aside",{className:"workspace__explorer",children:I.jsx(P1,{})}),I.jsxs("div",{className:"workspace__main",children:[I.jsxs("div",{className:"workspace__main-header",children:[I.jsx("button",{type:"button",className:"workspace__toggle-explorer","aria-label":o?"Hide Object Explorer":"Show Object Explorer","aria-pressed":o,onClick:E,children:I.jsx(a1,{})}),I.jsx(U1,{})]}),I.jsx(G1,{}),I.jsxs("div",{className:"workspace__editor-area",ref:R,children:[I.jsxs("div",{className:"workspace__editor-pane",style:{flexGrow:T,flexShrink:1,flexBasis:0,minHeight:120},children:[I.jsx(l1,{editorRef:O}),I.jsx(Qx,{ref:O,value:e,onChange:t,onRun:s,disabled:!i})]}),I.jsx(y1,{containerRef:R,onResize:c}),I.jsx("div",{className:"workspace__results-pane",style:{flexGrow:1-T,flexShrink:1,flexBasis:0,minHeight:160},children:I.jsx(g1,{})})]})]})]})]}):I.jsx("section",{className:"panel panel--workspace panel--workspace-empty",children:I.jsx("div",{className:"workspace-empty workspace-empty--centered",children:I.jsxs("div",{children:[I.jsx("p",{className:"workspace-empty__title",children:"No database loaded"}),I.jsx("p",{className:"workspace-empty__text",children:"Select a device with a saved export, or connect a mobile app and refresh once to create an export file."})]})})})}function x1({activeNav:i,onNavigate:e}){const t=i===ns.WORKSPACE,s=i===ns.OVERVIEW,{setBottomPanelTab:a}=pr(),{setSelectedTable:o,setView:E}=Bi(),T=()=>e(ns.WORKSPACE),c=()=>{e(ns.WORKSPACE),a("data")},A=()=>{e(ns.WORKSPACE),a("results")},R=O=>{e(ns.WORKSPACE),o(O),E("data"),a("data")};return I.jsxs("main",{className:`main-content ${t?"main-content--workspace":""} ${s?"main-content--overview":""}`,children:[s&&I.jsxs("div",{className:"overview-page",children:[I.jsx(pb,{onOpenWorkspace:T}),I.jsx(xb,{onBrowseTable:R,onBrowseTables:c,onOpenWorkspace:T,onRunSql:A})]}),t&&I.jsx(B1,{})]})}function H1({icon:i}){return i==="overview"?I.jsx(zx,{}):I.jsx(Zx,{})}function w1({activeNav:i,onNavChange:e,isOpen:t,onClose:s,collapsed:a,onToggleCollapse:o}){return I.jsxs(I.Fragment,{children:[I.jsx("div",{className:`sidebar-backdrop ${t?"sidebar-backdrop--visible":""}`,onClick:s,"aria-hidden":!t}),I.jsxs("aside",{className:`sidebar ${t?"sidebar--open":""} ${a?"sidebar--collapsed":""}`,children:[I.jsx("nav",{className:"sidebar__nav","aria-label":"DevTools sections",children:mb.map(E=>I.jsxs("button",{type:"button",className:`sidebar__item ${i===E.id?"sidebar__item--active":""}`,"aria-current":i===E.id?"page":void 0,title:a?E.label:void 0,onClick:()=>{e(E.id),s()},children:[I.jsx("span",{className:"sidebar__icon","aria-hidden":!0,children:I.jsx(H1,{icon:E.icon})}),!a&&I.jsx("span",{className:"sidebar__label",children:E.label})]},E.id))}),I.jsx("button",{type:"button",className:"sidebar__collapse","aria-label":a?"Expand navigation":"Collapse navigation",onClick:o,children:I.jsx(Wo,{expanded:!a})})]})]})}function Y1(i){return i.length<=20?i:`${i.slice(0,10)}…${i.slice(-6)}`}function F1(i){const e=Math.floor((Date.now()-i)/6e4);if(e<1)return"just now";if(e<60)return`${e}m ago`;const t=Math.floor(e/60);return t<24?`${t}h ago`:`${Math.floor(t/24)}d ago`}function uC(i){return i==="connected"?"No device or export available":i==="reconnecting"||i==="connecting"?"Connecting to hub…":"Hub disconnected — run npx database-devtools"}function V1(){const{connectionState:i,deviceStatus:e,deviceExports:t,selectedDeviceId:s,setSelectedDeviceId:a}=Ut(),o=(e==null?void 0:e.mobiles)??[],E=new Set(o.map(R=>R.deviceId)),T=new Set(o.map(R=>{var O;return(O=R.metadata)==null?void 0:O.bundleId}).filter(R=>!!R)),c=t.filter(R=>!(!R.deviceId||E.has(R.deviceId)||R.bundleId&&T.has(R.bundleId))),A=o.length===0&&c.length===0;return I.jsxs("div",{className:"device-selector",children:[I.jsx("label",{className:"device-selector__label",htmlFor:"device-select",children:"Device"}),I.jsx("select",{id:"device-select",className:"device-selector__select",disabled:A,value:s??"",onChange:R=>a(R.target.value||null),title:A?uC(i):void 0,children:A?I.jsx("option",{value:"",children:uC(i)}):I.jsxs(I.Fragment,{children:[o.length>0&&I.jsx("optgroup",{label:"Connected",children:o.map(R=>{var O,d;return I.jsxs("option",{value:R.deviceId,children:[((O=R.metadata)==null?void 0:O.appName)??"Mobile App",(d=R.metadata)!=null&&d.platform?` (${R.metadata.platform})`:""," — ",Y1(R.deviceId)]},R.deviceId)})}),c.length>0&&I.jsx("optgroup",{label:"Offline exports",children:c.map(R=>I.jsxs("option",{value:R.deviceId,children:[R.label||R.databaseName," — ",Zo(R.deviceId),` (${F1(R.updatedAt)})`]},R.storageKey??R.deviceId))})]})})]})}function k1(){const{theme:i,toggleTheme:e}=db();return I.jsx("button",{type:"button",className:"theme-toggle",onClick:e,"aria-label":`Switch to ${i==="dark"?"light":"dark"} theme`,title:`Switch to ${i==="dark"?"light":"dark"} theme`,children:i==="dark"?I.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[I.jsx("circle",{cx:"12",cy:"12",r:"4",stroke:"currentColor",strokeWidth:"2"}),I.jsx("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):I.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:I.jsx("path",{d:"M21 14.5A8.5 8.5 0 1 1 9.5 3a6.5 6.5 0 0 0 11.5 11.5Z",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round"})})})}function W1(i,e){if(!e)return null;switch(i){case"requested":return"Requesting sync…";case"exporting":return"Exporting on device…";case"uploading":return"Uploading snapshot…";case"ready":return"Snapshot ready";default:return"Refreshing database…"}}function X1(){const{refreshState:i,syncState:e}=Ut(),{running:t}=Oi(),s=W1(e,i==="refreshing");return!t&&!s?null:I.jsxs("div",{className:"activity-indicator",role:"status","aria-live":"polite",children:[I.jsx("span",{className:"activity-indicator__spinner","aria-hidden":!0}),I.jsx("span",{children:t?"Running query…":s})]})}function K1({onMenuToggle:i,menuExpanded:e=!1}){const{connectionState:t,refreshError:s}=Ut(),a=t!=="connected";return I.jsxs("div",{className:"top-bar",children:[I.jsxs("div",{className:"top-bar__left",children:[I.jsx("button",{type:"button",className:"top-bar__menu-button",onClick:i,"aria-expanded":e,"aria-label":"Toggle navigation",children:I.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:I.jsx("path",{d:"M4 7h16M4 12h16M4 17h16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}),I.jsxs("div",{className:"top-bar__brand",children:[I.jsx("span",{className:"top-bar__logo","aria-hidden":!0,children:"DB"}),I.jsx("h1",{className:"top-bar__title",children:"Database DevTools"})]})]}),I.jsx("div",{className:"top-bar__center",children:I.jsx(V1,{})}),I.jsxs("div",{className:"top-bar__right",children:[a&&I.jsx("span",{className:"top-bar__hub-chip",title:"Run npx database-devtools to start the hub and browser UI",children:"Hub offline"}),s&&!a&&I.jsx("span",{className:"top-bar__hub-chip top-bar__hub-chip--error",title:s,children:"Refresh failed"}),I.jsx(X1,{}),I.jsx(sE,{}),I.jsx(Vu,{state:t,label:`Hub ${t}`}),I.jsx(k1,{})]})]})}function j1(){const{refreshError:i,connectionState:e}=Ut();return!i||e!=="connected"?null:I.jsx("div",{className:"connection-help",role:"status",children:I.jsx("p",{className:"connection-help__text connection-help__text--error",children:i})})}function q1({onOpenWorkspace:i}){const{hasDatabase:e}=Ut(),t=y.useRef(!1);return y.useEffect(()=>{e&&!t.current&&(t.current=!0,i())},[e,i]),null}function $1(){const[i,e]=y.useState(ns.WORKSPACE),[t,s]=y.useState(!1),[a,o]=y.useState(!1),{navCollapsed:E,setNavCollapsed:T}=pr(),c=Lb(),A=()=>e(ns.WORKSPACE);y.useEffect(()=>{c||s(!1)},[c]);const R=()=>{if(c){s(d=>!d);return}o(d=>!d)},O=c?t:!a;return I.jsxs(I.Fragment,{children:[I.jsxs("div",{className:"devtools-shell",children:[I.jsxs("header",{className:"devtools-shell__header",children:[I.jsx(K1,{menuExpanded:O,onMenuToggle:R}),I.jsxs("div",{className:"devtools-chrome",children:[I.jsx(j1,{}),jN,jN]})]}),I.jsxs("div",{className:`devtools-body ${E?"devtools-body--nav-collapsed":""} ${!c&&a?"devtools-body--nav-hidden":""}`,children:[I.jsx(w1,{activeNav:i,collapsed:E,isOpen:t,onClose:()=>s(!1),onNavChange:e,onToggleCollapse:()=>T(!E)}),I.jsx(x1,{activeNav:i,onNavigate:e})]})]}),I.jsx(Cb,{}),I.jsx(_b,{}),I.jsx(q1,{onOpenWorkspace:A})]})}function J1(){return I.jsx(Nb,{children:I.jsx(WD,{children:I.jsx(KD,{children:I.jsx(eg,{children:I.jsx(jD,{children:I.jsx($D,{children:I.jsx(Rb,{children:I.jsx(fb,{children:I.jsx($1,{})})})})})})})})})}Qp(()=>aD);SC();Xp.createRoot(document.getElementById("root")).render(I.jsx(y.StrictMode,{children:I.jsx(J1,{})}));
|