@ycookiey/yfuzzy 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +191 -176
  2. package/THIRD_PARTY_NOTICES.md +49 -3
  3. package/dist/entry.d.ts +10 -1
  4. package/dist/entry.d.ts.map +1 -1
  5. package/dist/entry.js +39 -1
  6. package/dist/entry.js.map +1 -1
  7. package/dist/expand.d.ts +1 -1
  8. package/dist/expand.js +3 -3
  9. package/dist/expand.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/keystroke.d.ts +5 -0
  15. package/dist/keystroke.d.ts.map +1 -0
  16. package/dist/keystroke.js +79 -0
  17. package/dist/keystroke.js.map +1 -0
  18. package/dist/lattice.d.ts +63 -0
  19. package/dist/lattice.d.ts.map +1 -0
  20. package/dist/lattice.js +277 -0
  21. package/dist/lattice.js.map +1 -0
  22. package/dist/pipeline.d.ts +2 -0
  23. package/dist/pipeline.d.ts.map +1 -1
  24. package/dist/pipeline.js +26 -2
  25. package/dist/pipeline.js.map +1 -1
  26. package/dist/query.d.ts +13 -9
  27. package/dist/query.d.ts.map +1 -1
  28. package/dist/query.js +11 -7
  29. package/dist/query.js.map +1 -1
  30. package/dist/tiers/tier1-exact.d.ts.map +1 -1
  31. package/dist/tiers/tier1-exact.js +332 -50
  32. package/dist/tiers/tier1-exact.js.map +1 -1
  33. package/dist/tiers/tier2-flexible.d.ts.map +1 -1
  34. package/dist/tiers/tier2-flexible.js +45 -1
  35. package/dist/tiers/tier2-flexible.js.map +1 -1
  36. package/dist/tiers/tier3-typo.d.ts.map +1 -1
  37. package/dist/tiers/tier3-typo.js +128 -12
  38. package/dist/tiers/tier3-typo.js.map +1 -1
  39. package/dist/tiers/tier4-structural.d.ts.map +1 -1
  40. package/dist/tiers/tier4-structural.js +2 -0
  41. package/dist/tiers/tier4-structural.js.map +1 -1
  42. package/dist/types.d.ts +7 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/vendor/wanakana/romaji-to-kana.d.ts +5 -0
  45. package/dist/vendor/wanakana/romaji-to-kana.d.ts.map +1 -1
  46. package/dist/vendor/wanakana/romaji-to-kana.js +21 -0
  47. package/dist/vendor/wanakana/romaji-to-kana.js.map +1 -1
  48. package/dist/yfuzzy.min.js +2 -2
  49. package/package.json +61 -61
  50. package/dist/ablate.d.ts +0 -8
  51. package/dist/ablate.d.ts.map +0 -1
  52. package/dist/ablate.js +0 -11
  53. package/dist/ablate.js.map +0 -1
@@ -3,6 +3,7 @@
3
3
  // 空間ごとに maxDist を計測。romaji 空間は有効方式から1つ(訓令優先)。
4
4
  // positions は返さない(tier 3 は matches 非対象、spec 6章)。
5
5
  import { popcount } from '../charmask.js';
6
+ import { expandByDepth } from '../lattice.js';
6
7
  const MIN_LEN = 2;
