Bước tới nội dung

JavaScript

Bách khoa toàn thư mở Wikipedia

Đây là một phiên bản cũ của trang này, do 2402:800:61e2:69ab:28c7:9ae5:7bae:443a (thảo luận) sửa đổi vào lúc 08:33, ngày 16 tháng 3 năm 2022 (Sửa nội dung). Địa chỉ URL hiện tại là một liên kết vĩnh viễn đến phiên bản này của trang, có thể khác biệt rất nhiều so với phiên bản hiện hành.

<head><meta charset="UTF-8"><meta content="width=device-width,minimum-scale=1.0" name="viewport"><meta content="telephone=no" name="format-detection"><meta content="address=no" name="format-detection"><meta content="dark" name="color-scheme"><meta content="origin" name="referrer"><meta content="notranslate" name="google"><meta content="Au+2i4y1+sLtosKZCrwIjp12mernZ8slI7Do6umqbC/CrbHqWIL/tblckoNmX+ysGXfrkS8ne4xYhaFeXriYNgwAAABgeyJvcmlnaW4iOiJodHRwczovL3d3dy5nb29nbGUuY29tOjQ0MyIsImZlYXR1cmUiOiJTcGVjdWxhdGlvblJ1bGVzUHJlZmV0Y2giLCJleHBpcnkiOjE2NTI4MzE5OTl9" http-equiv="origin-trial"><link href="/images/branding/product/1x/gsa_android_144dp.png" rel="icon"><link href="/manifest?pwa=webhp" crossorigin="use-credentials" rel="manifest"><style data-iml="1647419543090">@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;font-display:optional;src:local('Google Sans Regular'),local('GoogleSans-Regular'),url(//fonts.gstatic.com/s/googlesans/v14/4UaGrENHsxJlGDuGo1OIlL3Kwp5eKQtGBlc.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;font-display:optional;src:local('Google Sans Regular'),local('GoogleSans-Regular'),url(//fonts.gstatic.com/s/googlesans/v14/4UaGrENHsxJlGDuGo1OIlL3Nwp5eKQtGBlc.woff2)format('woff2');unicode-range:U+0370-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;font-display:optional;src:local('Google Sans Regular'),local('GoogleSans-Regular'),url(//fonts.gstatic.com/s/googlesans/v14/4UaGrENHsxJlGDuGo1OIlL3Bwp5eKQtGBlc.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;font-display:optional;src:local('Google Sans Regular'),local('GoogleSans-Regular'),url(//fonts.gstatic.com/s/googlesans/v14/4UaGrENHsxJlGDuGo1OIlL3Awp5eKQtGBlc.woff2)format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;font-display:optional;src:local('Google Sans Regular'),local('GoogleSans-Regular'),url(//fonts.gstatic.com/s/googlesans/v14/4UaGrENHsxJlGDuGo1OIlL3Owp5eKQtG.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:optional;src:local('Google Sans Medium'),local('GoogleSans-Medium'),url(//fonts.gstatic.com/s/googlesans/v14/4UabrENHsxJlGDuGo1OIlLU94Yt3CwZsPF4oxIs.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:optional;src:local('Google Sans Medium'),local('GoogleSans-Medium'),url(//fonts.gstatic.com/s/googlesans/v14/4UabrENHsxJlGDuGo1OIlLU94YtwCwZsPF4oxIs.woff2)format('woff2');unicode-range:U+0370-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:optional;src:local('Google Sans Medium'),local('GoogleSans-Medium'),url(//fonts.gstatic.com/s/googlesans/v14/4UabrENHsxJlGDuGo1OIlLU94Yt8CwZsPF4oxIs.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:optional;src:local('Google Sans Medium'),local('GoogleSans-Medium'),url(//fonts.gstatic.com/s/googlesans/v14/4UabrENHsxJlGDuGo1OIlLU94Yt9CwZsPF4oxIs.woff2)format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:optional;src:local('Google Sans Medium'),local('GoogleSans-Medium'),url(//fonts.gstatic.com/s/googlesans/v14/4UabrENHsxJlGDuGo1OIlLU94YtzCwZsPF4o.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}</style><script src="https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.fQLVS3SAB_U.O/m=gapi_iframes,googleapis_client/rt=j/sv=1/d=1/ed=1/rs=AHpOoo9-gtqpJORJvBFDdao_eAhWe8xjHw/cb=gapi.loaded_0" nonce="LmaCEFbhuji6AlHBTwd2Kg==" async=""></script><script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){var l='400,500';var font='Google Sans'; (function(){if(document.fonts&&document.fonts.load)for(var d=l.split(","),b={},c=0,a=void 0;a=d[c];++c)b[a]||(b[a]=!0,document.fonts.load(a+" 10pt "+font).catch(function(){}))})();})();</script><title>Google</title><script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){window.google={kEI:'maAxYti5EfGo4t4PuamNkA8',kEXPI:'31',kBL:'skq8'};google.sn='webhp';google.kHL='vi';})();(function(){ var f=this||self;var h,k=[];function l(a){for(var b;a&&(!a.getAttribute||!(b=a.getAttribute("eid")));)a=a.parentNode;return b||h}function m(a){for(var b=null;a&&(!a.getAttribute||!(b=a.getAttribute("leid")));)a=a.parentNode;return b} function n(a,b,c,d,g){var e="";c||-1!==b.search("&ei=")||(e="&ei="+l(d),-1===b.search("&lei=")&&(d=m(d))&&(e+="&lei="+d));d="";!c&&f._cshid&&-1===b.search("&cshid=")&&"slh"!==a&&(d="&cshid="+f._cshid);c=c||"/"+(g||"gen_204")+"?atyp=i&ct="+a+"&cad="+b+e+"&zx="+Date.now()+d;/^http:/i.test(c)&&"https:"===window.location.protocol&&(google.ml&&google.ml(Error("a"),!1,{src:c,glmm:1}),c="");return c};h=google.kEI;google.getEI=l;google.getLEI=m;google.ml=function(){return null};google.log=function(a,b,c,d,g){if(c=n(a,b,c,d,g)){a=new Image;var e=k.length;k[e]=a;a.onerror=a.onload=a.onabort=function(){delete k[e]};a.src=c}};google.logUrl=n;}).call(this);(function(){ google.y={};google.sy=[];google.x=function(a,b){if(a)var c=a.id;else{do c=Math.random();while(google.y[c])}google.y[c]=[a,b];return!1};google.sx=function(a){google.sy.push(a)};google.lm=[];google.plm=function(a){google.lm.push.apply(google.lm,a)};google.lq=[];google.load=function(a,b,c){google.lq.push([[a],b,c])};google.loadAll=function(a,b){google.lq.push([a,b])};google.bx=!1;google.lx=function(){};}).call(this);google.f={};(function(){ document.documentElement.addEventListener("submit",function(b){var a;if(a=b.target){var c=a.getAttribute("data-submitfalse");a="1"===c||"q"===c&&!a.elements.q.value?!0:!1}else a=!1;a&&(b.preventDefault(),b.stopPropagation())},!0);document.documentElement.addEventListener("click",function(b){var a;a:{for(a=b.target;a&&a!==document.documentElement;a=a.parentElement)if("A"===a.tagName){a="1"===a.getAttribute("data-nohref");break a}a=!1}a&&b.preventDefault()},!0);}).call(this);(function(){google.hs={h:true,nhs:false,sie:false};})();(function(){google.c={btfi:false,frt:false,gl:true,lhc:false,ll:true,nli:false,timl:false,wve:true};(function(){ var e=this||self;var g=window.performance;google.timers={};google.startTick=function(a){google.timers[a]={t:{start:Date.now()},e:{},m:{}}};google.tick=function(a,b,c){google.timers[a]||google.startTick(a);c=void 0!==c?c:Date.now();b instanceof Array||(b=[b]);for(var d=0,f;f=b[d++];)google.timers[a].t[f]=c};google.c.e=function(a,b,c){google.timers[a].e[b]=c};google.c.b=function(a){var b=google.timers.load.m;b[a]&&google.ml(Error("a"),!1,{m:a});b[a]=!0};google.c.u=function(a){var b=google.timers.load.m;if(b[a]){b[a]=!1;for(a in b)if(b[a])return;google.csiReport()}else{var c="",d;for(d in b)c+=d+":"+b[d]+";";google.ml(Error("b"),!1,{m:a,b:!1===b[a],s:c})}};function h(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)}function k(a,b,c,d){"addEventListener"in a?a.removeEventListener(b,c,d||!1):a.attachEvent&&a.detachEvent("on"+b,c)} google.rll=function(a,b,c){function d(f){c(f);k(a,"load",d);k(a,"error",d)}h(a,"load",d);b&&h(a,"error",d)};e.google.aft=function(a){a.setAttribute("data-iml",String(Date.now()))};google.startTick("load");var l=google.timers.load;a:{var m=l.t;if(g){var n=g.timing;if(n){var p=n.navigationStart,q=n.responseStart;if(q>p&&q<=m.start){m.start=q;l.wsrt=q-p;break a}}g.now&&(l.wsrt=Math.floor(g.now()))}} function r(a){if("hidden"===document.visibilityState){google.c.wve&&(google.c.fh=a);var b;window.performance&&window.performance.timing&&(b=Math.floor(window.performance.timing.navigationStart+a));google.tick("load","fht",b);return!0}return!1}function t(a){r(a.timeStamp)&&k(document,"visibilitychange",t,!0)}google.c.wve&&(google.c.fh=Infinity);h(document,"visibilitychange",t,!0);r(0);google.c.b("pr");google.c.b("xe");if(google.c.gl){var u=function(a){a&&e.google.aft(a.target)};h(document.documentElement,"load",u,!0);google.c.glu=function(){k(document.documentElement,"load",u,!0)}};}).call(this);})();(function(){ function h(){return window.performance&&window.performance.navigation&&window.performance.navigation.type};function n(a){if(!a||r(a))return 0;if(!a.getBoundingClientRect)return 1;var c=function(b){return b.getBoundingClientRect()};return t(a,c)?0:u(a,c)}function t(a,c){var b;a:{for(b=a;b&&void 0!==b;b=b.parentElement)if("hidden"===b.style.overflow)break a;b=null}if(!b)return!1;a=c(a);c=c(b);return a.bottom<c.top||a.top>=c.bottom||a.right<c.left||a.left>=c.right} function r(a){return"none"===a.style.display?!0:document.defaultView&&document.defaultView.getComputedStyle?(a=document.defaultView.getComputedStyle(a),!!a&&("hidden"===a.visibility||"0px"===a.height&&"0px"===a.width)):!1} function u(a,c){var b=c(a);a=b.left+window.pageXOffset;c=b.top+window.pageYOffset;var d=b.width;b=b.height;var e=0;if(0>=b&&0>=d)return e;var f=window.innerHeight||document.documentElement.clientHeight;0>c+b?e=2:c>=f&&(e=4);if(0>a+d||a>=(window.innerWidth||document.documentElement.clientWidth))e|=8;e||(e=1,c+b>f&&(e|=4));return e};var v=window.location,w="aft afti afts frt hct prt pprt sct".split(" ");function x(a){return(a=v.search.match(new RegExp("[?&]"+a+"=(\\d+)")))?Number(a[1]):-1};var y=window.innerHeight||document.documentElement.clientHeight,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=!0,K=!0,L=-1;function M(a,c,b,d){var e=google.timers.load.t[a];e&&(b||d&&null!=c&&c<e)||google.tick("load",a,c)}function N(a,c,b,d){"1"===a.getAttribute("data-frt")&&(M("frt",d,!1,!0),++C,O());c&&(M("aft",d,!1,!0),M("afti",d,!1,!0),++E,b||++H,O());google.c.timl&&M("iml",d,!1,!0);++A;a.setAttribute("data-frt","0");(google.c.timl||c)&&P()} function P(){var a=google.c.timl?A===z:D===E;!K&&a&&google.c.u("il")} function O(){if(!I){var a=E===D,c=C===B,b=H===G;b=google.c.nli?b:a;if(a&&c){google.c.e("load","ima",String(D));google.c.e("load","imad",String(F));google.c.e("load","aftp",String(Math.round(L)));var d=google.timers.load;a=d.m;if(!a||!a.prs){var e=h()?0:x("qsubts");0<e&&(a=x("fbts"),0<a&&(d.t.start=Math.max(e,a)));var f=d.t,l=f.start;a={wsrt:d.wsrt};for(var m=0,k;k=w[m++];){var p=f[k];p&&l&&(a[k]=p-l)}0<e&&(a.gsasrt=d.t.start-e);e=d.e;d="/gen_204?s="+google.sn+"&t=aft&atyp=csi&ei="+google.kEI+"&rt=";f="";for(g in a)d+=""+f+g+"."+a[g],f=",";for(var q in e)d+="&"+q+"="+e[q];window._cshid&&(d+="&cshid="+window._cshid);2===h()&&(d+="&bb=1");1===h()&&(d+="&r=1");if("gsasrt"in a){var g=x("qsd");0<g&&(d+="&qsd="+g)}google.kBL&&(d+="&bl="+google.kBL);g=d;navigator.sendBeacon?navigator.sendBeacon(g,""):google.log("","",g)}}"hidden"===document.visibilityState&&google.c.e("load","hddn","1");if(null!==google.aftq&&(g=2===google.fevent||3===google.fevent?google.fevent:1,2===g&&c||1===g&&b||3===g&&(b||c))){google.tick("load","aftqf",Date.now());var J;for(c=0;b=null==(J=google.aftq)?void 0:J[c++];)try{b()}catch(R){google.ml(R,!1)}google.aftq=null}}}var Q="src bsrc url ll image img-url".split(" ");function S(a){for(var c=0,b;b=Q[c++];)if(a.getAttribute("data-"+b))return!0;return!1}function T(a,c){0===c||c&8||(a.setAttribute("data-frt","1"),++B)}google.c.b("il");google.c.setup=function(a,c,b){var d=a.getAttribute("data-atf");if(d)return b=Number(d),c&&!a.hasAttribute("data-frt")&&T(a,b),b;var e="string"!==typeof a.src||!a.src,f=!!a.getAttribute("data-bsrc");d=!!a.getAttribute("data-deferred");var l=!d&&S(a);l&&a.setAttribute("data-lzy_","1");var m=n(a);a.setAttribute("data-atf",String(m));var k=!!(m&1);e=(e||a.complete)&&!d&&!f&&!(google.c.ll&&k&&l);f=!google.c.lhc&&Number(a.getAttribute("data-iml"))||0;++z;if(e&&!f||a.hasAttribute("data-noaft"))a.setAttribute("data-frt","0"),++A;else{var p=google.c.btfi&&m&4&&f&&L<y;if(p){var q=a.getBoundingClientRect().top+window.pageYOffset;!b||q<b?L=k?y:q:p=!1}k&&(++D,d&&++F,l||++G);c&&T(a,m);p&&M("aft",f,!1,!0);e&&f?N(a,k,l,google.c.btfi?0:f):(k&&(!b||b>=y)&&(L=y),google.rll(a,!0,function(){N(a,k,l,Date.now())}))}return m};google.c.ubr=function(a,c,b){0>L&&(b&&(L=b),google.c.btfi&&M("aft",c));a||M("afts",c,!0);M("aft",c,!0);I&&!google.c.frt&&(I=!1,O());a&&K&&(M("prt",c),google.c.timl&&M("iml",c,!0),K=!1,P(),google.c.setup=function(){return 0},google.c.ubr=function(){})};}).call(this);(function(){ var b=[function(){google.tick&&google.tick("load","dcl")}];google.dclc=function(a){b.length?b.push(a):a()};function c(){for(var a=b.shift();a;)a(),a=b.shift()}window.addEventListener?(document.addEventListener("DOMContentLoaded",c,!1),window.addEventListener("load",c,!1)):window.attachEvent&&window.attachEvent("onload",c);}).call(this);(function(){ var b=[];google.jsc={xx:b,x:function(a){b.push(a)},mm:[],m:function(a){google.jsc.mm.length||(google.jsc.mm=a)}};}).call(this);(function(){ var f=this||self;

var g={};function A(a,c){if(null===c)return!1;if("contains"in a&&1==c.nodeType)return a.contains(c);if("compareDocumentPosition"in a)return a==c||!!(a.compareDocumentPosition(c)&16);for(;c&&a!=c;)c=c.parentNode;return c==a};var E=function(a,c){return function(d){d||(d=window.event);return c.call(a,d)}},F="undefined"!=typeof navigator&&/Macintosh/.test(navigator.userAgent),I=function(){this._mouseEventsPrevented=!0};var J=function(a){this.g=a;this.h=[]},K=function(a){for(var c=0;c<a.h.length;++c){var d=a.g,b=a.h[c];d.removeEventListener?d.removeEventListener(b.eventType,b.i,b.capture):d.detachEvent&&d.detachEvent("on"+b.eventType,b.i)}a.h=[]}; var L=f._jsa||{};L._cfc=void 0;L._aeh=void 0; var N=function(){this.s=[];this.g=[];this.h=[];this.o={};this.j=null;this.l=[];M(this,"_custom")},P=function(a){return String.prototype.trim?a.trim():a.replace(/^\s+/,"").replace(/\s+$/,"")},da=function(a,c){return function m(b,e){e=void 0===e?!0:e;var l=c;if("_custom"==l){l=b.detail;if(!l||!l._type)return;l=l._type}var k=l;"click"==k&&(F&&b.metaKey||!F&&b.ctrlKey||2==b.which||null==b.which&&4==b.button||b.shiftKey)?k="clickmod":"keydown"==k&&!b.a11ysc&&(k="maybe_click");var x=b.srcElement||b.target;l=Q(k,b,x,"",null);for(var n,B=x;B&&B!=this;B=B.__owner||B.parentNode){var h=B;var t=n=void 0,C=h,r=k,Z=b,p=C.__jsaction;if(!p){var y=R(C,"jsaction");if(y){p=g[y];if(!p){p={};for(var D=y.split(aa),G=D?D.length:0,v=0;v<G;v++){var q=D[v];if(q){var w=q.indexOf(":"),O=-1!=w,z=O?P(q.substr(0,w)):ba;q=O?P(q.substr(w+1)):q;p[z]=q}}g[y]=p}y=p;p={};for(t in y){D=p;G=t;b:if(v=y[t],!(0<=v.indexOf(".")))for(z=C;z;z=z.parentNode){q=z;w=q.__jsnamespace;void 0===w&&(w=R(q,"jsnamespace"),q.__jsnamespace=w);if(q= w){v=q+"."+v;break b}if(z==this)break}D[G]=v}C.__jsaction=p}else p=ca,C.__jsaction=p}t=p;"maybe_click"==r&&t.click?(n=r,r="click"):"clickkey"==r?r="click":"click"!=r||t.click||(r="clickonly");n=L._cfc&&t.click?L._cfc(C,Z,t,r,n):{eventType:n?n:r,action:t[r]||"",event:null,ignore:!1};if(n.ignore||n.action)break}n&&(l=Q(n.eventType,n.event||b,x,n.action||"",h,l.timeStamp));l&&"touchend"==l.eventType&&(l.event._preventMouseEvents=I);if(n&&n.action){if("mouseenter"==k||"mouseleave"==k||"pointerenter"== k||"pointerleave"==k)if(x=b.relatedTarget,!("mouseover"==b.type&&"mouseenter"==k||"mouseout"==b.type&&"mouseleave"==k||"pointerover"==b.type&&"pointerenter"==k||"pointerout"==b.type&&"pointerleave"==k)||x&&(x===h||A(h,x)))l.action="",l.actionElement=null;else{k={};for(var u in b)"function"!==typeof b[u]&&"srcElement"!==u&&"target"!==u&&(k[u]=b[u]);k.type="mouseover"==b.type?"mouseenter":"mouseout"==b.type?"mouseleave":"pointerover"==b.type?"pointerenter":"pointerleave";k.target=k.srcElement=h;k.bubbles= !1;l.event=k;l.targetElement=h}}else l.action="",l.actionElement=null;h=l;a.j&&!h.event.a11ysgd&&(u=Q(h.eventType,h.event,h.targetElement,h.action,h.actionElement,h.timeStamp),"clickonly"==u.eventType&&(u.eventType="click"),a.j(u,!0));if(h.actionElement||"maybe_click"==h.eventType){if(a.j){if(!h.actionElement||"A"!=h.actionElement.tagName||"click"!=h.eventType&&"clickmod"!=h.eventType||(b.preventDefault?b.preventDefault():b.returnValue=!1),(b=a.j(h))&&e){m.call(this,b,!1);return}}else{if((e=f.document)&& !e.createEvent&&e.createEventObject)try{var H=e.createEventObject(b)}catch(ha){H=b}else H=b;h.event=H;a.l.push(h)}L._aeh&&L._aeh(h)}}},Q=function(a,c,d,b,e,m){return{eventType:a,event:c,targetElement:d,action:b,actionElement:e,timeStamp:m||Date.now()}},R=function(a,c){var d=null;"getAttribute"in a&&(d=a.getAttribute(c));return d},ea=function(a,c){return function(d){var b=a,e=c,m=!1;"mouseenter"==b?b="mouseover":"mouseleave"==b?b="mouseout":"pointerenter"==b?b="pointerover":"pointerleave"==b&&(b="pointerout");if(d.addEventListener){if("focus"==b||"blur"==b||"error"==b||"load"==b)m=!0;d.addEventListener(b,e,m)}else d.attachEvent&&("focus"==b?b="focusin":"blur"==b&&(b="focusout"),e=E(d,e),d.attachEvent("on"+b,e));return{eventType:b,i:e,capture:m}}},M=function(a,c){if(!a.o.hasOwnProperty(c)){var d=da(a,c),b=ea(c,d);a.o[c]=d;a.s.push(b);for(d=0;d<a.g.length;++d){var e=a.g[d];e.h.push(b.call(null,e.g))}"click"==c&&M(a,"keydown")}};N.prototype.i=function(a){return this.o[a]};var V=function(a,c){var d=new J(c);a:{for(var b=0;b<a.g.length;b++)if(S(a.g[b].g,c)){c=!0;break a}c=!1}if(c)return a.h.push(d),d;T(a,d);a.g.push(d);U(a);return d},U=function(a){for(var c=a.h.concat(a.g),d=[],b=[],e=0;e<a.g.length;++e){var m=a.g[e];W(m,c)?(d.push(m),K(m)):b.push(m)}for(e=0;e<a.h.length;++e)m=a.h[e],W(m,c)?d.push(m):(b.push(m),T(a,m));a.g=b;a.h=d},T=function(a,c){var d=c.g;fa&&(d.style.cursor="pointer");for(d=0;d<a.s.length;++d)c.h.push(a.s[d].call(null,c.g))},X=function(a,c){a.j=c;a.l&&(0<a.l.length&&c(a.l),a.l=null)},W=function(a,c){for(var d=0;d<c.length;++d)if(c[d].g!=a.g&&S(c[d].g,a.g))return!0;return!1},S=function(a,c){for(;a!=c&&c.parentNode;)c=c.parentNode;return a==c},fa="undefined"!=typeof navigator&&/iPhone|iPad|iPod/.test(navigator.userAgent),aa=/\s*;\s*/,ba="click",ca={};var Y=new N;V(Y,window.document.documentElement);M(Y,"click");M(Y,"focus");M(Y,"blur");M(Y,"mousedown");M(Y,"mouseenter");M(Y,"mouseleave");M(Y,"mouseout");M(Y,"mouseover");M(Y,"mouseup");M(Y,"touchmove");M(Y,"change");M(Y,"contextmenu");M(Y,"input");M(Y,"keydown");M(Y,"keypress");M(Y,"keyup");M(Y,"error");M(Y,"load");M(Y,"touchstart");M(Y,"touchend");M(Y,"touchcancel");M(Y,"paste");(function(a){google.jsad=function(c){X(a,c)};google.jsaac=function(c){return V(a,c)};google.jsarc=function(c){K(c);for(var d=!1,b=0;b<a.g.length;++b)if(a.g[b]===c){a.g.splice(b,1);d=!0;break}if(!d)for(d=0;d<a.h.length;++d)if(a.h[d]===c){a.h.splice(d,1);break}U(a)}})(Y);f.gws_wizbind=function(a){return{trigger:function(c){var d=a.i(c.type);d||(M(a,c.type),d=a.i(c.type));var b=c.target||c.srcElement;d&&d.call(b.ownerDocument.documentElement,c)},bind:function(c){X(a,c)}}}(Y);}).call(this);(function(){window.google.erd={jsr:1,bv:1547,sd:true,de:true};})();(function(){var sdo=false;var mei=10; var f=this||self;var g,h=null!=(g=f.mei)?g:1,m,n=null!=(m=f.sdo)?m:!0,p=0,q,r=google.erd,u=r.jsr;google.ml=function(a,b,d,k,c){c=void 0===c?2:c;b&&(q=a&&a.message);if(google.dl)return google.dl(a,c,d),null;if(0>u){window.console&&console.error(a,d);if(-2===u)throw a;b=!1}else b=!a||!a.message||"Error loading script"===a.message||p>=h&&!k?!1:!0;if(!b)return null;p++;d=d||{};var e=c;c=encodeURIComponent;b="/gen_204?atyp=i&ei="+c(google.kEI);google.kEXPI&&(b+="&jexpid="+c(google.kEXPI));b+="&srcpg="+c(google.sn)+"&jsr="+c(r.jsr)+"&bver="+c(r.bv)+("&jsel="+e);e=a.lineNumber;void 0!==e&&(b+="&line="+ e);var l=a.fileName;l&&(b+="&script="+c(l),e&&l===window.location.href&&(e=document.documentElement.outerHTML.split("\n")[e],b+="&cad="+c(e?e.substring(0,300):"No script found.")));for(var t in d)b+="&",b+=c(t),b+="=",b+=c(d[t]);b=b+"&emsg="+c(a.name+": "+a.message);b=b+"&jsst="+c(a.stack||"N/A");12288<=b.length&&(b=b.substr(0,12288));a=b;k||google.log(0,"",a);return a};window.onerror=function(a,b,d,k,c){q!==a&&(a=c instanceof Error?c:Error(a),void 0===d||"lineNumber"in a||(a.lineNumber=d),void 0===b||"fileName"in a||(a.fileName=b),google.ml(a,!1,void 0,!1,"SyntaxError"===a.name||"SyntaxError"===a.message.substring(0,11)?2:0));q=null;n&&p>=h&&(window.onerror=null)};})();</script> <style data-iml="1647419543093">@-webkit-keyframes qs-timer {0%{}}</style><script async="" type="text/javascript" charset="UTF-8" src="https://www.gstatic.com/og/_/js/k=og.qtm.en_US.v9TNAgZItYs.O/rt=j/m=qabr,q_dnp,qcwid,qapid/exm=qaaw,qadd,qaid,qein,qhaw,qhbr,qhch,qhga,qhid,qhin,qhpr/d=1/ed=1/rs=AA2YrTs6MVIaSW9986-AlcAaW1N7ZWd5yw" nonce="LmaCEFbhuji6AlHBTwd2Kg=="></script><link type="text/css" rel="stylesheet" href="https://www.gstatic.com/og/_/ss/k=og.qtm.0Ssw9-JYp74.L.W.O/m=qcwid/excm=qaaw,qadd,qaid,qein,qhaw,qhbr,qhch,qhga,qhid,qhin,qhpr/d=1/ed=1/ct=zgms/rs=AA2YrTvzqpjmK5-QfZ4uDVxclEFWCS4Gtw"></head><body jsmodel="hspDDf" jsaction="YUC7He:.CLIENT;VM8bg:.CLIENT;hWT9Jb:.CLIENT;WCulWe:.CLIENT;IVKTfe:.CLIENT;KsNBn:.CLIENT;sbTXNb:.CLIENT;xjhTIf:.CLIENT;O2vyse:.CLIENT;Ez7VMc:.CLIENT;qqf0n:.CLIENT;me3ike:.CLIENT;IrNywb:.CLIENT;Z94jBf:.CLIENT;A8708b:.CLIENT;YcfJ:.CLIENT;NTJodf:.CLIENT;szjOR:.CLIENT;PY1zjf:.CLIENT;wnJTPd:.CLIENT;JL9QDc:.CLIENT;kWlxhc:.CLIENT;qGMTIf:.CLIENT"><style data-iml="1647419543094">body,html{height:100%;margin:0;padding:0}.z1asCe{display:inline-block;fill:currentColor;height:24px;line-height:24px;position:relative;width:24px}.z1asCe svg{display:block;height:100%;width:100%}html{filter:none}body.srp,body{background:#202124}img,[role=img],video,iframe{filter:none}body{font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-size:10pt;}#belowsb{margin-top:24px;}.yKiQp{min-height:25px}#belowsb a{color:#8ab4f8}#swml,#belowsb{text-align:center}#swml{height:25px;margin:5px 0}#swml>div{margin:1px 0}#gb-main{display:-webkit-box;display:flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;flex-direction:column;flex-direction:column;min-height:100%}#outer{-webkit-box-flex:1;flex:1;flex:1}@media only screen and (orientation:portrait){#outer{padding-top:20px}}#mlogo{display:none}.gs_ml #lst-ib{white-space:normal;height:auto}header{display:-webkit-box;display:flex;display:-ms-flexbox;display:flex;height:48px;width:100%}#SBmmZd{display:-webkit-box;display:flex;display:-ms-flexbox;display:flex;overflow-x:hidden;}#SBmmZd a{color:#8a8a8a;display:block;-webkit-box-flex:0;flex:0 0 auto;flex:0 0 auto;font-size:12px;font-weight:600;line-height:48px;margin-right:8px;padding:0 8px;text-align:center;text-transform:uppercase;text-decoration:none}#SBmmZd a.active{color:#8ab4f8;border-bottom:2px solid #8ab4f8}#vLkmZd{-webkit-box-flex:0;flex:0 0 auto;flex:0 0 auto;position:relative;z-index:1}.igu8Pb{-webkit-box-flex:1;flex:1 0 auto;flex:1 0 auto}.fp-i .SzDvzc{display:none}.fp-f{bottom:0;height:auto;left:0;position:fixed !important;right:0;top:0;width:auto;z-index:127}.fp-h:not(.fp-nh):not(.goog-modalpopup-bg):not(.goog-modalpopup){display:none !important}.fp-zh.fp-h:not(.fp-nh):not(.goog-modalpopup-bg):not(.goog-modalpopup){display:block !important;height:0;overflow:hidden;transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fp-i .fp-c{display:block;min-height:100vh}li.fp-c{list-style:none}.fp-w{box-sizing:border-box;left:0;margin-left:auto;margin-right:auto;max-width:1197px;right:0}</style><script nonce="LmaCEFbhuji6AlHBTwd2Kg==">;this.gbar_={CONFIG:[[[0,"www.gstatic.com","og.qtm.en_US.v9TNAgZItYs.O","com.vn","vi","1",0,[4,2,"","","","434344315","0"],null,"maAxYo6xEuW-3LUP9rut8AI",null,0,"og.qtm.0Ssw9-JYp74.L.W.O","AA2YrTs6MVIaSW9986-AlcAaW1N7ZWd5yw","AA2YrTvzqpjmK5-QfZ4uDVxclEFWCS4Gtw","",2,1,200,"VNM",null,null,"1","1",1],null,[1,0.1000000014901161,2,1],[1,0.001000000047497451,1],[0,0,0,null,"","","",""],[0,0,"",1,0,0,0,0,0,0,null,0,0,null,0,0,null,null,0,0,0,"","","","","","",null,0,0,0,0,0,null,null,null,"rgba(32,33,36,1)","rgba(255,255,255,1)",0,0,1,null,null,1,0,0],null,null,["1","gci_91f30755d6a6b787dcc2a4062e6e9824.js","googleapis.client:gapi.iframes","","vi"],null,null,null,null,["m;/_/scs/abc-static/_/js/k=gapi.gapi.en.fQLVS3SAB_U.O/d=1/rs=AHpOoo9-gtqpJORJvBFDdao_eAhWe8xjHw/m=__features__","https://apis.google.com","","","","",null,1,"es_plusone_gc_20220110.0_p0","vi",null,0],[0.009999999776482582,"com.vn","1",[null,"","0",null,1,5184000,null,null,"",null,null,null,null,null,0,null,0,0,1,0,1,0,null,null,0,0,null,0,0,0,0],null,null,null,0,null,null,["5061451","google\\.(com|ru|ca|by|kz|com\\.mx|com\\.tr)$",1]],[1,1,null,31151,1,"VNM","vi","434344315.0",8,0.009999999776482582,0,0,null,null,null,null,"3700970,3700986",null,null,null,"maAxYo6xEuW-3LUP9rut8AI",0,0,0,null,1,5,"si",89],[[null,null,null,"https://www.gstatic.com/og/_/js/k=og.qtm.en_US.v9TNAgZItYs.O/rt=j/m=qabr,q_dnp,qcwid,qapid/exm=qaaw,qadd,qaid,qein,qhaw,qhbr,qhch,qhga,qhid,qhin,qhpr/d=1/ed=1/rs=AA2YrTs6MVIaSW9986-AlcAaW1N7ZWd5yw"],[null,null,null,"https://www.gstatic.com/og/_/ss/k=og.qtm.0Ssw9-JYp74.L.W.O/m=qcwid/excm=qaaw,qadd,qaid,qein,qhaw,qhbr,qhch,qhga,qhid,qhin,qhpr/d=1/ed=1/ct=zgms/rs=AA2YrTvzqpjmK5-QfZ4uDVxclEFWCS4Gtw"]],null,null,null,[[[null,null,[null,null,null,"https://ogs.google.com/widget/app/so"],0,448,328,57,4,1,0,0,63,64,8000,"https://www.google.com.vn/intl/vi/about/products?tab=wh",67,1,69,null,1,70,"Đã xảy ra lỗi khi đang tải bộ ứng dụng. Vui lòng thử lại sau vài phút hoặc chuyển đến trang %1$sCác sản phẩm của Google%2$s.",3,0,0,74,0,null,null,null,null,null,null,null,"/widget/app/so"]],0,[null,null,null,"https://www.gstatic.com/og/_/js/k=og.qtm.en_US.v9TNAgZItYs.O/rt=j/m=qdsh/d=1/ed=1/rs=AA2YrTs6MVIaSW9986-AlcAaW1N7ZWd5yw"],"1","1",1,0,null,"vi",1,null,0,0]]],};this.gbar_=this.gbar_||{};(function(_){var window=this; try{ var ja,ra,sa,ua,va,wa,xa,Ea,Fa,Da,Ga,Ca,Ia,Oa,Pa,Qa,Ra,Sa,Ta,Va,Wa,$a,ab;_.aa=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,_.aa);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};_.ba=function(){var a=_.n.navigator;return a&&(a=a.userAgent)?a:""};_.p=function(a){return-1!=_.ba().indexOf(a)};_.ca=function(){return _.p("Opera")};_.da=function(){return _.p("Trident")||_.p("MSIE")};_.ea=function(){return _.p("Firefox")||_.p("FxiOS")}; _.ha=function(){return _.p("Safari")&&!(_.fa()||_.p("Coast")||_.ca()||_.p("Edge")||_.p("Edg/")||_.p("OPR")||_.ea()||_.p("Silk")||_.p("Android"))};_.fa=function(){return(_.p("Chrome")||_.p("CriOS"))&&!_.p("Edge")||_.p("Silk")};_.ia=function(){return _.p("Android")&&!(_.fa()||_.ea()||_.ca()||_.p("Silk"))};ja=function(){return _.p("iPhone")&&!_.p("iPod")&&!_.p("iPad")};_.ka=function(){return ja()||_.p("iPad")||_.p("iPod")}; _.la=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};_.ma=function(){return-1!=_.ba().toLowerCase().indexOf("webkit")&&!_.p("Edge")};_.pa=function(a){return _.na&&null!=a&&a instanceof Uint8Array};ra=function(a,b){Object.isFrozen(a)||(qa?a[qa]|=b:void 0!==a.Rd?a.Rd|=b:Object.defineProperties(a,{Rd:{value:b,configurable:!0,writable:!0,enumerable:!1}}))};sa=function(a){var b;qa?b=a[qa]:b=a.Rd;return null==b?0:b};_.ta=function(a){ra(a,1);return a}; ua=function(a){return Array.isArray(a)?!!(sa(a)&2):!1};va=function(a){if(!Array.isArray(a))throw Error("w");ra(a,2)};wa=function(a){return null!==a&&"object"===typeof a&&!Array.isArray(a)&&a.constructor===Object};xa=function(a){return{value:a,configurable:!1,writable:!1,enumerable:!1}};_.Ba=function(a){switch(typeof a){case "number":return isFinite(a)?a:String(a);case "object":if(a&&!Array.isArray(a)){if(_.pa(a))return _.za(a);if("function"==typeof _.Aa&&a instanceof _.Aa)return a.lh()}}return a}; Ea=function(a,b){b=void 0===b?Ca:b;return Da(a,b)};Fa=function(a,b){if(null!=a){if(Array.isArray(a))a=Da(a,b);else if(wa(a)){var c={},d;for(d in a)c[d]=Fa(a[d],b);a=c}else a=b(a);return a}};Da=function(a,b){for(var c=a.slice(),d=0;d<c.length;d++)c[d]=Fa(c[d],b);Array.isArray(a)&&sa(a)&1&&_.ta(c);return c};Ga=function(a){if(a&&"object"==typeof a&&a.toJSON)return a.toJSON();a=_.Ba(a);return Array.isArray(a)?Ea(a,Ga):a};Ca=function(a){return _.pa(a)?new Uint8Array(a):a}; Ia=function(a,b){b.C&&(a.C=b.C.slice());var c=b.j;if(c){b=b.o;for(var d in c){var e=c[d];if(e){var f=!(!b||!b[d]),g=+d;if(Array.isArray(e)){if(e.length)for(f=_.Ha(a,e[0].constructor,g,f),g=0;g<Math.min(f.length,e.length);g++)Ia(f[g],e[g])}else(f=_.q(a,e.constructor,g,void 0,f))&&Ia(f,e)}}}};_.t=function(a,b){return null!=a?!!a:!!b};_.u=function(a,b){void 0==b&&(b="");return null!=a?a:b};_.Ja=function(a,b){void 0==b&&(b=0);return null!=a?a:b};_.Ka=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)}; _.La=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};_.Na=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Ma.length;f++)c=Ma[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};Oa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}};Pa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a}; Qa=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("a");};Ra=Qa(this);Sa=function(a,b){if(b)a:{var c=Ra;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&Pa(c,a,{configurable:!0,writable:!0,value:b})}}; Sa("Symbol",function(a){if(a)return a;var b=function(f,g){this.j=f;Pa(this,"description",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.j};var c="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",d=0,e=function(f){if(this instanceof e)throw new TypeError("b");return new b(c+(f||"")+"_"+d++,f)};return e}); Sa("Symbol.iterator",function(a){if(a)return a;a=Symbol("c");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=Ra[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&Pa(d.prototype,a,{configurable:!0,writable:!0,value:function(){return Ta(Oa(this))}})}return a});Ta=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}; _.Ua=function(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:Oa(a)}};Va="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};if("function"==typeof Object.setPrototypeOf)Wa=Object.setPrototypeOf;else{var Xa;a:{var Ya={a:!0},Za={};try{Za.__proto__=Ya;Xa=Za.a;break a}catch(a){}Xa=!1}Wa=Xa?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError("d`"+a);return a}:null}$a=Wa; _.w=function(a,b){a.prototype=Va(b.prototype);a.prototype.constructor=a;if($a)$a(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Y=b.prototype};ab=function(a,b,c){if(null==a)throw new TypeError("e`"+c);if(b instanceof RegExp)throw new TypeError("f`"+c);return a+""}; Sa("String.prototype.startsWith",function(a){return a?a:function(b,c){var d=ab(this,b,"startsWith"),e=d.length,f=b.length;c=Math.max(0,Math.min(c|0,d.length));for(var g=0;g<f&&c<e;)if(d[c++]!=b[g++])return!1;return g>=f}});Sa("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,f=0;f<e;f++){var g=d[f];if(b.call(c,g,f,d)){b=g;break a}}b=void 0}return b}});var bb=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)}; Sa("WeakMap",function(a){function b(){}function c(l){var m=typeof l;return"object"===m&&null!==l||"function"===m}function d(l){if(!bb(l,f)){var m=new b;Pa(l,f,{value:m})}}function e(l){var m=Object[l];m&&(Object[l]=function(r){if(r instanceof b)return r;Object.isExtensible(r)&&d(r);return m(r)})}if(function(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),m=Object.seal({}),r=new a([[l,2],[m,3]]);if(2!=r.get(l)||3!=r.get(m))return!1;r.delete(l);r.set(m,4);return!r.has(l)&&4==r.get(m)}catch(v){return!1}}())return a; var f="$jscomp_hidden_"+Math.random();e("freeze");e("preventExtensions");e("seal");var g=0,k=function(l){this.j=(g+=Math.random()+1).toString();if(l){l=_.Ua(l);for(var m;!(m=l.next()).done;)m=m.value,this.set(m[0],m[1])}};k.prototype.set=function(l,m){if(!c(l))throw Error("g");d(l);if(!bb(l,f))throw Error("h`"+l);l[f][this.j]=m;return this};k.prototype.get=function(l){return c(l)&&bb(l,f)?l[f][this.j]:void 0};k.prototype.has=function(l){return c(l)&&bb(l,f)&&bb(l[f],this.j)};k.prototype.delete=function(l){return c(l)&& bb(l,f)&&bb(l[f],this.j)?delete l[f][this.j]:!1};return k}); Sa("Map",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var k=Object.seal({x:4}),l=new a(_.Ua(k,"s"));if("s"!=l.get(k)||1!=l.size||l.get({x:4})||l.set({x:4},"t")!=l||2!=l.size)return!1;var m=l.entries(),r=m.next();if(r.done||r.value[0]!=k||"s"!=r.value[1])return!1;r=m.next();return r.done||4!=r.value[0].x||"t"!=r.value[1]||!m.next().done?!1:!0}catch(v){return!1}}())return a;var b=new WeakMap,c=function(k){this.o={};this.j= f();this.size=0;if(k){k=_.Ua(k);for(var l;!(l=k.next()).done;)l=l.value,this.set(l[0],l[1])}};c.prototype.set=function(k,l){k=0===k?0:k;var m=d(this,k);m.list||(m.list=this.o[m.id]=[]);m.Sa?m.Sa.value=l:(m.Sa={next:this.j,Yb:this.j.Yb,head:this.j,key:k,value:l},m.list.push(m.Sa),this.j.Yb.next=m.Sa,this.j.Yb=m.Sa,this.size++);return this};c.prototype.delete=function(k){k=d(this,k);return k.Sa&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.o[k.id],k.Sa.Yb.next=k.Sa.next,k.Sa.next.Yb= k.Sa.Yb,k.Sa.head=null,this.size--,!0):!1};c.prototype.clear=function(){this.o={};this.j=this.j.Yb=f();this.size=0};c.prototype.has=function(k){return!!d(this,k).Sa};c.prototype.get=function(k){return(k=d(this,k).Sa)&&k.value};c.prototype.entries=function(){return e(this,function(k){return[k.key,k.value]})};c.prototype.keys=function(){return e(this,function(k){return k.key})};c.prototype.values=function(){return e(this,function(k){return k.value})};c.prototype.forEach=function(k,l){for(var m=this.entries(), r;!(r=m.next()).done;)r=r.value,k.call(l,r[1],r[0],this)};c.prototype[Symbol.iterator]=c.prototype.entries;var d=function(k,l){var m=l&&typeof l;"object"==m||"function"==m?b.has(l)?m=b.get(l):(m=""+ ++g,b.set(l,m)):m="p_"+l;var r=k.o[m];if(r&&bb(k.o,m))for(k=0;k<r.length;k++){var v=r[k];if(l!==l&&v.key!==v.key||l===v.key)return{id:m,list:r,index:k,Sa:v}}return{id:m,list:r,index:-1,Sa:void 0}},e=function(k,l){var m=k.j;return Ta(function(){if(m){for(;m.head!=k.j;)m=m.Yb;for(;m.next!=m.head;)return m= m.next,{done:!1,value:l(m)};m=null}return{done:!0,value:void 0}})},f=function(){var k={};return k.Yb=k.next=k.head=k},g=0;return c});var cb=function(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};Sa("Array.prototype.entries",function(a){return a?a:function(){return cb(this,function(b,c){return[b,c]})}}); Sa("Array.prototype.keys",function(a){return a?a:function(){return cb(this,function(b){return b})}});Sa("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991});var db="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)bb(d,e)&&(a[e]=d[e])}return a};Sa("Object.assign",function(a){return a||db});Sa("Array.prototype.values",function(a){return a?a:function(){return cb(this,function(b,c){return c})}}); Sa("Array.from",function(a){return a?a:function(b,c,d){c=null!=c?c:function(k){return k};var e=[],f="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if("function"==typeof f){b=f.call(b);for(var g=0;!(f=b.next()).done;)e.push(c.call(d,f.value,g++))}else for(f=b.length,g=0;g<f;g++)e.push(c.call(d,b[g],g));return e}});Sa("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}}); Sa("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}});Sa("String.prototype.includes",function(a){return a?a:function(b,c){return-1!==ab(this,b,"includes").indexOf(b,c||0)}});Sa("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)bb(b,d)&&c.push([d,b[d]]);return c}}); Sa("Array.prototype.fill",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}});var eb=function(a){return a?a:Array.prototype.fill};Sa("Int8Array.prototype.fill",eb);Sa("Uint8Array.prototype.fill",eb);Sa("Uint8ClampedArray.prototype.fill",eb);Sa("Int16Array.prototype.fill",eb);Sa("Uint16Array.prototype.fill",eb);Sa("Int32Array.prototype.fill",eb); Sa("Uint32Array.prototype.fill",eb);Sa("Float32Array.prototype.fill",eb);Sa("Float64Array.prototype.fill",eb); /*

Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
  • /

var kb,lb,nb,ob,pb;_.fb=_.fb||{};_.n=this||self;_.gb=function(){};_.hb=function(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"};_.ib=function(a){var b=_.hb(a);return"array"==b||"object"==b&&"number"==typeof a.length};_.jb=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};_.mb=function(a){return Object.prototype.hasOwnProperty.call(a,kb)&&a[kb]||(a[kb]=++lb)};kb="closure_uid_"+(1E9*Math.random()>>>0);lb=0; nb=function(a,b,c){return a.call.apply(a.bind,arguments)};ob=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}};_.y=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?_.y=nb:_.y=ob;return _.y.apply(null,arguments)}; _.z=function(a,b){a=a.split(".");var c=_.n;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};_.B=function(a,b){function c(){}c.prototype=b.prototype;a.Y=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Dk=function(d,e,f){for(var g=Array(arguments.length-2),k=2;k<arguments.length;k++)g[k-2]=arguments[k];return b.prototype[e].apply(d,g)}};pb=function(a){return a}; _.qb=function(a){var b=null,c=_.n.trustedTypes;if(!c||!c.createPolicy)return b;try{b=c.createPolicy(a,{createHTML:pb,createScript:pb,createScriptURL:pb})}catch(d){_.n.console&&_.n.console.error(d.message)}return b}; _.B(_.aa,Error);_.aa.prototype.name="CustomError"; _.rb=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]}; _.sb=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};_.tb=Array.prototype.forEach?function(a,b,c){Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e="string"===typeof a?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)}; _.ub=Array.prototype.filter?function(a,b,c){return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g="string"===typeof a?a.split(""):a,k=0;k<d;k++)if(k in g){var l=g[k];b.call(c,l,k,a)&&(e[f++]=l)}return e};_.vb=Array.prototype.map?function(a,b,c){return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f="string"===typeof a?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e}; _.wb=Array.prototype.reduce?function(a,b,c){return Array.prototype.reduce.call(a,b,c)}:function(a,b,c){var d=c;(0,_.tb)(a,function(e,f){d=b.call(void 0,d,e,f,a)});return d};_.xb=Array.prototype.some?function(a,b){return Array.prototype.some.call(a,b,void 0)}:function(a,b){for(var c=a.length,d="string"===typeof a?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a))return!0;return!1}; _.yb=function(a){_.yb[" "](a);return a};_.yb[" "]=_.gb; var Nb,Ob,Tb;_.zb=_.ca();_.C=_.da();_.Ab=_.p("Edge");_.Bb=_.Ab||_.C;_.Cb=_.p("Gecko")&&!_.ma()&&!(_.p("Trident")||_.p("MSIE"))&&!_.p("Edge");_.Db=_.ma();_.Eb=_.p("Macintosh");_.Gb=_.p("Windows");_.Hb=_.p("Linux")||_.p("CrOS");_.Ib=_.p("Android");_.Jb=ja();_.Kb=_.p("iPad");_.Lb=_.p("iPod");_.Mb=_.ka();Nb=function(){var a=_.n.document;return a?a.documentMode:void 0}; a:{var Pb="",Qb=function(){var a=_.ba();if(_.Cb)return/rv:([^\);]+)(\)|;)/.exec(a);if(_.Ab)return/Edge\/([\d\.]+)/.exec(a);if(_.C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(_.Db)return/WebKit\/(\S+)/.exec(a);if(_.zb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();Qb&&(Pb=Qb?Qb[1]:"");if(_.C){var Rb=Nb();if(null!=Rb&&Rb>parseFloat(Pb)){Ob=String(Rb);break a}}Ob=Pb}_.Sb=Ob;if(_.n.document&&_.C){var Ub=Nb();Tb=Ub?Ub:parseInt(_.Sb,10)||void 0}else Tb=void 0;_.Vb=Tb; _.Wb=_.ea();_.Xb=ja()||_.p("iPod");_.Yb=_.p("iPad");_.Zb=_.ia();_.$b=_.fa();_.ac=_.ha()&&!_.ka(); var bc;bc={};_.cc=null;_.za=function(a){var b;void 0===b&&(b=0);_.dc();b=bc[b];for(var c=Array(Math.floor(a.length/3)),d=b[64]||"",e=0,f=0;e<a.length-2;e+=3){var g=a[e],k=a[e+1],l=a[e+2],m=b[g>>2];g=b[(g&3)<<4|k>>4];k=b[(k&15)<<2|l>>6];l=b[l&63];c[f++]=m+g+k+l}m=0;l=d;switch(a.length-e){case 2:m=a[e+1],l=b[(m&15)<<2]||d;case 1:a=a[e],c[f]=b[a>>2]+b[(a&3)<<4|m>>4]+l+d}return c.join("")}; _.dc=function(){if(!_.cc){_.cc={};for(var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"],c=0;5>c;c++){var d=a.concat(b[c].split(""));bc[c]=d;for(var e=0;e<d.length;e++){var f=d[e];void 0===_.cc[f]&&(_.cc[f]=e)}}}}; _.na="undefined"!==typeof Uint8Array; _.ec="function"===typeof Uint8Array.prototype.slice; _.fc="undefined"!==typeof TextDecoder;_.gc="undefined"!==typeof TextEncoder; var qa="function"===typeof Symbol&&"symbol"===typeof Symbol()?Symbol(void 0):void 0; var kc;_.ic=Object.freeze(_.ta([]));_.jc=function(a){if(ua(a.Ea))throw Error("x");};kc="undefined"!=typeof Symbol&&"undefined"!=typeof Symbol.hasInstance; _.D=function(a,b,c){return-1===b?null:b>=a.B?a.o?a.o[b]:void 0:(void 0===c?0:c)&&a.o&&(c=a.o[b],null!=c)?c:a.Ea[b+a.A]};_.E=function(a,b,c,d,e){d=void 0===d?!1:d;(void 0===e?0:e)||_.jc(a);b<a.B&&!d?a.Ea[b+a.A]=c:(a.o||(a.o=a.Ea[a.B+a.A]={}))[b]=c;return a};_.lc=function(a,b){return null!=_.D(a,b)};_.mc=function(a,b,c,d){c=void 0===c?!0:c;d=void 0===d?!1:d;var e=_.D(a,b,d);null==e&&(e=_.ic);if(ua(a.Ea))c&&(va(e),Object.freeze(e));else if(e===_.ic||ua(e))e=_.ta(e.slice()),_.E(a,b,e,d);return e}; _.F=function(a,b){a=_.D(a,b);return null==a?a:!!a};_.nc=function(a,b,c){a=_.D(a,b);return null==a?c:a};_.oc=function(a,b,c){a=_.D(a,b);a=null==a?a:+a;return null==a?void 0===c?0:c:a};_.q=function(a,b,c,d,e){if(-1===c)return null;a.j||(a.j={});var f=a.j[c];if(f)return f;e=_.D(a,c,void 0===e?!1:e);if(null==e&&!d)return f;b=new b(e);ua(a.Ea)&&va(b.Ea);return a.j[c]=b}; _.Ha=function(a,b,c,d){a.j||(a.j={});var e=ua(a.Ea),f=a.j[c];if(!f){d=_.mc(a,c,!0,void 0===d?!1:d);f=[];e=e||ua(d);for(var g=0;g<d.length;g++)f[g]=new b(d[g]),e&&va(f[g].Ea);e&&(va(f),Object.freeze(f));a.j[c]=f}return f};_.pc=function(a,b,c){var d=void 0===d?!1:d;_.jc(a);a.j||(a.j={});var e=c?c.Ea:c;a.j[b]=c;return _.E(a,b,e,d)};_.qc=function(a,b,c){return _.nc(a,b,void 0===c?0:c)}; var sc=function(a,b,c){a||(a=_.rc);_.rc=null;var d=this.constructor.j;a||(a=d?[d]:[]);this.A=(d?0:-1)-(this.constructor.o||0);this.j=void 0;this.Ea=a;a:{d=this.Ea.length;a=d-1;if(d&&(d=this.Ea[a],wa(d))){this.B=a-this.A;this.o=d;break a}void 0!==b&&-1<b?(this.B=Math.max(b,a+1-this.A),this.o=void 0):this.B=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)if(a=c[b],a<this.B)a+=this.A,(d=this.Ea[a])?Array.isArray(d)&&_.ta(d):this.Ea[a]=_.ic;else{d=this.o||(this.o=this.Ea[this.B+this.A]={});var e=d[a];e? Array.isArray(e)&&_.ta(e):d[a]=_.ic}};sc.prototype.toJSON=function(){var a=this.Ea;return _.hc?a:Ea(a,Ga)};sc.prototype.clone=function(){var a=Ea(this.Ea);_.rc=a;a=new this.constructor(a);_.rc=null;Ia(a,this);return a};sc.prototype.toString=function(){return this.Ea.toString()}; var tc=function(){sc.apply(this,arguments)};_.w(tc,sc);if(kc){var uc={};Object.defineProperties(tc,(uc[Symbol.hasInstance]=xa(function(){throw Error("A");}),uc))}

