var defs = [
[0, 31, "N"],
[32, 126, "Na"],
[127, 160, "N"],
[161, 161, "A"],
[162, 163, "Na"],
[164, 164, "A"],
[165, 166, "Na"],
[167, 168, "A"],
[169, 169, "N"],
[170, 170, "A"],
[171, 171, "N"],
[172, 172, "Na"],
[173, 174, "A"],
[175, 175, "Na"],
[176, 180, "A"],
[181, 181, "N"],
[182, 186, "A"],
[187, 187, "N"],
[188, 191, "A"],
[192, 197, "N"],
[198, 198, "A"],
[199, 207, "N"],
[208, 208, "A"],
[209, 214, "N"],
[215, 216, "A"],
[217, 221, "N"],
[222, 225, "A"],
[226, 229, "N"],
[230, 230, "A"],
[231, 231, "N"],
[232, 234, "A"],
[235, 235, "N"],
[236, 237, "A"],
[238, 239, "N"],
[240, 240, "A"],
[241, 241, "N"],
[242, 243, "A"],
[244, 246, "N"],
[247, 250, "A"],
[251, 251, "N"],
[252, 252, "A"],
[253, 253, "N"],
[254, 254, "A"],
[255, 256, "N"],
[257, 257, "A"],
[258, 272, "N"],
[273, 273, "A"],
[274, 274, "N"],
[275, 275, "A"],
[276, 282, "N"],
[283, 283, "A"],
[284, 293, "N"],
[294, 295, "A"],
[296, 298, "N"],
[299, 299, "A"],
[300, 304, "N"],
[305, 307, "A"],
[308, 311, "N"],
[312, 312, "A"],
[313, 318, "N"],
[319, 322, "A"],
[323, 323, "N"],
[324, 324, "A"],
[325, 327, "N"],
[328, 331, "A"],
[332, 332, "N"],
[333, 333, "A"],
[334, 337, "N"],
[338, 339, "A"],
[340, 357, "N"],
[358, 359, "A"],
[360, 362, "N"],
[363, 363, "A"],
[364, 461, "N"],
[462, 462, "A"],
[463, 463, "N"],
[464, 464, "A"],
[465, 465, "N"],
[466, 466, "A"],
[467, 467, "N"],
[468, 468, "A"],
[469, 469, "N"],
[470, 470, "A"],
[471, 471, "N"],
[472, 472, "A"],
[473, 473, "N"],
[474, 474, "A"],
[475, 475, "N"],
[476, 476, "A"],
[477, 592, "N"],
[593, 593, "A"],
[594, 608, "N"],
[609, 609, "A"],
[610, 707, "N"],
[708, 708, "A"],
[709, 710, "N"],
[711, 711, "A"],
[712, 712, "N"],
[713, 715, "A"],
[716, 716, "N"],
[717, 717, "A"],
[718, 719, "N"],
[720, 720, "A"],
[721, 727, "N"],
[728, 731, "A"],
[732, 732, "N"],
[733, 733, "A"],
[734, 734, "N"],
[735, 735, "A"],
[736, 767, "N"],
[768, 879, "A"],
[880, 912, "N"],
[913, 929, "A"],
[930, 930, "N"],
[931, 937, "A"],
[938, 944, "N"],
[945, 961, "A"],
[962, 962, "N"],
[963, 969, "A"],
[970, 1024, "N"],
[1025, 1025, "A"],
[1026, 1039, "N"],
[1040, 1103, "A"],
[1104, 1104, "N"],
[1105, 1105, "A"],
[1106, 4351, "N"],
[4352, 4447, "W"],
[4448, 8207, "N"],
[8208, 8208, "A"],
[8209, 8210, "N"],
[8211, 8214, "A"],
[8215, 8215, "N"],
[8216, 8217, "A"],
[8218, 8219, "N"],
[8220, 8221, "A"],
[8222, 8223, "N"],
[8224, 8226, "A"],
[8227, 8227, "N"],
[8228, 8231, "A"],
[8232, 8239, "N"],
[8240, 8240, "A"],
[8241, 8241, "N"],
[8242, 8243, "A"],
[8244, 8244, "N"],
[8245, 8245, "A"],
[8246, 8250, "N"],
[8251, 8251, "A"],
[8252, 8253, "N"],
[8254, 8254, "A"],
[8255, 8307, "N"],
[8308, 8308, "A"],
[8309, 8318, "N"],
[8319, 8319, "A"],
[8320, 8320, "N"],
[8321, 8324, "A"],
[8325, 8360, "N"],
[8361, 8361, "H"],
[8362, 8363, "N"],
[8364, 8364, "A"],
[8365, 8450, "N"],
[8451, 8451, "A"],
[8452, 8452, "N"],
[8453, 8453, "A"],
[8454, 8456, "N"],
[8457, 8457, "A"],
[8458, 8466, "N"],
[8467, 8467, "A"],
[8468, 8469, "N"],
[8470, 8470, "A"],
[8471, 8480, "N"],
[8481, 8482, "A"],
[8483, 8485, "N"],
[8486, 8486, "A"],
[8487, 8490, "N"],
[8491, 8491, "A"],
[8492, 8530, "N"],
[8531, 8532, "A"],
[8533, 8538, "N"],
[8539, 8542, "A"],
[8543, 8543, "N"],
[8544, 8555, "A"],
[8556, 8559, "N"],
[8560, 8569, "A"],
[8570, 8584, "N"],
[8585, 8585, "A"],
[8586, 8591, "N"],
[8592, 8601, "A"],
[8602, 8631, "N"],
[8632, 8633, "A"],
[8634, 8657, "N"],
[8658, 8658, "A"],
[8659, 8659, "N"],
[8660, 8660, "A"],
[8661, 8678, "N"],
[8679, 8679, "A"],
[8680, 8703, "N"],
[8704, 8704, "A"],
[8705, 8705, "N"],
[8706, 8707, "A"],
[8708, 8710, "N"],
[8711, 8712, "A"],
[8713, 8714, "N"],
[8715, 8715, "A"],
[8716, 8718, "N"],
[8719, 8719, "A"],
[8720, 8720, "N"],
[8721, 8721, "A"],
[8722, 8724, "N"],
[8725, 8725, "A"],
[8726, 8729, "N"],
[8730, 8730, "A"],
[8731, 8732, "N"],
[8733, 8736, "A"],
[8737, 8738, "N"],
[8739, 8739, "A"],
[8740, 8740, "N"],
[8741, 8741, "A"],
[8742, 8742, "N"],
[8743, 8748, "A"],
[8749, 8749, "N"],
[8750, 8750, "A"],
[8751, 8755, "N"],
[8756, 8759, "A"],
[8760, 8763, "N"],
[8764, 8765, "A"],
[8766, 8775, "N"],
[8776, 8776, "A"],
[8777, 8779, "N"],
[8780, 8780, "A"],
[8781, 8785, "N"],
[8786, 8786, "A"],
[8787, 8799, "N"],
[8800, 8801, "A"],
[8802, 8803, "N"],
[8804, 8807, "A"],
[8808, 8809, "N"],
[8810, 8811, "A"],
[8812, 8813, "N"],
[8814, 8815, "A"],
[8816, 8833, "N"],
[8834, 8835, "A"],
[8836, 8837, "N"],
[8838, 8839, "A"],
[8840, 8852, "N"],
[8853, 8853, "A"],
[8854, 8856, "N"],
[8857, 8857, "A"],
[8858, 8868, "N"],
[8869, 8869, "A"],
[8870, 8894, "N"],
[8895, 8895, "A"],
[8896, 8977, "N"],
[8978, 8978, "A"],
[8979, 8985, "N"],
[8986, 8987, "W"],
[8988, 9e3, "N"],
[9001, 9002, "W"],
[9003, 9192, "N"],
[9193, 9196, "W"],
[9197, 9199, "N"],
[9200, 9200, "W"],
[9201, 9202, "N"],
[9203, 9203, "W"],
[9204, 9311, "N"],
[9312, 9449, "A"],
[9450, 9450, "N"],
[9451, 9547, "A"],
[9548, 9551, "N"],
[9552, 9587, "A"],
[9588, 9599, "N"],
[9600, 9615, "A"],
[9616, 9617, "N"],
[9618, 9621, "A"],
[9622, 9631, "N"],
[9632, 9633, "A"],
[9634, 9634, "N"],
[9635, 9641, "A"],
[9642, 9649, "N"],
[9650, 9651, "A"],
[9652, 9653, "N"],
[9654, 9655, "A"],
[9656, 9659, "N"],
[9660, 9661, "A"],
[9662, 9663, "N"],
[9664, 9665, "A"],
[9666, 9669, "N"],
[9670, 9672, "A"],
[9673, 9674, "N"],
[9675, 9675, "A"],
[9676, 9677, "N"],
[9678, 9681, "A"],
[9682, 9697, "N"],
[9698, 9701, "A"],
[9702, 9710, "N"],
[9711, 9711, "A"],
[9712, 9724, "N"],
[9725, 9726, "W"],
[9727, 9732, "N"],
[9733, 9734, "A"],
[9735, 9736, "N"],
[9737, 9737, "A"],
[9738, 9741, "N"],
[9742, 9743, "A"],
[9744, 9747, "N"],
[9748, 9749, "W"],
[9750, 9755, "N"],
[9756, 9756, "A"],
[9757, 9757, "N"],
[9758, 9758, "A"],
[9759, 9775, "N"],
[9776, 9783, "W"],
[9784, 9791, "N"],
[9792, 9792, "A"],
[9793, 9793, "N"],
[9794, 9794, "A"],
[9795, 9799, "N"],
[9800, 9811, "W"],
[9812, 9823, "N"],
[9824, 9825, "A"],
[9826, 9826, "N"],
[9827, 9829, "A"],
[9830, 9830, "N"],
[9831, 9834, "A"],
[9835, 9835, "N"],
[9836, 9837, "A"],
[9838, 9838, "N"],
[9839, 9839, "A"],
[9840, 9854, "N"],
[9855, 9855, "W"],
[9856, 9865, "N"],
[9866, 9871, "W"],
[9872, 9874, "N"],
[9875, 9875, "W"],
[9876, 9885, "N"],
[9886, 9887, "A"],
[9888, 9888, "N"],
[9889, 9889, "W"],
[9890, 9897, "N"],
[9898, 9899, "W"],
[9900, 9916, "N"],
[9917, 9918, "W"],
[9919, 9919, "A"],
[9920, 9923, "N"],
[9924, 9925, "W"],
[9926, 9933, "A"],
[9934, 9934, "W"],
[9935, 9939, "A"],
[9940, 9940, "W"],
[9941, 9953, "A"],
[9954, 9954, "N"],
[9955, 9955, "A"],
[9956, 9959, "N"],
[9960, 9961, "A"],
[9962, 9962, "W"],
[9963, 9969, "A"],
[9970, 9971, "W"],
[9972, 9972, "A"],
[9973, 9973, "W"],
[9974, 9977, "A"],
[9978, 9978, "W"],
[9979, 9980, "A"],
[9981, 9981, "W"],
[9982, 9983, "A"],
[9984, 9988, "N"],
[9989, 9989, "W"],
[9990, 9993, "N"],
[9994, 9995, "W"],
[9996, 10023, "N"],
[10024, 10024, "W"],
[10025, 10044, "N"],
[10045, 10045, "A"],
[10046, 10059, "N"],
[10060, 10060, "W"],
[10061, 10061, "N"],
[10062, 10062, "W"],
[10063, 10066, "N"],
[10067, 10069, "W"],
[10070, 10070, "N"],
[10071, 10071, "W"],
[10072, 10101, "N"],
[10102, 10111, "A"],
[10112, 10132, "N"],
[10133, 10135, "W"],
[10136, 10159, "N"],
[10160, 10160, "W"],
[10161, 10174, "N"],
[10175, 10175, "W"],
[10176, 10213, "N"],
[10214, 10221, "Na"],
[10222, 10628, "N"],
[10629, 10630, "Na"],
[10631, 11034, "N"],
[11035, 11036, "W"],
[11037, 11087, "N"],
[11088, 11088, "W"],
[11089, 11092, "N"],
[11093, 11093, "W"],
[11094, 11097, "A"],
[11098, 11903, "N"],
[11904, 11929, "W"],
[11930, 11930, "N"],
[11931, 12019, "W"],
[12020, 12031, "N"],
[12032, 12245, "W"],
[12246, 12271, "N"],
[12272, 12287, "W"],
[12288, 12288, "F"],
[12289, 12350, "W"],
[12351, 12352, "N"],
[12353, 12438, "W"],
[12439, 12440, "N"],
[12441, 12543, "W"],
[12544, 12548, "N"],
[12549, 12591, "W"],
[12592, 12592, "N"],
[12593, 12686, "W"],
[12687, 12687, "N"],
[12688, 12773, "W"],
[12774, 12782, "N"],
[12783, 12830, "W"],
[12831, 12831, "N"],
[12832, 12871, "W"],
[12872, 12879, "A"],
[12880, 42124, "W"],
[42125, 42127, "N"],
[42128, 42182, "W"],
[42183, 43359, "N"],
[43360, 43388, "W"],
[43389, 44031, "N"],
[44032, 55203, "W"],
[55204, 57343, "N"],
[57344, 63743, "A"],
[63744, 64255, "W"],
[64256, 65023, "N"],
[65024, 65039, "A"],
[65040, 65049, "W"],
[65050, 65071, "N"],
[65072, 65106, "W"],
[65107, 65107, "N"],
[65108, 65126, "W"],
[65127, 65127, "N"],
[65128, 65131, "W"],
[65132, 65280, "N"],
[65281, 65376, "F"],
[65377, 65470, "H"],
[65471, 65473, "N"],
[65474, 65479, "H"],
[65480, 65481, "N"],
[65482, 65487, "H"],
[65488, 65489, "N"],
[65490, 65495, "H"],
[65496, 65497, "N"],
[65498, 65500, "H"],
[65501, 65503, "N"],
[65504, 65510, "F"],
[65511, 65511, "N"],
[65512, 65518, "H"],
[65519, 65532, "N"],
[65533, 65533, "A"],
[65534, 94175, "N"],
[94176, 94180, "W"],
[94181, 94191, "N"],
[94192, 94198, "W"],
[94199, 94207, "N"],
[94208, 101589, "W"],
[101590, 101630, "N"],
[101631, 101662, "W"],
[101663, 101759, "N"],
[101760, 101874, "W"],
[101875, 110575, "N"],
[110576, 110579, "W"],
[110580, 110580, "N"],
[110581, 110587, "W"],
[110588, 110588, "N"],
[110589, 110590, "W"],
[110591, 110591, "N"],
[110592, 110882, "W"],
[110883, 110897, "N"],
[110898, 110898, "W"],
[110899, 110927, "N"],
[110928, 110930, "W"],
[110931, 110932, "N"],
[110933, 110933, "W"],
[110934, 110947, "N"],
[110948, 110951, "W"],
[110952, 110959, "N"],
[110960, 111355, "W"],
[111356, 119551, "N"],
[119552, 119638, "W"],
[119639, 119647, "N"],
[119648, 119670, "W"],
[119671, 126979, "N"],
[126980, 126980, "W"],
[126981, 127182, "N"],
[127183, 127183, "W"],
[127184, 127231, "N"],
[127232, 127242, "A"],
[127243, 127247, "N"],
[127248, 127277, "A"],
[127278, 127279, "N"],
[127280, 127337, "A"],
[127338, 127343, "N"],
[127344, 127373, "A"],
[127374, 127374, "W"],
[127375, 127376, "A"],
[127377, 127386, "W"],
[127387, 127404, "A"],
[127405, 127487, "N"],
[127488, 127490, "W"],
[127491, 127503, "N"],
[127504, 127547, "W"],
[127548, 127551, "N"],
[127552, 127560, "W"],
[127561, 127567, "N"],
[127568, 127569, "W"],
[127570, 127583, "N"],
[127584, 127589, "W"],
[127590, 127743, "N"],
[127744, 127776, "W"],
[127777, 127788, "N"],
[127789, 127797, "W"],
[127798, 127798, "N"],
[127799, 127868, "W"],
[127869, 127869, "N"],
[127870, 127891, "W"],
[127892, 127903, "N"],
[127904, 127946, "W"],
[127947, 127950, "N"],
[127951, 127955, "W"],
[127956, 127967, "N"],
[127968, 127984, "W"],
[127985, 127987, "N"],
[127988, 127988, "W"],
[127989, 127991, "N"],
[127992, 128062, "W"],
[128063, 128063, "N"],
[128064, 128064, "W"],
[128065, 128065, "N"],
[128066, 128252, "W"],
[128253, 128254, "N"],
[128255, 128317, "W"],
[128318, 128330, "N"],
[128331, 128334, "W"],
[128335, 128335, "N"],
[128336, 128359, "W"],
[128360, 128377, "N"],
[128378, 128378, "W"],
[128379, 128404, "N"],
[128405, 128406, "W"],
[128407, 128419, "N"],
[128420, 128420, "W"],
[128421, 128506, "N"],
[128507, 128591, "W"],
[128592, 128639, "N"],
[128640, 128709, "W"],
[128710, 128715, "N"],
[128716, 128716, "W"],
[128717, 128719, "N"],
[128720, 128722, "W"],
[128723, 128724, "N"],
[128725, 128728, "W"],
[128729, 128731, "N"],
[128732, 128735, "W"],
[128736, 128746, "N"],
[128747, 128748, "W"],
[128749, 128755, "N"],
[128756, 128764, "W"],
[128765, 128991, "N"],
[128992, 129003, "W"],
[129004, 129007, "N"],
[129008, 129008, "W"],
[129009, 129291, "N"],
[129292, 129338, "W"],
[129339, 129339, "N"],
[129340, 129349, "W"],
[129350, 129350, "N"],
[129351, 129535, "W"],
[129536, 129647, "N"],
[129648, 129660, "W"],
[129661, 129663, "N"],
[129664, 129674, "W"],
[129675, 129677, "N"],
[129678, 129734, "W"],
[129735, 129735, "N"],
[129736, 129736, "W"],
[129737, 129740, "N"],
[129741, 129756, "W"],
[129757, 129758, "N"],
[129759, 129770, "W"],
[129771, 129774, "N"],
[129775, 129784, "W"],
[129785, 131071, "N"],
[131072, 196605, "W"],
[196606, 196607, "N"],
[196608, 262141, "W"],
[262142, 917759, "N"],
[917760, 917999, "A"],
[918e3, 983039, "N"],
[983040, 1048573, "A"],
[1048574, 1048575, "N"],
[1048576, 1114109, "A"],
[1114110, 1114111, "N"]
];
var version = "17.0.0";
function getEAWOfCodePointInternal(codePoint) {
let min = 0;
let max = defs.length - 1;
while (min !== max) {
const i = min + (max - min >> 1);
const [start, end, prop] = defs[i];
if (codePoint < start) {
max = i - 1;
} else if (codePoint > end) {
min = i + 1;
} else {
return prop;
}
}
return defs[min][2];
}
function getEAWOfCodePoint(codePoint) {
if (!Number.isInteger(codePoint) || codePoint < 0 || 1114111 < codePoint) {
return void 0;
}
return getEAWOfCodePointInternal(codePoint);
}
function getEAW(str, pos = 0) {
const codePoint = str.codePointAt(pos);
if (codePoint === void 0) {
return void 0;
}
return getEAWOfCodePointInternal(codePoint);
}
var defaultWidths = {
N: 1,
Na: 1,
W: 2,
F: 2,
H: 1,
A: 1
};
function computeWidth(str, widths) {
let width = 0;
for (const char of str) {
const eaw = getEAW(char);
width += widths && widths[eaw] || defaultWidths[eaw];
}
return width;
}
export {
computeWidth,
version as eawVersion,
getEAW,
getEAWOfCodePoint
};