xvai-loi 0.1.53 → 0.1.55
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/co.txt +1 -1
- package/package.json +1 -1
- package/xvai-loi.js +45 -9
package/co.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
xvaiLoi110926
|
package/package.json
CHANGED
package/xvai-loi.js
CHANGED
|
@@ -9700,7 +9700,7 @@ function datKhoiChu(g, kc, coThanh, coTach, vungTruoc, choThu = false, WH = 9 /
|
|
|
9700
9700
|
}
|
|
9701
9701
|
const tot0 = ung.reduce((m, u) => Math.max(m, u.diem), 0);
|
|
9702
9702
|
if (choThu && mat && tot0 < 70) for (const t of [0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6]) {
|
|
9703
|
-
const d2 = 1 - t + dinh * t, k = Math.min(1, (d2 - BC.hoToc - top) / kc.h);
|
|
9703
|
+
const d2 = 1 - t + Math.max(0, dinh) * t, k = Math.min(1, (d2 - BC.hoToc - top) / kc.h);
|
|
9704
9704
|
if (k >= (t >= 0.7 ? 0.7 : 0.6)) {
|
|
9705
9705
|
ung.push({ x: 0.5, y: top + kc.h * k / 2, k, lop: "truoc", vung: "thu-nguoi", thu: t, diem: 100 * (0.35 + 0.65 * k) * 0.85 });
|
|
9706
9706
|
break;
|
|
@@ -10741,8 +10741,22 @@ dangKy("cmAnh", (g, d, tuoi, W4, H2, _n, _s, dai2) => {
|
|
|
10741
10741
|
let yK = 0.6 * H2, kK = 1, xK = cxK, wK2 = wK;
|
|
10742
10742
|
if (im && !(im.width > 1.25 * im.height) && d.ten) {
|
|
10743
10743
|
const kh = String(d.ten);
|
|
10744
|
-
if (!luoiAnhCache.has(kh))
|
|
10744
|
+
if (!luoiAnhCache.has(kh)) {
|
|
10745
|
+
let U = luoiAnh(im, W4, H2);
|
|
10746
|
+
for (const tt of [0.5, 1, 1.5]) {
|
|
10747
|
+
const im2 = khungTS(d.ten, tt);
|
|
10748
|
+
if (im2 && im2 !== im) {
|
|
10749
|
+
const L2 = luoiAnh(im2, W4, H2);
|
|
10750
|
+
if (L2) {
|
|
10751
|
+
if (!U) U = L2;
|
|
10752
|
+
else for (let q = 0; q < U.length; q++) U[q] = U[q] | L2[q];
|
|
10753
|
+
}
|
|
10754
|
+
}
|
|
10755
|
+
}
|
|
10756
|
+
luoiAnhCache.set(kh, U);
|
|
10757
|
+
}
|
|
10745
10758
|
const LA = luoiAnhCache.get(kh);
|
|
10759
|
+
if (LA) globalThis.__anhLuoi = { k: globalThis.__khungSo, L: LA };
|
|
10746
10760
|
if (LA && LA.some((v) => v)) {
|
|
10747
10761
|
const n1 = String(d.chu).split(String.fromCharCode(10)).length, hK = (n1 * 1.15 * 112 + (d.chu2 ? 125 : 0)) / 1920, c = datKhoiChu({ luoi: LA, mat: null, dinh: null, anh: 1 }, { h: hK, w: 0.76 }, false, false, void 0, false, W4 / H2, d.pip && _n ? [[0.06, 0.555, 0.42, 0.8]] : []);
|
|
10748
10762
|
if (c.k >= 0.75) {
|
|
@@ -10750,6 +10764,19 @@ dangKy("cmAnh", (g, d, tuoi, W4, H2, _n, _s, dai2) => {
|
|
|
10750
10764
|
xK = c.x * W4;
|
|
10751
10765
|
wK2 = 0.76 * W4;
|
|
10752
10766
|
yK = (c.y - hK * c.k / 2 + 0.575 * 112 / 1920 * c.k) * H2;
|
|
10767
|
+
} else {
|
|
10768
|
+
const ph = (y0) => {
|
|
10769
|
+
let n = 0, t = 0;
|
|
10770
|
+
for (let r = Math.floor(y0 * 64); r < Math.min(64, Math.ceil((y0 + hK) * 64)); r++) for (let cc = 4; cc < 32; cc++) {
|
|
10771
|
+
t++;
|
|
10772
|
+
n += LA[r * 36 + cc];
|
|
10773
|
+
}
|
|
10774
|
+
return t ? n / t : 1;
|
|
10775
|
+
};
|
|
10776
|
+
const yB = [0.66, 0.6, 0.14, 0.72].map((y) => [y, ph(y)]).sort((a2, b) => a2[1] - b[1])[0][0];
|
|
10777
|
+
yK = (yB + 0.575 * 112 / 1920) * H2;
|
|
10778
|
+
xK = W4 / 2;
|
|
10779
|
+
wK2 = 0.76 * W4;
|
|
10753
10780
|
}
|
|
10754
10781
|
}
|
|
10755
10782
|
}
|
|
@@ -11140,8 +11167,17 @@ dangKy("cmSticker", (g, d, tuoi, W4, H2, _n, _s, dai2) => {
|
|
|
11140
11167
|
if (h.t !== tk) break;
|
|
11141
11168
|
if (/^chu|^the|^nguoi|^anh:the/.test(String(h.lop))) chuK.push([h.x0, h.y0, h.x1, h.y1]);
|
|
11142
11169
|
}
|
|
11143
|
-
const
|
|
11144
|
-
|
|
11170
|
+
const AL = G3.__anhLuoi && G3.__anhLuoi.k === G3.__khungSo ? G3.__anhLuoi.L : null, coNguoiAnh = (cx, cy) => {
|
|
11171
|
+
if (!AL) return false;
|
|
11172
|
+
let n = 0, t = 0;
|
|
11173
|
+
for (let r0 = Math.max(0, Math.floor((cy - ry) * 64)); r0 < Math.min(64, Math.ceil((cy + ry) * 64)); r0++) for (let c0 = Math.max(0, Math.floor((cx - r) * 36)); c0 < Math.min(36, Math.ceil((cx + r) * 36)); c0++) {
|
|
11174
|
+
t++;
|
|
11175
|
+
n += AL[r0 * 36 + c0];
|
|
11176
|
+
}
|
|
11177
|
+
return t > 0 && n / t > 0.15;
|
|
11178
|
+
};
|
|
11179
|
+
const khongChu = (cx, cy) => !coNguoiAnh(cx, cy) && !chuK.some((b) => cx + r > b[0] - 0.01 && cx - r < b[2] + 0.01 && cy + ry > b[1] - 0.01 && cy - ry < b[3] + 0.01);
|
|
11180
|
+
if (B || chuK.length || AL) {
|
|
11145
11181
|
const Bq = B || [2, 2, 2, 2];
|
|
11146
11182
|
const dung = (cx, cy) => cx - r >= 0.02 && cx + r <= 0.98 && cy - ry >= 0.09 && cy + ry <= 0.9 && (cx + r < Bq[0] - 0.02 || cx - r > Bq[2] + 0.02 || cy + ry < Bq[1] - 0.02 || cy - ry > Bq[3] + 0.02) && khongChu(cx, cy);
|
|
11147
11183
|
const yc = Math.min(0.86, (B ? B[3] : 0.6) + 0.04 + ry), c = [[x, y], [1 - x, y], [x, Math.max(0.12, y - 0.12)], [x, Math.min(0.85, y + 0.12)], [x < 0.5 ? 0.13 : 0.87, yc], [x < 0.5 ? 0.87 : 0.13, yc]].find((p) => dung(p[0], p[1]));
|
|
@@ -11158,7 +11194,7 @@ napLogo();
|
|
|
11158
11194
|
var DAU_MUC = /^(đầu tiên|thứ nhất|thứ (hai|ba|tư|năm|sáu|bảy|tám|\d+)|tiếp theo|kế tiếp|tiếp nữa|cuối cùng|và cuối cùng|số (một|hai|ba|\d+)|công cụ (thứ|số)|skill (thứ|số))/;
|
|
11159
11195
|
var HU3 = " mu\u1ED1n bi\u1EBFt c\u1EE9 l\xE0 c\xF3 th\xEC m\xE0 v\xE0 c\u1EE7a nh\u1EEFng c\xE1c m\u1ED9t c\xE1i \u0111\xE3 \u0111ang s\u1EBD r\u1EA5t c\u0169ng nh\u01B0ng n\xE0y n\xF3 anh em m\xECnh b\u1EA1n cho v\u1EDBi \u0111\u1EC3 \u0111\u01B0\u1EE3c kh\xF4ng th\u1EC3 ra v\xE0o ";
|
|
11160
11196
|
var VIET = /^(AI|OK|An|Anh|Em|Con|Cho|Hay|Khi|Nhung|Minh|Ta|Toi|Ai|Thi|Theo|Thanh|Cung|Chi|Chinh|Nhanh|Sau|Lam|Ban|Muon|Tim|Xem|Video|Hello|Hi|Nha|Ok|Ha|Hoa|Tin|Tai|Lan|Ngon|Ngay)$/;
|
|
11161
|
-
var sach2 = (s) => String(s || "").replace(/[.,!?;:…"“”()]/g, "").trim();
|
|
11197
|
+
var sach2 = (s) => String(s || "").replace(/(\d)\.(\d)/g, "$1\xA7$2").replace(/(\d),(\d)/g, "$1\xA4$2").replace(/[.,!?;:…"“”()]/g, "").replace(/§/g, ".").replace(/¤/g, ",").trim();
|
|
11162
11198
|
var hoa3 = (s) => s.toLocaleUpperCase("vi");
|
|
11163
11199
|
function tenRieng(ws) {
|
|
11164
11200
|
let best = "", cur = [];
|
|
@@ -13257,7 +13293,7 @@ function veTrangTu(g, c, T, W4, H2, nen2, mo4) {
|
|
|
13257
13293
|
if (coPip) vat.push([O2.b[0] - e, O2.b[1] - e, O2.b[2] + e, O2.b[3] + e, 3]);
|
|
13258
13294
|
if (D && D[3] > D[1]) {
|
|
13259
13295
|
const hh = D[3] - D[1];
|
|
13260
|
-
vat.push([D[0] * W4, (D[1] + 0.3 * hh) * H2, D[2] * W4, (D[1] + 0.
|
|
13296
|
+
vat.push([D[0] * W4, (D[1] + 0.3 * hh) * H2, D[2] * W4, (D[1] + 0.8 * hh) * H2, 3], [D[0] * W4, (D[1] - 0.05) * H2, D[2] * W4, (D[1] + 0.3 * hh) * H2, 2], [D[0] * W4, (D[1] + 0.8 * hh) * H2, D[2] * W4, (D[3] + 0.025) * H2, 1.2]);
|
|
13261
13297
|
}
|
|
13262
13298
|
const phat = (y0) => vat.reduce((t, b) => t + b[4] * Math.max(0, Math.min(S[2], b[2]) - Math.max(S[0], b[0])) * Math.max(0, Math.min(S[3] + y0, b[3]) - Math.max(S[1] + y0, b[1])), 0);
|
|
13263
13299
|
if (phat(0) > 0) {
|
|
@@ -17480,7 +17516,7 @@ async function nhanAI(ws, onStatus) {
|
|
|
17480
17516
|
var ganNhan = (ws, nh) => nh ? ws.map((w, i) => ({ ...w, n: w.n || (nh.k.indexOf(i) >= 0 ? 1 : 0) })) : ws;
|
|
17481
17517
|
|
|
17482
17518
|
// flow-src/engine/deAI.ts
|
|
17483
|
-
var DE_CM = 'B\u1EA1n l\xE0 \u0111\u1EA1o di\u1EC5n h\xECnh cho video d\u1ECDc ng\u1EAFn ti\u1EBFng Vi\u1EC7t, ng\u01B0\u1EDDi n\xF3i tr\u01B0\u1EDBc m\xE1y, m\u1ECDi th\u1EC3 lo\u1EA1i. \u0110\u1ECDc l\u1EDDi r\u1ED3i tr\u1EA3 \u0110\xDANG M\u1ED8T JSON, kh\xF4ng gi\u1EA3i th\xEDch: {"the_loai":"liet-ke|ke-chuyen|lap-luan|ban-hang|huong-dan|khac","co_liet_ke":true/false (true CH\u1EC8 khi ng\u01B0\u1EDDi n\xF3i l\u1EA7n l\u01B0\u1EE3t k\u1EC3 t\u1EEB 3 m\u1EE5c/b\u01B0\u1EDBc tr\u1EDF l\xEAn),"moc":"2-5 t\u1EEB NGUY\xCAN V\u0102N c\xE2u \u0111\u1EA7u n\xEAu ch\u1EE7 \u0111\u1EC1","chot":"l\u1EDDi ch\u1ED1t 3-6 t\u1EEB","nhom":"t\xEAn lo\u1EA1i m\u1EE5c (vd M\u1EB8O, B\u01AF\u1EDAC, C\xD4NG C\u1EE4) ho\u1EB7c r\u1ED7ng","muc":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i b\u1EAFt \u0111\u1EA7u n\xF3i m\u1EE5c","ten":"t\xEAn m\u1EE5c \u0111\xFAng ch\xEDnh t\u1EA3, \u0111\u1EE7 ch\u1EEF nh\u01B0 ng\u01B0\u1EDDi n\xF3i; t\xEAn n\u01B0\u1EDBc ngo\xE0i b\u1ECB phi\xEAn \xE2m th\xEC ghi t\xEAn g\u1ED1c","mo":"vi\u1EC7c n\xF3 l\xE0m \u2264 5 t\u1EEB","url":"https trang ch\xEDnh th\u1EE9c CH\u1EC8 khi ch\u1EAFc ch\u1EAFn, kh\xF4ng th\xEC r\u1ED7ng","kq":["\u2264 3 k\u1EBFt qu\u1EA3, m\u1ED7i c\xE1i \u2264 4 t\u1EEB, l\u1EA5y t\u1EEB l\u1EDDi"]}],"canh":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i h\xECnh b\u1EAFt \u0111\u1EA7u","kieu":"anh|vat|chu|so|ds","dong":["kieu ds: 2-3 \xFD nguy\xEAn v\u0103n \u2264 3 t\u1EEB, \u0111\xFAng th\u1EE9 t\u1EF1 n\xF3i"],"chu":"ch\u1EEF kho\xE1 \u2264 3 t\u1EEB IN HOA t\xF3m \xFD","chu2":"d\xF2ng ph\u1EE5 \u2264 3 t\u1EEB IN HOA ho\u1EB7c r\u1ED7ng","sac":"am|duong|trung (s\u1EAFc th\xE1i; c\xE2u ph\u1EE7 \u0111\u1ECBnh nh\u01B0 \u201Ckh\xF4ng m\u1EA5t ph\xED\u201D l\xE0 duong)","icon":"tien|dongho|canhbao|tich|bieudo|tim|lua|tenlua|bongden|qua|giohang|nha|sach|dienthoai|cup|khien|la|giot|kinhlup|sai|khong \u2014 ch\u1ECDn khi h\u1EE3p ngh\u0129a
|
|
17519
|
+
var DE_CM = 'B\u1EA1n l\xE0 \u0111\u1EA1o di\u1EC5n h\xECnh cho video d\u1ECDc ng\u1EAFn ti\u1EBFng Vi\u1EC7t, ng\u01B0\u1EDDi n\xF3i tr\u01B0\u1EDBc m\xE1y, m\u1ECDi th\u1EC3 lo\u1EA1i. \u0110\u1ECDc l\u1EDDi r\u1ED3i tr\u1EA3 \u0110\xDANG M\u1ED8T JSON, kh\xF4ng gi\u1EA3i th\xEDch: {"the_loai":"liet-ke|ke-chuyen|lap-luan|ban-hang|huong-dan|khac","co_liet_ke":true/false (true CH\u1EC8 khi ng\u01B0\u1EDDi n\xF3i l\u1EA7n l\u01B0\u1EE3t k\u1EC3 t\u1EEB 3 m\u1EE5c/b\u01B0\u1EDBc tr\u1EDF l\xEAn),"moc":"2-5 t\u1EEB NGUY\xCAN V\u0102N c\xE2u \u0111\u1EA7u n\xEAu ch\u1EE7 \u0111\u1EC1","chot":"l\u1EDDi ch\u1ED1t 3-6 t\u1EEB","nhom":"t\xEAn lo\u1EA1i m\u1EE5c (vd M\u1EB8O, B\u01AF\u1EDAC, C\xD4NG C\u1EE4) ho\u1EB7c r\u1ED7ng","muc":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i b\u1EAFt \u0111\u1EA7u n\xF3i m\u1EE5c","ten":"t\xEAn m\u1EE5c \u0111\xFAng ch\xEDnh t\u1EA3, \u0111\u1EE7 ch\u1EEF nh\u01B0 ng\u01B0\u1EDDi n\xF3i; t\xEAn n\u01B0\u1EDBc ngo\xE0i b\u1ECB phi\xEAn \xE2m th\xEC ghi t\xEAn g\u1ED1c","mo":"vi\u1EC7c n\xF3 l\xE0m \u2264 5 t\u1EEB","url":"https trang ch\xEDnh th\u1EE9c CH\u1EC8 khi ch\u1EAFc ch\u1EAFn, kh\xF4ng th\xEC r\u1ED7ng","kq":["\u2264 3 k\u1EBFt qu\u1EA3, m\u1ED7i c\xE1i \u2264 4 t\u1EEB, l\u1EA5y t\u1EEB l\u1EDDi"]}],"canh":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N n\u01A1i h\xECnh b\u1EAFt \u0111\u1EA7u","kieu":"anh|vat|chu|so|ds","dong":["kieu ds: 2-3 \xFD nguy\xEAn v\u0103n \u2264 3 t\u1EEB, \u0111\xFAng th\u1EE9 t\u1EF1 n\xF3i"],"chu":"ch\u1EEF kho\xE1 \u2264 3 t\u1EEB IN HOA t\xF3m \xFD","chu2":"d\xF2ng ph\u1EE5 \u2264 3 t\u1EEB IN HOA ho\u1EB7c r\u1ED7ng","sac":"am|duong|trung (s\u1EAFc th\xE1i; c\xE2u ph\u1EE7 \u0111\u1ECBnh nh\u01B0 \u201Ckh\xF4ng m\u1EA5t ph\xED\u201D l\xE0 duong)","icon":"tien|dongho|canhbao|tich|bieudo|tim|lua|tenlua|bongden|qua|giohang|nha|sach|dienthoai|cup|khien|la|giot|kinhlup|sai|khong \u2014 icon nh\u1ECF G\u1EAEN TH\xCAM v\xE0o c\u1EA3nh b\u1EA5t k\u1EF3 (c\u1EA3 c\u1EA3nh anh), ch\u1ECDn khi h\u1EE3p ngh\u0129a; kh\xF4ng thay c\u1EA3nh anh","en":"kieu anh: 1 \u1EA3nh ch\u1EE5p th\u1EADt ti\u1EBFng Anh minh ho\u1EA1 \u0110\xDANG ngh\u0129a c\u1EE5m \u0111ang n\xF3i, ng\u01B0\u1EDDi Vi\u1EC7t, b\u1ED1i c\u1EA3nh v\xE0 h\xE0nh \u0111\u1ED9ng c\u1EE5 th\u1EC3, kh\xF4ng ch\u1EEF; kieu vat: 1 \u0111\u1ED3 v\u1EADt 3D ti\u1EBFng Anh; chu/so: r\u1ED7ng"}],"sua":[["c\u1EE5m nghe SAI nguy\xEAn v\u0103n 1-4 t\u1EEB","c\u1EE5m \u0110\xDANG"]]}. Quy t\u1EAFc: co_liet_ke false \u2192 muc [] v\xE0 nhom r\u1ED7ng, b\u1ECF qua m\u1ECDi quy t\u1EAFc v\u1EC1 m\u1EE5c. canh r\u1EA3i \u0111\u1EC1u 1 c\u1EA3nh m\u1ED7i 2,5-3,5 gi\xE2y l\u1EDDi, \u0111\u1ED5i h\xECnh \u0111\xFAng c\u1EE5m t\u1EEB; anh cho b\u1ED1i c\u1EA3nh, c\u1EA3m x\xFAc, \u1EA9n d\u1EE5; vat cho \u0111\u1ED3 v\u1EADt, bi\u1EC3u t\u01B0\u1EE3ng; chu cho c\xE2u \u0111\u1EAFt; so cho con s\u1ED1 c\xF3 trong l\u1EDDi; ds khi l\u1EDDi k\u1EC3 2-3 th\u1EE9 li\u1EC1n nhau. S\u1ED1 anh \u2248 1 m\u1ED7i 6-7 gi\xE2y l\u1EDDi (t\u1ED1i \u0111a 24, KH\xD4NG gi\u1EA3m v\xEC \u0111\xE3 c\xF3 icon), vat \u2264 5, r\u1EA3i \u0110\u1EC0U \u0111\u1EA7u/gi\u1EEFa/cu\u1ED1i (ph\u1EA7n cu\u1ED1i c\u0169ng c\xF3 anh). 3-4 c\u1EA3nh anh \u0111\u1EA7u minh ho\u1EA1 \u0111\xFAng ch\u1EE7 \u0111\u1EC1 c\xE2u m\u1EDF. C\xF3 li\u1EC7t k\xEA: m\u1ED7i m\u1EE5c c\xF3 \u2265 1 anh ho\u1EB7c vat minh ho\u1EA1, kh\xF4ng \u0111\u1EB7t c\u1EA3nh \u0111\xFAng ch\u1ED7 b\u1EAFt \u0111\u1EA7u m\u1EE5c. Kh\xF4ng b\u1ECBa con s\u1ED1. sua = m\u1ECDi ch\u1ED7 nghe nh\u1EA7m t\xEAn ri\xEAng, thu\u1EADt ng\u1EEF, ch\xEDnh t\u1EA3, t\u1ED1i \u0111a 30. L\u1EDDi n\xF3i: ';
|
|
17484
17520
|
var DE_SUA = 'B\u1EA1n l\xE0 bi\xEAn t\u1EADp vi\xEAn so\xE1t ph\u1EE5 \u0111\u1EC1 ti\u1EBFng Vi\u1EC7t do m\xE1y nghe ch\xE9p l\u1EA1i t\u1EEB m\u1ED9t video n\xF3i tr\u01B0\u1EDBc m\xE1y. T\xECm M\u1ECCI c\u1EE5m b\u1ECB nghe nh\u1EA7m (t\xEAn ri\xEAng, t\xEAn c\xF4ng c\u1EE5, t\u1EEB ti\u1EBFng Anh b\u1ECB phi\xEAn \xE2m, sai d\u1EA5u, t\u1EEB v\xF4 ngh\u0129a so v\u1EDBi ng\u1EEF c\u1EA3nh, con s\u1ED1 \u0111\u1ECDc b\u1EB1ng ch\u1EEF) r\u1ED3i tr\u1EA3 v\u1EC1 \u0110\xDANG M\u1ED8T JSON {"sua":[["c\u1EE5m SAI nguy\xEAn v\u0103n 1-4 t\u1EEB \u0111\xFAng nh\u01B0 trong l\u1EDDi","c\u1EE5m \u0110\xDANG"]]}, t\u1ED1i \u0111a 40 c\u1EB7p, kh\xF4ng gi\u1EA3i th\xEDch. L\u1EDDi: ';
|
|
17485
17521
|
var DE_CANH = 'B\u1EA1n l\xE0 \u0111\u1EA1o di\u1EC5n h\xECnh cho video d\u1ECDc n\xF3i tr\u01B0\u1EDBc m\xE1y ki\u1EC3u "Top N c\xF4ng c\u1EE5". D\u01B0\u1EDBi \u0111\xE2y l\xE0 l\u1EDDi n\xF3i c\xF3 m\u1ED1c gi\xE2y [gi\xE2y]. H\xE3y l\u1EADp DANH S\xC1CH C\u1EA2NH D\xC0Y: 1 c\u1EA3nh m\u1ED7i 2,5-3,5 gi\xE2y l\u1EDDi, ph\u1EE7 \u0111\u1EC1u t\u1EEB \u0111\u1EA7u t\u1EDBi cu\u1ED1i, m\u1ED7i c\u1EA3nh neo v\xE0o \u0111\xFAng c\u1EE5m t\u1EEB \u0111ang n\xF3i. Tr\u1EA3 v\u1EC1 \u0110\xDANG M\u1ED8T JSON {"canh":[{"tu":"2-4 t\u1EEB NGUY\xCAN V\u0102N li\u1EC1n nhau trong l\u1EDDi","kieu":"anh|vat|chu|so|ds","dong":["kieu ds: 2-3 \xFD NGUY\xCAN V\u0102N \u2264 3 t\u1EEB m\u1ED7i \xFD, \u0111\xFAng th\u1EE9 t\u1EF1 n\xF3i"],"chu":"ch\u1EEF kh\xF3a \u2264 3 t\u1EEB IN HOA t\xF3m \xFD","chu2":"d\xF2ng ph\u1EE5 \u2264 3 t\u1EEB ho\u1EB7c r\u1ED7ng","icon":"tien|dongho|canhbao|tich|bieudo|tim|lua|tenlua|bongden|qua|giohang|nha|sach|dienthoai|cup|khien|la|giot|kinhlup|sai|khong \u2014 bi\u1EC3u t\u01B0\u1EE3ng nh\u1ECF CH\u1EC8 khi \u0111\xFAng ngh\u0129a c\xE2u n\xF3i (vd: t\u1ED1n ti\u1EC1n \u2192 tien; tri\u1EC7u view \u2192 bieudo; xong vi\u1EC7c \u2192 tich), kh\xF4ng ch\u1EAFc \u2192 khong","en":"kieu anh: 1 \u1EA3nh ch\u1EE5p th\u1EADt b\u1EB1ng ti\u1EBFng Anh MINH HO\u1EA0 \u0110\xDANG NGH\u0128A c\u1EE5m \u0111ang n\xF3i (vd \u0111i\u1EC7p vi\xEAn \u0111\u1ED1i th\u1EE7 \u2192 a man in dark hoodie secretly studying competitor ads on several monitors; l\u01B0\u1EDBt \u0111i\u1EC7n tho\u1EA1i \u2192 a woman lying on sofa scrolling her phone), ng\u01B0\u1EDDi Vi\u1EC7t, KH\xD4NG ch\u1EEF; kieu vat: 1 v\u1EADt/bi\u1EC3u t\u01B0\u1EE3ng 3D b\u1EB1ng ti\u1EBFng Anh; chu/so: r\u1ED7ng"}]}, kh\xF4ng gi\u1EA3i th\xEDch. KH\xD4NG \u0111\u1EB7t c\u1EA3nh tr\xF9ng 3 gi\xE2y \u0111\u1EA7u m\u1ED7i m\u1EE5c c\xF4ng c\u1EE5 (\u0111\xE3 c\xF3 th\u1EBB c\xF4ng c\u1EE5); con s\u1ED1 trong l\u1EDDi (x10, 1 ph\xFAt, 2 ng\u01B0\u1EDDi) \u2192 kieu so. anh cho n\u1ED7i \u0111au, b\u1ED1i c\u1EA3nh, \u1EA9n d\u1EE5 (ph\u1EA7n m\u1EDF: 3-4 \u1EA3nh n\u1ED1i nhau); vat cho \u0111\u1ED3 v\u1EADt, bi\u1EC3u t\u01B0\u1EE3ng; chu cho c\xE2u \u0111\u1EAFt; so cho con s\u1ED1 c\xF3 trong l\u1EDDi. Kh\xF4ng b\u1ECBa s\u1ED1. L\u1EDDi: ';
|
|
17486
17522
|
|
|
@@ -20435,7 +20471,7 @@ async function napLoi(d) {
|
|
|
20435
20471
|
return "LOI: " + String(e && e.message || e).slice(0, 300);
|
|
20436
20472
|
}
|
|
20437
20473
|
}
|
|
20438
|
-
var LOI_URL = "https://cdn.jsdelivr.net/npm/xvai-loi@0.1.
|
|
20474
|
+
var LOI_URL = "https://cdn.jsdelivr.net/npm/xvai-loi@0.1.54/nap.js";
|
|
20439
20475
|
var TRONG_LOI = !!globalThis.__xvaiReact;
|
|
20440
20476
|
try {
|
|
20441
20477
|
if (!TRONG_LOI) setTimeout(() => {
|
|
@@ -20465,7 +20501,7 @@ function datCauLenh(a) {
|
|
|
20465
20501
|
on2 = true;
|
|
20466
20502
|
window.addEventListener("message", async (ev) => {
|
|
20467
20503
|
const d = ev.data;
|
|
20468
|
-
if (!d || d.
|
|
20504
|
+
if (!d || d.xvaiLoi110926 !== true) return;
|
|
20469
20505
|
const o = String(ev.origin || "");
|
|
20470
20506
|
if (!(o.indexOf("https://flow.google.com") === 0 || o.indexOf("https://labs.google") === 0)) return;
|
|
20471
20507
|
const tra = (kq) => {
|