_.vc=Symbol();_.wc=Symbol();_.xc=Symbol();_.yc=Symbol();

_.G=function(){tc.apply(this,arguments)};_.w(_.G,tc);if(kc){var zc={};Object.defineProperties(_.G,(zc[Symbol.hasInstance]=xa(Object[Symbol.hasInstance]),zc))}

var Ac=function(a){_.G.call(this,a)};_.w(Ac,_.G);

_.Bc=function(a){_.G.call(this,a)};_.w(_.Bc,_.G);_.Bc.prototype.Lc=function(a){return _.E(this,3,a)}; var Cc=function(a){_.G.call(this,a)};_.w(Cc,_.G); _.Dc=function(a){_.G.call(this,a)};_.w(_.Dc,_.G);_.Dc.prototype.af=function(a){return _.E(this,24,a)}; _.Ec=function(a){_.G.call(this,a)};_.w(_.Ec,_.G); _.H=function(){this.Kb=this.Kb;this.Qa=this.Qa};_.H.prototype.Kb=!1;_.H.prototype.isDisposed=function(){return this.Kb};_.H.prototype.oa=function(){this.Kb||(this.Kb=!0,this.R())};_.H.prototype.R=function(){if(this.Qa)for(;this.Qa.length;)this.Qa.shift()()}; var Fc=function(a){_.H.call(this);this.A=a;this.j=[];this.o={}};_.w(Fc,_.H);Fc.prototype.resolve=function(a){var b=this.A;a=a.split(".");for(var c=a.length,d=0;d<c;++d)if(b[a[d]])b=b[a[d]];else return null;return b instanceof Function?b:null};Fc.prototype.jd=function(){for(var a=this.j.length,b=this.j,c=[],d=0;d<a;++d){var e=b[d].j(),f=this.resolve(e);if(f&&f!=this.o[e])try{b[d].jd(f)}catch(g){}else c.push(b[d])}this.j=c.concat(b.slice(a))}; var Gc=function(a){_.H.call(this);this.A=a;this.C=this.j=null;this.B=0;this.D={};this.o=!1;a=window.navigator.userAgent;0<=a.indexOf("MSIE")&&0<=a.indexOf("Trident")&&(a=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a))&&a[1]&&9>parseFloat(a[1])&&(this.o=!0)};_.w(Gc,_.H);Gc.prototype.F=function(a,b){this.j=b;this.C=a;b.preventDefault?b.preventDefault():b.returnValue=!1}; _.Hc=function(a){_.G.call(this,a)};_.w(_.Hc,_.G); _.Ic=function(a){_.G.call(this,a)};_.w(_.Ic,_.G); _.Jc=function(){this.data={}};_.Jc.prototype.o=function(){window.console&&window.console.log&&window.console.log("Log data: ",this.data)};_.Jc.prototype.j=function(a){var b=[],c;for(c in this.data)b.push(encodeURIComponent(c)+"="+encodeURIComponent(String(this.data[c])));return("atyp=i&zx="+(new Date).getTime()+"&"+b.join("&")).substr(0,a)}; var Kc=function(a,b){this.data={};var c=_.q(a,Cc,8)||new Cc;window.google&&window.google.kEI&&(this.data.ei=window.google.kEI);this.data.sei=_.u(_.D(a,10));this.data.ogf=_.u(_.D(c,3));this.data.ogrp=(window.google&&window.google.sn?!/.*hp$/.test(window.google.sn):_.t(_.F(a,7)))?"1":"";this.data.ogv=_.u(_.D(c,6))+"."+_.u(_.D(c,7));this.data.ogd=_.u(_.D(a,21));this.data.ogc=_.u(_.D(a,20));this.data.ogl=_.u(_.D(a,5));b&&(this.data.oggv=b)};_.w(Kc,_.Jc); var Ma="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); _.Lc=function(a,b,c,d,e){Kc.call(this,a,b);_.Na(this.data,{jexpid:_.u(_.D(a,9)),srcpg:"prop="+_.u(_.D(a,6)),jsr:Math.round(1/d),emsg:c.name+":"+c.message});if(e){e._sn&&(e._sn="og."+e._sn);for(var f in e)this.data[encodeURIComponent(f)]=e[f]}};_.w(_.Lc,Kc); var Mc;_.Nc=function(){void 0===Mc&&(Mc=_.qb("ogb-qtm#html"));return Mc}; var Oc;_.Pc=function(a,b){this.j=b===Oc?a:""};_.h=_.Pc.prototype;_.h.Nb=!0;_.h.ob=function(){return this.j.toString()};_.h.Ee=!0;_.h.oc=function(){return 1};_.h.toString=function(){return this.j+""};_.Rc=function(a){return _.Qc(a).toString()};_.Qc=function(a){return a instanceof _.Pc&&a.constructor===_.Pc?a.j:"type_error:TrustedResourceUrl"};Oc={};_.Sc=function(a){var b=_.Nc();a=b?b.createScriptURL(a):a;return new _.Pc(a,Oc)}; var Wc,Xc,Tc;_.Uc=function(a,b){this.j=b===Tc?a:""};_.h=_.Uc.prototype;_.h.Nb=!0;_.h.ob=function(){return this.j.toString()};_.h.Ee=!0;_.h.oc=function(){return 1};_.h.toString=function(){return this.j.toString()};_.Vc=function(a){return a instanceof _.Uc&&a.constructor===_.Uc?a.j:"type_error:SafeUrl"};Wc=/^data:(.*);base64,[a-z0-9+\/]+=*$/i;Xc=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i; _.Zc=function(a){if(a instanceof _.Uc)return a;a="object"==typeof a&&a.Nb?a.ob():String(a);Xc.test(a)?a=_.Yc(a):(a=String(a),a=a.replace(/(%0A|%0D)/g,""),a=a.match(Wc)?_.Yc(a):null);return a};_.$c=function(a){if(a instanceof _.Uc)return a;a="object"==typeof a&&a.Nb?a.ob():String(a);Xc.test(a)||(a="about:invalid#zClosurez");return _.Yc(a)};Tc={};_.Yc=function(a){return new _.Uc(a,Tc)};_.ad=_.Yc("about:invalid#zClosurez"); _.bd={};_.cd=function(a,b){this.j=b===_.bd?a:"";this.Nb=!0};_.cd.prototype.ob=function(){return this.j};_.cd.prototype.toString=function(){return this.j.toString()};_.dd=new _.cd("",_.bd);_.ed=RegExp("^[-,.\"'%_!#/ a-zA-Z0-9\\[\\]]+$");_.fd=RegExp("\\b(url\\([ \t\n]*)('[ -&(-\\[\\]-~]*'|\"[ !#-\\[\\]-~]*\"|[!#-&*-\\[\\]-~]*)([ \t\n]*\\))","g"); _.gd=RegExp("\\b(calc|cubic-bezier|fit-content|hsl|hsla|linear-gradient|matrix|minmax|radial-gradient|repeat|rgb|rgba|(rotate|scale|translate)(X|Y|Z|3d)?|var)\\([-+*/0-9a-zA-Z.%#\\[\\], ]+\\)","g"); var hd;hd={};_.id=function(a,b,c){this.j=c===hd?a:"";this.o=b;this.Nb=this.Ee=!0};_.id.prototype.oc=function(){return this.o};_.id.prototype.ob=function(){return this.j.toString()};_.id.prototype.toString=function(){return this.j.toString()};_.jd=function(a){return a instanceof _.id&&a.constructor===_.id?a.j:"type_error:SafeHtml"};_.kd=function(a,b){var c=_.Nc();a=c?c.createHTML(a):a;return new _.id(a,b,hd)};_.ld=new _.id(_.n.trustedTypes&&_.n.trustedTypes.emptyHTML||"",0,hd);_.md=_.kd("
",0); var od;_.nd=function(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}}(function(){var a=document.createElement("div"),b=document.createElement("div");b.appendChild(document.createElement("div"));a.appendChild(b);b=a.firstChild.firstChild;a.innerHTML=_.jd(_.ld);return!b.parentElement});od=/^[\w+/_-]+[=]{0,2}$/; _.pd=function(a){a=(a||_.n).document;return a.querySelector?(a=a.querySelector('style[nonce],link[rel="stylesheet"][nonce]'))&&(a=a.nonce||a.getAttribute("nonce"))&&od.test(a)?a:"":""}; _.qd=RegExp("^\\s{3,4}at(?: (?:(.*?)\\.)?((?:new )?(?:[a-zA-Z_$][\\w$]*|<anonymous>))(?: \\[as ([a-zA-Z_$][\\w$]*)\\])?)? (?:\\(unknown source\\)|\\(native\\)|\\((?:eval at )?((?:http|https|file)://[^\\s)]+|javascript:.*)\\)|((?:http|https|file)://[^\\s)]+|javascript:.*))$");_.rd=RegExp("^(?:(.*?)\\.)?([a-zA-Z_$][\\w$]*(?:/.?<)?)?(\\(.*\\))?@(?::0|((?:http|https|file)://[^\\s)]+|javascript:.*))$"); var sd,vd,ud;_.td=function(a){var b=window.google&&window.google.logUrl?"":"https://www.google.com";b+="/gen_204?use_corp=on&";b+=a.j(2040-b.length);sd(_.Zc(b)||_.ad)};sd=function(a){var b=new Image,c=ud;b.onerror=b.onload=b.onabort=function(){c in vd&&delete vd[c]};vd[ud++]=b;b.src=_.Vc(a)};vd=[];ud=0; _.wd=function(a){_.G.call(this,a)};_.w(_.wd,_.G); _.xd=function(a){var b="uc";if(a.uc&&a.hasOwnProperty(b))return a.uc;b=new a;return a.uc=b}; _.yd=function(){this.j={};this.o={}};_.Ad=function(a,b){var c=_.yd.j();if(a in c.j){if(c.j[a]!=b)throw new zd(a);}else{c.j[a]=b;if(b=c.o[a])for(var d=0,e=b.length;d<e;d++)b[d].j(c.j,a);delete c.o[a]}};_.Cd=function(a,b){if(b in a.j)return a.j[b];throw new Bd(b);};_.yd.j=function(){return _.xd(_.yd)};var Dd=function(){_.aa.call(this)};_.w(Dd,_.aa);var zd=function(){_.aa.call(this)};_.w(zd,Dd);var Bd=function(){_.aa.call(this)};_.w(Bd,Dd); var Gd=function(){var a=Ed;this.C=Fd;this.o=_.Ja(_.oc(a,2,.001),.001);this.D=_.t(_.F(a,1))&&Math.random()<this.o;this.F=_.Ja(_.qc(a,3,1),1);this.B=0;this.j=this.A=null};Gd.prototype.log=function(a,b){if(this.j){var c=new Ac;_.E(c,1,a.message);_.E(c,2,a.stack);_.E(c,3,a.lineNumber);_.E(c,5,1);var d=new _.Bc;_.pc(d,40,c);this.j.log(98,d)}try{if(this.D&&this.B<this.F){try{var e=(this.A||_.Cd(_.yd.j(),"lm")).B(a,b)}catch(f){e=new _.Lc(this.C,"quantum:gapiBuildLabel",a,this.o,b)}_.td(e);this.B++}}catch(f){}}; var Hd=[1,2,3,4,5,6,9,10,11,13,14,28,29,30,34,35,37,38,39,40,42,43,48,49,50,51,52,53,62,500],Kd=function(a,b,c,d,e,f){Kc.call(this,a,b);_.Na(this.data,{oge:d,ogex:_.u(_.D(a,9)),ogp:_.u(_.D(a,6)),ogsr:Math.round(1/(Id(d)?_.Ja(_.oc(c,3,1)):_.Ja(_.oc(c,2,1E-4)))),ogus:e});if(f){"ogw"in f&&(this.data.ogw=f.ogw,delete f.ogw);"ved"in f&&(this.data.ved=f.ved,delete f.ved);a=[];for(var g in f)0!=a.length&&a.push(","),a.push(Jd(g)),a.push("."),a.push(Jd(f[g]));f=a.join("");""!=f&&(this.data.ogad=f)}}; _.w(Kd,Kc);var Jd=function(a){a=String(a);return a.replace(".","%2E").replace(",","%2C")},Id=function(a){if(!Ld){Ld={};for(var b=0;b<Hd.length;b++)Ld[Hd[b]]=!0}return!!Ld[a]},Ld=null; var Md=function(a){_.G.call(this,a)};_.w(Md,_.G); var Qd=function(){var a=Nd,b=Od,c=Pd;this.o=a;this.j=b;this.B=_.Ja(_.oc(a,2,1E-4),1E-4);this.D=_.Ja(_.oc(a,3,1),1);b=Math.random();this.A=_.t(_.F(a,1))&&b<this.B;this.C=_.t(_.F(a,1))&&b<this.D;a=0;_.t(_.F(c,1))&&(a|=1);_.t(_.F(c,2))&&(a|=2);_.t(_.F(c,3))&&(a|=4);this.F=a};Qd.prototype.log=function(a,b){try{if(Id(a)?this.C:this.A){var c=new Kd(this.j,"quantum:gapiBuildLabel",this.o,a,this.F,b);_.td(c)}}catch(d){}}; _.Rd=function(a){this.va=a;this.j=void 0;this.o=[]};_.Rd.prototype.then=function(a,b,c){this.o.push(new Sd(a,b,c));Td(this)};_.Rd.prototype.resolve=function(a){if(void 0!==this.va||void 0!==this.j)throw Error("I");this.va=a;Td(this)};_.Rd.prototype.reject=function(a){if(void 0!==this.va||void 0!==this.j)throw Error("I");this.j=a;Td(this)};var Td=function(a){if(0<a.o.length){var b=void 0!==a.va,c=void 0!==a.j;if(b||c){b=b?a.A:a.B;c=a.o;a.o=[];try{_.tb(c,b,a)}catch(d){console.error(d)}}}}; _.Rd.prototype.A=function(a){a.o&&a.o.call(a.j,this.va)};_.Rd.prototype.B=function(a){a.A&&a.A.call(a.j,this.j)};var Sd=function(a,b,c){this.o=a;this.A=b;this.j=c}; _.I=function(){this.B=new _.Rd;this.j=new _.Rd;this.G=new _.Rd;this.D=new _.Rd;this.F=new _.Rd;this.H=new _.Rd;this.C=new _.Rd;this.A=new _.Rd;this.o=new _.Rd;this.K=new _.Rd};_.h=_.I.prototype;_.h.Ph=function(){return this.B};_.h.Xh=function(){return this.j};_.h.hi=function(){return this.G};_.h.Wh=function(){return this.D};_.h.di=function(){return this.F};_.h.Th=function(){return this.H};_.h.Uh=function(){return this.C};_.h.Jh=function(){return this.A};_.h.Ih=function(){return this.o};_.I.j=function(){return _.xd(_.I)}; var Ud=function(a){_.G.call(this,a)};_.w(Ud,_.G);_.Wd=function(){return _.q(_.Vd,_.Dc,1)};_.Xd=function(){return _.q(_.Vd,_.Ec,5)}; var Yd;window.gbar_&&window.gbar_.CONFIG?Yd=window.gbar_.CONFIG[0]||{}:Yd=[];_.Vd=new Ud(Yd); var Ed,Fd,Od,Pd,Nd;Ed=_.q(_.Vd,_.wd,3)||new _.wd;Fd=_.Wd()||new _.Dc;_.J=new Gd;Od=_.Wd()||new _.Dc;Pd=_.Xd()||new _.Ec;Nd=_.q(_.Vd,Md,4)||new Md;_.Zd=new Qd; _.z("gbar_._DumpException",function(a){_.J?_.J.log(a):console.error(a)}); _.$d=new Gc(_.J); _.Zd.log(8,{m:"BackCompat"==document.compatMode?"q":"s"});_.z("gbar.A",_.Rd);_.Rd.prototype.aa=_.Rd.prototype.then;_.z("gbar.B",_.I);_.I.prototype.ba=_.I.prototype.Xh;_.I.prototype.bb=_.I.prototype.hi;_.I.prototype.bd=_.I.prototype.di;_.I.prototype.bf=_.I.prototype.Ph;_.I.prototype.bg=_.I.prototype.Wh;_.I.prototype.bh=_.I.prototype.Th;_.I.prototype.bi=_.I.prototype.Uh;_.I.prototype.bj=_.I.prototype.Jh;_.I.prototype.bk=_.I.prototype.Ih;_.z("gbar.a",_.I.j());var ae=new Fc(window);_.Ad("api",ae); var be=_.Xd()||new _.Ec;window.__PVT=_.u(_.D(be,8));_.Ad("eq",_.$d);

}catch(e){_._DumpException(e)} try{ var ce=function(a){_.G.call(this,a)};_.w(ce,_.G); var de=function(){_.H.call(this);this.o=[];this.j=[]};_.w(de,_.H);de.prototype.A=function(a,b){this.o.push({features:a,options:b})};de.prototype.init=function(a,b,c){window.gapi={};var d=window.___jsl={};d.h=_.u(_.D(a,1));_.lc(a,12)&&(d.dpo=_.t(_.F(a,12)));d.ms=_.u(_.D(a,2));d.m=_.u(_.D(a,3));d.l=[];_.D(b,1)&&(a=_.D(b,3))&&this.j.push(a);_.D(c,1)&&(c=_.D(c,2))&&this.j.push(c);_.z("gapi.load",(0,_.y)(this.A,this));return this}; var ee=_.q(_.Vd,_.Hc,14)||new _.Hc,fe=_.q(_.Vd,_.Ic,9)||new _.Ic,ge=new ce,he=new de;he.init(ee,fe,ge);_.Ad("gs",he);

}catch(e){_._DumpException(e)} })(this.gbar_); // Google Inc.

