@lokascript/hyperscript-adapter 6.3.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.
Files changed (33) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/hyperscript-i18n-ar.global.js +1 -1
  3. package/dist/hyperscript-i18n-bn.global.js +1 -1
  4. package/dist/hyperscript-i18n-de.global.js +1 -1
  5. package/dist/hyperscript-i18n-east-asian.global.js +1 -1
  6. package/dist/hyperscript-i18n-en.global.js +1 -1
  7. package/dist/hyperscript-i18n-es.global.js +1 -1
  8. package/dist/hyperscript-i18n-fr.global.js +1 -1
  9. package/dist/hyperscript-i18n-he.global.js +1 -1
  10. package/dist/hyperscript-i18n-hi.global.js +1 -1
  11. package/dist/hyperscript-i18n-id.global.js +1 -1
  12. package/dist/hyperscript-i18n-it.global.js +1 -1
  13. package/dist/hyperscript-i18n-ja.global.js +1 -1
  14. package/dist/hyperscript-i18n-ko.global.js +1 -1
  15. package/dist/hyperscript-i18n-ms.global.js +1 -1
  16. package/dist/hyperscript-i18n-pl.global.js +1 -1
  17. package/dist/hyperscript-i18n-pt.global.js +1 -1
  18. package/dist/hyperscript-i18n-qu.global.js +7 -7
  19. package/dist/hyperscript-i18n-ru.global.js +1 -1
  20. package/dist/hyperscript-i18n-slavic.global.js +1 -1
  21. package/dist/hyperscript-i18n-south-asian.global.js +1 -1
  22. package/dist/hyperscript-i18n-southeast-asian.global.js +1 -1
  23. package/dist/hyperscript-i18n-sw.global.js +1 -1
  24. package/dist/hyperscript-i18n-th.global.js +1 -1
  25. package/dist/hyperscript-i18n-tl.global.js +1 -1
  26. package/dist/hyperscript-i18n-tr.global.js +7 -7
  27. package/dist/hyperscript-i18n-uk.global.js +1 -1
  28. package/dist/hyperscript-i18n-vi.global.js +1 -1
  29. package/dist/hyperscript-i18n-western.global.js +1 -1
  30. package/dist/hyperscript-i18n-zh.global.js +1 -1
  31. package/dist/hyperscript-i18n.global.js +2 -2
  32. package/dist/hyperscript-i18n.global.js.map +1 -1
  33. package/package.json +3 -3
@@ -1,16 +1,16 @@
1
- var HyperscriptI18n=(function(exports){'use strict';function St(e,t){return t?{type:"literal",value:e,dataType:t}:{type:"literal",value:e}}function ma(e,t){return t?{type:"selector",value:e,selectorKind:t}:{type:"selector",value:e}}function Gl(e){return {type:"reference",value:e}}function fa(e,t=true){return {type:"flag",name:e,enabled:t}}function Yl(e,t,r){let n=t instanceof Map?t:new Map(Object.entries(t)),i={kind:"command",action:e,roles:n};return r?{...i,metadata:r}:i}function ya(e,t,r,n,i){let a=t instanceof Map?t:new Map(Object.entries(t));return {kind:"event-handler",action:e,roles:a,body:r,...i,...n&&{metadata:n}}}function Zl(e,t,r,n,i){let a=t instanceof Map?t:new Map(Object.entries(t));return {kind:"conditional",action:e,roles:a,thenBranch:r,...n&&{elseBranch:n},...i&&{metadata:i}}}function Ql(e,t,r,n,i,a,o){let u=t instanceof Map?t:new Map(Object.entries(t));return {kind:"loop",action:e,roles:u,loopVariant:r,body:n,...i&&{loopVariable:i},...a&&{indexVariable:a},...o&&{metadata:o}}}var Sn=new Set(["me","you","it","result","event","target","body","document","window","detail"]);function br(e,t=Sn){return t.has(e)}var va=new Set(["body","then","else","condition","loop-body","variable","catch","finally"]),Xl=new Set(["repeat","for"]),Jl=new Set(["loop-variant","index-variable"]);function zr(e,t={}){let r=e.trim(),n=t.collectDiagnostics===true,i=[];if(!r.startsWith("[")||!r.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let a=r.slice(1,-1).trim();if(!a)throw new Error("Empty explicit statement");let o=rc(a);if(o.length===0)throw new Error("No command specified in explicit statement");let u=o[0].toLowerCase(),s=new Map,l=t.referenceSet??Sn,c=t.schemaLookup?.getSchema(u),p=c?new Set(c.roles.map(y=>y.role)):null;for(let y=1;y<o.length;y++){let f=o[y];if(f.startsWith("+")||f.startsWith("~")){let z=f.startsWith("+"),S=f.slice(1);if(!S){if(n){i.push({severity:"error",code:"EMPTY_FLAG",message:`Empty flag name: "${f}"`,source:"schema"});continue}throw new Error(`Empty flag name: "${f}"`)}if(p&&!p.has(S)){if(n){i.push({severity:"error",code:"UNKNOWN_FLAG",message:`Unknown flag "${S}" for command "${u}"`,source:"schema",suggestions:[...p].map(h=>`+${h}`)}),s.set(S,fa(S,z));continue}throw new Error(`Unknown flag "${S}" for command "${u}". Valid roles: ${[...p].join(", ")}`)}s.set(S,fa(S,z));continue}let d=f.indexOf(":");if(d===-1){if(n){i.push({severity:"error",code:"INVALID_ROLE_FORMAT",message:`Invalid role format: "${f}". Expected role:value or +flag`,source:"schema"});continue}throw new Error(`Invalid role format: "${f}". Expected role:value or +flag`)}let v=f.slice(0,d);if(p&&!va.has(v)&&!(Xl.has(u)&&Jl.has(v))&&!p.has(v))if(n)i.push({severity:"error",code:"UNKNOWN_ROLE",message:`Unknown role "${v}" for command "${u}"`,source:"schema",suggestions:[...p]});else throw new Error(`Unknown role "${v}" for command "${u}". Valid roles: ${[...p].join(", ")}`);let E=v,w=f.slice(d+1);if(va.has(v)&&w.startsWith("[")){let z=ic(f,d+1),S=f.slice(d+1,z+1);s.set(E,{type:"expression",raw:S});continue}let g=nc(w,l);s.set(E,g);}if(c&&u!=="on"){for(let y of c.roles)if(y.required&&!s.has(y.role)&&!y.default)if(n)i.push({severity:"error",code:"MISSING_REQUIRED_ROLE",message:`Missing required role "${y.role}" for command "${u}": ${y.description}`,source:"schema"});else throw new Error(`Missing required role "${y.role}" for command "${u}": ${y.description}`)}let m=y=>i.length===0?y:{...y,diagnostics:i};switch(u){case "on":{if(!s.get("event")){if(n)return i.push({severity:"error",code:"MISSING_EVENT_ROLE",message:"Event handler requires event role: [on event:click ...]",source:"schema"}),m(ya("on",s,[],{sourceLanguage:"explicit"}));throw new Error("Event handler requires event role: [on event:click ...]")}let f=Cr(s,"body",t);return s.delete("body"),m(ya("on",s,f,{sourceLanguage:"explicit"}))}case "if":{let y=Cr(s,"then",t),f=Cr(s,"else",t);return s.delete("then"),s.delete("else"),m(Zl(u,s,y,f.length>0?f:void 0,{sourceLanguage:"explicit"}))}case "repeat":case "for":{let y=Cr(s,"loop-body",t),f=s.get("loop-variant"),d=s.get("variable"),v=s.get("index-variable");s.delete("loop-body"),s.delete("loop-variant"),s.delete("variable"),s.delete("index-variable");let E;f&&f.type==="literal"&&typeof f.value=="string"?E=f.value:s.has("quantity")?E="times":s.has("source")?E="for":s.has("condition")?E="while":E="forever";let w=d?.type==="literal"&&typeof d.value=="string"?d.value:d?.type==="expression"?d.raw:void 0,g=v?.type==="literal"&&typeof v.value=="string"?v.value:void 0;return m(Ql(u,s,E,y,w,g,{sourceLanguage:"explicit"}))}default:return m(Yl(u,s,{sourceLanguage:"explicit"}))}}function Dn(e){let t=e.trim();return t.startsWith("[")&&t.endsWith("]")}function Cr(e,t,r){let n=e.get(t);return n?n.type==="expression"?[zr(n.raw,r)]:[]:[]}function ec(e){let t="";for(let r of e){if(t){r===t&&(t="");continue}if(r==='"'||r==="'"){t=r;continue}if(r===" "||r===">"||r==="+"||r==="~"||r===",")return true}return false}function ha(e){if(e){if(ec(e))return "complex";if(e.startsWith("#"))return "id";if(e.startsWith("."))return "class";if(e.startsWith("["))return "attribute";if(e.startsWith("*"))return "element"}}function tc(e){if(!e.includes("\\"))return e;let t="";for(let r=0;r<e.length;r++){if(e[r]==="\\"&&r+1<e.length){let n=e[r+1],i=n==="\\"?"\\":n==='"'?'"':n==="'"?"'":n==="n"?`
2
- `:n==="r"?"\r":n==="t"?" ":"";if(i){t+=i,r++;continue}}t+=e[r];}return t}function rc(e){let t=[],r="",n=false,i="",a=false,o=0;for(let u=0;u<e.length;u++){let s=e[u];if(n){if(r+=s,s===i){let l=0;for(let c=u-1;c>=0&&e[c]==="\\";c--)l++;l%2===0&&(n=false);}continue}if(s==='"'||s==="'"){n=true,i=s,r+=s;continue}if(a){r+=s,s===">"&&r.endsWith("/>")&&(a=false);continue}if(s==="<"&&(r===""||r.endsWith(":"))){a=true,r+=s;continue}if(s==="["){o++,r+=s;continue}if(s==="]"){o--,r+=s;continue}if(s===" "&&o===0){r&&(t.push(r),r="");continue}r+=s;}return r&&t.push(r),t}function nc(e,t){if(e.startsWith("<")){if(!e.endsWith("/>"))throw new Error(`Unterminated selector literal: "${e}". Expected a closing "/>"`);let i=e.slice(1,-2);if(!i)throw new Error(`Empty selector literal: "${e}"`);return ma(i,ha(i))}if(e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("@")||e.startsWith("*"))return ma(e,ha(e));if(e.startsWith('"')||e.startsWith("'"))return St(tc(e.slice(1,-1)),"string");if(e==="true")return St(true,"boolean");if(e==="false")return St(false,"boolean");let r=e.toLowerCase();if(br(r,t))return Gl(r);let n=e.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(n){let i=parseFloat(n[1]);return n[2]?St(e,"duration"):St(i,"number")}return St(e)}function ic(e,t){let r=0;for(let n=t;n<e.length;n++)if(e[n]==="[")r++;else if(e[n]==="]"&&(r--,r===0))return n;return e.length-1}function Pe(e){let t;if(e.kind==="compound"){let r=e;t=r.statements.map(n=>Pe(n)).join(` ${r.chainType} `);}else t=ac(e);return e.annotations&&e.annotations.length>0?e.annotations.map(n=>n.value!==void 0?`@${n.name}(${n.value})`:`@${n.name}`).join(" ")+" "+t:t}function ac(e){let t=[e.action];for(let[r,n]of e.roles)n.type==="flag"?t.push(n.enabled?`+${n.name}`:`~${n.name}`):t.push(`${r}:${Ea(n)}`);if(e.kind==="event-handler"){let r=e;r.body&&r.body.length>0&&t.push(`body:${r.body.map(n=>Pe(n)).join(" ")}`);}if(e.kind==="conditional"){let r=e;r.thenBranch&&r.thenBranch.length>0&&t.push(`then:${r.thenBranch.map(n=>Pe(n)).join(" ")}`),r.elseBranch&&r.elseBranch.length>0&&t.push(`else:${r.elseBranch.map(n=>Pe(n)).join(" ")}`);}if(e.kind==="loop"){let r=e;r.loopVariant&&t.push(`loop-variant:${r.loopVariant}`),r.loopVariable&&t.push(`variable:${r.loopVariable}`),r.indexVariable&&t.push(`index-variable:${r.indexVariable}`),r.body&&r.body.length>0&&t.push(`loop-body:${r.body.map(n=>Pe(n)).join(" ")}`);}if(e.kind==="command"){let r=e;r.body&&r.body.length>0&&t.push(`body:${r.body.map(n=>Pe(n)).join(" ")}`),r.catchBranch&&r.catchBranch.length>0&&t.push(`catch:${r.catchBranch.map(n=>Pe(n)).join(" ")}`),r.finallyBranch&&r.finallyBranch.length>0&&t.push(`finally:${r.finallyBranch.map(n=>Pe(n)).join(" ")}`),r.asyncVariant&&t.push(`async-variant:${r.asyncVariant}`),r.asyncBody&&r.asyncBody.length>0&&t.push(`async-body:${r.asyncBody.map(n=>Pe(n)).join(" ")}`);}return `[${t.join(" ")}]`}function oc(e){if(e.includes(" "))return true;let t=e[0];return !(t==="#"||t==="."||t==="@"||t==="*")}function Ea(e){switch(e.type){case "literal":return typeof e.value=="string"?e.dataType==="string"||/\s/.test(e.value)?JSON.stringify(e.value):e.value:String(e.value);case "selector":return e.value&&oc(e.value)?`<${e.value}/>`:e.value;case "reference":return e.value;case "property-path":return `${Ea(e.object)}'s ${e.property}`;case "expression":return e.raw;case "flag":return e.name}}var ee=class{constructor(e,t){this.pos=0,this.tokens=e,this.language=t;}peek(e=0){let t=this.pos+e;return t<0||t>=this.tokens.length?null:this.tokens[t]}advance(){if(this.isAtEnd())throw new Error("Unexpected end of token stream");return this.tokens[this.pos++]}isAtEnd(){return this.pos>=this.tokens.length}mark(){return {position:this.pos}}reset(e){this.pos=e.position;}position(){return this.pos}remaining(){return this.tokens.slice(this.pos)}takeWhile(e){let t=[];for(;!this.isAtEnd()&&e(this.peek());)t.push(this.advance());return t}skipWhile(e){for(;!this.isAtEnd()&&e(this.peek());)this.advance();}};function le(e,t){return {start:e,end:t}}function ce(e,t,r,n){if(typeof e=="object"){let{value:a,kind:o,position:u,normalized:s,stem:l,stemConfidence:c,metadata:p}=e;return {value:a,kind:o,position:u,...s!==void 0&&{normalized:s},...l!==void 0&&{stem:l},...c!==void 0&&{stemConfidence:c},...p!==void 0&&{metadata:p}}}let i=e;if(!t||!r)throw new Error("createToken requires kind and position parameters");if(typeof n=="string")return {value:i,kind:t,position:r,normalized:n};if(n){let{normalized:a,stem:o,stemConfidence:u,metadata:s}=n;return {value:i,kind:t,position:r,...a!==void 0&&{normalized:a},...o!==void 0&&{stem:o},...u!==void 0&&{stemConfidence:u},...s!==void 0&&{metadata:s}}}return {value:i,kind:t,position:r}}function Dt(e){return /\s/.test(e)}function uc(e){return e==="#"||e==="."||e==="["||e==="@"||e==="*"||e==="<"}function sc(e){return e==='"'||e==="'"||e==="`"||e==="\u300C"||e==="\u300D"}function dt(e){return /\d/.test(e)}function Tn(e){return e.replace(/[\u064b-\u0652\u0670]/g,"")}function lc(e){return /[a-zA-Z]/.test(e)}function Ae(e){return /[a-zA-Z0-9_-]/.test(e)}function Ca(e){return e.tokens.some(t=>t.type==="role"||t.type==="group"&&Ca(t))}var ba=class{constructor(e,t){this.patternRest=[],this.slotAfterLiteral=false,this.matchCache=new Map,this.roleStarts=new Map,this.stemMatchCount=0,this.totalKeywordMatches=0,this.confidenceModel=t,this.reader=e({patternRest:()=>this.patternRest,slotAfterLiteral:()=>this.slotAfterLiteral,wouldMatch:(r,n)=>this.patternTokenWouldMatch(r,n)});}matchPattern(e,t){let r=e.mark(),n=new Map;if(this.reader.beginPattern(t),this.stemMatchCount=0,this.totalKeywordMatches=0,this.roleStarts=new Map,this.patternRest=[],!this.matchTokenSequence(e,t.template.tokens,n))return e.reset(r),null;let a=this.confidenceModel.calculate({pattern:t,captured:n,stemMatchCount:this.stemMatchCount,totalKeywordMatches:this.totalKeywordMatches});return this.applyExtractionRules(t,n),{pattern:t,captured:n,consumedTokens:e.position()-r.position,confidence:a,roleStarts:this.roleStarts,...this.reader.resultFields?.()}}matchBest(e,t){this.matchCache.clear();let r=[],n=e.position();for(let a of t){let o=e.mark(),u=`${n}:${a.id}`,s;this.matchCache.has(u)?s=this.matchCache.get(u):(s=this.matchPattern(e,a),this.matchCache.set(u,s)),s&&r.push(s),e.reset(o);}if(r.length===0)return null;r.sort((a,o)=>{let u=o.pattern.priority-a.pattern.priority;return u!==0?u:o.confidence-a.confidence});let i=r[0];return this.matchPattern(e,i.pattern),i}matchTokenSequence(e,t,r,n){this.reader.skipLeading?.(e,t);for(let i=0;i<t.length;i++){let a=t[i];if(this.reader.beforePatternToken?.(e,t,i,r),this.reader.maySkipSlot(a,e.peek(),t[i+1]??n)){let s=e.mark(),l=new Map(r);if(this.matchTokenSequence(e,t.slice(i+1),l,n)&&this.reader.atClauseEnd(e)){r.clear();for(let[c,p]of l)r.set(c,p);return true}e.reset(s);}let o=this.patternRest;this.patternRest=[...t.slice(i+1),...o],this.slotAfterLiteral=a.type==="role"&&t[i-1]?.type==="literal";let u=this.matchPatternToken(e,a,r,t[i+1]??n);if(this.patternRest=o,!u){if(this.isOptional(a))continue;return false}}return true}matchPatternToken(e,t,r,n){switch(t.type){case "literal":return this.matchLiteralToken(e,t);case "role":{let i=e.position(),a=this.reader.readRole(e,t,r,n);return a&&r.has(t.role)&&this.roleStarts.set(t.role,i),a}case "group":return this.matchGroupToken(e,t,r,n);default:return false}}matchLiteralToken(e,t){let r=e.peek();if(!r)return false;let n=this.getMatchType(r,t.value);if(n!=="none")return this.totalKeywordMatches++,n==="stem"&&this.stemMatchCount++,e.advance(),true;if(t.alternatives)for(let i of t.alternatives){let a=this.getMatchType(r,i);if(a!=="none")return this.totalKeywordMatches++,a==="stem"&&this.stemMatchCount++,e.advance(),true}for(let i of [t.value,...t.alternatives??[]])for(let a of ["-","_"])if(i.includes(a)&&this.tryMatchShatteredCompound(e,i,a))return this.totalKeywordMatches++,true;return false}tryMatchShatteredCompound(e,t,r){let n=t.split(r);if(n.length<2||n.some(a=>a.length===0))return false;let i=e.mark();for(let a=0;a<n.length;a++){if(a>0){let u=e.peek();if(!u||u.value!==r)return e.reset(i),false;e.advance();}let o=e.peek();if(!o||o.kind!=="identifier"&&o.kind!=="keyword"&&o.kind!=="particle"||o.value.toLowerCase()!==n[a].toLowerCase())return e.reset(i),false;e.advance();}return true}matchGroupToken(e,t,r,n){let i=e.mark(),a=new Map(r),o=this.matchTokenSequence(e,t.tokens,r,n);if(o&&e.position()>i.position&&Ca(t)&&[...r].every(([u,s])=>a.get(u)===s)&&r.size===a.size&&(o=false),o){let u=[];for(let s of t.tokens)if(s.type==="group"&&s.renderRequired)for(let l of s.tokens)l.type==="literal"&&u.push(l.value,...l.alternatives??[]);if(u.length>0&&[...r.keys()].some(l=>!a.has(l))){let l=e.tokens[e.position()-1];l!==void 0&&e.position()>i.position&&u.some(p=>this.getMatchType(l,p)!=="none")||(o=false);}}if(!o){e.reset(i);for(let u of r.keys())a.has(u)||r.delete(u);for(let[u,s]of a)r.get(u)!==s&&r.set(u,s);return t.optional||false}return true}patternTokenWouldMatch(e,t){return e?e.type==="literal"?this.getMatchType(t,e.value)!=="none"?true:!!e.alternatives?.some(r=>this.getMatchType(t,r)!=="none"):e.type==="group"?this.patternTokenWouldMatch(e.tokens?.[0],t):false:false}getMatchType(e,t){if(e.value===t)return "exact";if(e.normalized===t)return "normalized";if(e.stem===t&&e.stemConfidence!==void 0&&e.stemConfidence>=.7)return "stem";if(e.kind==="keyword"&&e.value.toLowerCase()===t.toLowerCase())return "case-insensitive";if(e.kind==="keyword"){let r=Tn(e.value).toLowerCase();if(r&&r===Tn(t).toLowerCase())return "case-insensitive"}return "none"}applyExtractionRules(e,t){for(let[r,n]of Object.entries(e.extraction)){let i=t.get(r);if(i){if(n.transform){let a=i.type==="literal"?String(i.value):String(i.raw??"");t.set(r,n.transform(a));}}else if(n.value!==void 0)t.set(r,n.valueIsExpression?{type:"expression",raw:n.value}:{type:"literal",value:n.value});else if(n.default){let a={...n.default,implicit:true};t.set(r,a);}}}isOptional(e){return e.type!=="literal"&&e.optional===true}};function za(e){return {generatePattern:(t,r,n)=>pt(e,t,r,n),generateSimplePattern:(t,r,n)=>xa(e,t,r,n),generateVerbFirstPattern:(t,r,n)=>Bn(t,r,n),generatePatternVariants:(t,r,n)=>dc(e,t,r,n),buildRoleToken:Da}}function Fn(e){return e.roles.some(t=>t.variantOnly)?{...e,roles:e.roles.filter(t=>!t.variantOnly)}:e}function Aa(e,t,r){let n=t==="SOV"?"sovPosition":"svoPosition";return [...e].sort((i,a)=>r==="ascending"?(i[n]??99)-(a[n]??99):(a[n]??0)-(i[n]??0))}function cc(e,t){let r=e.markerOverride?.[t.code],n=t.roleMarkers[e.role];if(r!==void 0){let i=pc(e,t.code,r);return {primary:r,...i&&{alternatives:i},position:n?.position??"before",isOverride:true}}if(n&&n.primary){let i={primary:n.primary,position:n.position,isOverride:false};return n.alternatives&&(i.alternatives=n.alternatives),i}return null}function pc(e,t,r){let n=e.markerLegacy?.[t];if(!n?.length)return;let i=[...new Set(n)].filter(a=>a&&a!==r);return i.length?i:void 0}function We(e,t,r){let n=e.markerLegacy?.[t]??[],i=e.methodCarrier?[]:e.markerVariants?.[t]??[],a=[...new Set([...n,...i])].filter(o=>o&&o!==r);return a.length?a:void 0}var xr={basePriority:100,generateSimpleVariants:true,generateAlternatives:true};function pt(e,t,r,n=xr){let i=`${t.action}-${r.code}-generated`,a=n.basePriority??100,o=r.keywords[t.action];if(!o)throw new Error(`No keyword translation for '${t.action}' in ${r.code}`);let u=mc(e,t,r,o),s=Ln(t,r),l=vc(e,t,r,o);return {id:i,language:r.code,command:t.action,priority:a,template:{format:l,tokens:u},extraction:s}}function xa(e,t,r,n=xr){if(t.roles.filter(s=>!s.required).length===0)return null;let a=t.roles.filter(s=>s.required),o={...t,roles:a};return {...pt(e,o,r,n),id:`${t.action}-${r.code}-generated-simple`,priority:(n.basePriority??100)-5,extraction:Ln(t,r)}}function Bn(e,t,r=xr){if(t.wordOrder!=="SOV")return null;let n=e.roles.filter(u=>u.required);if(n.length!==1)return null;let i=t.keywords[e.action];if(!i)return null;let a=i.alternatives?{type:"literal",value:i.primary,alternatives:i.alternatives}:{type:"literal",value:i.primary},o=n.flatMap(u=>{let s=u.valuePrefixLiteral?.[t.code],l=Sa(u,t.code),c={type:"role",role:u.role,optional:false,expectedTypes:u.expectedTypes,...l?{words:l}:{}};return s?[{type:"literal",value:s},c]:[c]});return {id:`${e.action}-${t.code}-generated-verb-first`,language:t.code,command:e.action,priority:(r.basePriority??100)-20,template:{format:`${i.primary} <${n[0].role}>`,tokens:[a,...o]},extraction:Ln(e,t)}}function dc(e,t,r,n=xr){let i=[],a=t;if(t=Fn(t),i.push(pt(e,t,r,n)),n.generateSimpleVariants){let o=xa(e,t,r,n);o&&i.push(o);}for(let o of t.omitRoleVariants??[]){let u={...t,roles:t.roles.filter(l=>l.role!==o)},s=pt(e,u,r,n);i.push({...s,id:`${t.action}-${r.code}-generated-no-${o}`,priority:(n.basePriority??100)-8});}for(let o of t.widenTypeVariants??[]){if(o.excludeLanguages?.includes(r.code))continue;let u={...t,roles:t.roles.map(l=>l.role===o.role?{...l,expectedTypes:[...o.types]}:l)},s=pt(e,u,r,n);i.push({...s,id:`${t.action}-${r.code}-generated-${o.idSuffix}`,priority:(n.basePriority??100)-(o.priorityDelta??15)});}for(let o of a.requiredRoleVariants??[]){let u={...a,roles:a.roles.filter(l=>!o.omit?.includes(l.role)).map(l=>{let c=l.role===o.role?{...l,required:true}:l;return l.role===o.widen?.role?{...c,expectedTypes:[...o.widen.types]}:c})},s=pt(e,u,r,n);i.push({...s,id:`${t.action}-${r.code}-generated-${o.idSuffix}`,priority:(n.basePriority??100)+(o.priorityDelta??5)});}if(n.generateVerbFirstVariants!==false){let o=Bn(t,r,n);o&&i.push(o);}for(let o of t.rolePrefixLiteralVariants??[]){let u=o.literal[r.code];if(!u)continue;let{rolePrefixLiteralVariants:s,...l}=t,c={...l,roles:t.roles.map(f=>f.role===o.role?{...f,valuePrefixLiteral:{[r.code]:u}}:f)},p=o.priorityDelta??5,m=o.methodCarrier?{[o.methodCarrier]:{value:u}}:{},y=pt(e,c,r,n);if(i.push({...y,id:`${t.action}-${r.code}-generated-${o.idSuffix}`,priority:(n.basePriority??100)+p,extraction:{...y.extraction,...m}}),n.generateVerbFirstVariants!==false){let f=Bn(c,r,n);f&&i.push({...f,id:`${t.action}-${r.code}-generated-verb-first-${o.idSuffix}`,priority:(n.basePriority??100)-20+p,extraction:{...f.extraction,...m}});}}return i}function mc(e,t,r,n){let i=[],a=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary},o=r.wordOrder==="SOV"?t.roles.filter(l=>l.sovSlot==="postVerb"):[],u=ga(e,o.length?{...t,roles:t.roles.filter(l=>l.sovSlot!=="postVerb")}:t,r),s=o.length?ga(e,{...t,roles:o},r):[];switch(r.wordOrder){case "SVO":i.push(a),i.push(...u);break;case "SOV":i.push(...u),i.push(a),i.push(...s);break;case "VSO":i.push(a),i.push(...u);break;default:i.push(a),i.push(...u);}return fc(i)}function fc(e){let t=[];for(let r of e){let n=t[t.length-1];if(n&&n.type==="literal"&&r.type==="literal"&&n.value===r.value){let i=[...n.alternatives??[],...r.alternatives??[]];i.length&&(t[t.length-1]={...n,alternatives:[...new Set(i)]});continue}t.push(r);}return t}function ga(e,t,r){let n=[],i=Aa(t.roles,r.wordOrder,e.positionOrder);for(let a of i){let o=Da(a,r);a.required?n.push(...o):n.push({type:"group",optional:true,tokens:o});}return n}function Sa(e,t){if(!e.words)return;let r=[...e.words["*"]??[],...e.words[t]??[]];return r.length>0?r:void 0}function Da(e,t){let r=[],n=e.markerOverride?.[t.code],i=t.roleMarkers[e.role],a=e.renderOverride?.[t.code]==="",o=Sa(e,t.code),u={type:"role",role:e.role,optional:!e.required,expectedTypes:e.expectedTypes,...e.valueShape!==void 0?{valueShape:e.valueShape}:{},...e.greedy?{greedy:true}:{},...o?{words:o}:{}},s=e.valuePrefixLiteral?.[t.code],l=()=>{s&&r.push({type:"literal",value:s}),r.push(u);};if(n!==void 0){let c=n?n.split(/\s+/).filter(Boolean):[],p=n!==void 0&&n===e.markerOverride?.en,m=e.markerPositionOverride?.[t.code]??e.markerPosition??i?.position??(t.wordOrder==="SOV"&&!p?"after":"before"),y=e.markerOptional?.[t.code]===true,f=d=>{let v=c.length===1?We(e,t.code,d)??[]:[],E={type:"literal",value:d,...v.length?{alternatives:v}:{},...a?{renderSuppress:true}:{}};r.push(y?{type:"group",optional:true,tokens:[E]}:E);};if(m==="before"){for(let d of c)f(d);l();}else {l();for(let d of c)f(d);}}else if(i){let c=()=>{let m=[...new Set([...i.alternatives??[],...We(e,t.code,i.primary)??[]])].filter(y=>y!==i.primary);return {type:"literal",value:i.primary,...m.length?{alternatives:m}:{},...a?{renderSuppress:true}:{}}},p=m=>{if(!t.markersOptional&&!e.markerOptional?.[t.code]){r.push(m);return}r.push({type:"group",optional:true,...t.markersOptional&&!e.markerOptional?.[t.code]?{renderRequired:true}:{},tokens:[m]});};(e.markerPosition??i.position)==="before"?(i.primary&&p(c()),l()):(l(),p(c()));}else l();return r}function yc(e,t){let r={};for(let n of e.roles){let i=n.markerOverride?.[t.code],a=t.roleMarkers[n.role];if(n.valuePrefixLiteral?.[t.code])r[n.role]={marker:n.valuePrefixLiteral[t.code]};else if(i!==void 0)if(!i)r[n.role]={};else {let u=!/\s/.test(i.trim())?We(n,t.code,i)??[]:[];r[n.role]=u.length?{marker:i,markerAlternatives:u}:{marker:i};}else if(a&&a.primary){let o=[...new Set([...a.alternatives??[],...We(n,t.code,a.primary)??[]])].filter(u=>u!==a.primary);r[n.role]=o.length?{marker:a.primary,markerAlternatives:o}:{marker:a.primary};}else r[n.role]={};}return r}function Ln(e,t){let r=yc(e,t),n={};for(let i of e.roles){let a=r[i.role]||{};!i.required&&i.default?n[i.role]={...a,default:i.default}:n[i.role]=a;}return n}function vc(e,t,r,n){let i=[],o=Aa(t.roles,r.wordOrder,e.positionOrder).map(u=>{let s=cc(u,r),l="";return s&&s.primary?s.position==="before"?l=`${s.primary} {${u.role}}`:l=`{${u.role}} ${s.primary}`:l=`{${u.role}}`,u.required?l:`[${l}]`});switch(r.wordOrder){case "SVO":case "VSO":i.push(n.primary,...o);break;case "SOV":i.push(...o,n.primary);break;default:i.push(n.primary,...o);}return i.join(" ")}var hc=5,Ec=30;function wa(e){if(e?.default?.type==="literal")return String(e.default.value).trim().toLowerCase();if(e?.value!==void 0)return String(e.value).trim().toLowerCase()}function Ta(e,t,r){let n=t.filter(o=>!o.parseOnly);n.length===0&&(n=t),r.candidates&&(n=r.candidates(e,n));let i=new Map;for(let o of n)for(let[u,s]of Object.entries(o.extraction??{})){let l=wa(s);if(l===void 0)continue;let c=i.get(u)??new Set;c.add(l),i.set(u,c);}let a=n.map(o=>{let u=o.priority,s=m=>r.hasRealRole(e,m),l=(m,y)=>{for(let f of m)f.type==="group"?l(f.tokens,true):f.type==="role"&&(s(f.role)?u+=y?hc:10:!y&&!f.optional&&(u-=50));};l(o.template.tokens,false);let c=new Set,p=m=>{for(let y of m)y.type==="group"?p(y.tokens):y.type==="role"&&c.add(y.role);};p(o.template.tokens);for(let m of e.roles.keys())s(m)&&!c.has(m)&&(u-=Ec);for(let[m,y]of Object.entries(o.extraction??{})){let f=wa(y);if(f===void 0)continue;let d=e.roles.get(m),v=d?.type===(y.valueIsExpression?"expression":"literal")?String(d.type==="expression"?d.raw:d.value).trim().toLowerCase():void 0;v===f?u+=60:(v===void 0||i.get(m)?.has(v))&&(u-=200);}return u+=r.adjustScore?.(o,e)??0,{pattern:o,score:u}});return a.sort((o,u)=>u.score-o.score),a.length>0?a[0].pattern:null}function Ba(e,t,r){let n=[],i=t.language,a=t.template.tokens;for(let o=0;o<a.length;o++){r.beforeToken?.(a,o,n,e,i);let u=r.span?.(a,o,e,i,true);if(u!==void 0){n.push(u.text),o+=u.tokens-1;continue}let s=a[o],l=La(s,e,i,r);l!==null&&(Fa(r,n,l,s,a[o-1],e,i),r.afterToken?.(s,n.length-1,e));}return n}function Fa(e,t,r,n,i,a,o){e.pushPart?e.pushPart(t,r,n,i,a,o):t.push(r);}function La(e,t,r,n){switch(e.type){case "literal":return e.renderSuppress?null:e.value;case "role":return n.writeRole(e,t,r);case "group":{if(!e.tokens.filter(u=>u.type==="role"&&!u.optional).every(u=>t.roles.has(u.role))&&e.optional||n.writeGroup&&!n.writeGroup(e,t,r))return null;let a=[],o=false;for(let u=0;u<e.tokens.length;u++){let s=n.span?.(e.tokens,u,t,r,false);if(s!==void 0){a.push(s.text),o=true,u+=s.tokens-1;continue}let l=e.tokens[u],c=La(l,t,r,n);c!==null&&(Fa(n,a,c,l,e.tokens[u-1],t,r),l.type==="role"&&(o=true));}return e.optional&&!o&&!e.renderRequired?null:a.length>0?a.join(" "):null}default:return null}}var Yt=class{constructor(){this.name="string-literal";}canExtract(e,t){let r=e[t];return r==="'"&&t>0&&/[\p{L}\p{M}\p{N}_)\]]/u.test(e[t-1])?false:r==='"'||r==="'"||r==="`"||r==="\u201C"||r==="\u2018"}extract(e,t){let r=e[t];if(r==="\u201C"){let a=1;for(;t+a<e.length;){if(e[t+a]==="\u201D")return a++,{value:e.substring(t,t+a),length:a};a++;}return null}if(r==="\u2018"){let a=1;for(;t+a<e.length;){if(e[t+a]==="\u2019")return a++,{value:e.substring(t,t+a),length:a};a++;}return null}let n=1,i=false;for(;t+n<e.length;){let a=e[t+n];if(i){i=false,n++;continue}if(a==="\\"){i=true,n++;continue}if(a===r)return n++,{value:e.substring(t,t+n),length:n};n++;}return null}},Zt=class{constructor(){this.name="number";}canExtract(e,t){return /\d/.test(e[t])}extract(e,t){let r=0,n=false;for(;t+r<e.length;){let o=e[t+r];if(/\d/.test(o))r++;else if(o==="."&&!n)n=true,r++;else break}if(r===0)return null;let i=e.substring(t,t+r),a=t+r;if(a<e.length){let o=e.slice(a),u=[{pattern:"\u6BEB\u79D2",suffix:"ms"},{pattern:"\u5206\u949F",suffix:"m"},{pattern:"\u5C0F\u65F6",suffix:"h"},{pattern:"\u30DF\u30EA\u79D2",suffix:"ms"},{pattern:"\u6642\u9593",suffix:"h"}];for(let l of u)if(o.startsWith(l.pattern))return {value:i+l.suffix,length:r+l.pattern.length,metadata:{hasTimeUnit:true}};if(o.startsWith("ms"))return {value:i+"ms",length:r+2,metadata:{hasTimeUnit:true}};let s=[{pattern:"\u79D2",suffix:"s"},{pattern:"\u5206",suffix:"m"}];for(let l of s)if(o.startsWith(l.pattern))return {value:i+l.suffix,length:r+1,metadata:{hasTimeUnit:true}};if(/^[smh](?![a-zA-Z])/.test(o))return {value:i+o[0],length:r+1,metadata:{hasTimeUnit:true}}}return {value:i,length:r}}};function gc(e){return "setContext"in e&&typeof e.setContext=="function"}function wc(e){let t={language:e.language,direction:e.direction,lookupKeyword:e.lookupKeyword.bind(e),isKeyword:e.isKeyword.bind(e),isKeywordStart:e.isKeywordStart.bind(e),...e.isKeywordStartAtBoundary?{isKeywordStartAtBoundary:e.isKeywordStartAtBoundary.bind(e)}:{}};return e.normalizer?{...t,normalizer:e.normalizer}:t}var Sr=class extends Error{constructor(e,t,r,n){super(`translation ${r} \u2192 ${n} would lose part of the script (${t.kind}): `+t.lost.join(", ")),this.partial=e,this.loss=t,this.from=r,this.to=n,this.name="LossyTranslationError";}};function ka(e){let t=[];for(let r of e.diagnostics??[])r.code==="unconsumed-input"&&t.push(/"(.*)"\s*$/s.exec(r.message)?.[1]??r.message);return t}function Pa(e,t,r,n,i){let a=ka(t);if(a.length)return {kind:"truncation",lost:a};let o=i.unwritable?.(t)??[];if(o.length)return {kind:"core-only",lost:o};let u;try{u=n(r);}catch(p){return {kind:"read-back",lost:[`the output does not read: ${p.message}`]}}let s=ka(u);if(s.length)return {kind:"read-back",lost:s};let l=i.written?i.written(t):t;for(let p of i.differences){let m=p(l,u);if(m.length)return {kind:"read-back",lost:m}}let c=i.missingValues?.(e,r)??[];if(c.length)return {kind:"invariant",lost:c}}function kc(e,t){if(t>=e.length)return null;let r=e[t];if(!uc(r))return null;let n=t,i="";if(r==="#"||r==="."){for(i+=e[n++];n<e.length&&Ae(e[n]);)i+=e[n++];if(i.length<=1)return null;if(n<e.length&&e[n]==="."&&r==="#"){let o=n+1;for(;o<e.length&&Ae(e[o]);)o++;if(o<e.length&&e[o]==="(")return i}}else if(r==="["){let a=1,o=false,u=null,s=false;for(i+=e[n++];n<e.length&&a>0;){let l=e[n];i+=l,s?s=false:l==="\\"?s=true:o?l===u&&(o=false,u=null):l==='"'||l==="'"||l==="`"?(o=true,u=l):l==="["?a++:l==="]"&&a--,n++;}if(a!==0)return null}else if(r==="@"){for(i+=e[n++];n<e.length&&Ae(e[n]);)i+=e[n++];if(i.length<=1)return null}else if(r==="*"){for(i+=e[n++];n<e.length&&Ae(e[n]);)i+=e[n++];if(i.length<=1)return null}else if(r==="<"){if(i+=e[n++],n>=e.length||!lc(e[n]))return null;for(;n<e.length&&Ae(e[n]);)i+=e[n++];for(;n<e.length;){let a=e[n];if(a==="."){if(i+=e[n++],n>=e.length||!Ae(e[n]))return null;for(;n<e.length&&Ae(e[n]);)i+=e[n++];}else if(a==="#"){if(i+=e[n++],n>=e.length||!Ae(e[n]))return null;for(;n<e.length&&Ae(e[n]);)i+=e[n++];}else if(a==="["){let o=1,u=false,s=null,l=false;for(i+=e[n++];n<e.length&&o>0;){let c=e[n];i+=c,l?l=false:c==="\\"?l=true:u?c===s&&(u=false,s=null):c==='"'||c==="'"||c==="`"?(u=true,s=c):c==="["?o++:c==="]"&&o--,n++;}if(o!==0)return null}else break}for(;n<e.length&&Dt(e[n]);)i+=e[n++];if(n<e.length&&e[n]==="/")for(i+=e[n++];n<e.length&&Dt(e[n]);)i+=e[n++];if(n>=e.length||e[n]!==">")return null;i+=e[n++];}return i||null}function Cc(e,t){if(t>=e.length||e[t]!=="'"||t+1>=e.length||e[t+1].toLowerCase()!=="s")return false;if(t+2>=e.length)return true;let n=e[t+2];return Dt(n)||n==="*"||!Ae(n)}function bc(e,t){if(t>=e.length)return null;let r=e[t];if(!sc(r)||r==="'"&&Cc(e,t))return null;let i={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[r];if(!i)return null;let a=t+1,o=r,u=false;for(;a<e.length;){let s=e[a];if(o+=s,u)u=false;else if(s==="\\")u=true;else if(s===i)return o;a++;}return o}function zc(e,t){if(t>=e.length)return false;let r=e[t],n=e[t+1]||"",i=e[t+2]||"";if(r==="/"&&n!=="/"&&/[a-zA-Z0-9._-]/.test(n)||r==="/"&&n==="/"&&/[a-zA-Z]/.test(i)||r==="."&&(n==="/"||n==="."&&i==="/"))return true;let a=e.slice(t,t+8).toLowerCase();return !!(a.startsWith("http://")||a.startsWith("https://"))}function Ac(e,t){if(!zc(e,t))return null;let r=t,n="",i=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;r<e.length;){let a=e[r];if(a==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=a,r++;r<e.length&&/[a-zA-Z0-9_-]/.test(e[r]);)n+=e[r++];break}if(i.test(a))n+=a,r++;else break}return n.length<2?null:n}function xc(e,t){if(t>=e.length)return null;let r=e[t];if(!dt(r)&&r!=="-"&&r!=="+")return null;let n=t,i="";if((e[n]==="-"||e[n]==="+")&&(i+=e[n++]),n>=e.length||!dt(e[n]))return null;for(;n<e.length&&dt(e[n]);)i+=e[n++];if(n<e.length&&e[n]===".")for(i+=e[n++];n<e.length&&dt(e[n]);)i+=e[n++];return n<e.length&&(e.slice(n,n+2)==="ms"?i+="ms":(e[n]==="s"||e[n]==="m"||e[n]==="h")&&(i+=e[n])),i}var Sc=["===","!==","->","==","!=","<=",">=","&&","||","**","+=","-=","*=","/=","+","-","*","/","=",">","<","!","&","|","%","^","~"];new Set(Sc);var Dc=new Set(["patient","destination","source","style","event","eventMarker","agent","goal","manner","into","from","to","with","at","of","as","by","in","on","over","under","between","through","without"]);function Tc(e){return e.includes("-")&&/^[\p{L}\p{N}_]+(-[\p{L}\p{N}_]+)+$/u.test(e)}var Bc=["click","dblclick","input","change","submit","keydown","keyup","keypress","mousedown","mouseup","mouseover","mouseout","mouseenter","mouseleave","mousemove","pointerdown","pointerup","pointermove","focus","blur","load","resize","scroll"],Dr=class Ar{constructor(){this.profileKeywords=[],this.multiWordKeywords=[],this.profileKeywordMap=new Map,this.rawExtraEntries=[],this.extractors=[];}getExtraKeywordEntries(){return this.rawExtraEntries}tokenize(t){if(this.isUsingExtractors())return this.tokenizeWithExtractors(t);throw new Error(`${this.constructor.name}: tokenize() not implemented and no extractors registered. Either register extractors or override tokenize() method.`)}registerExtractor(t){gc(t)&&t.setContext(wc(this)),this.extractors.push(t);}registerExtractors(t){for(let r of t)this.registerExtractor(r);}clearExtractors(){this.extractors=[];}isUsingExtractors(){return this.extractors.length>0}tokenizeWithExtractors(t){let r=[],n=0;for(;n<t.length;){for(;n<t.length&&Dt(t[n]);)n++;if(n>=t.length)break;let i=this.tryMultiWordKeyword(t,n);if(i){r.push(i),n=i.position.end;continue}let a=false;for(let o of this.extractors)if(o.canExtract(t,n)){let u=o.extract(t,n);if(u){let s=u.metadata?.normalized,l=u.metadata?.stem,c=u.metadata?.stemConfidence,p={};if(u.metadata)for(let[y,f]of Object.entries(u.metadata))y!=="normalized"&&y!=="stem"&&y!=="stemConfidence"&&(p[y]=f);let m={};s&&(m.normalized=s),l&&(m.stem=l),c!==void 0&&(m.stemConfidence=c),Object.keys(p).length>0&&(m.metadata=p),r.push(ce(u.value,this.classifyToken(u.value),le(n,n+u.length),Object.keys(m).length>0?m:void 0)),n+=u.length,a=true;break}}if(!a){let o=t[n],u=this.classifyUnknownChar(o);r.push(ce(o,u,le(n,n+1))),n++;}}return new ee(this.mergeColonQualifiedNames(r),this.language)}mergeColonQualifiedNames(t){let r=[];for(let n of t){let i=r[r.length-1];if(i&&Ar.ASCII_WORD.test(i.value)&&Ar.COLON_QUALIFIER.test(n.value)&&i.position.end===n.position.start){let a=i.value+n.value;r[r.length-1]=ce(a,this.classifyToken(a),le(i.position.start,n.position.end));continue}r.push(n);}return r}classifyUnknownChar(t){return "()[]{},:;".includes(t)?"punctuation":"+-*/<>=!&|".includes(t)?"operator":"identifier"}tryPropertyAccess(t,r,n){if(t[r]!==".")return false;let i=n[n.length-1],a=i&&i.position.end<r;if(i&&!a&&(i.kind==="identifier"||i.kind==="keyword"||i.kind==="selector"))return n.push(ce(".","operator",le(r,r+1))),true;let s=r+1;for(;s<t.length&&Ae(t[s]);)s++;return s<t.length&&t[s]==="("?(n.push(ce(".","operator",le(r,r+1))),true):false}initializeKeywordsFromProfile(t,r=[]){let n=new Map;if(this.rawExtraEntries=r,t.keywords){for(let[i,a]of Object.entries(t.keywords))if(n.set(a.primary,{native:a.primary,normalized:a.normalized||i}),a.alternatives)for(let o of a.alternatives)n.set(o,{native:o,normalized:a.normalized||i});}if(t.references){for(let[i,a]of Object.entries(t.references))n.set(a,{native:a,normalized:i});for(let i of Object.keys(t.references))n.has(i)||n.set(i,{native:i,normalized:i});}if(t.roleMarkers){for(let[i,a]of Object.entries(t.roleMarkers))if(a.primary&&n.set(a.primary,{native:a.primary,normalized:i}),a.alternatives)for(let o of a.alternatives)n.set(o,{native:o,normalized:i});}if(t.possessive?.keywords)for(let[i,a]of Object.entries(t.possessive.keywords))n.set(i,{native:i,normalized:a});for(let i of Bc)n.has(i)||n.set(i,{native:i,normalized:i});for(let i of r)n.set(i.native,i);this.profileKeywords=Array.from(n.values()).sort((i,a)=>a.native.length-i.native.length),this.multiWordKeywords=this.profileKeywords.filter(i=>(i.native.includes(" ")||Tc(i.native))&&!Dc.has(i.normalized)),this.profileKeywordMap=new Map;for(let i of this.profileKeywords){this.profileKeywordMap.set(i.native.toLowerCase(),i);let a=this.removeDiacritics(i.native);a!==i.native&&!this.profileKeywordMap.has(a.toLowerCase())&&this.profileKeywordMap.set(a.toLowerCase(),i);}}removeDiacritics(t){return Tn(t)}tryProfileKeyword(t,r){for(let n of this.profileKeywords)if(t.slice(r).startsWith(n.native))return ce(n.native,"keyword",le(r,r+n.native.length),n.normalized);return null}tryMultiWordKeyword(t,r,n=i=>/[\p{L}\p{N}_]/u.test(i)){if(this.multiWordKeywords.length===0)return null;let i=t.slice(r);for(let a of this.multiWordKeywords){if(!i.startsWith(a.native))continue;let o=t[r+a.native.length];if(!(o!==void 0&&n(o)))return ce(a.native,"keyword",le(r,r+a.native.length),a.normalized)}return null}isKeywordStart(t,r){let n=t.slice(r);return this.profileKeywords.some(i=>n.startsWith(i.native))}isKeywordStartAtBoundary(t,r,n=i=>/[\p{L}\p{N}_]/u.test(i)){let i=t.slice(r);return this.profileKeywords.some(a=>{if(!i.startsWith(a.native))return false;let o=t[r+a.native.length];return o===void 0||!n(o)})}lookupKeyword(t){let r=this.profileKeywordMap.get(t.toLowerCase());if(r)return r;let n=this.removeDiacritics(t);if(n!==t)return this.profileKeywordMap.get(n.toLowerCase())}isKeyword(t){return this.lookupKeyword(t)!==void 0}setNormalizer(t){this.normalizer=t;}tryNormalize(t){if(!this.normalizer)return null;let r=this.normalizer.normalize(t);return r.stem!==t&&r.confidence>=.7?r:null}tryMorphKeywordMatch(t,r,n){let i=this.tryNormalize(t);if(!i)return null;let a=this.lookupKeyword(i.stem);if(!a)return null;let o={normalized:a.normalized,stem:i.stem,stemConfidence:i.confidence};return ce(t,"keyword",le(r,n),o)}trySelector(t,r){let n=kc(t,r);return n?ce(n,"selector",le(r,r+n.length)):null}tryEventModifier(t,r){if(t[r]!==".")return null;let n=t.slice(r).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!n)return null;let i=n[0].replace(/(\s|\.)$/,""),a=i.slice(1).split("(")[0],o=n[1];return {...ce(i,"event-modifier",le(r,r+i.length)),metadata:{modifierName:a,value:o?a==="queue"?o:parseInt(o,10):void 0}}}tryString(t,r){let n=bc(t,r);return n?ce(n,"literal",le(r,r+n.length)):null}tryNumber(t,r){let n=xc(t,r);return n?ce(n,"literal",le(r,r+n.length)):null}tryMatchTimeUnit(t,r,n,i=false){let a=r;if(i)for(;a<t.length&&Dt(t[a]);)a++;let o=t.slice(a);for(let u of n){let s=o.slice(0,u.length);if(u.caseInsensitive?s.toLowerCase()===u.pattern.toLowerCase():s===u.pattern){if(u.notFollowedBy&&(o[u.length]||"")===u.notFollowedBy)continue;if(u.checkBoundary){let c=o[u.length]||"";if(Ae(c))continue}return {suffix:u.suffix,endPos:a+u.length}}}return null}parseBaseNumber(t,r,n=true){let i=r,a="";if(n&&(t[i]==="-"||t[i]==="+")&&(a+=t[i++]),i>=t.length||!dt(t[i]))return null;for(;i<t.length&&dt(t[i]);)a+=t[i++];if(i<t.length&&t[i]===".")for(a+=t[i++];i<t.length&&dt(t[i]);)a+=t[i++];return !a||a==="-"||a==="+"?null:{number:a,endPos:i}}tryNumberWithTimeUnits(t,r,n,i={}){let{allowSign:a=true,skipWhitespace:o=false}=i,u=this.parseBaseNumber(t,r,a);if(!u)return null;let{number:s,endPos:l}=u,c=[...n,...Ar.STANDARD_TIME_UNITS],p=this.tryMatchTimeUnit(t,l,c,o);return p&&(s+=p.suffix,l=p.endPos),ce(s,"literal",le(r,l))}tryUrl(t,r){let n=Ac(t,r);return n?ce(n,"url",le(r,r+n.length)):null}tryVariableRef(t,r){if(t[r]!==":"||r+1>=t.length||!Ae(t[r+1]))return null;let n=r+1;for(;n<t.length&&Ae(t[n]);)n++;let i=t.slice(r,n);return ce(i,"identifier",le(r,n))}tryOperator(t,r){let n=t.slice(r,r+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return ce(n,"operator",le(r,r+2));let i=t[r];return ["<",">","!","+","-","*","/","="].includes(i)?ce(i,"operator",le(r,r+1)):["(",")","{","}",",",";",":"].includes(i)?ce(i,"punctuation",le(r,r+1)):null}tryMultiCharParticle(t,r,n){for(let i of n)if(t.slice(r,r+i.length)===i)return ce(i,"particle",le(r,r+i.length));return null}};Dr.ASCII_WORD=/^[A-Za-z_][A-Za-z0-9_]*$/;Dr.COLON_QUALIFIER=/^:[A-Za-z_][A-Za-z0-9_]*$/;Dr.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:true},{pattern:"m",suffix:"m",length:1,checkBoundary:true,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:true}];var Qt=Dr;function Pn(e){return {stem:e,confidence:1}}function Tr(e,t,r){return r?{stem:e,confidence:t,metadata:r}:{stem:e,confidence:t}}var Br=["selector","reference","expression"],_a=["literal","selector","expression","reference","property-path"];var Jt=["literal","selector","reference","expression","property-path"],rt=["literal","expression"],er=["literal","expression"],Bt=["literal","expression","reference"],tr=["literal","expression"],rr=["expression"];var Ma=["reference","expression"],Ia=["selector","reference","expression"],$a=["literal"],Rn=["expression","reference","selector"],ja=["literal","expression","reference","property-path"],_n=["selector","reference","expression"],Fc={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"}};Object.fromEntries(Object.entries(Fc).map(([e,t])=>{let r={};for(let[n,i]of Object.entries(t))i in r||(r[i]=n);return [e,r]}));function Nn(){return [{id:"event-en-source",language:"en",command:"on",priority:110,template:{format:"on {event} from {source} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-standard",language:"en",command:"on",priority:100,template:{format:"on {event} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-upon",language:"en",command:"on",priority:98,template:{format:"upon {event} {body}",tokens:[{type:"literal",value:"upon"},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}function Wa(){return [{id:"event-tr-when",language:"tr",command:"on",priority:95,template:{format:"iken {event} {body}",tokens:[{type:"literal",value:"iken",alternatives:["durumunda","oldu\u011Funda"]},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}var qa=class Va{constructor(){this.name="spaced-duration";}canExtract(t,r){return /\d/.test(t[r]??"")&&!/[\w.]/.test(t[r-1]??"")}extract(t,r){let n=Va.PATTERN.exec(t.slice(r));if(!n)return null;let i=n[2].startsWith("m")?"ms":"s";return {value:n[1]+i,length:n[0].length,metadata:{hasTimeUnit:true}}}};qa.PATTERN=/^(\d+(?:\.\d+)?)[ \t]+(ms|milliseconds?|s|seconds?)(?![\w-])/;var Ha=qa,Ka=class{constructor(){this.name="a-tick";}canExtract(e,t){return (e[t]==="a"||e[t]==="A")&&!/[\w$]/.test(e[t-1]??"")}extract(e,t){let r=/^a[ \t]+tick(?![\w-])/i.exec(e.slice(t));return r?{value:"0ms",length:r[0].length,metadata:{hasTimeUnit:true}}:null}},Lc=["===","!==","->","==","!=","<=",">=","&&","||","**","+=","-=","*=","/=","+","-","*","/","=",">","<","!","&","|","%","^","~"],Fr=class{constructor(e=Lc){this.name="operator",this.operators=[...e].sort((t,r)=>r.length-t.length);}canExtract(e,t){return this.operators.some(r=>e.startsWith(r,t))}extract(e,t){for(let r of this.operators)if(e.startsWith(r,t))return {value:r,length:r.length};return null}},Pc="()[]{},:;",Lr=class{constructor(e=Pc){this.punctuation=e,this.name="punctuation";}canExtract(e,t){return this.punctuation.includes(e[t])}extract(e,t){let r=e[t];return this.punctuation.includes(r)?{value:r,length:1}:null}};function Xt(e){let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122?true:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(e)}var Mc=new Set(["ile","i\xE7in","kadar","gibi","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","do\u011Fru","boyunca"]),Ic=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),$c=class{constructor(){this.name="turkish-keyword";}setContext(e){this.context=e;}canExtract(e,t){return Xt(e[t])}extract(e,t){if(!this.context)throw new Error("TurkishKeywordExtractor: context not set");let r=t,n=r;for(;n<e.length&&(Xt(e[n])||e[n]==="_"||/[0-9]/.test(e[n]));)n++;let i=e.slice(r,n);if(i.includes("_")){let y=this.context.lookupKeyword(i.toLowerCase());if(y)return {value:i,length:i.length,metadata:{normalized:y.normalized!==y.native?y.normalized:void 0}};if(!i.endsWith("_"))return {value:i,length:i.length}}let a=12;for(let y=Math.min(a,e.length-r);y>=2;y--){let f=e.slice(r,r+y);if(r+y<e.length&&Xt(e[r+y]))continue;let d=true;for(let E=0;E<f.length;E++)if(!Xt(f[E])){d=false;break}if(!d)continue;let v=this.context.lookupKeyword(f);if(v)return {value:f,length:y,metadata:{normalized:v.normalized!==v.native?v.normalized:void 0}};if(this.context.normalizer){let E=this.context.normalizer.normalize(f);if(E.stem!==f&&E.confidence>=.7){let w=this.context.lookupKeyword(E.stem);if(w)return {value:f,length:y,metadata:{normalized:w.normalized,stem:E.stem,stemConfidence:E.confidence}}}}}let o="",u=t;for(;u<e.length&&Xt(e[u]);)o+=e[u],u++;for(let y=o.length;y>=2&&!(y<o.length);y--){let f=o.substring(0,y),d=this.context.lookupKeyword(f);if(d)return {value:f,length:y,metadata:{normalized:d.normalized!==d.native?d.normalized:void 0}}}if(!o||!o)return null;if(Mc.has(o.toLowerCase()))return {value:o,length:u-r,metadata:{postpositionValue:o.toLowerCase()}};if(Ic.has(o.toLowerCase()))return {value:o,length:u-r,metadata:{caseSuffixValue:o.toLowerCase()}};let s=this.context.lookupKeyword(o),l=s&&s.normalized!==s.native?s.normalized:void 0,c,p,m;if(!s&&this.context.normalizer){let y=this.context.normalizer.normalize(o);if(y.stem!==o&&y.confidence>=.7){let f=this.context.lookupKeyword(y.stem);f&&(c=f.normalized,p=y.stem,m=y.confidence);}}return {value:o,length:u-r,metadata:{normalized:l||c,stem:p,stemConfidence:m}}}};function Ua(){return new $c}var jc=new Set(["-ta","-man","-manta","-pi","-wan","-paq","-kama","-rayku","-hina","ta","man","manta","pi","wan","paq","kama","hina","pa"]),Wc=new Set(["kama","hina","rayku","paq"]);new Set([...jc,...Wc].map(e=>e.startsWith("-")?e.slice(1):e));function On(e,t){let r=t;for(;r<e.length&&e[r]===":";){let n=e.slice(r).match(/^::?[a-zA-Z][a-zA-Z0-9-]*/);if(!n)break;let i=r+n[0].length;if(e[i]==="("){let a=0,o=i;for(;o<e.length;){if(e[o]==="(")a++;else if(e[o]===")"&&(a--,a===0)){o++;break}o++;}if(a!==0)break;i=o;}r=i;}return r}var Oa=/(?=[\w.#[:])[\w-]*(?:[#.][\w-]+|\[[^\]]+\]|::?[a-zA-Z][a-zA-Z0-9-]*(?:\([^)]*\))?)*/.source,qc=new RegExp(`^<${Oa}(?:\\s*,\\s*${Oa})*\\s*\\/>`);function Ra(e,t){let r=e[t];if(r==="#"){let n=e.slice(t).match(/^#[a-zA-Z_][\w-]*/);if(!n)return null;let i=On(e,t+n[0].length);return e.slice(t,i)}if(r==="."){let n=e.slice(t).match(/^\.\{[a-zA-Z_$][\w$]*\}/);if(n)return n[0];let i=e.slice(t).match(/^\.(?:[\w:-]|\\.)+/);if(i&&i[0].includes("\\"))return i[0];let a=e.slice(t).match(/^\.[a-zA-Z_][\w-]*/);if(!a)return null;let o=On(e,t+a[0].length);return e.slice(t,o)}if(r==="@"){let n=e.slice(t).match(/^@[a-zA-Z_][\w-]*/);return n?n[0]:null}if(r==="*"){let n=e.slice(t).match(/^\*(?:--)?[a-zA-Z_][\w-]*/);return n?n[0]:null}if(r==="["){let n=0,i=t;for(;i<e.length;){if(e[i]==="["&&n++,e[i]==="]"&&(n--,n===0)){let a=On(e,i+1);return e.slice(t,a)}i++;}return null}if(r==="<"){let n=e.slice(t).match(qc);return n?n[0]:null}return null}var Vc=class{constructor(){this.name="css-selector";}canExtract(e,t){let r=e[t];return r==="#"||r==="."||r==="["||r==="<"?true:r==="@"||r==="*"?Ra(e,t)!==null:false}extract(e,t){let r=Ra(e,t);return r?{value:r,length:r.length,metadata:{type:"css-selector"}}:null}},Hc=class{constructor(){this.name="event-modifier";}canExtract(e,t){if(e[t]!==".")return false;let r=e.slice(t);return /^\.(once|prevent|stop|debounce|throttle|queue)/.test(r)}extract(e,t){let r=e.slice(t).match(/^\.(?:once|prevent|stop|debounce|throttle|queue)(?:\(([^)]+)\))?/);if(!r)return null;let n=r[0],i=n.slice(1).split("(")[0],a=r[1];return {value:n,length:n.length,metadata:{modifierName:i,value:a?i==="queue"?a:parseInt(a,10):void 0}}}},Kc=["http://","https://","//","./","../","/"];function Uc(e,t){let r=1;for(let n=t;n<e.length;n++){let i=e[n];if(i==="{")r++;else if(i==="}"&&--r===0)return n+1}return -1}function Gc(e,t){let r=e.slice(t),n=Kc.find(a=>r.startsWith(a));if(!n)return null;let i=n.length;for(;i<r.length;){let a=r[i];if(a==="$"&&r[i+1]==="{"){let o=Uc(r,i+2);if(o!==-1){i=o;continue}}if(/\s/.test(a))break;i++;}return r.slice(0,i)}var Yc=class{constructor(){this.name="url";}canExtract(e,t){let r=e.slice(t);return r.startsWith("http://")||r.startsWith("https://")||r.startsWith("//")||r.startsWith("./")||r.startsWith("../")||r.startsWith("/")}extract(e,t){let r=Gc(e,t);return r?{value:r,length:r.length,metadata:{type:"url"}}:null}},Zc=class{constructor(){this.name="variable-ref";}canExtract(e,t){let r=e[t];return (r===":"||r==="$"||r==="^")&&t+1<e.length&&/[a-zA-Z_]/.test(e[t+1])}extract(e,t){if(!this.canExtract(e,t))return null;let r=1;for(;t+r<e.length&&/[a-zA-Z0-9_]/.test(e[t+r]);)r++;return {value:e.substring(t,t+r),length:r,metadata:{type:"variable-reference"}}}};function Pr(){return [new Yc,new Hc,new Zc,new Vc]}function Ga(e,t,r){let n=e.tokens,i=[],a=false;for(let o of n){let u=false;if(o.kind==="identifier")for(let{written:s,marker:l}of t){if(o.value.length<=s.length||!o.value.endsWith(s))continue;let c=o.value.slice(0,-s.length),p=r(c),m=p.length===1?p[0]:void 0;if(m?.kind!=="keyword"||m.normalized===void 0)continue;let y=r(l);if(y.length!==1)continue;let{start:f,end:d}=o.position,v=d-s.length;i.push({...m,position:{start:f,end:v}}),i.push({...y[0],position:{start:v,end:d}}),u=a=true;break}u||i.push(o);}return a?new ee(i,e.language):e}function Mn(){return [{id:"wait-en-for-event",language:"en",command:"wait",priority:110,template:{format:"wait for {event}",tokens:[{type:"literal",value:"wait"},{type:"literal",value:"for"},{type:"role",role:"event",expectedTypes:rt}]},extraction:{event:{position:2}}}]}function Ya(e,t,r,n,i,a,o){let u=()=>({type:"group",optional:true,tokens:[{type:"literal",value:"("},...Array.from({length:a},(s,l)=>[...l>0?[{type:"literal",value:","}]:[],{type:"role",role:"condition",expectedTypes:["expression","literal","reference"]}]).flat(),{type:"literal",value:")"}]});return {id:e,language:t,command:"wait",priority:105,template:{format:`{source} ${n} {duration} ${i} {patient} ${r}`,tokens:[{type:"role",role:"source",expectedTypes:["expression","reference"]},{type:"literal",value:n,...o?{alternatives:o}:{}},{type:"role",role:"duration",expectedTypes:er},u(),{type:"literal",value:i},{type:"role",role:"patient",expectedTypes:["expression","literal"]},u(),{type:"literal",value:r}]},extraction:{source:{position:0},duration:{position:2}}}}function Za(){return [Ya("wait-tr-or-run","tr","bekle","den","veya",1,["dan","ten","tan"]),Ya("wait-tr-or-run-2arg","tr","bekle","den","veya",2,["dan","ten","tan"])]}[...Jt];function In(){return [{id:"put-en-into",language:"en",command:"put",priority:100,template:{format:"put {patient} into {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"into",alternatives:["in","to"]},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"into",markerAlternatives:["in","to"]}}},{id:"put-en-before",language:"en",command:"put",priority:95,template:{format:"put {patient} before {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"before"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"before"},manner:{default:{type:"literal",value:"before"}}}},{id:"put-en-after",language:"en",command:"put",priority:95,template:{format:"put {patient} after {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"after"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"after"},manner:{default:{type:"literal",value:"after"}}}},{id:"put-en-at-end",language:"en",command:"put",priority:96,template:{format:"put {patient} at end of {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"at"},{type:"literal",value:"end"},{type:"literal",value:"of"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{position:5},manner:{default:{type:"literal",value:"at end of"}}}},{id:"put-en-at-start",language:"en",command:"put",priority:96,template:{format:"put {patient} at start of {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"at"},{type:"literal",value:"start"},{type:"literal",value:"of"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{position:5},manner:{default:{type:"literal",value:"at start of"}}}},...["start","end"].map(e=>({id:`put-en-at-the-${e}`,language:"en",command:"put",priority:94,template:{format:`put {patient} at the ${e} of {destination}`,tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"at"},{type:"literal",value:"the"},{type:"literal",value:e},{type:"literal",value:"of"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{position:6},manner:{default:{type:"literal",value:`at ${e} of`}}}}))]}function Qa(){let e=(t,r)=>({id:`put-tr-${t}`,language:"tr",command:"put",priority:105,template:{format:`{patient} ${r} {destination} i koy`,tokens:[{type:"role",role:"patient"},{type:"literal",value:r},{type:"role",role:"destination"},{type:"group",optional:true,tokens:[{type:"literal",value:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC"]}]},{type:"literal",value:"koy",alternatives:["koymak"]}]},extraction:{patient:{position:0},destination:{position:2},manner:{default:{type:"literal",value:t}}}});return [e("before","\xF6nce"),e("after","sonra")]}function Xa(e){let t=new Map;for(let[r,n]of Object.entries(e.obliqueReferences??{})){let i=e.references?.[r];if(i){for(let[a,o]of Object.entries(n))if(a)for(let u of typeof o=="string"?[o]:[o.direction,o.location]){if(!u||/\s/.test(u))continue;let l=(Object.values(e.roleMarkers).find(c=>c?.primary===a||c?.alternatives?.includes(a))??e.roleMarkers.destination)?.position==="after";t.set(u,l?[i,a]:[a,i]);}}}return t}function Ja(e,t,r){let n=e.tokens;if(!t.size||!n.some(a=>t.has(a.value)))return e;let i=[];for(let a of n){let o=t.get(a.value),u=o?.map(p=>r(p));if(!o||!u||u.some(p=>p.length!==1)){i.push(a);continue}let{start:s,end:l}=a.position,c=Math.max(s+1,l-1);i.push({...u[0][0],position:{start:s,end:c}}),i.push({...u[1][0],position:{start:c,end:l}});}return new ee(i,e.language)}function Qc(e){let t=e?.roleMarkers?.style;if(!t?.primary)return null;let r={type:"literal",value:t.primary,...t.alternatives?.length?{alternatives:t.alternatives}:{}},n={type:"role",role:"style",expectedTypes:rr};return {token:{type:"group",optional:true,tokens:t.position==="after"?[n,r]:[r,n]},extraction:{marker:t.primary,...t.alternatives?.length?{markerAlternatives:t.alternatives}:{}}}}function Xc(e,t,r,n,i,a,o,u,s){let l=Qc(e),c=[{type:"role",role:"responseType",expectedTypes:tr}];c.push({type:"literal",value:u,...{}});let p={type:"group",optional:true,tokens:c};return {id:t,language:r,command:"fetch",priority:105,template:{format:`{source} ${i} ${n}`,tokens:[{type:"role",role:"source",expectedTypes:Bt},{type:"group",optional:true,tokens:[{type:"literal",value:i,...o?{alternatives:o}:{}}]},...l?[l.token]:[],{type:"literal",value:n,...{}},p]},extraction:{source:{marker:i,...o?{markerAlternatives:o}:{}},...l?{style:l.extraction}:{},responseType:u?{marker:u,...{}}:{}}}}function eo(e){return [Xc(e,"fetch-tr-sov","tr","getir","i",void 0,["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC"],"olarak")]}var Jc=Object.defineProperty,e0=Object.getOwnPropertyNames,fu=(e,t)=>function(){return e&&(t=(0, e[e0(e)[0]])(e=0)),t},t0=(e,t)=>{for(var r in t)Jc(e,r,{get:t[r],enumerable:true});};function to(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>String(t[n]??`{${n}}`))}function Te(e,t,r={},n){let i=yu[e],a=to(i,r),o=vu[e],u=o?to(o,r):void 0;return {code:e,message:a,severity:t,...n&&{role:n},...u&&{suggestion:u}}}var M,yu,vu,r0=fu({"src/generators/schema-error-codes.ts"(){M={AMBIGUOUS_TYPE_LITERAL_SELECTOR:"SCHEMA_AMBIGUOUS_TYPE_LITERAL_SELECTOR",TOO_MANY_EXPECTED_TYPES:"SCHEMA_TOO_MANY_EXPECTED_TYPES",MULTI_TYPE_PATIENT_EXPECTED:"SCHEMA_MULTI_TYPE_PATIENT_EXPECTED",NO_REQUIRED_ROLES:"SCHEMA_NO_REQUIRED_ROLES",NO_REQUIRED_ROLES_EXPECTED:"SCHEMA_NO_REQUIRED_ROLES_EXPECTED",TRANSITION_PATIENT_ACCEPTS_SELECTOR:"SCHEMA_TRANSITION_PATIENT_ACCEPTS_SELECTOR",TRANSITION_MISSING_GOAL:"SCHEMA_TRANSITION_MISSING_GOAL",EVENT_HANDLER_MISSING_EVENT:"SCHEMA_EVENT_HANDLER_MISSING_EVENT",EVENT_HANDLER_EVENT_NOT_REQUIRED:"SCHEMA_EVENT_HANDLER_EVENT_NOT_REQUIRED",CONDITIONAL_MISSING_CONDITION:"SCHEMA_CONDITIONAL_MISSING_CONDITION",CONDITIONAL_CONDITION_NOT_REQUIRED:"SCHEMA_CONDITIONAL_CONDITION_NOT_REQUIRED",FOR_LOOP_MISSING_SOURCE:"SCHEMA_FOR_LOOP_MISSING_SOURCE",WHILE_LOOP_MISSING_CONDITION:"SCHEMA_WHILE_LOOP_MISSING_CONDITION",VALUE_TYPE_MISMATCH:"SCHEMA_VALUE_TYPE_MISMATCH",SELECTOR_KIND_MISMATCH:"SCHEMA_SELECTOR_KIND_MISMATCH",SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE:"SCHEMA_SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE",KEYWORD_COLLISION:"PROFILE_KEYWORD_COLLISION"},yu={[M.AMBIGUOUS_TYPE_LITERAL_SELECTOR]:"Role '{role}' accepts both 'literal' and 'selector'. This may cause ambiguous type inference for values starting with special characters (* . # etc.).",[M.TOO_MANY_EXPECTED_TYPES]:"Role '{role}' accepts {count} different types. This may make type inference unreliable.",[M.MULTI_TYPE_PATIENT_EXPECTED]:"Role '{role}' accepts multiple types (expected for {command} command).",[M.NO_REQUIRED_ROLES]:"Command has no required roles. Is this intentional?",[M.NO_REQUIRED_ROLES_EXPECTED]:"Command has no required roles (expected for {command}).",[M.TRANSITION_PATIENT_ACCEPTS_SELECTOR]:"Transition command 'patient' role (CSS property name) should only accept 'literal', not 'selector'. CSS property names like 'background-color' are strings, not CSS selectors.",[M.TRANSITION_MISSING_GOAL]:"Transition command requires a 'goal' role for the target value (to <value>). Without it, there's no way to specify what value to transition to.",[M.EVENT_HANDLER_MISSING_EVENT]:"Event handler command should have an 'event' role to specify which event to listen for.",[M.EVENT_HANDLER_EVENT_NOT_REQUIRED]:"Event role should be required - every event handler needs an event to listen for.",[M.CONDITIONAL_MISSING_CONDITION]:"Conditional command should have a 'condition' role for the boolean expression.",[M.CONDITIONAL_CONDITION_NOT_REQUIRED]:"Condition role should be required - conditionals need a condition to evaluate.",[M.FOR_LOOP_MISSING_SOURCE]:"For-loop should have a 'source' role for the collection to iterate over.",[M.WHILE_LOOP_MISSING_CONDITION]:"While-loop should have a 'condition' role for the loop condition.",[M.VALUE_TYPE_MISMATCH]:"Role '{role}' of command '{command}' expects type [{expectedTypes}], got '{actualType}'.",[M.SELECTOR_KIND_MISMATCH]:"Role '{role}' of command '{command}' expects selector kind [{selectorKinds}], got '{actualKind}'.",[M.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE]:"Role '{role}' has selectorKinds but expectedTypes does not include 'selector'.",[M.KEYWORD_COLLISION]:"Keyword '{keyword}' is used by multiple commands: {commands}. Only the first-registered command will be reachable."},vu={[M.AMBIGUOUS_TYPE_LITERAL_SELECTOR]:"Consider being more specific about which type is expected, or use explicit type markers.",[M.TOO_MANY_EXPECTED_TYPES]:"Consider narrowing the accepted types to improve type inference reliability.",[M.TRANSITION_PATIENT_ACCEPTS_SELECTOR]:"Remove 'selector' from expectedTypes and only accept 'literal'.",[M.TRANSITION_MISSING_GOAL]:"Add a 'goal' role with expectedTypes ['literal', 'variable'].",[M.EVENT_HANDLER_MISSING_EVENT]:"Add an 'event' role with expectedTypes ['literal'].",[M.EVENT_HANDLER_EVENT_NOT_REQUIRED]:"Set required: true on the 'event' role.",[M.CONDITIONAL_MISSING_CONDITION]:"Add a 'condition' role with expectedTypes ['expression'].",[M.CONDITIONAL_CONDITION_NOT_REQUIRED]:"Set required: true on the 'condition' role.",[M.FOR_LOOP_MISSING_SOURCE]:"Add a 'source' role for the collection to iterate over.",[M.WHILE_LOOP_MISSING_CONDITION]:"Add a 'condition' role for the loop continuation condition.",[M.VALUE_TYPE_MISMATCH]:"Ensure the value matches one of the expected types: [{expectedTypes}].",[M.SELECTOR_KIND_MISMATCH]:"Use a selector of the correct kind: [{selectorKinds}].",[M.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE]:"Either add 'selector' to expectedTypes or remove selectorKinds.",[M.KEYWORD_COLLISION]:"Give each command a unique keyword. Move the shared keyword to alternatives on one command, or use a more specific translation."};}}),hu={};t0(hu,{SchemaErrorCodes:()=>M,formatValidationResults:()=>l0,getValidationStats:()=>c0,validateAllKeywordCollisions:()=>m0,validateAllSchemas:()=>s0,validateCommandSchema:()=>Eu,validateKeywordCollisions:()=>gu,validateRoleValues:()=>p0});function n0(e,t){return {action:e,items:t}}function Eu(e){let t=[];for(let n of e.roles)n.expectedTypes.includes("literal")&&n.expectedTypes.includes("selector")&&(n.role==="patient"&&Qn.has(e.action)?t.push(Te(M.MULTI_TYPE_PATIENT_EXPECTED,"note",{role:n.role,command:e.action},n.role)):t.push(Te(M.AMBIGUOUS_TYPE_LITERAL_SELECTOR,"warning",{role:n.role},n.role))),n.expectedTypes.length>3&&!Qn.has(e.action)&&t.push(Te(M.TOO_MANY_EXPECTED_TYPES,"warning",{role:n.role,count:n.expectedTypes.length},n.role));for(let n of e.roles)n.selectorKinds&&n.selectorKinds.length>0&&(n.expectedTypes.includes("selector")||t.push(Te(M.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE,"warning",{role:n.role},n.role)));switch(e.action){case "transition":i0(e,t);break;case "on":a0(e,t);break;case "if":case "unless":o0(e,t);break;case "repeat":case "for":case "while":u0(e,t);break}return e.roles.filter(n=>n.required).length===0&&(wu.has(e.action)?t.push(Te(M.NO_REQUIRED_ROLES_EXPECTED,"note",{command:e.action})):t.push(Te(M.NO_REQUIRED_ROLES,"warning",{}))),n0(e.action,t)}function i0(e,t){let r=e.roles.find(i=>i.role==="patient"),n=e.roles.find(i=>i.role==="goal");r&&!n&&t.push(Te(M.TRANSITION_MISSING_GOAL,"error",{}));}function a0(e,t){let r=e.roles.find(n=>n.role==="event");r||t.push(Te(M.EVENT_HANDLER_MISSING_EVENT,"warning",{})),r&&!r.required&&t.push(Te(M.EVENT_HANDLER_EVENT_NOT_REQUIRED,"warning",{}));}function o0(e,t){let r=e.roles.find(n=>n.role==="condition");r||t.push(Te(M.CONDITIONAL_MISSING_CONDITION,"warning",{})),r&&!r.required&&t.push(Te(M.CONDITIONAL_CONDITION_NOT_REQUIRED,"warning",{}));}function u0(e,t){e.action==="for"?e.roles.find(n=>n.role==="source")||t.push(Te(M.FOR_LOOP_MISSING_SOURCE,"warning",{})):e.action==="while"&&(e.roles.find(n=>n.role==="condition")||t.push(Te(M.WHILE_LOOP_MISSING_CONDITION,"warning",{})));}function s0(e,t={}){let r=new Map,{includeNotes:n=false}=t;for(let[i,a]of Object.entries(e)){let o=Eu(a),u=o.items.some(l=>l.severity==="warning"||l.severity==="error"),s=n&&o.items.some(l=>l.severity==="note");(u||s)&&r.set(i,o);}return r}function l0(e,t={}){let r=[],{showNotes:n=false,showCodes:i=true}=t;for(let[a,o]of e){let u=o.items.filter(c=>c.severity==="error"),s=o.items.filter(c=>c.severity==="warning"),l=o.items.filter(c=>c.severity==="note");if(u.length>0){r.push(` \u274C ${a}:`);for(let c of u){let p=i?` [${c.code}]`:"";r.push(` ERROR${p}: ${c.message}`),c.suggestion&&r.push(` \u{1F4A1} Suggestion: ${c.suggestion}`);}}if(s.length>0){r.push(` \u26A0\uFE0F ${a}:`);for(let c of s){let p=i?` [${c.code}]`:"";r.push(` ${p?`${c.code}: `:""}${c.message}`),c.suggestion&&r.push(` \u{1F4A1} ${c.suggestion}`);}}if(n&&l.length>0){r.push(` \u2139\uFE0F ${a}:`);for(let c of l){let p=i?` [${c.code}]`:"";r.push(` ${p?`${c.code}: `:""}${c.message}`);}}}return r.join(`
3
- `)}function c0(e){let t=0,r=0,n=0,i={};for(let a of e.values())for(let o of a.items)o.severity==="error"?t++:o.severity==="warning"?r++:o.severity==="note"&&n++,i[o.code]=(i[o.code]||0)+1;return {totalCommands:e.size,errors:t,warnings:r,notes:n,byCode:i}}function p0(e,t){let r=[];for(let n of t){let i=e.roles.find(a=>a.role===n.role);i&&(i.expectedTypes.length>0&&!i.expectedTypes.includes(n.type)&&(i.expectedTypes.includes("expression")||r.push({level:"error",role:n.role,message:`${e.action}.${n.role} expects type [${i.expectedTypes.join(", ")}], got '${n.type}'`,code:M.VALUE_TYPE_MISMATCH})),n.type==="selector"&&n.selectorKind&&i.selectorKinds&&i.selectorKinds.length>0&&(i.selectorKinds.includes(n.selectorKind)||r.push({level:"error",role:n.role,message:`${e.action}.${n.role} expects selector kind [${i.selectorKinds.join(", ")}], got '${n.selectorKind}'`,code:M.SELECTOR_KIND_MISMATCH})));}return r}function d0(e){if(e.length!==2)return false;let[t,r]=[...e].sort();return ku.some(([n,i])=>n===t&&i===r)}function gu(e){let t=[];if(!e.keywords)return {language:e.code,collisions:t};let r=new Map;for(let[i,a]of Object.entries(e.keywords)){if(!a||!a.primary)continue;let o=r.get(a.primary)||[];if(o.push({command:i,isPrimary:true}),r.set(a.primary,o),a.alternatives)for(let u of a.alternatives){let s=r.get(u)||[];s.push({command:i,isPrimary:false}),r.set(u,s);}}for(let[i,a]of r){let o=[...new Set(a.map(l=>l.command))];if(o.length<=1||d0(o))continue;let u=a.filter(l=>l.isPrimary).length,s;u>=2?s="primary-primary":u===1?s="primary-alternative":s="alternative-alternative",t.push({keyword:i,commands:o.sort(),type:s});}let n={"primary-primary":0,"primary-alternative":1,"alternative-alternative":2};return t.sort((i,a)=>n[i.type]-n[a.type]),{language:e.code,collisions:t}}function m0(e){let t=[];for(let[,r]of Object.entries(e)){let n=gu(r);n.collisions.length>0&&t.push(n);}return t.sort((r,n)=>r.language.localeCompare(n.language))}var Qn,wu,ku,f0=fu({"src/generators/schema-validator.ts"(){r0(),Qn=new Set(["put","append","prepend","log","throw","make","measure","return","swap","morph","beep","ask","answer","copy"]),wu=new Set(["compound","else","halt","continue","init","settle","focus","blur","show","hide","return","js","measure","break","exit","beep","empty","open","close","select","clear","reset","breakpoint","viewTransition","live","eventsource","socket","worker","intercept"]),ku=[["change","changes"]];}}),Cu=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document","true","false","null","undefined","empty"]),Qr=new Set("em ex cap ch ic rem lh rlh vw vh vi vb vmin vmax cm mm Q pc pt px %".split(" "));function y0(e){let t=/^(?:\d+(?:\.\d+)?|\((.*)\))([A-Za-z]+|%)$/.exec(e);return !t||!Qr.has(t[2])?false:t[1]===void 0||bu.test(t[1])}var bu=/^\s*(?:[$:]?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*|\d+(?:\.\d+)?)(?:\s*[-+*/%]\s*(?:[$:]?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*|\d+(?:\.\d+)?))*\s*$/,v0={ar:"\u0639\u0646\u0635\u0631",bn:"\u0989\u09AA\u09BE\u09A6\u09BE\u09A8",de:"element",es:"elemento",fr:"\xE9l\xE9ment",he:"\u05D0\u05DC\u05DE\u05E0\u05D8",hi:"\u0924\u0924\u094D\u0935",id:"elemen",it:"elemento",ja:"\u8981\u7D20",ko:"\uC694\uC18C",ms:"elemen",pl:"element",pt:"elemento",qu:"raku",ru:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",sw:"kipengele",th:"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A",tl:"elemento",tr:"\xF6\u011Fe",uk:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442",vi:"ph\u1EA7n t\u1EED",zh:"\u5143\u7D20"};function gi(e){return v0[e]??"element"}var Qe=new Map,Xe=new Map,Lt=new Map,Xn=null;function zu(e,t){let r={...e};for(let n of Object.keys(t)){let i=t[n],a=e[n];i!==void 0&&(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof a=="object"&&a!==null&&!Array.isArray(a)?r[n]=zu(a,i):r[n]=i);}return r}function h0(e,t){return zu(e,t)}function wi(e){if(!e.extends)return e;let t=Xe.get(e.extends);if(!t)return console.warn(`[Registry] Profile '${e.code}' extends '${e.extends}' but base is not registered. Make sure to import the base language before the variant.`),e;let r=wi(t);return h0(r,e)}function Xr(e,t,r){Qe.set(e,t),Xe.set(e,r),Lt.delete(e);}function E0(e){Xn=e;}var Jn=new Map;function Au(e,t){Jn.set(e,t),Lt.delete(e);}function vt(e){return e.split("-")[0]}function ht(e){return e.includes("-")}function g0(e){let t=Qe.get(e);if(!t&&ht(e)){let r=vt(e);t=Qe.get(r);}if(!t){let r=Array.from(Qe.keys()).join(", ");throw new Error(`Language '${e}' is not registered. Registered languages: ${r||"none"}. Import the language module first: import '@lokascript/semantic/languages/${e}';`)}return t}function w0(e){let t=Xe.get(e);if(!t&&ht(e)){let r=vt(e);t=Xe.get(r);}if(!t){let r=Array.from(Xe.keys()).join(", ");throw new Error(`Language profile '${e}' is not registered. Registered languages: ${r||"none"}. Import the language module first: import '@lokascript/semantic/languages/${e}';`)}return wi(t)}function k0(e){let t=Qe.get(e);return !t&&ht(e)&&(t=Qe.get(vt(e))),t}function F(e){let t=Xe.get(e);return !t&&ht(e)&&(t=Xe.get(vt(e))),t?wi(t):void 0}function C0(){return Array.from(Qe.keys())}function xu(e){if(Qe.has(e)&&Xe.has(e))return true;if(ht(e)){let t=vt(e);return Qe.has(t)&&Xe.has(t)}return false}function b0(e,t){let r=g0(t),n=z0(S0(D0(r.tokenize(e),e,t),t),t);return t==="en"?n:B0(n,t)}function z0(e,t){let r=e.tokens,n=[],i=false,a=(o,u)=>!!o&&!!u&&o.position.end===u.position.start;for(let o=0;o<r.length;o++){let u=r[o],s=r[o+1],l=r[o+2];if(u.kind==="selector"&&/^\[@[\w-]+\]$/.test(u.value)){n.push({...u,value:u.value.slice(1,-1),kind:"identifier"}),i=true;continue}let c=t==="en"?A0[u.value.toLowerCase()]:void 0;if(c&&s&&(/^@[\w-]+$/.test(s.value)||/^\[@[\w-]+\]$/.test(s.value))){n.push({...u,value:c,normalized:c}),i=true;continue}if(/^@[\w-]+$/.test(u.value)&&s?.value==="="&&a(u,s)&&l&&a(s,l)&&(l.kind==="literal"||/^[\w-]+$/.test(l.value))){n.push({value:`${u.value}=${l.value}`,kind:u.kind,position:{...u.position,end:l.position.end}}),o+=2,i=true;continue}if(u.kind==="identifier"&&/^[:$]?[A-Za-z_][\w]*$/.test(u.value)&&s&&a(u,s)&&s.value.startsWith("[")&&s.value.endsWith("]")){n.push({value:`${u.value}${s.value}`,kind:"identifier",position:{...u.position,end:s.position.end}}),o+=1,i=true;continue}if(u.kind==="literal"&&/^\d+(\.\d+)?$/.test(u.value)&&s&&a(u,s)&&Qr.has(s.value)&&!(l&&a(s,l)&&/^[\w.]/.test(l.value))){n.push({value:`${u.value}${s.value}`,kind:"literal",position:{...u.position,end:s.position.end}}),o+=1,i=true;continue}if(u.value==="("&&!a(n[n.length-1],u)){let p=x0(r,o);if(p!==void 0){let m=r[p+1];n.push({value:r.slice(o,p+2).map((y,f,d)=>f===0?y.value:" ".repeat(y.position.start-d[f-1].position.end)+y.value).join(""),kind:"literal",position:{...u.position,end:m.position.end}}),o=p+1,i=true;continue}}n.push(u);}return i?new ee(n,t):e}var A0={it:"its",me:"my",you:"your"};function x0(e,t){let r=t+1;for(;r<e.length&&e[r].value!==")";){if(e[r].value==="(")return;r++;}let n=e[r],i=e[r+1];if(!n||!i||n.position.end!==i.position.start||!Qr.has(i.value))return;let a=e.slice(t+1,r).map((o,u,s)=>u===0?o.value:" ".repeat(o.position.start-s[u-1].position.end)+o.value).join("");return bu.test(a)?r:void 0}var $n=new Set(["global","element","local","dom"]);function jn(e){return !!e&&e.kind==="identifier"&&/^[A-Za-z_][\w]*$/.test(e.value)}function S0(e,t){let r=e.tokens,n=[],i=false,a=(s,l)=>!!s&&!!l&&s.position.end===l.position.start,o=gi(t).toLowerCase().split(/\s+/),u=s=>o[0]!=="element"&&o.every((l,c)=>r[s+c]?.value.toLowerCase()===l)?o.length:0;for(let s=0;s<r.length;s++){let l=r[s],c=l.value.toLowerCase(),p=u(s),m=r[s+p];if(p>0&&jn(m)&&!$n.has(m.value.toLowerCase())){n.push({value:`element ${m.value}`,kind:"identifier",position:{...l.position,end:m.position.end}}),s+=p,i=true;continue}if(!jn(l)||!$n.has(c)){n.push(l);continue}let y=r[s+1],f=r[s+2],d=c==="element"&&y?.value==="'"&&f?.value.toLowerCase()==="s"&&a(l,y)&&a(y,f),v=r[d?s+3:s+1];if(!jn(v)||$n.has(v.value.toLowerCase())){n.push(l);continue}let E=n[n.length-1],w=d&&E?.value.toLowerCase()==="the";w&&n.pop();let g=(w?E:l).position.start,z=d?`${l.value}'s`:l.value;n.push({value:`${w?`${E.value} `:""}${z} ${v.value}`,kind:"identifier",position:{...l.position,start:g,end:v.position.end}}),s=d?s+3:s+1,i=true;}return i?new ee(n,t):e}function D0(e,t,r){if(!t.includes(`
1
+ var HyperscriptI18n=(function(exports){'use strict';function St(e,t){return t?{type:"literal",value:e,dataType:t}:{type:"literal",value:e}}function ma(e,t){return t?{type:"selector",value:e,selectorKind:t}:{type:"selector",value:e}}function Gl(e){return {type:"reference",value:e}}function fa(e,t=true){return {type:"flag",name:e,enabled:t}}function Yl(e,t,r){let n=t instanceof Map?t:new Map(Object.entries(t)),i={kind:"command",action:e,roles:n};return r?{...i,metadata:r}:i}function ya(e,t,r,n,i){let a=t instanceof Map?t:new Map(Object.entries(t));return {kind:"event-handler",action:e,roles:a,body:r,...i,...n&&{metadata:n}}}function Zl(e,t,r,n,i){let a=t instanceof Map?t:new Map(Object.entries(t));return {kind:"conditional",action:e,roles:a,thenBranch:r,...n&&{elseBranch:n},...i&&{metadata:i}}}function Ql(e,t,r,n,i,a,o){let u=t instanceof Map?t:new Map(Object.entries(t));return {kind:"loop",action:e,roles:u,loopVariant:r,body:n,...i&&{loopVariable:i},...a&&{indexVariable:a},...o&&{metadata:o}}}var Sn=new Set(["me","you","it","result","event","target","body","document","window","detail"]);function br(e,t=Sn){return t.has(e)}var va=new Set(["body","then","else","condition","loop-body","variable","catch","finally"]),Xl=new Set(["repeat","for"]),Jl=new Set(["loop-variant","index-variable"]);function zr(e,t={}){let r=e.trim(),n=t.collectDiagnostics===true,i=[];if(!r.startsWith("[")||!r.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let a=r.slice(1,-1).trim();if(!a)throw new Error("Empty explicit statement");let o=rc(a);if(o.length===0)throw new Error("No command specified in explicit statement");let u=o[0].toLowerCase(),s=new Map,l=t.referenceSet??Sn,c=t.schemaLookup?.getSchema(u),p=c?new Set(c.roles.map(y=>y.role)):null;for(let y=1;y<o.length;y++){let f=o[y];if(f.startsWith("+")||f.startsWith("~")){let z=f.startsWith("+"),S=f.slice(1);if(!S){if(n){i.push({severity:"error",code:"EMPTY_FLAG",message:`Empty flag name: "${f}"`,source:"schema"});continue}throw new Error(`Empty flag name: "${f}"`)}if(p&&!p.has(S)){if(n){i.push({severity:"error",code:"UNKNOWN_FLAG",message:`Unknown flag "${S}" for command "${u}"`,source:"schema",suggestions:[...p].map(h=>`+${h}`)}),s.set(S,fa(S,z));continue}throw new Error(`Unknown flag "${S}" for command "${u}". Valid roles: ${[...p].join(", ")}`)}s.set(S,fa(S,z));continue}let d=f.indexOf(":");if(d===-1){if(n){i.push({severity:"error",code:"INVALID_ROLE_FORMAT",message:`Invalid role format: "${f}". Expected role:value or +flag`,source:"schema"});continue}throw new Error(`Invalid role format: "${f}". Expected role:value or +flag`)}let v=f.slice(0,d);if(p&&!va.has(v)&&!(Xl.has(u)&&Jl.has(v))&&!p.has(v))if(n)i.push({severity:"error",code:"UNKNOWN_ROLE",message:`Unknown role "${v}" for command "${u}"`,source:"schema",suggestions:[...p]});else throw new Error(`Unknown role "${v}" for command "${u}". Valid roles: ${[...p].join(", ")}`);let g=v,w=f.slice(d+1);if(va.has(v)&&w.startsWith("[")){let z=ic(f,d+1),S=f.slice(d+1,z+1);s.set(g,{type:"expression",raw:S});continue}let E=nc(w,l);s.set(g,E);}if(c&&u!=="on"){for(let y of c.roles)if(y.required&&!s.has(y.role)&&!y.default)if(n)i.push({severity:"error",code:"MISSING_REQUIRED_ROLE",message:`Missing required role "${y.role}" for command "${u}": ${y.description}`,source:"schema"});else throw new Error(`Missing required role "${y.role}" for command "${u}": ${y.description}`)}let m=y=>i.length===0?y:{...y,diagnostics:i};switch(u){case "on":{if(!s.get("event")){if(n)return i.push({severity:"error",code:"MISSING_EVENT_ROLE",message:"Event handler requires event role: [on event:click ...]",source:"schema"}),m(ya("on",s,[],{sourceLanguage:"explicit"}));throw new Error("Event handler requires event role: [on event:click ...]")}let f=Cr(s,"body",t);return s.delete("body"),m(ya("on",s,f,{sourceLanguage:"explicit"}))}case "if":{let y=Cr(s,"then",t),f=Cr(s,"else",t);return s.delete("then"),s.delete("else"),m(Zl(u,s,y,f.length>0?f:void 0,{sourceLanguage:"explicit"}))}case "repeat":case "for":{let y=Cr(s,"loop-body",t),f=s.get("loop-variant"),d=s.get("variable"),v=s.get("index-variable");s.delete("loop-body"),s.delete("loop-variant"),s.delete("variable"),s.delete("index-variable");let g;f&&f.type==="literal"&&typeof f.value=="string"?g=f.value:s.has("quantity")?g="times":s.has("source")?g="for":s.has("condition")?g="while":g="forever";let w=d?.type==="literal"&&typeof d.value=="string"?d.value:d?.type==="expression"?d.raw:void 0,E=v?.type==="literal"&&typeof v.value=="string"?v.value:void 0;return m(Ql(u,s,g,y,w,E,{sourceLanguage:"explicit"}))}default:return m(Yl(u,s,{sourceLanguage:"explicit"}))}}function Dn(e){let t=e.trim();return t.startsWith("[")&&t.endsWith("]")}function Cr(e,t,r){let n=e.get(t);return n?n.type==="expression"?[zr(n.raw,r)]:[]:[]}function ec(e){let t="";for(let r of e){if(t){r===t&&(t="");continue}if(r==='"'||r==="'"){t=r;continue}if(r===" "||r===">"||r==="+"||r==="~"||r===",")return true}return false}function ha(e){if(e){if(ec(e))return "complex";if(e.startsWith("#"))return "id";if(e.startsWith("."))return "class";if(e.startsWith("["))return "attribute";if(e.startsWith("*"))return "element"}}function tc(e){if(!e.includes("\\"))return e;let t="";for(let r=0;r<e.length;r++){if(e[r]==="\\"&&r+1<e.length){let n=e[r+1],i=n==="\\"?"\\":n==='"'?'"':n==="'"?"'":n==="n"?`
2
+ `:n==="r"?"\r":n==="t"?" ":"";if(i){t+=i,r++;continue}}t+=e[r];}return t}function rc(e){let t=[],r="",n=false,i="",a=false,o=0;for(let u=0;u<e.length;u++){let s=e[u];if(n){if(r+=s,s===i){let l=0;for(let c=u-1;c>=0&&e[c]==="\\";c--)l++;l%2===0&&(n=false);}continue}if(s==='"'||s==="'"){n=true,i=s,r+=s;continue}if(a){r+=s,s===">"&&r.endsWith("/>")&&(a=false);continue}if(s==="<"&&(r===""||r.endsWith(":"))){a=true,r+=s;continue}if(s==="["){o++,r+=s;continue}if(s==="]"){o--,r+=s;continue}if(s===" "&&o===0){r&&(t.push(r),r="");continue}r+=s;}return r&&t.push(r),t}function nc(e,t){if(e.startsWith("<")){if(!e.endsWith("/>"))throw new Error(`Unterminated selector literal: "${e}". Expected a closing "/>"`);let i=e.slice(1,-2);if(!i)throw new Error(`Empty selector literal: "${e}"`);return ma(i,ha(i))}if(e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("@")||e.startsWith("*"))return ma(e,ha(e));if(e.startsWith('"')||e.startsWith("'"))return St(tc(e.slice(1,-1)),"string");if(e==="true")return St(true,"boolean");if(e==="false")return St(false,"boolean");let r=e.toLowerCase();if(br(r,t))return Gl(r);let n=e.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(n){let i=parseFloat(n[1]);return n[2]?St(e,"duration"):St(i,"number")}return St(e)}function ic(e,t){let r=0;for(let n=t;n<e.length;n++)if(e[n]==="[")r++;else if(e[n]==="]"&&(r--,r===0))return n;return e.length-1}function Pe(e){let t;if(e.kind==="compound"){let r=e;t=r.statements.map(n=>Pe(n)).join(` ${r.chainType} `);}else t=ac(e);return e.annotations&&e.annotations.length>0?e.annotations.map(n=>n.value!==void 0?`@${n.name}(${n.value})`:`@${n.name}`).join(" ")+" "+t:t}function ac(e){let t=[e.action];for(let[r,n]of e.roles)n.type==="flag"?t.push(n.enabled?`+${n.name}`:`~${n.name}`):t.push(`${r}:${Ea(n)}`);if(e.kind==="event-handler"){let r=e;r.body&&r.body.length>0&&t.push(`body:${r.body.map(n=>Pe(n)).join(" ")}`);}if(e.kind==="conditional"){let r=e;r.thenBranch&&r.thenBranch.length>0&&t.push(`then:${r.thenBranch.map(n=>Pe(n)).join(" ")}`),r.elseBranch&&r.elseBranch.length>0&&t.push(`else:${r.elseBranch.map(n=>Pe(n)).join(" ")}`);}if(e.kind==="loop"){let r=e;r.loopVariant&&t.push(`loop-variant:${r.loopVariant}`),r.loopVariable&&t.push(`variable:${r.loopVariable}`),r.indexVariable&&t.push(`index-variable:${r.indexVariable}`),r.body&&r.body.length>0&&t.push(`loop-body:${r.body.map(n=>Pe(n)).join(" ")}`);}if(e.kind==="command"){let r=e;r.body&&r.body.length>0&&t.push(`body:${r.body.map(n=>Pe(n)).join(" ")}`),r.catchBranch&&r.catchBranch.length>0&&t.push(`catch:${r.catchBranch.map(n=>Pe(n)).join(" ")}`),r.finallyBranch&&r.finallyBranch.length>0&&t.push(`finally:${r.finallyBranch.map(n=>Pe(n)).join(" ")}`),r.asyncVariant&&t.push(`async-variant:${r.asyncVariant}`),r.asyncBody&&r.asyncBody.length>0&&t.push(`async-body:${r.asyncBody.map(n=>Pe(n)).join(" ")}`);}return `[${t.join(" ")}]`}function oc(e){if(e.includes(" "))return true;let t=e[0];return !(t==="#"||t==="."||t==="@"||t==="*")}function Ea(e){switch(e.type){case "literal":return typeof e.value=="string"?e.dataType==="string"||/\s/.test(e.value)?JSON.stringify(e.value):e.value:String(e.value);case "selector":return e.value&&oc(e.value)?`<${e.value}/>`:e.value;case "reference":return e.value;case "property-path":return `${Ea(e.object)}'s ${e.property}`;case "expression":return e.raw;case "flag":return e.name}}var ee=class{constructor(e,t){this.pos=0,this.tokens=e,this.language=t;}peek(e=0){let t=this.pos+e;return t<0||t>=this.tokens.length?null:this.tokens[t]}advance(){if(this.isAtEnd())throw new Error("Unexpected end of token stream");return this.tokens[this.pos++]}isAtEnd(){return this.pos>=this.tokens.length}mark(){return {position:this.pos}}reset(e){this.pos=e.position;}position(){return this.pos}remaining(){return this.tokens.slice(this.pos)}takeWhile(e){let t=[];for(;!this.isAtEnd()&&e(this.peek());)t.push(this.advance());return t}skipWhile(e){for(;!this.isAtEnd()&&e(this.peek());)this.advance();}};function le(e,t){return {start:e,end:t}}function ce(e,t,r,n){if(typeof e=="object"){let{value:a,kind:o,position:u,normalized:s,stem:l,stemConfidence:c,metadata:p}=e;return {value:a,kind:o,position:u,...s!==void 0&&{normalized:s},...l!==void 0&&{stem:l},...c!==void 0&&{stemConfidence:c},...p!==void 0&&{metadata:p}}}let i=e;if(!t||!r)throw new Error("createToken requires kind and position parameters");if(typeof n=="string")return {value:i,kind:t,position:r,normalized:n};if(n){let{normalized:a,stem:o,stemConfidence:u,metadata:s}=n;return {value:i,kind:t,position:r,...a!==void 0&&{normalized:a},...o!==void 0&&{stem:o},...u!==void 0&&{stemConfidence:u},...s!==void 0&&{metadata:s}}}return {value:i,kind:t,position:r}}function Dt(e){return /\s/.test(e)}function uc(e){return e==="#"||e==="."||e==="["||e==="@"||e==="*"||e==="<"}function sc(e){return e==='"'||e==="'"||e==="`"||e==="\u300C"||e==="\u300D"}function dt(e){return /\d/.test(e)}function Tn(e){return e.replace(/[\u064b-\u0652\u0670]/g,"")}function lc(e){return /[a-zA-Z]/.test(e)}function Ae(e){return /[a-zA-Z0-9_-]/.test(e)}function Ca(e){return e.tokens.some(t=>t.type==="role"||t.type==="group"&&Ca(t))}var ba=class{constructor(e,t){this.patternRest=[],this.slotAfterLiteral=false,this.matchCache=new Map,this.roleStarts=new Map,this.stemMatchCount=0,this.totalKeywordMatches=0,this.confidenceModel=t,this.reader=e({patternRest:()=>this.patternRest,slotAfterLiteral:()=>this.slotAfterLiteral,wouldMatch:(r,n)=>this.patternTokenWouldMatch(r,n)});}matchPattern(e,t){let r=e.mark(),n=new Map;if(this.reader.beginPattern(t),this.stemMatchCount=0,this.totalKeywordMatches=0,this.roleStarts=new Map,this.patternRest=[],!this.matchTokenSequence(e,t.template.tokens,n))return e.reset(r),null;let a=this.confidenceModel.calculate({pattern:t,captured:n,stemMatchCount:this.stemMatchCount,totalKeywordMatches:this.totalKeywordMatches});return this.applyExtractionRules(t,n),{pattern:t,captured:n,consumedTokens:e.position()-r.position,confidence:a,roleStarts:this.roleStarts,...this.reader.resultFields?.()}}matchBest(e,t){this.matchCache.clear();let r=[],n=e.position();for(let a of t){let o=e.mark(),u=`${n}:${a.id}`,s;this.matchCache.has(u)?s=this.matchCache.get(u):(s=this.matchPattern(e,a),this.matchCache.set(u,s)),s&&r.push(s),e.reset(o);}if(r.length===0)return null;r.sort((a,o)=>{let u=o.pattern.priority-a.pattern.priority;return u!==0?u:o.confidence-a.confidence});let i=r[0];return this.matchPattern(e,i.pattern),i}matchTokenSequence(e,t,r,n){this.reader.skipLeading?.(e,t);for(let i=0;i<t.length;i++){let a=t[i];if(this.reader.beforePatternToken?.(e,t,i,r),this.reader.maySkipSlot(a,e.peek(),t[i+1]??n)){let s=e.mark(),l=new Map(r);if(this.matchTokenSequence(e,t.slice(i+1),l,n)&&this.reader.atClauseEnd(e)){r.clear();for(let[c,p]of l)r.set(c,p);return true}e.reset(s);}let o=this.patternRest;this.patternRest=[...t.slice(i+1),...o],this.slotAfterLiteral=a.type==="role"&&t[i-1]?.type==="literal";let u=this.matchPatternToken(e,a,r,t[i+1]??n);if(this.patternRest=o,!u){if(this.isOptional(a))continue;return false}}return true}matchPatternToken(e,t,r,n){switch(t.type){case "literal":return this.matchLiteralToken(e,t);case "role":{let i=e.position(),a=this.reader.readRole(e,t,r,n);return a&&r.has(t.role)&&this.roleStarts.set(t.role,i),a}case "group":return this.matchGroupToken(e,t,r,n);default:return false}}matchLiteralToken(e,t){let r=e.peek();if(!r)return false;let n=this.getMatchType(r,t.value);if(n!=="none")return this.totalKeywordMatches++,n==="stem"&&this.stemMatchCount++,e.advance(),true;if(t.alternatives)for(let i of t.alternatives){let a=this.getMatchType(r,i);if(a!=="none")return this.totalKeywordMatches++,a==="stem"&&this.stemMatchCount++,e.advance(),true}for(let i of [t.value,...t.alternatives??[]])for(let a of ["-","_"])if(i.includes(a)&&this.tryMatchShatteredCompound(e,i,a))return this.totalKeywordMatches++,true;return false}tryMatchShatteredCompound(e,t,r){let n=t.split(r);if(n.length<2||n.some(a=>a.length===0))return false;let i=e.mark();for(let a=0;a<n.length;a++){if(a>0){let u=e.peek();if(!u||u.value!==r)return e.reset(i),false;e.advance();}let o=e.peek();if(!o||o.kind!=="identifier"&&o.kind!=="keyword"&&o.kind!=="particle"||o.value.toLowerCase()!==n[a].toLowerCase())return e.reset(i),false;e.advance();}return true}matchGroupToken(e,t,r,n){let i=e.mark(),a=new Map(r),o=this.matchTokenSequence(e,t.tokens,r,n);if(o&&e.position()>i.position&&Ca(t)&&[...r].every(([u,s])=>a.get(u)===s)&&r.size===a.size&&(o=false),o){let u=[];for(let s of t.tokens)if(s.type==="group"&&s.renderRequired)for(let l of s.tokens)l.type==="literal"&&u.push(l.value,...l.alternatives??[]);if(u.length>0&&[...r.keys()].some(l=>!a.has(l))){let l=e.tokens[e.position()-1];l!==void 0&&e.position()>i.position&&u.some(p=>this.getMatchType(l,p)!=="none")||(o=false);}}if(!o){e.reset(i);for(let u of r.keys())a.has(u)||r.delete(u);for(let[u,s]of a)r.get(u)!==s&&r.set(u,s);return t.optional||false}return true}patternTokenWouldMatch(e,t){return e?e.type==="literal"?this.getMatchType(t,e.value)!=="none"?true:!!e.alternatives?.some(r=>this.getMatchType(t,r)!=="none"):e.type==="group"?this.patternTokenWouldMatch(e.tokens?.[0],t):false:false}getMatchType(e,t){if(e.value===t)return "exact";if(e.normalized===t)return "normalized";if(e.stem===t&&e.stemConfidence!==void 0&&e.stemConfidence>=.7)return "stem";if(e.kind==="keyword"&&e.value.toLowerCase()===t.toLowerCase())return "case-insensitive";if(e.kind==="keyword"){let r=Tn(e.value).toLowerCase();if(r&&r===Tn(t).toLowerCase())return "case-insensitive"}return "none"}applyExtractionRules(e,t){for(let[r,n]of Object.entries(e.extraction)){let i=t.get(r);if(i){if(n.transform){let a=i.type==="literal"?String(i.value):String(i.raw??"");t.set(r,n.transform(a));}}else if(n.value!==void 0)t.set(r,n.valueIsExpression?{type:"expression",raw:n.value}:{type:"literal",value:n.value});else if(n.default){let a={...n.default,implicit:true};t.set(r,a);}}}isOptional(e){return e.type!=="literal"&&e.optional===true}};function za(e){return {generatePattern:(t,r,n)=>pt(e,t,r,n),generateSimplePattern:(t,r,n)=>xa(e,t,r,n),generateVerbFirstPattern:(t,r,n)=>Bn(t,r,n),generatePatternVariants:(t,r,n)=>dc(e,t,r,n),buildRoleToken:Da}}function Fn(e){return e.roles.some(t=>t.variantOnly)?{...e,roles:e.roles.filter(t=>!t.variantOnly)}:e}function Aa(e,t,r){let n=t==="SOV"?"sovPosition":"svoPosition";return [...e].sort((i,a)=>r==="ascending"?(i[n]??99)-(a[n]??99):(a[n]??0)-(i[n]??0))}function cc(e,t){let r=e.markerOverride?.[t.code],n=t.roleMarkers[e.role];if(r!==void 0){let i=pc(e,t.code,r);return {primary:r,...i&&{alternatives:i},position:n?.position??"before",isOverride:true}}if(n&&n.primary){let i={primary:n.primary,position:n.position,isOverride:false};return n.alternatives&&(i.alternatives=n.alternatives),i}return null}function pc(e,t,r){let n=e.markerLegacy?.[t];if(!n?.length)return;let i=[...new Set(n)].filter(a=>a&&a!==r);return i.length?i:void 0}function We(e,t,r){let n=e.markerLegacy?.[t]??[],i=e.methodCarrier?[]:e.markerVariants?.[t]??[],a=[...new Set([...n,...i])].filter(o=>o&&o!==r);return a.length?a:void 0}var xr={basePriority:100,generateSimpleVariants:true,generateAlternatives:true};function pt(e,t,r,n=xr){let i=`${t.action}-${r.code}-generated`,a=n.basePriority??100,o=r.keywords[t.action];if(!o)throw new Error(`No keyword translation for '${t.action}' in ${r.code}`);let u=mc(e,t,r,o),s=Ln(t,r),l=vc(e,t,r,o);return {id:i,language:r.code,command:t.action,priority:a,template:{format:l,tokens:u},extraction:s}}function xa(e,t,r,n=xr){if(t.roles.filter(s=>!s.required).length===0)return null;let a=t.roles.filter(s=>s.required),o={...t,roles:a};return {...pt(e,o,r,n),id:`${t.action}-${r.code}-generated-simple`,priority:(n.basePriority??100)-5,extraction:Ln(t,r)}}function Bn(e,t,r=xr){if(t.wordOrder!=="SOV")return null;let n=e.roles.filter(u=>u.required);if(n.length!==1)return null;let i=t.keywords[e.action];if(!i)return null;let a=i.alternatives?{type:"literal",value:i.primary,alternatives:i.alternatives}:{type:"literal",value:i.primary},o=n.flatMap(u=>{let s=u.valuePrefixLiteral?.[t.code],l=Sa(u,t.code),c={type:"role",role:u.role,optional:false,expectedTypes:u.expectedTypes,...l?{words:l}:{}};return s?[{type:"literal",value:s},c]:[c]});return {id:`${e.action}-${t.code}-generated-verb-first`,language:t.code,command:e.action,priority:(r.basePriority??100)-20,template:{format:`${i.primary} <${n[0].role}>`,tokens:[a,...o]},extraction:Ln(e,t)}}function dc(e,t,r,n=xr){let i=[],a=t;if(t=Fn(t),i.push(pt(e,t,r,n)),n.generateSimpleVariants){let o=xa(e,t,r,n);o&&i.push(o);}for(let o of t.omitRoleVariants??[]){let u={...t,roles:t.roles.filter(l=>l.role!==o)},s=pt(e,u,r,n);i.push({...s,id:`${t.action}-${r.code}-generated-no-${o}`,priority:(n.basePriority??100)-8});}for(let o of t.widenTypeVariants??[]){if(o.excludeLanguages?.includes(r.code))continue;let u={...t,roles:t.roles.map(l=>l.role===o.role?{...l,expectedTypes:[...o.types]}:l)},s=pt(e,u,r,n);i.push({...s,id:`${t.action}-${r.code}-generated-${o.idSuffix}`,priority:(n.basePriority??100)-(o.priorityDelta??15)});}for(let o of a.requiredRoleVariants??[]){let u={...a,roles:a.roles.filter(l=>!o.omit?.includes(l.role)).map(l=>{let c=l.role===o.role?{...l,required:true}:l;return l.role===o.widen?.role?{...c,expectedTypes:[...o.widen.types]}:c})},s=pt(e,u,r,n);i.push({...s,id:`${t.action}-${r.code}-generated-${o.idSuffix}`,priority:(n.basePriority??100)+(o.priorityDelta??5)});}if(n.generateVerbFirstVariants!==false){let o=Bn(t,r,n);o&&i.push(o);}for(let o of t.rolePrefixLiteralVariants??[]){let u=o.literal[r.code];if(!u)continue;let{rolePrefixLiteralVariants:s,...l}=t,c={...l,roles:t.roles.map(f=>f.role===o.role?{...f,valuePrefixLiteral:{[r.code]:u}}:f)},p=o.priorityDelta??5,m=o.methodCarrier?{[o.methodCarrier]:{value:u}}:{},y=pt(e,c,r,n);if(i.push({...y,id:`${t.action}-${r.code}-generated-${o.idSuffix}`,priority:(n.basePriority??100)+p,extraction:{...y.extraction,...m}}),n.generateVerbFirstVariants!==false){let f=Bn(c,r,n);f&&i.push({...f,id:`${t.action}-${r.code}-generated-verb-first-${o.idSuffix}`,priority:(n.basePriority??100)-20+p,extraction:{...f.extraction,...m}});}}return i}function mc(e,t,r,n){let i=[],a=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary},o=r.wordOrder==="SOV"?t.roles.filter(l=>l.sovSlot==="postVerb"):[],u=ga(e,o.length?{...t,roles:t.roles.filter(l=>l.sovSlot!=="postVerb")}:t,r),s=o.length?ga(e,{...t,roles:o},r):[];switch(r.wordOrder){case "SVO":i.push(a),i.push(...u);break;case "SOV":i.push(...u),i.push(a),i.push(...s);break;case "VSO":i.push(a),i.push(...u);break;default:i.push(a),i.push(...u);}return fc(i)}function fc(e){let t=[];for(let r of e){let n=t[t.length-1];if(n&&n.type==="literal"&&r.type==="literal"&&n.value===r.value){let i=[...n.alternatives??[],...r.alternatives??[]];i.length&&(t[t.length-1]={...n,alternatives:[...new Set(i)]});continue}t.push(r);}return t}function ga(e,t,r){let n=[],i=Aa(t.roles,r.wordOrder,e.positionOrder);for(let a of i){let o=Da(a,r);a.required?n.push(...o):n.push({type:"group",optional:true,tokens:o});}return n}function Sa(e,t){if(!e.words)return;let r=[...e.words["*"]??[],...e.words[t]??[]];return r.length>0?r:void 0}function Da(e,t){let r=[],n=e.markerOverride?.[t.code],i=t.roleMarkers[e.role],a=e.renderOverride?.[t.code]==="",o=Sa(e,t.code),u={type:"role",role:e.role,optional:!e.required,expectedTypes:e.expectedTypes,...e.valueShape!==void 0?{valueShape:e.valueShape}:{},...e.greedy?{greedy:true}:{},...o?{words:o}:{}},s=e.valuePrefixLiteral?.[t.code],l=()=>{s&&r.push({type:"literal",value:s}),r.push(u);};if(n!==void 0){let c=n?n.split(/\s+/).filter(Boolean):[],p=n!==void 0&&n===e.markerOverride?.en,m=e.markerPositionOverride?.[t.code]??e.markerPosition??i?.position??(t.wordOrder==="SOV"&&!p?"after":"before"),y=e.markerOptional?.[t.code]===true,f=d=>{let v=c.length===1?We(e,t.code,d)??[]:[],g={type:"literal",value:d,...v.length?{alternatives:v}:{},...a?{renderSuppress:true}:{}};r.push(y?{type:"group",optional:true,tokens:[g]}:g);};if(m==="before"){for(let d of c)f(d);l();}else {l();for(let d of c)f(d);}}else if(i){let c=()=>{let m=[...new Set([...i.alternatives??[],...We(e,t.code,i.primary)??[]])].filter(y=>y!==i.primary);return {type:"literal",value:i.primary,...m.length?{alternatives:m}:{},...a?{renderSuppress:true}:{}}},p=m=>{if(!t.markersOptional&&!e.markerOptional?.[t.code]){r.push(m);return}r.push({type:"group",optional:true,...t.markersOptional&&!e.markerOptional?.[t.code]?{renderRequired:true}:{},tokens:[m]});};(e.markerPosition??i.position)==="before"?(i.primary&&p(c()),l()):(l(),p(c()));}else l();return r}function yc(e,t){let r={};for(let n of e.roles){let i=n.markerOverride?.[t.code],a=t.roleMarkers[n.role];if(n.valuePrefixLiteral?.[t.code])r[n.role]={marker:n.valuePrefixLiteral[t.code]};else if(i!==void 0)if(!i)r[n.role]={};else {let u=!/\s/.test(i.trim())?We(n,t.code,i)??[]:[];r[n.role]=u.length?{marker:i,markerAlternatives:u}:{marker:i};}else if(a&&a.primary){let o=[...new Set([...a.alternatives??[],...We(n,t.code,a.primary)??[]])].filter(u=>u!==a.primary);r[n.role]=o.length?{marker:a.primary,markerAlternatives:o}:{marker:a.primary};}else r[n.role]={};}return r}function Ln(e,t){let r=yc(e,t),n={};for(let i of e.roles){let a=r[i.role]||{};!i.required&&i.default?n[i.role]={...a,default:i.default}:n[i.role]=a;}return n}function vc(e,t,r,n){let i=[],o=Aa(t.roles,r.wordOrder,e.positionOrder).map(u=>{let s=cc(u,r),l="";return s&&s.primary?s.position==="before"?l=`${s.primary} {${u.role}}`:l=`{${u.role}} ${s.primary}`:l=`{${u.role}}`,u.required?l:`[${l}]`});switch(r.wordOrder){case "SVO":case "VSO":i.push(n.primary,...o);break;case "SOV":i.push(...o,n.primary);break;default:i.push(n.primary,...o);}return i.join(" ")}var hc=5,Ec=30;function wa(e){if(e?.default?.type==="literal")return String(e.default.value).trim().toLowerCase();if(e?.value!==void 0)return String(e.value).trim().toLowerCase()}function Ta(e,t,r){let n=t.filter(o=>!o.parseOnly);n.length===0&&(n=t),r.candidates&&(n=r.candidates(e,n));let i=new Map;for(let o of n)for(let[u,s]of Object.entries(o.extraction??{})){let l=wa(s);if(l===void 0)continue;let c=i.get(u)??new Set;c.add(l),i.set(u,c);}let a=n.map(o=>{let u=o.priority,s=m=>r.hasRealRole(e,m),l=(m,y)=>{for(let f of m)f.type==="group"?l(f.tokens,true):f.type==="role"&&(s(f.role)?u+=y?hc:10:!y&&!f.optional&&(u-=50));};l(o.template.tokens,false);let c=new Set,p=m=>{for(let y of m)y.type==="group"?p(y.tokens):y.type==="role"&&c.add(y.role);};p(o.template.tokens);for(let m of e.roles.keys())s(m)&&!c.has(m)&&(u-=Ec);for(let[m,y]of Object.entries(o.extraction??{})){let f=wa(y);if(f===void 0)continue;let d=e.roles.get(m),v=d?.type===(y.valueIsExpression?"expression":"literal")?String(d.type==="expression"?d.raw:d.value).trim().toLowerCase():void 0;v===f?u+=60:(v===void 0||i.get(m)?.has(v))&&(u-=200);}return u+=r.adjustScore?.(o,e)??0,{pattern:o,score:u}});return a.sort((o,u)=>u.score-o.score),a.length>0?a[0].pattern:null}function Ba(e,t,r){let n=[],i=t.language,a=t.template.tokens;for(let o=0;o<a.length;o++){r.beforeToken?.(a,o,n,e,i);let u=r.span?.(a,o,e,i,true);if(u!==void 0){n.push(u.text),o+=u.tokens-1;continue}let s=a[o],l=La(s,e,i,r);l!==null&&(Fa(r,n,l,s,a[o-1],e,i),r.afterToken?.(s,n.length-1,e));}return n}function Fa(e,t,r,n,i,a,o){e.pushPart?e.pushPart(t,r,n,i,a,o):t.push(r);}function La(e,t,r,n){switch(e.type){case "literal":return e.renderSuppress?null:e.value;case "role":return n.writeRole(e,t,r);case "group":{if(!e.tokens.filter(u=>u.type==="role"&&!u.optional).every(u=>t.roles.has(u.role))&&e.optional||n.writeGroup&&!n.writeGroup(e,t,r))return null;let a=[],o=false;for(let u=0;u<e.tokens.length;u++){let s=n.span?.(e.tokens,u,t,r,false);if(s!==void 0){a.push(s.text),o=true,u+=s.tokens-1;continue}let l=e.tokens[u],c=La(l,t,r,n);c!==null&&(Fa(n,a,c,l,e.tokens[u-1],t,r),l.type==="role"&&(o=true));}return e.optional&&!o&&!e.renderRequired?null:a.length>0?a.join(" "):null}default:return null}}var Yt=class{constructor(){this.name="string-literal";}canExtract(e,t){let r=e[t];return r==="'"&&t>0&&/[\p{L}\p{M}\p{N}_)\]]/u.test(e[t-1])?false:r==='"'||r==="'"||r==="`"||r==="\u201C"||r==="\u2018"}extract(e,t){let r=e[t];if(r==="\u201C"){let a=1;for(;t+a<e.length;){if(e[t+a]==="\u201D")return a++,{value:e.substring(t,t+a),length:a};a++;}return null}if(r==="\u2018"){let a=1;for(;t+a<e.length;){if(e[t+a]==="\u2019")return a++,{value:e.substring(t,t+a),length:a};a++;}return null}let n=1,i=false;for(;t+n<e.length;){let a=e[t+n];if(i){i=false,n++;continue}if(a==="\\"){i=true,n++;continue}if(a===r)return n++,{value:e.substring(t,t+n),length:n};n++;}return null}},Zt=class{constructor(){this.name="number";}canExtract(e,t){return /\d/.test(e[t])}extract(e,t){let r=0,n=false;for(;t+r<e.length;){let o=e[t+r];if(/\d/.test(o))r++;else if(o==="."&&!n)n=true,r++;else break}if(r===0)return null;let i=e.substring(t,t+r),a=t+r;if(a<e.length){let o=e.slice(a),u=[{pattern:"\u6BEB\u79D2",suffix:"ms"},{pattern:"\u5206\u949F",suffix:"m"},{pattern:"\u5C0F\u65F6",suffix:"h"},{pattern:"\u30DF\u30EA\u79D2",suffix:"ms"},{pattern:"\u6642\u9593",suffix:"h"}];for(let l of u)if(o.startsWith(l.pattern))return {value:i+l.suffix,length:r+l.pattern.length,metadata:{hasTimeUnit:true}};if(o.startsWith("ms"))return {value:i+"ms",length:r+2,metadata:{hasTimeUnit:true}};let s=[{pattern:"\u79D2",suffix:"s"},{pattern:"\u5206",suffix:"m"}];for(let l of s)if(o.startsWith(l.pattern))return {value:i+l.suffix,length:r+1,metadata:{hasTimeUnit:true}};if(/^[smh](?![a-zA-Z])/.test(o))return {value:i+o[0],length:r+1,metadata:{hasTimeUnit:true}}}return {value:i,length:r}}};function gc(e){return "setContext"in e&&typeof e.setContext=="function"}function wc(e){let t={language:e.language,direction:e.direction,lookupKeyword:e.lookupKeyword.bind(e),isKeyword:e.isKeyword.bind(e),isKeywordStart:e.isKeywordStart.bind(e),...e.isKeywordStartAtBoundary?{isKeywordStartAtBoundary:e.isKeywordStartAtBoundary.bind(e)}:{}};return e.normalizer?{...t,normalizer:e.normalizer}:t}var Sr=class extends Error{constructor(e,t,r,n){super(`translation ${r} \u2192 ${n} would lose part of the script (${t.kind}): `+t.lost.join(", ")),this.partial=e,this.loss=t,this.from=r,this.to=n,this.name="LossyTranslationError";}};function ka(e){let t=[];for(let r of e.diagnostics??[])r.code==="unconsumed-input"&&t.push(/"(.*)"\s*$/s.exec(r.message)?.[1]??r.message);return t}function Pa(e,t,r,n,i){let a=ka(t);if(a.length)return {kind:"truncation",lost:a};let o=i.unwritable?.(t)??[];if(o.length)return {kind:"core-only",lost:o};let u;try{u=n(r);}catch(p){return {kind:"read-back",lost:[`the output does not read: ${p.message}`]}}let s=ka(u);if(s.length)return {kind:"read-back",lost:s};let l=i.written?i.written(t):t;for(let p of i.differences){let m=p(l,u);if(m.length)return {kind:"read-back",lost:m}}let c=i.missingValues?.(e,r)??[];if(c.length)return {kind:"invariant",lost:c}}function kc(e,t){if(t>=e.length)return null;let r=e[t];if(!uc(r))return null;let n=t,i="";if(r==="#"||r==="."){for(i+=e[n++];n<e.length&&Ae(e[n]);)i+=e[n++];if(i.length<=1)return null;if(n<e.length&&e[n]==="."&&r==="#"){let o=n+1;for(;o<e.length&&Ae(e[o]);)o++;if(o<e.length&&e[o]==="(")return i}}else if(r==="["){let a=1,o=false,u=null,s=false;for(i+=e[n++];n<e.length&&a>0;){let l=e[n];i+=l,s?s=false:l==="\\"?s=true:o?l===u&&(o=false,u=null):l==='"'||l==="'"||l==="`"?(o=true,u=l):l==="["?a++:l==="]"&&a--,n++;}if(a!==0)return null}else if(r==="@"){for(i+=e[n++];n<e.length&&Ae(e[n]);)i+=e[n++];if(i.length<=1)return null}else if(r==="*"){for(i+=e[n++];n<e.length&&Ae(e[n]);)i+=e[n++];if(i.length<=1)return null}else if(r==="<"){if(i+=e[n++],n>=e.length||!lc(e[n]))return null;for(;n<e.length&&Ae(e[n]);)i+=e[n++];for(;n<e.length;){let a=e[n];if(a==="."){if(i+=e[n++],n>=e.length||!Ae(e[n]))return null;for(;n<e.length&&Ae(e[n]);)i+=e[n++];}else if(a==="#"){if(i+=e[n++],n>=e.length||!Ae(e[n]))return null;for(;n<e.length&&Ae(e[n]);)i+=e[n++];}else if(a==="["){let o=1,u=false,s=null,l=false;for(i+=e[n++];n<e.length&&o>0;){let c=e[n];i+=c,l?l=false:c==="\\"?l=true:u?c===s&&(u=false,s=null):c==='"'||c==="'"||c==="`"?(u=true,s=c):c==="["?o++:c==="]"&&o--,n++;}if(o!==0)return null}else break}for(;n<e.length&&Dt(e[n]);)i+=e[n++];if(n<e.length&&e[n]==="/")for(i+=e[n++];n<e.length&&Dt(e[n]);)i+=e[n++];if(n>=e.length||e[n]!==">")return null;i+=e[n++];}return i||null}function Cc(e,t){if(t>=e.length||e[t]!=="'"||t+1>=e.length||e[t+1].toLowerCase()!=="s")return false;if(t+2>=e.length)return true;let n=e[t+2];return Dt(n)||n==="*"||!Ae(n)}function bc(e,t){if(t>=e.length)return null;let r=e[t];if(!sc(r)||r==="'"&&Cc(e,t))return null;let i={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[r];if(!i)return null;let a=t+1,o=r,u=false;for(;a<e.length;){let s=e[a];if(o+=s,u)u=false;else if(s==="\\")u=true;else if(s===i)return o;a++;}return o}function zc(e,t){if(t>=e.length)return false;let r=e[t],n=e[t+1]||"",i=e[t+2]||"";if(r==="/"&&n!=="/"&&/[a-zA-Z0-9._-]/.test(n)||r==="/"&&n==="/"&&/[a-zA-Z]/.test(i)||r==="."&&(n==="/"||n==="."&&i==="/"))return true;let a=e.slice(t,t+8).toLowerCase();return !!(a.startsWith("http://")||a.startsWith("https://"))}function Ac(e,t){if(!zc(e,t))return null;let r=t,n="",i=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;r<e.length;){let a=e[r];if(a==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=a,r++;r<e.length&&/[a-zA-Z0-9_-]/.test(e[r]);)n+=e[r++];break}if(i.test(a))n+=a,r++;else break}return n.length<2?null:n}function xc(e,t){if(t>=e.length)return null;let r=e[t];if(!dt(r)&&r!=="-"&&r!=="+")return null;let n=t,i="";if((e[n]==="-"||e[n]==="+")&&(i+=e[n++]),n>=e.length||!dt(e[n]))return null;for(;n<e.length&&dt(e[n]);)i+=e[n++];if(n<e.length&&e[n]===".")for(i+=e[n++];n<e.length&&dt(e[n]);)i+=e[n++];return n<e.length&&(e.slice(n,n+2)==="ms"?i+="ms":(e[n]==="s"||e[n]==="m"||e[n]==="h")&&(i+=e[n])),i}var Sc=["===","!==","->","==","!=","<=",">=","&&","||","**","+=","-=","*=","/=","+","-","*","/","=",">","<","!","&","|","%","^","~"];new Set(Sc);var Dc=new Set(["patient","destination","source","style","event","eventMarker","agent","goal","manner","into","from","to","with","at","of","as","by","in","on","over","under","between","through","without"]);function Tc(e){return e.includes("-")&&/^[\p{L}\p{N}_]+(-[\p{L}\p{N}_]+)+$/u.test(e)}var Bc=["click","dblclick","input","change","submit","keydown","keyup","keypress","mousedown","mouseup","mouseover","mouseout","mouseenter","mouseleave","mousemove","pointerdown","pointerup","pointermove","focus","blur","load","resize","scroll"],Dr=class Ar{constructor(){this.profileKeywords=[],this.multiWordKeywords=[],this.profileKeywordMap=new Map,this.rawExtraEntries=[],this.extractors=[];}getExtraKeywordEntries(){return this.rawExtraEntries}tokenize(t){if(this.isUsingExtractors())return this.tokenizeWithExtractors(t);throw new Error(`${this.constructor.name}: tokenize() not implemented and no extractors registered. Either register extractors or override tokenize() method.`)}registerExtractor(t){gc(t)&&t.setContext(wc(this)),this.extractors.push(t);}registerExtractors(t){for(let r of t)this.registerExtractor(r);}clearExtractors(){this.extractors=[];}isUsingExtractors(){return this.extractors.length>0}tokenizeWithExtractors(t){let r=[],n=0;for(;n<t.length;){for(;n<t.length&&Dt(t[n]);)n++;if(n>=t.length)break;let i=this.tryMultiWordKeyword(t,n);if(i){r.push(i),n=i.position.end;continue}let a=false;for(let o of this.extractors)if(o.canExtract(t,n)){let u=o.extract(t,n);if(u){let s=u.metadata?.normalized,l=u.metadata?.stem,c=u.metadata?.stemConfidence,p={};if(u.metadata)for(let[y,f]of Object.entries(u.metadata))y!=="normalized"&&y!=="stem"&&y!=="stemConfidence"&&(p[y]=f);let m={};s&&(m.normalized=s),l&&(m.stem=l),c!==void 0&&(m.stemConfidence=c),Object.keys(p).length>0&&(m.metadata=p),r.push(ce(u.value,this.classifyToken(u.value),le(n,n+u.length),Object.keys(m).length>0?m:void 0)),n+=u.length,a=true;break}}if(!a){let o=t[n],u=this.classifyUnknownChar(o);r.push(ce(o,u,le(n,n+1))),n++;}}return new ee(this.mergeColonQualifiedNames(r),this.language)}mergeColonQualifiedNames(t){let r=[];for(let n of t){let i=r[r.length-1];if(i&&Ar.ASCII_WORD.test(i.value)&&Ar.COLON_QUALIFIER.test(n.value)&&i.position.end===n.position.start){let a=i.value+n.value;r[r.length-1]=ce(a,this.classifyToken(a),le(i.position.start,n.position.end));continue}r.push(n);}return r}classifyUnknownChar(t){return "()[]{},:;".includes(t)?"punctuation":"+-*/<>=!&|".includes(t)?"operator":"identifier"}tryPropertyAccess(t,r,n){if(t[r]!==".")return false;let i=n[n.length-1],a=i&&i.position.end<r;if(i&&!a&&(i.kind==="identifier"||i.kind==="keyword"||i.kind==="selector"))return n.push(ce(".","operator",le(r,r+1))),true;let s=r+1;for(;s<t.length&&Ae(t[s]);)s++;return s<t.length&&t[s]==="("?(n.push(ce(".","operator",le(r,r+1))),true):false}initializeKeywordsFromProfile(t,r=[]){let n=new Map;if(this.rawExtraEntries=r,t.keywords){for(let[i,a]of Object.entries(t.keywords))if(n.set(a.primary,{native:a.primary,normalized:a.normalized||i}),a.alternatives)for(let o of a.alternatives)n.set(o,{native:o,normalized:a.normalized||i});}if(t.references){for(let[i,a]of Object.entries(t.references))n.set(a,{native:a,normalized:i});for(let i of Object.keys(t.references))n.has(i)||n.set(i,{native:i,normalized:i});}if(t.roleMarkers){for(let[i,a]of Object.entries(t.roleMarkers))if(a.primary&&n.set(a.primary,{native:a.primary,normalized:i}),a.alternatives)for(let o of a.alternatives)n.set(o,{native:o,normalized:i});}if(t.possessive?.keywords)for(let[i,a]of Object.entries(t.possessive.keywords))n.set(i,{native:i,normalized:a});for(let i of Bc)n.has(i)||n.set(i,{native:i,normalized:i});for(let i of r)n.set(i.native,i);this.profileKeywords=Array.from(n.values()).sort((i,a)=>a.native.length-i.native.length),this.multiWordKeywords=this.profileKeywords.filter(i=>(i.native.includes(" ")||Tc(i.native))&&!Dc.has(i.normalized)),this.profileKeywordMap=new Map;for(let i of this.profileKeywords){this.profileKeywordMap.set(i.native.toLowerCase(),i);let a=this.removeDiacritics(i.native);a!==i.native&&!this.profileKeywordMap.has(a.toLowerCase())&&this.profileKeywordMap.set(a.toLowerCase(),i);}}removeDiacritics(t){return Tn(t)}tryProfileKeyword(t,r){for(let n of this.profileKeywords)if(t.slice(r).startsWith(n.native))return ce(n.native,"keyword",le(r,r+n.native.length),n.normalized);return null}tryMultiWordKeyword(t,r,n=i=>/[\p{L}\p{N}_]/u.test(i)){if(this.multiWordKeywords.length===0)return null;let i=t.slice(r);for(let a of this.multiWordKeywords){if(!i.startsWith(a.native))continue;let o=t[r+a.native.length];if(!(o!==void 0&&n(o)))return ce(a.native,"keyword",le(r,r+a.native.length),a.normalized)}return null}isKeywordStart(t,r){let n=t.slice(r);return this.profileKeywords.some(i=>n.startsWith(i.native))}isKeywordStartAtBoundary(t,r,n=i=>/[\p{L}\p{N}_]/u.test(i)){let i=t.slice(r);return this.profileKeywords.some(a=>{if(!i.startsWith(a.native))return false;let o=t[r+a.native.length];return o===void 0||!n(o)})}lookupKeyword(t){let r=this.profileKeywordMap.get(t.toLowerCase());if(r)return r;let n=this.removeDiacritics(t);if(n!==t)return this.profileKeywordMap.get(n.toLowerCase())}isKeyword(t){return this.lookupKeyword(t)!==void 0}setNormalizer(t){this.normalizer=t;}tryNormalize(t){if(!this.normalizer)return null;let r=this.normalizer.normalize(t);return r.stem!==t&&r.confidence>=.7?r:null}tryMorphKeywordMatch(t,r,n){let i=this.tryNormalize(t);if(!i)return null;let a=this.lookupKeyword(i.stem);if(!a)return null;let o={normalized:a.normalized,stem:i.stem,stemConfidence:i.confidence};return ce(t,"keyword",le(r,n),o)}trySelector(t,r){let n=kc(t,r);return n?ce(n,"selector",le(r,r+n.length)):null}tryEventModifier(t,r){if(t[r]!==".")return null;let n=t.slice(r).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!n)return null;let i=n[0].replace(/(\s|\.)$/,""),a=i.slice(1).split("(")[0],o=n[1];return {...ce(i,"event-modifier",le(r,r+i.length)),metadata:{modifierName:a,value:o?a==="queue"?o:parseInt(o,10):void 0}}}tryString(t,r){let n=bc(t,r);return n?ce(n,"literal",le(r,r+n.length)):null}tryNumber(t,r){let n=xc(t,r);return n?ce(n,"literal",le(r,r+n.length)):null}tryMatchTimeUnit(t,r,n,i=false){let a=r;if(i)for(;a<t.length&&Dt(t[a]);)a++;let o=t.slice(a);for(let u of n){let s=o.slice(0,u.length);if(u.caseInsensitive?s.toLowerCase()===u.pattern.toLowerCase():s===u.pattern){if(u.notFollowedBy&&(o[u.length]||"")===u.notFollowedBy)continue;if(u.checkBoundary){let c=o[u.length]||"";if(Ae(c))continue}return {suffix:u.suffix,endPos:a+u.length}}}return null}parseBaseNumber(t,r,n=true){let i=r,a="";if(n&&(t[i]==="-"||t[i]==="+")&&(a+=t[i++]),i>=t.length||!dt(t[i]))return null;for(;i<t.length&&dt(t[i]);)a+=t[i++];if(i<t.length&&t[i]===".")for(a+=t[i++];i<t.length&&dt(t[i]);)a+=t[i++];return !a||a==="-"||a==="+"?null:{number:a,endPos:i}}tryNumberWithTimeUnits(t,r,n,i={}){let{allowSign:a=true,skipWhitespace:o=false}=i,u=this.parseBaseNumber(t,r,a);if(!u)return null;let{number:s,endPos:l}=u,c=[...n,...Ar.STANDARD_TIME_UNITS],p=this.tryMatchTimeUnit(t,l,c,o);return p&&(s+=p.suffix,l=p.endPos),ce(s,"literal",le(r,l))}tryUrl(t,r){let n=Ac(t,r);return n?ce(n,"url",le(r,r+n.length)):null}tryVariableRef(t,r){if(t[r]!==":"||r+1>=t.length||!Ae(t[r+1]))return null;let n=r+1;for(;n<t.length&&Ae(t[n]);)n++;let i=t.slice(r,n);return ce(i,"identifier",le(r,n))}tryOperator(t,r){let n=t.slice(r,r+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return ce(n,"operator",le(r,r+2));let i=t[r];return ["<",">","!","+","-","*","/","="].includes(i)?ce(i,"operator",le(r,r+1)):["(",")","{","}",",",";",":"].includes(i)?ce(i,"punctuation",le(r,r+1)):null}tryMultiCharParticle(t,r,n){for(let i of n)if(t.slice(r,r+i.length)===i)return ce(i,"particle",le(r,r+i.length));return null}};Dr.ASCII_WORD=/^[A-Za-z_][A-Za-z0-9_]*$/;Dr.COLON_QUALIFIER=/^:[A-Za-z_][A-Za-z0-9_]*$/;Dr.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:true},{pattern:"m",suffix:"m",length:1,checkBoundary:true,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:true}];var Qt=Dr;function Pn(e){return {stem:e,confidence:1}}function Tr(e,t,r){return r?{stem:e,confidence:t,metadata:r}:{stem:e,confidence:t}}var Br=["selector","reference","expression"],_a=["literal","selector","expression","reference","property-path"];var Jt=["literal","selector","reference","expression","property-path"],rt=["literal","expression"],er=["literal","expression"],Bt=["literal","expression","reference"],tr=["literal","expression"],rr=["expression"];var Ma=["reference","expression"],Ia=["selector","reference","expression"],$a=["literal"],Rn=["expression","reference","selector"],ja=["literal","expression","reference","property-path"],_n=["selector","reference","expression"],Fc={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"}};Object.fromEntries(Object.entries(Fc).map(([e,t])=>{let r={};for(let[n,i]of Object.entries(t))i in r||(r[i]=n);return [e,r]}));function Nn(){return [{id:"event-en-source",language:"en",command:"on",priority:110,template:{format:"on {event} from {source} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-standard",language:"en",command:"on",priority:100,template:{format:"on {event} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-upon",language:"en",command:"on",priority:98,template:{format:"upon {event} {body}",tokens:[{type:"literal",value:"upon"},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}function Wa(){return [{id:"event-tr-when",language:"tr",command:"on",priority:95,template:{format:"iken {event} {body}",tokens:[{type:"literal",value:"iken",alternatives:["durumunda","oldu\u011Funda"]},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}var qa=class Va{constructor(){this.name="spaced-duration";}canExtract(t,r){return /\d/.test(t[r]??"")&&!/[\w.]/.test(t[r-1]??"")}extract(t,r){let n=Va.PATTERN.exec(t.slice(r));if(!n)return null;let i=n[2].startsWith("m")?"ms":"s";return {value:n[1]+i,length:n[0].length,metadata:{hasTimeUnit:true}}}};qa.PATTERN=/^(\d+(?:\.\d+)?)[ \t]+(ms|milliseconds?|s|seconds?)(?![\w-])/;var Ha=qa,Ka=class{constructor(){this.name="a-tick";}canExtract(e,t){return (e[t]==="a"||e[t]==="A")&&!/[\w$]/.test(e[t-1]??"")}extract(e,t){let r=/^a[ \t]+tick(?![\w-])/i.exec(e.slice(t));return r?{value:"0ms",length:r[0].length,metadata:{hasTimeUnit:true}}:null}},Lc=["===","!==","->","==","!=","<=",">=","&&","||","**","+=","-=","*=","/=","+","-","*","/","=",">","<","!","&","|","%","^","~"],Fr=class{constructor(e=Lc){this.name="operator",this.operators=[...e].sort((t,r)=>r.length-t.length);}canExtract(e,t){return this.operators.some(r=>e.startsWith(r,t))}extract(e,t){for(let r of this.operators)if(e.startsWith(r,t))return {value:r,length:r.length};return null}},Pc="()[]{},:;",Lr=class{constructor(e=Pc){this.punctuation=e,this.name="punctuation";}canExtract(e,t){return this.punctuation.includes(e[t])}extract(e,t){let r=e[t];return this.punctuation.includes(r)?{value:r,length:1}:null}};function Xt(e){let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122?true:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(e)}var Mc=new Set(["ile","i\xE7in","kadar","gibi","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","do\u011Fru","boyunca"]),Ic=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),$c=class{constructor(){this.name="turkish-keyword";}setContext(e){this.context=e;}canExtract(e,t){return Xt(e[t])}extract(e,t){if(!this.context)throw new Error("TurkishKeywordExtractor: context not set");let r=t,n=r;for(;n<e.length&&(Xt(e[n])||e[n]==="_"||/[0-9]/.test(e[n]));)n++;let i=e.slice(r,n);if(i.includes("_")){let y=this.context.lookupKeyword(i.toLowerCase());if(y)return {value:i,length:i.length,metadata:{normalized:y.normalized!==y.native?y.normalized:void 0}};if(!i.endsWith("_"))return {value:i,length:i.length}}let a=12;for(let y=Math.min(a,e.length-r);y>=2;y--){let f=e.slice(r,r+y);if(r+y<e.length&&Xt(e[r+y]))continue;let d=true;for(let g=0;g<f.length;g++)if(!Xt(f[g])){d=false;break}if(!d)continue;let v=this.context.lookupKeyword(f);if(v)return {value:f,length:y,metadata:{normalized:v.normalized!==v.native?v.normalized:void 0}};if(this.context.normalizer){let g=this.context.normalizer.normalize(f);if(g.stem!==f&&g.confidence>=.7){let w=this.context.lookupKeyword(g.stem);if(w)return {value:f,length:y,metadata:{normalized:w.normalized,stem:g.stem,stemConfidence:g.confidence}}}}}let o="",u=t;for(;u<e.length&&Xt(e[u]);)o+=e[u],u++;for(let y=o.length;y>=2&&!(y<o.length);y--){let f=o.substring(0,y),d=this.context.lookupKeyword(f);if(d)return {value:f,length:y,metadata:{normalized:d.normalized!==d.native?d.normalized:void 0}}}if(!o||!o)return null;if(Mc.has(o.toLowerCase()))return {value:o,length:u-r,metadata:{postpositionValue:o.toLowerCase()}};if(Ic.has(o.toLowerCase()))return {value:o,length:u-r,metadata:{caseSuffixValue:o.toLowerCase()}};let s=this.context.lookupKeyword(o),l=s&&s.normalized!==s.native?s.normalized:void 0,c,p,m;if(!s&&this.context.normalizer){let y=this.context.normalizer.normalize(o);if(y.stem!==o&&y.confidence>=.7){let f=this.context.lookupKeyword(y.stem);f&&(c=f.normalized,p=y.stem,m=y.confidence);}}return {value:o,length:u-r,metadata:{normalized:l||c,stem:p,stemConfidence:m}}}};function Ua(){return new $c}var jc=new Set(["-ta","-man","-manta","-pi","-wan","-paq","-kama","-rayku","-hina","ta","man","manta","pi","wan","paq","kama","hina","pa"]),Wc=new Set(["kama","hina","rayku","paq"]);new Set([...jc,...Wc].map(e=>e.startsWith("-")?e.slice(1):e));function On(e,t){let r=t;for(;r<e.length&&e[r]===":";){let n=e.slice(r).match(/^::?[a-zA-Z][a-zA-Z0-9-]*/);if(!n)break;let i=r+n[0].length;if(e[i]==="("){let a=0,o=i;for(;o<e.length;){if(e[o]==="(")a++;else if(e[o]===")"&&(a--,a===0)){o++;break}o++;}if(a!==0)break;i=o;}r=i;}return r}var Oa=/(?=[\w.#[:])[\w-]*(?:[#.][\w-]+|\[[^\]]+\]|::?[a-zA-Z][a-zA-Z0-9-]*(?:\([^)]*\))?)*/.source,qc=new RegExp(`^<${Oa}(?:\\s*,\\s*${Oa})*\\s*\\/>`);function Ra(e,t){let r=e[t];if(r==="#"){let n=e.slice(t).match(/^#[a-zA-Z_][\w-]*/);if(!n)return null;let i=On(e,t+n[0].length);return e.slice(t,i)}if(r==="."){let n=e.slice(t).match(/^\.\{[a-zA-Z_$][\w$]*\}/);if(n)return n[0];let i=e.slice(t).match(/^\.(?:[\w:-]|\\.)+/);if(i&&i[0].includes("\\"))return i[0];let a=e.slice(t).match(/^\.[a-zA-Z_][\w-]*/);if(!a)return null;let o=On(e,t+a[0].length);return e.slice(t,o)}if(r==="@"){let n=e.slice(t).match(/^@[a-zA-Z_][\w-]*/);return n?n[0]:null}if(r==="*"){let n=e.slice(t).match(/^\*(?:--)?[a-zA-Z_][\w-]*/);return n?n[0]:null}if(r==="["){let n=0,i=t;for(;i<e.length;){if(e[i]==="["&&n++,e[i]==="]"&&(n--,n===0)){let a=On(e,i+1);return e.slice(t,a)}i++;}return null}if(r==="<"){let n=e.slice(t).match(qc);return n?n[0]:null}return null}var Vc=class{constructor(){this.name="css-selector";}canExtract(e,t){let r=e[t];return r==="#"||r==="."||r==="["||r==="<"?true:r==="@"||r==="*"?Ra(e,t)!==null:false}extract(e,t){let r=Ra(e,t);return r?{value:r,length:r.length,metadata:{type:"css-selector"}}:null}},Hc=class{constructor(){this.name="event-modifier";}canExtract(e,t){if(e[t]!==".")return false;let r=e.slice(t);return /^\.(once|prevent|stop|debounce|throttle|queue)/.test(r)}extract(e,t){let r=e.slice(t).match(/^\.(?:once|prevent|stop|debounce|throttle|queue)(?:\(([^)]+)\))?/);if(!r)return null;let n=r[0],i=n.slice(1).split("(")[0],a=r[1];return {value:n,length:n.length,metadata:{modifierName:i,value:a?i==="queue"?a:parseInt(a,10):void 0}}}},Kc=["http://","https://","//","./","../","/"];function Uc(e,t){let r=1;for(let n=t;n<e.length;n++){let i=e[n];if(i==="{")r++;else if(i==="}"&&--r===0)return n+1}return -1}function Gc(e,t){let r=e.slice(t),n=Kc.find(a=>r.startsWith(a));if(!n)return null;let i=n.length;for(;i<r.length;){let a=r[i];if(a==="$"&&r[i+1]==="{"){let o=Uc(r,i+2);if(o!==-1){i=o;continue}}if(/\s/.test(a))break;i++;}return r.slice(0,i)}var Yc=class{constructor(){this.name="url";}canExtract(e,t){let r=e.slice(t);return r.startsWith("http://")||r.startsWith("https://")||r.startsWith("//")||r.startsWith("./")||r.startsWith("../")||r.startsWith("/")}extract(e,t){let r=Gc(e,t);return r?{value:r,length:r.length,metadata:{type:"url"}}:null}},Zc=class{constructor(){this.name="variable-ref";}canExtract(e,t){let r=e[t];return (r===":"||r==="$"||r==="^")&&t+1<e.length&&/[a-zA-Z_]/.test(e[t+1])}extract(e,t){if(!this.canExtract(e,t))return null;let r=1;for(;t+r<e.length&&/[a-zA-Z0-9_]/.test(e[t+r]);)r++;return {value:e.substring(t,t+r),length:r,metadata:{type:"variable-reference"}}}};function Pr(){return [new Yc,new Hc,new Zc,new Vc]}function Ga(e,t,r){let n=e.tokens,i=[],a=false;for(let o of n){let u=false;if(o.kind==="identifier")for(let{written:s,marker:l}of t){if(o.value.length<=s.length||!o.value.endsWith(s))continue;let c=o.value.slice(0,-s.length),p=r(c),m=p.length===1?p[0]:void 0;if(m?.kind!=="keyword"||m.normalized===void 0)continue;let y=r(l);if(y.length!==1)continue;let{start:f,end:d}=o.position,v=d-s.length;i.push({...m,position:{start:f,end:v}}),i.push({...y[0],position:{start:v,end:d}}),u=a=true;break}u||i.push(o);}return a?new ee(i,e.language):e}function Mn(){return [{id:"wait-en-for-event",language:"en",command:"wait",priority:110,template:{format:"wait for {event}",tokens:[{type:"literal",value:"wait"},{type:"literal",value:"for"},{type:"role",role:"event",expectedTypes:rt}]},extraction:{event:{position:2}}}]}function Ya(e,t,r,n,i,a,o){let u=()=>({type:"group",optional:true,tokens:[{type:"literal",value:"("},...Array.from({length:a},(s,l)=>[...l>0?[{type:"literal",value:","}]:[],{type:"role",role:"condition",expectedTypes:["expression","literal","reference"]}]).flat(),{type:"literal",value:")"}]});return {id:e,language:t,command:"wait",priority:105,template:{format:`{source} ${n} {duration} ${i} {patient} ${r}`,tokens:[{type:"role",role:"source",expectedTypes:["expression","reference"]},{type:"literal",value:n,...o?{alternatives:o}:{}},{type:"role",role:"duration",expectedTypes:er},u(),{type:"literal",value:i},{type:"role",role:"patient",expectedTypes:["expression","literal"]},u(),{type:"literal",value:r}]},extraction:{source:{position:0},duration:{position:2}}}}function Za(){return [Ya("wait-tr-or-run","tr","bekle","den","veya",1,["dan","ten","tan"]),Ya("wait-tr-or-run-2arg","tr","bekle","den","veya",2,["dan","ten","tan"])]}[...Jt];function In(){return [{id:"put-en-into",language:"en",command:"put",priority:100,template:{format:"put {patient} into {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"into",alternatives:["in","to"]},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"into",markerAlternatives:["in","to"]}}},{id:"put-en-before",language:"en",command:"put",priority:95,template:{format:"put {patient} before {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"before"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"before"},manner:{default:{type:"literal",value:"before"}}}},{id:"put-en-after",language:"en",command:"put",priority:95,template:{format:"put {patient} after {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"after"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"after"},manner:{default:{type:"literal",value:"after"}}}},{id:"put-en-at-end",language:"en",command:"put",priority:96,template:{format:"put {patient} at end of {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"at"},{type:"literal",value:"end"},{type:"literal",value:"of"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{position:5},manner:{default:{type:"literal",value:"at end of"}}}},{id:"put-en-at-start",language:"en",command:"put",priority:96,template:{format:"put {patient} at start of {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"at"},{type:"literal",value:"start"},{type:"literal",value:"of"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{position:5},manner:{default:{type:"literal",value:"at start of"}}}},...["start","end"].map(e=>({id:`put-en-at-the-${e}`,language:"en",command:"put",priority:94,template:{format:`put {patient} at the ${e} of {destination}`,tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"at"},{type:"literal",value:"the"},{type:"literal",value:e},{type:"literal",value:"of"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{position:6},manner:{default:{type:"literal",value:`at ${e} of`}}}}))]}function Qa(){let e=(t,r)=>({id:`put-tr-${t}`,language:"tr",command:"put",priority:105,template:{format:`{patient} ${r} {destination} i koy`,tokens:[{type:"role",role:"patient"},{type:"literal",value:r},{type:"role",role:"destination"},{type:"group",optional:true,tokens:[{type:"literal",value:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC"]}]},{type:"literal",value:"koy",alternatives:["koymak"]}]},extraction:{patient:{position:0},destination:{position:2},manner:{default:{type:"literal",value:t}}}});return [e("before","\xF6nce"),e("after","sonra")]}function Xa(e){let t=new Map;for(let[r,n]of Object.entries(e.obliqueReferences??{})){let i=e.references?.[r];if(i){for(let[a,o]of Object.entries(n))if(a)for(let u of typeof o=="string"?[o]:[o.direction,o.location]){if(!u||/\s/.test(u))continue;let l=(Object.values(e.roleMarkers).find(c=>c?.primary===a||c?.alternatives?.includes(a))??e.roleMarkers.destination)?.position==="after";t.set(u,l?[i,a]:[a,i]);}}}return t}function Ja(e,t,r){let n=e.tokens;if(!t.size||!n.some(a=>t.has(a.value)))return e;let i=[];for(let a of n){let o=t.get(a.value),u=o?.map(p=>r(p));if(!o||!u||u.some(p=>p.length!==1)){i.push(a);continue}let{start:s,end:l}=a.position,c=Math.max(s+1,l-1);i.push({...u[0][0],position:{start:s,end:c}}),i.push({...u[1][0],position:{start:c,end:l}});}return new ee(i,e.language)}function Qc(e){let t=e?.roleMarkers?.style;if(!t?.primary)return null;let r={type:"literal",value:t.primary,...t.alternatives?.length?{alternatives:t.alternatives}:{}},n={type:"role",role:"style",expectedTypes:rr};return {token:{type:"group",optional:true,tokens:t.position==="after"?[n,r]:[r,n]},extraction:{marker:t.primary,...t.alternatives?.length?{markerAlternatives:t.alternatives}:{}}}}function Xc(e,t,r,n,i,a,o,u,s){let l=Qc(e),c=[{type:"role",role:"responseType",expectedTypes:tr}];c.push({type:"literal",value:u,...{}});let p={type:"group",optional:true,tokens:c};return {id:t,language:r,command:"fetch",priority:105,template:{format:`{source} ${i} ${n}`,tokens:[{type:"role",role:"source",expectedTypes:Bt},{type:"group",optional:true,tokens:[{type:"literal",value:i,...o?{alternatives:o}:{}}]},...l?[l.token]:[],{type:"literal",value:n,...{}},p]},extraction:{source:{marker:i,...o?{markerAlternatives:o}:{}},...l?{style:l.extraction}:{},responseType:u?{marker:u,...{}}:{}}}}function eo(e){return [Xc(e,"fetch-tr-sov","tr","getir","i",void 0,["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC"],"olarak")]}var Jc=Object.defineProperty,e0=Object.getOwnPropertyNames,fu=(e,t)=>function(){return e&&(t=(0, e[e0(e)[0]])(e=0)),t},t0=(e,t)=>{for(var r in t)Jc(e,r,{get:t[r],enumerable:true});};function to(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>String(t[n]??`{${n}}`))}function Te(e,t,r={},n){let i=yu[e],a=to(i,r),o=vu[e],u=o?to(o,r):void 0;return {code:e,message:a,severity:t,...n&&{role:n},...u&&{suggestion:u}}}var M,yu,vu,r0=fu({"src/generators/schema-error-codes.ts"(){M={AMBIGUOUS_TYPE_LITERAL_SELECTOR:"SCHEMA_AMBIGUOUS_TYPE_LITERAL_SELECTOR",TOO_MANY_EXPECTED_TYPES:"SCHEMA_TOO_MANY_EXPECTED_TYPES",MULTI_TYPE_PATIENT_EXPECTED:"SCHEMA_MULTI_TYPE_PATIENT_EXPECTED",NO_REQUIRED_ROLES:"SCHEMA_NO_REQUIRED_ROLES",NO_REQUIRED_ROLES_EXPECTED:"SCHEMA_NO_REQUIRED_ROLES_EXPECTED",TRANSITION_PATIENT_ACCEPTS_SELECTOR:"SCHEMA_TRANSITION_PATIENT_ACCEPTS_SELECTOR",TRANSITION_MISSING_GOAL:"SCHEMA_TRANSITION_MISSING_GOAL",EVENT_HANDLER_MISSING_EVENT:"SCHEMA_EVENT_HANDLER_MISSING_EVENT",EVENT_HANDLER_EVENT_NOT_REQUIRED:"SCHEMA_EVENT_HANDLER_EVENT_NOT_REQUIRED",CONDITIONAL_MISSING_CONDITION:"SCHEMA_CONDITIONAL_MISSING_CONDITION",CONDITIONAL_CONDITION_NOT_REQUIRED:"SCHEMA_CONDITIONAL_CONDITION_NOT_REQUIRED",FOR_LOOP_MISSING_SOURCE:"SCHEMA_FOR_LOOP_MISSING_SOURCE",WHILE_LOOP_MISSING_CONDITION:"SCHEMA_WHILE_LOOP_MISSING_CONDITION",VALUE_TYPE_MISMATCH:"SCHEMA_VALUE_TYPE_MISMATCH",SELECTOR_KIND_MISMATCH:"SCHEMA_SELECTOR_KIND_MISMATCH",SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE:"SCHEMA_SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE",KEYWORD_COLLISION:"PROFILE_KEYWORD_COLLISION"},yu={[M.AMBIGUOUS_TYPE_LITERAL_SELECTOR]:"Role '{role}' accepts both 'literal' and 'selector'. This may cause ambiguous type inference for values starting with special characters (* . # etc.).",[M.TOO_MANY_EXPECTED_TYPES]:"Role '{role}' accepts {count} different types. This may make type inference unreliable.",[M.MULTI_TYPE_PATIENT_EXPECTED]:"Role '{role}' accepts multiple types (expected for {command} command).",[M.NO_REQUIRED_ROLES]:"Command has no required roles. Is this intentional?",[M.NO_REQUIRED_ROLES_EXPECTED]:"Command has no required roles (expected for {command}).",[M.TRANSITION_PATIENT_ACCEPTS_SELECTOR]:"Transition command 'patient' role (CSS property name) should only accept 'literal', not 'selector'. CSS property names like 'background-color' are strings, not CSS selectors.",[M.TRANSITION_MISSING_GOAL]:"Transition command requires a 'goal' role for the target value (to <value>). Without it, there's no way to specify what value to transition to.",[M.EVENT_HANDLER_MISSING_EVENT]:"Event handler command should have an 'event' role to specify which event to listen for.",[M.EVENT_HANDLER_EVENT_NOT_REQUIRED]:"Event role should be required - every event handler needs an event to listen for.",[M.CONDITIONAL_MISSING_CONDITION]:"Conditional command should have a 'condition' role for the boolean expression.",[M.CONDITIONAL_CONDITION_NOT_REQUIRED]:"Condition role should be required - conditionals need a condition to evaluate.",[M.FOR_LOOP_MISSING_SOURCE]:"For-loop should have a 'source' role for the collection to iterate over.",[M.WHILE_LOOP_MISSING_CONDITION]:"While-loop should have a 'condition' role for the loop condition.",[M.VALUE_TYPE_MISMATCH]:"Role '{role}' of command '{command}' expects type [{expectedTypes}], got '{actualType}'.",[M.SELECTOR_KIND_MISMATCH]:"Role '{role}' of command '{command}' expects selector kind [{selectorKinds}], got '{actualKind}'.",[M.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE]:"Role '{role}' has selectorKinds but expectedTypes does not include 'selector'.",[M.KEYWORD_COLLISION]:"Keyword '{keyword}' is used by multiple commands: {commands}. Only the first-registered command will be reachable."},vu={[M.AMBIGUOUS_TYPE_LITERAL_SELECTOR]:"Consider being more specific about which type is expected, or use explicit type markers.",[M.TOO_MANY_EXPECTED_TYPES]:"Consider narrowing the accepted types to improve type inference reliability.",[M.TRANSITION_PATIENT_ACCEPTS_SELECTOR]:"Remove 'selector' from expectedTypes and only accept 'literal'.",[M.TRANSITION_MISSING_GOAL]:"Add a 'goal' role with expectedTypes ['literal', 'variable'].",[M.EVENT_HANDLER_MISSING_EVENT]:"Add an 'event' role with expectedTypes ['literal'].",[M.EVENT_HANDLER_EVENT_NOT_REQUIRED]:"Set required: true on the 'event' role.",[M.CONDITIONAL_MISSING_CONDITION]:"Add a 'condition' role with expectedTypes ['expression'].",[M.CONDITIONAL_CONDITION_NOT_REQUIRED]:"Set required: true on the 'condition' role.",[M.FOR_LOOP_MISSING_SOURCE]:"Add a 'source' role for the collection to iterate over.",[M.WHILE_LOOP_MISSING_CONDITION]:"Add a 'condition' role for the loop continuation condition.",[M.VALUE_TYPE_MISMATCH]:"Ensure the value matches one of the expected types: [{expectedTypes}].",[M.SELECTOR_KIND_MISMATCH]:"Use a selector of the correct kind: [{selectorKinds}].",[M.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE]:"Either add 'selector' to expectedTypes or remove selectorKinds.",[M.KEYWORD_COLLISION]:"Give each command a unique keyword. Move the shared keyword to alternatives on one command, or use a more specific translation."};}}),hu={};t0(hu,{SchemaErrorCodes:()=>M,formatValidationResults:()=>l0,getValidationStats:()=>c0,validateAllKeywordCollisions:()=>m0,validateAllSchemas:()=>s0,validateCommandSchema:()=>Eu,validateKeywordCollisions:()=>gu,validateRoleValues:()=>p0});function n0(e,t){return {action:e,items:t}}function Eu(e){let t=[];for(let n of e.roles)n.expectedTypes.includes("literal")&&n.expectedTypes.includes("selector")&&(n.role==="patient"&&Qn.has(e.action)?t.push(Te(M.MULTI_TYPE_PATIENT_EXPECTED,"note",{role:n.role,command:e.action},n.role)):t.push(Te(M.AMBIGUOUS_TYPE_LITERAL_SELECTOR,"warning",{role:n.role},n.role))),n.expectedTypes.length>3&&!Qn.has(e.action)&&t.push(Te(M.TOO_MANY_EXPECTED_TYPES,"warning",{role:n.role,count:n.expectedTypes.length},n.role));for(let n of e.roles)n.selectorKinds&&n.selectorKinds.length>0&&(n.expectedTypes.includes("selector")||t.push(Te(M.SELECTOR_KINDS_WITHOUT_SELECTOR_TYPE,"warning",{role:n.role},n.role)));switch(e.action){case "transition":i0(e,t);break;case "on":a0(e,t);break;case "if":case "unless":o0(e,t);break;case "repeat":case "for":case "while":u0(e,t);break}return e.roles.filter(n=>n.required).length===0&&(wu.has(e.action)?t.push(Te(M.NO_REQUIRED_ROLES_EXPECTED,"note",{command:e.action})):t.push(Te(M.NO_REQUIRED_ROLES,"warning",{}))),n0(e.action,t)}function i0(e,t){let r=e.roles.find(i=>i.role==="patient"),n=e.roles.find(i=>i.role==="goal");r&&!n&&t.push(Te(M.TRANSITION_MISSING_GOAL,"error",{}));}function a0(e,t){let r=e.roles.find(n=>n.role==="event");r||t.push(Te(M.EVENT_HANDLER_MISSING_EVENT,"warning",{})),r&&!r.required&&t.push(Te(M.EVENT_HANDLER_EVENT_NOT_REQUIRED,"warning",{}));}function o0(e,t){let r=e.roles.find(n=>n.role==="condition");r||t.push(Te(M.CONDITIONAL_MISSING_CONDITION,"warning",{})),r&&!r.required&&t.push(Te(M.CONDITIONAL_CONDITION_NOT_REQUIRED,"warning",{}));}function u0(e,t){e.action==="for"?e.roles.find(n=>n.role==="source")||t.push(Te(M.FOR_LOOP_MISSING_SOURCE,"warning",{})):e.action==="while"&&(e.roles.find(n=>n.role==="condition")||t.push(Te(M.WHILE_LOOP_MISSING_CONDITION,"warning",{})));}function s0(e,t={}){let r=new Map,{includeNotes:n=false}=t;for(let[i,a]of Object.entries(e)){let o=Eu(a),u=o.items.some(l=>l.severity==="warning"||l.severity==="error"),s=n&&o.items.some(l=>l.severity==="note");(u||s)&&r.set(i,o);}return r}function l0(e,t={}){let r=[],{showNotes:n=false,showCodes:i=true}=t;for(let[a,o]of e){let u=o.items.filter(c=>c.severity==="error"),s=o.items.filter(c=>c.severity==="warning"),l=o.items.filter(c=>c.severity==="note");if(u.length>0){r.push(` \u274C ${a}:`);for(let c of u){let p=i?` [${c.code}]`:"";r.push(` ERROR${p}: ${c.message}`),c.suggestion&&r.push(` \u{1F4A1} Suggestion: ${c.suggestion}`);}}if(s.length>0){r.push(` \u26A0\uFE0F ${a}:`);for(let c of s){let p=i?` [${c.code}]`:"";r.push(` ${p?`${c.code}: `:""}${c.message}`),c.suggestion&&r.push(` \u{1F4A1} ${c.suggestion}`);}}if(n&&l.length>0){r.push(` \u2139\uFE0F ${a}:`);for(let c of l){let p=i?` [${c.code}]`:"";r.push(` ${p?`${c.code}: `:""}${c.message}`);}}}return r.join(`
3
+ `)}function c0(e){let t=0,r=0,n=0,i={};for(let a of e.values())for(let o of a.items)o.severity==="error"?t++:o.severity==="warning"?r++:o.severity==="note"&&n++,i[o.code]=(i[o.code]||0)+1;return {totalCommands:e.size,errors:t,warnings:r,notes:n,byCode:i}}function p0(e,t){let r=[];for(let n of t){let i=e.roles.find(a=>a.role===n.role);i&&(i.expectedTypes.length>0&&!i.expectedTypes.includes(n.type)&&(i.expectedTypes.includes("expression")||r.push({level:"error",role:n.role,message:`${e.action}.${n.role} expects type [${i.expectedTypes.join(", ")}], got '${n.type}'`,code:M.VALUE_TYPE_MISMATCH})),n.type==="selector"&&n.selectorKind&&i.selectorKinds&&i.selectorKinds.length>0&&(i.selectorKinds.includes(n.selectorKind)||r.push({level:"error",role:n.role,message:`${e.action}.${n.role} expects selector kind [${i.selectorKinds.join(", ")}], got '${n.selectorKind}'`,code:M.SELECTOR_KIND_MISMATCH})));}return r}function d0(e){if(e.length!==2)return false;let[t,r]=[...e].sort();return ku.some(([n,i])=>n===t&&i===r)}function gu(e){let t=[];if(!e.keywords)return {language:e.code,collisions:t};let r=new Map;for(let[i,a]of Object.entries(e.keywords)){if(!a||!a.primary)continue;let o=r.get(a.primary)||[];if(o.push({command:i,isPrimary:true}),r.set(a.primary,o),a.alternatives)for(let u of a.alternatives){let s=r.get(u)||[];s.push({command:i,isPrimary:false}),r.set(u,s);}}for(let[i,a]of r){let o=[...new Set(a.map(l=>l.command))];if(o.length<=1||d0(o))continue;let u=a.filter(l=>l.isPrimary).length,s;u>=2?s="primary-primary":u===1?s="primary-alternative":s="alternative-alternative",t.push({keyword:i,commands:o.sort(),type:s});}let n={"primary-primary":0,"primary-alternative":1,"alternative-alternative":2};return t.sort((i,a)=>n[i.type]-n[a.type]),{language:e.code,collisions:t}}function m0(e){let t=[];for(let[,r]of Object.entries(e)){let n=gu(r);n.collisions.length>0&&t.push(n);}return t.sort((r,n)=>r.language.localeCompare(n.language))}var Qn,wu,ku,f0=fu({"src/generators/schema-validator.ts"(){r0(),Qn=new Set(["put","append","prepend","log","throw","make","measure","return","swap","morph","beep","ask","answer","copy"]),wu=new Set(["compound","else","halt","continue","init","settle","focus","blur","show","hide","return","js","measure","break","exit","beep","empty","open","close","select","clear","reset","breakpoint","viewTransition","live","eventsource","socket","worker","intercept"]),ku=[["change","changes"]];}}),Cu=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document","true","false","null","undefined","empty"]),Qr=new Set("em ex cap ch ic rem lh rlh vw vh vi vb vmin vmax cm mm Q pc pt px %".split(" "));function y0(e){let t=/^(?:\d+(?:\.\d+)?|\((.*)\))([A-Za-z]+|%)$/.exec(e);return !t||!Qr.has(t[2])?false:t[1]===void 0||bu.test(t[1])}var bu=/^\s*(?:[$:]?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*|\d+(?:\.\d+)?)(?:\s*[-+*/%]\s*(?:[$:]?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*|\d+(?:\.\d+)?))*\s*$/,v0={ar:"\u0639\u0646\u0635\u0631",bn:"\u0989\u09AA\u09BE\u09A6\u09BE\u09A8",de:"element",es:"elemento",fr:"\xE9l\xE9ment",he:"\u05D0\u05DC\u05DE\u05E0\u05D8",hi:"\u0924\u0924\u094D\u0935",id:"elemen",it:"elemento",ja:"\u8981\u7D20",ko:"\uC694\uC18C",ms:"elemen",pl:"element",pt:"elemento",qu:"raku",ru:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",sw:"kipengele",th:"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A",tl:"elemento",tr:"\xF6\u011Fe",uk:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442",vi:"ph\u1EA7n t\u1EED",zh:"\u5143\u7D20"};function gi(e){return v0[e]??"element"}var Qe=new Map,Xe=new Map,Lt=new Map,Xn=null;function zu(e,t){let r={...e};for(let n of Object.keys(t)){let i=t[n],a=e[n];i!==void 0&&(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof a=="object"&&a!==null&&!Array.isArray(a)?r[n]=zu(a,i):r[n]=i);}return r}function h0(e,t){return zu(e,t)}function wi(e){if(!e.extends)return e;let t=Xe.get(e.extends);if(!t)return console.warn(`[Registry] Profile '${e.code}' extends '${e.extends}' but base is not registered. Make sure to import the base language before the variant.`),e;let r=wi(t);return h0(r,e)}function Xr(e,t,r){Qe.set(e,t),Xe.set(e,r),Lt.delete(e);}function E0(e){Xn=e;}var Jn=new Map;function Au(e,t){Jn.set(e,t),Lt.delete(e);}function vt(e){return e.split("-")[0]}function ht(e){return e.includes("-")}function g0(e){let t=Qe.get(e);if(!t&&ht(e)){let r=vt(e);t=Qe.get(r);}if(!t){let r=Array.from(Qe.keys()).join(", ");throw new Error(`Language '${e}' is not registered. Registered languages: ${r||"none"}. Import the language module first: import '@lokascript/semantic/languages/${e}';`)}return t}function w0(e){let t=Xe.get(e);if(!t&&ht(e)){let r=vt(e);t=Xe.get(r);}if(!t){let r=Array.from(Xe.keys()).join(", ");throw new Error(`Language profile '${e}' is not registered. Registered languages: ${r||"none"}. Import the language module first: import '@lokascript/semantic/languages/${e}';`)}return wi(t)}function k0(e){let t=Qe.get(e);return !t&&ht(e)&&(t=Qe.get(vt(e))),t}function F(e){let t=Xe.get(e);return !t&&ht(e)&&(t=Xe.get(vt(e))),t?wi(t):void 0}function C0(){return Array.from(Qe.keys())}function xu(e){if(Qe.has(e)&&Xe.has(e))return true;if(ht(e)){let t=vt(e);return Qe.has(t)&&Xe.has(t)}return false}function b0(e,t){let r=g0(t),n=z0(S0(D0(r.tokenize(e),e,t),t),t);return t==="en"?n:B0(n,t)}function z0(e,t){let r=e.tokens,n=[],i=false,a=(o,u)=>!!o&&!!u&&o.position.end===u.position.start;for(let o=0;o<r.length;o++){let u=r[o],s=r[o+1],l=r[o+2];if(u.kind==="selector"&&/^\[@[\w-]+\]$/.test(u.value)){n.push({...u,value:u.value.slice(1,-1),kind:"identifier"}),i=true;continue}let c=t==="en"?A0[u.value.toLowerCase()]:void 0;if(c&&s&&(/^@[\w-]+$/.test(s.value)||/^\[@[\w-]+\]$/.test(s.value))){n.push({...u,value:c,normalized:c}),i=true;continue}if(/^@[\w-]+$/.test(u.value)&&s?.value==="="&&a(u,s)&&l&&a(s,l)&&(l.kind==="literal"||/^[\w-]+$/.test(l.value))){n.push({value:`${u.value}=${l.value}`,kind:u.kind,position:{...u.position,end:l.position.end}}),o+=2,i=true;continue}if(u.kind==="identifier"&&/^[:$]?[A-Za-z_][\w]*$/.test(u.value)&&s&&a(u,s)&&s.value.startsWith("[")&&s.value.endsWith("]")){n.push({value:`${u.value}${s.value}`,kind:"identifier",position:{...u.position,end:s.position.end}}),o+=1,i=true;continue}if(u.kind==="literal"&&/^\d+(\.\d+)?$/.test(u.value)&&s&&a(u,s)&&Qr.has(s.value)&&!(l&&a(s,l)&&/^[\w.]/.test(l.value))){n.push({value:`${u.value}${s.value}`,kind:"literal",position:{...u.position,end:s.position.end}}),o+=1,i=true;continue}if(u.value==="("&&!a(n[n.length-1],u)){let p=x0(r,o);if(p!==void 0){let m=r[p+1];n.push({value:r.slice(o,p+2).map((y,f,d)=>f===0?y.value:" ".repeat(y.position.start-d[f-1].position.end)+y.value).join(""),kind:"literal",position:{...u.position,end:m.position.end}}),o=p+1,i=true;continue}}n.push(u);}return i?new ee(n,t):e}var A0={it:"its",me:"my",you:"your"};function x0(e,t){let r=t+1;for(;r<e.length&&e[r].value!==")";){if(e[r].value==="(")return;r++;}let n=e[r],i=e[r+1];if(!n||!i||n.position.end!==i.position.start||!Qr.has(i.value))return;let a=e.slice(t+1,r).map((o,u,s)=>u===0?o.value:" ".repeat(o.position.start-s[u-1].position.end)+o.value).join("");return bu.test(a)?r:void 0}var $n=new Set(["global","element","local","dom"]);function jn(e){return !!e&&e.kind==="identifier"&&/^[A-Za-z_][\w]*$/.test(e.value)}function S0(e,t){let r=e.tokens,n=[],i=false,a=(s,l)=>!!s&&!!l&&s.position.end===l.position.start,o=gi(t).toLowerCase().split(/\s+/),u=s=>o[0]!=="element"&&o.every((l,c)=>r[s+c]?.value.toLowerCase()===l)?o.length:0;for(let s=0;s<r.length;s++){let l=r[s],c=l.value.toLowerCase(),p=u(s),m=r[s+p];if(p>0&&jn(m)&&!$n.has(m.value.toLowerCase())){n.push({value:`element ${m.value}`,kind:"identifier",position:{...l.position,end:m.position.end}}),s+=p,i=true;continue}if(!jn(l)||!$n.has(c)){n.push(l);continue}let y=r[s+1],f=r[s+2],d=c==="element"&&y?.value==="'"&&f?.value.toLowerCase()==="s"&&a(l,y)&&a(y,f),v=r[d?s+3:s+1];if(!jn(v)||$n.has(v.value.toLowerCase())){n.push(l);continue}let g=n[n.length-1],w=d&&g?.value.toLowerCase()==="the";w&&n.pop();let E=(w?g:l).position.start,z=d?`${l.value}'s`:l.value;n.push({value:`${w?`${g.value} `:""}${z} ${v.value}`,kind:"identifier",position:{...l.position,start:E,end:v.position.end}}),s=d?s+3:s+1,i=true;}return i?new ee(n,t):e}function D0(e,t,r){if(!t.includes(`
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 ee(i,r):e}var Su=()=>false;function T0(e){Su=e;}function B0(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"&&Cu.has((p.normalized??p.value).toLowerCase()))&&Su(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 ee(n,t):e}function be(e){let t=Lt.get(e);if(!t&&ht(e)&&(t=Lt.get(vt(e))),t)return t;let r=Jn.get(e);if(!r&&ht(e)&&(r=Jn.get(vt(e))),r)return Lt.set(e,r),r;if(!Xn)throw new Error(`No patterns registered for language '${e}'. Either import the language module or set a pattern generator.`);let n=w0(e),i=Xn(n);return Lt.set(e,i),i}function F0(e,t){return be(e).filter(r=>r.command===t).sort((r,n)=>n.priority-r.priority)}var Du=new Map;function Jr(e,t){for(let[r,n]of t)Du.set(`${r}:${e}`,n);}function Ee(e,t){return Du.get(`${e}:${t}`)?.(F(t))}function L0(e){return Ee("toggle",e)??[]}function P0(e){return []}var Q=["selector","reference","expression"],ki=["literal","selector","expression","reference","property-path"],O0=["selector","reference","expression","property-path"],Tu=["selector","reference"],Bu=["literal","selector","reference","expression","property-path"],en=["literal","selector","reference","expression","property-path"],Fu=["selector","reference","expression","property-path"],Ye=["literal","expression"],R0=["literal","expression"],tn=["literal","expression","reference"],Ci=["literal","expression"],bi=["expression"],Lu=["expression","selector"],zi=["reference","expression"],rn=["selector","reference","expression"],Pu=["literal"],Ou=["expression","reference","selector"],Ai=["literal","expression","reference","property-path"],Ru=["selector","reference","expression"];[...Fu];[...en];var _0=[{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"}],nn=[{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 xi(e,t,r,n){let i=nn.find(a=>a.lang===e);return i?ei(t,i.end)&&ei(r,i.at)&&Nu(i,n):false}function _u(e,t){let r=(t??"").toLowerCase();return r===e.of.toLowerCase()||(e.ofAlts??[]).some(n=>n.toLowerCase()===r)}function Nu(e,t){return _u(e,t)||e.ofMe!==void 0&&ei(t,e.ofMe)}var ei=(e,t)=>(e??"").toLowerCase()===t.toLowerCase();function N0(e,t){let r=nn.find(i=>i.lang===e);if(!r)return false;let n=t.toLowerCase();return n===r.at.toLowerCase()||_u(r,n)||n===r.end.toLowerCase()}function M0(e,t,r){let n=nn.find(i=>i.lang===e);return !n||r===void 0?false:t.toLowerCase()===n.end.toLowerCase()&&Nu(n,r)}function I0(e){let t=nn.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 $0(e){let t=_0.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 j0(e){let t=$0(e),r=I0(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 Mu(e,t){let r=xe[t];return r&&r[e]?r[e]:e.toLowerCase()}function W0(e,t){let r=xe[t];return r?Object.keys(r).filter(n=>r[n]===e):[]}var q0=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]})),V0={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 H0(e,t){return V0[t]?.has(e)?e:q0[t]?.[e]??e}function K0(e){return Ee("event-handler",e)??[]}function U0(e){return []}function G0(e){return Ee("add",e)??[]}function Y0(e){return Ee("remove",e)??[]}[...Q];function Z0(e){return Ee("show",e)??[]}[...Q];function Q0(e){return Ee("hide",e)??[]}[...ki];function X0(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:Tu}]}]},extraction:{...t.extraction,scope:{marker:"on"}}})}function J0(e){let t=Ee("set",e);return t?X0(t):[]}[...Bu];function ep(e){return Ee("get",e)??[]}function tp(e){return Ee("increment",e)??[]}function rp(e){return Ee("decrement",e)??[]}function np(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 ip(e){return [...Ee("wait",e)??[],...np(e)]}function ap(e){return Ee("fetch",e)??[]}var Si={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 Iu(e,t){let r=[...Si[e]??[],"times"].filter(n=>n!==t);return {type:"literal",value:t,alternatives:r}}function op(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:Ai}),i.push(Iu(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 $u=[["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 up(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:Ai},Iu(e,t),{type:"literal",value:r},{type:"literal",value:n,alternatives:["repeat"]}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}var ju=[["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"]],sp=new Map([...$u.map(([e,t])=>[e,t]),...ju.map(([e,,,t])=>[e,t])]);function gt(e){let t=sp.get(e);return t?{type:"literal",value:t,alternatives:["repeat"]}:{type:"literal",value:"repeat"}}function lp(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:Ai}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}function ro(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:zi});for(let i of t.inWords)n.push({type:"literal",value:i});return n.push({type:"role",role:"source",expectedTypes:rn}),{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 cp=[["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 pp(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 dp(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 mp=[["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"}]],fp=[["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 Wu(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 yp(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 vp(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 hp=[["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"}]],Ep=[["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 gp(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 wp(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 kp={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"}}}},Cp=[["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 bp(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:zi},...t.inWords.map(r=>({type:"literal",value:r})),{type:"role",role:"source",expectedTypes:rn},{type:"group",optional:true,tokens:[{type:"literal",value:t.objMarker}]},{type:"literal",value:t.forVerb}]},extraction:{patient:{position:0}}}}var zp=[["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"}]],ti=new Map,he=(e,t)=>{let r=ti.get(e);r?r.push(t):ti.set(e,[t]);};for(let[e,t,r,n]of $u)he(e,op(e,t,r,n));for(let[e,t,r,n]of ju)he(e,up(e,t,r,n));he("sw",lp("sw","rudia","mara"));var Ap=new Set(["es","pt","fr","it","de","ru","uk","pl","ar","id","ms","sw","th","vi"]);for(let[e,t]of cp)he(e,ro(e,t)),Ap.has(e)&&he(e,ro(e,{...t,requireForWords:true},true));for(let[e,t]of zp)he(e,bp(e,t));for(let[e,t]of fp)he(e,pp(e,t));for(let[e,t]of mp)he(e,dp(e,t));for(let[e,t]of Ep)he(e,vp(e,t)),he(e,Wu(e,t));he("en",Wu("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:rn}]},extraction:{loopType:{default:{type:"literal",value:"for"}},patient:{default:{type:"reference",value:"it"}}}});for(let[e,t]of hp)he(e,yp(e,t));for(let[e,t]of Cp)he(e,gp(e,t)),e==="tr"&&he(e,wp(e,t));var xp={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",xp);he("qu",kp);function Di(e){return ti.get(e)??[]}function Sp(e){return Ee("append",e)??[]}function Dp(e){return Ee("prepend",e)??[]}function Tp(e){return Ee("trigger",e)??[]}function Bp(e){return Ee("send",e)??[]}var an=new Set(["tell","viewTransition"]);function on(e){return e.kind==="command"&&an.has(e.action)&&Array.isArray(e.body)}function Oe(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 te(e,t){let r={type:"literal",value:e};return t!==void 0?{type:"literal",value:e,dataType:t}:r}function qu(e){if(e==="true")return te(true,"boolean");if(e==="false")return te(false,"boolean");if(e==="null")return {type:"expression",raw:"null"}}function He(e){return br(e)}function Be(e){return {type:"reference",value:e}}function Vu(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 sr(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 Fp(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 ri(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 Ht(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 Pp(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 no(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 Hu(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 Op=new Set(["character","characters","item","items"]),Ku=e=>{if(Op.has(e))return {type:"expression",raw:e};let t=Number(e);return te(e!==""&&!Number.isNaN(t)?t:e)};function Rp(e,t){let r=[Hu(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:Ku},patient:{position:2},source:{marker:t.srcMarker,...t.srcAlternatives?.length?{markerAlternatives:t.srcAlternatives}:{}}}}}var _p={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 Np(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}]},Hu(e)]},extraction:{source:{position:0},method:{position:2,transform:Ku},patient:{position:3}}}}var Mp={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 Ip(e){let t=_p[e];if(t)return [Rp(e,t)];let r=Mp[e];return r?[Np(e,r)]:[]}var io=[{type:"literal",value:"start"},{type:"group",optional:true,tokens:[{type:"literal",value:"a"}]},{type:"literal",value:"view"},{type:"literal",value:"transition"}];function ao(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:Pu}]},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(io,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(io,`${n}-en`,108)]}function $p(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 Bi(e,t,"source")}function Ti(e,t){return Bi(e,t,"destination")}function jp(e,t){return Bi(e,t,"patient")}function Bi(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 Wp={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 un(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 qp={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"]}},un(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"}},Vp={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},un(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"}},Hp={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:en,svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:true,expectedTypes:Fu,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"}},Kp={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:O0,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:ki,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:Tu,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>"}},Up={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>"}},Gp={action:"live",description:"Reactive block: re-run the body when its dependencies change",category:"control-flow",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Yp={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}]},Zp={action:"eventsource",description:"Open a Server-Sent Events stream and handle its events",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Qp={action:"socket",description:"Open a WebSocket and handle its messages",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Xp={action:"worker",description:"Define a Web Worker with inline methods",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},Jp={action:"intercept",description:"Service-worker fetch interception / caching strategies",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},ed={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:Lu,svoPosition:2,sovPosition:2},un(3)]},td={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:Lu,svoPosition:2,sovPosition:2},un(3)]},rd={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"]}]},nd={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}]},id={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:R0,svoPosition:1,sovPosition:1}]},ad={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:tn,svoPosition:1,sovPosition:1,renderOverride:{en:""}},{role:"style",description:"Request options object (method, headers, body, credentials\u2026)",required:false,expectedTypes:bi,valueShape:"object",svoPosition:2,sovPosition:2},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:false,expectedTypes:Ci,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}]},od={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"}}]},ud={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"}}]},sd={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:en,svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:true,expectedTypes:Ru,svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},ld={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:en,svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:true,expectedTypes:Ru,svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},cd={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}]},pd={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:Bu,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"}}]},dd={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"}}]},md={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}]},fd={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}]},yd={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}]},vd={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}]},hd={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"}}]},Ed={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:Ou,svoPosition:1,sovPosition:1}]},gd={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:Ou,svoPosition:1,sovPosition:1}]},wd={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:true,roles:[]},kd={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"'},Cd={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:zi,svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:true,expectedTypes:rn,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"}}]},bd={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}]},zd={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",ast:{},roles:[],bareKeyword:true},sn={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"},Ad=Object.fromEntries(Object.keys(sn).map(e=>[e,"in new"])),xd={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:Ad}],rolePrefixLiteralVariants:[{role:"destination",literal:sn,idSuffix:"url",priorityDelta:5,methodCarrier:"method"}]},Sd={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"}}]},Dd={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:Pu,svoPosition:1,sovPosition:1,markerOverride:{en:"using"}}]},Td={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"}}]},Bd={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}]},Fd={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}]},Pd={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"}}]},Od={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}]},Rd={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}]},_d={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}]},Nd={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}]},Md={action:"breakpoint",description:"Drop into the debugger",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},Id={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}]},$d={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}]},jd={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}]},Wd={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"}}]},qd={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"}}]},Vd={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",ast:{},hasBody:true,roles:[]},Hd={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}]},Kd={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}]},Ud={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"}}]},Gd={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"},Fi={role:"manner",description:"Run the swap inside a `document.startViewTransition()` (`using view transition`)",required:false,expectedTypes:["literal","expression"],valueShape:"keyword",markerOverride:Gd},Yd={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"}},{...Fi,svoPosition:4,sovPosition:4}]},Zd={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"}},{...Fi,svoPosition:3,sovPosition:3}]},Qd={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}]},Xd={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}]},Jd={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}]},em={action:"break",description:"Exit from the current loop",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},tm={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}]},rm={action:"exit",description:"Exit from the current event handler",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},nm={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}]},im={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}]},am={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"},om={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:sn}]},um={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:sn}]},sm={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:am},{...Fi,svoPosition:2,sovPosition:2}]},lm={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:Wp,add:qp,remove:Vp,put:Hp,set:Kp,show:ed,hide:td,on:rd,trigger:nd,wait:id,fetch:ad,increment:od,decrement:ud,append:sd,prepend:ld,log:cd,get:pd,take:dd,make:md,halt:fd,settle:yd,throw:vd,send:hd,if:Ed,unless:gd,else:wd,repeat:kd,for:Cd,while:bd,continue:zd,go:xd,scroll:im,push:om,replace:um,process:sm,transition:Sd,viewTransition:Dd,clone:Td,focus:Bd,blur:Fd,empty:Ld,open:Pd,close:Od,select:Rd,clear:_d,reset:Nd,breakpoint:Md,call:Id,return:$d,js:jd,tell:Wd,default:qd,init:Vd,behavior:Hd,install:Kd,measure:Ud,swap:Yd,morph:Zd,beep:Qd,ask:Xd,answer:Jd,break:em,copy:tm,exit:rm,pick:nm,render:lm,bind:Up,live:Gp,when:Yp,eventsource:Zp,socket:Qp,worker:Xp,intercept:Jp,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 cm(){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(()=>(f0(),hu)).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
- 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 fr=new Set(["destination","source","patient","object","event","eventmarker","manner","instrument","style"]);function Nt(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 yr(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 Li(e,t,r,n){Gu(e,t,r,n,"manner",{requireMarker:true});}function Uu(e,t,r,n){Gu(e,t,r,n,"recipient",{requireMarker:false});}function Gu(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 Yu(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 Zu(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}=Nt(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 Qu(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:es(a,n)}),t[a.role]=a.default?{fromRole:a.role,default:a.default}:{fromRole:a.role});}function pm(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=Yu(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(...Zu(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(...Ti(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 Qu(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 dm(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?jp(e,c):Ti(e,c));let p={action:{value:e.action},event:{fromRole:"event"},[u]:{fromRole:u},...o?{}:wt(e),...kt(e)};return Uu(a,p,e,t.code),Li(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 mm(e,t,r,n,i){let a=e.roles.find(p=>p.role==="source");if(!a)return null;let{marker:o,alternatives:u}=Nt(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 Uu(l,c,e,t.code),Li(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 fm(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 ym(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(...Ti(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 vm(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 hm(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 Em(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}=Nt(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 yr(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 gm(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}=Nt(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 yr(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 wm(e,t,r,n,i){let a=[],u=[...e.roles.filter(v=>v.required)].sort((v,E)=>{let w=v.sovPosition??999,g=E.sovPosition??999;return w-g}),s=u[0];a.push({type:"role",role:s.role,optional:false});let{marker:l,alternatives:c}=Nt(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 E of v)a.push({type:"literal",value:E});else {let E=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(E);}}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}=Nt(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 yr(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 Xu(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 oo(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=Yu(e);a.push(...Zu(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 Qu(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 km(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 Li(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 Cm(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=Xu(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 yr(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 uo(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=Xu(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 yr(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 bm(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 zm(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 Pi={basePriority:100,generateSimpleVariants:true,generateAlternatives:true},Ju=za({positionOrder:"ascending"});function Am(e,t,r=Pi){return Ju.generatePatternVariants(e,t,r)}function es(e,t){return Ju.buildRoleToken(e,t)}function Oi(e,t=Pi){let r=[],n=cm();for(let i of n){if(!e.keywords[i.action])continue;let a=Am(i,e,t);if(r.push(...a),e.eventHandler?.eventMarker){let o=xm(Fn(i),e,t);r.push(...o);}}return r}function xm(e,t,r=Pi){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(Em(e,t,a,i,r)),n.push(wm(e,t,a,i,r)),n.push(gm(e,t,a,i,r));else {n.push(pm(e,t,a,i,r)),n.push(dm(e,t,a,i,r));let s=mm(e,t,a,i,r);s&&n.push(s);let l=t.roleMarkers.destination;l&&l.primary!==i.primary&&n.push(fm(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(ym(e,t,a,i,r)),n.push(vm(e,t,a,i,r));let m=hm(e,t,a,r);m&&n.push(m);}else t.wordOrder==="VSO"?u?(n.push(uo(e,t,a,i,r)),n.push(Cm(e,t,a,i,r))):(n.push(oo(e,t,a,i,r)),n.push(km(e,t,a,i,r)),t.eventHandler?.negationMarker&&n.push(bm(e,t,a,i,r)),t.tokenization?.prefixes&&n.push(zm(e,t,a,r))):u?n.push(uo(e,t,a,i,r)):n.push(oo(e,t,a,i,r));return t.eventHandler.headOutranksFused?n.map(s=>({...s,priority:s.priority-75})):n}function Sm(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:es(n,i)};return r.map(o=>({...o,template:{...o.template,tokens:[...o.template.tokens,a]}}))}var vr={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 De(e,t){return vr[e]?.[t]??t}function ts(e,t,r){let n=vr[e]?.[t],i=[[t]];return n&&n!==t&&i.push(r(n).map(a=>a.toLowerCase())),i}var Dm={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 Tm(e){return Dm[e]??"in"}var Bm={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 Fm(e){return Bm[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:tn},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:Ci}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Pm={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:tn},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:bi},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:Ci}]},extraction:{source:{position:1},style:{marker:"with"},responseType:{marker:"as"}}},Om={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:tn},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:bi}]},extraction:{source:{position:1},style:{marker:"with"}}},Rm={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}}},_m=[Pm,Om,Lm,Rm],ln={type:"group",optional:true,tokens:[{type:"literal",value:"using"},{type:"literal",value:"view"},{type:"role",role:"manner",optional:true,expectedTypes:["literal","expression"],valueShape:"keyword"}]},Nm={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"},ln]},extraction:{method:{position:1},destination:{position:2}}},Mm={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"},ln]},extraction:{}},Im={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"},ln]},extraction:{}},$m={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"},ln]},extraction:{}},jm=[Im,$m,Mm,Nm],Wm={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"}}}},qm={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"}}}},Vm=[Wm,qm],Hm=[...ki],Km={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:Hm},{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"}}},Um=[Km],Gm={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"}}},Ym={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}}},Zm={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}}},Qm=[Gm,Ym,Zm],Xm={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}}},Jm={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}}},ef=[Xm,Jm],tf=[..._m,...jm,...Vm,...Um,...Qm,...ef];function rf(){return tf}function nf(e){let t=F(e);return t?e==="en"?ao(e):ao(e,{words:De(e,"start").split(" "),verbFinal:t.wordOrder==="SOV"}):[]}function af(e){let t=F(e),r=t?.keywords?.go,n=k0(e);return e==="en"||!r||!n?[]:$p(e,{go:r.primary,goAlternatives:r.alternatives??[],back:n.tokenize(De(e,"back")).tokens.map(i=>i.value),verbFinal:t.wordOrder==="SOV"})}var Or=(e,t)=>r=>Sm(e,r,t(r)),of=[L0,P0,j0,K0,Or("add",G0),Or("remove",Y0),Or("show",Z0),Or("hide",Q0),J0,ep,tp,rp,ip,ap,Di,Sp,Dp,Tp,Bp,Ip,nf,af,U0],so=new Map;function uf(e){let t=so.get(e);if(t)return t;let r=F(e);if(!r)return [];let n=Oi(r);return so.set(e,n),n}function sf(e){let t=of.flatMap(r=>r(e));return e==="en"&&t.push(...rf()),t.push(...uf(e)),t.map(cf)}var lf=new Set(["on.source"]);function cf(e){let t=J(e.command);if(!t)return e;let r;for(let n of t.roles){if(n.required||!n.default||lf.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 pf(e){return sf(e.code)}E0(pf);var Ri=["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"],_i=["is not empty","is empty","does not exist"],Ni=["is not an","is not a","is an","is a"],df=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),mf=new Set(["and","or","not","no"]),ff=new Set(["true","false","null","undefined"]),yf=new Set(Ri.map(e=>e.slice(e.lastIndexOf(" ")+1))),vf=new Set(["next","previous","closest","first","last"]),hf=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function rs(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"&&yf.has(f.value.toLowerCase())||f.type==="IDENTIFIER"&&vf.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 E=c(d);t.push(y("STRING",E,f));continue}if(d==="`"){let E=p();t.push(y("TEMPLATE_LITERAL",E,f));continue}if(d==="<"&&/[a-zA-Z.#\[]/.test(o(1))){let E=m();t.push(y("QUERY_SELECTOR",E,f));continue}if(d==="#"&&a()){u();let E=l(w=>/[\w-]/.test(w));t.push(y("ID_SELECTOR","#"+E,f));continue}if(d==="."&&/[a-zA-Z_-]/.test(o(1))&&a()){u();let E=l(w=>/[\w-]/.test(w));t.push(y("CLASS_SELECTOR","."+E,f));continue}if(d==="@"&&/[a-zA-Z_]/.test(o(1))){u();let E=l(w=>/[\w-]/.test(w));t.push(y("ATTRIBUTE_REF","@"+E,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 E=l(z=>/[\d.]/.test(z)),w=r,g=l(z=>/[a-zA-Z]/.test(z));hf.has(g)?t.push(y("TIME_EXPRESSION",E+g,f)):Qr.has(g)||!g&&e[r]==="%"?(g||u(),t.push(y("STRING",`"${E}${g||"%"}"`,f))):(r=w,t.push(y("NUMBER",E,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 E=l(w=>/[\w$]/.test(w));t.push(y("IDENTIFIER",`:${E}`,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 E=u();o()==="="&&(E+=u()),(E==="=="||E==="!=")&&o()==="="&&(E+=u()),t.push(y("COMPARISON",E,f));continue}if(/[a-zA-Z_$]/.test(d)){let E=l(g=>/[\w$]/.test(g)),w=E.toLowerCase();df.has(w)?t.push(y("CONTEXT_VAR",E,f)):mf.has(w)?t.push(y("LOGICAL",E,f)):ff.has(w)?t.push(y("BOOLEAN",E,f)):t.push(y("IDENTIFIER",E,f));continue}u();}return t.push(y("EOF","",r)),t}var Ef=new Set(["my","its","your"]),gf={my:"me",its:"it",your:"you"},wf=new Set(["is","matches","match","contains","in","exists","does"]),kf=new Set(["next","previous","closest","first","last"]),Cf=[..._i,...Ni,...Ri].map(e=>[e,e.split(" ")]),bf=class{constructor(){this.tokens=[],this.current=0,this.collectionOperand=0;}parse(e){try{return this.tokens=rs(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(_i.includes(t))e=this.createPostfixUnary(t,e);else if(Ni.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 Cf)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"&&Ef.has(e.name)&&this.check("IDENTIFIER")&&!wf.has(this.peek().value.toLowerCase())){let t=this.advance(),r=e,n={...r,name:gf[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(kf.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 Mi(e){return new bf().parse(e)}var zf={possessive:{specialForms:{me:"my",it:"its",you:"your"}}};var lo=new Map;function Af(e){let t=e.toLowerCase();return lo.get(t)??lo.get(t.split("-")[0])}function Rr(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 Wn(e){return zf.possessive?.specialForms?.[e]??`${e}'s`}var cn=new Set(["+","-","*","/","%","<",">","<=",">=","==","!=","===","!=="]),ns=new Set(["<",">","<=",">=","==","!=","===","!=="]),it=new Set([...cn,"mod"]),xf=/^[<>=!+\-*/%]+$/,is={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"])},Sf=new Set,co=new WeakMap;function as(e){let t=F(e);if(!t)return Sf;let r=co.get(t);if(!r){let n=t.keywords?.end;r=new Set((n?[n.primary,...n.alternatives??[]]:[]).filter(i=>!!i).map(i=>i.toLowerCase())),co.set(t,r);}return r}function Ii(e,t){let r=e.value.toLowerCase();if(r==="end")return "curated";let n=as(t),i=is[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 Ii(e,t)!==null}function Df(e){return new Set(["end",...is[e]??[],...as(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 Tf=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"]),pn={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"}},Bf={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"}},os={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 po(e){if(!e?.code)return;let t=os[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?os[e.code]:void 0;return !!i&&i.has(r)}var Ff={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"])},qn=new Map;function us(e){let t=e?.code;if(!t)return;if(qn.has(t))return qn.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 qn.set(t,n),n}var ss=new Set(["in","into","at","within","inside"]);function Pf(e,t){let r=t.value.toLowerCase();if(us(e)?.has(r))return "in";let i=t.normalized??t.value,a=i.toLowerCase();return ss.has(a)?"in":Ff[a]??i}function ls(e,t){return t.value.toLowerCase()==="in"||us(e)?.has(t.value.toLowerCase())?true:ss.has((t.normalized??t.value).toLowerCase())}var Of=new Set(["me","it","you","body","document","target","result"]);function cs(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(Of.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 Rf=new Set(["first","last","next","previous","random"]);function _f(e,t,r){let n=cs(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=Rf.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 $r(e,t,r,n){let i=e[t];if(!i||!ls(r,i))return null;let a=cs(e,t+1);if(!a)return null;let o=e[t+1+a.consumed],u=!!o&&lt(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 Vn=new Set(["first","last","next","previous","random","closest"]),Nf={bn:{\u09B6\u09C7\u09B7:"last"}},Kt=new Set(Object.keys(ke).map(e=>e.toLowerCase()));function Pt(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("<")?Nf[r.code]?.[i.value.toLowerCase()]:void 0;if(!Vn.has(a)&&!Vn.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||ns.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")&&!Vn.has((y.normalized??y.value).toLowerCase())&&!Kt.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":Pf(r,y),token:y}),s.push({text:f.value,token:f}),l+=2;}else {let d=$r(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=Bf[e];return r?r[t.toLowerCase()]??t:t}function Se(e,t){let r=pn[e];return r?r[t.toLowerCase()]??t:t}function Hn(e,t){return pn[e]?.[t.toLowerCase()]!==void 0}function Mf(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 If(e){return e.kind==="literal"||e.kind==="operator"||e.kind==="punctuation"?false:!/^[$:@#.*^(){}[\]]/.test(e.value)}function $f(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 Ot(e,t){return If(e)?Se(t,e.value)!==e.value?true:st(t,e.value)!==e.value?false:e.kind==="identifier":false}var jf=new Set(["true","false","null","undefined","me","my","it","its","you","your","result","event","target","body","detail","document","window"]);function ps(e){return e.kind==="literal"||e.kind==="selector"||e.kind==="reference"?true:e.kind==="identifier"?qf.test(e.value):e.kind==="keyword"&&jf.has((e.normalized??e.value).toLowerCase())}function mo(e){return !!e&&(e.value===")"||e.value==="]"||ps(e))}function ni(e){if(!e)return false;if(/^[([-]$/.test(e.value)||ps(e))return true;let t=(e.normalized??"").toLowerCase();return e.kind==="keyword"&&(t==="not"||t==="no")}var Wf=/^\.[\p{L}_-][\p{L}\p{N}_-]*$/u,qf=/^(?:[:$^]?[\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"},Vf={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}},Hf=new Set(["text","json","html","response","blob","arraybuffer"]),Kf=new Set(["empty","null","undefined","true","false"]),Uf=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 lr(e){return ds(e)||/^[A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?$/.test(e)}function ds(e){return Uf.has(e)||/^Fixed(?::\d+)?$/.test(e)}function ms(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],o=t.tokens[t.i+1],u=ii(e,i);if(!u)return;if(u.beforeTypeName&&o?.kind==="identifier"&&n?.value!=="("&&(ds(o.value)||Hf.has(o.value.toLowerCase())))return u.beforeTypeName;if(u.beforePredicate&&o&&(o.kind==="literal"||o.kind==="keyword"&&Kf.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)&&hr(je(t.tokens,t.i+1),e);if(u.beforeOperand&&(ni(o)||s))return u.beforeOperand;if(u.beforeComparison&&o?.kind==="keyword"&&fs.has((o.normalized??"").toLowerCase()))return u.beforeComparison;if(u.beforeSelector&&o?.kind==="selector")return u.beforeSelector;if(u.beforeClassRef&&o&&Wf.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&&(mo(a)||l)&&ni(o)?u.betweenOperands:u.afterOperand&&(mo(a)||a?.value==="}")?u.afterOperand:u.otherwise}function ii(e,t){let r=Vf[e];return r?.[t.value]??r?.[t.value.toLowerCase()]}function Gf(e,t){return ms(e,t,void 0,void 0)}function Yf(e){return xf.test(e)||e==="("||e==="["||e===","}function Zf(e){return cn.has(e)&&e!=="-"||e===")"||e==="]"||e===","}var fs=new Set(["is","am","contains","contain","matches","match","has","have","includes","include","exists","exist","mod"]);function ys(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&&Yf(r.value))return true;if(n===void 0)return false;if(Zf(n.value))return true;let a=n.kind==="keyword"?(n.normalized??n.value).toLowerCase():st(e,n.value).toLowerCase();return fs.has(a)}var Qf=new Set(["include","contain","match","exist"]);function vs(e){let t=e?.toLowerCase();return t==="is"||t==="not"}function hs(e,t,r){let n=t[r],i=t[r-1];return !n||!i||n.value.toLowerCase()!=="in"?false:vs(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(vs(r)&&i.value.toLowerCase()==="in")return "in";if(r?.toLowerCase()==="not"&&Qf.has(i.value.toLowerCase()))return i.value.toLowerCase();let u=ms(e,t,r,n);if(u!==void 0)return u;if(ys(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"&&fr.has(l)||Ke(i,e)&&hr(je(t.tokens,t.i),e)?i.value:i.normalized??i.value}function Es(e,t,r,n){let i=e[t],a=e[t+1];if(!i||!a||!ut(r,a)||!Ot(i,n)&&!Xf.test(i.value))return;let o=t+2;for(;e[o]!==void 0&&e[o+1]!==void 0&&ut(r,e[o+1])&&Ot(e[o],n);)o+=2;return e[o]?.kind==="selector"?o:void 0}var Xf=/^[@*][A-Za-z_-][\w-]*$/,Jf=new Set(["if","unless","while","until","for","when","where","is","not","no","and","or","as"]);function ey(e){let t=(e.normalized??e.value).toLowerCase();return t==="event"||He(t)?false:Jf.has(t)||fr.has(t)}var ty=new Set(["and","or","is","times"]),ry=new Set(["if","unless","while","until","is","and","or","in"]),ny=e=>Object.prototype.hasOwnProperty.call(ke,e);function Kn(e){if(e.kind!=="keyword"&&!(e.normalized&&e.normalized!==e.value))return;let t=(e.normalized??e.value).toLowerCase();return ny(t)?t:void 0}var fo=new WeakMap;function yo(e,t,r=false){let n;try{n=be(e);}catch{return new Set}let i=fo.get(n);i||(i=new Map,fo.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 vo=new WeakMap;function iy(e){let t;try{t=be(e);}catch{return new Set}let r=vo.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,vo.set(t,r);}return r}function ho(e){return e.kind==="particle"?true:e.kind==="keyword"&&fr.has((e.normalized??"").toLowerCase())}function Eo(e,t){return e.kind==="keyword"&&e.normalized?e.normalized.toLowerCase():st(t,e.value).toLowerCase()}function hr(e,t){let{prev:r,beforePrev:n,next:i,afterNext:a}=e;if(i){if(it.has(i.value)||ty.has((i.normalized??i.value).toLowerCase())||i.value==="'"&&a?.value.toLowerCase()==="s")return true;let f=ii(t,i)?.betweenOperands;if((f==="and"||f==="or")&&ni(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(cn.has(r.value))return true;if(r.value.toLowerCase()==="transition"&&n?.value.toLowerCase()==="view")return false;let s=Eo(r,t);if(s==="not"||s==="no"||ii(t,r)?.beforeOperand==="not")return true;let l=o?.wordOrder!=="SOV",c=e.third?Kn(e.third):void 0;if(c&&n&&yo(t,c,true).has(n.value.toLowerCase()))return true;let p=n&&l?Kn(n):void 0;if(p&&!yo(t,p).has(r.value.toLowerCase())||n&&!u&&ho(n))return false;if(ry.has(s))return true;let m=!!n&&Eo(n,t)!=="repeat"&&!!Si[t]?.includes(r.value);if(iy(t).has(r.value.toLowerCase())&&(l||s!=="repeat")&&!m)return true;let y=l?Kn(r):void 0;return y&&ke[y].roles.some(f=>f.required)?true:!u&&ho(r)}function Ut(e){if(e.kind!=="keyword")return;if(ey(e))return "structure";let t=(e.normalized??e.value).toLowerCase();return Kt.has(t)?"verb":Tf.has(t)?"event":void 0}function _e(e,t){let r=t?.code??"en",[n]=e;if(e.length===1&&n&&(Ut(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?Mf(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&&lr(`${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 g=e[s+2];g&&Se(r,g.value)!==g.value?(u(Se(r,g.value),g),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&&Ot(f,r)){u(`${l.value}'s`,l),u(Se(r,f.value),f),s+=2;continue}if(p?.value.toLowerCase()==="of"&&Se(r,l.value)!==l.value&&Ot(l,r)){u(Se(r,l.value),l);continue}if(c!==void 0&&p){let g=t?.possessive?.connectors,z=!!g?.length&&g.some(k=>{let x=k.toLowerCase();return x===p.value.toLowerCase()||x===(p.normalized??"").toLowerCase()}),S=z?s+2:s+1,h=e[S],A=z&&h!==void 0&&/^[@*][\w-]/.test(h.value);if(h&&(A||Ot(h,r))){u(Wn(c),l),u(A?h.value:Se(r,h.value),h),s=S;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(Wn(c),l),u(Se(r,h.value.slice(1)),h),s=S;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&&!$f(t,l)){u(Wn(c),l),u(Se(r,p.value.slice(1)),p),s+=1;continue}}let d=e[s+2],v=Es(e,s,t,r);if(v!==void 0){for(let g=s;g<v;g+=2)u(Se(r,e[g].value),e[g]),u("of",e[g+1]);u(e[v].value,e[v]),s=v;continue}if(l.kind==="selector"&&p&&d&&ut(t,p)&&Ot(d,r)&&Se(r,d.value)!==d.value){u(Se(r,d.value),d),u("of",p),u(l.value,l),s+=2;continue}let E=Pt(e,s,t);if(E){for(let g of E.parts)u(g.text,g.token);s+=E.consumed-1;continue}let w=a?.kind==="selector"&&a.value.startsWith("<")?$r(e,s,t):null;if(w){u("in",w.marker);for(let g of w.scope.parts)u(g.text,g.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 ay={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=ay[t];return n?n.has(r):r==="then"||bt(t,"then",r)}function Mt(e,t){let r=e.toLowerCase();return r==="else"||r==="otherwise"?true:bt(t,"else",r)}function gs(e){let t=(e.normalized??e.value).toLowerCase();return t==="js"||bt("en","js",t)}function ws(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 Le(e,t){let r=e.toLowerCase();return r==="if"?true:bt(t,"if",r)}function It(e,t){let r=e.toLowerCase();return r==="unless"?true:bt(t,"unless",r)}function $t(e,t){return Ii(e,t)==="curated"}function oy(e,t,r){return Ke(e,r)&&!ks(e,t,r)}function ks(e,t,r){return t?.kind==="selector"&&!t.metadata?.lineStart&&Ii(e,r)==="end"}function Er(e,t,r){return Ue(e.value,r)?!($t(e,r)&&hr(t,r)):false}function Mr(e,t){return Ke(e,t)}function Cs(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")||xi(r,e.value,t.prev?.value,t.next?.value)}function uy(e,t,r){let n=e[t];if(!n)return false;let i=je(e,t);return ks(n,i.next,r)||Cs(n,i,r)}function ie(e,t,r){let n=e[t];return n?n.metadata?.closesTrackedBlock===true?true:Ke(n,r)&&!uy(e,t,r)&&!hr(je(e,t),r):false}function sy(e,t,r){return e.metadata?.closesTrackedBlock===true?Ke(e,r):oy(e,t,r)}function Ge(e,t,r){let n=e[t];return !n||n.kind==="conjunction"||n.kind==="keyword"&&Ue(n.value,r)&&Er(n,je(e,t),r)?true:ie(e,t,r)}function ly(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 bs(e){return !!e&&it.has(e.value)}var cy=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 ly(this.all,this.at+1,this.language)}};function py(e){let t=e.token.value.toLowerCase();if(t!=="a"&&t!=="an")return false;let r=e.next;return r!==void 0&&(cn.has(r.value)||e.nextIsMarker)}function $i(e){return e.kind==="keyword"&&Kt.has((e.normalized??e.value).toLowerCase())}function dy(e,t){return e.token.kind!=="keyword"?false:Ge(e.all,e.at,t)}function my(e,t){return Ke(e.token,t)&&hr(e.place,t)}function zs(e){return e.afterLiteral&&(e.clauseEndsAfter||e.nextIsMarker)}function fy(e,t){let r=e.patternToken.role;return r!=="quantity"&&!(r==="event"&&t==="repeat")?false:$i(e.token)&&!zs(e)&&!e.nextIsMarker}function yy(e){let t=e.patternToken;return !t.optional||t.role==="event"||t.role==="action"||t.valueShape==="keyword"||!$i(e.token)?false:(e.lastSlot||e.tokenIsMarker)&&!zs(e)}function vy(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 $i(t)?!a:a}function hy(e){return Kt.has((e.normalized??e.value).toLowerCase())}function Ey(e,t){return e?.kind==="particle"&&!!t&&["selector","literal","identifier"].includes(t.kind)&&!bs(t)}function gy(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 wy(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=Ut(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 ky(e){let t=(e.normalized||e.value).toLowerCase();if(t==="empty")return qu("null");if(t==="a"||t==="an")return {type:"expression",raw:e.value}}function Cy(e,t,r){return e.kind==="particle"&&(t||bs(r))}function As(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 go=new Set(["is","am","are","be","was","were","not","no"]),by=new Set(["\u0647\u0648","\u0E40\u0E1B\u0E47\u0E19","\u0939\u0948","\u0928\u0939\u0940\u0902","mana"]),xs=new Set(["empty","null","undefined"]);function zy(e,t,r,n){let i=(e.normalized??e.value).toLowerCase(),a=e.value.toLowerCase(),o=(t.normalized??t.value).toLowerCase();return (go.has(i)||go.has(st(n,a))||by.has(a)&&xs.has(o))&&!r}var Ay=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"]),xy=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"]),wo=/\s+as\s+([A-Za-z]\w*)!?\s*$/,Sy=/("[^"]*"|'[^']*')|\*(?=[A-Za-z_-])/g,Dy=e=>e.replace(Sy,(t,r)=>r??" style_");function ji(e){let t=e;for(let i=wo.exec(t);i;i=wo.exec(t)){if(!lr(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=Dy(t);let n=Mi(t);return !n.success||n.consumed===void 0||n.consumed!==rs(t).length-1?false:By(n.node).every(lr)}function Ty(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()!==""&&ji(a.trim()))}function By(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 ar(e,t){return e?.position?.end!==void 0&&t?.position?.start!==void 0&&e.position.end===t.position.start}var Fy=new Set(["is","not","really","am","or"]);function Ss(e,t,r){let n=i=>e[i]?lt(r,{tokens:e,i},void 0).toLowerCase():"";return n(t)==="to"&&n(t-1)==="equal"&&Fy.has(n(t-2))}function Ds(e,t){return e[t]?.value.toLowerCase()==="to"&&e[t-1]?.value.toLowerCase()==="mapped"}function Ly(e){return e.value==="a"}var Py=new Set(["event","window","document"]);function Oy(e,t,r){let n=e[t],i=e[t-1];return !n||!i||!ut(r,i)?false:Py.has((n.normalized??n.value).toLowerCase())}function Ry(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 ko(e,t,r){let n=r.profile?.code??"en";if(hs(n,e,t)||As(e,t)||Ss(e,t,n)||Ly(e[t])||Ds(e,t))return false;let i=e[t];return Ry(e,t,r)||r.commandMarkers.has(i.value.toLowerCase())}function _y(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||ar(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 xy.has(u)}if(it.has(n.value)||/^[()[\],.!<>=+\-*/%]+$/.test(n.value)||ut(r.profile,n)||ys(a,n,i,e[t+1])||hs(a,e,t)||As(e,t)||Oy(e,t,r.profile)||Ss(e,t,a))return true;let o=lt(a,{tokens:e,i:t},void 0).toLowerCase();return o==="as"&&r.hasResponseType?false:Ay.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 Ny(e,t,r){if(!e[t]||ko(e,t,r))return [];let n=t;for(;n<e.length&&!ko(e,n,r)&&(_y(e,n,r)||Ds(e,n));)n++;let i=[];for(let a=n;a>t;a--)i.push(a);return i}function My(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)&&Iy(e,i))i+=1;else break;n.push(i);}return n.reverse()}function Iy(e,t){let r=e[t-1],n=e[t];return !!r&&!!n&&r.position.end===n.position.start}function $y(e,t,r,n,i=ji){for(let a of r){let o=_e(e.slice(t,a),n);if(i(o))return {end:a,raw:o}}}var Ts=96,jy=/^[A-Za-z_][\w-]*$/,Wy=/^[A-Za-z_][\w-]*:[^\s'"`/:][^\s]*$/;function Bs(e,t){let r=e.peek(t);return !!r&&r.kind==="identifier"&&Wy.test(r.value)}function Fs(e,t){let r=e.peek(t);if(!r||r.kind!=="identifier"&&r.kind!=="keyword"||!jy.test(r.value))return false;let n=e.peek(t+1),i=e.peek(t+2);return !!n&&n.value===":"&&!!i}function Co(e,t=0){return Bs(e,t)||Fs(e,t)}function qy(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++<Ts;){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 bo(e){let t=e.peek();return t?t.value==="{"||t.value==="("?qy(e):t.value===","||t.value===":"?null:(e.advance(),t.value):null}function or(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=bo(e);if(o===null)return e.reset(r),null;n.push(`${t}:${o}`);}else if(!Co(e))return null;let i=0;for(;i++<Ts;){let a=e.peek();if(!a)break;if(a.value===","){if(n.length===0||!Co(e,1))break;e.advance();continue}if(Bs(e,0)){n.push(e.advance().value);continue}if(!Fs(e,0))break;let o=e.advance().value;e.advance();let u=bo(e);if(u===null)return e.reset(r),null;n.push(`${o}:${u}`);}return n.length===0?(e.reset(r),null):`{${n.join(", ")}}`}var Vy=/^(?:the )?(?:global|element|local|dom)(?:'s)? [A-Za-z_]\w*$/i;function dn(e){switch(e.kind){case "selector":return Oe(e.value);case "literal":return Hy(e.value);case "keyword":{let r=ky(e);if(r)return r;let n=(e.normalized||e.value).toLowerCase();return He(n)?Be(n):qu(n)??te(e.normalized||e.value)}case "identifier":if(e.value.startsWith("@"))return Oe(e.value);if(e.value.startsWith(":")||e.value.startsWith("$")||Vy.test(e.value))return Be(e.value);let t=e.value.toLowerCase();return He(t)?Be(t):{type:"expression",raw:e.value};case "url":{let r=te(e.value,"string");return e.value.includes("${")?{...r,interpolates:true}:r}default:return null}}function Hy(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let n=e.slice(1,-1);return {...te(n,"string"),quoted:true}}if(e==="true")return te(true,"boolean");if(e==="false")return te(false,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?te(e,"duration"):te(n,"number")}if(y0(e))return {type:"expression",raw:e};let r=parseFloat(e);return isNaN(r)?te(e,"string"):te(r,"number")}var _r=.8,Ky=.6,Uy=.15,Gy=.5,zo=.15,Ao=.1,xo=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"]),Yy={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"]},Zy=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(Gy,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+=_r,n+=_r):s(c.role)||(i+=_r,a(c.role)&&(n+=_r*Ky)));return i>0?n/i:1}scoreStemPenalty(e){let{stemMatchCount:t,totalKeywordMatches:r}=e;return t<=0||r<=0?0:-(t/r)*Uy}scoreLanguageBoost(e){let{pattern:t}=e;if(t.language!=="ar")return 0;let r=t.template.tokens[0];return !r||r.type!=="literal"?0:xo.has(r.value)||r.alternatives?.some(n=>xo.has(n))?zo: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=Yy[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(-Ao,Math.min(Ao,n))}},Qy=new Zy,Xy=new Set(Object.values(ke).filter(e=>e.bareKeyword===true).map(e=>e.action));function Jy(e){return e.startsWith("*")||e.startsWith("@")}function So(e){return e?.type==="role"&&e.role==="event"}var de=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 vy(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"&&(!So(r[n-1])&&!So(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 te(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&&M0(this.currentProfile?.code??"",t.tokens[a]?.value??"",t.tokens[a+1]?.value)||r.role==="event"&&n.get(r.role)!==u&&xi(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"?Ny(t.tokens,t.position(),this.extentContext()):My(t.tokens,t.position(),this.currentProfile),c=$y(t.tokens,u?t.position()-1:a,l,this.currentProfile,r.valueShape==="list"?Ty: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,Vu(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)&&!Kt.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&&ar(a,o)&&ar(o,u)&&lr(`${a.value}:${u.value}`)?i-r+3:lr(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=_f(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"?Be(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(dy(u,this.currentProfile?.code??"")||fy(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(yy(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&&!Rr(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&&!Rr(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&&!Rr(d.type,r.expectedTypes)?r.optional||false:(n.set(r.role,d),true);let v=r.role!=="condition",E=this.tryMatchPropertyAccessExpression(t,v);if(E)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(E.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,E),true);let w=this.tryMatchSelectorPropertyExpression(t);if(w)return r.expectedTypes&&r.expectedTypes.length>0&&!Rr(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=or(t);if(h)return n.set(r.role,{type:"expression",raw:h}),true}if(gy(u)||wy(u,this.currentSchema())||my(u,this.currentProfile?.code??""))return n.set(r.role,{type:"expression",raw:a.value}),t.advance(),true;let g=this.tokenToSemanticValue(a);if(!g)return r.optional||false;if(r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(g.type)){let h=g.type==="selector"&&String(g.value).startsWith("@"),A=r.expectedTypes.some(k=>k==="expression"||k==="reference");if(!(h&&A))return r.optional||false}r.valueShape==="keyword"&&g.type==="expression"?n.set(r.role,te(String(g.raw??""))):n.set(r.role,g),t.advance();let z=this.isClassNameSlot(r);if(g.type==="selector"&&(g.value.startsWith("<")||g.value.startsWith(".")&&!z)&&r.role!=="event"){let h=$r(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"?Be(A.text):h.scope.kind==="closest"?{type:"expression",raw:`closest ${k.text}`}:this.tokenToSemanticValue(A.token);for(let D=0;D<1+h.scope.consumed;D++)t.advance();n.set(r.role,{...g,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 g&&(n.set(r.role,te(`${String(g.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=Pt(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=Gf(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 cy(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)||!ar(t.peek(n-1),a)||!ar(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 te(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(),Ey(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&&hy(i))return false;if(Cy(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&&Hn(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?Se(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=Pt(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"||Jy(p.value)){if(t.reset(u),this.patternTokenWouldMatch(r,l))return null;let m=this.currentProfile?.code??"en",y=Es(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=$r(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,E=!y&&d&&ls(this.currentProfile,d)?Pt(t.tokens,t.position()+1+v,this.currentProfile,f):null,w=y?y.scope.consumed:E?v+E.consumed:void 0,g=w!==void 0?t.tokens[t.position()+1+w]:void 0;if(w!==void 0&&(y||!f(d)||f(g))){let z=t.position()+1+w,S=_e(t.tokens.slice(m,z),this.currentProfile);for(;t.position()<z;)t.advance();return qe({type:"expression",raw:S},this.toEnglishProperty(i.value)+s,"possessive")}}return qe(Oe(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=Pt(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"&&Hn(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||N0(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(Be(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(Be(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 fr.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&&Xy.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 te(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(),E=!!v&&v.value.startsWith("(")&&($.abuts(t.tokens[t.position()-1],v)||this.patternRest[0]?.type!=="role");return r&&!E&&f.length>0&&He(a)?qe(Be(a),f.join("."),"dot"):(E&&(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(Be(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&&Hn(this.currentProfile.code,c.value);return c.kind==="identifier"||p||m||(o||u)&&(c.kind==="selector"||c.kind==="keyword")?(t.advance(),qe(Oe(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(Oe(r.value),a.join("."),"dot")}isWrittenTarget(t){return $.WRITTEN_ROLE[this.currentRoleCommand??""]===t.role}tokenToSemanticValue(t){return dn(t)}skipNoiseWords(t,r,n){let i=t.peek();if(!i)return;let a=i.value.toLowerCase();if($.ENGLISH_NOISE_WORDS.has(a)){if(py(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();}};de.CONDITION_OPERATOR_WORDS=new Set(["matches","match","contains","exists","has","have","equals","includes"]);de.LOOP_CONDITION_OPERATORS=new Set([...ns,"and","or"]);de.POSITIONAL_OR_SCOPE_KEYWORDS=new Set(["first","last","next","previous","random","closest","parent"]);de.STRUCTURAL_NEVER_EVENT=new Set(["if","unless","else","end","then","while","repeat"]);de.PROPERTY_ACCESS_BASES=new Set(["it","me","you","my","its","your","event","result","target","detail","body","window","document","self","this"]);de.COMMAND_ACTION_KEYWORDS=Kt;de.CLAUSE_BOUNDARY_KEYWORDS=new Set(["then","and","or","end","else"]);de.RUN_PHRASES=[..._i.map(e=>[e.split(" "),"none"]),...Ni.map(e=>[e.split(" "),"type"]),...Ri.filter(e=>!/^(in|am|has|have)$|^am /.test(e)).map(e=>[e.split(" "),"operand"]),[["exists"],"none"]];de.PICK_RANGE_SEPARATORS=new Set(["to"]);de.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"])};de.PICK_RANGE_MODES=new Set(["inclusive","exclusive"]);de.VISIBILITY_STRATEGIES=new Set(["display","visibility","opacity","twdisplay","twvisibility","twopacity"]);de.MAX_BRACE_RUN_TOKENS=64;de.MAX_PROPERTY_DEPTH=10;de.MAX_METHOD_ARGS=20;de.SWAP_STRATEGIES=new Set(["into","over","innerhtml","outerhtml","beforebegin","afterbegin","beforeend","afterend","delete","none","morph","innermorph","outermorph"]);de.DECLARATION_COMMANDS=new Set(["behavior","def"]);de.WRITTEN_ROLE={increment:"patient",decrement:"patient",set:"destination",bind:"destination"};de.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var Do=de,Ls=class extends ba{constructor(e){super(t=>new Do(t),e??Qy);}matchPattern(e,t){return super.matchPattern(e,t)}matchBest(e,t){return super.matchBest(e,t)}static rangeSeparatorFor(e){return Do.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 Ls,ev={a:"\xE1",e:"\xEA",i:"i"};function tv(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)}${ev[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 rv=/[aeıioöuü]/gu,nv=new Set(["a","\u0131","o","u"]),iv=new Set(["\xE7","f","h","k","p","s","\u015F","t"]);function av(e){let t=e.toLowerCase(),r=t.match(rv);return r?(iv.has(t[t.length-1])?"t":"d")+(nv.has(r[r.length-1])?"a":"e"):void 0}function V(e,t){return b0(e,t)}function Ps(){return C0()}function ov(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 uv(e){if(!e.includes("--")&&!e.includes("//"))return e;let t="",r=0;for(;r<e.length;){let n=e[r];if(ov(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
- `&&e[a]!=="\r";)a++;t+=" ".repeat(a-r),r=a;continue}t+=n,r++;}return t}function sv(e){return {positionSource:void 0,parseDepth:0,coverageFrames:[],boundIdentifiers:new Set,bottomTestTokens:new WeakMap,parse:e}}var To=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 jr=120;function lv(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>jr?`${o.slice(0,jr)}\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 mn(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 fn=new Set(["json","text","html","xml","blob","arraybuffer","formdata","response","object","string","number","int","float","fragment"]),Os={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"]},cv={ko:[["\uB85C"],["\uC73C\uB85C"]],qu:[["hina"]],tr:[["olarak"]],hi:[["\u0915\u0947","\u0930\u0942\u092A","\u092E\u0947\u0902"]]};function Wr(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 yn(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 Rs(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 pv(e){if(e.kind==="selector")return Oe(e.value);let t=(e.normalized??e.value).toLowerCase();return He(t)?{type:"reference",value:t}:{type:"literal",value:e.value,dataType:"string"}}function dv(e,t,r,n){let i=yn(e);if(i.length===0)return null;let a=Wr(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(E=>E===d||E.includes(d)))continue;let v=(t.slice(0,y).trimEnd()+" "+t.slice(f).trimStart()).trim();if(!(!v||v===t))try{let E=n(v,r);if(!E||E.kind!=="event-handler")continue;let w=mn(E);if(Wr(w)<a)return {node:{...w,eventModifiers:{...w.eventModifiers,from:pv(m)}},input:v}}catch{}}return null}function ai(e,t,r){let n=yn(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)),E=i[v];if(!E)break;return a.set("event",{type:"literal",value:E,dataType:"string"}),{node:Rs(e,c),input:t}}return null}function mv(e,t,r,n){let i=yn(e);if(i.length===0)return null;let a=Os[r];if(!a)return null;let o=l=>l.replace(/\s+/g," ").trim(),u=Wr(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)||!fn.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=mn(f);if(Wr(d)>=u)continue;let v=fv(d);if(!v)continue;return v.roles.set("responseType",{type:"expression",raw:p.value}),{node:d,input:y}}catch{}}return null}function fv(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 yv(e,t,r){let n=yn(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 E=v;for(let w of ["body","statements","thenBranch","elseBranch","commands"]){let g=E[w];Array.isArray(g)&&g.forEach(z=>d(z));}};if(d(e),!!f)return {node:Rs(e,y),input:t}}return null}function vv(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 cr(e,t){try{let n=Ji(e,t);if(n)return {node:n,confidence:n.metadata?.confidence??.8,error:void 0,tokensConsumed:V(e,t).tokens.length}}catch{}let r=vv(e,t);return r.parseSuccess?{node:null,confidence:r.confidence,error:void 0,tokensConsumed:r.tokensConsumed}:{node:null,confidence:0,error:r.error}}var qr={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"])},hv=new Set(Object.values(qr).flatMap(e=>[...e]));function pr(e,t){let r=(e.normalized??e.value).toLowerCase();if(r==="or")return true;let n=t===void 0?hv:qr[t];return n?n.has(e.value)||n.has(r):false}var oi={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 Ev(e){return oi[e]??oi.en}var gv=/[ক-হড়-য়ৎ]$/u,wv=/[া-ৌঅ-ঔ]$/u;function kv(e){if(gv.test(e))return `${e}\u09C7`;if(wv.test(e))return `${e}\u09A4\u09C7`}var Bo=e=>/[^\p{Script=Latin}\P{L}]\p{M}*$/u.test(e),Cv=new Set(["\u09A4\u09C7","\u098F"]);function bv(e,t){return e?.code==="bn"&&t==="\u09C7"?"\u09A4\u09C7":t}var zv=[["\uC744","\uB97C"],["\uC774","\uAC00"],["\uC740","\uB294"],["\uACFC","\uC640"],["\uC73C\uB85C","\uB85C"]];function Av(e,t){let r=zv.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 xv(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 Fo(e,t,r,n){let i=e?.attachedMarkers;if(!(!i||!t||/\s$/.test(t)||!i.markers.includes(r))){if(e.code==="bn"&&Bo(t)&&Cv.has(r))return kv(t);if(e.code==="tr"){let a=t.slice(t.lastIndexOf(" ")+1);if(!n?.(a))return;let o=av(a);return o===void 0?void 0:t+o}if(!(Bo(t)&&i.afterWords!=="all"&&!i.afterWords?.includes(r)))return t+(e.code==="ko"?Av(t,r):r)}}var Sv=["values","expressions","logical","temporal","attributes"],Dv=/"[^"]*"|'[^']*'|`[^`]*`/g,Je="\uE010",at="\uE011",Tv=/\uE010(\d+)\uE011/g,Bv=/(^|[^\w$.#@*:-])([A-Za-z][A-Za-z-]+)(?![\w$.:-])/g,Fv=/(\bas\s+|\b(?:is|am)\s+(?:not\s+)?an?\s+)([A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?)\b/g,Lo=new WeakMap;function Lv(e,t){let r=Lo.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 Sv){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 Lo.set(e,a),a}function Pv(e,t){let r=ui(e,t,"{","}");return _s(ui(r,t,"[","]"),t)}function _s(e,t){return ui(e,t,"(",")",r=>/[\w$]/.test(e[r-1]??""))}function Ov(e,t){if(!e.includes("("))return t(e);let r=[];return Ns(t(_s(e,r)),r)}function ui(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 Ns(e,t){let r=e;for(let n=0;n<8&&r.includes(Je);n++)r=r.replace(Tv,(i,a)=>t[Number(a)]??"");return r}var Rv=/(^|[^\w$.#@*:-])I\s+(match|am)\b/g,_v=/(^|[^\w$.#@*:-])(?:I\s+do|does)\s+not\s+match\b/g;function Nv(e){return e.replace(_v,(t,r)=>/\bI\s+do/.test(t)?`${r}me not matches`:`${r}not matches`).replace(Rv,(t,r,n)=>`${r}me ${n==="match"?"matches":"is"}`)}var Mv=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in(?=\s+(?:(?:closest\s+)?[#.<]|(?:me|it|you|body|document|target|result)\b))/g,Iv=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in\s+(me|it|you)\b(?![\w$.'-])/g,$v=/(^|[^\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 jv(e,t,r){let n=t.scopeFirst?e.replace($v,(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(Iv,(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(Mv,(a,o,u)=>(t.wrote?.(),r.push(t.queryIn),`${o}${u}${Je}${r.length-1}${at}`))}function Wv(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 qv=/(^|[^\w$.#@*:'-])(?:the\s+)?element(?:'s)?\s+([A-Za-z_]\w*)\b(?!\s*(?:\[|\uE010))/g,Vv=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 Hv(e,t,r){let n=gi(t);return n==="element"?e:e.replace(qv,(i,a,o)=>Vv.has(o.toLowerCase())?i:(r.push(`${n} ${o}`),`${a}${Je}${r.length-1}${at}`))}function Ms(e){return {queryIn:Tm(e),conversionAs:Fm(e)}}function Kv(e,t,r,n,i=Ms(t)){if(!e)return e;let a=Af(t);if(!a)return e;let{words:o}=Lv(a,r);if(o.size===0)return e;let u=[],s=e.replace(Dv,m=>(u.push(m),`${Je}${u.length-1}${at}`)),l=Pv(s,u).replace(Fv,(m,y,f)=>{u.push(f);let d=`${Je}${u.length-1}${at}`;return `${Wv(y,i,u)}${d}`}),c=Hv(l,t,u),p=Nv(jv(c,i,u)).replace(Bv,(m,y,f)=>{if(n?.has(f))return m;let d=o.get(f.toLowerCase());return d?`${y}${d}`:m});return Ns(p,u)}var Po=new Map;function Is(e){let t=Po.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"||!!Ut(n)),Po.set(e,t);}return t}function Uv(e){let t=new Set,r=new Set,n=Mi(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"&&Is(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 $s=/(^|[^\w$.#@*:'-])(?:the\s+)?((?:[@*]?[A-Za-z][\w-]*\s+of\s+(?:the\s+)?)+)([#.][A-Za-z_-][\w-]*)(?![\w-]|[.[(][\w$])/g,Gv=new Set(["first","last","random"]);function js(e){let t=e.split(/\s+of\s+(?:the\s+)?/).filter(Boolean);return t.some(r=>Gv.has(r.toLowerCase()))?void 0:t}function Ir(e,t){return /^\s+as\b/.test(e.slice(t))}var Zv=new Set(["repeat","for","while","tell","viewTransition"]),Qv=new Set(["toggle","trigger"]),Xv=new Set(["bind","set","install","js"]);function Jv(e){if(e.statements.length<2)return false;let t=r=>["event-handler","def","behavior","feature"].includes(r.kind)||r.kind==="command"&&Xv.has(r.action);return e.statements.every(t)&&e.statements.some(r=>r.kind!=="command")}function Un(e){return e.kind==="command"&&Zv.has(e.action)&&!on(e)}var e4=new Set(["js"]);function Ws(e,t){return e.type==="role"?e.role===t:e.type==="group"?e.tokens.some(r=>Ws(r,t)):false}function nr(e){return e?.type==="reference"?e.value:void 0}function Oo(e,t){for(let[r,n]of e.roles)if(r!==t&&!n.implicit)return true;return false}var t4=new Set(Object.values(pn).flatMap(e=>Object.values(e)));function r4(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 n4(e){return /(?<!\\)"/.test(e)?/(?<!\\)'/.test(e)?`"${e.replace(/(?<!\\)"/g,'\\"')}"`:`'${e}'`:`"${e}"`}var i4=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"}:Ms(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(on(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=F0(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 e4.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(`
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 fr=new Set(["destination","source","patient","object","event","eventmarker","manner","instrument","style"]);function Nt(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 yr(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 Li(e,t,r,n){Gu(e,t,r,n,"manner",{requireMarker:true});}function Uu(e,t,r,n){Gu(e,t,r,n,"recipient",{requireMarker:false});}function Gu(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 Yu(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 Zu(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}=Nt(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 Qu(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:es(a,n)}),t[a.role]=a.default?{fromRole:a.role,default:a.default}:{fromRole:a.role});}function pm(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=Yu(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(...Zu(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(...Ti(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 Qu(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 dm(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?jp(e,c):Ti(e,c));let p={action:{value:e.action},event:{fromRole:"event"},[u]:{fromRole:u},...o?{}:wt(e),...kt(e)};return Uu(a,p,e,t.code),Li(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 mm(e,t,r,n,i){let a=e.roles.find(p=>p.role==="source");if(!a)return null;let{marker:o,alternatives:u}=Nt(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 Uu(l,c,e,t.code),Li(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 fm(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 ym(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(...Ti(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 vm(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 hm(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 Em(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}=Nt(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 yr(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 gm(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}=Nt(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 yr(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 wm(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}=Nt(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}=Nt(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 yr(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 Xu(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 oo(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=Yu(e);a.push(...Zu(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 Qu(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 km(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 Li(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 Cm(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=Xu(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 yr(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 uo(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=Xu(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 yr(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 bm(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 zm(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 Pi={basePriority:100,generateSimpleVariants:true,generateAlternatives:true},Ju=za({positionOrder:"ascending"});function Am(e,t,r=Pi){return Ju.generatePatternVariants(e,t,r)}function es(e,t){return Ju.buildRoleToken(e,t)}function Oi(e,t=Pi){let r=[],n=cm();for(let i of n){if(!e.keywords[i.action])continue;let a=Am(i,e,t);if(r.push(...a),e.eventHandler?.eventMarker){let o=xm(Fn(i),e,t);r.push(...o);}}return r}function xm(e,t,r=Pi){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(Em(e,t,a,i,r)),n.push(wm(e,t,a,i,r)),n.push(gm(e,t,a,i,r));else {n.push(pm(e,t,a,i,r)),n.push(dm(e,t,a,i,r));let s=mm(e,t,a,i,r);s&&n.push(s);let l=t.roleMarkers.destination;l&&l.primary!==i.primary&&n.push(fm(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(ym(e,t,a,i,r)),n.push(vm(e,t,a,i,r));let m=hm(e,t,a,r);m&&n.push(m);}else t.wordOrder==="VSO"?u?(n.push(uo(e,t,a,i,r)),n.push(Cm(e,t,a,i,r))):(n.push(oo(e,t,a,i,r)),n.push(km(e,t,a,i,r)),t.eventHandler?.negationMarker&&n.push(bm(e,t,a,i,r)),t.tokenization?.prefixes&&n.push(zm(e,t,a,r))):u?n.push(uo(e,t,a,i,r)):n.push(oo(e,t,a,i,r));return t.eventHandler.headOutranksFused?n.map(s=>({...s,priority:s.priority-75})):n}function Sm(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:es(n,i)};return r.map(o=>({...o,template:{...o.template,tokens:[...o.template.tokens,a]}}))}var vr={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 De(e,t){return vr[e]?.[t]??t}function ts(e,t,r){let n=vr[e]?.[t],i=[[t]];return n&&n!==t&&i.push(r(n).map(a=>a.toLowerCase())),i}var Dm={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 Tm(e){return Dm[e]??"in"}var Bm={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 Fm(e){return Bm[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:tn},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:Ci}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Pm={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:tn},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:bi},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:Ci}]},extraction:{source:{position:1},style:{marker:"with"},responseType:{marker:"as"}}},Om={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:tn},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:bi}]},extraction:{source:{position:1},style:{marker:"with"}}},Rm={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}}},_m=[Pm,Om,Lm,Rm],ln={type:"group",optional:true,tokens:[{type:"literal",value:"using"},{type:"literal",value:"view"},{type:"role",role:"manner",optional:true,expectedTypes:["literal","expression"],valueShape:"keyword"}]},Nm={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"},ln]},extraction:{method:{position:1},destination:{position:2}}},Mm={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"},ln]},extraction:{}},Im={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"},ln]},extraction:{}},$m={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"},ln]},extraction:{}},jm=[Im,$m,Mm,Nm],Wm={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"}}}},qm={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"}}}},Vm=[Wm,qm],Hm=[...ki],Km={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:Hm},{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"}}},Um=[Km],Gm={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"}}},Ym={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}}},Zm={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}}},Qm=[Gm,Ym,Zm],Xm={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}}},Jm={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}}},ef=[Xm,Jm],tf=[..._m,...jm,...Vm,...Um,...Qm,...ef];function rf(){return tf}function nf(e){let t=F(e);return t?e==="en"?ao(e):ao(e,{words:De(e,"start").split(" "),verbFinal:t.wordOrder==="SOV"}):[]}function af(e){let t=F(e),r=t?.keywords?.go,n=k0(e);return e==="en"||!r||!n?[]:$p(e,{go:r.primary,goAlternatives:r.alternatives??[],back:n.tokenize(De(e,"back")).tokens.map(i=>i.value),verbFinal:t.wordOrder==="SOV"})}var Or=(e,t)=>r=>Sm(e,r,t(r)),of=[L0,P0,j0,K0,Or("add",G0),Or("remove",Y0),Or("show",Z0),Or("hide",Q0),J0,ep,tp,rp,ip,ap,Di,Sp,Dp,Tp,Bp,Ip,nf,af,U0],so=new Map;function uf(e){let t=so.get(e);if(t)return t;let r=F(e);if(!r)return [];let n=Oi(r);return so.set(e,n),n}function sf(e){let t=of.flatMap(r=>r(e));return e==="en"&&t.push(...rf()),t.push(...uf(e)),t.map(cf)}var lf=new Set(["on.source"]);function cf(e){let t=J(e.command);if(!t)return e;let r;for(let n of t.roles){if(n.required||!n.default||lf.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 pf(e){return sf(e.code)}E0(pf);var Ri=["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"],_i=["is not empty","is empty","does not exist"],Ni=["is not an","is not a","is an","is a"],df=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),mf=new Set(["and","or","not","no"]),ff=new Set(["true","false","null","undefined"]),yf=new Set(Ri.map(e=>e.slice(e.lastIndexOf(" ")+1))),vf=new Set(["next","previous","closest","first","last"]),hf=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function rs(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"&&yf.has(f.value.toLowerCase())||f.type==="IDENTIFIER"&&vf.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));hf.has(E)?t.push(y("TIME_EXPRESSION",g+E,f)):Qr.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();df.has(w)?t.push(y("CONTEXT_VAR",g,f)):mf.has(w)?t.push(y("LOGICAL",g,f)):ff.has(w)?t.push(y("BOOLEAN",g,f)):t.push(y("IDENTIFIER",g,f));continue}u();}return t.push(y("EOF","",r)),t}var Ef=new Set(["my","its","your"]),gf={my:"me",its:"it",your:"you"},wf=new Set(["is","matches","match","contains","in","exists","does"]),kf=new Set(["next","previous","closest","first","last"]),Cf=[..._i,...Ni,...Ri].map(e=>[e,e.split(" ")]),bf=class{constructor(){this.tokens=[],this.current=0,this.collectionOperand=0;}parse(e){try{return this.tokens=rs(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(_i.includes(t))e=this.createPostfixUnary(t,e);else if(Ni.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 Cf)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"&&Ef.has(e.name)&&this.check("IDENTIFIER")&&!wf.has(this.peek().value.toLowerCase())){let t=this.advance(),r=e,n={...r,name:gf[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(kf.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 Mi(e){return new bf().parse(e)}var zf={possessive:{specialForms:{me:"my",it:"its",you:"your"}}};var lo=new Map;function Af(e){let t=e.toLowerCase();return lo.get(t)??lo.get(t.split("-")[0])}function Rr(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 Wn(e){return zf.possessive?.specialForms?.[e]??`${e}'s`}var cn=new Set(["+","-","*","/","%","<",">","<=",">=","==","!=","===","!=="]),ns=new Set(["<",">","<=",">=","==","!=","===","!=="]),it=new Set([...cn,"mod"]),xf=/^[<>=!+\-*/%]+$/,is={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"])},Sf=new Set,co=new WeakMap;function as(e){let t=F(e);if(!t)return Sf;let r=co.get(t);if(!r){let n=t.keywords?.end;r=new Set((n?[n.primary,...n.alternatives??[]]:[]).filter(i=>!!i).map(i=>i.toLowerCase())),co.set(t,r);}return r}function Ii(e,t){let r=e.value.toLowerCase();if(r==="end")return "curated";let n=as(t),i=is[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 Ii(e,t)!==null}function Df(e){return new Set(["end",...is[e]??[],...as(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 Tf=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"]),pn={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"}},Bf={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"}},os={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 po(e){if(!e?.code)return;let t=os[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?os[e.code]:void 0;return !!i&&i.has(r)}var Ff={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"])},qn=new Map;function us(e){let t=e?.code;if(!t)return;if(qn.has(t))return qn.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 qn.set(t,n),n}var ss=new Set(["in","into","at","within","inside"]);function Pf(e,t){let r=t.value.toLowerCase();if(us(e)?.has(r))return "in";let i=t.normalized??t.value,a=i.toLowerCase();return ss.has(a)?"in":Ff[a]??i}function ls(e,t){return t.value.toLowerCase()==="in"||us(e)?.has(t.value.toLowerCase())?true:ss.has((t.normalized??t.value).toLowerCase())}var Of=new Set(["me","it","you","body","document","target","result"]);function cs(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(Of.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 Rf=new Set(["first","last","next","previous","random"]);function _f(e,t,r){let n=cs(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=Rf.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 $r(e,t,r,n){let i=e[t];if(!i||!ls(r,i))return null;let a=cs(e,t+1);if(!a)return null;let o=e[t+1+a.consumed],u=!!o&&lt(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 Vn=new Set(["first","last","next","previous","random","closest"]),Nf={bn:{\u09B6\u09C7\u09B7:"last"}},Kt=new Set(Object.keys(ke).map(e=>e.toLowerCase()));function Pt(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("<")?Nf[r.code]?.[i.value.toLowerCase()]:void 0;if(!Vn.has(a)&&!Vn.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||ns.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")&&!Vn.has((y.normalized??y.value).toLowerCase())&&!Kt.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":Pf(r,y),token:y}),s.push({text:f.value,token:f}),l+=2;}else {let d=$r(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=Bf[e];return r?r[t.toLowerCase()]??t:t}function Se(e,t){let r=pn[e];return r?r[t.toLowerCase()]??t:t}function Hn(e,t){return pn[e]?.[t.toLowerCase()]!==void 0}function Mf(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 If(e){return e.kind==="literal"||e.kind==="operator"||e.kind==="punctuation"?false:!/^[$:@#.*^(){}[\]]/.test(e.value)}function $f(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 Ot(e,t){return If(e)?Se(t,e.value)!==e.value?true:st(t,e.value)!==e.value?false:e.kind==="identifier":false}var jf=new Set(["true","false","null","undefined","me","my","it","its","you","your","result","event","target","body","detail","document","window"]);function ps(e){return e.kind==="literal"||e.kind==="selector"||e.kind==="reference"?true:e.kind==="identifier"?qf.test(e.value):e.kind==="keyword"&&jf.has((e.normalized??e.value).toLowerCase())}function mo(e){return !!e&&(e.value===")"||e.value==="]"||ps(e))}function ni(e){if(!e)return false;if(/^[([-]$/.test(e.value)||ps(e))return true;let t=(e.normalized??"").toLowerCase();return e.kind==="keyword"&&(t==="not"||t==="no")}var Wf=/^\.[\p{L}_-][\p{L}\p{N}_-]*$/u,qf=/^(?:[:$^]?[\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"},Vf={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}},Hf=new Set(["text","json","html","response","blob","arraybuffer"]),Kf=new Set(["empty","null","undefined","true","false"]),Uf=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 lr(e){return ds(e)||/^[A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?$/.test(e)}function ds(e){return Uf.has(e)||/^Fixed(?::\d+)?$/.test(e)}function ms(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],o=t.tokens[t.i+1],u=ii(e,i);if(!u)return;if(u.beforeTypeName&&o?.kind==="identifier"&&n?.value!=="("&&(ds(o.value)||Hf.has(o.value.toLowerCase())))return u.beforeTypeName;if(u.beforePredicate&&o&&(o.kind==="literal"||o.kind==="keyword"&&Kf.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)&&hr(je(t.tokens,t.i+1),e);if(u.beforeOperand&&(ni(o)||s))return u.beforeOperand;if(u.beforeComparison&&o?.kind==="keyword"&&fs.has((o.normalized??"").toLowerCase()))return u.beforeComparison;if(u.beforeSelector&&o?.kind==="selector")return u.beforeSelector;if(u.beforeClassRef&&o&&Wf.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&&(mo(a)||l)&&ni(o)?u.betweenOperands:u.afterOperand&&(mo(a)||a?.value==="}")?u.afterOperand:u.otherwise}function ii(e,t){let r=Vf[e];return r?.[t.value]??r?.[t.value.toLowerCase()]}function Gf(e,t){return ms(e,t,void 0,void 0)}function Yf(e){return xf.test(e)||e==="("||e==="["||e===","}function Zf(e){return cn.has(e)&&e!=="-"||e===")"||e==="]"||e===","}var fs=new Set(["is","am","contains","contain","matches","match","has","have","includes","include","exists","exist","mod"]);function ys(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&&Yf(r.value))return true;if(n===void 0)return false;if(Zf(n.value))return true;let a=n.kind==="keyword"?(n.normalized??n.value).toLowerCase():st(e,n.value).toLowerCase();return fs.has(a)}var Qf=new Set(["include","contain","match","exist"]);function vs(e){let t=e?.toLowerCase();return t==="is"||t==="not"}function hs(e,t,r){let n=t[r],i=t[r-1];return !n||!i||n.value.toLowerCase()!=="in"?false:vs(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(vs(r)&&i.value.toLowerCase()==="in")return "in";if(r?.toLowerCase()==="not"&&Qf.has(i.value.toLowerCase()))return i.value.toLowerCase();let u=ms(e,t,r,n);if(u!==void 0)return u;if(ys(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"&&fr.has(l)||Ke(i,e)&&hr(je(t.tokens,t.i),e)?i.value:i.normalized??i.value}function Es(e,t,r,n){let i=e[t],a=e[t+1];if(!i||!a||!ut(r,a)||!Ot(i,n)&&!Xf.test(i.value))return;let o=t+2;for(;e[o]!==void 0&&e[o+1]!==void 0&&ut(r,e[o+1])&&Ot(e[o],n);)o+=2;return e[o]?.kind==="selector"?o:void 0}var Xf=/^[@*][A-Za-z_-][\w-]*$/,Jf=new Set(["if","unless","while","until","for","when","where","is","not","no","and","or","as"]);function ey(e){let t=(e.normalized??e.value).toLowerCase();return t==="event"||He(t)?false:Jf.has(t)||fr.has(t)}var ty=new Set(["and","or","is","times"]),ry=new Set(["if","unless","while","until","is","and","or","in"]),ny=e=>Object.prototype.hasOwnProperty.call(ke,e);function Kn(e){if(e.kind!=="keyword"&&!(e.normalized&&e.normalized!==e.value))return;let t=(e.normalized??e.value).toLowerCase();return ny(t)?t:void 0}var fo=new WeakMap;function yo(e,t,r=false){let n;try{n=be(e);}catch{return new Set}let i=fo.get(n);i||(i=new Map,fo.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 vo=new WeakMap;function iy(e){let t;try{t=be(e);}catch{return new Set}let r=vo.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,vo.set(t,r);}return r}function ho(e){return e.kind==="particle"?true:e.kind==="keyword"&&fr.has((e.normalized??"").toLowerCase())}function Eo(e,t){return e.kind==="keyword"&&e.normalized?e.normalized.toLowerCase():st(t,e.value).toLowerCase()}function hr(e,t){let{prev:r,beforePrev:n,next:i,afterNext:a}=e;if(i){if(it.has(i.value)||ty.has((i.normalized??i.value).toLowerCase())||i.value==="'"&&a?.value.toLowerCase()==="s")return true;let f=ii(t,i)?.betweenOperands;if((f==="and"||f==="or")&&ni(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(cn.has(r.value))return true;if(r.value.toLowerCase()==="transition"&&n?.value.toLowerCase()==="view")return false;let s=Eo(r,t);if(s==="not"||s==="no"||ii(t,r)?.beforeOperand==="not")return true;let l=o?.wordOrder!=="SOV",c=e.third?Kn(e.third):void 0;if(c&&n&&yo(t,c,true).has(n.value.toLowerCase()))return true;let p=n&&l?Kn(n):void 0;if(p&&!yo(t,p).has(r.value.toLowerCase())||n&&!u&&ho(n))return false;if(ry.has(s))return true;let m=!!n&&Eo(n,t)!=="repeat"&&!!Si[t]?.includes(r.value);if(iy(t).has(r.value.toLowerCase())&&(l||s!=="repeat")&&!m)return true;let y=l?Kn(r):void 0;return y&&ke[y].roles.some(f=>f.required)?true:!u&&ho(r)}function Ut(e){if(e.kind!=="keyword")return;if(ey(e))return "structure";let t=(e.normalized??e.value).toLowerCase();return Kt.has(t)?"verb":Tf.has(t)?"event":void 0}function _e(e,t){let r=t?.code??"en",[n]=e;if(e.length===1&&n&&(Ut(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?Mf(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&&lr(`${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&&Se(r,E.value)!==E.value?(u(Se(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&&Ot(f,r)){u(`${l.value}'s`,l),u(Se(r,f.value),f),s+=2;continue}if(p?.value.toLowerCase()==="of"&&Se(r,l.value)!==l.value&&Ot(l,r)){u(Se(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()}),S=z?s+2:s+1,h=e[S],A=z&&h!==void 0&&/^[@*][\w-]/.test(h.value);if(h&&(A||Ot(h,r))){u(Wn(c),l),u(A?h.value:Se(r,h.value),h),s=S;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(Wn(c),l),u(Se(r,h.value.slice(1)),h),s=S;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&&!$f(t,l)){u(Wn(c),l),u(Se(r,p.value.slice(1)),p),s+=1;continue}}let d=e[s+2],v=Es(e,s,t,r);if(v!==void 0){for(let E=s;E<v;E+=2)u(Se(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)&&Ot(d,r)&&Se(r,d.value)!==d.value){u(Se(r,d.value),d),u("of",p),u(l.value,l),s+=2;continue}let g=Pt(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("<")?$r(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 ay={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=ay[t];return n?n.has(r):r==="then"||bt(t,"then",r)}function Mt(e,t){let r=e.toLowerCase();return r==="else"||r==="otherwise"?true:bt(t,"else",r)}function gs(e){let t=(e.normalized??e.value).toLowerCase();return t==="js"||bt("en","js",t)}function ws(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 Le(e,t){let r=e.toLowerCase();return r==="if"?true:bt(t,"if",r)}function It(e,t){let r=e.toLowerCase();return r==="unless"?true:bt(t,"unless",r)}function $t(e,t){return Ii(e,t)==="curated"}function oy(e,t,r){return Ke(e,r)&&!ks(e,t,r)}function ks(e,t,r){return t?.kind==="selector"&&!t.metadata?.lineStart&&Ii(e,r)==="end"}function Er(e,t,r){return Ue(e.value,r)?!($t(e,r)&&hr(t,r)):false}function Mr(e,t){return Ke(e,t)}function Cs(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")||xi(r,e.value,t.prev?.value,t.next?.value)}function uy(e,t,r){let n=e[t];if(!n)return false;let i=je(e,t);return ks(n,i.next,r)||Cs(n,i,r)}function ie(e,t,r){let n=e[t];return n?n.metadata?.closesTrackedBlock===true?true:Ke(n,r)&&!uy(e,t,r)&&!hr(je(e,t),r):false}function sy(e,t,r){return e.metadata?.closesTrackedBlock===true?Ke(e,r):oy(e,t,r)}function Ge(e,t,r){let n=e[t];return !n||n.kind==="conjunction"||n.kind==="keyword"&&Ue(n.value,r)&&Er(n,je(e,t),r)?true:ie(e,t,r)}function ly(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 bs(e){return !!e&&it.has(e.value)}var cy=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 ly(this.all,this.at+1,this.language)}};function py(e){let t=e.token.value.toLowerCase();if(t!=="a"&&t!=="an")return false;let r=e.next;return r!==void 0&&(cn.has(r.value)||e.nextIsMarker)}function $i(e){return e.kind==="keyword"&&Kt.has((e.normalized??e.value).toLowerCase())}function dy(e,t){return e.token.kind!=="keyword"?false:Ge(e.all,e.at,t)}function my(e,t){return Ke(e.token,t)&&hr(e.place,t)}function zs(e){return e.afterLiteral&&(e.clauseEndsAfter||e.nextIsMarker)}function fy(e,t){let r=e.patternToken.role;return r!=="quantity"&&!(r==="event"&&t==="repeat")?false:$i(e.token)&&!zs(e)&&!e.nextIsMarker}function yy(e){let t=e.patternToken;return !t.optional||t.role==="event"||t.role==="action"||t.valueShape==="keyword"||!$i(e.token)?false:(e.lastSlot||e.tokenIsMarker)&&!zs(e)}function vy(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 $i(t)?!a:a}function hy(e){return Kt.has((e.normalized??e.value).toLowerCase())}function Ey(e,t){return e?.kind==="particle"&&!!t&&["selector","literal","identifier"].includes(t.kind)&&!bs(t)}function gy(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 wy(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=Ut(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 ky(e){let t=(e.normalized||e.value).toLowerCase();if(t==="empty")return qu("null");if(t==="a"||t==="an")return {type:"expression",raw:e.value}}function Cy(e,t,r){return e.kind==="particle"&&(t||bs(r))}function As(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 go=new Set(["is","am","are","be","was","were","not","no"]),by=new Set(["\u0647\u0648","\u0E40\u0E1B\u0E47\u0E19","\u0939\u0948","\u0928\u0939\u0940\u0902","mana"]),xs=new Set(["empty","null","undefined"]);function zy(e,t,r,n){let i=(e.normalized??e.value).toLowerCase(),a=e.value.toLowerCase(),o=(t.normalized??t.value).toLowerCase();return (go.has(i)||go.has(st(n,a))||by.has(a)&&xs.has(o))&&!r}var Ay=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"]),xy=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"]),wo=/\s+as\s+([A-Za-z]\w*)!?\s*$/,Sy=/("[^"]*"|'[^']*')|\*(?=[A-Za-z_-])/g,Dy=e=>e.replace(Sy,(t,r)=>r??" style_");function ji(e){let t=e;for(let i=wo.exec(t);i;i=wo.exec(t)){if(!lr(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=Dy(t);let n=Mi(t);return !n.success||n.consumed===void 0||n.consumed!==rs(t).length-1?false:By(n.node).every(lr)}function Ty(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()!==""&&ji(a.trim()))}function By(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 ar(e,t){return e?.position?.end!==void 0&&t?.position?.start!==void 0&&e.position.end===t.position.start}var Fy=new Set(["is","not","really","am","or"]);function Ss(e,t,r){let n=i=>e[i]?lt(r,{tokens:e,i},void 0).toLowerCase():"";return n(t)==="to"&&n(t-1)==="equal"&&Fy.has(n(t-2))}function Ds(e,t){return e[t]?.value.toLowerCase()==="to"&&e[t-1]?.value.toLowerCase()==="mapped"}function Ly(e){return e.value==="a"}var Py=new Set(["event","window","document"]);function Oy(e,t,r){let n=e[t],i=e[t-1];return !n||!i||!ut(r,i)?false:Py.has((n.normalized??n.value).toLowerCase())}function Ry(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 ko(e,t,r){let n=r.profile?.code??"en";if(hs(n,e,t)||As(e,t)||Ss(e,t,n)||Ly(e[t])||Ds(e,t))return false;let i=e[t];return Ry(e,t,r)||r.commandMarkers.has(i.value.toLowerCase())}function _y(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||ar(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 xy.has(u)}if(it.has(n.value)||/^[()[\],.!<>=+\-*/%]+$/.test(n.value)||ut(r.profile,n)||ys(a,n,i,e[t+1])||hs(a,e,t)||As(e,t)||Oy(e,t,r.profile)||Ss(e,t,a))return true;let o=lt(a,{tokens:e,i:t},void 0).toLowerCase();return o==="as"&&r.hasResponseType?false:Ay.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 Ny(e,t,r){if(!e[t]||ko(e,t,r))return [];let n=t;for(;n<e.length&&!ko(e,n,r)&&(_y(e,n,r)||Ds(e,n));)n++;let i=[];for(let a=n;a>t;a--)i.push(a);return i}function My(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)&&Iy(e,i))i+=1;else break;n.push(i);}return n.reverse()}function Iy(e,t){let r=e[t-1],n=e[t];return !!r&&!!n&&r.position.end===n.position.start}function $y(e,t,r,n,i=ji){for(let a of r){let o=_e(e.slice(t,a),n);if(i(o))return {end:a,raw:o}}}var Ts=96,jy=/^[A-Za-z_][\w-]*$/,Wy=/^[A-Za-z_][\w-]*:[^\s'"`/:][^\s]*$/;function Bs(e,t){let r=e.peek(t);return !!r&&r.kind==="identifier"&&Wy.test(r.value)}function Fs(e,t){let r=e.peek(t);if(!r||r.kind!=="identifier"&&r.kind!=="keyword"||!jy.test(r.value))return false;let n=e.peek(t+1),i=e.peek(t+2);return !!n&&n.value===":"&&!!i}function Co(e,t=0){return Bs(e,t)||Fs(e,t)}function qy(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++<Ts;){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 bo(e){let t=e.peek();return t?t.value==="{"||t.value==="("?qy(e):t.value===","||t.value===":"?null:(e.advance(),t.value):null}function or(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=bo(e);if(o===null)return e.reset(r),null;n.push(`${t}:${o}`);}else if(!Co(e))return null;let i=0;for(;i++<Ts;){let a=e.peek();if(!a)break;if(a.value===","){if(n.length===0||!Co(e,1))break;e.advance();continue}if(Bs(e,0)){n.push(e.advance().value);continue}if(!Fs(e,0))break;let o=e.advance().value;e.advance();let u=bo(e);if(u===null)return e.reset(r),null;n.push(`${o}:${u}`);}return n.length===0?(e.reset(r),null):`{${n.join(", ")}}`}var Vy=/^(?:the )?(?:global|element|local|dom)(?:'s)? [A-Za-z_]\w*$/i;function dn(e){switch(e.kind){case "selector":return Oe(e.value);case "literal":return Hy(e.value);case "keyword":{let r=ky(e);if(r)return r;let n=(e.normalized||e.value).toLowerCase();return He(n)?Be(n):qu(n)??te(e.normalized||e.value)}case "identifier":if(e.value.startsWith("@"))return Oe(e.value);if(e.value.startsWith(":")||e.value.startsWith("$")||Vy.test(e.value))return Be(e.value);let t=e.value.toLowerCase();return He(t)?Be(t):{type:"expression",raw:e.value};case "url":{let r=te(e.value,"string");return e.value.includes("${")?{...r,interpolates:true}:r}default:return null}}function Hy(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let n=e.slice(1,-1);return {...te(n,"string"),quoted:true}}if(e==="true")return te(true,"boolean");if(e==="false")return te(false,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?te(e,"duration"):te(n,"number")}if(y0(e))return {type:"expression",raw:e};let r=parseFloat(e);return isNaN(r)?te(e,"string"):te(r,"number")}var _r=.8,Ky=.6,Uy=.15,Gy=.5,zo=.15,Ao=.1,xo=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"]),Yy={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"]},Zy=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(Gy,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+=_r,n+=_r):s(c.role)||(i+=_r,a(c.role)&&(n+=_r*Ky)));return i>0?n/i:1}scoreStemPenalty(e){let{stemMatchCount:t,totalKeywordMatches:r}=e;return t<=0||r<=0?0:-(t/r)*Uy}scoreLanguageBoost(e){let{pattern:t}=e;if(t.language!=="ar")return 0;let r=t.template.tokens[0];return !r||r.type!=="literal"?0:xo.has(r.value)||r.alternatives?.some(n=>xo.has(n))?zo: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=Yy[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(-Ao,Math.min(Ao,n))}},Qy=new Zy,Xy=new Set(Object.values(ke).filter(e=>e.bareKeyword===true).map(e=>e.action));function Jy(e){return e.startsWith("*")||e.startsWith("@")}function So(e){return e?.type==="role"&&e.role==="event"}var de=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 vy(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"&&(!So(r[n-1])&&!So(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 te(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&&M0(this.currentProfile?.code??"",t.tokens[a]?.value??"",t.tokens[a+1]?.value)||r.role==="event"&&n.get(r.role)!==u&&xi(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"?Ny(t.tokens,t.position(),this.extentContext()):My(t.tokens,t.position(),this.currentProfile),c=$y(t.tokens,u?t.position()-1:a,l,this.currentProfile,r.valueShape==="list"?Ty: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,Vu(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)&&!Kt.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&&ar(a,o)&&ar(o,u)&&lr(`${a.value}:${u.value}`)?i-r+3:lr(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=_f(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"?Be(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(dy(u,this.currentProfile?.code??"")||fy(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(yy(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&&!Rr(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&&!Rr(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&&!Rr(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&&!Rr(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=or(t);if(h)return n.set(r.role,{type:"expression",raw:h}),true}if(gy(u)||wy(u,this.currentSchema())||my(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,te(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=$r(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"?Be(A.text):h.scope.kind==="closest"?{type:"expression",raw:`closest ${k.text}`}:this.tokenToSemanticValue(A.token);for(let D=0;D<1+h.scope.consumed;D++)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,te(`${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=Pt(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=Gf(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 cy(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)||!ar(t.peek(n-1),a)||!ar(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 te(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(),Ey(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&&hy(i))return false;if(Cy(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&&Hn(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?Se(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=Pt(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"||Jy(p.value)){if(t.reset(u),this.patternTokenWouldMatch(r,l))return null;let m=this.currentProfile?.code??"en",y=Es(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=$r(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&&ls(this.currentProfile,d)?Pt(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,S=_e(t.tokens.slice(m,z),this.currentProfile);for(;t.position()<z;)t.advance();return qe({type:"expression",raw:S},this.toEnglishProperty(i.value)+s,"possessive")}}return qe(Oe(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=Pt(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"&&Hn(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||N0(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(Be(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(Be(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 fr.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&&Xy.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 te(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(Be(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(Be(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&&Hn(this.currentProfile.code,c.value);return c.kind==="identifier"||p||m||(o||u)&&(c.kind==="selector"||c.kind==="keyword")?(t.advance(),qe(Oe(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(Oe(r.value),a.join("."),"dot")}isWrittenTarget(t){return $.WRITTEN_ROLE[this.currentRoleCommand??""]===t.role}tokenToSemanticValue(t){return dn(t)}skipNoiseWords(t,r,n){let i=t.peek();if(!i)return;let a=i.value.toLowerCase();if($.ENGLISH_NOISE_WORDS.has(a)){if(py(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();}};de.CONDITION_OPERATOR_WORDS=new Set(["matches","match","contains","exists","has","have","equals","includes"]);de.LOOP_CONDITION_OPERATORS=new Set([...ns,"and","or"]);de.POSITIONAL_OR_SCOPE_KEYWORDS=new Set(["first","last","next","previous","random","closest","parent"]);de.STRUCTURAL_NEVER_EVENT=new Set(["if","unless","else","end","then","while","repeat"]);de.PROPERTY_ACCESS_BASES=new Set(["it","me","you","my","its","your","event","result","target","detail","body","window","document","self","this"]);de.COMMAND_ACTION_KEYWORDS=Kt;de.CLAUSE_BOUNDARY_KEYWORDS=new Set(["then","and","or","end","else"]);de.RUN_PHRASES=[..._i.map(e=>[e.split(" "),"none"]),...Ni.map(e=>[e.split(" "),"type"]),...Ri.filter(e=>!/^(in|am|has|have)$|^am /.test(e)).map(e=>[e.split(" "),"operand"]),[["exists"],"none"]];de.PICK_RANGE_SEPARATORS=new Set(["to"]);de.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"])};de.PICK_RANGE_MODES=new Set(["inclusive","exclusive"]);de.VISIBILITY_STRATEGIES=new Set(["display","visibility","opacity","twdisplay","twvisibility","twopacity"]);de.MAX_BRACE_RUN_TOKENS=64;de.MAX_PROPERTY_DEPTH=10;de.MAX_METHOD_ARGS=20;de.SWAP_STRATEGIES=new Set(["into","over","innerhtml","outerhtml","beforebegin","afterbegin","beforeend","afterend","delete","none","morph","innermorph","outermorph"]);de.DECLARATION_COMMANDS=new Set(["behavior","def"]);de.WRITTEN_ROLE={increment:"patient",decrement:"patient",set:"destination",bind:"destination"};de.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var Do=de,Ls=class extends ba{constructor(e){super(t=>new Do(t),e??Qy);}matchPattern(e,t){return super.matchPattern(e,t)}matchBest(e,t){return super.matchBest(e,t)}static rangeSeparatorFor(e){return Do.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 Ls,ev={a:"\xE1",e:"\xEA",i:"i"};function tv(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)}${ev[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 rv=/[aeıioöuü]/gu,nv=new Set(["a","\u0131","o","u"]),iv=new Set(["\xE7","f","h","k","p","s","\u015F","t"]);function av(e){let t=e.toLowerCase(),r=t.match(rv);return r?(iv.has(t[t.length-1])?"t":"d")+(nv.has(r[r.length-1])?"a":"e"):void 0}function V(e,t){return b0(e,t)}function Ps(){return C0()}function ov(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 uv(e){if(!e.includes("--")&&!e.includes("//"))return e;let t="",r=0;for(;r<e.length;){let n=e[r];if(ov(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
+ `&&e[a]!=="\r";)a++;t+=" ".repeat(a-r),r=a;continue}t+=n,r++;}return t}function sv(e){return {positionSource:void 0,parseDepth:0,coverageFrames:[],boundIdentifiers:new Set,bottomTestTokens:new WeakMap,parse:e}}var To=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 jr=120;function lv(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>jr?`${o.slice(0,jr)}\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 mn(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 fn=new Set(["json","text","html","xml","blob","arraybuffer","formdata","response","object","string","number","int","float","fragment"]),Os={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"]},cv={ko:[["\uB85C"],["\uC73C\uB85C"]],qu:[["hina"]],tr:[["olarak"]],hi:[["\u0915\u0947","\u0930\u0942\u092A","\u092E\u0947\u0902"]]};function Wr(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 yn(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 Rs(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 pv(e){if(e.kind==="selector")return Oe(e.value);let t=(e.normalized??e.value).toLowerCase();return He(t)?{type:"reference",value:t}:{type:"literal",value:e.value,dataType:"string"}}function dv(e,t,r,n){let i=yn(e);if(i.length===0)return null;let a=Wr(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=mn(g);if(Wr(w)<a)return {node:{...w,eventModifiers:{...w.eventModifiers,from:pv(m)}},input:v}}catch{}}return null}function ai(e,t,r){let n=yn(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:Rs(e,c),input:t}}return null}function mv(e,t,r,n){let i=yn(e);if(i.length===0)return null;let a=Os[r];if(!a)return null;let o=l=>l.replace(/\s+/g," ").trim(),u=Wr(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)||!fn.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=mn(f);if(Wr(d)>=u)continue;let v=fv(d);if(!v)continue;return v.roles.set("responseType",{type:"expression",raw:p.value}),{node:d,input:y}}catch{}}return null}function fv(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 yv(e,t,r){let n=yn(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:Rs(e,y),input:t}}return null}function vv(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 cr(e,t){try{let n=Ji(e,t);if(n)return {node:n,confidence:n.metadata?.confidence??.8,error:void 0,tokensConsumed:V(e,t).tokens.length}}catch{}let r=vv(e,t);return r.parseSuccess?{node:null,confidence:r.confidence,error:void 0,tokensConsumed:r.tokensConsumed}:{node:null,confidence:0,error:r.error}}var qr={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"])},hv=new Set(Object.values(qr).flatMap(e=>[...e]));function pr(e,t){let r=(e.normalized??e.value).toLowerCase();if(r==="or")return true;let n=t===void 0?hv:qr[t];return n?n.has(e.value)||n.has(r):false}var oi={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 Ev(e){return oi[e]??oi.en}var gv=/[ক-হড়-য়ৎ]$/u,wv=/[া-ৌঅ-ঔ]$/u;function kv(e){if(gv.test(e))return `${e}\u09C7`;if(wv.test(e))return `${e}\u09A4\u09C7`}var Bo=e=>/[^\p{Script=Latin}\P{L}]\p{M}*$/u.test(e),Cv=new Set(["\u09A4\u09C7","\u098F"]);function bv(e,t){return e?.code==="bn"&&t==="\u09C7"?"\u09A4\u09C7":t}var zv=[["\uC744","\uB97C"],["\uC774","\uAC00"],["\uC740","\uB294"],["\uACFC","\uC640"],["\uC73C\uB85C","\uB85C"]];function Av(e,t){let r=zv.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 xv(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 Fo(e,t,r,n){let i=e?.attachedMarkers;if(!(!i||!t||/\s$/.test(t)||!i.markers.includes(r))){if(e.code==="bn"&&Bo(t)&&Cv.has(r))return kv(t);if(e.code==="tr"){let a=t.slice(t.lastIndexOf(" ")+1);if(!n?.(a))return;let o=av(a);return o===void 0?void 0:t+o}if(!(Bo(t)&&i.afterWords!=="all"&&!i.afterWords?.includes(r)))return t+(e.code==="ko"?Av(t,r):r)}}var Sv=["values","expressions","logical","temporal","attributes"],Dv=/"[^"]*"|'[^']*'|`[^`]*`/g,Je="\uE010",at="\uE011",Tv=/\uE010(\d+)\uE011/g,Bv=/(^|[^\w$.#@*:-])([A-Za-z][A-Za-z-]+)(?![\w$.:-])/g,Fv=/(\bas\s+|\b(?:is|am)\s+(?:not\s+)?an?\s+)([A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?)\b/g,Lo=new WeakMap;function Lv(e,t){let r=Lo.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 Sv){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 Lo.set(e,a),a}function Pv(e,t){let r=ui(e,t,"{","}");return _s(ui(r,t,"[","]"),t)}function _s(e,t){return ui(e,t,"(",")",r=>/[\w$]/.test(e[r-1]??""))}function Ov(e,t){if(!e.includes("("))return t(e);let r=[];return Ns(t(_s(e,r)),r)}function ui(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 Ns(e,t){let r=e;for(let n=0;n<8&&r.includes(Je);n++)r=r.replace(Tv,(i,a)=>t[Number(a)]??"");return r}var Rv=/(^|[^\w$.#@*:-])I\s+(match|am)\b/g,_v=/(^|[^\w$.#@*:-])(?:I\s+do|does)\s+not\s+match\b/g;function Nv(e){return e.replace(_v,(t,r)=>/\bI\s+do/.test(t)?`${r}me not matches`:`${r}not matches`).replace(Rv,(t,r,n)=>`${r}me ${n==="match"?"matches":"is"}`)}var Mv=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in(?=\s+(?:(?:closest\s+)?[#.<]|(?:me|it|you|body|document|target|result)\b))/g,Iv=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in\s+(me|it|you)\b(?![\w$.'-])/g,$v=/(^|[^\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 jv(e,t,r){let n=t.scopeFirst?e.replace($v,(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(Iv,(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(Mv,(a,o,u)=>(t.wrote?.(),r.push(t.queryIn),`${o}${u}${Je}${r.length-1}${at}`))}function Wv(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 qv=/(^|[^\w$.#@*:'-])(?:the\s+)?element(?:'s)?\s+([A-Za-z_]\w*)\b(?!\s*(?:\[|\uE010))/g,Vv=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 Hv(e,t,r){let n=gi(t);return n==="element"?e:e.replace(qv,(i,a,o)=>Vv.has(o.toLowerCase())?i:(r.push(`${n} ${o}`),`${a}${Je}${r.length-1}${at}`))}function Ms(e){return {queryIn:Tm(e),conversionAs:Fm(e)}}function Kv(e,t,r,n,i=Ms(t)){if(!e)return e;let a=Af(t);if(!a)return e;let{words:o}=Lv(a,r);if(o.size===0)return e;let u=[],s=e.replace(Dv,m=>(u.push(m),`${Je}${u.length-1}${at}`)),l=Pv(s,u).replace(Fv,(m,y,f)=>{u.push(f);let d=`${Je}${u.length-1}${at}`;return `${Wv(y,i,u)}${d}`}),c=Hv(l,t,u),p=Nv(jv(c,i,u)).replace(Bv,(m,y,f)=>{if(n?.has(f))return m;let d=o.get(f.toLowerCase());return d?`${y}${d}`:m});return Ns(p,u)}var Po=new Map;function Is(e){let t=Po.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"||!!Ut(n)),Po.set(e,t);}return t}function Uv(e){let t=new Set,r=new Set,n=Mi(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"&&Is(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 $s=/(^|[^\w$.#@*:'-])(?:the\s+)?((?:[@*]?[A-Za-z][\w-]*\s+of\s+(?:the\s+)?)+)([#.][A-Za-z_-][\w-]*)(?![\w-]|[.[(][\w$])/g,Gv=new Set(["first","last","random"]);function js(e){let t=e.split(/\s+of\s+(?:the\s+)?/).filter(Boolean);return t.some(r=>Gv.has(r.toLowerCase()))?void 0:t}function Ir(e,t){return /^\s+as\b/.test(e.slice(t))}var Zv=new Set(["repeat","for","while","tell","viewTransition"]),Qv=new Set(["toggle","trigger"]),Xv=new Set(["bind","set","install","js"]);function Jv(e){if(e.statements.length<2)return false;let t=r=>["event-handler","def","behavior","feature"].includes(r.kind)||r.kind==="command"&&Xv.has(r.action);return e.statements.every(t)&&e.statements.some(r=>r.kind!=="command")}function Un(e){return e.kind==="command"&&Zv.has(e.action)&&!on(e)}var e4=new Set(["js"]);function Ws(e,t){return e.type==="role"?e.role===t:e.type==="group"?e.tokens.some(r=>Ws(r,t)):false}function nr(e){return e?.type==="reference"?e.value:void 0}function Oo(e,t){for(let[r,n]of e.roles)if(r!==t&&!n.implicit)return true;return false}var t4=new Set(Object.values(pn).flatMap(e=>Object.values(e)));function r4(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 n4(e){return /(?<!\\)"/.test(e)?/(?<!\\)'/.test(e)?`"${e.replace(/(?<!\\)"/g,'\\"')}"`:`'${e}'`:`"${e}"`}var i4=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"}:Ms(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(on(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=F0(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 e4.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(Jv(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=Un(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}
11
11
  ${s}`):i.push(l,s);}return o||i.push(this.keyword(t,"end")),i.join(" ")}renderLoop(e,t){if(e.bottomTested)return this.renderBottomTestedLoop(e,t);let r=fe(e.action,Object.fromEntries(e.roles),e.metadata),n=[this.render(r,t)];e.indexVariable&&n.push(`${De(t,"index")} ${e.indexVariable}`);let i=this.joinStatements(e.body,t);return i&&n.push(i),n.push(this.keyword(t,"end")),n.join(" ")}renderBottomTestedLoop(e,t){let r=fe("repeat",{loopType:{type:"literal",value:"forever"}},e.metadata),n=[this.render(r,t)],i=this.joinStatements(e.body,t);i&&n.push(i);let a=e.roles.get("condition"),o=this.keyword(t,e.loopVariant==="until"?"until":"while");return n.push(`${o} ${a?this.valueToNaturalString(a,t):""}`.trim()),n.push(this.keyword(t,"end")),n.join(" ")}renderBlockCommand(e,t){let r=fe(e.action,Object.fromEntries(e.roles),e.metadata),n=[this.render(r,t)],i=this.joinStatements(e.body,t);return i&&n.push(i),n.push(this.keyword(t,"end")),n.join(" ")}joinStatements(e,t){let r=e.map(a=>this.render(a,t)),n=this.keyword(t,"then"),i=r[0]??"";for(let a=1;a<r.length;a++){let o=e[a-1],u=Un(o);i+=(u?" ":` ${n} `)+r[a];}return this.closeBlockHeaders(i,e,t)}closeBlockHeaders(e,t,r){let n=t.filter(Un).length;if(n===0)return e;let i=this.keyword(r,"end");return `${e}${` ${i}`.repeat(n)}`}keyword(e,t){return F(e)?.keywords?.[t]?.primary??t}renderBlockHeader(e,t,r){return r.length>0?`${e} ${t}(${r.join(", ")})`:`${e} ${t}`}renderBehavior(e,t){let r=this.keyword(t,"end"),n=[this.renderBlockHeader(this.keyword(t,"behavior"),e.name,e.parameters)];if(e.initBlock&&e.initBlock.length>0){n.push(` ${this.keyword(t,"init")}`);for(let i of e.initBlock)n.push(` ${this.render(i,t)}`);n.push(` ${r}`);}for(let i of e.eventHandlers)n.push(` ${this.render(i,t)}`,` ${r}`);return n.push(r),n.join(`
12
12
  `)}renderDef(e,t){let r=[this.renderBlockHeader(De(t,"def"),e.name,e.parameters)];for(let n of e.body)r.push(` ${this.render(n,t)}`);if(e.catchBody){r.push(`${De(t,"catch")} ${e.catchName??"e"}`);for(let n of e.catchBody)r.push(` ${this.render(n,t)}`);}if(e.finallyBody){r.push(De(t,"finally"));for(let n of e.finallyBody)r.push(` ${this.render(n,t)}`);}return r.push(this.keyword(t,"end")),r.join(`
13
13
  `)}renderErrorClauses(e,t){let r=this.getChainWord("then",t),n=a=>a.map(o=>this.render(o,t)).join(` ${r} `),i="";return e.catchBody&&(i+=` ${De(t,"catch")} ${e.catchName??"e"}`,e.catchBody.length&&(i+=` ${n(e.catchBody)}`)),e.finallyBody&&(i+=` ${De(t,"finally")}`,e.finallyBody.length&&(i+=` ${n(e.finallyBody)}`)),i}renderFeature(e,t){let r=this.keyword(t,"end"),n=[this.featureHeader(e,t)];for(let i of e.body)n.push(` ${this.render(i,t)}`),i.kind==="event-handler"&&n.push(` ${r}`);return n.push(r),n.join(`
14
- `)}featureHeader(e,t){let r=this.keyword(t,e.action);if(e.action==="when"){let o=e.roles.get("condition"),u=o?this.valueToNaturalString(o,t):"";return [r,u,this.keyword(t,"changes")].filter(Boolean).join(" ")}if(e.immediately)return `${r} immediately`;let n=e.name?`${r} ${e.name}`:r,i=e.roles.get("source"),a=i?.type==="expression"?i.raw:void 0;if(a&&e.action==="socket")return `${n} ${a}`;if(a&&e.action==="eventsource"){let o=F(t)?.roleMarkers?.source,u=o?.primary??"from";return o?.position==="after"?`${n} ${a} ${u}`:`${n} ${u} ${a}`}return n}getChainWord(e,t){let r=F(t);return r?.keywords?r.keywords[e]?.primary??e:e}renderExplicit(e){return Pe(e)}supportedLanguages(){return Ps()}findBestPattern(e,t){return Ta(e,t,this.patternHooks)}spliceWaitAlternatives(e,t,r,n){let i=e.waitAlternatives;if(!i||i.length===0||r<0)return;let a=d=>d&&d.length>0?`(${d.join(", ")})`:"",[o,...u]=i;"event"in o&&(t[r]+=a(o.params));let s=[...qr[n]??[]][0]??"or",l=u.map(d=>"event"in d?`${s} ${this.renderEventName({type:"literal",value:d.event},n)}${a(d.params)}`:`${s} ${d.duration}`);t.splice(r+1,0,...l);let c=e.waitSource;if(!c)return;let p=this.valueToNaturalString(c,n),m=F(n)?.roleMarkers?.source,y=m?.primary??"from",f=m?.position==="after"?`${p} ${y}`:`${y} ${p}`;t.splice(r+1+l.length,0,f);}spliceOrEvents(e,t,r,n){let i=e.additionalEvents??[];if(i.length===0)return;let a=[...qr[n]??[]][0]??"or",o=i.map(u=>`${a} ${this.renderEventName(u,n)}`);t.splice(r>=0?r+1:t.length,0,...o);}spliceEventModifiers(e,t,r,n){let i=e.eventModifiers??{};if(!e.eventModifiers&&!e.headClause)return;r>=0&&i.queue&&(t[r]+=`.queue(${i.queue})`),i.every&&(n==="en"&&r>=0?t[r]=`every ${t[r]}`:t.unshift("every")),i.once&&i.onceAsFirst?n==="en"&&r>=0?t[r]=`first ${t[r]}`:t.unshift(this.localizeValue("first",n)):i.once&&(n==="en"&&r>=0?t[r]+=".once":t.unshift("once"));let a=[];if(i.from){let l=i.from.type==="expression"&&i.from.raw==="elsewhere"?De(n,"elsewhere"):this.valueToNaturalString(i.from,n),c=F(n)?.roleMarkers?.source,p=c?.primary??"from";c?.position==="after"?t.unshift(`${l} ${p}`):a.push(`${p} ${l}`);}let o=s=>s%1e3===0?`${s/1e3}s`:`${s}ms`;if(typeof i.debounce=="number"&&a.push(`debounced at ${o(i.debounce)}`),typeof i.throttle=="number"&&a.push(`throttled at ${o(i.throttle)}`),e.headClause&&t.push(e.headClause),a.length===0)return;let u=r>=0&&F(n)?.roleMarkers?.source?.position!=="after"?r+1:t.length;t.splice(u,0,...a);}renderWithPattern(e,t){let r=t.language,n=-1,i=t.template.tokens,a=e.action==="scroll"?e.scrollDirection:void 0,o=a?i.findIndex(l=>Ws(l,"quantity")):-1;for(;o>1&&i[o-1].type==="literal";)o--;let u=Ba(e,t,{...this.patternHooks,beforeToken:(l,c,p)=>{c===o&&p.push(De(r,a));},afterToken:(l,c)=>{l.type==="role"&&(l.role==="event"||l.role==="duration"&&e.action==="wait")&&(n=c);}});e.action==="wait"&&e.kind==="command"&&this.spliceWaitAlternatives(e,u,n,r),e.action==="fetch"&&e.doNotThrow&&u.push(Ev(r).join(" "));let s=e.scrollBehavior;if(s&&(e.action==="go"||e.action==="scroll")&&u.push(s),e.kind==="event-handler"){let l=e.parameterNames;l&&l.length>0&&n>=0&&(u[n]+=`(${l.join(", ")})`),this.spliceOrEvents(e,u,n,r),this.spliceEventModifiers(e,u,n,r),this.attachHeadMarker(u,n,i,r);}if(e.kind==="event-handler"){let l=e;if(l.body&&l.body.length>0){let c=l.body.map(p=>this.render(p,r));u.push(c.join(" "));}}return u.join(" ")}scopeFirst(e){return this.plainWords.has("scope")?void 0:F(e)?.queryScopeFirst}pushPart(e,t,r,n,i,a){let o=e[e.length-1],u=F(a),s=n?.type==="role"&&(n.role==="event"&&i.kind==="event-handler"||i.action==="wait"&&(n.role==="event"||n.role==="duration")),l=r.type==="literal"&&n?.type==="role"&&!s&&o!==void 0&&u?.attachedMarkers&&!this.plainWords.has("attach")&&xv(u,i.action,n.role,t)?Fo(u,o,t,c=>this.wordOfLanguage(c,a)):void 0;if(l===void 0||!this.splitsBack(l,o,a)){e.push(t);return}e[e.length-1]=l,this.nativeWritten.add("attach");}wordOfLanguage(e,t){let r=V(e,t).tokens[0];return r?.kind==="keyword"&&r.normalized!==void 0}isCustomWaitEvent(e,t){let r=e.replace(/\(.*$/,"").toLowerCase();if($e.has(r))return false;let n=xe[t]??{};return !(r in n)&&!Object.values(n).includes(r)}splitsBack(e,t,r){let n=a=>V(a,r).tokens.map(o=>o.value),i=bv(F(r),e.slice(t.length));return n(e).join("\0")===[...n(t),...n(i)].join("\0")}attachHeadMarker(e,t,r,n){let i=F(n);if(t<0||!i?.attachedMarkers||this.plainWords.has("attach"))return;let a=r.findIndex(c=>c.type==="role"&&c.role==="event"),o=r.slice(a+1).find(c=>c.type==="literal");if(a<0||o?.type!=="literal")return;let u=e.indexOf(o.value,t+1);if(u<=t)return;let s=e[u-1],l=Fo(i,s,o.value,c=>this.wordOfLanguage(c,n));l===void 0||!this.splitsBack(l,s,n)||(e.splice(u-1,2,l),this.nativeWritten.add("attach"));}obliquePhrase(e,t,r,n){if(this.plainWords.has("case")||r===void 0)return;let i=F(e)?.obliqueReferences?.[r]?.[t],a=typeof i=="string"?i:i?.[n];if(a!==void 0)return this.nativeWritten.add("case"),a}obliqueAt(e,t,r,n,i=false){let a=e[t],o=e[t+1],u=F(n);if(i&&t===0&&a?.type==="literal"&&u?.objectClitics){let z=o?.type==="group"&&o.tokens.length===1?o.tokens[0]:o;if(z?.type==="role"&&(z.role==="patient"||z.role==="destination")){let S=r.roles.get(z.role),h=u.objectClitics.forms[nr(S)??""],A=!S?.implicit||z.role==="patient"&&Oo(r,"patient"),k=h&&A&&!this.plainWords.has("case")&&!u.objectClitics.notVerbs?.includes(a.value)?tv(u.objectClitics.attach,a.value,h):void 0;if(k!==void 0)return this.nativeWritten.add("case"),{text:k,tokens:2}}}let s=z=>z==="destination"&&!!r.scrollPosition;if(a?.type==="role"&&(a.role==="patient"||a.role==="destination")&&!s(a.role)){let z=this.obliquePhrase(n,"",nr(r.roles.get(a.role)),"direction");if(z!==void 0)return {text:z,tokens:1}}let l=a?.type==="role"?a:o;if(l?.type!=="role")return;let c=l.role;if(c!=="destination"&&c!=="source"&&c!=="patient")return;let p=u?.roleMarkers[c]?.position==="after",[m,y]=p?[o,a]:[a,o],f=m?.type==="group"&&m.tokens.length===1?m.tokens[0]:m;if(y!==l||f?.type!=="literal"||s(c))return;let d=f.value.split(" "),v=p?d[0]:d[d.length-1],E=c==="destination"&&Qv.has(r.action)?"location":"direction",w=this.obliquePhrase(n,v,nr(r.roles.get(c)),E);return w===void 0?void 0:{text:(p?[w,...d.slice(1)]:[...d.slice(0,-1),w]).join(" "),tokens:2}}renderRoleToken(e,t,r){let n=t.roles.get(e.role);if(!n){if(e.role==="duration"&&t.action==="wait"){let a=t.roles.get("event");if(a){let o=this.renderEventName(a,r),u=F(r)?.keywords?.event?.primary;return u&&this.isCustomWaitEvent(o,r)?`${u} ${o}`:o}}return e.optional,null}if(e.role==="event")return this.renderEventName(n,r);let i=t.scrollPosition;if(i&&e.role==="destination"&&(t.action==="go"||t.action==="scroll"))return `${i} of ${this.valueToNaturalString(n,r)}`;if(r==="en"&&t.action==="halt"&&e.role==="patient"&&n.type==="reference"&&n.value==="event")return `the ${this.valueToNaturalString(n,r)}`;if(t.action==="render"&&e.role==="style"&&n.type==="expression"){let a=n.raw.trim();if(a.startsWith("{")&&a.endsWith("}"))return a.slice(1,-1).trim()}if(t.action==="js"&&n.type==="expression")return n.raw;if(e.valueShape==="keyword"){if(n.type==="reference")return n.value;if(n.type==="expression")return n.raw;if(n.type==="literal"&&n.dataType!=="string")return String(n.value)}if(t.action==="fetch"&&e.role==="responseType"&&n.type==="expression")return n.raw;if(t.action==="pick"&&e.role==="patient"&&n.type==="expression"){let a=Ls.rangeSeparatorFor(r);if(a)return n.raw.replace(/(?<=\s)to(?=\s)/g,a)}return this.valueToNaturalString(n,r)}writesGroup(e,t){if(e.optional)for(let r of ["destination","source","patient"]){if(!e.tokens.find(a=>a.type==="role"&&a.role===r))continue;let i=t.roles.get(r);if(!(i?.type!=="reference"||i.value!=="me")&&i.implicit){if(r==="destination"){let a=t.roles.get("patient");if(a?.type==="literal"&&a.dataType==="string")continue}if(!(r==="patient"&&Oo(t,"patient")))return false}}return !(e.optional&&e.tokens.find(n=>n.type==="role"&&n.role==="quantity")&&t.roles.get("quantity")?.implicit===true)}renderEventName(e,t){if(e.type!=="literal"||typeof e.value!="string")return this.valueToNaturalString(e,t);let r=e.value;if(e.quoted)return r.includes('"')?`'${r}'`:`"${r}"`;let n=i=>i.includes(":")?i:H0(i,t);return r.includes(" or ")?r.split(" or ").map(i=>n(i.trim())).join(" or "):n(r)}valueToNaturalString(e,t="en"){switch(e.type){case "literal":return typeof e.value=="string"&&e.dataType==="string"?e.interpolates?e.value:n4(e.value):this.localizeValue(String(e.value),t);case "selector":if(!e.scope)return e.value;{let r=this.valueWords(t);if(r.scopeFirst){let i=this.valueToNaturalString(e.scope,t);return `${r.scopeFirst(i,nr(e.scope))} ${e.value}`}r.queryIn!=="in"&&r.wrote?.();let n=F(t)?.roleMarkers.destination?.position!=="after"&&this.obliquePhrase(t,r.queryIn,nr(e.scope),"location")||`${r.queryIn} ${this.valueToNaturalString(e.scope,t)}`;return `${e.value} ${n}`}case "reference":return this.renderReference(e,t);case "property-path":return this.renderPropertyPath(e,t);case "expression":return /^[A-Za-z_$][\w$]*$/.test(e.raw)?this.renderLoneName(e.raw,t):this.localizeValue(Ov(this.valueGuard?.(e.raw)??e.raw,r=>this.localizeInteriorPossessives(r,t)),t,this.wordsKeptAsSpelled(e.raw,t));case "flag":return this.localizeValue(e.name,t)}}localizedName(e,t){let r=this.localizeValue(e,t);if(r===e)return e;if(this.spellVariables)return;let[n,...i]=V(r,t).tokens;if(i.length===0&&n?.kind==="keyword"&&(n.normalized??n.value).toLowerCase()===e.toLowerCase()&&!Ut(n))return this.localizedVariable=true,r}renderLoneName(e,t){let r=this.valueGuard?.(e)??e;return r!==e?r:Is(e)?this.localizedName(e,t)??e:this.localizeValue(e,t)}wordsKeptAsSpelled(e,t){if(t==="en")return;let{variables:r,properties:n}=Uv(e),i=[...[...r].filter(a=>this.localizedName(a,t)===void 0),...[...n].filter(a=>!this.propertyReadsBack(a,t))];return i.length?new Set(i):void 0}propertyReadsBack(e,t){let r=this.localizeValue(e,t);if(r===e||pn[t]?.[r.toLowerCase()]===e.toLowerCase())return true;let[n,...i]=V(r,t).tokens;return i.length===0&&n?.kind==="keyword"&&(n.normalized??"").toLowerCase()===e.toLowerCase()}localizeProperty(e,t){let r=/^[A-Za-z][\w-]*/.exec(e)?.[0];return r&&!this.propertyReadsBack(r,t)?e:this.localizeValue(e,t)}localizeValue(e,t,r){return t==="en"?e:Kv(e,t,F(t),r,this.valueWords(t))}renderReference(e,t){let r=/^(?:the\s+)?element(?:'s)?\s+([A-Za-z_]\w*)$/.exec(e.value);if(r&&t!=="en")return `${gi(t)} ${r[1]}`;let n=F(t);return n?.references?n.references[e.value]??e.value:e.value}renderDotBase(e,t,r){if(e.type!=="reference")return this.valueToNaturalString(e,t);let n=r?.possessive?.specialForms?.[e.value];return n&&!/\s/.test(n)?n:e.value}localizeInteriorPossessives(e,t){if(t==="en")return e.replace(/\b(?:the\s+)?([A-Za-z][\w-]*)\s+of\s+([#.][\w-]+)/g,(i,a,o,u,s)=>t4.has(a.toLowerCase())&&!Ir(s,u+i.length)?`${o}'s ${a}`:i);let r=(i,a)=>this.renderPropertyPath({type:"property-path",object:i,property:a,access:"possessive"},t),n=this.localizeOfPossessives(e,r);return n.includes("'s")?n.replace(/([#.][\w-]+)((?:'s\s+[A-Za-z][\w-]*)+)/g,(i,a,o,u,s)=>{let[l,...c]=[...o.matchAll(/'s\s+([A-Za-z][\w-]*)/g)].map(y=>y[1]),p=r(Oe(a),l);if(!p)return i;let m=!p.startsWith(a);if(m)for(let y of c)p=r(Oe(p),y);else p+=c.map(y=>`'s ${y}`).join("");return Ir(s,u+i.length)&&m?`(${p})`:p}):n}localizeOfPossessives(e,t){return this.plainWords.has("value")||!/\bof\b/.test(e)?e:r4(e,r=>r.replace($s,(n,i,a,o,u)=>{let s=js(a);if(!s)return n;let[l,...c]=s.reverse(),p=t(Oe(o),l);if(!p)return n;let m=!p.startsWith(o);if(!m&&Ir(r,u+n.length))return n;let y=u===0&&n.length===r.trimEnd().length;if(!m&&c.length===0&&y)return n;if(m)for(let f of c)p=t(Oe(p),f);else p+=c.map(f=>`'s ${f}`).join("");return this.nativeWritten.add("value"),`${i}${p}`}))}renderPropertyPath(e,t){let r=F(t);if(e.access==="dot"){let o=this.renderDotBase(e.object,t,r),u=e.property;return /^[.?]/.test(u)?`${o}${u}`:`${o}.${u}`}let n=this.localizeProperty(e.property,t),i=e.object.type==="reference"?e.object.value:null;if(r?.possessive&&i){let o=r.possessive.specialForms?.[i]??a4(r.possessive.keywords,i);if(o)return `${o} ${n}`}let a=this.valueToNaturalString(e.object,t);if(e.object.type==="expression"){if(t==="en"||!r?.possessive)return `the ${n} of ${a}`;let{marker:o,markerPosition:u}=r.possessive;if(o&&u==="between"&&t!=="th")return `${a} ${o} ${n}`;let s=t==="th"?o:po(r);return s?`${n} ${s} ${a}`:`the ${n} of ${a}`}if(r?.possessive){let{marker:o,markerPosition:u,usePossessiveAdjectives:s}=r.possessive;if(s&&i)return `${a} ${n}`;if(o&&u==="between"){if(t==="th")return `${n} ${o} ${a}`;let c=r.tokenization!==void 0;return r.usesSpaces&&!c?`${a} ${o} ${n}`:r.usesSpaces?`${a}${o} ${n}`:`${a}${o}${n}`}let l=t!=="en"&&e.object.type==="selector"?po(r):void 0;if(l)return `${n} ${l} ${a}`;if(o)switch(u){case "after-object":return `${a}${o} ${n}`;case "before-property":return `${a} ${o} ${n}`}}return t==="en"||!r?.possessive?a==="me"?`my ${n}`:a==="it"?`its ${n}`:`${a}'s ${n}`:`${a} ${n}`}};function a4(e,t){if(e){for(let[r,n]of Object.entries(e))if(n===t)return r}}var Me=new i4;var u4=new Set(["a","an","the"]),Ro=new Map;function s4(e){let t=Ro.get(e);return t||(t=new Set(Object.values(ke).flatMap(r=>r.roles.flatMap(n=>[n.markerOverride?.[e],...n.markerVariants?.[e]??[]].filter(i=>typeof i=="string"&&i.length>0)))),Ro.set(e,t)),t}function l4(e,t){let r=V(e,t).tokens,n=r[0];if(r.length!==1||!n)return {collision:"structure",word:"words"};let i=n.normalized!==e?n.normalized:void 0;if(n.kind==="keyword"&&Cu.has(i??""))return {collision:"pronoun",word:"pronoun",sense:i};if(n.kind==="identifier"&&!i){if(s4(t).has(e))return {collision:"structure",word:"marker"};let a=F(t)?.objectClitics;if(a?.attach==="before"&&Object.values(a.forms).includes(e))return {collision:"structure",word:"pronoun"};let o=st(t,e);return o!==e?{collision:"structure",word:"connective",sense:o}:u4.has(e.toLowerCase())?{collision:"structure",word:"article"}:null}return n.kind==="particle"?{collision:"structure",word:"marker"}:{collision:"structure",word:"keyword",sense:i}}function qs(e,t){let r=`${t}\0${e}`,n=_o.get(r);return n===void 0&&(n=l4(e,t)?.collision??null,_o.set(r,n)),n}var _o=new Map;T0((e,t)=>qs(e,t)==="structure");var Hs=new Set(["compound"]),vn=["body","statements","thenBranch","elseBranch","branches","eventHandlers","initBlock","catchBody","finallyBody"];function y4(e){let t=[];return si(e,t,0),t.sort()}function si(e,t,r){if(r>64||e===null||typeof e!="object")return;let n=e,i=n.action;typeof i=="string"&&!Hs.has(i)&&t.push(i),n.postfixUnless&&t.push("unless");for(let a of vn){let o=n[a];if(Array.isArray(o))for(let u of o)si(u,t,r+1);else o&&typeof o=="object"&&si(o,t,r+1);}}function v4(e){let t=new Set;return Hr(e,t,0),[...t].sort()}function h4(e){let t=new Set;return Hr(e,t,0,true),[...t].sort()}function E4(e){if(e.kind!=="event-handler")return [];let t=e.eventModifiers;return !t||typeof t!="object"?[]:Object.entries(t).filter(([,r])=>r!=null&&r!==false)}function g4(e){return E4(e).map(([t,r])=>[t,typeof r=="object"&&typeof r.type=="string"?r.type:typeof r])}function Hr(e,t,r,n=false){if(r>64||e===null||typeof e!="object")return;let i=e,a=i.action;if(typeof a=="string"&&!Hs.has(a)){let o=i.roles,u=o instanceof Map?[...o.entries()]:o&&typeof o=="object"?Object.entries(o):[];for(let[s,l]of u){if(l==null||n&&typeof l=="object"&&l.implicit===true)continue;let c=typeof l=="object"&&typeof l.type=="string"?l.type:typeof l;t.add(`${a}.${String(s)}:${c}`);}}for(let[o,u]of g4(i))t.add(`on.${o}:${u}`);for(let o of vn){let u=i[o];if(Array.isArray(u))for(let s of u)Hr(s,t,r+1,n);else u&&typeof u=="object"&&Hr(u,t,r+1,n);}}function jt(e){switch(e.kind){case "command":return Gs(e);case "event-handler":{let t=e;return {...t,roles:Rt(t.roles),body:Ne(t.body),...No(t)}}case "compound":{let t=e;return {...t,roles:Rt(t.roles),statements:Ne(t.statements)}}case "conditional":{let t=e;return {...t,roles:Rt(t.roles),thenBranch:Ne(t.thenBranch),...t.elseBranch?{elseBranch:Ne(t.elseBranch)}:{}}}case "loop":{let t=e;return {...t,roles:Rt(t.roles),body:Ne(t.body)}}case "behavior":{let t=e;return {...t,eventHandlers:t.eventHandlers.map(n=>jt(n)),...t.initBlock?{initBlock:Ne(t.initBlock)}:{}}}case "def":{let t=e;return {...t,body:Ne(t.body),...No(t)}}case "feature":{let t=e;return {...t,body:Ne(t.body)}}default:return e}}function w4(e){let t=[],r=(n,i)=>{if(i>64||n===null||typeof n!="object")return;let a=n,o=a.action==="swap"?a.roles?.get("method"):void 0;if(o){let u=o.type==="literal"?String(o.value):Ft(o);t.push(`swap ${u??o.type}`);}for(let u of vn){let s=a[u];if(Array.isArray(s))for(let l of s)r(l,i+1);}};return r(jt(e),0),t}function Ne(e){let t=[];for(let r=0;r<e.length;r++){let n=e[r],i=e[r+1],a=n.kind==="command"&&n.action==="unless"?n.roles.get("condition"):void 0;if(a&&i&&!i.postfixUnless){t.push({...jt(i),postfixUnless:Wi(a)}),r++;continue}t.push(jt(n));}return t}function Rt(e){return new Map([...e].map(([t,r])=>[t,Wi(r)]))}function No(e){return {...e.catchBody?{catchBody:Ne(e.catchBody)}:{},...e.finallyBody?{finallyBody:Ne(e.finallyBody)}:{}}}var k4={into:"innerhtml",over:"outerhtml"},C4={beforebegin:"before",afterend:"after",afterbegin:"at start of",beforeend:"at end of"},b4=new Set(["swap","morph"]);function z4(e){let t=e?.type==="literal"?e.value:e?.type==="expression"?e.raw:void 0;return typeof t=="string"&&t.toLowerCase()==="transition"}function Gs(e){if(on(e))return {...e,roles:Rt(e.roles),body:Ne(e.body)};if(b4.has(e.action)&&z4(e.roles.get("manner"))){let o=new Map(e.roles);return o.delete("manner"),{kind:"command",action:"viewTransition",roles:new Map,body:[Gs({...e,roles:o})],...e.metadata?{metadata:e.metadata}:{}}}let t={...e,roles:Rt(e.roles)},r=t.roles,n=o=>r.get(o),i=(o,u)=>{let s=new Map;for(let[c,p]of u)p&&s.set(c,p);return {...t,action:o,roles:s}},a=o=>({type:"literal",value:o,implicit:true});switch(t.action){case "set":{let o=n("destination"),u=n("scope"),s=u&&Ft(u);return o?.type!=="selector"||!o.value.startsWith("@")||!s?t:i("set",[...[...r].filter(([l])=>l!=="scope"&&l!=="destination"),["destination",{type:"expression",raw:`${o.value} of ${s}`}]])}case "go":{let o=n("destination");return o?.type!=="literal"||typeof o.value!="string"||n("method")?t:i("go",[...r,["method",{type:"literal",value:"url"}]])}case "open":{let o=n("style"),u=o?Ft(o)?.replace(/^"|"$/g,"").toLowerCase():void 0;if(u==="modal")return i("open",[["patient",n("patient")]]);if(u!=="non-modal")return t;let s=n("patient")?Ft(n("patient")):"me";if(!s)return t;let l=/^[#.@$:^\w-]+$/.test(s)?s:`(${s})`;return i("call",[["patient",{type:"expression",raw:`${l}.show()`}]])}case "prepend":return i("put",[["patient",n("patient")],["destination",n("destination")],["manner",a("at start of")]]);case "push":case "replace":{let o=n("patient")&&Ft(n("patient"));if(!o)return t;let u=t.action==="push"?"pushState":"replaceState";return i("call",[["patient",{type:"expression",raw:`history.${u}(null,'',${o})`}]])}case "copy":{let o=n("patient");if(o?.type==="selector")return t;let u=o&&Ft(o);return u?i("call",[["patient",{type:"expression",raw:`navigator.clipboard.writeText(${u})`}]]):t}case "swap":{let o=n("method"),u=n("destination"),s=n("patient"),l=o?.type==="literal"?o.value:o?.type==="expression"?o.raw:"";if(typeof l!="string"||!l||!u)return t;let c=k4[l.toLowerCase()]??l.toLowerCase();if(c==="delete")return i("remove",[["patient",u]]);if(!s)return t;if(c==="innerhtml")return i("put",[["patient",s],["destination",u]]);if(c==="outerhtml")return i("put",[["patient",s],["destination",{type:"property-path",object:u,property:"outerHTML",access:"possessive"}]]);let p=C4[c];return p?i("put",[["patient",s],["destination",u],["manner",a(p)]]):t}case "fetch":{let o=n("source");return !t.doNotThrow||n("responseType")||o?.type!=="literal"||o.interpolates?t:i("fetch",[...r,["responseType",{type:"expression",raw:"text"}]])}default:return t}}function Ft(e){switch(e.type){case "selector":case "reference":return String(e.value);case "expression":return e.raw;case "literal":return typeof e.value=="string"?JSON.stringify(e.value):String(e.value);default:return}}function Wi(e){switch(e.type){case "property-path":{let t=e.property.replace(/\?\./g,".").replace(/^\./,""),r=Wi(e.object);return t===e.property&&r===e.object?e:{...e,object:r,property:t}}case "expression":{let t=x4(e.raw);return t===e.raw?e:{...e,raw:t}}case "literal":return e.interpolates&&typeof e.value=="string"?{type:"expression",raw:`\`${e.value}\``}:e;default:return e}}var A4=/^(previous|next|closest|first|last)\s+(<[^>]*\/>|[.#][\w-]+)\s*\.([A-Za-z_$][\w$]*)$/;function x4(e){let t=A4.exec(e.trim());return t?`the ${t[3]} of ${t[1]} ${t[2]}`:S4(e,r=>r.replace(/\?\./g,".").replace(/\bdoes not have(\s+)(?=[.#[])/g,"does not match$1").replace(/\bhas(\s+)(?=[.#[])/g,"matches$1").replace(/\bhave(\s+)(?=[.#[])/g,"match$1").replace(/(^|[^\w$.#@*:-])me matches\b/g,"$1I match").replace(/(^|[^\w$.#@*:-])me does not match\b/g,"$1I do not match").replace(/(^|[^\w$.#@*:-])me is(\s+not)?(\s+an?\s)/g,"$1I am$2$3"))}function S4(e,t){let r="",n="";for(let i=0;i<e.length;i++){let a=e[i];if(a==='"'||a==="'"||a==="`"){r+=t(n),n="";let o=i+1;for(;o<e.length&&e[o]!==a;)o+=e[o]==="\\"?2:1;r+=e.slice(i,o+1),i=o;}else n+=a;}return r+t(n)}function hn(e,t){return Me.render(jt(e),t);}var D4={getSchema:J};function T4(e){return zr(e,{schemaLookup:D4})}var $e=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu","transitionend","transitionstart","transitionrun","transitioncancel","animationend","animationstart","animationiteration","animationcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","pointerout","touchstart","touchend","touchmove","touchcancel","mousemove","mouseenter","mouseleave","wheel","dragstart","dragend","dragover","dragenter","dragleave","drop","drag","loadend","loadstart","error","abort","close","open","message","popstate","hashchange","storage","online","offline","visibilitychange"]),oe=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu"]),B4=new Set(["me","my","i","it","its","you","your","result"]);function dr(e,t){if(e[t]?.value!=="(")return {len:0,names:[]};let r=[];for(let n=t+1;n<e.length;n++){let i=e[n].value;if(i===")")return e[t-1]?.position?.end!==e[t]?.position?.start&&e[n+1]?.kind==="particle"?{len:0,names:[]}:{len:n-t+1,names:r};if(i===",")continue;let a=e[n].kind;if(a!=="identifier"&&a!=="keyword"||!/^[A-Za-z_$][\w$]*$/.test(i))break;let o=(e[n].normalized??i).toLowerCase();if(a==="keyword"&&B4.has(o))break;r.push(i);}return {len:0,names:[]}}var Mo=new Set(["top","middle","bottom","left","center","right","nearest"]),F4=new Set(["smoothly","instantly"]),L4=new Set(["up","down","left","right"]);function Ys(e){let r=J("scroll")?.roles.find(a=>a.role==="quantity")?.markerOverride?.[e],n=F(e)?.roleMarkers?.quantity,i=["by",r,n?.primary,...n?.alternatives??[]];return new Set(i.filter(a=>!!a).map(a=>a.toLowerCase()))}function li(e){return e?e.kind==="literal"||/^[-\d.$:]/.test(e.value):false}function P4(e,t){if(!t)return false;let r=t.value.toLowerCase();switch(e.type){case "selector":return e.value.toLowerCase()===r;case "reference":return e.value===(t.normalized??t.value).toLowerCase()||e.value===r;case "expression":return e.raw.toLowerCase().split(/\s+/)[0]===r;default:return String("value"in e?e.value:"").toLowerCase()===r}}function O4(e){let t=(e.normalized??e.value).toLowerCase();return t==="document"||t==="window"||t==="me"||t==="body"?Be(t):e.kind==="selector"?Oe(e.value):{type:"expression",raw:e.value}}function R4(e,t,r,n){let i=d=>d?.value.toLowerCase()??"",a=-1,o=-1;for(let d=0;d<e.length&&a<0;d++){let v=i(e[d])==="the"?d+1:d;Mo.has(i(e[v]))&&(Mo.has(i(e[v+1]))&&v++,!(i(e[v+1])!=="of"||!e[v+2])&&(a=d,o=v+1));}let u=a<0?e.findIndex(d=>F4.has(i(d))):-1,s=Ys(r),l=a<0&&u<0?e.findIndex((d,v)=>L4.has(i(d))&&(s.has(i(e[v+1]))||li(e[v+1]))):-1;if(a<0&&u<0&&l<0)return null;let c=a>=0?a:u>=0?u:l,p=a>=0?o:c,m=t.slice(0,e[c].position.start).trimEnd(),y=t.slice(e[p].position.end).trimStart(),f=m?m.length+1:0;try{let d=n(m?`${m} ${y}`:y,r),v=[],E=z=>{if(!z)return;z.kind==="command"&&(z.action==="go"||z.action==="scroll")&&v.push(z);let S=z;for(let h of ct){let A=S[h];Array.isArray(A)&&A.forEach(k=>E(k));}};E(d??void 0);let w=z=>z.roles.get("destination")?.position?.start??z.roles.get("quantity")?.position?.start??-1,g=z=>v.filter(S=>w(S)>=0&&w(S)<=z).reduce((S,h)=>!S||w(h)>w(S)?h:S,void 0);if(!d)return null;if(a>=0){let z=g(f),S=z?.roles.get("destination"),h=e[o+1];if(!z||!S||!P4(S,h))return null;let A=e.slice(a,o).map(k=>k.value.toLowerCase());z.scrollPosition=A.join(" ");}else if(u>=0){let z=g(e[u].position.start-1);if(!z)return null;z.scrollBehavior=i(e[u]);}else {let z=B=>B.roles.get("quantity")?.position?.start??-1,S=v.filter(B=>B.action==="scroll"),h=S.some(B=>B.roles.has("quantity"))?S.filter(B=>B.roles.has("quantity")):S.filter(B=>B.roles.has("destination")),A=h.some(B=>z(B)>=0)?h.filter(B=>z(B)>=f-1).reduce((B,C)=>!B||z(C)<z(B)?C:B,void 0):h[h.length-1];if(!A)return null;let k=A.roles,x=k.get("destination"),D=s.has(i(e[l+1]))?l+2:l+1,R=e[D];if(x&&!k.has("quantity")&&(x.type==="selector"||x.type==="reference")&&li(R)){let B=`${m} ${t.slice(R.position.end).trimStart()}`.trim(),C=n(B,r),b=[],T=L=>{if(L){L.kind==="command"&&L.action==="scroll"&&b.push(L);for(let P of ct){let O=L[P];Array.isArray(O)&&O.forEach(q=>T(q));}}};T(C??void 0);let N=b.filter(L=>L.roles.has("destination")).pop();if(!C||!N)return null;let I=N.roles,j=I.get("destination");return I.delete("destination"),I.set("patient",j),I.set("quantity",/^-?\d+(\.\d+)?$/.test(R.value)?te(Number(R.value),"number"):/^[$:]/.test(R.value)?{type:"reference",value:R.value}:{type:"expression",raw:R.value}),N.scrollDirection=i(e[l]),C}A.scrollDirection=i(e[l]),x&&!k.has("quantity")&&(k.delete("destination"),k.set("quantity",x));}return d}catch{return null}}function _4(e,t){let r=vr[t]?.elsewhere,n=F(t)?.roleMarkers?.source;if(!r||!n)return e;let i=V(r,t).tokens.map(l=>l.value.toLowerCase());if(!i[0]||!e.toLowerCase().includes(i[0]))return e;let a=new Set([n.primary,...n.alternatives??[]].map(l=>l.toLowerCase())),o=V(e,t).tokens,u=l=>!!l&&a.has(l.value.toLowerCase()),s=e;for(let l=o.length-i.length;l>=0;l--){if(!i.every((y,f)=>o[l+f].value.toLowerCase()===y)||!(n.position==="after"?u(o[l+i.length]):u(o[l-1])))continue;let p=o[l].position.start,m=o[l+i.length-1].position.end;s=s.slice(0,p)+"elsewhere"+s.slice(m);}return s}function N4(e,t){let r=vr[t];if(!r)return e;let n=Ys(t),i=e.toLowerCase(),a,o=e,u=[];for(let s of ["up","down","left","right"]){let l=r[s];if(!l||l===s)continue;let c=V(l,t).tokens.map(p=>p.value.toLowerCase());if(!(!c[0]||!i.includes(c[0]))){a??(a=V(e,t).tokens);for(let p=0;p+c.length<=a.length;p++){if(!c.every((y,f)=>a[p+f].value.toLowerCase()===y))continue;let m=a[p+c.length];!m||!(n.has(m.value.toLowerCase())||li(m))||u.push([a[p].position.start,a[p+c.length-1].position.end,s]);}}}for(let[s,l,c]of u.sort((p,m)=>m[0]-p[0]))o=o.slice(0,s)+c+o.slice(l);return o}function M4(e,t,r,n){let i=p=>p?.value.toLowerCase(),a=r==="en"?[]:oi[r]??[],o=p=>i(e[p])==="do"&&i(e[p+1])==="not"&&i(e[p+2])==="throw"?p+2:a.length&&a.every((y,f)=>i(e[p+f])===y.toLowerCase())?p+a.length-1:i(e[p])==="don"&&i(e[p+1])==="'"&&i(e[p+2])==="t"&&e[p].position.end===e[p+1].position.start&&e[p+1].position.end===e[p+2].position.start&&i(e[p+3])==="throw"?p+3:-1,u=e.findIndex((p,m)=>o(m)>=0);if(u<0)return null;let s=o(u),l=e[u].position.start,c=(t.slice(0,e[u].position.start).trimEnd()+" "+t.slice(e[s].position.end).trimStart()).trim();try{let p=n(c,r),m=[],y=v=>{if(!v)return;v.kind==="command"&&v.action==="fetch"&&m.push(v);let E=v;for(let w of ct){let g=E[w];Array.isArray(g)&&g.forEach(z=>y(z));}};y(p??void 0);let f=v=>v.roles.get("source")?.position?.start??-1,d=m.filter(v=>f(v)>=0&&f(v)<l).reduce((v,E)=>!v||f(E)>f(v)?E:v,void 0);return !p||!d?null:(d.doNotThrow=!0,p)}catch{return null}}function I4(e,t,r,n){let i=s=>(s.normalized??s.value).toLowerCase()==="tell",a=e.findIndex(i);if(a<0)return null;let o=F(r)?.roleMarkers?.destination,u=new Set([o?.primary,...o?.alternatives??[]].filter(s=>!!s));for(let s=a+1;s<e.length;s++){if(e[s].value.toLowerCase()!=="to")continue;let l=e[s].position.start,c=(t.slice(0,l).trimEnd()+" "+t.slice(e[s].position.end).trimStart()).trim();try{let p=n(c,r);if(!p)continue;let m=[],y=w=>{if(!w)return;w.kind==="command"&&m.push(w);let g=w;for(let z of ct){let S=g[z];Array.isArray(S)&&S.forEach(h=>y(h));}};y(p);let f=w=>w.roles.get("destination")?.position?.start??-1,d=m.filter(w=>w.action==="tell"&&f(w)>=0&&f(w)<l).reduce((w,g)=>!w||f(g)>f(w)?g:w,void 0);if(!d)continue;let v=d.roles.get("destination")?.position?.end??-1;if(v<0||!e.filter(w=>w.position.start>=v&&w.position.start<l).every(w=>i(w)||u.has(w.value)))continue;return p}catch{continue}}return null}function $4(e,t,r,n){let i=p=>p?.value.toLowerCase(),a=new Set;for(let p of be(r))if(!(p.command!=="repeat"&&p.command!=="for")){for(let m of p.template.tokens)if(m.type==="literal")for(let y of [m.value,...m.alternatives??[]])a.add(y.toLowerCase());}let o=p=>a.has(p.value.toLowerCase()),u=F(r)?.roleMarkers?.style?.primary?.toLowerCase(),s=p=>i(p)==="with"||!!u&&i(p)===u,l=ts(r,"index",p=>V(p,r).tokens.map(m=>m.value)),c=p=>l.find(m=>m.every((y,f)=>i(e[p+f])===y))?.length??0;for(let p=0;p+1<e.length;p++){let m=s(e[p])&&i(e[p+1])==="index",y=i(e[p])==="indexed"&&i(e[p+1])==="by"&&!!e[p+2],f=c(p),d=f>0&&!!e[p+f]||y;if(!m&&!d)continue;let v=e[y?p+2:m?p+1:p+f];if(f>0&&i(e[p])==="index"&&v.kind==="particle"&&l.length>1)continue;let w=e[p].position.start,g=(t.slice(0,w).trimEnd()+" "+t.slice(v.position.end).trimStart()).trim();try{let z=n(g,r);if(!z)continue;let S=[],h=C=>{if(!C)return;C.kind==="loop"&&S.push(C);let b=C;for(let T of ct){let N=b[T];Array.isArray(N)&&N.forEach(I=>h(I));}};h(z);let A=C=>Math.max(-1,...[...C.roles.values()].map(b=>b.position?.end??-1).filter(b=>b<=w)),k=S.filter(C=>A(C)>=0).reduce((C,b)=>!C||A(b)>A(C)?b:C,void 0);if(!k)continue;let x=e.filter(C=>C.position.start>=A(k)&&C.position.start<w),D=k.roles.get("quantity"),R=D?.type==="literal"&&typeof D.value=="number"?D.position?.end:void 0,B=R===void 0?void 0:e.find(C=>C.position.start>=R);if(!x.every(C=>C===B||o(C)))continue;return k.indexVariable=m?"index":v.value,z}catch{continue}}return null}function j4(e,t,r,n){let i=g=>!!g&&(g.normalized??g.value).toLowerCase()==="wait";if(!e.some(g=>i(g)))return null;let a=g=>(g.normalized??g.value).toLowerCase(),o=g=>{if(!g)return;let z=k=>oe.has(k)||$e.has(k),S=g.kind==="identifier"?g.value.toLowerCase():a(g);if(z(S))return S;let h=xe[r]?.[g.value];if(h)return h;let A=Mu(g.value,r);return z(A)?A:void 0},u=g=>!!g&&/^\d+(?:\.\d+)?(?:ms|s)$/.test(g.value),s=F(r)?.roleMarkers?.source,l=new Set([s?.primary,...s?.alternatives??[]].filter(Boolean).map(g=>g.toLowerCase())),c=g=>!!g&&((g.normalized??"")==="source"||l.has(g.value.toLowerCase())),p=s?.position!=="after",m=F(r)?.wordOrder==="SOV",y=g=>!!e[g]&&a(e[g])==="event",f=(g,z)=>m?i(e[z])||e[z]?.kind==="particle"&&i(e[z+1]):i(e[g-1])||i(e[g-2])||y(g-1)&&e[g-2]?.kind==="particle"&&i(e[g-3]),d=g=>p?c(e[g])&&!!e[g+1]:!!e[g]&&c(e[g+1]),v=g=>!!g&&(g.kind==="identifier"||g.kind==="keyword"&&(Ut(g)??"event")==="event")&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$:-]*$/u.test(g.value),E=g=>{for(;pr(e[g]??{value:""},r)&&e[g+1];)g+=2;return d(g)},w=g=>{let z=o(e[g]);if(z)return z;if(!v(e[g]))return;let S=e[g-1]?.value.toLowerCase()==="for"&&i(e[g-2]),h=y(g-1)&&(m||i(e[g-2])||e[g-2]?.kind==="particle"&&i(e[g-3]));return S||h||E(g+1)?e[g].value:void 0};for(let g=0;g<e.length;g++){let z=w(g);if(!z)continue;let S=[],h=g+1,A=dr(e,h);S.push(A.names.length>0?{event:z,params:A.names}:{event:z});let k=h+A.len;for(;pr(e[k]??{value:""},r);){let P=e[k+1],O=o(P)??(v(P)?P.value:void 0);if(O){let q=k+2,W=dr(e,q);S.push(W.names.length>0?{event:O,params:W.names}:{event:O}),k=q+W.len;}else if(u(P))S.push({duration:P.value}),k+=2;else break}let x=k,D,R;if(p&&c(e[k])&&e[k+1]?(D=[k,k+1],R=e[k+1]):!p&&e[k]&&c(e[k+1])&&(D=[k,k+1],R=e[k]),!(S.length>1||A.names.length>0||!!D))continue;let C=D?D[1]+1:x;if(!f(g,C))continue;let b=[];x>h&&b.push([e[h-1].position.end,e[x-1].position.end]),D&&b.push([e[D[0]].position.start,e[D[1]].position.end]),b.sort((P,O)=>P[0]-O[0]);let T="",N=0;for(let[P,O]of b)T+=t.slice(N,P)+" ",N=O;T=(T+t.slice(N)).replace(/\s+/g," ").trim();let I=S[0],j=I.event.toLowerCase(),L=0;for(let P=0;P<g;P++)w(P)?.toLowerCase()===j&&f(P,P+1)&&L++;try{let P=n(T,r),O=[],q=me=>{if(!me)return;let ze=me.roles?.get("event")??me.roles?.get("duration"),H=ze?.type==="expression"?ze.raw:ze&&"value"in ze?String(ze.value):void 0;me.kind==="command"&&me.action==="wait"&&H?.toLowerCase()===j&&O.push(me);let _=me;for(let Y of ct){let se=_[Y];Array.isArray(se)&&se.forEach(ye=>q(ye));}};q(P??void 0);let W=O[L];if(!P||!W)continue;let re=W.roles;return re.has("event")||(re.delete("duration"),re.set("event",{type:"literal",value:I.event,dataType:"string"})),W.waitAlternatives=S,R&&(W.waitSource=O4(R)),P}catch{}}return null}function W4(e,t){let r=V(e,t).tokens;for(let n=0;n<r.length-1;n++){if(r[n].value.toLowerCase()!=="do")continue;let i=-1;for(let s=n+1;s<=n+5&&s<r.length;s++){let l=r[s];if(l.normalized?.toLowerCase()==="throw"){i=s;break}let c=l.kind;if(c==="selector"||c==="literal"||c==="reference"||c==="conjunction")break;let p=l.normalized?.toLowerCase();if(p==="then"||p==="me"||p==="it"||p==="you")break}if(i===-1)continue;let a=r[n].position.start,o=r[i].position.end,u=(e.slice(0,a)+e.slice(o)).replace(/\s{2,}/g," ").trim();return u.length===0?{remainingInput:null}:{remainingInput:u}}return {remainingInput:null}}var Io=new Map;function q4(e){if(typeof e!="string")return false;let t=e.toLowerCase(),r=Io.get(t);if(r!==void 0)return r;let n=false;try{let i=V(t,"en").tokens;n=i.length===1&&i[0]?.kind==="keyword";}catch{n=false;}return Io.set(t,n),n}var qi={ja:new Set(["\u3067"]),ko:new Set,tr:new Set(["de","da","te","ta"]),bn:new Set(["\u098F"]),qu:new Set(["pi"]),hi:new Set(["\u092A\u0930"])},V4={ko:[["\uD560","\uB54C"],["\uD560\uB54C"]]};function ci(e,t,r){let n=V4[r];if(!n)return 0;for(let i of n)if(i.every((a,o)=>e[t+o]?.value===a))return i.length;return 0}function H4(e,t){let r=qi[t];if(r===void 0)return false;let{tokens:n}=V(e,t),i=xe[t],a=new Set;if(i)for(let o of Object.keys(i))a.add(o.toLowerCase());for(let o=0;o<n.length;o++){let u=n[o],s=u.value.toLowerCase(),l=u.normalized?.toLowerCase();if(!(!!l&&(oe.has(l)||$e.has(l))||oe.has(s)||$e.has(s)||a.has(s)))continue;let p=dr(n,o+1).len,m=n[o+1+p];if(m&&(m.kind==="particle"||m.kind==="keyword")&&r.has(m.value)||ci(n,o+1+p,t)>0)return true}return false}var K4={ja:{markers:new Set(["\u304B\u3089"]),windowTokens:new Set(["\u30A6\u30A3\u30F3\u30C9\u30A6","\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8","window","document"])},ko:{markers:new Set(["\uC5D0\uC11C"]),windowTokens:new Set(["\uCC3D","\uC708\uB3C4\uC6B0","\uBB38\uC11C","window","document"])},tr:{markers:new Set(["den","dan","ten","tan"]),windowTokens:new Set(["pencere","belge","window","document"])},bn:{markers:new Set(["\u09A5\u09C7\u0995\u09C7","\u09AE\u09A7\u09CD\u09AF\u09C7"]),windowTokens:new Set(["\u0989\u0987\u09A8\u09CD\u09A1\u09CB","\u09A1\u0995\u09C1\u09AE\u09C7\u09A8\u09CD\u099F","window","document"])},qu:{markers:new Set(["manta"]),windowTokens:new Set(["k_iri","ventana","window","document"])},hi:{markers:new Set(["\u0938\u0947"]),windowTokens:new Set(["\u0935\u093F\u0902\u0921\u094B","\u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C","window","document"])}};function $o(e,t){if(!e)return false;let r=e.normalized?.toLowerCase();if(e.kind==="keyword"&&(r==="me"||r==="i"||r==="it"))return true;let n=e.value.toLowerCase();return t.has(n)||!!r&&t.has(r)}var U4={once:"once",debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"};function G4(e,t){let n=V(e,t).tokens;if(n.length===0)return {modifiers:null,remainingInput:null};let i=n[0],a=i.value.toLowerCase(),o=d=>n[d]?.value.toLowerCase(),u=d=>!!n[d]&&n[d].kind!=="selector",s=(i.normalized??a).toLowerCase()==="first";if(a==="on"&&o(1)==="first"&&n.length>2)return {modifiers:{once:true,onceAsFirst:true},remainingInput:e.slice(0,n[1].position.start)+e.slice(n[2].position.start)};if(s&&u(1))return {modifiers:{once:true,onceAsFirst:true},remainingInput:e.slice(n[1].position.start)};if(a==="on"&&o(1)==="every"&&n.length>2)return {modifiers:{every:true},remainingInput:e.slice(0,n[1].position.start)+e.slice(n[2].position.start)};if(a==="every"&&u(1)&&n.length>2)return {modifiers:{every:true},remainingInput:e.slice(n[1].position.start)};let l=U4[a];if(!l)return {modifiers:null,remainingInput:null};let c={},p=1;if(l==="once")c.once=true;else {let d=1;if(d<n.length){let v=n[d],E=n[d+1],w=v.kind==="identifier"&&E?.kind==="literal"&&/^\d+(ms|s|m)?$/.test(E.value);(v.kind==="keyword"||v.kind==="particle"||w)&&(d++,p++);}if(d<n.length){let v=n[d];if(v.kind==="literal"){let E=v.value.match(/^(\d+)(ms|s|m)?$/);if(E){let w=parseInt(E[1],10),g=E[2]||"ms";g==="s"?w*=1e3:g==="m"&&(w*=6e4),c[l]=w,p=d+1;}}}c[l]||(c[l]=l==="debounce"?300:100);}let m=n.slice(p);if(m.length===0)return {modifiers:null,remainingInput:null};let y=m[0].position.start,f=e.slice(y);return {modifiers:c,remainingInput:f}}function Y4(e,t){let r=F(t)?.keywords?.async,n=new Set(["async"]);r?.primary&&n.add(r.primary.toLowerCase()),r?.alternatives?.forEach(s=>n.add(s.toLowerCase()));let i=V(e,t).tokens,a=i.findIndex(s=>n.has(s.value.toLowerCase()));if(a===-1)return {remainingInput:null};let o=i[a],u=(e.slice(0,o.position.start)+e.slice(o.position.end)).replace(/\s{2,}/g," ").trim();return u.length===0?{remainingInput:null}:{remainingInput:u}}function pe(e,t){return {...e,eventModifiers:{...e.eventModifiers,...t}}}function Z4(e,t){let r=[];for(;;){let n=e.mark(),i=e.peek();if(!i)break;if(!pr(i,t)){e.reset(n);break}e.advance();let a=e.peek();if(!a){e.reset(n);break}let o=a.normalized||a.value;e.advance(),r.push({type:"literal",value:o});}return r}function Zs(e,t,r){let n=e.mark(),i=0,a=-1;for(;;){let c=e.peek(i);if(!c||Ue(c.value,t)||Mr(c,t))break;if(gs(c)){let p=e.peek(i+1),m=!!p&&c.position?.end!==void 0&&c.position.end===p.position?.start&&bt(t,"js",`${c.value}${p.value}`.toLowerCase()),y=e.peek(i+(m?2:1));if(i>0&&y&&Mr(y,t)){a=i;break}}i++;}if(a<=0)return null;let o=[];for(let c=0;c<a;c++){let p=e.peek(c);p&&o.push(p);}let u=o[o.length-1];if(u&&ws(u,t)&&o.pop(),o.length===0)return e.reset(n),null;let s=Qs(o,r);for(let c=0;c<a;c++)e.advance();e.advance();let l=e.peek();return l&&!Mr(l,t)&&e.advance(),e.advance(),fe("js",{patient:{type:"expression",raw:s||"()"}},{sourceLanguage:t,patternId:`js-opaque-final-${t}`,confidence:1})}function Vi(e,t,r){let n=e.peek();if(!n||!gs(n))return null;let i=e.mark(),a=[];e.advance();let o=e.peek();o&&n.position?.end!==void 0&&n.position.end===o.position?.start&&bt(t,"js",`${n.value}${o.value}`.toLowerCase())&&e.advance();let u=e.peek();u&&ws(u,t)&&e.advance();let s=false;for(;!e.isAtEnd();){let c=e.peek();if(!c)break;if(e.advance(),Mr(c,t)){s=true;break}a.push(c);}if(!s)return e.reset(i),null;let l=Qs(a,r);return fe("js",{patient:{type:"expression",raw:l||"()"}},{sourceLanguage:t,patternId:`js-opaque-${t}`,confidence:1})}function Qs(e,t){if(e.length===0)return "";let r=e[0].position?.start,n=e[e.length-1].position?.end,i=t;if(i!==void 0&&r!==void 0&&n!==void 0){let o=i.slice(r,n),u=s=>s.replace(/\s+/g,"");if(u(o)===u(e.map(s=>s.value).join("")))return o.trim()}let a="";for(let o=0;o<e.length;o++){let u=e[o-1],s=u?.position?.end!==void 0&&e[o].position?.start===u.position.end;o>0&&!s&&(a+=" "),a+=e[o].value;}return a.trim()}var Xs=["if","unless","repeat","for","while"],En=/^[A-Z][A-Za-z0-9_]*$/;function ue(e,t){let r=new Set([t]),i=F(e)?.keywords?.[t];if(i){i.primary&&r.add(i.primary.toLowerCase());for(let a of i.alternatives??[])r.add(a.toLowerCase());}return t==="def"&&r.add(De(e,"def").toLowerCase()),r}function K(e,t){return t.has(e.value.toLowerCase())?true:e.normalized?t.has(e.normalized.toLowerCase()):false}var Q4=new Set(Xs);function gr(e){return {byAction:Xs.map(t=>[t,ue(e,t)]),elseForms:ue(e,"else"),inForms:ue(e,"in"),tellForms:ue(e,"tell"),language:e,onForms:ue(e,"on"),featureForms:new Set(["def","init","behavior"].flatMap(t=>[...ue(e,t)])),onLeads:F(e)?.wordOrder!=="SOV",startWords:e==="en"?[]:V(De(e,"start"),e).tokens.map(t=>t.value.toLowerCase()),startLast:F(e)?.wordOrder==="SOV"}}function jo(e,t){if(!e)return;let r=e.normalized?.toLowerCase();return r?Q4.has(r)?r:void 0:t.byAction.find(([,n])=>K(e,n))?.[0]}function X4(e,t,r){let n=o=>e[o]?.value.toLowerCase(),i=o=>n(o)==="view"&&n(o+1)==="transition",a=o=>r.startWords.length>0&&r.startWords.every((u,s)=>n(o+s)===u);return n(t)==="start"?i(n(t+1)==="a"?t+2:t+1):r.startLast?i(t)&&a(t+2):a(t)&&i(t+r.startWords.length)}function J4(e,t){if(!e)return false;let r=e.normalized?.toLowerCase();return r?r==="tell":K(e,t.tellForms)}function eh(e,t,r){let n=0;for(let i=t+1;i<e.length;i++){let a=e[i];if(ie(e,i,r.language)){if(n===0)return true;n--;continue}if(n===0&&(K(a,r.featureForms)||r.onLeads&&K(a,r.onForms)&&ft(e[i+1])))return false;Gt(e,i,r)&&n++;}return false}function Gt(e,t,r){if(X4(e,t,r))return true;if(J4(e[t],r))return eh(e,t,r);let n=e[t],i=jo(n,r);if(!i||i==="while")return false;let a=e[t-1];if(i==="for"){if(jo(a,r)==="repeat")return false;if(n.value.toLowerCase()==="for"){let o=e[t+2];return !!o&&(K(o,r.inForms)||o.normalized==="in")}}return !(i==="if"&&a&&K(a,r.elseForms)&&!n.metadata?.lineStart)}var Wo=new Set(["me","it","you","the","body","window","document","its","event","result","target","self","this","them","parent","next","previous","closest","first","last"]),th=new Set(["destination","source","style","patient","on","from","to"]);function ft(e){if(!e||e.kind==="selector"||e.kind==="literal"&&/^\d/.test(e.value))return false;let t=(e.normalized??e.value).toLowerCase(),r=e.value.toLowerCase();return !(Wo.has(t)||Wo.has(r)||th.has(t))}var Js=e=>Object.prototype.hasOwnProperty.call(ke,e),rh=new Set(["toggle","trigger"]);function pi(e){return e.flatMap((t,r)=>{if(t.type==="group")return pi(t.tokens);if(t.type!=="literal")return [];let n=e[r+1];return [{words:[t.value,...t.alternatives??[]].map(i=>i.toLowerCase()),role:n?.type==="role"?n.role:void 0}]})}function nh(e,t,r,n){return e.some((i,a)=>{if(!i.words.includes(t)||!i.role||!n.has(i.role))return false;let o=0;for(let u of r){let s=e.findIndex((l,c)=>c>=o&&c<a&&l.words.includes(u));if(s<0)return false;o=s+1;}return true})}function ih(e,t,r,n,i){let a=e[r].value.toLowerCase();for(let o=r-1;o>t;o--){let u=e[o];if(i(o)||u.value.toLowerCase()===a)return false;let s=(u.normalized??u.value).toLowerCase();if(!Js(s)||s==="on")continue;let l=be(n).filter(p=>p.command===s);if(rh.has(s)){let p=e.slice(o+1,r).map(m=>m.value.toLowerCase());return l.some(m=>pi(m.template.tokens).some(y=>y.words.includes(a)&&!p.some(f=>y.words.includes(f))))}let c=new Set((ke[s]?.roles??[]).filter(p=>p.required).map(p=>p.role));return l.some(p=>{let m=pi(p.template.tokens),y=new Set(m.flatMap(d=>d.words)),f=e.slice(o+1,r).map(d=>d.value.toLowerCase()).filter(d=>y.has(d));return nh(m,a,f,c)})}return false}function Ze(e){let t=new Set;e?.primary&&t.add(e.primary.toLowerCase());for(let r of e?.alternatives??[])t.add(r.toLowerCase());return t}var qo=new Map;function Kr(e){return e.type!=="literal"?[]:[e.value,...e.alternatives??[]].map(t=>t.toLowerCase().split(/\s+/))}function ah(e,t){let r=[[]];for(let n=t+1;n<e.length;n++){let i=e[n];if(i.type==="literal"){if(e[n+1]?.type==="role")break;r=r.flatMap(a=>Kr(i).map(o=>[...a,...o]));}else if(i.type==="group"&&i.optional&&i.tokens.every(a=>a.type==="literal")){let a=i.tokens.reduce((o,u)=>o.flatMap(s=>Kr(u).map(l=>[...s,...l])),[[]]);r=r.flatMap(o=>[o,...a.map(u=>[...o,...u])]);}else break}return r.filter(n=>n.length>0)}function el(e){let t=qo.get(e);if(t)return t;let r=F(e),n=r?.wordOrder==="SOV",i=[],a=new Map,o=new Set;for(let m of be(e)){if(m.command!=="on"||/-event-/i.test(m.id))continue;let y=m.template.tokens,f=y.findIndex(v=>v.type==="role"&&v.role==="event");if(f<0)continue;let d=y[f+1];if(f===1&&d?.type==="literal"&&y[f+2]?.type!=="role"&&i.push([new Set(Kr(y[0]).flat()),new Set(Kr(d).flat())]),!(!n||f>0))for(let v of ah(y,f))v.length>1?a.set(v.join(" "),v):o.add(v[0]);}let u=new Set([...o,...[...a.values()].flat()]),s=Ze(r?.keywords?.when),l=n?new Set([...s].filter(m=>!u.has(m))):new Set([...ue(e,"on"),...s]),c=n?new Set([...Ze(r?.keywords?.on)].filter(m=>o.has(m))):new Set,p={sov:n,leading:l,circumfix:i,trailing:[...a.values()],afterClause:c,patient:Ze(r?.roleMarkers?.patient),source:Ze(r?.roleMarkers?.source),language:e,anchors:[...l,...i.flatMap(([m])=>[...m]),...[...a.values()].map(m=>m[m.length-1]),...c].filter(m=>m.length>0)};return qo.set(e,p),p}function oh(e,t,r){return r.every((n,i)=>e[t+i]?.value.toLowerCase()===n)}function tl(e,t,r,n,i,a,o){let u=e[t],s=u.value.toLowerCase();if(t>r&&ft(e[t+1])&&(K(u,i.leading)&&!(e[t+2]&&K(e[t+2],a))&&!ih(e,r,t,n,o)||i.circumfix.some(([m,y])=>m.has(s)&&sh(e,t,y,i))))return Yn(e,t,r,i,true);let c=uh(e,t-1,r),p=e[c];return c<=r||!ft(p)?null:i.trailing.some(m=>oh(e,t,m))?Yn(e,c,r,i,true):i.afterClause.has(s)&&(p.kind==="keyword"||p.kind==="identifier")&&lh(e,c,i)?Yn(e,c,r,i,false):null}function uh(e,t,r){if(e[t]?.value!==")")return t;let n=o=>/^[\p{L}_$][\p{L}\p{N}_$]*$/u.test(o.value),i=t-1;for(;i>r&&e[i].value!=="(";){if(e[i].value!==","&&!n(e[i]))return t;i--;}let a=e[i-1];return e[i]?.value==="("&&i<t-1&&a!==void 0&&a.position.end===e[i].position.start?i-1:t}function sh(e,t,r,n){let i=o=>e[o]?.value.toLowerCase(),a=o=>r.has(i(o)??"");return a(t+2)||e[t+2]!==void 0&&K(e[t+2],n.source)&&a(t+4)}function Yn(e,t,r,n,i){return n.sov&&t-2>=r&&K(e[t-1],n.source)?t-2===r?null:{at:t-2,certain:i}:{at:t,certain:i}}var rl=.4;function lh(e,t,r){let n=a=>{let o=e[a];if(!o||o.kind!=="keyword")return false;let u=(o.normalized??o.value).toLowerCase();return Js(u)||ie(e,a,r.language)},i=e[t-1];return n(t-1)?true:i!==void 0&&i.kind==="particle"&&!K(i,r.patient)&&n(t-3)}function nl(e,t){let r=[],n=t.position.end,i=e.slice(t.position.end).match(/^\s*\(([^)]*)\)/);if(i){n=t.position.end+i[0].length;for(let a of i[1].split(/[,\u060c\u3001]/)){let o=a.trim();o&&r.push(o);}}return {parameters:r,headerEnd:n}}function wr(e,t,r){let n=t+1;if(n>=e.length)return -1;let i=Ze(F(r)?.roleMarkers?.patient);return i.size>0&&K(e[n],i)&&n++,n<e.length?n:-1}var il=/^[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*$/;function ch(e){let t=1;if(e[1]?.value==="("){let r=0,n=1;for(;n<e.length;n++)if(e[n].value==="(")r++;else if(e[n].value===")"&&--r===0)break;if(n>=e.length)return -1;t=n+1;}return t+1}function ph(e,t,r){let n=F(r);if(n?.wordOrder!=="SOV"||!il.test(e[0].value)||t!==ch(e))return false;let i=Ze(n.roleMarkers?.patient);return i.size===0?false:K(e[t-1],i)}function dh(e,t,r){if(!F(t))return null;let n=ue(t,"behavior"),i=ue(t,"def"),a=e.toLowerCase(),o=[...n].some(p=>a.includes(p)),u=/\bdef\b/.test(a)||[...i].some(p=>p!=="def"&&a.includes(p));if(!o&&!u)return null;let s=V(e,t).tokens;if(s.length<2)return null;if(K(s[0],n))return Ko(e,t,s,r,0);let l=s.findIndex((p,m)=>m>0&&K(p,n));if(l>0&&En.test(s[0].value))return Ko(e,t,s,r,l);if(K(s[0],i))return Uo(e,t,s,r,0);let c=s.findIndex((p,m)=>m>0&&K(p,i));return c>0&&ph(s,c,t)?Uo(e,t,s,r,c):null}function Vo(e,t,r){return al(e,t,r)?.node??null}function al(e,t,r){if(!F(t))return null;let i=el(t),a=ue(t,"then"),o=e.toLowerCase(),u=[...Df(t)].some(k=>o.includes(k)),s=i.anchors.some(k=>o.trimStart().startsWith(k)),l=(()=>{let k=0;for(let x of i.anchors)for(let D=o.indexOf(x);D>=0;D=o.indexOf(x,D+x.length))if(++k>=(s?2:1))return true;return false})();if(!u&&!l)return null;let c=V(e,t).tokens;if(c.length<2)return null;let p=c.slice(0,ll);if(mh.some(k=>p.some(x=>K(x,ue(t,k)))))return null;let m=gr(t),y=k=>Gt(c,k,m),f=k=>ie(c,k,t),d=k=>Ge(c,k,t)||K(c[k],a),v=[],E=false,w=0,g=0;for(let k=0;k<c.length;k++){let x=c[k];if(f(k)){if(w>0){w--;continue}if(c[k+1]&&K(c[k+1],a))continue;let D=e.slice(c[g].position.start,x.position.start).trim();D&&v.push(D),g=k+1;}else if(y(k))w++;else if(w===0){let D=tl(c,k,g,t,i,a,d);if(!D)continue;D.certain||(E=true);let R=e.slice(c[g].position.start,c[D.at].position.start).trim();R&&v.push(R),g=D.at;}}if(g<c.length){let k=e.slice(c[g].position.start).trim();k&&v.push(k);}if(v.length<2)return null;let z=[],S=[];for(let k of v){let x;try{x=r.statement(k,t);}catch{return null}if(!x||!yh(x))return null;if(x.kind==="event-handler"){let D=x;if(!D.body||D.body.length===0)return null}z.push(x),S.push(x.metadata?.confidence??.75);}let h=Wt(S);return {node:Ht(z,"then",{sourceLanguage:t,confidence:E?Math.min(h,rl):h,sourceText:e}),unsure:E}}function ol(e,t){let r=Ho(t,"catch"),n=Ho(t,"finally"),i=e.toLowerCase();if(![...r.words,...n.words].some(d=>i.includes(d)))return null;let a=V(e,t).tokens,o=(d,v)=>!!d&&(d.value.toLowerCase()===v||d.normalized?.toLowerCase()===v),u=(d,v)=>d.runs.find(E=>E.every((w,g)=>o(a[v+g],w)))?.length??0,s=-1,l=0,c=-1,p=0;for(let d=0;d<a.length;d++){let v=s<0&&c<0?u(r,d):0;v>0?/^[A-Za-z_$][\w$]*$/.test(a[d+v]?.value??"")&&(s=d,l=v):c<0&&(p=u(n,d),p>0&&(c=d));}if(s<0&&c<0)return null;let m=d=>d<a.length?a[d].position.start:e.length,y=s>=0?s:c,f={main:e.slice(0,m(y)).trim()};return s>=0&&(f.catchName=a[s+l].value,f.catchText=e.slice(m(s+l+1),c>=0?m(c):e.length).trim()),c>=0&&(f.finallyText=e.slice(m(c+p)).trim()),f}function Ho(e,t){let r=[...ue(e,t)],n=r.map(a=>[a]);for(let a of ts(e,t,o=>V(o,e).tokens.map(u=>u.value)))n.push(a);let i=De(e,t).toLowerCase();return {words:r.includes(i)?r:[...r,i],runs:n}}function ul(e,t,r){let n=i=>i?kr(r.body(i,t)):[];return {...e.catchName!==void 0?{catchName:e.catchName,catchBody:n(e.catchText)}:{},...e.finallyText!==void 0?{finallyBody:n(e.finallyText)}:{}}}var mh=["behavior","eventsource","socket","worker","intercept"],fh=new Set(["bind","set","install","js"]);function yh(e){switch(e.kind){case "event-handler":case "def":case "behavior":case "feature":return true;case "command":return fh.has(e.action);default:return false}}function Wt(e){return e.length>0?e.reduce((t,r)=>t+r,0)/e.length:0}function kr(e){let t=[];for(let r of e){let n=r.statements;r.kind==="compound"&&Array.isArray(n)?t.push(...n):t.push(r);}return t}function sl(e,t){let r=e[t].value,n=t;for(;e[n+1]&&e[n+1].position.start===e[n].position.end&&/^\.[A-Za-z_$][\w$]*$/.test(e[n+1].value);)n++,r+=e[n].value;return {name:r,lastIdx:n}}function Ko(e,t,r,n,i){let a=i>0,o=a?0:wr(r,i,t);if(o<0)return null;let{name:u,lastIdx:s}=sl(r,o);if(!u.split(".").every(L=>En.test(L)))return null;let l=r[s],{parameters:c,headerEnd:p}=nl(e,l),m=a?i+1:r.findIndex(L=>L.position.start>=p);m<=s&&(m=s+1);let y=ue(t,"init"),f=gr(t),d=L=>Gt(r,L,f),v=L=>ie(r,L,t),E=el(t),w=ue(t,"then"),g=L=>Ge(r,L,t)||K(r[L],w),z=L=>{let P=L<r.length?r[L].position.start:e.length,O=e.slice(r[b].position.end,P).trim();if(O)try{let q=kr(n.body(O,t));A.push(...q),k.push(Wt(q.map(W=>W.metadata?.confidence??.75)));}catch{k.push(0);}},S=L=>{let P=al(L,t,n);if(P){P.unsure&&(R=true);for(let O of P.node.statements)O.kind==="event-handler"?(h.push(O),k.push(O.metadata?.confidence??.75)):(k.push(0),x.push(O.metadata?.sourceText??L));return}try{let O=n.statement(L,t);if(O&&O.kind==="event-handler"){let q=O;h.push(q);let W=!q.body||q.body.length===0;k.push(W?.2:q.metadata?.confidence??.75);}else k.push(0),x.push(L);}catch{k.push(0),x.push(L);}},h=[],A=[],k=[],x=[],D=false,R=false,B=ue(t,"behavior"),C=0,b=m;for(let L=m;L<r.length;L++){let P=r[L];if(C===0&&L>m&&K(P,B)){if(b<L){let O=e.slice(r[b].position.start,P.position.start).trim();K(r[b],y)?z(L):O&&S(O);}x.push(e.slice(P.position.start).trim()),D=true,b=r.length;break}if(v(L)){if(C>0){C--;continue}if(L===b){D=true;break}if(K(r[b],y)){z(L),b=L+1;continue}S(e.slice(r[b].position.start,P.position.start).trim()),b=L+1;}else if(d(L))C++;else if(C===0&&K(r[b],y)){let O=tl(r,L,b,t,E,w,g);if(!O)continue;O.certain||(R=true),z(O.at),b=O.at;}}if(!D&&b<r.length&&(K(r[b],y)?z(r.length):S(e.slice(r[b].position.start).trim())),h.length===0&&A.length===0&&x.length===0)return null;let T=(D?1:.8)*Wt(k),N=R?Math.min(T,rl):T,I=Fp(u,c,h,A.length>0?A:void 0,{sourceLanguage:t,confidence:N,sourceText:e});if(x.length===0)return I;let j=x.map(L=>({message:`behavior member left unconsumed (not a handler or init): "${L}"`,severity:"warning",source:"semantic-parser",code:"unconsumed-input"}));return {...I,diagnostics:[...I.diagnostics??[],...j]}}function Uo(e,t,r,n,i){let a=i>0,o=a?0:wr(r,i,t);if(o<0)return null;let{name:u,lastIdx:s}=sl(r,o);if(!il.test(u))return null;let l=r[s],{parameters:c,headerEnd:p}=nl(e,l),m=a?i+1:r.findIndex(R=>R.position.start>=p);m<=s&&(m=s+1);let y=gr(t),f=R=>Gt(r,R,y),d=R=>ie(r,R,t),v=0,E=-1;for(let R=m;R<r.length;R++)if(d(R)){if(v===0){E=R;break}v--;}else f(R)&&v++;let w=r[m]?.position.start??p,g=E>=0?r[E].position.start:e.length,z=e.slice(w,g).trim(),S=ol(z,t),h=S?S.main:z;if(!h)return null;let A,k={};try{A=kr(n.body(h,t)),S&&(k=ul(S,t,n));}catch{return null}if(A.length===0)return null;let x=Wt(A.map(R=>R.metadata?.confidence??.75));E<0&&(x*=.8);let D=Lp(u,c,A,{sourceLanguage:t,confidence:x,sourceText:e});return Object.keys(k).length>0?{...D,...k}:D}var di=["live","init","eventsource","socket","worker","intercept"],vh=new Set(["intercept"]),Hi=new Set(["eventsource","socket","worker"]),hh=new Set(["eventsource","socket"]),Eh=new Set(["worker"]),ll=6,gh=2;function wh(e,t){for(let n of di)if(K(e[0],ue(t,n))){if(n==="init"&&e[1]?.kind==="particle")continue;return {action:n,keywordIdx:0}}if(F(t)?.wordOrder!=="SOV")return null;let r=Math.min(e.length,ll);for(let n=1;n<r;n++)for(let i of di)if(!(i==="live"||i==="init")&&K(e[n],ue(t,i))&&!(Hi.has(i)&&!En.test(e[0].value))&&!(i==="intercept"&&n>gh))return {action:i,keywordIdx:n};return null}function kh(e,t,r){let n=Ze(F(r)?.roleMarkers?.source);return n.size===0||t+1>=e.length?0:K(e[t],n)||K(e[t+1],n)?2:0}function cl(e){let t=ue(e,"on");t.add("when");let r=F(e)?.eventHandler;if(r?.keyword){t.add(r.keyword.primary.toLowerCase());for(let n of r.keyword.alternatives??[])t.add(n.toLowerCase());}for(let n of r?.temporalMarkers??[])t.add(n.toLowerCase());return t}function Ch(e,t,r){let n=F(r)?.eventHandler,i=[n?.eventMarker?.primary,...n?.eventMarker?.alternatives??[],...n?.temporalMarkers??[]].filter(o=>!!o&&/\s/.test(o)),a=1;for(let o of i){let u=o.toLowerCase().split(/\s+/),s=t-u.length+1;s<0||u.every((l,c)=>e[s+c]?.value.toLowerCase()===l)&&(a=Math.max(a,u.length));}return a}function bh(e,t,r,n,i){if(e==="init"&&pl(t,r))return r+2;if(e==="live"||e==="init")return r+1;if(r>0){let l=r+1;return e==="eventsource"&&(l+=kh(t,l,n)),l}let a=wr(t,r,n);if(a<0)return -1;if(e==="worker")return a+1;let o=cl(n),u=Ze(F(n)?.roleMarkers?.event),s=i>=0?i:t.length;for(let l=a+1;l<s;l++){if(!K(t[l],o))continue;if(ft(t[l+1]))return l;if(l>a+2&&u.size>0&&K(t[l-1],u)&&ft(t[l-2]))return l-2;let c=Ch(t,l,n);if(c>1&&l-c>a&&ft(t[l-c]))return l-c;if(l>a+1&&ft(t[l-1]))return l-1}return s}function zh(e,t,r,n){if(!Hi.has(e))return;let i=r>0?0:wr(t,r,n);if(!(i<0))return t[i].value}function Ah(e,t,r){if(!F(t))return null;let n=e.toLowerCase(),i=false;for(let s of [...di,"changes"]){for(let l of ue(t,s))if(l&&n.includes(l)){i=true;break}if(i)break}if(!i)return null;let a=V(e,t).tokens;if(a.length<2)return null;let o=Bh(a,t);if(o>=0)return Lh(e,t,a,r,o);let u=wh(a,t);return u?xh(e,t,a,r,u.action,u.keywordIdx):null}function xh(e,t,r,n,i,a){let o=gr(t),u=h=>Gt(r,h,o),s=h=>ie(r,h,t),l=zh(i,r,a,t);if(Hi.has(i)&&(!l||!En.test(l)))return null;let c=h=>({sourceLanguage:t,confidence:h,sourceText:e}),p=mi(r,a+1,s,u);if(vh.has(i))return p>=0&&p!==r.length-1?null:ri(i,[],l,c(p>=0?1:.8));let m=bh(i,r,a,t,p);if(m<0||m>r.length)return null;let y=[],f=[],d=false,v=Eh.has(i);if(v||hh.has(i)){let h=v?"def":"event-handler",A=0,k=m;for(let x=m;x<r.length;x++){let D=r[x];if(s(x)){if(A>0){A--;continue}if(d=true,x===k)break;let R=v?D.position.end:D.position.start,B=e.slice(r[k].position.start,R).trim();try{let C=n.statement(B,t);if(C&&C.kind===h){let b=C;y.push(b);let T=!b.body||b.body.length===0;f.push(T?.2:b.metadata?.confidence??.75);}else f.push(0);}catch{f.push(0);}k=x+1;}else u(x)&&A++;}}else {let h=mi(r,m,s,u);d=h>=0;let A=h>=0?r[h].position.start:e.length,k=e.slice(r[m].position.start,A).trim();if(!k)return null;try{y.push(...kr(n.body(k,t)));}catch{return null}if(y.length===0)return null;f.push(...y.map(x=>x.metadata?.confidence??.75));}if(y.length===0&&!d)return null;let E=d?1:.8,w=f.length>0?E*Wt(f):E,g=Sh(i,e,r,a,m,t),z=ri(i,y,l,c(w),g?new Map([["source",g]]):void 0);return i!=="init"||!pl(r,a)?z:{...z,immediately:true}}function pl(e,t){return e[t+1]?.value.toLowerCase()==="immediately"}function Sh(e,t,r,n,i,a){if(e!=="eventsource"&&e!=="socket"||n!==0)return;let o=wr(r,n,a);if(o<0)return;let u=o+1,s=Math.min(i,r.length)-1;if(e==="eventsource"){let c=Ze(F(a)?.roleMarkers?.source),p=m=>!!m&&(K(m,c)||(m.normalized??"").toLowerCase()==="source");p(r[u])?u++:p(r[s])&&s--;}if(u>s)return;let l=t.slice(r[u].position.start,r[s].position.end).trim();return l?{type:"expression",raw:l}:void 0}var Dh=new Set([...Object.keys(ke),"then","else"]);function Th(e){let t=ue(e,"when");for(let r of cl(e))t.add(r);return t}function Bh(e,t){if(e.length<3||!K(e[0],Th(t)))return -1;let r=ue(t,"changes"),n=i=>r.has(i.value.toLowerCase())||i.normalized?.toLowerCase()==="changes";for(let i=2;i<e.length;i++){let a=e[i];if(a.kind==="literal")continue;if(n(a))return i;if(ie(e,i,t))return -1;let o=(a.normalized??a.value).toLowerCase();if(a.kind==="keyword"&&Dh.has(o))return -1}return -1}function Fh(e,t,r){if(r==="en"){let i=t[0],a=t[t.length-1];return {type:"expression",raw:e.slice(i.position.start,a.position.end).trim()}}let n=t.map(i=>pr(i,r)?{...i,kind:"keyword",normalized:"or"}:i);return {type:"expression",raw:_e(n,F(r))}}function Lh(e,t,r,n,i){let a=gr(t),o=E=>Gt(r,E,a),u=E=>ie(r,E,t),s=i+1;if(s>=r.length)return null;let l=mi(r,s,u,o),c=l>=0;if(c&&l!==r.length-1)return null;let p=c?r[l].position.start:e.length,m=e.slice(r[s].position.start,p).trim();if(!m)return null;let y;try{y=kr(n.body(m,t));}catch{return null}if(y.length===0)return null;let f=Fh(e,r.slice(1,i),t),v=(c?1:.8)*Wt(y.map(E=>E.metadata?.confidence??.75));return ri("when",y,void 0,{sourceLanguage:t,confidence:v,sourceText:e},new Map([["condition",f]]))}function mi(e,t,r,n){let i=0;for(let a=t;a<e.length;a++)if(r(a)){if(i===0)return a;i--;}else n(a)&&i++;return -1}var Ph={debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"},Oh=[["\u043E\u0434\u0438\u043D","_","\u0440\u0430\u0437"],["\u043E\u0434\u0438\u043D_\u0440\u0430\u0437"],["\u043E\u0434\u043D\u0430\u0436\u0434\u044B"],["m\u1ED9t","l\u1EA7n"],["once"]],Rh=/^(\d+)(ms|s|m)?$/,_h=new Set(["selector","literal","url","event-modifier"]);function Nh(e){let t=e.match(Rh);if(!t)return null;let r=parseInt(t[1],10),n=t[2]||"ms";return n==="s"?r*=1e3:n==="m"&&(r*=6e4),r}function Mh(e){for(let t=1;t<e.length;t++){let r=e[t];if(_h.has(r.kind))continue;let n=r.value.toLowerCase(),i=Ph[n];if(i){let a=0;for(let o=t+1;o<e.length;o++){let u=e[o],s=Nh(u.value);if(s!==null)return {modifiers:{[i]:s},start:r.position.start,end:u.position.end};if(u.kind==="selector"||u.kind==="literal"||u.kind==="url"||++a>2)break}continue}for(let a of Oh){if(a[0]!==n||t+a.length>e.length)continue;let o=true;for(let u=1;u<a.length;u++)if(e[t+u].value.toLowerCase()!==a[u]){o=false;break}if(o)return {modifiers:{once:true},start:r.position.start,end:e[t+a.length-1].position.end}}}return null}var Ki=new Set(["repeat","for",...an]),qt={kind:"loop-close"};function mr(e){return e===qt}function Ih(e){switch(e.type){case "expression":return e.raw;case "literal":return String(e.value);case "reference":return e.value;default:return}}var dl=new Set(["forever","times","for","while","until","until-event"]);function fi(e,t,r=false,n){if(n){let p=n.action==="until"?"until":"while",m=n.roles.get("condition");return no("repeat",p,{loopType:{type:"literal",value:p},...m?{condition:m}:{}},t,{...e.metadata?{metadata:e.metadata}:{},bottomTested:true})}if(t.length===0&&!r)return e;if(an.has(e.action))return {...e,body:t};let i=e.roles.get("loopType");if(i?.type==="literal"&&typeof i.value=="number"){let p=new Map(e.roles);return p.set("quantity",i),p.set("loopType",{type:"literal",value:"times"}),fi({...e,roles:p},t,r)}let a=i?.type==="literal"?String(i.value):void 0,o=e.action==="for"||a==="for"?"for":a==="times"||a==="while"||a==="forever"?a:a==="until"||a==="until-event"?"until":e.roles.has("quantity")?"times":"forever",u=o==="for"?e.roles.get("patient"):void 0;if(u&&u.implicit){u={type:"reference",value:"it"};let p=new Map(e.roles);return p.set("patient",u),fi({...e,roles:p},t,r)}let s=u?Ih(u):void 0,l=new Map(e.roles),c=l.get("quantity");return (o==="while"||o==="until")&&c&&!l.has("condition")&&(l.set("condition",c),l.delete("quantity")),no(e.action==="for"?"for":"repeat",o,Object.fromEntries(l),t,{...s?{loopVariable:s}:{},...e.metadata?{metadata:e.metadata}:{}})}function $h(e,t){for(let r=0;r+1<e.length;r++){let n=e[r],i=e[r+1];if(n.kind!=="command"||n.action!=="while"||i.kind!=="command"||i.action!=="repeat")continue;let a=n.roles.get("condition");if(!a||i.roles.has("condition")||Array.isArray(n.body)||Array.isArray(i.body))continue;let o=new Map(i.roles);o.set("condition",a),o.set("loopType",{type:"literal",value:"while",dataType:"string"}),e.splice(r,2,{...i,roles:o,metadata:{...i.metadata,sourceLanguage:t,patternId:`repeat-${t}-fronted-while-fold`,confidence:Math.max(i.metadata?.confidence??0,n.metadata?.confidence??0)}});}}function Go(e,t,r){if(F(r)?.wordOrder==="SOV"){let a=fl(t,r);if(a<0)return;let o=t[a];return t.length=a,o}let n=e.mark();e.peek()?.kind==="particle"&&e.advance();let i=e.peek();if(i&&ml(i,e.peek(1),r))return e.advance(),e.advance(),i;if(!Ui(i)){e.reset(n);return}return e.advance(),e.peek()?.kind==="identifier"&&e.advance(),i}function Ui(e){let t=e?.kind==="literal"?dn(e):null;return t?.type==="literal"&&typeof t.value=="number"}function ml(e,t,r){return !e||!t||!Si[r]?.includes(t.value)?false:e.kind==="identifier"||Ui(e)}function fl(e,t){let r=Ui,n=e.length;return e[n-1]?.kind==="particle"&&n--,ml(e[n-2],e[n-1],t)?n-2:(e[n-1]?.kind==="identifier"&&r(e[n-2])&&n--,r(e[n-1])?n-1:-1)}function jh(e,t,r){if(F(r)?.wordOrder!=="SOV")return false;if(fl(t,r)>=0)return true;let n=e.captured.get("loopType");return n?.type==="literal"&&typeof n.value!="number"&&!dl.has(String(n.value))}function Wh(e,t,r){if(mr(e)||e.kind!=="command"||e.action!=="until"&&e.action!=="while"||!t||t.bottom||t.body.length===0||t.head.action!=="repeat")return false;let n=t.head.roles.get("loopType");return n&&!(n.type==="literal"&&n.value==="forever")||t.head.roles.has("quantity")?false:r===void 0||mr(r)}function Yo(e,t){let r=e?dn(e):null;return fe("repeat",e&&r?{loopType:te("times"),quantity:Vu(r,{start:e.position.start,end:e.position.end})}:{},{sourceLanguage:t,confidence:.6})}function qh(e){if(e.length>=2){let t=e[0];if((t==='"'||t==="'")&&e.endsWith(t))return e.slice(1,-1)}return e}function Zo(e,t){if(e.length===0)return null;let r=e.filter(o=>o.kind!=="whitespace");if(r.length===0)return null;if(r.length>=2&&(r[0].kind==="selector"||/^[#.@*<]/.test(r[0].value))){let o=r.findIndex((u,s)=>s>0&&(u.normalized??u.value).toLowerCase()==="in");o>0&&(r=r.slice(0,o));}if(r.length===1)return yt(r[0]);let n=Et(r,t);if(ji(n))return {type:"expression",raw:n};let i=r.map(o=>o.value).join(""),a=r[0];return a.kind==="selector"||a.value.startsWith("#")||a.value.startsWith(".")||a.value.startsWith("@")||a.value.startsWith("*")?Oe(i):a.kind==="literal"||a.value.startsWith('"')||a.value.startsWith("'")?te(qh(i),"string"):a.kind==="reference"?Be(i):te(n)}function yt(e){return dn(e)??te(e.value)}function Et(e,t){return _e(e,F(t))}function Gi(e){let t=new Map;for(let[r,n]of Object.entries(e.keywords))if(!["on","if","else","when","where","while","end","then","and"].includes(r)&&(t.set(n.primary.toLowerCase(),r),n.alternatives))for(let i of n.alternatives)t.set(i.toLowerCase(),r);return t}function Vh(e){let t=new Map;for(let[r,n]of Object.entries(e.roleMarkers)){if(!n)continue;if((r!=="event"||!t.has(n.primary))&&t.set(n.primary,r),n.alternatives)for(let a of n.alternatives)t.has(a)||t.set(a,r);}return t}function yi(e,t){let r=F(t);if(!r||r.wordOrder!=="SOV")return [];let n=Gi(r),i=Vh(r),a=[],o=0;for(;o<e.length;){let u=-1,s="";for(let y=o;y<e.length;y++){let f=e[y];if(i.has(f.value))continue;let d=n.get(f.value.toLowerCase()),v=f.normalized?n.get(f.normalized.toLowerCase()):void 0,E=d||v;if(E){u=y,s=E;break}}if(u===-1)break;let l=e.slice(o,u),c=e.length;for(let y=u+1;y<e.length;y++){let f=e[y];if(f.kind==="conjunction"||Ue(f.value,t)){c=y;break}if(y>u+1&&!i.has(f.value)&&(n.get(f.value.toLowerCase())||(f.normalized?n.get(f.normalized.toLowerCase()):void 0))){c=y;break}}let p=e.slice(u+1,c),m=Hh(l,p,i,s,t);if(a.push(fe(s,m,{sourceLanguage:t,confidence:.7})),o=c,o<e.length){let y=e[o];(y.kind==="conjunction"||Ue(y.value,t))&&o++;}}return a}function Hh(e,t,r,n,i){let a={},o=u=>{let s=[];for(let l=0;l<u.length;l++){let c=u[l];if(sy(c,u[l+1],i))continue;let p=r.get(c.value);if(p&&c.kind==="particle"&&s.length>0){let m=Zo(s,i);if(m){let y=Kh(p,n,a);y&&(a[y]=m);}s=[];}else s.push(c);}if(s.length>0)if(s.length===1&&/^\d+(\.\d+)?(ms|s)$/i.test(s[0].value)&&!a.duration&&J(n)?.roles.some(c=>c.role==="duration"))a.duration={type:"literal",value:s[0].value,dataType:"string"};else {let c=Zo(s,i);c&&(a.patient?a.destination||(a.destination=c):a.patient=c);}};return o(e),o(t),a}function Kh(e,t,r){return t==="set"&&(e==="patient"?e="destination":e==="destination"&&(e="patient")),r[e]?e==="patient"&&!r.destination?"destination":e==="destination"&&!r.patient?"patient":e==="source"&&!r.source?"source":null:e}function Qo(e,t){let r=(e.normalized??e.value).toLowerCase();return e.kind==="keyword"&&t.has(r)&&!oe.has(r)&&!$e.has(r)}function Xo(e,t){let r=e.peek();if(!r)return;let n=(r.normalized??"").toLowerCase(),i=F(t)?.keywords?.for;(n==="for"||r.value===i?.primary||(i?.alternatives??[]).includes(r.value))&&e.advance();}function Ur(e,t,r){if(e.length===0)return false;let n=new ee(e,r);return Fe.matchBest(n,t)!==null}function Uh(e,t){if(!t)return false;let r=o=>t.has(o.value.toLowerCase())||!!o.normalized&&t.has(o.normalized.toLowerCase()),n=o=>o.kind==="identifier"||o.kind==="selector"||o.kind==="literal"||o.kind==="reference",i=0,a=0;for(;i+1<e.length;){let o=e[i],u=e[i+1];if(!n(o)||u.kind!=="particle")break;a+=1,i+=2;let s=e[i];if(a>=1&&s&&r(s))return true}return false}var Gh=new Set(["the","to","on","with","into","from","at"]),Jo=/^[A-Za-z_$][\w$]*$/,Yh=64;function eu(e){let t="";for(let r=0;r<e.length;r++){let n=e[r],i=e[r-1];i&&n.position.start>i.position.end&&(t+=" "),t+=n.value;}return t}function Zh(e,t){let r=0;for(let n=t;n<e.length&&n-t<=Yh;n++){let i=e[n].value;if(i==="(")r++;else if(i===")"&&(r--,r===0))return n+1}return -1}function tu(e,t){return t.position.start===e.position.end}function Qh(e,t,r,n){let i=e[t];if(!i||i.kind!=="identifier"&&i.kind!=="keyword"||!Jo.test(i.value)||n(i))return null;let a=t+1,o=i.value;for(;e[a]?.kind==="selector"&&/^\.[A-Za-z_$][\w$]*$/.test(e[a].value)&&tu(e[a-1],e[a]);)o+=e[a].value,a++;let u=a>t+1,s=e[a];if(!s||s.value!=="("||!tu(e[a-1],s))return null;let l=Zh(e,a);if(l<0)return null;let c=o+eu(e.slice(a,l));if(u)return {text:`call ${c}`,consumed:l-t};let p=l,y=e[p]?.value.toLowerCase(),f=null;if(y==="me")f="me",p++;else if(y!==void 0&&Gh.has(y)){p++,e[p]?.value.toLowerCase()==="the"&&p++;let d=e[p];if(!d)return null;let v=Pt(e,p,r);if(v)f=`(${eu(e.slice(p,p+v.consumed))})`,p+=v.consumed;else if(d.kind==="selector"&&d.value.startsWith("#")&&!/[.[:\s]/.test(d.value.slice(1)))f=d.value,p++;else if(d.kind==="selector"&&/^[.<]/.test(d.value))f=`(${d.value})`,p++;else if((d.kind==="keyword"||d.kind==="identifier")&&Jo.test(d.value)&&(He(d.value.toLowerCase())||d.kind==="identifier"))f=d.value,p++;else return null}return {text:f?`call ${f}.${c}`:`call ${c}`,consumed:p-t}}var Xh=new Set(["when","for"]);function Jh(e){return e.normalized||e.kind==="particle"?true:e.kind==="identifier"&&/[^\x00-\x7f]/.test(e.value)}var e3=new Set([...Ki,"if","unless","while","else"]),t3=new Set(["else","otherwise","catch","finally","on"]),r3=new Set(["to","from","into","onto","with","as","at","of","in","on","by","and","or","then","end","else","the","a","an","async"]);function Re(e){let t=e.coverageFrames[e.coverageFrames.length-1];return t?t.length:0}function ve(e,t){let r=e.coverageFrames[e.coverageFrames.length-1];r&&r.length>t&&(r.length=t);}var ru=new Map,n3={hi:["\u0915\u0947","\u0930\u0942\u092A","\u092E\u0947\u0902"],tr:["olarak"],qu:["hina"]};function i3(e){let t=ru.get(e);if(!t){t=new Set;let r=F(e)?.roleMarkers;if(r){for(let n of Object.values(r))if(n){if(n.primary)for(let i of n.primary.toLowerCase().split(/\s+/))t.add(i);for(let i of n.alternatives??[])for(let a of i.toLowerCase().split(/\s+/))t.add(a);}}for(let n of n3[e]??[])t.add(n.toLowerCase());ru.set(e,t);}return t}function yl(e,t,r){let n=e[t];if(n.kind==="particle"||n.kind==="conjunction"||n.metadata?.closesTrackedBlock||Ue(n.value,r)||ie(e,t,r)||Mt(n.value,r))return true;let i=(n.normalized??n.value).toLowerCase();return r3.has(i)?true:i3(r).has(n.value.toLowerCase())}function ot(e,t,r,n){if(t.length===0)return;let i=e.coverageFrames[e.coverageFrames.length-1];if(!i||!t.some((u,s)=>!yl(t,s,r)))return;let a=t.map(u=>u.value).join(" ").trim();if(!a)return;let o=a.length>jr?`${a.slice(0,jr)}\u2026`:a;i.push(X(`${n} left ${t.length} token(s) unconsumed: "${o}"`,"warning","unconsumed-input"));}function Yi(e,t,r,n,i){let a=r[0];if(!t||t.kind!=="command"||!a||e3.has(t.action)||r.every((l,c)=>yl(r,c,i))||i!=="en"&&r.some(l=>Jh(l))||n&&n.position.end===a.position.start&&a.value!==","||r.some((l,c)=>{let p=[l.value.toLowerCase(),(l.normalized??l.value).toLowerCase()];return c===0&&p.some(m=>Xh.has(m))?false:p.some(m=>t3.has(m))||Ue(l.value,i)||ie(r,c,i)||Mt(l.value,i)||l.kind==="keyword"&&p.some(m=>!!J(m))}))return false;let u="";r.forEach((l,c)=>{let p=r[c-1];u+=!p||p.position.end===l.position.start?l.value:` ${l.value}`;});let s=t;return s.verbatimClause=s.verbatimClause?`${s.verbatimClause} ${u}`:u,e.coverageFrames[e.coverageFrames.length-1]?.push(X(`clause kept as written, read by no role: "${u}"`,"warning","verbatim-clause")),true}function vl(e,t){let r=t.action==="repeat"||t.action==="for"?"patient":t.action==="set"?"destination":null;if(!r)return;let n=t.roles.get(r);n?.type==="expression"&&typeof n.raw=="string"&&/^[A-Za-z_]\w*$/.test(n.raw)&&e.boundIdentifiers.add(n.raw);}function Zi(e){if(mr(e)||e.kind!=="command"||!Ki.has(e.action))return false;let t=e.body;return an.has(e.action)?t===void 0:!(Array.isArray(t)&&t.length>0)}function Gr(e){return e.kind!=="keyword"&&e.kind!=="identifier"?false:(e.normalized??e.value).toLowerCase()==="repeat"}function vi(e,t){let r=[],n=[],i=o=>{(n.length>0?n[n.length-1].body:r).push(o);},a=o=>{let u=n.pop();u&&i(fi(u.head,u.body,o,u.bottom));};for(t.forEach((o,u)=>{let s=n[n.length-1];if(mr(o))a(true);else if(Zi(o))n.push({head:o,body:[]});else if(Wh(o,s,t[u+1]))s.bottom=o;else if(e.bottomTestTokens.has(o)){let l=o.metadata?.sourceLanguage??"en";ot(e,e.bottomTestTokens.get(o),l,"body clause");}else i(o);});n.length>0;)a(false);return r}function a3(e,t,r,n){if(F(n)?.wordOrder==="SOV")return false;let i=e.captured.get("loopType");return i?.type==="literal"&&typeof i.value!="number"&&!dl.has(String(i.value))&&Ur([...t],r,n)}function hl(e,t,r,n){let i=t.peek();if(!i||i.kind!=="keyword"&&i.kind!=="particle"||(i.normalized??i.value).toLowerCase()!=="until"&&i.metadata?.role!=="until"&&F(n)?.keywords?.until?.primary!==i.value||r[r.length-1]?.action==="toggle")return null;let o=t.tokens,u=[];for(let c=t.position()+1;c<o.length;c++){let p=o[c],m=je(o,c);if(ie(o,c,n)||Er(p,m,n))break;if(Gr(p))return null;u.push(p);}if(u.length===0)return null;let s=[i,...u];for(let c=0;c<s.length;c++)t.advance();let l=fe("until",{condition:{type:"expression",raw:Et(u,n)}},{sourceLanguage:n});return e.bottomTestTokens.set(l,s),l}var o3=new Set(["elsewhere","in","of","or","queue","having"]),nu=8;function El(e,t,r,n){if(n!=="en")return null;let i=Qh(t.tokens,t.position(),F(n),u=>!!J((u.normalized??u.value).toLowerCase()));if(!i)return null;let a=V(i.text,n),o=Fe.matchBest(a,r.filter(u=>u.command==="call"));if(!o||!a.isAtEnd())return null;for(let u=0;u<i.consumed;u++)t.advance();return gn(e,o,n)}function gn(e,t,r){if(!t)throw new Error("No match to build command from");let n={};for(let[a,o]of t.captured)n[a]=o;let i=fe(t.pattern.command,n,{sourceLanguage:r,patternId:t.pattern.id,confidence:t.confidence});return vl(e,i),i}function iu(e,t,r,n){let i=t.tokens,a=t.position(),o=i[a];if(!o||!(o3.has(o.value.toLowerCase())||/^\d+$/.test(o.value)))return;let s=a+1;for(;s<i.length&&s-a<=nu&&!Ur(i.slice(s),r,n);)s++;if(s>=i.length||s-a>nu)return;let l=i.slice(a,s),c=l.map(m=>m.value).join(" ");if(/^\d/.test(o.value)&&(!/^\d+(?: to \d+)?$/.test(c)||Ur(i.slice(a),r,n)))return;let p={kind:"command",action:"on"};if(Yi(e,p,l,i[a-1],n)){for(;t.position()<s;)t.advance();return p.verbatimClause}}function Qi(e,t,r){return !!t&&Mt(t.value,r)&&!e.metadata?.lineStart}function au(e,t,r){let n=(e.normalized??e.value).toLowerCase();return Le(n,r)?!Qi(e,t,r):It(n,r)?true:n==="repeat"?e.kind==="keyword"||e.kind==="identifier":n!=="for"||e.kind!=="keyword"?false:!(t&&Gr(t))}var hi=new Set(["then","end","else","if","unless","while","for","repeat","and"]),u3=new Set(["first","last","next","previous","random","closest"]);function s3(e,t){let r=t.roles;if(r.has("duration")||!J(t.action)?.roles.some(a=>a.role==="duration"&&!a.required))return;let i=e.peek();!i||!/^\d+(?:\.\d+)?(?:ms|s|m|h)$/.test(i.value)||(r.set("duration",te(i.value,"duration")),e.advance());}function l3(e,t){let r=t.roles;if(t.action!=="go"||r.has("manner"))return;let[n,i,a]=[e.peek(),e.peek(1),e.peek(2)];if(!(n?.value.toLowerCase()!=="in"||i?.value.toLowerCase()!=="new")&&!(!a||(a.normalized??a.value).toLowerCase()!=="window")){r.set("manner",Be("window"));for(let o=0;o<3;o++)e.advance();}}function Xi(e,t,r,n){let i=J(t.action);if(!i)return;let a=F(r);if(!a)return;let o=t.roles,u=(l,c)=>{if(!l)return false;if(l.kind==="selector")return true;let p=(l.normalized??l.value).toLowerCase();return hi.has(p)?false:p==="body"||p==="it"||p==="you"||p==="result"||p==="document"||p==="window"||n.has(l.value)?true:c?false:l.kind==="identifier"||l.kind==="reference"},s=[{role:"source",strict:false},{role:"destination",strict:true}];for(let{role:l,strict:c}of s){if(!i.roles.some(v=>v.role===l))continue;let p=a.roleMarkers?.[l];if(!p)continue;let m=o.get(l);if(m&&!(m.type==="reference"&&m.value==="me"))continue;let y=v=>{if(!v||v.kind!=="particle"&&v.kind!=="keyword")return false;let E=v.value.toLowerCase();return p.primary?.toLowerCase()===E?true:c?false:(v.normalized??"").toLowerCase()===l?true:!!p.alternatives?.some(w=>w.toLowerCase()===E)},f=e.peek(),d=e.peek(1);if(!f||!d)return;if(c&&p.position==="after"){let v=e.peek(2),E=(f.normalized??f.value).toLowerCase();if(u3.has(E)&&d.kind==="selector"&&y(v)){o.set(l,{type:"expression",raw:`${E} ${d.value}`}),e.advance(),e.advance(),e.advance();return}}if(p.position==="after"){if(u(f,c)&&y(d)){let v=yt(f);e.advance(),e.advance(),v&&o.set(l,v);return}if(c&&u(f,c)){let v=e.peek(2),E=e.peek(3);if((d.normalized??d.value).toLowerCase()==="in"&&v&&!y(v)&&y(E)){let w=yt(f);e.advance(),e.advance(),e.advance(),e.advance(),w&&o.set(l,w);return}}}else if(y(f)&&u(d,c)){e.advance();let v=yt(e.advance());v&&o.set(l,v);return}}}function gl(e,t,r){if(t.action!=="fetch"&&t.action!=="render")return;let n=t.roles;if(!J(t.action)?.roles.some(d=>d.role==="style"))return;let a=n.get("style");if(a){if(a.type==="expression"&&typeof a.raw=="string"&&/^[A-Za-z_][\w-]*$/.test(a.raw)&&e.peek()?.value===":"){let d=or(e,a.raw);d&&n.set("style",{type:"expression",raw:d});}Nr(e,t,r);return}if(t.action==="fetch"){let d=n.get("patient"),v=n.get("source");if(d&&v&&(d.type==="literal"||d.type==="expression")&&v.type==="expression"&&typeof v.raw=="string"&&/^[A-Za-z_][\w-]*$/.test(v.raw)&&e.peek()?.value===":"){let E=or(e,v.raw);E&&(n.set("source",{type:"expression",raw:E}),Nr(e,t,r));return}}let u=F(r)?.roleMarkers?.style;if(!u)return;if(u.position==="before"){let d=new Set([u.primary,...u.alternatives??[]].map(g=>g.toLowerCase())),v=e.peek();if(!v||!d.has(v.value.toLowerCase()))return;let E=e.mark();e.advance();let w=or(e);if(!w){e.reset(E);return}n.set("style",{type:"expression",raw:w}),Nr(e,t,r);return}if(u.position!=="after")return;let s=new Set([u.primary,...u.alternatives??[]].map(d=>d.toLowerCase())),l=24,c=-1,p=0;for(let d=0;d<l;d++){let v=e.peek(d);if(!v||Ge(e.tokens,e.position()+d,r))break;if(v.value==="("||v.value==="{"?p++:(v.value===")"||v.value==="}")&&(p=Math.max(0,p-1)),p===0&&(v.kind==="particle"||v.kind==="keyword")&&s.has(v.value.toLowerCase())){c=d;break}}if(c<=0)return;let m=[];for(let d=0;d<c;d++){let v=e.peek(d);v&&m.push(v);}if(m.length===1&&fn.has(m[0].value.toLowerCase()))return;let y=new ee(m,r),f=or(y);n.set("style",{type:"expression",raw:f&&y.isAtEnd()?f:Et(m,r)});for(let d=0;d<=c;d++)e.advance();Nr(e,t,r);}function Nr(e,t,r){let n=t.roles;if(n.has("responseType")||!J(t.action)?.roles.some(l=>l.role==="responseType"&&!l.required))return;let a=l=>!!l&&fn.has(l.toLowerCase()),o=e.peek();if(!o)return;let u=l=>{n.set("responseType",{type:"expression",raw:l});};if(Os[r]?.some(l=>o.value.toLowerCase()===l)){let l=e.peek(1);l&&a(l.value)&&(e.advance(),e.advance(),u(l.value));return}if(a(o.value)){e.advance(),u(o.value);for(let l of cv[r]??[])if(l.every((c,p)=>e.peek(p)?.value.toLowerCase()===c)){for(let c=0;c<l.length;c++)e.advance();break}}}function wl(e,t,r){let n=t.action,i=n==="js"?{role:"patient",terminator:"boundary"}:n==="go"||n==="scroll"?{role:"destination",terminator:"destination-marker"}:null;if(!i)return;let a=t.roles,o=a.get(i.role);if(n==="go"&&o&&o.type==="expression"&&String(o.raw).toLowerCase()==="url"){let d=e.peek();if(d&&!hi.has((d.normalized??d.value).toLowerCase())){let E=yt(d);if(E.type==="literal"||E.type==="selector"){a.set(i.role,E),a.set("method",{type:"literal",value:"url"}),e.advance();return}}let v=a.get("patient");if(v&&(v.type==="literal"||v.type==="selector")){a.set(i.role,v),a.set("method",{type:"literal",value:"url"}),a.delete("patient");return}}if(n==="go"&&o&&o.type==="expression"){let d=/^url\s+(\S+)$/i.exec(String(o.raw??""));if(d){let v=d[1].replace(/^["']|["']$/g,"");a.set(i.role,{type:"literal",value:v,dataType:"string"}),a.set("method",{type:"literal",value:"url"});return}}if(n==="go"&&!o){let d=a.get("patient");if(d&&d.type==="expression"&&String(d.raw).toLowerCase()==="url"){let v=e.peek();if(v&&!hi.has((v.normalized??v.value).toLowerCase())){let E=yt(v);if(E.type==="literal"||E.type==="selector"){a.set(i.role,E),a.set("method",{type:"literal",value:"url"}),a.delete("patient"),e.advance();return}}}}if(o&&!(o.type==="reference"&&o.value==="me"))return;let u=F(r);if(!u)return;let s=null;if(i.terminator==="destination-marker"){let d=u.roleMarkers?.destination;if(!d||d.position!=="after")return;s=d.primary.toLowerCase();}let l=24,c=[],p=0,m=false;for(let d=0;d<l;d++){let v=e.peek(d);if(!v||Ge(e.tokens,e.position()+d,r))break;if(v.value==="("||v.value==="{"?p++:(v.value===")"||v.value==="}")&&(p=Math.max(0,p-1)),s!==null&&p===0&&(v.kind==="particle"||v.kind==="keyword")&&v.value.toLowerCase()===s){m=true;break}c.push(v);}if(c.length===0||s!==null&&!m)return;let y=c.length+(m?1:0);if(n==="go"&&c.length===2&&c[0].value.toLowerCase()==="url"){let d=yt(c[1]);if(d.type==="literal"||d.type==="selector"){a.set(i.role,d),a.set("method",{type:"literal",value:"url"});let v=a.get("patient");v&&v.type==="reference"&&v.value==="me"&&!J(n)?.roles.some(E=>E.role==="patient")&&a.delete("patient");for(let E=0;E<y;E++)e.advance();return}}let f=c;if(n==="js"){let d=u.keywords?.js,v=w=>[d?.primary,...d?.alternatives??[]].some(g=>!!g&&g.length>w.value.length&&g.includes(w.value)),E=0;for(;E<f.length&&v(f[E]);)E++;if(f=f.slice(E),f.length===0)return}if(a.set(i.role,{type:"expression",raw:Et(f,r)}),i.role!=="patient"){let d=a.get("patient");d&&d.type==="reference"&&d.value==="me"&&!J(n)?.roles.some(v=>v.role==="patient")&&a.delete("patient");}for(let d=0;d<y;d++)e.advance();}function Yr(e,t){for(let r=t-1;r>=0;r--)if(e[r].kind!=="particle")return e[r]}function c3(e){let t=n=>!!n&&n.kind==="command"&&n.action==="unless"&&n.roles.has("condition"),r=[...e];for(let n=1;n<r.length;n++)t(r[n])&&!t(r[n-1])&&([r[n-1],r[n]]=[r[n],r[n-1]],n++);return r}function wn(e){let t=0;for(let r of e)Zi(r)?t++:mr(r)&&t>0&&t--;return t}function p3(e,t){let r=t[0]?e.indexOf(t[0]):-1;return r>0?e[r-1]:void 0}function Ie(e,t,r,n){let i=[],a=[],o=0,u=[],s=(c=0)=>{let p=wn(i);o=p+c,u.length=0;for(let m=0;m<p;m++)u.push("loop");for(let m=0;m<c;m++)u.push("while");};for(;!t.isAtEnd();){let c=t.peek();if(!c)break;if(a.length===0){let w=Vi(t,n,e.positionSource)??Zs(t,n,e.positionSource);if(w){i.push(w);continue}let g=Vt(e,t,r,n);if(g){i.push(g);continue}let z=Cl(e,t,r,n);if(z){i.push(...z);continue}}let p=c.kind==="conjunction"||c.kind==="keyword"&&Er(c,je(t.tokens,t.position()),n),m=ie(t.tokens,t.position(),n),y=m&&c.kind==="keyword"&&$t(c,n),f=u,d=f.length>=2&&f[f.length-1]==="while"&&f.slice(0,-1).every(w=>w==="loop");if(m&&(f.every(w=>w==="loop")||d)&&d3(e,t,a,i,r,n)){a.length=0,s();continue}if(y&&o>0){o--,u.pop(),a.push({...c,metadata:{...c.metadata,closesTrackedBlock:true}}),t.advance();continue}if(p&&u.includes("if")){a.push(c),t.advance();continue}if(p){if(a.length>0){let w=nt(e,a,r,n);i.push(...w),a.length=0,s(w.filter(g=>{let z=g;return z.action==="while"&&(!Array.isArray(z.body)||z.body.length===0)}).length);}t.advance();continue}if(y){t.advance();let w=[];for(;!t.isAtEnd();){let g=t.peek();if(!g||Ge(t.tokens,t.position(),n))break;w.push(g),t.advance();}if(w.length>0){let g=Re(e),z=a.length>0?nt(e,a,r,n):[];z.length===0&&a.length>0?(ve(e,g),i.push(...nt(e,[...a,...w],r,n))):(i.push(...z),i.push(...nt(e,w,r,n)));}else if(a.length>0){let g=nt(e,a,r,n);i.push(...g);}a.length=0;break}let v=(c.normalized??c.value).toLowerCase(),E=Gr(c);if(c.kind==="keyword"||E){let w=Le(v,n),g=Yr(a,a.length);(v==="for"||v==="while")&&g&&Gr(g)||w&&Qi(c,g,n)||(E&&u[u.length-1]==="while"?u[u.length-1]="loop":(w||It(v,n)||v==="while"||v==="for"||E)&&(o++,u.push(w?"if":E||v==="for"?"loop":v==="while"?"while":"other")));}a.push(c),t.advance();}if(a.length>0){let c=nt(e,a,r,n);i.push(...c);}t.isAtEnd()||ot(e,t.tokens.slice(t.position()),n,"body stream tail"),$h(i,n);for(let c=i.length-1;c>=0;c--){let p=i[c];p.kind==="command"&&p.action==="for"&&(!(p.roles instanceof Map)||p.roles.size===0)&&(!Array.isArray(p.body)||p.body.length===0)&&i.splice(c,1);}let l=vi(e,i);return l.length>1?[Ht(l,"then",{sourceLanguage:n})]:l}function d3(e,t,r,n,i,a){let o=wn(n);if(r.length===0)return o===0?false:(n.push(qt),t.advance(),true);let u=Re(e),s=nt(e,[...r],i,a);return s.length===0||o+s.filter(Zi).length===0?(ve(e,u),false):(n.push(...s,qt),t.advance(),true)}function nt(e,t,r,n){if(t.length===0)return [];let i=null,a=t,o=t[t.length-1];if(o&&t.length>=2){let E=(o.normalized??o.value).toLowerCase();It(E,n)&&(i="unless",a=t.slice(0,-1));}let u=null;if(i&&a.length>=3){let E=F(n),w=E?Gi(E):null;if(w)for(let g=1;g<a.length-1;g++){let z=a[g],S=w.get(z.value.toLowerCase())??(z.normalized?w.get(z.normalized.toLowerCase()):void 0);if(S&&!kl.has(S)&&J(S)){u=a.slice(0,g),a=a.slice(g);break}}}let s=new ee(a,n),l=[],c=Re(e),p=0,m=[],y=u,f=()=>{if(m.length===0)return;let E=m.slice();m.length=0;let w=()=>Yi(e,l[l.length-1],E,p3(a,E),n);if(i&&l.length===0&&y===null){y=E;return}let g=E[0];if(!(g&&(g.kind==="identifier"||g.kind==="selector"||g.kind==="literal"||g.kind==="reference"))){if(w())return;ot(e,E,n,"body clause");return}let S=false;for(let h of yi(E,n)){let A=h.action,k=h.roles;A&&J(A)&&k instanceof Map&&k.size>0&&(l.push(h),S=true);}S||w()||ot(e,E,n,"body clause");};for(;!s.isAtEnd();){let E=s.peek(),w=!!E&&E.kind==="keyword"&&(E.normalized??E.value).toLowerCase()==="repeat",g=s.mark(),z=s.position(),S=Fe.matchBest(s,r);if(w&&S&&(S.pattern.command!=="repeat"||jh(S,m,n)||a3(S,s.tokens.slice(z+1),r,n))){s.reset(g),s.advance();let h=Go(s,m,n);f(),l.push(Yo(h,n)),p++;continue}if(!S&&E&&Le((E.normalized??E.value).toLowerCase(),n)){let h=Vt(e,s,r,n);if(h){f(),l.push(h),p++;continue}}if(S&&S.pattern.command==="if"){let h=s.mark(),A=m.length;for(s.reset(g);!s.isAtEnd();){let x=s.peek();if(!x||Le((x.normalized??x.value).toLowerCase(),n))break;m.push(x),s.advance();}let k=Vt(e,s,r,n);if(k){f(),l.push(k),p++;continue}m.length=A,s.reset(h);}if(S){f();let h=gn(e,S,n);l.push(h),p++,Xi(s,h,n,e.boundIdentifiers),gl(s,h,n),wl(s,h,n),s3(s,h);}else {let h=m.length===0?El(e,s,r,n):null;if(h){f(),l.push(h),p++;continue}let A=m.length===0?hl(e,s,l,n):null;if(A){l.push(A),p++;continue}let k=s.peek(),x=k?.kind==="identifier"&&k.value.toLowerCase()==="repeat";if(k&&(k.normalized?.toLowerCase()==="repeat"||x)){let D=s.mark();s.advance();let R=Go(s,m,n);if(R||!x){f(),l.push(Yo(R,n)),p++;continue}s.reset(D);}k&&m.push(k),s.advance();}}f();let d=l;if(p===0){let E=yi(a,n).filter(w=>!i||!!J(w.action));E.length>0&&(ve(e,c),d=E);}let v=y;return i&&d.length>0&&v&&v.length>0?[fe(i,{condition:{type:"expression",raw:Et(v,n)}},{sourceLanguage:n,patternId:`${i}-${n}-trailing-guard`,confidence:.85}),...d]:i&&v&&v.length>0&&d.length===0?[fe(i,{condition:{type:"expression",raw:Et(v,n)}},{sourceLanguage:n,patternId:`${i}-${n}-trailing-guard`,confidence:.85})]:c3(d)}function m3(e,t,r,n,i,a=[]){let o=[],u=()=>wn([...a,...o]),s=[],l=false,c=true,p=()=>{let d=s,v=t.tokens,E=v.indexOf(d[0]);if(E<0||E+d.length!==t.position()||d.some((g,z)=>v[E+z]!==g))return false;let w=l?o[o.length-1]:c?a[a.length-1]:void 0;return Yi(e,w,d,v[E-1],i)},m=()=>{if(!l&&s.length>0){let d=yi(s,i);o.push(...d),d.length===0&&!p()&&ot(e,s,i,"fused body walk");}else s.length>0&&!p()&&ot(e,s,i,"fused body walk");s=[],l=false,c=false;},y=0,f=()=>o.filter(d=>{let v=d;return v.action==="while"&&(!Array.isArray(v.body)||v.body.length===0)}).length-y;for(;!t.isAtEnd();){let d=t.peek();if(d&&Ue(d.value,i)){m(),t.advance();continue}if(d&&u()>0&&!$t(d,i)&&ie(t.tokens,t.position(),i)){m(),o.push(qt),t.advance();continue}if(d&&$t(d,i)){let w=je(t.tokens,t.position());if(!Cs(d,w,i)){if(m(),u()>0){o.push(qt),t.advance();continue}if(f()>0){y++,t.advance();continue}t.advance();break}}if(d&&!l&&s.length===0){let w=Vi(t,i,e.positionSource)??Zs(t,i,e.positionSource);if(w){o.push(w),l=true;continue}}if(d&&!l&&Le((d.normalized??d.value).toLowerCase(),i)){m();let w=Vt(e,t,r,i);if(w){o.push(w),l=true;continue}}let v=s.length===0?hl(e,t,o,i):null;if(v){o.push(v),l=true;continue}let E=false;if(n.length>0){let w=Fe.matchBest(t,n);if(w){let g=w.pattern.command,z={};for(let[A,k]of w.captured)A!=="event"&&A!=="action"&&A!=="continues"&&(z[A]=k);let S=fe(g,z,{sourceLanguage:i,patternId:w.pattern.id});o.push(S),E=true,l=true;let h=w.captured.get("continues");if(h&&h.type==="literal"&&h.value==="then")continue}}if(!E){let w=t.mark(),g=Fe.matchBest(t,r);if(g){if(g.pattern.command==="if"){let S=t.mark();for(t.reset(w);!t.isAtEnd();){let A=t.peek();if(!A||Le((A.normalized??A.value).toLowerCase(),i))break;t.advance();}let h=Vt(e,t,r,i);if(h){m(),o.push(h),l=true;continue}t.reset(S);}let z=gn(e,g,i);o.push(z),Xi(t,z,i,e.boundIdentifiers),E=true,l=true;}}E||(d&&s.push(d),t.advance());}m(),t.isAtEnd()||ot(e,t.tokens.slice(t.position()),i,"fused body walk");for(let d=o.length-1;d>=0;d--){let v=o[d];v.kind==="command"&&v.action==="for"&&(!(v.roles instanceof Map)||v.roles.size===0)&&(!Array.isArray(v.body)||v.body.length===0)&&o.splice(d,1);}return o}var kl=new Set(["matches","match","contains","exists","has","have","equals","includes"]);function Cl(e,t,r,n){let i=t.peek();if(!i||!It((i.normalized??i.value).toLowerCase(),n))return null;let a=t.mark(),o=Vt(e,t,r,n,true);if(!o||o.kind!=="conditional")return t.reset(a),null;let u=o;if(u.elseBranch&&u.elseBranch.length>0)return t.reset(a),null;let s=u.roles.get("condition");return s?[fe("unless",{condition:s},{sourceLanguage:n,patternId:`unless-${n}-guard`,confidence:1}),...u.thenBranch]:(t.reset(a),null)}function Vt(e,t,r,n,i=false){let a=t.peek();if(!a)return null;let o=(a.normalized??a.value).toLowerCase();if(!Le(o,n)&&!(i&&It(o,n)))return null;let u=t.mark(),s=Re(e);t.advance();let l=t.tokens,c=t.position(),p=[],m=0,y=false;for(;!t.isAtEnd();){let B=t.peek();if(!B)break;if(p.length>0&&au(B,Yr(p,p.length),n)){m++,p.push(B),t.advance();continue}if(ie(t.tokens,t.position(),n)){if(m===0){t.advance(),y=true;break}m--,p.push(B),t.advance();continue}p.push(B),t.advance();}if(p.length===0)return t.reset(u),ve(e,s),null;let f=F(n),d=f?.wordOrder==="SOV"?Gi(f):null,v=0,E=0,w=[],g=false;for(;v<p.length;v++){let B=p[v],C=(B.normalized??B.value).toLowerCase();if(v>0&&(Le(C,n)||It(C,n))?E++:ie(l,c+v,n)&&E--,E===0&&Er(B,je(l,c+v),n)){g=true,v++;break}if(E===0&&w.length>0&&Mt(B.value,n))break;if(E===0&&w.length>0){let b=(B.normalized??B.value).toLowerCase(),T=zy(p[v-1],B,w.length===1,n),N=d!==null&&d.has(B.value.toLowerCase())&&!xs.has(b),I=/^\.[a-zA-Z_]\w*$/.test(B.value)&&p[v-1].position?.end!==void 0&&B.position?.start!==void 0&&p[v-1].position.end===B.position.start;if(!kl.has(b)&&!I&&(!T||N)&&(Ur(p.slice(v),r,n)||Uh(p.slice(v),d)))break}w.push(B);}if(w.length===0)return t.reset(u),ve(e,s),null;let z=[],S=[],h=false,A=0;for(;v<p.length;v++){let B=p[v];if(au(B,Yr(p,v),n)?A++:ie(l,c+v,n)&&A--,A===0&&!h&&Mt(B.value,n)){h=true;continue}(h?S:z).push(B);}let k={type:"expression",raw:Et(w,n)},x=ou(e,z,r,n),D=S.length>0?ou(e,S,r,n):void 0,R=y&&g&&z.length===0&&S.length===0;return x.length===0&&(!D||D.length===0)&&!R?(t.reset(u),ve(e,s),null):Pp(k,x,D,{sourceLanguage:n,patternId:`conditional-${n}-folded`,confidence:1})}function ou(e,t,r,n){if(t.length===0)return [];let i=new ee(t,n),a=Ie(e,i,r,n);return a.length===1&&a[0]?.kind==="compound"?a[0].statements:a}function uu(e){return !!e&&(e.kind==="loop"||on(e))}var f3=/^[\p{L}_$][\p{L}\p{N}_$:.\-]*$/u;function bl(e,t,r){let n=r.filter(a=>a.command==="for"||a.command==="repeat");return n.length===0?0:Fe.matchBest(new ee([...e],t),n)?.consumedTokens??0}function y3(e,t,r,n){let i=Re(e),a;try{let u=new ee(t.tokens,n);a=Ie(e,u,r,n);}catch{return ve(e,i),null}let[o]=a;if(a.length===1&&uu(o))return o;if(a.length===1&&o.kind==="compound"){let u=o;if(uu(u.statements[0])){let s=u.statements.map(l=>l.metadata?.confidence??.75);return Ht(u.statements,u.chainType,{sourceLanguage:n,confidence:s.reduce((l,c)=>l+c,0)/s.length})}}return ve(e,i),null}function v3(e,t,r,n){let i=Re(e),a;try{let l=new ee(t.tokens,n);a=Ie(e,l,r,n);}catch{return ve(e,i),null}if(a.length!==1||a[0].kind!=="compound")return ve(e,i),null;let o=a[0];if(o.statements.length<2)return ve(e,i),null;let u=o.statements.map(l=>l.metadata?.confidence??.75),s=u.reduce((l,c)=>l+c,0)/u.length;return Ht(o.statements,o.chainType,{sourceLanguage:n,confidence:s})}function su(e,t,r,n,i=false){let a=t.tokens,o=a.some(p=>p.kind==="conjunction"||p.kind==="keyword"&&Ue(p.value,n)),u=a.some(p=>Mt(p.value,n));if(!i&&!o&&!u)return null;let s=new ee(a,n),l=Re(e),c=Ie(e,s,r,n);return c.length===0?(ve(e,l),null):c[0]}function h3(e,t,r,n){let i=V(t,r).tokens;if(i.length<3)return null;let a=xe[r],o=new Set;if(a)for(let z of Object.keys(a))o.add(z.toLowerCase());let u=i.length-2,s=i[u];if(!(s.kind==="keyword"&&s.normalized?.toLowerCase()==="on"))return null;let c=i[i.length-1],p=c.value.toLowerCase(),m=c.normalized?.toLowerCase();if(!(!!m&&oe.has(m)||oe.has(p)||o.has(p)))return null;let f=m&&oe.has(m)?m:a?.[p]??p,d=i.slice(0,u);if(d.length===0)return null;let v=n.filter(z=>z.command!=="on"),E=new ee(d,r),w=Re(e),g=Ie(e,E,v,r);return g.length===0?(ve(e,w),null):sr({type:"literal",value:f},g,void 0,{sourceLanguage:r,confidence:.75})}function Zn(e,t,r,n){let i=V(t,r).tokens;if(i.length<3)return null;let a=xe[r],o=new Set;if(a)for(let u of Object.keys(a))o.add(u.toLowerCase());for(let u=0;u<i.length-1;u++){let s=i[u];if(!(s.kind==="keyword"&&s.normalized?.toLowerCase()==="on"))continue;let c=i[u+1],p=c.value.toLowerCase(),m=c.normalized?.toLowerCase();if(!(!!m&&oe.has(m)||oe.has(p)||o.has(p)))continue;let f=m&&oe.has(m)?m:a?.[p]??p,d=i.filter((z,S)=>S!==u&&S!==u+1);if(d.length===0)return null;let v=n.filter(z=>z.command!=="on"),E=new ee(d,r),w=Re(e),g=Ie(e,E,v,r);return g.length===0?(ve(e,w),null):sr({type:"literal",value:f},g,void 0,{sourceLanguage:r,confidence:.75})}return null}function ir(e,t,r,n){let i=qi[r];if(!i)return null;let o=V(t,r).tokens;if(Le(o[0]?.value??"",r))return null;let u=xe[r],s=new Set;if(u)for(let h of Object.keys(u))s.add(h.toLowerCase());let l=K4[r],c=-1,p="",m="",y=1,f=[];for(let h=0;h<o.length;h++){let A=o[h],k=A.value.toLowerCase(),x=k,D="",R=k.indexOf("[");R>0&&(x=k.slice(0,R),D=A.value.slice(R));let B=A.normalized?.toLowerCase(),C=B&&(oe.has(B)||$e.has(B)),b=s.has(k)||s.has(x),T=oe.has(x)||$e.has(x);if(C||b||T){let N=o[h-1];if(N&&(N.normalized??N.value).toLowerCase()==="event")continue;let I;C?I=B:b?I=u?.[k]??u?.[x]??x:I=x;let j=dr(o,h+1);if(i.size>0){let L=1+j.len,P=o[h+L];P&&P.kind==="selector"&&P.value.startsWith("[")&&(L+=1);let O=o[h+L];if(O&&(O.kind==="particle"||O.kind==="keyword")&&i.has(O.value)){c=h,p=I,m=D||(L===j.len+2?o[h+L-1].value:""),y=L+1,f=j.names;break}}else {c=h,p=I,m=D,y=1+j.len+ci(o,h+1+j.len,r),f=j.names;break}}}if(c===-1){let h=new Set(n.filter(k=>k.command!=="on").map(k=>k.command)),A=bl(o,r,n);for(let k=A;k<o.length;k++){let x=o[k];if(x.kind==="identifier"&&!x.value.startsWith("`")&&f3.test(x.value))if(i.size>0){let D=1,R=o[k+1];R&&R.kind==="selector"&&R.value.startsWith("[")&&(D=2);let B=o[k+D];if(B&&(B.kind==="particle"||B.kind==="keyword")&&i.has(B.value)&&!xi(r,o[k+D+1]?.value??"",B.value,o[k+D+2]?.value)){c=k,p=x.value,m=D===2?o[k+1].value:"",y=D+1;break}}else {let D=ci(o,k+1,r);if(D>0){c=k,p=x.value,m="",y=1+D;break}let R=o[k+1];if(R&&R.kind==="keyword"&&R.normalized!=null&&h.has(R.normalized)){c=k,p=x.value,m="",y=1;break}}}}if(c===-1)return null;let d=new Set;for(let h=c;h<c+y;h++)d.add(h);if(l){let h=c+y;if(h<o.length){let A=o[h];if((A.kind==="particle"||A.kind==="keyword")&&l.markers.has(A.value))d.add(h);else if($o(A,l.windowTokens)){let k=o[h+1];k&&(k.kind==="particle"||k.kind==="keyword")&&l.markers.has(k.value)&&(d.add(h),d.add(h+1));}}if(c>=2){let A=o[c-1];(A.kind==="particle"||A.kind==="keyword")&&l.markers.has(A.value)&&$o(o[c-2],l.windowTokens)&&(d.add(c-2),d.add(c-1));}for(let A=0;A<c;A++){let k=o[A],x=k.value.toLowerCase(),D=k.normalized?.toLowerCase();if(l.windowTokens.has(x)||D&&l.windowTokens.has(D)){d.add(A);break}}}let v=o.filter((h,A)=>!d.has(A));if(v.length===0)return null;let E=n.filter(h=>h.command!=="on"),w=new ee(v,r),g=Re(e),z=Ie(e,w,E,r);if(z.length===0)return ve(e,g),null;let S={sourceLanguage:r,confidence:.75};return m&&(S.keyFilter=m),sr(q4(p)?{type:"literal",value:p}:{type:"expression",raw:p},z,void 0,S,f)}var mt=new Set(["if","unless","while","repeat","for"]);function E3(e,t){let r=n=>{let{position:i,...a}=n;return JSON.stringify(a)};return e.type===t.type&&r(e)===r(t)}var lu=/^repeat-.*-(times|for-in|while-head|until-head|until-condition-head)$/;function g3(e,t,r,n){if(!t)throw new Error("No match to build event handler from");let i=t.captured.get("event");if(!i)throw new Error("Event handler pattern matched but no event captured");{let h=i.type==="expression"?i.raw:i.type==="literal"?i.value:void 0;if(typeof h=="string"&&/^[^\s()[\]{}:]+$/.test(h)){let A=xe[n]?.[h];A?i={type:"literal",value:A,dataType:"string"}:i.type==="expression"&&oe.has(h.toLowerCase())&&(i={type:"literal",value:h.toLowerCase(),dataType:"string"});}}let a=Fe.extractEventModifiers(r),o=h=>!(h.type==="reference"&&h.value==="me")&&h.implicit!==true,u=t.captured.get("source"),s=t.pattern.command==="on"&&/^(on|event)-/.test(t.pattern.id),l=false;u&&(t.pattern.id.endsWith("source")||s)&&o(u)&&(a={...a??{},from:u},l=true);let c;if(t.eventSource&&!l){let h=t.captured.get("action"),A=h?.type==="literal"?J(String(h.value)):void 0;F(n)?.roleMarkers?.source?.position==="after"&&A?.roles.some(x=>x.role==="source")&&!t.captured.has("source")?c=t.eventSource:o(t.eventSource)&&(a={...a??{},from:t.eventSource});}let p=t.captured.get("event")?.position,m=r.tokens[r.position()-1],f=p!==void 0&&m!==void 0&&m.position.end>p.end?[]:Z4(r,n),d=i,v=h=>f.length>0?{...h,additionalEvents:f}:h,E,w,g=t.captured.get("action");if(g&&g.type==="literal"&&g.value==="if"){let h=r.tokens,A=-1;for(let k=r.position()-1;k>=0;k--){let x=h[k],D=(x.normalized??x.value).toLowerCase();if(Le(D,n)){A=k;break}}for(;A>0;){let k=h[A-1];if(!Le((k.normalized??k.value).toLowerCase(),n))break;A--;}if(A>=0){let k=be(n).filter(b=>b.command!=="on").sort((b,T)=>T.priority-b.priority),x=h.slice(A);if(t.pattern.id.endsWith("vso-verb-first")&&d.type==="literal"){let b=String(d.value??"").split("[")[0].trim().toLowerCase(),T=x.findIndex((N,I)=>{if(I===0||b==="")return false;let j=(N.normalized??N.value).toLowerCase(),L=x[I-1];return j===b&&L.kind==="keyword"&&(L.normalized??"").toLowerCase()==="on"});if(T>0){let N=x[T+1],I=N&&N.kind==="selector"&&N.value.startsWith("[")?1:0;x=[...x.slice(0,T-1),...x.slice(T+1+I)];}}let D=new ee(x,n),R=Re(e),B=Ie(e,D,k,n);if(B.some(b=>b.kind==="conditional")||B.length===1&&B[0]?.kind==="compound"&&B[0].statements.some(b=>b.kind==="conditional")){for(;!r.isAtEnd();)r.advance();return v(sr(d,B,a,{sourceLanguage:n,patternId:t.pattern.id,confidence:t.confidence}))}ve(e,R);}}if(g&&g.type==="literal"&&String(g.value)!=="js"&&J(String(g.value))!==void 0){let h=g.value,A={};for(let[P,O]of t.captured)if(P!=="event"&&P!=="action"&&P!=="continues"){if(P==="source"&&l)continue;A[P]=O;}if(c&&(A.source=c),h==="repeat"){let P=r.peek(),O=W=>(W.normalized??W.value).toLowerCase();if(P&&P.kind==="keyword"&&O(P)==="forever")A.loopType={type:"literal",value:"forever"},delete A.patient,r.advance();else if(P&&P.kind==="keyword"&&O(P)==="event"){r.advance();let W=r.peek();if(W)for(A.event={type:"literal",value:O(W)},A.loopType={type:"literal",value:"until-event"},delete A.patient;!r.isAtEnd()&&!(!r.peek()||Ge(r.tokens,r.position(),n));)r.advance();}let q=A.patient;q&&q.type==="reference"&&q.value==="me"&&delete A.patient;}let k=fe(h,A,{sourceLanguage:n,patternId:t.pattern.id,confidence:t.confidence});vl(e,k);let x=[];if(!mt.has(h)||h==="repeat"||h==="while"){let P=t.pattern.id.includes("verb-first"),O=r.tokens,q=r.position(),W=_=>{let Y=O[_];if(Y.kind==="conjunction")return true;if(Y.kind!=="keyword")return false;let se=je(O,_);return Er(Y,se,n)||$t(Y,n)&&ie(O,_,n)},re=h==="repeat"||h==="while",me=_=>W(_)||re&&ie(O,_,n),ze=new Set;{let _=F(n)?.keywords?.[h];_?.primary&&ze.add(_.primary.toLowerCase());for(let Y of _?.alternatives??[])ze.add(Y.toLowerCase());}let H=-1;for(let _=q-1;_>=0;_--){let Y=O[_];if(W(_))break;if((Y.normalized??Y.value).toLowerCase()===h||ze.has(Y.value.toLowerCase())){H=_;break}}if(H>=0){let _=q,Y=0;for(;_<O.length;){let ne=O[_],Ce=Yr(O,_);if(re&&Le((ne.normalized??ne.value).toLowerCase(),n)&&!Qi(ne,Ce,n))Y++;else if(Y>0)ie(O,_,n)&&Y--;else if(me(_))break;_++;}let se=O.slice(H,_),ye=se;if(P){let ne=String(i.value??"").toLowerCase(),Ce=se.findIndex(ge=>(ge.normalized??ge.value).toLowerCase()===ne);if(Ce<0)ye=null;else {let ge=se[Ce-1],we=ge&&ge.kind==="keyword"&&ge.normalized?.toLowerCase()==="on"?Ce-1:Ce;ye=[...se.slice(0,we),...se.slice(Ce+1)];}}if(ye&&ye.length>1){let ne=be(n).filter(U=>U.command!=="on").sort((U,ae)=>ae.priority-U.priority),Ce=Re(e),ge=nt(e,ye,ne,n),we=ge[0],zt=U=>U!==null&&typeof U=="object"&&typeof U.type=="string"?U.type:typeof U,At=J(h),xt=At?.primaryRole,sa=U=>U==="patient"&&xt&&xt!=="patient"&&!At?.roles.some(ae=>ae.role==="patient")?xt:U,Hl=(U,ae)=>{if(!mt.has(h)||!At)return false;let et=At.roles.find(tt=>tt.role===sa(U));return et?et.expectedTypes.length>0&&!et.expectedTypes.includes(zt(ae)):true},An=(U,ae)=>U==="patient"&&!!At&&!At.roles.some(et=>et.role==="patient")&&zt(ae)==="literal"&&fr.has(String(ae.value??"").toLowerCase()),xn=U=>U!==null&&typeof U=="object"&&U.implicit===true,Kl=!!we&&we.kind==="command"&&Object.entries(A).every(([U,ae])=>{if(xn(ae)||Hl(U,ae)||An(U,ae))return true;let et=we.roles.get(sa(U));if(et!==void 0&&zt(et)===zt(ae))return true;if(U==="patient"&&xt&&xt!=="patient"){let tt=we.roles.get(xt);if(tt!==void 0&&E3(tt,ae))return true}if(U==="patient"&&h==="pick"&&zt(ae)==="literal"){let tt=we.roles.get("method"),pa=zt(tt),da=pa==="literal"?String(tt.value):pa==="expression"?String(tt.raw):void 0;return da!==void 0&&da===String(ae.value)}return false}),la=we?.metadata?.patternId??"",Ul=!mt.has(h)||lu.test(la),ca=lu.test(la);if((ge.length===1||ca&&ge.length>1)&&we&&we.kind==="command"&&(we.action===h||h==="while"&&we.action==="repeat"&&/-while-head$/.test(we.metadata?.patternId??""))&&Kl&&Ul&&(we.roles.size>Object.entries(A).filter(([U,ae])=>!An(U,ae)).length||[...we.roles.values()].filter(U=>!xn(U)).length>Object.entries(A).filter(([U,ae])=>!An(U,ae)&&!xn(ae)).length||ca&&ge.length>1))for(k=we,x=ge.slice(1);r.position()<_;)r.advance();else ve(e,Ce);}}}if(!mt.has(h)){let P=k;if(J(h)?.roles.some(H=>H.role==="quantity"&&!H.required)&&!P.roles.has("quantity")){let H=r.peek();H&&/^-?\d+(\.\d+)?$/.test(H.value)&&(k=fe(h,{...Object.fromEntries(P.roles),quantity:{type:"literal",value:parseFloat(H.value),dataType:"number"}},P.metadata),r.advance());}let q=k;if(J(h)?.roles.some(H=>H.role==="duration"&&!H.required)&&!q.roles.has("duration")){let H=/^\d+(\.\d+)?(ms|s)$/i,_=r.peek(),Y=false;if(_&&_.kind==="particle"){let se=r.peek(1);se&&H.test(se.value)&&(Y=true,_=se);}_&&H.test(_.value)&&(k=fe(h,{...Object.fromEntries(q.roles),duration:{type:"literal",value:_.value,dataType:"string"}},q.metadata),Y&&r.advance(),r.advance(),Xo(r,n));}let re=k,me=J(h);if(me?.roles.find(H=>H.role==="responseType"&&!H.required)&&!re.roles.has("responseType")){let H=ne=>typeof ne=="string"&&fn.has(ne.toLowerCase()),_=(ne,Ce)=>{let ge=Object.fromEntries(re.roles);Ce&&delete ge.destination,ge.responseType={type:"expression",raw:ne},k=fe(h,ge,re.metadata);},Y=re.roles.get("destination"),se=me?.roles.find(ne=>ne.role==="destination"),ye=Y?.raw??Y?.value;if(Y&&se&&!se.expectedTypes.includes(Y.type)&&H(ye))_(ye,true);else {let ne=r.peek();ne&&H(ne.value)&&(_(ne.value,false),r.advance());}}if(h==="wait"){let H=k;if(!H.roles.has("event")){let _=r.peek(),Y=r.peek(-1),se=!!_&&!!Y&&(Y.normalized??"").toLowerCase()==="event";if(_&&($e.has(_.value.toLowerCase())||se)){let ye=Object.fromEntries(H.roles),ne=ye.duration;ne&&ne.type!=="literal"&&ne.type!=="expression"&&delete ye.duration;let Ce=ye.patient;Ce&&Ce.type==="reference"&&Ce.value==="me"&&delete ye.patient,ye.event={type:"literal",value:_.value,dataType:"string"},k=fe(h,ye,H.metadata),r.advance(),Xo(r,n);}}}Xi(r,k,n,e.boundIdentifiers),gl(r,k,n),wl(r,k,n),l3(r,k);}let D=t.captured.get("continues"),R=D?.type==="literal"&&D.value==="then",B=r.peek(),C=!!B&&Ue(B.value,n),b=mt.has(h),T=!!B&&B.kind==="keyword"&&$t(B,n)&&ie(r.tokens,r.position(),n),N=b&&!!B&&!T,I=!!B&&!T,j=[k,...x],L=!!B&&ie(r.tokens,r.position(),n)&&wn(j)>0&&r.peek(1)!==null;if(L&&(r.advance(),j.push(qt)),R||C||N||I||L){let P=be(n).filter(W=>W.command!=="on").sort((W,re)=>re.priority-W.priority),O=be(n).filter(W=>W.id.startsWith("grammar-")&&W.id.includes("-continuation")).sort((W,re)=>re.priority-W.priority),q=m3(e,r,P,O,n,j);E=vi(e,[...j,...q]);}else E=vi(e,j),r.isAtEnd()||ot(e,r.tokens.slice(r.position()),n,"handler body tail");}else {let h=be(n).filter(k=>k.command!=="on").sort((k,x)=>x.priority-k.priority),A=g?t.roleStarts?.get("action"):void 0;if(A!==void 0&&A<r.position()){let k=new ee(r.tokens.slice(A),n);for(w=iu(e,k,h,n),E=Ie(e,k,h,n);!r.isAtEnd();)r.advance();}else w=iu(e,r,h,n),E=Ie(e,r,h,n);}let z=E.length>1?[Ht(E,"then",{sourceLanguage:n})]:E,S=v(sr(d,z,a,{sourceLanguage:n,patternId:t.pattern.id,confidence:t.confidence}));return w?{...S,headClause:w}:S}var cu=new Map;function pu(e){let t=cu.get(e);return t||(t=new Set(be(e).map(r=>r.command).filter(r=>r!=="on")),cu.set(e,t)),t}function w3(e,t,r){let n=Vo(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(n)return n;let i=k3(e,t,r);if(i)return i;let a=dh(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(a)return a;let o=Ah(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(o)return o;let u=Vo(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(u)return u;let{modifiers:s,remainingInput:l}=G4(t,r),c=l||t,m=Y4(c,r).remainingInput??c,f=W4(m,r).remainingInput??m,d=[],v=V(f,r);e.positionSource=f;{let C=v.mark(),b=Vi(v,r,e.positionSource);if(b&&v.isAtEnd())return G(b,d);v.reset(C);}let E=be(r);if(E.length===0)throw new To(`No patterns available for language: ${r}`,r,f,[X(`No patterns registered for language '${r}'`,"error","no-patterns")]);let w=[...E].sort((C,b)=>b.priority-C.priority);{let C=v.tokens;if(F(r)?.wordOrder==="VSO"&&C.length>=4&&C[0]?.normalized==="source"){let b=C.findIndex(T=>T.normalized==="on");if(b>=2&&b+1<C.length){let T=f.slice(C[0].position.start,C[b].position.start).trim(),N=C[b+1].position.end,I=f.slice(C[b].position.start,N)+" "+T+f.slice(N);if(I!==f)try{let j=e.parse(I,r);if(j&&j.kind==="event-handler"){let L=s?pe(j,s):j;return G(L,d)}}catch{}}}}{let C=v.tokens,b=C[0]?.normalized==="if";for(let T=0;b&&T+3<C.length;T++){let N=(C[T+3]?.normalized??C[T+3]?.value??"").toLowerCase();if(C[T]?.normalized==="source"&&C[T+2]?.normalized==="on"&&oe.has(N)){let I=(f.slice(0,C[T].position.start).trimEnd()+" "+f.slice(C[T+1].position.end).trimStart()).trim();if(I&&I!==f)try{let j=e.parse(I,r);if(j&&j.kind==="event-handler"){let L=s?pe(j,s):j;return G(L,d)}}catch{}break}}}{let C=M4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=I4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=R4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=$4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=j4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=v.tokens,b=pu(r);for(let T=0;T+1<C.length;T++){let N=C[T];if(Qo(N,b))break;if(C[T+1].value!=="(")continue;let I=(N.normalized??N.value).toLowerCase();if(!(oe.has(I)||$e.has(I))&&N.kind!=="identifier")continue;let L=dr(C,T+1);if(L.len===0)continue;let P=C[T+L.len],O=(f.slice(0,C[T+1].position.start).trimEnd()+" "+f.slice(P.position.end).trimStart()).trim();try{let q=e.parse(O,r);if(q?.kind==="event-handler"){let _=ai(mn(q),O,r);_&&(q=_.node);}let W=q?.roles.get("event"),me=(W?.type==="expression"?W.raw:W&&"value"in W?String(W.value):void 0)?.toLowerCase(),ze=f.slice(0,C[T+1].position.start).trimEnd().toLowerCase(),H=me===N.value.toLowerCase()||me===I||me!==void 0&&W0(me,r).some(_=>ze.endsWith(_.toLowerCase()));if(q?.kind==="event-handler"&&H){q.parameterNames=L.names;let _=s?pe(q,s):q;return G(_,d)}}catch{}}}{let C=v.tokens,b=pu(r);for(let T=1;T<C.length-1;T++){let N=C[T];if(Qo(N,b))break;if(!pr(N,r))continue;let I=C[T+1],j=(I.normalized??I.value).toLowerCase(),L=C[T-1],P=_=>_!==void 0&&_.kind==="identifier"&&/^[\p{L}_][\p{L}\p{N}_:-]*$/u.test(_.value),O=P(I)&&L!==void 0&&(oe.has((L.normalized??L.value).toLowerCase())||T===1&&P(L));if(!oe.has(j)&&!O)break;let q=O&&!oe.has(j)?I.value:j,W=T+1,re=C[T+2];re&&re.kind==="selector"&&re.value.startsWith("[")&&(W=T+2);let me=C[T].position.start,ze=C[W].position.end,H=(f.slice(0,me).trimEnd()+" "+f.slice(ze).trimStart()).trim();if(H&&H!==f)try{let _=e.parse(H,r);if(_&&_.kind==="event-handler"){_.additionalEvents=[{type:"literal",value:W>T+1?q+re.value:q}];let Y=s?pe(_,s):_;return G(Y,d)}}catch{}break}}{let C=Mh(v.tokens);if(C){let b=(f.slice(0,C.start).trimEnd()+" "+f.slice(C.end).trimStart()).trim();if(b&&b!==f)try{let T=e.parse(b,r);if(T&&T.kind==="event-handler"){let N=pe(T,{...s??{},...C.modifiers});return G(N,d)}}catch{}}}let g=w.filter(C=>C.command==="on"),z=v.mark(),S=v.position(),h=Fe.matchBest(v,g);if(h){d.push(X(`event pattern matched: ${h.pattern.id} (confidence: ${h.confidence.toFixed(2)})`,"info","pattern-match"));let C=false;if(/^event-[a-z]+-bare$/.test(h.pattern.id)){let b=h.captured.get("event"),T=(b?.raw??b?.value??"").toString().toLowerCase(),N=xe[r],I=oe.has(T)||!!N&&Object.keys(N).some(j=>j.toLowerCase()===T);if(T&&!I){let j=ir(e,f,r,w);if(j){d.push(X(`bare-event mis-anchor on "${T}" rejected; SOV extraction preferred`,"info","stage-bare-event-guard"));let L=s?pe(j,s):j;return G(L,d)}if(b?.type==="reference"||b?.type==="expression"){v.reset(z);let L=w.filter(O=>O.command!=="on"),P=Fe.matchBest(v,L);v.reset(z),P&&P.pattern.command!=="on"?(C=true,d.push(X(`bare-event mis-anchor on reference "${T}" rejected; command ${P.pattern.command} preferred`,"info","stage-bare-event-guard"))):Fe.matchBest(v,g);}}}if(!C){let b=h.captured.get("event"),T=String(b?.raw??b?.value??"").toLowerCase();T&&!oe.has(T)&&bl(v.tokens.slice(S),r,w)>0&&(v.reset(z),C=true,d.push(X(`event "${T}" is a loop's variable; command stage preferred`,"info","stage-loop-head-guard")));}if(!C){let b=g3(e,h,v,r),T=s?pe(b,s):b;return G(T,d)}}d.push(X(`event patterns: ${g.length} tried, no match`,"info","stage-event"));let A=h3(e,f,r,w);if(A){d.push(X("trailing event extraction succeeded","info","stage-trailing-event"));let C=s?pe(A,s):A;return G(C,d)}let k=w.filter(C=>C.command!=="on"),x=Cl(e,v,k,r);if(x&&x.length>0){let C=x.length===1?x[0]:Ht(x,"then",{sourceLanguage:r,confidence:1});return G(C,d)}let D=Fe.matchBest(v,k);if(D){if(mt.has(D.pattern.command)){let b=ir(e,f,r,w);if(b){d.push(X(`SOV event extraction preferred over bare ${D.pattern.command} command`,"info","stage-sov-loop"));let N=s?pe(b,s):b;return G(N,d)}let T=Zn(e,f,r,w);if(T){d.push(X(`mid-stream event extraction preferred over bare ${D.pattern.command} command`,"info","stage-midstream-loop"));let N=s?pe(T,s):T;return G(N,d)}}else if(oe.has(D.pattern.command)&&H4(f,r)){let b=ir(e,f,r,w);if(b){d.push(X(`SOV event extraction preferred over command-homonym event ${D.pattern.command}`,"info","stage-sov-homonym"));let T=s?pe(b,s):b;return G(T,d)}}else if(F(r)?.wordOrder==="VSO"){let b=Zn(e,f,r,w);if(b){d.push(X(`mid-stream event extraction preferred over bare ${D.pattern.command} command`,"info","stage-midstream-cmd"));let T=s?pe(b,s):b;return G(T,d)}}if(D.consumedTokens<v.tokens.length&&F(r)?.wordOrder==="SOV"){let b=ir(e,f,r,w);if(b){d.push(X(`SOV event extraction preferred over partial ${D.pattern.command} command (trailing remainder)`,"info","stage-sov-trailing"));let T=s?pe(b,s):b;return G(T,d)}}if(D.consumedTokens<v.tokens.length&&Ki.has(D.pattern.command)){let b=y3(e,v,k,r);if(b)return d.push(X(`top-level loop: ${b.kind}`,"info","stage-top-level-loop")),G(b,d)}if(D.consumedTokens<v.tokens.length&&!mt.has(D.pattern.command)){let b=v3(e,v,k,r);if(b)return d.push(X(`top-level command sequence: ${b.statements.length} commands`,"info","stage-top-level-sequence")),G(b,d)}if(D.consumedTokens<v.tokens.length&&(D.pattern.command==="if"||D.pattern.command==="unless")){let b=su(e,v,k,r,D.pattern.command==="if");if(b)return d.push(X("conditional with a trailing body","info","stage-compound")),G(b,d)}d.push(X(`command pattern matched: ${D.pattern.id} (confidence: ${D.confidence.toFixed(2)})`,"info","pattern-match"));let C=lv(D,v,f);return C&&d.push(X(C,"warning","unconsumed-input")),G(gn(e,D,r),d)}if(d.push(X(`command patterns: ${k.length} tried, no match`,"info","stage-command")),!f.includes(`
14
+ `)}featureHeader(e,t){let r=this.keyword(t,e.action);if(e.action==="when"){let o=e.roles.get("condition"),u=o?this.valueToNaturalString(o,t):"";return [r,u,this.keyword(t,"changes")].filter(Boolean).join(" ")}if(e.immediately)return `${r} immediately`;let n=e.name?`${r} ${e.name}`:r,i=e.roles.get("source"),a=i?.type==="expression"?i.raw:void 0;if(a&&e.action==="socket")return `${n} ${a}`;if(a&&e.action==="eventsource"){let o=F(t)?.roleMarkers?.source,u=o?.primary??"from";return o?.position==="after"?`${n} ${a} ${u}`:`${n} ${u} ${a}`}return n}getChainWord(e,t){let r=F(t);return r?.keywords?r.keywords[e]?.primary??e:e}renderExplicit(e){return Pe(e)}supportedLanguages(){return Ps()}findBestPattern(e,t){return Ta(e,t,this.patternHooks)}spliceWaitAlternatives(e,t,r,n){let i=e.waitAlternatives;if(!i||i.length===0||r<0)return;let a=d=>d&&d.length>0?`(${d.join(", ")})`:"",[o,...u]=i;"event"in o&&(t[r]+=a(o.params));let s=[...qr[n]??[]][0]??"or",l=u.map(d=>"event"in d?`${s} ${this.renderEventName({type:"literal",value:d.event},n)}${a(d.params)}`:`${s} ${d.duration}`);t.splice(r+1,0,...l);let c=e.waitSource;if(!c)return;let p=this.valueToNaturalString(c,n),m=F(n)?.roleMarkers?.source,y=m?.primary??"from",f=m?.position==="after"?`${p} ${y}`:`${y} ${p}`;t.splice(r+1+l.length,0,f);}spliceOrEvents(e,t,r,n){let i=e.additionalEvents??[];if(i.length===0)return;let a=[...qr[n]??[]][0]??"or",o=i.map(u=>`${a} ${this.renderEventName(u,n)}`);t.splice(r>=0?r+1:t.length,0,...o);}spliceEventModifiers(e,t,r,n){let i=e.eventModifiers??{};if(!e.eventModifiers&&!e.headClause)return;r>=0&&i.queue&&(t[r]+=`.queue(${i.queue})`),i.every&&(n==="en"&&r>=0?t[r]=`every ${t[r]}`:t.unshift("every")),i.once&&i.onceAsFirst?n==="en"&&r>=0?t[r]=`first ${t[r]}`:t.unshift(this.localizeValue("first",n)):i.once&&(n==="en"&&r>=0?t[r]+=".once":t.unshift("once"));let a=[];if(i.from){let l=i.from.type==="expression"&&i.from.raw==="elsewhere"?De(n,"elsewhere"):this.valueToNaturalString(i.from,n),c=F(n)?.roleMarkers?.source,p=c?.primary??"from";c?.position==="after"?t.unshift(`${l} ${p}`):a.push(`${p} ${l}`);}let o=s=>s%1e3===0?`${s/1e3}s`:`${s}ms`;if(typeof i.debounce=="number"&&a.push(`debounced at ${o(i.debounce)}`),typeof i.throttle=="number"&&a.push(`throttled at ${o(i.throttle)}`),e.headClause&&t.push(e.headClause),a.length===0)return;let u=r>=0&&F(n)?.roleMarkers?.source?.position!=="after"?r+1:t.length;t.splice(u,0,...a);}renderWithPattern(e,t){let r=t.language,n=-1,i=t.template.tokens,a=e.action==="scroll"?e.scrollDirection:void 0,o=a?i.findIndex(l=>Ws(l,"quantity")):-1;for(;o>1&&i[o-1].type==="literal";)o--;let u=Ba(e,t,{...this.patternHooks,beforeToken:(l,c,p)=>{c===o&&p.push(De(r,a));},afterToken:(l,c)=>{l.type==="role"&&(l.role==="event"||l.role==="duration"&&e.action==="wait")&&(n=c);}});e.action==="wait"&&e.kind==="command"&&this.spliceWaitAlternatives(e,u,n,r),e.action==="fetch"&&e.doNotThrow&&u.push(Ev(r).join(" "));let s=e.scrollBehavior;if(s&&(e.action==="go"||e.action==="scroll")&&u.push(s),e.kind==="event-handler"){let l=e.parameterNames;l&&l.length>0&&n>=0&&(u[n]+=`(${l.join(", ")})`),this.spliceOrEvents(e,u,n,r),this.spliceEventModifiers(e,u,n,r),this.attachHeadMarker(u,n,i,r);}if(e.kind==="event-handler"){let l=e;if(l.body&&l.body.length>0){let c=l.body.map(p=>this.render(p,r));u.push(c.join(" "));}}return u.join(" ")}scopeFirst(e){return this.plainWords.has("scope")?void 0:F(e)?.queryScopeFirst}pushPart(e,t,r,n,i,a){let o=e[e.length-1],u=F(a),s=n?.type==="role"&&(n.role==="event"&&i.kind==="event-handler"||i.action==="wait"&&(n.role==="event"||n.role==="duration")),l=r.type==="literal"&&n?.type==="role"&&!s&&o!==void 0&&u?.attachedMarkers&&!this.plainWords.has("attach")&&xv(u,i.action,n.role,t)?Fo(u,o,t,c=>this.wordOfLanguage(c,a)):void 0;if(l===void 0||!this.splitsBack(l,o,a)){e.push(t);return}e[e.length-1]=l,this.nativeWritten.add("attach");}wordOfLanguage(e,t){let r=V(e,t).tokens[0];return r?.kind==="keyword"&&r.normalized!==void 0}isCustomWaitEvent(e,t){let r=e.replace(/\(.*$/,"").toLowerCase();if($e.has(r))return false;let n=xe[t]??{};return !(r in n)&&!Object.values(n).includes(r)}splitsBack(e,t,r){let n=a=>V(a,r).tokens.map(o=>o.value),i=bv(F(r),e.slice(t.length));return n(e).join("\0")===[...n(t),...n(i)].join("\0")}attachHeadMarker(e,t,r,n){let i=F(n);if(t<0||!i?.attachedMarkers||this.plainWords.has("attach"))return;let a=r.findIndex(c=>c.type==="role"&&c.role==="event"),o=r.slice(a+1).find(c=>c.type==="literal");if(a<0||o?.type!=="literal")return;let u=e.indexOf(o.value,t+1);if(u<=t)return;let s=e[u-1],l=Fo(i,s,o.value,c=>this.wordOfLanguage(c,n));l===void 0||!this.splitsBack(l,s,n)||(e.splice(u-1,2,l),this.nativeWritten.add("attach"));}obliquePhrase(e,t,r,n){if(this.plainWords.has("case")||r===void 0)return;let i=F(e)?.obliqueReferences?.[r]?.[t],a=typeof i=="string"?i:i?.[n];if(a!==void 0)return this.nativeWritten.add("case"),a}obliqueAt(e,t,r,n,i=false){let a=e[t],o=e[t+1],u=F(n);if(i&&t===0&&a?.type==="literal"&&u?.objectClitics){let z=o?.type==="group"&&o.tokens.length===1?o.tokens[0]:o;if(z?.type==="role"&&(z.role==="patient"||z.role==="destination")){let S=r.roles.get(z.role),h=u.objectClitics.forms[nr(S)??""],A=!S?.implicit||z.role==="patient"&&Oo(r,"patient"),k=h&&A&&!this.plainWords.has("case")&&!u.objectClitics.notVerbs?.includes(a.value)?tv(u.objectClitics.attach,a.value,h):void 0;if(k!==void 0)return this.nativeWritten.add("case"),{text:k,tokens:2}}}let s=z=>z==="destination"&&!!r.scrollPosition;if(a?.type==="role"&&(a.role==="patient"||a.role==="destination")&&!s(a.role)){let z=this.obliquePhrase(n,"",nr(r.roles.get(a.role)),"direction");if(z!==void 0)return {text:z,tokens:1}}let l=a?.type==="role"?a:o;if(l?.type!=="role")return;let c=l.role;if(c!=="destination"&&c!=="source"&&c!=="patient")return;let p=u?.roleMarkers[c]?.position==="after",[m,y]=p?[o,a]:[a,o],f=m?.type==="group"&&m.tokens.length===1?m.tokens[0]:m;if(y!==l||f?.type!=="literal"||s(c))return;let d=f.value.split(" "),v=p?d[0]:d[d.length-1],g=c==="destination"&&Qv.has(r.action)?"location":"direction",w=this.obliquePhrase(n,v,nr(r.roles.get(c)),g);return w===void 0?void 0:{text:(p?[w,...d.slice(1)]:[...d.slice(0,-1),w]).join(" "),tokens:2}}renderRoleToken(e,t,r){let n=t.roles.get(e.role);if(!n){if(e.role==="duration"&&t.action==="wait"){let a=t.roles.get("event");if(a){let o=this.renderEventName(a,r),u=F(r)?.keywords?.event?.primary;return u&&this.isCustomWaitEvent(o,r)?`${u} ${o}`:o}}return e.optional,null}if(e.role==="event")return this.renderEventName(n,r);let i=t.scrollPosition;if(i&&e.role==="destination"&&(t.action==="go"||t.action==="scroll"))return `${i} of ${this.valueToNaturalString(n,r)}`;if(r==="en"&&t.action==="halt"&&e.role==="patient"&&n.type==="reference"&&n.value==="event")return `the ${this.valueToNaturalString(n,r)}`;if(t.action==="render"&&e.role==="style"&&n.type==="expression"){let a=n.raw.trim();if(a.startsWith("{")&&a.endsWith("}"))return a.slice(1,-1).trim()}if(t.action==="js"&&n.type==="expression")return n.raw;if(e.valueShape==="keyword"){if(n.type==="reference")return n.value;if(n.type==="expression")return n.raw;if(n.type==="literal"&&n.dataType!=="string")return String(n.value)}if(t.action==="fetch"&&e.role==="responseType"&&n.type==="expression")return n.raw;if(t.action==="pick"&&e.role==="patient"&&n.type==="expression"){let a=Ls.rangeSeparatorFor(r);if(a)return n.raw.replace(/(?<=\s)to(?=\s)/g,a)}return this.valueToNaturalString(n,r)}writesGroup(e,t){if(e.optional)for(let r of ["destination","source","patient"]){if(!e.tokens.find(a=>a.type==="role"&&a.role===r))continue;let i=t.roles.get(r);if(!(i?.type!=="reference"||i.value!=="me")&&i.implicit){if(r==="destination"){let a=t.roles.get("patient");if(a?.type==="literal"&&a.dataType==="string")continue}if(!(r==="patient"&&Oo(t,"patient")))return false}}return !(e.optional&&e.tokens.find(n=>n.type==="role"&&n.role==="quantity")&&t.roles.get("quantity")?.implicit===true)}renderEventName(e,t){if(e.type!=="literal"||typeof e.value!="string")return this.valueToNaturalString(e,t);let r=e.value;if(e.quoted)return r.includes('"')?`'${r}'`:`"${r}"`;let n=i=>i.includes(":")?i:H0(i,t);return r.includes(" or ")?r.split(" or ").map(i=>n(i.trim())).join(" or "):n(r)}valueToNaturalString(e,t="en"){switch(e.type){case "literal":return typeof e.value=="string"&&e.dataType==="string"?e.interpolates?e.value:n4(e.value):this.localizeValue(String(e.value),t);case "selector":if(!e.scope)return e.value;{let r=this.valueWords(t);if(r.scopeFirst){let i=this.valueToNaturalString(e.scope,t);return `${r.scopeFirst(i,nr(e.scope))} ${e.value}`}r.queryIn!=="in"&&r.wrote?.();let n=F(t)?.roleMarkers.destination?.position!=="after"&&this.obliquePhrase(t,r.queryIn,nr(e.scope),"location")||`${r.queryIn} ${this.valueToNaturalString(e.scope,t)}`;return `${e.value} ${n}`}case "reference":return this.renderReference(e,t);case "property-path":return this.renderPropertyPath(e,t);case "expression":return /^[A-Za-z_$][\w$]*$/.test(e.raw)?this.renderLoneName(e.raw,t):this.localizeValue(Ov(this.valueGuard?.(e.raw)??e.raw,r=>this.localizeInteriorPossessives(r,t)),t,this.wordsKeptAsSpelled(e.raw,t));case "flag":return this.localizeValue(e.name,t)}}localizedName(e,t){let r=this.localizeValue(e,t);if(r===e)return e;if(this.spellVariables)return;let[n,...i]=V(r,t).tokens;if(i.length===0&&n?.kind==="keyword"&&(n.normalized??n.value).toLowerCase()===e.toLowerCase()&&!Ut(n))return this.localizedVariable=true,r}renderLoneName(e,t){let r=this.valueGuard?.(e)??e;return r!==e?r:Is(e)?this.localizedName(e,t)??e:this.localizeValue(e,t)}wordsKeptAsSpelled(e,t){if(t==="en")return;let{variables:r,properties:n}=Uv(e),i=[...[...r].filter(a=>this.localizedName(a,t)===void 0),...[...n].filter(a=>!this.propertyReadsBack(a,t))];return i.length?new Set(i):void 0}propertyReadsBack(e,t){let r=this.localizeValue(e,t);if(r===e||pn[t]?.[r.toLowerCase()]===e.toLowerCase())return true;let[n,...i]=V(r,t).tokens;return i.length===0&&n?.kind==="keyword"&&(n.normalized??"").toLowerCase()===e.toLowerCase()}localizeProperty(e,t){let r=/^[A-Za-z][\w-]*/.exec(e)?.[0];return r&&!this.propertyReadsBack(r,t)?e:this.localizeValue(e,t)}localizeValue(e,t,r){return t==="en"?e:Kv(e,t,F(t),r,this.valueWords(t))}renderReference(e,t){let r=/^(?:the\s+)?element(?:'s)?\s+([A-Za-z_]\w*)$/.exec(e.value);if(r&&t!=="en")return `${gi(t)} ${r[1]}`;let n=F(t);return n?.references?n.references[e.value]??e.value:e.value}renderDotBase(e,t,r){if(e.type!=="reference")return this.valueToNaturalString(e,t);let n=r?.possessive?.specialForms?.[e.value];return n&&!/\s/.test(n)?n:e.value}localizeInteriorPossessives(e,t){if(t==="en")return e.replace(/\b(?:the\s+)?([A-Za-z][\w-]*)\s+of\s+([#.][\w-]+)/g,(i,a,o,u,s)=>t4.has(a.toLowerCase())&&!Ir(s,u+i.length)?`${o}'s ${a}`:i);let r=(i,a)=>this.renderPropertyPath({type:"property-path",object:i,property:a,access:"possessive"},t),n=this.localizeOfPossessives(e,r);return n.includes("'s")?n.replace(/([#.][\w-]+)((?:'s\s+[A-Za-z][\w-]*)+)/g,(i,a,o,u,s)=>{let[l,...c]=[...o.matchAll(/'s\s+([A-Za-z][\w-]*)/g)].map(y=>y[1]),p=r(Oe(a),l);if(!p)return i;let m=!p.startsWith(a);if(m)for(let y of c)p=r(Oe(p),y);else p+=c.map(y=>`'s ${y}`).join("");return Ir(s,u+i.length)&&m?`(${p})`:p}):n}localizeOfPossessives(e,t){return this.plainWords.has("value")||!/\bof\b/.test(e)?e:r4(e,r=>r.replace($s,(n,i,a,o,u)=>{let s=js(a);if(!s)return n;let[l,...c]=s.reverse(),p=t(Oe(o),l);if(!p)return n;let m=!p.startsWith(o);if(!m&&Ir(r,u+n.length))return n;let y=u===0&&n.length===r.trimEnd().length;if(!m&&c.length===0&&y)return n;if(m)for(let f of c)p=t(Oe(p),f);else p+=c.map(f=>`'s ${f}`).join("");return this.nativeWritten.add("value"),`${i}${p}`}))}renderPropertyPath(e,t){let r=F(t);if(e.access==="dot"){let o=this.renderDotBase(e.object,t,r),u=e.property;return /^[.?]/.test(u)?`${o}${u}`:`${o}.${u}`}let n=this.localizeProperty(e.property,t),i=e.object.type==="reference"?e.object.value:null;if(r?.possessive&&i){let o=r.possessive.specialForms?.[i]??a4(r.possessive.keywords,i);if(o)return `${o} ${n}`}let a=this.valueToNaturalString(e.object,t);if(e.object.type==="expression"){if(t==="en"||!r?.possessive)return `the ${n} of ${a}`;let{marker:o,markerPosition:u}=r.possessive;if(o&&u==="between"&&t!=="th")return `${a} ${o} ${n}`;let s=t==="th"?o:po(r);return s?`${n} ${s} ${a}`:`the ${n} of ${a}`}if(r?.possessive){let{marker:o,markerPosition:u,usePossessiveAdjectives:s}=r.possessive;if(s&&i)return `${a} ${n}`;if(o&&u==="between"){if(t==="th")return `${n} ${o} ${a}`;let c=r.tokenization!==void 0;return r.usesSpaces&&!c?`${a} ${o} ${n}`:r.usesSpaces?`${a}${o} ${n}`:`${a}${o}${n}`}let l=t!=="en"&&e.object.type==="selector"?po(r):void 0;if(l)return `${n} ${l} ${a}`;if(o)switch(u){case "after-object":return `${a}${o} ${n}`;case "before-property":return `${a} ${o} ${n}`}}return t==="en"||!r?.possessive?a==="me"?`my ${n}`:a==="it"?`its ${n}`:`${a}'s ${n}`:`${a} ${n}`}};function a4(e,t){if(e){for(let[r,n]of Object.entries(e))if(n===t)return r}}var Me=new i4;var u4=new Set(["a","an","the"]),Ro=new Map;function s4(e){let t=Ro.get(e);return t||(t=new Set(Object.values(ke).flatMap(r=>r.roles.flatMap(n=>[n.markerOverride?.[e],...n.markerVariants?.[e]??[]].filter(i=>typeof i=="string"&&i.length>0)))),Ro.set(e,t)),t}function l4(e,t){let r=V(e,t).tokens,n=r[0];if(r.length!==1||!n)return {collision:"structure",word:"words"};let i=n.normalized!==e?n.normalized:void 0;if(n.kind==="keyword"&&Cu.has(i??""))return {collision:"pronoun",word:"pronoun",sense:i};if(n.kind==="identifier"&&!i){if(s4(t).has(e))return {collision:"structure",word:"marker"};let a=F(t)?.objectClitics;if(a?.attach==="before"&&Object.values(a.forms).includes(e))return {collision:"structure",word:"pronoun"};let o=st(t,e);return o!==e?{collision:"structure",word:"connective",sense:o}:u4.has(e.toLowerCase())?{collision:"structure",word:"article"}:null}return n.kind==="particle"?{collision:"structure",word:"marker"}:{collision:"structure",word:"keyword",sense:i}}function qs(e,t){let r=`${t}\0${e}`,n=_o.get(r);return n===void 0&&(n=l4(e,t)?.collision??null,_o.set(r,n)),n}var _o=new Map;T0((e,t)=>qs(e,t)==="structure");var Hs=new Set(["compound"]),vn=["body","statements","thenBranch","elseBranch","branches","eventHandlers","initBlock","catchBody","finallyBody"];function y4(e){let t=[];return si(e,t,0),t.sort()}function si(e,t,r){if(r>64||e===null||typeof e!="object")return;let n=e,i=n.action;typeof i=="string"&&!Hs.has(i)&&t.push(i),n.postfixUnless&&t.push("unless");for(let a of vn){let o=n[a];if(Array.isArray(o))for(let u of o)si(u,t,r+1);else o&&typeof o=="object"&&si(o,t,r+1);}}function v4(e){let t=new Set;return Hr(e,t,0),[...t].sort()}function h4(e){let t=new Set;return Hr(e,t,0,true),[...t].sort()}function E4(e){if(e.kind!=="event-handler")return [];let t=e.eventModifiers;return !t||typeof t!="object"?[]:Object.entries(t).filter(([,r])=>r!=null&&r!==false)}function g4(e){return E4(e).map(([t,r])=>[t,typeof r=="object"&&typeof r.type=="string"?r.type:typeof r])}function Hr(e,t,r,n=false){if(r>64||e===null||typeof e!="object")return;let i=e,a=i.action;if(typeof a=="string"&&!Hs.has(a)){let o=i.roles,u=o instanceof Map?[...o.entries()]:o&&typeof o=="object"?Object.entries(o):[];for(let[s,l]of u){if(l==null||n&&typeof l=="object"&&l.implicit===true)continue;let c=typeof l=="object"&&typeof l.type=="string"?l.type:typeof l;t.add(`${a}.${String(s)}:${c}`);}}for(let[o,u]of g4(i))t.add(`on.${o}:${u}`);for(let o of vn){let u=i[o];if(Array.isArray(u))for(let s of u)Hr(s,t,r+1,n);else u&&typeof u=="object"&&Hr(u,t,r+1,n);}}function jt(e){switch(e.kind){case "command":return Gs(e);case "event-handler":{let t=e;return {...t,roles:Rt(t.roles),body:Ne(t.body),...No(t)}}case "compound":{let t=e;return {...t,roles:Rt(t.roles),statements:Ne(t.statements)}}case "conditional":{let t=e;return {...t,roles:Rt(t.roles),thenBranch:Ne(t.thenBranch),...t.elseBranch?{elseBranch:Ne(t.elseBranch)}:{}}}case "loop":{let t=e;return {...t,roles:Rt(t.roles),body:Ne(t.body)}}case "behavior":{let t=e;return {...t,eventHandlers:t.eventHandlers.map(n=>jt(n)),...t.initBlock?{initBlock:Ne(t.initBlock)}:{}}}case "def":{let t=e;return {...t,body:Ne(t.body),...No(t)}}case "feature":{let t=e;return {...t,body:Ne(t.body)}}default:return e}}function w4(e){let t=[],r=(n,i)=>{if(i>64||n===null||typeof n!="object")return;let a=n,o=a.action==="swap"?a.roles?.get("method"):void 0;if(o){let u=o.type==="literal"?String(o.value):Ft(o);t.push(`swap ${u??o.type}`);}for(let u of vn){let s=a[u];if(Array.isArray(s))for(let l of s)r(l,i+1);}};return r(jt(e),0),t}function Ne(e){let t=[];for(let r=0;r<e.length;r++){let n=e[r],i=e[r+1],a=n.kind==="command"&&n.action==="unless"?n.roles.get("condition"):void 0;if(a&&i&&!i.postfixUnless){t.push({...jt(i),postfixUnless:Wi(a)}),r++;continue}t.push(jt(n));}return t}function Rt(e){return new Map([...e].map(([t,r])=>[t,Wi(r)]))}function No(e){return {...e.catchBody?{catchBody:Ne(e.catchBody)}:{},...e.finallyBody?{finallyBody:Ne(e.finallyBody)}:{}}}var k4={into:"innerhtml",over:"outerhtml"},C4={beforebegin:"before",afterend:"after",afterbegin:"at start of",beforeend:"at end of"},b4=new Set(["swap","morph"]);function z4(e){let t=e?.type==="literal"?e.value:e?.type==="expression"?e.raw:void 0;return typeof t=="string"&&t.toLowerCase()==="transition"}function Gs(e){if(on(e))return {...e,roles:Rt(e.roles),body:Ne(e.body)};if(b4.has(e.action)&&z4(e.roles.get("manner"))){let o=new Map(e.roles);return o.delete("manner"),{kind:"command",action:"viewTransition",roles:new Map,body:[Gs({...e,roles:o})],...e.metadata?{metadata:e.metadata}:{}}}let t={...e,roles:Rt(e.roles)},r=t.roles,n=o=>r.get(o),i=(o,u)=>{let s=new Map;for(let[c,p]of u)p&&s.set(c,p);return {...t,action:o,roles:s}},a=o=>({type:"literal",value:o,implicit:true});switch(t.action){case "set":{let o=n("destination"),u=n("scope"),s=u&&Ft(u);return o?.type!=="selector"||!o.value.startsWith("@")||!s?t:i("set",[...[...r].filter(([l])=>l!=="scope"&&l!=="destination"),["destination",{type:"expression",raw:`${o.value} of ${s}`}]])}case "go":{let o=n("destination");return o?.type!=="literal"||typeof o.value!="string"||n("method")?t:i("go",[...r,["method",{type:"literal",value:"url"}]])}case "open":{let o=n("style"),u=o?Ft(o)?.replace(/^"|"$/g,"").toLowerCase():void 0;if(u==="modal")return i("open",[["patient",n("patient")]]);if(u!=="non-modal")return t;let s=n("patient")?Ft(n("patient")):"me";if(!s)return t;let l=/^[#.@$:^\w-]+$/.test(s)?s:`(${s})`;return i("call",[["patient",{type:"expression",raw:`${l}.show()`}]])}case "prepend":return i("put",[["patient",n("patient")],["destination",n("destination")],["manner",a("at start of")]]);case "push":case "replace":{let o=n("patient")&&Ft(n("patient"));if(!o)return t;let u=t.action==="push"?"pushState":"replaceState";return i("call",[["patient",{type:"expression",raw:`history.${u}(null,'',${o})`}]])}case "copy":{let o=n("patient");if(o?.type==="selector")return t;let u=o&&Ft(o);return u?i("call",[["patient",{type:"expression",raw:`navigator.clipboard.writeText(${u})`}]]):t}case "swap":{let o=n("method"),u=n("destination"),s=n("patient"),l=o?.type==="literal"?o.value:o?.type==="expression"?o.raw:"";if(typeof l!="string"||!l||!u)return t;let c=k4[l.toLowerCase()]??l.toLowerCase();if(c==="delete")return i("remove",[["patient",u]]);if(!s)return t;if(c==="innerhtml")return i("put",[["patient",s],["destination",u]]);if(c==="outerhtml")return i("put",[["patient",s],["destination",{type:"property-path",object:u,property:"outerHTML",access:"possessive"}]]);let p=C4[c];return p?i("put",[["patient",s],["destination",u],["manner",a(p)]]):t}case "fetch":{let o=n("source");return !t.doNotThrow||n("responseType")||o?.type!=="literal"||o.interpolates?t:i("fetch",[...r,["responseType",{type:"expression",raw:"text"}]])}default:return t}}function Ft(e){switch(e.type){case "selector":case "reference":return String(e.value);case "expression":return e.raw;case "literal":return typeof e.value=="string"?JSON.stringify(e.value):String(e.value);default:return}}function Wi(e){switch(e.type){case "property-path":{let t=e.property.replace(/\?\./g,".").replace(/^\./,""),r=Wi(e.object);return t===e.property&&r===e.object?e:{...e,object:r,property:t}}case "expression":{let t=x4(e.raw);return t===e.raw?e:{...e,raw:t}}case "literal":return e.interpolates&&typeof e.value=="string"?{type:"expression",raw:`\`${e.value}\``}:e;default:return e}}var A4=/^(previous|next|closest|first|last)\s+(<[^>]*\/>|[.#][\w-]+)\s*\.([A-Za-z_$][\w$]*)$/;function x4(e){let t=A4.exec(e.trim());return t?`the ${t[3]} of ${t[1]} ${t[2]}`:S4(e,r=>r.replace(/\?\./g,".").replace(/\bdoes not have(\s+)(?=[.#[])/g,"does not match$1").replace(/\bhas(\s+)(?=[.#[])/g,"matches$1").replace(/\bhave(\s+)(?=[.#[])/g,"match$1").replace(/(^|[^\w$.#@*:-])me matches\b/g,"$1I match").replace(/(^|[^\w$.#@*:-])me does not match\b/g,"$1I do not match").replace(/(^|[^\w$.#@*:-])me is(\s+not)?(\s+an?\s)/g,"$1I am$2$3"))}function S4(e,t){let r="",n="";for(let i=0;i<e.length;i++){let a=e[i];if(a==='"'||a==="'"||a==="`"){r+=t(n),n="";let o=i+1;for(;o<e.length&&e[o]!==a;)o+=e[o]==="\\"?2:1;r+=e.slice(i,o+1),i=o;}else n+=a;}return r+t(n)}function hn(e,t){return Me.render(jt(e),t);}var D4={getSchema:J};function T4(e){return zr(e,{schemaLookup:D4})}var $e=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu","transitionend","transitionstart","transitionrun","transitioncancel","animationend","animationstart","animationiteration","animationcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","pointerout","touchstart","touchend","touchmove","touchcancel","mousemove","mouseenter","mouseleave","wheel","dragstart","dragend","dragover","dragenter","dragleave","drop","drag","loadend","loadstart","error","abort","close","open","message","popstate","hashchange","storage","online","offline","visibilitychange"]),oe=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu"]),B4=new Set(["me","my","i","it","its","you","your","result"]);function dr(e,t){if(e[t]?.value!=="(")return {len:0,names:[]};let r=[];for(let n=t+1;n<e.length;n++){let i=e[n].value;if(i===")")return e[t-1]?.position?.end!==e[t]?.position?.start&&e[n+1]?.kind==="particle"?{len:0,names:[]}:{len:n-t+1,names:r};if(i===",")continue;let a=e[n].kind;if(a!=="identifier"&&a!=="keyword"||!/^[A-Za-z_$][\w$]*$/.test(i))break;let o=(e[n].normalized??i).toLowerCase();if(a==="keyword"&&B4.has(o))break;r.push(i);}return {len:0,names:[]}}var Mo=new Set(["top","middle","bottom","left","center","right","nearest"]),F4=new Set(["smoothly","instantly"]),L4=new Set(["up","down","left","right"]);function Ys(e){let r=J("scroll")?.roles.find(a=>a.role==="quantity")?.markerOverride?.[e],n=F(e)?.roleMarkers?.quantity,i=["by",r,n?.primary,...n?.alternatives??[]];return new Set(i.filter(a=>!!a).map(a=>a.toLowerCase()))}function li(e){return e?e.kind==="literal"||/^[-\d.$:]/.test(e.value):false}function P4(e,t){if(!t)return false;let r=t.value.toLowerCase();switch(e.type){case "selector":return e.value.toLowerCase()===r;case "reference":return e.value===(t.normalized??t.value).toLowerCase()||e.value===r;case "expression":return e.raw.toLowerCase().split(/\s+/)[0]===r;default:return String("value"in e?e.value:"").toLowerCase()===r}}function O4(e){let t=(e.normalized??e.value).toLowerCase();return t==="document"||t==="window"||t==="me"||t==="body"?Be(t):e.kind==="selector"?Oe(e.value):{type:"expression",raw:e.value}}function R4(e,t,r,n){let i=d=>d?.value.toLowerCase()??"",a=-1,o=-1;for(let d=0;d<e.length&&a<0;d++){let v=i(e[d])==="the"?d+1:d;Mo.has(i(e[v]))&&(Mo.has(i(e[v+1]))&&v++,!(i(e[v+1])!=="of"||!e[v+2])&&(a=d,o=v+1));}let u=a<0?e.findIndex(d=>F4.has(i(d))):-1,s=Ys(r),l=a<0&&u<0?e.findIndex((d,v)=>L4.has(i(d))&&(s.has(i(e[v+1]))||li(e[v+1]))):-1;if(a<0&&u<0&&l<0)return null;let c=a>=0?a:u>=0?u:l,p=a>=0?o:c,m=t.slice(0,e[c].position.start).trimEnd(),y=t.slice(e[p].position.end).trimStart(),f=m?m.length+1:0;try{let d=n(m?`${m} ${y}`:y,r),v=[],g=z=>{if(!z)return;z.kind==="command"&&(z.action==="go"||z.action==="scroll")&&v.push(z);let S=z;for(let h of ct){let A=S[h];Array.isArray(A)&&A.forEach(k=>g(k));}};g(d??void 0);let w=z=>z.roles.get("destination")?.position?.start??z.roles.get("quantity")?.position?.start??-1,E=z=>v.filter(S=>w(S)>=0&&w(S)<=z).reduce((S,h)=>!S||w(h)>w(S)?h:S,void 0);if(!d)return null;if(a>=0){let z=E(f),S=z?.roles.get("destination"),h=e[o+1];if(!z||!S||!P4(S,h))return null;let A=e.slice(a,o).map(k=>k.value.toLowerCase());z.scrollPosition=A.join(" ");}else if(u>=0){let z=E(e[u].position.start-1);if(!z)return null;z.scrollBehavior=i(e[u]);}else {let z=B=>B.roles.get("quantity")?.position?.start??-1,S=v.filter(B=>B.action==="scroll"),h=S.some(B=>B.roles.has("quantity"))?S.filter(B=>B.roles.has("quantity")):S.filter(B=>B.roles.has("destination")),A=h.some(B=>z(B)>=0)?h.filter(B=>z(B)>=f-1).reduce((B,C)=>!B||z(C)<z(B)?C:B,void 0):h[h.length-1];if(!A)return null;let k=A.roles,x=k.get("destination"),D=s.has(i(e[l+1]))?l+2:l+1,R=e[D];if(x&&!k.has("quantity")&&(x.type==="selector"||x.type==="reference")&&li(R)){let B=`${m} ${t.slice(R.position.end).trimStart()}`.trim(),C=n(B,r),b=[],T=L=>{if(L){L.kind==="command"&&L.action==="scroll"&&b.push(L);for(let P of ct){let O=L[P];Array.isArray(O)&&O.forEach(q=>T(q));}}};T(C??void 0);let N=b.filter(L=>L.roles.has("destination")).pop();if(!C||!N)return null;let I=N.roles,j=I.get("destination");return I.delete("destination"),I.set("patient",j),I.set("quantity",/^-?\d+(\.\d+)?$/.test(R.value)?te(Number(R.value),"number"):/^[$:]/.test(R.value)?{type:"reference",value:R.value}:{type:"expression",raw:R.value}),N.scrollDirection=i(e[l]),C}A.scrollDirection=i(e[l]),x&&!k.has("quantity")&&(k.delete("destination"),k.set("quantity",x));}return d}catch{return null}}function _4(e,t){let r=vr[t]?.elsewhere,n=F(t)?.roleMarkers?.source;if(!r||!n)return e;let i=V(r,t).tokens.map(l=>l.value.toLowerCase());if(!i[0]||!e.toLowerCase().includes(i[0]))return e;let a=new Set([n.primary,...n.alternatives??[]].map(l=>l.toLowerCase())),o=V(e,t).tokens,u=l=>!!l&&a.has(l.value.toLowerCase()),s=e;for(let l=o.length-i.length;l>=0;l--){if(!i.every((y,f)=>o[l+f].value.toLowerCase()===y)||!(n.position==="after"?u(o[l+i.length]):u(o[l-1])))continue;let p=o[l].position.start,m=o[l+i.length-1].position.end;s=s.slice(0,p)+"elsewhere"+s.slice(m);}return s}function N4(e,t){let r=vr[t];if(!r)return e;let n=Ys(t),i=e.toLowerCase(),a,o=e,u=[];for(let s of ["up","down","left","right"]){let l=r[s];if(!l||l===s)continue;let c=V(l,t).tokens.map(p=>p.value.toLowerCase());if(!(!c[0]||!i.includes(c[0]))){a??(a=V(e,t).tokens);for(let p=0;p+c.length<=a.length;p++){if(!c.every((y,f)=>a[p+f].value.toLowerCase()===y))continue;let m=a[p+c.length];!m||!(n.has(m.value.toLowerCase())||li(m))||u.push([a[p].position.start,a[p+c.length-1].position.end,s]);}}}for(let[s,l,c]of u.sort((p,m)=>m[0]-p[0]))o=o.slice(0,s)+c+o.slice(l);return o}function M4(e,t,r,n){let i=p=>p?.value.toLowerCase(),a=r==="en"?[]:oi[r]??[],o=p=>i(e[p])==="do"&&i(e[p+1])==="not"&&i(e[p+2])==="throw"?p+2:a.length&&a.every((y,f)=>i(e[p+f])===y.toLowerCase())?p+a.length-1:i(e[p])==="don"&&i(e[p+1])==="'"&&i(e[p+2])==="t"&&e[p].position.end===e[p+1].position.start&&e[p+1].position.end===e[p+2].position.start&&i(e[p+3])==="throw"?p+3:-1,u=e.findIndex((p,m)=>o(m)>=0);if(u<0)return null;let s=o(u),l=e[u].position.start,c=(t.slice(0,e[u].position.start).trimEnd()+" "+t.slice(e[s].position.end).trimStart()).trim();try{let p=n(c,r),m=[],y=v=>{if(!v)return;v.kind==="command"&&v.action==="fetch"&&m.push(v);let g=v;for(let w of ct){let E=g[w];Array.isArray(E)&&E.forEach(z=>y(z));}};y(p??void 0);let f=v=>v.roles.get("source")?.position?.start??-1,d=m.filter(v=>f(v)>=0&&f(v)<l).reduce((v,g)=>!v||f(g)>f(v)?g:v,void 0);return !p||!d?null:(d.doNotThrow=!0,p)}catch{return null}}function I4(e,t,r,n){let i=s=>(s.normalized??s.value).toLowerCase()==="tell",a=e.findIndex(i);if(a<0)return null;let o=F(r)?.roleMarkers?.destination,u=new Set([o?.primary,...o?.alternatives??[]].filter(s=>!!s));for(let s=a+1;s<e.length;s++){if(e[s].value.toLowerCase()!=="to")continue;let l=e[s].position.start,c=(t.slice(0,l).trimEnd()+" "+t.slice(e[s].position.end).trimStart()).trim();try{let p=n(c,r);if(!p)continue;let m=[],y=w=>{if(!w)return;w.kind==="command"&&m.push(w);let E=w;for(let z of ct){let S=E[z];Array.isArray(S)&&S.forEach(h=>y(h));}};y(p);let f=w=>w.roles.get("destination")?.position?.start??-1,d=m.filter(w=>w.action==="tell"&&f(w)>=0&&f(w)<l).reduce((w,E)=>!w||f(E)>f(w)?E:w,void 0);if(!d)continue;let v=d.roles.get("destination")?.position?.end??-1;if(v<0||!e.filter(w=>w.position.start>=v&&w.position.start<l).every(w=>i(w)||u.has(w.value)))continue;return p}catch{continue}}return null}function $4(e,t,r,n){let i=p=>p?.value.toLowerCase(),a=new Set;for(let p of be(r))if(!(p.command!=="repeat"&&p.command!=="for")){for(let m of p.template.tokens)if(m.type==="literal")for(let y of [m.value,...m.alternatives??[]])a.add(y.toLowerCase());}let o=p=>a.has(p.value.toLowerCase()),u=F(r)?.roleMarkers?.style?.primary?.toLowerCase(),s=p=>i(p)==="with"||!!u&&i(p)===u,l=ts(r,"index",p=>V(p,r).tokens.map(m=>m.value)),c=p=>l.find(m=>m.every((y,f)=>i(e[p+f])===y))?.length??0;for(let p=0;p+1<e.length;p++){let m=s(e[p])&&i(e[p+1])==="index",y=i(e[p])==="indexed"&&i(e[p+1])==="by"&&!!e[p+2],f=c(p),d=f>0&&!!e[p+f]||y;if(!m&&!d)continue;let v=e[y?p+2:m?p+1:p+f];if(f>0&&i(e[p])==="index"&&v.kind==="particle"&&l.length>1)continue;let w=e[p].position.start,E=(t.slice(0,w).trimEnd()+" "+t.slice(v.position.end).trimStart()).trim();try{let z=n(E,r);if(!z)continue;let S=[],h=C=>{if(!C)return;C.kind==="loop"&&S.push(C);let b=C;for(let T of ct){let N=b[T];Array.isArray(N)&&N.forEach(I=>h(I));}};h(z);let A=C=>Math.max(-1,...[...C.roles.values()].map(b=>b.position?.end??-1).filter(b=>b<=w)),k=S.filter(C=>A(C)>=0).reduce((C,b)=>!C||A(b)>A(C)?b:C,void 0);if(!k)continue;let x=e.filter(C=>C.position.start>=A(k)&&C.position.start<w),D=k.roles.get("quantity"),R=D?.type==="literal"&&typeof D.value=="number"?D.position?.end:void 0,B=R===void 0?void 0:e.find(C=>C.position.start>=R);if(!x.every(C=>C===B||o(C)))continue;return k.indexVariable=m?"index":v.value,z}catch{continue}}return null}function j4(e,t,r,n){let i=E=>!!E&&(E.normalized??E.value).toLowerCase()==="wait";if(!e.some(E=>i(E)))return null;let a=E=>(E.normalized??E.value).toLowerCase(),o=E=>{if(!E)return;let z=k=>oe.has(k)||$e.has(k),S=E.kind==="identifier"?E.value.toLowerCase():a(E);if(z(S))return S;let h=xe[r]?.[E.value];if(h)return h;let A=Mu(E.value,r);return z(A)?A:void 0},u=E=>!!E&&/^\d+(?:\.\d+)?(?:ms|s)$/.test(E.value),s=F(r)?.roleMarkers?.source,l=new Set([s?.primary,...s?.alternatives??[]].filter(Boolean).map(E=>E.toLowerCase())),c=E=>!!E&&((E.normalized??"")==="source"||l.has(E.value.toLowerCase())),p=s?.position!=="after",m=F(r)?.wordOrder==="SOV",y=E=>!!e[E]&&a(e[E])==="event",f=(E,z)=>m?i(e[z])||e[z]?.kind==="particle"&&i(e[z+1]):i(e[E-1])||i(e[E-2])||y(E-1)&&e[E-2]?.kind==="particle"&&i(e[E-3]),d=E=>p?c(e[E])&&!!e[E+1]:!!e[E]&&c(e[E+1]),v=E=>!!E&&(E.kind==="identifier"||E.kind==="keyword"&&(Ut(E)??"event")==="event")&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$:-]*$/u.test(E.value),g=E=>{for(;pr(e[E]??{value:""},r)&&e[E+1];)E+=2;return d(E)},w=E=>{let z=o(e[E]);if(z)return z;if(!v(e[E]))return;let S=e[E-1]?.value.toLowerCase()==="for"&&i(e[E-2]),h=y(E-1)&&(m||i(e[E-2])||e[E-2]?.kind==="particle"&&i(e[E-3]));return S||h||g(E+1)?e[E].value:void 0};for(let E=0;E<e.length;E++){let z=w(E);if(!z)continue;let S=[],h=E+1,A=dr(e,h);S.push(A.names.length>0?{event:z,params:A.names}:{event:z});let k=h+A.len;for(;pr(e[k]??{value:""},r);){let P=e[k+1],O=o(P)??(v(P)?P.value:void 0);if(O){let q=k+2,W=dr(e,q);S.push(W.names.length>0?{event:O,params:W.names}:{event:O}),k=q+W.len;}else if(u(P))S.push({duration:P.value}),k+=2;else break}let x=k,D,R;if(p&&c(e[k])&&e[k+1]?(D=[k,k+1],R=e[k+1]):!p&&e[k]&&c(e[k+1])&&(D=[k,k+1],R=e[k]),!(S.length>1||A.names.length>0||!!D))continue;let C=D?D[1]+1:x;if(!f(E,C))continue;let b=[];x>h&&b.push([e[h-1].position.end,e[x-1].position.end]),D&&b.push([e[D[0]].position.start,e[D[1]].position.end]),b.sort((P,O)=>P[0]-O[0]);let T="",N=0;for(let[P,O]of b)T+=t.slice(N,P)+" ",N=O;T=(T+t.slice(N)).replace(/\s+/g," ").trim();let I=S[0],j=I.event.toLowerCase(),L=0;for(let P=0;P<E;P++)w(P)?.toLowerCase()===j&&f(P,P+1)&&L++;try{let P=n(T,r),O=[],q=me=>{if(!me)return;let ze=me.roles?.get("event")??me.roles?.get("duration"),H=ze?.type==="expression"?ze.raw:ze&&"value"in ze?String(ze.value):void 0;me.kind==="command"&&me.action==="wait"&&H?.toLowerCase()===j&&O.push(me);let _=me;for(let Y of ct){let se=_[Y];Array.isArray(se)&&se.forEach(ye=>q(ye));}};q(P??void 0);let W=O[L];if(!P||!W)continue;let re=W.roles;return re.has("event")||(re.delete("duration"),re.set("event",{type:"literal",value:I.event,dataType:"string"})),W.waitAlternatives=S,R&&(W.waitSource=O4(R)),P}catch{}}return null}function W4(e,t){let r=V(e,t).tokens;for(let n=0;n<r.length-1;n++){if(r[n].value.toLowerCase()!=="do")continue;let i=-1;for(let s=n+1;s<=n+5&&s<r.length;s++){let l=r[s];if(l.normalized?.toLowerCase()==="throw"){i=s;break}let c=l.kind;if(c==="selector"||c==="literal"||c==="reference"||c==="conjunction")break;let p=l.normalized?.toLowerCase();if(p==="then"||p==="me"||p==="it"||p==="you")break}if(i===-1)continue;let a=r[n].position.start,o=r[i].position.end,u=(e.slice(0,a)+e.slice(o)).replace(/\s{2,}/g," ").trim();return u.length===0?{remainingInput:null}:{remainingInput:u}}return {remainingInput:null}}var Io=new Map;function q4(e){if(typeof e!="string")return false;let t=e.toLowerCase(),r=Io.get(t);if(r!==void 0)return r;let n=false;try{let i=V(t,"en").tokens;n=i.length===1&&i[0]?.kind==="keyword";}catch{n=false;}return Io.set(t,n),n}var qi={ja:new Set(["\u3067"]),ko:new Set,tr:new Set(["de","da","te","ta"]),bn:new Set(["\u098F"]),qu:new Set(["pi"]),hi:new Set(["\u092A\u0930"])},V4={ko:[["\uD560","\uB54C"],["\uD560\uB54C"]]};function ci(e,t,r){let n=V4[r];if(!n)return 0;for(let i of n)if(i.every((a,o)=>e[t+o]?.value===a))return i.length;return 0}function H4(e,t){let r=qi[t];if(r===void 0)return false;let{tokens:n}=V(e,t),i=xe[t],a=new Set;if(i)for(let o of Object.keys(i))a.add(o.toLowerCase());for(let o=0;o<n.length;o++){let u=n[o],s=u.value.toLowerCase(),l=u.normalized?.toLowerCase();if(!(!!l&&(oe.has(l)||$e.has(l))||oe.has(s)||$e.has(s)||a.has(s)))continue;let p=dr(n,o+1).len,m=n[o+1+p];if(m&&(m.kind==="particle"||m.kind==="keyword")&&r.has(m.value)||ci(n,o+1+p,t)>0)return true}return false}var K4={ja:{markers:new Set(["\u304B\u3089"]),windowTokens:new Set(["\u30A6\u30A3\u30F3\u30C9\u30A6","\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8","window","document"])},ko:{markers:new Set(["\uC5D0\uC11C"]),windowTokens:new Set(["\uCC3D","\uC708\uB3C4\uC6B0","\uBB38\uC11C","window","document"])},tr:{markers:new Set(["den","dan","ten","tan"]),windowTokens:new Set(["pencere","belge","window","document"])},bn:{markers:new Set(["\u09A5\u09C7\u0995\u09C7","\u09AE\u09A7\u09CD\u09AF\u09C7"]),windowTokens:new Set(["\u0989\u0987\u09A8\u09CD\u09A1\u09CB","\u09A1\u0995\u09C1\u09AE\u09C7\u09A8\u09CD\u099F","window","document"])},qu:{markers:new Set(["manta"]),windowTokens:new Set(["k_iri","ventana","window","document"])},hi:{markers:new Set(["\u0938\u0947"]),windowTokens:new Set(["\u0935\u093F\u0902\u0921\u094B","\u0926\u0938\u094D\u0924\u093E\u0935\u0947\u091C\u093C","window","document"])}};function $o(e,t){if(!e)return false;let r=e.normalized?.toLowerCase();if(e.kind==="keyword"&&(r==="me"||r==="i"||r==="it"))return true;let n=e.value.toLowerCase();return t.has(n)||!!r&&t.has(r)}var U4={once:"once",debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"};function G4(e,t){let n=V(e,t).tokens;if(n.length===0)return {modifiers:null,remainingInput:null};let i=n[0],a=i.value.toLowerCase(),o=d=>n[d]?.value.toLowerCase(),u=d=>!!n[d]&&n[d].kind!=="selector",s=(i.normalized??a).toLowerCase()==="first";if(a==="on"&&o(1)==="first"&&n.length>2)return {modifiers:{once:true,onceAsFirst:true},remainingInput:e.slice(0,n[1].position.start)+e.slice(n[2].position.start)};if(s&&u(1))return {modifiers:{once:true,onceAsFirst:true},remainingInput:e.slice(n[1].position.start)};if(a==="on"&&o(1)==="every"&&n.length>2)return {modifiers:{every:true},remainingInput:e.slice(0,n[1].position.start)+e.slice(n[2].position.start)};if(a==="every"&&u(1)&&n.length>2)return {modifiers:{every:true},remainingInput:e.slice(n[1].position.start)};let l=U4[a];if(!l)return {modifiers:null,remainingInput:null};let c={},p=1;if(l==="once")c.once=true;else {let d=1;if(d<n.length){let v=n[d],g=n[d+1],w=v.kind==="identifier"&&g?.kind==="literal"&&/^\d+(ms|s|m)?$/.test(g.value);(v.kind==="keyword"||v.kind==="particle"||w)&&(d++,p++);}if(d<n.length){let v=n[d];if(v.kind==="literal"){let g=v.value.match(/^(\d+)(ms|s|m)?$/);if(g){let w=parseInt(g[1],10),E=g[2]||"ms";E==="s"?w*=1e3:E==="m"&&(w*=6e4),c[l]=w,p=d+1;}}}c[l]||(c[l]=l==="debounce"?300:100);}let m=n.slice(p);if(m.length===0)return {modifiers:null,remainingInput:null};let y=m[0].position.start,f=e.slice(y);return {modifiers:c,remainingInput:f}}function Y4(e,t){let r=F(t)?.keywords?.async,n=new Set(["async"]);r?.primary&&n.add(r.primary.toLowerCase()),r?.alternatives?.forEach(s=>n.add(s.toLowerCase()));let i=V(e,t).tokens,a=i.findIndex(s=>n.has(s.value.toLowerCase()));if(a===-1)return {remainingInput:null};let o=i[a],u=(e.slice(0,o.position.start)+e.slice(o.position.end)).replace(/\s{2,}/g," ").trim();return u.length===0?{remainingInput:null}:{remainingInput:u}}function pe(e,t){return {...e,eventModifiers:{...e.eventModifiers,...t}}}function Z4(e,t){let r=[];for(;;){let n=e.mark(),i=e.peek();if(!i)break;if(!pr(i,t)){e.reset(n);break}e.advance();let a=e.peek();if(!a){e.reset(n);break}let o=a.normalized||a.value;e.advance(),r.push({type:"literal",value:o});}return r}function Zs(e,t,r){let n=e.mark(),i=0,a=-1;for(;;){let c=e.peek(i);if(!c||Ue(c.value,t)||Mr(c,t))break;if(gs(c)){let p=e.peek(i+1),m=!!p&&c.position?.end!==void 0&&c.position.end===p.position?.start&&bt(t,"js",`${c.value}${p.value}`.toLowerCase()),y=e.peek(i+(m?2:1));if(i>0&&y&&Mr(y,t)){a=i;break}}i++;}if(a<=0)return null;let o=[];for(let c=0;c<a;c++){let p=e.peek(c);p&&o.push(p);}let u=o[o.length-1];if(u&&ws(u,t)&&o.pop(),o.length===0)return e.reset(n),null;let s=Qs(o,r);for(let c=0;c<a;c++)e.advance();e.advance();let l=e.peek();return l&&!Mr(l,t)&&e.advance(),e.advance(),fe("js",{patient:{type:"expression",raw:s||"()"}},{sourceLanguage:t,patternId:`js-opaque-final-${t}`,confidence:1})}function Vi(e,t,r){let n=e.peek();if(!n||!gs(n))return null;let i=e.mark(),a=[];e.advance();let o=e.peek();o&&n.position?.end!==void 0&&n.position.end===o.position?.start&&bt(t,"js",`${n.value}${o.value}`.toLowerCase())&&e.advance();let u=e.peek();u&&ws(u,t)&&e.advance();let s=false;for(;!e.isAtEnd();){let c=e.peek();if(!c)break;if(e.advance(),Mr(c,t)){s=true;break}a.push(c);}if(!s)return e.reset(i),null;let l=Qs(a,r);return fe("js",{patient:{type:"expression",raw:l||"()"}},{sourceLanguage:t,patternId:`js-opaque-${t}`,confidence:1})}function Qs(e,t){if(e.length===0)return "";let r=e[0].position?.start,n=e[e.length-1].position?.end,i=t;if(i!==void 0&&r!==void 0&&n!==void 0){let o=i.slice(r,n),u=s=>s.replace(/\s+/g,"");if(u(o)===u(e.map(s=>s.value).join("")))return o.trim()}let a="";for(let o=0;o<e.length;o++){let u=e[o-1],s=u?.position?.end!==void 0&&e[o].position?.start===u.position.end;o>0&&!s&&(a+=" "),a+=e[o].value;}return a.trim()}var Xs=["if","unless","repeat","for","while"],En=/^[A-Z][A-Za-z0-9_]*$/;function ue(e,t){let r=new Set([t]),i=F(e)?.keywords?.[t];if(i){i.primary&&r.add(i.primary.toLowerCase());for(let a of i.alternatives??[])r.add(a.toLowerCase());}return t==="def"&&r.add(De(e,"def").toLowerCase()),r}function K(e,t){return t.has(e.value.toLowerCase())?true:e.normalized?t.has(e.normalized.toLowerCase()):false}var Q4=new Set(Xs);function gr(e){return {byAction:Xs.map(t=>[t,ue(e,t)]),elseForms:ue(e,"else"),inForms:ue(e,"in"),tellForms:ue(e,"tell"),language:e,onForms:ue(e,"on"),featureForms:new Set(["def","init","behavior"].flatMap(t=>[...ue(e,t)])),onLeads:F(e)?.wordOrder!=="SOV",startWords:e==="en"?[]:V(De(e,"start"),e).tokens.map(t=>t.value.toLowerCase()),startLast:F(e)?.wordOrder==="SOV"}}function jo(e,t){if(!e)return;let r=e.normalized?.toLowerCase();return r?Q4.has(r)?r:void 0:t.byAction.find(([,n])=>K(e,n))?.[0]}function X4(e,t,r){let n=o=>e[o]?.value.toLowerCase(),i=o=>n(o)==="view"&&n(o+1)==="transition",a=o=>r.startWords.length>0&&r.startWords.every((u,s)=>n(o+s)===u);return n(t)==="start"?i(n(t+1)==="a"?t+2:t+1):r.startLast?i(t)&&a(t+2):a(t)&&i(t+r.startWords.length)}function J4(e,t){if(!e)return false;let r=e.normalized?.toLowerCase();return r?r==="tell":K(e,t.tellForms)}function eh(e,t,r){let n=0;for(let i=t+1;i<e.length;i++){let a=e[i];if(ie(e,i,r.language)){if(n===0)return true;n--;continue}if(n===0&&(K(a,r.featureForms)||r.onLeads&&K(a,r.onForms)&&ft(e[i+1])))return false;Gt(e,i,r)&&n++;}return false}function Gt(e,t,r){if(X4(e,t,r))return true;if(J4(e[t],r))return eh(e,t,r);let n=e[t],i=jo(n,r);if(!i||i==="while")return false;let a=e[t-1];if(i==="for"){if(jo(a,r)==="repeat")return false;if(n.value.toLowerCase()==="for"){let o=e[t+2];return !!o&&(K(o,r.inForms)||o.normalized==="in")}}return !(i==="if"&&a&&K(a,r.elseForms)&&!n.metadata?.lineStart)}var Wo=new Set(["me","it","you","the","body","window","document","its","event","result","target","self","this","them","parent","next","previous","closest","first","last"]),th=new Set(["destination","source","style","patient","on","from","to"]);function ft(e){if(!e||e.kind==="selector"||e.kind==="literal"&&/^\d/.test(e.value))return false;let t=(e.normalized??e.value).toLowerCase(),r=e.value.toLowerCase();return !(Wo.has(t)||Wo.has(r)||th.has(t))}var Js=e=>Object.prototype.hasOwnProperty.call(ke,e),rh=new Set(["toggle","trigger"]);function pi(e){return e.flatMap((t,r)=>{if(t.type==="group")return pi(t.tokens);if(t.type!=="literal")return [];let n=e[r+1];return [{words:[t.value,...t.alternatives??[]].map(i=>i.toLowerCase()),role:n?.type==="role"?n.role:void 0}]})}function nh(e,t,r,n){return e.some((i,a)=>{if(!i.words.includes(t)||!i.role||!n.has(i.role))return false;let o=0;for(let u of r){let s=e.findIndex((l,c)=>c>=o&&c<a&&l.words.includes(u));if(s<0)return false;o=s+1;}return true})}function ih(e,t,r,n,i){let a=e[r].value.toLowerCase();for(let o=r-1;o>t;o--){let u=e[o];if(i(o)||u.value.toLowerCase()===a)return false;let s=(u.normalized??u.value).toLowerCase();if(!Js(s)||s==="on")continue;let l=be(n).filter(p=>p.command===s);if(rh.has(s)){let p=e.slice(o+1,r).map(m=>m.value.toLowerCase());return l.some(m=>pi(m.template.tokens).some(y=>y.words.includes(a)&&!p.some(f=>y.words.includes(f))))}let c=new Set((ke[s]?.roles??[]).filter(p=>p.required).map(p=>p.role));return l.some(p=>{let m=pi(p.template.tokens),y=new Set(m.flatMap(d=>d.words)),f=e.slice(o+1,r).map(d=>d.value.toLowerCase()).filter(d=>y.has(d));return nh(m,a,f,c)})}return false}function Ze(e){let t=new Set;e?.primary&&t.add(e.primary.toLowerCase());for(let r of e?.alternatives??[])t.add(r.toLowerCase());return t}var qo=new Map;function Kr(e){return e.type!=="literal"?[]:[e.value,...e.alternatives??[]].map(t=>t.toLowerCase().split(/\s+/))}function ah(e,t){let r=[[]];for(let n=t+1;n<e.length;n++){let i=e[n];if(i.type==="literal"){if(e[n+1]?.type==="role")break;r=r.flatMap(a=>Kr(i).map(o=>[...a,...o]));}else if(i.type==="group"&&i.optional&&i.tokens.every(a=>a.type==="literal")){let a=i.tokens.reduce((o,u)=>o.flatMap(s=>Kr(u).map(l=>[...s,...l])),[[]]);r=r.flatMap(o=>[o,...a.map(u=>[...o,...u])]);}else break}return r.filter(n=>n.length>0)}function el(e){let t=qo.get(e);if(t)return t;let r=F(e),n=r?.wordOrder==="SOV",i=[],a=new Map,o=new Set;for(let m of be(e)){if(m.command!=="on"||/-event-/i.test(m.id))continue;let y=m.template.tokens,f=y.findIndex(v=>v.type==="role"&&v.role==="event");if(f<0)continue;let d=y[f+1];if(f===1&&d?.type==="literal"&&y[f+2]?.type!=="role"&&i.push([new Set(Kr(y[0]).flat()),new Set(Kr(d).flat())]),!(!n||f>0))for(let v of ah(y,f))v.length>1?a.set(v.join(" "),v):o.add(v[0]);}let u=new Set([...o,...[...a.values()].flat()]),s=Ze(r?.keywords?.when),l=n?new Set([...s].filter(m=>!u.has(m))):new Set([...ue(e,"on"),...s]),c=n?new Set([...Ze(r?.keywords?.on)].filter(m=>o.has(m))):new Set,p={sov:n,leading:l,circumfix:i,trailing:[...a.values()],afterClause:c,patient:Ze(r?.roleMarkers?.patient),source:Ze(r?.roleMarkers?.source),language:e,anchors:[...l,...i.flatMap(([m])=>[...m]),...[...a.values()].map(m=>m[m.length-1]),...c].filter(m=>m.length>0)};return qo.set(e,p),p}function oh(e,t,r){return r.every((n,i)=>e[t+i]?.value.toLowerCase()===n)}function tl(e,t,r,n,i,a,o){let u=e[t],s=u.value.toLowerCase();if(t>r&&ft(e[t+1])&&(K(u,i.leading)&&!(e[t+2]&&K(e[t+2],a))&&!ih(e,r,t,n,o)||i.circumfix.some(([m,y])=>m.has(s)&&sh(e,t,y,i))))return Yn(e,t,r,i,true);let c=uh(e,t-1,r),p=e[c];return c<=r||!ft(p)?null:i.trailing.some(m=>oh(e,t,m))?Yn(e,c,r,i,true):i.afterClause.has(s)&&(p.kind==="keyword"||p.kind==="identifier")&&lh(e,c,i)?Yn(e,c,r,i,false):null}function uh(e,t,r){if(e[t]?.value!==")")return t;let n=o=>/^[\p{L}_$][\p{L}\p{N}_$]*$/u.test(o.value),i=t-1;for(;i>r&&e[i].value!=="(";){if(e[i].value!==","&&!n(e[i]))return t;i--;}let a=e[i-1];return e[i]?.value==="("&&i<t-1&&a!==void 0&&a.position.end===e[i].position.start?i-1:t}function sh(e,t,r,n){let i=o=>e[o]?.value.toLowerCase(),a=o=>r.has(i(o)??"");return a(t+2)||e[t+2]!==void 0&&K(e[t+2],n.source)&&a(t+4)}function Yn(e,t,r,n,i){return n.sov&&t-2>=r&&K(e[t-1],n.source)?t-2===r?null:{at:t-2,certain:i}:{at:t,certain:i}}var rl=.4;function lh(e,t,r){let n=a=>{let o=e[a];if(!o||o.kind!=="keyword")return false;let u=(o.normalized??o.value).toLowerCase();return Js(u)||ie(e,a,r.language)},i=e[t-1];return n(t-1)?true:i!==void 0&&i.kind==="particle"&&!K(i,r.patient)&&n(t-3)}function nl(e,t){let r=[],n=t.position.end,i=e.slice(t.position.end).match(/^\s*\(([^)]*)\)/);if(i){n=t.position.end+i[0].length;for(let a of i[1].split(/[,\u060c\u3001]/)){let o=a.trim();o&&r.push(o);}}return {parameters:r,headerEnd:n}}function wr(e,t,r){let n=t+1;if(n>=e.length)return -1;let i=Ze(F(r)?.roleMarkers?.patient);return i.size>0&&K(e[n],i)&&n++,n<e.length?n:-1}var il=/^[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*$/;function ch(e){let t=1;if(e[1]?.value==="("){let r=0,n=1;for(;n<e.length;n++)if(e[n].value==="(")r++;else if(e[n].value===")"&&--r===0)break;if(n>=e.length)return -1;t=n+1;}return t+1}function ph(e,t,r){let n=F(r);if(n?.wordOrder!=="SOV"||!il.test(e[0].value)||t!==ch(e))return false;let i=Ze(n.roleMarkers?.patient);return i.size===0?false:K(e[t-1],i)}function dh(e,t,r){if(!F(t))return null;let n=ue(t,"behavior"),i=ue(t,"def"),a=e.toLowerCase(),o=[...n].some(p=>a.includes(p)),u=/\bdef\b/.test(a)||[...i].some(p=>p!=="def"&&a.includes(p));if(!o&&!u)return null;let s=V(e,t).tokens;if(s.length<2)return null;if(K(s[0],n))return Ko(e,t,s,r,0);let l=s.findIndex((p,m)=>m>0&&K(p,n));if(l>0&&En.test(s[0].value))return Ko(e,t,s,r,l);if(K(s[0],i))return Uo(e,t,s,r,0);let c=s.findIndex((p,m)=>m>0&&K(p,i));return c>0&&ph(s,c,t)?Uo(e,t,s,r,c):null}function Vo(e,t,r){return al(e,t,r)?.node??null}function al(e,t,r){if(!F(t))return null;let i=el(t),a=ue(t,"then"),o=e.toLowerCase(),u=[...Df(t)].some(k=>o.includes(k)),s=i.anchors.some(k=>o.trimStart().startsWith(k)),l=(()=>{let k=0;for(let x of i.anchors)for(let D=o.indexOf(x);D>=0;D=o.indexOf(x,D+x.length))if(++k>=(s?2:1))return true;return false})();if(!u&&!l)return null;let c=V(e,t).tokens;if(c.length<2)return null;let p=c.slice(0,ll);if(mh.some(k=>p.some(x=>K(x,ue(t,k)))))return null;let m=gr(t),y=k=>Gt(c,k,m),f=k=>ie(c,k,t),d=k=>Ge(c,k,t)||K(c[k],a),v=[],g=false,w=0,E=0;for(let k=0;k<c.length;k++){let x=c[k];if(f(k)){if(w>0){w--;continue}if(c[k+1]&&K(c[k+1],a))continue;let D=e.slice(c[E].position.start,x.position.start).trim();D&&v.push(D),E=k+1;}else if(y(k))w++;else if(w===0){let D=tl(c,k,E,t,i,a,d);if(!D)continue;D.certain||(g=true);let R=e.slice(c[E].position.start,c[D.at].position.start).trim();R&&v.push(R),E=D.at;}}if(E<c.length){let k=e.slice(c[E].position.start).trim();k&&v.push(k);}if(v.length<2)return null;let z=[],S=[];for(let k of v){let x;try{x=r.statement(k,t);}catch{return null}if(!x||!yh(x))return null;if(x.kind==="event-handler"){let D=x;if(!D.body||D.body.length===0)return null}z.push(x),S.push(x.metadata?.confidence??.75);}let h=Wt(S);return {node:Ht(z,"then",{sourceLanguage:t,confidence:g?Math.min(h,rl):h,sourceText:e}),unsure:g}}function ol(e,t){let r=Ho(t,"catch"),n=Ho(t,"finally"),i=e.toLowerCase();if(![...r.words,...n.words].some(d=>i.includes(d)))return null;let a=V(e,t).tokens,o=(d,v)=>!!d&&(d.value.toLowerCase()===v||d.normalized?.toLowerCase()===v),u=(d,v)=>d.runs.find(g=>g.every((w,E)=>o(a[v+E],w)))?.length??0,s=-1,l=0,c=-1,p=0;for(let d=0;d<a.length;d++){let v=s<0&&c<0?u(r,d):0;v>0?/^[A-Za-z_$][\w$]*$/.test(a[d+v]?.value??"")&&(s=d,l=v):c<0&&(p=u(n,d),p>0&&(c=d));}if(s<0&&c<0)return null;let m=d=>d<a.length?a[d].position.start:e.length,y=s>=0?s:c,f={main:e.slice(0,m(y)).trim()};return s>=0&&(f.catchName=a[s+l].value,f.catchText=e.slice(m(s+l+1),c>=0?m(c):e.length).trim()),c>=0&&(f.finallyText=e.slice(m(c+p)).trim()),f}function Ho(e,t){let r=[...ue(e,t)],n=r.map(a=>[a]);for(let a of ts(e,t,o=>V(o,e).tokens.map(u=>u.value)))n.push(a);let i=De(e,t).toLowerCase();return {words:r.includes(i)?r:[...r,i],runs:n}}function ul(e,t,r){let n=i=>i?kr(r.body(i,t)):[];return {...e.catchName!==void 0?{catchName:e.catchName,catchBody:n(e.catchText)}:{},...e.finallyText!==void 0?{finallyBody:n(e.finallyText)}:{}}}var mh=["behavior","eventsource","socket","worker","intercept"],fh=new Set(["bind","set","install","js"]);function yh(e){switch(e.kind){case "event-handler":case "def":case "behavior":case "feature":return true;case "command":return fh.has(e.action);default:return false}}function Wt(e){return e.length>0?e.reduce((t,r)=>t+r,0)/e.length:0}function kr(e){let t=[];for(let r of e){let n=r.statements;r.kind==="compound"&&Array.isArray(n)?t.push(...n):t.push(r);}return t}function sl(e,t){let r=e[t].value,n=t;for(;e[n+1]&&e[n+1].position.start===e[n].position.end&&/^\.[A-Za-z_$][\w$]*$/.test(e[n+1].value);)n++,r+=e[n].value;return {name:r,lastIdx:n}}function Ko(e,t,r,n,i){let a=i>0,o=a?0:wr(r,i,t);if(o<0)return null;let{name:u,lastIdx:s}=sl(r,o);if(!u.split(".").every(L=>En.test(L)))return null;let l=r[s],{parameters:c,headerEnd:p}=nl(e,l),m=a?i+1:r.findIndex(L=>L.position.start>=p);m<=s&&(m=s+1);let y=ue(t,"init"),f=gr(t),d=L=>Gt(r,L,f),v=L=>ie(r,L,t),g=el(t),w=ue(t,"then"),E=L=>Ge(r,L,t)||K(r[L],w),z=L=>{let P=L<r.length?r[L].position.start:e.length,O=e.slice(r[b].position.end,P).trim();if(O)try{let q=kr(n.body(O,t));A.push(...q),k.push(Wt(q.map(W=>W.metadata?.confidence??.75)));}catch{k.push(0);}},S=L=>{let P=al(L,t,n);if(P){P.unsure&&(R=true);for(let O of P.node.statements)O.kind==="event-handler"?(h.push(O),k.push(O.metadata?.confidence??.75)):(k.push(0),x.push(O.metadata?.sourceText??L));return}try{let O=n.statement(L,t);if(O&&O.kind==="event-handler"){let q=O;h.push(q);let W=!q.body||q.body.length===0;k.push(W?.2:q.metadata?.confidence??.75);}else k.push(0),x.push(L);}catch{k.push(0),x.push(L);}},h=[],A=[],k=[],x=[],D=false,R=false,B=ue(t,"behavior"),C=0,b=m;for(let L=m;L<r.length;L++){let P=r[L];if(C===0&&L>m&&K(P,B)){if(b<L){let O=e.slice(r[b].position.start,P.position.start).trim();K(r[b],y)?z(L):O&&S(O);}x.push(e.slice(P.position.start).trim()),D=true,b=r.length;break}if(v(L)){if(C>0){C--;continue}if(L===b){D=true;break}if(K(r[b],y)){z(L),b=L+1;continue}S(e.slice(r[b].position.start,P.position.start).trim()),b=L+1;}else if(d(L))C++;else if(C===0&&K(r[b],y)){let O=tl(r,L,b,t,g,w,E);if(!O)continue;O.certain||(R=true),z(O.at),b=O.at;}}if(!D&&b<r.length&&(K(r[b],y)?z(r.length):S(e.slice(r[b].position.start).trim())),h.length===0&&A.length===0&&x.length===0)return null;let T=(D?1:.8)*Wt(k),N=R?Math.min(T,rl):T,I=Fp(u,c,h,A.length>0?A:void 0,{sourceLanguage:t,confidence:N,sourceText:e});if(x.length===0)return I;let j=x.map(L=>({message:`behavior member left unconsumed (not a handler or init): "${L}"`,severity:"warning",source:"semantic-parser",code:"unconsumed-input"}));return {...I,diagnostics:[...I.diagnostics??[],...j]}}function Uo(e,t,r,n,i){let a=i>0,o=a?0:wr(r,i,t);if(o<0)return null;let{name:u,lastIdx:s}=sl(r,o);if(!il.test(u))return null;let l=r[s],{parameters:c,headerEnd:p}=nl(e,l),m=a?i+1:r.findIndex(R=>R.position.start>=p);m<=s&&(m=s+1);let y=gr(t),f=R=>Gt(r,R,y),d=R=>ie(r,R,t),v=0,g=-1;for(let R=m;R<r.length;R++)if(d(R)){if(v===0){g=R;break}v--;}else f(R)&&v++;let w=r[m]?.position.start??p,E=g>=0?r[g].position.start:e.length,z=e.slice(w,E).trim(),S=ol(z,t),h=S?S.main:z;if(!h)return null;let A,k={};try{A=kr(n.body(h,t)),S&&(k=ul(S,t,n));}catch{return null}if(A.length===0)return null;let x=Wt(A.map(R=>R.metadata?.confidence??.75));g<0&&(x*=.8);let D=Lp(u,c,A,{sourceLanguage:t,confidence:x,sourceText:e});return Object.keys(k).length>0?{...D,...k}:D}var di=["live","init","eventsource","socket","worker","intercept"],vh=new Set(["intercept"]),Hi=new Set(["eventsource","socket","worker"]),hh=new Set(["eventsource","socket"]),Eh=new Set(["worker"]),ll=6,gh=2;function wh(e,t){for(let n of di)if(K(e[0],ue(t,n))){if(n==="init"&&e[1]?.kind==="particle")continue;return {action:n,keywordIdx:0}}if(F(t)?.wordOrder!=="SOV")return null;let r=Math.min(e.length,ll);for(let n=1;n<r;n++)for(let i of di)if(!(i==="live"||i==="init")&&K(e[n],ue(t,i))&&!(Hi.has(i)&&!En.test(e[0].value))&&!(i==="intercept"&&n>gh))return {action:i,keywordIdx:n};return null}function kh(e,t,r){let n=Ze(F(r)?.roleMarkers?.source);return n.size===0||t+1>=e.length?0:K(e[t],n)||K(e[t+1],n)?2:0}function cl(e){let t=ue(e,"on");t.add("when");let r=F(e)?.eventHandler;if(r?.keyword){t.add(r.keyword.primary.toLowerCase());for(let n of r.keyword.alternatives??[])t.add(n.toLowerCase());}for(let n of r?.temporalMarkers??[])t.add(n.toLowerCase());return t}function Ch(e,t,r){let n=F(r)?.eventHandler,i=[n?.eventMarker?.primary,...n?.eventMarker?.alternatives??[],...n?.temporalMarkers??[]].filter(o=>!!o&&/\s/.test(o)),a=1;for(let o of i){let u=o.toLowerCase().split(/\s+/),s=t-u.length+1;s<0||u.every((l,c)=>e[s+c]?.value.toLowerCase()===l)&&(a=Math.max(a,u.length));}return a}function bh(e,t,r,n,i){if(e==="init"&&pl(t,r))return r+2;if(e==="live"||e==="init")return r+1;if(r>0){let l=r+1;return e==="eventsource"&&(l+=kh(t,l,n)),l}let a=wr(t,r,n);if(a<0)return -1;if(e==="worker")return a+1;let o=cl(n),u=Ze(F(n)?.roleMarkers?.event),s=i>=0?i:t.length;for(let l=a+1;l<s;l++){if(!K(t[l],o))continue;if(ft(t[l+1]))return l;if(l>a+2&&u.size>0&&K(t[l-1],u)&&ft(t[l-2]))return l-2;let c=Ch(t,l,n);if(c>1&&l-c>a&&ft(t[l-c]))return l-c;if(l>a+1&&ft(t[l-1]))return l-1}return s}function zh(e,t,r,n){if(!Hi.has(e))return;let i=r>0?0:wr(t,r,n);if(!(i<0))return t[i].value}function Ah(e,t,r){if(!F(t))return null;let n=e.toLowerCase(),i=false;for(let s of [...di,"changes"]){for(let l of ue(t,s))if(l&&n.includes(l)){i=true;break}if(i)break}if(!i)return null;let a=V(e,t).tokens;if(a.length<2)return null;let o=Bh(a,t);if(o>=0)return Lh(e,t,a,r,o);let u=wh(a,t);return u?xh(e,t,a,r,u.action,u.keywordIdx):null}function xh(e,t,r,n,i,a){let o=gr(t),u=h=>Gt(r,h,o),s=h=>ie(r,h,t),l=zh(i,r,a,t);if(Hi.has(i)&&(!l||!En.test(l)))return null;let c=h=>({sourceLanguage:t,confidence:h,sourceText:e}),p=mi(r,a+1,s,u);if(vh.has(i))return p>=0&&p!==r.length-1?null:ri(i,[],l,c(p>=0?1:.8));let m=bh(i,r,a,t,p);if(m<0||m>r.length)return null;let y=[],f=[],d=false,v=Eh.has(i);if(v||hh.has(i)){let h=v?"def":"event-handler",A=0,k=m;for(let x=m;x<r.length;x++){let D=r[x];if(s(x)){if(A>0){A--;continue}if(d=true,x===k)break;let R=v?D.position.end:D.position.start,B=e.slice(r[k].position.start,R).trim();try{let C=n.statement(B,t);if(C&&C.kind===h){let b=C;y.push(b);let T=!b.body||b.body.length===0;f.push(T?.2:b.metadata?.confidence??.75);}else f.push(0);}catch{f.push(0);}k=x+1;}else u(x)&&A++;}}else {let h=mi(r,m,s,u);d=h>=0;let A=h>=0?r[h].position.start:e.length,k=e.slice(r[m].position.start,A).trim();if(!k)return null;try{y.push(...kr(n.body(k,t)));}catch{return null}if(y.length===0)return null;f.push(...y.map(x=>x.metadata?.confidence??.75));}if(y.length===0&&!d)return null;let g=d?1:.8,w=f.length>0?g*Wt(f):g,E=Sh(i,e,r,a,m,t),z=ri(i,y,l,c(w),E?new Map([["source",E]]):void 0);return i!=="init"||!pl(r,a)?z:{...z,immediately:true}}function pl(e,t){return e[t+1]?.value.toLowerCase()==="immediately"}function Sh(e,t,r,n,i,a){if(e!=="eventsource"&&e!=="socket"||n!==0)return;let o=wr(r,n,a);if(o<0)return;let u=o+1,s=Math.min(i,r.length)-1;if(e==="eventsource"){let c=Ze(F(a)?.roleMarkers?.source),p=m=>!!m&&(K(m,c)||(m.normalized??"").toLowerCase()==="source");p(r[u])?u++:p(r[s])&&s--;}if(u>s)return;let l=t.slice(r[u].position.start,r[s].position.end).trim();return l?{type:"expression",raw:l}:void 0}var Dh=new Set([...Object.keys(ke),"then","else"]);function Th(e){let t=ue(e,"when");for(let r of cl(e))t.add(r);return t}function Bh(e,t){if(e.length<3||!K(e[0],Th(t)))return -1;let r=ue(t,"changes"),n=i=>r.has(i.value.toLowerCase())||i.normalized?.toLowerCase()==="changes";for(let i=2;i<e.length;i++){let a=e[i];if(a.kind==="literal")continue;if(n(a))return i;if(ie(e,i,t))return -1;let o=(a.normalized??a.value).toLowerCase();if(a.kind==="keyword"&&Dh.has(o))return -1}return -1}function Fh(e,t,r){if(r==="en"){let i=t[0],a=t[t.length-1];return {type:"expression",raw:e.slice(i.position.start,a.position.end).trim()}}let n=t.map(i=>pr(i,r)?{...i,kind:"keyword",normalized:"or"}:i);return {type:"expression",raw:_e(n,F(r))}}function Lh(e,t,r,n,i){let a=gr(t),o=g=>Gt(r,g,a),u=g=>ie(r,g,t),s=i+1;if(s>=r.length)return null;let l=mi(r,s,u,o),c=l>=0;if(c&&l!==r.length-1)return null;let p=c?r[l].position.start:e.length,m=e.slice(r[s].position.start,p).trim();if(!m)return null;let y;try{y=kr(n.body(m,t));}catch{return null}if(y.length===0)return null;let f=Fh(e,r.slice(1,i),t),v=(c?1:.8)*Wt(y.map(g=>g.metadata?.confidence??.75));return ri("when",y,void 0,{sourceLanguage:t,confidence:v,sourceText:e},new Map([["condition",f]]))}function mi(e,t,r,n){let i=0;for(let a=t;a<e.length;a++)if(r(a)){if(i===0)return a;i--;}else n(a)&&i++;return -1}var Ph={debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"},Oh=[["\u043E\u0434\u0438\u043D","_","\u0440\u0430\u0437"],["\u043E\u0434\u0438\u043D_\u0440\u0430\u0437"],["\u043E\u0434\u043D\u0430\u0436\u0434\u044B"],["m\u1ED9t","l\u1EA7n"],["once"]],Rh=/^(\d+)(ms|s|m)?$/,_h=new Set(["selector","literal","url","event-modifier"]);function Nh(e){let t=e.match(Rh);if(!t)return null;let r=parseInt(t[1],10),n=t[2]||"ms";return n==="s"?r*=1e3:n==="m"&&(r*=6e4),r}function Mh(e){for(let t=1;t<e.length;t++){let r=e[t];if(_h.has(r.kind))continue;let n=r.value.toLowerCase(),i=Ph[n];if(i){let a=0;for(let o=t+1;o<e.length;o++){let u=e[o],s=Nh(u.value);if(s!==null)return {modifiers:{[i]:s},start:r.position.start,end:u.position.end};if(u.kind==="selector"||u.kind==="literal"||u.kind==="url"||++a>2)break}continue}for(let a of Oh){if(a[0]!==n||t+a.length>e.length)continue;let o=true;for(let u=1;u<a.length;u++)if(e[t+u].value.toLowerCase()!==a[u]){o=false;break}if(o)return {modifiers:{once:true},start:r.position.start,end:e[t+a.length-1].position.end}}}return null}var Ki=new Set(["repeat","for",...an]),qt={kind:"loop-close"};function mr(e){return e===qt}function Ih(e){switch(e.type){case "expression":return e.raw;case "literal":return String(e.value);case "reference":return e.value;default:return}}var dl=new Set(["forever","times","for","while","until","until-event"]);function fi(e,t,r=false,n){if(n){let p=n.action==="until"?"until":"while",m=n.roles.get("condition");return no("repeat",p,{loopType:{type:"literal",value:p},...m?{condition:m}:{}},t,{...e.metadata?{metadata:e.metadata}:{},bottomTested:true})}if(t.length===0&&!r)return e;if(an.has(e.action))return {...e,body:t};let i=e.roles.get("loopType");if(i?.type==="literal"&&typeof i.value=="number"){let p=new Map(e.roles);return p.set("quantity",i),p.set("loopType",{type:"literal",value:"times"}),fi({...e,roles:p},t,r)}let a=i?.type==="literal"?String(i.value):void 0,o=e.action==="for"||a==="for"?"for":a==="times"||a==="while"||a==="forever"?a:a==="until"||a==="until-event"?"until":e.roles.has("quantity")?"times":"forever",u=o==="for"?e.roles.get("patient"):void 0;if(u&&u.implicit){u={type:"reference",value:"it"};let p=new Map(e.roles);return p.set("patient",u),fi({...e,roles:p},t,r)}let s=u?Ih(u):void 0,l=new Map(e.roles),c=l.get("quantity");return (o==="while"||o==="until")&&c&&!l.has("condition")&&(l.set("condition",c),l.delete("quantity")),no(e.action==="for"?"for":"repeat",o,Object.fromEntries(l),t,{...s?{loopVariable:s}:{},...e.metadata?{metadata:e.metadata}:{}})}function $h(e,t){for(let r=0;r+1<e.length;r++){let n=e[r],i=e[r+1];if(n.kind!=="command"||n.action!=="while"||i.kind!=="command"||i.action!=="repeat")continue;let a=n.roles.get("condition");if(!a||i.roles.has("condition")||Array.isArray(n.body)||Array.isArray(i.body))continue;let o=new Map(i.roles);o.set("condition",a),o.set("loopType",{type:"literal",value:"while",dataType:"string"}),e.splice(r,2,{...i,roles:o,metadata:{...i.metadata,sourceLanguage:t,patternId:`repeat-${t}-fronted-while-fold`,confidence:Math.max(i.metadata?.confidence??0,n.metadata?.confidence??0)}});}}function Go(e,t,r){if(F(r)?.wordOrder==="SOV"){let a=fl(t,r);if(a<0)return;let o=t[a];return t.length=a,o}let n=e.mark();e.peek()?.kind==="particle"&&e.advance();let i=e.peek();if(i&&ml(i,e.peek(1),r))return e.advance(),e.advance(),i;if(!Ui(i)){e.reset(n);return}return e.advance(),e.peek()?.kind==="identifier"&&e.advance(),i}function Ui(e){let t=e?.kind==="literal"?dn(e):null;return t?.type==="literal"&&typeof t.value=="number"}function ml(e,t,r){return !e||!t||!Si[r]?.includes(t.value)?false:e.kind==="identifier"||Ui(e)}function fl(e,t){let r=Ui,n=e.length;return e[n-1]?.kind==="particle"&&n--,ml(e[n-2],e[n-1],t)?n-2:(e[n-1]?.kind==="identifier"&&r(e[n-2])&&n--,r(e[n-1])?n-1:-1)}function jh(e,t,r){if(F(r)?.wordOrder!=="SOV")return false;if(fl(t,r)>=0)return true;let n=e.captured.get("loopType");return n?.type==="literal"&&typeof n.value!="number"&&!dl.has(String(n.value))}function Wh(e,t,r){if(mr(e)||e.kind!=="command"||e.action!=="until"&&e.action!=="while"||!t||t.bottom||t.body.length===0||t.head.action!=="repeat")return false;let n=t.head.roles.get("loopType");return n&&!(n.type==="literal"&&n.value==="forever")||t.head.roles.has("quantity")?false:r===void 0||mr(r)}function Yo(e,t){let r=e?dn(e):null;return fe("repeat",e&&r?{loopType:te("times"),quantity:Vu(r,{start:e.position.start,end:e.position.end})}:{},{sourceLanguage:t,confidence:.6})}function qh(e){if(e.length>=2){let t=e[0];if((t==='"'||t==="'")&&e.endsWith(t))return e.slice(1,-1)}return e}function Zo(e,t){if(e.length===0)return null;let r=e.filter(o=>o.kind!=="whitespace");if(r.length===0)return null;if(r.length>=2&&(r[0].kind==="selector"||/^[#.@*<]/.test(r[0].value))){let o=r.findIndex((u,s)=>s>0&&(u.normalized??u.value).toLowerCase()==="in");o>0&&(r=r.slice(0,o));}if(r.length===1)return yt(r[0]);let n=Et(r,t);if(ji(n))return {type:"expression",raw:n};let i=r.map(o=>o.value).join(""),a=r[0];return a.kind==="selector"||a.value.startsWith("#")||a.value.startsWith(".")||a.value.startsWith("@")||a.value.startsWith("*")?Oe(i):a.kind==="literal"||a.value.startsWith('"')||a.value.startsWith("'")?te(qh(i),"string"):a.kind==="reference"?Be(i):te(n)}function yt(e){return dn(e)??te(e.value)}function Et(e,t){return _e(e,F(t))}function Gi(e){let t=new Map;for(let[r,n]of Object.entries(e.keywords))if(!["on","if","else","when","where","while","end","then","and"].includes(r)&&(t.set(n.primary.toLowerCase(),r),n.alternatives))for(let i of n.alternatives)t.set(i.toLowerCase(),r);return t}function Vh(e){let t=new Map;for(let[r,n]of Object.entries(e.roleMarkers)){if(!n)continue;if((r!=="event"||!t.has(n.primary))&&t.set(n.primary,r),n.alternatives)for(let a of n.alternatives)t.has(a)||t.set(a,r);}return t}function yi(e,t){let r=F(t);if(!r||r.wordOrder!=="SOV")return [];let n=Gi(r),i=Vh(r),a=[],o=0;for(;o<e.length;){let u=-1,s="";for(let y=o;y<e.length;y++){let f=e[y];if(i.has(f.value))continue;let d=n.get(f.value.toLowerCase()),v=f.normalized?n.get(f.normalized.toLowerCase()):void 0,g=d||v;if(g){u=y,s=g;break}}if(u===-1)break;let l=e.slice(o,u),c=e.length;for(let y=u+1;y<e.length;y++){let f=e[y];if(f.kind==="conjunction"||Ue(f.value,t)){c=y;break}if(y>u+1&&!i.has(f.value)&&(n.get(f.value.toLowerCase())||(f.normalized?n.get(f.normalized.toLowerCase()):void 0))){c=y;break}}let p=e.slice(u+1,c),m=Hh(l,p,i,s,t);if(a.push(fe(s,m,{sourceLanguage:t,confidence:.7})),o=c,o<e.length){let y=e[o];(y.kind==="conjunction"||Ue(y.value,t))&&o++;}}return a}function Hh(e,t,r,n,i){let a={},o=u=>{let s=[];for(let l=0;l<u.length;l++){let c=u[l];if(sy(c,u[l+1],i))continue;let p=r.get(c.value);if(p&&c.kind==="particle"&&s.length>0){let m=Zo(s,i);if(m){let y=Kh(p,n,a);y&&(a[y]=m);}s=[];}else s.push(c);}if(s.length>0)if(s.length===1&&/^\d+(\.\d+)?(ms|s)$/i.test(s[0].value)&&!a.duration&&J(n)?.roles.some(c=>c.role==="duration"))a.duration={type:"literal",value:s[0].value,dataType:"string"};else {let c=Zo(s,i);c&&(a.patient?a.destination||(a.destination=c):a.patient=c);}};return o(e),o(t),a}function Kh(e,t,r){return t==="set"&&(e==="patient"?e="destination":e==="destination"&&(e="patient")),r[e]?e==="patient"&&!r.destination?"destination":e==="destination"&&!r.patient?"patient":e==="source"&&!r.source?"source":null:e}function Qo(e,t){let r=(e.normalized??e.value).toLowerCase();return e.kind==="keyword"&&t.has(r)&&!oe.has(r)&&!$e.has(r)}function Xo(e,t){let r=e.peek();if(!r)return;let n=(r.normalized??"").toLowerCase(),i=F(t)?.keywords?.for;(n==="for"||r.value===i?.primary||(i?.alternatives??[]).includes(r.value))&&e.advance();}function Ur(e,t,r){if(e.length===0)return false;let n=new ee(e,r);return Fe.matchBest(n,t)!==null}function Uh(e,t){if(!t)return false;let r=o=>t.has(o.value.toLowerCase())||!!o.normalized&&t.has(o.normalized.toLowerCase()),n=o=>o.kind==="identifier"||o.kind==="selector"||o.kind==="literal"||o.kind==="reference",i=0,a=0;for(;i+1<e.length;){let o=e[i],u=e[i+1];if(!n(o)||u.kind!=="particle")break;a+=1,i+=2;let s=e[i];if(a>=1&&s&&r(s))return true}return false}var Gh=new Set(["the","to","on","with","into","from","at"]),Jo=/^[A-Za-z_$][\w$]*$/,Yh=64;function eu(e){let t="";for(let r=0;r<e.length;r++){let n=e[r],i=e[r-1];i&&n.position.start>i.position.end&&(t+=" "),t+=n.value;}return t}function Zh(e,t){let r=0;for(let n=t;n<e.length&&n-t<=Yh;n++){let i=e[n].value;if(i==="(")r++;else if(i===")"&&(r--,r===0))return n+1}return -1}function tu(e,t){return t.position.start===e.position.end}function Qh(e,t,r,n){let i=e[t];if(!i||i.kind!=="identifier"&&i.kind!=="keyword"||!Jo.test(i.value)||n(i))return null;let a=t+1,o=i.value;for(;e[a]?.kind==="selector"&&/^\.[A-Za-z_$][\w$]*$/.test(e[a].value)&&tu(e[a-1],e[a]);)o+=e[a].value,a++;let u=a>t+1,s=e[a];if(!s||s.value!=="("||!tu(e[a-1],s))return null;let l=Zh(e,a);if(l<0)return null;let c=o+eu(e.slice(a,l));if(u)return {text:`call ${c}`,consumed:l-t};let p=l,y=e[p]?.value.toLowerCase(),f=null;if(y==="me")f="me",p++;else if(y!==void 0&&Gh.has(y)){p++,e[p]?.value.toLowerCase()==="the"&&p++;let d=e[p];if(!d)return null;let v=Pt(e,p,r);if(v)f=`(${eu(e.slice(p,p+v.consumed))})`,p+=v.consumed;else if(d.kind==="selector"&&d.value.startsWith("#")&&!/[.[:\s]/.test(d.value.slice(1)))f=d.value,p++;else if(d.kind==="selector"&&/^[.<]/.test(d.value))f=`(${d.value})`,p++;else if((d.kind==="keyword"||d.kind==="identifier")&&Jo.test(d.value)&&(He(d.value.toLowerCase())||d.kind==="identifier"))f=d.value,p++;else return null}return {text:f?`call ${f}.${c}`:`call ${c}`,consumed:p-t}}var Xh=new Set(["when","for"]);function Jh(e){return e.normalized||e.kind==="particle"?true:e.kind==="identifier"&&/[^\x00-\x7f]/.test(e.value)}var e3=new Set([...Ki,"if","unless","while","else"]),t3=new Set(["else","otherwise","catch","finally","on"]),r3=new Set(["to","from","into","onto","with","as","at","of","in","on","by","and","or","then","end","else","the","a","an","async"]);function Re(e){let t=e.coverageFrames[e.coverageFrames.length-1];return t?t.length:0}function ve(e,t){let r=e.coverageFrames[e.coverageFrames.length-1];r&&r.length>t&&(r.length=t);}var ru=new Map,n3={hi:["\u0915\u0947","\u0930\u0942\u092A","\u092E\u0947\u0902"],tr:["olarak"],qu:["hina"]};function i3(e){let t=ru.get(e);if(!t){t=new Set;let r=F(e)?.roleMarkers;if(r){for(let n of Object.values(r))if(n){if(n.primary)for(let i of n.primary.toLowerCase().split(/\s+/))t.add(i);for(let i of n.alternatives??[])for(let a of i.toLowerCase().split(/\s+/))t.add(a);}}for(let n of n3[e]??[])t.add(n.toLowerCase());ru.set(e,t);}return t}function yl(e,t,r){let n=e[t];if(n.kind==="particle"||n.kind==="conjunction"||n.metadata?.closesTrackedBlock||Ue(n.value,r)||ie(e,t,r)||Mt(n.value,r))return true;let i=(n.normalized??n.value).toLowerCase();return r3.has(i)?true:i3(r).has(n.value.toLowerCase())}function ot(e,t,r,n){if(t.length===0)return;let i=e.coverageFrames[e.coverageFrames.length-1];if(!i||!t.some((u,s)=>!yl(t,s,r)))return;let a=t.map(u=>u.value).join(" ").trim();if(!a)return;let o=a.length>jr?`${a.slice(0,jr)}\u2026`:a;i.push(X(`${n} left ${t.length} token(s) unconsumed: "${o}"`,"warning","unconsumed-input"));}function Yi(e,t,r,n,i){let a=r[0];if(!t||t.kind!=="command"||!a||e3.has(t.action)||r.every((l,c)=>yl(r,c,i))||i!=="en"&&r.some(l=>Jh(l))||n&&n.position.end===a.position.start&&a.value!==","||r.some((l,c)=>{let p=[l.value.toLowerCase(),(l.normalized??l.value).toLowerCase()];return c===0&&p.some(m=>Xh.has(m))?false:p.some(m=>t3.has(m))||Ue(l.value,i)||ie(r,c,i)||Mt(l.value,i)||l.kind==="keyword"&&p.some(m=>!!J(m))}))return false;let u="";r.forEach((l,c)=>{let p=r[c-1];u+=!p||p.position.end===l.position.start?l.value:` ${l.value}`;});let s=t;return s.verbatimClause=s.verbatimClause?`${s.verbatimClause} ${u}`:u,e.coverageFrames[e.coverageFrames.length-1]?.push(X(`clause kept as written, read by no role: "${u}"`,"warning","verbatim-clause")),true}function vl(e,t){let r=t.action==="repeat"||t.action==="for"?"patient":t.action==="set"?"destination":null;if(!r)return;let n=t.roles.get(r);n?.type==="expression"&&typeof n.raw=="string"&&/^[A-Za-z_]\w*$/.test(n.raw)&&e.boundIdentifiers.add(n.raw);}function Zi(e){if(mr(e)||e.kind!=="command"||!Ki.has(e.action))return false;let t=e.body;return an.has(e.action)?t===void 0:!(Array.isArray(t)&&t.length>0)}function Gr(e){return e.kind!=="keyword"&&e.kind!=="identifier"?false:(e.normalized??e.value).toLowerCase()==="repeat"}function vi(e,t){let r=[],n=[],i=o=>{(n.length>0?n[n.length-1].body:r).push(o);},a=o=>{let u=n.pop();u&&i(fi(u.head,u.body,o,u.bottom));};for(t.forEach((o,u)=>{let s=n[n.length-1];if(mr(o))a(true);else if(Zi(o))n.push({head:o,body:[]});else if(Wh(o,s,t[u+1]))s.bottom=o;else if(e.bottomTestTokens.has(o)){let l=o.metadata?.sourceLanguage??"en";ot(e,e.bottomTestTokens.get(o),l,"body clause");}else i(o);});n.length>0;)a(false);return r}function a3(e,t,r,n){if(F(n)?.wordOrder==="SOV")return false;let i=e.captured.get("loopType");return i?.type==="literal"&&typeof i.value!="number"&&!dl.has(String(i.value))&&Ur([...t],r,n)}function hl(e,t,r,n){let i=t.peek();if(!i||i.kind!=="keyword"&&i.kind!=="particle"||(i.normalized??i.value).toLowerCase()!=="until"&&i.metadata?.role!=="until"&&F(n)?.keywords?.until?.primary!==i.value||r[r.length-1]?.action==="toggle")return null;let o=t.tokens,u=[];for(let c=t.position()+1;c<o.length;c++){let p=o[c],m=je(o,c);if(ie(o,c,n)||Er(p,m,n))break;if(Gr(p))return null;u.push(p);}if(u.length===0)return null;let s=[i,...u];for(let c=0;c<s.length;c++)t.advance();let l=fe("until",{condition:{type:"expression",raw:Et(u,n)}},{sourceLanguage:n});return e.bottomTestTokens.set(l,s),l}var o3=new Set(["elsewhere","in","of","or","queue","having"]),nu=8;function El(e,t,r,n){if(n!=="en")return null;let i=Qh(t.tokens,t.position(),F(n),u=>!!J((u.normalized??u.value).toLowerCase()));if(!i)return null;let a=V(i.text,n),o=Fe.matchBest(a,r.filter(u=>u.command==="call"));if(!o||!a.isAtEnd())return null;for(let u=0;u<i.consumed;u++)t.advance();return gn(e,o,n)}function gn(e,t,r){if(!t)throw new Error("No match to build command from");let n={};for(let[a,o]of t.captured)n[a]=o;let i=fe(t.pattern.command,n,{sourceLanguage:r,patternId:t.pattern.id,confidence:t.confidence});return vl(e,i),i}function iu(e,t,r,n){let i=t.tokens,a=t.position(),o=i[a];if(!o||!(o3.has(o.value.toLowerCase())||/^\d+$/.test(o.value)))return;let s=a+1;for(;s<i.length&&s-a<=nu&&!Ur(i.slice(s),r,n);)s++;if(s>=i.length||s-a>nu)return;let l=i.slice(a,s),c=l.map(m=>m.value).join(" ");if(/^\d/.test(o.value)&&(!/^\d+(?: to \d+)?$/.test(c)||Ur(i.slice(a),r,n)))return;let p={kind:"command",action:"on"};if(Yi(e,p,l,i[a-1],n)){for(;t.position()<s;)t.advance();return p.verbatimClause}}function Qi(e,t,r){return !!t&&Mt(t.value,r)&&!e.metadata?.lineStart}function au(e,t,r){let n=(e.normalized??e.value).toLowerCase();return Le(n,r)?!Qi(e,t,r):It(n,r)?true:n==="repeat"?e.kind==="keyword"||e.kind==="identifier":n!=="for"||e.kind!=="keyword"?false:!(t&&Gr(t))}var hi=new Set(["then","end","else","if","unless","while","for","repeat","and"]),u3=new Set(["first","last","next","previous","random","closest"]);function s3(e,t){let r=t.roles;if(r.has("duration")||!J(t.action)?.roles.some(a=>a.role==="duration"&&!a.required))return;let i=e.peek();!i||!/^\d+(?:\.\d+)?(?:ms|s|m|h)$/.test(i.value)||(r.set("duration",te(i.value,"duration")),e.advance());}function l3(e,t){let r=t.roles;if(t.action!=="go"||r.has("manner"))return;let[n,i,a]=[e.peek(),e.peek(1),e.peek(2)];if(!(n?.value.toLowerCase()!=="in"||i?.value.toLowerCase()!=="new")&&!(!a||(a.normalized??a.value).toLowerCase()!=="window")){r.set("manner",Be("window"));for(let o=0;o<3;o++)e.advance();}}function Xi(e,t,r,n){let i=J(t.action);if(!i)return;let a=F(r);if(!a)return;let o=t.roles,u=(l,c)=>{if(!l)return false;if(l.kind==="selector")return true;let p=(l.normalized??l.value).toLowerCase();return hi.has(p)?false:p==="body"||p==="it"||p==="you"||p==="result"||p==="document"||p==="window"||n.has(l.value)?true:c?false:l.kind==="identifier"||l.kind==="reference"},s=[{role:"source",strict:false},{role:"destination",strict:true}];for(let{role:l,strict:c}of s){if(!i.roles.some(v=>v.role===l))continue;let p=a.roleMarkers?.[l];if(!p)continue;let m=o.get(l);if(m&&!(m.type==="reference"&&m.value==="me"))continue;let y=v=>{if(!v||v.kind!=="particle"&&v.kind!=="keyword")return false;let g=v.value.toLowerCase();return p.primary?.toLowerCase()===g?true:c?false:(v.normalized??"").toLowerCase()===l?true:!!p.alternatives?.some(w=>w.toLowerCase()===g)},f=e.peek(),d=e.peek(1);if(!f||!d)return;if(c&&p.position==="after"){let v=e.peek(2),g=(f.normalized??f.value).toLowerCase();if(u3.has(g)&&d.kind==="selector"&&y(v)){o.set(l,{type:"expression",raw:`${g} ${d.value}`}),e.advance(),e.advance(),e.advance();return}}if(p.position==="after"){if(u(f,c)&&y(d)){let v=yt(f);e.advance(),e.advance(),v&&o.set(l,v);return}if(c&&u(f,c)){let v=e.peek(2),g=e.peek(3);if((d.normalized??d.value).toLowerCase()==="in"&&v&&!y(v)&&y(g)){let w=yt(f);e.advance(),e.advance(),e.advance(),e.advance(),w&&o.set(l,w);return}}}else if(y(f)&&u(d,c)){e.advance();let v=yt(e.advance());v&&o.set(l,v);return}}}function gl(e,t,r){if(t.action!=="fetch"&&t.action!=="render")return;let n=t.roles;if(!J(t.action)?.roles.some(d=>d.role==="style"))return;let a=n.get("style");if(a){if(a.type==="expression"&&typeof a.raw=="string"&&/^[A-Za-z_][\w-]*$/.test(a.raw)&&e.peek()?.value===":"){let d=or(e,a.raw);d&&n.set("style",{type:"expression",raw:d});}Nr(e,t,r);return}if(t.action==="fetch"){let d=n.get("patient"),v=n.get("source");if(d&&v&&(d.type==="literal"||d.type==="expression")&&v.type==="expression"&&typeof v.raw=="string"&&/^[A-Za-z_][\w-]*$/.test(v.raw)&&e.peek()?.value===":"){let g=or(e,v.raw);g&&(n.set("source",{type:"expression",raw:g}),Nr(e,t,r));return}}let u=F(r)?.roleMarkers?.style;if(!u)return;if(u.position==="before"){let d=new Set([u.primary,...u.alternatives??[]].map(E=>E.toLowerCase())),v=e.peek();if(!v||!d.has(v.value.toLowerCase()))return;let g=e.mark();e.advance();let w=or(e);if(!w){e.reset(g);return}n.set("style",{type:"expression",raw:w}),Nr(e,t,r);return}if(u.position!=="after")return;let s=new Set([u.primary,...u.alternatives??[]].map(d=>d.toLowerCase())),l=24,c=-1,p=0;for(let d=0;d<l;d++){let v=e.peek(d);if(!v||Ge(e.tokens,e.position()+d,r))break;if(v.value==="("||v.value==="{"?p++:(v.value===")"||v.value==="}")&&(p=Math.max(0,p-1)),p===0&&(v.kind==="particle"||v.kind==="keyword")&&s.has(v.value.toLowerCase())){c=d;break}}if(c<=0)return;let m=[];for(let d=0;d<c;d++){let v=e.peek(d);v&&m.push(v);}if(m.length===1&&fn.has(m[0].value.toLowerCase()))return;let y=new ee(m,r),f=or(y);n.set("style",{type:"expression",raw:f&&y.isAtEnd()?f:Et(m,r)});for(let d=0;d<=c;d++)e.advance();Nr(e,t,r);}function Nr(e,t,r){let n=t.roles;if(n.has("responseType")||!J(t.action)?.roles.some(l=>l.role==="responseType"&&!l.required))return;let a=l=>!!l&&fn.has(l.toLowerCase()),o=e.peek();if(!o)return;let u=l=>{n.set("responseType",{type:"expression",raw:l});};if(Os[r]?.some(l=>o.value.toLowerCase()===l)){let l=e.peek(1);l&&a(l.value)&&(e.advance(),e.advance(),u(l.value));return}if(a(o.value)){e.advance(),u(o.value);for(let l of cv[r]??[])if(l.every((c,p)=>e.peek(p)?.value.toLowerCase()===c)){for(let c=0;c<l.length;c++)e.advance();break}}}function wl(e,t,r){let n=t.action,i=n==="js"?{role:"patient",terminator:"boundary"}:n==="go"||n==="scroll"?{role:"destination",terminator:"destination-marker"}:null;if(!i)return;let a=t.roles,o=a.get(i.role);if(n==="go"&&o&&o.type==="expression"&&String(o.raw).toLowerCase()==="url"){let d=e.peek();if(d&&!hi.has((d.normalized??d.value).toLowerCase())){let g=yt(d);if(g.type==="literal"||g.type==="selector"){a.set(i.role,g),a.set("method",{type:"literal",value:"url"}),e.advance();return}}let v=a.get("patient");if(v&&(v.type==="literal"||v.type==="selector")){a.set(i.role,v),a.set("method",{type:"literal",value:"url"}),a.delete("patient");return}}if(n==="go"&&o&&o.type==="expression"){let d=/^url\s+(\S+)$/i.exec(String(o.raw??""));if(d){let v=d[1].replace(/^["']|["']$/g,"");a.set(i.role,{type:"literal",value:v,dataType:"string"}),a.set("method",{type:"literal",value:"url"});return}}if(n==="go"&&!o){let d=a.get("patient");if(d&&d.type==="expression"&&String(d.raw).toLowerCase()==="url"){let v=e.peek();if(v&&!hi.has((v.normalized??v.value).toLowerCase())){let g=yt(v);if(g.type==="literal"||g.type==="selector"){a.set(i.role,g),a.set("method",{type:"literal",value:"url"}),a.delete("patient"),e.advance();return}}}}if(o&&!(o.type==="reference"&&o.value==="me"))return;let u=F(r);if(!u)return;let s=null;if(i.terminator==="destination-marker"){let d=u.roleMarkers?.destination;if(!d||d.position!=="after")return;s=d.primary.toLowerCase();}let l=24,c=[],p=0,m=false;for(let d=0;d<l;d++){let v=e.peek(d);if(!v||Ge(e.tokens,e.position()+d,r))break;if(v.value==="("||v.value==="{"?p++:(v.value===")"||v.value==="}")&&(p=Math.max(0,p-1)),s!==null&&p===0&&(v.kind==="particle"||v.kind==="keyword")&&v.value.toLowerCase()===s){m=true;break}c.push(v);}if(c.length===0||s!==null&&!m)return;let y=c.length+(m?1:0);if(n==="go"&&c.length===2&&c[0].value.toLowerCase()==="url"){let d=yt(c[1]);if(d.type==="literal"||d.type==="selector"){a.set(i.role,d),a.set("method",{type:"literal",value:"url"});let v=a.get("patient");v&&v.type==="reference"&&v.value==="me"&&!J(n)?.roles.some(g=>g.role==="patient")&&a.delete("patient");for(let g=0;g<y;g++)e.advance();return}}let f=c;if(n==="js"){let d=u.keywords?.js,v=w=>[d?.primary,...d?.alternatives??[]].some(E=>!!E&&E.length>w.value.length&&E.includes(w.value)),g=0;for(;g<f.length&&v(f[g]);)g++;if(f=f.slice(g),f.length===0)return}if(a.set(i.role,{type:"expression",raw:Et(f,r)}),i.role!=="patient"){let d=a.get("patient");d&&d.type==="reference"&&d.value==="me"&&!J(n)?.roles.some(v=>v.role==="patient")&&a.delete("patient");}for(let d=0;d<y;d++)e.advance();}function Yr(e,t){for(let r=t-1;r>=0;r--)if(e[r].kind!=="particle")return e[r]}function c3(e){let t=n=>!!n&&n.kind==="command"&&n.action==="unless"&&n.roles.has("condition"),r=[...e];for(let n=1;n<r.length;n++)t(r[n])&&!t(r[n-1])&&([r[n-1],r[n]]=[r[n],r[n-1]],n++);return r}function wn(e){let t=0;for(let r of e)Zi(r)?t++:mr(r)&&t>0&&t--;return t}function p3(e,t){let r=t[0]?e.indexOf(t[0]):-1;return r>0?e[r-1]:void 0}function Ie(e,t,r,n){let i=[],a=[],o=0,u=[],s=(c=0)=>{let p=wn(i);o=p+c,u.length=0;for(let m=0;m<p;m++)u.push("loop");for(let m=0;m<c;m++)u.push("while");};for(;!t.isAtEnd();){let c=t.peek();if(!c)break;if(a.length===0){let w=Vi(t,n,e.positionSource)??Zs(t,n,e.positionSource);if(w){i.push(w);continue}let E=Vt(e,t,r,n);if(E){i.push(E);continue}let z=Cl(e,t,r,n);if(z){i.push(...z);continue}}let p=c.kind==="conjunction"||c.kind==="keyword"&&Er(c,je(t.tokens,t.position()),n),m=ie(t.tokens,t.position(),n),y=m&&c.kind==="keyword"&&$t(c,n),f=u,d=f.length>=2&&f[f.length-1]==="while"&&f.slice(0,-1).every(w=>w==="loop");if(m&&(f.every(w=>w==="loop")||d)&&d3(e,t,a,i,r,n)){a.length=0,s();continue}if(y&&o>0){o--,u.pop(),a.push({...c,metadata:{...c.metadata,closesTrackedBlock:true}}),t.advance();continue}if(p&&u.includes("if")){a.push(c),t.advance();continue}if(p){if(a.length>0){let w=nt(e,a,r,n);i.push(...w),a.length=0,s(w.filter(E=>{let z=E;return z.action==="while"&&(!Array.isArray(z.body)||z.body.length===0)}).length);}t.advance();continue}if(y){t.advance();let w=[];for(;!t.isAtEnd();){let E=t.peek();if(!E||Ge(t.tokens,t.position(),n))break;w.push(E),t.advance();}if(w.length>0){let E=Re(e),z=a.length>0?nt(e,a,r,n):[];z.length===0&&a.length>0?(ve(e,E),i.push(...nt(e,[...a,...w],r,n))):(i.push(...z),i.push(...nt(e,w,r,n)));}else if(a.length>0){let E=nt(e,a,r,n);i.push(...E);}a.length=0;break}let v=(c.normalized??c.value).toLowerCase(),g=Gr(c);if(c.kind==="keyword"||g){let w=Le(v,n),E=Yr(a,a.length);(v==="for"||v==="while")&&E&&Gr(E)||w&&Qi(c,E,n)||(g&&u[u.length-1]==="while"?u[u.length-1]="loop":(w||It(v,n)||v==="while"||v==="for"||g)&&(o++,u.push(w?"if":g||v==="for"?"loop":v==="while"?"while":"other")));}a.push(c),t.advance();}if(a.length>0){let c=nt(e,a,r,n);i.push(...c);}t.isAtEnd()||ot(e,t.tokens.slice(t.position()),n,"body stream tail"),$h(i,n);for(let c=i.length-1;c>=0;c--){let p=i[c];p.kind==="command"&&p.action==="for"&&(!(p.roles instanceof Map)||p.roles.size===0)&&(!Array.isArray(p.body)||p.body.length===0)&&i.splice(c,1);}let l=vi(e,i);return l.length>1?[Ht(l,"then",{sourceLanguage:n})]:l}function d3(e,t,r,n,i,a){let o=wn(n);if(r.length===0)return o===0?false:(n.push(qt),t.advance(),true);let u=Re(e),s=nt(e,[...r],i,a);return s.length===0||o+s.filter(Zi).length===0?(ve(e,u),false):(n.push(...s,qt),t.advance(),true)}function nt(e,t,r,n){if(t.length===0)return [];let i=null,a=t,o=t[t.length-1];if(o&&t.length>=2){let g=(o.normalized??o.value).toLowerCase();It(g,n)&&(i="unless",a=t.slice(0,-1));}let u=null;if(i&&a.length>=3){let g=F(n),w=g?Gi(g):null;if(w)for(let E=1;E<a.length-1;E++){let z=a[E],S=w.get(z.value.toLowerCase())??(z.normalized?w.get(z.normalized.toLowerCase()):void 0);if(S&&!kl.has(S)&&J(S)){u=a.slice(0,E),a=a.slice(E);break}}}let s=new ee(a,n),l=[],c=Re(e),p=0,m=[],y=u,f=()=>{if(m.length===0)return;let g=m.slice();m.length=0;let w=()=>Yi(e,l[l.length-1],g,p3(a,g),n);if(i&&l.length===0&&y===null){y=g;return}let E=g[0];if(!(E&&(E.kind==="identifier"||E.kind==="selector"||E.kind==="literal"||E.kind==="reference"))){if(w())return;ot(e,g,n,"body clause");return}let S=false;for(let h of yi(g,n)){let A=h.action,k=h.roles;A&&J(A)&&k instanceof Map&&k.size>0&&(l.push(h),S=true);}S||w()||ot(e,g,n,"body clause");};for(;!s.isAtEnd();){let g=s.peek(),w=!!g&&g.kind==="keyword"&&(g.normalized??g.value).toLowerCase()==="repeat",E=s.mark(),z=s.position(),S=Fe.matchBest(s,r);if(w&&S&&(S.pattern.command!=="repeat"||jh(S,m,n)||a3(S,s.tokens.slice(z+1),r,n))){s.reset(E),s.advance();let h=Go(s,m,n);f(),l.push(Yo(h,n)),p++;continue}if(!S&&g&&Le((g.normalized??g.value).toLowerCase(),n)){let h=Vt(e,s,r,n);if(h){f(),l.push(h),p++;continue}}if(S&&S.pattern.command==="if"){let h=s.mark(),A=m.length;for(s.reset(E);!s.isAtEnd();){let x=s.peek();if(!x||Le((x.normalized??x.value).toLowerCase(),n))break;m.push(x),s.advance();}let k=Vt(e,s,r,n);if(k){f(),l.push(k),p++;continue}m.length=A,s.reset(h);}if(S){f();let h=gn(e,S,n);l.push(h),p++,Xi(s,h,n,e.boundIdentifiers),gl(s,h,n),wl(s,h,n),s3(s,h);}else {let h=m.length===0?El(e,s,r,n):null;if(h){f(),l.push(h),p++;continue}let A=m.length===0?hl(e,s,l,n):null;if(A){l.push(A),p++;continue}let k=s.peek(),x=k?.kind==="identifier"&&k.value.toLowerCase()==="repeat";if(k&&(k.normalized?.toLowerCase()==="repeat"||x)){let D=s.mark();s.advance();let R=Go(s,m,n);if(R||!x){f(),l.push(Yo(R,n)),p++;continue}s.reset(D);}k&&m.push(k),s.advance();}}f();let d=l;if(p===0){let g=yi(a,n).filter(w=>!i||!!J(w.action));g.length>0&&(ve(e,c),d=g);}let v=y;return i&&d.length>0&&v&&v.length>0?[fe(i,{condition:{type:"expression",raw:Et(v,n)}},{sourceLanguage:n,patternId:`${i}-${n}-trailing-guard`,confidence:.85}),...d]:i&&v&&v.length>0&&d.length===0?[fe(i,{condition:{type:"expression",raw:Et(v,n)}},{sourceLanguage:n,patternId:`${i}-${n}-trailing-guard`,confidence:.85})]:c3(d)}function m3(e,t,r,n,i,a=[]){let o=[],u=()=>wn([...a,...o]),s=[],l=false,c=true,p=()=>{let d=s,v=t.tokens,g=v.indexOf(d[0]);if(g<0||g+d.length!==t.position()||d.some((E,z)=>v[g+z]!==E))return false;let w=l?o[o.length-1]:c?a[a.length-1]:void 0;return Yi(e,w,d,v[g-1],i)},m=()=>{if(!l&&s.length>0){let d=yi(s,i);o.push(...d),d.length===0&&!p()&&ot(e,s,i,"fused body walk");}else s.length>0&&!p()&&ot(e,s,i,"fused body walk");s=[],l=false,c=false;},y=0,f=()=>o.filter(d=>{let v=d;return v.action==="while"&&(!Array.isArray(v.body)||v.body.length===0)}).length-y;for(;!t.isAtEnd();){let d=t.peek();if(d&&Ue(d.value,i)){m(),t.advance();continue}if(d&&u()>0&&!$t(d,i)&&ie(t.tokens,t.position(),i)){m(),o.push(qt),t.advance();continue}if(d&&$t(d,i)){let w=je(t.tokens,t.position());if(!Cs(d,w,i)){if(m(),u()>0){o.push(qt),t.advance();continue}if(f()>0){y++,t.advance();continue}t.advance();break}}if(d&&!l&&s.length===0){let w=Vi(t,i,e.positionSource)??Zs(t,i,e.positionSource);if(w){o.push(w),l=true;continue}}if(d&&!l&&Le((d.normalized??d.value).toLowerCase(),i)){m();let w=Vt(e,t,r,i);if(w){o.push(w),l=true;continue}}let v=s.length===0?hl(e,t,o,i):null;if(v){o.push(v),l=true;continue}let g=false;if(n.length>0){let w=Fe.matchBest(t,n);if(w){let E=w.pattern.command,z={};for(let[A,k]of w.captured)A!=="event"&&A!=="action"&&A!=="continues"&&(z[A]=k);let S=fe(E,z,{sourceLanguage:i,patternId:w.pattern.id});o.push(S),g=true,l=true;let h=w.captured.get("continues");if(h&&h.type==="literal"&&h.value==="then")continue}}if(!g){let w=t.mark(),E=Fe.matchBest(t,r);if(E){if(E.pattern.command==="if"){let S=t.mark();for(t.reset(w);!t.isAtEnd();){let A=t.peek();if(!A||Le((A.normalized??A.value).toLowerCase(),i))break;t.advance();}let h=Vt(e,t,r,i);if(h){m(),o.push(h),l=true;continue}t.reset(S);}let z=gn(e,E,i);o.push(z),Xi(t,z,i,e.boundIdentifiers),g=true,l=true;}}g||(d&&s.push(d),t.advance());}m(),t.isAtEnd()||ot(e,t.tokens.slice(t.position()),i,"fused body walk");for(let d=o.length-1;d>=0;d--){let v=o[d];v.kind==="command"&&v.action==="for"&&(!(v.roles instanceof Map)||v.roles.size===0)&&(!Array.isArray(v.body)||v.body.length===0)&&o.splice(d,1);}return o}var kl=new Set(["matches","match","contains","exists","has","have","equals","includes"]);function Cl(e,t,r,n){let i=t.peek();if(!i||!It((i.normalized??i.value).toLowerCase(),n))return null;let a=t.mark(),o=Vt(e,t,r,n,true);if(!o||o.kind!=="conditional")return t.reset(a),null;let u=o;if(u.elseBranch&&u.elseBranch.length>0)return t.reset(a),null;let s=u.roles.get("condition");return s?[fe("unless",{condition:s},{sourceLanguage:n,patternId:`unless-${n}-guard`,confidence:1}),...u.thenBranch]:(t.reset(a),null)}function Vt(e,t,r,n,i=false){let a=t.peek();if(!a)return null;let o=(a.normalized??a.value).toLowerCase();if(!Le(o,n)&&!(i&&It(o,n)))return null;let u=t.mark(),s=Re(e);t.advance();let l=t.tokens,c=t.position(),p=[],m=0,y=false;for(;!t.isAtEnd();){let B=t.peek();if(!B)break;if(p.length>0&&au(B,Yr(p,p.length),n)){m++,p.push(B),t.advance();continue}if(ie(t.tokens,t.position(),n)){if(m===0){t.advance(),y=true;break}m--,p.push(B),t.advance();continue}p.push(B),t.advance();}if(p.length===0)return t.reset(u),ve(e,s),null;let f=F(n),d=f?.wordOrder==="SOV"?Gi(f):null,v=0,g=0,w=[],E=false;for(;v<p.length;v++){let B=p[v],C=(B.normalized??B.value).toLowerCase();if(v>0&&(Le(C,n)||It(C,n))?g++:ie(l,c+v,n)&&g--,g===0&&Er(B,je(l,c+v),n)){E=true,v++;break}if(g===0&&w.length>0&&Mt(B.value,n))break;if(g===0&&w.length>0){let b=(B.normalized??B.value).toLowerCase(),T=zy(p[v-1],B,w.length===1,n),N=d!==null&&d.has(B.value.toLowerCase())&&!xs.has(b),I=/^\.[a-zA-Z_]\w*$/.test(B.value)&&p[v-1].position?.end!==void 0&&B.position?.start!==void 0&&p[v-1].position.end===B.position.start;if(!kl.has(b)&&!I&&(!T||N)&&(Ur(p.slice(v),r,n)||Uh(p.slice(v),d)))break}w.push(B);}if(w.length===0)return t.reset(u),ve(e,s),null;let z=[],S=[],h=false,A=0;for(;v<p.length;v++){let B=p[v];if(au(B,Yr(p,v),n)?A++:ie(l,c+v,n)&&A--,A===0&&!h&&Mt(B.value,n)){h=true;continue}(h?S:z).push(B);}let k={type:"expression",raw:Et(w,n)},x=ou(e,z,r,n),D=S.length>0?ou(e,S,r,n):void 0,R=y&&E&&z.length===0&&S.length===0;return x.length===0&&(!D||D.length===0)&&!R?(t.reset(u),ve(e,s),null):Pp(k,x,D,{sourceLanguage:n,patternId:`conditional-${n}-folded`,confidence:1})}function ou(e,t,r,n){if(t.length===0)return [];let i=new ee(t,n),a=Ie(e,i,r,n);return a.length===1&&a[0]?.kind==="compound"?a[0].statements:a}function uu(e){return !!e&&(e.kind==="loop"||on(e))}var f3=/^[\p{L}_$][\p{L}\p{N}_$:.\-]*$/u;function bl(e,t,r){let n=r.filter(a=>a.command==="for"||a.command==="repeat");return n.length===0?0:Fe.matchBest(new ee([...e],t),n)?.consumedTokens??0}function y3(e,t,r,n){let i=Re(e),a;try{let u=new ee(t.tokens,n);a=Ie(e,u,r,n);}catch{return ve(e,i),null}let[o]=a;if(a.length===1&&uu(o))return o;if(a.length===1&&o.kind==="compound"){let u=o;if(uu(u.statements[0])){let s=u.statements.map(l=>l.metadata?.confidence??.75);return Ht(u.statements,u.chainType,{sourceLanguage:n,confidence:s.reduce((l,c)=>l+c,0)/s.length})}}return ve(e,i),null}function v3(e,t,r,n){let i=Re(e),a;try{let l=new ee(t.tokens,n);a=Ie(e,l,r,n);}catch{return ve(e,i),null}if(a.length!==1||a[0].kind!=="compound")return ve(e,i),null;let o=a[0];if(o.statements.length<2)return ve(e,i),null;let u=o.statements.map(l=>l.metadata?.confidence??.75),s=u.reduce((l,c)=>l+c,0)/u.length;return Ht(o.statements,o.chainType,{sourceLanguage:n,confidence:s})}function su(e,t,r,n,i=false){let a=t.tokens,o=a.some(p=>p.kind==="conjunction"||p.kind==="keyword"&&Ue(p.value,n)),u=a.some(p=>Mt(p.value,n));if(!i&&!o&&!u)return null;let s=new ee(a,n),l=Re(e),c=Ie(e,s,r,n);return c.length===0?(ve(e,l),null):c[0]}function h3(e,t,r,n){let i=V(t,r).tokens;if(i.length<3)return null;let a=xe[r],o=new Set;if(a)for(let z of Object.keys(a))o.add(z.toLowerCase());let u=i.length-2,s=i[u];if(!(s.kind==="keyword"&&s.normalized?.toLowerCase()==="on"))return null;let c=i[i.length-1],p=c.value.toLowerCase(),m=c.normalized?.toLowerCase();if(!(!!m&&oe.has(m)||oe.has(p)||o.has(p)))return null;let f=m&&oe.has(m)?m:a?.[p]??p,d=i.slice(0,u);if(d.length===0)return null;let v=n.filter(z=>z.command!=="on"),g=new ee(d,r),w=Re(e),E=Ie(e,g,v,r);return E.length===0?(ve(e,w),null):sr({type:"literal",value:f},E,void 0,{sourceLanguage:r,confidence:.75})}function Zn(e,t,r,n){let i=V(t,r).tokens;if(i.length<3)return null;let a=xe[r],o=new Set;if(a)for(let u of Object.keys(a))o.add(u.toLowerCase());for(let u=0;u<i.length-1;u++){let s=i[u];if(!(s.kind==="keyword"&&s.normalized?.toLowerCase()==="on"))continue;let c=i[u+1],p=c.value.toLowerCase(),m=c.normalized?.toLowerCase();if(!(!!m&&oe.has(m)||oe.has(p)||o.has(p)))continue;let f=m&&oe.has(m)?m:a?.[p]??p,d=i.filter((z,S)=>S!==u&&S!==u+1);if(d.length===0)return null;let v=n.filter(z=>z.command!=="on"),g=new ee(d,r),w=Re(e),E=Ie(e,g,v,r);return E.length===0?(ve(e,w),null):sr({type:"literal",value:f},E,void 0,{sourceLanguage:r,confidence:.75})}return null}function ir(e,t,r,n){let i=qi[r];if(!i)return null;let o=V(t,r).tokens;if(Le(o[0]?.value??"",r))return null;let u=xe[r],s=new Set;if(u)for(let h of Object.keys(u))s.add(h.toLowerCase());let l=K4[r],c=-1,p="",m="",y=1,f=[];for(let h=0;h<o.length;h++){let A=o[h],k=A.value.toLowerCase(),x=k,D="",R=k.indexOf("[");R>0&&(x=k.slice(0,R),D=A.value.slice(R));let B=A.normalized?.toLowerCase(),C=B&&(oe.has(B)||$e.has(B)),b=s.has(k)||s.has(x),T=oe.has(x)||$e.has(x);if(C||b||T){let N=o[h-1];if(N&&(N.normalized??N.value).toLowerCase()==="event")continue;let I;C?I=B:b?I=u?.[k]??u?.[x]??x:I=x;let j=dr(o,h+1);if(i.size>0){let L=1+j.len,P=o[h+L];P&&P.kind==="selector"&&P.value.startsWith("[")&&(L+=1);let O=o[h+L];if(O&&(O.kind==="particle"||O.kind==="keyword")&&i.has(O.value)){c=h,p=I,m=D||(L===j.len+2?o[h+L-1].value:""),y=L+1,f=j.names;break}}else {c=h,p=I,m=D,y=1+j.len+ci(o,h+1+j.len,r),f=j.names;break}}}if(c===-1){let h=new Set(n.filter(k=>k.command!=="on").map(k=>k.command)),A=bl(o,r,n);for(let k=A;k<o.length;k++){let x=o[k];if(x.kind==="identifier"&&!x.value.startsWith("`")&&f3.test(x.value))if(i.size>0){let D=1,R=o[k+1];R&&R.kind==="selector"&&R.value.startsWith("[")&&(D=2);let B=o[k+D];if(B&&(B.kind==="particle"||B.kind==="keyword")&&i.has(B.value)&&!xi(r,o[k+D+1]?.value??"",B.value,o[k+D+2]?.value)){c=k,p=x.value,m=D===2?o[k+1].value:"",y=D+1;break}}else {let D=ci(o,k+1,r);if(D>0){c=k,p=x.value,m="",y=1+D;break}let R=o[k+1];if(R&&R.kind==="keyword"&&R.normalized!=null&&h.has(R.normalized)){c=k,p=x.value,m="",y=1;break}}}}if(c===-1)return null;let d=new Set;for(let h=c;h<c+y;h++)d.add(h);if(l){let h=c+y;if(h<o.length){let A=o[h];if((A.kind==="particle"||A.kind==="keyword")&&l.markers.has(A.value))d.add(h);else if($o(A,l.windowTokens)){let k=o[h+1];k&&(k.kind==="particle"||k.kind==="keyword")&&l.markers.has(k.value)&&(d.add(h),d.add(h+1));}}if(c>=2){let A=o[c-1];(A.kind==="particle"||A.kind==="keyword")&&l.markers.has(A.value)&&$o(o[c-2],l.windowTokens)&&(d.add(c-2),d.add(c-1));}for(let A=0;A<c;A++){let k=o[A],x=k.value.toLowerCase(),D=k.normalized?.toLowerCase();if(l.windowTokens.has(x)||D&&l.windowTokens.has(D)){d.add(A);break}}}let v=o.filter((h,A)=>!d.has(A));if(v.length===0)return null;let g=n.filter(h=>h.command!=="on"),w=new ee(v,r),E=Re(e),z=Ie(e,w,g,r);if(z.length===0)return ve(e,E),null;let S={sourceLanguage:r,confidence:.75};return m&&(S.keyFilter=m),sr(q4(p)?{type:"literal",value:p}:{type:"expression",raw:p},z,void 0,S,f)}var mt=new Set(["if","unless","while","repeat","for"]);function E3(e,t){let r=n=>{let{position:i,...a}=n;return JSON.stringify(a)};return e.type===t.type&&r(e)===r(t)}var lu=/^repeat-.*-(times|for-in|while-head|until-head|until-condition-head)$/;function g3(e,t,r,n){if(!t)throw new Error("No match to build event handler from");let i=t.captured.get("event");if(!i)throw new Error("Event handler pattern matched but no event captured");{let h=i.type==="expression"?i.raw:i.type==="literal"?i.value:void 0;if(typeof h=="string"&&/^[^\s()[\]{}:]+$/.test(h)){let A=xe[n]?.[h];A?i={type:"literal",value:A,dataType:"string"}:i.type==="expression"&&oe.has(h.toLowerCase())&&(i={type:"literal",value:h.toLowerCase(),dataType:"string"});}}let a=Fe.extractEventModifiers(r),o=h=>!(h.type==="reference"&&h.value==="me")&&h.implicit!==true,u=t.captured.get("source"),s=t.pattern.command==="on"&&/^(on|event)-/.test(t.pattern.id),l=false;u&&(t.pattern.id.endsWith("source")||s)&&o(u)&&(a={...a??{},from:u},l=true);let c;if(t.eventSource&&!l){let h=t.captured.get("action"),A=h?.type==="literal"?J(String(h.value)):void 0;F(n)?.roleMarkers?.source?.position==="after"&&A?.roles.some(x=>x.role==="source")&&!t.captured.has("source")?c=t.eventSource:o(t.eventSource)&&(a={...a??{},from:t.eventSource});}let p=t.captured.get("event")?.position,m=r.tokens[r.position()-1],f=p!==void 0&&m!==void 0&&m.position.end>p.end?[]:Z4(r,n),d=i,v=h=>f.length>0?{...h,additionalEvents:f}:h,g,w,E=t.captured.get("action");if(E&&E.type==="literal"&&E.value==="if"){let h=r.tokens,A=-1;for(let k=r.position()-1;k>=0;k--){let x=h[k],D=(x.normalized??x.value).toLowerCase();if(Le(D,n)){A=k;break}}for(;A>0;){let k=h[A-1];if(!Le((k.normalized??k.value).toLowerCase(),n))break;A--;}if(A>=0){let k=be(n).filter(b=>b.command!=="on").sort((b,T)=>T.priority-b.priority),x=h.slice(A);if(t.pattern.id.endsWith("vso-verb-first")&&d.type==="literal"){let b=String(d.value??"").split("[")[0].trim().toLowerCase(),T=x.findIndex((N,I)=>{if(I===0||b==="")return false;let j=(N.normalized??N.value).toLowerCase(),L=x[I-1];return j===b&&L.kind==="keyword"&&(L.normalized??"").toLowerCase()==="on"});if(T>0){let N=x[T+1],I=N&&N.kind==="selector"&&N.value.startsWith("[")?1:0;x=[...x.slice(0,T-1),...x.slice(T+1+I)];}}let D=new ee(x,n),R=Re(e),B=Ie(e,D,k,n);if(B.some(b=>b.kind==="conditional")||B.length===1&&B[0]?.kind==="compound"&&B[0].statements.some(b=>b.kind==="conditional")){for(;!r.isAtEnd();)r.advance();return v(sr(d,B,a,{sourceLanguage:n,patternId:t.pattern.id,confidence:t.confidence}))}ve(e,R);}}if(E&&E.type==="literal"&&String(E.value)!=="js"&&J(String(E.value))!==void 0){let h=E.value,A={};for(let[P,O]of t.captured)if(P!=="event"&&P!=="action"&&P!=="continues"){if(P==="source"&&l)continue;A[P]=O;}if(c&&(A.source=c),h==="repeat"){let P=r.peek(),O=W=>(W.normalized??W.value).toLowerCase();if(P&&P.kind==="keyword"&&O(P)==="forever")A.loopType={type:"literal",value:"forever"},delete A.patient,r.advance();else if(P&&P.kind==="keyword"&&O(P)==="event"){r.advance();let W=r.peek();if(W)for(A.event={type:"literal",value:O(W)},A.loopType={type:"literal",value:"until-event"},delete A.patient;!r.isAtEnd()&&!(!r.peek()||Ge(r.tokens,r.position(),n));)r.advance();}let q=A.patient;q&&q.type==="reference"&&q.value==="me"&&delete A.patient;}let k=fe(h,A,{sourceLanguage:n,patternId:t.pattern.id,confidence:t.confidence});vl(e,k);let x=[];if(!mt.has(h)||h==="repeat"||h==="while"){let P=t.pattern.id.includes("verb-first"),O=r.tokens,q=r.position(),W=_=>{let Y=O[_];if(Y.kind==="conjunction")return true;if(Y.kind!=="keyword")return false;let se=je(O,_);return Er(Y,se,n)||$t(Y,n)&&ie(O,_,n)},re=h==="repeat"||h==="while",me=_=>W(_)||re&&ie(O,_,n),ze=new Set;{let _=F(n)?.keywords?.[h];_?.primary&&ze.add(_.primary.toLowerCase());for(let Y of _?.alternatives??[])ze.add(Y.toLowerCase());}let H=-1;for(let _=q-1;_>=0;_--){let Y=O[_];if(W(_))break;if((Y.normalized??Y.value).toLowerCase()===h||ze.has(Y.value.toLowerCase())){H=_;break}}if(H>=0){let _=q,Y=0;for(;_<O.length;){let ne=O[_],Ce=Yr(O,_);if(re&&Le((ne.normalized??ne.value).toLowerCase(),n)&&!Qi(ne,Ce,n))Y++;else if(Y>0)ie(O,_,n)&&Y--;else if(me(_))break;_++;}let se=O.slice(H,_),ye=se;if(P){let ne=String(i.value??"").toLowerCase(),Ce=se.findIndex(ge=>(ge.normalized??ge.value).toLowerCase()===ne);if(Ce<0)ye=null;else {let ge=se[Ce-1],we=ge&&ge.kind==="keyword"&&ge.normalized?.toLowerCase()==="on"?Ce-1:Ce;ye=[...se.slice(0,we),...se.slice(Ce+1)];}}if(ye&&ye.length>1){let ne=be(n).filter(U=>U.command!=="on").sort((U,ae)=>ae.priority-U.priority),Ce=Re(e),ge=nt(e,ye,ne,n),we=ge[0],zt=U=>U!==null&&typeof U=="object"&&typeof U.type=="string"?U.type:typeof U,At=J(h),xt=At?.primaryRole,sa=U=>U==="patient"&&xt&&xt!=="patient"&&!At?.roles.some(ae=>ae.role==="patient")?xt:U,Hl=(U,ae)=>{if(!mt.has(h)||!At)return false;let et=At.roles.find(tt=>tt.role===sa(U));return et?et.expectedTypes.length>0&&!et.expectedTypes.includes(zt(ae)):true},An=(U,ae)=>U==="patient"&&!!At&&!At.roles.some(et=>et.role==="patient")&&zt(ae)==="literal"&&fr.has(String(ae.value??"").toLowerCase()),xn=U=>U!==null&&typeof U=="object"&&U.implicit===true,Kl=!!we&&we.kind==="command"&&Object.entries(A).every(([U,ae])=>{if(xn(ae)||Hl(U,ae)||An(U,ae))return true;let et=we.roles.get(sa(U));if(et!==void 0&&zt(et)===zt(ae))return true;if(U==="patient"&&xt&&xt!=="patient"){let tt=we.roles.get(xt);if(tt!==void 0&&E3(tt,ae))return true}if(U==="patient"&&h==="pick"&&zt(ae)==="literal"){let tt=we.roles.get("method"),pa=zt(tt),da=pa==="literal"?String(tt.value):pa==="expression"?String(tt.raw):void 0;return da!==void 0&&da===String(ae.value)}return false}),la=we?.metadata?.patternId??"",Ul=!mt.has(h)||lu.test(la),ca=lu.test(la);if((ge.length===1||ca&&ge.length>1)&&we&&we.kind==="command"&&(we.action===h||h==="while"&&we.action==="repeat"&&/-while-head$/.test(we.metadata?.patternId??""))&&Kl&&Ul&&(we.roles.size>Object.entries(A).filter(([U,ae])=>!An(U,ae)).length||[...we.roles.values()].filter(U=>!xn(U)).length>Object.entries(A).filter(([U,ae])=>!An(U,ae)&&!xn(ae)).length||ca&&ge.length>1))for(k=we,x=ge.slice(1);r.position()<_;)r.advance();else ve(e,Ce);}}}if(!mt.has(h)){let P=k;if(J(h)?.roles.some(H=>H.role==="quantity"&&!H.required)&&!P.roles.has("quantity")){let H=r.peek();H&&/^-?\d+(\.\d+)?$/.test(H.value)&&(k=fe(h,{...Object.fromEntries(P.roles),quantity:{type:"literal",value:parseFloat(H.value),dataType:"number"}},P.metadata),r.advance());}let q=k;if(J(h)?.roles.some(H=>H.role==="duration"&&!H.required)&&!q.roles.has("duration")){let H=/^\d+(\.\d+)?(ms|s)$/i,_=r.peek(),Y=false;if(_&&_.kind==="particle"){let se=r.peek(1);se&&H.test(se.value)&&(Y=true,_=se);}_&&H.test(_.value)&&(k=fe(h,{...Object.fromEntries(q.roles),duration:{type:"literal",value:_.value,dataType:"string"}},q.metadata),Y&&r.advance(),r.advance(),Xo(r,n));}let re=k,me=J(h);if(me?.roles.find(H=>H.role==="responseType"&&!H.required)&&!re.roles.has("responseType")){let H=ne=>typeof ne=="string"&&fn.has(ne.toLowerCase()),_=(ne,Ce)=>{let ge=Object.fromEntries(re.roles);Ce&&delete ge.destination,ge.responseType={type:"expression",raw:ne},k=fe(h,ge,re.metadata);},Y=re.roles.get("destination"),se=me?.roles.find(ne=>ne.role==="destination"),ye=Y?.raw??Y?.value;if(Y&&se&&!se.expectedTypes.includes(Y.type)&&H(ye))_(ye,true);else {let ne=r.peek();ne&&H(ne.value)&&(_(ne.value,false),r.advance());}}if(h==="wait"){let H=k;if(!H.roles.has("event")){let _=r.peek(),Y=r.peek(-1),se=!!_&&!!Y&&(Y.normalized??"").toLowerCase()==="event";if(_&&($e.has(_.value.toLowerCase())||se)){let ye=Object.fromEntries(H.roles),ne=ye.duration;ne&&ne.type!=="literal"&&ne.type!=="expression"&&delete ye.duration;let Ce=ye.patient;Ce&&Ce.type==="reference"&&Ce.value==="me"&&delete ye.patient,ye.event={type:"literal",value:_.value,dataType:"string"},k=fe(h,ye,H.metadata),r.advance(),Xo(r,n);}}}Xi(r,k,n,e.boundIdentifiers),gl(r,k,n),wl(r,k,n),l3(r,k);}let D=t.captured.get("continues"),R=D?.type==="literal"&&D.value==="then",B=r.peek(),C=!!B&&Ue(B.value,n),b=mt.has(h),T=!!B&&B.kind==="keyword"&&$t(B,n)&&ie(r.tokens,r.position(),n),N=b&&!!B&&!T,I=!!B&&!T,j=[k,...x],L=!!B&&ie(r.tokens,r.position(),n)&&wn(j)>0&&r.peek(1)!==null;if(L&&(r.advance(),j.push(qt)),R||C||N||I||L){let P=be(n).filter(W=>W.command!=="on").sort((W,re)=>re.priority-W.priority),O=be(n).filter(W=>W.id.startsWith("grammar-")&&W.id.includes("-continuation")).sort((W,re)=>re.priority-W.priority),q=m3(e,r,P,O,n,j);g=vi(e,[...j,...q]);}else g=vi(e,j),r.isAtEnd()||ot(e,r.tokens.slice(r.position()),n,"handler body tail");}else {let h=be(n).filter(k=>k.command!=="on").sort((k,x)=>x.priority-k.priority),A=E?t.roleStarts?.get("action"):void 0;if(A!==void 0&&A<r.position()){let k=new ee(r.tokens.slice(A),n);for(w=iu(e,k,h,n),g=Ie(e,k,h,n);!r.isAtEnd();)r.advance();}else w=iu(e,r,h,n),g=Ie(e,r,h,n);}let z=g.length>1?[Ht(g,"then",{sourceLanguage:n})]:g,S=v(sr(d,z,a,{sourceLanguage:n,patternId:t.pattern.id,confidence:t.confidence}));return w?{...S,headClause:w}:S}var cu=new Map;function pu(e){let t=cu.get(e);return t||(t=new Set(be(e).map(r=>r.command).filter(r=>r!=="on")),cu.set(e,t)),t}function w3(e,t,r){let n=Vo(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(n)return n;let i=k3(e,t,r);if(i)return i;let a=dh(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(a)return a;let o=Ah(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(o)return o;let u=Vo(t,r,{statement:(C,b)=>e.parse(C,b),body:(C,b)=>_t(e,C,b)});if(u)return u;let{modifiers:s,remainingInput:l}=G4(t,r),c=l||t,m=Y4(c,r).remainingInput??c,f=W4(m,r).remainingInput??m,d=[],v=V(f,r);e.positionSource=f;{let C=v.mark(),b=Vi(v,r,e.positionSource);if(b&&v.isAtEnd())return G(b,d);v.reset(C);}let g=be(r);if(g.length===0)throw new To(`No patterns available for language: ${r}`,r,f,[X(`No patterns registered for language '${r}'`,"error","no-patterns")]);let w=[...g].sort((C,b)=>b.priority-C.priority);{let C=v.tokens;if(F(r)?.wordOrder==="VSO"&&C.length>=4&&C[0]?.normalized==="source"){let b=C.findIndex(T=>T.normalized==="on");if(b>=2&&b+1<C.length){let T=f.slice(C[0].position.start,C[b].position.start).trim(),N=C[b+1].position.end,I=f.slice(C[b].position.start,N)+" "+T+f.slice(N);if(I!==f)try{let j=e.parse(I,r);if(j&&j.kind==="event-handler"){let L=s?pe(j,s):j;return G(L,d)}}catch{}}}}{let C=v.tokens,b=C[0]?.normalized==="if";for(let T=0;b&&T+3<C.length;T++){let N=(C[T+3]?.normalized??C[T+3]?.value??"").toLowerCase();if(C[T]?.normalized==="source"&&C[T+2]?.normalized==="on"&&oe.has(N)){let I=(f.slice(0,C[T].position.start).trimEnd()+" "+f.slice(C[T+1].position.end).trimStart()).trim();if(I&&I!==f)try{let j=e.parse(I,r);if(j&&j.kind==="event-handler"){let L=s?pe(j,s):j;return G(L,d)}}catch{}break}}}{let C=M4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=I4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=R4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=$4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=j4(v.tokens,f,r,e.parse);if(C){let b=s&&C.kind==="event-handler"?pe(C,s):C;return G(b,d)}}{let C=v.tokens,b=pu(r);for(let T=0;T+1<C.length;T++){let N=C[T];if(Qo(N,b))break;if(C[T+1].value!=="(")continue;let I=(N.normalized??N.value).toLowerCase();if(!(oe.has(I)||$e.has(I))&&N.kind!=="identifier")continue;let L=dr(C,T+1);if(L.len===0)continue;let P=C[T+L.len],O=(f.slice(0,C[T+1].position.start).trimEnd()+" "+f.slice(P.position.end).trimStart()).trim();try{let q=e.parse(O,r);if(q?.kind==="event-handler"){let _=ai(mn(q),O,r);_&&(q=_.node);}let W=q?.roles.get("event"),me=(W?.type==="expression"?W.raw:W&&"value"in W?String(W.value):void 0)?.toLowerCase(),ze=f.slice(0,C[T+1].position.start).trimEnd().toLowerCase(),H=me===N.value.toLowerCase()||me===I||me!==void 0&&W0(me,r).some(_=>ze.endsWith(_.toLowerCase()));if(q?.kind==="event-handler"&&H){q.parameterNames=L.names;let _=s?pe(q,s):q;return G(_,d)}}catch{}}}{let C=v.tokens,b=pu(r);for(let T=1;T<C.length-1;T++){let N=C[T];if(Qo(N,b))break;if(!pr(N,r))continue;let I=C[T+1],j=(I.normalized??I.value).toLowerCase(),L=C[T-1],P=_=>_!==void 0&&_.kind==="identifier"&&/^[\p{L}_][\p{L}\p{N}_:-]*$/u.test(_.value),O=P(I)&&L!==void 0&&(oe.has((L.normalized??L.value).toLowerCase())||T===1&&P(L));if(!oe.has(j)&&!O)break;let q=O&&!oe.has(j)?I.value:j,W=T+1,re=C[T+2];re&&re.kind==="selector"&&re.value.startsWith("[")&&(W=T+2);let me=C[T].position.start,ze=C[W].position.end,H=(f.slice(0,me).trimEnd()+" "+f.slice(ze).trimStart()).trim();if(H&&H!==f)try{let _=e.parse(H,r);if(_&&_.kind==="event-handler"){_.additionalEvents=[{type:"literal",value:W>T+1?q+re.value:q}];let Y=s?pe(_,s):_;return G(Y,d)}}catch{}break}}{let C=Mh(v.tokens);if(C){let b=(f.slice(0,C.start).trimEnd()+" "+f.slice(C.end).trimStart()).trim();if(b&&b!==f)try{let T=e.parse(b,r);if(T&&T.kind==="event-handler"){let N=pe(T,{...s??{},...C.modifiers});return G(N,d)}}catch{}}}let E=w.filter(C=>C.command==="on"),z=v.mark(),S=v.position(),h=Fe.matchBest(v,E);if(h){d.push(X(`event pattern matched: ${h.pattern.id} (confidence: ${h.confidence.toFixed(2)})`,"info","pattern-match"));let C=false;if(/^event-[a-z]+-bare$/.test(h.pattern.id)){let b=h.captured.get("event"),T=(b?.raw??b?.value??"").toString().toLowerCase(),N=xe[r],I=oe.has(T)||!!N&&Object.keys(N).some(j=>j.toLowerCase()===T);if(T&&!I){let j=ir(e,f,r,w);if(j){d.push(X(`bare-event mis-anchor on "${T}" rejected; SOV extraction preferred`,"info","stage-bare-event-guard"));let L=s?pe(j,s):j;return G(L,d)}if(b?.type==="reference"||b?.type==="expression"){v.reset(z);let L=w.filter(O=>O.command!=="on"),P=Fe.matchBest(v,L);v.reset(z),P&&P.pattern.command!=="on"?(C=true,d.push(X(`bare-event mis-anchor on reference "${T}" rejected; command ${P.pattern.command} preferred`,"info","stage-bare-event-guard"))):Fe.matchBest(v,E);}}}if(!C){let b=h.captured.get("event"),T=String(b?.raw??b?.value??"").toLowerCase();T&&!oe.has(T)&&bl(v.tokens.slice(S),r,w)>0&&(v.reset(z),C=true,d.push(X(`event "${T}" is a loop's variable; command stage preferred`,"info","stage-loop-head-guard")));}if(!C){let b=g3(e,h,v,r),T=s?pe(b,s):b;return G(T,d)}}d.push(X(`event patterns: ${E.length} tried, no match`,"info","stage-event"));let A=h3(e,f,r,w);if(A){d.push(X("trailing event extraction succeeded","info","stage-trailing-event"));let C=s?pe(A,s):A;return G(C,d)}let k=w.filter(C=>C.command!=="on"),x=Cl(e,v,k,r);if(x&&x.length>0){let C=x.length===1?x[0]:Ht(x,"then",{sourceLanguage:r,confidence:1});return G(C,d)}let D=Fe.matchBest(v,k);if(D){if(mt.has(D.pattern.command)){let b=ir(e,f,r,w);if(b){d.push(X(`SOV event extraction preferred over bare ${D.pattern.command} command`,"info","stage-sov-loop"));let N=s?pe(b,s):b;return G(N,d)}let T=Zn(e,f,r,w);if(T){d.push(X(`mid-stream event extraction preferred over bare ${D.pattern.command} command`,"info","stage-midstream-loop"));let N=s?pe(T,s):T;return G(N,d)}}else if(oe.has(D.pattern.command)&&H4(f,r)){let b=ir(e,f,r,w);if(b){d.push(X(`SOV event extraction preferred over command-homonym event ${D.pattern.command}`,"info","stage-sov-homonym"));let T=s?pe(b,s):b;return G(T,d)}}else if(F(r)?.wordOrder==="VSO"){let b=Zn(e,f,r,w);if(b){d.push(X(`mid-stream event extraction preferred over bare ${D.pattern.command} command`,"info","stage-midstream-cmd"));let T=s?pe(b,s):b;return G(T,d)}}if(D.consumedTokens<v.tokens.length&&F(r)?.wordOrder==="SOV"){let b=ir(e,f,r,w);if(b){d.push(X(`SOV event extraction preferred over partial ${D.pattern.command} command (trailing remainder)`,"info","stage-sov-trailing"));let T=s?pe(b,s):b;return G(T,d)}}if(D.consumedTokens<v.tokens.length&&Ki.has(D.pattern.command)){let b=y3(e,v,k,r);if(b)return d.push(X(`top-level loop: ${b.kind}`,"info","stage-top-level-loop")),G(b,d)}if(D.consumedTokens<v.tokens.length&&!mt.has(D.pattern.command)){let b=v3(e,v,k,r);if(b)return d.push(X(`top-level command sequence: ${b.statements.length} commands`,"info","stage-top-level-sequence")),G(b,d)}if(D.consumedTokens<v.tokens.length&&(D.pattern.command==="if"||D.pattern.command==="unless")){let b=su(e,v,k,r,D.pattern.command==="if");if(b)return d.push(X("conditional with a trailing body","info","stage-compound")),G(b,d)}d.push(X(`command pattern matched: ${D.pattern.id} (confidence: ${D.confidence.toFixed(2)})`,"info","pattern-match"));let C=lv(D,v,f);return C&&d.push(X(C,"warning","unconsumed-input")),G(gn(e,D,r),d)}if(d.push(X(`command patterns: ${k.length} tried, no match`,"info","stage-command")),!f.includes(`
15
15
  `)&&F(r)?.wordOrder==="VSO"){let C=Zn(e,f,r,w);if(C){d.push(X("mid-stream event extraction succeeded with no leading command match","info","stage-midstream-nocmd"));let b=s?pe(C,s):C;return G(b,d)}}let R=ir(e,f,r,w);if(R){d.push(X("SOV event extraction succeeded","info","stage-sov"));let C=s?pe(R,s):R;return G(C,d)}d.push(X("SOV event extraction: no event keyword found","info","stage-sov"));let B=su(e,v,k,r,Le(v.tokens[0]?.value??"",r));if(B)return d.push(X("compound command parsing succeeded","info","stage-compound")),G(B,d);if(d.push(X("compound parsing: no then-keywords or no command matches","info","stage-compound")),r==="en"){let C=V(f,r),b=El(e,C,k,r);if(b&&C.isAtEnd())return d.push(X("pseudo-command parsed as call","info","stage-pseudo")),G(b,d)}throw d.push(X(`all parse stages exhausted for "${f}"`,"error","parse-failed")),new To(`Could not parse input in ${r}: ${f}`,r,f,d)}function k3(e,t,r){let n=ol(t,r);if(!n||!n.main)return null;let i;try{i=e.parse(n.main,r);}catch{return null}return i.kind!=="event-handler"?null:{...i,...ul(n,r,{statement:(o,u)=>e.parse(o,u),body:(o,u)=>_t(e,o,u)})}}function _t(e,t,r){let n=V(t,r),i=be(r).filter(a=>a.command!=="on").sort((a,o)=>o.priority-a.priority);e.coverageFrames.push([]);try{let a=Ie(e,n,i,r),o=e.coverageFrames[e.coverageFrames.length-1];if(o.length>0&&a.length>0){let u=a[a.length-1];a[a.length-1]=G(u,[...u.diagnostics??[],...o]);}return a}finally{e.coverageFrames.pop();}}function C3(e,t){let r=vr[t]?.back;if(!r)return false;let n=e.trim().toLowerCase();if(n===r.toLowerCase())return true;let i=V(r,t).tokens,a=i.filter(o=>o.kind!=="particle").map(o=>o.value.toLowerCase());return a.length>0&&a.length<i.length&&n===a.join(" ")}function zl(e,t,r){if(!e||typeof e!="object")return e;if(e.action&&e.roles instanceof Map){let i=J(e.action),a=i?.primaryRole;if(i&&a&&a!=="patient"&&!i.roles.some(o=>o.role==="patient")&&e.roles.has("patient")&&!e.roles.has(a)){let o=e.roles,u=o.get("patient");u!==void 0&&(o.delete("patient"),o.set(a,u));}if(e.action==="go"&&r){let o=e.roles,u=o.get("destination");u?.type==="expression"&&C3(u.raw,r)&&o.set("destination",{...u,raw:"back"});}if(e.action==="tell"){let o=e.roles,u=o.get("patient"),s=o.get("destination");u&&(u.type==="selector"||u.type==="reference")&&(!s||s.type==="literal")&&(o.delete("patient"),o.set("destination",u));}if(e.action==="scroll"){let o=e.roles,u=o.get("destination"),s=u?"raw"in u?u.raw:"value"in u?String(u.value):"":"";u&&!o.has("quantity")&&/^-?\d/.test(s.trim())?(o.delete("destination"),o.set("quantity",u)):u&&o.has("quantity")&&!o.has("patient")&&(o.delete("destination"),o.set("patient",u));}if(e.action==="transition"){let o=e.roles,u=o.get("goal");u&&u.type==="literal"&&u.dataType==="duration"&&!o.has("duration")&&(o.delete("goal"),o.set("duration",u));}if(e.action==="fetch"){let o=e.roles,u=o.get("patient"),s=o.get("source");u&&s&&(u.type==="literal"||u.type==="expression")&&s.type==="expression"&&!o.has("style")&&(o.delete("patient"),o.set("style",s),o.set("source",u));}if(e.action==="transition"){let o=e.roles,u=o.get("destination");u&&u.type==="literal"&&!o.has("goal")&&(o.delete("destination"),o.set("goal",u));let s=o.get("patient");s&&s.type==="literal"&&typeof s.value=="string"&&/^[A-Za-z_][A-Za-z0-9_-]*$/.test(s.value)&&o.set("patient",{type:"expression",raw:s.value});}if(e.action==="morph"){let o=e.roles,u=o.get("patient");u&&u.type==="literal"&&typeof u.value=="string"&&/<[a-zA-Z][^>]*\/?>/.test(u.value)&&o.set("patient",{type:"expression",raw:u.value});}if(e.action==="wait"){let o=e.roles;if(!o.has("event")){let u=o.get("duration"),s=u?.type==="expression"?u.raw:u?.type==="literal"?u.value:void 0,l=typeof s=="string"&&r?Mu(s,r):"",c=typeof s=="string"&&!!r&&!!xe[r]?.[s];typeof s=="string"&&$e.has(s.toLowerCase())?(o.delete("duration"),o.set("event",{type:"literal",value:s,dataType:"string"})):(c||$e.has(l))&&(o.delete("duration"),o.set("event",{type:"literal",value:l,dataType:"string"}));}}if((e.kind==="command"||e.kind==="loop")&&e.action!=="on"&&r){let o=e.roles,u=o.get("event"),s=u?.type==="expression"?u.raw:u?.type==="literal"?u.value:void 0,l=typeof s=="string"?xe[r]?.[s]:void 0;l&&o.set("event",{type:"literal",value:l,dataType:"string"});}if(e.kind==="command"&&e.action!=="on"){let o=e.roles,u=o.get("event");if(u&&u.type==="expression"){let s=u.raw;typeof s=="string"&&/^[A-Za-z_][A-Za-z0-9_-]*(:[A-Za-z0-9_-]+)?$/.test(s)&&o.set("event",{type:"literal",value:s,dataType:"string"});}}if(t?.size){let o=e.roles;for(let u of ["destination","source"]){let s=o.get(u);s&&s.type==="literal"&&typeof s.value=="string"&&t.has(s.value)&&o.set(u,{type:"expression",raw:s.value});}}}let n=e;for(let i of ct){let a=n[i];if(Array.isArray(a))for(let o of a)zl(o,t,r);}return e}var Al=class{constructor(){this.state=sv((e,t)=>this.parse(e,t));}parse(e,t){this.state.parseDepth===0&&(this.state.boundIdentifiers.clear(),e=N4(_4(uv(e),t),t)),this.state.parseDepth++,this.state.coverageFrames.push([]);try{let r=zl(w3(this.state,e,t),this.state.boundIdentifiers,t),n=this.state.coverageFrames[this.state.coverageFrames.length-1];if(n.length>0&&(r=G(r,[...r.diagnostics??[],...n])),this.state.parseDepth===1&&(r=mn(r),r.kind==="event-handler")){let i={node:r,input:e},a=i.node.eventModifiers;if(a&&(a.once||a.debounce!==void 0||a.throttle!==void 0))for(let u=0;u<4;u++){let s=dv(i.node,i.input,t,this.state.parse)??ai(i.node,i.input,t)??mv(i.node,i.input,t,this.state.parse)??yv(i.node,i.input,t);if(!s)break;i=s;}let o=ai(i.node,i.input,t);o&&(i=o),r=i.node;}return r}finally{this.state.coverageFrames.pop(),this.state.parseDepth--;}}parseStatements(e,t){return _t(this.state,e,t)}canParse(e,t){try{return this.parse(e,t),!0}catch{return false}}supportedLanguages(){return Ps()}};Al.SOV_EVENT_MARKERS=qi;var b3=new Al;function Ji(e,t){return b3.parse(e,t)}function z3(e,t){let r=o=>{let u=new Map;for(let s of y4(o))u.set(s,(u.get(s)??0)+1);return u},n=r(e),i=r(t),a=[];for(let[o,u]of n)for(let s=i.get(o)??0;s<u;s++)a.push(`-${o}`);for(let[o,u]of i)for(let s=n.get(o)??0;s<u;s++)a.push(`+${o}`);return a}function A3(e,t){let r=(i,a)=>{let o=new Set(a(i).map(u=>u.replace(/:.*$/,"")));for(let u of Ei(i))o.add(`put.manner=${u}`);return o},n=r(t,v4);return [...r(e,h4)].filter(i=>!n.has(i)).map(i=>`-${i}`)}function x3(e,t){let r=Zr(e),n=Zr(t),i=[];for(let a of r){let o=n.indexOf(a);o<0?i.push(`-clause ${a}`):n.splice(o,1);}return [...i,...n.map(a=>`+clause ${a}`)]}function Zr(e,t=[],r=0){if(r>64||!e||typeof e!="object")return t;if(Array.isArray(e)){for(let i of e)Zr(i,t,r+1);return t}let n=e;for(let i of [n.verbatimClause,n.headClause])i&&t.push(`${n.action}: ${i.replace(/\s+/g," ").trim()}`);for(let[i,a]of Object.entries(n))i==="roles"||i==="metadata"||i==="diagnostics"||i==="verbatimClause"||i==="headClause"||a&&typeof a=="object"&&Zr(a,t,r+1);return t}function Ei(e,t=[],r=0){if(r>64||!e||typeof e!="object")return t;if(Array.isArray(e)){for(let i of e)Ei(i,t,r+1);return t}let n=e;if(n.action==="put"&&n.roles instanceof Map){let i=n.roles.get("manner");i?.type==="literal"&&t.push(String(i.value).trim().toLowerCase());}for(let[i,a]of Object.entries(n))i==="roles"||i==="metadata"||i==="diagnostics"||a&&typeof a=="object"&&Ei(a,t,r+1);return t}var du=/[\p{L}\p{M}\p{N}_]/u;function S3(e,t){let r=e[t-1]??"";return e[t]==="*"?/[\w)\]}"'`]/.test(r):/[\p{L}\p{M}\p{N}_)\]}"'`]/u.test(r)}function mu(e){let t=new Map,r=i=>void t.set(i,(t.get(i)??0)+1),n=0;for(;n<e.length;){let i=e[n],a=e[n+1]??"",o=e[n-1]===">"&&e[n-2]==="/";if(i==="'"&&(o||/[\p{L}\p{M}\p{N}_)\]}"`]/u.test(e[n-1]??""))&&du.test(a)){n++;continue}if(i==='"'||i==="'"||i==="`"){let s=n+1;for(;s<e.length&&e[s]!==i;)s+=e[s]==="\\"?2:1;r(`"${e.slice(n+1,s)}"`),n=s+1;continue}if(i==="<"&&/[\p{L}.#[*:]/u.test(a)){let s=e.indexOf("/>",n);if(s>0&&!/[\s<]/.test(e.slice(n+1,s).replace(/\[[^\]]*\]/g,""))){r(e.slice(n,s+2)),n=s+2;continue}}if((i==="@"||i==="$"||i==="^"||(i==="."||i==="#"||i==="*"||i===":")&&!S3(e,n))&&/[A-Za-z_-]/.test(a)){let s=n+1;for(;s<e.length&&/[\w-]/.test(e[s]);)s++;r(e.slice(n,s)),n=s;continue}if(/\d/.test(i)&&!du.test(e[n-1]??"")&&e[n-1]!=="."){let s=n;for(;s<e.length&&/[\d.]/.test(e[s]);)s++;r(String(Number(e.slice(n,s).replace(/\.$/,"")))),n=s;continue}n++;}return t}function D3(e,t){let r=mu(t),n=[];for(let[i,a]of mu(e))(r.get(i)??0)<a&&n.push(i);return n}function ea(e,t,r,n,i=a=>Ji(a,n)){return Pa(e,t,r,i,{unwritable:w4,written:a=>jt(a),differences:[z3,A3,x3],missingValues:D3})}function T3(e,t){let r=T4(e);return hn(r,t)}function xl(e,t,r,n={}){if(Dn(e))return T3(e,r);let i=Ji(e,t),a=hn(i,r);if(n.lossy==="allow")return a;let o=ea(e,i,a,r);if(o)throw new Sr(a,o,t,r);return a}var B3=class{constructor(e={}){this.cache=new Map,this.config={maxSize:e.maxSize??1e3,ttlMs:e.ttlMs??0,enabled:e.enabled??true},this.stats={hits:0,misses:0,evictions:0,expirations:0};}makeKey(e,t){return `${t}:${e}`}isExpired(e){return this.config.ttlMs===0?false:Date.now()-e.createdAt>this.config.ttlMs}evictLRU(){let e=this.cache.keys().next().value;e!==void 0&&(this.cache.delete(e),this.stats.evictions++);}get(e,t){if(!this.config.enabled){this.stats.misses++;return}let r=this.makeKey(e,t),n=this.cache.get(r);if(!n){this.stats.misses++;return}if(this.isExpired(n)){this.cache.delete(r),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(r),n.lastAccessed=Date.now(),this.cache.set(r,n),this.stats.hits++,n.result}set(e,t,r){if(!this.config.enabled||r!==null&&typeof r=="object"&&"confidence"in r&&r.confidence===0)return;let n=this.makeKey(e,t),i=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(n,{result:r,createdAt:i,lastAccessed:i});}has(e,t){if(!this.config.enabled)return false;let r=this.makeKey(e,t),n=this.cache.get(r);return n?this.isExpired(n)?(this.cache.delete(r),this.stats.expirations++,false):true:false}delete(e,t){let r=this.makeKey(e,t);return this.cache.delete(r)}clear(){this.cache.clear();}resetStats(){this.stats={hits:0,misses:0,evictions:0,expirations:0};}getStats(){let e=this.stats.hits+this.stats.misses;return {hits:this.stats.hits,misses:this.stats.misses,size:this.cache.size,maxSize:this.config.maxSize,hitRate:e>0?this.stats.hits/e:0,evictions:this.stats.evictions,expirations:this.stats.expirations,enabled:this.config.enabled}}configure(e){if(e.maxSize!==void 0)for(this.config.maxSize=e.maxSize;this.cache.size>this.config.maxSize;)this.evictLRU();e.ttlMs!==void 0&&(this.config.ttlMs=e.ttlMs),e.enabled!==void 0&&(this.config.enabled=e.enabled);}enable(){this.config.enabled=true;}disable(){this.config.enabled=false;}getConfig(){return {...this.config}}};new B3;var F3=[["put",Qa],["event-handler",Wa],["wait",Za],["fetch",eo]];function L3(e){let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122?true:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(e)}function P3(e){for(let t of e)if(L3(t))return true;return false}function ta(e){return "a\u0131ouAIOU".includes(e)}function Dl(e){return "ei\xF6\xFCE\u0130\xD6\xDC".includes(e)}function Tl(e){return ta(e)||Dl(e)}function O3(e){for(let t=e.length-1;t>=0;t--)if(Tl(e[t]))return e[t];return null}function R3(e,t){let r=O3(e);if(!r)return true;let n=t.split("").find(i=>Tl(i));return n?ta(r)?ta(n):Dl(n):true}var _3=[{pattern:"iyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"iyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"eceksiniz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"eceksin",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fiz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fim",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131m",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"ecekler",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaklar",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"mi\u015Fsiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fsin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fiz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"din",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"duk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tuk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"dum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"iyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"ecek",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"acak",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"mi\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"di",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"du",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"ti",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tu",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mek",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"mak",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"eyelim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ayal\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"eyim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ay\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"elim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"al\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"melisiniz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"melisin",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyiz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyim",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131m",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"meliler",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131lar",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meli",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"ebiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"ebildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"iniz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n\u0131z",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn\xFCz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"unuz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"in",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"un",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"ildi",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131ld\u0131",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCld\xFC",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"uldu",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ilir",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131l\u0131r",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCl\xFCr",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ulur",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"tirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"turmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"dirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"durmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"miyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"miyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"medi",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"mad\u0131",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"me",confidence:.75,conjugationType:"negative",minStemLength:3},{pattern:"ma",confidence:.75,conjugationType:"negative",minStemLength:3}],Bl=class{constructor(){this.language="tr";}isNormalizable(e){return !(!P3(e)||e.length<3)}normalize(e){let t=e.toLowerCase();for(let r of _3)if(t.endsWith(r.pattern)){let n=t.slice(0,-r.pattern.length),i=r.minStemLength??2;if(n.length<i)continue;if(!R3(n,r.pattern)){let o=r.confidence*.9,u={removedSuffixes:[r.pattern]};return r.conjugationType&&(u.conjugationType=r.conjugationType),Tr(n,o,u)}let a={removedSuffixes:[r.pattern]};return r.conjugationType&&(a.conjugationType=r.conjugationType),Tr(n,r.confidence,a)}return Pn(e)}},kn={code:"tr",name:"Turkish",nativeName:"T\xFCrk\xE7e",regions:["priority"],direction:"ltr",script:"latin",wordOrder:"SOV",markingStrategy:"case-suffix",usesSpaces:true,markersOptional:true,verb:{position:"end",suffixes:["mek","mak","yor","di","mi\u015F"],subjectDrop:true},references:{me:"ben",it:"o",you:"sen",result:"sonu\xE7",event:"olay",target:"hedef",body:"g\xF6vde",document:"belge",window:"pencere",detail:"detay"},obliqueReferences:{me:{i:"beni",e:"bana",den:"benden",i\u00E7indeki:"bendeki"},it:{i:"onu",e:"ona",den:"ondan",i\u00E7indeki:"ondaki"},result:{i:"sonucu",e:"sonuca",den:"sonu\xE7tan"},event:{i:"olay\u0131",e:"olaya",den:"olaydan"},target:{i:"hedefi",e:"hedefe",den:"hedeften"},body:{i:"g\xF6vdeyi",e:"g\xF6vdeye",den:"g\xF6vdeden"},document:{i:"belgeyi",e:"belgeye",den:"belgeden"},window:{i:"pencereyi",e:"pencereye",den:"pencereden"},detail:{i:"detay\u0131",e:"detaya",den:"detaydan"}},queryScopeFirst:{marker:"i\xE7indeki",queryIn:"i\xE7inde"},attachedMarkers:{markers:["da","de","ta","te"]},possessive:{marker:"\u0131n",markerPosition:"after-object",usePossessiveAdjectives:true,specialForms:{me:"benim",it:"onun",you:"senin"},keywords:{benim:"me",senin:"you",onun:"it"}},roleMarkers:{patient:{primary:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC","ni","n\u0131","nu","n\xFC"],position:"after"},destination:{primary:"e",alternatives:["a","ye","ya","ne","na","de","da","te","ta","\u0131n","in","un","\xFCn","n\u0131n","nin","nun","n\xFCn"],position:"after"},source:{primary:"den",alternatives:["dan","ten","tan"],position:"after"},style:{primary:"le",alternatives:["la","yle","yla","ile"],position:"after"},event:{primary:"i",alternatives:["\u0131","u","\xFC"],position:"after"}},keywords:{toggle:{primary:"de\u011Fi\u015Ftir",alternatives:["a\xE7/kapat"],normalized:"toggle"},add:{primary:"ekle",normalized:"add"},remove:{primary:"kald\u0131r",alternatives:["sil"],normalized:"remove"},put:{primary:"koy",normalized:"put"},append:{primary:"ili\u015Ftir",normalized:"append"},prepend:{primary:"ba\u015F\u0131naekle",normalized:"prepend"},take:{primary:"tut",normalized:"take"},make:{primary:"yap",normalized:"make"},clone:{primary:"klonla",normalized:"clone"},swap:{primary:"takas",normalized:"swap"},morph:{primary:"d\xF6n\xFC\u015Ft\xFCr",alternatives:["\u015Fekil de\u011Fi\u015Ftir"],normalized:"morph"},set:{primary:"ayarla",alternatives:["belirle"],normalized:"set"},get:{primary:"al",normalized:"get"},increment:{primary:"art\u0131r",normalized:"increment"},decrement:{primary:"azalt",normalized:"decrement"},log:{primary:"kaydet",normalized:"log"},show:{primary:"g\xF6ster",normalized:"show"},hide:{primary:"gizle",normalized:"hide"},transition:{primary:"ge\xE7i\u015F",normalized:"transition"},on:{primary:"da",alternatives:["de","ta","te","\xFCzerinde","zaman"],normalized:"on"},trigger:{primary:"tetikle",normalized:"trigger"},send:{primary:"g\xF6nder",normalized:"send"},focus:{primary:"odaklanma",alternatives:["odak"],normalized:"focus"},blur:{primary:"odak kayb\u0131",alternatives:["odak kaybi","bulan\u0131k","bulan\u0131kl\u0131k","bulanik"],normalized:"blur"},empty:{primary:"bo\u015Falt",alternatives:["bosalt","bo\u015F"],normalized:"empty"},open:{primary:"a\xE7",alternatives:["ac"],normalized:"open"},close:{primary:"kapat",normalized:"close"},select:{primary:"vurgula",normalized:"select"},clear:{primary:"temizle",normalized:"clear"},reset:{primary:"s\u0131f\u0131rla",alternatives:["sifirla"],normalized:"reset"},breakpoint:{primary:"kesme-noktas\u0131",alternatives:["kesme-noktasi"],normalized:"breakpoint"},click:{primary:"t\u0131klama",alternatives:["t\u0131kla","tiklama","t\u0131k","tik"],normalized:"click"},hover:{primary:"\xFCzerine gelme",alternatives:["\xFCzerinde gezinme"],normalized:"hover"},submit:{primary:"g\xF6nderme",normalized:"submit"},input:{primary:"girdi",alternatives:["giri\u015F","giris"],normalized:"input"},change:{primary:"de\u011Fi\u015Fiklik",alternatives:["de\u011Fi\u015Fim","degisim"],normalized:"change"},load:{primary:"y\xFCkle",normalized:"load"},go:{primary:"git",normalized:"go"},scroll:{primary:"kayd\u0131rma",alternatives:["kaydirma","kayd\u0131r","kaydir"],normalized:"scroll"},push:{primary:"itele",alternatives:["push"],normalized:"push"},replace:{primary:"de\u011Fi\u015Ftir_url",alternatives:["degistir_url"],normalized:"replace"},process:{primary:"i\u015Fle",alternatives:["isle"],normalized:"process"},wait:{primary:"bekle",normalized:"wait"},fetch:{primary:"getir",normalized:"fetch"},settle:{primary:"sabitlen",normalized:"settle"},if:{primary:"e\u011Fer",normalized:"if"},unless:{primary:"de\u011Filse",normalized:"unless"},when:{primary:"iken",alternatives:["durumunda","oldu\u011Funda"],normalized:"when"},changes:{primary:"de\u011Fi\u015Fti\u011Finde",normalized:"changes"},where:{primary:"nerede",normalized:"where"},else:{primary:"yoksa",normalized:"else"},repeat:{primary:"tekrarla",normalized:"repeat"},for:{primary:"i\xE7in",normalized:"for"},while:{primary:"s\xFCresince",normalized:"while"},forever:{primary:"s\xFCrekli",normalized:"forever",alternatives:["forever"]},continue:{primary:"devam",normalized:"continue"},halt:{primary:"durdur",normalized:"halt"},throw:{primary:"f\u0131rlat",normalized:"throw"},call:{primary:"\xE7a\u011F\u0131r",normalized:"call"},return:{primary:"d\xF6n",normalized:"return"},then:{primary:"ard\u0131ndan",alternatives:["daha sonra","ardindan"],normalized:"then"},and:{primary:"ve",alternatives:["ayr\u0131ca","hem de"],normalized:"and"},or:{primary:"veya",normalized:"or"},not:{primary:"de\u011Fil",alternatives:["degil"],normalized:"not"},matches:{primary:"e\u015Fle\u015Fir",normalized:"matches"},is:{primary:"dir",normalized:"is"},no:{primary:"yok",normalized:"no"},end:{primary:"son",alternatives:["biti\u015F","bitti"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asenkron",normalized:"async"},tell:{primary:"s\xF6yle",normalized:"tell"},default:{primary:"varsay\u0131lan",normalized:"default"},init:{primary:"ba\u015Flat",normalized:"init"},behavior:{primary:"davran\u0131\u015F",normalized:"behavior"},install:{primary:"kur",alternatives:["y\xFCklemek"],normalized:"install"},measure:{primary:"\xF6l\xE7",normalized:"measure"},beep:{primary:"bip",normalized:"beep"},ask:{primary:"sor",normalized:"ask"},answer:{primary:"cevapla",normalized:"answer"},break:{primary:"dur",normalized:"break"},copy:{primary:"kopyala",normalized:"copy"},exit:{primary:"\xE7\u0131k",normalized:"exit"},pick:{primary:"se\xE7",normalized:"pick"},render:{primary:"render",normalized:"render"},into:{primary:"i\xE7ine",normalized:"into"},before:{primary:"\xF6nce",normalized:"before"},after:{primary:"sonra",normalized:"after"},until:{primary:"kadar",normalized:"until"},event:{primary:"olay",normalized:"event"},from:{primary:"den",alternatives:["dan"],normalized:"from"},connect:{primary:"ba\u011Flan",alternatives:["ba\u011Fla","ba\u011Flant\u0131"],normalized:"connect"},stream:{primary:"yay\u0131nla",alternatives:["ak\u0131t","ak\u0131\u015F"],normalized:"stream"},live:{primary:"canl\u0131",alternatives:["ger\xE7ek-zamanl\u0131"],normalized:"live"},socket:{primary:"soket",alternatives:["websocket"],normalized:"socket"},bind:{primary:"bind",normalized:"bind"},intercept:{primary:"yakala",alternatives:["araya-gir","intercept"],normalized:"intercept"},worker:{primary:"i\u015F\xE7i",alternatives:["worker"],normalized:"worker"},eventsource:{primary:"eventsource",alternatives:["olay-kayna\u011F\u0131"],normalized:"eventsource"}},eventHandler:{eventMarker:{primary:"da",alternatives:["de","ta","te"],position:"after"},temporalMarkers:["d\u0131\u011F\u0131nda","di\u011Finde"],headOutranksFused:true}},N3=/[\p{L}\p{N}_\-)\]}"`>*]/u;function M3(e,t){if(!e.includes("'")&&!e.includes("\u2019"))return e;let r="",n;for(let i=0;i<e.length;i++){let a=e[i];if(n!==void 0){r+=a,a==="\\"?r+=e[++i]??"":a===n&&(n=void 0);continue}if((a==="'"||a==="\u2019")&&i>0&&N3.test(e[i-1])){let o=/^\p{L}+/u.exec(e.slice(i+1))?.[0];if(o&&t.has(o.toLowerCase())){r+=" ";continue}}(a==='"'||a==="'"||a==="`")&&(n=a),r+=a;}return r}var I3=new Set(["da","de","ta","te"]),$3=new Set(["ile","i\xE7in","kadar","gibi","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","boyunca"]),Sl=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),j3=[{native:"do\u011Fru",normalized:"true"},{native:"dogru",normalized:"true"},{native:"yanl\u0131\u015F",normalized:"false"},{native:"yanlis",normalized:"false"},{native:"null",normalized:"null"},{native:"bo\u015F",normalized:"null"},{native:"bos",normalized:"null"},{native:"tan\u0131ms\u0131z",normalized:"undefined"},{native:"tanimsiz",normalized:"undefined"},{native:"ilk",normalized:"first"},{native:"son",normalized:"last"},{native:"sonuncu",normalized:"last"},{native:"sonraki",normalized:"next"},{native:"\xF6nceki",normalized:"previous"},{native:"onceki",normalized:"previous"},{native:"enyak\u0131n",normalized:"closest"},{native:"enyakin",normalized:"closest"},{native:"ebeveyn",normalized:"parent"},{native:"fare \xFCzerinde",normalized:"mouseover"},{native:"fare uzerinde",normalized:"mouseover"},{native:"fare d\u0131\u015F\u0131nda",normalized:"mouseout"},{native:"fare disinda",normalized:"mouseout"},{native:"farebas",normalized:"mousedown"},{native:"fareb\u0131rak",normalized:"mouseup"},{native:"farebirak",normalized:"mouseup"},{native:"kayd\u0131r",normalized:"scroll"},{native:"kaydir",normalized:"scroll"},{native:"boyutland\u0131rma",normalized:"resize"},{native:"boyutlandirma",normalized:"resize"},{native:"boyutland\u0131r",normalized:"resize"},{native:"boyutlandir",normalized:"resize"},{native:"kayd\u0131rma",normalized:"scroll"},{native:"kaydirma",normalized:"scroll"},{native:"tu\u015F_bas",normalized:"keydown"},{native:"tus_bas",normalized:"keydown"},{native:"tu\u015F_b\u0131rak",normalized:"keyup"},{native:"tus_birak",normalized:"keyup"},{native:"fare_bas",normalized:"mousedown"},{native:"fare_b\u0131rak",normalized:"mouseup"},{native:"saniye",normalized:"s"},{native:"milisaniye",normalized:"ms"},{native:"dakika",normalized:"m"},{native:"saat",normalized:"h"},{native:"dahil",normalized:"inclusive"},{native:"hari\xE7",normalized:"exclusive"},{native:"karakterler",normalized:"characters"},{native:"rastgele",normalized:"random"}],W3=class extends Qt{constructor(){super(),this.language="tr",this.direction="ltr",this.fused=Xa(kn),this.suffixes=new Set([...Sl,...Object.values(kn.roleMarkers).flatMap(e=>[e.primary,...e.alternatives??[]]).filter(e=>/^\p{L}{1,3}$/u.test(e)&&e!=="ile")]),this.attached=[...I3].map(e=>({written:e,marker:e})),this.initializeKeywordsFromProfile(kn,j3),this.setNormalizer(new Bl),this.registerExtractors(Pr()),this.registerExtractor(new Yt),this.registerExtractor(new Zt),this.registerExtractor(Ua()),this.registerExtractor(new Fr),this.registerExtractor(new Lr);}tokenize(e){let t=n=>super.tokenize(n).tokens,r=Ja(super.tokenize(M3(e,this.suffixes)),this.fused,t);return Ga(r,this.attached,t)}classifyToken(e){let t=e.toLowerCase();return $3.has(t)||Sl.has(t)?"particle":this.isKeyword(t)?"keyword":e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("http")?"url":/^\.(once|prevent|stop|debounce|throttle|queue)(\(.*\))?$/.test(e)?"event-modifier":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(e)?"operator":"identifier"}},q3=new W3;Jr("tr",F3);Xr("tr",q3,kn);function bn(e){let t=e.getAttribute("data-lang");if(t)return Cn(t);let r=e.getAttribute("data-hyperscript-lang")??e.closest?.("[data-hyperscript-lang]")?.getAttribute("data-hyperscript-lang");if(r)return Cn(r);let n=e.closest?.("[lang]")?.getAttribute("lang");if(n)return Cn(n);let i=typeof document<"u"?document.documentElement?.lang:null;return i&&i!=="en"?Cn(i):null}function Cn(e){return e.split("-")[0].toLowerCase()}function Fl(){return [{id:"trigger-en-full",language:"en",command:"trigger",priority:100,template:{format:"trigger {event} on {destination}",tokens:[{type:"literal",value:"trigger"},{type:"role",role:"event",expectedTypes:rt},{type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"destination",expectedTypes:Br}]}]},extraction:{event:{position:1},destination:{marker:"on",default:{type:"reference",value:"me"}}}},{id:"trigger-en-simple",language:"en",command:"trigger",priority:90,template:{format:"trigger {event}",tokens:[{type:"literal",value:"trigger"},{type:"role",role:"event",expectedTypes:rt}]},extraction:{event:{position:1},destination:{default:{type:"reference",value:"me"}}}}]}function ra(){return [{id:"toggle-en-full",language:"en",command:"toggle",priority:100,template:{format:"toggle {patient} on {target}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"},{type:"group",optional:true,tokens:[{type:"literal",value:"on",alternatives:["from"]},{type:"role",role:"destination"}]}]},extraction:{patient:{position:1},destination:{marker:"on",markerAlternatives:["from"],default:{type:"reference",value:"me"}}}},{id:"toggle-en-simple",language:"en",command:"toggle",priority:90,template:{format:"toggle {patient}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"}]},extraction:{patient:{position:1},destination:{default:{type:"reference",value:"me"}}}}]}function V3(){return [{id:"append-en-full",language:"en",command:"append",priority:100,template:{format:"append {patient} to {destination}",tokens:[{type:"literal",value:"append"},{type:"role",role:"patient",expectedTypes:Jt},{type:"literal",value:"to"},{type:"role",role:"destination",expectedTypes:_n}]},extraction:{patient:{position:1},destination:{marker:"to"}}}]}function H3(){return [{id:"prepend-en-full",language:"en",command:"prepend",priority:100,template:{format:"prepend {patient} to {destination}",tokens:[{type:"literal",value:"prepend"},{type:"role",role:"patient",expectedTypes:Jt},{type:"literal",value:"to"},{type:"role",role:"destination",expectedTypes:_n}]},extraction:{patient:{position:1},destination:{marker:"to"}}}]}var K3=[["toggle",ra],["put",In],["event-handler",Nn],["wait",Mn],["append",V3],["prepend",H3],["trigger",Fl]],ia={code:"en",name:"English",nativeName:"English",regions:["western","priority"],direction:"ltr",script:"latin",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:true,defaultVerbForm:"base",verb:{position:"start",subjectDrop:false},references:{me:"me",it:"it",you:"you",result:"result",event:"event",target:"target",body:"body",document:"document",window:"window",detail:"detail"},possessive:{marker:"'s",markerPosition:"after-object",specialForms:{me:"my",it:"its",you:"your"},keywords:{my:"me",your:"you",its:"it"}},roleMarkers:{destination:{primary:"on",alternatives:["to","from"],position:"before"},source:{primary:"from",position:"before"},patient:{primary:"",position:"before"},style:{primary:"with",alternatives:["by","using"],position:"before"},responseType:{primary:"as",position:"before"},method:{primary:"via",alternatives:["using"],position:"before"}},keywords:{toggle:{primary:"toggle"},add:{primary:"add"},remove:{primary:"remove"},put:{primary:"put"},append:{primary:"append"},prepend:{primary:"prepend"},take:{primary:"take"},make:{primary:"make"},clone:{primary:"clone"},swap:{primary:"swap"},morph:{primary:"morph"},set:{primary:"set"},get:{primary:"get"},increment:{primary:"increment"},decrement:{primary:"decrement"},log:{primary:"log"},show:{primary:"show"},hide:{primary:"hide"},transition:{primary:"transition"},on:{primary:"on"},trigger:{primary:"trigger"},send:{primary:"send"},focus:{primary:"focus"},blur:{primary:"blur"},empty:{primary:"empty",normalized:"empty"},open:{primary:"open",normalized:"open"},close:{primary:"close",normalized:"close"},select:{primary:"select",normalized:"select"},clear:{primary:"clear",normalized:"clear"},reset:{primary:"reset",normalized:"reset"},breakpoint:{primary:"breakpoint",normalized:"breakpoint"},go:{primary:"go"},scroll:{primary:"scroll",normalized:"scroll"},push:{primary:"push",normalized:"push"},replace:{primary:"replace",normalized:"replace"},process:{primary:"process",normalized:"process"},wait:{primary:"wait"},fetch:{primary:"fetch"},settle:{primary:"settle"},if:{primary:"if"},when:{primary:"when",normalized:"when"},changes:{primary:"changes",normalized:"changes"},where:{primary:"where",normalized:"where"},else:{primary:"else"},repeat:{primary:"repeat"},for:{primary:"for"},while:{primary:"while"},continue:{primary:"continue"},halt:{primary:"halt"},throw:{primary:"throw"},call:{primary:"call"},return:{primary:"return"},then:{primary:"then"},and:{primary:"and"},end:{primary:"end"},js:{primary:"js"},async:{primary:"async"},tell:{primary:"tell"},default:{primary:"default"},init:{primary:"init"},behavior:{primary:"behavior"},install:{primary:"install"},measure:{primary:"measure"},beep:{primary:"beep"},ask:{primary:"ask"},answer:{primary:"answer"},break:{primary:"break"},copy:{primary:"copy"},exit:{primary:"exit"},pick:{primary:"pick"},render:{primary:"render"},into:{primary:"into"},before:{primary:"before"},after:{primary:"after"},until:{primary:"until"},event:{primary:"event"},from:{primary:"from"},connect:{primary:"connect",normalized:"connect"},stream:{primary:"stream",normalized:"stream"},live:{primary:"live",normalized:"live"},socket:{primary:"socket",alternatives:["websocket"],normalized:"socket"},bind:{primary:"bind",normalized:"bind"},eventsource:{primary:"eventsource",normalized:"eventsource"},worker:{primary:"worker",normalized:"worker"},intercept:{primary:"intercept",normalized:"intercept"}}};function na(e){return /[a-zA-Z0-9_]/.test(e)}var U3=class{constructor(){this.name="english-keyword";}setContext(e){this.context=e;}canExtract(e,t){return /[a-zA-Z_]/.test(e[t])}extract(e,t){if(!this.context)throw new Error("EnglishKeywordExtractor: context not set");let r=t,n="";for(;r<e.length&&na(e[r]);)n+=e[r++];if(!n)return null;if(r<e.length&&e[r]===":"){let u=r;r++;let s="";for(;r<e.length&&na(e[r]);)s+=e[r++];s?n=n+":"+s:r=u;}let i=this.context.lookupKeyword(n),a=i&&i.normalized!==i.native?i.normalized:void 0,o=null;return this.context.isKeyword(n)||(o=this.tryClassSyntaxConversion(e,r,n)),{value:o||n,length:r-t,metadata:{normalized:a,classConversion:o?true:void 0}}}tryClassSyntaxConversion(e,t,r){let n=t;for(;n<e.length&&/\s/.test(e[n]);)n++;if(e.slice(n,n+5).toLowerCase()==="class"){let i=n+5;if(i>=e.length||!na(e[i]))return "."+r}return null}};function G3(){return [new U3]}var Y3=[{native:"true",normalized:"true"},{native:"false",normalized:"false"},{native:"null",normalized:"null"},{native:"undefined",normalized:"undefined"},{native:"first",normalized:"first"},{native:"last",normalized:"last"},{native:"next",normalized:"next"},{native:"previous",normalized:"previous"},{native:"closest",normalized:"closest"},{native:"click",normalized:"click"},{native:"dblclick",normalized:"dblclick"},{native:"mousedown",normalized:"mousedown"},{native:"mouseup",normalized:"mouseup"},{native:"mouseover",normalized:"mouseover"},{native:"mouseout",normalized:"mouseout"},{native:"mouseenter",normalized:"mouseenter"},{native:"mouseleave",normalized:"mouseleave"},{native:"mousemove",normalized:"mousemove"},{native:"keydown",normalized:"keydown"},{native:"keyup",normalized:"keyup"},{native:"keypress",normalized:"keypress"},{native:"input",normalized:"input"},{native:"change",normalized:"change"},{native:"submit",normalized:"submit"},{native:"reset",normalized:"reset"},{native:"load",normalized:"load"},{native:"unload",normalized:"unload"},{native:"scroll",normalized:"scroll"},{native:"resize",normalized:"resize"},{native:"dragstart",normalized:"dragstart"},{native:"drag",normalized:"drag"},{native:"dragend",normalized:"dragend"},{native:"dragenter",normalized:"dragenter"},{native:"dragleave",normalized:"dragleave"},{native:"dragover",normalized:"dragover"},{native:"drop",normalized:"drop"},{native:"touchstart",normalized:"touchstart"},{native:"touchmove",normalized:"touchmove"},{native:"touchend",normalized:"touchend"},{native:"touchcancel",normalized:"touchcancel"},{native:"in",normalized:"in"},{native:"to",normalized:"to"},{native:"at",normalized:"at"},{native:"by",normalized:"by"},{native:"with",normalized:"with"},{native:"without",normalized:"without"},{native:"of",normalized:"of"},{native:"as",normalized:"as"},{native:"every",normalized:"every"},{native:"upon",normalized:"upon"},{native:"unless",normalized:"unless"},{native:"forever",normalized:"forever"},{native:"times",normalized:"times"},{native:"and",normalized:"and"},{native:"or",normalized:"or"},{native:"not",normalized:"not"},{native:"is",normalized:"is"},{native:"exists",normalized:"exists"},{native:"empty",normalized:"empty"},{native:"my",normalized:"my"},{native:"your",normalized:"your"},{native:"its",normalized:"its"},{native:"the",normalized:"the"},{native:"a",normalized:"a"},{native:"an",normalized:"an"},{native:"delete",normalized:"delete"},{native:"beforebegin",normalized:"beforebegin"},{native:"afterend",normalized:"afterend"},{native:"beforeend",normalized:"beforeend"},{native:"afterbegin",normalized:"afterbegin"},{native:"flip",normalized:"toggle"},{native:"switch",normalized:"toggle"},{native:"increase",normalized:"increment"},{native:"decrease",normalized:"decrement"},{native:"display",normalized:"show"},{native:"reveal",normalized:"show"},{native:"conceal",normalized:"hide"},{native:"colour",normalized:"color"},{native:"grey",normalized:"gray"},{native:"centre",normalized:"center"},{native:"behaviour",normalized:"behavior"},{native:"initialise",normalized:"initialize"},{native:"favourite",normalized:"favorite"}],Z3=class extends Qt{constructor(){super(),this.language="en",this.direction="ltr",this.initializeKeywordsFromProfile(ia,Y3),this.registerExtractors(Pr()),this.registerExtractor(new Yt),this.registerExtractor(new Ha),this.registerExtractor(new Ka),this.registerExtractor(new Zt),this.registerExtractors(G3()),this.registerExtractor(new Fr),this.registerExtractor(new Lr);}classifyToken(e){return this.isKeyword(e)?"keyword":e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("http")?"url":/^\.(once|prevent|stop|debounce|throttle|queue)(\(.*\))?$/.test(e)?"event-modifier":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(e)?"operator":"identifier"}},Q3=new Z3,X3={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:Bt},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:tr}]},extraction:{source:{position:1},responseType:{marker:"as"}}},J3={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:Bt},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:rr},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:tr}]},extraction:{source:{position:1},style:{marker:"with"},responseType:{marker:"as"}}},eE={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:Bt},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:rr}]},extraction:{source:{position:1},style:{marker:"with"}}},tE={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}}},rE=[J3,eE,X3,tE],nE={id:"pick-en-variant",language:"en",command:"pick",priority:110,template:{format:"pick {method} {patient} of {source}",tokens:[{type:"literal",value:"pick"},{type:"role",role:"method",expectedTypes:["literal","expression"]},{type:"role",role:"patient",expectedTypes:["literal","expression"]},{type:"literal",value:"of",alternatives:["from"]},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{method:{position:1},patient:{position:2},source:{marker:"of",markerAlternatives:["from"]}}},iE=[nE],zn={type:"group",optional:true,tokens:[{type:"literal",value:"using"},{type:"literal",value:"view"},{type:"role",role:"manner",optional:true,expectedTypes:["literal","expression"],valueShape:"keyword"}]},aE={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"},zn]},extraction:{method:{position:1},destination:{position:2}}},oE={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"},zn]},extraction:{}},uE={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"},zn]},extraction:{}},sE={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"},zn]},extraction:{}},lE=[uE,sE,oE,aE],cE=[..._a],pE={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:cE},{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"}}},Ll=["reference","expression","selector","property-path"],dE={id:"bind-en-and",language:"en",command:"bind",priority:90,template:{format:"bind {destination} and {source}",tokens:[{type:"literal",value:"bind"},{type:"role",role:"destination",expectedTypes:[...Ll]},{type:"literal",value:"and",alternatives:["with"]},{type:"role",role:"source",expectedTypes:[...Ll]}]},extraction:{}},Pl=[{type:"literal",value:"start"},{type:"group",optional:true,tokens:[{type:"literal",value:"a"}]},{type:"literal",value:"view"},{type:"literal",value:"transition"}];function mE(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:$a}]},extraction:{style:{marker:"using"}}},{id:u,language:e,command:"viewTransition",priority:s,template:{format:"start [a] view transition",tokens:o},extraction:{}}],n=`viewTransition-${e}`;return r(Pl,n,110);}var fE={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:rt},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:Br}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},yE={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:rt}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},vE={id:"repeat-en-times",language:"en",command:"repeat",priority:110,template:{format:"repeat {quantity} times",tokens:[{type:"literal",value:"repeat"},{type:"role",role:"quantity",expectedTypes:ja},{type:"literal",value:"times"}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}},hE={id:"repeat-en-forever",language:"en",command:"repeat",priority:110,template:{format:"repeat forever",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"forever"}]},extraction:{loopType:{default:{type:"literal",value:"forever"}}}},EE={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:Ma},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:Ia}]},extraction:{patient:{position:1},source:{marker:"in"}}},gE={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:Rn}]},extraction:{condition:{position:1}}},wE={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:Rn}]},extraction:{condition:{position:1}}},kE={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:er}]},extraction:{duration:{position:1}}},CE={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:er}]},extraction:{duration:{position:1}}};function bE(){let e=[];e.push(...ra()),e.push(...In()),e.push(...Nn()),e.push(...Di("en")),e.push(...Mn()),e.push(...mE("en")),e.push(...rE,...iE,...lE,fE,yE,vE,hE,pE,dE,EE,gE,wE,kE,CE);let t=Oi(ia);return e.push(...t),e}Jr("en",K3);Xr("en",Q3,ia);Au("en",bE());var zE=new Set(["me","my","i","it","its","you","your"]);function AE(e){for(let t of e?.features??[])for(let r of t.events??[])if(typeof r.on=="string"&&zE.has(r.on.toLowerCase()))return r.on}function _l(e,t){if(typeof e.parse!="function")return true;try{let r=e.parse(t);return r?.errors&&r.errors.length>0?!1:AE(r)===void 0}catch{return false}}var Ol=new Set;function Nl(e,t,r){Ol.has(e)||(Ol.add(e),console.warn(`[hyperscript-i18n] Translation for lang="${e}" rendered hyperscript the host parser rejects (or reads as a handler for an event named like me/it/you) \u2014 falling back to the original text. Source: "${t.length>60?t.slice(0,60)+"\u2026":t}" \u2192 "${r.length>60?r.slice(0,60)+"\u2026":r}". Further elements in this language stay quiet \u2014 enable { debug: true } for per-element detail.`));}function Ml(e){if(!(e instanceof Error)||e.name!=="LossyTranslationError")return;let t=e;if(typeof t.partial=="string")return {partial:t.partial,lost:Array.isArray(t.loss?.lost)?t.loss.lost.map(String):[]}}var Rl=new Set;function Il(e,t,r){Rl.has(e)||(Rl.add(e),console.warn(`[hyperscript-i18n] Translation for lang="${e}" would lose part of the script (${r.lost.join(", ")}) \u2014 keeping the original text, which the host will report. Source: "${t.length>60?t.slice(0,60)+"\u2026":t}". Further elements in this language stay quiet \u2014 enable { debug: true } for per-element detail.`));}var $l=.5,xE={confidenceThreshold:$l,strategy:"semantic"};function SE(e,t){return typeof e=="number"?e:e[t]??e["*"]??$l}var DE=/^(on\s+(?:every\s+)?[\w-]+(?:\[.*?\])?(?:\.[\w-]+(?:\([^)]*\))?)*(?:\s+from\s+\S+)?(?:\s+queue\s+\w+)?\s+)/;function TE(e){let t=e.match(DE);if(!t)return null;let r=t[1],n=e.slice(r.length);return n?{prefix:r,commands:n}:null}function jl(e){function t(i,a,o,u){try{return e.isLanguageRegistered(a)?e.translateSingle(i,a,o):null}catch(s){let l=Ml(s);return l&&u(l),null}}function r(i,a,o){try{let u=o(i,a);return u!==i?u:null}catch{return null}}function n(i,a,o,u){if(o.strategy==="semantic"||o.strategy==="auto"){let s=SE(o.confidenceThreshold,a),l=t(i,a,s,u);if(l!==null)return l}if((o.strategy==="auto"||o.strategy==="i18n")&&o.i18nToEnglish){let s=r(i,a,o.i18nToEnglish);if(s!==null)return s}return null}return function(a,o,u={}){if(o==="en")return a;let s={...xE,...u},l,c=y=>void(l??(l=y)),p=n(a,o,s,c);if(p!==null)return p;let m=TE(a);if(m){let y=n(m.commands,o,s,c);if(y!==null)return m.prefix+y}return l&&s.onLossy?.(l),a}}var aa=jl({isLanguageRegistered:xu,translateSingle(e,t,r){let n=cr(e,t);if(n.confidence<r||!n.node)return n.confidence>=r?xl(e,t,"en"):null;let i=hn(n.node,"en"),a=ea(e,n.node,i,"en");if(a)throw new Sr(i,a,t,"en");return i}});var oa=new WeakSet;function BE(e){return (e.config?.attributes??"_, script, data-script").split(",").map(r=>r.trim()).filter(Boolean)}function FE(e,t){for(let r of t)if(e.hasAttribute(r))return r;return null}function Wl(e,t){if(typeof e.addSourceTransform=="function"){e.addSourceTransform(t);return}if(typeof e.addBeforeProcessHook!="function"){console.warn("[hyperscript-i18n] _hyperscript.addBeforeProcessHook is unavailable \u2014 this build of _hyperscript.org is not supported. Load a current version from https://unpkg.com/hyperscript.org.");return}let r=BE(e),n=[...r.map(a=>`[${a}]`),'script[type="text/hyperscript"]'].join(", "),i=a=>{if(oa.has(a))return;if(a instanceof HTMLScriptElement&&a.type==="text/hyperscript"){let l=a.textContent??"";if(!l)return;let c=t(l,a);oa.add(a),c!=null&&c!==l&&(a.textContent=c);return}let o=FE(a,r);if(!o)return;let u=a.getAttribute(o);if(!u)return;let s=t(u,a);oa.add(a),s!=null&&s!==u&&a.setAttribute(o,s);};e.addBeforeProcessHook(a=>{!a||typeof a.querySelectorAll!="function"||(typeof a.matches=="function"&&a.matches(n)&&i(a),a.querySelectorAll(n).forEach(i));});}function ua(e={}){return function(r){let n=r;Wl(n,(i,a)=>{let o=LE(a,e);if(!o||o==="en")return i;let u,s=aa(i,o,{...e,onLossy:l=>void(u=l)});if(u)return e.debug?console.log(`[hyperscript-i18n] ${o}: refused, would lose ${u.lost.join(", ")} \u2014 keeping "${i}"`):Il(o,i,u),i;if(s!==i){if(e.validateWithHost!==false&&!_l(n,s))return e.debug?console.log(`[hyperscript-i18n] ${o}: host rejected "${s}" \u2014 keeping "${i}"`):Nl(o,i,s),i;e.debug&&console.log(`[hyperscript-i18n] ${o}: "${i}" \u2192 "${s}"`);}return s});}}function LE(e,t){if(t.languageAttribute){let n=e.getAttribute(t.languageAttribute);if(n)return n.split("-")[0].toLowerCase()}let r=bn(e);return r||(t.defaultLanguage??null)}function ql(e,t,r={}){return t==="en"?e:aa(e,t,r)}function Vl(){typeof _hyperscript<"u"&&_hyperscript.use&&_hyperscript.use(ua());}var g1=["tr"];Vl();
16
16
  exports.plugin=ua;exports.preprocess=ql;exports.resolveLanguage=bn;exports.supportedLanguages=g1;return exports;})({});