@lokascript/hyperscript-adapter 6.2.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -1
- package/dist/hyperscript-i18n-ar.global.js +1 -1
- package/dist/hyperscript-i18n-bn.global.js +1 -1
- package/dist/hyperscript-i18n-de.global.js +1 -1
- package/dist/hyperscript-i18n-east-asian.global.js +1 -1
- package/dist/hyperscript-i18n-en.global.js +1 -1
- package/dist/hyperscript-i18n-es.global.js +1 -1
- package/dist/hyperscript-i18n-fr.global.js +1 -1
- package/dist/hyperscript-i18n-he.global.js +1 -1
- package/dist/hyperscript-i18n-hi.global.js +1 -1
- package/dist/hyperscript-i18n-id.global.js +1 -1
- package/dist/hyperscript-i18n-it.global.js +1 -1
- package/dist/hyperscript-i18n-ja.global.js +1 -1
- package/dist/hyperscript-i18n-ko.global.js +1 -1
- package/dist/hyperscript-i18n-ms.global.js +1 -1
- package/dist/hyperscript-i18n-pl.global.js +1 -1
- package/dist/hyperscript-i18n-pt.global.js +1 -1
- package/dist/hyperscript-i18n-qu.global.js +7 -7
- package/dist/hyperscript-i18n-ru.global.js +1 -1
- package/dist/hyperscript-i18n-slavic.global.js +1 -1
- package/dist/hyperscript-i18n-south-asian.global.js +1 -1
- package/dist/hyperscript-i18n-southeast-asian.global.js +1 -1
- package/dist/hyperscript-i18n-sw.global.js +1 -1
- package/dist/hyperscript-i18n-th.global.js +1 -1
- package/dist/hyperscript-i18n-tl.global.js +1 -1
- package/dist/hyperscript-i18n-tr.global.js +7 -7
- package/dist/hyperscript-i18n-uk.global.js +1 -1
- package/dist/hyperscript-i18n-vi.global.js +1 -1
- package/dist/hyperscript-i18n-western.global.js +1 -1
- package/dist/hyperscript-i18n-zh.global.js +1 -1
- package/dist/hyperscript-i18n.global.js +2 -2
- package/dist/hyperscript-i18n.global.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,7 +4,7 @@ var HyperscriptI18n=(function(exports){'use strict';function Dt(e,t){return t?{t
|
|
|
4
4
|
`))return e;let n=e.tokens,i=null;for(let a=1;a<n.length;a++){let o=n[a];t.slice(n[a-1].position.end,o.position.start).includes(`
|
|
5
5
|
`)&&(i??(i=n.slice()),i[a]={...o,metadata:{...o.metadata,lineStart:true}});}return i?new me(i,r):e}var mu=()=>false;function o0(e){mu=e;}function u0(e,t){let r=e.tokens,n=[],i=false;for(let a=0;a<r.length;a++){let o=r[a],u=r[a-1],s=a+2;for(;s<r.length&&r[s]?.value!==")"&&r[s-1].position.end===r[s].position.start;)s++;let l=r.slice(a+1,s),c=l.map(y=>y.value).join(""),p=l[0],m=l[l.length-1];if(o.value==="("&&p&&m&&r[s]?.value===")"&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u.test(c)&&!(p.kind!=="particle"&&uu.has((p.normalized??p.value).toLowerCase()))&&mu(c,t)&&o.position.end===p.position.start&&m.position.end===r[s].position.start&&!(u&&u.position.end===o.position.start&&/[\p{L}\p{N}_)\]]$/u.test(u.value))){n.push({value:`(${c})`,kind:"identifier",position:{...o.position,end:r[s].position.end}}),a=s,i=true;continue}n.push(o);}return i?new me(n,t):e}function be(e){let t=Tt.get(e);if(!t&&ht(e)&&(t=Tt.get(vt(e))),t)return t;let r=Hn.get(e);if(!r&&ht(e)&&(r=Hn.get(vt(e))),r)return Tt.set(e,r),r;if(!Vn)throw new Error(`No patterns registered for language '${e}'. Either import the language module or set a pattern generator.`);let n=Qc(e),i=Vn(n);return Tt.set(e,i),i}function s0(e,t){return be(e).filter(r=>r.command===t).sort((r,n)=>n.priority-r.priority)}var fu=new Map;function yu(e,t){for(let[r,n]of t)fu.set(`${r}:${e}`,n);}function Ee(e,t){return fu.get(`${e}:${t}`)?.(F(t))}function l0(e){return Ee("toggle",e)??[]}function c0(e){return []}var Q=["selector","reference","expression"],mi=["literal","selector","expression","reference","property-path"],p0=["selector","reference","expression","property-path"],vu=["selector","reference"],hu=["literal","selector","reference","expression","property-path"],Wr=["literal","selector","reference","expression","property-path"],Eu=["selector","reference","expression","property-path"],Ye=["literal","expression"],d0=["literal","expression"],qr=["literal","expression","reference"],fi=["literal","expression"],yi=["expression"],gu=["expression","selector"],vi=["reference","expression"],Vr=["selector","reference","expression"],wu=["literal"],ku=["expression","reference","selector"],hi=["literal","expression","reference","property-path"],Cu=["selector","reference","expression"];[...Eu];[...Wr];var m0=[{lang:"ar",verb:"\u0636\u0639",verbAlts:["\u0627\u062C\u0639\u0644"],before:"\u0642\u0628\u0644",after:"\u0628\u0639\u062F"},{lang:"de",verb:"setzen",before:"vor",after:"nach"},{lang:"fr",verb:"mettre",before:"avant",after:"apr\xE8s"},{lang:"he",verb:"\u05E9\u05D9\u05DD",patientPrefix:"\u05D0\u05EA",before:"\u05DC\u05E4\u05E0\u05D9",after:"\u05D0\u05D7\u05E8\u05D9"},{lang:"id",verb:"taruh",verbAlts:["letakkan","masukkan","tempatkan"],before:"sebelum",after:"setelah"},{lang:"ms",verb:"letak",before:"sebelum",after:"selepas"},{lang:"pt",verb:"colocar",before:"antes",after:"depois"},{lang:"sw",verb:"weka",before:"kabla",after:"baada"},{lang:"tl",verb:"ilagay",verbAlts:["maglagay"],before:"bago",after:"matapos"},{lang:"zh",verb:"\u653E\u7F6E",verbAlts:["\u653E","\u653E\u5165"],patientPrefix:"\u628A",patientPrefixOptional:true,before:"\u4E4B\u524D",after:"\u4E4B\u540E"}],Hr=[{lang:"es",verb:"poner",verbAlts:["pon","colocar","put"],at:"en",end:"fin",of:"de"},{lang:"fr",verb:"mettre",at:"\xE0",end:"fin",of:"de"},{lang:"pt",verb:"colocar",at:"em",end:"fim",of:"de"},{lang:"it",verb:"mettere",at:"a",end:"fine",of:"di"},{lang:"de",verb:"setzen",at:"bei",end:"ende",of:"von"},{lang:"sw",verb:"weka",at:"katika",end:"mwisho",of:"ya"},{lang:"id",verb:"taruh",verbAlts:["letakkan","masukkan","tempatkan"],at:"di",end:"akhir",of:"dari"},{lang:"ms",verb:"letak",at:"di",end:"tamat",of:"daripada"},{lang:"vi",verb:"\u0111\u1EB7t",at:"t\u1EA1i",end:"k\u1EBFt th\xFAc",of:"c\u1EE7a",ofMe:"c\u1EE7a t\xF4i"},{lang:"pl",verb:"umie\u015B\u0107",at:"przy",end:"koniec",of:"z",ofAlts:["ze"]},{lang:"ru",verb:"\u043F\u043E\u043B\u043E\u0436\u0438\u0442\u044C",at:"\u0443",end:"\u043A\u043E\u043D\u0435\u0446",of:"\u0438\u0437"},{lang:"uk",verb:"\u043F\u043E\u043A\u043B\u0430\u0441\u0442\u0438",at:"\u0432",end:"\u043A\u0456\u043D\u0435\u0446\u044C",of:"\u0437"},{lang:"th",verb:"\u0E43\u0E2A\u0E48",at:"\u0E17\u0E35\u0E48",end:"\u0E08\u0E1A",of:"\u0E02\u0E2D\u0E07"},{lang:"tl",verb:"ilagay",at:"sa",end:"wakas",of:"ng"},{lang:"ar",verb:"\u0636\u0639",at:"\u0639\u0646\u062F",end:"\u0627\u0644\u0646\u0647\u0627\u064A\u0629",of:"\u0645\u0646"},{lang:"zh",verb:"\u653E\u7F6E",verbAlts:["\u653E","\u653E\u5165"],patientPrefix:"\u628A",at:"\u5728",end:"\u7ED3\u675F",of:"\u7684"},{lang:"he",verb:"\u05E9\u05D9\u05DD",patientPrefix:"\u05D0\u05EA",at:"\u05D1",end:"\u05E1\u05D5\u05E3",of:"\u05E9\u05DC"},{lang:"tr",verb:"koy",sov:true,objMarker:"i",at:"de",end:"son",of:"nin"},{lang:"ja",verb:"\u7F6E\u304F",sov:true,objMarker:"\u3092",at:"\u3067",end:"\u7D42\u308F\u308A",of:"\u306E"},{lang:"ko",verb:"\uB123\uB2E4",sov:true,objMarker:"\uB97C",at:"\uC5D0",end:"\uB05D",of:"\uC758"},{lang:"hi",verb:"\u0930\u0916\u0947\u0902",verbAlts:["\u0930\u0916","\u0921\u093E\u0932\u0947\u0902","\u0921\u093E\u0932"],sov:true,objMarker:"\u0915\u094B",at:"\u092A\u0930",end:"\u0938\u092E\u093E\u092A\u094D\u0924",of:"\u0915\u093E"},{lang:"bn",verb:"\u09B0\u09BE\u0996\u09C1\u09A8",verbAlts:["\u09B0\u09BE\u0996"],sov:true,objMarker:"\u0995\u09C7",at:"\u098F",end:"\u09B6\u09C7\u09B7",of:"\u09B0"},{lang:"qu",verb:"churay",sov:true,objMarker:"ta",at:"pi",end:"tukuy",of:"pa"}];function Ei(e,t,r,n){let i=Hr.find(a=>a.lang===e);return i?Kn(t,i.end)&&Kn(r,i.at)&&zu(i,n):false}function bu(e,t){let r=(t??"").toLowerCase();return r===e.of.toLowerCase()||(e.ofAlts??[]).some(n=>n.toLowerCase()===r)}function zu(e,t){return bu(e,t)||e.ofMe!==void 0&&Kn(t,e.ofMe)}var Kn=(e,t)=>(e??"").toLowerCase()===t.toLowerCase();function f0(e,t){let r=Hr.find(i=>i.lang===e);if(!r)return false;let n=t.toLowerCase();return n===r.at.toLowerCase()||bu(r,n)||n===r.end.toLowerCase()}function y0(e,t,r){let n=Hr.find(i=>i.lang===e);return !n||r===void 0?false:t.toLowerCase()===n.end.toLowerCase()&&zu(n,r)}function v0(e){let t=Hr.find(u=>u.lang===e);if(!t)return [];let r=[],n=t.verbAlts?{type:"literal",value:t.verb,alternatives:t.verbAlts}:{type:"literal",value:t.verb},i=(u,s)=>{r.push(s?{type:"literal",value:u,alternatives:s}:{type:"literal",value:u});};t.sov?(r.push({type:"role",role:"patient"}),i(t.at),i(t.end),i(t.of,t.ofAlts),r.push({type:"role",role:"destination"}),t.objMarker&&r.push({type:"literal",value:t.objMarker}),r.push(n)):(r.push(n),t.patientPrefix&&r.push({type:"literal",value:t.patientPrefix}),r.push({type:"role",role:"patient"}),i(t.at),i(t.end),i(t.of,t.ofAlts),r.push({type:"role",role:"destination"}));let a=[{id:`put-${t.lang}-at-end`,language:t.lang,command:"put",priority:110,template:{format:`put {patient} ${t.at} ${t.end} ${t.of} {destination}`,tokens:r},extraction:{manner:{default:{type:"literal",value:"at end of"}}}}];if(!t.ofMe||t.sov)return a;let o=[...r.slice(0,-2),{type:"literal",value:t.ofMe}];return [...a,{id:`put-${t.lang}-at-end-of-me`,language:t.lang,command:"put",priority:110,parseOnly:true,template:{format:`put {patient} ${t.at} ${t.end} ${t.ofMe}`,tokens:o},extraction:{manner:{default:{type:"literal",value:"at end of"}},destination:{default:{type:"reference",value:"me"}}}}]}function h0(e){let t=m0.find(r=>r.lang===e);return t?["before","after"].map(r=>{let n=t[r],i=[t.verbAlts?{type:"literal",value:t.verb,alternatives:t.verbAlts}:{type:"literal",value:t.verb}];return t.patientPrefix&&i.push(t.patientPrefixOptional?{type:"group",optional:true,tokens:[{type:"literal",value:t.patientPrefix}]}:{type:"literal",value:t.patientPrefix}),i.push({type:"role",role:"patient"},{type:"literal",value:n},{type:"role",role:"destination"}),{id:`put-${t.lang}-${r}`,language:t.lang,command:"put",priority:105,template:{format:`${t.verb} {patient} ${n} {destination}`,tokens:i},extraction:{patient:{position:t.patientPrefix&&!t.patientPrefixOptional?2:1},destination:{marker:n},manner:{default:{type:"literal",value:r}}}}}):[]}function E0(e){let t=h0(e),r=v0(e),n=Ee("put",e);return e==="en"?n??[]:n?[...n,...e==="id"||e==="zh"?t:[],...r]:[...t,...r]}var xe={ko:{\uD074\uB9AD:"click",\uC785\uB825:"input",\uBCC0\uACBD:"change",\uC81C\uCD9C:"submit",\uD0A4\uB2E4\uC6B4:"keydown",\uD0A4\uC5C5:"keyup",\uB9C8\uC6B0\uC2A4\uC624\uBC84:"mouseover",\uB9C8\uC6B0\uC2A4\uC544\uC6C3:"mouseout",\uB9C8\uC6B0\uC2A4\uB2E4\uC6B4:"mousedown",\uB9C8\uC6B0\uC2A4\uC5C5:"mouseup",\uD3EC\uCEE4\uC2A4:"focus",\uBE14\uB7EC:"blur",\uB85C\uB4DC:"load",\uB9AC\uC0AC\uC774\uC988:"resize",\uC2A4\uD06C\uB864:"scroll",\uB9C8\uC6B0\uC2A4\uC5D4\uD130:"mouseenter",\uB9C8\uC6B0\uC2A4\uB9AC\uBE0C:"mouseleave",\uB9C8\uC6B0\uC2A4\uBB34\uBE0C:"mousemove",\uD0A4\uD504\uB808\uC2A4:"keypress",\uD130\uCE58\uC885\uB8CC:"touchend",\uD130\uCE58\uCDE8\uC18C:"touchcancel",\uB354\uBE14\uD074\uB9AD:"dblclick"},ja:{\u30AF\u30EA\u30C3\u30AF:"click",\u5165\u529B:"input",\u5909\u66F4:"change",\u9001\u4FE1:"submit",\u30AD\u30FC\u30C0\u30A6\u30F3:"keydown",\u30AD\u30FC\u30A2\u30C3\u30D7:"keyup",\u30AD\u30FC\u30D7\u30EC\u30B9:"keypress",\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC:"mouseover",\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8:"mouseout",\u30DE\u30A6\u30B9\u62BC\u4E0B:"mousedown",\u30DE\u30A6\u30B9\u89E3\u653E:"mouseup",\u30D5\u30A9\u30FC\u30AB\u30B9:"focus",\u30D6\u30E9\u30FC:"blur",\u30ED\u30FC\u30C9:"load",\u8AAD\u307F\u8FBC\u307F:"load",\u30B5\u30A4\u30BA\u5909\u66F4:"resize",\u30B9\u30AF\u30ED\u30FC\u30EB:"scroll",\u307C\u304B\u3057:"blur"},ar:{\u0627\u0644\u0646\u0642\u0631:"click",\u0646\u0642\u0631:"click",\u0627\u0644\u0625\u062F\u062E\u0627\u0644:"input",\u0625\u062F\u062E\u0627\u0644:"input",\u0627\u0644\u062A\u063A\u064A\u064A\u0631:"change",\u062A\u063A\u064A\u064A\u0631:"change",\u0627\u0644\u0625\u0631\u0633\u0627\u0644:"submit",\u0625\u0631\u0633\u0627\u0644:"submit","\u0636\u063A\u0637 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keydown","\u0631\u0641\u0639 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keyup","\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0645\u0627\u0648\u0633":"mouseover",\u0627\u0644\u062A\u0631\u0643\u064A\u0632:"focus",\u062A\u062D\u0645\u064A\u0644:"load",\u062A\u0645\u0631\u064A\u0631:"scroll",\u062A\u0631\u0643\u064A\u0632:"focus","\u0645\u0641\u062A\u0627\u062D \u0623\u0633\u0641\u0644":"keydown","\u0645\u0641\u062A\u0627\u062D \u0623\u0639\u0644\u0649":"keyup","\u0641\u0623\u0631\u0629 \u0641\u0648\u0642":"mouseover","\u062A\u063A\u064A\u064A\u0631 \u062D\u062C\u0645":"resize",\u0636\u0628\u0627\u0628\u064A\u0629:"blur"},es:{clic:"click",click:"click",entrada:"input",cambio:"change",env\u00EDo:"submit",enviar:"submit","tecla abajo":"keydown","tecla arriba":"keyup","rat\xF3n encima":"mouseover","rat\xF3n fuera":"mouseout",enfoque:"focus",desenfoque:"blur",carga:"load",desplazamiento:"scroll",cambiar:"change",enfocar:"focus",desenfocar:"blur",cargar:"load",desplazar:"scroll",dobleclic:"dblclick",rat\u00F3nentrar:"mouseenter",rat\u00F3nsalir:"mouseleave",rat\u00F3nmover:"mousemove",teclapresar:"keypress",descargar:"unload",toqueempezar:"touchstart",toqueterminar:"touchend",toquemover:"touchmove",toquecancelar:"touchcancel",redimensionar:"resize","rat\xF3n abajo":"mousedown","rat\xF3n arriba":"mouseup"},tr:{t\u0131klama:"click",t\u0131kla:"click",t\u0131k:"click",giri\u015F:"input",girdi:"input",de\u011Fi\u015Fiklik:"change",de\u011Fi\u015Fim:"change",g\u00F6nderme:"submit",g\u00F6nder:"submit",tu\u015Fbasma:"keydown",tu\u015Fb\u0131rakma:"keyup",fare_bas:"mousedown",fare_b\u0131rak:"mouseup",farei\u00E7inde:"mouseover",fared\u0131\u015F\u0131nda:"mouseout",odaklanma:"focus",odak:"focus",bulan\u0131kl\u0131k:"blur",y\u00FCkleme:"load",y\u00FCkle:"load",boyutland\u0131rma:"resize",boyutland\u0131r:"resize",kayd\u0131rma:"scroll",bulan\u0131k:"blur",farebas:"mousedown",fareb\u0131rak:"mouseup",kayd\u0131r:"scroll"},pt:{clique:"click",clicar:"click",click:"click",entrada:"input",inserir:"input",mudan\u00E7a:"change",mudanca:"change",alterar:"change",envio:"submit",enviar:"submit","tecla baixo":"keydown","tecla cima":"keyup","pressionar tecla":"keydown","soltar tecla":"keyup","mouse sobre":"mouseover","mouse fora":"mouseout",foco:"focus",focar:"focus",desfoque:"blur",desfocar:"blur",carregar:"load",carregamento:"load",rolagem:"scroll",rolar:"scroll",duploClique:"dblclick",mouseEntrar:"mouseenter",mouseSair:"mouseleave",mouseMover:"mousemove",teclaPressionar:"keypress",descarregar:"unload",toqueIn\u00EDcio:"touchstart",toqueFim:"touchend",toqueMover:"touchmove",toqueCancelar:"touchcancel",redimensionar:"resize","mouse pressionado":"mousedown","mouse solto":"mouseup"},zh:{\u70B9\u51FB:"click",\u5355\u51FB:"click",\u53CC\u51FB:"dblclick",\u8F93\u5165:"input",\u6539\u53D8:"change",\u53D8\u5316:"change",\u53D8\u66F4:"change",\u63D0\u4EA4:"submit",\u53D1\u9001:"submit",\u6309\u952E:"keydown",\u952E\u5165:"keydown",\u677E\u952E:"keyup",\u9F20\u6807\u8FDB\u5165:"mouseover",\u9F20\u6807\u79FB\u5165:"mouseover",\u9F20\u6807\u79BB\u5F00:"mouseout",\u9F20\u6807\u79FB\u51FA:"mouseout",\u7126\u70B9:"focus",\u805A\u7126:"focus",\u5931\u7126:"blur",\u6A21\u7CCA:"blur",\u52A0\u8F7D:"load",\u8F7D\u5165:"load",\u6EDA\u52A8:"scroll",\u6309\u952E\u6309\u4E0B:"keydown",\u9F20\u6807\u79FB\u52A8:"mousemove",\u5378\u8F7D:"unload",\u8C03\u6574\u5927\u5C0F:"resize",\u89E6\u6478\u5F00\u59CB:"touchstart",\u89E6\u6478\u79FB\u52A8:"touchmove"},fr:{clic:"click",cliquer:"click",click:"click",saisie:"input",entr\u00E9e:"input",changement:"change",changer:"change",soumettre:"submit",soumission:"submit",envoi:"submit","touche bas":"keydown","touche haut":"keyup","souris dessus":"mouseover","souris dehors":"mouseout",focus:"focus",focaliser:"focus",d\u00E9focus:"blur",d\u00E9focaliser:"blur",chargement:"load",charger:"load",d\u00E9filement:"scroll",d\u00E9filer:"scroll",flou:"blur",doubleclic:"dblclick",sourisentrer:"mouseenter",sourissortir:"mouseleave",sourisbouger:"mousemove",touchepress\u00E9e:"keypress",d\u00E9charger:"unload",touchercommencer:"touchstart",toucherfin:"touchend",toucherbouger:"touchmove",toucherannuler:"touchcancel",redimensionner:"resize"},de:{klick:"click",klicken:"click",click:"click",eingabe:"input",eingeben:"input",\u00E4nderung:"change",\u00E4ndern:"change",absenden:"submit",einreichen:"submit","taste runter":"keydown","taste hoch":"keyup","maus \xFCber":"mouseover","maus raus":"mouseout",fokus:"focus",fokussieren:"focus",defokussieren:"blur",unsch\u00E4rfe:"blur",laden:"load",ladung:"load",scrollen:"scroll",bl\u00E4ttern:"scroll","taste unten":"keydown","taste oben":"keyup","maus dr\xFCber":"mouseover","maus weg":"mouseout",doppelklick:"dblclick",mauseintreten:"mouseenter",mausverlassen:"mouseleave",mausbewegen:"mousemove",tastedr\u00FCcken:"keypress",entladen:"unload",ber\u00FChrungstart:"touchstart",ber\u00FChrungend:"touchend",ber\u00FChrungbewegen:"touchmove",ber\u00FChrungabbrechen:"touchcancel",gr\u00F6\u00DFen\u00E4nderung:"resize"},id:{klik:"click",click:"click",masukan:"input",input:"input",ubah:"change",perubahan:"change",kirim:"submit","tekan tombol":"keydown","lepas tombol":"keyup","mouse masuk":"mouseover","mouse keluar":"mouseout",fokus:"focus",blur:"blur",muat:"load",memuat:"load",gulir:"scroll",menggulir:"scroll",tekan_tombol:"keydown",keyup:"keyup",arahkan:"mouseover",tinggalkan:"mouseout",bongkar:"unload"},bn:{\u0995\u09CD\u09B2\u09BF\u0995:"click",\u0987\u09A8\u09AA\u09C1\u099F:"input",\u099C\u09AE\u09BE:"submit",\u09B2\u09CB\u09A1:"load",\u09B8\u09CD\u0995\u09CD\u09B0\u09CB\u09B2:"scroll",\u09B0\u09BF\u09B8\u09BE\u0987\u099C:"resize",\u099D\u09BE\u09AA\u09B8\u09BE:"blur",\u09AB\u09CB\u0995\u09BE\u09B8:"focus",\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09A8:"change"},qu:{\u00F1itiy:"click",kambiay:"change",qhaway:"focus",apakuy:"load",apaykachay:"submit",click:"click","\xF1it'iy":"click",yaykuchiy:"input",yaykuy:"input",tikray:"change","t'ikray":"change",apachiy:"submit",kachay:"submit","llave uray":"keydown","llave hawa":"keyup","q'away":"focus",paqariy:"blur","mana q'away":"blur",cargay:"load",apamuy:"load",kunray:"scroll",muyuy:"scroll",hatun_kay:"resize",rat\u00F1itiy:"mousedown",rathuqariy:"mouseup"},sw:{bofya:"click",click:"click",kubofya:"click",ingiza:"input",kubadilisha:"change",mabadiliko:"change",tuma:"submit",kutuma:"submit","bonyeza chini":"keydown","bonyeza juu":"keyup","panya juu":"mouseover","panya nje":"mouseout",lenga:"focus",kulenga:"focus",blur:"blur",pakia:"load",kupakia:"load",sogeza:"scroll",kusogeza:"scroll",bonyeza:"click",ingizo:"input",kitufe_shuka:"keydown",kitufe_juu:"keyup",panya_nje:"mouseout",wasilisha:"submit","sogeza juu":"mouseover",shuka:"unload"},he:{\u05DC\u05D7\u05D9\u05E6\u05D4:"click",\u05E9\u05D9\u05E0\u05D5\u05D9:"change",\u05E7\u05DC\u05D8:"input",\u05E9\u05DC\u05D9\u05D7\u05D4:"submit",\u05DE\u05E7\u05D3:"focus",\u05D8\u05E9\u05D8\u05E9:"blur"},hi:{\u0915\u094D\u0932\u093F\u0915:"click",\u092A\u0930\u093F\u0935\u0930\u094D\u0924\u0928:"change",\u0907\u0928\u092A\u0941\u091F:"input",\u091C\u092E\u093E:"submit",\u0932\u094B\u0921:"load",\u092B\u094B\u0915\u0938:"focus",\u0927\u0941\u0902\u0927\u0932\u093E:"blur",\u092E\u093E\u0909\u0938\u0928\u0940\u091A\u0947:"mousedown",\u092E\u093E\u0909\u0938\u090A\u092A\u0930:"mouseup"},it:{clic:"click",cambio:"change",invio:"submit",carica:"load",fuoco:"focus",sfuocare:"blur",scorrimento:"scroll",ridimensiona:"resize"},pl:{klikni\u0119cie:"click",zmiana:"change",wej\u015Bcie:"input",wys\u0142aniu:"submit",rozmycie:"blur",przewi\u0144:"scroll","zmiana rozmiaru":"resize"},ru:{\u043A\u043B\u0438\u043A:"click",\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435:"change",\u0432\u0432\u043E\u0434:"input",\u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0430:"submit",\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430:"load",\u0444\u043E\u043A\u0443\u0441:"focus",\u043C\u044B\u0448\u044C\u0432\u043D\u0438\u0437:"mousedown",\u043C\u044B\u0448\u044C\u0432\u0432\u0435\u0440\u0445:"mouseup",\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u0440\u0430\u0437\u043C\u0435\u0440\u0430:"resize"},th:{\u0E04\u0E25\u0E34\u0E01:"click",\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07:"change",\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15:"input",\u0E2A\u0E48\u0E07:"submit",\u0E42\u0E2B\u0E25\u0E14:"load",\u0E42\u0E1F\u0E01\u0E31\u0E2A:"focus",\u0E40\u0E1A\u0E25\u0E2D:"blur",\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19:"scroll",\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14:"resize"},uk:{\u043A\u043B\u0456\u043A:"click",\u0437\u043C\u0456\u043D\u0430:"change",\u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F:"input",\u043D\u0430\u0434\u0441\u0438\u043B\u0430\u043D\u043D\u044F:"submit",\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F:"load",\u0444\u043E\u043A\u0443\u0441:"focus",\u043C\u0438\u0448\u0430\u0432\u043D\u0438\u0437:"mousedown",\u043C\u0438\u0448\u0430\u0432\u0433\u043E\u0440\u0443:"mouseup",\u0437\u043C\u0456\u043D\u0430\u0440\u043E\u0437\u043C\u0456\u0440\u0443:"resize"},vi:{"\u0111\u1ED5i k\xEDch th\u01B0\u1EDBc":"resize",nh\u1EA5p:"click",nh\u1EADp:"input",cu\u1ED9n:"scroll",n\u1ED9p:"submit"}};function Au(e,t){let r=xe[t];return r&&r[e]?r[e]:e.toLowerCase()}function g0(e,t){let r=xe[t];return r?Object.keys(r).filter(n=>r[n]===e):[]}var w0=Object.fromEntries(Object.entries(xe).map(([e,t])=>{let r={};for(let[n,i]of Object.entries(t))i in r||(r[i]=n);return [e,r]})),k0={ar:new Set(["mouseover"]),bn:new Set(["every","reset","resize"]),de:new Set(["keydown","keyup","load","mouseout","mouseover","reset"]),fr:new Set(["blur","reset"]),id:new Set(["input","keyup","mouseout","mouseover","resize"]),ja:new Set(["keypress","mousedown","mouseup","reset","resize"]),qu:new Set(["reset","resize"]),sw:new Set(["change","click","input","keydown","keyup","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","resize","submit"]),tr:new Set(["keydown","keyup","load","mousedown","mouseout","mouseover","mouseup","reset","resize","scroll"]),zh:new Set(["focus","keyup","mouseout","mouseover","reset"]),hi:new Set(["dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","resize","scroll","touchcancel","touchend","touchmove","touchstart","unload"]),it:new Set(["dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","touchcancel","touchend","touchmove","touchstart","unload"]),pl:new Set(["dblclick","focus","keydown","keypress","keyup","load","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","touchcancel","touchend","touchmove","touchstart","unload"]),ru:new Set(["blur","dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","scroll","touchcancel","touchend","touchmove","touchstart","unload"]),th:new Set(["every","keydown","keyup","mouseout","mouseover","reset"]),uk:new Set(["blur","dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","scroll","touchcancel","touchend","touchmove","touchstart","unload"]),ms:new Set(["every"]),tl:new Set(["every"]),ko:new Set(["reset"]),es:new Set(["reset"]),pt:new Set(["reset"])};function C0(e,t){return k0[t]?.has(e)?e:w0[t]?.[e]??e}function b0(e){return Ee("event-handler",e)??[]}function z0(e){return []}function A0(e){return Ee("add",e)??[]}function x0(e){return Ee("remove",e)??[]}[...Q];function D0(e){return Ee("show",e)??[]}[...Q];function S0(e){return Ee("hide",e)??[]}[...mi];function B0(e){return e.map(t=>t.extraction?.scope?t:{...t,template:{...t.template,tokens:[...t.template.tokens,{type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"scope",optional:true,expectedTypes:vu}]}]},extraction:{...t.extraction,scope:{marker:"on"}}})}function T0(e){let t=Ee("set",e);return t?B0(t):[]}[...hu];function F0(e){return Ee("get",e)??[]}function P0(e){return Ee("increment",e)??[]}function O0(e){return Ee("decrement",e)??[]}function L0(e){if(e==="en")return [];let t=F(e),r=t?.keywords?.wait,n=t?.keywords?.event;if(!t||!r?.primary||!n?.primary)return [];let i=c=>({type:"literal",value:c.primary,...c.alternatives?.length?{alternatives:[...c.alternatives]}:{}}),a={type:"role",role:"event",expectedTypes:Ye},o=t.roleMarkers?.patient,u=o&&o.position!=="after"?[{type:"group",optional:true,tokens:[i(o)]}]:[],s=t.wordOrder==="SOV",l=s?[i(n),a,i(r)]:[i(r),...u,i(n),a];return [{id:`wait-${e}-event-head`,language:e,command:"wait",priority:110,parseOnly:true,template:{format:s?`${n.primary} {event} ${r.primary}`:`${r.primary} ${n.primary} {event}`,tokens:l},extraction:{event:{position:s?1:2+u.length}}}]}function R0(e){return [...Ee("wait",e)??[],...L0(e)]}function _0(e){return Ee("fetch",e)??[]}var gi={ar:["\u0645\u0631\u0627\u062A","\u0645\u0631\u0629"],bn:["\u09AC\u09BE\u09B0"],de:["mal","Mal"],es:["veces","vez"],fr:["fois"],he:["\u05E4\u05E2\u05DE\u05D9\u05DD","\u05E4\u05E2\u05DD"],hi:["\u092C\u093E\u0930"],id:["kali"],it:["volte","volta"],ja:["\u56DE","\u5EA6"],ko:["\uBC88","\uD68C"],ms:["kali"],pl:["razy","raz"],pt:["vezes","vez"],qu:["kuti"],ru:["\u0440\u0430\u0437","\u0440\u0430\u0437\u0430"],sw:["mara"],th:["\u0E04\u0E23\u0E31\u0E49\u0E07"],tl:["beses"],tr:["kez","kere","defa"],uk:["\u0440\u0430\u0437\u0456\u0432","\u0440\u0430\u0437\u0438","\u0440\u0430\u0437"],vi:["l\u1EA7n"],zh:["\u6B21","\u904D"]};function xu(e,t){let r=[...gi[e]??[],"times"].filter(n=>n!==t);return {type:"literal",value:t,alternatives:r}}function N0(e,t,r,n){let i=[];return i.push({type:"literal",value:t}),n&&i.push({type:"literal",value:n}),i.push({type:"role",role:"quantity",expectedTypes:hi}),i.push(xu(e,r)),{id:`repeat-${e}-times`,language:e,command:"repeat",priority:110,template:{format:`${t}${n?" "+n:""} {quantity} ${r}`,tokens:i},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}var Du=[["es","repetir","veces"],["de","wiederholen","mal"],["fr","r\xE9p\xE9ter","fois"],["it","ripetere","volte"],["pt","repetir","vezes"],["ru","\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","\u0440\u0430\u0437"],["uk","\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438","\u0440\u0430\u0437\u0456\u0432"],["pl","powt\xF3rz","razy"],["ar","\u0643\u0631\u0631","\u0645\u0631\u0627\u062A"],["he","\u05D7\u05D6\u05D5\u05E8","\u05E4\u05E2\u05DE\u05D9\u05DD","\u05D0\u05EA"],["id","ulangi","kali"],["ms","ulang","kali"],["sw","rudia","mara"],["th","\u0E17\u0E33\u0E0B\u0E49\u0E33","\u0E04\u0E23\u0E31\u0E49\u0E07"],["vi","l\u1EB7p l\u1EA1i","l\u1EA7n"],["tl","ulitin","beses"],["zh","\u91CD\u590D","\u6B21","\u628A"]];function M0(e,t,r,n){return {id:`repeat-${e}-times`,language:e,command:"repeat",priority:110,template:{format:`{quantity} ${t} ${r} ${n}`,tokens:[{type:"role",role:"quantity",expectedTypes:hi},xu(e,t),{type:"literal",value:r},{type:"literal",value:n,alternatives:["repeat"]}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}var Su=[["ja","\u56DE","\u3092","\u7E70\u308A\u8FD4\u3057"],["ko","\uBC88","\uB97C","\uBC18\uBCF5"],["tr","kez","i","tekrarla"],["hi","\u092C\u093E\u0930","\u0915\u094B","\u0926\u094B\u0939\u0930\u093E\u090F\u0902"],["bn","\u09AC\u09BE\u09B0","\u0995\u09C7","\u09AA\u09C1\u09A8\u09B0\u09BE\u09AC\u09C3\u09A4\u09CD\u09A4\u09BF"],["qu","kuti","ta","kutipay"]],I0=new Map([...Du.map(([e,t])=>[e,t]),...Su.map(([e,,,t])=>[e,t])]);function gt(e){let t=I0.get(e);return t?{type:"literal",value:t,alternatives:["repeat"]}:{type:"literal",value:"repeat"}}function $0(e,t,r){return {id:`repeat-${e}-word-first-times`,language:e,command:"repeat",priority:109,template:{format:`${t} ${r} {quantity}`,tokens:[{type:"literal",value:t},{type:"literal",value:r},{type:"role",role:"quantity",expectedTypes:hi}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}function ja(e,t,r=false){let n=[gt(e)];if(t.forWords&&t.forWords.length>0)if(t.requireForWords)for(let i of t.forWords)n.push({type:"literal",value:i});else n.push({type:"group",optional:true,tokens:t.forWords.map(i=>({type:"literal",value:i}))});n.push({type:"role",role:"patient",expectedTypes:vi});for(let i of t.inWords)n.push({type:"literal",value:i});return n.push({type:"role",role:"source",expectedTypes:Vr}),{id:r?`repeat-${e}-written-for-in`:`repeat-${e}-for-in`,language:e,command:"repeat",priority:r?111:110,template:{format:`repeat [${(t.forWords??[]).join(" ")}] {patient} ${t.inWords.join(" ")} {source}`,tokens:n},extraction:{loopType:{default:{type:"literal",value:"for"}}}}}var j0=[["en",{forWords:["for"],inWords:["in"],requireForWords:true}],["es",{forWords:["para"],inWords:["en"]}],["pt",{forWords:["para"],inWords:["dentro"]}],["fr",{forWords:["pour"],inWords:["en"]}],["it",{forWords:["per"],inWords:["in"]}],["de",{forWords:["f\xFCr"],inWords:["in"]}],["ru",{forWords:["\u0434\u043B\u044F"],inWords:["\u0432"]}],["uk",{forWords:["\u0434\u043B\u044F"],inWords:["\u0443"]}],["pl",{forWords:["dla"],inWords:["w"]}],["ar",{forWords:["\u0644\u0643\u0644"],inWords:["\u0641\u064A"]}],["he",{forWords:["\u05E2\u05D1\u05D5\u05E8","\u05D0\u05EA"],inWords:["\u05D1\u05EA\u05D5\u05DA"]}],["hi",{inWords:["\u092E\u0947\u0902"]}],["bn",{inWords:["\u098F"]}],["ja",{inWords:["\u306E\u4E2D"]}],["ko",{inWords:["\uC548\uC5D0"]}],["zh",{forWords:["\u4E3A","\u628A"],inWords:["\u5728"]}],["tr",{inWords:["i\xE7inde"]}],["id",{forWords:["untuk"],inWords:["dalam"]}],["ms",{forWords:["untuk"],inWords:["dalam"]}],["sw",{forWords:["kwa"],inWords:["ndani"]}],["th",{forWords:["\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A"],inWords:["\u0E43\u0E19"]}],["vi",{forWords:["v\u1EDBi m\u1ED7i"],inWords:["trong"]}],["tl",{forWords:["para_sa"],inWords:["sa_loob"]}],["qu",{inWords:["ukupi"]}]];function W0(e,t){let r=[gt(e)];for(let n of t.pre??[])r.push({type:"literal",value:n});return r.push({type:"literal",value:t.whileWord}),r.push({type:"role",role:"condition",expectedTypes:["property-path","expression"]}),{id:`repeat-${e}-while-head`,language:e,command:"repeat",priority:110,template:{format:`repeat ${(t.pre??[]).join(" ")} ${t.whileWord} {condition}`,tokens:r},extraction:{loopType:{default:{type:"literal",value:"while"}}}}}function q0(e,t){return {id:`repeat-${e}-while-head`,language:e,command:"repeat",priority:110,template:{format:`${t.whileWord} {condition} ${t.verb}`,tokens:[{type:"literal",value:t.whileWord},{type:"role",role:"condition",expectedTypes:["property-path","expression"]},{type:"literal",value:t.verb}]},extraction:{loopType:{default:{type:"literal",value:"while"}}}}}var V0=[["ja",{whileWord:"\u306E\u9593",verb:"\u7E70\u308A\u8FD4\u3057"}],["ko",{whileWord:"\uB3D9\uC548",verb:"\uBC18\uBCF5"}],["tr",{whileWord:"s\xFCresince",verb:"tekrarla"}],["hi",{whileWord:"\u091C\u092C \u0924\u0915",verb:"\u0926\u094B\u0939\u0930\u093E\u090F\u0902"}],["bn",{whileWord:"\u09AF\u09A4\u0995\u09CD\u09B7\u09A3",verb:"\u09AA\u09C1\u09A8\u09B0\u09BE\u09AC\u09C3\u09A4\u09CD\u09A4\u09BF"}],["qu",{whileWord:"kaykamaqa",verb:"kutipay"}]],H0=[["en",{whileWord:"while"}],["es",{whileWord:"mientras"}],["pt",{whileWord:"enquanto"}],["fr",{whileWord:"tantque"}],["it",{whileWord:"mentre"}],["de",{whileWord:"w\xE4hrend"}],["ru",{whileWord:"\u043F\u043E\u043A\u0430"}],["uk",{whileWord:"\u043F\u043E\u043A\u0438"}],["pl",{whileWord:"dop\xF3ki"}],["ar",{whileWord:"\u0628\u064A\u0646\u0645\u0627"}],["he",{pre:["\u05D0\u05EA"],whileWord:"\u05DB\u05DC \u05E2\u05D5\u05D3"}],["zh",{pre:["\u628A"],whileWord:"\u5F53"}],["id",{whileWord:"selama"}],["ms",{whileWord:"selagi"}],["sw",{whileWord:"wakati"}],["th",{whileWord:"\u0E43\u0E19\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48"}],["vi",{whileWord:"trong khi"}],["tl",{whileWord:"habang"}]];function Bu(e,t){let r=[gt(e)];for(let n of t.pre??[])r.push({type:"literal",value:n});return r.push({type:"literal",value:t.untilWord}),r.push({type:"role",role:"condition",expectedTypes:["property-path","expression"]}),{id:`repeat-${e}-until-condition-head`,language:e,command:"repeat",priority:105,template:{format:`repeat ${(t.pre??[]).join(" ")} ${t.untilWord} {condition}`,tokens:r},extraction:{loopType:{default:{type:"literal",value:"until"}}}}}function K0(e,t){return {id:`repeat-${e}-until-condition-head`,language:e,command:"repeat",priority:105,template:{format:`${t.untilWord} {condition} ${t.verb}`,tokens:[{type:"literal",value:t.untilWord},{type:"role",role:"condition",expectedTypes:["property-path","expression"]},{type:"literal",value:t.verb}]},extraction:{loopType:{default:{type:"literal",value:"until"}}}}}function U0(e,t){let r=[gt(e)];for(let n of t.pre??[])r.push({type:"literal",value:n});return r.push({type:"literal",value:t.untilWord}),t.preEvent&&r.push({type:"literal",value:t.preEvent}),r.push({type:"literal",value:t.eventWord}),r.push({type:"role",role:"event",expectedTypes:Ye}),r.push({type:"group",optional:true,tokens:[{type:"literal",value:t.fromWord},{type:"role",role:"source",expectedTypes:Q}]}),{id:`repeat-${e}-until-head`,language:e,command:"repeat",priority:110,template:{format:`repeat ${t.untilWord} ${t.eventWord} {event} [${t.fromWord} {source}]`,tokens:r},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}}}var G0=[["ja",{untilWord:"\u307E\u3067",verb:"\u7E70\u308A\u8FD4\u3057"}],["ko",{untilWord:"\uAE4C\uC9C0",verb:"\uBC18\uBCF5"}],["tr",{untilWord:"kadar",verb:"tekrarla"}],["hi",{untilWord:"\u0924\u0915",verb:"\u0926\u094B\u0939\u0930\u093E\u090F\u0902"}],["bn",{untilWord:"\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4",verb:"\u09AA\u09C1\u09A8\u09B0\u09BE\u09AC\u09C3\u09A4\u09CD\u09A4\u09BF"}],["qu",{untilWord:"kama",verb:"kutipay"}]],Y0=[["es",{untilWord:"hasta",eventWord:"evento",fromWord:"de"}],["pt",{untilWord:"at\xE9",eventWord:"evento",fromWord:"de"}],["fr",{untilWord:"jusqu\xE0",eventWord:"\xE9v\xE9nement",fromWord:"de"}],["it",{untilWord:"fino",eventWord:"evento",fromWord:"da"}],["de",{untilWord:"bis",eventWord:"ereignis",fromWord:"von"}],["ru",{untilWord:"\u0434\u043E",eventWord:"\u0441\u043E\u0431\u044B\u0442\u0438\u0435",fromWord:"\u0438\u0437"}],["uk",{untilWord:"\u0434\u043E",eventWord:"\u043F\u043E\u0434\u0456\u044F",fromWord:"\u0437"}],["pl",{untilWord:"a\u017C",eventWord:"zdarzenie",fromWord:"z"}],["ar",{untilWord:"\u062D\u062A\u0649",eventWord:"\u062D\u062F\u062B",fromWord:"\u0645\u0646"}],["he",{untilWord:"\u05E2\u05D3",preEvent:"\u05D0\u05EA",eventWord:"\u05D0\u05D9\u05E8\u05D5\u05E2",fromWord:"\u05DE"}],["id",{untilWord:"sampai",eventWord:"peristiwa",fromWord:"dari"}],["ms",{untilWord:"sehingga",eventWord:"peristiwa",fromWord:"dari"}],["sw",{untilWord:"hadi",eventWord:"tukio",fromWord:"kutoka"}],["th",{untilWord:"\u0E08\u0E19\u0E16\u0E36\u0E07",eventWord:"\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C",fromWord:"\u0E08\u0E32\u0E01"}],["vi",{untilWord:"cho \u0111\u1EBFn khi",eventWord:"s\u1EF1 ki\u1EC7n",fromWord:"t\u1EEB"}],["tl",{untilWord:"hanggang",eventWord:"pangyayari",fromWord:"mula_sa"}],["zh",{pre:["\u628A"],untilWord:"\u76F4\u5230",eventWord:"\u4E8B\u4EF6",fromWord:"\u4ECE"}]];function Z0(e,t){return {id:`repeat-${e}-until-head`,language:e,command:"repeat",priority:110,template:{format:`${t.untilWord} ${t.eventWord} {event} ${t.objMarker} repeat [{source} ${t.fromWord}]`,tokens:[{type:"literal",value:t.untilWord},{type:"literal",value:t.eventWord},{type:"role",role:"event",expectedTypes:Ye},{type:"literal",value:t.objMarker},gt(e),{type:"group",optional:true,tokens:[{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:t.fromWord}]}]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}}}function Q0(e,t){return {id:`repeat-${e}-until-head-verb-final`,language:e,command:"repeat",priority:111,template:{format:`${t.untilWord} ${t.eventWord} {event} ${t.objMarker} {source} ${t.fromWord} repeat`,tokens:[{type:"literal",value:t.untilWord},{type:"literal",value:t.eventWord},{type:"role",role:"event",expectedTypes:Ye},{type:"literal",value:t.objMarker},{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:t.fromWord},gt(e)]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}}}var X0={id:"repeat-qu-midclause-until-head",language:"qu",command:"repeat",priority:109,parseOnly:true,template:{format:"until event {event} ta {source} manta repeat",tokens:[{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:Ye},{type:"literal",value:"ta"},{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:"manta"},{type:"literal",value:"repeat"}]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}},J0=[["hi",{untilWord:"\u0924\u0915",eventWord:"\u0918\u091F\u0928\u093E",objMarker:"\u0915\u094B",fromWord:"\u0938\u0947"}],["bn",{untilWord:"\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4",eventWord:"\u0998\u099F\u09A8\u09BE",objMarker:"\u0995\u09C7",fromWord:"\u09A5\u09C7\u0995\u09C7"}],["ja",{untilWord:"\u307E\u3067",eventWord:"\u30A4\u30D9\u30F3\u30C8",objMarker:"\u3092",fromWord:"\u304B\u3089"}],["ko",{untilWord:"\uAE4C\uC9C0",eventWord:"\uC774\uBCA4\uD2B8",objMarker:"\uB97C",fromWord:"\uC5D0\uC11C"}],["tr",{untilWord:"kadar",eventWord:"olay",objMarker:"i",fromWord:"den"}]];function ep(e,t){return {id:`for-${e}-sov-basic`,language:e,command:"for",priority:105,template:{format:`{patient} ${t.inWords.join(" ")} {source} [${t.objMarker}] ${t.forVerb}`,tokens:[{type:"role",role:"patient",expectedTypes:vi},...t.inWords.map(r=>({type:"literal",value:r})),{type:"role",role:"source",expectedTypes:Vr},{type:"group",optional:true,tokens:[{type:"literal",value:t.objMarker}]},{type:"literal",value:t.forVerb}]},extraction:{patient:{position:0}}}}var tp=[["ja",{inWords:["\u306E\u4E2D"],objMarker:"\u3092",forVerb:"\u305F\u3081\u306B"}],["ko",{inWords:["\uC548\uC5D0"],objMarker:"\uB97C",forVerb:"\uAC01\uAC01"}],["tr",{inWords:["i\xE7inde"],objMarker:"i",forVerb:"i\xE7in"}],["qu",{inWords:["ukupi"],objMarker:"ta",forVerb:"sapankaq"}],["bn",{inWords:["\u098F"],objMarker:"\u0995\u09C7",forVerb:"\u099C\u09A8\u09CD\u09AF"}],["hi",{inWords:["\u092E\u0947\u0902"],objMarker:"\u0915\u094B",forVerb:"\u0939\u0947\u0924\u0941"}]],Un=new Map,he=(e,t)=>{let r=Un.get(e);r?r.push(t):Un.set(e,[t]);};for(let[e,t,r,n]of Du)he(e,N0(e,t,r,n));for(let[e,t,r,n]of Su)he(e,M0(e,t,r,n));he("sw",$0("sw","rudia","mara"));var rp=new Set(["es","pt","fr","it","de","ru","uk","pl","ar","id","ms","sw","th","vi"]);for(let[e,t]of j0)he(e,ja(e,t)),rp.has(e)&&he(e,ja(e,{...t,requireForWords:true},true));for(let[e,t]of tp)he(e,ep(e,t));for(let[e,t]of H0)he(e,W0(e,t));for(let[e,t]of V0)he(e,q0(e,t));for(let[e,t]of Y0)he(e,U0(e,t)),he(e,Bu(e,t));he("en",Bu("en",{untilWord:"until"}));he("en",{id:"repeat-en-in",language:"en",command:"repeat",priority:108,template:{format:"repeat in {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:Vr}]},extraction:{loopType:{default:{type:"literal",value:"for"}},patient:{default:{type:"reference",value:"it"}}}});for(let[e,t]of G0)he(e,K0(e,t));for(let[e,t]of J0)he(e,Z0(e,t)),e==="tr"&&he(e,Q0(e,t));var np={id:"repeat-qu-canonical-until-head",language:"qu",command:"repeat",priority:110,template:{format:"kama ruway {event} ta repeat [{source} manta]",tokens:[{type:"literal",value:"kama"},{type:"literal",value:"ruway"},{type:"role",role:"event",expectedTypes:Ye},{type:"literal",value:"ta"},gt("qu"),{type:"group",optional:true,tokens:[{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:"manta"}]}]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}};he("qu",np);he("qu",X0);function wi(e){return Un.get(e)??[]}function ip(e){return Ee("append",e)??[]}function ap(e){return Ee("prepend",e)??[]}function op(e){return Ee("trigger",e)??[]}function up(e){return Ee("send",e)??[]}var Kr=new Set(["tell","viewTransition"]);function Ur(e){return e.kind==="command"&&Kr.has(e.action)&&Array.isArray(e.body)}function Le(e){let t="complex";return e.startsWith("#")&&!e.includes(" ")?t="id":e.startsWith(".")&&!e.includes(" ")?t="class":e.startsWith("[")&&e.endsWith("]")?t="attribute":/^[a-z][a-z0-9]*$/i.test(e)&&(t="element"),{type:"selector",value:e,selectorKind:t}}function ee(e,t){let r={type:"literal",value:e};return t!==void 0?{type:"literal",value:e,dataType:t}:r}function Tu(e){if(e==="true")return ee(true,"boolean");if(e==="false")return ee(false,"boolean");if(e==="null")return {type:"expression",raw:"null"}}function He(e){return yr(e)}function Te(e){return {type:"reference",value:e}}function Fu(e,t){return t?{...e,position:t}:e}function qe(e,t,r){return r?{type:"property-path",object:e,property:t,access:r}:{type:"property-path",object:e,property:t}}function fe(e,t,r){let n={kind:"command",action:e,roles:new Map(Object.entries(t))};return r!==void 0?{...n,metadata:r}:n}function er(e,t,r,n,i,a){let o=new Map;o.set("event",e);let u={kind:"event-handler",action:"on",roles:o,body:t};return r!==void 0&&(u.eventModifiers=r),n!==void 0&&(u.metadata=n),i!==void 0&&i.length>0&&(u.parameterNames=i),u}function sp(e,t,r,n,i){let a={kind:"behavior",action:"behavior",roles:new Map,name:e,parameters:t,eventHandlers:r};return n!==void 0&&n.length>0&&(a.initBlock=n),i!==void 0&&(a.metadata=i),a}function lp(e,t,r,n){let i={kind:"def",action:"def",roles:new Map,name:e,parameters:t,body:r};return n!==void 0&&(i.metadata=n),i}function Gn(e,t,r,n,i){let a={kind:"feature",action:e,roles:i??new Map,body:t};return r!==void 0&&(a.name=r),n!==void 0&&(a.metadata=n),a}function qt(e,t="then",r){let n={kind:"compound",action:"compound",roles:new Map,statements:e,chainType:t};return r!==void 0&&(n.metadata=r),n}function cp(e,t,r,n){let i=new Map;i.set("condition",e);let a={kind:"conditional",action:"if",roles:i,thenBranch:t};return r!==void 0&&(a.elseBranch=r),n!==void 0&&(a.metadata=n),a}function Wa(e,t,r,n,i){let a={kind:"loop",action:e,loopVariant:t,roles:new Map(Object.entries(r)),body:n};return i?.loopVariable&&(a.loopVariable=i.loopVariable),i?.indexVariable&&(a.indexVariable=i.indexVariable),i?.metadata&&(a.metadata=i.metadata),i?.bottomTested&&(a.bottomTested=true),a}function Pu(e){let t=F(e)?.keywords?.pick,r=t?.primary;if(!r||r.toLowerCase()==="pick")return {type:"literal",value:"pick"};let n=[...t?.alternatives??[],"pick"];return {type:"literal",value:r,alternatives:n}}var pp=new Set(["character","characters","item","items"]),Ou=e=>{if(pp.has(e))return {type:"expression",raw:e};let t=Number(e);return ee(e!==""&&!Number.isNaN(t)?t:e)};function dp(e,t){let r=[Pu(e)];return t.objectMarkers?.length&&r.push({type:"group",optional:true,tokens:[{type:"literal",value:t.objectMarkers[0],...t.objectMarkers.length>1?{alternatives:t.objectMarkers.slice(1)}:{}}]}),r.push({type:"role",role:"method",expectedTypes:["literal","expression"]},{type:"role",role:"patient",expectedTypes:["literal","expression"]},{type:"literal",value:t.srcMarker,...t.srcAlternatives?.length?{alternatives:t.srcAlternatives}:{}},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}),{id:`pick-${e}-variant`,language:e,command:"pick",priority:110,template:{format:`pick {method} {patient} ${t.srcMarker} {source}`,tokens:r},extraction:{method:{position:1,transform:Ou},patient:{position:2},source:{marker:t.srcMarker,...t.srcAlternatives?.length?{markerAlternatives:t.srcAlternatives}:{}}}}}var mp={ar:{srcMarker:"\u0645\u0646"},de:{srcMarker:"von",srcAlternatives:["aus"]},es:{srcMarker:"de"},fr:{srcMarker:"de"},he:{srcMarker:"of",srcAlternatives:["\u05E9\u05DC","\u05DE"],objectMarkers:["\u05D0\u05EA"]},id:{srcMarker:"dari"},it:{srcMarker:"di",srcAlternatives:["da"]},ms:{srcMarker:"daripada",srcAlternatives:["dari"]},pl:{srcMarker:"z"},pt:{srcMarker:"de"},ru:{srcMarker:"\u0438\u0437"},sw:{srcMarker:"ya",srcAlternatives:["kutoka"]},th:{srcMarker:"\u0E02\u0E2D\u0E07",srcAlternatives:["\u0E08\u0E32\u0E01"]},tl:{srcMarker:"ng",srcAlternatives:["mula"]},uk:{srcMarker:"\u0437"},vi:{srcMarker:"c\u1EE7a",srcAlternatives:["t\u1EEB"]},zh:{srcMarker:"\u7684",objectMarkers:["\u628A"]}};function fp(e,t){return {id:`pick-${e}-variant-sov`,language:e,command:"pick",priority:110,template:{format:`{source} ${t.genitive} {method} {patient} ${t.patientMarker} pick`,tokens:[{type:"role",role:"source",expectedTypes:["selector","reference","expression"]},{type:"literal",value:t.genitive},{type:"role",role:"method",expectedTypes:["literal","expression"]},{type:"role",role:"patient",expectedTypes:["literal","expression"]},{type:"group",optional:true,tokens:[{type:"literal",value:t.patientMarker}]},Pu(e)]},extraction:{source:{position:0},method:{position:2,transform:Ou},patient:{position:3}}}}var yp={bn:{genitive:"\u09B0",patientMarker:"\u0995\u09C7"},hi:{genitive:"\u0915\u093E",patientMarker:"\u0915\u094B"},ja:{genitive:"\u306E",patientMarker:"\u3092"},ko:{genitive:"\uC758",patientMarker:"\uB97C"},qu:{genitive:"pa",patientMarker:"ta"},tr:{genitive:"nin",patientMarker:"i"}};function vp(e){let t=mp[e];if(t)return [dp(e,t)];let r=yp[e];return r?[fp(e,r)]:[]}var qa=[{type:"literal",value:"start"},{type:"group",optional:true,tokens:[{type:"literal",value:"a"}]},{type:"literal",value:"view"},{type:"literal",value:"transition"}];function Va(e,t){let r=(o,u,s)=>[{id:`${u}-using`,language:e,command:"viewTransition",priority:s+1,template:{format:"start [a] view transition using {style}",tokens:[...o,{type:"literal",value:"using"},{type:"role",role:"style",expectedTypes:wu}]},extraction:{style:{marker:"using"}}},{id:u,language:e,command:"viewTransition",priority:s,template:{format:"start [a] view transition",tokens:o},extraction:{}}],n=`viewTransition-${e}`;if(!t)return r(qa,n,110);let i=t.words.map(o=>({type:"literal",value:o})),a=[{type:"literal",value:"view"},{type:"literal",value:"transition"}];return [...r(t.verbFinal?[...a,...i]:[...i,...a],n,110),...r(qa,`${n}-en`,108)]}function hp(e,t){let r={type:"literal",value:t.go,alternatives:[...t.goAlternatives,"go"]};return [((i,a,o)=>({id:i,language:e,command:"go",priority:o,template:{format:t.verbFinal?"back go":"go back",tokens:t.verbFinal?[...a,r]:[r,...a]},extraction:{destination:{value:"back",valueIsExpression:true}}}))(`go-${e}-back`,t.back.map(i=>({type:"literal",value:i})),105)]}function wt(e){let t=e.roles.find(r=>r.role==="destination");return t?{destination:t.default?{fromRole:"destination",default:t.default}:{fromRole:"destination"}}:{}}function kt(e){let t=e.roles.find(r=>r.role==="source");return t?{source:t.default?{fromRole:"source",default:t.default}:{fromRole:"source"}}:{}}function Ct(e,t){return Ci(e,t,"source")}function ki(e,t){return Ci(e,t,"destination")}function Ep(e,t){return Ci(e,t,"patient")}function Ci(e,t,r){if(!t||!e.roles.some(a=>a.role===r))return [];let n=t.alternatives?{type:"literal",value:t.primary,alternatives:[...t.alternatives]}:{type:"literal",value:t.primary},i={type:"role",role:r,optional:true};return [{type:"group",optional:true,tokens:t.position==="after"?[i,n]:[n,i]}]}var gp={action:"toggle",description:"Toggle a class or attribute on/off",category:"dom-class",primaryRole:"patient",ast:{args:["patient"],modifiers:{on:"destination",between:"goal",for:"duration"}},argSkipTokens:["on"],widenTypeVariants:[{role:"patient",types:["selector","property-path"],idSuffix:"possessive-patient"}],requiredRoleVariants:[{role:"goal",omit:["patient"],idSuffix:"between-pair"},{role:"goal",widen:{role:"patient",types:["selector","reference","expression"]},idSuffix:"between-values"}],roles:[{role:"patient",description:"The class or attribute to toggle",required:true,expectedTypes:["selector"],selectorKinds:["class","attribute"],svoPosition:1,sovPosition:2,markerOptional:{zh:true}},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerVariants:{ko:["\uC5D0\uC11C"]}},{role:"goal",description:"What it toggles between (`between .a and .b`, `between 1, 2 and 3`)",required:false,expectedTypes:["expression","literal","selector"],valueShape:"list",svoPosition:1.5,sovPosition:2.5,markerOverride:{en:"between",ar:"\u0628\u064A\u0646",bn:"\u09AE\u09A7\u09CD\u09AF\u09C7",de:"zwischen",es:"entre",fr:"entre",he:"\u05D1\u05D9\u05DF",hi:"\u0915\u0947 \u092C\u0940\u091A",id:"antara",it:"tra",ja:"\u306E\u9593\u3067",ko:"\uC0AC\uC774",ms:"antara",pl:"mi\u0119dzy",pt:"entre",qu:"chawpipi",ru:"\u043C\u0435\u0436\u0434\u0443",sw:"kati",th:"\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07",tl:"sa_pagitan",tr:"aras\u0131nda",uk:"\u043C\u0456\u0436",vi:"gi\u1EEFa",zh:"\u4E4B\u95F4"},markerPositionOverride:{zh:"after"}},{role:"duration",description:"How long the class stays on before reverting (`toggle .a for 2s`)",required:false,expectedTypes:["literal"],svoPosition:3,sovPosition:3,valueShape:"time",markerOverride:{en:"for",ja:"\u9593",ko:"\uB3D9\uC548"}}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","INVALID_CSS_PROPERTY"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"toggle command requires an argument"},{condition:"Class names are valid CSS identifiers",errorCode:"NO_VALID_CLASS_NAMES",message:"toggle command: no valid class names found"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to toggle",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",INVALID_CSS_PROPERTY:"Check CSS property name syntax (use kebab-case)"}};function Gr(e){return {role:"condition",description:"Which targets it applies to (`when it matches .x`); the rest get the opposite",required:false,expectedTypes:["expression"],valueShape:"clause",svoPosition:e,sovPosition:0,markerOverride:{en:"when",es:"cuando",ja:"\u3068\u304D",ar:"\u0639\u0646\u062F\u0645\u0627",ko:"\uB54C",zh:"\u4F55\u65F6",tr:"iken",pt:"quando",fr:"quand",de:"wenn",id:"ketika",qu:"maykama",sw:"wakati",bn:"\u09AF\u0996\u09A8",hi:"\u091C\u092C",it:"quando",ms:"bila",pl:"kiedy",ru:"\u043A\u043E\u0433\u0434\u0430",th:"\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48",tl:"tuwing",uk:"\u043A\u043E\u043B\u0438",vi:"l\xFAc",he:"\u05DB\u05D0\u05E9\u05E8"},markerVariants:{ja:["\u3068\u304D\u306B"],tr:["durumunda","oldu\u011Funda"],he:["\u05DB\u05E9"]}}}var wp={action:"add",description:"Add a class or attribute to an element",category:"dom-class",primaryRole:"patient",ast:{args:["patient"],modifiers:{to:"destination",when:"condition"}},roles:[{role:"patient",description:"The class or attribute to add",required:true,expectedTypes:["selector","literal"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:["selector","reference","expression"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",es:"a",ar:"\u0625\u0644\u0649",zh:"\u5230",fr:"\xE0",de:"zu",pt:"a",he:"\u05D0\u05DC",id:"ke",it:"a",sw:"kwa"},markerLegacy:{es:["en","sobre","hacia"],ar:["\u0639\u0644\u0649","\u0641\u064A","\u0628"],zh:["\u5728","\u4E8E"],fr:["sur","dans"],de:["auf","in"],pt:["em","para"],he:["\u05E2\u05DC","\u05D1","\u05DC"],id:["pada","di"],it:["in","su"],sw:["kwenye"]}},Gr(3)],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","PROPERTY_REQUIRES_VALUE"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"add command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to add",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",PROPERTY_REQUIRES_VALUE:"When adding a property (*prop), provide a value argument"}},kp={action:"remove",description:"Remove a class or attribute from an element",category:"dom-class",primaryRole:"patient",ast:{args:["patient"],modifiers:{from:"source",when:"condition"}},targetRole:"source",argSkipTokens:["from"],roles:[{role:"patient",description:"The class/attribute to remove, or the element to remove",required:true,expectedTypes:[...Q,"literal"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to remove from (defaults to me)",required:false,expectedTypes:["selector","reference","expression"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1},Gr(3)],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"remove command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to remove",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers"}},Cp={action:"put",description:"Put content into a target element or variable",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to put",required:true,expectedTypes:Wr,svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:true,expectedTypes:Eu,svoPosition:2,sovPosition:2,markerOverride:{en:"into",ar:"\u0641\u064A",zh:"\u5230",fr:"dans",de:"in",he:"\u05D1",id:"ke",sw:"kwa"},markerVariants:{en:["before","after"]},markerLegacy:{ar:["\u0639\u0644\u0649","\u0625\u0644\u0649","\u0628"],zh:["\u5728","\u4E8E"],fr:["sur","\xE0"],de:["auf","zu"],he:["\u05E2\u05DC","\u05D0\u05DC","\u05DC"],id:["pada","di"],sw:["kwenye"]},methodCarrier:"method"}],errorCodes:["MISSING_ARGUMENTS","MISSING_CONTENT","MISSING_POSITION","INVALID_POSITION","NO_TARGET","NO_ELEMENTS"],preconditions:[{condition:"Command has content and position arguments",errorCode:"MISSING_ARGUMENTS",message:"put requires arguments"},{condition:"Content to put is specified",errorCode:"MISSING_CONTENT",message:"put requires content"},{condition:"Position keyword is specified (into, before, after, etc.)",errorCode:"MISSING_POSITION",message:"put requires position keyword"}],recoveryHints:{MISSING_ARGUMENTS:"Use syntax: put <content> into/before/after <target>",MISSING_CONTENT:"Add content to put (string, element, or expression)",MISSING_POSITION:"Add position keyword: into, before, after, at start of, at end of",INVALID_POSITION:"Valid positions: into, before, after, at start of, at end of",NO_TARGET:'Ensure target element exists or use "me" reference',NO_ELEMENTS:"Check that the selector matches existing elements"}},bp={action:"set",description:"Set a property or variable to a value",category:"variable",primaryRole:"destination",ast:{args:["destination"],modifiers:{to:"patient",on:"scope"}},argSkipTokens:["to"],requiredRoleVariants:[{role:"scope",omit:["patient"],widen:{role:"scope",types:["selector","reference","expression"]},idSuffix:"object-on"}],roles:[{role:"destination",description:"The property or variable to set",required:true,expectedTypes:p0,svoPosition:1,sovPosition:1,markerOverride:{en:"",es:"",ja:"\u3092",ko:"\uB97C",tr:"i",ar:"",sw:"",tl:"",th:"",bn:"\u0995\u09C7",qu:"ta",hi:"\u0915\u094B",zh:"\u628A"},markerOptional:{zh:true}},{role:"patient",description:"The value to set",required:true,expectedTypes:mi,svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"auf",id:"ke",ja:"\u306B",ko:"\uC5D0",tr:"e",ar:"\u0625\u0644\u0649",sw:"kwenye",tl:"sa",th:"\u0E43\u0E19",bn:"\u09A4\u09C7",qu:"man",hi:"\u092E\u0947\u0902",zh:"\u5230"},markerVariants:{tr:["e","a","ye","ya"],zh:["\u4E3A","\u70BA","\u6210"]}},{role:"scope",description:"The element(s) the attribute/property is set on (defaults to me)",required:false,expectedTypes:vu,svoPosition:3,sovPosition:3,markerOverride:{en:"on",es:"on",pt:"on",fr:"on",de:"on",it:"on",id:"on",ms:"on",sw:"on",tl:"on",zh:"on",vi:"on",ru:"on",uk:"on",pl:"on",th:"on",he:"on",ar:"on",ja:"on",ko:"on",tr:"on",hi:"on",bn:"on",qu:"on"}}],errorCodes:["MISSING_TARGET","INVALID_TARGET","MISSING_VALUE","INVALID_SYNTAX"],preconditions:[{condition:"Command has a target variable or property",errorCode:"MISSING_TARGET",message:"set command requires a target"},{condition:"Target is a valid variable or property reference",errorCode:"INVALID_TARGET",message:"set command target must be a string or object literal"},{condition:'Value is specified with "to" keyword',errorCode:"MISSING_VALUE",message:'set command requires a value (use "to" keyword)'}],recoveryHints:{MISSING_TARGET:"Add a target: set :variable to value OR set element.property to value",INVALID_TARGET:'Use local variable (:name), element property (el.prop), or "the X of Y" syntax',MISSING_VALUE:'Add "to <value>" to specify what to set',INVALID_SYNTAX:"Use syntax: set <target> to <value>"}},zp={action:"bind",description:"Reactively bind a variable to an element or property value",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The variable to bind",required:true,expectedTypes:["reference","expression","selector","property-path"],svoPosition:1,sovPosition:1,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",it:"",id:"",ms:"",vi:"",ru:"",uk:"",pl:"",th:"",zh:"",he:"",ar:"",sw:"",tl:"",ja:"\u3092",ko:"\uB97C",tr:"i",bn:"\u0995\u09C7",qu:"ta",hi:"\u0915\u094B"}},{role:"source",description:"The element or property to bind to",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"zu",it:"in",id:"ke",ms:"ke",vi:"v\xE0o",ru:"\u0432",uk:"\u0432",pl:"do",ja:"\u306B",ko:"\uC5D0",tr:"e",ar:"\u0625\u0644\u0649",zh:"\u5230",he:"\u05DC",sw:"kwa",th:"\u0E43\u0E19",tl:"sa",bn:"\u09A4\u09C7",qu:"man",hi:"\u092E\u0947\u0902"},markerVariants:{bn:["\u098F"]}}],errorCodes:["MISSING_TARGET","MISSING_VALUE","INVALID_SYNTAX"],recoveryHints:{MISSING_TARGET:"Add a variable to bind: bind $name to #input",MISSING_VALUE:'Add "to <element>" to specify the binding source',INVALID_SYNTAX:"Use syntax: bind <variable> to <element>"}},Ap={action:"live",description:"Reactive block: re-run the body when its dependencies change",category:"control-flow",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},xp={action:"when",description:"Reactive observer: re-run the body when a watched expression changes",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,structuralOnly:true,roles:[{role:"condition",description:"The watched expression (`or`-separated expressions watch each)",required:true,expectedTypes:["expression","reference","selector"],svoPosition:1}]},Dp={action:"eventsource",description:"Open a Server-Sent Events stream and handle its events",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Sp={action:"socket",description:"Open a WebSocket and handle its messages",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Bp={action:"worker",description:"Define a Web Worker with inline methods",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Tp={action:"intercept",description:"Service-worker fetch interception / caching strategies",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Fp={action:"show",description:"Make an element visible",category:"dom-visibility",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{with:["style","duration"],when:"condition"}},roles:[{role:"patient",description:"The element to show",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"The hide/show strategy (`with opacity`, `with *opacity`)",required:false,expectedTypes:gu,svoPosition:2,sovPosition:2},Gr(3)]},Pp={action:"hide",description:"Make an element invisible",category:"dom-visibility",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{with:["style","duration"],when:"condition"}},roles:[{role:"patient",description:"The element to hide",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"The hide/show strategy (`with opacity`, `with *opacity`)",required:false,expectedTypes:gu,svoPosition:2,sovPosition:2},Gr(3)]},Op={action:"on",description:"Handle an event",category:"event",primaryRole:"event",ast:{args:["event"],modifiers:{from:"source"}},hasBody:true,roles:[{role:"event",description:"The event to handle",required:true,expectedTypes:["literal"],svoPosition:1,sovPosition:2,markerOptional:{ja:true,tr:true}},{role:"source",description:"The element to listen on (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],widenTypeVariants:[{role:"event",types:Ye,idSuffix:"expr-event",excludeLanguages:["ko"]}]},Lp={action:"trigger",description:"Trigger/dispatch an event",category:"event",primaryRole:"event",ast:{args:["event"],modifiers:{on:"destination"}},argSkipTokens:["on"],roles:[{role:"event",description:"The event to trigger (supports namespaced events like draggable:start)",required:true,expectedTypes:Ye,svoPosition:1,sovPosition:2,markerVariants:{hi:["\u0915\u094B"],qu:["ta"],bn:["\u0995\u09C7"]},markerOverride:{bn:"\u0995\u09C7",hi:"\u0915\u094B"}},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Rp={action:"wait",description:"Wait for a duration or event",category:"async",primaryRole:"duration",roles:[{role:"duration",description:"Duration or event to wait for",required:true,expectedTypes:d0,svoPosition:1,sovPosition:1}]},_p={action:"fetch",description:"Fetch data from a URL",category:"async",primaryRole:"source",ast:{args:["source"],modifiers:{with:["style","method"],as:"responseType",body:"patient"},isBlocking:true},roles:[{role:"source",description:"The URL to fetch from",required:true,expectedTypes:qr,svoPosition:1,sovPosition:1,renderOverride:{en:""}},{role:"style",description:"Request options object (method, headers, body, credentials\u2026)",required:false,expectedTypes:yi,valueShape:"object",svoPosition:2,sovPosition:2},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:false,expectedTypes:fi,svoPosition:3,sovPosition:3,markerOverride:{en:"as",ja:"\u3068\u3057\u3066"}},{role:"method",description:"HTTP method (GET, POST, etc.)",required:false,expectedTypes:["literal"],svoPosition:4,sovPosition:4},{role:"destination",description:"Where to store the result",required:false,expectedTypes:["selector","reference"],svoPosition:5,sovPosition:5}]},Np={action:"increment",description:"Increment a numeric value",category:"variable",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{by:"quantity"}},roles:[{role:"patient",description:"The value to increment",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to increment by (defaults to 1)",required:false,expectedTypes:["literal","selector","expression","reference","property-path"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by",es:"por",pt:"por",fr:"par",de:"um"}}]},Mp={action:"decrement",description:"Decrement a numeric value",category:"variable",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{by:"quantity"}},roles:[{role:"patient",description:"The value to decrement",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to decrement by (defaults to 1)",required:false,expectedTypes:["literal","selector","expression","reference","property-path"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by",es:"por",pt:"por",fr:"par",de:"um"}}]},Ip={action:"append",description:"Append content to an element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{to:"destination"}},omitRoleVariants:["destination"],roles:[{role:"patient",description:"The content to append",required:true,expectedTypes:Wr,svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:true,expectedTypes:Cu,svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},$p={action:"prepend",description:"Prepend content to an element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{to:"destination"}},omitRoleVariants:["destination"],roles:[{role:"patient",description:"The content to prepend",required:true,expectedTypes:Wr,svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:true,expectedTypes:Cu,svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},jp={action:"log",description:"Log a value to the console",category:"variable",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The value to log",required:true,expectedTypes:["literal","selector","reference","expression","property-path"],svoPosition:1,sovPosition:1}]},Wp={action:"get",description:"Get a value from a source",category:"variable",primaryRole:"source",ast:{args:[["source","patient"]]},roles:[{role:"source",description:"The source to get from",required:true,expectedTypes:hu,svoPosition:1,sovPosition:2,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",ja:"\u3092",zh:"",ko:"\uB97C",ar:"\u0639\u0644\u0649",tr:"i",id:"",he:"\u05D0\u05EA",sw:"",tl:"",bn:"\u0995\u09C7",qu:"ta"}}]},qp={action:"take",description:"Take content from a source element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{from:"source",for:"recipient"}},argSkipTokens:["from"],roles:[{role:"patient",description:"The class or element to take",required:true,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to take from (defaults to all current holders)",required:false,expectedTypes:Q,svoPosition:2,sovPosition:1},{role:"recipient",description:"The element the class moves ONTO (`take .active from .tab for me`)",required:false,expectedTypes:["reference"],svoPosition:3,sovPosition:3,valueShape:"reference",markerOverride:{en:"for"}}]},Vp={action:"make",description:"Create a new element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The element type or selector to create",required:true,expectedTypes:["literal","selector"],svoPosition:1,sovPosition:1}]},Hp={action:"halt",description:"Halt/stop execution or event propagation",category:"control-flow",primaryRole:"patient",ast:{args:[],modifiers:{the:"patient"}},argSkipTokens:["the"],roles:[{role:"patient",description:"What to halt (event, default, bubbling, etc.)",required:false,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},Kp={action:"settle",description:"Wait for animations/transitions to settle",category:"async",primaryRole:"patient",ast:{args:[["destination","patient"]],isBlocking:true},roles:[{role:"patient",description:"The element to settle (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Up={action:"throw",description:"Throw an error",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The error message or object to throw",required:true,expectedTypes:["literal","expression","property-path"],svoPosition:1,sovPosition:1}]},Gp={action:"send",description:"Send an event to an element",category:"event",primaryRole:"event",ast:{args:["event"],modifiers:{to:"destination",detail:"patient"}},roles:[{role:"event",description:"The event to send",required:true,expectedTypes:Ye,svoPosition:1,sovPosition:2,markerOverride:{bn:"\u0995\u09C7"},markerLegacy:{bn:["\u09A4\u09C7"]}},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",ja:"\u306B",ar:"\u0625\u0644\u0649",es:"a",ko:"\uC5D0\uAC8C",zh:"\u5230",tr:"e",pt:"para",fr:"\xE0",de:"an",id:"ke",qu:"man",sw:"kwa"}}]},Yp={action:"if",description:"Conditional execution",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,roles:[{role:"condition",description:"The condition to evaluate",required:true,expectedTypes:ku,svoPosition:1,sovPosition:1}]},Zp={action:"unless",description:"Negated conditional execution (executes when condition is false)",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,roles:[{role:"condition",description:"The condition to evaluate (body executes when false)",required:true,expectedTypes:ku,svoPosition:1,sovPosition:1}]},Qp={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:true,roles:[]},Xp={action:"repeat",description:"Repeat a block of commands",category:"control-flow",primaryRole:"loopType",ast:{args:[["quantity","patient"]]},hasBody:true,roles:[{role:"loopType",description:"Loop variant: forever, times, for, while, until, until-event",required:true,expectedTypes:["literal"],svoPosition:0,sovPosition:0},{role:"quantity",description:"Number of times to repeat",required:false,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"event",description:"Event to wait for (terminates loop)",required:false,expectedTypes:Ye,svoPosition:2,sovPosition:2},{role:"source",description:"Element to listen for event on",required:false,expectedTypes:["selector","reference"],svoPosition:3,sovPosition:3}],notes:'Can also use "repeat forever", "repeat until condition", or "repeat until event X from Y"'},Jp={action:"for",description:"Iterate over a collection",category:"control-flow",primaryRole:"patient",ast:{args:["patient"],modifiers:{in:"source"}},hasBody:true,roles:[{role:"patient",description:"The iteration variable",required:true,expectedTypes:vi,svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:true,expectedTypes:Vr,svoPosition:2,sovPosition:1,markerOverride:{en:"in",es:"en",fr:"en",de:"in",it:"in",pt:"dentro",id:"dalam",ms:"dalam",pl:"w",ru:"\u0432",uk:"\u0443",sw:"ndani",th:"\u0E43\u0E19",vi:"trong",ar:"\u0641\u064A",tl:"sa_loob",he:"in",zh:"\u5728"}}]},ed={action:"while",description:"Loop while condition is true",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,roles:[{role:"condition",description:"The condition to check",required:true,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},td={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",ast:{},roles:[],bareKeyword:true},Yr={en:"url",es:"url",pt:"url",fr:"url",de:"url",it:"url",ja:"url",ko:"url",zh:"url",ar:"url",he:"url",hi:"url",bn:"url",tr:"url",ru:"url",uk:"url",pl:"url",id:"url",vi:"url",th:"url",ms:"url",tl:"url",sw:"url",qu:"url"},rd=Object.fromEntries(Object.keys(Yr).map(e=>[e,"in new"])),nd={action:"go",description:"Navigate to a URL, or scroll to an element",category:"navigation",primaryRole:"destination",roles:[{role:"destination",description:"The URL to navigate to, or the element to scroll to",required:true,expectedTypes:["literal",...Q],svoPosition:1,sovPosition:1,markerOverride:{en:"to",es:"a",ar:"\u0625\u0644\u0649",fr:"\xE0",de:"zu",pt:"para",he:"\u05D0\u05DC",hi:"\u092A\u0930",id:"ke",it:"a",ru:"\u043D\u0430",sw:"kwa",uk:"\u043D\u0430"},renderOverride:{en:"",zh:"",vi:"",th:""},markerOptional:{en:true,zh:true,vi:true,th:true},markerVariants:{zh:["\u628A"]},markerLegacy:{es:["en","sobre","hacia"],ar:["\u0639\u0644\u0649","\u0641\u064A","\u0628"],fr:["sur","dans"],de:["auf","in"],pt:["em","a"],he:["\u05E2\u05DC","\u05D1","\u05DC","\u05D0\u05EA"],hi:["\u092E\u0947\u0902"],id:["pada","di"],it:["in","su"],ru:["\u0432","\u043A"],sw:["kwenye"],uk:["\u0432","\u0434\u043E"]}},{role:"manner",description:"Open the URL in a new window (`in new window`)",required:false,expectedTypes:["reference","literal","expression"],valueShape:"keyword",svoPosition:2,sovPosition:2,markerOverride:rd}],rolePrefixLiteralVariants:[{role:"destination",literal:Yr,idSuffix:"url",priorityDelta:5,methodCarrier:"method"}]},id={action:"transition",description:"Transition an element with animation",category:"dom-visibility",primaryRole:"patient",ast:{args:["patient"],modifiers:{from:"source",to:"goal",over:"duration"}},omitRoleVariants:["goal"],roles:[{role:"patient",description:"The property to transition (opacity, *background-color, etc.)",required:true,expectedTypes:["literal","expression","selector","property-path"],svoPosition:1,sovPosition:2,markerOverride:{en:"",ar:"",tl:"",sw:""}},{role:"source",description:"The value to transition from (`from 0px to 100px`)",required:false,expectedTypes:["literal","expression"],svoPosition:1.5,sovPosition:2.5},{role:"goal",description:"The target value to transition to",required:true,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:3,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwa",bn:"\u09A4\u09C7",qu:"man",es:"a",pt:"para",fr:"\xE0",de:"zu",he:"\u05E2\u05DC",it:"in",ja:"\u306B",ko:"\uC5D0",ms:"ke",pl:"do",ru:"\u0432",th:"\u0E43\u0E19",tr:"e",uk:"\u0432",vi:"v\xE0o",zh:"\u5230",id:"ke"}},{role:"duration",description:"Transition duration (over 500ms, for 2 seconds)",required:false,expectedTypes:["literal"],svoPosition:4,sovPosition:4,markerOverride:{en:"over"}},{role:"style",description:"Easing function (ease-in, linear, etc.)",required:false,expectedTypes:["literal"],svoPosition:5,sovPosition:5,markerOverride:{en:"using"}}]},ad={action:"viewTransition",description:"Run the body inside a view transition",category:"dom-visibility",primaryRole:"style",hasBody:true,structuralOnly:true,roles:[{role:"style",description:'The transition type (`using "slide"`), passed as `types: [type]`',required:false,expectedTypes:wu,svoPosition:1,sovPosition:1,markerOverride:{en:"using"}}]},od={action:"clone",description:"Clone an element",category:"dom-content",primaryRole:"patient",ast:{args:[["source","patient"]],modifiers:{into:"destination"}},roles:[{role:"patient",description:"The element to clone",required:true,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:2},{role:"destination",description:"Where to put the clone",required:false,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"into"}}]},ud={action:"focus",description:"Focus an element",category:"dom-content",primaryRole:"patient",ast:{args:[["destination","patient"]]},roles:[{role:"patient",description:"The element to focus (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},sd={action:"blur",description:"Remove focus from an element",category:"dom-content",primaryRole:"patient",ast:{args:[["destination","patient"]]},roles:[{role:"patient",description:"The element to blur (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},ld={action:"empty",description:"Remove all children from an element (sets innerHTML to empty)",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to empty (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},cd={action:"open",description:"Open a dialog, details element, or popover",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{as:"style"}},roles:[{role:"patient",description:"The element to open (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:2},{role:"style",description:"Open-mode variant (modal / non-modal) for <dialog>",required:false,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:1,markerOverride:{en:"as",ja:"\u3068\u3057\u3066"}}]},pd={action:"close",description:"Close a dialog, details element, or popover",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to close (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},dd={action:"select",description:"Select the contents of a text field or DOM element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element whose contents to select (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},md={action:"clear",description:"Clear a variable, local, or input element",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The variable or element to clear (defaults to me)",required:false,expectedTypes:["selector","reference","expression"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},fd={action:"reset",description:"Reset a <form> element to its default values",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The form element to reset (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},yd={action:"breakpoint",description:"Drop into the debugger",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},vd={action:"call",description:"Call a function",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The function to call",required:true,expectedTypes:["expression","reference"],markerOptional:{he:true,zh:true},svoPosition:1,sovPosition:1}]},hd={action:"return",description:"Return a value from a function",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The value to return",required:false,expectedTypes:["literal","expression","reference","property-path"],svoPosition:1,sovPosition:1}]},Ed={action:"js",description:"Execute raw JavaScript code",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},hasBody:true,roles:[{role:"patient",description:"The JavaScript code to execute",required:false,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},gd={action:"tell",description:"Execute commands in context of another element",category:"control-flow",primaryRole:"destination",ast:{args:[["destination","patient"]]},hasBody:true,roles:[{role:"destination",description:"The element to tell",required:true,expectedTypes:Q,svoPosition:1,sovPosition:1,markerOverride:{en:"",he:"\u05D0\u05EA",zh:"\u628A"}}]},wd={action:"default",description:"Set a default value for a variable",category:"variable",primaryRole:"destination",ast:{args:["destination"],modifiers:{to:"patient"}},roles:[{role:"destination",description:"The variable to set default for",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ar:"",tl:"",sw:"",bn:"\u0995\u09C7",qu:"ta",ja:"\u3092",ko:"\uB97C",tr:"i",hi:"\u0915\u094B",de:"",es:"",fr:"",it:"",pt:"",pl:"",ru:"",uk:"",vi:"",id:"",ms:"",th:"",zh:"\u628A",he:"\u05D0\u05EA"}},{role:"patient",description:"The default value",required:true,expectedTypes:["literal","expression","property-path"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwa",bn:"\u09A4\u09C7",qu:"man",ja:"\u306B",ko:"\uC5D0",tr:"e",hi:"\u092E\u0947\u0902",de:"zu",es:"a",fr:"\xE0",it:"in",pt:"para",pl:"do",ru:"\u0432",uk:"\u0432",vi:"v\xE0o",id:"ke",ms:"ke",th:"\u0E43\u0E19",zh:"\u5230",he:"\u05E2\u05DC"}}]},kd={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",ast:{},hasBody:true,roles:[]},Cd={action:"behavior",description:"Define a reusable behavior",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},hasBody:true,roles:[{role:"patient",description:"The behavior name (PascalCase identifier)",required:true,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},bd={action:"install",description:"Install a behavior on an element",category:"control-flow",primaryRole:"patient",ast:{args:["patient"],modifiers:{on:"destination"}},roles:[{role:"patient",description:"The behavior name to install",required:true,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"Element to install on (defaults to me)",required:false,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},zd={action:"measure",description:"Measure element dimensions (x, y, width, height, etc.)",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{of:["destination","source"]}},roles:[{role:"patient",description:"Property to measure (x, y, width, \u2026), or the element itself",required:false,expectedTypes:["literal","expression","selector","reference"],svoPosition:1,sovPosition:1},{role:"source",description:"Element to measure (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:2,markerOverride:{en:"of"}}]},Ad={en:"using view",es:"using view",pt:"using view",fr:"using view",de:"using view",it:"using view",ja:"using view",ko:"using view",zh:"using view",ar:"using view",he:"using view",hi:"using view",bn:"using view",tr:"using view",ru:"using view",uk:"using view",pl:"using view",id:"using view",vi:"using view",th:"using view",ms:"using view",tl:"using view",sw:"using view",qu:"using view"},bi={role:"manner",description:"Run the swap inside a `document.startViewTransition()` (`using view transition`)",required:false,expectedTypes:["literal","expression"],valueShape:"keyword",markerOverride:Ad},xd={action:"swap",description:"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",category:"dom-content",primaryRole:"destination",ast:{args:["method","destination","patient"],modifiers:{viewTransition:"manner"}},roles:[{role:"method",description:"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)",required:false,expectedTypes:["literal"],svoPosition:1,sovPosition:3,markerOverride:{en:""}},{role:"destination",description:"The element to swap content in/for",required:true,expectedTypes:[...Q,"property-path"],svoPosition:2,sovPosition:1,markerOverride:{en:"of",es:"",fr:"",pt:"",it:"",de:"",pl:"",ru:"",uk:"",id:"",ms:"",sw:"",th:"",vi:"",he:"\u05D0\u05EA",zh:"\u628A",tl:""}},{role:"patient",description:"The content to swap in (optional for delete)",required:false,expectedTypes:["literal","expression","selector","reference","property-path"],svoPosition:3,sovPosition:2,markerOverride:{en:"with",es:"con",fr:"avec",pt:"com",it:"con",de:"mit",pl:"z",ru:"\u0441",uk:"\u0437",id:"dengan",ms:"dengan",sw:"na",th:"\u0E14\u0E49\u0E27\u0E22",vi:"v\u1EDBi",he:"\u05E2\u05DD",zh:"\u7528",hi:"\u0938\u0947",bn:"\u09A6\u09BF\u09AF\u09BC\u09C7",tr:"ile",qu:"wan",ar:"\u0628\u0640",tl:"nang"}},{...bi,svoPosition:4,sovPosition:4}]},Dd={action:"morph",description:"Morph an element into another using DOM diffing",category:"dom-content",primaryRole:"patient",ast:{args:[["source","destination"]],modifiers:{on:"patient",viewTransition:"manner"}},roles:[{role:"patient",description:"The element to morph",required:true,expectedTypes:Q,svoPosition:1,sovPosition:1,markerOverride:{en:""}},{role:"destination",description:"The target content/element to morph into",required:true,expectedTypes:["literal","expression","selector","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"to"}},{...bi,svoPosition:3,sovPosition:3}]},Sd={action:"beep",description:"Debug output for expressions with type information",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The expression(s) to debug",required:false,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},Bd={action:"ask",description:"Prompt the user for a value (the reply is `it`)",category:"variable",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The question",required:true,expectedTypes:["literal","reference","expression","property-path"],svoPosition:1,sovPosition:1}]},Td={action:"answer",description:"Show a message, or ask a yes/no question with two choices",category:"variable",primaryRole:"patient",ast:{args:["patient"],modifiers:{with:"style"}},roles:[{role:"patient",description:"The message",required:true,expectedTypes:["literal","reference","expression","property-path"],svoPosition:1,sovPosition:1},{role:"style",description:'The two choices (`with "Yes" or "No"`)',required:false,expectedTypes:["expression","literal"],svoPosition:2,sovPosition:2}]},Fd={action:"break",description:"Exit from the current loop",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},Pd={action:"copy",description:"Copy text or element content to the clipboard",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The text or element to copy",required:true,expectedTypes:["literal","selector","reference","expression","property-path"],svoPosition:1,sovPosition:1}]},Od={action:"exit",description:"Exit from the current event handler",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},Ld={action:"pick",description:"Select item(s), character(s), a range, first/last/random N, or regex matches from a root",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The range/count/index/regex argument to pick",required:true,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1},{role:"source",description:'The root to pick from (with "of"/"from" keyword)',required:false,expectedTypes:["reference","expression"],svoPosition:2,sovPosition:2}]},Rd={action:"scroll",description:"Scroll the viewport to a target element, or by an amount",category:"navigation",primaryRole:"destination",requiredRoleVariants:[{role:"quantity",omit:["destination"],idSuffix:"by",priorityDelta:-10}],ast:{args:["destination"]},argSkipTokens:["of","the","top","bottom","middle","center","nearest","left","right","smoothly","instantly"],roles:[{role:"destination",description:"The element to scroll to",required:true,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"to"}},{role:"patient",description:"The element scrolled by an amount (`scroll #box down by 200px`); the window when absent",required:false,expectedTypes:["selector","reference"],variantOnly:true,svoPosition:.5,sovPosition:.5},{role:"quantity",description:"The amount (`by 200px`)",required:false,expectedTypes:["literal","expression","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"by",es:"por",pt:"por",fr:"par",de:"um"},variantOnly:true}]},_d={en:"partials in",es:"partials in",pt:"partials in",fr:"partials in",de:"partials in",it:"partials in",ja:"partials in",ko:"partials in",zh:"partials in",ar:"partials in",he:"partials in",hi:"partials in",bn:"partials in",tr:"partials in",ru:"partials in",uk:"partials in",pl:"partials in",id:"partials in",vi:"partials in",th:"partials in",ms:"partials in",tl:"partials in",sw:"partials in",qu:"partials in"},Nd={action:"push",description:"Push a URL onto the browser history",category:"navigation",primaryRole:"patient",roles:[{role:"patient",description:"The URL to push (after the `url` keyword)",required:true,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,markerOverride:Yr}]},Md={action:"replace",description:"Replace the current browser history entry with a URL",category:"navigation",primaryRole:"patient",roles:[{role:"patient",description:"The URL to replace with (after the `url` keyword)",required:true,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,markerOverride:Yr}]},Id={action:"process",description:"Process hx-partial markup in HTML content",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{viewTransition:"manner"}},roles:[{role:"patient",description:"The HTML content (string, element, or response) to process",required:true,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:_d},{...bi,svoPosition:2,sovPosition:2}]},$d={action:"render",description:"Render a template with optional variables",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The template to render",required:true,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2},{role:"style",description:"Variables to pass to the template (with keyword)",required:false,expectedTypes:["expression"],valueShape:"object",svoPosition:2,sovPosition:1}]},ke={toggle:gp,add:wp,remove:kp,put:Cp,set:bp,show:Fp,hide:Pp,on:Op,trigger:Lp,wait:Rp,fetch:_p,increment:Np,decrement:Mp,append:Ip,prepend:$p,log:jp,get:Wp,take:qp,make:Vp,halt:Hp,settle:Kp,throw:Up,send:Gp,if:Yp,unless:Zp,else:Qp,repeat:Xp,for:Jp,while:ed,continue:td,go:nd,scroll:Rd,push:Nd,replace:Md,process:Id,transition:id,viewTransition:ad,clone:od,focus:ud,blur:sd,empty:ld,open:cd,close:pd,select:dd,clear:md,reset:fd,breakpoint:yd,call:vd,return:hd,js:Ed,tell:gd,default:wd,init:kd,behavior:Cd,install:bd,measure:zd,swap:xd,morph:Dd,beep:Sd,ask:Bd,answer:Td,break:Fd,copy:Pd,exit:Od,pick:Ld,render:$d,bind:zp,live:Ap,when:xp,eventsource:Dp,socket:Sp,worker:Bp,intercept:Tp,compound:{action:"compound",description:"A compound node representing chained statements",primaryRole:"patient",category:"control-flow",hasBody:true,roles:[]}};function J(e){return ke[e]}function jd(){return Object.values(ke).filter(e=>e.structuralOnly!==true&&(e.roles.length>0||e.bareKeyword===true))}typeof process<"u"&&process.env.LOKASCRIPT_SCHEMA_VALIDATION==="1"&&Promise.resolve().then(()=>(Hc(),ru)).then(({validateAllSchemas:e,formatValidationResults:t})=>{let r=e(ke);r.size>0&&(console.warn("[SCHEMA VALIDATION] Found issues in command schemas:"),console.warn(t(r)),console.warn(`
|
|
6
6
|
These warnings help identify potential schema design issues.`),console.warn("Fix them to improve type inference and avoid runtime bugs."));}).catch(e=>{console.debug("Schema validation skipped:",e);});var or=new Set(["destination","source","patient","object","event","eventmarker","manner","instrument","style"]);function Rt(e,t){let r,n;if(e.markerOverride&&e.markerOverride[t.code]!==void 0)r=e.markerOverride[t.code],n=r?We(e,t.code,r):void 0;else {let i=t.roleMarkers[e.role];if(i){r=i.primary;let a=We(e,t.code,r)??[],o=[...new Set([...i.alternatives??[],...a])].filter(u=>u!==r);n=o.length?o:void 0;}}return {marker:r,alternatives:n}}function ur(e,t,r){r.roles.find(i=>i.role==="scope"&&!i.required)&&(e.push({type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"scope",optional:true,expectedTypes:["selector","reference"]}]}),t.scope={fromRole:"scope"});}function zi(e,t,r,n){Ru(e,t,r,n,"manner",{requireMarker:true});}function Lu(e,t,r,n){Ru(e,t,r,n,"recipient",{requireMarker:false});}function Ru(e,t,r,n,i,a){let o=r.roles.find(s=>s.role===i&&!s.required);if(!o)return;let u=o.markerOverride?.[n];a.requireMarker&&!u||(e.push({type:"group",optional:true,tokens:[...(u?u.split(/\s+/):[]).map(s=>({type:"literal",value:s})),{type:"role",role:i,optional:true,expectedTypes:o.expectedTypes,...o.valueShape!==void 0?{valueShape:o.valueShape}:{}}]}),t[i]={fromRole:i});}function _u(e){if(e.roles.some(n=>n.role==="patient"))return "patient";let t=e.roles.filter(n=>n.required),r=t.find(n=>n.role===e.primaryRole)??t[0];return !r||r.role==="event"?"patient":r.role}function Nu(e,t,r){let n=e.roles.find(c=>c.role===r);if(!n||r==="patient")return [{type:"role",role:r,optional:false}];let{marker:i,alternatives:a}=Rt(n,t),o={type:"role",role:r,optional:false,...n.valueShape!==void 0?{valueShape:n.valueShape}:{}};if(!i)return [o];let u=i.split(/\s+/).filter(Boolean),s={type:"group",optional:true,tokens:u.map(c=>({type:"literal",value:c,...u.length===1&&a?.length?{alternatives:a}:{}}))};return (t.roleMarkers[r]?.position??"before")==="after"?[o,s]:[s,o]}function Mu(e,t,r,n,i){for(let a of r.roles)a.required||i.has(a.role)||t[a.role]||!(a.markerOverride?.[n.code]??n.roleMarkers[a.role]?.primary)&&a.valueShape===void 0||(e.push({type:"group",optional:true,tokens:ju(a,n)}),t[a.role]=a.default?{fromRole:a.role,default:a.default}:{fromRole:a.role});}function Wd(e,t,r,n,i){let a=[];if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let f=n.primary.split(/\s+/);if(f.length>1)for(let d of f)a.push({type:"literal",value:d});else {let d=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(d);}}let o=_u(e),u=t.roleMarkers.destination,s=e.roles.some(f=>f.role==="destination");u&&s&&o!=="destination"&&a.push({type:"group",optional:true,tokens:[{type:"role",role:"destination",optional:true},u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary}]});let l=t.roleMarkers.source,c=e.roles.some(f=>f.role==="source");l&&c&&o!=="source"&&a.push({type:"group",optional:true,tokens:[{type:"role",role:"source",optional:true},l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary}]}),a.push(...Nu(e,t,o));let p=t.roleMarkers.patient;if(p&&o==="patient"){let f=p.alternatives?{type:"literal",value:p.primary,alternatives:p.alternatives}:{type:"literal",value:p.primary};a.push(f);}let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(m),o!=="source"&&a.push(...Ct(e,t.roleMarkers.source)),o!=="destination"&&a.push(...ki(e,t.roleMarkers.destination));let y={action:{value:e.action},event:{fromRole:"event"},[o]:{fromRole:o},...o==="destination"?{}:wt(e),...o==="source"?{}:kt(e)};return Mu(a,y,e,t,new Set(["event",o,"destination","source"])),{id:`${e.action}-event-${t.code}-sov`,language:t.code,command:"on",priority:(i.basePriority??100)+50,template:{format:`{event} ${n.primary} {destination?} {${o}} ${p?.primary||""} ${r.primary}`,tokens:a},extraction:y}}function qd(e,t,r,n,i){let a=[],o=e.action==="swap",u=o?"destination":"patient";a.push({type:"role",role:u,optional:false});let s=t.roleMarkers.patient;if(s){let m=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};a.push(m);}if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let m=n.primary.split(/\s+/);if(m.length>1)for(let y of m)a.push({type:"literal",value:y});else {let y=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(y);}}let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(l),a.push(...Ct(e,t.roleMarkers.source));let c=t.roleMarkers.destination;if(o&&c){let m=e.roles.find(y=>y.role==="patient")?.markerOverride?.[t.code];if(m&&m!==c.primary){let y=c.alternatives??[];y.includes(m)||(c={...c,alternatives:[...y,m]});}}a.push(...o?Ep(e,c):ki(e,c));let p={action:{value:e.action},event:{fromRole:"event"},[u]:{fromRole:u},...o?{}:wt(e),...kt(e)};return Lu(a,p,e,t.code),zi(a,p,e,t.code),{id:`${e.action}-event-${t.code}-sov-patient-first`,language:t.code,command:"on",priority:(i.basePriority??100)+45,template:{format:`{patient} ${s?.primary||""} {event} ${n.primary} ${r.primary}`,tokens:a},extraction:p}}function Vd(e,t,r,n,i){let a=e.roles.find(p=>p.role==="source");if(!a)return null;let{marker:o,alternatives:u}=Rt(a,t),s=t.roleMarkers.patient;if(!o||o===n.primary||o===s?.primary)return null;let l=[];l.push({type:"role",role:"patient",optional:false}),s&&l.push(s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary}),l.push({type:"role",role:"source",optional:false,...a.expectedTypes?{expectedTypes:a.expectedTypes}:{},...a.valueShape!==void 0?{valueShape:a.valueShape}:{}});for(let p of o.split(/\s+/))l.push(u&&o.split(/\s+/).length===1?{type:"literal",value:p,alternatives:u}:{type:"literal",value:p});if(l.push({type:"role",role:"event",optional:false}),n.position==="after"){let p=n.primary.split(/\s+/);if(p.length>1)for(let m of p)l.push({type:"literal",value:m});else l.push(n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary});}l.push(r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary});let c={action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},source:{fromRole:"source"}};return Lu(l,c,e,t.code),zi(l,c,e,t.code),{id:`${e.action}-event-${t.code}-sov-source-fronted`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`{patient} ${s?.primary||""} {source} ${o} {event} ${n.primary} ${r.primary}`,tokens:l},extraction:c}}function Hd(e,t,r,n,i){let a=[];a.push({type:"role",role:"patient",optional:false});let o=t.roleMarkers.patient;if(o){let l=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};a.push(l);}let u=t.roleMarkers.destination;if(u&&(a.push({type:"role",role:"destination",optional:false}),a.push(u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary})),a.push({type:"role",role:"event",optional:false}),n.position==="after"){let l=n.primary.split(/\s+/);if(l.length>1)for(let c of l)a.push({type:"literal",value:c});else {let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(c);}}let s=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(s),{id:`${e.action}-event-${t.code}-sov-patient-first-dest`,language:t.code,command:"on",priority:(i.basePriority??100)+40,template:{format:`{patient} ${o?.primary||""} {destination} ${u?.primary||""} {event} ${n.primary} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function Kd(e,t,r,n,i){let a=[];a.push({type:"role",role:"event",optional:false});let o=n.alternatives?.filter(c=>!c.includes(" ")&&c.length>1)||[];o.length>0&&a.push({type:"literal",value:o[0],alternatives:o.slice(1)});let u=t.roleMarkers.destination;u&&a.push({type:"group",optional:true,tokens:[{type:"role",role:"destination",optional:true},u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary}]}),a.push({type:"role",role:"patient",optional:false});let s=t.roleMarkers.patient;if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};a.push(c);}let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(l),a.push(...Ct(e,t.roleMarkers.source)),a.push(...ki(e,t.roleMarkers.destination)),{id:`${e.action}-event-${t.code}-sov-compact`,language:t.code,command:"on",priority:(i.basePriority??100)+52,template:{format:`{event}${o[0]||""} {patient} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},...wt(e),...kt(e)}}}function Ud(e,t,r,n,i){let a=[];if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let u=n.primary.split(/\s+/);if(u.length>1)for(let s of u)a.push({type:"literal",value:s});else {let s=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(s);}}let o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(o),{id:`${e.action}-event-${t.code}-sov-simple`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`{event} ${n.primary} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{default:{type:"reference",value:"me"}}}}}function Gd(e,t,r,n){let i=t.eventHandler?.temporalMarkers;if(!i||i.length===0)return null;let a=[];a.push({type:"role",role:"event",optional:false}),t.possessive?.marker&&a.push({type:"group",optional:true,tokens:[{type:"literal",value:t.possessive.marker}]}),a.push({type:"literal",value:i[0],alternatives:i.slice(1)}),a.push({type:"role",role:"patient",optional:false});let o=t.roleMarkers.patient;if(o?.primary){let s=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};a.push(s);}let u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(u),{id:`${e.action}-event-${t.code}-sov-temporal`,language:t.code,command:"on",priority:(n.basePriority??100)+49,template:{format:`{event} ${i[0]} {patient} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"}}}}function Yd(e,t,r,n,i){let a=[];if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let p=n.primary.split(/\s+/);if(p.length>1)for(let m of p)a.push({type:"literal",value:m});else {let m=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(m);}}let u=[...e.roles.filter(p=>p.required)].sort((p,m)=>{let y=p.sovPosition??999,f=m.sovPosition??999;return y-f});for(let p of u){a.push({type:"role",role:p.role,optional:false});let{marker:m,alternatives:y}=Rt(p,t);if(m){let f=y?{type:"literal",value:m,alternatives:y}:{type:"literal",value:m};a.push(f);}}let s=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(s);let l=u.map(p=>`{${p.role}}`).join(" "),c={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(u.map(p=>[p.role,{fromRole:p.role}]))};return ur(a,c,e),{id:`${e.action}-event-${t.code}-sov-2role`,language:t.code,command:"on",priority:(i.basePriority??100)+55,template:{format:`{event} ${n.primary} ${l} ${r.primary}`,tokens:a},extraction:c}}function Zd(e,t,r,n,i){let a=[],u=[...e.roles.filter(c=>c.required)].sort((c,p)=>{let m=c.sovPosition??999,y=p.sovPosition??999;return m-y});for(let c of u){a.push({type:"role",role:c.role,optional:false});let{marker:p,alternatives:m}=Rt(c,t);p&&a.push(m?{type:"literal",value:p,alternatives:m}:{type:"literal",value:p});}if(a.push(r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary}),a.push({type:"role",role:"event",optional:false}),n.position==="after"){let c=n.primary.split(/\s+/);if(c.length>1)for(let p of c)a.push({type:"literal",value:p});else a.push(n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary});}let s=u.map(c=>`{${c.role}}`).join(" "),l={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(u.map(c=>[c.role,{fromRole:c.role}]))};return ur(a,l,e),{id:`${e.action}-event-${t.code}-sov-2role-event-last`,language:t.code,command:"on",priority:(i.basePriority??100)+40,template:{format:`${s} ${r.primary} {event} ${n.primary}`,tokens:a},extraction:l}}function Qd(e,t,r,n,i){let a=[],u=[...e.roles.filter(v=>v.required)].sort((v,g)=>{let w=v.sovPosition??999,E=g.sovPosition??999;return w-E}),s=u[0];a.push({type:"role",role:s.role,optional:false});let{marker:l,alternatives:c}=Rt(s,t);if(l){let v=c?{type:"literal",value:l,alternatives:c}:{type:"literal",value:l};a.push(v);}if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let v=n.primary.split(/\s+/);if(v.length>1)for(let g of v)a.push({type:"literal",value:g});else {let g=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(g);}}let p=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(p);let m=u[1];a.push({type:"role",role:m.role,optional:false});let{marker:y,alternatives:f}=Rt(m,t);if(y){let v=f?{type:"literal",value:y,alternatives:f}:{type:"literal",value:y};a.push(v);}let d={action:{value:e.action},event:{fromRole:"event"},[s.role]:{fromRole:s.role},[m.role]:{fromRole:m.role}};return ur(a,d,e),{id:`${e.action}-event-${t.code}-sov-2role-dest-first`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`{${s.role}} {event} ${n.primary} ${r.primary} {${m.role}}`,tokens:a},extraction:d}}function Iu(e,t,r){let n=We(e,t.code,r.primary)??[],i=[...new Set([...r.alternatives??[],...n])].filter(a=>a!==r.primary);return i.length?i:void 0}function Ha(e,t,r,n,i){let a=[];if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(p);}a.push({type:"role",role:"event",optional:false});let o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(o);let u=_u(e);a.push(...Nu(e,t,u));let s=t.roleMarkers.destination,l=e.roles.some(p=>p.role==="destination");s&&l&&u!=="destination"&&a.push({type:"group",optional:true,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:true}]}),u!=="source"&&a.push(...Ct(e,t.roleMarkers.source));let c={action:{value:e.action},event:{fromRole:"event"},[u]:{fromRole:u},...u==="destination"?{}:wt(e),...u==="source"?{}:kt(e)};return Mu(a,c,e,t,new Set(["event",u,"destination","source"])),{id:`${e.action}-event-${t.code}-vso`,language:t.code,command:"on",priority:(i.basePriority??100)+50,template:{format:`${n.primary} {event} ${r.primary} {${u}} ${s?.primary||""} {destination?}`,tokens:a},extraction:c}}function Xd(e,t,r,n,i){let a=[],o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(o);let u=e.action==="swap";a.push({type:"role",role:u?"destination":"patient",optional:false});let s=u?void 0:t.roleMarkers.destination;if(s&&a.push({type:"group",optional:true,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:true}]}),a.push(...Ct(e,t.roleMarkers.source)),n.position==="before"){let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(c);}if(a.push({type:"role",role:"event",optional:false}),u){let c=e.roles.find(p=>p.role==="patient")?.markerOverride?.[t.code];c&&a.push({type:"group",optional:true,tokens:[{type:"literal",value:c},{type:"role",role:"patient",optional:false}]});}let l={action:{value:e.action},event:{fromRole:"event"},[u?"destination":"patient"]:{fromRole:u?"destination":"patient"},...u?{}:wt(e),...kt(e)};return zi(a,l,e,t.code),{id:`${e.action}-event-${t.code}-vso-verb-first`,language:t.code,command:"on",priority:(i.basePriority??100)+45,template:{format:`${r.primary} {patient} ${s?.primary||""} {destination?} ${n.primary} {event}`,tokens:a},extraction:l}}function Jd(e,t,r,n,i){let a=[],o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(o);let s=[...e.roles.filter(p=>p.required)].sort((p,m)=>{let y=p.svoPosition??999,f=m.svoPosition??999;return y-f});for(let p of s){let m,y;if(p.markerOverride&&p.markerOverride[t.code]!==void 0)m=p.markerOverride[t.code],y=m?We(p,t.code,m):void 0;else {let f=t.roleMarkers[p.role];f&&(m=f.primary,y=Iu(p,t,f));}if(m){let f=y?{type:"literal",value:m,alternatives:y}:{type:"literal",value:m};a.push(f);}a.push({type:"role",role:p.role,optional:false});}if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(p);}a.push({type:"role",role:"event",optional:false});let l=s.map(p=>`{${p.role}}`).join(" "),c={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(s.map(p=>[p.role,{fromRole:p.role}]))};return ur(a,c,e),{id:`${e.action}-event-${t.code}-vso-verb-first-2role`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`${r.primary} ${l} ${n.primary} {event}`,tokens:a},extraction:c}}function Ka(e,t,r,n,i){let a=[];if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(p);}a.push({type:"role",role:"event",optional:false});let o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(o);let s=[...e.roles.filter(p=>p.required)].sort((p,m)=>{let y=p.svoPosition??999,f=m.svoPosition??999;return y-f});for(let p of s){let m,y;if(p.markerOverride&&p.markerOverride[t.code]!==void 0)m=p.markerOverride[t.code],y=m?We(p,t.code,m):void 0;else {let f=t.roleMarkers[p.role];f&&(m=f.primary,y=Iu(p,t,f));}if(m){let f=y?{type:"literal",value:m,alternatives:y}:{type:"literal",value:m};a.push(f);}a.push({type:"role",role:p.role,optional:false});}let l=s.map(p=>`{${p.role}}`).join(" "),c={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(s.map(p=>[p.role,{fromRole:p.role}]))};return ur(a,c,e),{id:`${e.action}-event-${t.code}-vso-2role`,language:t.code,command:"on",priority:(i.basePriority??100)+55,template:{format:`${n.primary} {event} ${r.primary} ${l}`,tokens:a},extraction:c}}function em(e,t,r,n,i){let a=[],o=t.eventHandler?.negationMarker;if(n.position==="before"){let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(l);}if(o){let l=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};a.push(l);}a.push({type:"role",role:"event",optional:false});let u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(u),a.push({type:"role",role:"patient",optional:false});let s=t.roleMarkers.destination;return s&&a.push({type:"group",optional:true,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:true}]}),a.push(...Ct(e,t.roleMarkers.source)),{id:`${e.action}-event-${t.code}-vso-negated`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`${n.primary} ${o?.primary||""} {event} ${r.primary} {patient} ${s?.primary||""} {destination?}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},...wt(e),...kt(e)}}}function tm(e,t,r,n){let i=[];i.push({type:"literal",value:"and",alternatives:["then"]}),i.push({type:"role",role:"event",optional:false});let a=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(a),i.push({type:"role",role:"patient",optional:false});let o=t.roleMarkers.destination;return o&&i.push({type:"group",optional:true,tokens:[o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary},{type:"role",role:"destination",optional:true}]}),i.push(...Ct(e,t.roleMarkers.source)),{id:`${e.action}-event-${t.code}-vso-proclitic`,language:t.code,command:"on",priority:(n.basePriority??100)+45,template:{format:`[proclitic?] {event} ${r.primary} {patient} ${o?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},...wt(e),...kt(e)}}}var Ai={basePriority:100,generateSimpleVariants:true,generateAlternatives:true},$u=fa({positionOrder:"ascending"});function rm(e,t,r=Ai){return $u.generatePatternVariants(e,t,r)}function ju(e,t){return $u.buildRoleToken(e,t)}function xi(e,t=Ai){let r=[],n=jd();for(let i of n){if(!e.keywords[i.action])continue;let a=rm(i,e,t);if(r.push(...a),e.eventHandler?.eventMarker){let o=nm(En(i),e,t);r.push(...o);}}return r}function nm(e,t,r=Ai){if(!t.eventHandler||!t.eventHandler.eventMarker)return [];let n=[],i=t.eventHandler.eventMarker,a=t.keywords[e.action];if(!a)return [];if(e.roles.length===0)return [];if(e.action==="js")return [];let u=e.roles.filter(s=>s.required).length===2;if(t.wordOrder==="SOV")if(u)n.push(Yd(e,t,a,i,r)),n.push(Qd(e,t,a,i,r)),n.push(Zd(e,t,a,i,r));else {n.push(Wd(e,t,a,i,r)),n.push(qd(e,t,a,i,r));let s=Vd(e,t,a,i,r);s&&n.push(s);let l=t.roleMarkers.destination;l&&l.primary!==i.primary&&n.push(Hd(e,t,a,i,r));let c=i.primary.split(/\s+/),p=i.alternatives?.some(y=>!y.includes(" ")&&y.length>1);c.length>1&&p&&n.push(Kd(e,t,a,i,r)),n.push(Ud(e,t,a,i,r));let m=Gd(e,t,a,r);m&&n.push(m);}else t.wordOrder==="VSO"?u?(n.push(Ka(e,t,a,i,r)),n.push(Jd(e,t,a,i,r))):(n.push(Ha(e,t,a,i,r)),n.push(Xd(e,t,a,i,r)),t.eventHandler?.negationMarker&&n.push(em(e,t,a,i,r)),t.tokenization?.prefixes&&n.push(tm(e,t,a,r))):u?n.push(Ka(e,t,a,i,r)):n.push(Ha(e,t,a,i,r));return t.eventHandler.headOutranksFused?n.map(s=>({...s,priority:s.priority-75})):n}function im(e,t,r){let n=J(e)?.roles.find(o=>o.role==="condition"),i=F(t);if(!n||!i||i.wordOrder==="SOV")return r;let a={type:"group",optional:true,tokens:ju(n,i)};return r.map(o=>({...o,template:{...o.template,tokens:[...o.template.tokens,a]}}))}var sr={ar:{back:"\u062E\u0644\u0641\u0627",elsewhere:"\u0627\u0644\u062E\u0627\u0631\u062C",index:"\u0645\u0624\u0634\u0631",start:"\u0627\u0628\u062F\u0623",catch:"\u0627\u0644\u062A\u0642\u0637",finally:"\u0623\u062E\u064A\u0631\u0627",def:"\u062F\u0627\u0644\u0629",up:"\u0623\u0639\u0644\u0649",down:"\u0623\u0633\u0641\u0644",left:"\u064A\u0633\u0627\u0631",right:"\u064A\u0645\u064A\u0646"},bn:{back:"\u09AA\u09BF\u099B\u09A8\u09C7",elsewhere:"\u09AC\u09BE\u0987\u09B0\u09C7",index:"\u09B8\u09C2\u099A\u0995",start:"\u0986\u09B0\u09AE\u09CD\u09AD",catch:"\u09A7\u09B0\u09C1\u09A8",finally:"\u0985\u09AC\u09B6\u09C7\u09B7\u09C7",def:"\u09AB\u09BE\u0982\u09B6\u09A8",up:"\u0989\u09AA\u09B0\u09C7",down:"\u09A8\u09BF\u099A\u09C7",left:"\u09AC\u09BE\u09AE\u09C7",right:"\u09A1\u09BE\u09A8\u09C7"},de:{back:"zur\xFCck",elsewhere:"au\xDFerhalb",index:"index",start:"starte",catch:"fangen",finally:"schlie\xDFlich",def:"funktion",up:"hoch",down:"runter",left:"links",right:"rechts"},es:{back:"atr\xE1s",elsewhere:"afuera",index:"\xEDndice",start:"comenzar",catch:"atrapar",finally:"finalmente",def:"funci\xF3n",up:"arriba",down:"abajo",left:"izquierda",right:"derecha"},fr:{back:"arri\xE8re",elsewhere:"ailleurs",index:"indice",start:"d\xE9marrer",catch:"attraper",finally:"finalement",def:"fonction",up:"haut",down:"bas",left:"gauche",right:"droite"},he:{back:"\u05D0\u05D7\u05D5\u05E8\u05D4",elsewhere:"\u05D7\u05D5\u05E5",index:"\u05D0\u05D9\u05E0\u05D3\u05E7\u05E1",start:"\u05D9\u05D6\u05D5\u05DD",catch:"\u05EA\u05E4\u05D5\u05E1",finally:"\u05E1\u05D5\u05E4\u05D9\u05EA",def:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",up:"\u05DC\u05DE\u05E2\u05DC\u05D4",down:"\u05DC\u05DE\u05D8\u05D4",left:"\u05E9\u05DE\u05D0\u05DC\u05D4",right:"\u05D9\u05DE\u05D9\u05E0\u05D4"},hi:{back:"\u092A\u0940\u091B\u0947",elsewhere:"\u0905\u0928\u094D\u092F\u0924\u094D\u0930",index:"\u0938\u0942\u091A\u0915\u093E\u0902\u0915",start:"\u0936\u0941\u0930\u0942",catch:"\u092A\u0915\u0921\u093C\u0947\u0902",finally:"\u0905\u0902\u0924\u0924\u0903",def:"\u092B\u093C\u0902\u0915\u094D\u0936\u0928",up:"\u090A\u092A\u0930",down:"\u0928\u0940\u091A\u0947",left:"\u092C\u093E\u090F\u0902",right:"\u0926\u093E\u090F\u0902"},id:{back:"mundur",elsewhere:"luaran",index:"indeks",start:"memulai",catch:"menangkap",finally:"akhirnya",def:"fungsi",up:"atas",down:"bawah",left:"kiri",right:"kanan"},it:{back:"indietro",elsewhere:"altrove",index:"indice",start:"avvia",catch:"catturare",finally:"infine",def:"funzione",up:"sopra",down:"sotto",left:"sinistra",right:"destra"},ja:{back:"\u30D0\u30C3\u30AF",elsewhere:"\u5916\u5074",index:"\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9",start:"\u958B\u59CB",catch:"\u6355\u307E\u3048\u308B",finally:"\u6700\u7D42\u7684\u306B",def:"\u95A2\u6570",up:"\u4E0A",down:"\u4E0B",left:"\u5DE6",right:"\u53F3"},ko:{back:"\uB4A4\uB85C",elsewhere:"\uBC14\uAE65",index:"\uC778\uB371\uC2A4",start:"\uC2DC\uC791",catch:"\uC7A1\uB2E4",finally:"\uACB0\uAD6D",def:"\uD568\uC218",up:"\uC704\uCABD",down:"\uC544\uB798\uCABD",left:"\uC67C\uCABD",right:"\uC624\uB978\uCABD"},ms:{back:"undur",elsewhere:"luar",index:"indeks",start:"memulakan",catch:"tangkap",finally:"akhirnya",def:"fungsi",up:"atas",down:"bawah",left:"kiri",right:"kanan"},pl:{back:"wstecz",elsewhere:"zewn\u0105trz",index:"indeks",start:"rozpocznij",catch:"z\u0142ap",finally:"ostatecznie",def:"funkcja",up:"w g\xF3r\u0119",down:"w d\xF3\u0142",left:"w lewo",right:"w prawo"},pt:{back:"atr\xE1s",elsewhere:"exterior",index:"\xEDndice",start:"come\xE7ar",catch:"capturar",finally:"finalmente",def:"fun\xE7\xE3o",up:"acima",down:"abaixo",left:"esquerda",right:"direita"},qu:{back:"kutiy",elsewhere:"hawa",index:"yupay",start:"qallay",catch:"hapsiy",finally:"qhipamanqa",def:"rurana",up:"hanaq",down:"uray",left:"lluqi",right:"pa\xF1a"},ru:{back:"\u043D\u0430\u0437\u0430\u0434",elsewhere:"\u0441\u043D\u0430\u0440\u0443\u0436\u0438",index:"\u0438\u043D\u0434\u0435\u043A\u0441",start:"\u043D\u0430\u0447\u0430\u0442\u044C",catch:"\u043F\u043E\u0439\u043C\u0430\u0442\u044C",finally:"\u043D\u0430\u043A\u043E\u043D\u0435\u0446",def:"\u0444\u0443\u043D\u043A\u0446\u0438\u044F",up:"\u0432\u0432\u0435\u0440\u0445",down:"\u0432\u043D\u0438\u0437",left:"\u0432\u043B\u0435\u0432\u043E",right:"\u0432\u043F\u0440\u0430\u0432\u043E"},sw:{back:"kurudi",elsewhere:"kwingineko",index:"faharasa",start:"zindua",catch:"shika",finally:"mwishowe",def:"kitendakazi",up:"kupanda",down:"kushuka",left:"kushoto",right:"kulia"},th:{back:"\u0E22\u0E49\u0E2D\u0E19",elsewhere:"\u0E20\u0E32\u0E22\u0E19\u0E2D\u0E01",index:"\u0E14\u0E31\u0E0A\u0E19\u0E35",start:"\u0E40\u0E23\u0E34\u0E48\u0E21",catch:"\u0E08\u0E31\u0E1A",finally:"\u0E17\u0E49\u0E32\u0E22\u0E17\u0E35\u0E48\u0E2A\u0E38\u0E14",def:"\u0E1F\u0E31\u0E07\u0E01\u0E4C\u0E0A\u0E31\u0E19",up:"\u0E02\u0E36\u0E49\u0E19",down:"\u0E25\u0E07",left:"\u0E0B\u0E49\u0E32\u0E22",right:"\u0E02\u0E27\u0E32"},tl:{back:"pabalik",elsewhere:"labas",index:"indeks",start:"umpisahan",catch:"saluhin",finally:"panghuli",def:"punsiyon",up:"pataas",down:"pababa",left:"pakaliwa",right:"pakanan"},tr:{back:"geri",elsewhere:"d\u0131\u015Far\u0131",index:"indeks",start:"ba\u015Fla",catch:"yakalarsa",finally:"sonunda",def:"fonksiyon",up:"yukar\u0131",down:"a\u015Fa\u011F\u0131",left:"sola",right:"sa\u011Fa"},uk:{back:"\u043D\u0430\u0437\u0430\u0434",elsewhere:"\u0437\u0437\u043E\u0432\u043D\u0456",index:"\u0456\u043D\u0434\u0435\u043A\u0441",start:"\u043F\u043E\u0447\u0430\u0442\u0438",catch:"\u0437\u043B\u043E\u0432\u0438\u0442\u0438",finally:"\u043D\u0430\u0440\u0435\u0448\u0442\u0456",def:"\u0444\u0443\u043D\u043A\u0446\u0456\u044F",up:"\u0432\u0433\u043E\u0440\u0443",down:"\u0432\u043D\u0438\u0437",left:"\u0432\u043B\u0456\u0432\u043E",right:"\u0432\u043F\u0440\u0430\u0432\u043E"},vi:{back:"l\xF9i",elsewhere:"ngo\xE0i",index:"ch\u1EC9 s\u1ED1",start:"b\u1EAFt \u0111\u1EA7u",catch:"b\u1EAFt",finally:"r\u1ED1t cu\u1ED9c",def:"h\xE0m",up:"l\xEAn",down:"xu\u1ED1ng",left:"tr\xE1i",right:"ph\u1EA3i"},zh:{back:"\u540E\u9000",elsewhere:"\u5916\u90E8",index:"\u7D22\u5F15",start:"\u5F00\u59CB",catch:"\u6355\u83B7",finally:"\u6700\u7EC8",def:"\u51FD\u6570",up:"\u5411\u4E0A",down:"\u5411\u4E0B",left:"\u5411\u5DE6",right:"\u5411\u53F3"}};function Se(e,t){return sr[e]?.[t]??t}function Wu(e,t,r){let n=sr[e]?.[t],i=[[t]];return n&&n!==t&&i.push(r(n).map(a=>a.toLowerCase())),i}var am={ar:"\u0641\u064A",bn:"\u098F",de:"in",es:"en",fr:"en",he:"\u05D1\u05EA\u05D5\u05DA",hi:"\u092E\u0947\u0902",id:"dalam",it:"in",ja:"\u306E\u4E2D",ko:"\uC548\uC5D0",ms:"dalam",pl:"w",pt:"dentro",qu:"ukupi",ru:"\u0432",sw:"ndani",th:"\u0E43\u0E19",tl:"sa_loob",tr:"i\xE7inde",uk:"\u0443",vi:"trong",zh:"\u5728"};function om(e){return am[e]??"in"}var um={ar:"\u0643\u0640",bn:"\u09B9\u09BF\u09B8\u09BE\u09AC\u09C7",de:"als",es:"como",fr:"comme",he:"\u05DB",hi:"\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902",id:"sebagai",it:"come",ja:"\u3068\u3057\u3066",ko:"\uB85C",ms:"sebagai",pl:"jako",pt:"como",qu:"hina",ru:"\u043A\u0430\u043A",sw:"kuwa",th:"\u0E40\u0E1B\u0E47\u0E19",tl:"bilang",tr:"olarak",uk:"\u044F\u043A",vi:"nh\u01B0",zh:"\u4F5C\u4E3A"};function sm(e){return um[e]??"as"}var lm={id:"fetch-en-with-response-type",language:"en",command:"fetch",priority:90,template:{format:"fetch {source} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:qr},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:fi}]},extraction:{source:{position:1},responseType:{marker:"as"}}},cm={id:"fetch-en-with-options-as",language:"en",command:"fetch",priority:95,template:{format:"fetch {source} with {style} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:qr},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:yi},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:fi}]},extraction:{source:{position:1},style:{marker:"with"},responseType:{marker:"as"}}},pm={id:"fetch-en-with-options",language:"en",command:"fetch",priority:93,template:{format:"fetch {source} with {style}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:qr},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:yi}]},extraction:{source:{position:1},style:{marker:"with"}}},dm={id:"fetch-en-simple",language:"en",command:"fetch",priority:80,template:{format:"fetch {source}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source"}]},extraction:{source:{position:1}}},mm=[cm,pm,lm,dm],Zr={type:"group",optional:true,tokens:[{type:"literal",value:"using"},{type:"literal",value:"view"},{type:"role",role:"manner",optional:true,expectedTypes:["literal","expression"],valueShape:"keyword"}]},fm={id:"swap-en-handcrafted",language:"en",command:"swap",priority:110,template:{format:"swap {method} {destination} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"},Zr]},extraction:{method:{position:1},destination:{position:2}}},ym={id:"swap-en-element",language:"en",command:"swap",priority:120,template:{format:"swap {destination} with {patient} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"destination"},{type:"literal",value:"with"},{type:"role",role:"patient"},Zr]},extraction:{}},vm={id:"swap-en-strategy-of",language:"en",command:"swap",priority:140,template:{format:"swap {method} of {destination} with {patient} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"literal",value:"of"},{type:"role",role:"destination"},{type:"literal",value:"with"},{type:"role",role:"patient"},Zr]},extraction:{}},hm={id:"swap-en-strategy",language:"en",command:"swap",priority:130,template:{format:"swap {method} {destination} with {patient} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"},{type:"literal",value:"with"},{type:"role",role:"patient"},Zr]},extraction:{}},Em=[vm,hm,ym,fm],gm={id:"repeat-en-until-event-from",language:"en",command:"repeat",priority:120,template:{format:"repeat until event {event} from {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},wm={id:"repeat-en-until-event",language:"en",command:"repeat",priority:110,template:{format:"repeat until event {event}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},km=[gm,wm],Cm=[...mi],bm={id:"set-en-possessive",language:"en",command:"set",priority:100,template:{format:"set {destination} to {patient} [on {scope}]",tokens:[{type:"literal",value:"set"},{type:"role",role:"destination",expectedTypes:["property-path","selector","reference","expression"]},{type:"literal",value:"to"},{type:"role",role:"patient",expectedTypes:Cm},{type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"scope",optional:true,expectedTypes:["selector","reference"]}]}]},extraction:{destination:{position:1},patient:{marker:"to"},scope:{marker:"on"}}},zm=[bm],Am={id:"for-en-basic",language:"en",command:"for",priority:100,template:{format:"for {patient} in {source}",tokens:[{type:"literal",value:"for"},{type:"role",role:"patient",expectedTypes:["expression","reference"]},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:["selector","expression","reference"]}]},extraction:{patient:{position:1},source:{marker:"in"}}},xm={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},Dm={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},Sm=[Am,xm,Dm],Bm={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},Tm={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},Fm=[Bm,Tm],Pm=[...mm,...Em,...km,...zm,...Sm,...Fm];function Om(){return Pm}function Lm(e){let t=F(e);return t?e==="en"?Va(e):Va(e,{words:Se(e,"start").split(" "),verbFinal:t.wordOrder==="SOV"}):[]}function Rm(e){let t=F(e),r=t?.keywords?.go,n=Xc(e);return e==="en"||!r||!n?[]:hp(e,{go:r.primary,goAlternatives:r.alternatives??[],back:n.tokenize(Se(e,"back")).tokens.map(i=>i.value),verbFinal:t.wordOrder==="SOV"})}var zr=(e,t)=>r=>im(e,r,t(r)),_m=[l0,c0,E0,b0,zr("add",A0),zr("remove",x0),zr("show",D0),zr("hide",S0),T0,F0,P0,O0,R0,_0,wi,ip,ap,op,up,vp,Lm,Rm,z0],Ua=new Map;function Nm(e){let t=Ua.get(e);if(t)return t;let r=F(e);if(!r)return [];let n=xi(r);return Ua.set(e,n),n}function Mm(e){let t=_m.flatMap(r=>r(e));return e==="en"&&t.push(...Om()),t.push(...Nm(e)),t.map($m)}var Im=new Set(["on.source"]);function $m(e){let t=J(e.command);if(!t)return e;let r;for(let n of t.roles){if(n.required||!n.default||Im.has(`${e.command}.${n.role}`))continue;let i=e.extraction?.[n.role];i?.default!==void 0||i?.value!==void 0||(r??(r={...e.extraction}),r[n.role]={...i,default:n.default});}return r?{...e,extraction:r}:e}function jm(e){return Mm(e.code)}Yc(jm);var Di=["is not really equal to","is really equal to","is greater than or equal to","is less than or equal to","is not equal to","is equal to","is greater than","is less than","is not really","is really","is not equal","is equal","is not in","is in","is not","is","am not in","am in","am","does not match","do not match","does not contain","does not contains","do not contain","does not include","does not precede","does not follow","precedes","follows","really equals","equals","matches","match","contains","contain","includes","include","has","have","in"],Si=["is not empty","is empty","does not exist"],Bi=["is not an","is not a","is an","is a"],Wm=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),qm=new Set(["and","or","not","no"]),Vm=new Set(["true","false","null","undefined"]),Hm=new Set(Di.map(e=>e.slice(e.lastIndexOf(" ")+1))),Km=new Set(["next","previous","closest","first","last"]),Um=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function qu(e){let t=[],r=0,n=1,i=1;function a(){if(t.length===0)return true;let f=t[t.length-1];return f.type==="IDENTIFIER"&&Hm.has(f.value.toLowerCase())||f.type==="IDENTIFIER"&&Km.has(f.value.toLowerCase())||f.type==="IDENTIFIER"&&f.value.toLowerCase()==="of"?true:["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(f.type)}function o(f=0){return e[r+f]??""}function u(){let f=e[r];return r++,f===`
|
|
7
|
-
`?(n++,i=1):i++,f}function s(){for(;r<e.length&&/\s/.test(e[r]);)u();}function l(f){let d="";for(;r<e.length&&f(e[r]);)d+=u();return d}function c(f){let d=f;for(u();r<e.length&&e[r]!==f;)e[r]==="\\"&&r+1<e.length&&(d+=u()),d+=u();return r<e.length&&(d+=u()),d}function p(){let f="`";for(u();r<e.length&&e[r]!=="`";)e[r]==="\\"&&r+1<e.length&&(f+=u()),f+=u();return r<e.length&&(f+=u()),f}function m(){let f="<";for(u();r<e.length&&(f+=u(),!f.endsWith("/>")););return f}function y(f,d,v){return {type:f,value:d,start:v,end:r,line:n,column:i-d.length}}for(;r<e.length&&(s(),!(r>=e.length));){let f=r,d=o();if(d==="'"&&o(1)==="s"&&!/\w/.test(o(2))){u(),u(),t.push(y("POSSESSIVE","'s",f));continue}if(d==='"'||d==="'"){let g=c(d);t.push(y("STRING",g,f));continue}if(d==="`"){let g=p();t.push(y("TEMPLATE_LITERAL",g,f));continue}if(d==="<"&&/[a-zA-Z.#\[]/.test(o(1))){let g=m();t.push(y("QUERY_SELECTOR",g,f));continue}if(d==="#"&&a()){u();let g=l(w=>/[\w-]/.test(w));t.push(y("ID_SELECTOR","#"+g,f));continue}if(d==="."&&/[a-zA-Z_-]/.test(o(1))&&a()){u();let g=l(w=>/[\w-]/.test(w));t.push(y("CLASS_SELECTOR","."+g,f));continue}if(d==="@"&&/[a-zA-Z_]/.test(o(1))){u();let g=l(w=>/[\w-]/.test(w));t.push(y("ATTRIBUTE_REF","@"+g,f));continue}if(d==="["&&a()&&o(1)==="@"){let w="";for(w+=u();r<e.length&&e[r]!=="]";)e[r]==='"'||e[r]==="'"?w+=c(e[r]):w+=u();r<e.length&&(w+=u()),t.push(y("ATTRIBUTE_SELECTOR",w,f));continue}if(d==="["){u(),t.push(y("LBRACKET","[",f));continue}if(d==="]"){u(),t.push(y("RBRACKET","]",f));continue}if(/\d/.test(d)){let g=l(z=>/[\d.]/.test(z)),w=r,E=l(z=>/[a-zA-Z]/.test(z));Um.has(E)?t.push(y("TIME_EXPRESSION",g+E,f)):jr.has(E)||!E&&e[r]==="%"?(E||u(),t.push(y("STRING",`"${g}${E||"%"}"`,f))):(r=w,t.push(y("NUMBER",g,f)));continue}if(d==="("){u(),t.push(y("LPAREN","(",f));continue}if(d===")"){u(),t.push(y("RPAREN",")",f));continue}if(d==="{"){u(),t.push(y("LBRACE","{",f));continue}if(d==="}"){u(),t.push(y("RBRACE","}",f));continue}if(d===","){u(),t.push(y("COMMA",",",f));continue}let v=t[t.length-1]?.type;if(d===":"&&/[a-zA-Z_]/.test(e[r+1]??"")&&(v===void 0||/\s/.test(e[r-1]??"")||v==="OPERATOR"||v==="COMPARISON"||v==="LPAREN"||v==="LBRACKET"||v==="COMMA")){u();let g=l(w=>/[\w$]/.test(w));t.push(y("IDENTIFIER",`:${g}`,f));continue}if(d===":"){u(),t.push(y("COLON",":",f));continue}if(d==="."){u(),t.push(y("DOT",".",f));continue}if(d==="|"){u(),t.push(y("PIPE","|",f));continue}if(d==="+"||d==="-"||d==="*"||d==="/"||d==="%"){u(),t.push(y("OPERATOR",d,f));continue}if(d==="="||d==="!"||d==="<"||d===">"){let g=u();o()==="="&&(g+=u()),(g==="=="||g==="!=")&&o()==="="&&(g+=u()),t.push(y("COMPARISON",g,f));continue}if(/[a-zA-Z_$]/.test(d)){let g=l(E=>/[\w$]/.test(E)),w=g.toLowerCase();Wm.has(w)?t.push(y("CONTEXT_VAR",g,f)):qm.has(w)?t.push(y("LOGICAL",g,f)):Vm.has(w)?t.push(y("BOOLEAN",g,f)):t.push(y("IDENTIFIER",g,f));continue}u();}return t.push(y("EOF","",r)),t}var Gm=new Set(["my","its","your"]),Ym={my:"me",its:"it",your:"you"},Zm=new Set(["is","matches","match","contains","in","exists","does"]),Qm=new Set(["next","previous","closest","first","last"]),Xm=[...Si,...Bi,...Di].map(e=>[e,e.split(" ")]),Jm=class{constructor(){this.tokens=[],this.current=0,this.collectionOperand=0;}parse(e){try{return this.tokens=qu(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return {success:false,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}peekAt(e){return this.tokens[this.current+e]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}isAtEndAt(e){return this.peekAt(e).type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(e){return this.peek().type===e}checkValue(e){return this.peek().value.toLowerCase()===e.toLowerCase()}match(...e){for(let t of e)if(this.check(t))return this.advance(),true;return false}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,r=this.parseAnd();e=this.createBinaryExpression(t,e,r);}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,r=this.parseEquality();e=this.createBinaryExpression(t,e,r);}return e}parseEquality(){let e=this.parseComparison();for(;;){if(this.match("COMPARISON")){let r=this.previous().value;e=this.createBinaryExpression(r,e,this.parseComparison());continue}let t=this.matchComparisonPhrase();if(t===void 0)break;if(Si.includes(t))e=this.createPostfixUnary(t,e);else if(Bi.includes(t))e=this.parseTypeCheck(e,t.startsWith("is not"));else {let r=t==="match"?"matches":t;e=this.createBinaryExpression(r,e,this.parseComparison());}}return e}matchComparisonPhrase(){for(let[e,t]of Xm)if(t.every((r,n)=>this.peekAt(n).value.toLowerCase()===r)){for(let r=0;r<t.length;r++)this.advance();return e}}parseTypeCheck(e,t){let r=this.advance();if(r.type==="EOF")throw new Error(`Expected a type name after 'is ${t?"not ":""}a'`);let n=true;return this.peek().value==="!"&&(this.advance(),n=false),{type:"typeCheckExpression",value:e,typeName:r.value,nullOk:n,negated:t,start:e.start,end:this.previous().end}}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,r=this.parseAddition();e=this.createBinaryExpression(t,e,r);}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,r=this.parseMultiplication();e=this.createBinaryExpression(t,e,r);}return e}parseMultiplication(){let e=this.parseCollection();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%"||this.checkValue("mod");){let t=this.advance().value.toLowerCase(),r=this.parseCollection();e=this.createBinaryExpression(t,e,r);}return e}parseCollection(){let e=this.parseConversion();if(this.collectionOperand>0)return e;for(let t=this.collectionOperator();t;t=this.collectionOperator()){this.advance(),t==="mapped to"&&this.advance(),this.collectionOperand++;let r;try{r=this.parseExpression();}finally{this.collectionOperand--;}e=this.createBinaryExpression(t,e,r);}return e}collectionOperator(){if(this.checkValue("where"))return "where";if(this.checkValue("mapped")&&this.peekAt(1).value.toLowerCase()==="to")return "mapped to"}parseConversion(){let e=this.parseUnary();for(;this.checkValue("as")&&this.conversionTypeAt(1)!==void 0;)for(this.advance(),e=this.createAsExpression(e,this.parseConversionType());this.check("PIPE")&&this.conversionTypeAt(1)!==void 0;)this.advance(),e=this.createAsExpression(e,this.parseConversionType());return e}conversionTypeAt(e){let t=this.peekAt(e).value.toLowerCase(),r=t==="a"||t==="an"?e+1:e;return this.peekAt(r).type==="IDENTIFIER"?r:void 0}parseConversionType(){let e=this.conversionTypeAt(0)??0;for(let i=0;i<e;i++)this.advance();let t=this.advance(),r=this.peekAt(1).type;if(!this.check("COLON")||r!=="NUMBER"&&r!=="IDENTIFIER")return t;this.advance();let n=this.advance();return {...t,value:`${t.value}:${n.value}`,end:n.end}}parseUnary(){if(this.checkValue("no")){let e=this.advance().value;return this.createUnaryExpression(e,this.parseCollection())}if(this.checkValue("not")||this.peek().value==="-"){let e=this.advance().value,t=this.parseUnary();return this.createUnaryExpression(e,t)}return this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createMemberExpression(e,this.createIdentifier(t.value,t),false);}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createPossessiveExpression(e,this.createIdentifier(t.value,t));}else break;else if(this.match("LPAREN")){let t=this.parseArguments();e=this.createCallExpression(e,t);}else if(this.match("LBRACKET")){let t=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");e=this.createMemberExpression(e,t,true);}else if(e.type==="identifier"&&Gm.has(e.name)&&this.check("IDENTIFIER")&&!Zm.has(this.peek().value.toLowerCase())){let t=this.advance(),r=e,n={...r,name:Ym[r.name]??r.name};e=this.createMemberExpression(n,this.createIdentifier(t.value,t),false);}else if(this.checkValue("exists")&&this.peekAt(1).type!=="LPAREN")this.advance(),e=this.createPostfixUnary("exists",e);else break;return e}parsePrimary(){this.checkValue("the")&&["closest","next","previous","first","last"].includes(this.peekAt(1).value.toLowerCase())&&this.advance();let e=this.peek();if(this.checkValue("the")&&(this.peekAt(1).type==="IDENTIFIER"||this.peekAt(1).type==="CONTEXT_VAR")&&this.peekAt(2).value.toLowerCase()==="of")return this.advance(),this.parsePropertyOf(this.advance(),e,false);if(this.match("NUMBER"))return this.createLiteral(parseFloat(e.value),"number",e);if(this.match("STRING")){let t=e.value.slice(1,-1);return this.createLiteral(t,"string",e)}if(this.match("BOOLEAN")){let t=e.value==="true"?true:e.value==="false"?false:e.value==="null"?null:void 0,r={true:"boolean",false:"boolean",null:"null",undefined:"undefined"};return this.createLiteral(t,r[e.value]??"string",e)}if(this.match("TEMPLATE_LITERAL")){let t=e.value;return {type:"templateLiteral",value:t.length>=2&&t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t,start:e.start,end:e.end,line:e.line,column:e.column}}if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(e);if(this.match("ID_SELECTOR"))return this.createSelector(e.value,"id",e);if(this.match("CLASS_SELECTOR"))return this.createSelector(e.value,"class",e);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(e.value,"attribute",e);if(this.match("ATTRIBUTE_REF")){let t={type:"attributeAccess",attributeName:e.value.slice(1),start:e.start,end:e.end};return this.checkValue("of")?(this.advance(),this.createBinaryExpression("of",t,this.parseConversion())):t}if(this.match("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createIdentifier(e.value,e);if(this.match("IDENTIFIER")){if(Qm.has(e.value.toLowerCase())&&(this.check("CLASS_SELECTOR")||this.check("ID_SELECTOR")||this.check("QUERY_SELECTOR"))){let t=this.advance(),r=t.type==="QUERY_SELECTOR"?t.value.slice(1,-2):t.value,n=t.type==="CLASS_SELECTOR"?"class":t.type==="ID_SELECTOR"?"id":"query";return {type:"callExpression",callee:this.createIdentifier(e.value,e),arguments:[this.createSelector(r,n,t)],start:e.start,end:t.end}}return this.checkValue("of")?this.parsePropertyOf(e,e):this.createIdentifier(e.value,e)}if(this.match("LPAREN")){let t=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return t}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${e.value}`)}parsePropertyOf(e,t,r=true){this.advance(),this.checkValue("the")&&!this.isAtEndAt(1)&&this.advance();let n=r?this.parseConversion():this.parseUnary();return {type:"propertyOfExpression",property:this.createIdentifier(e.value,e),target:n,start:t.start,end:this.previous().end}}parseArguments(){let e=[];if(!this.check("RPAREN"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return e}parseArrayLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACKET"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return {type:"arrayLiteral",elements:e,start:t,end:this.previous().end}}parseObjectLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACE"))do{let r;if(this.check("STRING"))r=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR"))r=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let n=this.parseExpression();e.push({key:r,value:n});}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return {type:"objectLiteral",properties:e.map(r=>({type:"objectProperty",key:{type:"identifier",name:r.key},value:r.value})),start:t,end:this.previous().end}}parseTimeExpression(e){let t=e.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!t)throw new Error(`Invalid time expression: ${e.value}`);let r=parseFloat(t[1]),n=t[2].toLowerCase();return {type:"timeExpression",value:r,unit:n,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,r){return {type:"literal",value:e,dataType:t,raw:r.value,start:r.start,end:r.end,line:r.line,column:r.column}}createSelector(e,t,r){return {type:"selector",value:e,selector:e,selectorType:t,start:r.start,end:r.end,line:r.line,column:r.column}}createIdentifier(e,t){return {type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createMemberExpression(e,t,r){return {type:"memberExpression",object:e,property:t,computed:r,start:e.start,end:this.previous().end}}createPossessiveExpression(e,t){return {type:"possessiveExpression",object:e,property:t,start:e.start,end:this.previous().end}}createBinaryExpression(e,t,r){return {type:"binaryExpression",operator:e,left:t,right:r,start:t.start,end:r.end}}createAsExpression(e,t){return {type:"asExpression",expression:e,targetType:this.createIdentifier(t.value,t),start:e.start,end:t.end}}createUnaryExpression(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:true,start:this.previous().start,end:t.end}}createPostfixUnary(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:false,start:t.start,end:this.previous().end}}createCallExpression(e,t){return {type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function Ti(e){return new Jm().parse(e)}var ef={possessive:{specialForms:{me:"my",it:"its",you:"your"}}};var Ga=new Map;function tf(e){let t=e.toLowerCase();return Ga.get(t)??Ga.get(t.split("-")[0])}function Ar(e,t){return !t||t.length===0||t.includes(e)||t.includes("expression")?true:e==="property-path"?t.some(r=>["selector","reference","expression"].includes(r)):e==="expression"?t.some(r=>["selector","reference","expression"].includes(r)):false}function Ve(e,t){let r=e.possessive?.keywords?.[t];if(r)return r;let n=e.possessive?.specialForms;if(n){for(let[i,a]of Object.entries(n))if(a===t)return i}}function Ln(e){return ef.possessive?.specialForms?.[e]??`${e}'s`}var Qr=new Set(["+","-","*","/","%","<",">","<=",">=","==","!=","===","!=="]),Vu=new Set(["<",">","<=",">=","==","!=","===","!=="]),it=new Set([...Qr,"mod"]),rf=/^[<>=!+\-*/%]+$/,Hu={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0627\u0644\u0646\u0647\u0627\u064A\u0629"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","fertig"]),id:new Set(["selesai","akhir","tamat"]),tl:new Set(["wakas","tapos"]),bn:new Set(["\u09B8\u09AE\u09BE\u09AA\u09CD\u09A4"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])},nf=new Set,Ya=new WeakMap;function Ku(e){let t=F(e);if(!t)return nf;let r=Ya.get(t);if(!r){let n=t.keywords?.end;r=new Set((n?[n.primary,...n.alternatives??[]]:[]).filter(i=>!!i).map(i=>i.toLowerCase())),Ya.set(t,r);}return r}function Fi(e,t){let r=e.value.toLowerCase();if(r==="end")return "curated";let n=Ku(t),i=Hu[t];return (i?i.has(r):n.has(r))?"curated":e.kind==="keyword"&&(e.normalized??e.value).toLowerCase()==="end"||n.has(r)?"end":null}function Ke(e,t){return Fi(e,t)!==null}function af(e){return new Set(["end",...Hu[e]??[],...Ku(e)])}function je(e,t){return {prev:e[t-1],beforePrev:e[t-2],third:e[t-3],next:e[t+1],afterNext:e[t+2]}}var of=new Set(["click","dblclick","mousedown","mouseup","mouseover","mouseout","mouseenter","mouseleave","mousemove","keydown","keyup","keypress","input","change","submit","reset","load","unload","scroll","resize","focus","blur","contextmenu","dragstart","drag","dragend","dragenter","dragleave","dragover","drop","touchstart","touchmove","touchend","touchcancel"]),Xr={ar:{\u0642\u064A\u0645\u0629:"value"},bn:{\u0985\u0995\u09CD\u09B7\u09AE:"disabled",\u0986\u0987\u09A1\u09BF:"id","\u099A\u09C7\u0995 \u0995\u09B0\u09BE":"checked",\u09A6\u09C8\u09B0\u09CD\u0998\u09CD\u09AF:"length",\u09AE\u09BE\u09A8:"value"},de:{wert:"value"},es:{valor:"value"},fr:{valeur:"value"},hi:{\u0905\u0915\u094D\u0937\u092E:"disabled",\u091A\u0947\u0915:"checked",\u091B\u093F\u092A\u093E:"hidden",\u092E\u093E\u0928:"value"},id:{nilai:"value"},it:{valore:"value"},ja:{\u5024:"value"},ko:{\uAC12:"value"},ms:{dilumpuhkan:"disabled",ditanda:"checked",nilai:"value",panjang:"length"},pl:{warto\u015B\u0107:"value"},pt:{valor:"value"},qu:{chanin:"value"},ru:{\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435:"value",\u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E:"disabled",\u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043E:"checked",\u0441\u043A\u0440\u044B\u0442\u043E:"hidden"},sw:{thamani:"value"},th:{\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27:"length",\u0E04\u0E48\u0E32:"value",\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19:"disabled",\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27:"checked",\u0E44\u0E2D\u0E14\u0E35:"id"},tl:{haba:"length",halaga:"value",hindi_pinagana:"disabled",naka_tsek:"checked"},tr:{de\u011Fer:"value"},uk:{\u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E:"disabled",\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F:"value",\u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u043E:"checked",\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E:"hidden"},vi:{\u1EA9n:"hidden","\u0111\u01B0\u1EE3c ch\u1ECDn":"checked","gi\xE1 tr\u1ECB":"value","v\xF4 hi\u1EC7u":"disabled"},zh:{\u503C:"value"}},uf={ar:{\u0623\u0648:"or",\u0643\u0640:"as",\u0644\u064A\u0633:"not",\u0648:"and",\u064A\u062D\u062A\u0648\u064A:"contains",\u064A\u0633\u0627\u0648\u064A:"equals",\u064A\u0634\u0645\u0644:"includes"},bn:{\u0985\u09A5\u09AC\u09BE:"or",\u098F\u09AC\u0982:"and",\u09A8\u09BE:"not",\u09B9\u09BF\u09B8\u09BE\u09AC\u09C7:"as"},de:{als:"as",beinhaltet:"includes",enth\u00E4lt:"contains",gleicht:"equals",nicht:"not",oder:"or",und:"and"},es:{como:"as",contiene:"contains",iguala:"equals",incluye:"includes",no:"not",o:"or",y:"and"},fr:{comme:"as",contient:"contains",\u00E9gale:"equals",et:"and",inclut:"includes",non:"not",ou:"or"},he:{\u05D0\u05D5:"or",\u05D5\u05D2\u05DD:"and",\u05DB:"as",\u05DC\u05D0:"not"},hi:{\u0914\u0930:"and",\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902:"as",\u0928\u0939\u0940\u0902:"not",\u092C\u0930\u093E\u092C\u0930:"equals",\u092E\u0947\u0902_\u0939\u0948:"includes",\u092F\u093E:"or",\u0936\u093E\u092E\u093F\u0932:"contains"},id:{atau:"or",berisi:"contains",bukan:"not",dan:"and",sama:"equals",sebagai:"as",termasuk:"includes"},it:{come:"as",contiene:"contains",e:"and",include:"includes",non:"not",o:"or",uguale:"equals"},ja:{\u305D\u3057\u3066:"and",\u3067\u306F\u306A\u3044:"not",\u3068\u3057\u3066:"as",\u307E\u305F\u306F:"or",\u542B\u3080:"contains",\u542B\u3081\u308B:"includes",\u7B49\u3057\u3044:"equals"},ko:{\uAC19\uB2E4:"equals",\uADF8\uB9AC\uACE0:"and",\uB610\uB294:"or",\uB85C:"as",\uC544\uB2C8:"not",\uD3EC\uD568:"contains",\uD3EC\uD568\uD558\uB2E4:"includes"},ms:{atau:"or",bukan:"not",dan:"and",mengandungi:"contains",sama:"equals",sebagai:"as",termasuk:"includes"},pl:{i:"and",jako:"as",lub:"or",nie:"not",obejmuje:"includes","r\xF3wna si\u0119":"equals",zawiera:"contains"},pt:{como:"as",cont\u00E9m:"contains",e:"and",igual:"equals",inclui:"includes",n\u00E3o:"not",ou:"or"},qu:{churasqa:"includes",hina:"as",hinallataq:"and",kikin:"equals",ukupi_kan:"contains",utaq:"or"},ru:{\u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442:"includes",\u0438:"and",\u0438\u043B\u0438:"or",\u043A\u0430\u043A:"as",\u043D\u0435:"not",\u0440\u0430\u0432\u043D\u043E:"equals",\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442:"contains"},sw:{au:"or",ina:"contains",kuwa:"as",pamoja:"includes",sawa:"equals",si:"not"},th:{\u0E44\u0E21\u0E48:"not",\u0E41\u0E25\u0E30:"and",\u0E2B\u0E23\u0E37\u0E2D:"or"},tl:{at:"and",bilang:"as",hindi:"not",katumbas:"equals",naglalaman:"contains",o:"or"},tr:{de\u011Fil:"not",e\u015Fittir:"equals",i\u00E7erir:"contains",olarak:"as",ve:"and",veya:"or"},uk:{\u0430\u0431\u043E:"or",\u0432\u043A\u043B\u044E\u0447\u0430\u0454:"includes",\u0434\u043E\u0440\u0456\u0432\u043D\u044E\u0454:"equals",\u0456:"and",\u043C\u0456\u0441\u0442\u0438\u0442\u044C:"contains",\u043D\u0435:"not",\u044F\u043A:"as"},vi:{b\u1EB1ng:"equals",ch\u1EE9a:"contains",ho\u1EB7c:"or",kh\u00F4ng:"not",nh\u01B0:"as",v\u00E0:"and"},zh:{\u4F5C\u4E3A:"as",\u5305\u542B:"contains",\u5305\u62EC:"includes",\u548C:"and",\u6216:"or",\u7B49\u4E8E:"equals",\u975E:"not"}},Uu={ms:new Set(["daripada"]),sw:new Set(["ya"]),vi:new Set(["c\u1EE7a"]),zh:new Set(["\u7684"]),it:new Set(["di"]),pl:new Set(["z"]),uk:new Set(["\u0437"]),th:new Set(["\u0E02\u0E2D\u0E07"]),ar:new Set(["\u0644\u0640"]),ja:new Set(["\u306E"]),ko:new Set(["\uC758"]),bn:new Set(["\u09B0"]),hi:new Set(["\u0915\u093E"]),qu:new Set(["pa"]),tr:new Set(["nin","n\u0131n","nun","n\xFCn","in","\u0131n","un","\xFCn"])};function Za(e){if(!e?.code)return;let t=Uu[e.code];if(t){let[r]=t;if(r)return r}return e.roleMarkers?.source?.primary}function ut(e,t){let r=t.value.toLowerCase(),n=(t.normalized??"").toLowerCase();if(r==="of"||r==="ng"||n==="of"||n==="source")return true;let i=e?.code?Uu[e.code]:void 0;return !!i&&i.has(r)}var sf={destination:"in",source:"from"},lf={ar:new Set(["\u0639\u0646\u062F","\u0641\u064A"]),bn:new Set(["\u098F","\u09A4\u09C7"]),de:new Set(["bei"]),es:new Set(["en"]),fr:new Set(["dans","en","\xE0"]),he:new Set(["\u05D1","\u05D1\u05EA\u05D5\u05DA","\u05DC\u05EA\u05D5\u05DA"]),hi:new Set(["\u092A\u0930","\u092E\u0947\u0902"]),id:new Set(["dalam","di","ke_dalam"]),it:new Set(["a"]),ja:new Set(["\u3067","\u306E\u4E2D","\u3078"]),ko:new Set(["\uC548\uC5D0","\uC5D0","\uC73C\uB85C"]),ms:new Set(["dalam","di","ke_dalam"]),pl:new Set(["do","przy","w"]),pt:new Set(["dentro","em"]),qu:new Set(["pi","ukupi"]),ru:new Set(["\u0432","\u0443"]),sw:new Set(["katika","ndani"]),th:new Set(["\u0E17\u0E35\u0E48","\u0E43\u0E19"]),tl:new Set(["papasok_sa","sa","sa_loob"]),tr:new Set(["de","i\xE7inde","i\xE7ine"]),uk:new Set(["\u0432","\u0443"]),vi:new Set(["trong","t\u1EA1i","v\xE0o"]),zh:new Set(["\u5728","\u8FDB\u5165"])},Rn=new Map;function Gu(e){let t=e?.code;if(!t)return;if(Rn.has(t))return Rn.get(t);let r=lf[t],n=r;if(r&&e.obliqueReferences){let i=new Set(r);for(let a of Object.values(e.obliqueReferences))for(let[o,u]of Object.entries(a))if(r.has(o))for(let s of typeof u=="string"?[u]:[u.direction,u.location]){if(!s)continue;let l=s.split(" ");l.length>1&&i.add(l[0].toLowerCase());}n=i;}return Rn.set(t,n),n}var Yu=new Set(["in","into","at","within","inside"]);function cf(e,t){let r=t.value.toLowerCase();if(Gu(e)?.has(r))return "in";let i=t.normalized??t.value,a=i.toLowerCase();return Yu.has(a)?"in":sf[a]??i}function Zu(e,t){return t.value.toLowerCase()==="in"||Gu(e)?.has(t.value.toLowerCase())?true:Yu.has((t.normalized??t.value).toLowerCase())}var pf=new Set(["me","it","you","body","document","target","result"]);function Qu(e,t){let r=e[t];if(!r)return null;if(r.kind==="selector")return /^[*@]/.test(r.value)?null:{kind:"selector",parts:[{text:r.value,token:r}],consumed:1};let n=(r.normalized??r.value).toLowerCase();if(pf.has(n))return {kind:"reference",parts:[{text:n,token:r}],consumed:1};let i=e[t+1];return n==="closest"&&i?.kind==="selector"&&!/^[*@]/.test(i.value)?{kind:"closest",parts:[{text:"closest",token:r},{text:i.value,token:i}],consumed:2}:null}var df=new Set(["first","last","next","previous","random"]);function mf(e,t,r){let n=Qu(e,t),i=r.replace(/\s+/g,"");if(!n||!i)return null;let a=t+n.consumed,o="";for(;o.length<i.length&&e[a]&&i.startsWith(o+e[a].value);)o+=e[a].value,a++;if(o!==i)return null;let u=(e[a]?.normalized??e[a]?.value??"").toLowerCase(),s=df.has(u)?u:void 0;s&&a++;let l=e[a];return l?.kind!=="selector"||!(l.value.startsWith("<")||l.value.startsWith("."))?null:{scope:n,positional:s,query:l,consumed:a+1-t}}function Tr(e,t,r,n){let i=e[t];if(!i||!Zu(r,i))return null;let a=Qu(e,t+1);if(!a)return null;let o=e[t+1+a.consumed],u=!!o&<(r?.code??"en",{tokens:e,i:t+1+a.consumed},void 0).toLowerCase()==="where";return n?.(i)===true&&n(o)!==true&&!u?null:{marker:i,scope:a}}var _n=new Set(["first","last","next","previous","random","closest"]),ff={bn:{\u09B6\u09C7\u09B7:"last"}},Vt=new Set(Object.keys(ke).map(e=>e.toLowerCase()));function Ft(e,t,r,n){let i=e[t];if(!i)return null;let a=(i.normalized??i.value).toLowerCase(),o=e[t+1],u=r?.code&&o?.kind==="selector"&&o.value.startsWith("<")?ff[r.code]?.[i.value.toLowerCase()]:void 0;if(!_n.has(a)&&!_n.has(i.value.toLowerCase())&&u===void 0)return null;let s=[{text:u??i.normalized??i.value,token:i}],l=t+1,c=e[l],p=(u??i.normalized??i.value).toLowerCase()==="closest"&&c?.kind==="identifier"&&/^@[\w-]/.test(c.value);if(!c||c.kind!=="selector"&&!p||Vu.has(c.value))return null;s.push({text:c.value,token:c}),l++;let m=0;for(;m++<8;){let d=e[l];if(d&&d.kind==="selector"&&d.value.startsWith("."))s.push({text:d.value,token:d}),l++;else break}let y=e[l],f=e[l+1];if(y&&f&&f.kind==="selector"&&!/^[*@]/.test(f.value)&&(y.kind==="keyword"||y.kind==="particle"||y.kind==="identifier")&&!_n.has((y.normalized??y.value).toLowerCase())&&!Vt.has((y.normalized??y.value).toLowerCase())&&!(n?.(y)===true&&n(e[l+2])!==true)){let d=y.value.toLowerCase()==="to";s.push({text:d?"to":cf(r,y),token:y}),s.push({text:f.value,token:f}),l+=2;}else {let d=Tr(e,l,r,n);d&&d.scope.kind!=="selector"&&(s.push({text:"in",token:d.marker},...d.scope.parts),l+=1+d.scope.consumed);}return {parts:s,consumed:l-t}}function st(e,t){let r=uf[e];return r?r[t.toLowerCase()]??t:t}function De(e,t){let r=Xr[e];return r?r[t.toLowerCase()]??t:t}function Nn(e,t){return Xr[e]?.[t.toLowerCase()]!==void 0}function yf(e,t){let r=[t.value,t.normalized].filter(Boolean);for(let n of r){let i=Ve(e,n)??Ve(e,n.toLowerCase());if(i)return i}}function vf(e){return e.kind==="literal"||e.kind==="operator"||e.kind==="punctuation"?false:!/^[$:@#.*^(){}[\]]/.test(e.value)}function hf(e,t){let r=e?.references;if(!r)return false;let n=Object.values(r).filter(a=>typeof a=="string").map(a=>a.toLowerCase());return [t.value,t.normalized].filter(Boolean).some(a=>n.includes(a.toLowerCase()))}function Pt(e,t){return vf(e)?De(t,e.value)!==e.value?true:st(t,e.value)!==e.value?false:e.kind==="identifier":false}var Ef=new Set(["true","false","null","undefined","me","my","it","its","you","your","result","event","target","body","detail","document","window"]);function Xu(e){return e.kind==="literal"||e.kind==="selector"||e.kind==="reference"?true:e.kind==="identifier"?wf.test(e.value):e.kind==="keyword"&&Ef.has((e.normalized??e.value).toLowerCase())}function Qa(e){return !!e&&(e.value===")"||e.value==="]"||Xu(e))}function Yn(e){if(!e)return false;if(/^[([-]$/.test(e.value)||Xu(e))return true;let t=(e.normalized??"").toLowerCase();return e.kind==="keyword"&&(t==="not"||t==="no")}var gf=/^\.[\p{L}_-][\p{L}\p{N}_-]*$/u,wf=/^(?:[:$^]?[\p{L}_][\p{L}\p{M}\p{N}_]*|@[\p{L}_][\p{L}\p{M}\p{N}_-]*|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u,Z={beforeClassRef:"has"},kf={ar:{\u0647\u0648:{beforePredicate:"is",afterOperand:"is"},\u0641\u0627\u0631\u063A:{afterCopula:"empty"}},hi:{\u0939\u0948:{beforePredicate:"is",beforeClassRef:"has",afterOperand:"is"},\u0916\u093E\u0932\u0940:{afterCopula:"empty"}},id:{kosong:{afterCopula:"empty"},punya:Z},th:{\u0E40\u0E1B\u0E47\u0E19:{beforeTypeName:"as",beforePredicate:"is",afterOperand:"is"},\u0E27\u0E48\u0E32\u0E07:{afterCopula:"empty"},\u0E21\u0E35:Z},ja:{\u7A7A:{afterCopula:"empty"},\u3042\u308B:Z},he:{\u05D4\u05D5\u05D0:{beforePredicate:"is",afterOperand:"is"},\u05E8\u05D9\u05E7:{afterCopula:"empty"}},sw:{tupu:{afterCopula:"empty",otherwise:"null"},na:{betweenOperands:"and"},ana:Z,nina:Z},zh:{\u6CA1\u6709:{beforeBareIdentifier:"no",beforeSelector:"no"},\u6709:Z},tl:{walang:{beforeBareIdentifier:"no",beforeSelector:"no"},may:{afterSubject:"exists",beforeClassRef:"has"}},bn:{\u0986\u099B\u09C7:{afterSubject:"exists",beforeClassRef:"has"},\u0986\u099B\u09BF:Z},qu:{mana:{beforeOperand:"not",beforeComparison:"not"},maypi:{afterOperand:"where"},chusaq:{afterCopula:"empty"},kachkan:Z,kachkani:Z},tr:{var:{afterSubject:"exists",beforeClassRef:"has"},bo\u015F:{afterCopula:"empty"}},de:{hat:Z,habe:Z},es:{tiene:Z,tengo:Z},fr:{a:Z,ai:Z},it:{ha:Z,ho:Z},ko:{\uC788\uB2E4:Z},ms:{ada:Z},pl:{ma:Z,mam:Z},pt:{tem:Z,tenho:Z},ru:{\u0438\u043C\u0435\u0435\u0442:Z,\u0438\u043C\u0435\u044E:Z},uk:{\u043C\u0430\u0454:Z,\u043C\u0430\u044E:Z},vi:{c\u00F3:Z}},Cf=new Set(["text","json","html","response","blob","arraybuffer"]),bf=new Set(["empty","null","undefined","true","false"]),zf=new Set(["Number","Int","Float","String","Boolean","Date","Array","Object","JSON","json","JSONString","FormData","FormEncoded","HTML","Fragment","Values","Values:Form","Values:JSON","Set","Map","Keys","Entries","Reversed","Unique","Flat"]);function tr(e){return Ju(e)||/^[A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?$/.test(e)}function Ju(e){return zf.has(e)||/^Fixed(?::\d+)?$/.test(e)}function es(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],o=t.tokens[t.i+1],u=Zn(e,i);if(!u)return;if(u.beforeTypeName&&o?.kind==="identifier"&&n?.value!=="("&&(Ju(o.value)||Cf.has(o.value.toLowerCase())))return u.beforeTypeName;if(u.beforePredicate&&o&&(o.kind==="literal"||o.kind==="keyword"&&bf.has((o.normalized??"").toLowerCase())))return u.beforePredicate;if(u.afterCopula&&r!==void 0&&["is","not","does","do"].includes(r.toLowerCase()))return u.afterCopula;if(u.beforeBareIdentifier&&o?.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(o.value))return u.beforeBareIdentifier;let s=!!o&&Ke(o,e)&&lr(je(t.tokens,t.i+1),e);if(u.beforeOperand&&(Yn(o)||s))return u.beforeOperand;if(u.beforeComparison&&o?.kind==="keyword"&&ts.has((o.normalized??"").toLowerCase()))return u.beforeComparison;if(u.beforeSelector&&o?.kind==="selector")return u.beforeSelector;if(u.beforeClassRef&&o&&gf.test(o.value))return u.beforeClassRef;if(u.afterSubject&&(a?.kind==="selector"||a?.kind==="reference"))return u.afterSubject;let l=!!a&&Ke(a,e)&&r===a.value;return u.betweenOperands&&(Qa(a)||l)&&Yn(o)?u.betweenOperands:u.afterOperand&&(Qa(a)||a?.value==="}")?u.afterOperand:u.otherwise}function Zn(e,t){let r=kf[e];return r?.[t.value]??r?.[t.value.toLowerCase()]}function Af(e,t){return es(e,t,void 0,void 0)}function xf(e){return rf.test(e)||e==="("||e==="["||e===","}function Df(e){return Qr.has(e)&&e!=="-"||e===")"||e==="]"||e===","}var ts=new Set(["is","am","contains","contain","matches","match","has","have","includes","include","exists","exist","mod"]);function rs(e,t,r,n){let i=t.kind==="keyword"?(t.normalized??"").toLowerCase():st(e,t.value).toLowerCase();if(i!=="and"&&i!=="or")return false;if(r===void 0||r!==void 0&&xf(r.value))return true;if(n===void 0)return false;if(Df(n.value))return true;let a=n.kind==="keyword"?(n.normalized??n.value).toLowerCase():st(e,n.value).toLowerCase();return ts.has(a)}var Sf=new Set(["include","contain","match","exist"]);function ns(e){let t=e?.toLowerCase();return t==="is"||t==="not"}function is(e,t,r){let n=t[r],i=t[r-1];return !n||!i||n.value.toLowerCase()!=="in"?false:ns(lt(e,{tokens:t,i:r-1},void 0))}function lt(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],o=t.tokens[t.i+1];if(r?.toLowerCase()==="equal"&&i.value.toLowerCase()==="to"||r?.toLowerCase()==="mapped"&&i.value.toLowerCase()==="to")return "to";if(ns(r)&&i.value.toLowerCase()==="in")return "in";if(r?.toLowerCase()==="not"&&Sf.has(i.value.toLowerCase()))return i.value.toLowerCase();let u=es(e,t,r,n);if(u!==void 0)return u;if(rs(e,i,a,o))return i.value;let s=st(e,i.value);if(s!==i.value)return s;if(i.kind!=="keyword")return i.value;let l=(i.normalized??i.value).toLowerCase();return l!=="event"&&or.has(l)||Ke(i,e)&&lr(je(t.tokens,t.i),e)?i.value:i.normalized??i.value}function as(e,t,r,n){let i=e[t],a=e[t+1];if(!i||!a||!ut(r,a)||!Pt(i,n)&&!Bf.test(i.value))return;let o=t+2;for(;e[o]!==void 0&&e[o+1]!==void 0&&ut(r,e[o+1])&&Pt(e[o],n);)o+=2;return e[o]?.kind==="selector"?o:void 0}var Bf=/^[@*][A-Za-z_-][\w-]*$/,Tf=new Set(["if","unless","while","until","for","when","where","is","not","no","and","or","as"]);function Ff(e){let t=(e.normalized??e.value).toLowerCase();return t==="event"||He(t)?false:Tf.has(t)||or.has(t)}var Pf=new Set(["and","or","is","times"]),Of=new Set(["if","unless","while","until","is","and","or","in"]),Lf=e=>Object.prototype.hasOwnProperty.call(ke,e);function Mn(e){if(e.kind!=="keyword"&&!(e.normalized&&e.normalized!==e.value))return;let t=(e.normalized??e.value).toLowerCase();return Lf(t)?t:void 0}var Xa=new WeakMap;function Ja(e,t,r=false){let n;try{n=be(e);}catch{return new Set}let i=Xa.get(n);i||(i=new Map,Xa.set(n,i));let a=r?`${t} before a role pair`:t,o=i.get(a);if(!o){o=new Set;for(let u of n){if(u.command!==t)continue;let[s,l,c,p]=u.template.tokens;if(!(s?.type!=="literal"||l?.type!=="literal")&&!(r&&(c?.type!=="role"||p?.type!=="role")))for(let m of [l.value,...l.alternatives??[]])o.add(m.toLowerCase());}i.set(a,o);}return o}var eo=new WeakMap;function Rf(e){let t;try{t=be(e);}catch{return new Set}let r=eo.get(t);if(!r){let n=new Set(Object.values(F(e)?.roleMarkers??{}).flatMap(a=>a?[a.primary,...a.alternatives??[]]:[]).map(a=>a.toLowerCase())),i=new Set;for(let a of t){if(a.command!=="repeat")continue;let o=a.template.tokens;o.forEach((u,s)=>{if(!(u.type!=="literal"||o[s+1]?.type!=="role"))for(let l of [u.value,...u.alternatives??[]])n.has(l.toLowerCase())||i.add(l.toLowerCase());});}r=i,eo.set(t,r);}return r}function to(e){return e.kind==="particle"?true:e.kind==="keyword"&&or.has((e.normalized??"").toLowerCase())}function ro(e,t){return e.kind==="keyword"&&e.normalized?e.normalized.toLowerCase():st(t,e.value).toLowerCase()}function lr(e,t){let{prev:r,beforePrev:n,next:i,afterNext:a}=e;if(i){if(it.has(i.value)||Pf.has((i.normalized??i.value).toLowerCase())||i.value==="'"&&a?.value.toLowerCase()==="s")return true;let f=Zn(t,i)?.betweenOperands;if((f==="and"||f==="or")&&Yn(a))return true}let o=F(t),u=!!o&&o.markingStrategy!=="preposition";if(u&&i?.kind==="particle"&&a?.kind!=="particle")return true;if(!r)return false;if(Qr.has(r.value))return true;if(r.value.toLowerCase()==="transition"&&n?.value.toLowerCase()==="view")return false;let s=ro(r,t);if(s==="not"||s==="no"||Zn(t,r)?.beforeOperand==="not")return true;let l=o?.wordOrder!=="SOV",c=e.third?Mn(e.third):void 0;if(c&&n&&Ja(t,c,true).has(n.value.toLowerCase()))return true;let p=n&&l?Mn(n):void 0;if(p&&!Ja(t,p).has(r.value.toLowerCase())||n&&!u&&to(n))return false;if(Of.has(s))return true;let m=!!n&&ro(n,t)!=="repeat"&&!!gi[t]?.includes(r.value);if(Rf(t).has(r.value.toLowerCase())&&(l||s!=="repeat")&&!m)return true;let y=l?Mn(r):void 0;return y&&ke[y].roles.some(f=>f.required)?true:!u&&to(r)}function Ht(e){if(e.kind!=="keyword")return;if(Ff(e))return "structure";let t=(e.normalized??e.value).toLowerCase();return Vt.has(t)?"verb":of.has(t)?"event":void 0}function _e(e,t){let r=t?.code??"en",[n]=e;if(e.length===1&&n&&(Ht(n)||Ke(n,r)))return n.value;let i="",a,o,u=(s,l)=>{if(o=s,a===void 0){i=s,a=l;return}let p=a.position?.end!==void 0&&l.position?.start!==void 0&&a.position.end===l.position.start&&(s.startsWith(".")||s.startsWith("!")||s.startsWith("[")||s===","||s==="'s");i+=(p?"":" ")+s,a=l;};for(let s=0;s<e.length;s++){let l=e[s],c=t?yf(t,l):void 0,p=e[s+1],m=o?.toLowerCase();if(l.value.toLowerCase()==="the"&&p!==void 0&&(m==="in"&&["closest","next","previous","first","last"].includes(p.value.toLowerCase())||m==="of"&&p.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(p.value)))continue;if(l.value===":"&&a!==void 0&&o!==void 0&&p!==void 0&&a.position?.end===l.position?.start&&l.position?.end===p.position?.start&&tr(`${o}:${p.value}`)){i+=`:${p.value}`,o=`${o}:${p.value}`,a=p,s+=1;continue}if(l.value==="'"&&a!==void 0&&p?.value==="s"&&l.position?.end!==void 0&&p.position?.start===l.position.end){i+="'s",a=p;let E=e[s+2];E&&De(r,E.value)!==E.value?(u(De(r,E.value),E),s+=2):s+=1;continue}let y=t?.possessive,f=e[s+2];if(y?.markerPosition==="between"&&y.marker&&l.kind==="selector"&&p?.value===y.marker&&f!==void 0&&Pt(f,r)){u(`${l.value}'s`,l),u(De(r,f.value),f),s+=2;continue}if(p?.value.toLowerCase()==="of"&&De(r,l.value)!==l.value&&Pt(l,r)){u(De(r,l.value),l);continue}if(c!==void 0&&p){let E=t?.possessive?.connectors,z=!!E?.length&&E.some(k=>{let x=k.toLowerCase();return x===p.value.toLowerCase()||x===(p.normalized??"").toLowerCase()}),D=z?s+2:s+1,h=e[D],A=z&&h!==void 0&&/^[@*][\w-]/.test(h.value);if(h&&(A||Pt(h,r))){u(Ln(c),l),u(A?h.value:De(r,h.value),h),s=D;continue}if(z&&h&&/^\.[a-zA-Z_]\w*$/.test(h.value)&&p.position?.end!==void 0&&h.position?.start!==void 0&&p.position.end===h.position.start){u(Ln(c),l),u(De(r,h.value.slice(1)),h),s=D;continue}if(!z&&/^\.[a-zA-Z_]\w*$/.test(p.value)&&l.position?.end!==void 0&&p.position?.start!==void 0&&l.position.end===p.position.start&&!hf(t,l)){u(Ln(c),l),u(De(r,p.value.slice(1)),p),s+=1;continue}}let d=e[s+2],v=as(e,s,t,r);if(v!==void 0){for(let E=s;E<v;E+=2)u(De(r,e[E].value),e[E]),u("of",e[E+1]);u(e[v].value,e[v]),s=v;continue}if(l.kind==="selector"&&p&&d&&ut(t,p)&&Pt(d,r)&&De(r,d.value)!==d.value){u(De(r,d.value),d),u("of",p),u(l.value,l),s+=2;continue}let g=Ft(e,s,t);if(g){for(let E of g.parts)u(E.text,E.token);s+=g.consumed-1;continue}let w=a?.kind==="selector"&&a.value.startsWith("<")?Tr(e,s,t):null;if(w){u("in",w.marker);for(let E of w.scope.parts)u(E.text,E.token);s+=w.scope.consumed;continue}u(lt(r,{tokens:e,i:s},o,e[s+2]),l);}return i.trim().replace(/(\S) not matches (?=\S)/g,"$1 does not match ")}function bt(e,t,r){let n=F(e)?.keywords?.[t];return n?n.primary?.toLowerCase()===r?true:!!n.alternatives?.some(i=>i.toLowerCase()===r):false}var _f={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB7F0\uD6C4","\uADF8\uB7EC\uBA74"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u90A3\u4E48"]),tr:new Set(["ard\u0131ndan","daha sonra","ardindan"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),tl:new Set(["pagkatapos","tapos"]),bn:new Set(["\u09A4\u09BE\u09B0\u09AA\u09B0"]),qu:new Set(["chaymantataq","hinaspa","chaymanta","chayqa"]),sw:new Set(["kisha","halafu","baadaye"])};function Ue(e,t){let r=e.toLowerCase(),n=_f[t];return n?n.has(r):r==="then"||bt(t,"then",r)}function _t(e,t){let r=e.toLowerCase();return r==="else"||r==="otherwise"?true:bt(t,"else",r)}function os(e){let t=(e.normalized??e.value).toLowerCase();return t==="js"||bt("en","js",t)}function us(e,t){let r=F(t)?.roleMarkers?.patient;if(!r?.primary)return false;let n=e.value.toLowerCase();return r.primary.toLowerCase()===n?true:!!r.alternatives?.some(i=>i.toLowerCase()===n)}function Pe(e,t){let r=e.toLowerCase();return r==="if"?true:bt(t,"if",r)}function Nt(e,t){let r=e.toLowerCase();return r==="unless"?true:bt(t,"unless",r)}function Mt(e,t){return Fi(e,t)==="curated"}function Nf(e,t,r){return Ke(e,r)&&!ss(e,t,r)}function ss(e,t,r){return t?.kind==="selector"&&!t.metadata?.lineStart&&Fi(e,r)==="end"}function cr(e,t,r){return Ue(e.value,r)?!(Mt(e,r)&&lr(t,r)):false}function Sr(e,t){return Ke(e,t)}function ls(e,t,r){let n=i=>i?.value.toLowerCase();return n(t.next)==="of"&&(n(t.prev)==="at"||n(t.prev)==="the"&&n(t.beforePrev)==="at")||Ei(r,e.value,t.prev?.value,t.next?.value)}function Mf(e,t,r){let n=e[t];if(!n)return false;let i=je(e,t);return ss(n,i.next,r)||ls(n,i,r)}function ne(e,t,r){let n=e[t];return n?n.metadata?.closesTrackedBlock===true?true:Ke(n,r)&&!Mf(e,t,r)&&!lr(je(e,t),r):false}function If(e,t,r){return e.metadata?.closesTrackedBlock===true?Ke(e,r):Nf(e,t,r)}function Ge(e,t,r){let n=e[t];return !n||n.kind==="conjunction"||n.kind==="keyword"&&Ue(n.value,r)&&cr(n,je(e,t),r)?true:ne(e,t,r)}function $f(e,t,r){let n=e[t];if(!n)return true;if(n.kind!=="keyword")return false;let i=(n.normalized??n.value).toLowerCase();return i==="then"||i==="else"||Ke(n,r)}function cs(e){return !!e&&it.has(e.value)}var jf=class{constructor(e,t,r,n,i,a){this.patternToken=t,this.afterLiteral=r,this.nextPatternToken=n,this.wouldMatch=i,this.language=a;let o=e.position();this.token=e.tokens[o],this.prev=e.tokens[o-1],this.next=e.tokens[o+1],this.place=je(e.tokens,o),this.all=e.tokens,this.at=o;}get lastSlot(){return this.nextPatternToken===void 0}get tokenIsMarker(){return this.tokenIsMarkerMemo??(this.tokenIsMarkerMemo=this.wouldMatch(this.nextPatternToken,this.token)),this.tokenIsMarkerMemo}get beforeRole(){return this.nextPatternToken?.type==="role"}get nextIsMarker(){return this.nextIsMarkerMemo??(this.nextIsMarkerMemo=this.next!==void 0&&this.wouldMatch(this.nextPatternToken,this.next)),this.nextIsMarkerMemo}get clauseEndsAfter(){return $f(this.all,this.at+1,this.language)}};function Wf(e){let t=e.token.value.toLowerCase();if(t!=="a"&&t!=="an")return false;let r=e.next;return r!==void 0&&(Qr.has(r.value)||e.nextIsMarker)}function Pi(e){return e.kind==="keyword"&&Vt.has((e.normalized??e.value).toLowerCase())}function qf(e,t){return e.token.kind!=="keyword"?false:Ge(e.all,e.at,t)}function Vf(e,t){return Ke(e.token,t)&&lr(e.place,t)}function ps(e){return e.afterLiteral&&(e.clauseEndsAfter||e.nextIsMarker)}function Hf(e,t){let r=e.patternToken.role;return r!=="quantity"&&!(r==="event"&&t==="repeat")?false:Pi(e.token)&&!ps(e)&&!e.nextIsMarker}function Kf(e){let t=e.patternToken;return !t.optional||t.role==="event"||t.role==="action"||t.valueShape==="keyword"||!Pi(e.token)?false:(e.lastSlot||e.tokenIsMarker)&&!ps(e)}function Uf(e,t,r,n){let i=e.type==="group"&&e.optional?e.tokens.every(o=>o.type==="role")?e.tokens[0]:void 0:e;if(!i||i.type!=="role"||!i.optional||i.role==="event"||i.role==="action"||i.valueShape==="keyword"||!t||t.kind!=="keyword"||r===void 0)return false;let a=n(r,t);return Pi(t)?!a:a}function Gf(e){return Vt.has((e.normalized??e.value).toLowerCase())}function Yf(e,t){return e?.kind==="particle"&&!!t&&["selector","literal","identifier"].includes(t.kind)&&!cs(t)}function Zf(e){if(e.token.kind!=="particle")return false;let t=e.next;return t!==void 0&&e.nextIsMarker&&(t.kind==="particle"||e.prev?.kind==="particle")||e.afterLiteral&&e.beforeRole||e.clauseEndsAfter}function Qf(e,t){let r=e.patternToken;if(r.role==="event"||r.role==="action"||r.valueShape==="keyword")return false;let n=r.expectedTypes;if(n?.length&&!n.some(a=>a==="expression"||a==="reference"))return false;let i=Ht(e.token);return i==="structure"?true:i==="event"?!t?.roles.some(a=>a.role==="event")&&t?.action!=="wait"&&r.role!=="condition":i!=="verb"||(e.token.normalized??e.token.value).toLowerCase()==="empty"?false:!t?.hasBody&&!t?.roles.some(a=>a.role==="event")}function Xf(e){let t=(e.normalized||e.value).toLowerCase();if(t==="empty")return Tu("null");if(t==="a"||t==="an")return {type:"expression",raw:e.value}}function Jf(e,t,r){return e.kind==="particle"&&(t||cs(r))}function ds(e,t){let r=e[t];return r?.kind==="particle"&&e[t-1]?.value.toLowerCase()==="of"&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u.test(r.value)}var no=new Set(["is","am","are","be","was","were","not","no"]),ey=new Set(["\u0647\u0648","\u0E40\u0E1B\u0E47\u0E19","\u0939\u0948","\u0928\u0939\u0940\u0902","mana"]),ms=new Set(["empty","null","undefined"]);function ty(e,t,r,n){let i=(e.normalized??e.value).toLowerCase(),a=e.value.toLowerCase(),o=(t.normalized??t.value).toLowerCase();return (no.has(i)||no.has(st(n,a))||ey.has(a)&&ms.has(o))&&!r}var ry=new Set(["'s","a","am","an","and","as","closest","contain","contains","do","does","empty","equal","equals","exist","exists","false","first","greater","has","have","in","include","includes","is","it","its","last","less","match","matches","me","mod","my","next","no","not","null","of","or","previous","really","some","than","the","true","undefined","where","you","your","result","target","body","detail"]),ny=new Set(["am","and","as","contain","contains","do","does","empty","equal","equals","exist","exists","greater","has","have","in","include","includes","is","less","match","matches","mod","no","not","of","or","really","some","than"]),io=/\s+as\s+([A-Za-z]\w*)!?\s*$/,iy=/("[^"]*"|'[^']*')|\*(?=[A-Za-z_-])/g,ay=e=>e.replace(iy,(t,r)=>r??" style_");function Oi(e){let t=e;for(let i=io.exec(t);i;i=io.exec(t)){if(!tr(i[1]??""))return false;t=t.slice(0,i.index);}let r=t.replace(/"[^"]*"|'[^']*'/g,"");if(/["']/.test(r.replace(/'s\b/g,""))||/[^\x00-\x7F]/.test(r))return false;t=ay(t);let n=Ti(t);return !n.success||n.consumed===void 0||n.consumed!==qu(t).length-1?false:uy(n.node).every(tr)}function oy(e){let t=[],r=0,n="",i=0;for(let a=0;a<e.length;a++){let o=e[a];n?o===n&&(n=""):o==='"'||o==="'"&&!/\w/.test(e[a-1]??"")?n=o:"([{".includes(o)?r++:")]}".includes(o)?r--:o===","&&r===0&&(t.push(e.slice(i,a)),i=a+1);}return t.push(e.slice(i)),t.every(a=>a.trim()!==""&&Oi(a.trim()))}function uy(e){let t=[],r=n=>{if(Array.isArray(n)){n.forEach(r);return}if(!n||typeof n!="object")return;let i=n;i.type==="asExpression"&&t.push(String(i.targetType?.name??"")),Object.values(n).forEach(r);};return r(e),t}function Qt(e,t){return e?.position?.end!==void 0&&t?.position?.start!==void 0&&e.position.end===t.position.start}var sy=new Set(["is","not","really","am","or"]);function fs(e,t,r){let n=i=>e[i]?lt(r,{tokens:e,i},void 0).toLowerCase():"";return n(t)==="to"&&n(t-1)==="equal"&&sy.has(n(t-2))}function ys(e,t){return e[t]?.value.toLowerCase()==="to"&&e[t-1]?.value.toLowerCase()==="mapped"}function ly(e){return e.value==="a"}var cy=new Set(["event","window","document"]);function py(e,t,r){let n=e[t],i=e[t-1];return !n||!i||!ut(r,i)?false:cy.has((n.normalized??n.value).toLowerCase())}function dy(e,t,r){if(Ge(e,t,r.profile?.code??"en"))return true;let n=e[t];return n.kind==="keyword"&&(n.normalized??n.value).toLowerCase()==="else"?true:r.owes(n)}function ao(e,t,r){let n=r.profile?.code??"en";if(is(n,e,t)||ds(e,t)||fs(e,t,n)||ly(e[t])||ys(e,t))return false;let i=e[t];return dy(e,t,r)||r.commandMarkers.has(i.value.toLowerCase())}function my(e,t,r){let n=e[t],i=e[t-1],a=r.profile?.code??"en";if(n.kind==="literal"||n.value==="'"&&e[t+1]?.value==="s"||n.value==="s"&&i?.value==="'")return true;if(n.kind==="selector"){if(!n.value.startsWith(".")||!i||Qt(i,n)||it.has(i.value)||/^[([,]$/.test(i.value)||ut(r.profile,i))return true;let u=lt(a,{tokens:e,i:t-1},void 0).toLowerCase();return ny.has(u)}if(it.has(n.value)||/^[()[\],.!<>=+\-*/%]+$/.test(n.value)||ut(r.profile,n)||rs(a,n,i,e[t+1])||is(a,e,t)||ds(e,t)||py(e,t,r.profile)||fs(e,t,a))return true;let o=lt(a,{tokens:e,i:t},void 0).toLowerCase();return o==="as"&&r.hasResponseType?false:ry.has(o)?true:n.kind==="identifier"&&/^(?::?[\p{L}_$][\p{L}\p{M}\p{N}_$]*(\[[^\]]*\])*('s)?|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u.test(n.value)}function fy(e,t,r){if(!e[t]||ao(e,t,r))return [];let n=t;for(;n<e.length&&!ao(e,n,r)&&(my(e,n,r)||ys(e,n));)n++;let i=[];for(let a=n;a>t;a--)i.push(a);return i}function yy(e,t,r){let n=[],i=t;for(;;){let a=e[i];if(!a)break;if(a.value==="'"&&e[i+1]?.value==="s"&&e[i+2])i+=3;else if(/.'s$/.test(e[i-1]?.value??""))i+=1;else if(ut(r,a)&&e[i+1])i+=2;else if(/^(\.[\p{L}_$][\p{L}\p{N}_$]*|\[.*\])$/u.test(a.value)&&vy(e,i))i+=1;else break;n.push(i);}return n.reverse()}function vy(e,t){let r=e[t-1],n=e[t];return !!r&&!!n&&r.position.end===n.position.start}function hy(e,t,r,n,i=Oi){for(let a of r){let o=_e(e.slice(t,a),n);if(i(o))return {end:a,raw:o}}}var vs=96,Ey=/^[A-Za-z_][\w-]*$/,gy=/^[A-Za-z_][\w-]*:[^\s'"`/:][^\s]*$/;function hs(e,t){let r=e.peek(t);return !!r&&r.kind==="identifier"&&gy.test(r.value)}function Es(e,t){let r=e.peek(t);if(!r||r.kind!=="identifier"&&r.kind!=="keyword"||!Ey.test(r.value))return false;let n=e.peek(t+1),i=e.peek(t+2);return !!n&&n.value===":"&&!!i}function oo(e,t=0){return hs(e,t)||Es(e,t)}function wy(e){let t=e.peek();if(!t||t.value!=="{"&&t.value!=="(")return null;let r="",n=-1,i=0,a=0;for(;!e.isAtEnd()&&a++<vs;){let o=e.advance();if(!o)break;if(n>=0&&o.position.start>n&&(r+=" ".repeat(o.position.start-n)),r+=o.value,n=o.position.end,o.value==="{"||o.value==="(")i++;else if((o.value==="}"||o.value===")")&&(i--,i===0))return r}return null}function uo(e){let t=e.peek();return t?t.value==="{"||t.value==="("?wy(e):t.value===","||t.value===":"?null:(e.advance(),t.value):null}function Xt(e,t){let r=e.mark(),n=[];if(t!==void 0){let a=e.peek();if(!a||a.value!==":"||!e.peek(1))return null;e.advance();let o=uo(e);if(o===null)return e.reset(r),null;n.push(`${t}:${o}`);}else if(!oo(e))return null;let i=0;for(;i++<vs;){let a=e.peek();if(!a)break;if(a.value===","){if(n.length===0||!oo(e,1))break;e.advance();continue}if(hs(e,0)){n.push(e.advance().value);continue}if(!Es(e,0))break;let o=e.advance().value;e.advance();let u=uo(e);if(u===null)return e.reset(r),null;n.push(`${o}:${u}`);}return n.length===0?(e.reset(r),null):`{${n.join(", ")}}`}var ky=/^(?:the )?(?:global|element|local|dom)(?:'s)? [A-Za-z_]\w*$/i;function Jr(e){switch(e.kind){case "selector":return Le(e.value);case "literal":return Cy(e.value);case "keyword":{let r=Xf(e);if(r)return r;let n=(e.normalized||e.value).toLowerCase();return He(n)?Te(n):Tu(n)??ee(e.normalized||e.value)}case "identifier":if(e.value.startsWith("@"))return Le(e.value);if(e.value.startsWith(":")||e.value.startsWith("$")||ky.test(e.value))return Te(e.value);let t=e.value.toLowerCase();return He(t)?Te(t):{type:"expression",raw:e.value};case "url":{let r=ee(e.value,"string");return e.value.includes("${")?{...r,interpolates:true}:r}default:return null}}function Cy(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let n=e.slice(1,-1);return {...ee(n,"string"),quoted:true}}if(e==="true")return ee(true,"boolean");if(e==="false")return ee(false,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?ee(e,"duration"):ee(n,"number")}if(Kc(e))return {type:"expression",raw:e};let r=parseFloat(e);return isNaN(r)?ee(e,"string"):ee(r,"number")}var xr=.8,by=.6,zy=.15,Ay=.5,so=.15,lo=.1,co=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]),xy={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]},Dy=class{calculate(e){return this.calculateWithBreakdown(e).final}calculateWithBreakdown(e){let t=this.scoreRoleCoverage(e),r=this.scoreStemPenalty(e),n=this.scoreLanguageBoost(e),i=this.scoreLanguageAdjustment(e),a=t;return a=Math.max(Ay,a+r),a=Math.min(1,a+n),a=Math.max(0,Math.min(1,a+i)),{roleCoverage:t,stemPenalty:r,languageBoost:n,languageAdjustment:i,final:a}}scoreRoleCoverage(e){let{pattern:t,captured:r}=e,n=0,i=0,a=l=>t.extraction?.[l]?.default!==void 0,o=t.command==="on"?t.extraction?.action?.value:void 0,u=ke[o??t.command]?.roles,s=l=>u?.find(c=>c.role===l)?.valueShape!==void 0;for(let l of t.template.tokens)if(l.type==="role")r.has(l.role)?(i+=1,n+=1):s(l.role)||(i+=1);else if(l.type==="group")for(let c of l.tokens)c.type==="role"&&(r.has(c.role)?(i+=xr,n+=xr):s(c.role)||(i+=xr,a(c.role)&&(n+=xr*by)));return i>0?n/i:1}scoreStemPenalty(e){let{stemMatchCount:t,totalKeywordMatches:r}=e;return t<=0||r<=0?0:-(t/r)*zy}scoreLanguageBoost(e){let{pattern:t}=e;if(t.language!=="ar")return 0;let r=t.template.tokens[0];return !r||r.type!=="literal"?0:co.has(r.value)||r.alternatives?.some(n=>co.has(n))?so:0}scoreLanguageAdjustment(e){let{pattern:t,captured:r}=e;if(t.language!=="ar")return 0;let n=0;for(let[i,a]of r.entries()){let o=xy[i];if(!o||o.length===0)continue;let u="metadata"in a?a.metadata:void 0;u&&typeof u.prepositionValue=="string"&&(o.includes(u.prepositionValue)?n+=.1:n-=.1);}return Math.max(-lo,Math.min(lo,n))}},Sy=new Dy,By=new Set(Object.values(ke).filter(e=>e.bareKeyword===true).map(e=>e.action));function Ty(e){return e.startsWith("*")||e.startsWith("@")}function po(e){return e?.type==="role"&&e.role==="event"}var le=class ${constructor(t){this.view=t,this.wouldMatch=(r,n)=>this.patternTokenWouldMatch(r,n);}get patternRest(){return this.view.patternRest()}get slotAfterLiteral(){return this.view.slotAfterLiteral()}patternTokenWouldMatch(t,r){return this.view.wouldMatch(t,r)}beginPattern(t){this.currentProfile=F(t.language),this.currentPatternCommand=t.command,this.currentRoleCommand=t.extraction?.action?.value??t.command,this.eventSource=void 0;}readRole(t,r,n,i){return this.matchRoleToken(t,r,n,i)}maySkipSlot(t,r,n){return Uf(t,r,n,this.wouldMatch)}skipLeading(t,r){let n=r[0],i=n?.type==="literal"&&(n.value==="and"||n.value==="then"||n.alternatives?.includes("and")||n.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;t.peek()?.kind==="conjunction";)t.advance();}beforePatternToken(t,r,n,i){let a=r[n];a?.type==="literal"&&(!po(r[n-1])&&!po(r[n-2])||this.tryConsumeEventSourceClause(t,i,a));}resultFields(){return this.eventSource?{eventSource:this.eventSource}:{}}tryConsumeEventSourceClause(t,r,n){if(r.has("source")||this.eventSource)return;let i=t.peek(),a=t.peek(1);if(!i||!a||this.patternTokenWouldMatch(n,i))return;let o=this.currentProfile?.roleMarkers?.source,u=l=>{if(l.kind!=="particle"&&l.kind!=="keyword")return false;if((l.normalized??"").toLowerCase()==="source")return true;if(!o)return false;let c=l.value.toLowerCase();return o.primary?.toLowerCase()===c?true:!!o.alternatives?.some(p=>p.toLowerCase()===c)},s=o?.position;if(s!=="after"&&u(i)){let l=this.sourceNounValue(a);if(!l)return;t.advance(),t.advance(),this.eventSource=l;return}if(s==="after"&&u(a)){let l=this.sourceNounValue(i);if(!l)return;t.advance(),t.advance(),this.eventSource=l;}}sourceNounValue(t){if(t.kind==="selector")return this.tokenToSemanticValue(t)??void 0;if(t.kind!=="keyword"&&t.kind!=="identifier")return;let r=(t.normalized??t.value).toLowerCase();if(r!=="me"){if(He(r))return {type:"reference",value:r};if(t.kind==="identifier"&&/^[A-Za-z_$][\w$]*$/.test(t.value))return {type:"expression",raw:t.value}}}tryFoldHyphenActionKeyword(t){let r=this.currentProfile;if(!r)return null;let n=t.mark(),i=[];for(;;){let o=t.peek();if(!o||o.kind!=="identifier"&&o.kind!=="keyword")break;i.push(o.value),t.advance();let u=t.peek();if(!u||u.value!=="-")break;t.advance(),i.push("-");}if(i.length<3||i[i.length-1]==="-")return t.reset(n),null;let a=i.join("").toLowerCase();for(let[o,u]of Object.entries(r.keywords))if(u.primary.toLowerCase()===a||u.alternatives?.some(s=>s.toLowerCase()===a))return ee(o);return t.reset(n),null}matchRoleToken(t,r,n,i){let a=t.position(),o=t.mark(),u=n.get(r.role);return this.matchRoleTokenCore(t,r,n,i)?this.currentRoleCommand==="swap"&&r.role==="method"&&!r.optional&&n.get(r.role)!==u&&!$.SWAP_STRATEGIES.has(String(n.get(r.role).value??n.get(r.role).raw??"").toLowerCase())||this.currentRoleCommand==="put"&&r.role==="destination"&&n.get(r.role)!==u&&t.position()===a+1&&y0(this.currentProfile?.code??"",t.tokens[a]?.value??"",t.tokens[a+1]?.value)||r.role==="event"&&n.get(r.role)!==u&&Ei(this.currentProfile?.code??"",t.tokens[t.position()+1]?.value??"",t.tokens[t.position()]?.value,t.tokens[t.position()+2]?.value)?(t.reset(o),u?n.set(r.role,u):n.delete(r.role),false):n.get(r.role)===u?(t.position()>a&&t.reset(o),true):(this.absorbTrailingConversion(t,r,n,i,a),this.absorbTrailingConditionOperand(t,r,n,i,a),this.absorbExpressionTail(t,r,n,i,a),this.stampCaptureSpan(t,r.role,n,a,u),true):false}absorbExpressionTail(t,r,n,i,a){if(r.role==="event"||r.role==="action")return;let o=n.get(r.role),u=o?.type==="selector"&&o.value.startsWith("*");if(this.isClassNameSlot(r)&&!u||!o||t.position()<=a)return;let s=r.expectedTypes;if(!u&&s&&s.length>0&&!s.includes("expression"))return;let l=$.boundedByMarker(i)||r.valueShape==="list"?fy(t.tokens,t.position(),this.extentContext()):yy(t.tokens,t.position(),this.currentProfile),c=hy(t.tokens,u?t.position()-1:a,l,this.currentProfile,r.valueShape==="list"?oy:void 0);if(c){for(;t.position()<c.end;)t.advance();n.set(r.role,{type:"expression",raw:c.raw,value:c.raw});}}extentContext(){let t=this.restLiterals();return {profile:this.currentProfile,owes:r=>t.some(n=>this.patternTokenWouldMatch(n,r)),commandMarkers:this.commandMarkers(),hasResponseType:!!this.currentSchema()?.roles.some(r=>r.role==="responseType")}}isClassNameSlot(t){return t.role==="patient"&&["add","remove","toggle","take"].includes(this.currentRoleCommand??"")}isObjectValueSlot(t){let r=this.currentRoleCommand;return t.role==="source"?r==="get":t.role==="destination"&&r==="set"?true:t.role==="patient"&&(r==="put"||r==="set")}static boundedByMarker(t){return !t||t.type==="literal"?true:t.type==="group"?t.tokens[0]?.type==="literal":false}restLiterals(){let t=[],r=n=>{for(let i of n)i.type==="literal"?t.push(i):i.type==="group"&&r(i.tokens);};return r(this.patternRest),t}currentSchema(){let t=this.currentRoleCommand;if(!(!t||!(t in ke)))return ke[t]}commandMarkers(){let t=this.currentSchema(),r=this.currentProfile,n=new Set;if(!t||!r)return n;for(let i of t.roles){let a=i.markerOverride?.[r.code];if(a){n.add(a.toLowerCase());continue}let o=r.roleMarkers[i.role];if(o){n.add(o.primary.toLowerCase());for(let u of o.alternatives??[])n.add(u.toLowerCase());}}return n.delete(""),n}stampCaptureSpan(t,r,n,i,a){let o=n.get(r);if(!o||o===a||o.position||t.position()<=i)return;let u=t.tokens[i],s=t.tokens[t.position()-1];!u||!s||n.set(r,Fu(o,{start:u.position.start,end:s.position.end}));}absorbTrailingConditionOperand(t,r,n,i,a){if(r.role!=="condition"||!n.has("condition")||t.position()<=a)return;let o=this.currentPatternCommand==="repeat";if(!o&&(i!==void 0||this.currentPatternCommand!=="on"))return;let u=$.CONDITION_OPERATOR_WORDS,s=m=>{let y=(m.normalized??"").toLowerCase(),f=m.value.toLowerCase();if(u.has(y)||u.has(f))return true;let d=$.LOOP_CONDITION_OPERATORS;return o&&(d.has(f)||d.has(y))},l=m=>!!m&&(m.kind==="selector"||m.kind==="identifier"||m.kind==="literal")&&!s(m)&&!Vt.has((m.normalized??m.value).toLowerCase())&&!this.patternTokenWouldMatch(i,m),c=false;for(;;){let m=t.peek();if(!m||!s(m)||this.patternTokenWouldMatch(i,m))break;t.advance(),c=true;let y=t.peek();if(l(y)){t.advance();for(let f=t.peek();!(!f||!/^\.[a-zA-Z_]\w*$/.test(f.value)||f.position.start!==y.position.end);f=t.peek())t.advance(),y=f;}if(!o)break}if(!c)return;let p=_e(t.tokens.slice(a,t.position()),this.currentProfile);n.set("condition",{type:"expression",raw:p,value:p});}conversionRunLength(t){let r=t.peek();if(!r||(r.normalized??r.value).toLowerCase()!=="as"&&r.value.toLowerCase()!=="as"&&!this.isNativeAs(t))return 0;let i=this.conversionTypeLength(t,1);if(i===0)return 0;for(i+=1;;){if(t.peek(i)?.value!=="|")return i;let a=this.conversionTypeLength(t,i+1);if(a===0)return i;i+=1+a;}}isNativeAs(t){let r=this.currentProfile?.code;if(!r||r==="en"||this.currentSchema()?.roles.some(o=>o.role==="responseType"))return false;let n=t.tokens,i=t.position();return lt(r,{tokens:n,i},void 0,n[i+2]).toLowerCase()==="as"}conversionTypeLength(t,r){let n=t.peek(r)?.value.toLowerCase(),i=n==="a"||n==="an"?r+1:r,a=t.peek(i);if(!a)return 0;let o=t.peek(i+1),u=t.peek(i+2);return o?.value===":"&&u&&Qt(a,o)&&Qt(o,u)&&tr(`${a.value}:${u.value}`)?i-r+3:tr(a.value)?i-r+1:0}absorbTrailingConversion(t,r,n,i,a){if(r.role==="event"||r.role==="action"||!n.has(r.role)||t.position()<=a)return;let o=this.conversionRunLength(t);if(o===0||this.patternTokenWouldMatch(i,t.peek()))return;for(let s=0;s<o;s++)t.advance();let u=_e(t.tokens.slice(a,t.position()),this.currentProfile);n.set(r.role,{type:"expression",raw:u,value:u});}matchScopeFirst(t,r){let n=this.currentProfile?.queryScopeFirst;if(!n||r.role==="event")return null;let i=mf(t.tokens,t.position(),`${n.marker}${n.participle??""}`);if(!i)return null;let[a,o]=i.scope.parts,u=i.scope.parts.map(l=>l.text).join(" "),s;if(i.positional)s={type:"expression",raw:`${i.positional} ${i.query.value} in ${u}`};else {let l=this.tokenToSemanticValue(i.query),c=i.scope.kind==="reference"?Te(a.text):i.scope.kind==="closest"?{type:"expression",raw:`closest ${o.text}`}:this.tokenToSemanticValue(a.token);s=l?{...l,scope:c}:null;}if(!s)return null;for(let l=0;l<i.consumed;l++)t.advance();return s}matchRoleTokenCore(t,r,n,i){this.skipNoiseWords(t,r,i);let a=t.peek();if(!a||this.isClassNameSlot(r)&&this.commandMarkers().has(a.value.toLowerCase())||this.currentRoleCommand==="set"&&a.value.toLowerCase()==="on"&&this.patternTokenWouldMatch(i,a))return r.optional||false;let o=this.matchScopeFirst(t,r);if(o)return n.set(r.role,o),true;let u=this.slotAt(t,r,i);if(r.role==="style"&&this.currentRoleCommand==="show"){let h=this.tryMatchStrategyArgument(t);if(h)return n.set(r.role,h),true}if(r.role==="action"&&this.currentProfile&&t.peek(1)?.value==="-"){let h=this.tryFoldHyphenActionKeyword(t);if(h)return n.set(r.role,h),true}if(r.role==="event"&&this.currentPatternCommand==="on"){if(!$.tokenLooksLikeEvent(a))return r.optional||false;let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h)||$.VISIBILITY_STRATEGIES.has(h)||this.currentProfile&&(Ve(this.currentProfile,a.value)??Ve(this.currentProfile,h))!==void 0||a.value.includes("?."))return r.optional||false}if(r.role==="event"){let h=(a.normalized??a.value).toLowerCase();if($.STRUCTURAL_NEVER_EVENT.has(h))return r.optional||false}if(qf(u,this.currentProfile?.code??"")||Hf(u,this.currentPatternCommand))return r.optional||false;if(r.role==="duration"){let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h))return r.optional||false}if(Kf(u))return true;if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchPositionalPossessiveExpression(t,i);if(h)return n.set(r.role,h),true}let s=this.tryMatchPositionalExpression(t,i);if(s)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(s.type,r.expectedTypes)?r.optional||false:(n.set(r.role,s),true);let l=this.tryMatchCaretScopeExpression(t);if(l)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(l.type,r.expectedTypes)?r.optional||false:(n.set(r.role,l),true);let c=this.tryMatchParenReceiverCall(t);if(c)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,c),true);if(r.role!=="event"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchBeepPrefixExpression(t);if(h)return n.set(r.role,h),true;let A=this.tryMatchHyphenatedWord(t);if(A)return n.set(r.role,A),true;let k=this.isWrittenTarget(r)?null:this.tryMatchOperatorRunExpression(t);if(k)return n.set(r.role,k),true}if(this.currentPatternCommand==="pick"&&r.role==="patient"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchPickRangeExpression(t);if(h)return n.set(r.role,h),true}if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchOfPossessiveExpression(t,i);if(h)return n.set(r.role,h),true;let A=this.tryMatchPostNominalPossessiveExpression(t);if(A)return n.set(r.role,A),true}let p=this.tryMatchPossessiveExpression(t);if(p)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(p.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,p),true);let m=this.tryMatchMethodCallExpression(t);if(m)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(m.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,m),true);let f=r.role==="event"&&this.currentPatternCommand==="on"||$.DECLARATION_COMMANDS.has(this.currentPatternCommand??"")||this.isWrittenTarget(r)?null:this.tryMatchBareCallExpression(t);if(f)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(f.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,f),true);let d=this.tryMatchPossessiveSelectorExpression(t);if(d)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(d.type,r.expectedTypes)?r.optional||false:(n.set(r.role,d),true);let v=r.role!=="condition",g=this.tryMatchPropertyAccessExpression(t,v);if(g)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(g.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,g),true);let w=this.tryMatchSelectorPropertyExpression(t);if(w)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(w.type,r.expectedTypes)?r.optional||false:(n.set(r.role,w),true);if(a.value==="("&&r.role!=="event"&&r.role!=="action"&&(!r.expectedTypes?.length||r.expectedTypes.some(h=>h==="expression"||h==="selector"||h==="reference"))){let h=this.tryMatchParenGroupExpression(t);if(h)return n.set(r.role,h),true}if(a.kind==="identifier"&&a.value==="{"){let h=r.expectedTypes,k=h?.length===1&&h[0]==="expression"||this.isObjectValueSlot(r)?this.tryMatchBraceRunExpression(t):!h?.length||h.includes("literal")?this.tryMatchBraceRunLiteral(t):null;if(k)return n.set(r.role,k),true}if(r.role==="style"&&r.expectedTypes?.length===1&&r.expectedTypes[0]==="expression"){let h=Xt(t);if(h)return n.set(r.role,{type:"expression",raw:h}),true}if(Zf(u)||Qf(u,this.currentSchema())||Vf(u,this.currentProfile?.code??""))return n.set(r.role,{type:"expression",raw:a.value}),t.advance(),true;let E=this.tokenToSemanticValue(a);if(!E)return r.optional||false;if(r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(E.type)){let h=E.type==="selector"&&String(E.value).startsWith("@"),A=r.expectedTypes.some(k=>k==="expression"||k==="reference");if(!(h&&A))return r.optional||false}r.valueShape==="keyword"&&E.type==="expression"?n.set(r.role,ee(String(E.raw??""))):n.set(r.role,E),t.advance();let z=this.isClassNameSlot(r);if(E.type==="selector"&&(E.value.startsWith("<")||E.value.startsWith(".")&&!z)&&r.role!=="event"){let h=Tr(t.tokens,t.position(),this.currentProfile,A=>A===void 0?false:this.patternTokenWouldMatch(i,A));if(h){let[A,k]=h.scope.parts,x=h.scope.kind==="reference"?Te(A.text):h.scope.kind==="closest"?{type:"expression",raw:`closest ${k.text}`}:this.tokenToSemanticValue(A.token);for(let S=0;S<1+h.scope.consumed;S++)t.advance();n.set(r.role,{...E,scope:x});}}if(r.role==="event"){let h=t.peek();h&&h.kind==="selector"&&h.value.startsWith("[")&&h.position.start===a.position.end&&"value"in E&&(n.set(r.role,ee(`${String(E.value)}${h.value}`)),t.advance());let A=t.peek();if(A&&(A.kind==="particle"||A.kind==="keyword")&&(A.normalized??"").toLowerCase()==="source"&&!this.patternTokenWouldMatch(i,A)){let k=t.peek(1),x=k?this.sourceNounValue(k):void 0;x&&!this.eventSource&&(t.advance(),t.advance(),this.eventSource=x);}}return true}atClauseEnd(t){return Ge(t.tokens,t.position(),this.currentProfile?.code??"")}tryMatchPositionalExpression(t,r){let n=Ft(t.tokens,t.position(),this.currentProfile,i=>i===void 0?false:this.patternTokenWouldMatch(r,i));if(!n)return null;for(let i=0;i<n.consumed;i++)t.advance();return {type:"expression",raw:n.parts.map(i=>i.text).join(" ")}}tryMatchCaretScopeExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!r.value.startsWith("^"))return null;let n=t.peek(1),i=t.peek(2),a=(n?.normalized??"").toLowerCase(),o=!!n&&(n.value.toLowerCase()==="on"||a==="destination"||a==="on");return !n||!i||i.kind!=="selector"||!o?null:(t.advance(),t.advance(),t.advance(),{type:"expression",raw:`${r.value} on ${i.value}`})}isOfPossessiveMarker(t){return ut(this.currentProfile,t)}logicalConnectiveOf(t){let r=t.peek();if(!r)return;let n=this.currentProfile?.code??"en",i=s=>s==="and"||s==="or"||s==="not",a=st(n,r.value).toLowerCase();if(i(a))return a;if(this.commandMarkers().has(r.value.toLowerCase()))return;let o=t.position(),u=Af(n,{tokens:t.tokens,i:o});return u&&i(u)?u:void 0}tryConsumeRunPhrase(t){let r=this.currentProfile?.code??"en",n=t.tokens,i=t.position(),a=[],o;for(let u=0;u<6&&i+u<n.length;u++){let s=lt(r,{tokens:n,i:i+u},o).toLowerCase();a.push(s),o=s;}for(let[u,s]of $.RUN_PHRASES)if(u.every((l,c)=>a[c]===l)){for(let l=0;l<u.length;l++)t.advance();return s}}slotAt(t,r,n){return new jf(t,r,this.slotAfterLiteral,n,this.wouldMatch,this.currentProfile?.code??"")}static isBareWordToken(t){return !!t&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(t.value)}tryMatchBeepPrefixExpression(t){let r=t.peek(),n=t.peek(1);if(!r||!n||n.value!=="!"||(r.normalized??r.value).toLowerCase()!=="beep"||!(r.position?.end!==void 0&&n.position?.start!==void 0&&r.position.end===n.position.start))return null;let a=t.mark(),o=t.position();if(t.advance(),t.advance(),!this.tryConsumeRunOperand(t))return t.reset(a),null;for(;;){let s=t.peek();if(!s||!it.has(s.value))break;let l=t.mark();if(t.advance(),!this.tryConsumeRunOperand(t,true)){t.reset(l);break}}let u=_e(t.tokens.slice(o,t.position()),this.currentProfile);return {type:"expression",raw:u,value:u}}tryMatchHyphenatedWord(t){let r=t.peek();if(!$.isBareWordToken(r))return null;let n=1,i=[r.value];for(;;){let a=t.peek(n),o=t.peek(n+1);if(!a||a.value!=="-"||!$.isBareWordToken(o)||!Qt(t.peek(n-1),a)||!Qt(a,o))break;i.push(o.value),n+=2;}if(i.length<2)return null;for(let a=0;a<n;a++)t.advance();return ee(i.join("-"),"string")}tryMatchOperatorRunExpression(t){let r=t.mark(),n=t.position(),i=t.peek(),a=!!i&&(this.logicalConnectiveOf(t)==="not"||i.value==="-");if(!this.tryConsumeRunOperand(t))return t.reset(r),null;let o=1;for(;;){let s=t.peek();if(!s)break;let l=this.logicalConnectiveOf(t),c=(l==="and"||l==="or")&&this.currentRoleCommand!=="wait",p=t.mark();if(c||it.has(s.value))t.advance();else {let m=this.tryConsumeRunPhrase(t);if(m===void 0)break;if(m==="none"){o++;continue}}if(!this.tryConsumeRunOperand(t,true,c)){t.reset(p);break}o++;}if(o<2&&!a)return t.reset(r),null;let u=_e(t.tokens.slice(n,t.position()),this.currentProfile);return {type:"expression",raw:u,value:u}}static rangeSeparatorFor(t){let[r]=$.PICK_RANGE_SEPARATORS_BY_LANG[t]??[];return r}isPickRangeSeparator(t){let r=(t.normalized??t.value).toLowerCase();if($.PICK_RANGE_SEPARATORS.has(r))return true;let n=this.currentProfile?.code;return n?$.PICK_RANGE_SEPARATORS_BY_LANG[n]?.has(t.value.toLowerCase())??false:false}tryMatchPickRangeExpression(t){let r=t.mark(),n=t.position();if(!this.tryConsumePickRangeOperand(t))return t.reset(r),null;let i=t.peek();if(!i||!this.isPickRangeSeparator(i)||(t.advance(),!this.tryConsumePickRangeOperand(t)))return t.reset(r),null;let a=t.peek();a&&$.PICK_RANGE_MODES.has((a.normalized??a.value).toLowerCase())&&t.advance();let o=t.tokens.slice(n,t.position()),[u,,s,l]=o,c=m=>m.kind==="keyword"?m.normalized??m.value:m.value,p=`${c(u)} to ${c(s)}`;return l&&(p+=` ${(l.normalized??l.value).toLowerCase()}`),{type:"expression",raw:p,value:p}}tryConsumePickRangeOperand(t){let r=t.peek();if(!r)return false;let n=(r.normalized??r.value).toLowerCase();if(this.isPickRangeSeparator(r))return false;let i=n==="start"||n==="end";return r.kind==="literal"||r.kind==="identifier"||r.kind==="keyword"&&i?(t.advance(),true):false}tryConsumeRunOperand(t,r=false,n=false){let i=t.peek();if(!i)return false;if(this.logicalConnectiveOf(t)==="not"){let o=t.mark();return t.advance(),Yf(t.peek()??void 0,t.peek(1)??void 0)?(t.reset(o),false):this.tryConsumeRunOperand(t,true,n)?true:(t.reset(o),false)}if(i.value==="-"){let o=t.mark();return t.advance(),this.tryConsumeRunOperand(t,true,n)?true:(t.reset(o),false)}if(n&&Gf(i))return false;if(Jf(i,r,t.peek(1)??void 0))return t.advance(),true;if(i.value==="("){let o=t.mark(),u=0;for(;!t.isAtEnd();){let s=t.advance();if(s.value==="(")u++;else if(s.value===")"&&(u--,u===0))return true}return t.reset(o),false}if(this.tryMatchPossessiveExpression(t))return true;if(i.value.toLowerCase()==="the"){let o=t.mark();if(t.advance(),this.tryConsumeRunOperand(t,r,n))return true;t.reset(o);}if(this.tryMatchOfPossessiveExpression(t,void 0,true)||this.tryMatchPossessiveSelectorExpression(t)||this.tryMatchPropertyAccessExpression(t,true)||this.tryMatchSelectorPropertyExpression(t))return true;let a=(i.normalized??"").toLowerCase();return (i.kind==="literal"||i.kind==="identifier"||i.kind==="selector"||i.kind==="keyword")&&!it.has(i.value)&&!["then","else"].includes(a)&&!Ge(t.tokens,t.position(),this.currentProfile?.code??"")&&i.value!==")"?(t.advance(),true):false}isPossessorToken(t){if(!this.currentProfile)return false;for(let r of [t.value,t.normalized].filter(Boolean))if(Ve(this.currentProfile,r)??Ve(this.currentProfile,r.toLowerCase()))return true;return false}isBareWordPropertyHead(t){return t.kind==="keyword"?!!this.currentProfile&&Nn(this.currentProfile.code,t.value):t.kind!=="identifier"||/^[$:@#.*]/.test(t.value)||this.isStructuralKeyword(t.value)||t.normalized&&this.isStructuralKeyword(t.normalized)||t.normalized&&this.isRoleMarkerConcept(t.normalized)?false:!this.isPossessorToken(t)}toEnglishProperty(t){return this.currentProfile?De(this.currentProfile.code,t):t}roleAcceptsPropertyPath(t){if(t.type!=="role")return false;if(t.expectedTypes)return t.expectedTypes.includes("property-path");let r=this.currentRoleCommand;return r?ke[r]?.roles.find(a=>a.role===t.role)?.expectedTypes?.includes("property-path")??false:false}tryMatchOfPossessiveExpression(t,r,n=false){let i=t.peek();if(!i||!(i.kind==="selector"?/^[*@]/.test(i.value):this.isBareWordPropertyHead(i)))return null;let o=t.position(),u=t.mark();t.advance();let s="";if(i.kind!=="selector")for(let m=t.peek(),y=i;m&&!(m.kind!=="selector"||!/^\.[A-Za-z_]\w*$/.test(m.value)||y.position.end!==m.position.start);m=t.peek())s+=m.value,y=m,t.advance();let l=t.peek();if(!l||!this.isOfPossessiveMarker(l))return t.reset(u),null;if(this.currentRoleCommand==="swap"&&this.patternTokenWouldMatch(r,l)){let m=t.tokens[t.position()+2];if(!m||!this.patternTokenWouldMatch(r,m))return t.reset(u),null}t.advance(),t.peek()?.value.toLowerCase()==="the"&&t.advance();let c=Ft(t.tokens,t.position(),this.currentProfile,m=>m===void 0?false:this.patternTokenWouldMatch(r,m));if(c){for(let m=0;m<c.consumed;m++)t.advance();return qe({type:"expression",raw:c.parts.map(m=>m.text).join(" ")},this.toEnglishProperty(i.value)+s,"possessive")}let p=t.peek();if(!p||p.kind!=="selector"||Ty(p.value)){if(t.reset(u),this.patternTokenWouldMatch(r,l))return null;let m=this.currentProfile?.code??"en",y=as(t.tokens,o,this.currentProfile,m);if(y===void 0)return null;for(;t.position()<=y;)t.advance();let f=_e(t.tokens.slice(o,y+1),this.currentProfile);return {type:"expression",raw:f,value:f}}if(t.advance(),/^[<.]/.test(p.value)&&!n){let m=t.position()-1,y=Tr(t.tokens,t.position(),this.currentProfile,z=>z===void 0?false:this.patternTokenWouldMatch(r,z)),f=z=>z===void 0?false:this.patternTokenWouldMatch(r,z),d=t.peek()??void 0,v=t.tokens[t.position()+1]?.value.toLowerCase()==="the"?1:0,g=!y&&d&&Zu(this.currentProfile,d)?Ft(t.tokens,t.position()+1+v,this.currentProfile,f):null,w=y?y.scope.consumed:g?v+g.consumed:void 0,E=w!==void 0?t.tokens[t.position()+1+w]:void 0;if(w!==void 0&&(y||!f(d)||f(E))){let z=t.position()+1+w,D=_e(t.tokens.slice(m,z),this.currentProfile);for(;t.position()<z;)t.advance();return qe({type:"expression",raw:D},this.toEnglishProperty(i.value)+s,"possessive")}}return qe(Le(p.value),this.toEnglishProperty(i.value)+s,"possessive")}tryMatchPositionalPossessiveExpression(t,r){let n=this.currentProfile,i=n?.possessive?.marker;if(!n||!i||n.possessive?.markerPosition!=="between"||n.code==="th")return null;let a=Ft(t.tokens,t.position(),n,l=>l===void 0?false:this.patternTokenWouldMatch(r,l));if(!a)return null;let o=t.peek(a.consumed),u=t.peek(a.consumed+1);if(!o||o.value!==i)return null;let s=!!u&&(this.isBareWordPropertyHead(u)||u.kind==="selector"&&u.value.startsWith("*")||u.kind==="keyword"&&Nn(n.code,u.value));if(!u||!s)return null;for(let l=0;l<a.consumed+2;l++)t.advance();return qe({type:"expression",raw:a.parts.map(l=>l.text).join(" ")},this.toEnglishProperty(u.value),"possessive")}tryMatchPossessiveExpression(t){let r=t.peek();if(!r||!this.currentProfile)return null;let n=[r.value,r.normalized].filter(Boolean),i;for(let s of n)if(i=Ve(this.currentProfile,s)??Ve(this.currentProfile,s.toLowerCase()),i)break;if(!i)return null;let a=t.mark();t.advance();let o=this.currentProfile.possessive?.connectors;if(o&&o.length>0){let s=t.peek();if(s){let l=s.value.toLowerCase(),c=(s.normalized??"").toLowerCase();o.some(p=>p.toLowerCase()===l||p.toLowerCase()===c)&&t.advance();}}let u=t.peek();if(!u||f0(this.currentProfile.code,u.value))return t.reset(a),null;if(u.kind==="identifier"||u.kind==="keyword"&&!this.isStructuralKeyword(u.value)&&!(u.normalized&&this.isStructuralKeyword(u.normalized))&&!(u.normalized&&this.isRoleMarkerConcept(u.normalized))&&!(u.normalized&&$.COMMAND_ACTION_KEYWORDS.has(u.normalized.toLowerCase()))&&!(u.normalized&&$.CONDITION_OPERATOR_WORDS.has(u.normalized.toLowerCase()))||u.kind==="selector"&&u.value.startsWith("*")||u.kind==="selector"&&u.value.startsWith("@")||u.kind==="selector"&&u.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(u.value)){t.advance();let s=u.value;u.kind==="selector"&&s.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(s)&&(s=s.substring(1)),s=this.toEnglishProperty(s),s===u.value&&u.kind==="keyword"&&u.normalized&&/^[A-Za-z]+$/.test(u.normalized)&&u.normalized.toLowerCase()!==u.value.toLowerCase()&&(s=u.normalized);let l=s;for(;;){let p=t.peek();if(p?.kind==="selector"&&p.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(p.value)){l+=p.value,t.advance();continue}if(p?.value==="?"){let m=t.peek(1);if(m?.kind==="selector"&&m.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(m.value)){l+=`?${m.value}`,t.advance(),t.advance();continue}}break}let c=t.peek();if(c&&c.value.startsWith("(")){let p="",m=0,y=0;for(;!t.isAtEnd()&&y++<$.MAX_METHOD_ARGS+2;){let f=t.peek();if(!f)break;p+=f.value,t.advance();for(let d of f.value)d==="("?m++:d===")"&&m--;if(m<=0)break}l+=p;}return qe(Te(i),l,"possessive")}return t.reset(a),null}tryMatchPostNominalPossessiveExpression(t){if(!this.currentProfile||this.currentProfile.possessive?.markerPosition!=="after-object")return null;let r=t.peek();if(!r)return null;let n=r.kind==="selector"&&r.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(r.value);if(!(r.kind==="identifier"&&!this.isStructuralKeyword(r.value)&&!(r.normalized&&this.isStructuralKeyword(r.normalized))&&!(r.normalized&&this.isRoleMarkerConcept(r.normalized))||r.kind==="selector"&&(r.value.startsWith("*")||r.value.startsWith("@"))||n)||this.isPossessorToken(r))return null;let a=t.mark(),o=r.value;n&&(o=o.substring(1)),t.advance(),o=this.toEnglishProperty(o);let u=o;for(;t.peek()?.kind==="selector"&&t.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(t.peek().value);)u+=t.peek().value,t.advance();let s=t.peek();if(!s)return t.reset(a),null;let l;for(let p of [s.value,s.normalized].filter(Boolean))if(l=Ve(this.currentProfile,p)??Ve(this.currentProfile,p.toLowerCase()),l)break;if(!l)return t.reset(a),null;let c=t.mark();return this.tryMatchPossessiveExpression(t)?(t.reset(a),null):(t.reset(c),t.advance(),qe(Te(l),u,"possessive"))}isStructuralKeyword(t){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(t.toLowerCase())}isRoleMarkerConcept(t){return or.has(t.toLowerCase())}static tokenLooksLikeEvent(t){if(t.kind==="selector"||t.kind==="url"||t.kind==="literal")return false;let r=t.value;if(/[/#@*]/.test(r)||r.startsWith('"')||r.startsWith("'")||r.startsWith("`"))return false;let n=t.normalized?.toLowerCase();return !(n&&By.has(n)||n==="me"||n==="it"||n==="you")}tryMatchStrategyArgument(t){let r=t.mark(),n=t.peek();if(!n||!/^\*?[A-Za-z][\w-]*(:[\w-]*)?$/.test(n.value))return null;let i=n.value,a=n;if(t.advance(),i.endsWith(":")||t.peek()?.value===":"){if(!i.endsWith(":")){let u=t.advance();if(!$.abuts(a,u))return t.reset(r),null;i+=":",a=u;}let o=t.peek();o&&o.position.start>a.position.end&&(i+=o.value,a=o,t.advance());}if(!i.includes(":"))return t.reset(r),null;for(let o=t.peek();o&&$.abuts(a,o);o=t.peek())i+=o.value,a=o,t.advance();return i.endsWith(":")?(t.reset(r),null):{type:"expression",raw:i}}tryMatchBraceRunLiteral(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark();t.advance();let i="{",a=r.position.end,o=1,u=0;for(;!t.isAtEnd()&&u++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(s.position.start>a&&(i+=" "),i+=s.value,a=s.position.end,s.value==="{")o++;else if(s.value==="}"&&(o--,o===0))return ee(i)}return t.reset(n),null}tryMatchBraceRunExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark(),i="",a=-1,o=0,u=0;for(;!t.isAtEnd()&&u++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(a>=0&&s.position.start>a&&(i+=" ".repeat(s.position.start-a)),i+=s.value,a=s.position.end,s.value==="{")o++;else if(s.value==="}"&&(o--,o===0))return {type:"expression",raw:i}}return t.reset(n),null}tryMatchBareCallExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!/^[A-Za-z_][\w$]*$/.test(r.value))return null;let n=t.peek(1);if(!n||n.value!=="(")return null;let i=t.mark();t.advance();let a=t.advance(),o="",u=a.position?.end,s=false,l=0;for(;!t.isAtEnd()&&l++<$.MAX_METHOD_ARGS+2;){let c=t.peek();if(!c)break;if(c.value===")"){t.advance(),s=true;break}let p=u!==void 0&&c.position?.start===u;o+=(o===""||p?"":" ")+c.value,u=c.position?.end,t.advance();}return s?{type:"expression",raw:`${r.value}(${o})`}:(t.reset(i),null)}tryMatchMethodCallExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="operator"||i.value!==".")return t.reset(n),null;t.advance();let a=t.peek();if(!a||a.kind!=="identifier")return t.reset(n),null;t.advance();let o=t.peek();if(!o||o.kind!=="punctuation"||o.value!=="(")return t.reset(n),null;t.advance();let u=[];for(;!t.isAtEnd()&&u.length<$.MAX_METHOD_ARGS;){let l=t.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){t.advance();break}if(l.kind==="punctuation"&&l.value===","){t.advance();continue}u.push(l.value),t.advance();}return {type:"expression",raw:`${r.value}.${a.value}(${u.join(", ")})`}}tryMatchParenReceiverCall(t){if(t.peek()?.value!=="(")return null;let r=t.mark(),n=[];t.advance();let i=1;for(;!t.isAtEnd()&&n.length<=$.MAX_METHOD_ARGS*4;){let c=t.peek();if(t.advance(),c.value==="(")i++;else if(c.value===")"&&--i===0)break;n.push(c);}let a=t.tokens[t.position()-1],o=t.peek();if(i!==0||n.length===0||!o||o.kind!=="selector"||!/^\.[A-Za-z_$][\w$]*$/.test(o.value)||!$.abuts(a,o))return t.reset(r),null;t.advance();let u=t.peek();if(u?.value!=="("||!$.abuts(o,u))return t.reset(r),null;let s=this.consumeCallParens(t);return s===null?(t.reset(r),null):{type:"expression",raw:`(${_e(n,this.currentProfile)})${o.value}${s}`}}tryMatchParenGroupExpression(t){if(t.peek()?.value!=="(")return null;let r=t.mark();t.advance();let n=[],i=1;for(;!t.isAtEnd();){let l=t.peek();if(t.advance(),l.value==="(")i++;else if(l.value===")"&&--i===0)break;n.push(l);}let a=t.tokens[t.position()-1],o=t.peek(),u=!!o&&(o.value==="'"||it.has(o.value)||$.abuts(a,o)&&(o.value.startsWith(".")||o.value==="("));if(i!==0||n.length===0||u)return t.reset(r),null;let s=`(${_e(n,this.currentProfile)})`;return {type:"expression",raw:s,value:s}}static abuts(t,r){return !!t&&!!r&&t.position.end===r.position.start}consumeCallParens(t){let r=t.mark(),n="",i,a=0;for(;!t.isAtEnd();){let o=t.peek();if(!o)break;if(n+=(i&&!$.abuts(i,o)?" ":"")+o.value,i=o,t.advance(),o.value==="(")a++;else if(o.value===")"&&--a===0)return n}return t.reset(r),null}tryMatchPropertyAccessExpression(t,r=true){let n=t.peek();if(!n||n.kind!=="identifier"&&n.kind!=="keyword")return null;let i=t.mark();t.advance();let a=n.value.toLowerCase(),o=t.peek();if((n.kind==="identifier"||$.PROPERTY_ACCESS_BASES.has(a))&&o&&o.kind==="selector"&&/^\.[a-zA-Z_]/.test(o.value)&&o.position.start===n.position.end){let y=n.value,f=[],d=0;for(;d<$.MAX_PROPERTY_DEPTH;){let w=t.peek();if(w&&w.kind==="selector"&&/^\.[a-zA-Z_]/.test(w.value))y+=`.${w.value.slice(1)}`,f.push(w.value.slice(1)),t.advance(),d++;else break}let v=t.peek(),g=!!v&&v.value.startsWith("(")&&($.abuts(t.tokens[t.position()-1],v)||this.patternRest[0]?.type!=="role");return r&&!g&&f.length>0&&He(a)?qe(Te(a),f.join("."),"dot"):(g&&(y+=this.consumeCallParens(t)??""),{type:"expression",raw:y})}let u=t.peek();if(!u||u.kind!=="operator"||u.value!==".")return t.reset(i),null;t.advance();let s=t.peek();if(!s||s.kind!=="identifier")return t.reset(i),null;t.advance();let l=`${n.value}.${s.value}`,c=1;for(;!t.isAtEnd()&&c<$.MAX_PROPERTY_DEPTH;){let y=t.peek();if(!y||y.kind!=="operator"||y.value!==".")break;t.advance();let f=t.peek();if(!f||f.kind!=="identifier")break;t.advance(),l+=`.${f.value}`,c++;}let p=t.peek();if(p&&p.kind==="punctuation"&&p.value==="("){t.advance();let y=[],f=0;for(;!t.isAtEnd()&&y.length<$.MAX_METHOD_ARGS;){let v=t.peek();if(!v)break;if(v.kind==="punctuation"&&v.value===")"){if(f===0){t.advance();break}f--;}if(v.kind==="punctuation"&&v.value==="("&&f++,v.kind==="punctuation"&&v.value===","){t.advance();continue}y.push(v.value),t.advance();}return {type:"expression",raw:`${l}(${y.join(", ")})`}}let m=n.value.toLowerCase();if(r&&He(m)){let y=l.split(".").slice(1).join(".");return qe(Te(m),y,"dot")}return {type:"expression",raw:l}}tryMatchPossessiveSelectorExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek(),a=this.currentProfile?.possessive?.marker?.replace(/^-/,""),o=!!i&&i.kind==="punctuation"&&i.value==="'s",u=!!i&&i.value==="'"&&(t.peek(1)?.value??"").toLowerCase()==="s",s=(()=>{if(!this.currentPatternCommand||(i?.normalized??"").toLowerCase()!=="source")return false;let f=ke[this.currentPatternCommand];return !!f&&f.roles.some(d=>d.role==="source")})(),l=!!i&&!!a&&a!=="'s"&&i.value===a&&(i.kind==="particle"||i.kind==="punctuation"||i.kind==="identifier")&&!s;if(!o&&!l&&!u)return t.reset(n),null;t.advance(),u&&t.advance();let c=t.peek();if(!c)return t.reset(n),null;let p=c.kind==="selector"&&c.value.startsWith("*"),m=c.kind==="keyword"&&!!this.currentProfile&&Nn(this.currentProfile.code,c.value);return c.kind==="identifier"||p||m||(o||u)&&(c.kind==="selector"||c.kind==="keyword")?(t.advance(),qe(Le(r.value),this.toEnglishProperty(c.value),"possessive")):(t.reset(n),null)}tryMatchSelectorPropertyExpression(t){let r=t.peek();if(!r||r.kind!=="selector"||!r.value.startsWith("#"))return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="selector"||!i.value.startsWith("."))return t.reset(n),null;t.advance();let a=[i.value.slice(1)],o=i;for(let s=t.peek();s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value)&&a.length<$.MAX_PROPERTY_DEPTH;s=t.peek())a.push(s.value.slice(1)),o=s,t.advance();let u=t.peek();if(u?.value==="("&&$.abuts(o,u)){let s=this.consumeCallParens(t);if(s!==null)return {type:"expression",raw:`${r.value}.${a.join(".")}${s}`}}return qe(Le(r.value),a.join("."),"dot")}isWrittenTarget(t){return $.WRITTEN_ROLE[this.currentRoleCommand??""]===t.role}tokenToSemanticValue(t){return Jr(t)}skipNoiseWords(t,r,n){let i=t.peek();if(!i)return;let a=i.value.toLowerCase();if($.ENGLISH_NOISE_WORDS.has(a)){if(Wf(this.slotAt(t,r,n)))return;let o=t.mark();t.advance();let u=t.peek();if(u&&(u.kind==="selector"||u.kind==="identifier"))return;let s=t.peek(1);if(u&&u.kind==="keyword"&&s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value))return;let l=u?(u.normalized??u.value).toLowerCase():"";if(u&&$.POSITIONAL_OR_SCOPE_KEYWORDS.has(l))return;let c=t.peek(1),p=c?(c.normalized??c.value).toLowerCase():"",m=this.currentProfile?.wordOrder!=="SOV"&&$.COMMAND_ACTION_KEYWORDS.has(p),y=!c||c.kind==="particle"||$.CLAUSE_BOUNDARY_KEYWORDS.has(p)||m;if(u&&u.kind==="keyword"&&this.currentProfile?.code!=="en"&&He(l)&&y||u&&u.kind==="keyword"&&this.currentProfile?.code==="en"&&He(l))return;t.reset(o);}a==="class"&&t.advance();}};le.CONDITION_OPERATOR_WORDS=new Set(["matches","match","contains","exists","has","have","equals","includes"]);le.LOOP_CONDITION_OPERATORS=new Set([...Vu,"and","or"]);le.POSITIONAL_OR_SCOPE_KEYWORDS=new Set(["first","last","next","previous","random","closest","parent"]);le.STRUCTURAL_NEVER_EVENT=new Set(["if","unless","else","end","then","while","repeat"]);le.PROPERTY_ACCESS_BASES=new Set(["it","me","you","my","its","your","event","result","target","detail","body","window","document","self","this"]);le.COMMAND_ACTION_KEYWORDS=Vt;le.CLAUSE_BOUNDARY_KEYWORDS=new Set(["then","and","or","end","else"]);le.RUN_PHRASES=[...Si.map(e=>[e.split(" "),"none"]),...Bi.map(e=>[e.split(" "),"type"]),...Di.filter(e=>!/^(in|am|has|have)$|^am /.test(e)).map(e=>[e.split(" "),"operand"]),[["exists"],"none"]];le.PICK_RANGE_SEPARATORS=new Set(["to"]);le.PICK_RANGE_SEPARATORS_BY_LANG={ar:new Set(["\u0625\u0644\u0649"]),bn:new Set(["\u09A5\u09C7\u0995\u09C7"]),de:new Set(["zu","bis"]),es:new Set(["a"]),fr:new Set(["\xE0"]),he:new Set(["\u05E2\u05DC","\u05E2\u05D3"]),hi:new Set(["\u0938\u0947"]),id:new Set(["ke"]),it:new Set(["in","a"]),ja:new Set(["\u304B\u3089"]),ko:new Set(["\uBD80\uD130"]),ms:new Set(["ke"]),pl:new Set(["do"]),pt:new Set(["para","a"]),qu:new Set(["kama"]),ru:new Set(["\u0432","\u0434\u043E"]),sw:new Set(["kwa","hadi"]),th:new Set(["\u0E43\u0E19","\u0E16\u0E36\u0E07"]),tl:new Set(["sa"]),tr:new Set(["ile"]),uk:new Set(["\u0432","\u0434\u043E"]),vi:new Set(["v\xE0o","\u0111\u1EBFn"]),zh:new Set(["\u5230"])};le.PICK_RANGE_MODES=new Set(["inclusive","exclusive"]);le.VISIBILITY_STRATEGIES=new Set(["display","visibility","opacity","twdisplay","twvisibility","twopacity"]);le.MAX_BRACE_RUN_TOKENS=64;le.MAX_PROPERTY_DEPTH=10;le.MAX_METHOD_ARGS=20;le.SWAP_STRATEGIES=new Set(["into","over","innerhtml","outerhtml","beforebegin","afterbegin","beforeend","afterend","delete","none","morph","innermorph","outermorph"]);le.DECLARATION_COMMANDS=new Set(["behavior","def"]);le.WRITTEN_ROLE={increment:"patient",decrement:"patient",set:"destination",bind:"destination"};le.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var mo=le,gs=class extends ma{constructor(e){super(t=>new mo(t),e??Sy);}matchPattern(e,t){return super.matchPattern(e,t)}matchBest(e,t){return super.matchBest(e,t)}static rangeSeparatorFor(e){return mo.rangeSeparatorFor(e)}extractEventModifiers(e){let t={},r=false;for(;!e.isAtEnd();){let n=e.peek();if(!n||n.kind!=="event-modifier")break;let i=n.metadata;if(!i)break;switch(r=true,i.modifierName){case "once":t.once=true;break;case "debounce":typeof i.value=="number"&&(t.debounce=i.value);break;case "throttle":typeof i.value=="number"&&(t.throttle=i.value);break;case "queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(t.queue=i.value);break}e.advance();}return r?t:void 0}},Fe=new gs,Fy={a:"\xE1",e:"\xEA",i:"i"};function Py(e,t,r){switch(e){case "infinitive":return /r$/.test(t)?t+r:void 0;case "infinitive-drop-e":return /re$/.test(t)?t.slice(0,-1)+r:void 0;case "hyphen":{if(!/[aei]r$/.test(t))return;if(!r.startsWith("l"))return `${t}-${r}`;let n=t[t.length-2];return `${t.slice(0,-2)}${Fy[n]}-${r}`}case "suffix":return t+r;case "before":return /^\p{L}+(?:er|ir|re)$/u.test(t)?/^[aeiouyàâäéèêëîïôöùûüœh]/iu.test(t)?`${r.slice(0,-1)}'${t}`:`${r} ${t}`:void 0}}var Oy=/[aeıioöuü]/gu,Ly=new Set(["a","\u0131","o","u"]),Ry=new Set(["\xE7","f","h","k","p","s","\u015F","t"]);function _y(e){let t=e.toLowerCase(),r=t.match(Oy);return r?(Ry.has(t[t.length-1])?"t":"d")+(Ly.has(r[r.length-1])?"a":"e"):void 0}function V(e,t){return e0(e,t)}function ws(){return Jc()}function Ny(e,t){let r=e[t];return r==='"'||r==="`"?true:r!=="'"?false:!(/[\p{L}\p{N}_]/u.test(e[t-1]??"")&&/[\p{L}]/u.test(e[t+1]??""))}function My(e){if(!e.includes("--")&&!e.includes("//"))return e;let t="",r=0;for(;r<e.length;){let n=e[r];if(Ny(e,r)){let a=r+1;for(;a<e.length&&e[a]!==n;)a+=e[a]==="\\"?2:1;t+=e.slice(r,a+1),r=a+1;continue}let i=e[r+2];if((n==="-"||n==="/")&&e[r+1]===n&&(i===void 0||/\s/.test(i)||i===n)){let a=r;for(;a<e.length&&e[a]!==`
|
|
7
|
+
`?(n++,i=1):i++,f}function s(){for(;r<e.length&&/\s/.test(e[r]);)u();}function l(f){let d="";for(;r<e.length&&f(e[r]);)d+=u();return d}function c(f){let d=f;for(u();r<e.length&&e[r]!==f;)e[r]==="\\"&&r+1<e.length&&(d+=u()),d+=u();return r<e.length&&(d+=u()),d}function p(){let f="`";for(u();r<e.length&&e[r]!=="`";)e[r]==="\\"&&r+1<e.length&&(f+=u()),f+=u();return r<e.length&&(f+=u()),f}function m(){let f="<";for(u();r<e.length&&(f+=u(),!f.endsWith("/>")););return f}function y(f,d,v){return {type:f,value:d,start:v,end:r,line:n,column:i-d.length}}for(;r<e.length&&(s(),!(r>=e.length));){let f=r,d=o();if(d==="'"&&o(1)==="s"&&!/\w/.test(o(2))){u(),u(),t.push(y("POSSESSIVE","'s",f));continue}if(d==='"'||d==="'"){let g=c(d);t.push(y("STRING",g,f));continue}if(d==="`"){let g=p();t.push(y("TEMPLATE_LITERAL",g,f));continue}if(d==="<"&&/[a-zA-Z.#\[]/.test(o(1))){let g=m();t.push(y("QUERY_SELECTOR",g,f));continue}if(d==="#"&&a()){u();let g=l(w=>/[\w-]/.test(w));t.push(y("ID_SELECTOR","#"+g,f));continue}if(d==="."&&/[a-zA-Z_-]/.test(o(1))&&a()){u();let g=l(w=>/[\w-]/.test(w));t.push(y("CLASS_SELECTOR","."+g,f));continue}if(d==="@"&&/[a-zA-Z_]/.test(o(1))){u();let g=l(w=>/[\w-]/.test(w));t.push(y("ATTRIBUTE_REF","@"+g,f));continue}if(d==="["&&a()&&o(1)==="@"){let w="";for(w+=u();r<e.length&&e[r]!=="]";)e[r]==='"'||e[r]==="'"?w+=c(e[r]):w+=u();r<e.length&&(w+=u()),t.push(y("ATTRIBUTE_SELECTOR",w,f));continue}if(d==="["){u(),t.push(y("LBRACKET","[",f));continue}if(d==="]"){u(),t.push(y("RBRACKET","]",f));continue}if(/\d/.test(d)){let g=l(z=>/[\d.]/.test(z)),w=r,E=l(z=>/[a-zA-Z]/.test(z));Um.has(E)?t.push(y("TIME_EXPRESSION",g+E,f)):jr.has(E)||!E&&e[r]==="%"?(E||u(),t.push(y("STRING",`"${g}${E||"%"}"`,f))):(r=w,t.push(y("NUMBER",g,f)));continue}if(d==="("){u(),t.push(y("LPAREN","(",f));continue}if(d===")"){u(),t.push(y("RPAREN",")",f));continue}if(d==="{"){u(),t.push(y("LBRACE","{",f));continue}if(d==="}"){u(),t.push(y("RBRACE","}",f));continue}if(d===","){u(),t.push(y("COMMA",",",f));continue}let v=t[t.length-1]?.type;if(d===":"&&/[a-zA-Z_]/.test(e[r+1]??"")&&(v===void 0||/\s/.test(e[r-1]??"")||v==="OPERATOR"||v==="COMPARISON"||v==="LPAREN"||v==="LBRACKET"||v==="COMMA")){u();let g=l(w=>/[\w$]/.test(w));t.push(y("IDENTIFIER",`:${g}`,f));continue}if(d===":"){u(),t.push(y("COLON",":",f));continue}if(d==="."){u(),t.push(y("DOT",".",f));continue}if(d==="|"){u(),t.push(y("PIPE","|",f));continue}if(d==="+"||d==="-"||d==="*"||d==="/"||d==="%"){u(),t.push(y("OPERATOR",d,f));continue}if(d==="="||d==="!"||d==="<"||d===">"){let g=u();o()==="="&&(g+=u()),(g==="=="||g==="!=")&&o()==="="&&(g+=u()),t.push(y("COMPARISON",g,f));continue}if(/[a-zA-Z_$]/.test(d)){let g=l(E=>/[\w$]/.test(E)),w=g.toLowerCase();Wm.has(w)?t.push(y("CONTEXT_VAR",g,f)):qm.has(w)?t.push(y("LOGICAL",g,f)):Vm.has(w)?t.push(y("BOOLEAN",g,f)):t.push(y("IDENTIFIER",g,f));continue}u();}return t.push(y("EOF","",r)),t}var Gm=new Set(["my","its","your"]),Ym={my:"me",its:"it",your:"you"},Zm=new Set(["is","matches","match","contains","in","exists","does"]),Qm=new Set(["next","previous","closest","first","last"]),Xm=[...Si,...Bi,...Di].map(e=>[e,e.split(" ")]),Jm=class{constructor(){this.tokens=[],this.current=0,this.collectionOperand=0;}parse(e){try{return this.tokens=qu(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return {success:false,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}peekAt(e){return this.tokens[this.current+e]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}isAtEndAt(e){return this.peekAt(e).type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(e){return this.peek().type===e}checkValue(e){return this.peek().value.toLowerCase()===e.toLowerCase()}match(...e){for(let t of e)if(this.check(t))return this.advance(),true;return false}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,r=this.parseAnd();e=this.createBinaryExpression(t,e,r);}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,r=this.parseEquality();e=this.createBinaryExpression(t,e,r);}return e}parseEquality(){let e=this.parseComparison();for(;;){if(this.match("COMPARISON")){let r=this.previous().value;e=this.createBinaryExpression(r,e,this.parseComparison());continue}let t=this.matchComparisonPhrase();if(t===void 0)break;if(Si.includes(t))e=this.createPostfixUnary(t,e);else if(Bi.includes(t))e=this.parseTypeCheck(e,t.startsWith("is not"));else {let r=t==="match"?"matches":t;e=this.createBinaryExpression(r,e,this.parseComparison());}}return e}matchComparisonPhrase(){for(let[e,t]of Xm)if(t.every((r,n)=>this.peekAt(n).value.toLowerCase()===r)){for(let r=0;r<t.length;r++)this.advance();return e}}parseTypeCheck(e,t){let r=this.advance();if(r.type==="EOF")throw new Error(`Expected a type name after 'is ${t?"not ":""}a'`);let n=true;return this.peek().value==="!"&&(this.advance(),n=false),{type:"typeCheckExpression",value:e,typeName:r.value,nullOk:n,negated:t,start:e.start,end:this.previous().end}}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,r=this.parseAddition();e=this.createBinaryExpression(t,e,r);}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,r=this.parseMultiplication();e=this.createBinaryExpression(t,e,r);}return e}parseMultiplication(){let e=this.parseCollection();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%"||this.checkValue("mod");){let t=this.advance().value.toLowerCase(),r=this.parseCollection();e=this.createBinaryExpression(t,e,r);}return e}parseCollection(){let e=this.parseConversion();if(this.collectionOperand>0)return e;for(let t=this.collectionOperator();t;t=this.collectionOperator()){this.advance(),t==="mapped to"&&this.advance(),this.collectionOperand++;let r;try{r=this.parseExpression();}finally{this.collectionOperand--;}e=this.createBinaryExpression(t,e,r);}return e}collectionOperator(){if(this.checkValue("where"))return "where";if(this.checkValue("mapped")&&this.peekAt(1).value.toLowerCase()==="to")return "mapped to"}parseConversion(){let e=this.parseUnary();for(;this.checkValue("as")&&this.conversionTypeAt(1)!==void 0;)for(this.advance(),e=this.createAsExpression(e,this.parseConversionType());this.check("PIPE")&&this.conversionTypeAt(1)!==void 0;)this.advance(),e=this.createAsExpression(e,this.parseConversionType());return e}conversionTypeAt(e){let t=this.peekAt(e).value.toLowerCase(),r=t==="a"||t==="an"?e+1:e;return this.peekAt(r).type==="IDENTIFIER"?r:void 0}parseConversionType(){let e=this.conversionTypeAt(0)??0;for(let i=0;i<e;i++)this.advance();let t=this.advance(),r=this.peekAt(1).type;if(!this.check("COLON")||r!=="NUMBER"&&r!=="IDENTIFIER")return t;this.advance();let n=this.advance();return {...t,value:`${t.value}:${n.value}`,end:n.end}}parseUnary(){if(this.checkValue("no")){let e=this.advance().value;return this.createUnaryExpression(e,this.parseCollection())}if(this.checkValue("not")||this.peek().value==="-"){let e=this.advance().value,t=this.parseUnary();return this.createUnaryExpression(e,t)}return this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createMemberExpression(e,this.createIdentifier(t.value,t),false);}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createPossessiveExpression(e,this.createIdentifier(t.value,t));}else break;else if(this.match("LPAREN")){let t=this.parseArguments();e=this.createCallExpression(e,t);}else if(this.match("LBRACKET")){let t=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");e=this.createMemberExpression(e,t,true);}else if(e.type==="identifier"&&Gm.has(e.name)&&this.check("IDENTIFIER")&&!Zm.has(this.peek().value.toLowerCase())){let t=this.advance(),r=e,n={...r,name:Ym[r.name]??r.name};e=this.createMemberExpression(n,this.createIdentifier(t.value,t),false);}else if(this.checkValue("exists")&&this.peekAt(1).type!=="LPAREN")this.advance(),e=this.createPostfixUnary("exists",e);else break;return e}parsePrimary(){this.checkValue("the")&&["closest","next","previous","first","last"].includes(this.peekAt(1).value.toLowerCase())&&this.advance();let e=this.peek();if(this.checkValue("the")&&(this.peekAt(1).type==="IDENTIFIER"||this.peekAt(1).type==="CONTEXT_VAR")&&this.peekAt(2).value.toLowerCase()==="of")return this.advance(),this.parsePropertyOf(this.advance(),e,false);if(this.match("NUMBER"))return this.createLiteral(parseFloat(e.value),"number",e);if(this.match("STRING")){let t=e.value.slice(1,-1);return this.createLiteral(t,"string",e)}if(this.match("BOOLEAN")){let t=e.value==="true"?true:e.value==="false"?false:e.value==="null"?null:void 0,r={true:"boolean",false:"boolean",null:"null",undefined:"undefined"};return this.createLiteral(t,r[e.value]??"string",e)}if(this.match("TEMPLATE_LITERAL")){let t=e.value;return {type:"templateLiteral",value:t.length>=2&&t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t,start:e.start,end:e.end,line:e.line,column:e.column}}if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(e);if(this.match("ID_SELECTOR"))return this.createSelector(e.value,"id",e);if(this.match("CLASS_SELECTOR"))return this.createSelector(e.value,"class",e);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(e.value,"attribute",e);if(this.match("ATTRIBUTE_REF")){let t={type:"attributeAccess",attributeName:e.value.slice(1),start:e.start,end:e.end};return this.checkValue("of")?(this.advance(),this.createBinaryExpression("of",t,this.parseConversion())):t}if(this.match("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createIdentifier(e.value,e);if(this.match("IDENTIFIER")){if(Qm.has(e.value.toLowerCase())&&(this.check("CLASS_SELECTOR")||this.check("ID_SELECTOR")||this.check("QUERY_SELECTOR"))){let t=this.advance(),r=t.type==="QUERY_SELECTOR"?t.value.slice(1,-2):t.value,n=t.type==="CLASS_SELECTOR"?"class":t.type==="ID_SELECTOR"?"id":"query";return {type:"callExpression",callee:this.createIdentifier(e.value,e),arguments:[this.createSelector(r,n,t)],start:e.start,end:t.end}}return this.checkValue("of")?this.parsePropertyOf(e,e):this.createIdentifier(e.value,e)}if(this.match("LPAREN")){let t=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return t}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${e.value}`)}parsePropertyOf(e,t,r=true){this.advance(),this.checkValue("the")&&!this.isAtEndAt(1)&&this.advance();let n=r?this.parseConversion():this.parseUnary();return {type:"propertyOfExpression",property:this.createIdentifier(e.value,e),target:n,start:t.start,end:this.previous().end}}parseArguments(){let e=[];if(!this.check("RPAREN"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return e}parseArrayLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACKET"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return {type:"arrayLiteral",elements:e,start:t,end:this.previous().end}}parseObjectLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACE"))do{let r;if(this.check("STRING"))r=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR"))r=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let n=this.parseExpression();e.push({key:r,value:n});}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return {type:"objectLiteral",properties:e.map(r=>({type:"objectProperty",key:{type:"identifier",name:r.key},value:r.value})),start:t,end:this.previous().end}}parseTimeExpression(e){let t=e.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!t)throw new Error(`Invalid time expression: ${e.value}`);let r=parseFloat(t[1]),n=t[2].toLowerCase();return {type:"timeExpression",value:r,unit:n,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,r){return {type:"literal",value:e,dataType:t,raw:r.value,start:r.start,end:r.end,line:r.line,column:r.column}}createSelector(e,t,r){return {type:"selector",value:e,selector:e,selectorType:t,start:r.start,end:r.end,line:r.line,column:r.column}}createIdentifier(e,t){return {type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createMemberExpression(e,t,r){return {type:"memberExpression",object:e,property:t,computed:r,start:e.start,end:this.previous().end}}createPossessiveExpression(e,t){return {type:"possessiveExpression",object:e,property:t,start:e.start,end:this.previous().end}}createBinaryExpression(e,t,r){return {type:"binaryExpression",operator:e,left:t,right:r,start:t.start,end:r.end}}createAsExpression(e,t){return {type:"asExpression",expression:e,targetType:this.createIdentifier(t.value,t),start:e.start,end:t.end}}createUnaryExpression(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:true,start:this.previous().start,end:t.end}}createPostfixUnary(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:false,start:t.start,end:this.previous().end}}createCallExpression(e,t){return {type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function Ti(e){return new Jm().parse(e)}var ef={possessive:{specialForms:{me:"my",it:"its",you:"your"}}};var Ga=new Map;function tf(e){let t=e.toLowerCase();return Ga.get(t)??Ga.get(t.split("-")[0])}function Ar(e,t){return !t||t.length===0||t.includes(e)||t.includes("expression")?true:e==="property-path"?t.some(r=>["selector","reference","expression"].includes(r)):e==="expression"?t.some(r=>["selector","reference","expression"].includes(r)):false}function Ve(e,t){let r=e.possessive?.keywords?.[t];if(r)return r;let n=e.possessive?.specialForms;if(n){for(let[i,a]of Object.entries(n))if(a===t)return i}}function Ln(e){return ef.possessive?.specialForms?.[e]??`${e}'s`}var Qr=new Set(["+","-","*","/","%","<",">","<=",">=","==","!=","===","!=="]),Vu=new Set(["<",">","<=",">=","==","!=","===","!=="]),it=new Set([...Qr,"mod"]),rf=/^[<>=!+\-*/%]+$/,Hu={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0627\u0644\u0646\u0647\u0627\u064A\u0629"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","fertig"]),id:new Set(["selesai","akhir","tamat"]),tl:new Set(["wakas","tapos"]),bn:new Set(["\u09B8\u09AE\u09BE\u09AA\u09CD\u09A4"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])},nf=new Set,Ya=new WeakMap;function Ku(e){let t=F(e);if(!t)return nf;let r=Ya.get(t);if(!r){let n=t.keywords?.end;r=new Set((n?[n.primary,...n.alternatives??[]]:[]).filter(i=>!!i).map(i=>i.toLowerCase())),Ya.set(t,r);}return r}function Fi(e,t){let r=e.value.toLowerCase();if(r==="end")return "curated";let n=Ku(t),i=Hu[t];return (i?i.has(r):n.has(r))?"curated":e.kind==="keyword"&&(e.normalized??e.value).toLowerCase()==="end"||n.has(r)?"end":null}function Ke(e,t){return Fi(e,t)!==null}function af(e){return new Set(["end",...Hu[e]??[],...Ku(e)])}function je(e,t){return {prev:e[t-1],beforePrev:e[t-2],third:e[t-3],next:e[t+1],afterNext:e[t+2]}}var of=new Set(["click","dblclick","mousedown","mouseup","mouseover","mouseout","mouseenter","mouseleave","mousemove","keydown","keyup","keypress","input","change","submit","reset","load","unload","scroll","resize","focus","blur","contextmenu","dragstart","drag","dragend","dragenter","dragleave","dragover","drop","touchstart","touchmove","touchend","touchcancel"]),Xr={ar:{\u0642\u064A\u0645\u0629:"value"},bn:{\u0985\u0995\u09CD\u09B7\u09AE:"disabled",\u0986\u0987\u09A1\u09BF:"id","\u099A\u09C7\u0995 \u0995\u09B0\u09BE":"checked",\u09A6\u09C8\u09B0\u09CD\u0998\u09CD\u09AF:"length",\u09AE\u09BE\u09A8:"value"},de:{wert:"value"},es:{valor:"value"},fr:{valeur:"value"},hi:{\u0905\u0915\u094D\u0937\u092E:"disabled",\u091A\u0947\u0915:"checked",\u091B\u093F\u092A\u093E:"hidden",\u092E\u093E\u0928:"value"},id:{nilai:"value"},it:{valore:"value"},ja:{\u5024:"value"},ko:{\uAC12:"value"},ms:{dilumpuhkan:"disabled",ditanda:"checked",nilai:"value",panjang:"length"},pl:{warto\u015B\u0107:"value"},pt:{valor:"value"},qu:{chanin:"value"},ru:{\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435:"value",\u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E:"disabled",\u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043E:"checked",\u0441\u043A\u0440\u044B\u0442\u043E:"hidden"},sw:{thamani:"value"},th:{\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27:"length",\u0E04\u0E48\u0E32:"value",\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19:"disabled",\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27:"checked",\u0E44\u0E2D\u0E14\u0E35:"id"},tl:{haba:"length",halaga:"value",hindi_pinagana:"disabled",naka_tsek:"checked"},tr:{de\u011Fer:"value"},uk:{\u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E:"disabled",\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F:"value",\u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u043E:"checked",\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E:"hidden"},vi:{\u1EA9n:"hidden","\u0111\u01B0\u1EE3c ch\u1ECDn":"checked","gi\xE1 tr\u1ECB":"value","v\xF4 hi\u1EC7u":"disabled"},zh:{\u503C:"value"}},uf={ar:{\u0623\u0648:"or",\u0643\u0640:"as",\u0644\u064A\u0633:"not",\u0648:"and",\u064A\u062D\u062A\u0648\u064A:"contains",\u064A\u0633\u0627\u0648\u064A:"equals",\u064A\u0634\u0645\u0644:"includes"},bn:{\u0985\u09A5\u09AC\u09BE:"or",\u098F\u09AC\u0982:"and",\u09A8\u09BE:"not",\u09B9\u09BF\u09B8\u09BE\u09AC\u09C7:"as"},de:{als:"as",beinhaltet:"includes",enth\u00E4lt:"contains",gleicht:"equals",nicht:"not",oder:"or",und:"and"},es:{como:"as",contiene:"contains",iguala:"equals",incluye:"includes",no:"not",o:"or",y:"and"},fr:{comme:"as",contient:"contains",\u00E9gale:"equals",et:"and",inclut:"includes",non:"not",ou:"or"},he:{\u05D0\u05D5:"or",\u05D5\u05D2\u05DD:"and",\u05DB:"as",\u05DC\u05D0:"not"},hi:{\u0914\u0930:"and",\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902:"as",\u0928\u0939\u0940\u0902:"not",\u092C\u0930\u093E\u092C\u0930:"equals",\u092E\u0947\u0902_\u0939\u0948:"includes",\u092F\u093E:"or",\u0936\u093E\u092E\u093F\u0932:"contains"},id:{atau:"or",berisi:"contains",bukan:"not",dan:"and",sama:"equals",sebagai:"as",termasuk:"includes"},it:{come:"as",contiene:"contains",e:"and",include:"includes",non:"not",o:"or",uguale:"equals"},ja:{\u305D\u3057\u3066:"and",\u3067\u306F\u306A\u3044:"not",\u3068\u3057\u3066:"as",\u307E\u305F\u306F:"or",\u542B\u3080:"contains",\u542B\u3081\u308B:"includes",\u7B49\u3057\u3044:"equals"},ko:{\uAC19\uB2E4:"equals",\uADF8\uB9AC\uACE0:"and",\uB610\uB294:"or",\uB85C:"as",\uC544\uB2C8:"not",\uD3EC\uD568:"contains",\uD3EC\uD568\uD558\uB2E4:"includes"},ms:{atau:"or",bukan:"not",dan:"and",mengandungi:"contains",sama:"equals",sebagai:"as",termasuk:"includes"},pl:{i:"and",jako:"as",lub:"or",nie:"not",obejmuje:"includes","r\xF3wna si\u0119":"equals",zawiera:"contains"},pt:{como:"as",cont\u00E9m:"contains",e:"and",igual:"equals",inclui:"includes",n\u00E3o:"not",ou:"or"},qu:{churasqa:"includes",hina:"as",hinallataq:"and",kikin:"equals",ukupi_kan:"contains",utaq:"or"},ru:{\u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442:"includes",\u0438:"and",\u0438\u043B\u0438:"or",\u043A\u0430\u043A:"as",\u043D\u0435:"not",\u0440\u0430\u0432\u043D\u043E:"equals",\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442:"contains"},sw:{au:"or",ina:"contains",kuwa:"as",pamoja:"includes",sawa:"equals",si:"not"},th:{\u0E44\u0E21\u0E48:"not",\u0E41\u0E25\u0E30:"and",\u0E2B\u0E23\u0E37\u0E2D:"or"},tl:{at:"and",bilang:"as",hindi:"not",katumbas:"equals",naglalaman:"contains",o:"or"},tr:{de\u011Fil:"not",e\u015Fittir:"equals",i\u00E7erir:"contains",olarak:"as",ve:"and",veya:"or"},uk:{\u0430\u0431\u043E:"or",\u0432\u043A\u043B\u044E\u0447\u0430\u0454:"includes",\u0434\u043E\u0440\u0456\u0432\u043D\u044E\u0454:"equals",\u0456:"and",\u043C\u0456\u0441\u0442\u0438\u0442\u044C:"contains",\u043D\u0435:"not",\u044F\u043A:"as"},vi:{b\u1EB1ng:"equals",ch\u1EE9a:"contains",ho\u1EB7c:"or",kh\u00F4ng:"not",nh\u01B0:"as",v\u00E0:"and"},zh:{\u4F5C\u4E3A:"as",\u5305\u542B:"contains",\u5305\u62EC:"includes",\u548C:"and",\u6216:"or",\u7B49\u4E8E:"equals",\u975E:"not"}},Uu={ms:new Set(["daripada"]),sw:new Set(["ya"]),vi:new Set(["c\u1EE7a"]),zh:new Set(["\u7684"]),it:new Set(["di"]),pl:new Set(["z"]),uk:new Set(["\u0437"]),th:new Set(["\u0E02\u0E2D\u0E07"]),ar:new Set(["\u0644\u0640"]),ja:new Set(["\u306E"]),ko:new Set(["\uC758"]),bn:new Set(["\u09B0"]),hi:new Set(["\u0915\u093E"]),qu:new Set(["pa"]),tr:new Set(["nin","n\u0131n","nun","n\xFCn","in","\u0131n","un","\xFCn"])};function Za(e){if(!e?.code)return;let t=Uu[e.code];if(t){let[r]=t;if(r)return r}return e.roleMarkers?.source?.primary}function ut(e,t){let r=t.value.toLowerCase(),n=(t.normalized??"").toLowerCase();if(r==="of"||r==="ng"||n==="of"||n==="source")return true;let i=e?.code?Uu[e.code]:void 0;return !!i&&i.has(r)}var sf={destination:"in",source:"from"},lf={ar:new Set(["\u0639\u0646\u062F","\u0641\u064A"]),bn:new Set(["\u098F","\u09A4\u09C7"]),de:new Set(["bei"]),es:new Set(["en"]),fr:new Set(["dans","en","\xE0"]),he:new Set(["\u05D1","\u05D1\u05EA\u05D5\u05DA","\u05DC\u05EA\u05D5\u05DA"]),hi:new Set(["\u092A\u0930","\u092E\u0947\u0902"]),id:new Set(["dalam","di","ke_dalam"]),it:new Set(["a"]),ja:new Set(["\u3067","\u306E\u4E2D","\u3078"]),ko:new Set(["\uC548\uC5D0","\uC5D0","\uC73C\uB85C"]),ms:new Set(["dalam","di","ke_dalam"]),pl:new Set(["do","przy","w"]),pt:new Set(["dentro","em"]),qu:new Set(["pi","ukupi"]),ru:new Set(["\u0432","\u0443"]),sw:new Set(["katika","ndani"]),th:new Set(["\u0E17\u0E35\u0E48","\u0E43\u0E19"]),tl:new Set(["papasok_sa","sa","sa_loob"]),tr:new Set(["de","i\xE7inde","i\xE7ine"]),uk:new Set(["\u0432","\u0443"]),vi:new Set(["trong","t\u1EA1i","v\xE0o"]),zh:new Set(["\u5728","\u8FDB\u5165"])},Rn=new Map;function Gu(e){let t=e?.code;if(!t)return;if(Rn.has(t))return Rn.get(t);let r=lf[t],n=r;if(r&&e.obliqueReferences){let i=new Set(r);for(let a of Object.values(e.obliqueReferences))for(let[o,u]of Object.entries(a))if(r.has(o))for(let s of typeof u=="string"?[u]:[u.direction,u.location]){if(!s)continue;let l=s.split(" ");l.length>1&&i.add(l[0].toLowerCase());}n=i;}return Rn.set(t,n),n}var Yu=new Set(["in","into","at","within","inside"]);function cf(e,t){let r=t.value.toLowerCase();if(Gu(e)?.has(r))return "in";let i=t.normalized??t.value,a=i.toLowerCase();return Yu.has(a)?"in":sf[a]??i}function Zu(e,t){return t.value.toLowerCase()==="in"||Gu(e)?.has(t.value.toLowerCase())?true:Yu.has((t.normalized??t.value).toLowerCase())}var pf=new Set(["me","it","you","body","document","target","result"]);function Qu(e,t){let r=e[t];if(!r)return null;if(r.kind==="selector")return /^[*@]/.test(r.value)?null:{kind:"selector",parts:[{text:r.value,token:r}],consumed:1};let n=(r.normalized??r.value).toLowerCase();if(pf.has(n))return {kind:"reference",parts:[{text:n,token:r}],consumed:1};let i=e[t+1];return n==="closest"&&i?.kind==="selector"&&!/^[*@]/.test(i.value)?{kind:"closest",parts:[{text:"closest",token:r},{text:i.value,token:i}],consumed:2}:null}var df=new Set(["first","last","next","previous","random"]);function mf(e,t,r){let n=Qu(e,t),i=r.replace(/\s+/g,"");if(!n||!i)return null;let a=t+n.consumed,o="";for(;o.length<i.length&&e[a]&&i.startsWith(o+e[a].value);)o+=e[a].value,a++;if(o!==i)return null;let u=(e[a]?.normalized??e[a]?.value??"").toLowerCase(),s=df.has(u)?u:void 0;s&&a++;let l=e[a];return l?.kind!=="selector"||!(l.value.startsWith("<")||l.value.startsWith("."))?null:{scope:n,positional:s,query:l,consumed:a+1-t}}function Tr(e,t,r,n){let i=e[t];if(!i||!Zu(r,i))return null;let a=Qu(e,t+1);if(!a)return null;let o=e[t+1+a.consumed],u=!!o&<(r?.code??"en",{tokens:e,i:t+1+a.consumed},void 0).toLowerCase()==="where";return n?.(i)===true&&n(o)!==true&&!u?null:{marker:i,scope:a}}var _n=new Set(["first","last","next","previous","random","closest"]),ff={bn:{\u09B6\u09C7\u09B7:"last"}},Vt=new Set(Object.keys(ke).map(e=>e.toLowerCase()));function Ft(e,t,r,n){let i=e[t];if(!i)return null;let a=(i.normalized??i.value).toLowerCase(),o=e[t+1],u=r?.code&&o?.kind==="selector"&&o.value.startsWith("<")?ff[r.code]?.[i.value.toLowerCase()]:void 0;if(!_n.has(a)&&!_n.has(i.value.toLowerCase())&&u===void 0)return null;let s=[{text:u??i.normalized??i.value,token:i}],l=t+1,c=e[l],p=(u??i.normalized??i.value).toLowerCase()==="closest"&&c?.kind==="identifier"&&/^@[\w-]/.test(c.value);if(!c||c.kind!=="selector"&&!p||Vu.has(c.value))return null;s.push({text:c.value,token:c}),l++;let m=0;for(;m++<8;){let d=e[l];if(d&&d.kind==="selector"&&d.value.startsWith("."))s.push({text:d.value,token:d}),l++;else break}let y=e[l],f=e[l+1];if(y&&f&&f.kind==="selector"&&!/^[*@]/.test(f.value)&&(y.kind==="keyword"||y.kind==="particle"||y.kind==="identifier")&&!_n.has((y.normalized??y.value).toLowerCase())&&!Vt.has((y.normalized??y.value).toLowerCase())&&!(n?.(y)===true&&n(e[l+2])!==true)){let d=y.value.toLowerCase()==="to";s.push({text:d?"to":cf(r,y),token:y}),s.push({text:f.value,token:f}),l+=2;}else {let d=Tr(e,l,r,n);d&&d.scope.kind!=="selector"&&(s.push({text:"in",token:d.marker},...d.scope.parts),l+=1+d.scope.consumed);}return {parts:s,consumed:l-t}}function st(e,t){let r=uf[e];return r?r[t.toLowerCase()]??t:t}function De(e,t){let r=Xr[e];return r?r[t.toLowerCase()]??t:t}function Nn(e,t){return Xr[e]?.[t.toLowerCase()]!==void 0}function yf(e,t){let r=[t.value,t.normalized].filter(Boolean);for(let n of r){let i=Ve(e,n)??Ve(e,n.toLowerCase());if(i)return i}}function vf(e){return e.kind==="literal"||e.kind==="operator"||e.kind==="punctuation"?false:!/^[$:@#.*^(){}[\]]/.test(e.value)}function hf(e,t){let r=e?.references;if(!r)return false;let n=Object.values(r).filter(a=>typeof a=="string").map(a=>a.toLowerCase());return [t.value,t.normalized].filter(Boolean).some(a=>n.includes(a.toLowerCase()))}function Pt(e,t){return vf(e)?De(t,e.value)!==e.value?true:st(t,e.value)!==e.value?false:e.kind==="identifier":false}var Ef=new Set(["true","false","null","undefined","me","my","it","its","you","your","result","event","target","body","detail","document","window"]);function Xu(e){return e.kind==="literal"||e.kind==="selector"||e.kind==="reference"?true:e.kind==="identifier"?wf.test(e.value):e.kind==="keyword"&&Ef.has((e.normalized??e.value).toLowerCase())}function Qa(e){return !!e&&(e.value===")"||e.value==="]"||Xu(e))}function Yn(e){if(!e)return false;if(/^[([-]$/.test(e.value)||Xu(e))return true;let t=(e.normalized??"").toLowerCase();return e.kind==="keyword"&&(t==="not"||t==="no")}var gf=/^\.[\p{L}_-][\p{L}\p{N}_-]*$/u,wf=/^(?:[:$^]?[\p{L}_][\p{L}\p{M}\p{N}_]*|@[\p{L}_][\p{L}\p{M}\p{N}_-]*|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u,Z={beforeClassRef:"has"},kf={ar:{\u0647\u0648:{beforePredicate:"is",afterOperand:"is"},\u0641\u0627\u0631\u063A:{afterCopula:"empty"}},hi:{\u0939\u0948:{beforePredicate:"is",beforeClassRef:"has",afterOperand:"is"},\u0916\u093E\u0932\u0940:{afterCopula:"empty"}},id:{kosong:{afterCopula:"empty"},punya:Z},th:{\u0E40\u0E1B\u0E47\u0E19:{beforeTypeName:"as",beforePredicate:"is",afterOperand:"is"},\u0E27\u0E48\u0E32\u0E07:{afterCopula:"empty"},\u0E21\u0E35:Z},ja:{\u7A7A:{afterCopula:"empty"},\u3042\u308B:Z},he:{\u05D4\u05D5\u05D0:{beforePredicate:"is",afterOperand:"is"},\u05E8\u05D9\u05E7:{afterCopula:"empty"}},sw:{tupu:{afterCopula:"empty",otherwise:"null"},na:{betweenOperands:"and"},ana:Z,nina:Z},zh:{\u6CA1\u6709:{beforeBareIdentifier:"no",beforeSelector:"no"},\u6709:Z},tl:{walang:{beforeBareIdentifier:"no",beforeSelector:"no"},may:{afterSubject:"exists",beforeClassRef:"has"}},bn:{\u0986\u099B\u09C7:{afterSubject:"exists",beforeClassRef:"has"},\u0986\u099B\u09BF:Z},qu:{mana:{beforeOperand:"not",beforeComparison:"not"},maypi:{afterOperand:"where"},chusaq:{afterCopula:"empty"},kachkan:Z,kachkani:Z},tr:{var:{afterSubject:"exists",beforeClassRef:"has"},bo\u015F:{afterCopula:"empty"}},de:{hat:Z,habe:Z},es:{tiene:Z,tengo:Z},fr:{a:Z,ai:Z},it:{ha:Z,ho:Z},ko:{\uC788\uB2E4:Z},ms:{ada:Z},pl:{ma:Z,mam:Z},pt:{tem:Z,tenho:Z},ru:{\u0438\u043C\u0435\u0435\u0442:Z,\u0438\u043C\u0435\u044E:Z},uk:{\u043C\u0430\u0454:Z,\u043C\u0430\u044E:Z},vi:{c\u00F3:Z}},Cf=new Set(["text","json","html","response","blob","arraybuffer"]),bf=new Set(["empty","null","undefined","true","false"]),zf=new Set(["Number","Int","Float","String","Boolean","Date","Array","Object","JSON","json","JSONString","FormData","FormEncoded","HTML","Fragment","Values","Values:Form","Values:JSON","Set","Map","Keys","Entries","Reversed","Unique","Flat"]);function tr(e){return Ju(e)||/^[A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?$/.test(e)}function Ju(e){return zf.has(e)||/^Fixed(?::\d+)?$/.test(e)}function es(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],o=t.tokens[t.i+1],u=Zn(e,i);if(!u)return;if(u.beforeTypeName&&o?.kind==="identifier"&&n?.value!=="("&&(Ju(o.value)||Cf.has(o.value.toLowerCase())))return u.beforeTypeName;if(u.beforePredicate&&o&&(o.kind==="literal"||o.kind==="keyword"&&bf.has((o.normalized??"").toLowerCase())))return u.beforePredicate;if(u.afterCopula&&r!==void 0&&["is","not","does","do"].includes(r.toLowerCase()))return u.afterCopula;if(u.beforeBareIdentifier&&o?.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(o.value))return u.beforeBareIdentifier;let s=!!o&&Ke(o,e)&&lr(je(t.tokens,t.i+1),e);if(u.beforeOperand&&(Yn(o)||s))return u.beforeOperand;if(u.beforeComparison&&o?.kind==="keyword"&&ts.has((o.normalized??"").toLowerCase()))return u.beforeComparison;if(u.beforeSelector&&o?.kind==="selector")return u.beforeSelector;if(u.beforeClassRef&&o&&gf.test(o.value))return u.beforeClassRef;if(u.afterSubject&&(a?.kind==="selector"||a?.kind==="reference"))return u.afterSubject;let l=!!a&&Ke(a,e)&&r===a.value;return u.betweenOperands&&(Qa(a)||l)&&Yn(o)?u.betweenOperands:u.afterOperand&&(Qa(a)||a?.value==="}")?u.afterOperand:u.otherwise}function Zn(e,t){let r=kf[e];return r?.[t.value]??r?.[t.value.toLowerCase()]}function Af(e,t){return es(e,t,void 0,void 0)}function xf(e){return rf.test(e)||e==="("||e==="["||e===","}function Df(e){return Qr.has(e)&&e!=="-"||e===")"||e==="]"||e===","}var ts=new Set(["is","am","contains","contain","matches","match","has","have","includes","include","exists","exist","mod"]);function rs(e,t,r,n){let i=t.kind==="keyword"?(t.normalized??"").toLowerCase():st(e,t.value).toLowerCase();if(i!=="and"&&i!=="or")return false;if(r===void 0||r!==void 0&&xf(r.value))return true;if(n===void 0)return false;if(Df(n.value))return true;let a=n.kind==="keyword"?(n.normalized??n.value).toLowerCase():st(e,n.value).toLowerCase();return ts.has(a)}var Sf=new Set(["include","contain","match","exist"]);function ns(e){let t=e?.toLowerCase();return t==="is"||t==="not"}function is(e,t,r){let n=t[r],i=t[r-1];return !n||!i||n.value.toLowerCase()!=="in"?false:ns(lt(e,{tokens:t,i:r-1},void 0))}function lt(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],o=t.tokens[t.i+1];if(r?.toLowerCase()==="equal"&&i.value.toLowerCase()==="to"||r?.toLowerCase()==="mapped"&&i.value.toLowerCase()==="to")return "to";if(ns(r)&&i.value.toLowerCase()==="in")return "in";if(r?.toLowerCase()==="not"&&Sf.has(i.value.toLowerCase()))return i.value.toLowerCase();let u=es(e,t,r,n);if(u!==void 0)return u;if(rs(e,i,a,o))return i.value;let s=st(e,i.value);if(s!==i.value)return s;if(i.kind!=="keyword")return i.value;let l=(i.normalized??i.value).toLowerCase();return l!=="event"&&or.has(l)||Ke(i,e)&&lr(je(t.tokens,t.i),e)?i.value:i.normalized??i.value}function as(e,t,r,n){let i=e[t],a=e[t+1];if(!i||!a||!ut(r,a)||!Pt(i,n)&&!Bf.test(i.value))return;let o=t+2;for(;e[o]!==void 0&&e[o+1]!==void 0&&ut(r,e[o+1])&&Pt(e[o],n);)o+=2;return e[o]?.kind==="selector"?o:void 0}var Bf=/^[@*][A-Za-z_-][\w-]*$/,Tf=new Set(["if","unless","while","until","for","when","where","is","not","no","and","or","as"]);function Ff(e){let t=(e.normalized??e.value).toLowerCase();return t==="event"||He(t)?false:Tf.has(t)||or.has(t)}var Pf=new Set(["and","or","is","times"]),Of=new Set(["if","unless","while","until","is","and","or","in"]),Lf=e=>Object.prototype.hasOwnProperty.call(ke,e);function Mn(e){if(e.kind!=="keyword"&&!(e.normalized&&e.normalized!==e.value))return;let t=(e.normalized??e.value).toLowerCase();return Lf(t)?t:void 0}var Xa=new WeakMap;function Ja(e,t,r=false){let n;try{n=be(e);}catch{return new Set}let i=Xa.get(n);i||(i=new Map,Xa.set(n,i));let a=r?`${t} before a role pair`:t,o=i.get(a);if(!o){o=new Set;for(let u of n){if(u.command!==t)continue;let[s,l,c,p]=u.template.tokens;if(!(s?.type!=="literal"||l?.type!=="literal")&&!(r&&(c?.type!=="role"||p?.type!=="role")))for(let m of [l.value,...l.alternatives??[]])o.add(m.toLowerCase());}i.set(a,o);}return o}var eo=new WeakMap;function Rf(e){let t;try{t=be(e);}catch{return new Set}let r=eo.get(t);if(!r){let n=new Set(Object.values(F(e)?.roleMarkers??{}).flatMap(a=>a?[a.primary,...a.alternatives??[]]:[]).map(a=>a.toLowerCase())),i=new Set;for(let a of t){if(a.command!=="repeat")continue;let o=a.template.tokens;o.forEach((u,s)=>{if(!(u.type!=="literal"||o[s+1]?.type!=="role"))for(let l of [u.value,...u.alternatives??[]])n.has(l.toLowerCase())||i.add(l.toLowerCase());});}r=i,eo.set(t,r);}return r}function to(e){return e.kind==="particle"?true:e.kind==="keyword"&&or.has((e.normalized??"").toLowerCase())}function ro(e,t){return e.kind==="keyword"&&e.normalized?e.normalized.toLowerCase():st(t,e.value).toLowerCase()}function lr(e,t){let{prev:r,beforePrev:n,next:i,afterNext:a}=e;if(i){if(it.has(i.value)||Pf.has((i.normalized??i.value).toLowerCase())||i.value==="'"&&a?.value.toLowerCase()==="s")return true;let f=Zn(t,i)?.betweenOperands;if((f==="and"||f==="or")&&Yn(a))return true}let o=F(t),u=!!o&&o.markingStrategy!=="preposition";if(u&&i?.kind==="particle"&&a?.kind!=="particle")return true;if(!r)return false;if(Qr.has(r.value))return true;if(r.value.toLowerCase()==="transition"&&n?.value.toLowerCase()==="view")return false;let s=ro(r,t);if(s==="not"||s==="no"||Zn(t,r)?.beforeOperand==="not")return true;let l=o?.wordOrder!=="SOV",c=e.third?Mn(e.third):void 0;if(c&&n&&Ja(t,c,true).has(n.value.toLowerCase()))return true;let p=n&&l?Mn(n):void 0;if(p&&!Ja(t,p).has(r.value.toLowerCase())||n&&!u&&to(n))return false;if(Of.has(s))return true;let m=!!n&&ro(n,t)!=="repeat"&&!!gi[t]?.includes(r.value);if(Rf(t).has(r.value.toLowerCase())&&(l||s!=="repeat")&&!m)return true;let y=l?Mn(r):void 0;return y&&ke[y].roles.some(f=>f.required)?true:!u&&to(r)}function Ht(e){if(e.kind!=="keyword")return;if(Ff(e))return "structure";let t=(e.normalized??e.value).toLowerCase();return Vt.has(t)?"verb":of.has(t)?"event":void 0}function _e(e,t){let r=t?.code??"en",[n]=e;if(e.length===1&&n&&(Ht(n)||Ke(n,r)))return n.value;let i="",a,o,u=(s,l)=>{if(o=s,a===void 0){i=s,a=l;return}let p=a.position?.end!==void 0&&l.position?.start!==void 0&&a.position.end===l.position.start&&(s.startsWith(".")||s.startsWith("!")||s.startsWith("[")||s===","||s==="'s");i+=(p?"":" ")+s,a=l;};for(let s=0;s<e.length;s++){let l=e[s],c=t?yf(t,l):void 0,p=e[s+1],m=o?.toLowerCase();if(l.value.toLowerCase()==="the"&&p!==void 0&&(m==="in"&&["closest","next","previous","first","last"].includes(p.value.toLowerCase())||m==="of"&&p.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(p.value)))continue;if(l.value===":"&&a!==void 0&&o!==void 0&&p!==void 0&&a.position?.end===l.position?.start&&l.position?.end===p.position?.start&&tr(`${o}:${p.value}`)){i+=`:${p.value}`,o=`${o}:${p.value}`,a=p,s+=1;continue}if(l.value==="'"&&a!==void 0&&p?.value==="s"&&l.position?.end!==void 0&&p.position?.start===l.position.end){i+="'s",a=p;let E=e[s+2];E&&De(r,E.value)!==E.value?(u(De(r,E.value),E),s+=2):s+=1;continue}let y=t?.possessive,f=e[s+2];if(y?.markerPosition==="between"&&y.marker&&l.kind==="selector"&&p?.value===y.marker&&f!==void 0&&Pt(f,r)){u(`${l.value}'s`,l),u(De(r,f.value),f),s+=2;continue}if(p?.value.toLowerCase()==="of"&&De(r,l.value)!==l.value&&Pt(l,r)){u(De(r,l.value),l);continue}if(c!==void 0&&p){let E=t?.possessive?.connectors,z=!!E?.length&&E.some(k=>{let x=k.toLowerCase();return x===p.value.toLowerCase()||x===(p.normalized??"").toLowerCase()}),D=z?s+2:s+1,h=e[D],A=z&&h!==void 0&&/^[@*][\w-]/.test(h.value);if(h&&(A||Pt(h,r))){u(Ln(c),l),u(A?h.value:De(r,h.value),h),s=D;continue}if(z&&h&&/^\.[a-zA-Z_]\w*$/.test(h.value)&&p.position?.end!==void 0&&h.position?.start!==void 0&&p.position.end===h.position.start){u(Ln(c),l),u(De(r,h.value.slice(1)),h),s=D;continue}if(!z&&/^\.[a-zA-Z_]\w*$/.test(p.value)&&l.position?.end!==void 0&&p.position?.start!==void 0&&l.position.end===p.position.start&&!hf(t,l)){u(Ln(c),l),u(De(r,p.value.slice(1)),p),s+=1;continue}}let d=e[s+2],v=as(e,s,t,r);if(v!==void 0){for(let E=s;E<v;E+=2)u(De(r,e[E].value),e[E]),u("of",e[E+1]);u(e[v].value,e[v]),s=v;continue}if(l.kind==="selector"&&p&&d&&ut(t,p)&&Pt(d,r)&&De(r,d.value)!==d.value){u(De(r,d.value),d),u("of",p),u(l.value,l),s+=2;continue}let g=Ft(e,s,t);if(g){for(let E of g.parts)u(E.text,E.token);s+=g.consumed-1;continue}let w=a?.kind==="selector"&&a.value.startsWith("<")?Tr(e,s,t):null;if(w){u("in",w.marker);for(let E of w.scope.parts)u(E.text,E.token);s+=w.scope.consumed;continue}u(lt(r,{tokens:e,i:s},o,e[s+2]),l);}return i.trim().replace(/(\S) not matches (?=\S)/g,"$1 does not match ")}function bt(e,t,r){let n=F(e)?.keywords?.[t];return n?n.primary?.toLowerCase()===r?true:!!n.alternatives?.some(i=>i.toLowerCase()===r):false}var _f={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB7F0\uD6C4","\uADF8\uB7EC\uBA74"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u90A3\u4E48"]),tr:new Set(["ard\u0131ndan","daha sonra","ardindan"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),tl:new Set(["pagkatapos","tapos"]),bn:new Set(["\u09A4\u09BE\u09B0\u09AA\u09B0"]),qu:new Set(["chaymantataq","hinaspa","chaymanta","chayqa"]),sw:new Set(["kisha","halafu","baadaye"])};function Ue(e,t){let r=e.toLowerCase(),n=_f[t];return n?n.has(r):r==="then"||bt(t,"then",r)}function _t(e,t){let r=e.toLowerCase();return r==="else"||r==="otherwise"?true:bt(t,"else",r)}function os(e){let t=(e.normalized??e.value).toLowerCase();return t==="js"||bt("en","js",t)}function us(e,t){let r=F(t)?.roleMarkers?.patient;if(!r?.primary)return false;let n=e.value.toLowerCase();return r.primary.toLowerCase()===n?true:!!r.alternatives?.some(i=>i.toLowerCase()===n)}function Pe(e,t){let r=e.toLowerCase();return r==="if"?true:bt(t,"if",r)}function Nt(e,t){let r=e.toLowerCase();return r==="unless"?true:bt(t,"unless",r)}function Mt(e,t){return Fi(e,t)==="curated"}function Nf(e,t,r){return Ke(e,r)&&!ss(e,t,r)}function ss(e,t,r){return t?.kind==="selector"&&!t.metadata?.lineStart&&Fi(e,r)==="end"}function cr(e,t,r){return Ue(e.value,r)?!(Mt(e,r)&&lr(t,r)):false}function Sr(e,t){return Ke(e,t)}function ls(e,t,r){let n=i=>i?.value.toLowerCase();return n(t.next)==="of"&&(n(t.prev)==="at"||n(t.prev)==="the"&&n(t.beforePrev)==="at")||Ei(r,e.value,t.prev?.value,t.next?.value)}function Mf(e,t,r){let n=e[t];if(!n)return false;let i=je(e,t);return ss(n,i.next,r)||ls(n,i,r)}function ne(e,t,r){let n=e[t];return n?n.metadata?.closesTrackedBlock===true?true:Ke(n,r)&&!Mf(e,t,r)&&!lr(je(e,t),r):false}function If(e,t,r){return e.metadata?.closesTrackedBlock===true?Ke(e,r):Nf(e,t,r)}function Ge(e,t,r){let n=e[t];return !n||n.kind==="conjunction"||n.kind==="keyword"&&Ue(n.value,r)&&cr(n,je(e,t),r)?true:ne(e,t,r)}function $f(e,t,r){let n=e[t];if(!n)return true;if(n.kind!=="keyword")return false;let i=(n.normalized??n.value).toLowerCase();return i==="then"||i==="else"||Ke(n,r)}function cs(e){return !!e&&it.has(e.value)}var jf=class{constructor(e,t,r,n,i,a){this.patternToken=t,this.afterLiteral=r,this.nextPatternToken=n,this.wouldMatch=i,this.language=a;let o=e.position();this.token=e.tokens[o],this.prev=e.tokens[o-1],this.next=e.tokens[o+1],this.place=je(e.tokens,o),this.all=e.tokens,this.at=o;}get lastSlot(){return this.nextPatternToken===void 0}get tokenIsMarker(){return this.tokenIsMarkerMemo??(this.tokenIsMarkerMemo=this.wouldMatch(this.nextPatternToken,this.token)),this.tokenIsMarkerMemo}get beforeRole(){return this.nextPatternToken?.type==="role"}get nextIsMarker(){return this.nextIsMarkerMemo??(this.nextIsMarkerMemo=this.next!==void 0&&this.wouldMatch(this.nextPatternToken,this.next)),this.nextIsMarkerMemo}get clauseEndsAfter(){return $f(this.all,this.at+1,this.language)}};function Wf(e){let t=e.token.value.toLowerCase();if(t!=="a"&&t!=="an")return false;let r=e.next;return r!==void 0&&(Qr.has(r.value)||e.nextIsMarker)}function Pi(e){return e.kind==="keyword"&&Vt.has((e.normalized??e.value).toLowerCase())}function qf(e,t){return e.token.kind!=="keyword"?false:Ge(e.all,e.at,t)}function Vf(e,t){return Ke(e.token,t)&&lr(e.place,t)}function ps(e){return e.afterLiteral&&(e.clauseEndsAfter||e.nextIsMarker)}function Hf(e,t){let r=e.patternToken.role;return r!=="quantity"&&!(r==="event"&&t==="repeat")?false:Pi(e.token)&&!ps(e)&&!e.nextIsMarker}function Kf(e){let t=e.patternToken;return !t.optional||t.role==="event"||t.role==="action"||t.valueShape==="keyword"||!Pi(e.token)?false:(e.lastSlot||e.tokenIsMarker)&&!ps(e)}function Uf(e,t,r,n){let i=e.type==="group"&&e.optional?e.tokens.every(o=>o.type==="role")?e.tokens[0]:void 0:e;if(!i||i.type!=="role"||!i.optional||i.role==="event"||i.role==="action"||i.valueShape==="keyword"||!t||t.kind!=="keyword"||r===void 0)return false;let a=n(r,t);return Pi(t)?!a:a}function Gf(e){return Vt.has((e.normalized??e.value).toLowerCase())}function Yf(e,t){return e?.kind==="particle"&&!!t&&["selector","literal","identifier"].includes(t.kind)&&!cs(t)}function Zf(e){if(e.token.kind!=="particle")return false;let t=e.next;return t!==void 0&&e.nextIsMarker&&(t.kind==="particle"||e.prev?.kind==="particle")||e.afterLiteral&&e.beforeRole||e.clauseEndsAfter}function Qf(e,t){let r=e.patternToken;if(r.role==="event"||r.role==="action"||r.valueShape==="keyword")return false;let n=r.expectedTypes;if(n?.length&&!n.some(a=>a==="expression"||a==="reference"))return false;let i=Ht(e.token);return i==="structure"?true:i==="event"?!t?.roles.some(a=>a.role==="event")&&t?.action!=="wait"&&r.role!=="condition":i!=="verb"||(e.token.normalized??e.token.value).toLowerCase()==="empty"?false:!t?.hasBody&&!t?.roles.some(a=>a.role==="event")}function Xf(e){let t=(e.normalized||e.value).toLowerCase();if(t==="empty")return Tu("null");if(t==="a"||t==="an")return {type:"expression",raw:e.value}}function Jf(e,t,r){return e.kind==="particle"&&(t||cs(r))}function ds(e,t){let r=e[t];return r?.kind==="particle"&&e[t-1]?.value.toLowerCase()==="of"&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u.test(r.value)}var no=new Set(["is","am","are","be","was","were","not","no"]),ey=new Set(["\u0647\u0648","\u0E40\u0E1B\u0E47\u0E19","\u0939\u0948","\u0928\u0939\u0940\u0902","mana"]),ms=new Set(["empty","null","undefined"]);function ty(e,t,r,n){let i=(e.normalized??e.value).toLowerCase(),a=e.value.toLowerCase(),o=(t.normalized??t.value).toLowerCase();return (no.has(i)||no.has(st(n,a))||ey.has(a)&&ms.has(o))&&!r}var ry=new Set(["'s","a","am","an","and","as","closest","contain","contains","do","does","empty","equal","equals","exist","exists","false","first","greater","has","have","in","include","includes","is","it","its","last","less","match","matches","me","mod","my","next","no","not","null","of","or","previous","really","some","than","the","true","undefined","where","you","your","result","target","body","detail"]),ny=new Set(["am","and","as","contain","contains","do","does","empty","equal","equals","exist","exists","greater","has","have","in","include","includes","is","less","match","matches","mod","no","not","of","or","really","some","than"]),io=/\s+as\s+([A-Za-z]\w*)!?\s*$/,iy=/("[^"]*"|'[^']*')|\*(?=[A-Za-z_-])/g,ay=e=>e.replace(iy,(t,r)=>r??" style_");function Oi(e){let t=e;for(let i=io.exec(t);i;i=io.exec(t)){if(!tr(i[1]??""))return false;t=t.slice(0,i.index);}let r=t.replace(/"[^"]*"|'[^']*'/g,"");if(/["']/.test(r.replace(/'s\b/g,""))||/[^\x00-\x7F]/.test(r))return false;t=ay(t);let n=Ti(t);return !n.success||n.consumed===void 0||n.consumed!==qu(t).length-1?false:uy(n.node).every(tr)}function oy(e){let t=[],r=0,n="",i=0;for(let a=0;a<e.length;a++){let o=e[a];n?o===n&&(n=""):o==='"'||o==="'"&&!/\w/.test(e[a-1]??"")?n=o:"([{".includes(o)?r++:")]}".includes(o)?r--:o===","&&r===0&&(t.push(e.slice(i,a)),i=a+1);}return t.push(e.slice(i)),t.every(a=>a.trim()!==""&&Oi(a.trim()))}function uy(e){let t=[],r=n=>{if(Array.isArray(n)){n.forEach(r);return}if(!n||typeof n!="object")return;let i=n;i.type==="asExpression"&&t.push(String(i.targetType?.name??"")),Object.values(n).forEach(r);};return r(e),t}function Qt(e,t){return e?.position?.end!==void 0&&t?.position?.start!==void 0&&e.position.end===t.position.start}var sy=new Set(["is","not","really","am","or"]);function fs(e,t,r){let n=i=>e[i]?lt(r,{tokens:e,i},void 0).toLowerCase():"";return n(t)==="to"&&n(t-1)==="equal"&&sy.has(n(t-2))}function ys(e,t){return e[t]?.value.toLowerCase()==="to"&&e[t-1]?.value.toLowerCase()==="mapped"}function ly(e){return e.value==="a"}var cy=new Set(["event","window","document"]);function py(e,t,r){let n=e[t],i=e[t-1];return !n||!i||!ut(r,i)?false:cy.has((n.normalized??n.value).toLowerCase())}function dy(e,t,r){if(Ge(e,t,r.profile?.code??"en"))return true;let n=e[t];return n.kind==="keyword"&&(n.normalized??n.value).toLowerCase()==="else"?true:r.owes(n)}function ao(e,t,r){let n=r.profile?.code??"en";if(is(n,e,t)||ds(e,t)||fs(e,t,n)||ly(e[t])||ys(e,t))return false;let i=e[t];return dy(e,t,r)||r.commandMarkers.has(i.value.toLowerCase())}function my(e,t,r){let n=e[t],i=e[t-1],a=r.profile?.code??"en";if(n.kind==="literal"||n.value==="'"&&e[t+1]?.value==="s"||n.value==="s"&&i?.value==="'")return true;if(n.kind==="selector"){if(!n.value.startsWith(".")||!i||Qt(i,n)||it.has(i.value)||/^[([,]$/.test(i.value)||ut(r.profile,i))return true;let u=lt(a,{tokens:e,i:t-1},void 0).toLowerCase();return ny.has(u)}if(it.has(n.value)||/^[()[\],.!<>=+\-*/%]+$/.test(n.value)||ut(r.profile,n)||rs(a,n,i,e[t+1])||is(a,e,t)||ds(e,t)||py(e,t,r.profile)||fs(e,t,a))return true;let o=lt(a,{tokens:e,i:t},void 0).toLowerCase();return o==="as"&&r.hasResponseType?false:ry.has(o)?true:n.kind==="identifier"&&/^(?::?[\p{L}_$][\p{L}\p{M}\p{N}_$]*(\[[^\]]*\])*('s)?|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u.test(n.value)}function fy(e,t,r){if(!e[t]||ao(e,t,r))return [];let n=t;for(;n<e.length&&!ao(e,n,r)&&(my(e,n,r)||ys(e,n));)n++;let i=[];for(let a=n;a>t;a--)i.push(a);return i}function yy(e,t,r){let n=[],i=t;for(;;){let a=e[i];if(!a)break;if(a.value==="'"&&e[i+1]?.value==="s"&&e[i+2])i+=3;else if(/.'s$/.test(e[i-1]?.value??""))i+=1;else if(ut(r,a)&&e[i+1])i+=2;else if(/^(\.[\p{L}_$][\p{L}\p{N}_$]*|\[.*\])$/u.test(a.value)&&vy(e,i))i+=1;else break;n.push(i);}return n.reverse()}function vy(e,t){let r=e[t-1],n=e[t];return !!r&&!!n&&r.position.end===n.position.start}function hy(e,t,r,n,i=Oi){for(let a of r){let o=_e(e.slice(t,a),n);if(i(o))return {end:a,raw:o}}}var vs=96,Ey=/^[A-Za-z_][\w-]*$/,gy=/^[A-Za-z_][\w-]*:[^\s'"`/:][^\s]*$/;function hs(e,t){let r=e.peek(t);return !!r&&r.kind==="identifier"&&gy.test(r.value)}function Es(e,t){let r=e.peek(t);if(!r||r.kind!=="identifier"&&r.kind!=="keyword"||!Ey.test(r.value))return false;let n=e.peek(t+1),i=e.peek(t+2);return !!n&&n.value===":"&&!!i}function oo(e,t=0){return hs(e,t)||Es(e,t)}function wy(e){let t=e.peek();if(!t||t.value!=="{"&&t.value!=="(")return null;let r="",n=-1,i=0,a=0;for(;!e.isAtEnd()&&a++<vs;){let o=e.advance();if(!o)break;if(n>=0&&o.position.start>n&&(r+=" ".repeat(o.position.start-n)),r+=o.value,n=o.position.end,o.value==="{"||o.value==="(")i++;else if((o.value==="}"||o.value===")")&&(i--,i===0))return r}return null}function uo(e){let t=e.peek();return t?t.value==="{"||t.value==="("?wy(e):t.value===","||t.value===":"?null:(e.advance(),t.value):null}function Xt(e,t){let r=e.mark(),n=[];if(t!==void 0){let a=e.peek();if(!a||a.value!==":"||!e.peek(1))return null;e.advance();let o=uo(e);if(o===null)return e.reset(r),null;n.push(`${t}:${o}`);}else if(!oo(e))return null;let i=0;for(;i++<vs;){let a=e.peek();if(!a)break;if(a.value===","){if(n.length===0||!oo(e,1))break;e.advance();continue}if(hs(e,0)){n.push(e.advance().value);continue}if(!Es(e,0))break;let o=e.advance().value;e.advance();let u=uo(e);if(u===null)return e.reset(r),null;n.push(`${o}:${u}`);}return n.length===0?(e.reset(r),null):`{${n.join(", ")}}`}var ky=/^(?:the )?(?:global|element|local|dom)(?:'s)? [A-Za-z_]\w*$/i;function Jr(e){switch(e.kind){case "selector":return Le(e.value);case "literal":return Cy(e.value);case "keyword":{let r=Xf(e);if(r)return r;let n=(e.normalized||e.value).toLowerCase();return He(n)?Te(n):Tu(n)??ee(e.normalized||e.value)}case "identifier":if(e.value.startsWith("@"))return Le(e.value);if(e.value.startsWith(":")||e.value.startsWith("$")||ky.test(e.value))return Te(e.value);let t=e.value.toLowerCase();return He(t)?Te(t):{type:"expression",raw:e.value};case "url":{let r=ee(e.value,"string");return e.value.includes("${")?{...r,interpolates:true}:r}default:return null}}function Cy(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let n=e.slice(1,-1);return {...ee(n,"string"),quoted:true}}if(e==="true")return ee(true,"boolean");if(e==="false")return ee(false,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?ee(e,"duration"):ee(n,"number")}if(Kc(e))return {type:"expression",raw:e};let r=parseFloat(e);return isNaN(r)?ee(e,"string"):ee(r,"number")}var xr=.8,by=.6,zy=.15,Ay=.5,so=.15,lo=.1,co=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]),xy={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]},Dy=class{calculate(e){return this.calculateWithBreakdown(e).final}calculateWithBreakdown(e){let t=this.scoreRoleCoverage(e),r=this.scoreStemPenalty(e),n=this.scoreLanguageBoost(e),i=this.scoreLanguageAdjustment(e),a=t;return a=Math.max(Ay,a+r),a=Math.min(1,a+n),a=Math.max(0,Math.min(1,a+i)),{roleCoverage:t,stemPenalty:r,languageBoost:n,languageAdjustment:i,final:a}}scoreRoleCoverage(e){let{pattern:t,captured:r}=e,n=0,i=0,a=l=>t.extraction?.[l]?.default!==void 0,o=t.command==="on"?t.extraction?.action?.value:void 0,u=ke[o??t.command]?.roles,s=l=>u?.find(c=>c.role===l)?.valueShape!==void 0;for(let l of t.template.tokens)if(l.type==="role")r.has(l.role)?(i+=1,n+=1):s(l.role)||(i+=1);else if(l.type==="group")for(let c of l.tokens)c.type==="role"&&(r.has(c.role)?(i+=xr,n+=xr):s(c.role)||(i+=xr,a(c.role)&&(n+=xr*by)));return i>0?n/i:1}scoreStemPenalty(e){let{stemMatchCount:t,totalKeywordMatches:r}=e;return t<=0||r<=0?0:-(t/r)*zy}scoreLanguageBoost(e){let{pattern:t}=e;if(t.language!=="ar")return 0;let r=t.template.tokens[0];return !r||r.type!=="literal"?0:co.has(r.value)||r.alternatives?.some(n=>co.has(n))?so:0}scoreLanguageAdjustment(e){let{pattern:t,captured:r}=e;if(t.language!=="ar")return 0;let n=0;for(let[i,a]of r.entries()){let o=xy[i];if(!o||o.length===0)continue;let u="metadata"in a?a.metadata:void 0;u&&typeof u.prepositionValue=="string"&&(o.includes(u.prepositionValue)?n+=.1:n-=.1);}return Math.max(-lo,Math.min(lo,n))}},Sy=new Dy,By=new Set(Object.values(ke).filter(e=>e.bareKeyword===true).map(e=>e.action));function Ty(e){return e.startsWith("*")||e.startsWith("@")}function po(e){return e?.type==="role"&&e.role==="event"}var le=class ${constructor(t){this.view=t,this.wouldMatch=(r,n)=>this.patternTokenWouldMatch(r,n);}get patternRest(){return this.view.patternRest()}get slotAfterLiteral(){return this.view.slotAfterLiteral()}patternTokenWouldMatch(t,r){return this.view.wouldMatch(t,r)}beginPattern(t){this.currentProfile=F(t.language),this.currentPatternCommand=t.command,this.currentRoleCommand=t.extraction?.action?.value??t.command,this.eventSource=void 0;}readRole(t,r,n,i){return this.matchRoleToken(t,r,n,i)}maySkipSlot(t,r,n){return Uf(t,r,n,this.wouldMatch)}skipLeading(t,r){let n=r[0],i=n?.type==="literal"&&(n.value==="and"||n.value==="then"||n.alternatives?.includes("and")||n.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;t.peek()?.kind==="conjunction";)t.advance();}beforePatternToken(t,r,n,i){let a=r[n];a?.type==="literal"&&(!po(r[n-1])&&!po(r[n-2])||this.tryConsumeEventSourceClause(t,i,a));}resultFields(){return this.eventSource?{eventSource:this.eventSource}:{}}tryConsumeEventSourceClause(t,r,n){if(r.has("source")||this.eventSource)return;let i=t.peek(),a=t.peek(1);if(!i||!a||this.patternTokenWouldMatch(n,i))return;let o=this.currentProfile?.roleMarkers?.source,u=l=>{if(l.kind!=="particle"&&l.kind!=="keyword")return false;if((l.normalized??"").toLowerCase()==="source")return true;if(!o)return false;let c=l.value.toLowerCase();return o.primary?.toLowerCase()===c?true:!!o.alternatives?.some(p=>p.toLowerCase()===c)},s=o?.position;if(s!=="after"&&u(i)){let l=this.sourceNounValue(a);if(!l)return;t.advance(),t.advance(),this.eventSource=l;return}if(s==="after"&&u(a)){let l=this.sourceNounValue(i);if(!l)return;t.advance(),t.advance(),this.eventSource=l;}}sourceNounValue(t){if(t.kind==="selector")return this.tokenToSemanticValue(t)??void 0;if(t.kind!=="keyword"&&t.kind!=="identifier")return;let r=(t.normalized??t.value).toLowerCase();if(r!=="me"){if(He(r))return {type:"reference",value:r};if(t.kind==="identifier"&&/^[A-Za-z_$][\w$]*$/.test(t.value))return {type:"expression",raw:t.value}}}tryFoldHyphenActionKeyword(t){let r=this.currentProfile;if(!r)return null;let n=t.mark(),i=[];for(;;){let o=t.peek();if(!o||o.kind!=="identifier"&&o.kind!=="keyword")break;i.push(o.value),t.advance();let u=t.peek();if(!u||u.value!=="-")break;t.advance(),i.push("-");}if(i.length<3||i[i.length-1]==="-")return t.reset(n),null;let a=i.join("").toLowerCase();for(let[o,u]of Object.entries(r.keywords))if(u.primary.toLowerCase()===a||u.alternatives?.some(s=>s.toLowerCase()===a))return ee(o);return t.reset(n),null}matchRoleToken(t,r,n,i){let a=t.position(),o=t.mark(),u=n.get(r.role);return this.matchRoleTokenCore(t,r,n,i)?this.currentRoleCommand==="swap"&&r.role==="method"&&!r.optional&&n.get(r.role)!==u&&!$.SWAP_STRATEGIES.has(String(n.get(r.role).value??n.get(r.role).raw??"").toLowerCase())||this.currentRoleCommand==="put"&&r.role==="destination"&&n.get(r.role)!==u&&t.position()===a+1&&y0(this.currentProfile?.code??"",t.tokens[a]?.value??"",t.tokens[a+1]?.value)||r.role==="event"&&n.get(r.role)!==u&&Ei(this.currentProfile?.code??"",t.tokens[t.position()+1]?.value??"",t.tokens[t.position()]?.value,t.tokens[t.position()+2]?.value)?(t.reset(o),u?n.set(r.role,u):n.delete(r.role),false):n.get(r.role)===u?(t.position()>a&&t.reset(o),true):(this.absorbTrailingConversion(t,r,n,i,a),this.absorbTrailingConditionOperand(t,r,n,i,a),this.absorbExpressionTail(t,r,n,i,a),this.stampCaptureSpan(t,r.role,n,a,u),true):false}absorbExpressionTail(t,r,n,i,a){if(r.role==="event"||r.role==="action")return;let o=n.get(r.role),u=o?.type==="selector"&&o.value.startsWith("*");if(this.isClassNameSlot(r)&&!u||!o||t.position()<=a)return;let s=r.expectedTypes;if(!u&&s&&s.length>0&&!s.includes("expression"))return;let l=$.boundedByMarker(i)||r.valueShape==="list"?fy(t.tokens,t.position(),this.extentContext()):yy(t.tokens,t.position(),this.currentProfile),c=hy(t.tokens,u?t.position()-1:a,l,this.currentProfile,r.valueShape==="list"?oy:void 0);if(c){for(;t.position()<c.end;)t.advance();n.set(r.role,{type:"expression",raw:c.raw,value:c.raw});}}extentContext(){let t=this.restLiterals();return {profile:this.currentProfile,owes:r=>t.some(n=>this.patternTokenWouldMatch(n,r)),commandMarkers:this.commandMarkers(),hasResponseType:!!this.currentSchema()?.roles.some(r=>r.role==="responseType")}}isClassNameSlot(t){return t.role==="patient"&&["add","remove","toggle","take"].includes(this.currentRoleCommand??"")}isObjectValueSlot(t){let r=this.currentRoleCommand;return t.role==="source"?r==="get":t.role==="destination"&&r==="set"?true:t.role==="patient"&&(r==="put"||r==="set")}static boundedByMarker(t){return !t||t.type==="literal"?true:t.type==="group"?t.tokens[0]?.type==="literal":false}restLiterals(){let t=[],r=n=>{for(let i of n)i.type==="literal"?t.push(i):i.type==="group"&&r(i.tokens);};return r(this.patternRest),t}currentSchema(){let t=this.currentRoleCommand;if(!(!t||!(t in ke)))return ke[t]}commandMarkers(){let t=this.currentSchema(),r=this.currentProfile,n=new Set;if(!t||!r)return n;for(let i of t.roles){let a=i.markerOverride?.[r.code];if(a){n.add(a.toLowerCase());continue}let o=r.roleMarkers[i.role];if(o){n.add(o.primary.toLowerCase());for(let u of o.alternatives??[])n.add(u.toLowerCase());}}return n.delete(""),n}stampCaptureSpan(t,r,n,i,a){let o=n.get(r);if(!o||o===a||o.position||t.position()<=i)return;let u=t.tokens[i],s=t.tokens[t.position()-1];!u||!s||n.set(r,Fu(o,{start:u.position.start,end:s.position.end}));}absorbTrailingConditionOperand(t,r,n,i,a){if(r.role!=="condition"||!n.has("condition")||t.position()<=a)return;let o=this.currentPatternCommand==="repeat";if(!o&&(i!==void 0||this.currentPatternCommand!=="on"))return;let u=$.CONDITION_OPERATOR_WORDS,s=m=>{let y=(m.normalized??"").toLowerCase(),f=m.value.toLowerCase();if(u.has(y)||u.has(f))return true;let d=$.LOOP_CONDITION_OPERATORS;return o&&(d.has(f)||d.has(y))},l=m=>!!m&&(m.kind==="selector"||m.kind==="identifier"||m.kind==="literal")&&!s(m)&&!Vt.has((m.normalized??m.value).toLowerCase())&&!this.patternTokenWouldMatch(i,m),c=false;for(;;){let m=t.peek();if(!m||!s(m)||this.patternTokenWouldMatch(i,m))break;t.advance(),c=true;let y=t.peek();if(l(y)){t.advance();for(let f=t.peek();!(!f||!/^\.[a-zA-Z_]\w*$/.test(f.value)||f.position.start!==y.position.end);f=t.peek())t.advance(),y=f;}if(!o)break}if(!c)return;let p=_e(t.tokens.slice(a,t.position()),this.currentProfile);n.set("condition",{type:"expression",raw:p,value:p});}conversionRunLength(t){let r=t.peek();if(!r||(r.normalized??r.value).toLowerCase()!=="as"&&r.value.toLowerCase()!=="as"&&!this.isNativeAs(t))return 0;let i=this.conversionTypeLength(t,1);if(i===0)return 0;for(i+=1;;){if(t.peek(i)?.value!=="|")return i;let a=this.conversionTypeLength(t,i+1);if(a===0)return i;i+=1+a;}}isNativeAs(t){let r=this.currentProfile?.code;if(!r||r==="en"||this.currentSchema()?.roles.some(o=>o.role==="responseType"))return false;let n=t.tokens,i=t.position();return lt(r,{tokens:n,i},void 0,n[i+2]).toLowerCase()==="as"}conversionTypeLength(t,r){let n=t.peek(r)?.value.toLowerCase(),i=n==="a"||n==="an"?r+1:r,a=t.peek(i);if(!a)return 0;let o=t.peek(i+1),u=t.peek(i+2);return o?.value===":"&&u&&Qt(a,o)&&Qt(o,u)&&tr(`${a.value}:${u.value}`)?i-r+3:tr(a.value)?i-r+1:0}absorbTrailingConversion(t,r,n,i,a){if(r.role==="event"||r.role==="action"||!n.has(r.role)||t.position()<=a)return;let o=this.conversionRunLength(t);if(o===0||this.patternTokenWouldMatch(i,t.peek()))return;for(let s=0;s<o;s++)t.advance();let u=_e(t.tokens.slice(a,t.position()),this.currentProfile);n.set(r.role,{type:"expression",raw:u,value:u});}matchScopeFirst(t,r){let n=this.currentProfile?.queryScopeFirst;if(!n||r.role==="event")return null;let i=mf(t.tokens,t.position(),`${n.marker}${n.participle??""}`);if(!i)return null;let[a,o]=i.scope.parts,u=i.scope.parts.map(l=>l.text).join(" "),s;if(i.positional)s={type:"expression",raw:`${i.positional} ${i.query.value} in ${u}`};else {let l=this.tokenToSemanticValue(i.query),c=i.scope.kind==="reference"?Te(a.text):i.scope.kind==="closest"?{type:"expression",raw:`closest ${o.text}`}:this.tokenToSemanticValue(a.token);s=l?{...l,scope:c}:null;}if(!s)return null;for(let l=0;l<i.consumed;l++)t.advance();return s}matchRoleTokenCore(t,r,n,i){this.skipNoiseWords(t,r,i);let a=t.peek();if(!a||this.isClassNameSlot(r)&&this.commandMarkers().has(a.value.toLowerCase())||this.currentRoleCommand==="set"&&a.value.toLowerCase()==="on"&&this.patternTokenWouldMatch(i,a))return r.optional||false;let o=this.matchScopeFirst(t,r);if(o)return n.set(r.role,o),true;let u=this.slotAt(t,r,i);if(r.role==="style"&&this.currentRoleCommand==="show"){let h=this.tryMatchStrategyArgument(t);if(h)return n.set(r.role,h),true}if(r.role==="action"&&this.currentProfile&&t.peek(1)?.value==="-"){let h=this.tryFoldHyphenActionKeyword(t);if(h)return n.set(r.role,h),true}if(r.role==="event"&&this.currentPatternCommand==="on"){if(!$.tokenLooksLikeEvent(a))return r.optional||false;let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h)||$.VISIBILITY_STRATEGIES.has(h)||this.currentProfile&&(Ve(this.currentProfile,a.value)??Ve(this.currentProfile,h))!==void 0||a.value.includes("?."))return r.optional||false}if(r.role==="event"){let h=(a.normalized??a.value).toLowerCase();if($.STRUCTURAL_NEVER_EVENT.has(h))return r.optional||false}if(qf(u,this.currentProfile?.code??"")||Hf(u,this.currentPatternCommand))return r.optional||false;if(r.role==="duration"){let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h))return r.optional||false}if(Kf(u))return true;if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchPositionalPossessiveExpression(t,i);if(h)return n.set(r.role,h),true}let s=this.tryMatchPositionalExpression(t,i);if(s)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(s.type,r.expectedTypes)?r.optional||false:(n.set(r.role,s),true);let l=this.tryMatchCaretScopeExpression(t);if(l)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(l.type,r.expectedTypes)?r.optional||false:(n.set(r.role,l),true);let c=this.tryMatchParenReceiverCall(t);if(c)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,c),true);if(r.role!=="event"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchBeepPrefixExpression(t);if(h)return n.set(r.role,h),true;let A=this.tryMatchHyphenatedWord(t);if(A)return n.set(r.role,A),true;let k=this.isWrittenTarget(r)?null:this.tryMatchOperatorRunExpression(t);if(k)return n.set(r.role,k),true}if(this.currentPatternCommand==="pick"&&r.role==="patient"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchPickRangeExpression(t);if(h)return n.set(r.role,h),true}if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchOfPossessiveExpression(t,i);if(h)return n.set(r.role,h),true;let A=this.tryMatchPostNominalPossessiveExpression(t);if(A)return n.set(r.role,A),true}let p=this.tryMatchPossessiveExpression(t);if(p)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(p.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,p),true);let m=this.tryMatchMethodCallExpression(t);if(m)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(m.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,m),true);let f=r.role==="event"&&this.currentPatternCommand==="on"||$.DECLARATION_COMMANDS.has(this.currentPatternCommand??"")||this.isWrittenTarget(r)?null:this.tryMatchBareCallExpression(t);if(f)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(f.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,f),true);let d=this.tryMatchPossessiveSelectorExpression(t);if(d)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(d.type,r.expectedTypes)?r.optional||false:(n.set(r.role,d),true);let v=r.role!=="condition",g=this.tryMatchPropertyAccessExpression(t,v);if(g)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(g.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,g),true);let w=this.tryMatchSelectorPropertyExpression(t);if(w)return r.expectedTypes&&r.expectedTypes.length>0&&!Ar(w.type,r.expectedTypes)?r.optional||false:(n.set(r.role,w),true);if(a.value==="("&&r.role!=="event"&&r.role!=="action"&&(!r.expectedTypes?.length||r.expectedTypes.some(h=>h==="expression"||h==="selector"||h==="reference"))){let h=this.tryMatchParenGroupExpression(t);if(h)return n.set(r.role,h),true}if(a.kind==="identifier"&&a.value==="{"){let h=r.expectedTypes,k=h?.length===1&&h[0]==="expression"||this.isObjectValueSlot(r)?this.tryMatchBraceRunExpression(t):!h?.length||h.includes("literal")?this.tryMatchBraceRunLiteral(t):null;if(k)return n.set(r.role,k),true}if(r.role==="style"&&r.expectedTypes?.length===1&&r.expectedTypes[0]==="expression"){let h=Xt(t);if(h)return n.set(r.role,{type:"expression",raw:h}),true}if(Zf(u)||Qf(u,this.currentSchema())||Vf(u,this.currentProfile?.code??""))return n.set(r.role,{type:"expression",raw:a.value}),t.advance(),true;let E=this.tokenToSemanticValue(a);if(!E)return r.optional||false;if(r.expectedTypes&&r.expectedTypes.length>0){if(!r.expectedTypes.includes(E.type)){let h=E.type==="selector"&&String(E.value).startsWith("@"),A=r.expectedTypes.some(k=>k==="expression"||k==="reference");if(!(h&&A))return r.optional||false}if(r.role==="duration"&&E.type==="literal"&&E.quoted===true&&r.expectedTypes.every(h=>h==="literal"))return r.optional||false}r.valueShape==="keyword"&&E.type==="expression"?n.set(r.role,ee(String(E.raw??""))):n.set(r.role,E),t.advance();let z=this.isClassNameSlot(r);if(E.type==="selector"&&(E.value.startsWith("<")||E.value.startsWith(".")&&!z)&&r.role!=="event"){let h=Tr(t.tokens,t.position(),this.currentProfile,A=>A===void 0?false:this.patternTokenWouldMatch(i,A));if(h){let[A,k]=h.scope.parts,x=h.scope.kind==="reference"?Te(A.text):h.scope.kind==="closest"?{type:"expression",raw:`closest ${k.text}`}:this.tokenToSemanticValue(A.token);for(let S=0;S<1+h.scope.consumed;S++)t.advance();n.set(r.role,{...E,scope:x});}}if(r.role==="event"){let h=t.peek();h&&h.kind==="selector"&&h.value.startsWith("[")&&h.position.start===a.position.end&&"value"in E&&(n.set(r.role,ee(`${String(E.value)}${h.value}`)),t.advance());let A=t.peek();if(A&&(A.kind==="particle"||A.kind==="keyword")&&(A.normalized??"").toLowerCase()==="source"&&!this.patternTokenWouldMatch(i,A)){let k=t.peek(1),x=k?this.sourceNounValue(k):void 0;x&&!this.eventSource&&(t.advance(),t.advance(),this.eventSource=x);}}return true}atClauseEnd(t){return Ge(t.tokens,t.position(),this.currentProfile?.code??"")}tryMatchPositionalExpression(t,r){let n=Ft(t.tokens,t.position(),this.currentProfile,i=>i===void 0?false:this.patternTokenWouldMatch(r,i));if(!n)return null;for(let i=0;i<n.consumed;i++)t.advance();return {type:"expression",raw:n.parts.map(i=>i.text).join(" ")}}tryMatchCaretScopeExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!r.value.startsWith("^"))return null;let n=t.peek(1),i=t.peek(2),a=(n?.normalized??"").toLowerCase(),o=!!n&&(n.value.toLowerCase()==="on"||a==="destination"||a==="on");return !n||!i||i.kind!=="selector"||!o?null:(t.advance(),t.advance(),t.advance(),{type:"expression",raw:`${r.value} on ${i.value}`})}isOfPossessiveMarker(t){return ut(this.currentProfile,t)}logicalConnectiveOf(t){let r=t.peek();if(!r)return;let n=this.currentProfile?.code??"en",i=s=>s==="and"||s==="or"||s==="not",a=st(n,r.value).toLowerCase();if(i(a))return a;if(this.commandMarkers().has(r.value.toLowerCase()))return;let o=t.position(),u=Af(n,{tokens:t.tokens,i:o});return u&&i(u)?u:void 0}tryConsumeRunPhrase(t){let r=this.currentProfile?.code??"en",n=t.tokens,i=t.position(),a=[],o;for(let u=0;u<6&&i+u<n.length;u++){let s=lt(r,{tokens:n,i:i+u},o).toLowerCase();a.push(s),o=s;}for(let[u,s]of $.RUN_PHRASES)if(u.every((l,c)=>a[c]===l)){for(let l=0;l<u.length;l++)t.advance();return s}}slotAt(t,r,n){return new jf(t,r,this.slotAfterLiteral,n,this.wouldMatch,this.currentProfile?.code??"")}static isBareWordToken(t){return !!t&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(t.value)}tryMatchBeepPrefixExpression(t){let r=t.peek(),n=t.peek(1);if(!r||!n||n.value!=="!"||(r.normalized??r.value).toLowerCase()!=="beep"||!(r.position?.end!==void 0&&n.position?.start!==void 0&&r.position.end===n.position.start))return null;let a=t.mark(),o=t.position();if(t.advance(),t.advance(),!this.tryConsumeRunOperand(t))return t.reset(a),null;for(;;){let s=t.peek();if(!s||!it.has(s.value))break;let l=t.mark();if(t.advance(),!this.tryConsumeRunOperand(t,true)){t.reset(l);break}}let u=_e(t.tokens.slice(o,t.position()),this.currentProfile);return {type:"expression",raw:u,value:u}}tryMatchHyphenatedWord(t){let r=t.peek();if(!$.isBareWordToken(r))return null;let n=1,i=[r.value];for(;;){let a=t.peek(n),o=t.peek(n+1);if(!a||a.value!=="-"||!$.isBareWordToken(o)||!Qt(t.peek(n-1),a)||!Qt(a,o))break;i.push(o.value),n+=2;}if(i.length<2)return null;for(let a=0;a<n;a++)t.advance();return ee(i.join("-"),"string")}tryMatchOperatorRunExpression(t){let r=t.mark(),n=t.position(),i=t.peek(),a=!!i&&(this.logicalConnectiveOf(t)==="not"||i.value==="-");if(!this.tryConsumeRunOperand(t))return t.reset(r),null;let o=1;for(;;){let s=t.peek();if(!s)break;let l=this.logicalConnectiveOf(t),c=(l==="and"||l==="or")&&this.currentRoleCommand!=="wait",p=t.mark();if(c||it.has(s.value))t.advance();else {let m=this.tryConsumeRunPhrase(t);if(m===void 0)break;if(m==="none"){o++;continue}}if(!this.tryConsumeRunOperand(t,true,c)){t.reset(p);break}o++;}if(o<2&&!a)return t.reset(r),null;let u=_e(t.tokens.slice(n,t.position()),this.currentProfile);return {type:"expression",raw:u,value:u}}static rangeSeparatorFor(t){let[r]=$.PICK_RANGE_SEPARATORS_BY_LANG[t]??[];return r}isPickRangeSeparator(t){let r=(t.normalized??t.value).toLowerCase();if($.PICK_RANGE_SEPARATORS.has(r))return true;let n=this.currentProfile?.code;return n?$.PICK_RANGE_SEPARATORS_BY_LANG[n]?.has(t.value.toLowerCase())??false:false}tryMatchPickRangeExpression(t){let r=t.mark(),n=t.position();if(!this.tryConsumePickRangeOperand(t))return t.reset(r),null;let i=t.peek();if(!i||!this.isPickRangeSeparator(i)||(t.advance(),!this.tryConsumePickRangeOperand(t)))return t.reset(r),null;let a=t.peek();a&&$.PICK_RANGE_MODES.has((a.normalized??a.value).toLowerCase())&&t.advance();let o=t.tokens.slice(n,t.position()),[u,,s,l]=o,c=m=>m.kind==="keyword"?m.normalized??m.value:m.value,p=`${c(u)} to ${c(s)}`;return l&&(p+=` ${(l.normalized??l.value).toLowerCase()}`),{type:"expression",raw:p,value:p}}tryConsumePickRangeOperand(t){let r=t.peek();if(!r)return false;let n=(r.normalized??r.value).toLowerCase();if(this.isPickRangeSeparator(r))return false;let i=n==="start"||n==="end";return r.kind==="literal"||r.kind==="identifier"||r.kind==="keyword"&&i?(t.advance(),true):false}tryConsumeRunOperand(t,r=false,n=false){let i=t.peek();if(!i)return false;if(this.logicalConnectiveOf(t)==="not"){let o=t.mark();return t.advance(),Yf(t.peek()??void 0,t.peek(1)??void 0)?(t.reset(o),false):this.tryConsumeRunOperand(t,true,n)?true:(t.reset(o),false)}if(i.value==="-"){let o=t.mark();return t.advance(),this.tryConsumeRunOperand(t,true,n)?true:(t.reset(o),false)}if(n&&Gf(i))return false;if(Jf(i,r,t.peek(1)??void 0))return t.advance(),true;if(i.value==="("){let o=t.mark(),u=0;for(;!t.isAtEnd();){let s=t.advance();if(s.value==="(")u++;else if(s.value===")"&&(u--,u===0))return true}return t.reset(o),false}if(this.tryMatchPossessiveExpression(t))return true;if(i.value.toLowerCase()==="the"){let o=t.mark();if(t.advance(),this.tryConsumeRunOperand(t,r,n))return true;t.reset(o);}if(this.tryMatchOfPossessiveExpression(t,void 0,true)||this.tryMatchPossessiveSelectorExpression(t)||this.tryMatchPropertyAccessExpression(t,true)||this.tryMatchSelectorPropertyExpression(t))return true;let a=(i.normalized??"").toLowerCase();return (i.kind==="literal"||i.kind==="identifier"||i.kind==="selector"||i.kind==="keyword")&&!it.has(i.value)&&!["then","else"].includes(a)&&!Ge(t.tokens,t.position(),this.currentProfile?.code??"")&&i.value!==")"?(t.advance(),true):false}isPossessorToken(t){if(!this.currentProfile)return false;for(let r of [t.value,t.normalized].filter(Boolean))if(Ve(this.currentProfile,r)??Ve(this.currentProfile,r.toLowerCase()))return true;return false}isBareWordPropertyHead(t){return t.kind==="keyword"?!!this.currentProfile&&Nn(this.currentProfile.code,t.value):t.kind!=="identifier"||/^[$:@#.*]/.test(t.value)||this.isStructuralKeyword(t.value)||t.normalized&&this.isStructuralKeyword(t.normalized)||t.normalized&&this.isRoleMarkerConcept(t.normalized)?false:!this.isPossessorToken(t)}toEnglishProperty(t){return this.currentProfile?De(this.currentProfile.code,t):t}roleAcceptsPropertyPath(t){if(t.type!=="role")return false;if(t.expectedTypes)return t.expectedTypes.includes("property-path");let r=this.currentRoleCommand;return r?ke[r]?.roles.find(a=>a.role===t.role)?.expectedTypes?.includes("property-path")??false:false}tryMatchOfPossessiveExpression(t,r,n=false){let i=t.peek();if(!i||!(i.kind==="selector"?/^[*@]/.test(i.value):this.isBareWordPropertyHead(i)))return null;let o=t.position(),u=t.mark();t.advance();let s="";if(i.kind!=="selector")for(let m=t.peek(),y=i;m&&!(m.kind!=="selector"||!/^\.[A-Za-z_]\w*$/.test(m.value)||y.position.end!==m.position.start);m=t.peek())s+=m.value,y=m,t.advance();let l=t.peek();if(!l||!this.isOfPossessiveMarker(l))return t.reset(u),null;if(this.currentRoleCommand==="swap"&&this.patternTokenWouldMatch(r,l)){let m=t.tokens[t.position()+2];if(!m||!this.patternTokenWouldMatch(r,m))return t.reset(u),null}t.advance(),t.peek()?.value.toLowerCase()==="the"&&t.advance();let c=Ft(t.tokens,t.position(),this.currentProfile,m=>m===void 0?false:this.patternTokenWouldMatch(r,m));if(c){for(let m=0;m<c.consumed;m++)t.advance();return qe({type:"expression",raw:c.parts.map(m=>m.text).join(" ")},this.toEnglishProperty(i.value)+s,"possessive")}let p=t.peek();if(!p||p.kind!=="selector"||Ty(p.value)){if(t.reset(u),this.patternTokenWouldMatch(r,l))return null;let m=this.currentProfile?.code??"en",y=as(t.tokens,o,this.currentProfile,m);if(y===void 0)return null;for(;t.position()<=y;)t.advance();let f=_e(t.tokens.slice(o,y+1),this.currentProfile);return {type:"expression",raw:f,value:f}}if(t.advance(),/^[<.]/.test(p.value)&&!n){let m=t.position()-1,y=Tr(t.tokens,t.position(),this.currentProfile,z=>z===void 0?false:this.patternTokenWouldMatch(r,z)),f=z=>z===void 0?false:this.patternTokenWouldMatch(r,z),d=t.peek()??void 0,v=t.tokens[t.position()+1]?.value.toLowerCase()==="the"?1:0,g=!y&&d&&Zu(this.currentProfile,d)?Ft(t.tokens,t.position()+1+v,this.currentProfile,f):null,w=y?y.scope.consumed:g?v+g.consumed:void 0,E=w!==void 0?t.tokens[t.position()+1+w]:void 0;if(w!==void 0&&(y||!f(d)||f(E))){let z=t.position()+1+w,D=_e(t.tokens.slice(m,z),this.currentProfile);for(;t.position()<z;)t.advance();return qe({type:"expression",raw:D},this.toEnglishProperty(i.value)+s,"possessive")}}return qe(Le(p.value),this.toEnglishProperty(i.value)+s,"possessive")}tryMatchPositionalPossessiveExpression(t,r){let n=this.currentProfile,i=n?.possessive?.marker;if(!n||!i||n.possessive?.markerPosition!=="between"||n.code==="th")return null;let a=Ft(t.tokens,t.position(),n,l=>l===void 0?false:this.patternTokenWouldMatch(r,l));if(!a)return null;let o=t.peek(a.consumed),u=t.peek(a.consumed+1);if(!o||o.value!==i)return null;let s=!!u&&(this.isBareWordPropertyHead(u)||u.kind==="selector"&&u.value.startsWith("*")||u.kind==="keyword"&&Nn(n.code,u.value));if(!u||!s)return null;for(let l=0;l<a.consumed+2;l++)t.advance();return qe({type:"expression",raw:a.parts.map(l=>l.text).join(" ")},this.toEnglishProperty(u.value),"possessive")}tryMatchPossessiveExpression(t){let r=t.peek();if(!r||!this.currentProfile)return null;let n=[r.value,r.normalized].filter(Boolean),i;for(let s of n)if(i=Ve(this.currentProfile,s)??Ve(this.currentProfile,s.toLowerCase()),i)break;if(!i)return null;let a=t.mark();t.advance();let o=this.currentProfile.possessive?.connectors;if(o&&o.length>0){let s=t.peek();if(s){let l=s.value.toLowerCase(),c=(s.normalized??"").toLowerCase();o.some(p=>p.toLowerCase()===l||p.toLowerCase()===c)&&t.advance();}}let u=t.peek();if(!u||f0(this.currentProfile.code,u.value))return t.reset(a),null;if(u.kind==="identifier"||u.kind==="keyword"&&!this.isStructuralKeyword(u.value)&&!(u.normalized&&this.isStructuralKeyword(u.normalized))&&!(u.normalized&&this.isRoleMarkerConcept(u.normalized))&&!(u.normalized&&$.COMMAND_ACTION_KEYWORDS.has(u.normalized.toLowerCase()))&&!(u.normalized&&$.CONDITION_OPERATOR_WORDS.has(u.normalized.toLowerCase()))||u.kind==="selector"&&u.value.startsWith("*")||u.kind==="selector"&&u.value.startsWith("@")||u.kind==="selector"&&u.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(u.value)){t.advance();let s=u.value;u.kind==="selector"&&s.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(s)&&(s=s.substring(1)),s=this.toEnglishProperty(s),s===u.value&&u.kind==="keyword"&&u.normalized&&/^[A-Za-z]+$/.test(u.normalized)&&u.normalized.toLowerCase()!==u.value.toLowerCase()&&(s=u.normalized);let l=s;for(;;){let p=t.peek();if(p?.kind==="selector"&&p.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(p.value)){l+=p.value,t.advance();continue}if(p?.value==="?"){let m=t.peek(1);if(m?.kind==="selector"&&m.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(m.value)){l+=`?${m.value}`,t.advance(),t.advance();continue}}break}let c=t.peek();if(c&&c.value.startsWith("(")){let p="",m=0,y=0;for(;!t.isAtEnd()&&y++<$.MAX_METHOD_ARGS+2;){let f=t.peek();if(!f)break;p+=f.value,t.advance();for(let d of f.value)d==="("?m++:d===")"&&m--;if(m<=0)break}l+=p;}return qe(Te(i),l,"possessive")}return t.reset(a),null}tryMatchPostNominalPossessiveExpression(t){if(!this.currentProfile||this.currentProfile.possessive?.markerPosition!=="after-object")return null;let r=t.peek();if(!r)return null;let n=r.kind==="selector"&&r.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(r.value);if(!(r.kind==="identifier"&&!this.isStructuralKeyword(r.value)&&!(r.normalized&&this.isStructuralKeyword(r.normalized))&&!(r.normalized&&this.isRoleMarkerConcept(r.normalized))||r.kind==="selector"&&(r.value.startsWith("*")||r.value.startsWith("@"))||n)||this.isPossessorToken(r))return null;let a=t.mark(),o=r.value;n&&(o=o.substring(1)),t.advance(),o=this.toEnglishProperty(o);let u=o;for(;t.peek()?.kind==="selector"&&t.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(t.peek().value);)u+=t.peek().value,t.advance();let s=t.peek();if(!s)return t.reset(a),null;let l;for(let p of [s.value,s.normalized].filter(Boolean))if(l=Ve(this.currentProfile,p)??Ve(this.currentProfile,p.toLowerCase()),l)break;if(!l)return t.reset(a),null;let c=t.mark();return this.tryMatchPossessiveExpression(t)?(t.reset(a),null):(t.reset(c),t.advance(),qe(Te(l),u,"possessive"))}isStructuralKeyword(t){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(t.toLowerCase())}isRoleMarkerConcept(t){return or.has(t.toLowerCase())}static tokenLooksLikeEvent(t){if(t.kind==="selector"||t.kind==="url"||t.kind==="literal")return false;let r=t.value;if(/[/#@*]/.test(r)||r.startsWith('"')||r.startsWith("'")||r.startsWith("`"))return false;let n=t.normalized?.toLowerCase();return !(n&&By.has(n)||n==="me"||n==="it"||n==="you")}tryMatchStrategyArgument(t){let r=t.mark(),n=t.peek();if(!n||!/^\*?[A-Za-z][\w-]*(:[\w-]*)?$/.test(n.value))return null;let i=n.value,a=n;if(t.advance(),i.endsWith(":")||t.peek()?.value===":"){if(!i.endsWith(":")){let u=t.advance();if(!$.abuts(a,u))return t.reset(r),null;i+=":",a=u;}let o=t.peek();o&&o.position.start>a.position.end&&(i+=o.value,a=o,t.advance());}if(!i.includes(":"))return t.reset(r),null;for(let o=t.peek();o&&$.abuts(a,o);o=t.peek())i+=o.value,a=o,t.advance();return i.endsWith(":")?(t.reset(r),null):{type:"expression",raw:i}}tryMatchBraceRunLiteral(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark();t.advance();let i="{",a=r.position.end,o=1,u=0;for(;!t.isAtEnd()&&u++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(s.position.start>a&&(i+=" "),i+=s.value,a=s.position.end,s.value==="{")o++;else if(s.value==="}"&&(o--,o===0))return ee(i)}return t.reset(n),null}tryMatchBraceRunExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark(),i="",a=-1,o=0,u=0;for(;!t.isAtEnd()&&u++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(a>=0&&s.position.start>a&&(i+=" ".repeat(s.position.start-a)),i+=s.value,a=s.position.end,s.value==="{")o++;else if(s.value==="}"&&(o--,o===0))return {type:"expression",raw:i}}return t.reset(n),null}tryMatchBareCallExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!/^[A-Za-z_][\w$]*$/.test(r.value))return null;let n=t.peek(1);if(!n||n.value!=="(")return null;let i=t.mark();t.advance();let a=t.advance(),o="",u=a.position?.end,s=false,l=0;for(;!t.isAtEnd()&&l++<$.MAX_METHOD_ARGS+2;){let c=t.peek();if(!c)break;if(c.value===")"){t.advance(),s=true;break}let p=u!==void 0&&c.position?.start===u;o+=(o===""||p?"":" ")+c.value,u=c.position?.end,t.advance();}return s?{type:"expression",raw:`${r.value}(${o})`}:(t.reset(i),null)}tryMatchMethodCallExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="operator"||i.value!==".")return t.reset(n),null;t.advance();let a=t.peek();if(!a||a.kind!=="identifier")return t.reset(n),null;t.advance();let o=t.peek();if(!o||o.kind!=="punctuation"||o.value!=="(")return t.reset(n),null;t.advance();let u=[];for(;!t.isAtEnd()&&u.length<$.MAX_METHOD_ARGS;){let l=t.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){t.advance();break}if(l.kind==="punctuation"&&l.value===","){t.advance();continue}u.push(l.value),t.advance();}return {type:"expression",raw:`${r.value}.${a.value}(${u.join(", ")})`}}tryMatchParenReceiverCall(t){if(t.peek()?.value!=="(")return null;let r=t.mark(),n=[];t.advance();let i=1;for(;!t.isAtEnd()&&n.length<=$.MAX_METHOD_ARGS*4;){let c=t.peek();if(t.advance(),c.value==="(")i++;else if(c.value===")"&&--i===0)break;n.push(c);}let a=t.tokens[t.position()-1],o=t.peek();if(i!==0||n.length===0||!o||o.kind!=="selector"||!/^\.[A-Za-z_$][\w$]*$/.test(o.value)||!$.abuts(a,o))return t.reset(r),null;t.advance();let u=t.peek();if(u?.value!=="("||!$.abuts(o,u))return t.reset(r),null;let s=this.consumeCallParens(t);return s===null?(t.reset(r),null):{type:"expression",raw:`(${_e(n,this.currentProfile)})${o.value}${s}`}}tryMatchParenGroupExpression(t){if(t.peek()?.value!=="(")return null;let r=t.mark();t.advance();let n=[],i=1;for(;!t.isAtEnd();){let l=t.peek();if(t.advance(),l.value==="(")i++;else if(l.value===")"&&--i===0)break;n.push(l);}let a=t.tokens[t.position()-1],o=t.peek(),u=!!o&&(o.value==="'"||it.has(o.value)||$.abuts(a,o)&&(o.value.startsWith(".")||o.value==="("));if(i!==0||n.length===0||u)return t.reset(r),null;let s=`(${_e(n,this.currentProfile)})`;return {type:"expression",raw:s,value:s}}static abuts(t,r){return !!t&&!!r&&t.position.end===r.position.start}consumeCallParens(t){let r=t.mark(),n="",i,a=0;for(;!t.isAtEnd();){let o=t.peek();if(!o)break;if(n+=(i&&!$.abuts(i,o)?" ":"")+o.value,i=o,t.advance(),o.value==="(")a++;else if(o.value===")"&&--a===0)return n}return t.reset(r),null}tryMatchPropertyAccessExpression(t,r=true){let n=t.peek();if(!n||n.kind!=="identifier"&&n.kind!=="keyword")return null;let i=t.mark();t.advance();let a=n.value.toLowerCase(),o=t.peek();if((n.kind==="identifier"||$.PROPERTY_ACCESS_BASES.has(a))&&o&&o.kind==="selector"&&/^\.[a-zA-Z_]/.test(o.value)&&o.position.start===n.position.end){let y=n.value,f=[],d=0;for(;d<$.MAX_PROPERTY_DEPTH;){let w=t.peek();if(w&&w.kind==="selector"&&/^\.[a-zA-Z_]/.test(w.value))y+=`.${w.value.slice(1)}`,f.push(w.value.slice(1)),t.advance(),d++;else break}let v=t.peek(),g=!!v&&v.value.startsWith("(")&&($.abuts(t.tokens[t.position()-1],v)||this.patternRest[0]?.type!=="role");return r&&!g&&f.length>0&&He(a)?qe(Te(a),f.join("."),"dot"):(g&&(y+=this.consumeCallParens(t)??""),{type:"expression",raw:y})}let u=t.peek();if(!u||u.kind!=="operator"||u.value!==".")return t.reset(i),null;t.advance();let s=t.peek();if(!s||s.kind!=="identifier")return t.reset(i),null;t.advance();let l=`${n.value}.${s.value}`,c=1;for(;!t.isAtEnd()&&c<$.MAX_PROPERTY_DEPTH;){let y=t.peek();if(!y||y.kind!=="operator"||y.value!==".")break;t.advance();let f=t.peek();if(!f||f.kind!=="identifier")break;t.advance(),l+=`.${f.value}`,c++;}let p=t.peek();if(p&&p.kind==="punctuation"&&p.value==="("){t.advance();let y=[],f=0;for(;!t.isAtEnd()&&y.length<$.MAX_METHOD_ARGS;){let v=t.peek();if(!v)break;if(v.kind==="punctuation"&&v.value===")"){if(f===0){t.advance();break}f--;}if(v.kind==="punctuation"&&v.value==="("&&f++,v.kind==="punctuation"&&v.value===","){t.advance();continue}y.push(v.value),t.advance();}return {type:"expression",raw:`${l}(${y.join(", ")})`}}let m=n.value.toLowerCase();if(r&&He(m)){let y=l.split(".").slice(1).join(".");return qe(Te(m),y,"dot")}return {type:"expression",raw:l}}tryMatchPossessiveSelectorExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek(),a=this.currentProfile?.possessive?.marker?.replace(/^-/,""),o=!!i&&i.kind==="punctuation"&&i.value==="'s",u=!!i&&i.value==="'"&&(t.peek(1)?.value??"").toLowerCase()==="s",s=(()=>{if(!this.currentPatternCommand||(i?.normalized??"").toLowerCase()!=="source")return false;let f=ke[this.currentPatternCommand];return !!f&&f.roles.some(d=>d.role==="source")})(),l=!!i&&!!a&&a!=="'s"&&i.value===a&&(i.kind==="particle"||i.kind==="punctuation"||i.kind==="identifier")&&!s;if(!o&&!l&&!u)return t.reset(n),null;t.advance(),u&&t.advance();let c=t.peek();if(!c)return t.reset(n),null;let p=c.kind==="selector"&&c.value.startsWith("*"),m=c.kind==="keyword"&&!!this.currentProfile&&Nn(this.currentProfile.code,c.value);return c.kind==="identifier"||p||m||(o||u)&&(c.kind==="selector"||c.kind==="keyword")?(t.advance(),qe(Le(r.value),this.toEnglishProperty(c.value),"possessive")):(t.reset(n),null)}tryMatchSelectorPropertyExpression(t){let r=t.peek();if(!r||r.kind!=="selector"||!r.value.startsWith("#"))return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="selector"||!i.value.startsWith("."))return t.reset(n),null;t.advance();let a=[i.value.slice(1)],o=i;for(let s=t.peek();s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value)&&a.length<$.MAX_PROPERTY_DEPTH;s=t.peek())a.push(s.value.slice(1)),o=s,t.advance();let u=t.peek();if(u?.value==="("&&$.abuts(o,u)){let s=this.consumeCallParens(t);if(s!==null)return {type:"expression",raw:`${r.value}.${a.join(".")}${s}`}}return qe(Le(r.value),a.join("."),"dot")}isWrittenTarget(t){return $.WRITTEN_ROLE[this.currentRoleCommand??""]===t.role}tokenToSemanticValue(t){return Jr(t)}skipNoiseWords(t,r,n){let i=t.peek();if(!i)return;let a=i.value.toLowerCase();if($.ENGLISH_NOISE_WORDS.has(a)){if(Wf(this.slotAt(t,r,n)))return;let o=t.mark();t.advance();let u=t.peek();if(u&&(u.kind==="selector"||u.kind==="identifier"))return;let s=t.peek(1);if(u&&u.kind==="keyword"&&s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value))return;let l=u?(u.normalized??u.value).toLowerCase():"";if(u&&$.POSITIONAL_OR_SCOPE_KEYWORDS.has(l))return;let c=t.peek(1),p=c?(c.normalized??c.value).toLowerCase():"",m=this.currentProfile?.wordOrder!=="SOV"&&$.COMMAND_ACTION_KEYWORDS.has(p),y=!c||c.kind==="particle"||$.CLAUSE_BOUNDARY_KEYWORDS.has(p)||m;if(u&&u.kind==="keyword"&&this.currentProfile?.code!=="en"&&He(l)&&y||u&&u.kind==="keyword"&&this.currentProfile?.code==="en"&&He(l))return;t.reset(o);}a==="class"&&t.advance();}};le.CONDITION_OPERATOR_WORDS=new Set(["matches","match","contains","exists","has","have","equals","includes"]);le.LOOP_CONDITION_OPERATORS=new Set([...Vu,"and","or"]);le.POSITIONAL_OR_SCOPE_KEYWORDS=new Set(["first","last","next","previous","random","closest","parent"]);le.STRUCTURAL_NEVER_EVENT=new Set(["if","unless","else","end","then","while","repeat"]);le.PROPERTY_ACCESS_BASES=new Set(["it","me","you","my","its","your","event","result","target","detail","body","window","document","self","this"]);le.COMMAND_ACTION_KEYWORDS=Vt;le.CLAUSE_BOUNDARY_KEYWORDS=new Set(["then","and","or","end","else"]);le.RUN_PHRASES=[...Si.map(e=>[e.split(" "),"none"]),...Bi.map(e=>[e.split(" "),"type"]),...Di.filter(e=>!/^(in|am|has|have)$|^am /.test(e)).map(e=>[e.split(" "),"operand"]),[["exists"],"none"]];le.PICK_RANGE_SEPARATORS=new Set(["to"]);le.PICK_RANGE_SEPARATORS_BY_LANG={ar:new Set(["\u0625\u0644\u0649"]),bn:new Set(["\u09A5\u09C7\u0995\u09C7"]),de:new Set(["zu","bis"]),es:new Set(["a"]),fr:new Set(["\xE0"]),he:new Set(["\u05E2\u05DC","\u05E2\u05D3"]),hi:new Set(["\u0938\u0947"]),id:new Set(["ke"]),it:new Set(["in","a"]),ja:new Set(["\u304B\u3089"]),ko:new Set(["\uBD80\uD130"]),ms:new Set(["ke"]),pl:new Set(["do"]),pt:new Set(["para","a"]),qu:new Set(["kama"]),ru:new Set(["\u0432","\u0434\u043E"]),sw:new Set(["kwa","hadi"]),th:new Set(["\u0E43\u0E19","\u0E16\u0E36\u0E07"]),tl:new Set(["sa"]),tr:new Set(["ile"]),uk:new Set(["\u0432","\u0434\u043E"]),vi:new Set(["v\xE0o","\u0111\u1EBFn"]),zh:new Set(["\u5230"])};le.PICK_RANGE_MODES=new Set(["inclusive","exclusive"]);le.VISIBILITY_STRATEGIES=new Set(["display","visibility","opacity","twdisplay","twvisibility","twopacity"]);le.MAX_BRACE_RUN_TOKENS=64;le.MAX_PROPERTY_DEPTH=10;le.MAX_METHOD_ARGS=20;le.SWAP_STRATEGIES=new Set(["into","over","innerhtml","outerhtml","beforebegin","afterbegin","beforeend","afterend","delete","none","morph","innermorph","outermorph"]);le.DECLARATION_COMMANDS=new Set(["behavior","def"]);le.WRITTEN_ROLE={increment:"patient",decrement:"patient",set:"destination",bind:"destination"};le.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var mo=le,gs=class extends ma{constructor(e){super(t=>new mo(t),e??Sy);}matchPattern(e,t){return super.matchPattern(e,t)}matchBest(e,t){return super.matchBest(e,t)}static rangeSeparatorFor(e){return mo.rangeSeparatorFor(e)}extractEventModifiers(e){let t={},r=false;for(;!e.isAtEnd();){let n=e.peek();if(!n||n.kind!=="event-modifier")break;let i=n.metadata;if(!i)break;switch(r=true,i.modifierName){case "once":t.once=true;break;case "debounce":typeof i.value=="number"&&(t.debounce=i.value);break;case "throttle":typeof i.value=="number"&&(t.throttle=i.value);break;case "queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(t.queue=i.value);break}e.advance();}return r?t:void 0}},Fe=new gs,Fy={a:"\xE1",e:"\xEA",i:"i"};function Py(e,t,r){switch(e){case "infinitive":return /r$/.test(t)?t+r:void 0;case "infinitive-drop-e":return /re$/.test(t)?t.slice(0,-1)+r:void 0;case "hyphen":{if(!/[aei]r$/.test(t))return;if(!r.startsWith("l"))return `${t}-${r}`;let n=t[t.length-2];return `${t.slice(0,-2)}${Fy[n]}-${r}`}case "suffix":return t+r;case "before":return /^\p{L}+(?:er|ir|re)$/u.test(t)?/^[aeiouyàâäéèêëîïôöùûüœh]/iu.test(t)?`${r.slice(0,-1)}'${t}`:`${r} ${t}`:void 0}}var Oy=/[aeıioöuü]/gu,Ly=new Set(["a","\u0131","o","u"]),Ry=new Set(["\xE7","f","h","k","p","s","\u015F","t"]);function _y(e){let t=e.toLowerCase(),r=t.match(Oy);return r?(Ry.has(t[t.length-1])?"t":"d")+(Ly.has(r[r.length-1])?"a":"e"):void 0}function V(e,t){return e0(e,t)}function ws(){return Jc()}function Ny(e,t){let r=e[t];return r==='"'||r==="`"?true:r!=="'"?false:!(/[\p{L}\p{N}_]/u.test(e[t-1]??"")&&/[\p{L}]/u.test(e[t+1]??""))}function My(e){if(!e.includes("--")&&!e.includes("//"))return e;let t="",r=0;for(;r<e.length;){let n=e[r];if(Ny(e,r)){let a=r+1;for(;a<e.length&&e[a]!==n;)a+=e[a]==="\\"?2:1;t+=e.slice(r,a+1),r=a+1;continue}let i=e[r+2];if((n==="-"||n==="/")&&e[r+1]===n&&(i===void 0||/\s/.test(i)||i===n)){let a=r;for(;a<e.length&&e[a]!==`
|
|
8
8
|
`&&e[a]!=="\r";)a++;t+=" ".repeat(a-r),r=a;continue}t+=n,r++;}return t}function Iy(e){return {positionSource:void 0,parseDepth:0,coverageFrames:[],boundIdentifiers:new Set,bottomTestTokens:new WeakMap,parse:e}}var fo=class extends Error{constructor(e,t,r,n){super(e),this.name="SemanticParseError",this.language=t,this.input=r,this.diagnostics=n;}};function X(e,t,r){return {message:e,severity:t,source:"semantic-parser",...r&&{code:r}}}function G(e,t){return t.length===0?e:{...e,diagnostics:t}}var Fr=120;function $y(e,t,r){let n=t.tokens.length;if(e.consumedTokens>=n)return null;let i=t.tokens[e.consumedTokens],a=t.tokens[n-1];if(!i||!a)return null;let o=r.slice(i.position.start,a.position.end);if(!o.trim())return null;let u=o.length>Fr?`${o.slice(0,Fr)}\u2026`:o,s=n-e.consumedTokens;return `pattern ${e.pattern.id} left ${s} token(s) unconsumed: "${u}"`}var ct=["body","statements","thenBranch","elseBranch","eventHandlers","initBlock","catchBody","finallyBody"];function en(e){let t=[],r=new Set((e.diagnostics??[]).map(i=>`${i.code}|${i.message}`)),n=i=>{if(!i||typeof i!="object")return;if(i!==e)for(let o of i.diagnostics??[]){if(o.code!=="unconsumed-input"&&o.code!=="verbatim-clause")continue;let u=`${o.code}|${o.message}`;r.has(u)||(r.add(u),t.push(o));}let a=i;for(let o of ct){let u=a[o];if(Array.isArray(u))for(let s of u)n(s);}};return n(e),t.length===0?e:G(e,[...e.diagnostics??[],...t])}var tn=new Set(["json","text","html","xml","blob","arraybuffer","formdata","response","object","string","number","int","float","fragment"]),ks={en:["as"],es:["como"],fr:["comme"],pt:["como"],it:["come"],de:["als"],id:["sebagai"],ms:["sebagai","sbg"],sw:["kuwa","kama"],th:["\u0E40\u0E1B\u0E47\u0E19"],vi:["nh\u01B0"],tl:["bilang"],he:["\u05DB"],ar:["\u0643\u0640"],pl:["jako"],ru:["\u043A\u0430\u043A"],uk:["\u044F\u043A"],zh:["\u7684","\u4F5C\u4E3A","\u5F53\u4F5C"]},jy={ko:[["\uB85C"],["\uC73C\uB85C"]],qu:[["hina"]],tr:[["olarak"]],hi:[["\u0915\u0947","\u0930\u0942\u092A","\u092E\u0947\u0902"]]};function Pr(e){return (e.diagnostics??[]).filter(t=>t.code==="unconsumed-input").reduce((t,r)=>t+(parseInt(/left (\d+) token/.exec(r.message)?.[1]??"0",10)||0),0)}function rn(e){return (e.diagnostics??[]).filter(t=>t.code==="unconsumed-input").map(t=>/unconsumed: "(.*)"$/.exec(t.message)?.[1]).filter(t=>!!t).map(t=>t.replace(/\s+/g," ").trim())}function Cs(e,t){return {...e,diagnostics:(e.diagnostics??[]).filter(r=>{if(r.code!=="unconsumed-input")return true;let n=/unconsumed: "(.*)"$/.exec(r.message)?.[1];return !n||n.replace(/\s+/g," ").trim()!==t})}}function Wy(e){if(e.kind==="selector")return Le(e.value);let t=(e.normalized??e.value).toLowerCase();return He(t)?{type:"reference",value:t}:{type:"literal",value:e.value,dataType:"string"}}function qy(e,t,r,n){let i=rn(e);if(i.length===0)return null;let a=Pr(e),o=F(r)?.roleMarkers?.source,u=new Set;o?.primary&&u.add(o.primary),o?.alternatives?.forEach(l=>u.add(l));let s=V(t,r).tokens;for(let l=0;l<s.length;l++){let c=s[l];if(c.normalized!=="source"&&!u.has(c.value))continue;let p=o?.position==="after"?l-1:l+1,m=s[p];if(!m||m.kind!=="identifier"&&m.kind!=="keyword")continue;let y=Math.min(c.position.start,m.position.start),f=Math.max(c.position.end,m.position.end),d=t.slice(y,f).replace(/\s+/g," ").trim();if(!i.some(g=>g===d||g.includes(d)))continue;let v=(t.slice(0,y).trimEnd()+" "+t.slice(f).trimStart()).trim();if(!(!v||v===t))try{let g=n(v,r);if(!g||g.kind!=="event-handler")continue;let w=en(g);if(Pr(w)<a)return {node:{...w,eventModifiers:{...w.eventModifiers,from:Wy(m)}},input:v}}catch{}}return null}function Qn(e,t,r){let n=rn(e);if(n.length===0)return null;let i=xe[r];if(!i)return null;let a=e.roles,o=a.get("event"),u=o?.type==="literal"&&typeof o.value=="string"?o.value:null;if(!u)return null;let s=c=>c.replace(/\s+/g," ").trim(),l=V(t,r).tokens;for(let c of n)for(let p=1;p<l.length;p++)for(let m=p;m<l.length;m++){let y=s(t.slice(l[p].position.start,l[m].position.end));if(y.length>c.length)break;if(y!==c)continue;let f=l[p-1];if((i[f.value]??f.normalized)!==u)break;let v=s(t.slice(f.position.start,l[m].position.end)),g=i[v];if(!g)break;return a.set("event",{type:"literal",value:g,dataType:"string"}),{node:Cs(e,c),input:t}}return null}function Vy(e,t,r,n){let i=rn(e);if(i.length===0)return null;let a=ks[r];if(!a)return null;let o=l=>l.replace(/\s+/g," ").trim(),u=Pr(e),s=V(t,r).tokens;for(let l=0;l+1<s.length;l++){let c=s[l],p=s[l+1];if(!a.some(f=>c.value.toLowerCase()===f)||!tn.has(p.value.toLowerCase()))continue;let m=o(t.slice(c.position.start,p.position.end));if(!i.includes(m))continue;let y=(t.slice(0,c.position.start).trimEnd()+" "+t.slice(p.position.end).trimStart()).trim();if(!(!y||y===t))try{let f=n(y,r);if(!f||f.kind!=="event-handler")continue;let d=en(f);if(Pr(d)>=u)continue;let v=Hy(d);if(!v)continue;return v.roles.set("responseType",{type:"expression",raw:p.value}),{node:d,input:y}}catch{}}return null}function Hy(e){let t=null,r=n=>{if(!n||typeof n!="object"||t)return;if(n.kind==="command"){let a=n;if(J(a.action)?.roles.some(u=>u.role==="responseType"&&!u.required)&&!a.roles.has("responseType")){t=a;return}}let i=n;for(let a of ["body","statements","thenBranch","elseBranch","commands"]){let o=i[a];Array.isArray(o)&&o.forEach(u=>r(u));}};return r(e),t}function Ky(e,t,r){let n=rn(e);if(n.length===0)return null;let i=F(r)?.roleMarkers?.destination,a=new Set;if(i?.primary&&a.add(i.primary),i?.alternatives?.forEach(s=>a.add(s)),a.size===0)return null;let o=s=>s.replace(/\s+/g," ").trim(),u=V(t,r).tokens;for(let s=0;s+1<u.length;s++){let l=u[s],c=u[s+1],p=a.has(l.value)&&c.normalized==="me",m=l.normalized==="me"&&a.has(c.value);if(!p&&!m)continue;let y=o(t.slice(l.position.start,c.position.end));if(!n.includes(y))continue;let f=false,d=v=>{if(!v||typeof v!="object"||f)return;if(v.kind==="command"){let w=v.roles.get("destination");if(w?.type==="reference"&&w.value==="me"){f=true;return}}let g=v;for(let w of ["body","statements","thenBranch","elseBranch","commands"]){let E=g[w];Array.isArray(E)&&E.forEach(z=>d(z));}};if(d(e),!!f)return {node:Cs(e,y),input:t}}return null}function Uy(e,t){try{let r=V(e,t),n=be(t);if(n.length===0)return {confidence:0,parseSuccess:!1,error:`No patterns available for language: ${t}`};let i=[...n].sort((l,c)=>c.priority-l.priority),a=i.filter(l=>l.command==="on"),o=Fe.matchBest(r,a);if(o)return {confidence:o.confidence,parseSuccess:!0,patternId:o.pattern.id,action:o.pattern.command,tokensConsumed:o.consumedTokens};r.reset(r.mark());let u=i.filter(l=>l.command!=="on"),s=Fe.matchBest(r,u);return s?{confidence:s.confidence,parseSuccess:!0,patternId:s.pattern.id,action:s.pattern.command,tokensConsumed:s.consumedTokens}:{confidence:0,parseSuccess:!1,error:`Could not match any patterns for: ${e}`}}catch(r){return {confidence:0,parseSuccess:false,error:r instanceof Error?r.message:String(r)}}}function rr(e,t){try{let n=Hi(e,t);if(n)return {node:n,confidence:n.metadata?.confidence??.8,error:void 0,tokensConsumed:V(e,t).tokens.length}}catch{}let r=Uy(e,t);return r.parseSuccess?{node:null,confidence:r.confidence,error:void 0,tokensConsumed:r.tokensConsumed}:{node:null,confidence:0,error:r.error}}var Or={ar:new Set(["\u0623\u0648"]),bn:new Set(["\u0985\u09A5\u09AC\u09BE"]),de:new Set(["oder"]),en:new Set(["or"]),es:new Set(["o"]),fr:new Set(["ou"]),he:new Set(["\u05D0\u05D5"]),hi:new Set(["\u092F\u093E"]),id:new Set(["atau"]),it:new Set(["o"]),ja:new Set(["\u307E\u305F\u306F"]),ko:new Set(["\uB610\uB294"]),ms:new Set(["atau"]),pl:new Set(["lub"]),pt:new Set(["ou"]),qu:new Set(["utaq"]),ru:new Set(["\u0438\u043B\u0438"]),sw:new Set(["au"]),th:new Set(["\u0E2B\u0E23\u0E37\u0E2D"]),tl:new Set(["o"]),tr:new Set(["veya"]),uk:new Set(["\u0430\u0431\u043E"]),vi:new Set(["ho\u1EB7c"]),zh:new Set(["\u6216"])},Gy=new Set(Object.values(Or).flatMap(e=>[...e]));function nr(e,t){let r=(e.normalized??e.value).toLowerCase();if(r==="or")return true;let n=t===void 0?Gy:Or[t];return n?n.has(e.value)||n.has(r):false}var Xn={ar:["\u0644\u064A\u0633","\u0627\u0631\u0645"],bn:["\u09A8\u09BF\u0995\u09CD\u09B7\u09C7\u09AA","\u09A8\u09BE"],de:["nicht","werfen"],en:["do","not","throw"],es:["no","lanzar"],fr:["non","lancer"],he:["\u05DC\u05D0","\u05D6\u05E8\u05D5\u05E7"],hi:["\u0928\u0939\u0940\u0902","\u092B\u0947\u0902\u0915\u0947\u0902"],id:["bukan","lempar"],it:["non","lanciare"],ja:["\u6295\u3052\u308B","\u3067\u306F\u306A\u3044"],ko:["\uC544\uB2C8","\uB358\uC9C0\uB2E4"],ms:["bukan","lempar"],pl:["nie","rzu\u0107"],pt:["n\xE3o","lan\xE7ar"],qu:["mana","chanqay"],ru:["\u043D\u0435","\u0431\u0440\u043E\u0441\u0438\u0442\u044C"],sw:["si","tupa"],th:["\u0E44\u0E21\u0E48","\u0E42\u0E22\u0E19"],tl:["hindi","ihagis"],tr:["f\u0131rlat","de\u011Fil"],uk:["\u043D\u0435","\u043A\u0438\u043D\u0443\u0442\u0438"],vi:["kh\xF4ng","n\xE9m"],zh:["\u975E","\u629B\u51FA"]};function Yy(e){return Xn[e]??Xn.en}var Zy=/[ক-হড়-য়ৎ]$/u,Qy=/[া-ৌঅ-ঔ]$/u;function Xy(e){if(Zy.test(e))return `${e}\u09C7`;if(Qy.test(e))return `${e}\u09A4\u09C7`}var yo=e=>/[^\p{Script=Latin}\P{L}]\p{M}*$/u.test(e),Jy=new Set(["\u09A4\u09C7","\u098F"]);function e4(e,t){return e?.code==="bn"&&t==="\u09C7"?"\u09A4\u09C7":t}var t4=[["\uC744","\uB97C"],["\uC774","\uAC00"],["\uC740","\uB294"],["\uACFC","\uC640"],["\uC73C\uB85C","\uB85C"]];function r4(e,t){let r=t4.find(a=>a.includes(t)),n=e.codePointAt(e.length-1)??0;if(!r||n<44032||n>55203)return t;let i=(n-44032)%28;return i===0||i===8&&r[0]==="\uC73C\uB85C"?r[1]:r[0]}function n4(e,t,r,n){let i=e.roleMarkers[r];if(i&&(i.primary===n||i.alternatives?.includes(n)))return true;let a=J(t)?.roles.find(o=>o.role===r);return a?.markerOverride?.[e.code]===n||!!a?.markerVariants?.[e.code]?.includes(n)}function vo(e,t,r,n){let i=e?.attachedMarkers;if(!(!i||!t||/\s$/.test(t)||!i.markers.includes(r))){if(e.code==="bn"&&yo(t)&&Jy.has(r))return Xy(t);if(e.code==="tr"){let a=t.slice(t.lastIndexOf(" ")+1);if(!n?.(a))return;let o=_y(a);return o===void 0?void 0:t+o}if(!(yo(t)&&i.afterWords!=="all"&&!i.afterWords?.includes(r)))return t+(e.code==="ko"?r4(t,r):r)}}var i4=["values","expressions","logical","temporal","attributes"],a4=/"[^"]*"|'[^']*'|`[^`]*`/g,Je="\uE010",at="\uE011",o4=/\uE010(\d+)\uE011/g,u4=/(^|[^\w$.#@*:-])([A-Za-z][A-Za-z-]+)(?![\w$.:-])/g,s4=/(\bas\s+|\b(?:is|am)\s+(?:not\s+)?an?\s+)([A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?)\b/g,ho=new WeakMap;function l4(e,t){let r=ho.get(e);if(r)return r;let n=new Map,i=(o,u)=>{if(!u)return;let s=o.toLowerCase();!n.has(s)&&u!==o&&n.set(s,u);};for(let o of i4){let u=e[o];if(u)for(let[s,l]of Object.entries(u))i(s,l.primary);}for(let[o,u]of Object.entries(t?.references??{}))i(o,u);let a={words:n};return ho.set(e,a),a}function c4(e,t){let r=Jn(e,t,"{","}");return bs(Jn(r,t,"[","]"),t)}function bs(e,t){return Jn(e,t,"(",")",r=>/[\w$]/.test(e[r-1]??""))}function p4(e,t){if(!e.includes("("))return t(e);let r=[];return zs(t(bs(e,r)),r)}function Jn(e,t,r,n,i=()=>true){let a="",o=0;for(;o<e.length;){let u=e.indexOf(r,o);for(;u!==-1&&!i(u);)u=e.indexOf(r,u+1);if(u===-1){a+=e.slice(o);break}let s=0,l=-1;for(let c=u;c<e.length;c++)if(e[c]===r)s++;else if(e[c]===n&&--s===0){l=c;break}if(l===-1){a+=e.slice(o);break}t.push(e.slice(u,l+1)),a+=e.slice(o,u)+`${Je}${t.length-1}${at}`,o=l+1;}return a}function zs(e,t){let r=e;for(let n=0;n<8&&r.includes(Je);n++)r=r.replace(o4,(i,a)=>t[Number(a)]??"");return r}var d4=/(^|[^\w$.#@*:-])I\s+(match|am)\b/g,m4=/(^|[^\w$.#@*:-])(?:I\s+do|does)\s+not\s+match\b/g;function f4(e){return e.replace(m4,(t,r)=>/\bI\s+do/.test(t)?`${r}me not matches`:`${r}not matches`).replace(d4,(t,r,n)=>`${r}me ${n==="match"?"matches":"is"}`)}var y4=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in(?=\s+(?:(?:closest\s+)?[#.<]|(?:me|it|you|body|document|target|result)\b))/g,v4=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in\s+(me|it|you)\b(?![\w$.'-])/g,h4=/(^|[^\w$.#@*:-])((?:(?:first|last|next|previous|random)\s+)?(?:<[^<>]*\/>|(?<=(?:first|last|next|previous|random)\s+)\.[\w-]+)(?:\.[\w-]+)*)\s+in\s+((?:closest\s+)?(?:<[^<>]*\/>|[#.][\w-]+)|me|it|you|body|document|target|result)(?![\w$.'-])/g;function E4(e,t,r){let n=t.scopeFirst?e.replace(h4,(a,o,u,s)=>{let l=/^(?:me|it|you)$/.test(s)?s:void 0,c=t.scopeFirst("\0",l),p=c.indexOf("\0");r.push(p<0?c:c.slice(p+1).trim());let m=`${Je}${r.length-1}${at}`;return p<0?`${o}${m} ${u}`:`${o}${c.slice(0,p)}${s} ${m} ${u}`}):e,i=t.scopeIn?n.replace(v4,(a,o,u,s)=>{let l=t.scopeIn(s);return l===void 0?a:(t.queryIn!=="in"&&t.wrote?.(),r.push(l),`${o}${u}${Je}${r.length-1}${at}`)}):e;return t.queryIn==="in"?i:i.replace(y4,(a,o,u)=>(t.wrote?.(),r.push(t.queryIn),`${o}${u}${Je}${r.length-1}${at}`))}function g4(e,t,r){return t.conversionAs==="as"||!/^as\s/.test(e)?e:(t.wrote?.(),r.push(t.conversionAs),`${Je}${r.length-1}${at}${e.slice(2)}`)}var w4=/(^|[^\w$.#@*:'-])(?:the\s+)?element(?:'s)?\s+([A-Za-z_]\w*)\b(?!\s*(?:\[|\uE010))/g,k4=new Set(["is","am","and","or","not","no","matches","contains","includes","in","as","of","to","then","else","end","from","into","with","at","by","does","do","exists"]);function C4(e,t,r){let n=pi(t);return n==="element"?e:e.replace(w4,(i,a,o)=>k4.has(o.toLowerCase())?i:(r.push(`${n} ${o}`),`${a}${Je}${r.length-1}${at}`))}function As(e){return {queryIn:om(e),conversionAs:sm(e)}}function b4(e,t,r,n,i=As(t)){if(!e)return e;let a=tf(t);if(!a)return e;let{words:o}=l4(a,r);if(o.size===0)return e;let u=[],s=e.replace(a4,m=>(u.push(m),`${Je}${u.length-1}${at}`)),l=c4(s,u).replace(s4,(m,y,f)=>{u.push(f);let d=`${Je}${u.length-1}${at}`;return `${g4(y,i,u)}${d}`}),c=C4(l,t,u),p=f4(E4(c,i,u)).replace(u4,(m,y,f)=>{if(n?.has(f))return m;let d=o.get(f.toLowerCase());return d?`${y}${d}`:m});return zs(p,u)}var Eo=new Map;function xs(e){let t=Eo.get(e);if(t===void 0){let r=V(e,"en").tokens,n=r.length===1?r[0]:void 0;t=!!n&&(n.kind==="identifier"||!!Ht(n)),Eo.set(e,t);}return t}function z4(e){let t=new Set,r=new Set,n=Ti(e);if(!n.success||!n.node)return {variables:t,properties:r};let i=(a,o)=>{if(Array.isArray(a)){for(let s of a)i(s,o);return}if(!a||typeof a!="object")return;let u=a;u.type==="identifier"&&typeof u.name=="string"&&(o==="property"?r.add(u.name):o!=="targetType"&&xs(u.name)&&t.add(u.name));for(let[s,l]of Object.entries(a))l&&typeof l=="object"&&i(l,s);};return i(n.node,void 0),{variables:t,properties:r}}var Ds=/(^|[^\w$.#@*:'-])(?:the\s+)?((?:[@*]?[A-Za-z][\w-]*\s+of\s+(?:the\s+)?)+)([#.][A-Za-z_-][\w-]*)(?![\w-]|[.[(][\w$])/g,A4=new Set(["first","last","random"]);function Ss(e){let t=e.split(/\s+of\s+(?:the\s+)?/).filter(Boolean);return t.some(r=>A4.has(r.toLowerCase()))?void 0:t}function Br(e,t){return /^\s+as\b/.test(e.slice(t))}var D4=new Set(["repeat","for","while","tell","viewTransition"]),S4=new Set(["toggle","trigger"]),B4=new Set(["bind","set","install","js"]);function T4(e){if(e.statements.length<2)return false;let t=r=>["event-handler","def","behavior","feature"].includes(r.kind)||r.kind==="command"&&B4.has(r.action);return e.statements.every(t)&&e.statements.some(r=>r.kind!=="command")}function In(e){return e.kind==="command"&&D4.has(e.action)&&!Ur(e)}var F4=new Set(["js"]);function Bs(e,t){return e.type==="role"?e.role===t:e.type==="group"?e.tokens.some(r=>Bs(r,t)):false}function Yt(e){return e?.type==="reference"?e.value:void 0}function go(e,t){for(let[r,n]of e.roles)if(r!==t&&!n.implicit)return true;return false}var P4=new Set(Object.values(Xr).flatMap(e=>Object.values(e)));function O4(e,t){if(!/["'`]/.test(e))return t(e);let r=[],n=e.replace(/"[^"]*"|`[^`]*`|'(?!s\b)[^']*'/g,i=>(r.push(i),`\uE012${r.length-1}\uE013`));return t(n).replace(/(\d+)/g,(i,a)=>r[Number(a)])}function L4(e){return /(?<!\\)"/.test(e)?/(?<!\\)'/.test(e)?`"${e.replace(/(?<!\\)"/g,'\\"')}"`:`'${e}'`:`"${e}"`}var R4=class{constructor(){this.spellVariables=false,this.localizedVariable=false,this.plainWords=new Set,this.nativeWritten=new Set,this.patternHooks={candidates:(e,t)=>{if(e.kind!=="event-handler")return t;let r=t.filter(n=>!/-event-/i.test(n.id));return r.length>0?r:t},hasRealRole:(e,t)=>{let r=e.roles.get(t);return r!==void 0&&!(r.implicit===true&&(r.type==="reference"||t==="quantity"))},adjustScore:e=>{let t=0;return e.language==="en"&&((e.id.includes("standard")||e.id.includes("en-source"))&&(t+=20),(e.id.includes("-when")||e.id.includes("-upon"))&&(t-=15)),t},span:(e,t,r,n,i)=>this.obliqueAt(e,t,r,n,i),writeRole:(e,t,r)=>this.renderRoleToken(e,t,r),writeGroup:(e,t)=>this.writesGroup(e,t),pushPart:(e,t,r,n,i,a)=>this.pushPart(e,t,r,n,i,a)};}valueWords(e){let t=this.plainWords.has("value")?{queryIn:"in",conversionAs:"as"}:As(e),r=a=>this.obliquePhrase(e,t.queryIn,a,"location"),n=this.plainWords.has("value")?void 0:this.scopeFirst(e);return {...t,wrote:()=>this.nativeWritten.add("value"),scopeIn:r,scopeFirst:n?(a,o)=>{this.nativeWritten.add("scope");let u=o!==void 0&&this.obliquePhrase(e,n.marker,o,"location")||`${a} ${n.marker}`;return n.participle?`${u} ${n.participle}`:u}:void 0}}takeNativeWords(){let e=this.nativeWritten;return this.nativeWritten=new Set,e}renderPlainWords(e,t=["value","case","attach"]){let r=this.plainWords;this.plainWords=new Set([...r,...t]);try{return e()}finally{this.plainWords=r;}}renderNoting(e,t,r){return this.localizedVariable=false,{text:r?this.renderWith(e,t,r):this.render(e,t),localizedVariable:this.localizedVariable}}renderSpellingVariables(e,t,r){this.spellVariables=true;try{return r?this.renderWith(e,t,r):this.render(e,t)}finally{this.spellVariables=false;}}renderWith(e,t,r){let n=this.valueGuard;this.valueGuard=r;try{return this.render(e,t)}finally{this.valueGuard=n;}}render(e,t){let r=e.verbatimClause;if(r){let{verbatimClause:u,...s}=e,l=r.startsWith(",")?"":" ";return `${this.render(s,t)}${l}${r}`}let n=e.postfixUnless;if(n){let{postfixUnless:u,...s}=e,l=this.valueToNaturalString(n,t);return `${this.render(s,t)} ${this.keyword(t,"unless")} ${l}`}if(e.kind==="event-handler"){let{catchName:u,catchBody:s,finallyBody:l,...c}=e;if(s||l)return this.render(c,t)+this.renderErrorClauses(e,t)}if(e.kind==="compound")return this.renderCompound(e,t);if(e.kind==="behavior")return this.renderBehavior(e,t);if(e.kind==="def")return this.renderDef(e,t);if(e.kind==="feature")return this.renderFeature(e,t);if(e.kind==="conditional")return this.renderConditional(e,t);if(e.kind==="loop")return this.renderLoop(e,t);if(Ur(e))return this.renderBlockCommand(e,t);if(e.action==="js"&&F(t)?.wordOrder==="SOV"){let u=e.roles.get("patient"),s=u&&u.type==="expression"?u.raw:"",l=this.keyword(t,"js"),c=this.keyword(t,"end");return s?`${l} ${s} ${c}`:`${l} ${c}`}let i=s0(t,e.action);if(i.length===0)return this.renderExplicit(e);let a=this.findBestPattern(e,i);if(!a)return this.renderExplicit(e);let o=this.renderWithPattern(e,a);return F4.has(e.action)?`${o} ${this.keyword(t,"end")}`:o}renderCompound(e,t){if(e.statements.length>1&&e.statements.every(a=>a.kind==="event-handler")){let a=this.keyword(t,"end"),o=[];for(let u of e.statements)o.push(this.render(u,t),a);return o.join(`
|
|
9
9
|
`)}if(T4(e)){let a=this.keyword(t,"end"),o=[];return e.statements.forEach((u,s)=>{o.push(this.render(u,t)),u.kind==="event-handler"&&o.push(a);let l=e.statements[s+1];u.kind==="command"&&l&&l.kind!=="event-handler"&&o.push(a);}),o.join(`
|
|
10
10
|
`)}let r=e.statements.map(a=>this.render(a,t)),n=this.getChainWord(e.chainType,t),i=r[0]??"";for(let a=1;a<r.length;a++){let o=e.statements[a-1],u=e.statements[a],s=In(o),l=m=>m.kind==="command"&&(m.action==="bind"||m.action==="install"),c=l(o)&&l(u),p=s||c?" ":` ${n} `;i+=p+r[a];}return this.closeBlockHeaders(i,e.statements,t)}renderConditional(e,t){let r=e.roles.get("condition"),n=r?this.valueToNaturalString(r,t):"",i=[`${this.keyword(t,"if")} ${n}`.trim()],a=this.joinStatements(e.thenBranch,t);a?i.push(a):e.elseBranch?.length||i.push(this.keyword(t,"then"));let o=e.elseBranch?.length===1&&e.elseBranch[0].kind==="conditional";if(e.elseBranch&&e.elseBranch.length>0){let u=!o&&e.elseBranch[0]?.kind==="conditional",s=this.joinStatements(e.elseBranch,t),l=this.keyword(t,"else");u?i.push(`${l}
|