7
8
  function maxDistFor(len) {
8
9
  return Math.max(1, Math.ceil(len / 3));
@@ -17,8 +18,9 @@ function osaScratch(size) {
17
18
  }
18
19
  /**
19
20
  * OSA prefix 距離。q を t の任意の prefix に合わせる最小編集距離(末尾余り無料)。
20
- * 行最小 > maxDist で早期打ち切り。最終 j 走査は [m-maxDist, m+maxDist] の窓のみ
21
- * (窓外は |i-j| 由来で必ず maxDist 超過)。dp はフラット Int32 スクラッチを再利用。
21
+ * dp[i][j] ≥ |i − j| なので、|i − j| ≤ maxDist の帯の外は必ず maxDist を超える。帯の中だけを解き
22
+ * (帯の外は超過扱い)、maxDist 以内の値は帯の中の経路だけで決まるため結果は全面を解くのと同じ。
23
+ * 行最小 > maxDist で早期打ち切り。dp はフラット Int32 スクラッチを再利用。
22
24
  */
23
25
  function osaPrefixDistance(q, t, maxDist) {
24
26
  const m = q.length;
@@ -27,23 +29,27 @@ function osaPrefixDistance(q, t, maxDist) {
27
29
  return 0;
28
30
  if (n + maxDist < m)
29
31
  return maxDist + 1; // 長さ差だけで超過
32
+ const OVER = maxDist + 1;
30
33
  const cols = n + 1;
31
34
  const dp = osaScratch((m + 1) * cols);
32
- for (let j = 0; j <= n; j++)
33
- dp[j] = j; // 行0
35
+ for (let j = 0; j <= Math.min(n, maxDist); j++)
36
+ dp[j] = j; // 行0(帯の中)
34
37
  for (let i = 1; i <= m; i++) {
35
38
  const row = i * cols;
36
39
  const prow = (i - 1) * cols;
37
40
  const pprow = (i - 2) * cols;
38
- dp[row] = i; // 列0
41
+ const lo = Math.max(1, i - maxDist);
42
+ const hi = Math.min(n, i + maxDist);
39
43
  const qi = q[i - 1];
40
44
  const qim1 = i > 1 ? q[i - 2] : '';
41
- let rowMin = Infinity;
42
- for (let j = 1; j <= n; j++) {
45
+ let rowMin = i <= maxDist ? i : OVER;
46
+ if (i <= maxDist)
47
+ dp[row] = i; // 列0
48
+ for (let j = lo; j <= hi; j++) {
43
49
  const cost = qi === t[j - 1] ? 0 : 1;
44
- let v = Math.min(dp[prow + j] + 1, // 削除
45
- dp[row + j - 1] + 1, // 挿入
46
- dp[prow + j - 1] + cost);
50
+ const del = j <= i - 1 + maxDist ? dp[prow + j] + 1 : OVER; // 前の行の帯の外は超過
51
+ const ins = j - 1 >= i - maxDist ? dp[row + j - 1] + 1 : OVER;
52
+ let v = Math.min(del, ins, dp[prow + j - 1] + cost); // 削除・挿入・置換/一致
47
53
  if (i > 1 && j > 1 && qi === t[j - 2] && qim1 === t[j - 1]) {
48
54
  v = Math.min(v, dp[pprow + j - 2] + 1); // 転置
49
55
  }
@@ -52,7 +58,7 @@ function osaPrefixDistance(q, t, maxDist) {
52
58
  rowMin = v;
53
59
  }
54
60
  if (rowMin > maxDist)
55
- return maxDist + 1; // 早期打ち切り
61
+ return OVER; // 早期打ち切り
56
62
  }
57
63
  // prefix 距離 = q を t の任意 prefix に合わせた最小。窓外は maxDist 超過のため走査不要
58
64
  const mrow = m * cols;
@@ -64,6 +70,109 @@ function osaPrefixDistance(q, t, maxDist) {
64
70
  best = dp[mrow + j];
65
71
  return best;
66
72
  }
73
+ let latOsaBuf = new Int32Array(0);
74
+ let absentBuf = new Int32Array(0);
75
+ /**
76
+ * OSA prefix 距離のラティス版。経路長 m ごとに距離を求め、maxDist(m) 以内で
77
+ * intraScore 最大のものを返す。非マッチは null。
78
+ * 前置フィルタ: データに無い文字の出現数は編集数の下限(経路長ごとの最小値で判定)。
79
+ */
80
+ function latticeOsaScore(lat, t, dMask) {
81
+ const n = t.length;
82
+ if (n === 0)
83
+ return null;
84
+ const ex = expandByDepth(lat);
85
+ const { X, inStart, inFrom, inCh, inBit } = ex;
86
+ if (absentBuf.length < X)
87
+ absentBuf = new Int32Array(X);
88
+ const absent = absentBuf;
89
+ absent[0] = 0;
90
+ for (let x = 1; x < X; x++) {
91
+ let a = 1 << 30;
92
+ for (let k = inStart[x]; k < inStart[x + 1]; k++) {
93
+ const v = absent[inFrom[k]] + ((inBit[k] & dMask) === 0 ? 1 : 0);
94
+ if (v < a)
95
+ a = v;
96
+ }
97
+ absent[x] = a;
98
+ }
99
+ // 判定対象の経路長の maxDist 最大値。dp[x][j] ≥ |j − 経路長(x)| のため帯の外は必ずこれを超える
100
+ let band = -1;
101
+ for (const [x, m] of ex.finals) {
102
+ if (m >= MIN_LEN && n + maxDistFor(m) >= m && absent[x] <= maxDistFor(m))
103
+ band = Math.max(band, maxDistFor(m));
104
+ }
105
+ if (band < 0)
106
+ return null;
107
+ // 状態順 × 帯内の列で解く(依存は前状態か同状態の左列のみ)。帯の外は INF 扱い
108
+ const INF = 1 << 29;
109
+ const cols = n + 1;
110
+ if (latOsaBuf.length < X * cols)
111
+ latOsaBuf = new Int32Array(X * cols);
112
+ const dp = latOsaBuf;
113
+ const depth = ex.depth;
114
+ const at = (x, j) => {
115
+ const dx = j - depth[x];
116
+ return j < 0 || dx > band || dx < -band ? INF : dp[x * cols + j];
117
+ };
118
+ for (let j = 0; j <= Math.min(n, band); j++)
119
+ dp[j] = j;
120
+ for (let x = 1; x < X; x++) {
121
+ const dx = depth[x];
122
+ const lo = Math.max(0, dx - band);
123
+ const hi = Math.min(n, dx + band);
124
+ const row = x * cols;
125
+ for (let j = lo; j <= hi; j++) {
126
+ if (j === 0) {
127
+ dp[row] = dx; // クエリ側を全削除
128
+ continue;
129
+ }
130
+ const tj = t.charCodeAt(j - 1);
131
+ const tj2 = j > 1 ? t.charCodeAt(j - 2) : -1;
132
+ let v = (j - 1 >= lo ? dp[row + j - 1] : INF) + 1; // 挿入
133
+ for (let k = inStart[x]; k < inStart[x + 1]; k++) {
134
+ const y = inFrom[k];
135
+ const c = inCh[k];
136
+ const del = at(y, j) + 1;
137
+ const sub = at(y, j - 1) + (c === tj ? 0 : 1);
138
+ if (del < v)
139
+ v = del;
140
+ if (sub < v)
141
+ v = sub;
142
+ if (c === tj2) {
143
+ for (let k2 = inStart[y]; k2 < inStart[y + 1]; k2++) {
144
+ if (inCh[k2] === tj) {
145
+ const tr = at(inFrom[k2], j - 2) + 1; // 転置
146
+ if (tr < v)
147
+ v = tr;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ dp[row + j] = v;
153
+ }
154
+ }
155
+ let best = null;
156
+ for (const [x, m] of ex.finals) {
157
+ if (m < MIN_LEN)
158
+ continue;
159
+ const maxDist = maxDistFor(m);
160
+ if (n + maxDist < m || absent[x] > maxDist)
161
+ continue;
162
+ let d = INF;
163
+ for (let j = Math.max(0, m - band); j <= Math.min(n, m + band); j++) {
164
+ const v = dp[x * cols + j];
165
+ if (v < d)
166
+ d = v;
167
+ }
168
+ if (d > maxDist)
169
+ continue;
170
+ const s = 1 - d / (maxDist + 1);
171
+ if (best === null || s > best)
172
+ best = s;
173
+ }
174
+ return best;
175
+ }
67
176
  export const tier3Typo = (q, e) => {
68
177
  let best = null;
69
178
  const consider = (query, qMask, data, dMask, space) => {
@@ -81,7 +190,14 @@ export const tier3Typo = (q, e) => {
81
190
  best = { intraScore, space };
82
191
  };
83
192
  // かな空間
84
- consider(q.kana, q.kanaMask, e.kana.text, e.kanaMask, 'kana');
193
+ if (q.lattice !== null && e.hasKeystrokeChar) {
194
+ const s = latticeOsaScore(q.lattice, e.kana.text, e.kanaMask);
195
+ if (s !== null)
196
+ best = { intraScore: s, space: 'kana' };
197
+ }
198
+ else if (!q.shadowed) {
199
+ consider(q.kana, q.kanaMask, e.kana.text, e.kanaMask, 'kana');
200
+ }
85
201
  // romaji 空間は有効方式から1つ(訓令優先、訓令無効なら ヘボン)
86
202
  if (e.kunrei && q.kunrei !== null)
87
203
  consider(q.kunrei, q.kunreiMask, e.kunrei.text, e.kunreiMask, 'kunrei');
@@ -1 +1 @@
1
- {"version":3,"file":"tier3-typo.js","sourceRoot":"","sources":["../../src/tiers/tier3-typo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier3-typo.js","sourceRoot":"","sources":["../../src/tiers/tier3-typo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tier4-structural.d.ts","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAU1C,eAAO,MAAM,eAAe,EAAE,OAgB7B,CAAC"}
1
+ {"version":3,"file":"tier4-structural.d.ts","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAU1C,eAAO,MAAM,eAAe,EAAE,OAiB7B,CAAC"}
@@ -8,6 +8,8 @@ const ALPHA = 0.8; // クエリ側にしかない bigram の罰則(重い)
8
8
  const BETA = 0.2; // データ側にしかない bigram の罰則(軽い)
9
9
  const THRESHOLD = 0.3;
10
10
  export const tier4Structural = (q, e) => {
11
+ if (q.shadowed)
12
+ return null; // 同一 kana の phonetic 経路が同じ結果を出す
11
13
  const qb = ensureQueryBigrams(q);
12
14
  const db = ensureBigrams(e);
13
15
  if (qb.size === 0 || db.size === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"tier4-structural.js","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,2CAA2C;AAC3C,sDAAsD;AACtD,iDAAiD;AAKjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC7C,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAY,CAAC,CAAkB,EAAE,CAAa,EAAE,EAAE;IAC5E,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAE9B,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACnD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,IAAI,OAAO,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC,CAAC"}
1
+ {"version":3,"file":"tier4-structural.js","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,2CAA2C;AAC3C,sDAAsD;AACtD,iDAAiD;AAKjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC7C,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAY,CAAC,CAAkB,EAAE,CAAa,EAAE,EAAE;IAC5E,IAAI,CAAC,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,gCAAgC;IAC7D,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAE9B,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACnD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,IAAI,OAAO,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -2,6 +2,11 @@ import type { RomajiOption } from './romaji/convert.js';
2
2
  import type { SeparatorConfig } from './expand.js';
3
3
  export type { RomajiOption } from './romaji/convert.js';
4
4
  export type { SeparatorConfig } from './expand.js';
5
+ /**
6
+ * クエリの照合経路(spec 2.2)。'phonetic' はローマ字をかなに変換して照合、
7
+ * 'literal' は変換せず入力文字のまま照合(かなはそれを打った打鍵とも照合)、'both' は両経路の最良を採る
8
+ */
9
+ export type MatchingOption = 'literal' | 'phonetic' | 'both';
5
10
  /** Index 構築時オプション(構築後は変更不可) */
6
11
  export interface IndexOptions<T> {
7
12
  /** item から検索対象文字列を取り出す。T[] のとき必須(オーバーロードで強制) */
@@ -10,6 +15,8 @@ export interface IndexOptions<T> {
10
15
  romaji?: RomajiOption;
11
16
  /** 区切り文字展開。default false */
12
17
  separatorExpansion?: SeparatorConfig;
18
+ /** クエリの照合経路。default 'both' */
19
+ matching?: MatchingOption;
13
20
  }
14
21
  /** 検索時オプション(per-call 上書き可) */
15
22
  export interface SearchOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,+BAA+B;AAC/B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,eAAe,CAAC;CACtC;AAED,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,aAAa;AACb,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC;IACR,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CACvC;AAED,iBAAiB;AACjB,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D,+BAA+B;AAC/B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,aAAa;AACb,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC;IACR,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CACvC;AAED,iBAAiB;AACjB,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
@@ -3,4 +3,9 @@
3
3
  * 変換できない文字(子音のみ等)はそのまま残す。出力はひらがな。
4
4
  */
5
5
  export declare function romajiToKana(input: string): string;
6
+ /**
7
+ * 変換木の全エントリ(打鍵列, かな)を列挙する。出力がかなのみのエントリに限る。
8
+ * 打鍵の逆引き(keystroke.ts)用(改変点5)。
9
+ */
10
+ export declare function romajiKanaPairs(): [keys: string, kana: string][];
6
11
  //# sourceMappingURL=romaji-to-kana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"romaji-to-kana.d.ts","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"AAqNA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD"}
1
+ {"version":3,"file":"romaji-to-kana.d.ts","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"AAsNA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAahE"}
@@ -11,6 +11,7 @@
11
11
  // 3. 出力は常にひらがな。大文字→カタカナ変換は移植せず、カタカナ化は
12
12
  // 呼び出し側(normalize step5)に委ねる。
13
13
  // 4. memoize-one / dequal / customMapping / useObsoleteKana は不要のため除外。
14
+ // 5. 変換木の全エントリを列挙する romajiKanaPairs を追加(打鍵の逆引き用、spec 2.2)。
14
15
  //
15
16
  // 元実装: src/toKana.js, src/utils/kanaMapping.js, src/utils/romajiToKanaMap.js
16
17
  // =============================================================================
@@ -179,4 +180,24 @@ export function romajiToKana(input) {
179
180
  .map((token) => token[2] ?? '')
180
181
  .join('');
181
182
  }
183
+ /**
184
+ * 変換木の全エントリ(打鍵列, かな)を列挙する。出力がかなのみのエントリに限る。
185
+ * 打鍵の逆引き(keystroke.ts)用(改変点5)。
186
+ */
187
+ export function romajiKanaPairs() {
188
+ const out = [];
189
+ const walk = (node, path) => {
190
+ for (const [key, value] of Object.entries(node)) {
191
+ if (key === '') {
192
+ if (path !== '' && /^[ぁ-ゖヵヶ]+$/.test(value))
193
+ out.push([path, value]);
194
+ }
195
+ else {
196
+ walk(value, path + key);
197
+ }
198
+ }
199
+ };
200
+ walk(getTree(), '');
201
+ return out;
202
+ }
182
203
  //# sourceMappingURL=romaji-to-kana.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"romaji-to-kana.js","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"romaji-to-kana.js","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- /*! @ycookiey/yfuzzy v0.3.0 | MIT | includes wanakana (MIT) | https://github.com/ycookiey/yfuzzy */
2
- "use strict";var yfuzzy=(()=>{var L=Object.defineProperty;var dt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var Nt=Object.prototype.hasOwnProperty;var kt=(t,n)=>{for(var e in n)L(t,e,{get:n[e],enumerable:!0})},Tt=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Et(n))!Nt.call(t,r)&&r!==e&&L(t,r,{get:()=>n[r],enumerable:!(o=dt(n,r))||o.enumerable});return t};var gt=t=>Tt(L({},"__esModule",{value:!0}),t);var mn={};kt(mn,{createIndex:()=>St,search:()=>An});var yt="\u3002\u300C\u300D\u3001\u30FB\u30F2\u30A1\u30A3\u30A5\u30A7\u30A9\u30E3\u30E5\u30E7\u30C3\u30FC\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F3";function bt(t){let n=[],e=0;for(let o of t)n.push({cp:o,start:e,end:e+o.length}),e+=o.length;return n}function B(t,n,e){let o=n==="all"||n==="preKana",r=n==="all"||n==="postKana",i=bt(t),a="",s=[];for(let l=0;l<i.length;l++){let f=i[l],u=f.cp.codePointAt(0),c,p=f.end;if(o&&u===12288)c=" ";else if(o&&u>=65281&&u<=65374){let h=String.fromCharCode(u-65248);c=h>="A"&&h<="Z"?h.toLowerCase():h}else if(o&&u>=65&&u<=90)c=f.cp.toLowerCase();else if(r&&u>=65377&&u<=65437){let h=yt[u-65377],A=l+1<i.length?i[l+1]:null,S=A?A.cp.codePointAt(0):-1;if(S===65438||S===65439){let E=(h+(S===65438?"\u3099":"\u309A")).normalize("NFC");[...E].length===1?(c=E,p=A.end,l++):c=h}else c=h}else r&&u===65438?c="\u309B":r&&u===65439?c="\u309C":r&&u>=12353&&u<=12438?c=String.fromCodePoint(u+96):c=f.cp;if(e){let h=[f.start,p];for(let A=0;A<c.length;A++)s.push(h)}a+=c}return{text:a,map:s}}function G(t){let{text:n,map:e}=B(t,"all",!0);return{text:n,map:e}}function M(t,n){return B(t,n,!1).text}var F={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"si",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"zi",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"ti",\u30C4:"tu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"hu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},W={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sya",\u30B7\u30E5:"syu",\u30B7\u30E7:"syo",\u30B7\u30A7:"sye",\u30B8\u30E3:"zya",\u30B8\u30E5:"zyu",\u30B8\u30E7:"zyo",\u30B8\u30A7:"zye",\u30C1\u30E3:"tya",\u30C1\u30E5:"tyu",\u30C1\u30E7:"tyo",\u30C1\u30A7:"tye",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tua",\u30C4\u30A3:"tui",\u30C4\u30A7:"tue",\u30C4\u30A9:"tuo",\u30A4\u30A7:"ye"};var z={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"shi",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"ji",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"chi",\u30C4:"tsu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"fu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},v={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sha",\u30B7\u30E5:"shu",\u30B7\u30E7:"sho",\u30B7\u30A7:"she",\u30B8\u30E3:"ja",\u30B8\u30E5:"ju",\u30B8\u30E7:"jo",\u30B8\u30A7:"je",\u30C1\u30E3:"cha",\u30C1\u30E5:"chu",\u30C1\u30E7:"cho",\u30C1\u30A7:"che",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tsa",\u30C4\u30A3:"tsi",\u30C4\u30A7:"tse",\u30C4\u30A9:"tso",\u30A4\u30A7:"ye"};var y={single:F,digraphs:W},b={single:z,digraphs:v};function _(t){return t==="both"||t==="kunrei"}function I(t){return t==="both"||t==="hepburn"}function J(t,n){if(t.length===2){let o=n.digraphs[t];if(o!==void 0)return o}let e=n.single[t];return e!==void 0?e:t.toLowerCase()}function Y(t){return/^[bcdfghjklmnpqrstvwxyz]/.test(t)}var _t="\u30C3",It="\u30FC",xt=new Set(["\u30A1","\u30A3","\u30A5","\u30A7","\u30A9","\u30E3","\u30E5","\u30E7","\u30EE"]),Rt=/[ァ-ヺー]/,Ot=/[ァ-ヺ]/,Ut=/[0-9a-z]/;function Lt(t){return Rt.test(t)||Ut.test(t)}function Mt(t){let n=[],e=0,o=!1,r=-1;for(;e<t.length;){let i=t[e];if(i===_t){o||(o=!0,r=e),e+=1;continue}if(i===It){let u=n[n.length-1];u&&(u.kanaLen+=1),e+=1;continue}let a=o?r:e,s=e+1<t.length?t[e+1]:"",l=s!==""&&xt.has(s)&&Ot.test(i)?2:1,f=t.slice(e,e+l);n.push({core:f,sokuon:o,kanaStart:a,kanaLen:e+l-a}),o=!1,r=-1,e+=l}return n}function Ht(t,n){let e=[],o=new Set,r=0,i="";for(let a of t){let s=J(a.core,n);a.sokuon&&s.length>0&&Y(s)&&(s=s[0]+s),o.add(r),e.push({kanaStart:a.kanaStart,kanaLen:a.kanaLen,romajiStart:r,romajiLen:s.length}),r+=s.length,i+=s}return{text:i,syllables:e,boundaries:o}}function x(t,n){return Ht(Mt(t),n)}function H(t,n){return x(t,n).text}function X(t){let n=new Set([0]);for(let e=0;e<t.length;e++)if(!Lt(t[e])){let o=e+1;o<t.length&&n.add(o)}return n}function R(t){let n="^"+t+"$",e=new Set;for(let o=0;o+1<n.length;o++)e.add(n.slice(o,o+2));return e}function N(t){let n=0;for(let e=0;e<t.length;e++)n|=1<<t.charCodeAt(e)%31;return n}function $(t){let n=0,e=t;for(;e!==0;)e&=e-1,n++;return n}function Q(t,n,e){let o=G(t),r=_(e)?x(o.text,y):null,i=I(e)?x(o.text,b):null;return{refIndex:n,raw:t,kana:o,kanaBoundaries:X(o.text),kanaMask:N(o.text),kunreiMask:r?N(r.text):0,hepburnMask:i?N(i.text):0,kunrei:r,hepburn:i,bigrams:null}}function V(t){return t.bigrams===null&&(t.bigrams=R(t.kana.text)),t.bigrams}var Pt={a:"\u3042",i:"\u3044",u:"\u3046",e:"\u3048",o:"\u304A",k:{a:"\u304B",i:"\u304D",u:"\u304F",e:"\u3051",o:"\u3053"},s:{a:"\u3055",i:"\u3057",u:"\u3059",e:"\u305B",o:"\u305D"},t:{a:"\u305F",i:"\u3061",u:"\u3064",e:"\u3066",o:"\u3068"},n:{a:"\u306A",i:"\u306B",u:"\u306C",e:"\u306D",o:"\u306E"},h:{a:"\u306F",i:"\u3072",u:"\u3075",e:"\u3078",o:"\u307B"},m:{a:"\u307E",i:"\u307F",u:"\u3080",e:"\u3081",o:"\u3082"},y:{a:"\u3084",u:"\u3086",o:"\u3088"},r:{a:"\u3089",i:"\u308A",u:"\u308B",e:"\u308C",o:"\u308D"},w:{a:"\u308F",i:"\u3090",e:"\u3091",o:"\u3092"},g:{a:"\u304C",i:"\u304E",u:"\u3050",e:"\u3052",o:"\u3054"},z:{a:"\u3056",i:"\u3058",u:"\u305A",e:"\u305C",o:"\u305E"},d:{a:"\u3060",i:"\u3062",u:"\u3065",e:"\u3067",o:"\u3069"},b:{a:"\u3070",i:"\u3073",u:"\u3076",e:"\u3079",o:"\u307C"},p:{a:"\u3071",i:"\u3074",u:"\u3077",e:"\u307A",o:"\u307D"},v:{a:"\u3094\u3041",i:"\u3094\u3043",u:"\u3094",e:"\u3094\u3047",o:"\u3094\u3049"}},Z={k:"\u304D",s:"\u3057",t:"\u3061",n:"\u306B",h:"\u3072",m:"\u307F",r:"\u308A",g:"\u304E",z:"\u3058",d:"\u3062",b:"\u3073",p:"\u3074",v:"\u3094",q:"\u304F",f:"\u3075"},tt={ya:"\u3083",yi:"\u3043",yu:"\u3085",ye:"\u3047",yo:"\u3087"},nt={a:"\u3041",i:"\u3043",u:"\u3045",e:"\u3047",o:"\u3049"},q={sh:"sy",ch:"ty",cy:"ty",chy:"ty",shy:"sy",j:"zy",jy:"zy",shi:"si",chi:"ti",tsu:"tu",ji:"zi",fu:"hu"},Kt={tu:"\u3063",wa:"\u308E",ka:"\u30F5",ke:"\u30F6",...nt,...tt},Dt={yi:"\u3044",wu:"\u3046",ye:"\u3044\u3047",wi:"\u3046\u3043",we:"\u3046\u3047",kwa:"\u304F\u3041",whu:"\u3046",tha:"\u3066\u3083",thu:"\u3066\u3085",tho:"\u3066\u3087",dha:"\u3067\u3083",dhu:"\u3067\u3085",dho:"\u3067\u3087"},jt={wh:"\u3046",kw:"\u304F",qw:"\u304F",q:"\u304F",gw:"\u3050",sw:"\u3059",ts:"\u3064",th:"\u3066",tw:"\u3068",dh:"\u3067",dw:"\u3069",fw:"\u3075",f:"\u3075"};function et(t){return Object.entries(t).reduce((n,[e,o])=>(n[e]=typeof o=="string"?{"":o}:et(o),n),{})}function wt(t,n){return n.split("").reduce((e,o)=>(e[o]===void 0&&(e[o]={}),e[o]),t)}function Ct(){let t=et(Pt),n=r=>wt(t,r);Object.entries(Z).forEach(([r,i])=>{Object.entries(tt).forEach(([a,s])=>{n(r+a)[""]=i+s})}),Object.entries(jt).forEach(([r,i])=>{Object.entries(nt).forEach(([a,s])=>{n(r+a)[""]=i+s})}),["n","n'","xn"].forEach(r=>{n(r)[""]="\u3093"}),t.c=JSON.parse(JSON.stringify(t.k)),Object.entries(q).forEach(([r,i])=>{let a=r.slice(0,r.length-1),s=r.charAt(r.length-1),l=n(a);l[s]=JSON.parse(JSON.stringify(n(i)))});function e(r){return[...Object.entries(q),["c","k"]].reduce((i,[a,s])=>r.startsWith(s)?i.concat(r.replace(s,a)):i,[])}Object.entries(Kt).forEach(([r,i])=>{let a=c=>c.charAt(c.length-1),s=c=>c.slice(0,c.length-1),l=`x${r}`,f=n(l);f[""]=i;let u=n(`l${s(r)}`);u[a(r)]=f,e(r).forEach(c=>{["l","x"].forEach(p=>{let h=n(p+s(c));h[a(c)]=n(p+r)})})}),Object.entries(Dt).forEach(([r,i])=>{n(r)[""]=i});function o(r){return Object.entries(r).reduce((i,[a,s])=>(i[a]=a?o(s):`\u3063${s}`,i),{})}return[...Object.keys(Z),"c","y","w","j"].forEach(r=>{let i=t[r];i[r]=o(i)}),delete t.n.n,Object.freeze(JSON.parse(JSON.stringify(t)))}var P=null;function Bt(){return P==null&&(P=Ct()),P}function Gt(t,n){let e=n;function o(a,s){if(a[s]!==void 0)return Object.assign({"":a[""]+s},a[s])}function r(a,s){let l=a.charAt(0);return i(Object.assign({"":l},e[l]),a.slice(1),s,s+1)}function i(a,s,l,f){if(!s)return a[""]?[[l,f,a[""]]]:[];if(Object.keys(a).length===1)return[[l,f,a[""]],...r(s,f)];let u=o(a,s.charAt(0));return u===void 0?[[l,f,a[""]],...r(s,f)]:i(u,s.slice(1),l,f+1)}return r(t,0)}function ot(t){return Gt(t.toLowerCase(),Bt()).map(n=>n[2]??"").join("")}function rt(t){return ot(t)}function st(t,n){let e=M(t,"preKana"),o=M(rt(e),"postKana"),r=_(n)?H(o,y):null,i=I(n)?H(o,b):null;return{kana:o,singleChar:Ft(o),literal:/^[a-z0-9]$/.test(e)&&e!==o?e:null,kunrei:r,hepburn:i,kanaMask:N(o),kunreiMask:r!==null?N(r):0,hepburnMask:i!==null?N(i):0,bigrams:null}}function Ft(t){return t.length===0?!1:t.length===String.fromCodePoint(t.codePointAt(0)).length}function it(t){return t.bigrams===null&&(t.bigrams=R(t.kana)),t.bigrams}var Wt=["-"," ","\u30FB","_"];function zt(t){return t===!1||t===void 0?[]:t===!0?Wt:t}function vt(t){return t.replace(/[\\\]^-]/g,"\\$&")}function at(t,n){let e=zt(n);if(e.length===0)return t===""?[]:[t];let o=e.map(vt).join(""),r=new RegExp(`[${o}]`,"g");if(!r.test(t))return t===""?[]:[t];let i=[],a=new Set,s=u=>{u!==""&&!a.has(u)&&(a.add(u),i.push(u))};s(t);let l=[...t].at(-1);return e.includes(l)||s(t.replace(r,"")),s(t.replace(r," ")),i}function Jt(t,n){let e=[];for(let o=0;o<t;o++)e.push(n+o);return e}function ct(t,n,e){return e?n?.5+t/2:t/2:t}function O(t,n,e,o,r){if(t.length===0||n.length===0||!n.startsWith(t))return null;let i=t.length/n.length*o;return{intraScore:ct(i,!0,r),space:e,offset:0,len:t.length}}function U(t,n,e,o,r,i){if(t.length<r||n.length===0)return null;let a=n.indexOf(t);if(a<=0)return null;let s=t.length/n.length*o;return{intraScore:ct(s,!1,i),space:e,offset:a,len:t.length}}var ut=(t,n)=>{let e=null,o=f=>{f!==null&&(e===null||f.intraScore>e.intraScore)&&(e=f)},r=n.kana.text,i=n.kunrei?.text??"",a=n.hepburn?.text??"",s=t.singleChar;if(o(O(t.kana,r,"kana",1,s)),o(U(t.kana,r,"kana",.9,1,s)),t.literal!==null&&(o(O(t.literal,r,"kana",1,s)),o(U(t.literal,r,"kana",.9,1,s))),t.kunrei!==null&&o(O(t.kunrei,i,"kunrei",.97,s)),t.hepburn!==null&&o(O(t.hepburn,a,"hepburn",.97*.99,s)),t.kunrei!==null&&o(U(t.kunrei,i,"kunrei",.87,2,s)),t.hepburn!==null&&o(U(t.hepburn,a,"hepburn",.87*.99,2,s)),e===null)return null;let l=e;return{tier:1,intraScore:l.intraScore,space:l.space,positions:Jt(l.len,l.offset)}};var K=new Int32Array(0),lt=new Uint8Array(0);function Yt(t){K.length<t&&(K=new Int32Array(t),lt=new Uint8Array(t))}function Xt(t,n){let e=0;for(let o=0;o<n.length&&e<t.length;o++)t[e]===n[o]&&e++;return e===t.length}function $t(t,n,e){let o=t.length,r=n.length;if(o===0||r===0||!Xt(t,n))return null;let i=r+1;Yt((o+1)*i);let a=K,s=lt;for(let A=0;A<=r;A++)a[A]=0,s[A]=0;for(let A=1;A<=o;A++){let S=A*i,T=(A-1)*i,E=t[A-1];a[S]=-1e9,s[S]=0;for(let m=1;m<=r;m++){let k=-1e9,d=0,j=a[S+m-1];j>-1e9&&(k=j+(s[S+m-1]?-3:-1),d=0);let w=a[T+m-1];if(E===n[m-1]&&w>-1e9){let g=0;e.has(m-1)&&(g+=8),s[T+m-1]&&(g+=4),A===1&&(g+=2);let C=w+16+g;C>=k&&(k=C,d=1)}a[S+m]=k,s[S+m]=d}}let l=o*i,f=-1,u=-1e9;for(let A=o;A<=r;A++)a[l+A]>u&&(u=a[l+A],f=A);if(f<0||u===-1e9)return null;let c=[],p=o,h=f;for(;p>0&&h>0;)s[p*i+h]&&(c.push(h-1),p--),h--;return c.reverse(),c}function Qt(t,n,e,o){let r=0;for(let u of t)o.has(u)&&r++;let i=r/n,a=1,s=1;for(let u=1;u<t.length;u++)t[u]===t[u-1]+1?(s++,s>a&&(a=s)):s=1;let l=a/n,f=1-t[0]/e;return .55*i+.3*l+.15*f}var ft=(t,n)=>{let e=null,o=(i,a,s,l,f,u)=>{if(i===null||i.length<2||s.length===0||(a&~l)!==0)return;let c=$t(i,s,f);if(c===null)return;let p=Qt(c,i.length,s.length,f);(e===null||p>e.intraScore)&&(e={intraScore:p,space:u,positions:c})};if(o(t.kana,t.kanaMask,n.kana.text,n.kanaMask,n.kanaBoundaries,"kana"),n.kunrei&&o(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,n.kunrei.boundaries,"kunrei"),n.hepburn&&o(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,n.hepburn.boundaries,"hepburn"),e===null)return null;let r=e;return{tier:2,intraScore:r.intraScore,space:r.space,positions:r.positions}};var Vt=2;function Zt(t){return Math.max(1,Math.ceil(t/3))}var D=new Int32Array(0);function qt(t){return D.length<t&&(D=new Int32Array(t)),D}function tn(t,n,e){let o=t.length,r=n.length;if(o===0)return 0;if(r+e<o)return e+1;let i=r+1,a=qt((o+1)*i);for(let c=0;c<=r;c++)a[c]=c;for(let c=1;c<=o;c++){let p=c*i,h=(c-1)*i,A=(c-2)*i;a[p]=c;let S=t[c-1],T=c>1?t[c-2]:"",E=1/0;for(let m=1;m<=r;m++){let k=S===n[m-1]?0:1,d=Math.min(a[h+m]+1,a[p+m-1]+1,a[h+m-1]+k);c>1&&m>1&&S===n[m-2]&&T===n[m-1]&&(d=Math.min(d,a[A+m-2]+1)),a[p+m]=d,d<E&&(E=d)}if(E>e)return e+1}let s=o*i,l=Math.max(0,o-e),f=Math.min(r,o+e),u=a[s+l];for(let c=l+1;c<=f;c++)a[s+c]<u&&(u=a[s+c]);return u}var pt=(t,n)=>{let e=null,o=(i,a,s,l,f)=>{if(i===null||i.length<Vt||s.length===0)return;let u=Zt(i.length);if($(a&~l)>u)return;let c=tn(i,s,u);if(c>u)return;let p=1-c/(u+1);(e===null||p>e.intraScore)&&(e={intraScore:p,space:f})};if(o(t.kana,t.kanaMask,n.kana.text,n.kanaMask,"kana"),n.kunrei&&t.kunrei!==null?o(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,"kunrei"):n.hepburn&&t.hepburn!==null&&o(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,"hepburn"),e===null)return null;let r=e;return{tier:3,intraScore:r.intraScore,space:r.space,positions:null}};var nn=.8,en=.2,on=.3,ht=(t,n)=>{let e=it(t),o=V(n);if(e.size===0||o.size===0)return null;let r=0;for(let f of e)o.has(f)&&r++;let i=e.size-r,a=o.size-r,s=r+nn*i+en*a;if(s===0)return null;let l=r/s;return l<on?null:{tier:4,intraScore:l,space:"kana",positions:null}};var rn=[ut,ft,pt,ht];function sn(t){return t<0?0:t>1?1:t}function an(t){return(4-t.tier+sn(t.intraScore))/4}function cn(t,n,e){let o=null;for(let r of e){let i=t(r,n);if(i===null)continue;let a=an(i);(o===null||a>o.score)&&(o={refIndex:n.refIndex,score:a,tier:i.tier,match:i})}return o}function At(t,n,e){let o=t.trim();if(o==="")return[];let r=at(o,e.separatorExpansion);if(r.length===0)return[];let i=r.map(c=>st(c,e.romaji)),a=rn.slice(0,e.maxTier),{limit:s,minScore:l}=e,f=[],u=new Uint8Array(n.length);for(let c of a){for(let p=0;p<n.length;p++){if(u[p])continue;let h=cn(c,n[p],i);h!==null&&(u[p]=1,h.score>=l&&f.push(h))}if(s!==void 0&&f.length>=s)break}return f.sort((c,p)=>p.score-c.score||c.refIndex-p.refIndex),s!==void 0?f.slice(0,s):f}function un(t,n){for(let e of n)if(t>=e.romajiStart&&t<e.romajiStart+e.romajiLen){let o=[];for(let r=0;r<e.kanaLen;r++)o.push(e.kanaStart+r);return o}return[]}function ln(t){if(t.length===0)return[];t.sort((e,o)=>e[0]-o[0]||e[1]-o[1]);let n=[];for(let[e,o]of t){let r=n[n.length-1];r&&e<=r[1]?o>r[1]&&(r[1]=o):n.push([e,o])}return n}function mt(t,n){if(n.positions===null)return[];let e=new Set;if(n.space==="kana")for(let i of n.positions)e.add(i);else{let i=n.space==="kunrei"?t.kunrei:t.hepburn;if(i)for(let a of n.positions)for(let s of un(a,i.syllables))e.add(s)}let o=t.kana.map,r=[];for(let i of e){let a=o[i];a&&r.push([a[0],a[1]])}return ln(r)}var fn=3,pn=0;function hn(t,n,e){return{romaji:t,separatorExpansion:n,maxTier:e.maxTier??fn,minScore:e.minScore??pn,limit:e.limit,includeMatches:e.includeMatches??!1}}function St(t,n={}){let e=n.getText??(s=>s),o=n.romaji??"both",r=n.separatorExpansion??!1,i={limit:n.limit,maxTier:n.maxTier,minScore:n.minScore,includeMatches:n.includeMatches},a=t.map((s,l)=>Q(e(s),l,o));return{size:t.length,search(s,l={}){let f={...i,...l},u=hn(o,r,f);return At(s,a,u).map(p=>{let h={item:t[p.refIndex],refIndex:p.refIndex,score:p.score,tier:p.tier};return u.includeMatches&&p.match.positions!==null&&(h.matches=mt(a[p.refIndex],p.match)),h})}}}function An(t,n,e={}){return St(n,e).search(t)}return gt(mn);})();
1
+ /*! @ycookiey/yfuzzy v0.4.1 | MIT | includes wanakana (MIT), Mozc romaji table (BSD-3-Clause) | https://github.com/ycookiey/yfuzzy */
2
+ "use strict";var yfuzzy=(()=>{var At=Object.defineProperty;var _n=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var Mn=Object.prototype.hasOwnProperty;var Cn=(t,n)=>{for(var o in n)At(t,o,{get:n[o],enumerable:!0})},On=(t,n,o,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of Ln(n))!Mn.call(t,s)&&s!==o&&At(t,s,{get:()=>n[s],enumerable:!(e=_n(n,s))||e.enumerable});return t};var Rn=t=>On(At({},"__esModule",{value:!0}),t);var ve={};Cn(ve,{createIndex:()=>Nn,search:()=>We});var Hn="\u3002\u300C\u300D\u3001\u30FB\u30F2\u30A1\u30A3\u30A5\u30A7\u30A9\u30E3\u30E5\u30E7\u30C3\u30FC\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F3";function Kn(t){let n=[],o=0;for(let e of t)n.push({cp:e,start:o,end:o+e.length}),o+=e.length;return n}function Ht(t,n,o){let e=n==="all"||n==="preKana",s=n==="all"||n==="postKana",i=Kn(t),c="",r=[];for(let a=0;a<i.length;a++){let p=i[a],u=p.cp.codePointAt(0),l,h=p.end;if(e&&u===12288)l=" ";else if(e&&u>=65281&&u<=65374){let d=String.fromCharCode(u-65248);l=d>="A"&&d<="Z"?d.toLowerCase():d}else if(e&&u>=65&&u<=90)l=p.cp.toLowerCase();else if(s&&u>=65377&&u<=65437){let d=Hn[u-65377],k=a+1<i.length?i[a+1]:null,x=k?k.cp.codePointAt(0):-1;if(x===65438||x===65439){let I=(d+(x===65438?"\u3099":"\u309A")).normalize("NFC");[...I].length===1?(l=I,h=k.end,a++):l=d}else l=d}else s&&u===65438?l="\u309B":s&&u===65439?l="\u309C":s&&u>=12353&&u<=12438?l=String.fromCodePoint(u+96):l=p.cp;if(o){let d=[p.start,h];for(let k=0;k<l.length;k++)r.push(d)}c+=l}return{text:c,map:r}}function Kt(t){let{text:n,map:o}=Ht(t,"all",!0);return{text:n,map:o}}function V(t,n){return Ht(t,n,!1).text}var Ut={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"si",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"zi",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"ti",\u30C4:"tu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"hu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},jt={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sya",\u30B7\u30E5:"syu",\u30B7\u30E7:"syo",\u30B7\u30A7:"sye",\u30B8\u30E3:"zya",\u30B8\u30E5:"zyu",\u30B8\u30E7:"zyo",\u30B8\u30A7:"zye",\u30C1\u30E3:"tya",\u30C1\u30E5:"tyu",\u30C1\u30E7:"tyo",\u30C1\u30A7:"tye",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tua",\u30C4\u30A3:"tui",\u30C4\u30A7:"tue",\u30C4\u30A9:"tuo",\u30A4\u30A7:"ye"};var Pt={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"shi",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"ji",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"chi",\u30C4:"tsu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"fu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},Dt={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sha",\u30B7\u30E5:"shu",\u30B7\u30E7:"sho",\u30B7\u30A7:"she",\u30B8\u30E3:"ja",\u30B8\u30E5:"ju",\u30B8\u30E7:"jo",\u30B8\u30A7:"je",\u30C1\u30E3:"cha",\u30C1\u30E5:"chu",\u30C1\u30E7:"cho",\u30C1\u30A7:"che",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tsa",\u30C4\u30A3:"tsi",\u30C4\u30A7:"tse",\u30C4\u30A9:"tso",\u30A4\u30A7:"ye"};var nt={single:Ut,digraphs:jt},et={single:Pt,digraphs:Dt};function ot(t){return t==="both"||t==="kunrei"}function rt(t){return t==="both"||t==="hepburn"}function Bt(t,n){if(t.length===2){let e=n.digraphs[t];if(e!==void 0)return e}let o=n.single[t];return o!==void 0?o:t.toLowerCase()}function Ft(t){return/^[bcdfghjklmnpqrstvwxyz]/.test(t)}var Un="\u30C3",jn="\u30FC",Pn=new Set(["\u30A1","\u30A3","\u30A5","\u30A7","\u30A9","\u30E3","\u30E5","\u30E7","\u30EE"]),Dn=/[ァ-ヺー]/,Bn=/[ァ-ヺ]/,Fn=/[0-9a-z]/;function zn(t){return Dn.test(t)||Fn.test(t)}function Wn(t){let n=[],o=0,e=!1,s=-1;for(;o<t.length;){let i=t[o];if(i===Un){e||(e=!0,s=o),o+=1;continue}if(i===jn){let u=n[n.length-1];u&&(u.kanaLen+=1),o+=1;continue}let c=e?s:o,r=o+1<t.length?t[o+1]:"",a=r!==""&&Pn.has(r)&&Bn.test(i)?2:1,p=t.slice(o,o+a);n.push({core:p,sokuon:e,kanaStart:c,kanaLen:o+a-c}),e=!1,s=-1,o+=a}return n}function vn(t,n){let o=[],e=new Set,s=0,i="";for(let c of t){let r=Bt(c.core,n);c.sokuon&&r.length>0&&Ft(r)&&(r=r[0]+r),e.add(s),o.push({kanaStart:c.kanaStart,kanaLen:c.kanaLen,romajiStart:s,romajiLen:r.length}),s+=r.length,i+=r}return{text:i,syllables:o,boundaries:e}}function st(t,n){return vn(Wn(t),n)}function kt(t,n){return st(t,n).text}function zt(t){let n=new Set([0]);for(let o=0;o<t.length;o++)if(!zn(t[o])){let e=o+1;e<t.length&&n.add(e)}return n}function it(t){let n="^"+t+"$",o=new Set;for(let e=0;e+1<n.length;e++)o.add(n.slice(e,e+2));return o}function O(t){let n=0;for(let o=0;o<t.length;o++)n|=1<<t.charCodeAt(o)%31;return n}function Wt(t){let n=0,o=t;for(;o!==0;)o&=o-1,n++;return n}var vt=/[a-z]/;function Gn(t,n){let o=zt(t.text),e=t.text,s=i=>n.slice(t.map[i][0],t.map[i][1]);for(let i=1;i<e.length;i++){if(!vt.test(e[i])||!vt.test(e[i-1]))continue;let c=s(i),r=s(i-1);c!==c.toLowerCase()&&r===r.toLowerCase()&&o.add(i)}return o}function Gt(t,n){let o=new Set;if(t===null)return o;for(let e of t.syllables)n.has(e.kanaStart)&&o.add(e.romajiStart);return o}function mt(t){return[...t].sort((n,o)=>n-o)}function $t(t,n,o){let e=Kt(t),s=ot(o)?st(e.text,nt):null,i=rt(o)?st(e.text,et):null,c=Gn(e,t),r=Gt(s,c),a=Gt(i,c);return{refIndex:n,raw:t,kana:e,kanaBoundaries:c,kunreiHeads:r,hepburnHeads:a,kanaHeadList:mt(c),kunreiHeadList:mt(r),hepburnHeadList:mt(a),kanaMask:O(e.text),kunreiMask:s?O(s.text):0,hepburnMask:i?O(i.text):0,kunrei:s,hepburn:i,hasKeystrokeChar:/[a-z'-]/.test(e.text),bigrams:null}}function Jt(t){return t.bigrams===null&&(t.bigrams=it(t.kana.text)),t.bigrams}var $n={a:"\u3042",i:"\u3044",u:"\u3046",e:"\u3048",o:"\u304A",k:{a:"\u304B",i:"\u304D",u:"\u304F",e:"\u3051",o:"\u3053"},s:{a:"\u3055",i:"\u3057",u:"\u3059",e:"\u305B",o:"\u305D"},t:{a:"\u305F",i:"\u3061",u:"\u3064",e:"\u3066",o:"\u3068"},n:{a:"\u306A",i:"\u306B",u:"\u306C",e:"\u306D",o:"\u306E"},h:{a:"\u306F",i:"\u3072",u:"\u3075",e:"\u3078",o:"\u307B"},m:{a:"\u307E",i:"\u307F",u:"\u3080",e:"\u3081",o:"\u3082"},y:{a:"\u3084",u:"\u3086",o:"\u3088"},r:{a:"\u3089",i:"\u308A",u:"\u308B",e:"\u308C",o:"\u308D"},w:{a:"\u308F",i:"\u3090",e:"\u3091",o:"\u3092"},g:{a:"\u304C",i:"\u304E",u:"\u3050",e:"\u3052",o:"\u3054"},z:{a:"\u3056",i:"\u3058",u:"\u305A",e:"\u305C",o:"\u305E"},d:{a:"\u3060",i:"\u3062",u:"\u3065",e:"\u3067",o:"\u3069"},b:{a:"\u3070",i:"\u3073",u:"\u3076",e:"\u3079",o:"\u307C"},p:{a:"\u3071",i:"\u3074",u:"\u3077",e:"\u307A",o:"\u307D"},v:{a:"\u3094\u3041",i:"\u3094\u3043",u:"\u3094",e:"\u3094\u3047",o:"\u3094\u3049"}},Xt={k:"\u304D",s:"\u3057",t:"\u3061",n:"\u306B",h:"\u3072",m:"\u307F",r:"\u308A",g:"\u304E",z:"\u3058",d:"\u3062",b:"\u3073",p:"\u3074",v:"\u3094",q:"\u304F",f:"\u3075"},Vt={ya:"\u3083",yi:"\u3043",yu:"\u3085",ye:"\u3047",yo:"\u3087"},Yt={a:"\u3041",i:"\u3043",u:"\u3045",e:"\u3047",o:"\u3049"},Qt={sh:"sy",ch:"ty",cy:"ty",chy:"ty",shy:"sy",j:"zy",jy:"zy",shi:"si",chi:"ti",tsu:"tu",ji:"zi",fu:"hu"},Jn={tu:"\u3063",wa:"\u308E",ka:"\u30F5",ke:"\u30F6",...Yt,...Vt},Xn={yi:"\u3044",wu:"\u3046",ye:"\u3044\u3047",wi:"\u3046\u3043",we:"\u3046\u3047",kwa:"\u304F\u3041",whu:"\u3046",tha:"\u3066\u3083",thu:"\u3066\u3085",tho:"\u3066\u3087",dha:"\u3067\u3083",dhu:"\u3067\u3085",dho:"\u3067\u3087"},Qn={wh:"\u3046",kw:"\u304F",qw:"\u304F",q:"\u304F",gw:"\u3050",sw:"\u3059",ts:"\u3064",th:"\u3066",tw:"\u3068",dh:"\u3067",dw:"\u3069",fw:"\u3075",f:"\u3075"};function Zt(t){return Object.entries(t).reduce((n,[o,e])=>(n[o]=typeof e=="string"?{"":e}:Zt(e),n),{})}function Vn(t,n){return n.split("").reduce((o,e)=>(o[e]===void 0&&(o[e]={}),o[e]),t)}function Yn(){let t=Zt($n),n=s=>Vn(t,s);Object.entries(Xt).forEach(([s,i])=>{Object.entries(Vt).forEach(([c,r])=>{n(s+c)[""]=i+r})}),Object.entries(Qn).forEach(([s,i])=>{Object.entries(Yt).forEach(([c,r])=>{n(s+c)[""]=i+r})}),["n","n'","xn"].forEach(s=>{n(s)[""]="\u3093"}),t.c=JSON.parse(JSON.stringify(t.k)),Object.entries(Qt).forEach(([s,i])=>{let c=s.slice(0,s.length-1),r=s.charAt(s.length-1),a=n(c);a[r]=JSON.parse(JSON.stringify(n(i)))});function o(s){return[...Object.entries(Qt),["c","k"]].reduce((i,[c,r])=>s.startsWith(r)?i.concat(s.replace(r,c)):i,[])}Object.entries(Jn).forEach(([s,i])=>{let c=l=>l.charAt(l.length-1),r=l=>l.slice(0,l.length-1),a=`x${s}`,p=n(a);p[""]=i;let u=n(`l${r(s)}`);u[c(s)]=p,o(s).forEach(l=>{["l","x"].forEach(h=>{let d=n(h+r(l));d[c(l)]=n(h+s)})})}),Object.entries(Xn).forEach(([s,i])=>{n(s)[""]=i});function e(s){return Object.entries(s).reduce((i,[c,r])=>(i[c]=c?e(r):`\u3063${r}`,i),{})}return[...Object.keys(Xt),"c","y","w","j"].forEach(s=>{let i=t[s];i[s]=e(i)}),delete t.n.n,Object.freeze(JSON.parse(JSON.stringify(t)))}var gt=null;function qt(){return gt==null&&(gt=Yn()),gt}function Zn(t,n){let o=n;function e(c,r){if(c[r]!==void 0)return Object.assign({"":c[""]+r},c[r])}function s(c,r){let a=c.charAt(0);return i(Object.assign({"":a},o[a]),c.slice(1),r,r+1)}function i(c,r,a,p){if(!r)return c[""]?[[a,p,c[""]]]:[];if(Object.keys(c).length===1)return[[a,p,c[""]],...s(r,p)];let u=e(c,r.charAt(0));return u===void 0?[[a,p,c[""]],...s(r,p)]:i(u,r.slice(1),a,p+1)}return s(t,0)}function tn(t){return Zn(t.toLowerCase(),qt()).map(n=>n[2]??"").join("")}function nn(){let t=[],n=(o,e)=>{for(let[s,i]of Object.entries(o))s===""?e!==""&&/^[ぁ-ゖヵヶ]+$/.test(i)&&t.push([e,i]):n(i,e+s)};return n(qt(),""),t}function en(t){return tn(t)}var qn=new Set(["ci","ce","qu"]),te=[["ci","\u3057"],["ce","\u305B"],["qu","\u304F"],["nn","\u3093"],["-","\u30FC"],["t'i","\u3066\u3043"],["t'yu","\u3066\u3085"],["d'i","\u3067\u3043"],["d'yu","\u3067\u3085"],["t'u","\u3068\u3045"],["d'u","\u3069\u3045"],["hwa","\u3075\u3041"],["hwi","\u3075\u3043"],["hwe","\u3075\u3047"],["hwo","\u3075\u3049"],["hwyu","\u3075\u3085"],["zwa","\u305A\u3041"],["zwi","\u305A\u3043"],["zwu","\u305A\u3045"],["zwe","\u305A\u3047"],["zwo","\u305A\u3049"],["wyi","\u3090"],["wye","\u3091"]],ne=new Set("qvlxkgszjtdhfbpmyrwc"),ct=null,yt=0;function St(){if(ct!==null)return ct;let t=new Map,n=(e,s)=>{let i=V(s,"postKana"),c=t.get(i);c===void 0&&t.set(i,c=new Set),c.add(e)},o=[];for(let[e,s]of nn())qn.has(e)||s.startsWith("\u3063")&&e.length>1&&e[0]===e[1]||o.push([e,s]);o.push(...te);for(let[e,s]of o)n(e,s),!s.startsWith("\u3063")&&(ne.has(e[0])&&n(e[0]+e,"\u3063"+s),e.startsWith("ch")&&n("t"+e,"\u3063"+s));for(let e of t.keys())e.length>yt&&(yt=e.length);return ct=new Map([...t].map(([e,s])=>[e,[...s]])),ct}function on(){return St(),yt}var ee=32;function an(t){let n=St(),o=on(),e=t.length,s=Array.from({length:e+1},(g,T)=>[T]),i=e+1,c=[],r=new Set,a=(g,T,_,L)=>{let M=`${g},${T},${_},${L}`;r.has(M)||(r.add(M),c.push([g,T,_,L]))},p=!1;for(let g=0;g<e;g++){a(g,g+1,t[g],0);let T=new Map;for(let _=1;_<=o&&g+_<=e;_++){let L=n.get(t.slice(g,g+_));if(L!==void 0)for(let M of L){p=!0;let P=g;for(let R=0;R<M.length-1;R++){let Q=M.slice(0,R+1),D=T.get(Q);D===void 0&&(D=i++,T.set(Q,D),s[g].push(D)),a(P,D,M[R],1),P=D}a(P,g+_,M[M.length-1],1)}}}if(!p)return null;let u=new Int32Array(i),l=0;for(let g of s)for(let T of g)u[T]=l++;let h=c.length,d=c.map(([g,T,_,L])=>[u[g],u[T],_,L]);d.sort((g,T)=>g[0]-T[0]||g[1]-T[1]);let k=new Int32Array(h),x=new Int32Array(h),y=new Array(h),I=new Uint8Array(h),m=new Int32Array(h);d.forEach(([g,T,_,L],M)=>{k[M]=g,x[M]=T,y[M]=_,I[M]=L,m[M]=O(_)});let A=l,S=new Int32Array(A+1);for(let g=0;g<h;g++)S[k[g]+1]++;for(let g=0;g<A;g++)S[g+1]+=S[g];let b=new Int32Array(h);for(let g=0;g<h;g++)b[g]=g;let N=new Set;for(let g=S[0];g<S[1];g++)N.add(y[b[g]]);let f=new Set([...N].map(g=>g.charCodeAt(0))),w=[],E=(g,T,_)=>{if(w!==null){if(g===u[e]){w.length>=ee?w=null:w.push([T,_]);return}for(let L=S[g];L<S[g+1];L++)E(x[L],T+y[L],_||I[L]===1)}};return E(0,"",!1),{nodeCount:A,final:u[e],from:k,to:x,ch:y,ks:I,bit:m,outStart:S,outEdges:b,firstChars:N,firstCodes:f,paths:w}}var at=new Uint8Array(0);function un(t){return at.length<t&&(at=new Uint8Array(t)),at.fill(0,0,t),at}function ut(t,n){let o=un(t.nodeCount);o[0]=1;for(let e=0;e<t.from.length;e++)o[t.from[e]]&&(t.bit[e]&n)!==0&&(o[t.to[e]]=1);return o[t.final]===1}function ln(t,n,o){let e=un(t.nodeCount);e[0]=1;for(let s=0;s<n.length;s++){let i=n[s];for(let c=t.nodeCount-1;c>=0;c--)if(e[c])for(let r=t.outStart[c];r<t.outStart[c+1];r++){let a=t.outEdges[r];t.ch[a]===i&&(o&&c===0&&t.to[a]===t.final||(e[t.to[a]]=1))}if(e[t.final])return!0}return!1}var rn=new Int32Array(0),sn=new Int32Array(0),B=new Int32Array(0),F=0;function fn(t,n,o,e){e.plain=0,e.ks=0;let s=t.nodeCount*2;B.length<s&&(B=new Int32Array(s),rn=new Int32Array(s),sn=new Int32Array(s),F=0);let i=rn,c=sn,r=1;i[0]=0;let a=t.final*2;for(let p=o;p<n.length&&r>0;p++){let u=n[p];F++;let l=0;for(let k=0;k<r;k++){let x=i[k],y=x>>1,I=x&1;for(let m=t.outStart[y];m<t.outStart[y+1];m++){let A=t.outEdges[m];if(t.ch[A]!==u)continue;let S=t.to[A]*2+(I|t.ks[A]);B[S]!==F&&(B[S]=F,c[l++]=S)}}let h=p-o+1;B[a]===F&&(e.plain=h),B[a+1]===F&&(e.ks=h);let d=i;i=c,c=d,r=l}}var cn=new WeakMap;function Y(t){let n=cn.get(t);if(n!==void 0)return n;let o=t.nodeCount,e=Array.from({length:o},()=>[]);e[0].push(0);for(let f=0;f<o;f++)for(let w=t.outStart[f];w<t.outStart[f+1];w++){let E=t.to[t.outEdges[w]];for(let g of e[f])e[E].includes(g+1)||e[E].push(g+1)}for(let f of e)f.sort((w,E)=>w-E);let s=new Int32Array(o+1);for(let f=0;f<o;f++)s[f+1]=s[f]+e[f].length;let i=s[o],c=(f,w)=>s[f]+e[f].indexOf(w),r=new Int32Array(i);for(let f=0;f<o;f++)for(let w of e[f])r[c(f,w)]=w;let a=Array.from({length:i},()=>[]);for(let f=0;f<t.from.length;f++){let w=t.from[f],E=t.to[f];for(let g of e[w])a[c(E,g+1)].push([c(w,g),t.ch[f].charCodeAt(0),t.bit[f],t.ks[f]])}let p=new Int32Array(i+1);for(let f=0;f<i;f++)p[f+1]=p[f]+a[f].length;let u=p[i],l=new Int32Array(u),h=new Int32Array(u),d=new Int32Array(u),k=new Uint8Array(u),x=0;for(let f of a)for(let[w,E,g,T]of f)l[x]=w,h[x]=E,d[x]=g,k[x++]=T;let y=new Int32Array(i+1);for(let f=0;f<u;f++)y[l[f]+1]++;for(let f=0;f<i;f++)y[f+1]+=y[f];let I=y.slice(0,i),m=new Int32Array(u),A=new Int32Array(u),S=new Uint8Array(u);for(let f=0;f<i;f++)for(let w=p[f];w<p[f+1];w++){let E=I[l[w]]++;m[E]=f,A[E]=h[w],S[E]=k[w]}let b=e[t.final].map(f=>[c(t.final,f),f]),N={X:i,depth:r,inStart:p,inFrom:l,inCh:h,inBit:d,inKs:k,outStart:y,outTo:m,outCh:A,outKs:S,finals:b};return cn.set(t,N),N}function hn(t,n,o="phonetic"){let e=V(t,"preKana"),s=V(o==="phonetic"?en(e):e,"postKana"),i=o==="phonetic",c=i&&ot(n)?kt(s,nt):null,r=i&&rt(n)?kt(s,et):null;return{kana:s,singleChar:oe(s),kunrei:c,hepburn:r,kanaMask:O(s),kunreiMask:c!==null?O(c):0,hepburnMask:r!==null?O(r):0,lattice:i?null:an(s),shadowed:!1,bigrams:null}}function oe(t){return t.length===0?!1:t.length===String.fromCodePoint(t.codePointAt(0)).length}function pn(t){return t.bigrams===null&&(t.bigrams=it(t.kana)),t.bigrams}var re=["-"," ","\u30FB","_"];function se(t){return t===!1||t===void 0?[]:t===!0?re:t}function ie(t){return t.replace(/[\\\]^-]/g,"\\$&")}function dn(t,n){let o=se(n);if(o.length===0)return t===""?[]:[t];let e=o.map(ie).join(""),s=new RegExp(`[${e}]`,"g");if(!s.test(t))return t===""?[]:[t];let i=[],c=new Set,r=u=>{u!==""&&!c.has(u)&&(c.add(u),i.push(u))};r(t);let a=[...t].at(-1);return o.includes(a)||r(t.replace(s,"")),r(t.replace(s," ")),i}var kn=1,Tt=.9,Nt=.97,_t=.87,ce=.99,U=3,v=2,dt=1,G=0;function q(t,n){return(t+n)/4}function J(t,n,o,e,s){return{intraScore:q(t,n),space:o,offset:e,len:s,positions:null}}function ae(t,n){let o=[];for(let e=0;e<t;e++)o.push(n+e);return o}function ue(t,n,o,e){return t.length===0||n.length===0||!n.startsWith(t)?null:J(U,t.length/n.length*e,o,0,t.length)}function le(t,n,o,e,s,i){if(t.length<i||n.length===0)return null;let c=n.indexOf(t,1);if(c<0)return null;let r=t.length/n.length*s;for(let a=c;a>=0;a=n.indexOf(t,a+1))if(o.has(a))return J(v,r,e,a,t.length);return J(G,r,e,c,t.length)}var xt=new Uint8Array(0),It=new Uint8Array(0);function fe(t,n,o,e,s){let i=t.length,c=n.length,r=o.length;if(i<2||c===0||r<2)return null;let a=t.charCodeAt(0),p=!1;for(let y=0;y<r&&!p;y++)p=n.charCodeAt(o[y])===a;if(!p)return null;xt.length<i*r&&(xt=new Uint8Array(i*r)),It.length<(i+1)*(r+1)&&(It=new Uint8Array((i+1)*(r+1)));let u=xt,l=It,h=(y,I)=>{let m=o[I],A=0;for(;y+A<i&&m+A<c&&t.charCodeAt(y+A)===n.charCodeAt(m+A);)A++;return A},d=(y,I)=>{let m=o[y]+I,A=y+1;for(;A<r&&o[A]<m;)A++;return A};for(let y=i-1;y>=0;y--){for(let I=0;I<r;I++){let m=h(y,I),A=0;for(let S=1;S<=m&&!A;S++)(y+S===i||l[(y+S)*(r+1)+d(I,S)])&&(A=1);u[y*r+I]=A}l[y*(r+1)+r]=0;for(let I=r-1;I>=0;I--)l[y*(r+1)+I]=u[y*r+I]|l[y*(r+1)+I+1]}if(!l[0])return null;let k=[],x=0;for(;!u[x];)x++;for(let y=0;y<i;){let I=h(y,x);for(;!(y+I===i||l[(y+I)*(r+1)+d(x,I)]);)I--;for(let m=0;m<I;m++)k.push(o[x]+m);if(y+=I,y<i)for(x=d(x,I);!u[y*r+x];)x++}return{intraScore:q(dt,i/c*s),space:e,offset:0,len:0,positions:k}}var lt={plain:0,ks:0},K=[new Int32Array(4),new Int32Array(4)],$=[new Int32Array(4),new Int32Array(4)];function An(t,n,o,e){o>K[t][n]&&(K[t][n]=o,$[t][n]=e)}function he(t,n,o,e){let s=n.length;if(s===0)return;for(let r=0;r<2;r++)K[r].fill(0),$[r].fill(0);if(t.paths!==null)for(let[r,a]of t.paths){let p=a?1:0;for(let u=n.indexOf(r);u>=0;u=n.indexOf(r,u+1)){let l=u===0?U:o.has(u)?v:G;p===1&&l!==U&&r.length<2||(r.length>K[p][l]||r.length===K[p][l]&&u<$[p][l])&&(K[p][l]=r.length,$[p][l]=u)}}else for(let r=0;r<s;r++){if(!t.firstCodes.has(n.charCodeAt(r)))continue;fn(t,n,r,lt);let a=r===0?U:o.has(r)?v:G;An(0,a,lt.plain,r),(a===U||lt.ks>=2)&&An(1,a,lt.ks,r)}let i=[kn,Nt],c=[Tt,_t];for(let r=0;r<2;r++){let a=K[r][U];a>0&&j(J(U,a/s*i[r],"kana",0,a))}for(let r=0;r<2;r++){let a=K[r][v];a>0&&j(J(v,a/s*c[r],"kana",$[r][v],a))}if(e.length>=2){let r=Y(t),a=r.finals[r.finals.length-1][1];if(a>=2&&(C===null||C.intraScore<q(dt,a/s*Tt))){let p=pe(t,n,e);for(let u=0;u<2;u++){let l=p[u];if(l){let h=q(dt,l.length/s*c[u]);j({intraScore:h,space:"kana",offset:0,len:0,positions:l})}}}}for(let r=0;r<2;r++){let a=K[r][G];a>0&&j(J(G,a/s*c[r],"kana",$[r][G],a))}}var H=new Int32Array(0),wt=new Int32Array(0),z=new Int32Array(0),Z=new Int32Array(0),W=new Int32Array(0),ft=new Int32Array(0),ht=new Int32Array(0),bt=new Int32Array(0),pt=0;function pe(t,n,o){let e=[null,null],s=n.length,i=!1;for(let d=0;d<o.length&&!i;d++)i=t.firstCodes.has(n.charCodeAt(o[d]));if(!i)return e;let c=Y(t),{outStart:r,outTo:a,outCh:p,outKs:u}=c,l=c.X*2;H.length<l&&(H=new Int32Array(l),wt=new Int32Array(l),z=new Int32Array(l),Z=new Int32Array(l),W=new Int32Array(l),ft=new Int32Array(l),ht=new Int32Array(l),bt=new Int32Array(l),pt=0);let h=1<<30;H.fill(h,0,l),H[0]=0,z[0]=-1;for(let d of o){let k=0;for(let x=0;x<l;x++)H[x]<=d&&(Z[k]=x,W[k++]=x);for(let x=d;x<s&&k>0;x++){let y=n.charCodeAt(x);pt++;let I=0;for(let S=0;S<k;S++){let b=Z[S],N=b>>1,f=b&1;for(let w=r[N];w<r[N+1];w++){if(p[w]!==y)continue;let E=a[w]*2+(f|u[w]);bt[E]!==pt&&(bt[E]=pt,ft[I]=E,ht[I++]=W[S],x+1<H[E]&&(H[E]=x+1,wt[E]=d,z[E]=W[S]))}}let m=Z;Z=ft,ft=m;let A=W;W=ht,ht=A,k=I}}for(let d=0;d<2;d++)for(let k=c.finals.length-1;k>=0&&e[d]===null;k--){let[x,y]=c.finals[k],I=x*2+d;if(y<2||H[I]>=h)continue;let m=[];for(let A=I;A>0&&z[A]!==-1;A=z[A]){let S=wt[A];for(let b=H[A]-1;b>=S;b--)m.push(b);if(z[A]===0)break}e[d]=m.reverse()}return e}var C=null;function j(t){t!==null&&(C===null||t.intraScore>C.intraScore)&&(C=t)}function Et(t,n,o,e,s,i,c,r,a,p){(a&~p)===0&&(j(ue(t,n,s,i)),j(le(t,n,o,s,c,r)),e.length>=2&&(C===null||C.intraScore<q(dt,t.length/n.length*c))&&j(fe(t,n,e,s,c)))}var mn=(t,n)=>{C=null;let o=n.kana.text;if(t.lattice!==null&&n.hasKeystrokeChar?ut(t.lattice,n.kanaMask)&&he(t.lattice,o,n.kanaBoundaries,n.kanaHeadList):t.shadowed||Et(t.kana,o,n.kanaBoundaries,n.kanaHeadList,"kana",kn,Tt,1,t.kanaMask,n.kanaMask),t.kunrei!==null&&n.kunrei!==null&&Et(t.kunrei,n.kunrei.text,n.kunreiHeads,n.kunreiHeadList,"kunrei",Nt,_t,2,t.kunreiMask,n.kunreiMask),t.hepburn!==null&&n.hepburn!==null){let s=ce;Et(t.hepburn,n.hepburn.text,n.hepburnHeads,n.hepburnHeadList,"hepburn",Nt*s,_t*s,2,t.hepburnMask,n.hepburnMask)}if(C===null)return null;let e=C;return C=null,{tier:1,intraScore:e.intraScore,space:e.space,positions:e.positions??ae(e.len,e.offset)}};var de=16,Ae=-3,ke=-1,me=8,ge=4,ye=2,Se=.55,xe=.3,Ie=.15,gn=2,X=-1e9,Lt=new Int32Array(0),yn=new Uint8Array(0);function we(t){Lt.length<t&&(Lt=new Int32Array(t),yn=new Uint8Array(t))}function be(t,n){let o=0;for(let e=0;e<n.length&&o<t.length;e++)t[o]===n[e]&&o++;return o===t.length}function Sn(t,n,o){let e=t.length,s=n.length;if(e===0||s===0||!be(t,n))return null;let i=s+1;we((e+1)*i);let c=Lt,r=yn;for(let k=0;k<=s;k++)c[k]=0,r[k]=0;for(let k=1;k<=e;k++){let x=k*i,y=(k-1)*i,I=t[k-1];c[x]=X,r[x]=0;for(let m=1;m<=s;m++){let A=X,S=0,b=c[x+m-1];b>X&&(A=b+(r[x+m-1]?Ae:ke),S=0);let N=c[y+m-1];if(I===n[m-1]&&N>X){let f=0;o.has(m-1)&&(f+=me),r[y+m-1]&&(f+=ge),k===1&&(f+=ye);let w=N+de+f;w>=A&&(A=w,S=1)}c[x+m]=A,r[x+m]=S}}let a=e*i,p=-1,u=X;for(let k=e;k<=s;k++)c[a+k]>u&&(u=c[a+k],p=k);if(p<0||u===X)return null;let l=[],h=e,d=p;for(;h>0&&d>0;)r[h*i+d]&&(l.push(d-1),h--),d--;return l.reverse(),l}function xn(t,n,o,e){let s=0;for(let u of t)e.has(u)&&s++;let i=s/n,c=1,r=1;for(let u=1;u<t.length;u++)t[u]===t[u-1]+1?(r++,r>c&&(c=r)):r=1;let a=c/n,p=1-t[0]/o;return Se*i+xe*a+Ie*p}function Ee(t,n,o,e,s){if(n.length===0||!ut(t,o)||!ln(t,n,s))return null;let i=null,c=(r,a,p)=>{if(r===t.final){if(a.length<gn)return;let u=Sn(a,n,e);if(u===null)return;let l=xn(u,a.length,n.length,e);(i===null||l>i.intraScore)&&(i={intraScore:l,positions:u});return}for(let u=t.outStart[r];u<t.outStart[r+1];u++){let l=t.outEdges[u],h=t.ch[l],d=n.indexOf(h,p);d>=0&&c(t.to[l],a+h,d+1)}};return c(0,"",0),i}var In=(t,n)=>{let o=null,e=(i,c,r,a,p,u)=>{if(i===null||i.length<gn||r.length===0||(c&~a)!==0)return;let l=Sn(i,r,p);if(l===null)return;let h=xn(l,i.length,r.length,p);(o===null||h>o.intraScore)&&(o={intraScore:h,space:u,positions:l})};if(t.lattice!==null&&n.hasKeystrokeChar){let i=Ee(t.lattice,n.kana.text,n.kanaMask,n.kanaBoundaries,t.singleChar);i!==null&&(o={intraScore:i.intraScore,space:"kana",positions:i.positions})}else t.shadowed||e(t.kana,t.kanaMask,n.kana.text,n.kanaMask,n.kanaBoundaries,"kana");if(n.kunrei&&e(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,n.kunrei.boundaries,"kunrei"),n.hepburn&&e(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,n.hepburn.boundaries,"hepburn"),o===null)return null;let s=o;return{tier:2,intraScore:s.intraScore,space:s.space,positions:s.positions}};var Rt=2;function tt(t){return Math.max(1,Math.ceil(t/3))}var Mt=new Int32Array(0);function Te(t){return Mt.length<t&&(Mt=new Int32Array(t)),Mt}function Ne(t,n,o){let e=t.length,s=n.length;if(e===0)return 0;if(s+o<e)return o+1;let i=o+1,c=s+1,r=Te((e+1)*c);for(let h=0;h<=Math.min(s,o);h++)r[h]=h;for(let h=1;h<=e;h++){let d=h*c,k=(h-1)*c,x=(h-2)*c,y=Math.max(1,h-o),I=Math.min(s,h+o),m=t[h-1],A=h>1?t[h-2]:"",S=h<=o?h:i;h<=o&&(r[d]=h);for(let b=y;b<=I;b++){let N=m===n[b-1]?0:1,f=b<=h-1+o?r[k+b]+1:i,w=b-1>=h-o?r[d+b-1]+1:i,E=Math.min(f,w,r[k+b-1]+N);h>1&&b>1&&m===n[b-2]&&A===n[b-1]&&(E=Math.min(E,r[x+b-2]+1)),r[d+b]=E,E<S&&(S=E)}if(S>o)return i}let a=e*c,p=Math.max(0,e-o),u=Math.min(s,e+o),l=r[a+p];for(let h=p+1;h<=u;h++)r[a+h]<l&&(l=r[a+h]);return l}var Ct=new Int32Array(0),Ot=new Int32Array(0);function _e(t,n,o){let e=n.length;if(e===0)return null;let s=Y(t),{X:i,inStart:c,inFrom:r,inCh:a,inBit:p}=s;Ot.length<i&&(Ot=new Int32Array(i));let u=Ot;u[0]=0;for(let m=1;m<i;m++){let A=1073741824;for(let S=c[m];S<c[m+1];S++){let b=u[r[S]]+((p[S]&o)===0?1:0);b<A&&(A=b)}u[m]=A}let l=-1;for(let[m,A]of s.finals)A>=Rt&&e+tt(A)>=A&&u[m]<=tt(A)&&(l=Math.max(l,tt(A)));if(l<0)return null;let h=1<<29,d=e+1;Ct.length<i*d&&(Ct=new Int32Array(i*d));let k=Ct,x=s.depth,y=(m,A)=>{let S=A-x[m];return A<0||S>l||S<-l?h:k[m*d+A]};for(let m=0;m<=Math.min(e,l);m++)k[m]=m;for(let m=1;m<i;m++){let A=x[m],S=Math.max(0,A-l),b=Math.min(e,A+l),N=m*d;for(let f=S;f<=b;f++){if(f===0){k[N]=A;continue}let w=n.charCodeAt(f-1),E=f>1?n.charCodeAt(f-2):-1,g=(f-1>=S?k[N+f-1]:h)+1;for(let T=c[m];T<c[m+1];T++){let _=r[T],L=a[T],M=y(_,f)+1,P=y(_,f-1)+(L===w?0:1);if(M<g&&(g=M),P<g&&(g=P),L===E){for(let R=c[_];R<c[_+1];R++)if(a[R]===w){let Q=y(r[R],f-2)+1;Q<g&&(g=Q)}}}k[N+f]=g}}let I=null;for(let[m,A]of s.finals){if(A<Rt)continue;let S=tt(A);if(e+S<A||u[m]>S)continue;let b=h;for(let f=Math.max(0,A-l);f<=Math.min(e,A+l);f++){let w=k[m*d+f];w<b&&(b=w)}if(b>S)continue;let N=1-b/(S+1);(I===null||N>I)&&(I=N)}return I}var wn=(t,n)=>{let o=null,e=(i,c,r,a,p)=>{if(i===null||i.length<Rt||r.length===0)return;let u=tt(i.length);if(Wt(c&~a)>u)return;let l=Ne(i,r,u);if(l>u)return;let h=1-l/(u+1);(o===null||h>o.intraScore)&&(o={intraScore:h,space:p})};if(t.lattice!==null&&n.hasKeystrokeChar){let i=_e(t.lattice,n.kana.text,n.kanaMask);i!==null&&(o={intraScore:i,space:"kana"})}else t.shadowed||e(t.kana,t.kanaMask,n.kana.text,n.kanaMask,"kana");if(n.kunrei&&t.kunrei!==null?e(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,"kunrei"):n.hepburn&&t.hepburn!==null&&e(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,"hepburn"),o===null)return null;let s=o;return{tier:3,intraScore:s.intraScore,space:s.space,positions:null}};var Le=.8,Me=.2,Ce=.3,bn=(t,n)=>{if(t.shadowed)return null;let o=pn(t),e=Jt(n);if(o.size===0||e.size===0)return null;let s=0;for(let p of o)e.has(p)&&s++;let i=o.size-s,c=e.size-s,r=s+Le*i+Me*c;if(r===0)return null;let a=s/r;return a<Ce?null:{tier:4,intraScore:a,space:"kana",positions:null}};var Oe=[mn,In,wn,bn];function Re(t){return t==="literal"?["literal"]:t==="phonetic"?["phonetic"]:["literal","phonetic"]}function He(t,n,o){let e=o.map(s=>hn(t,n,s));if(e.length===2&&e[0].kana===e[1].kana){if(e[0].lattice===null)return[e[1]];e[0].shadowed=!0}return e}function Ke(t){return t<0?0:t>1?1:t}function Ue(t){return(4-t.tier+Ke(t.intraScore))/4}function je(t,n,o){let e=null;for(let s of o){let i=t(s,n);if(i===null)continue;let c=Ue(i);(e===null||c>e.score)&&(e={refIndex:n.refIndex,score:c,tier:i.tier,match:i})}return e}function En(t,n,o){let e=t.trim();if(e==="")return[];let s=dn(e,o.separatorExpansion);if(s.length===0)return[];let i=Re(o.matching),c=s.flatMap(h=>He(h,o.romaji,i)),r=Oe.slice(0,o.maxTier),{limit:a,minScore:p}=o,u=[],l=new Uint8Array(n.length);for(let h of r){for(let d=0;d<n.length;d++){if(l[d])continue;let k=je(h,n[d],c);k!==null&&(l[d]=1,k.score>=p&&u.push(k))}if(a!==void 0&&u.length>=a)break}return u.sort((h,d)=>d.score-h.score||h.refIndex-d.refIndex),a!==void 0?u.slice(0,a):u}function Pe(t,n){for(let o of n)if(t>=o.romajiStart&&t<o.romajiStart+o.romajiLen){let e=[];for(let s=0;s<o.kanaLen;s++)e.push(o.kanaStart+s);return e}return[]}function De(t){if(t.length===0)return[];t.sort((o,e)=>o[0]-e[0]||o[1]-e[1]);let n=[];for(let[o,e]of t){let s=n[n.length-1];s&&o<=s[1]?e>s[1]&&(s[1]=e):n.push([o,e])}return n}function Tn(t,n){if(n.positions===null)return[];let o=new Set;if(n.space==="kana")for(let i of n.positions)o.add(i);else{let i=n.space==="kunrei"?t.kunrei:t.hepburn;if(i)for(let c of n.positions)for(let r of Pe(c,i.syllables))o.add(r)}let e=t.kana.map,s=[];for(let i of o){let c=e[i];c&&s.push([c[0],c[1]])}return De(s)}var Be=3,Fe=0;function ze(t,n,o,e){return{romaji:t,separatorExpansion:n,matching:o,maxTier:e.maxTier??Be,minScore:e.minScore??Fe,limit:e.limit,includeMatches:e.includeMatches??!1}}function Nn(t,n={}){let o=n.getText??(a=>a),e=n.romaji??"both",s=n.separatorExpansion??!1,i=n.matching??"both",c={limit:n.limit,maxTier:n.maxTier,minScore:n.minScore,includeMatches:n.includeMatches},r=t.map((a,p)=>$t(o(a),p,e));return{size:t.length,search(a,p={}){let u={...c,...p},l=ze(e,s,i,u);return En(a,r,l).map(d=>{let k={item:t[d.refIndex],refIndex:d.refIndex,score:d.score,tier:d.tier};return l.includeMatches&&d.match.positions!==null&&(k.matches=Tn(r[d.refIndex],d.match)),k})}}}function We(t,n,o={}){return Nn(n,o).search(t)}return Rn(ve);})();