@lokascript/semantic 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +686 -0
- package/dist/browser-ar.ar.global.js +2 -0
- package/dist/browser-core.core.global.js +2 -0
- package/dist/browser-de.de.global.js +2 -0
- package/dist/browser-east-asian.east-asian.global.js +2 -0
- package/dist/browser-en-tr.en-tr.global.js +2 -0
- package/dist/browser-en.en.global.js +2 -0
- package/dist/browser-es-en.es-en.global.js +2 -0
- package/dist/browser-es.es.global.js +2 -0
- package/dist/browser-fr.fr.global.js +2 -0
- package/dist/browser-id.id.global.js +2 -0
- package/dist/browser-ja.ja.global.js +2 -0
- package/dist/browser-ko.ko.global.js +2 -0
- package/dist/browser-lazy.lazy.global.js +2 -0
- package/dist/browser-priority.priority.global.js +2 -0
- package/dist/browser-pt.pt.global.js +2 -0
- package/dist/browser-qu.qu.global.js +2 -0
- package/dist/browser-sw.sw.global.js +2 -0
- package/dist/browser-tr.tr.global.js +2 -0
- package/dist/browser-western.western.global.js +2 -0
- package/dist/browser-zh.zh.global.js +2 -0
- package/dist/browser.global.js +3 -0
- package/dist/browser.global.js.map +1 -0
- package/dist/index.cjs +35051 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3426 -0
- package/dist/index.d.ts +3426 -0
- package/dist/index.js +34890 -0
- package/dist/index.js.map +1 -0
- package/dist/languages/ar.d.ts +78 -0
- package/dist/languages/ar.js +1622 -0
- package/dist/languages/ar.js.map +1 -0
- package/dist/languages/de.d.ts +38 -0
- package/dist/languages/de.js +1168 -0
- package/dist/languages/de.js.map +1 -0
- package/dist/languages/en.d.ts +44 -0
- package/dist/languages/en.js +3491 -0
- package/dist/languages/en.js.map +1 -0
- package/dist/languages/es.d.ts +52 -0
- package/dist/languages/es.js +1493 -0
- package/dist/languages/es.js.map +1 -0
- package/dist/languages/fr.d.ts +37 -0
- package/dist/languages/fr.js +1159 -0
- package/dist/languages/fr.js.map +1 -0
- package/dist/languages/id.d.ts +35 -0
- package/dist/languages/id.js +1152 -0
- package/dist/languages/id.js.map +1 -0
- package/dist/languages/ja.d.ts +53 -0
- package/dist/languages/ja.js +1430 -0
- package/dist/languages/ja.js.map +1 -0
- package/dist/languages/ko.d.ts +51 -0
- package/dist/languages/ko.js +1729 -0
- package/dist/languages/ko.js.map +1 -0
- package/dist/languages/pt.d.ts +37 -0
- package/dist/languages/pt.js +1127 -0
- package/dist/languages/pt.js.map +1 -0
- package/dist/languages/qu.d.ts +36 -0
- package/dist/languages/qu.js +1143 -0
- package/dist/languages/qu.js.map +1 -0
- package/dist/languages/sw.d.ts +35 -0
- package/dist/languages/sw.js +1147 -0
- package/dist/languages/sw.js.map +1 -0
- package/dist/languages/tr.d.ts +45 -0
- package/dist/languages/tr.js +1529 -0
- package/dist/languages/tr.js.map +1 -0
- package/dist/languages/zh.d.ts +58 -0
- package/dist/languages/zh.js +1257 -0
- package/dist/languages/zh.js.map +1 -0
- package/dist/types-C4dcj53L.d.ts +600 -0
- package/package.json +202 -0
- package/src/__test-utils__/index.ts +7 -0
- package/src/__test-utils__/test-helpers.ts +8 -0
- package/src/__types__/test-helpers.ts +122 -0
- package/src/analysis/index.ts +479 -0
- package/src/ast-builder/command-mappers.ts +1133 -0
- package/src/ast-builder/expression-parser/index.ts +41 -0
- package/src/ast-builder/expression-parser/parser.ts +563 -0
- package/src/ast-builder/expression-parser/tokenizer.ts +394 -0
- package/src/ast-builder/expression-parser/types.ts +208 -0
- package/src/ast-builder/index.ts +536 -0
- package/src/ast-builder/value-converters.ts +172 -0
- package/src/bridge.ts +275 -0
- package/src/browser-ar.ts +162 -0
- package/src/browser-core.ts +231 -0
- package/src/browser-de.ts +162 -0
- package/src/browser-east-asian.ts +173 -0
- package/src/browser-en-tr.ts +165 -0
- package/src/browser-en.ts +157 -0
- package/src/browser-es-en.ts +200 -0
- package/src/browser-es.ts +170 -0
- package/src/browser-fr.ts +162 -0
- package/src/browser-id.ts +162 -0
- package/src/browser-ja.ts +162 -0
- package/src/browser-ko.ts +162 -0
- package/src/browser-lazy.ts +189 -0
- package/src/browser-priority.ts +214 -0
- package/src/browser-pt.ts +162 -0
- package/src/browser-qu.ts +162 -0
- package/src/browser-sw.ts +162 -0
- package/src/browser-tr.ts +162 -0
- package/src/browser-western.ts +181 -0
- package/src/browser-zh.ts +162 -0
- package/src/browser.ts +268 -0
- package/src/cache/index.ts +14 -0
- package/src/cache/semantic-cache.ts +344 -0
- package/src/core-bridge.ts +372 -0
- package/src/explicit/converter.ts +258 -0
- package/src/explicit/index.ts +18 -0
- package/src/explicit/parser.ts +236 -0
- package/src/explicit/renderer.ts +424 -0
- package/src/generators/command-schemas.ts +1636 -0
- package/src/generators/event-handler-generator.ts +109 -0
- package/src/generators/index.ts +117 -0
- package/src/generators/language-profiles.ts +139 -0
- package/src/generators/pattern-generator.ts +537 -0
- package/src/generators/profiles/arabic.ts +131 -0
- package/src/generators/profiles/bengali.ts +132 -0
- package/src/generators/profiles/chinese.ts +124 -0
- package/src/generators/profiles/english.ts +113 -0
- package/src/generators/profiles/french.ts +125 -0
- package/src/generators/profiles/german.ts +126 -0
- package/src/generators/profiles/hindi.ts +146 -0
- package/src/generators/profiles/index.ts +46 -0
- package/src/generators/profiles/indonesian.ts +125 -0
- package/src/generators/profiles/italian.ts +139 -0
- package/src/generators/profiles/japanese.ts +149 -0
- package/src/generators/profiles/korean.ts +127 -0
- package/src/generators/profiles/marker-templates.ts +288 -0
- package/src/generators/profiles/ms.ts +130 -0
- package/src/generators/profiles/polish.ts +249 -0
- package/src/generators/profiles/portuguese.ts +115 -0
- package/src/generators/profiles/quechua.ts +113 -0
- package/src/generators/profiles/russian.ts +260 -0
- package/src/generators/profiles/spanish.ts +130 -0
- package/src/generators/profiles/swahili.ts +129 -0
- package/src/generators/profiles/thai.ts +132 -0
- package/src/generators/profiles/tl.ts +128 -0
- package/src/generators/profiles/turkish.ts +124 -0
- package/src/generators/profiles/types.ts +165 -0
- package/src/generators/profiles/ukrainian.ts +270 -0
- package/src/generators/profiles/vietnamese.ts +133 -0
- package/src/generators/schema-error-codes.ts +160 -0
- package/src/generators/schema-validator.ts +391 -0
- package/src/index.ts +429 -0
- package/src/language-building-schema.ts +3170 -0
- package/src/language-loader.ts +394 -0
- package/src/languages/_all.ts +65 -0
- package/src/languages/ar.ts +15 -0
- package/src/languages/bn.ts +16 -0
- package/src/languages/de.ts +15 -0
- package/src/languages/en.ts +29 -0
- package/src/languages/es.ts +15 -0
- package/src/languages/fr.ts +15 -0
- package/src/languages/hi.ts +26 -0
- package/src/languages/id.ts +15 -0
- package/src/languages/index.ts +18 -0
- package/src/languages/it.ts +15 -0
- package/src/languages/ja.ts +15 -0
- package/src/languages/ko.ts +15 -0
- package/src/languages/ms.ts +16 -0
- package/src/languages/pl.ts +18 -0
- package/src/languages/pt.ts +15 -0
- package/src/languages/qu.ts +15 -0
- package/src/languages/ru.ts +26 -0
- package/src/languages/sw.ts +15 -0
- package/src/languages/th.ts +16 -0
- package/src/languages/tl.ts +16 -0
- package/src/languages/tr.ts +15 -0
- package/src/languages/uk.ts +26 -0
- package/src/languages/vi.ts +16 -0
- package/src/languages/zh.ts +15 -0
- package/src/parser/index.ts +15 -0
- package/src/parser/pattern-matcher.ts +1181 -0
- package/src/parser/semantic-parser.ts +573 -0
- package/src/parser/utils/index.ts +35 -0
- package/src/parser/utils/marker-resolution.ts +111 -0
- package/src/parser/utils/possessive-keywords.ts +43 -0
- package/src/parser/utils/role-positioning.ts +70 -0
- package/src/parser/utils/type-validation.ts +134 -0
- package/src/patterns/add/ar.ts +71 -0
- package/src/patterns/add/bn.ts +70 -0
- package/src/patterns/add/hi.ts +69 -0
- package/src/patterns/add/index.ts +87 -0
- package/src/patterns/add/it.ts +61 -0
- package/src/patterns/add/ja.ts +93 -0
- package/src/patterns/add/ko.ts +74 -0
- package/src/patterns/add/ms.ts +30 -0
- package/src/patterns/add/pl.ts +62 -0
- package/src/patterns/add/ru.ts +62 -0
- package/src/patterns/add/th.ts +49 -0
- package/src/patterns/add/tl.ts +30 -0
- package/src/patterns/add/tr.ts +71 -0
- package/src/patterns/add/uk.ts +62 -0
- package/src/patterns/add/vi.ts +61 -0
- package/src/patterns/add/zh.ts +71 -0
- package/src/patterns/builders.ts +207 -0
- package/src/patterns/decrement/bn.ts +70 -0
- package/src/patterns/decrement/de.ts +42 -0
- package/src/patterns/decrement/hi.ts +68 -0
- package/src/patterns/decrement/index.ts +79 -0
- package/src/patterns/decrement/it.ts +69 -0
- package/src/patterns/decrement/ms.ts +30 -0
- package/src/patterns/decrement/pl.ts +58 -0
- package/src/patterns/decrement/ru.ts +58 -0
- package/src/patterns/decrement/th.ts +49 -0
- package/src/patterns/decrement/tl.ts +30 -0
- package/src/patterns/decrement/tr.ts +48 -0
- package/src/patterns/decrement/uk.ts +58 -0
- package/src/patterns/decrement/vi.ts +61 -0
- package/src/patterns/decrement/zh.ts +32 -0
- package/src/patterns/en.ts +302 -0
- package/src/patterns/event-handler/ar.ts +151 -0
- package/src/patterns/event-handler/bn.ts +72 -0
- package/src/patterns/event-handler/de.ts +117 -0
- package/src/patterns/event-handler/en.ts +117 -0
- package/src/patterns/event-handler/es.ts +136 -0
- package/src/patterns/event-handler/fr.ts +117 -0
- package/src/patterns/event-handler/hi.ts +64 -0
- package/src/patterns/event-handler/id.ts +117 -0
- package/src/patterns/event-handler/index.ts +119 -0
- package/src/patterns/event-handler/it.ts +54 -0
- package/src/patterns/event-handler/ja.ts +118 -0
- package/src/patterns/event-handler/ko.ts +133 -0
- package/src/patterns/event-handler/ms.ts +30 -0
- package/src/patterns/event-handler/pl.ts +62 -0
- package/src/patterns/event-handler/pt.ts +117 -0
- package/src/patterns/event-handler/qu.ts +66 -0
- package/src/patterns/event-handler/ru.ts +62 -0
- package/src/patterns/event-handler/shared.ts +270 -0
- package/src/patterns/event-handler/sw.ts +117 -0
- package/src/patterns/event-handler/th.ts +53 -0
- package/src/patterns/event-handler/tl.ts +30 -0
- package/src/patterns/event-handler/tr.ts +170 -0
- package/src/patterns/event-handler/uk.ts +62 -0
- package/src/patterns/event-handler/vi.ts +61 -0
- package/src/patterns/event-handler/zh.ts +150 -0
- package/src/patterns/get/ar.ts +49 -0
- package/src/patterns/get/bn.ts +47 -0
- package/src/patterns/get/de.ts +32 -0
- package/src/patterns/get/hi.ts +52 -0
- package/src/patterns/get/index.ts +83 -0
- package/src/patterns/get/it.ts +56 -0
- package/src/patterns/get/ja.ts +53 -0
- package/src/patterns/get/ko.ts +53 -0
- package/src/patterns/get/ms.ts +30 -0
- package/src/patterns/get/pl.ts +57 -0
- package/src/patterns/get/ru.ts +57 -0
- package/src/patterns/get/th.ts +29 -0
- package/src/patterns/get/tl.ts +30 -0
- package/src/patterns/get/uk.ts +57 -0
- package/src/patterns/get/vi.ts +48 -0
- package/src/patterns/grammar-transformed/index.ts +39 -0
- package/src/patterns/grammar-transformed/ja.ts +1713 -0
- package/src/patterns/grammar-transformed/ko.ts +1311 -0
- package/src/patterns/grammar-transformed/tr.ts +1067 -0
- package/src/patterns/hide/ar.ts +67 -0
- package/src/patterns/hide/bn.ts +47 -0
- package/src/patterns/hide/de.ts +36 -0
- package/src/patterns/hide/hi.ts +61 -0
- package/src/patterns/hide/index.ts +91 -0
- package/src/patterns/hide/it.ts +56 -0
- package/src/patterns/hide/ja.ts +69 -0
- package/src/patterns/hide/ko.ts +69 -0
- package/src/patterns/hide/ms.ts +30 -0
- package/src/patterns/hide/pl.ts +57 -0
- package/src/patterns/hide/ru.ts +57 -0
- package/src/patterns/hide/th.ts +29 -0
- package/src/patterns/hide/tl.ts +30 -0
- package/src/patterns/hide/tr.ts +65 -0
- package/src/patterns/hide/uk.ts +57 -0
- package/src/patterns/hide/vi.ts +56 -0
- package/src/patterns/hide/zh.ts +68 -0
- package/src/patterns/increment/bn.ts +70 -0
- package/src/patterns/increment/de.ts +36 -0
- package/src/patterns/increment/hi.ts +68 -0
- package/src/patterns/increment/index.ts +79 -0
- package/src/patterns/increment/it.ts +69 -0
- package/src/patterns/increment/ms.ts +30 -0
- package/src/patterns/increment/pl.ts +58 -0
- package/src/patterns/increment/ru.ts +58 -0
- package/src/patterns/increment/th.ts +49 -0
- package/src/patterns/increment/tl.ts +30 -0
- package/src/patterns/increment/tr.ts +52 -0
- package/src/patterns/increment/uk.ts +58 -0
- package/src/patterns/increment/vi.ts +61 -0
- package/src/patterns/increment/zh.ts +32 -0
- package/src/patterns/index.ts +84 -0
- package/src/patterns/languages/en/control-flow.ts +93 -0
- package/src/patterns/languages/en/fetch.ts +62 -0
- package/src/patterns/languages/en/index.ts +42 -0
- package/src/patterns/languages/en/repeat.ts +67 -0
- package/src/patterns/languages/en/set.ts +48 -0
- package/src/patterns/languages/en/swap.ts +38 -0
- package/src/patterns/languages/en/temporal.ts +57 -0
- package/src/patterns/put/ar.ts +74 -0
- package/src/patterns/put/bn.ts +53 -0
- package/src/patterns/put/en.ts +74 -0
- package/src/patterns/put/es.ts +74 -0
- package/src/patterns/put/hi.ts +69 -0
- package/src/patterns/put/id.ts +96 -0
- package/src/patterns/put/index.ts +99 -0
- package/src/patterns/put/it.ts +56 -0
- package/src/patterns/put/ja.ts +75 -0
- package/src/patterns/put/ko.ts +67 -0
- package/src/patterns/put/ms.ts +30 -0
- package/src/patterns/put/pl.ts +81 -0
- package/src/patterns/put/ru.ts +85 -0
- package/src/patterns/put/th.ts +32 -0
- package/src/patterns/put/tl.ts +30 -0
- package/src/patterns/put/tr.ts +67 -0
- package/src/patterns/put/uk.ts +85 -0
- package/src/patterns/put/vi.ts +72 -0
- package/src/patterns/put/zh.ts +62 -0
- package/src/patterns/registry.ts +163 -0
- package/src/patterns/remove/ar.ts +71 -0
- package/src/patterns/remove/bn.ts +68 -0
- package/src/patterns/remove/hi.ts +69 -0
- package/src/patterns/remove/index.ts +87 -0
- package/src/patterns/remove/it.ts +69 -0
- package/src/patterns/remove/ja.ts +74 -0
- package/src/patterns/remove/ko.ts +78 -0
- package/src/patterns/remove/ms.ts +30 -0
- package/src/patterns/remove/pl.ts +62 -0
- package/src/patterns/remove/ru.ts +62 -0
- package/src/patterns/remove/th.ts +49 -0
- package/src/patterns/remove/tl.ts +30 -0
- package/src/patterns/remove/tr.ts +78 -0
- package/src/patterns/remove/uk.ts +62 -0
- package/src/patterns/remove/vi.ts +61 -0
- package/src/patterns/remove/zh.ts +72 -0
- package/src/patterns/set/ar.ts +84 -0
- package/src/patterns/set/bn.ts +53 -0
- package/src/patterns/set/de.ts +84 -0
- package/src/patterns/set/es.ts +92 -0
- package/src/patterns/set/fr.ts +88 -0
- package/src/patterns/set/hi.ts +56 -0
- package/src/patterns/set/id.ts +84 -0
- package/src/patterns/set/index.ts +107 -0
- package/src/patterns/set/it.ts +56 -0
- package/src/patterns/set/ja.ts +86 -0
- package/src/patterns/set/ko.ts +85 -0
- package/src/patterns/set/ms.ts +30 -0
- package/src/patterns/set/pl.ts +57 -0
- package/src/patterns/set/pt.ts +84 -0
- package/src/patterns/set/ru.ts +57 -0
- package/src/patterns/set/th.ts +31 -0
- package/src/patterns/set/tl.ts +30 -0
- package/src/patterns/set/tr.ts +107 -0
- package/src/patterns/set/uk.ts +57 -0
- package/src/patterns/set/vi.ts +53 -0
- package/src/patterns/set/zh.ts +84 -0
- package/src/patterns/show/ar.ts +67 -0
- package/src/patterns/show/bn.ts +47 -0
- package/src/patterns/show/de.ts +32 -0
- package/src/patterns/show/fr.ts +32 -0
- package/src/patterns/show/hi.ts +61 -0
- package/src/patterns/show/index.ts +95 -0
- package/src/patterns/show/it.ts +56 -0
- package/src/patterns/show/ja.ts +69 -0
- package/src/patterns/show/ko.ts +73 -0
- package/src/patterns/show/ms.ts +30 -0
- package/src/patterns/show/pl.ts +57 -0
- package/src/patterns/show/ru.ts +57 -0
- package/src/patterns/show/th.ts +29 -0
- package/src/patterns/show/tl.ts +30 -0
- package/src/patterns/show/tr.ts +65 -0
- package/src/patterns/show/uk.ts +57 -0
- package/src/patterns/show/vi.ts +56 -0
- package/src/patterns/show/zh.ts +68 -0
- package/src/patterns/take/ar.ts +51 -0
- package/src/patterns/take/index.ts +31 -0
- package/src/patterns/toggle/ar.ts +61 -0
- package/src/patterns/toggle/bn.ts +70 -0
- package/src/patterns/toggle/en.ts +61 -0
- package/src/patterns/toggle/es.ts +61 -0
- package/src/patterns/toggle/hi.ts +80 -0
- package/src/patterns/toggle/index.ts +95 -0
- package/src/patterns/toggle/it.ts +69 -0
- package/src/patterns/toggle/ja.ts +156 -0
- package/src/patterns/toggle/ko.ts +113 -0
- package/src/patterns/toggle/ms.ts +30 -0
- package/src/patterns/toggle/pl.ts +62 -0
- package/src/patterns/toggle/ru.ts +62 -0
- package/src/patterns/toggle/th.ts +50 -0
- package/src/patterns/toggle/tl.ts +30 -0
- package/src/patterns/toggle/tr.ts +88 -0
- package/src/patterns/toggle/uk.ts +62 -0
- package/src/patterns/toggle/vi.ts +61 -0
- package/src/patterns/toggle/zh.ts +99 -0
- package/src/public-api.ts +286 -0
- package/src/registry.ts +441 -0
- package/src/tokenizers/arabic.ts +723 -0
- package/src/tokenizers/base.ts +1300 -0
- package/src/tokenizers/bengali.ts +289 -0
- package/src/tokenizers/chinese.ts +481 -0
- package/src/tokenizers/english.ts +416 -0
- package/src/tokenizers/french.ts +326 -0
- package/src/tokenizers/german.ts +324 -0
- package/src/tokenizers/hindi.ts +319 -0
- package/src/tokenizers/index.ts +127 -0
- package/src/tokenizers/indonesian.ts +306 -0
- package/src/tokenizers/italian.ts +458 -0
- package/src/tokenizers/japanese.ts +447 -0
- package/src/tokenizers/korean.ts +642 -0
- package/src/tokenizers/morphology/arabic-normalizer.ts +242 -0
- package/src/tokenizers/morphology/french-normalizer.ts +268 -0
- package/src/tokenizers/morphology/german-normalizer.ts +256 -0
- package/src/tokenizers/morphology/index.ts +46 -0
- package/src/tokenizers/morphology/italian-normalizer.ts +329 -0
- package/src/tokenizers/morphology/japanese-normalizer.ts +288 -0
- package/src/tokenizers/morphology/korean-normalizer.ts +428 -0
- package/src/tokenizers/morphology/polish-normalizer.ts +264 -0
- package/src/tokenizers/morphology/portuguese-normalizer.ts +310 -0
- package/src/tokenizers/morphology/spanish-normalizer.ts +327 -0
- package/src/tokenizers/morphology/turkish-normalizer.ts +412 -0
- package/src/tokenizers/morphology/types.ts +211 -0
- package/src/tokenizers/ms.ts +198 -0
- package/src/tokenizers/polish.ts +354 -0
- package/src/tokenizers/portuguese.ts +304 -0
- package/src/tokenizers/quechua.ts +339 -0
- package/src/tokenizers/russian.ts +375 -0
- package/src/tokenizers/spanish.ts +403 -0
- package/src/tokenizers/swahili.ts +303 -0
- package/src/tokenizers/thai.ts +236 -0
- package/src/tokenizers/tl.ts +198 -0
- package/src/tokenizers/turkish.ts +411 -0
- package/src/tokenizers/ukrainian.ts +369 -0
- package/src/tokenizers/vietnamese.ts +410 -0
- package/src/types/grammar-types.ts +617 -0
- package/src/types/unified-profile.ts +267 -0
- package/src/types.ts +709 -0
- package/src/utils/confidence-calculator.ts +147 -0
- package/src/validators/command-validator.ts +380 -0
- package/src/validators/index.ts +15 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var LokaScriptSemanticEastAsian=(()=>{var ke=Object.defineProperty;var St=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var Tt=Object.prototype.hasOwnProperty;var bt=(i,e)=>{for(var t in e)ke(i,t,{get:e[t],enumerable:!0})},kt=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of xt(e))!Tt.call(i,r)&&r!==t&&ke(i,r,{get:()=>e[r],enumerable:!(n=St(e,r))||n.enumerable});return i};var Et=i=>kt(ke({},"__esModule",{value:!0}),i);var or={};bt(or,{ASTBuilder:()=>ae,DEFAULT_CONFIDENCE_THRESHOLD:()=>Ue,HIGH_CONFIDENCE_THRESHOLD:()=>gt,SemanticAnalyzerImpl:()=>se,VERSION:()=>tr,buildAST:()=>mt,canParse:()=>Ve,chineseProfile:()=>D,chineseTokenizer:()=>ge,createCommandNode:()=>K,createEventHandler:()=>X,createLiteral:()=>b,createPropertyPath:()=>G,createReference:()=>M,createSelector:()=>_,createSemanticAnalyzer:()=>ft,fromExplicit:()=>Ie,getCommandMapper:()=>oe,getPatternsForLanguage:()=>vt,getPatternsForLanguageAndCommand:()=>ir,getProfile:()=>ze,getSupportedLanguages:()=>nr,getTokenizer:()=>Ee,isExplicitSyntax:()=>Q,isLanguageSupported:()=>De,japaneseProfile:()=>F,japaneseTokenizer:()=>fe,koreanProfile:()=>H,koreanTokenizer:()=>he,parse:()=>Z,parseAny:()=>_e,parseExplicit:()=>W,registerCommandMapper:()=>Be,render:()=>re,renderExplicit:()=>ie,shouldUseSemanticResult:()=>ht,toExplicit:()=>Oe,tokenize:()=>rr,tryGetProfile:()=>A});var $=new Map,de=new Map,le=new Map;var qe=null;function q(i,e,t){$.set(i,e),de.set(i,t),le.delete(i)}var zt=new Map;function Ee(i){let e=$.get(i);if(!e){let t=Array.from($.keys()).join(", ");throw new Error(`Language '${i}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${i}';`)}return e}function ze(i){let e=de.get(i);if(!e){let t=Array.from(de.keys()).join(", ");throw new Error(`Language profile '${i}' is not registered. Registered languages: ${t||"none"}. Import the language module first: import '@lokascript/semantic/languages/${i}';`)}return e}function Fe(i){return $.get(i)}function A(i){return de.get(i)}function pe(){return Array.from($.keys())}function De(i){return $.has(i)}function He(i,e){return Ee(e).tokenize(i)}function L(i){let e=le.get(i);if(e)return e;let t=zt.get(i);if(t)return le.set(i,t),t;if(!qe)throw new Error(`No patterns registered for language '${i}'. Either import the language module or set a pattern generator.`);let n=ze(i),r=qe(n);return le.set(i,r),r}function Ge(i,e){return L(i).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}var N=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 v(i,e){return{start:i,end:e}}function S(i,e,t,n){if(typeof n=="string")return{value:i,kind:e,position:t,normalized:n};if(n){let{normalized:r,stem:o,stemConfidence:s}=n,a={value:i,kind:e,position:t};return r!==void 0&&(a.normalized=r),o!==void 0&&(a.stem=o,s!==void 0&&(a.stemConfidence=s)),a}return{value:i,kind:e,position:t}}function z(i){return/\s/.test(i)}function j(i){return i==="#"||i==="."||i==="["||i==="@"||i==="*"||i==="<"}function V(i){return i==='"'||i==="'"||i==="`"||i==="\u300C"||i==="\u300D"}function E(i){return/\d/.test(i)}function Xe(i){return/[a-zA-Z]/.test(i)}function T(i){return/[a-zA-Z0-9_-]/.test(i)}function C(i){return e=>{let t=e.charCodeAt(0);return i.some(([n,r])=>t>=n&&t<=r)}}function J(...i){return e=>i.some(t=>t(e))}function Qe(i,e){if(e>=i.length)return null;let t=i[e];if(!j(t))return null;let n=e,r="";if(t==="#"||t==="."){for(r+=i[n++];n<i.length&&T(i[n]);)r+=i[n++];if(r.length<=1)return null;if(n<i.length&&i[n]==="."&&t==="#"){let s=n+1;for(;s<i.length&&T(i[s]);)s++;if(s<i.length&&i[s]==="(")return r}}else if(t==="["){let o=1,s=!1,a=null,c=!1;for(r+=i[n++];n<i.length&&o>0;){let l=i[n];r+=l,c?c=!1:l==="\\"?c=!0:s?l===a&&(s=!1,a=null):l==='"'||l==="'"||l==="`"?(s=!0,a=l):l==="["?o++:l==="]"&&o--,n++}if(o!==0)return null}else if(t==="@"){for(r+=i[n++];n<i.length&&T(i[n]);)r+=i[n++];if(r.length<=1)return null}else if(t==="*"){for(r+=i[n++];n<i.length&&T(i[n]);)r+=i[n++];if(r.length<=1)return null}else if(t==="<"){if(r+=i[n++],n>=i.length||!Xe(i[n]))return null;for(;n<i.length&&T(i[n]);)r+=i[n++];for(;n<i.length;){let o=i[n];if(o==="."){if(r+=i[n++],n>=i.length||!T(i[n]))return null;for(;n<i.length&&T(i[n]);)r+=i[n++]}else if(o==="#"){if(r+=i[n++],n>=i.length||!T(i[n]))return null;for(;n<i.length&&T(i[n]);)r+=i[n++]}else if(o==="["){let s=1,a=!1,c=null,l=!1;for(r+=i[n++];n<i.length&&s>0;){let p=i[n];r+=p,l?l=!1:p==="\\"?l=!0:a?p===c&&(a=!1,c=null):p==='"'||p==="'"||p==="`"?(a=!0,c=p):p==="["?s++:p==="]"&&s--,n++}if(s!==0)return null}else break}for(;n<i.length&&z(i[n]);)r+=i[n++];if(n<i.length&&i[n]==="/")for(r+=i[n++];n<i.length&&z(i[n]);)r+=i[n++];if(n>=i.length||i[n]!==">")return null;r+=i[n++]}return r||null}function wt(i,e){if(e>=i.length||i[e]!=="'"||e+1>=i.length||i[e+1].toLowerCase()!=="s")return!1;if(e+2>=i.length)return!0;let n=i[e+2];return z(n)||n==="*"||!T(n)}function Ze(i,e){if(e>=i.length)return null;let t=i[e];if(!V(t)||t==="'"&&wt(i,e))return null;let r={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[t];if(!r)return null;let o=e+1,s=t,a=!1;for(;o<i.length;){let c=i[o];if(s+=c,a)a=!1;else if(c==="\\")a=!0;else if(c===r)return s;o++}return s}function O(i,e){if(e>=i.length)return!1;let t=i[e],n=i[e+1]||"",r=i[e+2]||"";if(t==="/"&&n!=="/"&&/[a-zA-Z0-9._-]/.test(n)||t==="/"&&n==="/"&&/[a-zA-Z]/.test(r)||t==="."&&(n==="/"||n==="."&&r==="/"))return!0;let o=i.slice(e,e+8).toLowerCase();return!!(o.startsWith("http://")||o.startsWith("https://"))}function Je(i,e){if(!O(i,e))return null;let t=e,n="",r=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;t<i.length;){let o=i[t];if(o==="#"){if(n.length>0&&/[a-zA-Z0-9/.]$/.test(n))for(n+=o,t++;t<i.length&&/[a-zA-Z0-9_-]/.test(i[t]);)n+=i[t++];break}if(r.test(o))n+=o,t++;else break}return n.length<2?null:n}function Ye(i,e){if(e>=i.length)return null;let t=i[e];if(!E(t)&&t!=="-"&&t!=="+")return null;let n=e,r="";if((i[n]==="-"||i[n]==="+")&&(r+=i[n++]),n>=i.length||!E(i[n]))return null;for(;n<i.length&&E(i[n]);)r+=i[n++];if(n<i.length&&i[n]===".")for(r+=i[n++];n<i.length&&E(i[n]);)r+=i[n++];return n<i.length&&(i.slice(n,n+2)==="ms"?r+="ms":(i[n]==="s"||i[n]==="m"||i[n]==="h")&&(r+=i[n])),r}var ue=class ue{constructor(){this.profileKeywords=[];this.profileKeywordMap=new Map}initializeKeywordsFromProfile(e,t=[]){let n=new Map;if(e.keywords){for(let[r,o]of Object.entries(e.keywords))if(n.set(o.primary,{native:o.primary,normalized:o.normalized||r}),o.alternatives)for(let s of o.alternatives)n.set(s,{native:s,normalized:o.normalized||r})}if(e.references)for(let[r,o]of Object.entries(e.references))n.set(o,{native:o,normalized:r});if(e.roleMarkers){for(let[r,o]of Object.entries(e.roleMarkers))if(o.primary&&n.set(o.primary,{native:o.primary,normalized:r}),o.alternatives)for(let s of o.alternatives)n.set(s,{native:s,normalized:r})}for(let r of t)n.set(r.native,r);this.profileKeywords=Array.from(n.values()).sort((r,o)=>o.native.length-r.native.length),this.profileKeywordMap=new Map;for(let r of this.profileKeywords){this.profileKeywordMap.set(r.native.toLowerCase(),r);let o=this.removeDiacritics(r.native);o!==r.native&&!this.profileKeywordMap.has(o.toLowerCase())&&this.profileKeywordMap.set(o.toLowerCase(),r)}}removeDiacritics(e){return e.replace(/[\u064B-\u0652\u0670]/g,"")}tryProfileKeyword(e,t){for(let n of this.profileKeywords)if(e.slice(t).startsWith(n.native))return S(n.native,"keyword",v(t,t+n.native.length),n.normalized);return null}isKeywordStart(e,t){let n=e.slice(t);return this.profileKeywords.some(r=>n.startsWith(r.native))}lookupKeyword(e){return this.profileKeywordMap.get(e.toLowerCase())}isKeyword(e){return this.profileKeywordMap.has(e.toLowerCase())}setNormalizer(e){this.normalizer=e}tryNormalize(e){if(!this.normalizer)return null;let t=this.normalizer.normalize(e);return t.stem!==e&&t.confidence>=.7?t:null}tryMorphKeywordMatch(e,t,n){let r=this.tryNormalize(e);if(!r)return null;let o=this.lookupKeyword(r.stem);if(!o)return null;let s={normalized:o.normalized,stem:r.stem,stemConfidence:r.confidence};return S(e,"keyword",v(t,n),s)}trySelector(e,t){let n=Qe(e,t);return n?S(n,"selector",v(t,t+n.length)):null}tryEventModifier(e,t){if(e[t]!==".")return null;let n=e.slice(t).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!n)return null;let r=n[0].replace(/(\s|\.)$/,""),o=r.slice(1).split("(")[0],s=n[1];return{...S(r,"event-modifier",v(t,t+r.length)),metadata:{modifierName:o,value:s?o==="queue"?s:parseInt(s,10):void 0}}}tryString(e,t){let n=Ze(e,t);return n?S(n,"literal",v(t,t+n.length)):null}tryNumber(e,t){let n=Ye(e,t);return n?S(n,"literal",v(t,t+n.length)):null}tryMatchTimeUnit(e,t,n,r=!1){let o=t;if(r)for(;o<e.length&&z(e[o]);)o++;let s=e.slice(o);for(let a of n){let c=s.slice(0,a.length);if(a.caseInsensitive?c.toLowerCase()===a.pattern.toLowerCase():c===a.pattern){if(a.notFollowedBy&&(s[a.length]||"")===a.notFollowedBy)continue;if(a.checkBoundary){let p=s[a.length]||"";if(T(p))continue}return{suffix:a.suffix,endPos:o+a.length}}}return null}parseBaseNumber(e,t,n=!0){let r=t,o="";if(n&&(e[r]==="-"||e[r]==="+")&&(o+=e[r++]),r>=e.length||!E(e[r]))return null;for(;r<e.length&&E(e[r]);)o+=e[r++];if(r<e.length&&e[r]===".")for(o+=e[r++];r<e.length&&E(e[r]);)o+=e[r++];return!o||o==="-"||o==="+"?null:{number:o,endPos:r}}tryNumberWithTimeUnits(e,t,n,r={}){let{allowSign:o=!0,skipWhitespace:s=!1}=r,a=this.parseBaseNumber(e,t,o);if(!a)return null;let{number:c,endPos:l}=a,p=[...n,...ue.STANDARD_TIME_UNITS],x=this.tryMatchTimeUnit(e,l,p,s);return x&&(c+=x.suffix,l=x.endPos),S(c,"literal",v(t,l))}tryUrl(e,t){let n=Je(e,t);return n?S(n,"url",v(t,t+n.length)):null}tryVariableRef(e,t){if(e[t]!==":"||t+1>=e.length||!T(e[t+1]))return null;let n=t+1;for(;n<e.length&&T(e[n]);)n++;let r=e.slice(t,n);return S(r,"identifier",v(t,n))}tryOperator(e,t){let n=e.slice(t,t+2);if(["==","!=","<=",">=","&&","||","->"].includes(n))return S(n,"operator",v(t,t+2));let r=e[t];return["<",">","!","+","-","*","/","="].includes(r)?S(r,"operator",v(t,t+1)):["(",")","{","}",",",";",":"].includes(r)?S(r,"punctuation",v(t,t+1)):null}tryMultiCharParticle(e,t,n){for(let r of n)if(e.slice(t,t+r.length)===r)return S(r,"particle",v(t,t+r.length));return null}};ue.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:!0},{pattern:"m",suffix:"m",length:1,checkBoundary:!0,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:!0}];var R=ue;function me(i){return{stem:i,confidence:1}}function I(i,e,t){return t?{stem:i,confidence:e,metadata:t}:{stem:i,confidence:e}}var Nt=[{pattern:"\u3057\u305F\u3089",confidence:.88,conjugationType:"conditional-tara",minStemLength:2},{pattern:"\u3059\u308B\u3068",confidence:.88,conjugationType:"conditional-to",minStemLength:2},{pattern:"\u3059\u308C\u3070",confidence:.85,conjugationType:"conditional-ba",minStemLength:2},{pattern:"\u305F\u3089",confidence:.85,conjugationType:"conditional-tara",minStemLength:2},{pattern:"\u308C\u3070",confidence:.82,conjugationType:"conditional-ba",minStemLength:2},{pattern:"\u3066\u3044\u307E\u3057\u305F",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\u3066\u3044\u307E\u3059",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304F\u3060\u3055\u3044",confidence:.85,conjugationType:"request",minStemLength:2},{pattern:"\u3067\u304F\u3060\u3055\u3044",confidence:.85,conjugationType:"request",minStemLength:2},{pattern:"\u3066\u3044\u308B",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304A\u304F",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u307F\u308B",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u3042\u308B",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304F\u308C",confidence:.8,conjugationType:"casual-request",minStemLength:2},{pattern:"\u3067\u304F\u308C",confidence:.8,conjugationType:"casual-request",minStemLength:2},{pattern:"\u3061\u3083\u3063\u305F",confidence:.82,conjugationType:"contracted-past",minStemLength:2},{pattern:"\u3058\u3083\u3063\u305F",confidence:.82,conjugationType:"contracted-past",minStemLength:2},{pattern:"\u3061\u3083\u3046",confidence:.82,conjugationType:"contracted",minStemLength:2},{pattern:"\u3058\u3083\u3046",confidence:.82,conjugationType:"contracted",minStemLength:2},{pattern:"\u307E\u3057\u305F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"\u307E\u305B\u3093",confidence:.85,conjugationType:"negative",minStemLength:2},{pattern:"\u307E\u3059",confidence:.85,conjugationType:"polite",minStemLength:2},{pattern:"\u3066",confidence:.85,conjugationType:"te-form",minStemLength:2},{pattern:"\u305F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"\u306A\u3044",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"\u306A\u304B\u3063\u305F",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\u3089\u308C\u308B",confidence:.8,conjugationType:"potential",minStemLength:2},{pattern:"\u308C\u308B",confidence:.78,conjugationType:"potential",minStemLength:2},{pattern:"\u3089\u308C\u305F",confidence:.8,conjugationType:"passive",minStemLength:2},{pattern:"\u3055\u305B\u308B",confidence:.8,conjugationType:"causative",minStemLength:2},{pattern:"\u305B\u308B",confidence:.78,conjugationType:"causative",minStemLength:2},{pattern:"\u3088\u3046",confidence:.8,conjugationType:"volitional",minStemLength:2},{pattern:"\u308B",confidence:.75,conjugationType:"dictionary",minStemLength:3}],Lt=[{pattern:"\u3057\u305F\u3089",confidence:.88,conjugationType:"conditional-tara"},{pattern:"\u3059\u308B\u3068",confidence:.88,conjugationType:"conditional-to"},{pattern:"\u3059\u308C\u3070",confidence:.85,conjugationType:"conditional-ba"},{pattern:"\u3057\u3066\u3044\u307E\u3059",confidence:.85,conjugationType:"progressive"},{pattern:"\u3057\u3066\u3044\u308B",confidence:.85,conjugationType:"progressive"},{pattern:"\u3057\u307E\u3057\u305F",confidence:.85,conjugationType:"past"},{pattern:"\u3057\u307E\u3059",confidence:.85,conjugationType:"polite"},{pattern:"\u3057\u306A\u3044",confidence:.82,conjugationType:"negative"},{pattern:"\u3057\u3066",confidence:.85,conjugationType:"te-form"},{pattern:"\u3057\u305F",confidence:.85,conjugationType:"past"},{pattern:"\u3059\u308B",confidence:.88,conjugationType:"dictionary"}];function et(i){let e=i.charCodeAt(0);return e>=12352&&e<=12447}function Ct(i){let e=i.charCodeAt(0);return e>=12448&&e<=12543}function Rt(i){let e=i.charCodeAt(0);return e>=19968&&e<=40959||e>=13312&&e<=19903}function Mt(i){for(let e of i)if(et(e)||Ct(e)||Rt(e))return!0;return!1}var Y=class{constructor(){this.language="ja"}isNormalizable(e){if(!Mt(e)||e.length<2)return!1;let t=e[e.length-1];return et(t)}normalize(e){let t=this.normalizeCompound(e);if(t)return t;let n=this.trySuruNormalization(e);if(n)return n;for(let r of Nt)if(e.endsWith(r.pattern)){let o=e.slice(0,-r.pattern.length),s=r.minStemLength??2;if(o.length<s)continue;let a={removedSuffixes:[r.pattern]};return r.conjugationType&&(a.conjugationType=r.conjugationType),I(o,r.confidence,a)}return me(e)}trySuruNormalization(e){for(let t of Lt)if(e.endsWith(t.pattern)){let n=e.slice(0,-t.pattern.length);if(n.length<1)continue;return I(n,t.confidence,{removedSuffixes:[t.pattern],conjugationType:t.conjugationType,originalForm:"suru-verb"})}return null}normalizeCompound(e){let t=[{pattern:"\u3066\u3044\u306A\u304B\u3063\u305F",suffixes:["\u3066","\u3044","\u306A\u304B\u3063\u305F"],confidence:.8,minStemLength:2},{pattern:"\u3067\u3044\u306A\u304B\u3063\u305F",suffixes:["\u3067","\u3044","\u306A\u304B\u3063\u305F"],confidence:.8,minStemLength:2},{pattern:"\u3066\u3044\u306A\u3044",suffixes:["\u3066","\u3044","\u306A\u3044"],confidence:.82,minStemLength:2},{pattern:"\u3067\u3044\u306A\u3044",suffixes:["\u3067","\u3044","\u306A\u3044"],confidence:.82,minStemLength:2},{pattern:"\u3066\u3044\u305F",suffixes:["\u3066","\u3044","\u305F"],confidence:.85,minStemLength:2},{pattern:"\u3067\u3044\u305F",suffixes:["\u3067","\u3044","\u305F"],confidence:.85,minStemLength:2}];for(let{pattern:n,suffixes:r,confidence:o,minStemLength:s}of t)if(e.endsWith(n)){let a=e.slice(0,-n.length);if(a.length<s)continue;return I(a,o,{removedSuffixes:r,conjugationType:"compound"})}return null}},pr=new Y;var F={code:"ja",name:"Japanese",nativeName:"\u65E5\u672C\u8A9E",direction:"ltr",wordOrder:"SOV",markingStrategy:"particle",usesSpaces:!1,defaultVerbForm:"base",verb:{position:"end",suffixes:["\u308B","\u3066","\u305F","\u307E\u3059","\u306A\u3044"],subjectDrop:!0},references:{me:"\u81EA\u5206",it:"\u305D\u308C",you:"\u3042\u306A\u305F",result:"\u7D50\u679C",event:"\u30A4\u30D9\u30F3\u30C8",target:"\u30BF\u30FC\u30B2\u30C3\u30C8",body:"\u30DC\u30C7\u30A3"},possessive:{marker:"\u306E",markerPosition:"between",keywords:{\u79C1\u306E:"me",\u3042\u306A\u305F\u306E:"you",\u305D\u306E:"it"}},roleMarkers:{patient:{primary:"\u3092",position:"after"},destination:{primary:"\u306B",alternatives:["\u3078","\u3067"],position:"after"},source:{primary:"\u304B\u3089",position:"after"},style:{primary:"\u3067",position:"after"},event:{primary:"\u3092",position:"after"}},keywords:{toggle:{primary:"\u5207\u308A\u66FF\u3048",alternatives:["\u5207\u308A\u66FF\u3048\u308B","\u30C8\u30B0\u30EB","\u30C8\u30B0\u30EB\u3059\u308B"],normalized:"toggle"},add:{primary:"\u8FFD\u52A0",alternatives:["\u8FFD\u52A0\u3059\u308B","\u52A0\u3048\u308B"],normalized:"add"},remove:{primary:"\u524A\u9664",alternatives:["\u524A\u9664\u3059\u308B","\u53D6\u308A\u9664\u304F"],normalized:"remove"},put:{primary:"\u7F6E\u304F",alternatives:["\u5165\u308C\u308B","\u30BB\u30C3\u30C8"],normalized:"put"},append:{primary:"\u672B\u5C3E\u8FFD\u52A0",alternatives:["\u672B\u5C3E\u306B\u8FFD\u52A0","\u30A2\u30DA\u30F3\u30C9"],normalized:"append"},prepend:{primary:"\u5148\u982D\u8FFD\u52A0",alternatives:["\u5148\u982D\u306B\u8FFD\u52A0","\u30D7\u30EA\u30DA\u30F3\u30C9"],normalized:"prepend"},take:{primary:"\u53D6\u308B",alternatives:["\u53D6\u5F97"],normalized:"take"},make:{primary:"\u4F5C\u308B",alternatives:["\u4F5C\u6210"],normalized:"make"},clone:{primary:"\u8907\u88FD",alternatives:["\u30AF\u30ED\u30FC\u30F3"],normalized:"clone"},swap:{primary:"\u4EA4\u63DB",alternatives:["\u30B9\u30EF\u30C3\u30D7","\u5165\u308C\u66FF\u3048"],normalized:"swap"},morph:{primary:"\u5909\u5F62",alternatives:["\u30E2\u30FC\u30D5","\u5909\u63DB"],normalized:"morph"},set:{primary:"\u8A2D\u5B9A",alternatives:["\u8A2D\u5B9A\u3059\u308B","\u30BB\u30C3\u30C8"],normalized:"set"},get:{primary:"\u53D6\u5F97",alternatives:["\u53D6\u5F97\u3059\u308B","\u30B2\u30C3\u30C8"],normalized:"get"},increment:{primary:"\u5897\u52A0",alternatives:["\u5897\u3084\u3059","\u30A4\u30F3\u30AF\u30EA\u30E1\u30F3\u30C8"],normalized:"increment"},decrement:{primary:"\u6E1B\u5C11",alternatives:["\u6E1B\u3089\u3059","\u30C7\u30AF\u30EA\u30E1\u30F3\u30C8"],normalized:"decrement"},log:{primary:"\u8A18\u9332",alternatives:["\u30ED\u30B0","\u51FA\u529B"],normalized:"log"},show:{primary:"\u8868\u793A",alternatives:["\u8868\u793A\u3059\u308B","\u898B\u305B\u308B"],normalized:"show"},hide:{primary:"\u96A0\u3059",alternatives:["\u975E\u8868\u793A","\u975E\u8868\u793A\u306B\u3059\u308B"],normalized:"hide"},transition:{primary:"\u9077\u79FB",alternatives:["\u30C8\u30E9\u30F3\u30B8\u30B7\u30E7\u30F3","\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3"],normalized:"transition"},on:{primary:"\u3067",alternatives:["\u6642","\u3068\u304D"],normalized:"on"},trigger:{primary:"\u5F15\u304D\u91D1",alternatives:["\u767A\u706B","\u30C8\u30EA\u30AC\u30FC"],normalized:"trigger"},send:{primary:"\u9001\u308B",alternatives:["\u9001\u4FE1"],normalized:"send"},focus:{primary:"\u30D5\u30A9\u30FC\u30AB\u30B9",alternatives:["\u96C6\u4E2D"],normalized:"focus"},blur:{primary:"\u307C\u304B\u3057",alternatives:["\u30D5\u30A9\u30FC\u30AB\u30B9\u89E3\u9664"],normalized:"blur"},go:{primary:"\u79FB\u52D5",alternatives:["\u884C\u304F","\u30CA\u30D3\u30B2\u30FC\u30C8"],normalized:"go"},wait:{primary:"\u5F85\u3064",alternatives:["\u5F85\u6A5F"],normalized:"wait"},fetch:{primary:"\u53D6\u5F97",alternatives:["\u30D5\u30A7\u30C3\u30C1"],normalized:"fetch"},settle:{primary:"\u5B89\u5B9A",alternatives:["\u843D\u3061\u7740\u304F"],normalized:"settle"},if:{primary:"\u3082\u3057",alternatives:["\u6761\u4EF6"],normalized:"if"},when:{primary:"\u3068\u304D",normalized:"when"},where:{primary:"\u3069\u3053",normalized:"where"},else:{primary:"\u305D\u3046\u3067\u306A\u3051\u308C\u3070",alternatives:["\u305D\u308C\u4EE5\u5916"],normalized:"else"},repeat:{primary:"\u7E70\u308A\u8FD4\u3057",alternatives:["\u7E70\u308A\u8FD4\u3059","\u30EA\u30D4\u30FC\u30C8"],normalized:"repeat"},for:{primary:"\u305F\u3081\u306B",alternatives:["\u5404"],normalized:"for"},while:{primary:"\u306E\u9593",alternatives:["\u9593"],normalized:"while"},continue:{primary:"\u7D9A\u3051\u308B",alternatives:["\u7D99\u7D9A"],normalized:"continue"},halt:{primary:"\u505C\u6B62",alternatives:["\u6B62\u3081\u308B","\u30CF\u30EB\u30C8"],normalized:"halt"},throw:{primary:"\u6295\u3052\u308B",alternatives:["\u30B9\u30ED\u30FC"],normalized:"throw"},call:{primary:"\u547C\u3073\u51FA\u3057",alternatives:["\u30B3\u30FC\u30EB","\u547C\u3076"],normalized:"call"},return:{primary:"\u623B\u308B",alternatives:["\u8FD4\u3059","\u30EA\u30BF\u30FC\u30F3"],normalized:"return"},then:{primary:"\u305D\u308C\u304B\u3089",alternatives:["\u6B21\u306B","\u305D\u3057\u3066"],normalized:"then"},and:{primary:"\u305D\u3057\u3066",alternatives:["\u3068","\u307E\u305F"],normalized:"and"},end:{primary:"\u7D42\u308F\u308A",alternatives:["\u7D42\u4E86","\u304A\u308F\u308A"],normalized:"end"},js:{primary:"JS\u5B9F\u884C",alternatives:["js"],normalized:"js"},async:{primary:"\u975E\u540C\u671F",alternatives:["\u30A2\u30B7\u30F3\u30AF"],normalized:"async"},tell:{primary:"\u4F1D\u3048\u308B",alternatives:["\u30C6\u30EB"],normalized:"tell"},default:{primary:"\u65E2\u5B9A",alternatives:["\u30C7\u30D5\u30A9\u30EB\u30C8"],normalized:"default"},init:{primary:"\u521D\u671F\u5316",alternatives:["\u30A4\u30CB\u30C3\u30C8"],normalized:"init"},behavior:{primary:"\u632F\u308B\u821E\u3044",alternatives:["\u30D3\u30D8\u30A4\u30D3\u30A2"],normalized:"behavior"},install:{primary:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",alternatives:["\u5C0E\u5165"],normalized:"install"},measure:{primary:"\u6E2C\u5B9A",alternatives:["\u8A08\u6E2C","\u30E1\u30B8\u30E3\u30FC"],normalized:"measure"},into:{primary:"\u3078",alternatives:["\u306B"],normalized:"into"},before:{primary:"\u524D\u306B",alternatives:["\u524D"],normalized:"before"},after:{primary:"\u5F8C\u306B",alternatives:["\u5F8C"],normalized:"after"},until:{primary:"\u307E\u3067",alternatives:["\u8FC4"],normalized:"until"},event:{primary:"\u30A4\u30D9\u30F3\u30C8",alternatives:["\u4E8B\u8C61"],normalized:"event"},from:{primary:"\u304B\u3089",normalized:"from"}},tokenization:{particles:["\u3092","\u306B","\u3067","\u304B\u3089","\u306E","\u304C","\u306F","\u3082","\u3078","\u3068"],boundaryStrategy:"particle"}};var Pt=C([[12352,12447]]),At=C([[12448,12543]]),jt=C([[19968,40959],[13312,19903]]),tt=J(Pt,At,jt),Vt=new Set(["\u3092","\u306B","\u3067","\u304B\u3089","\u307E\u3067","\u3078","\u3068","\u306E","\u304C","\u306F","\u3082","\u3088\u308A"]),nt=new Set(["\u3092","\u306B","\u3067","\u3078","\u3068","\u306E","\u304C","\u306F","\u3082"]),rt=["\u304B\u3089","\u307E\u3067","\u3088\u308A"],it=new Map([["\u3092",{role:"patient",confidence:.95,description:"object marker"}],["\u306B",{role:"destination",confidence:.85,description:"destination/time marker"}],["\u3067",{role:"manner",confidence:.88,description:"means/location marker"}],["\u304B\u3089",{role:"source",confidence:.9,description:"from/source marker"}],["\u307E\u3067",{role:"destination",confidence:.75,description:"until/boundary marker"}],["\u3078",{role:"destination",confidence:.9,description:"direction marker"}],["\u3068",{role:"style",confidence:.7,description:"with/and marker"}],["\u306E",{role:"patient",confidence:.6,description:"possessive marker"}],["\u304C",{role:"agent",confidence:.85,description:"subject marker"}],["\u306F",{role:"agent",confidence:.75,description:"topic marker"}],["\u3082",{role:"patient",confidence:.65,description:"also/too marker"}],["\u3088\u308A",{role:"source",confidence:.85,description:"from/than marker"}]]),Ot=[{native:"\u771F",normalized:"true"},{native:"\u507D",normalized:"false"},{native:"\u30CC\u30EB",normalized:"null"},{native:"\u672A\u5B9A\u7FA9",normalized:"undefined"},{native:"\u6700\u521D",normalized:"first"},{native:"\u6700\u5F8C",normalized:"last"},{native:"\u6B21",normalized:"next"},{native:"\u524D",normalized:"previous"},{native:"\u6700\u3082\u8FD1\u3044",normalized:"closest"},{native:"\u89AA",normalized:"parent"},{native:"\u30AF\u30EA\u30C3\u30AF",normalized:"click"},{native:"\u5909\u66F4",normalized:"change"},{native:"\u9001\u4FE1",normalized:"submit"},{native:"\u5165\u529B",normalized:"input"},{native:"\u30ED\u30FC\u30C9",normalized:"load"},{native:"\u30B9\u30AF\u30ED\u30FC\u30EB",normalized:"scroll"},{native:"\u30AD\u30FC\u30C0\u30A6\u30F3",normalized:"keydown"},{native:"\u30AD\u30FC\u30A2\u30C3\u30D7",normalized:"keyup"},{native:"\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC",normalized:"mouseover"},{native:"\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8",normalized:"mouseout"},{native:"\u30D6\u30E9\u30FC",normalized:"blur"},{native:"\u79C1",normalized:"me"},{native:"\u79C1\u306E",normalized:"my"},{native:"\u305D\u306E",normalized:"its"},{native:"\u3057\u305F\u3089",normalized:"on"},{native:"\u3059\u308B\u3068",normalized:"on"},{native:"\u6642\u306B",normalized:"on"},{native:"\u3082\u3057",normalized:"if"},{native:"\u306A\u3089\u3070",normalized:"then"},{native:"\u306A\u3089",normalized:"then"},{native:"\u79D2",normalized:"s"},{native:"\u30DF\u30EA\u79D2",normalized:"ms"},{native:"\u5206",normalized:"m"},{native:"\u6642\u9593",normalized:"h"}],It=[{pattern:"\u30DF\u30EA\u79D2",suffix:"ms",length:3},{pattern:"\u6642\u9593",suffix:"h",length:2},{pattern:"\u79D2",suffix:"s",length:1},{pattern:"\u5206",suffix:"m",length:1}],we=class extends R{constructor(){super();this.language="ja";this.direction="ltr";this.initializeKeywordsFromProfile(F,Ot),this.normalizer=new Y}tokenize(t){let n=[],r=0;for(;r<t.length;){if(z(t[r])){r++;continue}if(j(t[r])){let a=this.tryEventModifier(t,r);if(a){n.push(a),r=a.position.end;continue}let c=this.trySelector(t,r);if(c){n.push(c),r=c.position.end;continue}}if(V(t[r])){let a=this.tryString(t,r);if(a){n.push(a),r=a.position.end;continue}}if(O(t,r)){let a=this.tryUrl(t,r);if(a){n.push(a),r=a.position.end;continue}}if(E(t[r])){let a=this.extractJapaneseNumber(t,r);if(a){n.push(a),r=a.position.end;continue}}let o=this.tryVariableRef(t,r);if(o){n.push(o),r=o.position.end;continue}let s=this.tryMultiCharParticle(t,r,rt);if(s){let a=it.get(s.value);a?n.push({...s,metadata:{particleRole:a.role,particleConfidence:a.confidence}}):n.push(s),r=s.position.end;continue}if(nt.has(t[r])){let a=this.tryProfileKeyword(t,r);if(a&&a.value.length>1){n.push(a),r=a.position.end;continue}let c=t[r],l=it.get(c);l?n.push({...S(c,"particle",v(r,r+1)),metadata:{particleRole:l.role,particleConfidence:l.confidence}}):n.push(S(c,"particle",v(r,r+1))),r++;continue}if(tt(t[r])){let a=this.extractJapaneseWord(t,r);if(a){n.push(a),r=a.position.end;continue}}if(T(t[r])){let a=this.extractAsciiWord(t,r);if(a){n.push(a),r=a.position.end;continue}}r++}return new N(n,"ja")}classifyToken(t){return Vt.has(t)?"particle":this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?"selector":t.startsWith('"')||t.startsWith("'")||t.startsWith("\u300C")||/^\d/.test(t)?"literal":"identifier"}extractJapaneseWord(t,n){let r=n,o="";for(;r<t.length;){let c=t[r];if(nt.has(c)&&o.length>0)break;let l=!1;for(let p of rt)if(t.slice(r,r+p.length)===p&&o.length>0){l=!0;break}if(l)break;if(tt(c))o+=c,r++;else break}if(!o)return null;let s=this.lookupKeyword(o);if(s)return S(o,"keyword",v(n,r),s.normalized);let a=this.tryMorphKeywordMatch(o,n,r);return a||S(o,"identifier",v(n,r))}extractAsciiWord(t,n){let r=n,o="";for(;r<t.length&&T(t[r]);)o+=t[r++];return o?S(o,"identifier",v(n,r)):null}extractJapaneseNumber(t,n){return this.tryNumberWithTimeUnits(t,n,It,{allowSign:!1,skipWhitespace:!1})}},fe=new we;q("ja",fe,F);var D={code:"zh",name:"Chinese",nativeName:"\u4E2D\u6587",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!1,verb:{position:"second",subjectDrop:!0},references:{me:"\u6211",it:"\u5B83",you:"\u4F60",result:"\u7ED3\u679C",event:"\u4E8B\u4EF6",target:"\u76EE\u6807",body:"\u4E3B\u4F53"},possessive:{marker:"\u7684",markerPosition:"between",keywords:{\u6211\u7684:"me",\u4F60\u7684:"you",\u5B83\u7684:"it",\u4ED6\u7684:"it",\u5979\u7684:"it"}},roleMarkers:{destination:{primary:"\u5728",alternatives:["\u5230","\u4E8E"],position:"before"},source:{primary:"\u4ECE",alternatives:["\u7531"],position:"before"},patient:{primary:"\u628A",position:"before"},style:{primary:"\u7528",alternatives:["\u4EE5"],position:"before"}},keywords:{toggle:{primary:"\u5207\u6362",normalized:"toggle"},add:{primary:"\u6DFB\u52A0",alternatives:["\u52A0"],normalized:"add"},remove:{primary:"\u79FB\u9664",alternatives:["\u5220\u9664","\u53BB\u6389"],normalized:"remove"},put:{primary:"\u653E\u7F6E",alternatives:["\u653E","\u653E\u5165"],normalized:"put"},append:{primary:"\u8FFD\u52A0",alternatives:["\u9644\u52A0"],normalized:"append"},prepend:{primary:"\u524D\u7F6E",alternatives:["\u9884\u7F6E"],normalized:"prepend"},take:{primary:"\u83B7\u53D6",normalized:"take"},make:{primary:"\u5236\u4F5C",normalized:"make"},clone:{primary:"\u590D\u5236",normalized:"clone"},swap:{primary:"\u4EA4\u6362",normalized:"swap"},morph:{primary:"\u53D8\u5F62",alternatives:["\u8F6C\u6362"],normalized:"morph"},set:{primary:"\u8BBE\u7F6E",alternatives:["\u8BBE\u5B9A"],normalized:"set"},get:{primary:"\u83B7\u5F97",alternatives:["\u83B7\u53D6","\u53D6\u5F97"],normalized:"get"},increment:{primary:"\u589E\u52A0",normalized:"increment"},decrement:{primary:"\u51CF\u5C11",normalized:"decrement"},log:{primary:"\u65E5\u5FD7",normalized:"log"},show:{primary:"\u663E\u793A",alternatives:["\u5C55\u793A"],normalized:"show"},hide:{primary:"\u9690\u85CF",normalized:"hide"},transition:{primary:"\u8FC7\u6E21",normalized:"transition"},on:{primary:"\u5F53",alternatives:["\u5728...\u65F6"],normalized:"on"},trigger:{primary:"\u89E6\u53D1",normalized:"trigger"},send:{primary:"\u53D1\u9001",normalized:"send"},focus:{primary:"\u805A\u7126",normalized:"focus"},blur:{primary:"\u5931\u7126",normalized:"blur"},go:{primary:"\u524D\u5F80",normalized:"go"},wait:{primary:"\u7B49\u5F85",normalized:"wait"},fetch:{primary:"\u83B7\u53D6",normalized:"fetch"},settle:{primary:"\u7A33\u5B9A",normalized:"settle"},if:{primary:"\u5982\u679C",normalized:"if"},when:{primary:"\u5F53",normalized:"when"},where:{primary:"\u54EA\u91CC",normalized:"where"},else:{primary:"\u5426\u5219",normalized:"else"},repeat:{primary:"\u91CD\u590D",normalized:"repeat"},for:{primary:"\u4E3A",normalized:"for"},while:{primary:"\u5F53",normalized:"while"},continue:{primary:"\u7EE7\u7EED",normalized:"continue"},halt:{primary:"\u505C\u6B62",normalized:"halt"},throw:{primary:"\u629B\u51FA",normalized:"throw"},call:{primary:"\u8C03\u7528",normalized:"call"},return:{primary:"\u8FD4\u56DE",normalized:"return"},then:{primary:"\u7136\u540E",alternatives:["\u63A5\u7740","\u4E4B\u540E"],normalized:"then"},and:{primary:"\u5E76\u4E14",alternatives:["\u548C","\u800C\u4E14"],normalized:"and"},end:{primary:"\u7ED3\u675F",alternatives:["\u7EC8\u6B62","\u5B8C"],normalized:"end"},js:{primary:"JS\u6267\u884C",alternatives:["js"],normalized:"js"},async:{primary:"\u5F02\u6B65",normalized:"async"},tell:{primary:"\u544A\u8BC9",normalized:"tell"},default:{primary:"\u9ED8\u8BA4",normalized:"default"},init:{primary:"\u521D\u59CB\u5316",normalized:"init"},behavior:{primary:"\u884C\u4E3A",normalized:"behavior"},install:{primary:"\u5B89\u88C5",normalized:"install"},measure:{primary:"\u6D4B\u91CF",normalized:"measure"},into:{primary:"\u8FDB\u5165",normalized:"into"},before:{primary:"\u4E4B\u524D",normalized:"before"},after:{primary:"\u4E4B\u540E",normalized:"after"},until:{primary:"\u76F4\u5230",normalized:"until"},event:{primary:"\u4E8B\u4EF6",normalized:"event"},from:{primary:"\u4ECE",normalized:"from"}},tokenization:{boundaryStrategy:"character"}};var Ne=C([[19968,40959],[13312,19903],[131072,173791],[63744,64255],[194560,195103]]),Le=new Set(["\u628A","\u5728","\u4ECE","\u5230","\u5411","\u7ED9","\u5BF9","\u7528","\u88AB","\u8BA9","\u7684","\u5730","\u5F97","\u4E86","\u7740","\u8FC7","\u5417","\u5462","\u5427"]),_t=["\u7136\u540E","\u63A5\u7740","\u5E76\u4E14","\u6216\u8005","\u5982\u679C","\u90A3\u4E48","\u5426\u5219"],Kt=[{native:"\u771F",normalized:"true"},{native:"\u5047",normalized:"false"},{native:"\u7A7A",normalized:"null"},{native:"\u672A\u5B9A\u4E49",normalized:"undefined"},{native:"\u7B2C\u4E00\u4E2A",normalized:"first"},{native:"\u9996\u4E2A",normalized:"first"},{native:"\u6700\u540E\u4E00\u4E2A",normalized:"last"},{native:"\u672B\u4E2A",normalized:"last"},{native:"\u4E0B\u4E00\u4E2A",normalized:"next"},{native:"\u4E0A\u4E00\u4E2A",normalized:"previous"},{native:"\u6700\u8FD1\u7684",normalized:"closest"},{native:"\u7236\u7EA7",normalized:"parent"},{native:"\u70B9\u51FB",normalized:"click"},{native:"\u53CC\u51FB",normalized:"dblclick"},{native:"\u8F93\u5165",normalized:"input"},{native:"\u53D8\u66F4",normalized:"change"},{native:"\u6539\u53D8",normalized:"change"},{native:"\u63D0\u4EA4",normalized:"submit"},{native:"\u6309\u952E",normalized:"keydown"},{native:"\u91CA\u653E\u952E",normalized:"keyup"},{native:"\u9F20\u6807\u79FB\u5165",normalized:"mouseover"},{native:"\u9F20\u6807\u79FB\u51FA",normalized:"mouseout"},{native:"\u83B7\u5F97\u7126\u70B9",normalized:"focus"},{native:"\u5931\u53BB\u7126\u70B9",normalized:"blur"},{native:"\u52A0\u8F7D",normalized:"load"},{native:"\u6EDA\u52A8",normalized:"scroll"},{native:"\u6211\u7684",normalized:"my"},{native:"\u5B83\u7684",normalized:"its"},{native:"\u79D2",normalized:"s"},{native:"\u6BEB\u79D2",normalized:"ms"},{native:"\u5206\u949F",normalized:"m"},{native:"\u5C0F\u65F6",normalized:"h"},{native:"\u548C",normalized:"and"},{native:"\u6216\u8005",normalized:"or"},{native:"\u6216",normalized:"or"},{native:"\u4E0D",normalized:"not"},{native:"\u975E",normalized:"not"},{native:"\u662F",normalized:"is"},{native:"\u82E5",normalized:"if"},{native:"\u4E0D\u7136",normalized:"else"},{native:"\u5FAA\u73AF",normalized:"repeat"},{native:"\u904D\u5386",normalized:"for"},{native:"\u6BCF\u4E2A",normalized:"for"},{native:"\u4E3A\u6BCF",normalized:"for"},{native:"\u4E2D\u6B62",normalized:"halt"},{native:"\u629B",normalized:"throw"},{native:"\u547C\u53EB",normalized:"call"},{native:"\u56DE",normalized:"return"},{native:"\u811A\u672C",normalized:"js"},{native:"\u901A\u77E5",normalized:"tell"},{native:"\u7F3A\u7701",normalized:"default"},{native:"\u521D\u59CB",normalized:"init"},{native:"\u52A8\u4F5C",normalized:"behavior"},{native:"\u6FC0\u53D1",normalized:"trigger"},{native:"\u5BF9\u7126",normalized:"focus"},{native:"\u6A21\u7CCA",normalized:"blur"},{native:"\u8DF3\u8F6C",normalized:"go"},{native:"\u5BFC\u822A",normalized:"go"},{native:"\u6293\u53D6",normalized:"fetch"},{native:"\u83B7\u53D6\u6570\u636E",normalized:"fetch"},{native:"\u5B89\u5B9A",normalized:"settle"},{native:"\u62FF\u53D6",normalized:"take"},{native:"\u53D6",normalized:"take"},{native:"\u521B\u5EFA",normalized:"make"},{native:"\u514B\u9686",normalized:"clone"},{native:"\u8BB0\u5F55",normalized:"log"},{native:"\u6253\u5370",normalized:"log"},{native:"\u52A8\u753B",normalized:"transition"},{native:"\u5230\u91CC\u9762",normalized:"into"},{native:"\u91CC",normalized:"into"},{native:"\u524D",normalized:"before"},{native:"\u540E",normalized:"after"},{native:"\u90A3\u4E48",normalized:"then"},{native:"\u5B8C",normalized:"end"}],Bt=[{pattern:"\u6BEB\u79D2",suffix:"ms",length:2},{pattern:"\u5206\u949F",suffix:"m",length:2},{pattern:"\u5C0F\u65F6",suffix:"h",length:2},{pattern:"\u79D2",suffix:"s",length:1},{pattern:"\u5206",suffix:"m",length:1}],Ce=class extends R{constructor(){super();this.language="zh";this.direction="ltr";this.initializeKeywordsFromProfile(D,Kt)}tokenize(t){let n=[],r=0;for(;r<t.length;){if(z(t[r])){r++;continue}if(j(t[r])){let a=this.tryEventModifier(t,r);if(a){n.push(a),r=a.position.end;continue}let c=this.trySelector(t,r);if(c){n.push(c),r=c.position.end;continue}}if(V(t[r])||t[r]==="\u201C"||t[r]==="\u201D"||t[r]==="\u2018"||t[r]==="\u2019"){let a=this.tryChineseString(t,r);if(a){n.push(a),r=a.position.end;continue}}if(O(t,r)){let a=this.tryUrl(t,r);if(a){n.push(a),r=a.position.end;continue}}if(E(t[r])){let a=this.extractChineseNumber(t,r);if(a){n.push(a),r=a.position.end;continue}}let o=this.tryVariableRef(t,r);if(o){n.push(o),r=o.position.end;continue}let s=this.tryMultiCharParticle(t,r,_t);if(s){n.push(s),r=s.position.end;continue}if(Ne(t[r])){let a=this.extractChineseWord(t,r);if(a){n.push(a),r=a.position.end;continue}}if(T(t[r])){let a=this.extractAsciiWord(t,r);if(a){n.push(a),r=a.position.end;continue}}r++}return new N(n,"zh")}classifyToken(t){return Le.has(t)?"particle":this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")||t.startsWith("<")?"selector":t.startsWith('"')||t.startsWith("'")||t.startsWith("\u201C")||t.startsWith("\u2018")||/^\d/.test(t)?"literal":"identifier"}extractChineseWord(t,n){for(let s of this.profileKeywords){let a=s.native,c=t.slice(n,n+a.length);if(c===a){let l=!0;for(let p=0;p<a.length;p++)if(!Ne(a[p])){l=!1;break}if(l)return S(c,"keyword",v(n,n+a.length),s.normalized)}}let r=n,o="";for(;r<t.length;){let s=t[r];if(Le.has(s)&&o.length>0)break;if(Ne(s))o+=s,r++;else break}return o?Le.has(o)?S(o,"particle",v(n,r)):S(o,"identifier",v(n,r)):null}extractAsciiWord(t,n){let r=n,o="";for(;r<t.length&&T(t[r]);)o+=t[r++];return o?S(o,"identifier",v(n,r)):null}tryChineseString(t,n){let r=t[n];if(r==='"'||r==="'"||r==="`")return this.tryString(t,n);if(r==="\u201C"){let o=n+1;for(;o<t.length&&t[o]!=="\u201D";)o++;if(o>=t.length)return null;let s=t.slice(n,o+1);return S(s,"literal",v(n,o+1))}if(r==="\u2018"){let o=n+1;for(;o<t.length&&t[o]!=="\u2019";)o++;if(o>=t.length)return null;let s=t.slice(n,o+1);return S(s,"literal",v(n,o+1))}return null}extractChineseNumber(t,n){return this.tryNumberWithTimeUnits(t,n,Bt,{allowSign:!1,skipWhitespace:!1})}},ge=new Ce;q("zh",ge,D);function Wt(i){let e=i.charCodeAt(0);return e>=44032&&e<=55203}function Ut(i){for(let e of i)if(Wt(e))return!0;return!1}var $t=[{pattern:"\uD558\uC2DC\uB2C8\uAE4C",confidence:.85,conjugationType:"honorific-causal",minStemLength:1},{pattern:"\uD558\uC2E4\uB54C",confidence:.88,conjugationType:"honorific-temporal",minStemLength:1},{pattern:"\uD558\uC2E4 \uB54C",confidence:.88,conjugationType:"honorific-temporal",minStemLength:1},{pattern:"\uD558\uC2DC\uBA74",confidence:.88,conjugationType:"honorific-conditional",minStemLength:1},{pattern:"\uC73C\uC2DC\uBA74",confidence:.85,conjugationType:"honorific-conditional",minStemLength:2},{pattern:"\uC2DC\uBA74",confidence:.82,conjugationType:"honorific-conditional",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uD558\uACE0 \uB098\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uD558\uACE0\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uACE0\uB098\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uACE0 \uB098\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uACE0\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uAE30\uC804\uC5D0",confidence:.85,conjugationType:"sequential-before",minStemLength:1},{pattern:"\uD558\uAE30 \uC804\uC5D0",confidence:.85,conjugationType:"sequential-before",minStemLength:1},{pattern:"\uAE30\uC804\uC5D0",confidence:.82,conjugationType:"sequential-before",minStemLength:2},{pattern:"\uAE30 \uC804\uC5D0",confidence:.82,conjugationType:"sequential-before",minStemLength:2},{pattern:"\uD558\uC790\uB9C8\uC790",confidence:.88,conjugationType:"immediate",minStemLength:1},{pattern:"\uC790\uB9C8\uC790",confidence:.85,conjugationType:"immediate",minStemLength:2},{pattern:"\uD574\uC57C\uD574\uC694",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uD574\uC57C\uD574",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uD574\uC57C\uD558\uB2E4",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uC5B4\uC57C\uD574\uC694",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC5B4\uC57C\uD574",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC544\uC57C\uD574\uC694",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC544\uC57C\uD574",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uD558\uB2C8\uAE4C",confidence:.85,conjugationType:"causal-nikka",minStemLength:1},{pattern:"\uD560\uB54C",confidence:.88,conjugationType:"temporal-ttae",minStemLength:1},{pattern:"\uD560 \uB54C",confidence:.88,conjugationType:"temporal-ttae",minStemLength:1},{pattern:"\uC744\uB54C",confidence:.85,conjugationType:"temporal-ttae",minStemLength:2},{pattern:"\uC744 \uB54C",confidence:.85,conjugationType:"temporal-ttae",minStemLength:2},{pattern:"\uD558\uBA74",confidence:.88,conjugationType:"conditional-myeon",minStemLength:1},{pattern:"\uC73C\uBA74",confidence:.85,conjugationType:"conditional-myeon",minStemLength:2},{pattern:"\uB2C8\uAE4C",confidence:.82,conjugationType:"causal-nikka",minStemLength:2},{pattern:"\uBA74",confidence:.8,conjugationType:"conditional-myeon",minStemLength:2},{pattern:"\uD558\uC600\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD588\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD569\uB2C8\uB2E4",confidence:.85,conjugationType:"polite",minStemLength:1},{pattern:"\uC2B5\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uB429\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:1},{pattern:"\u3142\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uD558\uC138\uC694",confidence:.85,conjugationType:"honorific",minStemLength:1},{pattern:"\uD558\uC2ED\uC2DC\uC624",confidence:.85,conjugationType:"honorific",minStemLength:1},{pattern:"\uC138\uC694",confidence:.82,conjugationType:"honorific",minStemLength:2},{pattern:"\uC2ED\uC2DC\uC624",confidence:.82,conjugationType:"honorific",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5B4\uC694",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uD558\uACE0\uC788\uC5B4",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uD588\uC5B4\uC694",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD574\uC694",confidence:.85,conjugationType:"polite",minStemLength:1},{pattern:"\uC5B4\uC694",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uC544\uC694",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uD588\uC5B4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD574",confidence:.8,conjugationType:"present",minStemLength:1},{pattern:"\uC5C8\uC5B4",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\uC558\uC5B4",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uB2E4",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uACE0\uC788\uB2E4",confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uACE0\uC788\uC5B4",confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uD558\uB2E4",confidence:.88,conjugationType:"dictionary",minStemLength:1},{pattern:"\uD558\uC9C0\uC54A\uB2E4",confidence:.82,conjugationType:"negative",minStemLength:1},{pattern:"\uC548\uD558\uB2E4",confidence:.82,conjugationType:"negative",minStemLength:1},{pattern:"\uC9C0\uC54A\uB2E4",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"\uD574\uB77C",confidence:.82,conjugationType:"imperative",minStemLength:1},{pattern:"\uD558\uB77C",confidence:.82,conjugationType:"imperative",minStemLength:1},{pattern:"\uB2E4",confidence:.75,conjugationType:"dictionary",minStemLength:2}],qt=[{pattern:"\uD558\uC2DC\uB2C8\uAE4C",confidence:.88,conjugationType:"honorific-causal"},{pattern:"\uD558\uC2E4\uB54C",confidence:.88,conjugationType:"honorific-temporal"},{pattern:"\uD558\uC2E4 \uB54C",confidence:.88,conjugationType:"honorific-temporal"},{pattern:"\uD558\uC2DC\uBA74",confidence:.88,conjugationType:"honorific-conditional"},{pattern:"\uD558\uC168\uC5B4\uC694",confidence:.85,conjugationType:"honorific-past"},{pattern:"\uD558\uC168\uC5B4",confidence:.85,conjugationType:"honorific-past"},{pattern:"\uD558\uC2ED\uB2C8\uB2E4",confidence:.85,conjugationType:"honorific-polite"},{pattern:"\uD558\uACE0\uB098\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uACE0 \uB098\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uACE0\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uAE30\uC804\uC5D0",confidence:.88,conjugationType:"sequential-before"},{pattern:"\uD558\uAE30 \uC804\uC5D0",confidence:.88,conjugationType:"sequential-before"},{pattern:"\uD558\uC790\uB9C8\uC790",confidence:.88,conjugationType:"immediate"},{pattern:"\uD574\uC57C\uD574\uC694",confidence:.88,conjugationType:"obligation"},{pattern:"\uD574\uC57C\uD574",confidence:.88,conjugationType:"obligation"},{pattern:"\uD574\uC57C\uD558\uB2E4",confidence:.88,conjugationType:"obligation"},{pattern:"\uD558\uB2C8\uAE4C",confidence:.88,conjugationType:"causal-nikka"},{pattern:"\uD560\uB54C",confidence:.88,conjugationType:"temporal-ttae"},{pattern:"\uD560 \uB54C",confidence:.88,conjugationType:"temporal-ttae"},{pattern:"\uD558\uBA74",confidence:.88,conjugationType:"conditional-myeon"},{pattern:"\uD558\uC600\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past"},{pattern:"\uD588\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past"},{pattern:"\uD569\uB2C8\uB2E4",confidence:.85,conjugationType:"polite"},{pattern:"\uD558\uC2ED\uC2DC\uC624",confidence:.85,conjugationType:"honorific"},{pattern:"\uD558\uC138\uC694",confidence:.85,conjugationType:"honorific"},{pattern:"\uD588\uC5B4\uC694",confidence:.85,conjugationType:"past"},{pattern:"\uD574\uC694",confidence:.85,conjugationType:"polite"},{pattern:"\uD588\uC5B4",confidence:.85,conjugationType:"past"},{pattern:"\uD574",confidence:.8,conjugationType:"present"},{pattern:"\uD558\uACE0\uC788\uC5B4\uC694",confidence:.82,conjugationType:"progressive"},{pattern:"\uD558\uACE0\uC788\uC5B4",confidence:.82,conjugationType:"progressive"},{pattern:"\uD558\uACE0\uC788\uB2E4",confidence:.82,conjugationType:"progressive"},{pattern:"\uD574\uC11C",confidence:.82,conjugationType:"connective"},{pattern:"\uD558\uACE0",confidence:.8,conjugationType:"connective"},{pattern:"\uD558\uC9C0\uC54A\uC544\uC694",confidence:.82,conjugationType:"negative"},{pattern:"\uD558\uC9C0\uC54A\uB2E4",confidence:.82,conjugationType:"negative"},{pattern:"\uC548\uD574\uC694",confidence:.82,conjugationType:"negative"},{pattern:"\uC548\uD574",confidence:.82,conjugationType:"negative"},{pattern:"\uD574\uB77C",confidence:.82,conjugationType:"imperative"},{pattern:"\uD558\uB77C",confidence:.82,conjugationType:"imperative"},{pattern:"\uD558\uB2E4",confidence:.88,conjugationType:"dictionary"}],ee=class{constructor(){this.language="ko"}isNormalizable(e){return!(!Ut(e)||e.length<2)}normalize(e){let t=this.normalizeCompound(e);if(t)return t;let n=this.tryHadaNormalization(e);if(n)return n;for(let r of $t)if(e.endsWith(r.pattern)){let o=e.slice(0,-r.pattern.length),s=r.minStemLength??2;if(o.length<s)continue;let a={removedSuffixes:[r.pattern]};return r.conjugationType&&(a.conjugationType=r.conjugationType),I(o,r.confidence,a)}return me(e)}tryHadaNormalization(e){for(let t of qt)if(e.endsWith(t.pattern)){let n=e.slice(0,-t.pattern.length);if(n.length<1)continue;return I(n,t.confidence,{removedSuffixes:[t.pattern],conjugationType:t.conjugationType,originalForm:"hada-verb"})}return null}normalizeCompound(e){let t=[{pattern:"\uD558\uACE0\uB098\uC11C\uC600\uC5B4",suffixes:["\uD558\uACE0\uB098\uC11C","\uC600\uC5B4"],confidence:.78,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C\uC600\uB2E4",suffixes:["\uD558\uACE0\uB098\uC11C","\uC600\uB2E4"],confidence:.78,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C",suffixes:["\uD558\uACE0","\uB098\uC11C"],confidence:.85,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uC5B4",suffixes:["\uD574\uC57C","\uD588\uC5B4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uB2E4",suffixes:["\uD574\uC57C","\uD588\uB2E4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uC2B5\uB2C8\uB2E4",suffixes:["\uD574\uC57C","\uD588\uC2B5\uB2C8\uB2E4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD558\uC2DC\uBA74\uC11C",suffixes:["\uD558\uC2DC","\uBA74\uC11C"],confidence:.82,conjugationType:"connective",minStemLength:2},{pattern:"\uD558\uC2DC\uBA70",suffixes:["\uD558\uC2DC","\uBA70"],confidence:.82,conjugationType:"connective",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5C8\uC5B4",suffixes:["\uD558\uACE0","\uC788\uC5C8\uC5B4"],confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5C8\uB2E4",suffixes:["\uD558\uACE0","\uC788\uC5C8\uB2E4"],confidence:.8,conjugationType:"progressive",minStemLength:2}];for(let{pattern:n,suffixes:r,confidence:o,conjugationType:s,minStemLength:a}of t)if(e.endsWith(n)){let c=e.slice(0,-n.length);if(c.length<a)continue;return I(c,o,{removedSuffixes:r,conjugationType:s})}return null}},Mr=new ee;var H={code:"ko",name:"Korean",nativeName:"\uD55C\uAD6D\uC5B4",direction:"ltr",wordOrder:"SOV",markingStrategy:"particle",usesSpaces:!0,verb:{position:"end",suffixes:["\uB2E4","\uC694","\uB2C8\uB2E4","\uC138\uC694"],subjectDrop:!0},references:{me:"\uB098",it:"\uADF8\uAC83",you:"\uB108",result:"\uACB0\uACFC",event:"\uC774\uBCA4\uD2B8",target:"\uB300\uC0C1",body:"\uBCF8\uBB38"},possessive:{marker:"\uC758",markerPosition:"between",specialForms:{me:"\uB0B4",it:"\uADF8\uAC83\uC758",you:"\uB124"},keywords:{\uB0B4:"me",\uB124:"you",\uADF8\uC758:"it"}},roleMarkers:{patient:{primary:"\uC744",alternatives:["\uB97C"],position:"after"},destination:{primary:"\uC5D0",alternatives:["\uC73C\uB85C","\uB85C","\uC5D0\uC11C"],position:"after"},source:{primary:"\uC5D0\uC11C",alternatives:["\uBD80\uD130"],position:"after"},style:{primary:"\uB85C",alternatives:["\uC73C\uB85C"],position:"after"},event:{primary:"\uC744",alternatives:["\uB97C"],position:"after"}},keywords:{toggle:{primary:"\uD1A0\uAE00",alternatives:["\uC804\uD658"],normalized:"toggle"},add:{primary:"\uCD94\uAC00",normalized:"add"},remove:{primary:"\uC81C\uAC70",alternatives:["\uC0AD\uC81C"],normalized:"remove"},put:{primary:"\uB123\uB2E4",alternatives:["\uB123\uAE30","\uB193\uAE30"],normalized:"put"},append:{primary:"\uCD94\uAC00",normalized:"append"},take:{primary:"\uAC00\uC838\uC624\uB2E4",normalized:"take"},make:{primary:"\uB9CC\uB4E4\uB2E4",normalized:"make"},clone:{primary:"\uBCF5\uC0AC",normalized:"clone"},swap:{primary:"\uAD50\uD658",alternatives:["\uBC14\uAFB8\uB2E4"],normalized:"swap"},morph:{primary:"\uBCC0\uD615",alternatives:["\uBCC0\uD658"],normalized:"morph"},set:{primary:"\uC124\uC815",normalized:"set"},get:{primary:"\uC5BB\uB2E4",alternatives:["\uAC00\uC838\uC624\uAE30"],normalized:"get"},increment:{primary:"\uC99D\uAC00",normalized:"increment"},decrement:{primary:"\uAC10\uC18C",normalized:"decrement"},log:{primary:"\uB85C\uADF8",normalized:"log"},show:{primary:"\uBCF4\uC774\uB2E4",alternatives:["\uD45C\uC2DC","\uBCF4\uC774\uAE30"],normalized:"show"},hide:{primary:"\uC228\uAE30\uB2E4",alternatives:["\uC228\uAE30\uAE30"],normalized:"hide"},transition:{primary:"\uC804\uD658",normalized:"transition"},on:{primary:"\uC5D0",alternatives:["\uC2DC","\uB54C","\uD560 \uB54C"],normalized:"on"},trigger:{primary:"\uD2B8\uB9AC\uAC70",normalized:"trigger"},send:{primary:"\uBCF4\uB0B4\uB2E4",normalized:"send"},focus:{primary:"\uD3EC\uCEE4\uC2A4",normalized:"focus"},blur:{primary:"\uBE14\uB7EC",normalized:"blur"},go:{primary:"\uC774\uB3D9",normalized:"go"},wait:{primary:"\uB300\uAE30",normalized:"wait"},fetch:{primary:"\uAC00\uC838\uC624\uAE30",normalized:"fetch"},settle:{primary:"\uC548\uC815",normalized:"settle"},if:{primary:"\uB9CC\uC57D",normalized:"if"},when:{primary:"\uB54C",normalized:"when"},where:{primary:"\uC5B4\uB514",normalized:"where"},else:{primary:"\uC544\uB2C8\uBA74",normalized:"else"},repeat:{primary:"\uBC18\uBCF5",normalized:"repeat"},for:{primary:"\uB3D9\uC548",normalized:"for"},while:{primary:"\uB3D9\uC548",normalized:"while"},continue:{primary:"\uACC4\uC18D",normalized:"continue"},halt:{primary:"\uC815\uC9C0",normalized:"halt"},throw:{primary:"\uB358\uC9C0\uB2E4",normalized:"throw"},call:{primary:"\uD638\uCD9C",normalized:"call"},return:{primary:"\uBC18\uD658",normalized:"return"},then:{primary:"\uADF8\uB2E4\uC74C",alternatives:["\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4"],normalized:"then"},and:{primary:"\uADF8\uB9AC\uACE0",alternatives:["\uB610\uD55C","\uBC0F"],normalized:"and"},end:{primary:"\uB05D",alternatives:["\uC885\uB8CC","\uB9C8\uCE68"],normalized:"end"},js:{primary:"JS\uC2E4\uD589",alternatives:["js"],normalized:"js"},async:{primary:"\uBE44\uB3D9\uAE30",normalized:"async"},tell:{primary:"\uB9D0\uD558\uB2E4",normalized:"tell"},default:{primary:"\uAE30\uBCF8\uAC12",normalized:"default"},init:{primary:"\uCD08\uAE30\uD654",normalized:"init"},behavior:{primary:"\uB3D9\uC791",normalized:"behavior"},install:{primary:"\uC124\uCE58",normalized:"install"},measure:{primary:"\uCE21\uC815",normalized:"measure"},into:{primary:"\uC73C\uB85C",normalized:"into"},before:{primary:"\uC804\uC5D0",normalized:"before"},after:{primary:"\uD6C4\uC5D0",normalized:"after"},until:{primary:"\uAE4C\uC9C0",normalized:"until"},event:{primary:"\uC774\uBCA4\uD2B8",normalized:"event"},from:{primary:"\uC5D0\uC11C",normalized:"from"}},tokenization:{particles:["\uC744","\uB97C","\uC774","\uAC00","\uC740","\uB294","\uC5D0","\uC5D0\uC11C","\uC73C\uB85C","\uB85C","\uC640","\uACFC","\uB3C4"],boundaryStrategy:"space"}};var Ft=C([[44032,55203]]),Dt=C([[4352,4607],[12592,12687]]),te=J(Ft,Dt),Ht=new Set(["\uC774","\uAC00","\uC744","\uB97C","\uC740","\uB294","\uC5D0","\uC5D0\uC11C","\uB85C","\uC73C\uB85C","\uC640","\uACFC","\uC758","\uB3C4","\uB9CC","\uBD80\uD130","\uAE4C\uC9C0","\uCC98\uB7FC","\uBCF4\uB2E4"]),Re=new Set(["\uC774","\uAC00","\uC744","\uB97C","\uC740","\uB294","\uC5D0","\uB85C","\uC640","\uACFC","\uC758","\uB3C4","\uB9CC"]),ot=["\uC5D0\uC11C","\uC73C\uB85C","\uBD80\uD130","\uAE4C\uC9C0","\uCC98\uB7FC","\uBCF4\uB2E4"],at=new Map([["\uC774",{role:"agent",confidence:.85,variant:"consonant",description:"subject marker (after consonant)"}],["\uAC00",{role:"agent",confidence:.85,variant:"vowel",description:"subject marker (after vowel)"}],["\uC744",{role:"patient",confidence:.95,variant:"consonant",description:"object marker (after consonant)"}],["\uB97C",{role:"patient",confidence:.95,variant:"vowel",description:"object marker (after vowel)"}],["\uC740",{role:"agent",confidence:.75,variant:"consonant",description:"topic marker (after consonant)"}],["\uB294",{role:"agent",confidence:.75,variant:"vowel",description:"topic marker (after vowel)"}],["\uC5D0",{role:"destination",confidence:.85,description:"at/to marker"}],["\uC5D0\uC11C",{role:"source",confidence:.8,description:"at/from marker (action location)"}],["\uB85C",{role:"destination",confidence:.85,variant:"vowel",description:"to/by means (after vowel or \u3139)"}],["\uC73C\uB85C",{role:"destination",confidence:.85,variant:"consonant",description:"to/by means (after consonant)"}],["\uC640",{role:"style",confidence:.7,variant:"vowel",description:"and/with (after vowel)"}],["\uACFC",{role:"style",confidence:.7,variant:"consonant",description:"and/with (after consonant)"}],["\uC758",{role:"patient",confidence:.6,description:"possessive marker"}],["\uB3C4",{role:"patient",confidence:.65,description:"also/too marker"}],["\uB9CC",{role:"patient",confidence:.65,description:"only marker"}],["\uBD80\uD130",{role:"source",confidence:.9,description:"from/since marker"}],["\uAE4C\uC9C0",{role:"destination",confidence:.75,description:"until/to marker"}],["\uCC98\uB7FC",{role:"manner",confidence:.8,description:"like/as marker"}],["\uBCF4\uB2E4",{role:"source",confidence:.75,description:"than marker"}]]),Gt=[{native:"\uCC38",normalized:"true"},{native:"\uAC70\uC9D3",normalized:"false"},{native:"\uB110",normalized:"null"},{native:"\uBBF8\uC815\uC758",normalized:"undefined"},{native:"\uCCAB\uBC88\uC9F8",normalized:"first"},{native:"\uB9C8\uC9C0\uB9C9",normalized:"last"},{native:"\uB2E4\uC74C",normalized:"next"},{native:"\uC774\uC804",normalized:"previous"},{native:"\uAC00\uC7A5\uAC00\uAE4C\uC6B4",normalized:"closest"},{native:"\uBD80\uBAA8",normalized:"parent"},{native:"\uD074\uB9AD",normalized:"click"},{native:"\uB354\uBE14\uD074\uB9AD",normalized:"dblclick"},{native:"\uBCC0\uACBD",normalized:"change"},{native:"\uC81C\uCD9C",normalized:"submit"},{native:"\uC785\uB825",normalized:"input"},{native:"\uB85C\uB4DC",normalized:"load"},{native:"\uC2A4\uD06C\uB864",normalized:"scroll"},{native:"\uD0A4\uB2E4\uC6B4",normalized:"keydown"},{native:"\uD0A4\uC5C5",normalized:"keyup"},{native:"\uB9C8\uC6B0\uC2A4\uC624\uBC84",normalized:"mouseover"},{native:"\uB9C8\uC6B0\uC2A4\uC544\uC6C3",normalized:"mouseout"},{native:"\uB0B4",normalized:"my"},{native:"\uADF8\uAC83\uC758",normalized:"its"},{native:"\uD558\uBA74",normalized:"on"},{native:"\uC73C\uBA74",normalized:"on"},{native:"\uBA74",normalized:"on"},{native:"\uD560\uB54C",normalized:"on"},{native:"\uD560 \uB54C",normalized:"on"},{native:"\uC744\uB54C",normalized:"on"},{native:"\uC744 \uB54C",normalized:"on"},{native:"\uD558\uB2C8\uAE4C",normalized:"on"},{native:"\uB2C8\uAE4C",normalized:"on"},{native:"\uADF8\uB7EC\uBA74",normalized:"then"},{native:"\uADF8\uB807\uC9C0\uC54A\uC73C\uBA74",normalized:"otherwise"},{native:"\uC911\uB2E8",normalized:"break"},{native:"\uADF8\uB9AC\uACE0",normalized:"and"},{native:"\uB610\uB294",normalized:"or"},{native:"\uC544\uB2C8",normalized:"not"},{native:"\uC774\uB2E4",normalized:"is"},{native:"\uCD94\uAC00",normalized:"add"},{native:"\uB97C\uD1A0\uAE00",normalized:"toggle"},{native:"\uB97C\uC804\uD658",normalized:"toggle"},{native:"\uB97C\uCD94\uAC00",normalized:"add"},{native:"\uB97C\uC81C\uAC70",normalized:"remove"},{native:"\uB97C\uC0AD\uC81C",normalized:"remove"},{native:"\uB97C\uC99D\uAC00",normalized:"increment"},{native:"\uB97C\uAC10\uC18C",normalized:"decrement"},{native:"\uB97C\uD45C\uC2DC",normalized:"show"},{native:"\uB97C\uC228\uAE30\uB2E4",normalized:"hide"},{native:"\uB97C\uC124\uC815",normalized:"set"},{native:"\uC744\uD1A0\uAE00",normalized:"toggle"},{native:"\uC744\uC804\uD658",normalized:"toggle"},{native:"\uC744\uCD94\uAC00",normalized:"add"},{native:"\uC744\uC81C\uAC70",normalized:"remove"},{native:"\uC744\uC0AD\uC81C",normalized:"remove"},{native:"\uC744\uC99D\uAC00",normalized:"increment"},{native:"\uC744\uAC10\uC18C",normalized:"decrement"},{native:"\uC744\uD45C\uC2DC",normalized:"show"},{native:"\uC744\uC228\uAE30\uB2E4",normalized:"hide"},{native:"\uC744\uC124\uC815",normalized:"set"},{native:"\uCD08",normalized:"s"},{native:"\uBC00\uB9AC\uCD08",normalized:"ms"},{native:"\uBD84",normalized:"m"},{native:"\uC2DC\uAC04",normalized:"h"}],Xt=[{pattern:"\uBC00\uB9AC\uCD08",suffix:"ms",length:3},{pattern:"\uC2DC\uAC04",suffix:"h",length:2},{pattern:"\uCD08",suffix:"s",length:1},{pattern:"\uBD84",suffix:"m",length:1}],Me=class extends R{constructor(){super();this.language="ko";this.direction="ltr";this.initializeKeywordsFromProfile(H,Gt),this.normalizer=new ee}tokenize(t){let n=[],r=0;for(;r<t.length;){if(z(t[r])){r++;continue}if(j(t[r])){let a=this.tryEventModifier(t,r);if(a){n.push(a),r=a.position.end;continue}let c=this.trySelector(t,r);if(c){n.push(c),r=c.position.end;continue}}if(V(t[r])){let a=this.tryString(t,r);if(a){n.push(a),r=a.position.end;continue}}if(O(t,r)){let a=this.tryUrl(t,r);if(a){n.push(a),r=a.position.end;continue}}if(E(t[r])){let a=this.extractKoreanNumber(t,r);if(a){n.push(a),r=a.position.end;continue}}let o=this.tryVariableRef(t,r);if(o){n.push(o),r=o.position.end;continue}if(te(t[r])){let a=this.extractKoreanWord(t,r);if(a){n.push(a),r=a.position.end;continue}}let s=this.tryMultiCharParticle(t,r,ot);if(s){let a=at.get(s.value);a?n.push({...s,metadata:{particleRole:a.role,particleConfidence:a.confidence,particleVariant:a.variant}}):n.push(s),r=s.position.end;continue}if(Re.has(t[r])){let a=t[r],c=at.get(a);c?n.push({...S(a,"particle",v(r,r+1)),metadata:{particleRole:c.role,particleConfidence:c.confidence,particleVariant:c.variant}}):n.push(S(a,"particle",v(r,r+1))),r++;continue}if(T(t[r])){let a=this.extractAsciiWord(t,r);if(a){n.push(a),r=a.position.end;continue}}r++}return new N(n,"ko")}classifyToken(t){return Ht.has(t)?"particle":this.isKeyword(t)?"keyword":t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?"selector":t.startsWith('"')||t.startsWith("'")||/^\d/.test(t)?"literal":"identifier"}extractKoreanWord(t,n){for(let l=Math.min(6,t.length-n);l>=2;l--){let p=t.slice(n,n+l),x=!0;for(let u=0;u<p.length;u++)if(!te(p[u])){x=!1;break}if(!x)continue;let y=this.lookupKeyword(p);if(y)return S(p,"keyword",v(n,n+l),y.normalized);let g=this.tryMorphKeywordMatch(p,n,n+l);if(g)return g}let o=n,s="";for(;o<t.length;){let l=t[o],p=o+1<t.length?t[o+1]:"";if(Re.has(l)&&s.length>0&&(p===""||z(p)||!te(p)||Re.has(p)))break;let x=!1;for(let y of ot)if(t.slice(o,o+y.length)===y&&s.length>0){let g=o+y.length,u=g<t.length?t[g]:"";if(u===""||z(u)||!te(u)){x=!0;break}}if(x)break;if(te(l))s+=l,o++;else break}if(!s)return null;let a=this.lookupKeyword(s);if(a)return S(s,"keyword",v(n,o),a.normalized);let c=this.tryMorphKeywordMatch(s,n,o);return c||S(s,"identifier",v(n,o))}extractAsciiWord(t,n){let r=n,o="";for(;r<t.length&&T(t[r]);)o+=t[r++];return o?S(o,"identifier",v(n,r)):null}extractKoreanNumber(t,n){return this.tryNumberWithTimeUnits(t,n,Xt,{allowSign:!1,skipWhitespace:!1})}},he=new Me;q("ko",he,H);function st(i){return Fe(i)}function ye(i,e){return He(i,e)}function ve(){return pe()}function _(i){let e="complex";return i.startsWith("#")&&!i.includes(" ")?e="id":i.startsWith(".")&&!i.includes(" ")?e="class":i.startsWith("[")&&i.endsWith("]")?e="attribute":/^[a-z][a-z0-9]*$/i.test(i)&&(e="element"),{type:"selector",value:i,selectorKind:e}}function b(i,e){let t={type:"literal",value:i};return e!==void 0?{type:"literal",value:i,dataType:e}:t}function M(i){return{type:"reference",value:i}}function G(i,e){return{type:"property-path",object:i,property:e}}function K(i,e,t){let n={kind:"command",action:i,roles:new Map(Object.entries(e))};return t!==void 0?{...n,metadata:t}:n}function X(i,e,t,n,r){let o=new Map;o.set("event",i);let s={kind:"event-handler",action:"on",roles:o,body:e};return t!==void 0&&(s.eventModifiers=t),n!==void 0&&(s.metadata=n),r!==void 0&&r.length>0&&(s.parameterNames=r),s}function ct(i,e="then",t){let n={kind:"compound",action:"compound",roles:new Map,statements:i,chainType:e};return t!==void 0&&(n.metadata=t),n}function Pe(i,e){return!e||e.length===0||e.includes(i)||e.includes("expression")?!0:i==="property-path"?e.some(t=>["selector","reference","expression"].includes(t)):!1}function lt(i,e){return i.possessive?.keywords?.[e]}var P=class P{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(e,t){let n=e.mark(),r=new Map;if(this.currentProfile=A(t.language),this.stemMatchCount=0,this.totalKeywordMatches=0,!this.matchTokenSequence(e,t.template.tokens,r))return e.reset(n),null;let s=this.calculateConfidence(t,r);return this.applyExtractionRules(t,r),{pattern:t,captured:r,consumedTokens:e.position()-n.position,confidence:s}}matchBest(e,t){let n=[];for(let o of t){let s=e.mark(),a=this.matchPattern(e,o);a&&n.push(a),e.reset(s)}if(n.length===0)return null;n.sort((o,s)=>{let a=s.pattern.priority-o.pattern.priority;return a!==0?a:s.confidence-o.confidence});let r=n[0];return this.matchPattern(e,r.pattern),r}matchTokenSequence(e,t,n){if(this.currentProfile?.code==="ar")for(;e.peek()?.kind==="conjunction";)e.advance();for(let r of t)if(!this.matchPatternToken(e,r,n)){if(this.isOptional(r))continue;return!1}return!0}matchPatternToken(e,t,n){switch(t.type){case"literal":return this.matchLiteralToken(e,t);case"role":return this.matchRoleToken(e,t,n);case"group":return this.matchGroupToken(e,t,n);default:return!1}}matchLiteralToken(e,t){let n=e.peek();if(!n)return!1;let r=this.getMatchType(n,t.value);if(r!=="none")return this.totalKeywordMatches++,r==="stem"&&this.stemMatchCount++,e.advance(),!0;if(t.alternatives)for(let o of t.alternatives){let s=this.getMatchType(n,o);if(s!=="none")return this.totalKeywordMatches++,s==="stem"&&this.stemMatchCount++,e.advance(),!0}return!1}matchRoleToken(e,t,n){this.skipNoiseWords(e);let r=e.peek();if(!r)return t.optional||!1;let o=this.tryMatchPossessiveExpression(e);if(o)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(o.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,o),!0);let s=this.tryMatchMethodCallExpression(e);if(s)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(s.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,s),!0);let a=this.tryMatchPossessiveSelectorExpression(e);if(a)return t.expectedTypes&&t.expectedTypes.length>0&&!Pe(a.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,a),!0);let c=this.tryMatchPropertyAccessExpression(e);if(c)return t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(c.type)&&!t.expectedTypes.includes("expression")?t.optional||!1:(n.set(t.role,c),!0);let l=this.tryMatchSelectorPropertyExpression(e);if(l)return t.expectedTypes&&t.expectedTypes.length>0&&!Pe(l.type,t.expectedTypes)?t.optional||!1:(n.set(t.role,l),!0);let p=this.tokenToSemanticValue(r);return!p||t.expectedTypes&&t.expectedTypes.length>0&&!t.expectedTypes.includes(p.type)?t.optional||!1:(n.set(t.role,p),e.advance(),!0)}tryMatchPossessiveExpression(e){let t=e.peek();if(!t||!this.currentProfile)return null;let n=(t.normalized||t.value).toLowerCase(),r=lt(this.currentProfile,n);if(!r)return null;let o=e.mark();e.advance();let s=e.peek();return s&&(s.kind==="identifier"||s.kind==="keyword"&&!this.isStructuralKeyword(s.value)||s.kind==="selector"&&s.value.startsWith("*"))?(e.advance(),G(M(r),s.value)):(e.reset(o),null)}isStructuralKeyword(e){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(e.toLowerCase())}tryMatchMethodCallExpression(e){let t=e.peek();if(!t||t.kind!=="selector")return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="operator"||r.value!==".")return e.reset(n),null;e.advance();let o=e.peek();if(!o||o.kind!=="identifier")return e.reset(n),null;e.advance();let s=e.peek();if(!s||s.kind!=="punctuation"||s.value!=="(")return e.reset(n),null;e.advance();let a=[];for(;!e.isAtEnd()&&a.length<P.MAX_METHOD_ARGS;){let l=e.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){e.advance();break}if(l.kind==="punctuation"&&l.value===","){e.advance();continue}a.push(l.value),e.advance()}return{type:"expression",raw:`${t.value}.${o.value}(${a.join(", ")})`}}tryMatchPropertyAccessExpression(e){let t=e.peek();if(!t||t.kind!=="identifier"&&t.kind!=="keyword")return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="operator"||r.value!==".")return e.reset(n),null;e.advance();let o=e.peek();if(!o||o.kind!=="identifier")return e.reset(n),null;e.advance();let s=`${t.value}.${o.value}`,a=1;for(;!e.isAtEnd()&&a<P.MAX_PROPERTY_DEPTH;){let l=e.peek();if(!l||l.kind!=="operator"||l.value!==".")break;e.advance();let p=e.peek();if(!p||p.kind!=="identifier")break;e.advance(),s+=`.${p.value}`,a++}let c=e.peek();if(c&&c.kind==="punctuation"&&c.value==="("){e.advance();let l=[],p=0;for(;!e.isAtEnd()&&l.length<P.MAX_METHOD_ARGS;){let y=e.peek();if(!y)break;if(y.kind==="punctuation"&&y.value===")"){if(p===0){e.advance();break}p--}if(y.kind==="punctuation"&&y.value==="("&&p++,y.kind==="punctuation"&&y.value===","){e.advance();continue}l.push(y.value),e.advance()}return{type:"expression",raw:`${s}(${l.join(", ")})`}}return{type:"expression",raw:s}}tryMatchPossessiveSelectorExpression(e){let t=e.peek();if(!t||t.kind!=="selector")return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="punctuation"||r.value!=="'s")return e.reset(n),null;e.advance();let o=e.peek();return!o||o.kind!=="selector"&&o.kind!=="identifier"?(e.reset(n),null):(e.advance(),G(_(t.value),o.value))}tryMatchSelectorPropertyExpression(e){let t=e.peek();if(!t||t.kind!=="selector"||!t.value.startsWith("#"))return null;let n=e.mark();e.advance();let r=e.peek();if(!r||r.kind!=="selector"||!r.value.startsWith("."))return e.reset(n),null;let o=e.peek(1);o&&o.kind,e.advance();let s=r.value.slice(1);return G(_(t.value),s)}matchGroupToken(e,t,n){let r=e.mark(),o=new Set(n.keys());if(!this.matchTokenSequence(e,t.tokens,n)){e.reset(r);for(let a of n.keys())o.has(a)||n.delete(a);return t.optional||!1}return!0}getMatchType(e,t){return e.value===t?"exact":e.normalized===t?"normalized":e.stem===t&&e.stemConfidence!==void 0&&e.stemConfidence>=.7?"stem":e.kind==="keyword"&&e.value.toLowerCase()===t.toLowerCase()?"case-insensitive":"none"}tokenToSemanticValue(e){switch(e.kind){case"selector":return _(e.value);case"literal":return this.parseLiteralValue(e.value);case"keyword":let t=(e.normalized||e.value).toLowerCase();return["me","you","it","result","event","target","body"].includes(t)?M(t):b(e.normalized||e.value);case"identifier":if(e.value.startsWith(":"))return M(e.value);let n=e.value.toLowerCase();return["me","you","it","result","event","target","body"].includes(n)?M(n):{type:"expression",raw:e.value};case"url":return b(e.value,"string");default:return null}}parseLiteralValue(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let r=e.slice(1,-1);return b(r,"string")}if(e==="true")return b(!0,"boolean");if(e==="false")return b(!1,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let r=parseFloat(t[1]);return t[2]?b(e,"duration"):b(r,"number")}let n=parseFloat(e);return isNaN(n)?b(e,"string"):b(n,"number")}applyExtractionRules(e,t){for(let[n,r]of Object.entries(e.extraction))!t.has(n)&&r.default&&t.set(n,r.default)}isOptional(e){return e.optional===!0}calculateConfidence(e,t){let n=0,r=0,o=l=>e.extraction?.[l]?.default!==void 0;for(let l of e.template.tokens)if(l.type==="role")r+=1,t.has(l.role)&&(n+=1);else if(l.type==="group"){for(let p of l.tokens)if(p.type==="role"){let x=o(p.role),y=.8;r+=y,t.has(p.role)?n+=y:x&&(n+=y*.6)}}let s=r>0?n/r:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let l=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-l)}let a=this.calculateVSOConfidenceBoost(e);s=Math.min(1,s+a);let c=this.arabicPrepositionDisambiguation(e,t);return s=Math.max(0,Math.min(1,s+c)),s}calculateVSOConfidenceBoost(e){if(e.language!=="ar")return 0;let t=e.template.tokens[0];if(!t||t.type!=="literal")return 0;let n=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"]);if(n.has(t.value))return .15;if(t.alternatives){for(let r of t.alternatives)if(n.has(r))return .15}return 0}arabicPrepositionDisambiguation(e,t){if(e.language!=="ar")return 0;let n=0,r={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"]};for(let[o,s]of t.entries()){let a=r[o];if(!a||a.length===0)continue;let c=s.metadata;if(c&&typeof c.prepositionValue=="string"){let l=c.prepositionValue;a.includes(l)?n+=.1:n-=.1}}return Math.max(-.1,Math.min(.1,n))}skipNoiseWords(e){let t=e.peek();if(!t)return;let n=t.value.toLowerCase();if(P.ENGLISH_NOISE_WORDS.has(n)){let r=e.mark();e.advance();let o=e.peek();if(o&&o.kind==="selector")return;e.reset(r)}n==="class"&&e.advance()}extractEventModifiers(e){let t={},n=!1;for(;!e.isAtEnd();){let r=e.peek();if(!r||r.kind!=="event-modifier")break;let o=r.metadata;if(!o)break;switch(n=!0,o.modifierName){case"once":t.once=!0;break;case"debounce":typeof o.value=="number"&&(t.debounce=o.value);break;case"throttle":typeof o.value=="number"&&(t.throttle=o.value);break;case"queue":(o.value==="first"||o.value==="last"||o.value==="all"||o.value==="none")&&(t.queue=o.value);break}e.advance()}return n?t:void 0}};P.MAX_PROPERTY_DEPTH=10,P.MAX_METHOD_ARGS=20,P.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var ne=P,B=new ne;var Se=class{render(e,t){if(e.kind==="compound")return this.renderCompound(e,t);let n=Ge(t,e.action);if(n.length===0)return this.renderExplicit(e);let r=this.findBestPattern(e,n);return r?this.renderWithPattern(e,r):this.renderExplicit(e)}renderCompound(e,t){let n=e.statements.map(o=>this.render(o,t)),r=this.getChainWord(e.chainType,t);return n.join(` ${r} `)}getChainWord(e,t){let n=A(t);return n?.keywords?n.keywords[e]?.primary??e:e}renderExplicit(e){if(e.kind==="compound"){let n=e;return n.statements.map(o=>this.renderExplicit(o)).join(` ${n.chainType} `)}let t=[e.action];for(let[n,r]of e.roles)t.push(`${n}:${this.valueToString(r)}`);if(e.kind==="event-handler"){let n=e;if(n.body&&n.body.length>0){let r=n.body.map(o=>this.renderExplicit(o));t.push(`body:${r.join(" ")}`)}}return`[${t.join(" ")}]`}supportedLanguages(){return ve()}findBestPattern(e,t){let n=t.map(r=>{let o=r.priority;for(let s of r.template.tokens)s.type==="role"&&(e.roles.has(s.role)?o+=10:s.optional||(o-=50));return r.language==="en"&&((r.id.includes("standard")||r.id.includes("en-source"))&&(o+=20),(r.id.includes("-when")||r.id.includes("-if")||r.id.includes("-upon"))&&(o-=15)),{pattern:r,score:o}});return n.sort((r,o)=>o.score-r.score),n.length>0?n[0].pattern:null}renderWithPattern(e,t){let n=[],r=t.language;for(let o of t.template.tokens){let s=this.renderPatternToken(o,e,r);s!==null&&n.push(s)}if(e.kind==="event-handler"){let o=e;if(o.body&&o.body.length>0){let s=o.body.map(a=>this.render(a,r));n.push(s.join(" "))}}return n.join(" ")}renderPatternToken(e,t,n){switch(e.type){case"literal":return e.value;case"role":{let r=t.roles.get(e.role);return r?this.valueToNaturalString(r,n):(e.optional,null)}case"group":{if(!e.tokens.filter(s=>s.type==="role"&&!s.optional).every(s=>t.roles.has(s.role))&&e.optional)return null;if(e.optional&&e.tokens.find(a=>a.type==="role"&&a.role==="destination")){let a=t.roles.get("destination");if(a?.type==="reference"&&a.value==="me")return null}let o=[];for(let s of e.tokens){let a=this.renderPatternToken(s,t,n);a!==null&&o.push(a)}return o.length>0?o.join(" "):null}default:return null}}valueToString(e){switch(e.type){case"literal":return typeof e.value=="string"?e.dataType==="string"||/\s/.test(e.value)?`"${e.value}"`:e.value:String(e.value);case"selector":return e.value;case"reference":return e.value;case"property-path":return`${this.valueToString(e.object)}'s ${e.property}`;case"expression":return e.raw}}valueToNaturalString(e,t="en"){switch(e.type){case"literal":return typeof e.value=="string"&&e.dataType==="string"?`"${e.value}"`:String(e.value);case"selector":return e.value;case"reference":return this.renderReference(e,t);case"property-path":return this.renderPropertyPath(e,t);case"expression":return e.raw}}renderReference(e,t){let n=A(t);return n?.references?n.references[e.value]??e.value:e.value}renderPropertyPath(e,t){let n=A(t),r=e.property,o=e.object.type==="reference"?e.object.value:null;if(n?.possessive?.specialForms&&o){let a=n.possessive.specialForms[o];if(a){let{markerPosition:c,usePossessiveAdjectives:l}=n.possessive;return l&&c==="after-object"?`${r} ${a}`:`${a} ${r}`}}let s=this.valueToNaturalString(e.object,t);if(n?.possessive){let{marker:a,markerPosition:c,usePossessiveAdjectives:l}=n.possessive;if(l&&o&&c==="after-object")return`${r} ${s}`;if(a)switch(c){case"between":return n.usesSpaces?`${s}${a} ${r}`:`${s}${a}${r}`;case"after-object":return`${s}${a} ${r}`;case"before-property":return`${s} ${a} ${r}`}}return t==="en"||!n?.possessive?s==="me"?`my ${r}`:s==="it"?`its ${r}`:`${s}'s ${r}`:`${s} ${r}`}},Ae=new Se;function re(i,e){return Ae.render(i,e)}function ie(i){return Ae.renderExplicit(i)}function W(i){let e=i.trim();if(!e.startsWith("[")||!e.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let t=e.slice(1,-1).trim();if(!t)throw new Error("Empty explicit statement");let n=Qt(t);if(n.length===0)throw new Error("No command specified in explicit statement");let r=n[0].toLowerCase(),o=new Map;for(let a=1;a<n.length;a++){let c=n[a],l=c.indexOf(":");if(l===-1)throw new Error(`Invalid role format: "${c}". Expected role:value`);let p=c.slice(0,l),x=c.slice(l+1);if(p==="body"&&x.startsWith("[")){let g=Jt(c,l+1),u=c.slice(l+1,g+1);o.set(p,{type:"expression",raw:u});continue}let y=Zt(x);o.set(p,y)}if(r==="on"){let a=o.get("event");if(!a)throw new Error("Event handler requires event role: [on event:click ...]");let c=o.get("body"),l=[];return c&&c.type==="expression"&&l.push(W(c.raw)),o.delete("body"),X(a,l,void 0,{sourceLanguage:"explicit"})}let s={};for(let[a,c]of o)s[a]=c;return K(r,s,{sourceLanguage:"explicit"})}function Qt(i){let e=[],t="",n=!1,r="",o=0;for(let s=0;s<i.length;s++){let a=i[s];if(n){t+=a,a===r&&i[s-1]!=="\\"&&(n=!1);continue}if(a==='"'||a==="'"){n=!0,r=a,t+=a;continue}if(a==="["){o++,t+=a;continue}if(a==="]"){o--,t+=a;continue}if(a===" "&&o===0){t&&(e.push(t),t="");continue}t+=a}return t&&e.push(t),e}function Zt(i){if(i.startsWith("#")||i.startsWith(".")||i.startsWith("[")||i.startsWith("@")||i.startsWith("*"))return _(i);if(i.startsWith('"')||i.startsWith("'")){let t=i.slice(1,-1);return b(t,"string")}if(i==="true")return b(!0,"boolean");if(i==="false")return b(!1,"boolean");if(["me","you","it","result","event","target","body"].includes(i.toLowerCase()))return M(i.toLowerCase());let e=i.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(e){let t=parseFloat(e[1]);return e[2]?b(i,"duration"):b(t,"number")}return b(i,"string")}function Jt(i,e){let t=0;for(let n=e;n<i.length;n++)if(i[n]==="[")t++;else if(i[n]==="]"&&(t--,t===0))return n;return i.length-1}function Q(i){let e=i.trim();return e.startsWith("[")&&e.endsWith("]")}var xe=class{parse(e,t){let n=ye(e,t),r=L(t);if(r.length===0)throw new Error(`No patterns available for language: ${t}`);let o=[...r].sort((p,x)=>x.priority-p.priority),s=o.filter(p=>p.command==="on"),a=B.matchBest(n,s);if(a)return this.buildEventHandler(a,n,t);let c=o.filter(p=>p.command!=="on"),l=B.matchBest(n,c);if(l)return this.buildCommand(l,t);throw new Error(`Could not parse input in ${t}: ${e}`)}canParse(e,t){try{return this.parse(e,t),!0}catch{return!1}}supportedLanguages(){return ve()}buildCommand(e,t){if(!e)throw new Error("No match to build command from");let n={};for(let[r,o]of e.captured)n[r]=o;return K(e.pattern.command,n,{sourceLanguage:t,patternId:e.pattern.id})}buildEventHandler(e,t,n){if(!e)throw new Error("No match to build event handler from");let r=e.captured.get("event");if(!r)throw new Error("Event handler pattern matched but no event captured");let o=B.extractEventModifiers(t),s,a=e.captured.get("action");if(a&&a.type==="literal"){let c=a.value,l={};for(let[y,g]of e.captured)y!=="event"&&y!=="action"&&y!=="continues"&&(l[y]=g);let p=K(c,l,{sourceLanguage:n,patternId:e.pattern.id}),x=e.captured.get("continues");if(x&&x.type==="literal"&&x.value==="then"){let y=L(n).filter(m=>m.command!=="on").sort((m,h)=>h.priority-m.priority),g=L(n).filter(m=>m.id.startsWith("grammar-")&&m.id.includes("-continuation")).sort((m,h)=>h.priority-m.priority),u=this.parseBodyWithGrammarPatterns(t,y,g,n);u.length>0?s=[p,...u]:s=[p]}else s=[p]}else{let c=L(n).filter(l=>l.command!=="on").sort((l,p)=>p.priority-l.priority);s=this.parseBodyWithClauses(t,c,n)}return X(r,s,o,{sourceLanguage:n,patternId:e.pattern.id})}parseBodyWithClauses(e,t,n){let r=[],o=[];for(;!e.isAtEnd();){let s=e.peek();if(!s)break;let a=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,n),c=s.kind==="keyword"&&this.isEndKeyword(s.value,n);if(a){if(o.length>0){let l=this.parseClause(o,t,n);r.push(...l),o.length=0}e.advance();continue}if(c){if(o.length>0){let l=this.parseClause(o,t,n);r.push(...l)}e.advance();break}o.push(s),e.advance()}if(o.length>0){let s=this.parseClause(o,t,n);r.push(...s)}return r.length>1?[ct(r,"then",{sourceLanguage:n})]:r}parseClause(e,t,n){if(e.length===0)return[];let r=new N(e,n),o=[];for(;!r.isAtEnd();){let s=B.matchBest(r,t);s?o.push(this.buildCommand(s,n)):r.advance()}return o}parseBodyWithGrammarPatterns(e,t,n,r){let o=[];for(;!e.isAtEnd();){let s=e.peek();if(s&&this.isThenKeyword(s.value,r)){e.advance();continue}if(s&&this.isEndKeyword(s.value,r)){e.advance();break}let a=!1;if(n.length>0){let c=B.matchBest(e,n);if(c){let l=c.pattern.command,p={};for(let[g,u]of c.captured)g!=="event"&&g!=="action"&&g!=="continues"&&(p[g]=u);let x=K(l,p,{sourceLanguage:r,patternId:c.pattern.id});o.push(x),a=!0;let y=c.captured.get("continues");if(y&&y.type==="literal"&&y.value==="then")continue}}if(!a){let c=B.matchBest(e,t);c&&(o.push(this.buildCommand(c,r)),a=!0)}a||e.advance()}return o}isThenKeyword(e,t){let n={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B","\u305D\u3057\u3066"]),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\uB9AC\uACE0","\uADF8\uB7F0\uD6C4"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u4E4B\u540E"]),tr:new Set(["sonra","ard\u0131ndan","daha sonra"]),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"]),qu:new Set(["chaymantataq","hinaspa","chaymanta"]),sw:new Set(["kisha","halafu","baadaye"])};return(n[t]||n.en).has(e.toLowerCase())}isEndKeyword(e,t){let n={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u7D42\u4E86","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uC885\uB8CC","\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","beenden","fertig"]),id:new Set(["selesai","akhir","tamat"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])};return(n[t]||n.en).has(e.toLowerCase())}},je=new xe;function Z(i,e){return je.parse(i,e)}function Ve(i,e){return je.canParse(i,e)}function Oe(i,e){if(Q(i))return i;let t=Z(i,e);return ie(t)}function Ie(i,e){let t=W(i);return re(t,e)}function _e(i,e){return Q(i)?W(i):Z(i,e)}var Yt=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),en=new Set(["and","or","not","no"]),tn=new Set(["true","false","null","undefined"]),nn=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function dt(i){let e=[],t=0,n=1,r=1;function o(){if(e.length===0)return!0;let u=e[e.length-1];return["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(u.type)}function s(u=0){return i[t+u]??""}function a(){let u=i[t];return t++,u===`
|
|
2
|
+
`?(n++,r=1):r++,u}function c(){for(;t<i.length&&/\s/.test(i[t]);)a()}function l(u){let m="";for(;t<i.length&&u(i[t]);)m+=a();return m}function p(u){let m=u;for(a();t<i.length&&i[t]!==u;)i[t]==="\\"&&t+1<i.length&&(m+=a()),m+=a();return t<i.length&&(m+=a()),m}function x(){let u="`";for(a();t<i.length&&i[t]!=="`";)i[t]==="\\"&&t+1<i.length&&(u+=a()),u+=a();return t<i.length&&(u+=a()),u}function y(){let u="<";for(a();t<i.length&&(u+=a(),!u.endsWith("/>")););return u}function g(u,m,h){return{type:u,value:m,start:h,end:t,line:n,column:r-m.length}}for(;t<i.length&&(c(),!(t>=i.length));){let u=t,m=s();if(m==="'"&&s(1)==="s"&&!/\w/.test(s(2))){a(),a(),e.push(g("POSSESSIVE","'s",u));continue}if(m==='"'||m==="'"){let h=p(m);e.push(g("STRING",h,u));continue}if(m==="`"){let h=x();e.push(g("TEMPLATE_LITERAL",h,u));continue}if(m==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let h=y();e.push(g("QUERY_SELECTOR",h,u));continue}if(m==="#"&&o()){a();let h=l(k=>/[\w-]/.test(k));e.push(g("ID_SELECTOR","#"+h,u));continue}if(m==="."&&/[a-zA-Z_-]/.test(s(1))&&o()){a();let h=l(k=>/[\w-]/.test(k));e.push(g("CLASS_SELECTOR","."+h,u));continue}if(m==="["&&o()){let h=s(1);if(h==="@"||/[a-zA-Z]/.test(h)){let k="";for(k+=a();t<i.length&&i[t]!=="]";)i[t]==='"'||i[t]==="'"?k+=p(i[t]):k+=a();t<i.length&&(k+=a()),e.push(g("ATTRIBUTE_SELECTOR",k,u));continue}}if(m==="["){a(),e.push(g("LBRACKET","[",u));continue}if(m==="]"){a(),e.push(g("RBRACKET","]",u));continue}if(/\d/.test(m)){let h=l(be=>/[\d.]/.test(be)),k=t,ce=l(be=>/[a-zA-Z]/.test(be));nn.has(ce)?e.push(g("TIME_EXPRESSION",h+ce,u)):(t=k,e.push(g("NUMBER",h,u)));continue}if(m==="("){a(),e.push(g("LPAREN","(",u));continue}if(m===")"){a(),e.push(g("RPAREN",")",u));continue}if(m==="{"){a(),e.push(g("LBRACE","{",u));continue}if(m==="}"){a(),e.push(g("RBRACE","}",u));continue}if(m===","){a(),e.push(g("COMMA",",",u));continue}if(m===":"){a(),e.push(g("COLON",":",u));continue}if(m==="."){a(),e.push(g("DOT",".",u));continue}if(m==="+"||m==="-"||m==="*"||m==="/"||m==="%"){a(),e.push(g("OPERATOR",m,u));continue}if(m==="="||m==="!"||m==="<"||m===">"){let h=a();s()==="="&&(h+=a()),e.push(g("COMPARISON",h,u));continue}if(/[a-zA-Z_$]/.test(m)){let h=l(ce=>/[\w$]/.test(ce)),k=h.toLowerCase();Yt.has(k)?e.push(g("CONTEXT_VAR",h,u)):en.has(k)?e.push(g("LOGICAL",h,u)):tn.has(k)?e.push(g("BOOLEAN",h,u)):e.push(g("IDENTIFIER",h,u));continue}a()}return e.push(g("EOF","",t)),e}var Te=class{constructor(){this.tokens=[];this.current=0}parse(e){try{return this.tokens=dt(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{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"}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(),!0;return!1}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,n=this.parseAnd();e=this.createBinaryExpression(t,e,n)}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,n=this.parseEquality();e=this.createBinaryExpression(t,e,n)}return e}parseEquality(){let e=this.parseComparison();for(;this.match("COMPARISON")||this.checkValue("is")||this.checkValue("matches")||this.checkValue("contains")||this.checkValue("in");){let t=this.previous().value,n=this.parseComparison();e=this.createBinaryExpression(t,e,n)}return e}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,n=this.parseAddition();e=this.createBinaryExpression(t,e,n)}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,n=this.parseMultiplication();e=this.createBinaryExpression(t,e,n)}return e}parseMultiplication(){let e=this.parseUnary();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%";){let t=this.advance().value,n=this.parseUnary();e=this.createBinaryExpression(t,e,n)}return e}parseUnary(){if(this.checkValue("not")||this.checkValue("no")||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().value;e=this.createPropertyAccess(e,t)}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance().value;e=this.createPossessiveExpression(e,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.createPropertyAccess(e,t)}else break;return e}parsePrimary(){let e=this.peek();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"?!0:e.value==="false"?!1:e.value==="null"?null:void 0;return this.createLiteral(t,e.value,e)}if(this.match("TEMPLATE_LITERAL"))return{type:"templateLiteral",value:e.value,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("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createContextReference(e.value,e);if(this.match("IDENTIFIER"))return 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}`)}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 n;if(this.check("STRING"))n=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER"))n=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let r=this.parseExpression();e.push({key:n,value:r})}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return{type:"objectLiteral",properties:e.map(n=>({type:"objectProperty",key:n.key,value:n.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 n=parseFloat(t[1]),r=t[2].toLowerCase();return{type:"timeExpression",value:n,unit:r,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,n){return{type:"literal",value:e,dataType:t,raw:n.value,start:n.start,end:n.end,line:n.line,column:n.column}}createSelector(e,t,n){return{type:"selector",value:e,selector:e,selectorType:t,start:n.start,end:n.end,line:n.line,column:n.column}}createContextReference(e,t){return{type:"contextReference",contextType:e,name:t.value,start:t.start,end:t.end,line:t.line,column:t.column}}createIdentifier(e,t){return{type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createPropertyAccess(e,t){return{type:"propertyAccess",object:e,property:typeof t=="string"?t:t.name??"",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,n){return{type:"binaryExpression",operator:e,left:t,right:n,start:t.start,end:n.end}}createUnaryExpression(e,t){return{type:"unaryExpression",operator:e,operand:t,prefix:!0,start:this.previous().start,end:t.end}}createCallExpression(e,t){return{type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function Ke(i){return new Te().parse(i)}function w(i,e){switch(i.type){case"literal":return rn(i);case"selector":return on(i,e);case"reference":return an(i);case"property-path":return sn(i,e);case"expression":return cn(i);default:let t=i;throw new Error(`Unknown semantic value type: ${t.type}`)}}function rn(i){let e={type:"literal",value:i.value};return i.dataType?{...e,dataType:i.dataType}:e}function on(i,e){return e&&i.value.startsWith("*")&&/^[a-zA-Z-]/.test(i.value.slice(1))&&e.push(`Converted '${i.value}' to a CSS selector, but it looks like a CSS property name. CSS properties in commands like 'transition' should be literal strings, not selectors. Consider using expectedTypes: ['literal'] instead of ['literal', 'selector'] in the command schema.`),{type:"selector",value:i.value,selector:i.value,selectorType:i.selectorKind}}function an(i){return{type:"contextReference",contextType:i.value,name:i.value}}function sn(i,e){return{type:"propertyAccess",object:w(i.object,e),property:i.property}}function cn(i){let e=Ke(i.raw);return!e.success||!e.node?{type:"identifier",name:i.raw}:e.node}function pt(i,e){return i.roles.get(e)}function d(i,e,t){let n=pt(i,e);return n?w(n,t):void 0}function f(i,e=[],t,n={}){let r={type:"command",name:i,args:e};return t&&Object.keys(t).length>0&&(r.modifiers=t),n.isBlocking&&(r.isBlocking=n.isBlocking),n.implicitTarget&&(r.implicitTarget=n.implicitTarget),r}var ln={action:"toggle",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=d(i,"duration"),o=t?[t]:[],s={};return n&&(s.on=n),r&&(s.for=r),f("toggle",o,s)}},dn={action:"add",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.to=n),f("add",r,o)}},pn={action:"remove",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.from=n),f("remove",r,o)}},un={action:"set",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o={};return t&&r.push(t),n&&(o.to=n),f("set",r,o)}},mn={action:"show",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"duration"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.with=r),f("show",o,s)}},fn={action:"hide",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"duration"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.with=r),f("hide",o,s)}},gn={action:"increment",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"quantity"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.by=r),f("increment",o,s)}},hn={action:"decrement",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=d(i,"quantity"),o=[],s={},a=t??n;return a&&o.push(a),r&&(s.by=r),f("decrement",o,s)}},yn={action:"wait",toAST(i,e){let t=d(i,"duration");return f("wait",t?[t]:[],void 0,{isBlocking:!0})}},vn={action:"log",toAST(i,e){let t=d(i,"patient"),n=[];return t&&n.push(t),f("log",n)}},Sn={action:"put",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=pt(i,"method"),o=t?[t]:[],s={};if(n){let a=r?.type==="literal"?String(r.value):"into";s[a]=n}return f("put",o,s)}},xn={action:"fetch",toAST(i,e){let t=d(i,"source"),n=d(i,"method"),r=d(i,"responseType"),o=d(i,"patient"),s=t?[t]:[],a={};return n&&(a.with=n),r&&(a.as=r),o&&(a.body=o),f("fetch",s,a,{isBlocking:!0})}},Tn={action:"append",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.to=n),f("append",r,o)}},bn={action:"prepend",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.to=n),f("prepend",r,o)}},kn={action:"trigger",toAST(i,e){let t=d(i,"event"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.on=n),f("trigger",r,o)}},En={action:"send",toAST(i,e){let t=d(i,"event"),n=d(i,"destination"),r=d(i,"patient"),o=t?[t]:[],s={};return n&&(s.to=n),r&&(s.detail=r),f("send",o,s)}},zn={action:"go",toAST(i,e){let t=d(i,"source"),n=d(i,"destination"),r=[],o={};return t&&r.push(t),n&&(o.to=n),f("go",r,o)}},wn={action:"transition",toAST(i,e){let t=d(i,"patient"),n=d(i,"goal"),r=d(i,"duration"),o=d(i,"destination"),s=t?[t]:[],a={};return n&&(a.to=n),r&&(a.over=r),o&&(a.on=o),f("transition",s,a)}},Nn={action:"focus",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o={},s=t??n;return s&&r.push(s),f("focus",r,o)}},Ln={action:"blur",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),f("blur",r)}},Cn={action:"get",toAST(i,e){let t=d(i,"source"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),f("get",r)}},Rn={action:"take",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.from=n),f("take",r,o)}},Mn={action:"call",toAST(i,e){let t=d(i,"patient");return f("call",t?[t]:[])}},Pn={action:"return",toAST(i,e){let t=d(i,"patient");return f("return",t?[t]:[])}},An={action:"halt",toAST(i,e){return f("halt",[])}},jn={action:"throw",toAST(i,e){let t=d(i,"patient");return f("throw",t?[t]:[])}},Vn={action:"settle",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),f("settle",r,void 0,{isBlocking:!0})}},On={action:"swap",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=d(i,"destination"),o=d(i,"style"),s=[],a={};return t&&s.push(t),n&&s.push(n),r&&(a.on=r),o&&(a.with=o),f("swap",s,a)}},In={action:"morph",toAST(i,e){let t=d(i,"source"),n=d(i,"destination"),r=d(i,"patient"),o=[],s={},a=t??r;return a&&o.push(a),n&&(s.on=n),f("morph",o,s)}},_n={action:"clone",toAST(i,e){let t=d(i,"source"),n=d(i,"destination"),r=d(i,"patient"),o=[],s={},a=t??r;return a&&o.push(a),n&&(s.into=n),f("clone",o,s)}},Kn={action:"make",toAST(i,e){let t=d(i,"patient");return f("make",t?[t]:[])}},Bn={action:"measure",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=d(i,"source"),o=[],s={};t&&o.push(t);let a=n??r;return a&&(s.of=a),f("measure",o,s)}},Wn={action:"tell",toAST(i,e){let t=d(i,"destination"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),f("tell",r)}},Un={action:"js",toAST(i,e){let t=d(i,"patient");return f("js",t?[t]:[])}},$n={action:"async",toAST(i,e){return f("async",[])}},qn={action:"if",toAST(i,e){let t=d(i,"condition");return f("if",t?[t]:[])}},Fn={action:"unless",toAST(i,e){let t=d(i,"condition");return f("unless",t?[t]:[])}},Dn={action:"repeat",toAST(i,e){let t=d(i,"quantity"),n=d(i,"patient"),r=[],o=t??n;return o&&r.push(o),f("repeat",r)}},Hn={action:"for",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.in=n),f("for",r,o)}},Gn={action:"while",toAST(i,e){let t=d(i,"condition");return f("while",t?[t]:[])}},Xn={action:"continue",toAST(i,e){return f("continue",[])}},Qn={action:"default",toAST(i,e){let t=d(i,"patient"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.to=n),f("default",r,o)}},Zn={action:"init",toAST(i,e){return f("init",[])}},Jn={action:"behavior",toAST(i,e){let t=d(i,"patient");return f("behavior",t?[t]:[])}},Yn={action:"install",toAST(i,e){let t=d(i,"patient"),n=d(i,"destination"),r=t?[t]:[],o={};return n&&(o.on=n),f("install",r,o)}},er={action:"on",toAST(i,e){let t=d(i,"event"),n=d(i,"source"),r=t?[t]:[],o={};return n&&(o.from=n),f("on",r,o)}},ut=new Map([["toggle",ln],["add",dn],["remove",pn],["set",un],["show",mn],["hide",fn],["increment",gn],["decrement",hn],["wait",yn],["log",vn],["put",Sn],["fetch",xn],["append",Tn],["prepend",bn],["get",Cn],["take",Rn],["trigger",kn],["send",En],["on",er],["go",zn],["transition",wn],["focus",Nn],["blur",Ln],["call",Mn],["return",Pn],["halt",An],["throw",jn],["settle",Vn],["swap",On],["morph",In],["clone",_n],["measure",Bn],["make",Kn],["tell",Wn],["default",Qn],["js",Un],["async",$n],["if",qn],["unless",Fn],["repeat",Dn],["for",Hn],["while",Gn],["continue",Xn],["init",Zn],["behavior",Jn],["install",Yn]]);function oe(i){return ut.get(i)}function Be(i){ut.set(i.action,i)}var ae=class{constructor(e={}){this.warnings=[]}build(e){switch(e.kind){case"command":return this.buildCommand(e);case"event-handler":return this.buildEventHandler(e);case"conditional":return this.buildConditional(e);case"compound":return this.buildCompound(e);case"loop":return this.buildLoop(e);default:throw new Error(`Unknown semantic node kind: ${e.kind}`)}}buildCommand(e){let t=oe(e.action);if(t){let n=t.toAST(e,this);if("ast"in n&&"warnings"in n){let r=n;return this.warnings.push(...r.warnings),r.ast}else return n}return this.buildGenericCommand(e)}buildGenericCommand(e){let t=[],n={},r=["patient","source","quantity"],o=["destination","duration","method","style"];for(let a of r){let c=e.roles.get(a);c&&t.push(w(c))}for(let a of o){let c=e.roles.get(a);if(c){let l=this.roleToModifierKey(a);n[l]=w(c)}}let s={type:"command",name:e.action,args:t};return Object.keys(n).length>0?{...s,modifiers:n}:s}roleToModifierKey(e){return{destination:"on",duration:"for",source:"from",condition:"if",method:"via",style:"with"}[e]??e}buildEventHandler(e){let t=e.roles.get("event"),n,r;if(t?.type==="literal"){let h=String(t.value);h.includes("|")||h.includes(" or ")?(r=h.split(/\s+or\s+|\|/).map(k=>k.trim()),n=r[0]):n=h}else t?.type==="reference"?n=t.value:n="click";let o=e.body.map(h=>this.build(h)),s=e.roles.get("source"),a,c;s?.type==="selector"?(a=s.value,c=s.value):s?.type==="reference"?c=s.value:s?.type==="literal"&&(c=String(s.value));let l=e.roles.get("condition"),p=l?w(l):void 0,x=e.roles.get("destination"),y=x?w(x):void 0,g=e.eventModifiers,u=a;if(g?.from){let h=g.from;h.type==="selector"&&!a&&(u=h.value)}let m=e.parameterNames?[...e.parameterNames]:void 0;return{type:"eventHandler",event:n,commands:o,...r&&r.length>1?{events:r}:{},...u?{selector:u}:{},...c?{target:c}:{},...p?{condition:p}:{},...y?{watchTarget:y}:{},...m&&m.length>0?{args:m,params:m}:{}}}buildConditional(e){let t=e.roles.get("condition");if(!t)throw new Error("Conditional node missing condition");let n=w(t),r=e.thenBranch.map(a=>this.build(a)),o=e.elseBranch?.map(a=>this.build(a)),s=[n,{type:"block",commands:r}];return o&&o.length>0&&s.push({type:"block",commands:o}),{type:"command",name:"if",args:s}}buildCompound(e){let t=e.statements.map(r=>this.build(r));return t.length===1?t[0]:t.length===0?{type:"block",commands:[]}:{type:"CommandSequence",commands:t}}buildLoop(e){let t=e.body.map(r=>this.build(r)),n=[{type:"identifier",name:e.loopVariant}];switch(e.loopVariant){case"times":{let r=e.roles.get("quantity");r&&n.push(w(r));break}case"for":{e.loopVariable&&n.push({type:"string",value:e.loopVariable});let r=e.roles.get("source");r&&n.push(w(r));break}case"while":case"until":{let r=e.roles.get("condition");r&&n.push(w(r));break}case"forever":break}return n.push({type:"block",commands:t}),{type:"command",name:"repeat",args:n}}buildBlock(e){return{type:"block",commands:e.map(n=>this.build(n))}}};function mt(i){let e=new ae;return{ast:e.build(i),warnings:e.warnings}}var U=class{constructor(e={}){this.cache=new Map,this.config={maxSize:e.maxSize??1e3,ttlMs:e.ttlMs??0,enabled:e.enabled??!0},this.stats={hits:0,misses:0,evictions:0,expirations:0}}makeKey(e,t){return`${t}:${e}`}isExpired(e){return this.config.ttlMs===0?!1: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 n=this.makeKey(e,t),r=this.cache.get(n);if(!r){this.stats.misses++;return}if(this.isExpired(r)){this.cache.delete(n),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(n),r.lastAccessed=Date.now(),this.cache.set(n,r),this.stats.hits++,r.result}set(e,t,n){if(!this.config.enabled||n.confidence===0)return;let r=this.makeKey(e,t),o=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(r,{result:n,createdAt:o,lastAccessed:o})}has(e,t){if(!this.config.enabled)return!1;let n=this.makeKey(e,t),r=this.cache.get(n);return r?this.isExpired(r)?(this.cache.delete(n),this.stats.expirations++,!1):!0:!1}delete(e,t){let n=this.makeKey(e,t);return this.cache.delete(n)}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=!0}disable(){this.config.enabled=!1}getConfig(){return{...this.config}}},We=new U;var se=class{constructor(e={}){this.patternMatcher=new ne,this.languages=new Set(pe()),e.cache===!1?this.cache=new U({enabled:!1}):this.cache=e.cache?new U(e.cache):We}analyze(e,t){if(!this.supportsLanguage(t))return{confidence:0,errors:[`Language '${t}' is not supported for semantic parsing`]};let n=this.cache.get(e,t);if(n)return n;let r=this.analyzeUncached(e,t);return this.cache.set(e,t,r),r}analyzeUncached(e,t){try{let n=st(t);if(!n)return{confidence:0,errors:[`No tokenizer available for language '${t}'`]};let r=n.tokenize(e),o=L(t);if(o.length===0)return{confidence:0,errors:[`No patterns available for language '${t}'`]};let s=this.patternMatcher.matchBest(r,o);if(!s)return{confidence:0,errors:["No pattern matched the input"]};let a=this.buildSemanticNode(s);return{confidence:s.confidence,command:{name:s.pattern.command,roles:s.captured},node:a,tokensConsumed:s.consumedTokens}}catch(n){return{confidence:0,errors:[n instanceof Error?n.message:String(n)]}}}supportsLanguage(e){return this.languages.has(e)}supportedLanguages(){return Array.from(this.languages)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}configureCache(e){this.cache.configure(e)}buildSemanticNode(e){return{kind:"command",action:e.pattern.command,roles:e.captured,metadata:{patternId:e.pattern.id}}}};function ft(i){return new se(i)}var Ue=.5,gt=.8;function ht(i,e=Ue){return i.confidence>=e&&i.command!==void 0}var tr="1.0.0-east-asian",$e=["ja","zh","ko"];function nr(){return[...$e]}function yt(i){if(!$e.includes(i))throw new Error(`Language not supported in this bundle: ${i}. Supported: ${$e.join(", ")}`)}function rr(i,e){return yt(e),[...ye(i,e).tokens]}function vt(i){return yt(i),L(i)}function ir(i,e){return vt(i).filter(t=>t.command===e).sort((t,n)=>n.priority-t.priority)}return Et(or);})();
|