PageSourceSearch

https://aivivu.com/_next/static/chunks/17v0375v7cpu..js

js aivivu.com collected 2026-10-02 10:37:17 UTC 13,040 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70069,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},62906,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return v},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return w},NormalizeError:function(){return y},PageNotFoundError:function(){return b},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return o},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return E}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>l.test(e);function u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class v extends Error{}class y extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},66921,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return s},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return l}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});function a(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,o(e));else t.set(n,o(r));return t}function s(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},82762,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={cancelIdleCallback:function(){return o},requestIdleCallback:function(){return a}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let a="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},o="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esMo
1dule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},85939,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={ESCAPE_REGEX:function(){return o},htmlEscapeAttributeString:function(){return c},htmlEscapeJsonString:function(){return u}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let a={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},o=/[&><\u2028\u2029]/g,l={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},s=/[&"'<>]/g;function u(e){return e.replace(o,e=>a[e])}function c(e){return e.replace(s,e=>l[e])}},12616,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return w},handleClientScriptLoad:function(){return v},initScriptLoader:function(){return y}};for(var i in r)Object.defineProperty(n,i,{enumerable:!0,get:r[i]});let a=e.r(81258),o=e.r(44066),l=e.r(27741),s=a._(e.r(73149)),u=o._(e.r(35364)),c=e.r(28821),d=e.r(50247),f=e.r(82762),h=e.r(85939),p=new Map,g=new Set,m=e=>{let{src:t,id:n,onLoad:r=()=>{},onReady:i=null,dangerouslySetInnerHTML:a,children:o="",strategy:l="afterInteractive",onError:u,stylesheets:c}=e,f=n||t;if(f&&g.has(f))return;if(p.has(t)){g.add(f),p.get(t).then(r,u);return}let h=()=>{i&&i(),g.add(f)},m=document.createElement("script"),v=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),r&&r.call(this,t),h()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){u&&u(e)});a?(m.innerHTML=a.__html||"",h()):o?(m.textContent="string"==typeof o?o:Array.isArray(o)?o.join(""):"",h()):t&&(m.src=t,p.set(t,v)),(0,d.setAttributesFromProps)(m,e),"worker"===l&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",l),c&&(e=>{if(s.default.preinit)return e.forEach(e=>{s.default.preinit(e,{as:"style"})});if("u">typeof window){let t=document.head;e.forEach(e=>{let n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)})}})(c),document.body.appendChild(m)};function v(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>m(e))}):m(e)}function y(e){e.forEach(v),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");g.add(t)})}function b(e){let{id:t,src:n="",onLoad:r=()=>{},onReady:i=null,strategy:a="afterInteractive",onError:o,stylesheets:d,...p}=e,{updateScripts:v,scripts:y,getIsSsr:b,appDir:w,nonce:j}=(0,u.useContext)(c.HeadManagerContext);j=p.nonce||j;let E=(0,u.useRef)(!1);(0,u.useEffect)(()=>{let e=t||n;E.current||(i&&e&&g.has(e)&&i(),E.current=!0)},[i,t,n]);let x=(0,u.useRef)(!1);if((0,u.useEffect)(()=>{if(!x.current){if("afterInteractive"===a)m(e);else"lazyOnload"===a&&("complete"===document.readyState?(0,f.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>m(e))}));x.current=!0}},[e,a]),("beforeInteractive"===a||"worker"===a)&&(v?(y[a]=(y[a]||[]).concat([{id:t,src:n,onLoad:r,onReady:i,onError:o,...p,nonce:j}]),v(y)):b&&b()?g.add(t||n):b&&!b()&&m({...e,nonce:j})),w){if(d&&d.forEach(e=>{s.default.preinit(e,{as:"style"})}),"beforeInteractive"===a)if(!n)return p.dangerouslySetInnerHTML&&(p.children=p.dangerouslySetInnerHTML.__html,delete p.dangerouslySetInnerHTML),(0,l.jsx)("script",{nonce:j,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,h.htmlEscapeJsonString)(JSON.stringify([0,{...p,id:t}]))})`}});else return s.default.preload(n,p.integrity?{as:"script",integrity:p.integrity,nonce:j,crossOrigin:p.crossOrigin}:{as:"script",nonce:j,crossOrigin:p.crossOrigin}),(0,l.jsx)("script",{nonce:j,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,h.htmlEscapeJsonString)(JSON.stringify([n,{...p,id:t}]))})`}});"afterInteractive"===a&&n&&s.default.preload(n,p.integrity?{as:"script",integrity:p.integrity,nonce:j,crossOrigin:p.crossOrigin}:{as:"script",nonce:j,crossOrigin:p.crossOrigin})}return null}Object.defineProperty(b,"__nextScript",{value:!0});let w=b;("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esMo
1dule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},94114,e=>{"use strict";var t=e.i(27741),n=e.i(35364);e.s(["default",0,function(){let[e,r]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{let e,t=0,n=()=>{let e=window.requestIdleCallback?.bind(window);e?t=e(()=>r(!0),{timeout:1800}):r(!0)},i=()=>{e=globalThis.setTimeout(n,3200)};return"complete"===document.readyState?i():window.addEventListener("load",i,{once:!0}),()=>{window.removeEventListener("load",i),t&&window.cancelIdleCallback?.(t),e&&globalThis.clearTimeout(e)}},[]),e)?(0,t.jsxs)("a",{className:"lazy-zalo-oa",href:"https://zalo.me/1701711923908278986",target:"_blank",rel:"noopener noreferrer","aria-label":"Chat với Zalo OA AIVIVU",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"Z"}),(0,t.jsx)("b",{children:"Zalo OA"}),(0,t.jsx)("small",{children:"Phản hồi nhanh"})]}):null}])},69900,e=>{"use strict";var t=e.i(27741),n=e.i(35364);function r(){return window.matchMedia("(display-mode: standalone)").matches||!!navigator.standalone}e.s(["default",0,function(){let[e,i]=(0,n.useState)(null),a=(0,n.useRef)(null),[o,l]=(0,n.use
1State)(!1),[s,u]=(0,n.useState)(!1),[c,d]=(0,n.useState)(!1),[f,h]=(0,n.useState)(!1);async function p(){let t=a.current??e;if(!t)return void u(!0);try{await t.prompt();let e=await t.userChoice;"accepted"===e.outcome&&l(!1),a.current=null,i(null)}catch{u(!0)}}return(0,n.useEffect)(()=>{if("serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js",{scope:"/"}).catch(()=>void 0),r())return;d(/iphone|ipad|ipod/i.test(navigator.userAgent)),h(!!navigator.brave);let e=e=>{e.preventDefault(),a.current=e,i(e)},t=()=>{l(!1),u(!1),a.current=null,i(null)},n=async()=>{if(r())return;let e=a.current;if(!e){l(!0),u(!0);return}try{await e.prompt();let t=await e.userChoice;a.current=null,i(null),"accepted"===t.outcome&&(l(!1),u(!1))}catch{l(!0),u(!0)}};return window.addEventListener("beforeinstallprompt",e),window.addEventListener("appinstalled",t),window.addEventListener("aivivu:install",n),()=>{window.removeEventListener("beforeinstallprompt",e),window.removeEventListener("appinstalled",t),window.removeEventListener("aivivu:install",n)}},[]),!o||r()?null:(0,t.jsxs)("aside",{className:"pwa-install","aria-label":"Cài đặt ứng dụng AIVIVU",children:[(0,t.jsx)("button",{className:"pwa-install-close",type:"button",onClick:function(){localStorage.setItem("aivivu-pwa-install-dismissed",String(Date.now())),l(!1),u(!1)},"aria-label":"Đóng thông báo cài ứng dụng",children:"×"}),(0,t.jsx)("img",{src:"/pwa/icon-192.png",width:"48",height:"48",alt:"","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"pwa-install-copy",children:[(0,t.jsx)("strong",{children:"Thêm AIVIVU vào màn hình chính"}),(0,t.jsx)("span",{children:"Mở nhanh, toàn màn hình và thuận tiện như một ứng dụng."})]}),(0,t.jsx)("button",{className:"pwa-install-action",type:"button",onClick:p,children:c?"Thêm vào màn hình chính":"Cài ứng dụng"}),s&&(0,t.jsxs)("div",{className:"pwa-install-help",role:"dialog","aria-label":"Hướng dẫn thêm AIVIVU vào màn hình chính",children:[(0,t.jsx)("b",{children:c?"Trên iPhone/iPad":f?"Cài đặt trong Brave":"Cài đặt từ trình duyệt"}),(0,t.jsx)("p",{children:c?(0,t.jsxs)(t.Fragment,{children:["Trong Safari, chạm nút ",(0,t.jsx)("strong",{children:"Chia sẻ"})," rồi chọn ",(0,t.jsx)("strong",{children:"Thêm vào Màn hình chính"}),"."]}):f?(0,t.jsxs)(t.Fragment,{children:["Mở menu Brave ",(0,t.jsx)("strong",{children:"☰"}),", chọn ",(0,t.jsx)("strong",{children:"Lưu và chia sẻ"})," rồi chọn ",(0,t.jsx)("strong",{children:"Cài đặt trang dưới dạng ứng dụng"}),"."]}):(0,t.jsxs)(t.Fragment,{children:["Mở menu trình duyệt ",(0,t.jsx)("strong",{children:"⋮"})," rồi chọn ",(0,t.jsx)("strong",{children:"Cài đặt ứng dụng"})," hoặc ",(0,t.jsx)("strong",{children:"Thêm vào màn hình chính"}),"."]})}),(0,t.jsx)("button",{type:"button",onClick:()=>u(!1),children:"Đã hiểu"})]})]})}])},72198,e=>{"use strict";var t=e.i(27741),n=e.i(35364);e.s(["default",0,function(){let[e,r]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{let e=()=>r(window.scrollY>520);return e(),window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),e)?(0,t.jsxs)("button",{className:"back-to-top",type:"button","aria-label":"Lên đầu trang",title:"Lên đầu trang",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"↑"}),(0,t.jsx)("small",{children:"Lên đầu"})]}):null}])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.