indickit 0.8.0 → 0.10.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/dist/phonetic.js CHANGED
@@ -1,905 +1 @@
1
- // phonetic/rules.json
2
- var rules_default = {
3
- version: "2026-10-07",
4
- folds: [
5
- "bn-case",
6
- "brahmic-av-u",
7
- "drop-vowels",
8
- "drop-y",
9
- "flap-r",
10
- "gu-case",
11
- "latin-ngh",
12
- "latin-w-u",
13
- "ml-case",
14
- "nasal-all",
15
- "ng-k",
16
- "or-case",
17
- "retroflex",
18
- "s-c",
19
- "ta-case",
20
- "ta-k-h",
21
- "te-case",
22
- "ur-w-u",
23
- "v-b"
24
- ],
25
- brahmic: {
26
- from: 2304,
27
- to: 3455,
28
- class_by_offset: {
29
- "2": "ṁ",
30
- "5": "a",
31
- "6": "a",
32
- "7": "i",
33
- "8": "i",
34
- "9": "u",
35
- "10": "u",
36
- "11": "r",
37
- "12": "l",
38
- "13": "e",
39
- "14": "e",
40
- "15": "e",
41
- "16": "e",
42
- "17": "o",
43
- "18": "o",
44
- "19": "o",
45
- "20": "o",
46
- "21": "k",
47
- "22": "k",
48
- "23": "k",
49
- "24": "k",
50
- "25": "ṅ",
51
- "26": "c",
52
- "27": "c",
53
- "28": "c",
54
- "29": "c",
55
- "30": "ñ",
56
- "31": "ṭ",
57
- "32": "ṭ",
58
- "33": "ṭ",
59
- "34": "ṭ",
60
- "35": "ṇ",
61
- "36": "t",
62
- "37": "t",
63
- "38": "t",
64
- "39": "t",
65
- "40": "n",
66
- "41": "n",
67
- "42": "p",
68
- "43": "p",
69
- "44": "p",
70
- "45": "p",
71
- "46": "m",
72
- "47": "y",
73
- "48": "r",
74
- "49": "r",
75
- "50": "l",
76
- "51": "l",
77
- "52": "l",
78
- "53": "v",
79
- "54": "s",
80
- "55": "s",
81
- "56": "s",
82
- "57": "h",
83
- "62": "a",
84
- "63": "i",
85
- "64": "i",
86
- "65": "u",
87
- "66": "u",
88
- "67": "r",
89
- "68": "r",
90
- "69": "e",
91
- "70": "e",
92
- "71": "e",
93
- "72": "e",
94
- "73": "o",
95
- "74": "o",
96
- "75": "o",
97
- "76": "o",
98
- "87": "o",
99
- "96": "r",
100
- "97": "l",
101
- "98": "l",
102
- "99": "l"
103
- },
104
- virama_offset: 77,
105
- candrabindu_offset: 1,
106
- candrabindu_class: "ṁ",
107
- nukta_offset: 60,
108
- flap_offsets: [
109
- 33,
110
- 34
111
- ],
112
- flap_class: "ṛ"
113
- },
114
- extra: {
115
- ৎ: "t",
116
- ৰ: "r",
117
- ৱ: "v",
118
- ୱ: "v",
119
- "ੰ": "ṁ",
120
- "ਂ": "ṁ",
121
- ൺ: "ṇ",
122
- ൻ: "n",
123
- ർ: "r",
124
- ൽ: "l",
125
- ൾ: "l",
126
- ൿ: "k",
127
- ൔ: "m",
128
- ൕ: "y",
129
- ൖ: "l",
130
- ड़: "ṛ",
131
- ढ़: "ṛ",
132
- ড়: "ṛ",
133
- ঢ়: "ṛ",
134
- ଡ଼: "ṛ",
135
- ଢ଼: "ṛ",
136
- ੜ: "ṛ"
137
- },
138
- urdu: {
139
- from: 1536,
140
- to: 1791,
141
- letters: {
142
- ا: "a",
143
- آ: "a",
144
- أ: "a",
145
- ب: "p",
146
- پ: "p",
147
- ت: "t",
148
- ٹ: "ṭ",
149
- ث: "s",
150
- ج: "c",
151
- چ: "c",
152
- ح: "h",
153
- خ: "k",
154
- د: "t",
155
- ڈ: "ṭ",
156
- ذ: "c",
157
- ر: "r",
158
- ڑ: "ṛ",
159
- ز: "c",
160
- ژ: "c",
161
- س: "s",
162
- ش: "s",
163
- ص: "s",
164
- ض: "c",
165
- ط: "t",
166
- ظ: "c",
167
- غ: "k",
168
- ف: "p",
169
- ق: "k",
170
- ک: "k",
171
- ك: "k",
172
- گ: "k",
173
- ل: "l",
174
- م: "m",
175
- ن: "n",
176
- ں: "ṁ",
177
- و: "v",
178
- ؤ: "u",
179
- ہ: "h",
180
- ه: "h",
181
- ۃ: "a",
182
- ی: "y",
183
- ي: "y",
184
- ى: "y",
185
- ئ: "y",
186
- ے: "e",
187
- ۓ: "e",
188
- ٻ: "p",
189
- ڀ: "p",
190
- ٺ: "ṭ",
191
- ٽ: "ṭ",
192
- ٿ: "t",
193
- ڄ: "c",
194
- ڃ: "ñ",
195
- ڇ: "c",
196
- ڊ: "ṭ",
197
- ڌ: "t",
198
- ڍ: "ṭ",
199
- ڏ: "t",
200
- ڙ: "ṛ",
201
- ڦ: "p",
202
- ڪ: "k",
203
- ڱ: "ṅ",
204
- ڳ: "k",
205
- ڻ: "ṇ",
206
- ٲ: "a",
207
- ٳ: "a",
208
- ۆ: "o",
209
- ۄ: "o",
210
- ێ: "e",
211
- ؠ: "y"
212
- },
213
- ain: "ع",
214
- waw: "و",
215
- waw_v_before: "اآ",
216
- final_he: "ہه",
217
- final_he_h_after: "اآو"
218
- },
219
- meetei: {
220
- ranges: [
221
- [
222
- 43744,
223
- 43775
224
- ],
225
- [
226
- 43968,
227
- 44031
228
- ]
229
- ],
230
- letters: {
231
- ꯀ: "k",
232
- ꯁ: "s",
233
- ꯂ: "l",
234
- ꯃ: "m",
235
- ꯄ: "p",
236
- ꯅ: "n",
237
- ꯆ: "c",
238
- ꯇ: "t",
239
- ꯈ: "k",
240
- ꯉ: "ṅ",
241
- ꯊ: "t",
242
- ꯋ: "v",
243
- ꯌ: "y",
244
- ꯍ: "h",
245
- ꯎ: "u",
246
- ꯏ: "i",
247
- ꯐ: "p",
248
- ꯑ: "a",
249
- ꯒ: "k",
250
- ꯓ: "c",
251
- ꯔ: "r",
252
- ꯕ: "p",
253
- ꯖ: "c",
254
- ꯗ: "t",
255
- ꯘ: "k",
256
- ꯙ: "t",
257
- ꯚ: "p",
258
- ꯛ: "k",
259
- ꯜ: "l",
260
- ꯝ: "m",
261
- ꯞ: "p",
262
- ꯟ: "n",
263
- ꯠ: "t",
264
- ꯡ: "ṅ",
265
- ꯢ: "i",
266
- "ꯣ": "o",
267
- "ꯤ": "i",
268
- "ꯥ": "a",
269
- "ꯦ": "e",
270
- "ꯧ": "o",
271
- "ꯨ": "u",
272
- "ꯩ": "e",
273
- "ꯪ": "ṁ",
274
- ꫠ: "e",
275
- ꫡ: "o",
276
- ꫢ: "c",
277
- ꫣ: "ñ",
278
- ꫤ: "ṭ",
279
- ꫥ: "ṭ",
280
- ꫦ: "ṭ",
281
- ꫧ: "ṭ",
282
- ꫨ: "ṇ",
283
- ꫩ: "s",
284
- ꫪ: "s",
285
- "ꫫ": "i",
286
- "ꫬ": "u",
287
- "ꫭ": "e",
288
- "ꫮ": "o",
289
- "ꫯ": "o"
290
- }
291
- },
292
- ol_chiki: {
293
- from: 7248,
294
- to: 7295,
295
- letters: {
296
- ᱚ: "o",
297
- ᱛ: "t",
298
- ᱜ: "k",
299
- ᱝ: "ṅ",
300
- ᱞ: "l",
301
- ᱟ: "a",
302
- ᱠ: "k",
303
- ᱡ: "c",
304
- ᱢ: "m",
305
- ᱣ: "v",
306
- ᱤ: "i",
307
- ᱥ: "s",
308
- ᱦ: "h",
309
- ᱧ: "ñ",
310
- ᱨ: "r",
311
- ᱩ: "u",
312
- ᱪ: "c",
313
- ᱫ: "t",
314
- ᱬ: "ṇ",
315
- ᱭ: "y",
316
- ᱮ: "e",
317
- ᱯ: "p",
318
- ᱰ: "ṭ",
319
- ᱱ: "n",
320
- ᱲ: "ṛ",
321
- ᱳ: "o",
322
- ᱴ: "ṭ",
323
- ᱵ: "p",
324
- ᱶ: "v",
325
- ᱷ: "h",
326
- ᱸ: "ṁ"
327
- },
328
- aspiration: "ᱷ"
329
- },
330
- latin: {
331
- groups: [
332
- [
333
- "ngh",
334
- "nĝ"
335
- ],
336
- [
337
- "chh",
338
- "c"
339
- ],
340
- [
341
- "ch",
342
- "c"
343
- ],
344
- [
345
- "jh",
346
- "c"
347
- ],
348
- [
349
- "kh",
350
- "k"
351
- ],
352
- [
353
- "gh",
354
- "k"
355
- ],
356
- [
357
- "th",
358
- "t"
359
- ],
360
- [
361
- "dh",
362
- "t"
363
- ],
364
- [
365
- "ph",
366
- "p"
367
- ],
368
- [
369
- "bh",
370
- "p"
371
- ],
372
- [
373
- "sh",
374
- "s"
375
- ],
376
- [
377
- "ck",
378
- "k"
379
- ],
380
- [
381
- "aa",
382
- "a"
383
- ],
384
- [
385
- "ai",
386
- "e"
387
- ],
388
- [
389
- "ei",
390
- "e"
391
- ],
392
- [
393
- "au",
394
- "o"
395
- ],
396
- [
397
- "ee",
398
- "i"
399
- ],
400
- [
401
- "oo",
402
- "u"
403
- ],
404
- [
405
- "x",
406
- "ks"
407
- ]
408
- ],
409
- letters: {
410
- a: "a",
411
- e: "e",
412
- i: "i",
413
- o: "o",
414
- u: "u",
415
- k: "k",
416
- g: "k",
417
- q: "k",
418
- j: "c",
419
- z: "c",
420
- t: "t",
421
- d: "t",
422
- n: "n",
423
- m: "m",
424
- p: "p",
425
- b: "p",
426
- f: "p",
427
- v: "v",
428
- w: "v",
429
- y: "y",
430
- r: "r",
431
- l: "l",
432
- s: "s",
433
- h: "h"
434
- },
435
- w_ambiguous_unless_before: "aeiou"
436
- },
437
- class_map: {
438
- m: "n",
439
- s: "c",
440
- v: "p",
441
- w: "p",
442
- ñ: "n",
443
- ĝ: "k",
444
- ṁ: "n",
445
- ṅ: "n",
446
- ṇ: "n",
447
- ṛ: "t",
448
- ṭ: "t"
449
- },
450
- vowels: "aeiou",
451
- steps: {
452
- "ng-k": true,
453
- "initial-vowels-alike": false,
454
- "drop-h": false,
455
- "drop-y": true,
456
- "drop-y-after-i": false,
457
- "drop-vowels": true,
458
- "drop-final-vowel": false
459
- },
460
- branches: [
461
- {
462
- from: 2304,
463
- to: 3455,
464
- class: "v",
465
- also: "u",
466
- after: "aṁ",
467
- not_before: "aieo"
468
- },
469
- {
470
- from: 1536,
471
- to: 7295,
472
- class: "ṛ",
473
- also: "r"
474
- },
475
- {
476
- from: 0,
477
- to: 127,
478
- class: "ĝ",
479
- also: "h"
480
- },
481
- {
482
- from: 0,
483
- to: 127,
484
- class: "w",
485
- also: "u"
486
- },
487
- {
488
- from: 2944,
489
- to: 3071,
490
- class: "k",
491
- also: "h"
492
- },
493
- {
494
- from: 1536,
495
- to: 1791,
496
- class: "w",
497
- also: "u"
498
- }
499
- ],
500
- joined: {
501
- min_classes: 8,
502
- when: "the strict keys find nobody"
503
- },
504
- digit_zeros: [
505
- 48,
506
- 1632,
507
- 1776,
508
- 2406,
509
- 2534,
510
- 2662,
511
- 2790,
512
- 2918,
513
- 3046,
514
- 3174,
515
- 3302,
516
- 3430,
517
- 7248,
518
- 44016
519
- ],
520
- max_keys: 16,
521
- suffixes: [
522
- {
523
- from: 2432,
524
- to: 2559,
525
- endings: [
526
- "য়ের",
527
- "দের",
528
- "এর",
529
- "ের",
530
- "কে",
531
- "তে"
532
- ]
533
- },
534
- {
535
- from: 2688,
536
- to: 2815,
537
- endings: [
538
- "માં",
539
- "નું",
540
- "થી",
541
- "ના",
542
- "ની",
543
- "ને"
544
- ]
545
- },
546
- {
547
- from: 3328,
548
- to: 3455,
549
- endings: [
550
- "യ്ക്ക്",
551
- "ന്റെ",
552
- "യുടെ",
553
- "യിലെ",
554
- "ക്ക്",
555
- "ുടെ",
556
- "യിൽ",
557
- "ിലെ",
558
- "ോട്",
559
- "ിന്",
560
- "ിൽ",
561
- "നെ",
562
- "യെ",
563
- "ും"
564
- ]
565
- },
566
- {
567
- from: 2816,
568
- to: 2943,
569
- endings: [
570
- "ଙ୍କର",
571
- "ଙ୍କୁ",
572
- "ଙ୍କ",
573
- "ରେ",
574
- "ରୁ",
575
- "କୁ"
576
- ]
577
- },
578
- {
579
- from: 2944,
580
- to: 3071,
581
- endings: [
582
- "ுக்கு",
583
- "யின்",
584
- "வின்",
585
- "க்கு",
586
- "யில்",
587
- "ிடம்",
588
- "ுடன்",
589
- "ின்",
590
- "ில்",
591
- "ால்",
592
- "ும்"
593
- ]
594
- },
595
- {
596
- from: 3072,
597
- to: 3199,
598
- endings: [
599
- "యొక్క",
600
- "లోని",
601
- "గారు",
602
- "లో",
603
- "కు",
604
- "కి",
605
- "ని",
606
- "తో",
607
- "ను"
608
- ]
609
- }
610
- ]
611
- };
612
-
613
- // js/phonetic.ts
614
- var DELETED = "\x00";
615
- function compile(rules) {
616
- const b = rules.brahmic;
617
- const byOffset = new Array(128);
618
- for (const [o, c] of Object.entries(b.class_by_offset))
619
- byOffset[Number(o)] = c;
620
- const extra = new Map(Object.entries(rules.extra));
621
- const urdu = new Map(Object.entries(rules.urdu.letters));
622
- const meetei = new Map(Object.entries(rules.meetei.letters));
623
- const olChiki = new Map(Object.entries(rules.ol_chiki.letters));
624
- const latin = new Array(128);
625
- for (const [l, c] of Object.entries(rules.latin.letters))
626
- latin[l.charCodeAt(0)] = c;
627
- const groups = rules.latin.groups;
628
- const wUnlessNext = rules.latin.w_ambiguous_unless_before;
629
- const classMap = new Map(Object.entries(rules.class_map));
630
- const vowels = new Set(rules.vowels);
631
- const steps = rules.steps;
632
- const u = rules.urdu;
633
- function inMeetei(o) {
634
- return rules.meetei.ranges.some(([lo, hi]) => o >= lo && o <= hi);
635
- }
636
- function readBrahmic(word) {
637
- let out = "";
638
- let last = -1;
639
- for (let i = 0;i < word.length; i++) {
640
- const ch = word[i];
641
- const x = extra.get(ch);
642
- if (x !== undefined) {
643
- out += x;
644
- last = -1;
645
- continue;
646
- }
647
- const o = word.charCodeAt(i);
648
- if (o < b.from || o > b.to)
649
- continue;
650
- const off = o & 127;
651
- const c = byOffset[off];
652
- if (off === b.nukta_offset && b.flap_offsets.includes(last) && out) {
653
- out = out.slice(0, -1) + b.flap_class;
654
- } else if (off === b.virama_offset) {} else if (off === b.candrabindu_offset) {
655
- out += b.candrabindu_class;
656
- } else if (c !== undefined) {
657
- out += c;
658
- }
659
- if (c !== undefined)
660
- last = off;
661
- else if (off !== b.nukta_offset && off !== b.virama_offset)
662
- last = -1;
663
- }
664
- return out;
665
- }
666
- function readLatin(word) {
667
- let out = "";
668
- let i = 0;
669
- outer:
670
- while (i < word.length) {
671
- for (const [g, cls] of groups) {
672
- if (word.startsWith(g, i)) {
673
- out += cls;
674
- i += g.length;
675
- continue outer;
676
- }
677
- }
678
- const ch = word.charCodeAt(i);
679
- if (ch === 99) {
680
- const next = word[i + 1];
681
- out += next === "e" || next === "i" || next === "y" ? "s" : "k";
682
- } else if (ch === 119 && i > 0 && !wUnlessNext.includes(word[i + 1] ?? " ")) {
683
- out += "w";
684
- } else {
685
- out += latin[ch] ?? "";
686
- }
687
- i++;
688
- }
689
- return out;
690
- }
691
- function readUrdu(word) {
692
- let out = word[0] === u.ain ? "a" : "";
693
- for (let i = 0;i < word.length; i++) {
694
- const ch = word[i];
695
- if (ch === u.waw && i > 0 && !(i + 1 < word.length && u.waw_v_before.includes(word[i + 1])))
696
- out += "w";
697
- else
698
- out += urdu.get(ch) ?? "";
699
- }
700
- const n = word.length;
701
- if (n > 1 && u.final_he.includes(word[n - 1]) && !u.final_he_h_after.includes(word[n - 2])) {
702
- out = out.slice(0, -1) + "a";
703
- }
704
- return out;
705
- }
706
- function readOlChiki(word) {
707
- let out = "";
708
- for (const ch of word) {
709
- if (ch === rules.ol_chiki.aspiration && out && !vowels.has(out[out.length - 1]))
710
- continue;
711
- out += olChiki.get(ch) ?? "";
712
- }
713
- return out;
714
- }
715
- function readMeetei(word) {
716
- let out = "";
717
- for (const ch of word)
718
- out += meetei.get(ch) ?? "";
719
- return out;
720
- }
721
- function read(word) {
722
- let ascii = true;
723
- for (let i = 0;i < word.length; i++)
724
- if (word.charCodeAt(i) > 127) {
725
- ascii = false;
726
- break;
727
- }
728
- if (ascii)
729
- return readLatin(word);
730
- let ol = false, me = false;
731
- for (let i = 0;i < word.length; i++) {
732
- const o = word.charCodeAt(i);
733
- if (o >= u.from && o <= u.to)
734
- return readUrdu(word);
735
- if (o >= rules.ol_chiki.from && o <= rules.ol_chiki.to)
736
- ol = true;
737
- else if (inMeetei(o))
738
- me = true;
739
- }
740
- if (ol)
741
- return readOlChiki(word);
742
- if (me)
743
- return readMeetei(word);
744
- return readBrahmic(word);
745
- }
746
- function fold(codes) {
747
- if (steps["ng-k"]) {
748
- let s = "";
749
- for (let i = 0;i < codes.length; i++) {
750
- s += codes[i];
751
- if (codes[i] === "ṅ" && codes[i + 1] !== "k")
752
- s += "k";
753
- }
754
- codes = s;
755
- }
756
- let mapped = "";
757
- for (let i = 0;i < codes.length; i++)
758
- mapped += classMap.get(codes[i]) ?? codes[i];
759
- if (!mapped)
760
- return mapped;
761
- let head = mapped[0];
762
- if (steps["initial-vowels-alike"] && vowels.has(head))
763
- head = "a";
764
- let out = head;
765
- for (let i = 1;i < mapped.length; i++) {
766
- const c = mapped[i];
767
- if (steps["drop-h"] && c === "h")
768
- continue;
769
- if (steps["drop-y"] && c === "y")
770
- continue;
771
- if (steps["drop-vowels"] && vowels.has(c))
772
- continue;
773
- out += c;
774
- }
775
- if (steps["drop-final-vowel"] && out.length > 1 && vowels.has(out[out.length - 1]))
776
- out = out.slice(0, -1);
777
- let runs = out[0];
778
- for (let i = 1;i < out.length; i++)
779
- if (out[i] !== out[i - 1])
780
- runs += out[i];
781
- return runs;
782
- }
783
- function fits(classes, i, br) {
784
- const prev = i > 0 ? classes[i - 1] : "^";
785
- const next = i + 1 < classes.length ? classes[i + 1] : "$";
786
- return (br.after === undefined || br.after.includes(prev)) && (br.before === undefined || br.before.includes(next)) && !(br.not_before ?? "").includes(next);
787
- }
788
- function variants(word) {
789
- const classes = read(word);
790
- let vs = [classes];
791
- for (const br of rules.branches) {
792
- if (!classes.includes(br.class))
793
- continue;
794
- let inScript = false;
795
- for (let i = 0;i < word.length; i++) {
796
- const o = word.charCodeAt(i);
797
- if (o >= br.from && o <= br.to) {
798
- inScript = true;
799
- break;
800
- }
801
- }
802
- if (!inScript)
803
- continue;
804
- for (let i = 0;i < classes.length; i++) {
805
- if (classes[i] === br.class && vs.length * 2 <= rules.max_keys && fits(classes, i, br)) {
806
- const also = br.also || DELETED;
807
- vs = vs.concat(vs.map((v) => v.slice(0, i) + also + v.slice(i + 1)));
808
- }
809
- }
810
- }
811
- return vs.map((v) => v.replaceAll(DELETED, ""));
812
- }
813
- function number(word) {
814
- let out = "";
815
- for (let i = 0;i < word.length; i++) {
816
- const o = word.charCodeAt(i);
817
- const z = rules.digit_zeros.find((z2) => o >= z2 && o <= z2 + 9);
818
- if (z === undefined)
819
- return;
820
- out += String.fromCharCode(48 + o - z);
821
- }
822
- return out || undefined;
823
- }
824
- return function keys(word) {
825
- const n = number(word);
826
- if (n !== undefined)
827
- return [n];
828
- const bases = [word];
829
- const first = word.charCodeAt(0);
830
- for (const sf of rules.suffixes) {
831
- if (first < sf.from || first > sf.to)
832
- continue;
833
- for (const e of sf.endings) {
834
- if (word.endsWith(e) && word.length - e.length >= 2) {
835
- bases.push(word.slice(0, -e.length));
836
- break;
837
- }
838
- }
839
- }
840
- const out = new Set;
841
- for (const base of bases)
842
- for (const v of variants(base))
843
- out.add(fold(v));
844
- out.delete("");
845
- return [...out].sort();
846
- };
847
- }
848
- var engine = compile(rules_default);
849
- var _internal = { compile: (r) => compile(r), normalize: (w) => normalize(w), engine };
850
- var RULES_VERSION = rules_default.version;
851
- var MAX_NAME_KEYS = 256;
852
- function normalize(word) {
853
- const plain = word.normalize("NFD").replace(/\p{Mn}/gu, "");
854
- return /^[\x00-\x7f]*$/.test(plain) ? plain.toLowerCase() : word.normalize("NFC");
855
- }
856
- function keys(word) {
857
- const w = normalize(word);
858
- return w ? engine(w) : [];
859
- }
860
- function words(name) {
861
- return name.replace(/\([^)]*\)/g, " ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean);
862
- }
863
- function nameKeys(name) {
864
- let out = [""];
865
- for (const w of words(name)) {
866
- const ks = keys(w);
867
- if (!ks.length)
868
- continue;
869
- const next = [];
870
- for (const p of out)
871
- for (const k of ks) {
872
- if (next.length < MAX_NAME_KEYS)
873
- next.push(p ? p + " " + k : k);
874
- }
875
- out = next;
876
- }
877
- return out[0] === "" ? [] : out;
878
- }
879
- var JOINED_MIN_CLASSES = rules_default.joined.min_classes;
880
- function joinedKeys(name) {
881
- const joined = words(name).map(normalize).join("");
882
- if (!joined)
883
- return [];
884
- return engine(joined).filter((k) => [...k].length >= JOINED_MIN_CLASSES);
885
- }
886
- function match(a, b) {
887
- const wa = words(a), wb = words(b);
888
- if (!wa.length || wa.length !== wb.length)
889
- return false;
890
- return wa.every((w, i) => {
891
- const kb = new Set(keys(wb[i]));
892
- return keys(w).some((k) => kb.has(k));
893
- });
894
- }
895
- export {
896
- words,
897
- nameKeys,
898
- match,
899
- keys,
900
- joinedKeys,
901
- _internal,
902
- RULES_VERSION,
903
- MAX_NAME_KEYS,
904
- JOINED_MIN_CLASSES
905
- };
1
+ var X={version:"2026-10-07",folds:["bn-case","brahmic-av-u","drop-vowels","drop-y","flap-r","gu-case","latin-ngh","latin-w-u","ml-case","nasal-all","ng-k","or-case","retroflex","s-c","ta-case","ta-k-h","te-case","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!0,"drop-y-after-i":!1,"drop-vowels":!0,"drop-final-vowel":!1},branches:[{from:2304,to:3455,class:"v",also:"u",after:"aṁ",not_before:"aieo"},{from:1536,to:7295,class:"ṛ",also:"r"},{from:0,to:127,class:"ĝ",also:"h"},{from:0,to:127,class:"w",also:"u"},{from:2944,to:3071,class:"k",also:"h"},{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[{from:2432,to:2559,endings:["য়ের","দের","এর","ের","কে","তে"]},{from:2688,to:2815,endings:["માં","નું","થી","ના","ની","ને"]},{from:3328,to:3455,endings:["യ്ക്ക്","ന്റെ","യുടെ","യിലെ","ക്ക്","ുടെ","യിൽ","ിലെ","ോട്","ിന്","ിൽ","നെ","യെ","ും"]},{from:2816,to:2943,endings:["ଙ୍କର","ଙ୍କୁ","ଙ୍କ","ରେ","ରୁ","କୁ"]},{from:2944,to:3071,endings:["ுக்கு","யின்","வின்","க்கு","யில்","ிடம்","ுடன்","ின்","ில்","ால்","ும்"]},{from:3072,to:3199,endings:["యొక్క","లోని","గారు","లో","కు","కి","ని","తో","ను"]}]};var W={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var R2=W.unicode,x=1,k2=2,y2=4,O=8,T=new Map,Y=new Map,M=new Map;for(let _=0;_<W.ranges.length;_+=2)for(let g=W.ranges[_];g<=W.ranges[_+1];g++)T.set(g,0);var D=(_,g)=>{for(let f=0;f<_.length;f+=2)for(let G=_[f];G<=_[f+1];G++)T.set(G,T.get(G)|g)};D(W.mn,x);D(W.m,k2);D(W.l,y2);for(let _=0;_<W.ccc.length;_+=3)for(let g=W.ccc[_];g<=W.ccc[_+1];g++)T.set(g,T.get(g)|W.ccc[_+2]<<4);var v2=new Set(W.excl);for(let[_,g]of Object.entries(W.decomp)){let f=Number(_);if(Y.set(f,g),g.length===2&&!v2.has(f))M.set(g[0]*1114112+g[1],f),T.set(g[1],T.get(g[1])|O)}var j=(_)=>String.fromCodePoint(_);function h(_,g,f){let G="";for(let Q=g;Q<f;Q+=8192)G+=String.fromCodePoint(..._.slice(Q,Math.min(f,Q+8192)));return G}function E(_){let g=T.get(_);return g===void 0?/\p{Mn}/u.test(j(_)):(g&x)!==0}function z(_){if(!T.has(_))return Array.from(j(_).normalize("NFD"),(f)=>f.codePointAt(0));let g=Y.get(_);return g?g.flatMap(z):[_]}var m2=(_,g)=>_>>4===0&&(_&O)===0&&!Y.has(g);function n(_){let g=Array.from(_,(G)=>G.codePointAt(0)),f="";for(let G=0;G<g.length;){let Q=G+1,V=T.has(g[G]);for(;Q<g.length;Q++){let Z=T.get(g[Q]);if(Z===void 0)V=!1;else if(m2(Z,g[Q]))break}f+=V?q2(g,G,Q):h(g,G,Q).normalize("NFC"),G=Q}return f}function q2(_,g,f){let G=0,Q=!0;for(let R=g;R<f&&Q;R++){let I=T.get(_[R]),P=I>>4;if(Y.has(_[R])||(I&O)!==0||P!==0&&P<G)Q=!1;G=P}if(Q)return h(_,g,f);let V=[];for(let R=g;R<f;R++)V.push(...z(_[R]));let Z=(R)=>T.get(R)>>4;for(let R=0;R<V.length;){if(Z(V[R])===0){R++;continue}let I=R;while(I<V.length&&Z(V[I])!==0)I++;let P=V.slice(R,I).sort((U,J)=>Z(U)-Z(J));for(let U=0;U<P.length;U++)V[R+U]=P[U];R=I}let B=[],K=-1;for(let R of V){let I=Z(R);if(K>=0&&(B.length-1===K||Z(B[B.length-1])<I)){let P=M.get(B[K]*1114112+R);if(P!==void 0){B[K]=P;continue}}if(I===0)K=B.length;B.push(R)}return h(B,0,B.length)}var a="\x00";function f2(_){let g=_.brahmic,f=Array(128);for(let[y,k]of Object.entries(g.class_by_offset))f[Number(y)]=k;let G=new Map(Object.entries(_.extra)),Q=new Map(Object.entries(_.urdu.letters)),V=new Map(Object.entries(_.meetei.letters)),Z=new Map(Object.entries(_.ol_chiki.letters)),B=Array(128);for(let[y,k]of Object.entries(_.latin.letters))B[y.charCodeAt(0)]=k;let K=_.latin.groups,R=_.latin.w_ambiguous_unless_before,I=new Map(Object.entries(_.class_map)),P=new Set(_.vowels),U=_.steps,J=_.urdu;function t(y){return _.meetei.ranges.some(([k,v])=>y>=k&&y<=v)}function u(y){let k="",v=-1;for(let m=0;m<y.length;m++){let F=y[m],q=G.get(F);if(q!==void 0){k+=q,v=-1;continue}let H=y.charCodeAt(m);if(H<g.from||H>g.to)continue;let $=H&127,L=f[$];if($===g.nukta_offset&&g.flap_offsets.includes(v)&&k)k=k.slice(0,-1)+g.flap_class;else if($===g.virama_offset);else if($===g.candrabindu_offset)k+=g.candrabindu_class;else if(L!==void 0)k+=L;if(L!==void 0)v=$;else if($!==g.nukta_offset&&$!==g.virama_offset)v=-1}return k}function w(y){let k="",v=0;_:while(v<y.length){for(let[F,q]of K)if(y.startsWith(F,v)){k+=q,v+=F.length;continue _}let m=y.charCodeAt(v);if(m===99){let F=y[v+1];k+=F==="e"||F==="i"||F==="y"?"s":"k"}else if(m===119&&v>0&&!R.includes(y[v+1]??" "))k+="w";else k+=B[m]??"";v++}return k}function i(y){let k=y[0]===J.ain?"a":"";for(let m=0;m<y.length;m++){let F=y[m];if(F===J.waw&&m>0&&!(m+1<y.length&&J.waw_v_before.includes(y[m+1])))k+="w";else k+=Q.get(F)??""}let v=y.length;if(v>1&&J.final_he.includes(y[v-1])&&!J.final_he_h_after.includes(y[v-2]))k=k.slice(0,-1)+"a";return k}function p(y){let k="";for(let v of y){if(v===_.ol_chiki.aspiration&&k&&!P.has(k[k.length-1]))continue;k+=Z.get(v)??""}return k}function c(y){let k="";for(let v of y)k+=V.get(v)??"";return k}function e(y){let k=!0;for(let F=0;F<y.length;F++)if(y.charCodeAt(F)>127){k=!1;break}if(k)return w(y);let v=!1,m=!1;for(let F=0;F<y.length;F++){let q=y.charCodeAt(F);if(q>=J.from&&q<=J.to)return i(y);if(q>=_.ol_chiki.from&&q<=_.ol_chiki.to)v=!0;else if(t(q))m=!0}if(v)return p(y);if(m)return c(y);return u(y)}function s(y){if(U["ng-k"]){let q="";for(let H=0;H<y.length;H++)if(q+=y[H],y[H]==="ṅ"&&y[H+1]!=="k")q+="k";y=q}let k="";for(let q=0;q<y.length;q++)k+=I.get(y[q])??y[q];if(!k)return k;let v=k[0];if(U["initial-vowels-alike"]&&P.has(v))v="a";let m=v;for(let q=1;q<k.length;q++){let H=k[q];if(U["drop-h"]&&H==="h")continue;if(U["drop-y"]&&H==="y")continue;if(U["drop-vowels"]&&P.has(H))continue;m+=H}if(U["drop-final-vowel"]&&m.length>1&&P.has(m[m.length-1]))m=m.slice(0,-1);let F=m[0];for(let q=1;q<m.length;q++)if(m[q]!==m[q-1])F+=m[q];return F}function d(y,k,v){let m=k>0?y[k-1]:"^",F=k+1<y.length?y[k+1]:"$";return(v.after===void 0||v.after.includes(m))&&(v.before===void 0||v.before.includes(F))&&!(v.not_before??"").includes(F)}function r(y){let k=e(y),v=[k];for(let m of _.branches){if(!k.includes(m.class))continue;let F=!1;for(let q=0;q<y.length;q++){let H=y.charCodeAt(q);if(H>=m.from&&H<=m.to){F=!0;break}}if(!F)continue;for(let q=0;q<k.length;q++)if(k[q]===m.class&&v.length*2<=_.max_keys&&d(k,q,m)){let H=m.also||a;v=v.concat(v.map(($)=>$.slice(0,q)+H+$.slice(q+1)))}}return v.map((m)=>m.replaceAll(a,""))}function o(y){let k="";for(let v=0;v<y.length;v++){let m=y.charCodeAt(v),F=_.digit_zeros.find((q)=>m>=q&&m<=q+9);if(F===void 0)return;k+=String.fromCharCode(48+m-F)}return k||void 0}return function(k){let v=o(k);if(v!==void 0)return[v];let m=[k],F=k.charCodeAt(0);for(let H of _.suffixes){if(F<H.from||F>H.to)continue;for(let $ of H.endings)if(k.endsWith($)&&k.length-$.length>=2){m.push(k.slice(0,-$.length));break}}let q=new Set;for(let H of m)for(let $ of r(H))q.add(s($));return q.delete(""),[...q].sort()}}var A=f2(X),b=256;function N(_){let g="";for(let f of _)for(let G of z(f.codePointAt(0))){if(E(G))continue;if(G>=128)return n(_);g+=String.fromCodePoint(G)}return g.toLowerCase()}function l(_,g){let f=[""];for(let G of _){let Q=[];for(let V of f)for(let Z of G)if(Q.length<b)Q.push(V?V+g+Z:Z);f=Q}return f[0]===""?[]:f}var I2=X.version;function S(_){let g=N(_);return g?A(g):[]}function C(_){return _.replace(/\([^)]*\)/g," ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean)}function U2(_){return l(C(_).map(S).filter((g)=>g.length)," ")}var F2=X.joined.min_classes;function T2(_){let g=C(_).map(N).join("");if(!g)return[];return A(g).filter((f)=>[...f].length>=F2)}function J2(_,g){let f=C(_),G=C(g);if(!f.length||f.length!==G.length)return!1;return f.every((Q,V)=>{let Z=new Set(S(G[V]));return S(Q).some((B)=>Z.has(B))})}export{C as words,U2 as nameKeys,J2 as match,S as keys,T2 as joinedKeys,I2 as RULES_VERSION,b as MAX_NAME_KEYS,F2 as JOINED_MIN_CLASSES};