</script><style data-iml="1647419543094">.gb_Za:not(.gb_Ed){font:13px/27px Roboto,RobotoDraft,Arial,sans-serif;z-index:986}@-webkit-keyframes gb__a{0%{opacity:0}50%{opacity:1}}@keyframes gb__a{0%{opacity:0}50%{opacity:1}}a.gb_W{border:none;color:#4285f4;cursor:default;font-weight:bold;outline:none;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none}a.gb_W:hover:after,a.gb_W:focus:after{background-color:rgba(0,0,0,.12);content:;height:100%;left:0;position:absolute;top:0;width:100%}a.gb_W:hover,a.gb_W:focus{text-decoration:none}a.gb_W:active{background-color:rgba(153,153,153,.4);text-decoration:none}a.gb_X{background-color:#4285f4;color:#fff}a.gb_X:active{background-color:#0043b2}.gb_Z{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 1px rgba(0,0,0,.16)}.gb_W,.gb_X,.gb_0,.gb_1{display:inline-block;line-height:28px;padding:0 12px;-webkit-border-radius:2px;border-radius:2px}.gb_0{background:#f8f8f8;border:1px solid #c6c6c6}.gb_1{background:#f8f8f8}.gb_0,#gb a.gb_0.gb_0,.gb_1{color:#666;cursor:default;text-decoration:none}#gb a.gb_1.gb_1{cursor:default;text-decoration:none}.gb_1{border:1px solid #4285f4;font-weight:bold;outline:none;background:#4285f4;background:-webkit-linear-gradient(top,#4387fd,#4683ea);background:linear-gradient(top,#4387fd,#4683ea);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4387fd,endColorstr=#4683ea,GradientType=0)}#gb a.gb_1.gb_1{color:#fff}.gb_1:hover{-webkit-box-shadow:0 1px 0 rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(0,0,0,.15)}.gb_1:active{-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,.15);box-shadow:inset 0 2px 0 rgba(0,0,0,.15);background:#3c78dc;background:-webkit-linear-gradient(top,#3c7ae4,#3f76d3);background:linear-gradient(top,#3c7ae4,#3f76d3);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3c7ae4,endColorstr=#3f76d3,GradientType=0)}.gb_ya{display:none!important}.gb_za{visibility:hidden}.gb_ed{display:inline-block;vertical-align:middle}.gb_wf{position:relative}.gb_A{display:inline-block;outline:none;vertical-align:middle;-webkit-border-radius:2px;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;color:#000;cursor:pointer;text-decoration:none}#gb#gb a.gb_A{color:#000;cursor:pointer;text-decoration:none}.gb_1a{border-color:transparent;border-bottom-color:#fff;border-style:dashed dashed solid;border-width:0 8.5px 8.5px;display:none;position:absolute;left:11.5px;top:43px;z-index:1;height:0;width:0;-webkit-animation:gb__a .2s;animation:gb__a .2s}.gb_2a{border-color:transparent;border-style:dashed dashed solid;border-width:0 8.5px 8.5px;display:none;position:absolute;left:11.5px;z-index:1;height:0;width:0;-webkit-animation:gb__a .2s;animation:gb__a .2s;border-bottom-color:#ccc;border-bottom-color:rgba(0,0,0,.2);top:42px}x:-o-prefocus,div.gb_2a{border-bottom-color:#ccc}.gb_C{background:#fff;border:1px solid #ccc;border-color:rgba(0,0,0,.2);color:#000;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.2);box-shadow:0 2px 10px rgba(0,0,0,.2);display:none;outline:none;overflow:hidden;position:absolute;right:8px;top:62px;-webkit-animation:gb__a .2s;animation:gb__a .2s;-webkit-border-radius:2px;border-radius:2px;-webkit-user-select:text}.gb_ed.gb_ja .gb_1a,.gb_ed.gb_ja .gb_2a,.gb_ed.gb_ja .gb_C,.gb_ja.gb_C{display:block}.gb_ed.gb_ja.gb_xf .gb_1a,.gb_ed.gb_ja.gb_xf .gb_2a{display:none}.gb_yf{position:absolute;right:8px;top:62px;z-index:-1}.gb_Ha .gb_1a,.gb_Ha .gb_2a,.gb_Ha .gb_C{margin-top:-10px}.gb_ed:first-child,#gbsfw:first-child+.gb_ed{padding-left:4px}.gb_na.gb_Oe .gb_ed:first-child{padding-left:0}.gb_Pe{position:relative}.gb_Pc .gb_Pe,.gb_Vd .gb_Pe{float:right}.gb_A{padding:8px;cursor:pointer}.gb_na .gb_6c:not(.gb_W):focus img{background-color:rgba(0,0,0,0.20);outline:none;-webkit-border-radius:50%;border-radius:50%}.gb_Qe button:focus svg,.gb_Qe button:hover svg,.gb_Qe button:active svg,.gb_A:focus,.gb_A:hover,.gb_A:active,.gb_A[aria-expanded=true]{outline:none;-webkit-border-radius:50%;border-radius:50%}.gb_yc .gb_Qe.gb_Re button:focus svg,.gb_yc .gb_Qe.gb_Re button:focus:hover svg,.gb_Qe button:focus svg,.gb_Qe button:focus:hover svg,.gb_A:focus,.gb_A:focus:hover{background-color:rgba(60,64,67,0.1)}.gb_yc .gb_Qe.gb_Re button:active svg,.gb_Qe button:active svg,.gb_A:active{background-color:rgba(60,64,67,0.12)}.gb_yc .gb_Qe.gb_Re button:hover svg,.gb_Qe button:hover svg,.gb_A:hover{background-color:rgba(60,64,67,0.08)}.gb_ga .gb_A.gb_Ka:hover{background-color:transparent}.gb_A[aria-expanded=true],.gb_A:hover[aria-expanded=true]{background-color:rgba(95,99,104,0.24)}.gb_A[aria-expanded=true] .gb_Se,.gb_A[aria-expanded=true] .gb_Te{fill:#5f6368;opacity:1}.gb_yc .gb_Qe button:hover svg,.gb_yc .gb_A:hover{background-color:rgba(232,234,237,0.08)}.gb_yc .gb_Qe button:focus svg,.gb_yc .gb_Qe button:focus:hover svg,.gb_yc .gb_A:focus,.gb_yc .gb_A:focus:hover{background-color:rgba(232,234,237,0.10)}.gb_yc .gb_Qe button:active svg,.gb_yc .gb_A:active{background-color:rgba(232,234,237,0.12)}.gb_yc .gb_A[aria-expanded=true],.gb_yc .gb_A:hover[aria-expanded=true]{background-color:rgba(255,255,255,0.12)}.gb_yc .gb_A[aria-expanded=true] .gb_Se,.gb_yc .gb_A[aria-expanded=true] .gb_Te{fill:#ffffff;opacity:1}.gb_ed{padding:4px}.gb_na.gb_Oe .gb_ed{padding:4px 2px}.gb_na.gb_Oe .gb_La.gb_ed{padding-left:6px}.gb_C{z-index:991;line-height:normal}.gb_C.gb_Ue{left:8px;right:auto}@media (max-width:350px){.gb_C.gb_Ue{left:0}}.gb_Ve .gb_C{top:56px}.gb_z .gb_A,.gb_B .gb_z .gb_A{background-position:-64px -29px}.gb_g .gb_z .gb_A{background-position:-29px -29px;opacity:1}.gb_z .gb_A,.gb_z .gb_A:hover,.gb_z .gb_A:focus{opacity:1}.gb_Fd{display:none}.gb_Xc{font-family:Google Sans,Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;letter-spacing:0.25px;line-height:48px;margin-bottom:2px;opacity:1;overflow:hidden;padding-left:16px;position:relative;text-overflow:ellipsis;vertical-align:middle;top:2px;white-space:nowrap;-webkit-flex:1 1 auto;flex:1 1 auto}.gb_Xc.gb_Zc{color:#3c4043}.gb_na.gb_oa .gb_Xc{margin-bottom:0}.gb_0c.gb_1c .gb_Xc{padding-left:4px}.gb_na.gb_oa .gb_2c{position:relative;top:-2px}.gb_na{color:black;min-width:320px;position:relative;-webkit-transition:box-shadow 250ms;transition:box-shadow 250ms}.gb_na.gb_Hc{min-width:240px}.gb_na.gb_Hd .gb_Id{display:none}.gb_na.gb_Hd .gb_Jd{height:56px}header.gb_na{display:block}.gb_na svg{fill:currentColor}.gb_Kd{position:fixed;top:0;width:100%}.gb_Ld{-webkit-box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2)}.gb_Md{height:64px}.gb_Jd{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between;min-width:-webkit-min-content;min-width:min-content}.gb_na:not(.gb_oa) .gb_Jd{padding:8px}.gb_na.gb_Nd .gb_Jd{-webkit-flex:1 0 auto;flex:1 0 auto}.gb_na .gb_Jd.gb_Od.gb_Pd{min-width:0}.gb_na.gb_oa .gb_Jd{padding:4px;padding-left:8px;min-width:0}.gb_Id{height:48px;vertical-align:middle;white-space:nowrap;-webkit-box-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-user-select:none}.gb_Rd>.gb_Id{display:table-cell;width:100%}.gb_0c{padding-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-flex:1 0 auto;flex:1 0 auto}.gb_na.gb_oa .gb_0c{padding-right:14px}.gb_Sd{-webkit-flex:1 1 100%;flex:1 1 100%}.gb_Sd>:only-child{display:inline-block}.gb_Td.gb_Qc{padding-left:4px}.gb_Td.gb_Ud,.gb_na.gb_Nd .gb_Td,.gb_na.gb_oa:not(.gb_Vd) .gb_Td{padding-left:0}.gb_na.gb_oa .gb_Td.gb_Ud{padding-right:0}.gb_na.gb_oa .gb_Td.gb_Ud .gb_ga{margin-left:10px}.gb_Qc{display:inline}.gb_na.gb_Kc .gb_Td.gb_Wd,.gb_na.gb_Vd .gb_Td.gb_Wd{padding-left:2px}.gb_Xc{display:inline-block}.gb_Td{-webkit-box-sizing:border-box;box-sizing:border-box;height:48px;line-height:normal;padding:0 4px;padding-left:30px;-webkit-flex:0 0 auto;flex:0 0 auto;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end}.gb_Vd{height:48px}.gb_na.gb_Vd{min-width:initial;min-width:auto}.gb_Vd .gb_Td{float:right;padding-left:32px}.gb_Vd .gb_Td.gb_Xd{padding-left:0}.gb_Zd{font-size:14px;max-width:200px;overflow:hidden;padding:0 12px;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text}.gb_0d{-webkit-transition:background-color .4s;transition:background-color .4s}.gb_1d{color:black}.gb_yc{color:white}.gb_na a,.gb_Dc a{color:inherit}.gb_q{color:rgba(0,0,0,0.87)}.gb_na svg,.gb_Dc svg,.gb_0c .gb_2d,.gb_Pc .gb_2d{color:#5f6368;opacity:1}.gb_yc svg,.gb_Dc.gb_Ic svg,.gb_yc .gb_0c .gb_2d,.gb_yc .gb_0c .gb_xc,.gb_yc .gb_0c .gb_2c,.gb_Dc.gb_Ic .gb_2d{color:rgba(255,255,255,0.87)}.gb_yc .gb_0c .gb_wc:not(.gb_3d){opacity:0.87}.gb_Zc{color:inherit;opacity:1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.gb_yc .gb_Zc,.gb_1d .gb_Zc{opacity:1}.gb_4d{position:relative}.gb_5d{font-family:arial,sans-serif;line-height:normal;padding-right:15px}a.gb_d,span.gb_d{color:rgba(0,0,0,0.87);text-decoration:none}.gb_yc a.gb_d,.gb_yc span.gb_d{color:white}a.gb_d:focus{outline-offset:2px}a.gb_d:hover{text-decoration:underline}.gb_e{display:inline-block;padding-left:15px}.gb_e .gb_d{display:inline-block;line-height:24px;vertical-align:middle}.gb_6d{font-family:Google Sans,Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;letter-spacing:0.25px;line-height:16px;margin-left:10px;margin-right:8px;min-width:96px;padding:9px 23px;text-align:center;vertical-align:middle;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.gb_na.gb_Vd .gb_6d{margin-left:8px}#gb a.gb_1.gb_1.gb_6d,#gb a.gb_0.gb_0.gb_6d{cursor:pointer}.gb_1.gb_6d:hover{background:#2b7de9;-webkit-box-shadow:0 1px 2px 0 rgba(66,133,244,0.3),0 1px 3px 1px rgba(66,133,244,0.15);box-shadow:0 1px 2px 0 rgba(66,133,244,0.3),0 1px 3px 1px rgba(66,133,244,0.15)}.gb_1.gb_6d:focus,.gb_1.gb_6d:hover:focus{background:#5094ed;-webkit-box-shadow:0 1px 2px 0 rgba(66,133,244,0.3),0 1px 3px 1px rgba(66,133,244,0.15);box-shadow:0 1px 2px 0 rgba(66,133,244,0.3),0 1px 3px 1px rgba(66,133,244,0.15)}.gb_1.gb_6d:active{background:#63a0ef;-webkit-box-shadow:0 1px 2px 0 rgba(66,133,244,0.3),0 1px 3px 1px rgba(66,133,244,0.15);box-shadow:0 1px 2px 0 rgba(66,133,244,0.3),0 1px 3px 1px rgba(66,133,244,0.15)}.gb_6d:not(.gb_0){background:#1a73e8;border:1px solid transparent}.gb_na.gb_oa .gb_6d{padding:9px 15px;min-width:80px}.gb_7d{text-align:left}#gb a.gb_6d.gb_0,#gb .gb_yc a.gb_6d,#gb.gb_yc a.gb_6d{background:#ffffff;border-color:#dadce0;-webkit-box-shadow:none;box-shadow:none;color:#1a73e8}#gb a.gb_1.gb_ha.gb_6d{background:#8ab4f8;border:1px solid transparent;-webkit-box-shadow:none;box-shadow:none;color:#202124}#gb a.gb_6d.gb_0:hover,#gb .gb_yc a.gb_6d:hover,#gb.gb_yc a.gb_6d:hover{background:#f8fbff;border-color:#cce0fc}#gb a.gb_1.gb_ha.gb_6d:hover{background:#93baf9;border-color:transparent;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.3);box-shadow:0 1px 3px 1px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.3)}#gb a.gb_6d.gb_0:focus,#gb a.gb_6d.gb_0:focus:hover,#gb .gb_yc a.gb_6d:focus,#gb .gb_yc a.gb_6d:focus:hover,#gb.gb_yc a.gb_6d:focus,#gb.gb_yc a.gb_6d:focus:hover{background:#f4f8ff;border-color:#c9ddfc}#gb a.gb_1.gb_ha.gb_6d:focus,#gb a.gb_1.gb_ha.gb_6d:focus:hover{background:#a6c6fa;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}#gb a.gb_6d.gb_0:active,#gb .gb_yc a.gb_6d:active,#gb.gb_yc a.gb_6d:active{background:#ecf3fe}#gb a.gb_1.gb_ha.gb_6d:active{background:#a1c3f9;-webkit-box-shadow:0 1px 2px rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15);box-shadow:0 1px 2px rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15)}#gb a.gb_6d.gb_0:not(.gb_ha):active{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15);box-shadow:0 1px 2px 0 rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15)}.gb_ga{background-color:rgba(255,255,255,0.88);border:1px solid #dadce0;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;max-height:48px;overflow:hidden;outline:none;padding:0;vertical-align:middle;width:134px;-webkit-border-radius:8px;border-radius:8px}.gb_ga.gb_ha{background-color:transparent;border:1px solid #5f6368}.gb_ia{display:inherit}.gb_ga.gb_ha .gb_ia{background:#ffffff;-webkit-border-radius:4px;border-radius:4px;display:inline-block;left:8px;margin-right:5px;position:relative;padding:3px;top:-1px}.gb_ga:hover{border:1px solid #d2e3fc;background-color:rgba(248,250,255,0.88)}.gb_ga.gb_ha:hover{background-color:rgba(241,243,244,0.04);border:1px solid #5f6368}.gb_ga:focus{background-color:rgba(255,255,255);border:1px solid #fff;-webkit-box-shadow:0px 1px 2px 0px rgba(60,64,67,0.3),0px 1px 3px 1px rgba(60,64,67,0.15);box-shadow:0px 1px 2px 0px rgba(60,64,67,0.3),0px 1px 3px 1px rgba(60,64,67,0.15)}.gb_ga.gb_ha:focus{background-color:rgba(241,243,244,0.12);border:1px solid #f1f3f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,0.15),0 1px 2px 0 rgba(0,0,0,0.3);box-shadow:0 1px 3px 1px rgba(0,0,0,0.15),0 1px 2px 0 rgba(0,0,0,0.3)}.gb_ga.gb_ha:active,.gb_ga.gb_ja.gb_ha:focus{background-color:rgba(241,243,244,0.1);border:1px solid #5f6368}.gb_ka{display:inline-block;padding-bottom:2px;padding-left:7px;padding-top:2px;text-align:center;vertical-align:middle;line-height:32px;width:78px}.gb_ga.gb_ha .gb_ka{line-height:26px;margin-left:0;padding-bottom:0;padding-left:0;padding-top:0;width:72px}.gb_ka.gb_la{background-color:#f1f3f4;-webkit-border-radius:4px;border-radius:4px;margin-left:8px;padding-left:0}.gb_ka.gb_la .gb_ma{vertical-align:middle}.gb_na:not(.gb_oa) .gb_ga{margin-left:10px;margin-right:4px}.gb_pa{max-height:32px;width:78px}.gb_ga.gb_ha .gb_pa{max-height:26px;width:72px}.gb_Aa{-webkit-background-size:32px 32px;background-size:32px 32px;border:0;-webkit-border-radius:50%;border-radius:50%;display:block;margin:0px;position:relative;height:32px;width:32px;z-index:0}.gb_Ba{background-color:#e8f0fe;border:1px solid rgba(32,33,36,.08);position:relative}.gb_Ba.gb_Aa{height:30px;width:30px}.gb_Ba.gb_Aa:hover,.gb_Ba.gb_Aa:active{-webkit-box-shadow:none;box-shadow:none}.gb_Ca{background:#fff;border:none;-webkit-border-radius:50%;border-radius:50%;bottom:2px;-webkit-box-shadow:0px 1px 2px 0px rgba(60,64,67,.30),0px 1px 3px 1px rgba(60,64,67,.15);box-shadow:0px 1px 2px 0px rgba(60,64,67,.30),0px 1px 3px 1px rgba(60,64,67,.15);height:14px;margin:2px;position:absolute;right:0;width:14px}.gb_Da{color:#1f71e7;font:400 22px/32px Google Sans,Roboto,RobotoDraft,Helvetica,Arial,sans-serif;text-align:center;text-transform:uppercase}@media (min-resolution:1.25dppx),(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-device-pixel-ratio:1.25){.gb_Aa::before{display:inline-block;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:left 0;transform-origin:left 0}.gb_Ea::before{display:inline-block;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:left 0;transform-origin:left 0}.gb_i .gb_Ea::before{-webkit-transform:scale(0.416666667);transform:scale(0.416666667)}}.gb_Aa:hover,.gb_Aa:focus{-webkit-box-shadow:0 1px 0 rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(0,0,0,.15)}.gb_Aa:active{-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,.15);box-shadow:inset 0 2px 0 rgba(0,0,0,.15)}.gb_Aa:active::after{background:rgba(0,0,0,.1);-webkit-border-radius:50%;border-radius:50%;content:;display:block;height:100%}.gb_Fa{cursor:pointer;line-height:40px;min-width:30px;opacity:.75;overflow:hidden;vertical-align:middle;text-overflow:ellipsis}.gb_A.gb_Fa{width:auto}.gb_Fa:hover,.gb_Fa:focus{opacity:.85}.gb_Ha .gb_Fa,.gb_Ha .gb_Ia{line-height:26px}#gb#gb.gb_Ha a.gb_Fa,.gb_Ha .gb_Ia{font-size:11px;height:auto}.gb_Ja{border-top:4px solid #000;border-left:4px dashed transparent;border-right:4px dashed transparent;display:inline-block;margin-left:6px;opacity:.75;vertical-align:middle}.gb_Ka:hover .gb_Ja{opacity:.85}.gb_ga>.gb_La{padding:3px 3px 3px 4px}.gb_Ma.gb_za{color:#fff}.gb_Aa.gb_Na{clip-path:path('M16 0C24.8366 0 32 7.16344 32 16C32 16.4964 31.9774 16.9875 31.9332 17.4723C30.5166 16.5411 28.8215 16 27 16C22.0294 16 18 20.0294 18 25C18 27.4671 18.9927 29.7024 20.6004 31.3282C19.1443 31.7653 17.5996 32 16 32C7.16344 32 0 24.8366 0 16C0 7.16344 7.16344 0 16 0Z')}.gb_Oa{-webkit-border-radius:50%;border-radius:50%;-webkit-box-shadow:0px 1px 2px 0px rgba(60,64,67,.30),0px 1px 3px 1px rgba(60,64,67,.15);box-shadow:0px 1px 2px 0px rgba(60,64,67,.30),0px 1px 3px 1px rgba(60,64,67,.15);margin:2px}.gb_Pa{fill:#d93025}.gb_Qa{fill:white}.gb_ha .gb_Pa{fill:#f28b82}.gb_ha .gb_Qa{fill:#202124}.gb_Ra{-webkit-border-radius:50%;border-radius:50%;bottom:2px;height:18px;position:absolute;right:0px;width:18px}.gb_g .gb_Fa,.gb_g .gb_Ja{opacity:1}#gb#gb.gb_g.gb_g a.gb_Fa,#gb#gb .gb_g.gb_g a.gb_Fa{color:#fff}.gb_g.gb_g .gb_Ja{border-top-color:#fff;opacity:1}.gb_B .gb_Aa:hover,.gb_g .gb_Aa:hover,.gb_B .gb_Aa:focus,.gb_g .gb_Aa:focus{-webkit-box-shadow:0 1px 0 rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 0 rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.2)}.gb_Sa .gb_La,.gb_Ta .gb_La{position:absolute;right:1px}.gb_La.gb_f,.gb_Ua.gb_f,.gb_Ka.gb_f{-webkit-flex:0 1 auto;flex:0 1 auto;-webkit-flex:0 1 main-size;flex:0 1 main-size}.gb_Va.gb_Wa .gb_Fa{width:30px!important}.gb_Xa{height:40px;position:absolute;right:-5px;top:-5px;width:40px}.gb_Za .gb_Xa,.gb_0a .gb_Xa{right:0;top:0}.gb_La .gb_A{padding:4px}.gb_9d{display:none}sentinel{}</style>

<header>
<style data-iml="1647419543095">#navd{position:absolute;top:0}.KojFAc:focus{outline:none}.SSH64d{background-color:rgba(255,255,255,0);display:none;height:100%;overflow:hidden;position:fixed;top:0;width:100vw;z-index:199;}.KojFAc{padding:12px 16px}.emdozc a{text-decoration:none}</style>
<svg style="fill:#8a8a8a;width:24px;height:24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg>
<a class="gb_A" aria-label="Các ứng dụng của Google" href="https://www.google.com.vn/intl/vi/about/products?tab=wh" aria-expanded="false" role="button" tabindex="0"><svg class="gb_Se" focusable="false" viewBox="0 0 24 24"><path d="M6,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM6,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM6,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM16,6c0,1.1 0.9,2 2,2s2,-0.9 2,-2 -0.9,-2 -2,-2 -2,0.9 -2,2zM12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2z"></path></svg></a>
<a class="gb_1 gb_2 gb_6d gb_ha gb_6c" href="https://accounts.google.com/ServiceLogin?hl=vi&passive=true&continue=https://www.google.com/&ec=GAZAAQ" target="_top">Đăng nhập</a>
</header>
<img style="border:none;margin:8px 0" height="56" src="/images/branding/googlelogo/2x/googlelogo_light_color_160x56dp.png" width="160" id="hplogo" alt="Google" data-atf="1" data-frt="0">
<style data-iml="1647419543096">.Gwkg9c{margin:8px}</style>
<style data-iml="1647419543097">.no_outline a,.no_outline div{outline:none;-webkit-tap-highlight-color:rgba(255,255,255,0)}.tsf{margin-left:auto;margin-right:auto;max-width:736px;overflow:hidden;width:auto;}.smCvtd{font-size:16px;color:#ff8d7d;background-color:#000}#mlogo{background:url(/images/branding/searchlogo/1x/googlelogo_mobile_tier1_srp_color_75x26dp.png) no-repeat;background-size:75px 26px;color:transparent;height:26px;left:9px;position:absolute;text-align:center;top:5px;width:75px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:192dpi){#mlogo{background-image:url(/images/branding/searchlogo/2x/googlelogo_mobile_tier1_srp_color_75x26dp.png)}}#mlogo.doodle{background-image:none;line-height:34px;outline:none}#mdlogo{max-height:64px;max-width:100%;vertical-align:middle}.ddlx-closed #mdlogo{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ddlx-closed #lglogo,.ddlx-closed #ddlx-share-button{opacity:0;-webkit-transform:translate3d(0,-90px,0);transform:translate3d(0,-90px,0)}.ddlx-expanded #mdlogo{opacity:0;-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}.ddlx-expanded #lglogo,.ddlx-expanded #ddlx-share-button{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}#ddlxsharemenu{background-color:#202124;border-radius:2px;box-shadow:0 2px 1px rgba(255,255,255,.1),0 0 1px rgba(255,255,255,.1);color:#bdc1c6;font-size:16px;opacity:0;position:absolute;right:8px;text-align:left;top:8px;transform:translate3d(0px,-200px,0px);-webkit-transform:translate3d(0px,-200px,0px);width:200px;z-index:105}.Uadjd{background-size:72px 24px;border-radius:3px;bottom:2px;display:inline-block;height:24px;position:relative;margin:12px 16px;vertical-align:middle;width:24px}.PTpbI{background-color:#3b579d;background-position:-24px 0}.eZZiz{background-color:#55acee;background-position:-48px 0}</style><form class="tsf" action="/search" id="tsf" data-submitfalse="q" method="GET" name="gs" role="search">
<style data-iml="1647419543097">.A7Yvie{background:none;padding:0 8px;}.zGVn2e{display:flex;z-index:3;box-shadow:;border-radius:20px;background:#303134;border:1px solid #70757a;background:#202124;}.SDkEP{flex:1;display:flex;padding:7px 0 6px;}.Sl6fgd{position:fixed;width:100%;height:100%;top:0px;left:0px;background:#303134;z-index:989;border-radius:0;overflow:auto;padding:0}.Sl6fgd .SDkEP{padding:12px 0 12px;border:none}.Sl6fgd .zGVn2e{border:none;margin-left:0;margin-right:0;margin-top:5px;height:auto;margin-top:0}.Sl6fgd .A7Yvie{border:none}.noscroll{overflow:hidden}.qbOKL{position:fixed;overscroll-behavior:contain}.Epl37.emcav .SDkEP{border-bottom-left-radius:0}.Epl37.emcav .zGVn2e{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.Epl37.emcav .Tg7LZd{border-bottom-right-radius:0}</style>
<style data-iml="1647419543098">.Cdl0yb{outline:none;background:none;border:none;margin:0 15px 0 17px;padding:0;margin:0 3px 0 5px;padding:0 12px;flex:0 0 auto}.Cdl0yb:focus,.Cdl0yb:active{outline:revert;outline-offset:-1px;z-index:1}.Z7Bonf{color:#8ab4f8;height:24px}</style><button jscontroller="K6fP3e" class="Cdl0yb" style="display:none" tabindex="0" jsname="Cdl0yb" aria-label="Quay lại" role="button" type="button" jsaction="a4fUwd">
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"></path></svg>
</button><style data-iml="1647419543099">.Epl37.emcav .Tg7LZd{-webkit-border-bottom-right-radius:0}.Sl6fgd .Tg7LZd{margin-right:10px}.Sl6fgd .search_button_suggest{display:none}.Sl6fgd .NJRglc{background-color:white;border:none;display:none;}</style><style data-iml="1647419543099">.Tg7LZd{display:flex;border-radius:0 20px 20px 0;padding:0 8px;background:transparent;border:none;margin-right:-1px;padding-right:0;flex:0 0 auto}html:not(.zAoYTe) .Tg7LZd:focus{outline:0}.NJRglc{display:none}</style><button class="Tg7LZd search_button_suggest" aria-label="Tìm trên Google" type="button" jsaction="click:.CLIENT"><style data-iml="1647419543099">.gBCQ5d{background:none;color:#9aa0a6;height:24px;width:24px;margin:auto}</style>
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>
</button><button class="Tg7LZd NJRglc" jsname="Tg7LZd" aria-label="Tìm trên Google" type="button" jsaction="click:.CLIENT"></button>
<style data-iml="1647419543099">.gLFyf{line-height:25px;background-color:transparent;border:none;margin:0;padding:0 0 0 19px;font-size:18px;font-family:Roboto,Helvetica Neue,Arial,sans-serif;color:#bdc1c6;word-wrap:break-word;outline:none;display:flex;flex:1;-webkit-tap-highlight-color:transparent;width:100%}.Sl6fgd .gLFyf{line-height:24px;padding-left:3px;padding-right:2px;overflow-y:hidden}.gLFyf::-webkit-search-cancel-button{-webkit-appearance:none}.a4bIc{display:flex;flex:1}</style><input class="gLFyf" jsaction="paste:puy29d" maxlength="2048" name="q" type="search" aria-autocomplete="both" aria-haspopup="false" autocapitalize="off" autocomplete="off" autocorrect="off" role="combobox" spellcheck="false" tabindex="0" title="" value="" aria-label="Tìm kiếm" data-ved="0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQ39UDCBQ">
<style data-iml="1647419543100">.dRYYxd{display:flex;flex:0 0 auto;align-items:stretch;margin-right:-3px}.Sl6fgd .dRYYxd{margin-right:8px;margin-right:6px}</style><style data-iml="1647419543100">.RP0xob{display:flex;flex:1;color:#80868b;cursor:pointer;font:27px/25px arial,sans-serif;align-items:center;padding:0 10px;padding:0 12px;margin:0 0;border:0;background:transparent}</style><button jscontroller="MDbbte" class="RP0xob" tabindex="0" jsname="RP0xob" type="button" jsaction="AVsnlb" style="display:none"><svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg></button>
<style>.pIyzdd{height:48px;position:fixed;bottom:-48px;left:0;right:0;display:flex;width:100%;background-color:rgba(50,50,50,.85);z-index:1000}.cHGkWe{flex:1;color:#fff;padding:0 24px;align-self:center}.IOBDXc{overflow:hidden;transform:translateY(-100%);-webkit-transition:.4s ease-in-out}.B2rJZe{overflow:hidden;transform:translateY(0);-webkit-transition:.4s ease-in-out;visibility:hidden}</style>
<input name="source" type="hidden" value="hp"><input value="maAxYti5EfGo4t4PuamNkA8" name="ei" type="hidden">
</form>
<style>#gws-output-pages-elements-homepage_additional_languages__als{font-size:small;margin-bottom:24px}#SIvCob{color:#bdc1c6;display:inline-block;line-height:28px;padding:0 12px}#SIvCob a{padding:0 8px;text-decoration:none}.H6sW5{display:inline-block;margin:0 2px;white-space:nowrap}.z4hgWe{display:inline-block;margin:0 2px}</style>
<style>.As6eLe{padding-bottom:10px;background:#171717}.Lt2Ned{margin-top:-10px}</style>
<a class="Fx4vi" href="https://www.google.com/intl/vi_vn/ads/?subid=ww-ww-et-g-awa-a-g_hpafoot1_1!o2&utm_source=google.com&utm_medium=referral&utm_campaign=google_hpafooter&fg=1" ping="/url?sa=t&rct=j&source=webhp&url=https://www.google.com/intl/vi_vn/ads/%3Fsubid%3Dww-ww-et-g-awa-a-g_hpafoot1_1!o2%26utm_source%3Dgoogle.com%26utm_medium%3Dreferral%26utm_campaign%3Dgoogle_hpafooter%26fg%3D1&ved=0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQkdQCCCU&usg=AOvVaw1zz4x97Uxv857aUXaFirFi" oncontextmenu="google.ctpacw.cm(this)">Quảng cáo</a><a class="Fx4vi" href="https://www.google.com/services/?subid=ww-ww-et-g-awa-a-g_hpbfoot1_1!o2&utm_source=google.com&utm_medium=referral&utm_campaign=google_hpbfooter&fg=1" ping="/url?sa=t&rct=j&source=webhp&url=https://www.google.com/services/%3Fsubid%3Dww-ww-et-g-awa-a-g_hpbfoot1_1!o2%26utm_source%3Dgoogle.com%26utm_medium%3Dreferral%26utm_campaign%3Dgoogle_hpbfooter%26fg%3D1&ved=0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQktQCCCY&usg=AOvVaw2SJ4zwRVXKyZr53qG9dm4K" oncontextmenu="google.ctpacw.cm(this)">Doanh nghiệp</a><a class="Fx4vi" href="https://about.google/?utm_source=google-VN&utm_medium=referral&utm_campaign=hp-footer&fg=1" ping="/url?sa=t&rct=j&source=webhp&url=https://about.google/%3Futm_source%3Dgoogle-VN%26utm_medium%3Dreferral%26utm_campaign%3Dhp-footer%26fg%3D1&ved=0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQkNQCCCc&usg=AOvVaw2SNXtHqghTBn6r4rmFsBTD" oncontextmenu="google.ctpacw.cm(this)">Giới thiệu</a>
<script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){
(function(b){var a=b.querySelector("#gb-main"),c=b.body.clientWidth;a&&(a.style.minHeight=a.scrollHeight+"px","fbar"in a.dataset||(a.dataset.fbar="1",window.addEventListener("resize",function(){b.body.clientWidth!==c&&(a.style.minHeight=b.body.clientHeight+"px",c=b.body.clientWidth)},!1)))})(document);}).call(this);</script>

<script nonce="LmaCEFbhuji6AlHBTwd2Kg==">this.gbar_=this.gbar_||{};(function(_){var window=this;

try{ _.ie=function(a,b,c){if(!a.o)if(c instanceof Array){c=_.Ua(c);for(var d=c.next();!d.done;d=c.next())_.ie(a,b,d.value)}else{d=(0,_.y)(a.F,a,b);var e=a.B+c;a.B++;b.setAttribute("data-eqid",e);a.D[e]=d;b&&b.addEventListener?b.addEventListener(c,d,!1):b&&b.attachEvent?b.attachEvent("on"+c,d):a.A.log(Error("C`"+b))}};

}catch(e){_._DumpException(e)} try{ /*

Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
  • /

_.je=function(){if(!_.n.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});try{_.n.addEventListener("test",_.gb,b),_.n.removeEventListener("test",_.gb,b)}catch(c){}return a}(); _.ke=_.Db?"webkitTransitionEnd":"transitionend";

}catch(e){_._DumpException(e)} try{ var le=document.querySelector(".gb_z .gb_A"),me=document.querySelector("#gb.gb_Hc");le&&!me&&_.ie(_.$d,le,"click");

}catch(e){_._DumpException(e)} try{ var Qh=function(a){_.H.call(this);this.C=a;this.A=null;this.o={};this.D={};this.j={};this.B=null};_.w(Qh,_.H);_.Rh=function(a){if(a.A)return a.A;for(var b in a.j)if(a.j[b].He()&&a.j[b].Fb())return a.j[b];return null};_.h=Qh.prototype;_.h.Ze=function(a){a&&_.Rh(this)&&a!=_.Rh(this)&&_.Rh(this).Cd(!1);this.A=a};_.h.$f=function(a){a=this.j[a]||a;return _.Rh(this)==a};_.h.re=function(a,b){b=b.Bc();if(this.o[a]&&this.o[a][b])for(var c=0;c<this.o[a][b].length;c++)try{this.o[a][b][c]()}catch(d){this.C.log(d)}}; _.h.nh=function(a){return!this.D[a.Bc()]};_.h.yg=function(a){this.j[a]&&(_.Rh(this)&&_.Rh(this).Bc()==a||this.j[a].Cd(!0))};_.h.Ta=function(a){this.B=a;for(var b in this.j)this.j[b].He()&&this.j[b].Ta(a)};_.h.Ve=function(a){this.j[a.Bc()]=a};_.h.je=function(a){return a in this.j?this.j[a]:null};var Sh=new Qh(_.J);_.Ad("dd",Sh);

}catch(e){_._DumpException(e)} try{ var sj=document.querySelector(".gb_La .gb_A"),tj=document.querySelector("#gb.gb_Hc");sj&&!tj&&_.ie(_.$d,sj,"click");

}catch(e){_._DumpException(e)} })(this.gbar_); // Google Inc.

</script>

<script nonce="LmaCEFbhuji6AlHBTwd2Kg==">this.gbar_=this.gbar_||{};(function(_){var window=this;

try{ /*

Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
  • /

_.ne=function(a,b){return 0<=(0,_.sb)(a,b)};_.oe=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}};try{(new self.OffscreenCanvas(0,0)).getContext("2d")}catch(a){}_.pe=_.C||_.Db; _.qe=function(a,b){this.width=a;this.height=b};_.h=_.qe.prototype;_.h.clone=function(){return new _.qe(this.width,this.height)};_.h.aspectRatio=function(){return this.width/this.height};_.h.Wb=function(){return!(this.width*this.height)};_.h.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};_.h.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this}; _.h.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this}; var se,ve;_.re=function(a,b){return(b||document).getElementsByTagName(String(a))};_.te=function(a,b){_.Ka(b,function(c,d){c&&"object"==typeof c&&c.Nb&&(c=c.ob());"style"==d?a.style.cssText=c:"class"==d?a.className=c:"for"==d?a.htmlFor=c:se.hasOwnProperty(d)?a.setAttribute(se[d],c):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,c):a[d]=c})}; se={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};_.we=function(a,b){var c=b[1],d=_.ue(a,String(b[0]));c&&("string"===typeof c?d.className=c:Array.isArray(c)?d.className=c.join(" "):_.te(d,c));2<b.length&&ve(a,d,b);return d}; ve=function(a,b,c){function d(k){k&&b.appendChild("string"===typeof k?a.createTextNode(k):k)}for(var e=2;e<c.length;e++){var f=c[e];if(!_.ib(f)||_.jb(f)&&0<f.nodeType)d(f);else{a:{if(f&&"number"==typeof f.length){if(_.jb(f)){var g="function"==typeof f.item||"string"==typeof f.item;break a}if("function"===typeof f){g="function"==typeof f.item;break a}}g=!1}_.tb(g?_.la(f):f,d)}}};_.xe=function(a){return _.ue(document,a)}; _.ue=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)};_.ye=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};_.ze=function(a){return _.jb(a)&&1==a.nodeType};_.Ae=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document};_.Be=function(a,b,c){for(var d=0;a&&(null==c||d<=c);){if(b(a))return a;a=a.parentNode;d++}return null};

}catch(e){_._DumpException(e)} try{ _.xj=function(a){_.G.call(this,a)};_.w(_.xj,_.G);

}catch(e){_._DumpException(e)} try{ _.yj=function(a,b,c){a.rel=c;-1!=c.toLowerCase().indexOf("stylesheet")?(a.href=_.Rc(b),(b=_.pd(a.ownerDocument&&a.ownerDocument.defaultView))&&a.setAttribute("nonce",b)):a.href=b instanceof _.Pc?_.Rc(b):b instanceof _.Uc?_.Vc(b):_.Vc(_.$c(b))};

}catch(e){_._DumpException(e)} try{ _.Aj=function(a){if("function"==typeof _.zj&&a instanceof _.zj)return a.j;throw Error("H");};_.Cj=function(a){return"function"==typeof _.Bj&&a instanceof _.Bj?_.Aj(a):_.Qc(a)};_.Dj=function(a){var b,c,d=null==(c=(b=(a.ownerDocument&&a.ownerDocument.defaultView||window).document).querySelector)?void 0:c.call(b,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)}; /*

SPDX-License-Identifier: Apache-2.0
  • /

}catch(e){_._DumpException(e)} try{ var Ej=function(a,b,c){_.Zd.log(46,{att:a,max:b,url:c})},Gj=function(a,b,c){_.Zd.log(47,{att:a,max:b,url:c});a<b?Fj(a+1,b):_.J.log(Error("ga`"+a+"`"+b),{url:c})},Fj=function(a,b){if(Hj){var c=_.xe("SCRIPT");c.async=!0;c.type="text/javascript";c.charset="UTF-8";c.src=_.Cj(Hj);_.Dj(c);c.onload=_.oe(Ej,a,b,c.src);c.onerror=_.oe(Gj,a,b,c.src);_.Zd.log(45,{att:a,max:b,url:c.src});_.re("HEAD")[0].appendChild(c)}},Ij=function(a){_.G.call(this,a)};_.w(Ij,_.G); var Jj=_.q(_.Vd,Ij,17)||new Ij,Kj,Hj=(Kj=_.q(Jj,_.xj,1))?_.Sc(_.D(Kj,4)||""):null,Lj,Mj=(Lj=_.q(Jj,_.xj,2))?_.Sc(_.D(Lj,4)||""):null,Nj=function(){Fj(1,2);if(Mj){var a=_.xe("LINK");a.setAttribute("type","text/css");_.yj(a,Mj,"stylesheet");var b=_.pd(void 0);b&&a.setAttribute("nonce",b);_.re("HEAD")[0].appendChild(a)}}; (function(){var a=_.Wd();if(_.F(a,18))Nj();else{var b=_.D(a,19)||0;window.addEventListener("load",function(){window.setTimeout(Nj,b)})}})();

}catch(e){_._DumpException(e)} })(this.gbar_); // Google Inc. </script><script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){var s='/images/nav_logo325_hr.webp'; var k=this||self,l=function(){},m=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},n=function(a,b){function c(){}c.prototype=b.prototype;a.j=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.l=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[e].apply(d,g)}};var p=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};var q=function(a,b){this.type=a;this.target=b};q.prototype.g=function(){};var r=function(){if(!k.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});try{k.addEventListener("test",l,b),k.removeEventListener("test",l,b)}catch(c){}return a}();function t(){var a=k.navigator;return a&&(a=a.userAgent)?a:""};var u=function(a){u[" "](a);return a};u[" "]=l;var v=-1!=t().indexOf("Gecko")&&!(-1!=t().toLowerCase().indexOf("webkit")&&-1==t().indexOf("Edge"))&&!(-1!=t().indexOf("Trident")||-1!=t().indexOf("MSIE"))&&-1==t().indexOf("Edge");var x=function(a){q.call(this,a?a.type:"");this.relatedTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.pointerId=0;this.pointerType="";this.h=null;if(a){var b=this.type=a.type,c=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;this.target=a.target||a.srcElement;var d=a.relatedTarget;if(d){if(v){a:{try{u(d.nodeName);var e=!0;break a}catch(f){}e=!1}e||(d= null)}}else"mouseover"==b?d=a.fromElement:"mouseout"==b&&(d=a.toElement);this.relatedTarget=d;c?(this.clientX=void 0!==c.clientX?c.clientX:c.pageX,this.clientY=void 0!==c.clientY?c.clientY:c.pageY,this.screenX=c.screenX||0,this.screenY=c.screenY||0):(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey= a.shiftKey;this.metaKey=a.metaKey;this.pointerId=a.pointerId||0;this.pointerType="string"===typeof a.pointerType?a.pointerType:w[a.pointerType]||"";this.state=a.state;this.h=a;a.defaultPrevented&&x.j.g.call(this)}};n(x,q);var w={2:"touch",3:"pen",4:"mouse"};x.prototype.g=function(){x.j.g.call(this);var a=this.h;a.preventDefault?a.preventDefault():a.returnValue=!1};var y="closure_listenable_"+(1E6*Math.random()|0);var z=0;var A=function(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.h=e;this.key=++z;this.g=this.i=!1},B=function(a){a.g=!0;a.listener=null;a.proxy=null;a.src=null;a.h=null};var C=function(a){this.src=a;this.g={};this.h=0};C.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.g[f];a||(a=this.g[f]=[],this.h++);var g;a:{for(g=0;g<a.length;++g){var h=a[g];if(!h.g&&h.listener==b&&h.capture==!!d&&h.h==e)break a}g=-1}-1<g?(b=a[g],c||(b.i=!1)):(b=new A(b,this.src,f,!!d,e),b.i=c,a.push(b));return b};var D="closure_lm_"+(1E6*Math.random()|0),E={},F=0,J=function(a,b,c,d,e){if(d&&d.once)I(a,b,c,d,e);else if(Array.isArray(b))for(var f=0;f<b.length;f++)J(a,b[f],c,d,e);else c=K(c),a&&a[y]?a.g(b,c,m(d)?!!d.capture:!!d,e):L(a,b,c,!1,d,e)},L=function(a,b,c,d,e,f){if(!b)throw Error("a");var g=m(e)?!!e.capture:!!e,h=M(a);h||(a[D]=h=new C(a));c=h.add(b,c,d,g,f);if(!c.proxy){d=N();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)r||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(O(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("b");F++}},N=function(){var a=P,b=function(c){return a.call(b.src,b.listener,c)};return b},I=function(a,b,c,d,e){if(Array.isArray(b))for(var f=0;f<b.length;f++)I(a,b[f],c,d,e);else c=K(c),a&&a[y]?a.h(b,c,m(d)?!!d.capture:!!d,e):L(a,b,c,!0,d,e)},O=function(a){return a in E?E[a]:E[a]="on"+a},P=function(a,b){if(a.g)a=!0;else{b=new x(b,this);var c=a.listener,d=a.h||a.src;if(a.i&&"number"!==typeof a&&a&&!a.g){var e=a.src;if(e&& e[y])e.o(a);else{var f=a.type,g=a.proxy;e.removeEventListener?e.removeEventListener(f,g,a.capture):e.detachEvent?e.detachEvent(O(f),g):e.addListener&&e.removeListener&&e.removeListener(g);F--;if(f=M(e)){g=a.type;var h;if(h=g in f.g){h=f.g[g];var G=p(h,a),H;(H=0<=G)&&Array.prototype.splice.call(h,G,1);h=H}h&&(B(a),0==f.g[g].length&&(delete f.g[g],f.h--));0==f.h&&(f.src=null,e[D]=null)}else B(a)}}a=c.call(d,b)}return a},M=function(a){a=a[D];return a instanceof C?a:null},Q="__closure_events_fn_"+(1E9* Math.random()>>>0),K=function(a){if("function"===typeof a)return a;a[Q]||(a[Q]=function(b){return a.handleEvent(b)});return a[Q]};J(document,"DOMContentLoaded",function(){document.images&&((new Image).src=s)});})();</script><textarea class="csi" name="csi" style="display:none"></textarea><script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){ (function(){var c=Date.now();if(google.timers&&google.timers.load.t){for(var a=document.getElementsByTagName("img"),d=0,b=void 0;b=a[d++];)google.c.setup(b,!1,void 0);google.c.frt=!1;google.c.e("load","imn",String(a.length));google.c.ubr(!0,c);google.c.glu&&google.c.glu();google.rll(window,!1,function(){google.tick("load","ol");google.c.u("pr")})}})();}).call(this);(function(){google.jl={attn:false,blt:'none',chnk:0,dw:false,dwu:true,emtn:0,end:0,ine:false,injs:'none',injt:0,lls:'default',pdt:0,rep:0,snet:true,strt:0,ubm:false,uwp:true};})();(function(){var pmc='{\x22aa\x22:{},\x22abd\x22:{\x22abd\x22:false,\x22deb\x22:false,\x22det\x22:false},\x22async\x22:{},\x22bct\x22:{},\x22cdos\x22:{\x22bih\x22:718,\x22biw\x22:412,\x22cdobsel\x22:false,\x22dpr\x22:\x222.62\x22},\x22csi\x22:{},\x22d\x22:{},\x22dvl\x22:{\x22cookie_secure\x22:true,\x22cookie_timeout\x22:21600,\x22jsc\x22:\x22[null,null,null,30000,null,null,null,2,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[\\\x2286400000\\\x22,\\\x22604800000\\\x22,2],null,null,21600000,null,null,1,null,null,null,null,null,1]\x22,\x22mnr_crd\x22:\x221\x22,\x22msg_err\x22:\x22Vị trí không khả dụng\x22,\x22msg_gps\x22:\x22Sử dụng GPS\x22,\x22msg_unk\x22:\x22Không xác định\x22,\x22msg_upd\x22:\x22Cập nhật\x22,\x22msg_use\x22:\x22Sử dụng vị trí chính xác\x22,\x22use_local_storage_fallback\x22:false},\x22foot\x22:{},\x22gf\x22:{\x22pid\x22:196},\x22hsm\x22:{},\x22jsa\x22:{\x22csi\x22:true,\x22csir\x22:100},\x22mpf\x22:{},\x22mu\x22:{\x22murl\x22:\x22https://adservice.google.com/adsid/google/ui\x22},\x22pHXghd\x22:{},\x22qim\x22:{},\x22sb_wiz\x22:{\x22rfs\x22:[],\x22scq\x22:\x22\x22,\x22stok\x22:\x22YebinLH9mNU9VWeKHKa1NQJ7MIM\x22},\x22sf\x22:{},\x22sonic\x22:{}}';google.pmc=JSON.parse(pmc);})();(function(){var r=['sb_wiz','aa','abd','async','dvl','foot','mu','pHXghd','sf','sonic'];google.plm(r);})();(function(){var m=['BcwnXE','[1]','BcwnXI','[\x22mobile-gws-wiz-hp\x22,\x22\x22,\x22\x22,\x22\x22,0,0,1,null,null,null,\x22YebinLH9mNU9VWeKHKa1NQJ7MIM\x22,\x22\x22,\x22maAxYti5EfGo4t4PuamNkA8\x22,0,\x22vi\x22,null,null,1,3,15,null,8,null,\x22\x22,-1,0,0,0,0,null,null,0,0,1800000,1,0,0,8,-1,0,null,null,null,null,null,null,null,null,null,0,0,100,0,60000,1.15,1,null,0,null,null,0,0,null,0,6,0,null,null,null,null,1,0,1,1,0,null,0,0,null,null,null,null,null,null,null,null,null,null,null,null,0,null,0,0,0,0,\x22\x22,null,null,null,null,0,null,0,0,0,0]','BcwnXM','[2,5,null,null,0,0,0,0,0,0,0,0]','BcwnXQ','[\x22\x22,6,0,\x22\x22,\x22\x22]','BcwnXU','[null,null,1,30000,null,null,null,2,null,null,3,null,null,null,null,null,1,null,null,null,null,null,null,[18.9711695,105.441966],null,null,null,null,0,null,null,null,null,null,null,null,0,\x221647419545\x22,null,null,null,null,null,1,null,null,[\x2286400000\x22,\x22604800000\x22,2],null,null,21600000,null,null,1,null,null,null,null,null,1,null,null,1]']; var a=m;window.W_jd=window.W_jd||{};for(var b=0;b<a.length;b+=2)window.W_jd[a[b]]=JSON.parse(a[b+1]);})();(function(){window.WIZ_global_data={"LVIXXb":"2","SNlM0e":"","GWsdKe":"vi-VN","S06Grb":"","Yllh3e":"%.@.1647419545285912,98079857,4060304569]","QrtxK":"0","Im6cmf":"/wizrpcui/_/WizRpcUi","eptZe":"/wizrpcui/_/WizRpcUi/","zChJod":"%.@.]","w2btAe":"%.@.\"\",\"\",\"0\",null,1]"};window.IJ_values=[false,false,true,true,true,false,false,false,"#8ab4f8","#f8f9fa","#8ab4f8",36,20,28,6,"1px 1px 15px 0px #171717",false,"0 0 0 1px #3c4043",false,"#202124","#202124","#3c4043","#bdc1c6","0 1px 2px rgba(60,64,67,.3), 0 2px 6px 2px rgba(60,64,67,.15)","#9aa0a6","#3c4043","#bdc1c6","#767c80","#424548","#bdc1c6","#3c4043","#f8f9fa","#394457","#aecbfa","#8ab4f8","0 1px 2px rgba(66,133,244,.3), 0 1px 3px 1px rgba(66,133,244,.15)","#aecbfa","#8ab4f8","#8ab4f8","#202124","#d2e3fc","rgba(255,255,255,.54)","rgba(255,255,255,.26)","#000","rgba(0,0,0,.3)",true,true,"none","#424548",true,false,true,"1px 1px 15px 0px #171717",6,true,true,false,false,false,false,false,false,"#3c4043",10,false,true,false,"#609beb","#8ab4f8",false,false,"#202124","#e8eaed",false,"#202124","0px 5px 26px 0px rgba(0,0,0,0.5), 0px 20px 28px 0px rgba(0,0,0,0.5)","#4285f4",false,false,false,"#8ab4f8",true,true,false,false,"#fff","#4487f6","#2f5eab","#6283ff","#08101e","#48a1ff","#a4c2ff","#219540","#41b85f","#4eb66e","#ff7d70","#ff897e","#ff9296","#000","#0d5432","#1aa863","#212327","#1f1f1f","#424242","#050607","#0b0d0e","#050505","#0a0a0a","#111","#9aa0a6","#999da2","#616161","#8a8a8a","#bdc1c6","#bdc1c6","#bdc1c6","#000","#8a4a00","#824300","#b85100","#3c4043","#e8eaed","#e8eaed","#3c4043",14,"#e8eaed",40,"#e8eaed",false,"#8a8a8a","#ddd","#ff7a8e","#bdc1c6","Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif","Roboto,Helvetica Neue,Arial,sans-serif","#bdc1c6","#292e36","#bdc1c6","#868b90","#48a1ff",false,false,false,false,false,false,true,false,false,false,"1px 1px 15px 0px #171717",false,false,"#3c4043","rgba(255,255,255,.26)","#9aa0a6","#bdc1c6","rgba(204,204,204,.15)","rgba(204,204,204,.25)","rgba(102,102,102,.2)","rgba(102,102,102,.4)","rgba(255,255,255,.12)","#3c4043","#fff","rgba(0,0,0,.3)","#000","#bdc1c6","#000","Roboto,RobotoDraft,Helvetica,Arial,sans-serif","14px","500","500","pointer","0 1px 1px rgba(0,0,0,.16)","0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)",false,"#000","1px 1px 15px 0px #171717","#dadce0",200,false,true,false,true,false,false,true,true,false,true,13,"#202124","#303134",false,"#000","none","0px 1px 4px 0px rgba(0,0,0,0.2)","Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif","Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif","Roboto,Helvetica Neue,Arial,sans-serif","#3c4043","none","1px solid #5f6368","#bdc1c6","0 2px 10px 0 rgba(0,0,0,0.2)","rgba(255,255,255,0.1)","#70757a","#202124","#8ab4f8","#3c4043","#bdc1c6","#9aa0a6",true,true,true,false,false,false,false,false,false,false,false,false,"#8ab4f8","#1a73e8","#d2e3fc","#81c995","#34a853","#5f6368","#3c4043","#3c4043","#303134","#9aa0a6","#5f6368",false,false,true,false,false,false,false,true,false,false,true,false,true,"8px","#3c4043",true,false,true,"%.@.\"\",\"\",\"0\",null,1]","0","%.@.null,2,2.625,null,[null,718,412]]","LmaCEFbhuji6AlHBTwd2Kg\u003d\u003d","%.@.\"#424548\"]","%.@.0]","%.@.2]","%.@.\"0px 5px 26px 0px rgba(0,0,0,0.5),0px 20px 28px 0px rgba(0,0,0,0.5)\",\"#202124\"]","%.@.null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"#bdc1c6\",\"#9aa0a6\",null,\"#bdc1c6\"]",null,"%.@.[],0,null,1,1]","vi-VN","%.@.\"13px\",\"16px\",\"11px\",13,16,11,\"8px\",8,20]","vi_VN","%.@.\"8px\",8,\"10px\",10,\"20px\"]","%.@.\"14px\",14]","%.@.40,32,14]",null,"%.@.\"1px 1px 15px 0px #171717\"]","%.@.1,\"14px\",\"500\",\"500\",\"0 1px 1px rgba(0,0,0,.16)\",\"pointer\",\"#fff\",\"rgba(255,255,255,.26)\",\"#9aa0a6\",\"#bdc1c6\",\"rgba(204,204,204,.15)\",\"rgba(204,204,204,.25)\",\"rgba(102,102,102,.2)\",\"rgba(102,102,102,.4)\",\"#1aa863\",\"#4487f6\",\"#a4c2ff\",\"#ff7d70\",\"#8a4a00\",\"#111\",\"#050505\",\"#bdc1c6\",\"#4f861f\",\"rgba(255,255,255,.12)\",null,\"#000\",\"rgba(0,0,0,.3)\",\"#000\",\"#bdc1c6\",\"#000\",null,0]","%.@.\"20px\",\"500\",\"400\",\"14px\",\"16px\",\"16px\",\"Roboto,RobotoDraft,Helvetica,Arial,sans-serif\",\"24px\",\"400\",\"32px\",\"24px\"]",false,"","%.@.null,null,null,null,\"20px\",\"20px\",\"18px\",\"40px\",\"36px\",\"32px\",null,null,null,null,null,null,\"#202124\",null,null,null,\"#202124\",null,null,null,\"#394457\",null,\"#394457\",null,null,\"16px\",\"12px\",\"8px\",\"4px\",\"#202124\",\"#394457\",\"#d2e3fc\",\"transparent\",\"#8ab4f8\",\"#3c4043\",\"999rem\",\"8px\",\"#d2e3fc\",\"#8ab4f8\",\"#bdc1c6\",\"#3c4043\",\"#d2e3fc\",\"transparent\",\"#8ab4f8\",\"#3c4043\",\"999rem\",\"Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",\"20px\",\"14px\",\"500\",\"#303134\",\"#bdc1c6\",\"#202124\",\"#3c4043\",\"#bdc1c6\",\"4px\"]","%.@.\"#e8eaed\",\"#bdc1c6\",\"#8ab4f8\",null,\"#9aa0a6\",\"#8ab4f8\",\"#c58af9\",null,null,\"#202124\",\"#8ab4f8\",\"#202124\",\"#394457\",\"#d2e3fc\",\"#303134\",\"#bdc1c6\",\"#fff\",\"#3c4043\",\"#202124\",\"#fff\",\"#202124\",\"#fff\",\"#81c995\",\"#f28b82\",\"#fdd663\",\"#3c4043\",\"#171717\",\"rgba(0,0,0,0.6)\",\"#bdc1c6\",\"#3c4043\",\"#8ab4f8\",\"rgba(0,0,0,0.03)\",\"#8ab4f8\",\"#9aa0a6\"]","%.@.null,\"none\",null,\"0px 1px 3px hsla(0,0%,9%,0.24)\",null,\"0px 2px 6px hsla(0,0%,9%,0.32)\",null,\"0px 4px 12px hsla(0,0%,9%,0.9)\",null,null,\"1px solid #5f6368\",\"none\",\"none\",\"none\"]","%.@.\"Google Sans,Roboto,Helvetica Neue,Arial,sans-serif\",\"Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",\"Roboto,Helvetica Neue,Arial,sans-serif\",\"Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",\"Roboto-Light,HelveticaNeue-Light,Helvetica Neue,sans-serif-light,Arial,sans-serif\"]","%.@.\"16px\",\"12px\",\"0px\",\"8px\",\"4px\",\"2px\",\"20px\",\"24px\"]","%.@.\"#bdc1c6\",\"#8ab4f8\"]","%.@.null,null,null,null,null,null,null,\"12px\",\"8px\",\"4px\",\"16px\",\"2px\",\"999rem\",\"0px\"]","%.@.\"700\",\"400\",\"underline\",\"none\",\"capitalize\",\"none\",\"uppercase\",\"none\",\"500\",\"lowercase\",\"italic\",\"-1px\",\"0.3px\"]","%.@.\"20px\",\"26px\",\"500\",\"Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",null,\"Roboto,Helvetica Neue,Arial,sans-serif\",\"14px\",\"400\",\"20px\",null,\"18px\",\"24px\",\"500\",\"Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",null,\"Google Sans,Roboto,Helvetica Neue,Arial,sans-serif\",\"60px\",\"48px\",\"-1px\",null,\"400\",\"Google Sans,Roboto,Helvetica Neue,Arial,sans-serif\",\"36px\",\"400\",\"48px\",null,\"Google Sans,Roboto,Helvetica Neue,Arial,sans-serif\",\"32px\",\"24px\",null,\"400\",null,\"Roboto,Helvetica Neue,Arial,sans-serif\",\"24px\",\"18px\",null,\"400\",\"Roboto,Helvetica Neue,Arial,sans-serif\",\"16px\",\"12px\",null,\"400\",\"Roboto,Helvetica Neue,Arial,sans-serif\",\"20px\",\"16px\",null,\"400\",\"Google Sans,Roboto,Helvetica Neue,Arial,sans-serif\",\"26px\",\"20px\",null,\"400\",\"Google Sans,Roboto,Helvetica Neue,Arial,sans-serif\",\"20px\",\"16px\",null,\"400\",\"Roboto,Helvetica Neue,Arial,sans-serif\",\"20px\",\"14px\",null,\"400\",\"Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",\"32px\",\"24px\",null,\"500\",\"14px\",\"Google Sans,Roboto-Medium,HelveticaNeue-Medium,Helvetica Neue,sans-serif-medium,Arial,sans-serif\",\"20px\",\"500\"]","%.@.\"rgba(32,33,36,0)\"]","%.@.3]","%.@.\"13px\",13,\"16px\",16,\"11px\",11,\"0px 1px 4px 0px rgba(0,0,0,0.2)\",632,\"none\",\"normal\",\"normal\",\"#9aa0a6\",\"12px\",\"0\",\"none\",\"none\",\"0\",\"none\",\"none\",\"none\",\"none\",\"6px\",\"632px\"]","%.@.\"0\"]","%.@.\"rgba(0,0,0,0.0)\",\"rgba(0,0,0,0.54)\",\"rgba(0,0,0,0.8)\",\"rgba(248, 249, 250, 0.85)\",\"#202124\",\"#212327\",\"rgba(218, 220, 224, 0.0)\",\"rgba(218, 220, 224, 0.7)\",\"#dadce0\",\"#303134\",\"#000\",\"#1a73e8\",\"#dadce0\",\"#fff\",\"#fff\",null,\"#868b90\",\"rgba(255,255,255,.26)\",\"rgba(255,255,255,.2)\",\"rgba(255,255,255,.5)\",\"rgba(255,255,255,.2)\",\"#000\",\"rgba(0,0,0,.1)\",\"#fff\",\"#70757a\",null,\"#fff\",\"#000\",\"#fff\"]","%.@.\"#dddee1\",\"#868b90\",\"#4d5156\",\"#bcc0c3\",\"#000\",\"rgba(0,0,0,.7)\",28,24,20,20,16,-2,-1,-4,2,1,0,24,20,16,14,12]","%.@.\"20px\",20,\"12px\",12,\"#e8eaed\"]","",false,"105250506097979753968","%.@.2]"];})();</script> <script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){google.xjs={ck:'xjs.qs.ROAcNPOV2Fc.L.W.O',cs:'ACT90oGxYIUSuP3Yik1OB-aKAmTZoEYpng',excm:[]};})();</script> <script nonce="LmaCEFbhuji6AlHBTwd2Kg==">(function(){google.kEXPI='0,3700271,699,16,380052,80910,88000,33283,35626,35258,11960,71197,5163,28496,79452,18261,18583,6729,15658,1867,18119,4648,17684,10661,7007,10564,333,1893,4,2489,1781,1955,969,309,1144,2669,7174,7093,4254,351,882,2237,5363,14,437,210,3355,273,196,766,2417,756,798,503,940,2985,56,579,186,397,284,22,446,391,1437,39,1274,158,1031,349,5463448,375,5995597,30817811,6540,4410,4691,6334,2360,52';})();(function(){var u='/xjs/_/js/k\x3dxjs.qs.vi.fToO3LhxVPI.O/am\x3dQFQ-ixN4AACABwQQAAABAEAgAAKKWEAACBsgJAIAAGBAAAAEgQBkQBAAAADAR_cNkIMCgINKuAAAAAAAAAAc4DDkUcEDQAAQAAAAAGAUuk7AACMgAAAC/d\x3d1/ed\x3d1/dg\x3d2/esmo\x3d1/br\x3d1/rs\x3dACT90oFP4-wmrNwmIkC1pIJtGNLT8DTALA/m\x3dbct,cdos,hsm,jsa,mpf,qim,d,csi'; var d=this||self,e=function(a){return a};var g;var l=function(a,b){this.g=b===h?a:""};l.prototype.toString=function(){return this.g+""};var h={}; function n(){var a=u;google.lx=function(){p(a);google.lx=function(){}};google.bx||google.lx()} function p(a){google.timers&&google.timers.load&&google.tick&&google.tick("load","xjsls");var b=document;var c="SCRIPT";"application/xhtml+xml"===b.contentType&&(c=c.toLowerCase());c=b.createElement(c);if(void 0===g){b=null;var k=d.trustedTypes;if(k&&k.createPolicy){try{b=k.createPolicy("goog#html",{createHTML:e,createScript:e,createScriptURL:e})}catch(q){d.console&&d.console.error(q.message)}g=b}else g=b}a=(b=g)?b.createScriptURL(a):a;a=new l(a,h);c.src=a instanceof l&&a.constructor===l?a.g:"type_error:TrustedResourceUrl";var f,m;(f=(a=null==(m=(f=(c.ownerDocument&&c.ownerDocument.defaultView||window).document).querySelector)?void 0:m.call(f,"script[nonce]"))?a.nonce||a.getAttribute("nonce")||"":"")&&c.setAttribute("nonce",f);document.body.appendChild(c);google.psa=!0};google.xjsu=u;setTimeout(function(){n()},0);})();function _DumpException(e){throw e;} function _F_installCss(c){}

window.jsl=window.jsl||{};window.jsl.dh=function(a,b,f){try{var g=document.getElementById(a);if(g)g.innerHTML=b,f&&f();else{var c={id:a,script:String(!!f),milestone:String(google.jslm||0)};google.jsla&&(c.async=google.jsla);var h=a.indexOf("_"),d=0<h?a.substring(0,h):"",k=document.createElement("div");k.innerHTML=b;var e=k.children[0];if(e&&(c.tag=e.tagName,c["class"]=String(e.className||null),c.name=String(e.getAttribute("jsname")),d)){a=[];var l=document.querySelectorAll('[id^="'+d+'_"]');for(b=0;b<l.length;++b)a.push(l[b].id);c.ids=a.join(",")}google.ml(Error(d?"Missing ID with prefix "+d:"Missing ID"),!1,c)}}catch(m){google.ml(m,!0,{"jsl.dh":!0})}};(function(){var x=true; google.jslm=x?2:1;})();google.x(null, function(){(function(){window.jsl=window.jsl||{};window.jsl.dh=window.jsl.dh||function(i,c,d){try{var e=document.getElementById(i);if(e){e.innerHTML=c;if(d){d();}}else{if(window.jsl.el){window.jsl.el(new Error('Missing ID.'),{'id':i});}}}catch(e){if(window.jsl.el){window.jsl.el(new Error('jsl.dh'));}}};})();(function(){window.jsl.dh('nd_1','\x3cstyle\x3e.emdozc{background-color:#202124;height:100%;font-size:16px;left:-250px;outline:none;overflow-y:scroll;padding-top:15px;position:fixed;top:0;transition:0.5s;width:250px;z-index:200;}.Is2Q0d{background:url(/images/nav_logo325_hr.webp) no-repeat;background-position:0 0;height:36px;width:92px;background-size:167px;display:block;margin-left:15px;padding-bottom:8px;outline:none}.ZaIChf{background:#8ab4f8;border-radius:24px;margin:10px 16px 8px;height:40px;width:218px;color:#202124;font-family:Google Sans,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:40px;text-align:center;position:relative}.RIPtyb{display:flex;justify-content:center;align-items:center;background:#303134;border-radius:78px;height:31px;width:31px;vertical-align:middle;position:absolute;left:5px;top:5px}.rYDfvb{display:flex;align-items:center;color:#bdc1c6;height:48px;line-height:20px;width:100%;vertical-align:middle}.EuAkLc{padding:0 15px;margin-bottom:3px;width:24px;vertical-align:middle}.qlCFie{background:#3c4043;height:1px;margin:5px 0}\x3c/style\x3e\x3ca class\x3d\x22Is2Q0d\x22 href\x3d\x22#\x22 aria-label\x3d\x22\u0110\xf3ng ng\u0103n\x22 role\x3d\x22menuitem\x22 jsaction\x3d\x22Kcbrbe\x22 data-ved\x3d\x220ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQnJcCCAM\x22\x3e\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/?hl\x3dvi\x26amp;sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQnZcCCAQ\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/home_icon_dark.svg\x22 alt\x3d\x22\x22\x3eTrang ch\u1ee7\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/history/optout?hl\x3dvi\x26amp;sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQsLsECAU\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/search_activity_icon_dark.svg\x22 alt\x3d\x22\x22\x3eNh\u1eadt k\xfd t\xecm ki\u1ebfm\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/save?hl\x3dvi\x26amp;sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQnpcCCAY\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/save_icon_dark.svg\x22 alt\x3d\x22\x22\x3eB\u1ed9 s\u01b0u t\u1eadp\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/search/managesearches?sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQ34oDCAc\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/manage_searches_icon_dark.svg\x22 alt\x3d\x22\x22\x3eT\xecm ki\u1ebfm ngo\u1ea1i tuy\u1ebfn\x3c/a\x3e\x3cdiv class\x3d\x22qlCFie\x22 aria-hidden\x3d\x22true\x22\x3e\x3c/div\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/preferences?hl\x3dvi\x26amp;prev\x3dhttps://www.google.com/\x26amp;sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQn5cCCAg\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/settings_icon_dark.svg\x22 alt\x3d\x22\x22\x3eC\xe0i \u0111\u1eb7t\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/history/privacyadvisor/search/unauth?utm_source\x3dgooglemenu\x26amp;sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQp9gDCAk\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/privacy_advisor_icon_dark.svg\x22 alt\x3d\x22\x22\x3eD\u1eef li\u1ec7u c\u1ee7a b\u1ea1n trong T\xecm ki\u1ebfm\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22/safesearch?hl\x3dvi\x26amp;prev\x3dhttps://www.google.com/\x26amp;sa\x3dX\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQkqkxCAo\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/explicit_icon_dark.svg\x22 alt\x3d\x22\x22\x3e\u1ea8n k\u1ebft qu\u1ea3 ph\u1ea3n c\u1ea3m: \u0111ang t\u1eaft\x3c/a\x3e\x3cdiv role\x3d\x22menuitem\x22\x3e\x3cstyle\x3e.ys8upe{display:flex;align-items:center;color:#bdc1c6;height:48px;line-height:20px;width:100%;vertical-align:middle}.qAGLdf{padding:0 15px;margin-bottom:3px;width:24px;vertical-align:middle;fill:#80868b}.ys8upe.XyYPMc{color:#d2e3fc;background-color:rgba(138, 180, 248, 0.24);border-radius:0 24px 24px 0;width:90%}.qAGLdf.XyYPMc{fill:#8ab4f8}\x3c/style\x3e\x3cdiv jscontroller\x3d\x22lllQlf\x22 class\x3d\x22ys8upe\x22 role\x3d\x22link\x22 tabindex\x3d\x220\x22 jsaction\x3d\x22ok5gFc\x22 data-ved\x3d\x220ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQqsEHCAs\x22\x3e\x3cspan class\x3d\x22qAGLdf z1asCe tSAV7\x22\x3e\x3csvg focusable\x3d\x22false\x22 xmlns\x3d\x22http://www.w3.org/2000/svg\x22 enable-background\x3d\x22new 0 0 24 24\x22 height\x3d\x2224\x22 viewBox\x3d\x220 0 24 24\x22 width\x3d\x2224\x22\x3e\x3crect fill\x3d\x22none\x22 height\x3d\x2224\x22 width\x3d\x2224\x22\x3e\x3c/rect\x3e\x3cpath d\x3d\x22M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26 c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z\x22\x3e\x3c/path\x3e\x3c/svg\x3e\x3c/span\x3eGiao di\u1ec7n t\u1ed1i: \u0111ang b\u1eadt\x3c/div\x3e\x3c/div\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22https://google.com/search/howsearchworks/\x22 role\x3d\x22menuitem\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/how_search_works_icon_dark.svg\x22 alt\x3d\x22\x22\x3eC\xe1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a T\xecm ki\u1ebfm\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22https://support.google.com/websearch/?p\x3dws_results_help\x26amp;hl\x3dvi\x22 role\x3d\x22menuitem\x22 ping\x3d\x22/url?sa\x3dt\x26amp;rct\x3dj\x26amp;source\x3dwebhp\x26amp;url\x3dhttps://support.google.com/websearch/%3Fp%3Dws_results_help%26hl%3Dvi\x26amp;ved\x3d0ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQoJcCCAw\x26amp;usg\x3dAOvVaw3w20gz_Tu-lLqfkARiZQ9h\x22 oncontextmenu\x3d\x22google.ctpacw.cm(this)\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/help_icon_dark.svg\x22 alt\x3d\x22\x22\x3eTr\u1ee3 gi\xfap\x3c/a\x3e\x3ca class\x3d\x22rYDfvb\x22 href\x3d\x22#\x22 data-bucket\x3d\x22mobilehp\x22 role\x3d\x22menuitem\x22 target\x3d\x22_blank\x22 jsaction\x3d\x22feqbab\x22 data-ved\x3d\x220ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQrsICCA0\x22\x3e\x3cimg class\x3d\x22EuAkLc\x22 src\x3d\x22https://www.gstatic.com/navigationdrawer/feedback_icon_dark.svg\x22 alt\x3d\x22\x22\x3eG\u01b0\u0309i ph\u1ea3n h\u1ed3i\x3c/a\x3e');})();(function(){

function d(c,b){var a=document.createElement("div");for(a.innerHTML=b;a.firstChild;)b=a.firstChild,a.firstChild.tagName&&"script"==a.firstChild.tagName.toLowerCase()&&(b=document.createElement("script"),b.innerHTML=a.firstChild.innerHTML,a.removeChild(a.firstChild)),c.appendChild(b)}google.mhp={};google.mhp.processMobileHpJson=function(c){var b=c.promo;if(b){var a=document.getElementById("promo");a&&d(a,b)}(c=c.pushdown_promo)&&(b=document.getElementById("mpd"))&&d(b,c)};})();(function(){(function(){var mhpd_json={show_feed:true};google.mhp.processMobileHpJson(mhpd_json);})();})();(function(){window.jsl.dh('_maAxYti5EfGo4t4PuamNkA81','\x3cg-menu jsname\x3d\x22xl07Ob\x22 class\x3d\x22cF4V5c lA8P5e gLSAk rShyOb\x22 jscontroller\x3d\x22WlNQGd\x22 role\x3d\x22menu\x22 jsaction\x3d\x22focus:h06R8;PSl28c;keydown:uYT2Vb;mouseenter:WOQqYb;mouseleave:Tx5Rb;mouseover:IgJl9c;rcuQ6b:npT2md\x22 tabindex\x3d\x220\x22\x3e\x3cstyle\x3e.gLSAk{border:none;display:block;outline:none;}.rShyOb{white-space:nowrap}\x3c/style\x3e\x3cstyle\x3e.gLSAk{border-radius:8px}\x3c/style\x3e\x3cstyle\x3e.gLSAk{padding:5px 0}\x3c/style\x3e\x3cg-menu-item jsname\x3d\x22NNJLud\x22 jscontroller\x3d\x22CnSW2d\x22 class\x3d\x22ErsxPb\x22 role\x3d\x22none\x22 jsaction\x3d\x22rcuQ6b:npT2md\x22 data-short-label\x3d\x22\x22 jsdata\x3d\x22zPXzie;_;BcwnXQ\x22\x3e\x3cstyle\x3e.ErsxPb{display:block;position:relative}.znKVS{padding:0 16px;vertical-align:middle}.znKVS.tnhqA{padding:0}.tnhqA\x3e*{padding:0 16px}.ohSfHb .znKVS{padding-left:28px}.dPaec,g-menu-item[disabled]{pointer-events:none;cursor:default}.dPaec{border-top:1px solid;height:0;margin:5px 0}\x3c/style\x3e\x3cstyle\x3e.znKVS{line-height:48px}.fbKdEb{background-image:url(//ssl.gstatic.com/images/icons/material/system/1x/done_white_16dp.png);background-repeat:no-repeat;background-position:left 8px center;}.gvybPb{background-color:rgba(255,255,255,0.1)}.dPaec,g-menu-item[disabled]{color:rgba(255,255,255,.26) !important}.dPaec{border-top-color:#3c4043}\x3c/style\x3e\x3cdiv jsname\x3d\x22ibnC6b\x22 class\x3d\x22znKVS OSrXXb tnhqA\x22 role\x3d\x22none\x22\x3e\x3ca href\x3d\x22https://www.google.com/preferences?hl\x3dvi\x26amp;fg\x3d1\x22 role\x3d\x22menuitem\x22\x3eC\xe0i \u0111\u1eb7t t\xecm ki\u1ebfm\x3c/a\x3e\x3c/div\x3e\x3c/g-menu-item\x3e\x3cg-menu-item jsname\x3d\x22NNJLud\x22 jscontroller\x3d\x22CnSW2d\x22 class\x3d\x22ErsxPb\x22 role\x3d\x22none\x22 jsaction\x3d\x22rcuQ6b:npT2md\x22 data-short-label\x3d\x22\x22 jsdata\x3d\x22zPXzie;_;BcwnXQ\x22\x3e\x3cdiv jsname\x3d\x22ibnC6b\x22 class\x3d\x22znKVS OSrXXb tnhqA\x22 role\x3d\x22none\x22\x3e\x3ca href\x3d\x22/advanced_search?hl\x3dvi\x26amp;fg\x3d1\x22 role\x3d\x22menuitem\x22\x3eT\xecm ki\u1ebfm n\xe2ng cao\x3c/a\x3e\x3c/div\x3e\x3c/g-menu-item\x3e\x3cg-menu-item jsname\x3d\x22NNJLud\x22 jscontroller\x3d\x22CnSW2d\x22 class\x3d\x22ErsxPb\x22 role\x3d\x22none\x22 jsaction\x3d\x22rcuQ6b:npT2md\x22 data-short-label\x3d\x22\x22 jsdata\x3d\x22zPXzie;_;BcwnXQ\x22\x3e\x3cdiv jsname\x3d\x22ibnC6b\x22 class\x3d\x22znKVS OSrXXb tnhqA\x22 role\x3d\x22none\x22\x3e\x3ca href\x3d\x22/history/privacyadvisor/search/unauth?utm_source\x3dgooglemenu\x26amp;fg\x3d1\x22 role\x3d\x22menuitem\x22\x3eD\u1eef li\u1ec7u c\u1ee7a b\u1ea1n trong T\xecm ki\u1ebfm\x3c/a\x3e\x3c/div\x3e\x3c/g-menu-item\x3e\x3cg-menu-item jsname\x3d\x22NNJLud\x22 jscontroller\x3d\x22CnSW2d\x22 class\x3d\x22ErsxPb\x22 role\x3d\x22none\x22 jsaction\x3d\x22rcuQ6b:npT2md\x22 data-short-label\x3d\x22\x22 jsdata\x3d\x22zPXzie;_;BcwnXQ\x22\x3e\x3cdiv jsname\x3d\x22ibnC6b\x22 class\x3d\x22znKVS OSrXXb tnhqA\x22 role\x3d\x22none\x22\x3e\x3ca href\x3d\x22/history/optout?hl\x3dvi\x26amp;fg\x3d1\x22 role\x3d\x22menuitem\x22\x3eNh\u1eadt k\xfd t\xecm ki\u1ebfm\x3c/a\x3e\x3c/div\x3e\x3c/g-menu-item\x3e\x3cg-menu-item jsname\x3d\x22NNJLud\x22 jscontroller\x3d\x22CnSW2d\x22 class\x3d\x22ErsxPb\x22 role\x3d\x22none\x22 jsaction\x3d\x22rcuQ6b:npT2md\x22 data-short-label\x3d\x22\x22 jsdata\x3d\x22zPXzie;_;BcwnXQ\x22\x3e\x3cdiv jsname\x3d\x22ibnC6b\x22 class\x3d\x22znKVS OSrXXb tnhqA\x22 role\x3d\x22none\x22\x3e\x3ca href\x3d\x22https://support.google.com/websearch/?p\x3dws_results_help\x26amp;hl\x3dvi\x26amp;fg\x3d1\x22 role\x3d\x22menuitem\x22\x3eTr\u1ee3 gi\xfap t\xecm ki\u1ebfm\x3c/a\x3e\x3c/div\x3e\x3c/g-menu-item\x3e\x3cg-menu-item jsname\x3d\x22NNJLud\x22 jscontroller\x3d\x22CnSW2d\x22 class\x3d\x22ErsxPb\x22 role\x3d\x22none\x22 jsaction\x3d\x22rcuQ6b:npT2md\x22 data-short-label\x3d\x22\x22 jsdata\x3d\x22zPXzie;_;BcwnXQ\x22\x3e\x3cdiv jsname\x3d\x22ibnC6b\x22 class\x3d\x22znKVS OSrXXb tnhqA\x22 role\x3d\x22none\x22\x3e\x3ca href\x3d\x22#\x22 data-bucket\x3d\x22typeId:84156\x22 data-psd-ssc\x3d\x220\x22 role\x3d\x22menuitem\x22 id\x3d\x22dk2qOd\x22 target\x3d\x22_blank\x22 jsaction\x3d\x22trigger.YcfJ\x22 data-ved\x3d\x220ahUKEwiY6quGnMr2AhVxlNgFHblUA_IQLggh\x22\x3ePh\u1ea3n h\u1ed3i\x3c/a\x3e\x3c/div\x3e\x3c/g-menu-item\x3e\x3c/g-menu\x3e');})();(function(){google.drty&&google.drty(undefined,true);})();});google.drty&&google.drty(undefined,true);</script>

Các ứng dụng của Google

<script src="/xjs/_/js/k=xjs.qs.vi.fToO3LhxVPI.O/am=QFQ-ixN4AACABwQQAAABAEAgAAKKWEAACBsgJAIAAGBAAAAEgQBkQBAAAADAR_cNkIMCgINKuAAAAAAAAAAc4DDkUcEDQAAQAAAAAGAUuk7AACMgAAAC/d=1/ed=1/dg=2/esmo=1/br=1/rs=ACT90oFP4-wmrNwmIkC1pIJtGNLT8DTALA/m=bct,cdos,hsm,jsa,mpf,qim,d,csi" nonce="LmaCEFbhuji6AlHBTwd2Kg=="></script><script src="/xjs/_/js/k=xjs.qs.vi.fToO3LhxVPI.O/ck=xjs.qs.ROAcNPOV2Fc.L.W.O/am=QFQ-ixN4AACABwQQAAABAEAgAAKKWEAACBsgJAIAAGBAAAAEgQBkQBAAAADAR_cNkIMCgINKuAAAAAAAAAAc4DDkUcEDQAAQAAAAAGAUuk7AACMgAAAC/d=1/exm=bct,cdos,csi,d,hsm,jsa,mpf,qim/esmo=1/ed=1/dg=2/br=1/rs=ACT90oGxYIUSuP3Yik1OB-aKAmTZoEYpng/ee=rXjWyb:VWuaCc;uY49fb:COQbmf;EVNhjf:pw70Gc;g8nkx:U4MzKc;wQlYve:aLUfP;kbAm9d:MkHyGd;sTsDMc:kHVSUb;dtl0hd:lLQWFe;q92ire:wPVhqc;dIoSBb:ZgGg9b;pXdRYb:JKoKVe;wR5FRb:TtcOte;KpRAue:Tia57b;UDrY1c:eps46d;rQSrae:C6D5Fc;qavrXe:zQzcXe;nKl0s:xxrckd;w3bZCb:ZPGaIb;imqimf:jKGL2e;Np8Qkd:Dpx6qc;BjwMce:cXX2Wb;oGtAuc:sOXFj;daB6be:lMxGPd;Fmv9Nc:O1Tzwc;hK67qb:QWEO5b;jVtPve:wQ95P;R4IIIb:QWfeKf;WDGyFe:jcVOxd;xbe2wc:wbTLEd;DpcR3d:zL72xf;tosKvd:ZCqP3;DULqB:RKfG5c;GleZL:J1A7Od;NSEoX:lazG7b;kCQyJ:ueyPK;OvePtd:McrICe;BgS6mb:fidj5d;hjRo6e:F62sG;oSUNyd:fTfGO;SJsSc:H1GVub;SMDL4c:fTfGO;NPKaK:PVlQOd;zOsCQe:Ko78Df;WCEKNd:I46Hvd;LBgRLc:XVMNvd;LsNahb:ucGLNb;TxfV6d:YORN0b;qaS3gd:yiLg6e;VGRfx:VFqbr;aAJE9c:WHW6Ef;z97YGf:oug9te;CxXAWb:YyRLvc;Pguwyb:Xm4ZCd;VN6jIc:ddQyuf;SLtqO:Kh1xYe;VxQ32b:k0XsBb;gaub4:TN6bMe;whEZac:F4AmNb;qddgKe:x4FYXe;eBAeSb:Ck63tb;vfVwPd:OXTqFb;w9w86d:dt4g2b;lkq0A:Z0MWEf;KQzWid:mB4wNe;pNsl2d:j9Yuyc;eHDfl:ofjVkb;F9mqte:rlHKFc;Nyt6ic:jn2sGd;JXS8fb:k0T3Ub;SNUn3:x8cHvb;LEikZe:byfTOb,lsjVmc;io8t5d:sgY6Zb;j7137d:KG2eXe;Oj465e:KG2eXe;sP4Vbe:VwDzFe;kMFpHd:blwjVc;nAFL3:s39S4;iFQyKf:QIhFr/m=Bevgab,EkevXb,aa,abd,async,dvl,fKZehd,foot,mu,pHXghd,sb_wiz,sf,sonic?xjs=s1" nonce="LmaCEFbhuji6AlHBTwd2Kg==" async="" gapi_processed="true"></script><script src="/xjs/_/js/k=xjs.qs.vi.fToO3LhxVPI.O/ck=xjs.qs.ROAcNPOV2Fc.L.W.O/am=QFQ-ixN4AACABwQQAAABAEAgAAKKWEAACBsgJAIAAGBAAAAEgQBkQBAAAADAR_cNkIMCgINKuAAAAAAAAAAc4DDkUcEDQAAQAAAAAGAUuk7AACMgAAAC/d=1/exm=Bevgab,EkevXb,aa,abd,async,bct,cdos,csi,d,dvl,fKZehd,foot,hsm,jsa,mpf,mu,pHXghd,qim,sb_wiz,sf,sonic/esmo=1/ed=1/dg=2/br=1/rs=ACT90oGxYIUSuP3Yik1OB-aKAmTZoEYpng/ee=rXjWyb:VWuaCc;uY49fb:COQbmf;EVNhjf:pw70Gc;g8nkx:U4MzKc;wQlYve:aLUfP;kbAm9d:MkHyGd;sTsDMc:kHVSUb;dtl0hd:lLQWFe;q92ire:wPVhqc;dIoSBb:ZgGg9b;pXdRYb:JKoKVe;wR5FRb:TtcOte;KpRAue:Tia57b;UDrY1c:eps46d;rQSrae:C6D5Fc;qavrXe:zQzcXe;nKl0s:xxrckd;w3bZCb:ZPGaIb;imqimf:jKGL2e;Np8Qkd:Dpx6qc;BjwMce:cXX2Wb;oGtAuc:sOXFj;daB6be:lMxGPd;Fmv9Nc:O1Tzwc;hK67qb:QWEO5b;jVtPve:wQ95P;R4IIIb:QWfeKf;WDGyFe:jcVOxd;xbe2wc:wbTLEd;DpcR3d:zL72xf;tosKvd:ZCqP3;DULqB:RKfG5c;GleZL:J1A7Od;NSEoX:lazG7b;kCQyJ:ueyPK;OvePtd:McrICe;BgS6mb:fidj5d;hjRo6e:F62sG;oSUNyd:fTfGO;SJsSc:H1GVub;SMDL4c:fTfGO;NPKaK:PVlQOd;zOsCQe:Ko78Df;WCEKNd:I46Hvd;LBgRLc:XVMNvd;LsNahb:ucGLNb;TxfV6d:YORN0b;qaS3gd:yiLg6e;VGRfx:VFqbr;aAJE9c:WHW6Ef;z97YGf:oug9te;CxXAWb:YyRLvc;Pguwyb:Xm4ZCd;VN6jIc:ddQyuf;SLtqO:Kh1xYe;VxQ32b:k0XsBb;gaub4:TN6bMe;whEZac:F4AmNb;qddgKe:x4FYXe;eBAeSb:Ck63tb;vfVwPd:OXTqFb;w9w86d:dt4g2b;lkq0A:Z0MWEf;KQzWid:mB4wNe;pNsl2d:j9Yuyc;eHDfl:ofjVkb;F9mqte:rlHKFc;Nyt6ic:jn2sGd;JXS8fb:k0T3Ub;SNUn3:x8cHvb;LEikZe:byfTOb,lsjVmc;io8t5d:sgY6Zb;j7137d:KG2eXe;Oj465e:KG2eXe;sP4Vbe:VwDzFe;kMFpHd:blwjVc;nAFL3:s39S4;iFQyKf:QIhFr/m=CnSW2d,WlNQGd?xjs=s2" nonce="LmaCEFbhuji6AlHBTwd2Kg==" async=""></script><script src="/xjs/_/js/k=xjs.qs.vi.fToO3LhxVPI.O/ck=xjs.qs.ROAcNPOV2Fc.L.W.O/am=QFQ-ixN4AACABwQQAAABAEAgAAKKWEAACBsgJAIAAGBAAAAEgQBkQBAAAADAR_cNkIMCgINKuAAAAAAAAAAc4DDkUcEDQAAQAAAAAGAUuk7AACMgAAAC/d=1/exm=Bevgab,CnSW2d,EkevXb,WlNQGd,aa,abd,async,bct,cdos,csi,d,dvl,fKZehd,foot,hsm,jsa,mpf,mu,pHXghd,qim,sb_wiz,sf,sonic/esmo=1/ed=1/dg=2/br=1/rs=ACT90oGxYIUSuP3Yik1OB-aKAmTZoEYpng/ee=rXjWyb:VWuaCc;uY49fb:COQbmf;EVNhjf:pw70Gc;g8nkx:U4MzKc;wQlYve:aLUfP;kbAm9d:MkHyGd;sTsDMc:kHVSUb;dtl0hd:lLQWFe;q92ire:wPVhqc;dIoSBb:ZgGg9b;pXdRYb:JKoKVe;wR5FRb:TtcOte;KpRAue:Tia57b;UDrY1c:eps46d;rQSrae:C6D5Fc;qavrXe:zQzcXe;nKl0s:xxrckd;w3bZCb:ZPGaIb;imqimf:jKGL2e;Np8Qkd:Dpx6qc;BjwMce:cXX2Wb;oGtAuc:sOXFj;daB6be:lMxGPd;Fmv9Nc:O1Tzwc;hK67qb:QWEO5b;jVtPve:wQ95P;R4IIIb:QWfeKf;WDGyFe:jcVOxd;xbe2wc:wbTLEd;DpcR3d:zL72xf;tosKvd:ZCqP3;DULqB:RKfG5c;GleZL:J1A7Od;NSEoX:lazG7b;kCQyJ:ueyPK;OvePtd:McrICe;BgS6mb:fidj5d;hjRo6e:F62sG;oSUNyd:fTfGO;SJsSc:H1GVub;SMDL4c:fTfGO;NPKaK:PVlQOd;zOsCQe:Ko78Df;WCEKNd:I46Hvd;LBgRLc:XVMNvd;LsNahb:ucGLNb;TxfV6d:YORN0b;qaS3gd:yiLg6e;VGRfx:VFqbr;aAJE9c:WHW6Ef;z97YGf:oug9te;CxXAWb:YyRLvc;Pguwyb:Xm4ZCd;VN6jIc:ddQyuf;SLtqO:Kh1xYe;VxQ32b:k0XsBb;gaub4:TN6bMe;whEZac:F4AmNb;qddgKe:x4FYXe;eBAeSb:Ck63tb;vfVwPd:OXTqFb;w9w86d:dt4g2b;lkq0A:Z0MWEf;KQzWid:mB4wNe;pNsl2d:j9Yuyc;eHDfl:ofjVkb;F9mqte:rlHKFc;Nyt6ic:jn2sGd;JXS8fb:k0T3Ub;SNUn3:x8cHvb;LEikZe:byfTOb,lsjVmc;io8t5d:sgY6Zb;j7137d:KG2eXe;Oj465e:KG2eXe;sP4Vbe:VwDzFe;kMFpHd:blwjVc;nAFL3:s39S4;iFQyKf:QIhFr/m=DPreE,kQvlef,lllQlf,nabPbb?xjs=s2" nonce="LmaCEFbhuji6AlHBTwd2Kg==" async=""></script><script src="/xjs/_/js/k=xjs.qs.vi.fToO3LhxVPI.O/ck=xjs.qs.ROAcNPOV2Fc.L.W.O/am=QFQ-ixN4AACABwQQAAABAEAgAAKKWEAACBsgJAIAAGBAAAAEgQBkQBAAAADAR_cNkIMCgINKuAAAAAAAAAAc4DDkUcEDQAAQAAAAAGAUuk7AACMgAAAC/d=0/esmo=1/dg=2/br=1/rs=ACT90oGxYIUSuP3Yik1OB-aKAmTZoEYpng/m=syls,aLUfP?xjs=s2" nonce="LmaCEFbhuji6AlHBTwd2Kg==" async=""></script></body>

Java, JavaScript và JScript

Cùng thời điểm Netscape bắt đầu sử dụng Java trên trình duyệt Netscape, LiveScript đã được đổi tên thành JavaScript để được chú ý hơn bởi ngôn ngữ lập trình Java lúc đó đang được coi là một hiện tượng. JavaScript được bổ sung vào trình duyệt Netscape bắt đầu từ phiên bản 2.0b3 của trình duyệt này vào tháng 12 năm 1995. Trên thực tế, JavaScript không được phát triển dựa từ Java. Do đó JavaScript chỉ dựa trên các cách đặt tên của Java. Java Script gồm 2 mảng là client-server thực hiện lệnh trên máy của end-user và web-server.

Sau thành công của JavaScript, Microsoft bắt đầu phát triển JScript, một ngôn ngữ có cùng ứng dụng và tương thích với JavaScript. JScript được bổ sung vào trình duyệt Internet Explorer bắt đầu từ Internet Explorer phiên bản 3.0 được phát hành tháng 8 năm 1996.

DOM (Document Object Model), một khái niệm thường được nhắc đến với JavaScript trên thực tế không phải là một phần của chuẩn ECMAScript, DOM là một chuẩn riêng biệt có liên quan chặt chẽ với XML.

Ứng dụng

JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C. Giống như C, JavaScript có khái niệm từ khóa, do đó, JavaScript gần như không thể được mở rộng.

Cũng giống như C, JavaScript không có bộ xử lý xuất/nhập (input/output) riêng. Trong khi C sử dụng thư viện xuất/nhập chuẩn, JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện xuất/nhập.

Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh,... Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng Việt. Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt. Một số công nghệ nổi bật dùng JavaScript để tương tác với DOM bao gồm DHTML, AjaxSPA.

Bên ngoài trình duyệt, JavaScript có thể được sử dụng trong tập tin PDF của Adobe AcrobatAdobe Reader. Điều khiển Dashboard trên hệ điều hành Mac OS X phiên bản 10.4 cũng có sử dụng JavaScript. Công nghệ kịch bản linh động (active scripting) của Microsoft có hỗ trợ ngôn ngữ JScript làm một ngôn ngữ kịch bản dùng cho hệ điều hành. JScript.NET là một ngôn ngữ tương thích với CLI gần giống JScript nhưng có thêm nhiều tính năng lập trình hướng đối tượng.

Từ khi Nodejs ra đời vào năm 2009, Javascript được biết đến nhiều hơn là một ngôn ngữ đa nền tảng khi có thể chạy trên cả môi trường máy chủ cũng như môi trường nhúng.

Mỗi ứng dụng này đều cung cấp mô hình đối tượng riêng cho phép tương tác với môi trường chủ, với phần lõi là ngôn ngữ lập trình JavaScript gần như giống nhau.

Các thành phần cú pháp chính

Khoảng trắng

Dấu cách, tabký tự dòng mới sử dụng bên ngoài một chuỗi ký tự được gọi là khoảng trắng. Khác với C, khoảng trắng trong JavaScript có thể ảnh hưởng trực tiếp tới ý nghĩa của câu lệnh. Sử dụng phương pháp "tự động thêm dấu chấm phẩy", bất cứ một dòng JavaScript nào thích hợp sẽ được coi là một câu lệnh hợp lệ (giống như có dấu chấm phẩy trước ký tự dòng mới).

Tuy trong phần lớn trường hợp, dấu chấm phẩy trước khi kết thúc một dòng JavaScript là không cần thiết để đoạn mã nguồn hoạt động chính xác, lập trình viên nên sử dụng dấu chấm phẩy sau mỗi câu lệnh để đoạn mã nguồn dễ nhìn hơn. Ngoài ra, do đặc thù của JavaScript - chuyên dùng trên trang web, kích cỡ của đoạn mã nguồn là quan trọng, có một số phần mềm có thể làm giảm kích cỡ của đoạn mã nguồn JavaScript bằng cách bỏ đi những khoảng trắng không cần thiết, để những phần mềm này hoạt động chính xác, lập trình viên cần thêm dấu chấm phẩy vào cuối mỗi câu lệnh.

Chú thích

Cú pháp chú thích của JavaScript giống với C++. Lập trình viên có thể chú thích trên nhiều dòng bằng cách bao bọc chú thích với /* và */ hoặc sử dụng // để chú thích từ vị trí // đến hết dòng.

// Đây là chú thích trên một dòng.
/*
   Đây là chú thích trên nhiều dòng.
   Đây là chú thích 1
   Đây là chú thích 2
*/

Biến

Trước khi sử dụng biến trong JavaScript, lập trình viên không nhất thiết phải khai báo biến. Có 3 cách để định nghĩa biến trong JavaScript:

// ECMAScript 5 trở về trước
var tên_biến
// Từ ECMAScript 6
let ten_bien
const ten_bien

Ngoài ra, lập trình viên có thể chỉ việc gán cho biến một giá trị để sử dụng biến đó. Biến được định nghĩa ngoài tất cả các hàm hoặc được sử dụng mà không khai báo với cú pháp var sẽ được coi là biến toàn cục, những biến này có thể sử dụng trên toàn trang web. Biến được khai báo với var bên trong một hàm là biến cục bộ của hàm đó và chỉ có thể sử dụng được bên trong hàm đó.

Từ ECMAScript 6 trở đi, có thể khai báo với letconst để chỉ biến có thể thay đổi hoặc không thay đổi được.

Toán tử

Một toán tử xác định phép toán sẽ được thực hiện trên các giá trị của các biến, và các biểu thức. Javascript cung cấp nhiều loại toán tử khác nhau để thực hiện việc tính toán, và đánh giá từ đơn giản đến phức tạp.

Các toán tử của Javascript được phân thành sáu thể loại dựa trên loại hành động của chúng thực hiện với các toán hạng. Bao gồm toán tử số học, toán tử quan hệ, toán tử luận lý, toán tử thao tác bit, toán tử gán, toán tử đặc biệt.

Toán tử số học

Các toán tử số học là các toán tử nhị phân, khi chúng thực hiện các phép tính cơ bản trên hai toán hạng. Toán tử xuất hiện ở giữa hai toán hạng, cho phép bạn thực hiện các phép tính với giá trị số và chuỗi. Các toán tử bao gồm: + (cộng), - (trừ), * (nhân), / (chia), % (chia lấy dư).

Ví dụ:

var result;
result = 2 + 4; // result = 6
result = 2 - 4; // result = -2
result = 2 * 4; // result = 8
result = 2 / 4; // result = 0.5
result = 2 % 4; // result = 2

Toán tử tăng, và giảm

Các toán tử tăng và giảm là các toán tử đơn hạng, vì chúng chỉ thực hiện được trên một toán hạng duy nhất. Toán tử tăng làm tăng giá trị lên 1, trong khi toán tử giảm làm giảm giá trị xuống 1, các toán tử có thể được đặt trước, hoặc sau toán hạng. Các toán tử bao gồm: ++ (tăng), -- (giảm).

Ví dụ:

var x = 2;
var y;
y = x++; // x = 3, y = 2
y = ++x; // x = 3, y = 3
y = x--; // x = 1, y = 2
y = --x; // x = 1, y = 1

Toán tử quan hệ

Toán tử quan hệ là các toán tử dùng để so sánh giữa hai toán hạng. Sau khi thực hiện một so sánh, chúng trả lại một giá trị true (đúng) hay false (sai). Các toán tử bao gồm: == (bằng nhau), != (khác nhau), === (bằng nhau và cùng loại), !== (khác nhau và khác loại), > (lớn hơn), < (nhỏ hơn), >= (lớn hơn hoặc bằng), <= (nhỏ hơn hoặc bằng).

Ví dụ:

var result;
result = 3 == "3"; // result = true
result = 3 != 3; // result = false
result = 3 === "3"; // result = false
result = 3 !== "3"; // result = true
result = 3 > 4; // result = false
result = 3 < 4; // result = true
result = 3 >= 3; // result = true
result = 3 <= 4; // result = true

Toán tử luận lý

Các toán tử luận lý là các toán tử nhị phân thực hiện các phép toán logic trên hai toán hạng. Chúng thuộc loại toán tử quan hệ, vì chúng trả về một giá trị boolean. Các toán tử bao gồm: && (và), || (hoặc), ! (phủ định).

Ví dụ:

var x = 2, y = 5;
var result;
result = (x == 3) && (y == 5); // result = false
result = (x == 3) || (y == 5); // result = true
result = !(x == 3); // result = true

Toán tử đặc biệt

Toán tử điều kiện còn được biết đến với tên gọi toán tử tam phân. Cú pháp của toán tử này như sau:

điều_kiện ? biểu_thức_đúng: biểu_thức_sai;

Toán tử này sẽ trả lại giá trị là kết quả của biểu_thức_đúng nếu điều_kiện có giá trị boolean bằng true, ngược lại nó sẽ trả lại giá trị bằng biểu_thức_sai.

Câu lệnh điều khiển

Câu lệnh if... else

Cú pháp if... else dùng trong trường hợp muốn rẽ nhánh theo điều kiện. Cú pháp này tương đương với nếu x thì làm y, còn nếu không thì làm z. Các câu lệnh if... else có thể lồng trong nhau.

Cú pháp:

if (biểu_thức_1) {
    khối lệnh được thực hiện nếu biểu thức 1 đúng;
}
else if (biểu_thức_2) {
    khối lệnh được thực hiện nếu biểu thức 1 sai  biểu thức 2 đúng;
}
else {
    khối lệnh được thực hiện nếu cả hai biểu thức trên đều sai;
}

Ví dụ:

var x = prompt("Nhập vào giá trị của x:");
x = parseFloat(x);

if (!isNaN(x)) {
    if (x > 0) {
        alert("x > 0");
    }
    else if (x == 0) {
        alert("x = 0");
    }
    else {
        alert("x < 0");
    }
}
else {
    alert("giá trị bạn nhập không phải là một số");
}

Đoạn mã nguồn trên mở một hộp thoại yêu cầu nhập vào một giá trị số, sau đó hiển thị thông báo số đó lớn hơn 0, bằng 0 hay nhỏ hơn 0.

Câu lệnh switch... case

Cú pháp switch cũng là cú pháp điều kiện như if... else hay toán tử tam phân. Tuy nhiên, cú pháp switch thường được dùng khi chỉ cần so sánh bằng với số lượng kết quả cần kiểm tra lớn. Cách sử dụng cú pháp switch:

switch (biểu_thức_điều_kiện) {
    case kết_quả_1:
        khối lệnh cần thực hiện nếu biểu_thức_điều_kiện bằng kết_quả_1;
        break;
    case kết_quả_2:
        khối lệnh cần thực hiện nếu biểu_thức_điều_kiện bằng kết_quả_2;
        break;
    default:
        khối lệnh cần thực hiện nếu biểu_thức_điều_kiện cho ra một kết quả khác;
        break;
}

Sau mỗi khối lệnh trong một mục kiểm tra kết quả (trừ mục default), lập trình viên cần phải thêm vào break.

Vòng lặp

Vòng lặp while

Vòng lặp while có mục đích lặp đi lặp lại một khối lệnh nhất định cho đến khi biểu thức điều kiện trả về false. Khi dùng vòng lặp while phải chú ý tạo lối thoát cho vòng lặp (làm cho biểu thức điều kiện có giá trị false), nếu không đoạn mã nguồn sẽ rơi vào vòng lặp vô hạn, là một lỗi lập trình. Vòng lặp while thường được dùng khi lập trình viên không biết chính xác cần lặp bao nhiêu lần. Cú pháp của vòng lặp while như sau:

while (biểu_thức_điều_kiện) {
    khối lệnh cần thực hiện nếu biểu_thức_điều_kiện trả về true;
}

Vòng lặp do... while

Về cơ bản, vòng lặp do... while gần như giống hệt như vòng lặp while. Tuy nhiên, trong trường hợp biểu thức điều kiện trả về false ngay từ đầu, khối lệnh trong vòng lặp while sẽ không bao giờ được thực hiện, trong khi đó, vòng lặp do... while luôn đảm bảo khối lệnh trong vòng lặp được thực hiện ít nhất một lần. Ví dụ:

do {
    alert("do... while"); // Bạn sẽ nhận được thông báo "do... while" một lần duy nhất
} while (0 > 1);

Cú pháp của vòng lặp do... while như sau:

do {
        khối lệnh;
}
while (biểu_thức_điều_kiện);

Vòng lặp for

Vòng lặp for thường được sử dụng khi cần lặp một khối lệnh mà lập trình viên biết trước sẽ cần lặp bao nhiêu lần. Cú pháp của vòng lặp for như sau:

for (biểu_thức_khởi_tạo; biểu_thức_điều_kiện; biểu_thức_thay_đổi_giá_trị) {
    Khối lệnh cần lặp;
}

Khi bắt đầu vòng lặp for, lập trình viên cần khởi tạo một biến nhất định bằng biểu_thức_khởi_tạo để dùng trong biểu_thức_điều_kiện, nếu biểu_thức_điều_kiện trả về true, khối lệnh cần lặp sẽ được thực hiện, sau khi thực hiện xong khối lệnh cần lặp, biểu_thức_thay_đổi_giá_trị sẽ được thực hiện, tiếp theo, biểu_thức_điều_kiện sẽ lại được kiểm tra, cứ như vậy cho đến khi biểu_thức_điều_kiện trả về false, khi đó vòng lặp sẽ kết thúc.

Vòng lặp for... in

Vòng lặp for... in dùng để lặp qua tất cả các thuộc tính của một đối tượng (hay lặp qua tất cả các phần tử của một mảng). Cú pháp của vòng lặp này như sau:

for (biến in đối_tượng) {
    khối lệnh cần thực hiện,  thể sử dụng đối_tượng[biến] để truy cập từng thuộc tính (phần tử) của đối tượng;
}

Hàm

Hàm là một khối các câu lệnh với một danh sách một hoặc nhiều đối số (có thể không có đối số) và thường có tên (mặc dù trong JavaScript hàm không nhất thiết phải có tên). Hàm có thể trả lại một giá trị. Cú pháp của hàm như sau:

//ECMAScript 5 trở về trước
function tên_hàm(đối_số_1, đối_số_2) {
    //câu lệnh
}

//ECMAScript 6 trở đi
const tên_hàm = (đối_số_1, đối_số_2)=>{
    //câu lệnh
}

//Thực thi
tên_hàm(1, 2); // Gọi hàm tên_hàm với hai đối số 1 và 2 ứng với đối_số_1 và đối_số_2
tên_hàm(1); // Gọi hàm tên_hàm với đối_số_1 có giá trị 1, đối_số_2 có giá trị undefined

Trong JavaScript, khi gọi hàm không nhất thiết phải gọi hàm với cùng số đối số như khi định nghĩa hàm, nếu số đối số ít hơn khi định nghĩa hàm, những đối số không được chuyển cho hàm sẽ mang giá trị undefined.

Các kiểu cơ bản sẽ được chuyển vào hàm theo giá trị, đối tượng sẽ được chuyển vào hàm theo tham chiếu.

Hàm là đối tượng hạng nhất trong JavaScript. Tất cả các hàm là đối tượng của nguyên mẫu Function. Hàm có thể được tạo và dùng trong phép toán gán như bất kỳ một đối tượng nào khác, và cũng có thể được dùng làm đối số cho các hàm khác. Do đó, JavaScript hỗ trợ hàm cấp độ cao. Ví dụ:

Array.prototype.fold =
function (value, functor) {
    var result = value;
    for (var i = 0; i < this.length; i++) {
        result = functor(result, this[i]);
    }
    return result;
}
var sum = [1,2,3,4,5,6,7,8,9,10].fold(0, function (a, b) { return a + b; });

Đoạn mã nguồn trên sẽ trả lại kết quả là 55.

Vì hàm trong JavaScript là đối tượng, lập trình viên có thể khởi tạo hàm ẩn danh:

function() { thân hàm; }

Một ví dụ sử dụng hàm ẩn danh trong JavaScript:

document.onkeypress = function(e) {
    alert("Bạn vừa nhấn một phím trên bàn phím");
}

Hàm trên sẽ hiển thị thông báo khi một số phím trên bàn phím có thể gây sự kiện onkeypress được nhấn.

Mặc định, tất cả các thành phần của đối tượng thuộc phạm vi công cộng (public). Trong JavaScript, không có khái niệm thành phần riêng hay thành phần được bảo vệ (privateprotected), tuy nhiên những tính năng này có thể được giả lập.

Mảng

Mảng trong JavaScript là một bảng liên kết chỉ mục đến giá trị. Trong JavaScript, tất cả các đối tượng đều có thể liên kết chỉ mục đến giá trị, nhưng mảng là một đối tượng đặc biệt có thêm nhiều tính năng xử lý chỉ mục và dữ liệu đặc biệt (ví dụ: push, join, v.v.)

Mảng trong JavaScript có thuộc tính length. Thuộc tính length của JavaScript luôn luôn lớn hơn số chỉ mục lớn nhất trong mảng một đơn vị. Trong phần lớn ngôn ngữ lập trình, những thuộc tính có tính năng như length thường là thuộc tính chỉ đọc, tuy nhiên, với JavaScript, lập trình viên có thể thay đổi thuộc tính length. Bằng cách thay đổi thuộc tính length, lập trình viên có thể làm mảng lớn hơn hoặc nhỏ hơn (và xóa đi những chỉ mục lớn hơn hoặc bằng thuộc tính length mới).

Mảng trong JavaScript là mảng rải rác, có nghĩa là cho dù lập trình viên có một mảng như sau:

var test = new Array();
test[2] = 0;
test[100] = 5;

Trong trường hợp này, dù mảng có đến chỉ mục mang số 100 thì mảng cũng chỉ chiếm bộ nhớ của hai số 0 và 5. Tuy nhiên, thuộc tính length sẽ có giá trị 101 do chỉ mục lớn nhất của mảng trong ví dụ trên là 100.

Ngoài ra, mảng cũng có thể được khai báo một cách ngắn gọn, cách này thông thường được sử dụng:

var ary = [1, 2, 3];

Một số ví dụ về mảng:

var test = new Array(10); // Tạo một mảng 10 chỉ mục
var test2 = new Array(0, 1, 2,, 3); // Tạo một mảng với bốn giá trị và 5 chỉ mục
var test3 = new Array();
test3["1"] = 123; // Hoàn toàn đúng cú pháp

Lập trình viên cũng có thể định nghĩa cấu trúc bằng đối tượng như sau:

var myStructure = {
    name: {
        first: "Mel",
        last: "Smith"
    },
    age: 33,
    hobbies: [ "chess", "jogging" ]
};

Cú pháp định nghĩa cấu trúc bằng đối tượng trên có một chuẩn trên danh nghĩa là JSON.

Đối tượng

Đối tượng trong JavaScript là một thực thể có tên xác định và có thuộc tính trỏ đến giá trị, hàm hoặc cũng có thể là một đối tượng khác. Có nghĩa là, đối tượng trong JavaScript là một mảng kết hợp (associative array) tương tự như mảng trong PHP hay từ điển trong Python, PostScript hoặc Smalltalk.

JavaScript có một số đối tượng định nghĩa sẵn, bao gồm mảng (Array), boolean (Boolean), ngày tháng (Date), hàm (Function), toán học (Math), số (Number), đối tượng (Object), biểu thức tìm kiếm (RegExp), chuỗi (String), symbol (Symbol). Các đối tượng khác là đối tượng dùng để truy cập và điều khiển các khía cạnh của trình duyệt, bao gồm window, history, navigator, location, screen, document, form,..

Từ ECMAScript 6 trở đi, Javascript đã hỗ trợ class, interface giúp việc lập trình hướng đối tượng trở nên dễ dàng hơn.

Lập trình viên có thể thêm hoặc xóa thuộc tính hoặc hàm trong đối tượng sau khi đối tượng đã được tạo. Để làm việc này cho tất cả các đối tượng được tạo từ cùng một hàm khởi tạo, lập trình viên có thể sử dụng thuộc tính prototype của hàm khởi tạo để truy cập đối tượng nguyên mẫu. Lập trình viên không nhất thiết phải tự xóa các đối tượng đã tạo, JavaScript tự động gom rác tất cả những biến không còn được dùng nữa.

Ví dụ:

function samplePrototype() {
    this.attribute1 = "someValue"; // thêm một thuộc tính cho đối tượng
    this.attribute2 = 234; // thêm thuộc tính nữa cho đối tượng
    this.function1 = testFunction; // thêm một hàm vào đối tượng
}

function testFunction() {
    alert(this.attribute2); //hiển thị 234
}

var sampleObject = new samplePrototype; // khởi tạo một đối tượng
sampleObject.function1(); // gọi hàm function1 của đối tượng sampleObject

sampleObject.attribute3 = 123; // thêm một thuộc tính nữa cho đối tượng sampleObject

delete sampleObject.attribute1; // xóa bỏ 1 thuộc tính
delete sampleObject; // xóa bỏ đối tượng

Quản lý lỗi

Tùy theo môi trường phát triển, sửa lỗi JavaScript có thể sẽ rất khó khăn. Với JavaScript dùng trên trang web, hiện tại, các trình duyệt dựa trên Gecko (như Mozilla, Mozilla Firefox) có công cụ tìm diệt lỗi rất tốt (Venkman), ngoài ra còn kèm theo một công cụ kiểm tra DOM.

Các phiên bản mới hơn của JavaScript (như bản dùng trên Internet Explorer 5 và Netscape 6) hỗ trợ mệnh đề quản lý lỗi try... catch... finally, mệnh đề này bắt nguồn từ Java giúp lập trình viên quản lý lỗi thời gian chạy hoặc quản lý ngoại lệ xuất phát từ cú pháp throw. Cú pháp của mệnh đề này như sau:

try {
    Khối lệnh cần thực hiện  thể gây lỗi;
}
catch (error) {
    Khối lệnh cần thực hiện trong trường hợp  lỗi;
}
finally {
    Khối lệnh luôn được thực hiện;
}

Trong cú pháp trên error là một đối tượng Error có hai thuộc tính theo chuẩn ECMAScript phiên bản 3:

  • error.message: Thông điệp diễn giải lỗi
  • error.name: Tên lỗi

Tuy nhiên mỗi trình duyệt sử dụng một bản JavaScript khác nhau, trong các trình duyệt lớn và phổ dụng không có trình duyệt nào hoàn toàn tuân thủ theo chuẩn ECMAScript phiên bản 3. Ví dụ như Internet Explorer 6 SP 1 có thêm hai thuộc tính:

  • error.number: Bí số của lỗi
  • error.description: Thông điệp diễn giải lỗi

Còn Mozilla Firefox 1.07 có thêm ba thuộc tính:

  • error.fileName: Tên tập tin xảy ra lỗi
  • error.lineNumber: Dòng xảy ra lỗi
  • error.stack: Cả hai thuộc tính trên gộp lại trong một chuỗi ký tự

Phần finally là không bắt buộc. Lập trình viên hoàn toàn có thể sử dụng try... catch mà không có finally.

Phạm vi ảnh hưởng của lỗi

Các ngôn ngữ lập trình kịch bản rất dễ bị ảnh hưởng bởi lỗi, hơn nữa, mỗi một trình duyệt, mỗi một công ty ứng dụng JavaScript một cách hoàn toàn khác nhau nên lập trình viên JavaScript thường phải dành rất nhiều thời gian sửa lỗi để đảm bảo đoạn mã nguồn của mình sẽ hoạt động tốt. Trong những trang HTML mà thẻ script và các đoạn mã HTML khác xen kẽ lẫn nhau, lỗi cú pháp có thể được phát hiện dễ dàng hơn bằng cách để mỗi hàm trong một thẻ script riêng biệt hoặc có thể sử dụng nhiều tệp.js khác nhau. Trong nhiều trường hợp, cách này còn giúp tránh làm hỏng cả trang web trong trường hợp có lỗi trong một đoạn mã nguồn.

Các ngôn ngữ dựa trên JavaScript

Ngôn ngữ kịch bản dùng trong Macromedia Flash - ActionScript có cú pháp gần giống với JavaScript, tuy nhiên mô hình đối tượng của ActionScript khác hẳn so với JavaScript.

JSON (JavaScript Object Notation) là một định dạng chia sẻ dữ liệu đa mục đích.

JavaScript OSA (JavaScript cho OSA, hay JSOSA) là một ngôn ngữ kịch bản dựa trên bản JavaScript SpiderMonkey trong trình duyệt Mozilla 1.5 dùng cho máy tính Macintosh. Đây là một phần mềm miễn phí phát hành bởi Late Night Software. Tương tác với hệ điều hành và các chương trình khác được thực hiện thông qua đối tượng MacOS. Ngoài những khác biệt trên, JavaScript OSA giống hệt bản JavaScript SpiderMonkey. Ngôn ngữ này được thêm vào hệ điều hành Mac OS để cung cấp thêm lựa chọn cho lập trình viên ngoài AppleScript.

Trước kia, ECMAScript cũng được sử dụng trong chuẩn VRML97 dùng trong dựng cảnh VRML.

Thư viện Javascript nổi tiếng

  • Bộ khung Prototype kết hợp với thư viện scriptaculous.
  • Thư viện jQuery, tiết kiệm thời gian viết mã lệnh cũng như cung cấp các hàm tương tác với DOM trên các trình duyệt khác nhau
  • Nodejs, hệ thống chương trình giúp chạy Javascript ngoài trình duyệt.

Xem thêm

Tham khảo

  • Nigel McFarlane: Rapid Application Development with Mozilla, Prentice Hall Professional Technical References, ISBN 0-13-142343-6
  • David Flanagan, Paula Ferguson: JavaScript: The Definitive Guide, O'Reilly & Associates, ISBN 0-596-00048-0
  • Danny Goodman, Scott Markel: JavaScript and DHTML Cookbook, O'Reilly & Associates, ISBN 0-596-00467-2
  • Danny Goodman, Brendan Eich: JavaScript Bible, Wiley, John & Sons, ISBN 0-7645-3342-8
  • Andrew H. Watt, Jinjer L. Simon, Jonathan Watt: Teach Yourself JavaScript in 21 Days, Pearson Education, ISBN 0-672-32297-8
  • Thomas A. Powell, Fritz Schneider: JavaScript: The Complete Reference, McGraw-Hill Companies, ISBN 0-07-219127-9
  • Scott Duffy: How to do Everything with JavaScript, Osborne, ISBN 0-07-222887-3
  • Andy Harris, Andrew Harris: JavaScript Programming, Premier Press, ISBN 0-7615-3410-5
  • Joe Burns, Andree S. Growney, Andree Growney: JavaScript Goodies, Pearson Education, ISBN 0-7897-2612-2
  • Gary B. Shelly, Thomas J. Cashman, William J. Dorin, Jeffrey Quasney: JavaScript: Complete Concepts and Techniques, Course Technology, ISBN 0-7895-6233-2
  • Nick Heinle, Richard Koman: Designing with JavaScript, O'Reilly & Associates, ISBN 1-56592-300-6
  • Sham Bhangal, Tomasz Jankowski: Foundation Web Design: Essential HTML, JavaScript, CSS, PhotoShop, Fireworks, and Flash, APress L. P., ISBN 1-59059-152-6

Liên kết ngoài

Tài liệu

Cơ bản

Ví dụ

Mã nguồn sử dụng nhanh (Copy & Paste)

Thư viện